diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index ef4979e4f65d5..01c6e38a8a648 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1426,3 +1426,4 @@ authorized_users: - raplonu - mattkretz - DannyLihard +- stevenwdv diff --git a/recipes/dlpack/all/conandata.yml b/recipes/dlpack/all/conandata.yml index 1ee4d67252887..f541482d88868 100644 --- a/recipes/dlpack/all/conandata.yml +++ b/recipes/dlpack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0": + url: "https://github.com/dmlc/dlpack/archive/v1.0.tar.gz" + sha256: "f8cfdcb634ff3cf0e3d9a3426e019e1c6469780a3b0020c9bc4ecc09cf9abcb1" "0.8": url: "https://github.com/dmlc/dlpack/archive/v0.8.tar.gz" sha256: "cf965c26a5430ba4cc53d61963f288edddcd77443aa4c85ce722aaf1e2f29513" diff --git a/recipes/dlpack/all/test_package/test_package.cpp b/recipes/dlpack/all/test_package/test_package.cpp index 6304024f2e652..9c286d918cb1b 100644 --- a/recipes/dlpack/all/test_package/test_package.cpp +++ b/recipes/dlpack/all/test_package/test_package.cpp @@ -4,7 +4,11 @@ int main() { -#if DLPACK_VERSION < 60 +#ifdef DLPACK_MAJOR_VERSION // Since 1.0 + int major = DLPACK_MAJOR_VERSION; + int minor = DLPACK_MINOR_VERSION; + int patch = 0; +#elif DLPACK_VERSION < 60 int major = (DLPACK_VERSION >> 6) & 7; int minor = (DLPACK_VERSION >> 3) & 7; int patch = DLPACK_VERSION & 7; diff --git a/recipes/dlpack/config.yml b/recipes/dlpack/config.yml index a1b8905afe4b1..001dc29f3eaea 100644 --- a/recipes/dlpack/config.yml +++ b/recipes/dlpack/config.yml @@ -1,4 +1,6 @@ versions: + "1.0": + folder: "all" "0.8": folder: "all" "0.6": diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 121bde17f2f83..22bc07060967a 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.91.2": + url: "https://github.com/ocornut/imgui/archive/v1.91.2.tar.gz" + sha256: "a3c4fd857a0a48f6edad3e25de68fa1e96d2437f1665039714d1de9ad579b8d0" + "1.91.2-docking": + url: "https://github.com/ocornut/imgui/archive/v1.91.2-docking.tar.gz" + sha256: "bd6e9e6dc0451060152cea2a610256969c77a360659f4bd3836d6d4c9267229b" "1.91.0": url: "https://github.com/ocornut/imgui/archive/v1.91.0.tar.gz" sha256: "6e62c87252e6b3725ba478a1c04dc604aa0aaeec78fedcf4011f1e52548f4cc9" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index 25bef8f3ff274..518541f0d93c4 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.91.2": + folder: all + "1.91.2-docking": + folder: all "1.91.0": folder: all "1.91.0-docking": diff --git a/recipes/json-c/all/conandata.yml b/recipes/json-c/all/conandata.yml index a27364e09b956..71904777ad4e0 100644 --- a/recipes/json-c/all/conandata.yml +++ b/recipes/json-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.18": + url: "https://github.com/json-c/json-c/archive/json-c-0.18-20240915.tar.gz" + sha256: "3112c1f25d39eca661fe3fc663431e130cc6e2f900c081738317fba49d29e298" "0.17": url: "https://github.com/json-c/json-c/archive/json-c-0.17-20230812.tar.gz" sha256: "024d302a3aadcbf9f78735320a6d5aedf8b77876c8ac8bbb95081ca55054c7eb" diff --git a/recipes/json-c/all/conanfile.py b/recipes/json-c/all/conanfile.py index 222938814d365..20358585918dc 100644 --- a/recipes/json-c/all/conanfile.py +++ b/recipes/json-c/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import collect_libs, copy, get, rmdir +from conan.tools.files import copy, get, rmdir from conan.tools.scm import Version import os @@ -9,13 +9,13 @@ class JSONCConan(ConanFile): name = "json-c" - package_type = "library" - description = "JSON-C - A JSON implementation in C" - topics = ("json", "encoding", "decoding", "manipulation") + description = "A JSON implementation in C" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/json-c/json-c" - license = "MIT" + topics = ("json", "encoding", "decoding", "manipulation") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -64,8 +64,12 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): + self.cpp_info.libs = ["json-c"] + self.cpp_info.set_property("cmake_file_name", "json-c") self.cpp_info.set_property("cmake_target_name", "json-c::json-c") self.cpp_info.set_property("pkg_config_name", "json-c") - self.cpp_info.libs = collect_libs(self) - self.cpp_info.includedirs = ["include", "include/json-c"] + self.cpp_info.includedirs = ["include", os.path.join("include", "json-c")] + + if Version(self.version) >= "0.17" and self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["m",]) diff --git a/recipes/json-c/config.yml b/recipes/json-c/config.yml index 301a8d09f5b3a..0a8630e20d06f 100644 --- a/recipes/json-c/config.yml +++ b/recipes/json-c/config.yml @@ -1,4 +1,6 @@ versions: + "0.18": + folder: all "0.17": folder: all "0.16": diff --git a/recipes/libarchive/all/conandata.yml b/recipes/libarchive/all/conandata.yml index 452c9bd049c22..92c616cca0582 100644 --- a/recipes/libarchive/all/conandata.yml +++ b/recipes/libarchive/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.6": + url: "https://github.com/libarchive/libarchive/releases/download/v3.7.6/libarchive-3.7.6.tar.xz" + sha256: "0a2efdcb185da2eb1e7cd8421434cb9a6119f72417a13335cca378d476fd3ba0" "3.7.4": url: "https://github.com/libarchive/libarchive/releases/download/v3.7.4/libarchive-3.7.4.tar.xz" sha256: "f887755c434a736a609cbd28d87ddbfbe9d6a3bb5b703c22c02f6af80a802735" @@ -12,6 +15,19 @@ sources: url: "https://github.com/libarchive/libarchive/releases/download/v3.7.1/libarchive-3.7.1.tar.xz" sha256: "b17403ce670ff18d8e06fea05a9ea9accf70678c88f1b9392a2e29b51127895f" patches: + "3.7.6": + - patch_file: "patches/0001-3.7.6-zlib-winapi.patch" + patch_description: "Remove broken ZLIB WINAPI check" + patch_type: "portability" + - patch_file: "patches/0003-3.7.6-cmake.patch" + patch_description: "Make CMake build-system compatible with Conan" + patch_type: "conan" + - patch_file: "patches/0005-3.7.6-try-compile-cmakedeps.patch" + patch_description: "Patch try_compile check to work with imported CMake targets from Conan packages" + patch_type: "conan" + - patch_file: "patches/0006-3.7.6-fix-msvc-build.patch" + patch_description: "Fix MSVC build" + patch_type: "conan" "3.7.4": - patch_file: "patches/0001-3.7.4-zlib-winapi.patch" patch_description: "Remove broken ZLIB WINAPI check" diff --git a/recipes/libarchive/all/conanfile.py b/recipes/libarchive/all/conanfile.py index ee0e26469819f..ba7095f6abb17 100644 --- a/recipes/libarchive/all/conanfile.py +++ b/recipes/libarchive/all/conanfile.py @@ -12,10 +12,10 @@ class LibarchiveConan(ConanFile): name = "libarchive" description = "Multi-format archive and compression library" - topics = "archive", "compression", "tar", "data-compressor", "file-compression" + license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://libarchive.org" - license = "BSD-2-Clause" + topics = ("archive", "compression", "tar", "data-compressor", "file-compression") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { diff --git a/recipes/libarchive/all/patches/0001-3.7.6-zlib-winapi.patch b/recipes/libarchive/all/patches/0001-3.7.6-zlib-winapi.patch new file mode 100644 index 0000000000000..c49a9aa912576 --- /dev/null +++ b/recipes/libarchive/all/patches/0001-3.7.6-zlib-winapi.patch @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e23338e..582258c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -475,14 +475,14 @@ IF(ZLIB_FOUND) + # + # Test if ZLIB_WINAPI macro is needed to use. + # +- TRY_MACRO_FOR_LIBRARY( +- "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" +- RUNS +- "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" +- ZLIB_WINAPI) +- IF(ZLIB_WINAPI) ++ # TRY_MACRO_FOR_LIBRARY( ++ # "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" ++ # RUNS ++ # "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" ++ # ZLIB_WINAPI) ++ IF(TRUE) + ADD_DEFINITIONS(-DZLIB_WINAPI) +- ELSE(ZLIB_WINAPI) ++ ELSE() + # Test if a macro is needed for the library. + TRY_MACRO_FOR_LIBRARY( + "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" +@@ -492,7 +492,7 @@ IF(ZLIB_FOUND) + IF(ZLIB_DLL) + ADD_DEFINITIONS(-DZLIB_DLL) + ENDIF(ZLIB_DLL) +- ENDIF(ZLIB_WINAPI) ++ ENDIF() + ENDIF(WIN32 AND NOT CYGWIN) + ENDIF(ZLIB_FOUND) + MARK_AS_ADVANCED(CLEAR ZLIB_INCLUDE_DIR) diff --git a/recipes/libarchive/all/patches/0003-3.7.6-cmake.patch b/recipes/libarchive/all/patches/0003-3.7.6-cmake.patch new file mode 100644 index 0000000000000..98e97aac6cf07 --- /dev/null +++ b/recipes/libarchive/all/patches/0003-3.7.6-cmake.patch @@ -0,0 +1,84 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 582258c..b59a7e2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,7 +16,7 @@ endif() + # + PROJECT(libarchive C) + # +-SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") ++LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") + if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${libarchive_BINARY_DIR}/bin) + endif() +@@ -469,7 +469,7 @@ ENDIF() + IF(ZLIB_FOUND) + SET(HAVE_LIBZ 1) + SET(HAVE_ZLIB_H 1) + INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) +- LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) ++ LIST(APPEND ADDITIONAL_LIBS ZLIB::ZLIB) + IF(WIN32 AND NOT CYGWIN) + # +@@ -560,7 +560,7 @@ ELSE(LIBLZMA_FOUND) + # LZMA not found and will not be used. + SET(HAVE_LZMA_STREAM_ENCODER_MT 0) + ENDIF(LIBLZMA_FOUND) +-MARK_AS_ADVANCED(CLEAR LIBLZMA_INCLUDE_DIR) ++MARK_AS_ADVANCED(CLEAR LIBLZMA_INCLUDE_DIRS) + MARK_AS_ADVANCED(CLEAR LIBLZMA_LIBRARY) + + # +@@ -631,7 +631,7 @@ IF(ENABLE_LZ4) + ENDIF (LZ4_INCLUDE_DIR) + + FIND_PATH(LZ4_INCLUDE_DIR lz4.h) +- FIND_LIBRARY(LZ4_LIBRARY NAMES lz4 liblz4) ++ FIND_LIBRARY(LZ4_LIBRARY NAMES lz4 liblz4 lz4_static liblz4_static) + INCLUDE(FindPackageHandleStandardArgs) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(LZ4 DEFAULT_MSG LZ4_LIBRARY LZ4_INCLUDE_DIR) + ELSE(ENABLE_LZ4) +@@ -854,7 +854,7 @@ ENDIF(ENABLE_NETTLE) + # Find OpenSSL + # (Except on Mac, where OpenSSL is deprecated.) + # +-IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") ++IF(ENABLE_OPENSSL) + FIND_PACKAGE(OpenSSL) + IF(OPENSSL_FOUND) + SET(HAVE_LIBCRYPTO 1) +diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt +index dd0b280..2a31de6 100644 +--- a/libarchive/CMakeLists.txt ++++ b/libarchive/CMakeLists.txt +@@ -255,6 +255,7 @@ IF(BUILD_SHARED_LIBS) + ENDIF(BUILD_SHARED_LIBS) + + # archive_static is a static library ++IF(NOT BUILD_SHARED_LIBS) + ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS}) + TARGET_INCLUDE_DIRECTORIES(archive_static PUBLIC .) + TARGET_LINK_LIBRARIES(archive_static ${ADDITIONAL_LIBS}) +@@ -264,7 +265,7 @@ SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS + IF(NOT WIN32 OR CYGWIN OR NOT BUILD_SHARED_LIBS) + SET_TARGET_PROPERTIES(archive_static PROPERTIES OUTPUT_NAME archive) + ENDIF(NOT WIN32 OR CYGWIN OR NOT BUILD_SHARED_LIBS) +- ++ENDIF() + IF(ENABLE_INSTALL) + # How to install the libraries + IF(BUILD_SHARED_LIBS) +@@ -272,11 +273,12 @@ IF(ENABLE_INSTALL) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- ENDIF(BUILD_SHARED_LIBS) ++ ELSE() + INSTALL(TARGETS archive_static + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) ++ ENDIF() + INSTALL_MAN(${libarchive_MANS}) + INSTALL(FILES ${include_HEADERS} DESTINATION include) + ENDIF() diff --git a/recipes/libarchive/all/patches/0005-3.7.6-try-compile-cmakedeps.patch b/recipes/libarchive/all/patches/0005-3.7.6-try-compile-cmakedeps.patch new file mode 100644 index 0000000000000..7485f8082d921 --- /dev/null +++ b/recipes/libarchive/all/patches/0005-3.7.6-try-compile-cmakedeps.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b59a7e2..dfa6af0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -887,8 +887,10 @@ ENDIF(NOT OPENSSL_FOUND) + # required libraries. + # + MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION) ++ include(CMakePushCheckState) + FOREACH(ALGORITHM ${ALGORITHMS}) + IF(NOT ARCHIVE_CRYPTO_${ALGORITHM}) ++ cmake_push_check_state() + STRING(TOLOWER "${ALGORITHM}" lower_algorithm) + STRING(TOUPPER "${ALGORITHM}" algorithm) + IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND NOT OPENSSL_FOUND) +@@ -921,8 +923,7 @@ MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION) + SET(TRY_CRYPTO_REQUIRED_LIBS + "-DLINK_LIBRARIES:STRING=${NETTLE_LIBRARY}") + ELSEIF("${IMPLEMENTATION}" MATCHES "^LIBMD$" AND LIBMD_FOUND) +- SET(TRY_CRYPTO_REQUIRED_LIBS +- "-DLINK_LIBRARIES:STRING=${LIBMD_LIBRARY}") ++ SET(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES}) + ENDIF("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) + + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/build/cmake/config.h.in diff --git a/recipes/libarchive/all/patches/0006-3.7.6-fix-msvc-build.patch b/recipes/libarchive/all/patches/0006-3.7.6-fix-msvc-build.patch new file mode 100644 index 0000000000000..9652721d7fe5e --- /dev/null +++ b/recipes/libarchive/all/patches/0006-3.7.6-fix-msvc-build.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dfa6af0..b2cac97 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1491,7 +1491,7 @@ CHECK_FUNCTION_EXISTS_GLIBC(localtime_r HAVE_LOCALTIME_R) + CHECK_FUNCTION_EXISTS_GLIBC(lstat HAVE_LSTAT) + CHECK_FUNCTION_EXISTS_GLIBC(lutimes HAVE_LUTIMES) + CHECK_FUNCTION_EXISTS_GLIBC(mbrtowc HAVE_MBRTOWC) +-CHECK_FUNCTION_EXISTS_GLIBC(memmove HAVE_MEMMOVE) ++SET(HAVE_MEMMOVE 1) + CHECK_FUNCTION_EXISTS_GLIBC(mkdir HAVE_MKDIR) + CHECK_FUNCTION_EXISTS_GLIBC(mkfifo HAVE_MKFIFO) + CHECK_FUNCTION_EXISTS_GLIBC(mknod HAVE_MKNOD) +@@ -1525,11 +1525,11 @@ CHECK_FUNCTION_EXISTS_GLIBC(utime HAVE_UTIME) + CHECK_FUNCTION_EXISTS_GLIBC(utimes HAVE_UTIMES) + CHECK_FUNCTION_EXISTS_GLIBC(utimensat HAVE_UTIMENSAT) + CHECK_FUNCTION_EXISTS_GLIBC(vfork HAVE_VFORK) +-CHECK_FUNCTION_EXISTS_GLIBC(wcrtomb HAVE_WCRTOMB) +-CHECK_FUNCTION_EXISTS_GLIBC(wcscmp HAVE_WCSCMP) +-CHECK_FUNCTION_EXISTS_GLIBC(wcscpy HAVE_WCSCPY) +-CHECK_FUNCTION_EXISTS_GLIBC(wcslen HAVE_WCSLEN) +-CHECK_FUNCTION_EXISTS_GLIBC(wctomb HAVE_WCTOMB) ++SET(HAVE_WCRTOMB 1) ++SET(HAVE_WCSCMP 1) ++SET(HAVE_WCSCPY 1) ++SET(HAVE_WCSLEN 1) ++SET(HAVE_WCTOMB 1) + CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64) + CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE) + CHECK_SYMBOL_EXISTS(ctime_s "time.h" HAVE_CTIME_S) +@@ -1542,10 +1542,10 @@ CHECK_FUNCTION_EXISTS(cygwin_conv_path HAVE_CYGWIN_CONV_PATH) + CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO) + CHECK_FUNCTION_EXISTS(strerror_r HAVE_STRERROR_R) + CHECK_FUNCTION_EXISTS(strftime HAVE_STRFTIME) +-CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF) +-CHECK_FUNCTION_EXISTS(wmemcmp HAVE_WMEMCMP) +-CHECK_FUNCTION_EXISTS(wmemcpy HAVE_WMEMCPY) +-CHECK_FUNCTION_EXISTS(wmemmove HAVE_WMEMMOVE) ++SET(HAVE_VPRINTF 1) ++SET(HAVE_WMEMCMP 1) ++SET(HAVE_WMEMCPY 1) ++SET(HAVE_WMEMMOVE 1) + + CMAKE_POP_CHECK_STATE() # Restore the state of the variables + diff --git a/recipes/libarchive/config.yml b/recipes/libarchive/config.yml index 444f54652ac92..c5d1d94c12022 100644 --- a/recipes/libarchive/config.yml +++ b/recipes/libarchive/config.yml @@ -1,4 +1,6 @@ versions: + "3.7.6": + folder: all "3.7.4": folder: all "3.7.3":