diff --git a/.github/workflows/build_dependencies.yml b/.github/workflows/build_dependencies.yml index 693d13f7..93f988f5 100644 --- a/.github/workflows/build_dependencies.yml +++ b/.github/workflows/build_dependencies.yml @@ -106,7 +106,6 @@ jobs: conan export 3rd_party/jemalloc conan export 3rd_party/prerelease_dummy conan export 3rd_party/pistache pistache/cci.20201127@ - conan export 3rd_party/date date/3.0.1@ cached_pkgs=$(ls -1d ~/.conan/data/*/*/*/*/export 2>/dev/null | sed 's,.*data/,,' | cut -d'/' -f1,2 | paste -sd',' - -) echo "::info:: Pre-cached: ${cached_pkgs}" if: ${{ inputs.testing == 'True' || steps.restore-cache.outputs.cache-hit != 'true' }} diff --git a/3rd_party/date/conandata.yml b/3rd_party/date/conandata.yml deleted file mode 100644 index bed2d768..00000000 --- a/3rd_party/date/conandata.yml +++ /dev/null @@ -1,29 +0,0 @@ -sources: - "3.0.1": - url: "https://github.com/HowardHinnant/date/archive/refs/tags/v3.0.1.tar.gz" - sha256: "7a390f200f0ccd207e8cff6757e04817c1a0aec3e327b006b7eb451c57ee3538" - "3.0.0": - url: "https://github.com/HowardHinnant/date/archive/refs/tags/v3.0.0.tar.gz" - sha256: "87bba2eaf0ebc7ec539e5e62fc317cb80671a337c1fb1b84cb9e4d42c6dbebe3" - "2.4.1": - url: "https://github.com/HowardHinnant/date/archive/refs/tags/v2.4.1.tar.gz" - sha256: "98907d243397483bd7ad889bf6c66746db0d7d2a39cc9aacc041834c40b65b98" -patches: - "3.0.1": - - patch_file: "patches/cmake-3.0.1.patch" - patch_description: "Disable string view to workaround clang 5 not having it" - patch_type: "portability" - "3.0.0": - - patch_file: "patches/cmake-3.0.0.patch" - patch_description: "Disable string view to workaround clang 5 not having it" - patch_type: "portability" - "2.4.1": - - patch_file: "patches/0001-fix-uwp.patch" - patch_description: "Fix Universal Windows Platform (UWP) unhandled exception support. See https://github.com/microsoft/vcpkg/pull/8151#issuecomment-531175393." - patch_type: "portability" - - patch_file: "patches/cmake.patch" - patch_description: "Add libcurl target for conan compatibility" - patch_type: "conan" - - patch_file: "patches/string_view.patch" - patch_description: "Disable string view to workaround clang 5 not having it" - patch_type: "portability" diff --git a/3rd_party/date/conanfile.py b/3rd_party/date/conanfile.py deleted file mode 100644 index 7c597110..00000000 --- a/3rd_party/date/conanfile.py +++ /dev/null @@ -1,140 +0,0 @@ -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 get, rmdir, apply_conandata_patches, export_conandata_patches, copy -from conan.tools.scm import Version - -import os - -required_conan_version = ">=1.53.0" - - -class DateConan(ConanFile): - name = "date" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/HowardHinnant/date" - description = "A date and time library based on the C++11/14/17 header" - topics = ("datetime", "timezone", "calendar", "time", "iana-database") - license = "MIT" - - settings = "os", "arch", "compiler", "build_type" - options = { - "shared": [True, False], - "fPIC": [True, False], - "header_only": [True, False], - "use_system_tz_db": [True, False], - "use_tz_db_in_dot": [True, False], - } - default_options = { - "shared": False, - "fPIC": True, - "header_only": False, - "use_system_tz_db": False, - "use_tz_db_in_dot": False, - } - - 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 in ["iOS", "tvOS", "watchOS", "Android"]: - self.options.use_system_tz_db = True - - 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 requirements(self): - if not self.options.header_only and not self.options.use_system_tz_db: - self.requires("libcurl/7.86.0") - - def package_id(self): - if self.info.options.header_only: - 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["ENABLE_DATE_TESTING"] = False - tc.variables["USE_SYSTEM_TZ_DB"] = self.options.use_system_tz_db - tc.variables["USE_TZ_DB_IN_DOT"] = self.options.use_tz_db_in_dot - tc.variables["BUILD_TZ_LIB"] = not self.options.header_only - # workaround for clang 5 not having string_view - if Version(self.version) >= "3.0.0" and self.settings.compiler == "clang" \ - and Version(self.settings.compiler.version) <= "5.0": - tc.cache_variables["DISABLE_STRING_VIEW"] = True - tc.generate() - - deps = CMakeDeps(self) - deps.generate() - - def build(self): - apply_conandata_patches(self) - if not self.options.header_only: - 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) - if self.options.header_only: - src = os.path.join(self.source_folder, "include", "date") - dst = os.path.join(self.package_folder, "include", "date") - copy(self, "date.h", dst=dst, src=src) - copy(self, "tz.h", dst=dst, src=src) - copy(self, "ptz.h", dst=dst, src=src) - copy(self, "iso_week.h", dst=dst, src=src) - copy(self, "julian.h", dst=dst, src=src) - copy(self, "islamic.h", dst=dst, src=src) - else: - 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): - 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: - 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": - self.cpp_info.components["date-tz"].system_libs.append("pthread") - self.cpp_info.components["date-tz"].system_libs.append("m") - - if not self.options.use_system_tz_db: - self.cpp_info.components["date-tz"].requires.append("libcurl::libcurl") - - if self.options.use_system_tz_db and not self.settings.os == "Windows": - use_os_tzdb = 1 - else: - use_os_tzdb = 0 - - defines = ["USE_OS_TZDB={}".format(use_os_tzdb)] - if self.settings.os == "Windows" and self.options.shared: - defines.append("DATE_USE_DLL=1") - - self.cpp_info.components["date-tz"].defines.extend(defines) - else: - self.cpp_info.defines.append("DATE_HEADER_ONLY") diff --git a/3rd_party/date/patches/0001-fix-uwp.patch b/3rd_party/date/patches/0001-fix-uwp.patch deleted file mode 100644 index f7b5c246..00000000 --- a/3rd_party/date/patches/0001-fix-uwp.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/include/date/date.h b/include/date/date.h -index cb115a9..66d87c2 100644 ---- a/include/date/date.h -+++ b/include/date/date.h -@@ -76,6 +76,12 @@ - # endif - #endif - -+#ifdef _MSC_VER -+# pragma warning(push) -+// warning C4127: conditional expression is constant -+# pragma warning(disable : 4127 4996) -+#endif -+ - namespace date - { - diff --git a/3rd_party/date/patches/cmake-3.0.0.patch b/3rd_party/date/patches/cmake-3.0.0.patch deleted file mode 100644 index 583e86e5..00000000 --- a/3rd_party/date/patches/cmake-3.0.0.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ad74900..ac390a9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -127,6 +127,9 @@ if( BUILD_TZ_LIB ) - target_include_directories( date-tz SYSTEM PRIVATE ${CURL_INCLUDE_DIRS} ) - target_link_libraries( date-tz PRIVATE ${CURL_LIBRARIES} ) - endif( ) -+ if( DISABLE_STRING_VIEW ) -+ target_compile_definitions( date-tz PRIVATE -DHAS_STRING_VIEW=0 -DHAS_DEDUCTION_GUIDES=0 ) -+ endif( ) - endif( ) - - #[===================================================================[ diff --git a/3rd_party/date/patches/cmake-3.0.1.patch b/3rd_party/date/patches/cmake-3.0.1.patch deleted file mode 100644 index 8edcb309..00000000 --- a/3rd_party/date/patches/cmake-3.0.1.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ad74900..ac390a9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -156,6 +156,9 @@ if( BUILD_TZ_LIB ) - target_include_directories( date-tz SYSTEM PRIVATE ${CURL_INCLUDE_DIRS} ) - target_link_libraries( date-tz PRIVATE ${CURL_LIBRARIES} ) - endif( ) -+ if( DISABLE_STRING_VIEW ) -+ target_compile_definitions( date-tz PRIVATE -DHAS_STRING_VIEW=0 -DHAS_DEDUCTION_GUIDES=0 ) -+ endif( ) - endif( ) - - #[===================================================================[ diff --git a/3rd_party/date/patches/cmake.patch b/3rd_party/date/patches/cmake.patch deleted file mode 100644 index 3f9df797..00000000 --- a/3rd_party/date/patches/cmake.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f025a3a..7bc93df 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -57,8 +57,12 @@ else( ) - target_compile_definitions( tz PRIVATE -DHAS_REMOTE_API=1 ) - target_compile_definitions( tz PUBLIC -DUSE_OS_TZDB=0 ) - find_package( CURL REQUIRED ) -- include_directories( SYSTEM ${CURL_INCLUDE_DIRS} ) -- set( OPTIONAL_LIBRARIES ${CURL_LIBRARIES} ) -+ set( OPTIONAL_LIBRARIES CURL::libcurl ) -+endif() -+ -+if( BUILD_SHARED_LIBS ) -+ target_compile_definitions( tz PRIVATE -DDATE_BUILD_DLL=1 ) -+ target_compile_definitions( tz PUBLIC -DDATE_USE_DLL=1 ) - endif( ) - - if( USE_TZ_DB_IN_DOT ) diff --git a/3rd_party/date/patches/string_view.patch b/3rd_party/date/patches/string_view.patch deleted file mode 100644 index 008dd04c..00000000 --- a/3rd_party/date/patches/string_view.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/date/date.h b/include/date/date.h -index cb115a9..23cd05a 100644 ---- a/include/date/date.h -+++ b/include/date/date.h -@@ -31,7 +31,7 @@ - // We did not mean to shout. - - #ifndef HAS_STRING_VIEW --# if __cplusplus >= 201703 -+# if __cplusplus >= 201703 && __has_include() - # define HAS_STRING_VIEW 1 - # else - # define HAS_STRING_VIEW 0 diff --git a/conanfile.py b/conanfile.py index 9a19b678..356a987f 100644 --- a/conanfile.py +++ b/conanfile.py @@ -8,7 +8,7 @@ class SISLConan(ConanFile): name = "sisl" - version = "8.6.6" + version = "8.6.7" homepage = "https://github.com/eBay/sisl" description = "Library for fast data structures, utilities" topics = ("ebay", "components", "core", "efficiency") @@ -68,7 +68,7 @@ def requirements(self): self.requires("fmt/8.1.1", override=True) self.requires("libevent/2.1.12", override=True) self.requires("openssl/1.1.1s", override=True) - self.requires("libcurl/7.86.0") + self.requires("libcurl/8.4.0", override=True) self.requires("xz_utils/5.2.5", override=True) self.requires("zlib/1.2.12", override=True) if self.options.malloc_impl == "jemalloc":