From 494757f9abf4c9acb0fcf22da5edddd289b50672 Mon Sep 17 00:00:00 2001 From: Paulo Coutinho Date: Fri, 12 Aug 2022 14:00:27 -0300 Subject: [PATCH 1/5] pcre2 fork fix for tvos and watchos --- recipes/pcre2/all/conanfile.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes/pcre2/all/conanfile.py b/recipes/pcre2/all/conanfile.py index 6e182afcd7dcb..6fb182a4fa7bf 100644 --- a/recipes/pcre2/all/conanfile.py +++ b/recipes/pcre2/all/conanfile.py @@ -28,6 +28,7 @@ class PCRE2Conan(ConanFile): "with_zlib": [True, False], "with_bzip2": [True, False], "support_jit": [True, False], + "support_callout_fork": [True, False], } default_options = { "shared": False, @@ -39,6 +40,7 @@ class PCRE2Conan(ConanFile): "with_zlib": True, "with_bzip2": True, "support_jit": False, + "support_callout_fork": True, } exports_sources = "CMakeLists.txt" @@ -110,6 +112,7 @@ def _configure_cmake(self): cmake.definitions["PCRE2_BUILD_PCRE2_16"] = self.options.build_pcre2_16 cmake.definitions["PCRE2_BUILD_PCRE2_32"] = self.options.build_pcre2_32 cmake.definitions["PCRE2_SUPPORT_JIT"] = self.options.support_jit + cmake.definitions["PCRE2GREP_SUPPORT_CALLOUT_FORK"] = self.options.support_callout_fork if tools.Version(self.version) < "10.38": # relocatable shared libs on Macos cmake.definitions["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" From 02d23d5b3393aad584bcb2cdc9d452770cc21ab2 Mon Sep 17 00:00:00 2001 From: Paulo Coutinho Date: Fri, 12 Aug 2022 14:54:23 -0300 Subject: [PATCH 2/5] pcre2 fork fix for tvos and watchos --- recipes/pcre2/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/pcre2/all/conanfile.py b/recipes/pcre2/all/conanfile.py index 6fb182a4fa7bf..a86fa30762f81 100644 --- a/recipes/pcre2/all/conanfile.py +++ b/recipes/pcre2/all/conanfile.py @@ -28,7 +28,7 @@ class PCRE2Conan(ConanFile): "with_zlib": [True, False], "with_bzip2": [True, False], "support_jit": [True, False], - "support_callout_fork": [True, False], + "grep_support_callout_fork": [True, False], } default_options = { "shared": False, @@ -40,7 +40,7 @@ class PCRE2Conan(ConanFile): "with_zlib": True, "with_bzip2": True, "support_jit": False, - "support_callout_fork": True, + "grep_support_callout_fork": True, } exports_sources = "CMakeLists.txt" @@ -112,7 +112,7 @@ def _configure_cmake(self): cmake.definitions["PCRE2_BUILD_PCRE2_16"] = self.options.build_pcre2_16 cmake.definitions["PCRE2_BUILD_PCRE2_32"] = self.options.build_pcre2_32 cmake.definitions["PCRE2_SUPPORT_JIT"] = self.options.support_jit - cmake.definitions["PCRE2GREP_SUPPORT_CALLOUT_FORK"] = self.options.support_callout_fork + cmake.definitions["PCRE2GREP_SUPPORT_CALLOUT_FORK"] = self.options.grep_support_callout_fork if tools.Version(self.version) < "10.38": # relocatable shared libs on Macos cmake.definitions["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" From b51011ac05ffe284f87cee3685b235ce80cd411e Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 16 Aug 2022 09:55:56 +0200 Subject: [PATCH 3/5] Update tools Signed-off-by: Uilian Ries --- recipes/pcre2/all/conanfile.py | 36 ++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/recipes/pcre2/all/conanfile.py b/recipes/pcre2/all/conanfile.py index a86fa30762f81..cf8a53c71e1c9 100644 --- a/recipes/pcre2/all/conanfile.py +++ b/recipes/pcre2/all/conanfile.py @@ -1,12 +1,14 @@ from conan.tools.microsoft import msvc_runtime_flag, is_msvc -from conans import CMake, tools +from conan.tools.files import get, rmdir, replace_in_file +from conan.tools.scm import Version from conan import ConanFile -from conans.errors import ConanInvalidConfiguration +from conan.errors import ConanInvalidConfiguration +from conans import CMake import functools import os -required_conan_version = ">=1.45.0" +required_conan_version = ">=1.48.0" class PCRE2Conan(ConanFile): @@ -74,32 +76,32 @@ def requirements(self): self.requires("bzip2/1.0.8") def validate(self): - if not self.options.build_pcre2_8 and not self.options.build_pcre2_16 and not self.options.build_pcre2_32: + if not self.info.options.build_pcre2_8 and not self.info.options.build_pcre2_16 and not self.info.options.build_pcre2_32: raise ConanInvalidConfiguration("At least one of build_pcre2_8, build_pcre2_16 or build_pcre2_32 must be enabled") - if self.options.build_pcre2grep and not self.options.build_pcre2_8: + if self.info.options.build_pcre2grep and not self.info.options.build_pcre2_8: raise ConanInvalidConfiguration("build_pcre2_8 must be enabled for the pcre2grep program") 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): cmakelists = os.path.join(self._source_subfolder, "CMakeLists.txt") # Do not add ${PROJECT_SOURCE_DIR}/cmake because it contains a custom # FindPackageHandleStandardArgs.cmake which can break conan generators - if tools.Version(self.version) < "10.34": - tools.replace_in_file(cmakelists, "SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)", "") + if Version(self.version) < "10.34": + replace_in_file(self, cmakelists, "SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)", "") else: - tools.replace_in_file(cmakelists, "LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)", "") + replace_in_file(self, cmakelists, "LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)", "") # Avoid CMP0006 error (macos bundle) - tools.replace_in_file(cmakelists, + replace_in_file(self, cmakelists, "RUNTIME DESTINATION bin", "RUNTIME DESTINATION bin BUNDLE DESTINATION bin") @functools.lru_cache(1) def _configure_cmake(self): cmake = CMake(self) - if tools.Version(self.version) >= "10.38": + if Version(self.version) >= "10.38": cmake.definitions["BUILD_STATIC_LIBS"] = not self.options.shared cmake.definitions["PCRE2_BUILD_PCRE2GREP"] = self.options.build_pcre2grep cmake.definitions["PCRE2_SUPPORT_LIBZ"] = self.options.get_safe("with_zlib", False) @@ -113,7 +115,7 @@ def _configure_cmake(self): cmake.definitions["PCRE2_BUILD_PCRE2_32"] = self.options.build_pcre2_32 cmake.definitions["PCRE2_SUPPORT_JIT"] = self.options.support_jit cmake.definitions["PCRE2GREP_SUPPORT_CALLOUT_FORK"] = self.options.grep_support_callout_fork - if tools.Version(self.version) < "10.38": + if Version(self.version) < "10.38": # relocatable shared libs on Macos cmake.definitions["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" cmake.configure(build_folder=self._build_subfolder) @@ -128,10 +130,10 @@ def package(self): self.copy(pattern="LICENCE", dst="licenses", src=self._source_subfolder) cmake = self._configure_cmake() cmake.install() - tools.rmdir(os.path.join(self.package_folder, "cmake")) - tools.rmdir(os.path.join(self.package_folder, "man")) - 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, "cmake")) + rmdir(self, os.path.join(self.package_folder, "man")) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "PCRE2") @@ -192,7 +194,7 @@ def package_info(self): def _lib_name(self, name): libname = name - if tools.Version(self.version) >= "10.38" and is_msvc(self) and not self.options.shared: + if Version(self.version) >= "10.38" and is_msvc(self) and not self.options.shared: libname += "-static" if self.settings.os == "Windows": if self.settings.build_type == "Debug": From d1291ba52ce0e236c7a187d96f23405fc76925c0 Mon Sep 17 00:00:00 2001 From: Paulo Coutinho Date: Thu, 18 Aug 2022 19:47:33 -0300 Subject: [PATCH 4/5] pcre2 fork fix for tvos and watchos --- recipes/pcre2/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/pcre2/all/conanfile.py b/recipes/pcre2/all/conanfile.py index cf8a53c71e1c9..20278ea85a787 100644 --- a/recipes/pcre2/all/conanfile.py +++ b/recipes/pcre2/all/conanfile.py @@ -68,6 +68,7 @@ def configure(self): if not self.options.build_pcre2grep: del self.options.with_zlib del self.options.with_bzip2 + del self.options.grep_support_callout_fork def requirements(self): if self.options.get_safe("with_zlib"): From 154702e641eba35c44cd3fc59ab0acbbae5671d1 Mon Sep 17 00:00:00 2001 From: Paulo Coutinho Date: Sun, 21 Aug 2022 03:51:36 -0300 Subject: [PATCH 5/5] Update recipes/pcre2/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/pcre2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pcre2/all/conanfile.py b/recipes/pcre2/all/conanfile.py index 20278ea85a787..92880c5538821 100644 --- a/recipes/pcre2/all/conanfile.py +++ b/recipes/pcre2/all/conanfile.py @@ -115,7 +115,7 @@ def _configure_cmake(self): cmake.definitions["PCRE2_BUILD_PCRE2_16"] = self.options.build_pcre2_16 cmake.definitions["PCRE2_BUILD_PCRE2_32"] = self.options.build_pcre2_32 cmake.definitions["PCRE2_SUPPORT_JIT"] = self.options.support_jit - cmake.definitions["PCRE2GREP_SUPPORT_CALLOUT_FORK"] = self.options.grep_support_callout_fork + cmake.definitions["PCRE2GREP_SUPPORT_CALLOUT_FORK"] = self.options.get_safe("grep_support_callout_fork", False) if Version(self.version) < "10.38": # relocatable shared libs on Macos cmake.definitions["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW"