From 8ae4f08dec59f048921d4475053f5f364a09d2a9 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 11 Mar 2019 17:59:31 +0800 Subject: [librdkafka] Add new port (fix #5920) --- ports/rdkafka/CONTROL | 4 ++++ ports/rdkafka/portfile.cmake | 55 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 ports/rdkafka/CONTROL create mode 100644 ports/rdkafka/portfile.cmake diff --git a/ports/rdkafka/CONTROL b/ports/rdkafka/CONTROL new file mode 100644 index 000000000..39f5b3e83 --- /dev/null +++ b/ports/rdkafka/CONTROL @@ -0,0 +1,4 @@ +Source: rdkafka +Version: v1.0.0-RC8-test-deps13 +Description: The Apache Kafka C/C++ library +Build-Depends: openssl, zlib, zstd diff --git a/ports/rdkafka/portfile.cmake b/ports/rdkafka/portfile.cmake new file mode 100644 index 000000000..20ff5e1b9 --- /dev/null +++ b/ports/rdkafka/portfile.cmake @@ -0,0 +1,55 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO edenhill/librdkafka + REF v1.0.0-RC8-test-deps13 + SHA512 08c48494eb2412335d0729ee831375da7ab21c7a9f00710f50f99d7fdac40b2520ece70d55919b6944372d852bd7b7d08166ca5c7557922d41df6ca2b6e2cf81 + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DRDKAFKA_BUILD_STATIC=${RDKAFKA_BUILD_STATIC} + -DRDKAFKA_BUILD_EXAMPLES=OFF + -DRDKAFKA_BUILD_TESTS=OFF + OPTIONS_DEBUG + -DENABLE_DEVEL=ON + -DENABLE_REFCNT_DEBUG=ON + -DENABLE_SHAREDPTR_DEBUG=ON + OPTIONS_RELEASE + -DENABLE_DEVEL=OFF + -DENABLE_REFCNT_DEBUG=OFF + -DENABLE_SHAREDPTR_DEBUG=OFF +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + foreach(hdr rdkafka.h rdkafkacpp.h) + vcpkg_replace_string( + ${CURRENT_PACKAGES_DIR}/include/librdkafka/${hdr} + "#ifdef LIBRDKAFKA_STATICLIB" + "#if 1 // #ifdef LIBRDKAFKA_STATICLIB" + ) + endforeach() +endif() + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +#vcpkg_test_cmake(PACKAGE_NAME ${PORT}) -- cgit v1.2.3 From af8fa46a03dad85068aa21e6fe6040d2adcb7dcf Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 3 Apr 2019 18:18:15 +0800 Subject: [librdkafka] Update to v1.0.0 --- ports/rdkafka/CONTROL | 2 +- ports/rdkafka/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/rdkafka/CONTROL b/ports/rdkafka/CONTROL index 39f5b3e83..6d2d9c00f 100644 --- a/ports/rdkafka/CONTROL +++ b/ports/rdkafka/CONTROL @@ -1,4 +1,4 @@ Source: rdkafka -Version: v1.0.0-RC8-test-deps13 +Version: v1.0.0 Description: The Apache Kafka C/C++ library Build-Depends: openssl, zlib, zstd diff --git a/ports/rdkafka/portfile.cmake b/ports/rdkafka/portfile.cmake index 20ff5e1b9..17b2b18de 100644 --- a/ports/rdkafka/portfile.cmake +++ b/ports/rdkafka/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO edenhill/librdkafka - REF v1.0.0-RC8-test-deps13 - SHA512 08c48494eb2412335d0729ee831375da7ab21c7a9f00710f50f99d7fdac40b2520ece70d55919b6944372d852bd7b7d08166ca5c7557922d41df6ca2b6e2cf81 + REF v1.0.0 + SHA512 15ac1e4c9042debf8d4df602ccdc5eccae3a37b305be24d724fcaffc3d1d0aafa708fc8e29d6af51f51ed6c7daf74b3041b8b9b0444e6702cd73479c8078859a HEAD_REF master ) -- cgit v1.2.3 From 7c73e98b9f82af47d5a5282582d1935361055a6b Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 3 Apr 2019 18:50:39 +0800 Subject: [librdkafka] Add features --- ports/rdkafka/CONTROL | 18 +++++++++++++++++- ports/rdkafka/portfile.cmake | 30 ++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/ports/rdkafka/CONTROL b/ports/rdkafka/CONTROL index 6d2d9c00f..a278915c8 100644 --- a/ports/rdkafka/CONTROL +++ b/ports/rdkafka/CONTROL @@ -1,4 +1,20 @@ Source: rdkafka Version: v1.0.0 Description: The Apache Kafka C/C++ library -Build-Depends: openssl, zlib, zstd +Default-Features: ssl + +Feature: lz4 +Description: Enable external LZ4 library support +Build-Depends: lz4 + +Feature: ssl +Description: Build with OpenSSL +Build-Depends: openssl + +Feature: zlib +Description: Build with zlib +Build-Depends: zlib + +Feature: zstd +Description: Build with zstd +Build-Depends: zstd diff --git a/ports/rdkafka/portfile.cmake b/ports/rdkafka/portfile.cmake index 17b2b18de..7db996bb4 100644 --- a/ports/rdkafka/portfile.cmake +++ b/ports/rdkafka/portfile.cmake @@ -10,6 +10,30 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC) +if("lz4" IN_LIST FEATURES) + set(ENABLE_LZ4_EXT ON) +else() + set(ENABLE_LZ4_EXT OFF) +endif() + +if("ssl" IN_LIST FEATURES) + set(WITH_SSL ON) +else() + set(WITH_SSL OFF) +endif() + +if("zlib" IN_LIST FEATURES) + set(WITH_ZLIB ON) +else() + set(WITH_ZLIB OFF) +endif() + +if("zstd" IN_LIST FEATURES) + set(WITH_ZSTD ON) +else() + set(WITH_ZSTD OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -17,14 +41,20 @@ vcpkg_configure_cmake( -DRDKAFKA_BUILD_STATIC=${RDKAFKA_BUILD_STATIC} -DRDKAFKA_BUILD_EXAMPLES=OFF -DRDKAFKA_BUILD_TESTS=OFF + -DENABLE_LZ4_EXT=${ENABLE_LZ4_EXT} + -DWITH_SSL=${WITH_SSL} + -DWITH_ZLIB=${WITH_ZLIB} + -DWITH_ZSTD=${WITH_ZSTD} OPTIONS_DEBUG -DENABLE_DEVEL=ON -DENABLE_REFCNT_DEBUG=ON -DENABLE_SHAREDPTR_DEBUG=ON + -DWITHOUT_OPTIMIZATION=ON OPTIONS_RELEASE -DENABLE_DEVEL=OFF -DENABLE_REFCNT_DEBUG=OFF -DENABLE_SHAREDPTR_DEBUG=OFF + -DWITHOUT_OPTIMIZATION=OFF ) vcpkg_install_cmake() -- cgit v1.2.3 From d1b1ae1a102a801f28c0f7aee976dace396a95ff Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 7 Apr 2019 20:13:27 +0800 Subject: [librdkafka] Rename package to librdkafka (#5927) --- ports/librdkafka/CONTROL | 20 +++++++++ ports/librdkafka/portfile.cmake | 89 +++++++++++++++++++++++++++++++++++++++++ ports/rdkafka/CONTROL | 20 --------- ports/rdkafka/portfile.cmake | 85 --------------------------------------- 4 files changed, 109 insertions(+), 105 deletions(-) create mode 100644 ports/librdkafka/CONTROL create mode 100644 ports/librdkafka/portfile.cmake delete mode 100644 ports/rdkafka/CONTROL delete mode 100644 ports/rdkafka/portfile.cmake diff --git a/ports/librdkafka/CONTROL b/ports/librdkafka/CONTROL new file mode 100644 index 000000000..ceeb970f0 --- /dev/null +++ b/ports/librdkafka/CONTROL @@ -0,0 +1,20 @@ +Source: librdkafka +Version: v1.0.0-1 +Description: The Apache Kafka C/C++ library +Default-Features: ssl + +Feature: lz4 +Description: Enable external LZ4 library support +Build-Depends: lz4 + +Feature: ssl +Description: Build with OpenSSL +Build-Depends: openssl + +Feature: zlib +Description: Build with zlib +Build-Depends: zlib + +Feature: zstd +Description: Build with zstd +Build-Depends: zstd diff --git a/ports/librdkafka/portfile.cmake b/ports/librdkafka/portfile.cmake new file mode 100644 index 000000000..ee008a14d --- /dev/null +++ b/ports/librdkafka/portfile.cmake @@ -0,0 +1,89 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO edenhill/librdkafka + REF v1.0.0 + SHA512 15ac1e4c9042debf8d4df602ccdc5eccae3a37b305be24d724fcaffc3d1d0aafa708fc8e29d6af51f51ed6c7daf74b3041b8b9b0444e6702cd73479c8078859a + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC) + +if("lz4" IN_LIST FEATURES) + set(ENABLE_LZ4_EXT ON) +else() + set(ENABLE_LZ4_EXT OFF) +endif() + +if("ssl" IN_LIST FEATURES) + set(WITH_SSL ON) +else() + set(WITH_SSL OFF) +endif() + +if("zlib" IN_LIST FEATURES) + set(WITH_ZLIB ON) +else() + set(WITH_ZLIB OFF) +endif() + +if("zstd" IN_LIST FEATURES) + set(WITH_ZSTD ON) +else() + set(WITH_ZSTD OFF) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DRDKAFKA_BUILD_STATIC=${RDKAFKA_BUILD_STATIC} + -DRDKAFKA_BUILD_EXAMPLES=OFF + -DRDKAFKA_BUILD_TESTS=OFF + -DENABLE_LZ4_EXT=${ENABLE_LZ4_EXT} + -DWITH_SSL=${WITH_SSL} + -DWITH_BUNDLED_SSL=OFF + -DWITH_ZLIB=${WITH_ZLIB} + -DWITH_ZSTD=${WITH_ZSTD} + OPTIONS_DEBUG + -DENABLE_DEVEL=ON + -DENABLE_REFCNT_DEBUG=ON + -DENABLE_SHAREDPTR_DEBUG=ON + -DWITHOUT_OPTIMIZATION=ON + OPTIONS_RELEASE + -DENABLE_DEVEL=OFF + -DENABLE_REFCNT_DEBUG=OFF + -DENABLE_SHAREDPTR_DEBUG=OFF + -DWITHOUT_OPTIMIZATION=OFF +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets( + CONFIG_PATH lib/cmake/RdKafka + TARGET_PATH share/rdkafka +) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + foreach(hdr rdkafka.h rdkafkacpp.h) + vcpkg_replace_string( + ${CURRENT_PACKAGES_DIR}/include/librdkafka/${hdr} + "#ifdef LIBRDKAFKA_STATICLIB" + "#if 1 // #ifdef LIBRDKAFKA_STATICLIB" + ) + endforeach() +endif() + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +#vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/rdkafka/CONTROL b/ports/rdkafka/CONTROL deleted file mode 100644 index a278915c8..000000000 --- a/ports/rdkafka/CONTROL +++ /dev/null @@ -1,20 +0,0 @@ -Source: rdkafka -Version: v1.0.0 -Description: The Apache Kafka C/C++ library -Default-Features: ssl - -Feature: lz4 -Description: Enable external LZ4 library support -Build-Depends: lz4 - -Feature: ssl -Description: Build with OpenSSL -Build-Depends: openssl - -Feature: zlib -Description: Build with zlib -Build-Depends: zlib - -Feature: zstd -Description: Build with zstd -Build-Depends: zstd diff --git a/ports/rdkafka/portfile.cmake b/ports/rdkafka/portfile.cmake deleted file mode 100644 index 7db996bb4..000000000 --- a/ports/rdkafka/portfile.cmake +++ /dev/null @@ -1,85 +0,0 @@ -include(vcpkg_common_functions) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO edenhill/librdkafka - REF v1.0.0 - SHA512 15ac1e4c9042debf8d4df602ccdc5eccae3a37b305be24d724fcaffc3d1d0aafa708fc8e29d6af51f51ed6c7daf74b3041b8b9b0444e6702cd73479c8078859a - HEAD_REF master -) - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC) - -if("lz4" IN_LIST FEATURES) - set(ENABLE_LZ4_EXT ON) -else() - set(ENABLE_LZ4_EXT OFF) -endif() - -if("ssl" IN_LIST FEATURES) - set(WITH_SSL ON) -else() - set(WITH_SSL OFF) -endif() - -if("zlib" IN_LIST FEATURES) - set(WITH_ZLIB ON) -else() - set(WITH_ZLIB OFF) -endif() - -if("zstd" IN_LIST FEATURES) - set(WITH_ZSTD ON) -else() - set(WITH_ZSTD OFF) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DRDKAFKA_BUILD_STATIC=${RDKAFKA_BUILD_STATIC} - -DRDKAFKA_BUILD_EXAMPLES=OFF - -DRDKAFKA_BUILD_TESTS=OFF - -DENABLE_LZ4_EXT=${ENABLE_LZ4_EXT} - -DWITH_SSL=${WITH_SSL} - -DWITH_ZLIB=${WITH_ZLIB} - -DWITH_ZSTD=${WITH_ZSTD} - OPTIONS_DEBUG - -DENABLE_DEVEL=ON - -DENABLE_REFCNT_DEBUG=ON - -DENABLE_SHAREDPTR_DEBUG=ON - -DWITHOUT_OPTIMIZATION=ON - OPTIONS_RELEASE - -DENABLE_DEVEL=OFF - -DENABLE_REFCNT_DEBUG=OFF - -DENABLE_SHAREDPTR_DEBUG=OFF - -DWITHOUT_OPTIMIZATION=OFF -) - -vcpkg_install_cmake() - -vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) - -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - foreach(hdr rdkafka.h rdkafkacpp.h) - vcpkg_replace_string( - ${CURRENT_PACKAGES_DIR}/include/librdkafka/${hdr} - "#ifdef LIBRDKAFKA_STATICLIB" - "#if 1 // #ifdef LIBRDKAFKA_STATICLIB" - ) - endforeach() -endif() - -# Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) - -# CMake integration test -#vcpkg_test_cmake(PACKAGE_NAME ${PORT}) -- cgit v1.2.3 From f6ae18f51a0ba43baa20bf3dfb5f4f52acb46ecd Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 17 Apr 2019 08:15:33 +0800 Subject: [librdkafka] Update to 2019-04-16 --- ports/librdkafka/CONTROL | 2 +- ports/librdkafka/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/librdkafka/CONTROL b/ports/librdkafka/CONTROL index ceeb970f0..76b8e7683 100644 --- a/ports/librdkafka/CONTROL +++ b/ports/librdkafka/CONTROL @@ -1,5 +1,5 @@ Source: librdkafka -Version: v1.0.0-1 +Version: 2019-04-16 Description: The Apache Kafka C/C++ library Default-Features: ssl diff --git a/ports/librdkafka/portfile.cmake b/ports/librdkafka/portfile.cmake index ee008a14d..2f9446ad7 100644 --- a/ports/librdkafka/portfile.cmake +++ b/ports/librdkafka/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO edenhill/librdkafka - REF v1.0.0 - SHA512 15ac1e4c9042debf8d4df602ccdc5eccae3a37b305be24d724fcaffc3d1d0aafa708fc8e29d6af51f51ed6c7daf74b3041b8b9b0444e6702cd73479c8078859a + REF 384565a66b85efdce413d2e22f60e72f1b7d739a + SHA512 c6ba0f6246465526c3ecd7c23bf24466863a0fbe6c34eb7d89a6ee2d7b28a4e5daba0d85e3d5774f7c65c7b4e8c9c829a458f83f7540d480fed931c7fbffd5d2 HEAD_REF master ) -- cgit v1.2.3 From c89d08d1bafaa7d3c92e5b6eeeace885772eb6bd Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 30 Apr 2019 18:28:17 +0800 Subject: [librdkafka] Update to 2019-04-30 --- ports/librdkafka/CONTROL | 2 +- ports/librdkafka/FindZstd.cmake | 31 +++++++++++++++++++++++++++++++ ports/librdkafka/find_zstd.patch | 28 ++++++++++++++++++++++++++++ ports/librdkafka/portfile.cmake | 24 ++++++++++++++++++++++-- 4 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 ports/librdkafka/FindZstd.cmake create mode 100644 ports/librdkafka/find_zstd.patch diff --git a/ports/librdkafka/CONTROL b/ports/librdkafka/CONTROL index 76b8e7683..2612ead87 100644 --- a/ports/librdkafka/CONTROL +++ b/ports/librdkafka/CONTROL @@ -1,5 +1,5 @@ Source: librdkafka -Version: 2019-04-16 +Version: 2019-04-30 Description: The Apache Kafka C/C++ library Default-Features: ssl diff --git a/ports/librdkafka/FindZstd.cmake b/ports/librdkafka/FindZstd.cmake new file mode 100644 index 000000000..415f61324 --- /dev/null +++ b/ports/librdkafka/FindZstd.cmake @@ -0,0 +1,31 @@ +# +# - Try to find Facebook zstd library +# This will define +# ZSTD_FOUND +# ZSTD_INCLUDE_DIR +# ZSTD_LIBRARY +# + +find_path(ZSTD_INCLUDE_DIR NAMES zstd.h) + +find_library(ZSTD_LIBRARY_DEBUG NAMES zstdd zstd_staticd) +find_library(ZSTD_LIBRARY_RELEASE NAMES zstd zstd_static) + +include(SelectLibraryConfigurations) +SELECT_LIBRARY_CONFIGURATIONS(ZSTD) + +include(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS( + ZSTD DEFAULT_MSG + ZSTD_LIBRARY ZSTD_INCLUDE_DIR +) + +if (ZSTD_FOUND) + message(STATUS "Found Zstd: ${ZSTD_LIBRARY}") +endif() + +mark_as_advanced(ZSTD_INCLUDE_DIR ZSTD_LIBRARY) + + +# References: +# https://github.com/facebook/folly/blob/master/CMake/FindZstd.cmake diff --git a/ports/librdkafka/find_zstd.patch b/ports/librdkafka/find_zstd.patch new file mode 100644 index 000000000..8d14a5b73 --- /dev/null +++ b/ports/librdkafka/find_zstd.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 76e92b70..38b7d5a9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -55,8 +55,8 @@ endif() + # } + + # ZSTD { +-find_library (ZSTD zstd) +-if(ZSTD) ++find_package(Zstd) ++if(ZSTD_FOUND) + set(with_zstd_default ON) + else() + set(with_zstd_default OFF) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index aecb3917..52ba9fa4 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -169,8 +169,6 @@ if(WITH_ZLIB) + endif() + + if(WITH_ZSTD) +- find_library (ZSTD_LIBRARY zstd) +- find_path (ZSTD_INCLUDE_DIR NAMES zstd.h) + target_link_libraries(rdkafka PUBLIC ${ZSTD_LIBRARY}) + target_include_directories(rdkafka PUBLIC ${ZSTD_INCLUDE_DIR}) + message(STATUS "Found ZSTD: ${ZSTD_LIBRARY}") diff --git a/ports/librdkafka/portfile.cmake b/ports/librdkafka/portfile.cmake index 2f9446ad7..3acdbbf53 100644 --- a/ports/librdkafka/portfile.cmake +++ b/ports/librdkafka/portfile.cmake @@ -3,9 +3,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO edenhill/librdkafka - REF 384565a66b85efdce413d2e22f60e72f1b7d739a - SHA512 c6ba0f6246465526c3ecd7c23bf24466863a0fbe6c34eb7d89a6ee2d7b28a4e5daba0d85e3d5774f7c65c7b4e8c9c829a458f83f7540d480fed931c7fbffd5d2 + REF 9b3fce7b882b43302fb983d0e0e555225e672f92 + SHA512 7edda198fb10a3a005fe4f47af55940051cdb7a350b8f06e7186e70ee9f3b44c7468134f42867303184a807a274507e4fa5b2f7997cd2fd5876993de04949140 HEAD_REF master + PATCHES + find_zstd.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC) @@ -34,6 +36,11 @@ else() set(WITH_ZSTD OFF) endif() +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/FindZstd.cmake + DESTINATION ${SOURCE_PATH}/packaging/cmake/Modules +) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -67,6 +74,19 @@ vcpkg_fixup_cmake_targets( TARGET_PATH share/rdkafka ) +if(ENABLE_LZ4_EXT) + vcpkg_replace_string( + ${CURRENT_PACKAGES_DIR}/share/rdkafka/RdKafkaConfig.cmake + "find_dependency(LZ4)" + "include(\"\${CMAKE_CURRENT_LIST_DIR}/FindLZ4.cmake\")\n find_dependency(LZ4)" + ) +endif() + +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/FindZstd.cmake + DESTINATION ${CURRENT_PACKAGES_DIR}/share/rdkafka +) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share -- cgit v1.2.3 From 6b2423eced39ac4190add8215c4bb64dbfa5c3e8 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 7 May 2019 08:13:10 +0800 Subject: [librdkafka] Update to 2019-05-07 --- ports/librdkafka/CONTROL | 2 +- ports/librdkafka/FindZstd.cmake | 31 ---------------------- ports/librdkafka/find_zstd.patch | 28 -------------------- ports/librdkafka/portfile.cmake | 56 +++++++++++++--------------------------- ports/librdkafka/usage | 4 +++ 5 files changed, 23 insertions(+), 98 deletions(-) delete mode 100644 ports/librdkafka/FindZstd.cmake delete mode 100644 ports/librdkafka/find_zstd.patch create mode 100644 ports/librdkafka/usage diff --git a/ports/librdkafka/CONTROL b/ports/librdkafka/CONTROL index 2612ead87..398856e9e 100644 --- a/ports/librdkafka/CONTROL +++ b/ports/librdkafka/CONTROL @@ -1,5 +1,5 @@ Source: librdkafka -Version: 2019-04-30 +Version: 2019-05-07 Description: The Apache Kafka C/C++ library Default-Features: ssl diff --git a/ports/librdkafka/FindZstd.cmake b/ports/librdkafka/FindZstd.cmake deleted file mode 100644 index 415f61324..000000000 --- a/ports/librdkafka/FindZstd.cmake +++ /dev/null @@ -1,31 +0,0 @@ -# -# - Try to find Facebook zstd library -# This will define -# ZSTD_FOUND -# ZSTD_INCLUDE_DIR -# ZSTD_LIBRARY -# - -find_path(ZSTD_INCLUDE_DIR NAMES zstd.h) - -find_library(ZSTD_LIBRARY_DEBUG NAMES zstdd zstd_staticd) -find_library(ZSTD_LIBRARY_RELEASE NAMES zstd zstd_static) - -include(SelectLibraryConfigurations) -SELECT_LIBRARY_CONFIGURATIONS(ZSTD) - -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS( - ZSTD DEFAULT_MSG - ZSTD_LIBRARY ZSTD_INCLUDE_DIR -) - -if (ZSTD_FOUND) - message(STATUS "Found Zstd: ${ZSTD_LIBRARY}") -endif() - -mark_as_advanced(ZSTD_INCLUDE_DIR ZSTD_LIBRARY) - - -# References: -# https://github.com/facebook/folly/blob/master/CMake/FindZstd.cmake diff --git a/ports/librdkafka/find_zstd.patch b/ports/librdkafka/find_zstd.patch deleted file mode 100644 index 8d14a5b73..000000000 --- a/ports/librdkafka/find_zstd.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 76e92b70..38b7d5a9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -55,8 +55,8 @@ endif() - # } - - # ZSTD { --find_library (ZSTD zstd) --if(ZSTD) -+find_package(Zstd) -+if(ZSTD_FOUND) - set(with_zstd_default ON) - else() - set(with_zstd_default OFF) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index aecb3917..52ba9fa4 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -169,8 +169,6 @@ if(WITH_ZLIB) - endif() - - if(WITH_ZSTD) -- find_library (ZSTD_LIBRARY zstd) -- find_path (ZSTD_INCLUDE_DIR NAMES zstd.h) - target_link_libraries(rdkafka PUBLIC ${ZSTD_LIBRARY}) - target_include_directories(rdkafka PUBLIC ${ZSTD_INCLUDE_DIR}) - message(STATUS "Found ZSTD: ${ZSTD_LIBRARY}") diff --git a/ports/librdkafka/portfile.cmake b/ports/librdkafka/portfile.cmake index 3acdbbf53..92d137b1f 100644 --- a/ports/librdkafka/portfile.cmake +++ b/ports/librdkafka/portfile.cmake @@ -3,43 +3,25 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO edenhill/librdkafka - REF 9b3fce7b882b43302fb983d0e0e555225e672f92 - SHA512 7edda198fb10a3a005fe4f47af55940051cdb7a350b8f06e7186e70ee9f3b44c7468134f42867303184a807a274507e4fa5b2f7997cd2fd5876993de04949140 + REF 1f3203c8b647d865dffeb76c2af82ea34ca9b746 + SHA512 7e0a48142acfa886daaeec98bc304f41de1270075215ccc90e5a8dcd2c11222179ed6c68a353dae55fe8a47f8080e15f05d2ac0a86fa74a2103119a286257cba HEAD_REF master - PATCHES - find_zstd.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC) -if("lz4" IN_LIST FEATURES) - set(ENABLE_LZ4_EXT ON) -else() - set(ENABLE_LZ4_EXT OFF) -endif() - -if("ssl" IN_LIST FEATURES) - set(WITH_SSL ON) -else() - set(WITH_SSL OFF) -endif() +macro(check_feature _feature_name _var) + if("${_feature_name}" IN_LIST FEATURES) + set(${_var} ON) + else() + set(${_var} OFF) + endif() +endmacro() -if("zlib" IN_LIST FEATURES) - set(WITH_ZLIB ON) -else() - set(WITH_ZLIB OFF) -endif() - -if("zstd" IN_LIST FEATURES) - set(WITH_ZSTD ON) -else() - set(WITH_ZSTD OFF) -endif() - -file(COPY - ${CMAKE_CURRENT_LIST_DIR}/FindZstd.cmake - DESTINATION ${SOURCE_PATH}/packaging/cmake/Modules -) +check_feature(lz4 ENABLE_LZ4_EXT) +check_feature(ssl WITH_SSL) +check_feature(zlib WITH_ZLIB) +check_feature(zstd WITH_ZSTD) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -82,11 +64,6 @@ if(ENABLE_LZ4_EXT) ) endif() -file(COPY - ${CMAKE_CURRENT_LIST_DIR}/FindZstd.cmake - DESTINATION ${CURRENT_PACKAGES_DIR}/share/rdkafka -) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share @@ -103,7 +80,10 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) endif() # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file(${SOURCE_PATH}/LICENSES.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# Install usage +configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage @ONLY) # CMake integration test -#vcpkg_test_cmake(PACKAGE_NAME ${PORT}) +vcpkg_test_cmake(PACKAGE_NAME RdKafka) diff --git a/ports/librdkafka/usage b/ports/librdkafka/usage new file mode 100644 index 000000000..4f00a6a73 --- /dev/null +++ b/ports/librdkafka/usage @@ -0,0 +1,4 @@ +The package @PORT@:@TARGET_TRIPLET@ provides CMake targets: + + find_package(RdKafka CONFIG REQUIRED) + target_link_libraries(main PRIVATE RdKafka::rdkafka RdKafka::rdkafka++) -- cgit v1.2.3 From 6f691d7a9b1a03620aaffe4364b342b76bb5b10a Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 7 May 2019 19:20:05 +0800 Subject: [librdkafka] Update --- ports/librdkafka/CONTROL | 2 +- ports/librdkafka/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/librdkafka/CONTROL b/ports/librdkafka/CONTROL index 398856e9e..a1d1b64c6 100644 --- a/ports/librdkafka/CONTROL +++ b/ports/librdkafka/CONTROL @@ -1,5 +1,5 @@ Source: librdkafka -Version: 2019-05-07 +Version: 2019-05-07-1 Description: The Apache Kafka C/C++ library Default-Features: ssl diff --git a/ports/librdkafka/portfile.cmake b/ports/librdkafka/portfile.cmake index 92d137b1f..fb637cd1d 100644 --- a/ports/librdkafka/portfile.cmake +++ b/ports/librdkafka/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO edenhill/librdkafka - REF 1f3203c8b647d865dffeb76c2af82ea34ca9b746 - SHA512 7e0a48142acfa886daaeec98bc304f41de1270075215ccc90e5a8dcd2c11222179ed6c68a353dae55fe8a47f8080e15f05d2ac0a86fa74a2103119a286257cba + REF dc85ffc8068c18dfdf118666b4c78de1c7ac640b + SHA512 b21be356806125ab8bdb74de41eef2c56714cfd2003065be362d9fab7e177a07675e95a13ed6d7fbd3dc38502194000b0e378ff6c43c7d54a0234ada0df881eb HEAD_REF master ) -- cgit v1.2.3 From 2bf491b4264f07c0669fbe10d6e5d373215ae737 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 9 May 2019 19:10:42 +0800 Subject: [librdkafka] Fix ARM build error --- ports/librdkafka/CONTROL | 2 +- ports/librdkafka/fix-arm-msvc-build.patch | 157 ++++++++++++++++++++++++++++++ ports/librdkafka/portfile.cmake | 2 + 3 files changed, 160 insertions(+), 1 deletion(-) create mode 100644 ports/librdkafka/fix-arm-msvc-build.patch diff --git a/ports/librdkafka/CONTROL b/ports/librdkafka/CONTROL index a1d1b64c6..5a652ec54 100644 --- a/ports/librdkafka/CONTROL +++ b/ports/librdkafka/CONTROL @@ -1,5 +1,5 @@ Source: librdkafka -Version: 2019-05-07-1 +Version: 2019-05-07-2 Description: The Apache Kafka C/C++ library Default-Features: ssl diff --git a/ports/librdkafka/fix-arm-msvc-build.patch b/ports/librdkafka/fix-arm-msvc-build.patch new file mode 100644 index 000000000..07600130b --- /dev/null +++ b/ports/librdkafka/fix-arm-msvc-build.patch @@ -0,0 +1,157 @@ +diff --git a/src/snappy.c b/src/snappy.c +index c3b6ea8a..e74e6903 100644 +--- a/src/snappy.c ++++ b/src/snappy.c +@@ -63,9 +63,6 @@ + + #include "rd.h" + +-#ifdef _MSC_VER +-#define inline __inline +-#endif + + #define CRASH_UNLESS(x) BUG_ON(!(x)) + #define CHECK(cond) CRASH_UNLESS(cond) +@@ -76,12 +73,12 @@ + #define CHECK_LT(a, b) CRASH_UNLESS((a) < (b)) + #define CHECK_GT(a, b) CRASH_UNLESS((a) > (b)) + +-#define UNALIGNED_LOAD16(_p) get_unaligned((u16 *)(_p)) +-#define UNALIGNED_LOAD32(_p) get_unaligned((u32 *)(_p)) ++#define UNALIGNED_LOAD16(_p) get_unaligned16((u16 *)(_p)) ++#define UNALIGNED_LOAD32(_p) get_unaligned32((u32 *)(_p)) + #define UNALIGNED_LOAD64(_p) get_unaligned64((u64 *)(_p)) + +-#define UNALIGNED_STORE16(_p, _val) put_unaligned(_val, (u16 *)(_p)) +-#define UNALIGNED_STORE32(_p, _val) put_unaligned(_val, (u32 *)(_p)) ++#define UNALIGNED_STORE16(_p, _val) put_unaligned16(_val, (u16 *)(_p)) ++#define UNALIGNED_STORE32(_p, _val) put_unaligned32(_val, (u32 *)(_p)) + #define UNALIGNED_STORE64(_p, _val) put_unaligned64(_val, (u64 *)(_p)) + + /* +diff --git a/src/snappy_compat.h b/src/snappy_compat.h +index 77606552..21e0ea6b 100644 +--- a/src/snappy_compat.h ++++ b/src/snappy_compat.h +@@ -44,23 +44,65 @@ struct iovec { + }; + #endif + +-#define get_unaligned_memcpy(x) ({ \ +- typeof(*(x)) _ret; \ +- memcpy(&_ret, (x), sizeof(*(x))); \ +- _ret; }) +-#define put_unaligned_memcpy(v,x) ({ \ +- typeof((v)) _v = (v); \ +- memcpy((x), &_v, sizeof(*(x))); }) ++#ifdef _MSC_VER ++#define inline __inline ++#endif ++ ++typedef unsigned char u8; ++typedef unsigned short u16; ++typedef unsigned u32; ++typedef unsigned long long u64; ++ ++ ++static inline u16 get_unaligned16_memcpy(const void *p) ++{ ++ u16 t; ++ memcpy(&t, p, sizeof t); ++ return t; ++} ++ ++static inline u32 get_unaligned32_memcpy(const void *p) ++{ ++ u32 t; ++ memcpy(&t, p, sizeof t); ++ return t; ++} ++ ++static inline u64 get_unaligned64_memcpy(const void *p) ++{ ++ u64 t; ++ memcpy(&t, p, sizeof t); ++ return t; ++} ++ ++static inline void put_unaligned16_memcpy(u16 v, void *p) ++{ ++ memcpy(p, &v, sizeof v); ++} ++ ++static inline void put_unaligned32_memcpy(u32 v, void *p) ++{ ++ memcpy(p, &v, sizeof v); ++} ++ ++static inline void put_unaligned64_memcpy(u64 v, void *p) ++{ ++ memcpy(p, &v, sizeof v); ++} + + #define get_unaligned_direct(x) (*(x)) + #define put_unaligned_direct(v,x) (*(x) = (v)) + + // Potentially unaligned loads and stores. +-// x86 and PowerPC can simply do these loads and stores native. +-#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64) +- +-#define get_unaligned get_unaligned_direct +-#define put_unaligned put_unaligned_direct ++// x86, PowerPC, and ARM64 can simply do these loads and stores native. ++#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || \ ++ defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64) || \ ++ defined(__aarch64__) ++ ++#define get_unaligned16 get_unaligned_direct ++#define put_unaligned16 put_unaligned_direct ++#define get_unaligned32 get_unaligned_direct ++#define put_unaligned32 put_unaligned_direct + #define get_unaligned64 get_unaligned_direct + #define put_unaligned64 put_unaligned_direct + +@@ -86,29 +128,29 @@ struct iovec { + !defined(__ARM_ARCH_6ZK__) && \ + !defined(__ARM_ARCH_6T2__) + +-#define get_unaligned get_unaligned_direct +-#define put_unaligned put_unaligned_direct +-#define get_unaligned64 get_unaligned_memcpy +-#define put_unaligned64 put_unaligned_memcpy ++#define get_unaligned16 get_unaligned_direct ++#define put_unaligned16 put_unaligned_direct ++#define get_unaligned32 get_unaligned_direct ++#define put_unaligned32 put_unaligned_direct ++#define get_unaligned64 get_unaligned64_memcpy ++#define put_unaligned64 put_unaligned64_memcpy + + // These macroses are provided for architectures that don't support + // unaligned loads and stores. + #else + +-#define get_unaligned get_unaligned_memcpy +-#define put_unaligned put_unaligned_memcpy +-#define get_unaligned64 get_unaligned_memcpy +-#define put_unaligned64 put_unaligned_memcpy ++#define get_unaligned16 get_unaligned16_memcpy ++#define put_unaligned16 put_unaligned16_memcpy ++#define get_unaligned32 get_unaligned32_memcpy ++#define put_unaligned32 put_unaligned32_memcpy ++#define get_unaligned64 get_unaligned64_memcpy ++#define put_unaligned64 put_unaligned64_memcpy + + #endif + +-#define get_unaligned_le32(x) (le32toh(get_unaligned((u32 *)(x)))) +-#define put_unaligned_le16(v,x) (put_unaligned(htole16(v), (u16 *)(x))) ++#define get_unaligned_le32(x) (le32toh(get_unaligned32((u32 *)(x)))) ++#define put_unaligned_le16(v,x) (put_unaligned16(htole16(v), (u16 *)(x))) + +-typedef unsigned char u8; +-typedef unsigned short u16; +-typedef unsigned u32; +-typedef unsigned long long u64; + + #ifdef _MSC_VER + #define BUG_ON(x) do { if (unlikely((x))) abort(); } while (0) diff --git a/ports/librdkafka/portfile.cmake b/ports/librdkafka/portfile.cmake index fb637cd1d..d5beca2ec 100644 --- a/ports/librdkafka/portfile.cmake +++ b/ports/librdkafka/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_github( REF dc85ffc8068c18dfdf118666b4c78de1c7ac640b SHA512 b21be356806125ab8bdb74de41eef2c56714cfd2003065be362d9fab7e177a07675e95a13ed6d7fbd3dc38502194000b0e378ff6c43c7d54a0234ada0df881eb HEAD_REF master + PATCHES + fix-arm-msvc-build ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC) -- cgit v1.2.3 From a7ac12c90afed0a13e3b24d509927d2fca506115 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 24 May 2019 18:58:15 +0800 Subject: [librdkafka] Fix patch file name --- ports/librdkafka/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/librdkafka/portfile.cmake b/ports/librdkafka/portfile.cmake index d5beca2ec..216b90ced 100644 --- a/ports/librdkafka/portfile.cmake +++ b/ports/librdkafka/portfile.cmake @@ -7,7 +7,7 @@ vcpkg_from_github( SHA512 b21be356806125ab8bdb74de41eef2c56714cfd2003065be362d9fab7e177a07675e95a13ed6d7fbd3dc38502194000b0e378ff6c43c7d54a0234ada0df881eb HEAD_REF master PATCHES - fix-arm-msvc-build + fix-arm-msvc-build.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC) -- cgit v1.2.3 From 8b64e981fb7e863e6850cdd6626286e474db856a Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 27 May 2019 19:52:26 +0800 Subject: [librdkafka] Turn on tests temporarily --- ports/librdkafka/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/librdkafka/portfile.cmake b/ports/librdkafka/portfile.cmake index 216b90ced..0cba857b9 100644 --- a/ports/librdkafka/portfile.cmake +++ b/ports/librdkafka/portfile.cmake @@ -31,7 +31,7 @@ vcpkg_configure_cmake( OPTIONS -DRDKAFKA_BUILD_STATIC=${RDKAFKA_BUILD_STATIC} -DRDKAFKA_BUILD_EXAMPLES=OFF - -DRDKAFKA_BUILD_TESTS=OFF + -DRDKAFKA_BUILD_TESTS=ON -DENABLE_LZ4_EXT=${ENABLE_LZ4_EXT} -DWITH_SSL=${WITH_SSL} -DWITH_BUNDLED_SSL=OFF -- cgit v1.2.3 From 7cd35529736837e2e74dad231717bda76327ac79 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 28 May 2019 08:21:20 +0800 Subject: [librdkafka] Update to 2019-05-27 --- ports/librdkafka/CONTROL | 2 +- ports/librdkafka/fix-arm-msvc-build.patch | 157 ------------------------------ ports/librdkafka/portfile.cmake | 8 +- 3 files changed, 4 insertions(+), 163 deletions(-) delete mode 100644 ports/librdkafka/fix-arm-msvc-build.patch diff --git a/ports/librdkafka/CONTROL b/ports/librdkafka/CONTROL index 5a652ec54..dcc15f8ec 100644 --- a/ports/librdkafka/CONTROL +++ b/ports/librdkafka/CONTROL @@ -1,5 +1,5 @@ Source: librdkafka -Version: 2019-05-07-2 +Version: 2019-05-27 Description: The Apache Kafka C/C++ library Default-Features: ssl diff --git a/ports/librdkafka/fix-arm-msvc-build.patch b/ports/librdkafka/fix-arm-msvc-build.patch deleted file mode 100644 index 07600130b..000000000 --- a/ports/librdkafka/fix-arm-msvc-build.patch +++ /dev/null @@ -1,157 +0,0 @@ -diff --git a/src/snappy.c b/src/snappy.c -index c3b6ea8a..e74e6903 100644 ---- a/src/snappy.c -+++ b/src/snappy.c -@@ -63,9 +63,6 @@ - - #include "rd.h" - --#ifdef _MSC_VER --#define inline __inline --#endif - - #define CRASH_UNLESS(x) BUG_ON(!(x)) - #define CHECK(cond) CRASH_UNLESS(cond) -@@ -76,12 +73,12 @@ - #define CHECK_LT(a, b) CRASH_UNLESS((a) < (b)) - #define CHECK_GT(a, b) CRASH_UNLESS((a) > (b)) - --#define UNALIGNED_LOAD16(_p) get_unaligned((u16 *)(_p)) --#define UNALIGNED_LOAD32(_p) get_unaligned((u32 *)(_p)) -+#define UNALIGNED_LOAD16(_p) get_unaligned16((u16 *)(_p)) -+#define UNALIGNED_LOAD32(_p) get_unaligned32((u32 *)(_p)) - #define UNALIGNED_LOAD64(_p) get_unaligned64((u64 *)(_p)) - --#define UNALIGNED_STORE16(_p, _val) put_unaligned(_val, (u16 *)(_p)) --#define UNALIGNED_STORE32(_p, _val) put_unaligned(_val, (u32 *)(_p)) -+#define UNALIGNED_STORE16(_p, _val) put_unaligned16(_val, (u16 *)(_p)) -+#define UNALIGNED_STORE32(_p, _val) put_unaligned32(_val, (u32 *)(_p)) - #define UNALIGNED_STORE64(_p, _val) put_unaligned64(_val, (u64 *)(_p)) - - /* -diff --git a/src/snappy_compat.h b/src/snappy_compat.h -index 77606552..21e0ea6b 100644 ---- a/src/snappy_compat.h -+++ b/src/snappy_compat.h -@@ -44,23 +44,65 @@ struct iovec { - }; - #endif - --#define get_unaligned_memcpy(x) ({ \ -- typeof(*(x)) _ret; \ -- memcpy(&_ret, (x), sizeof(*(x))); \ -- _ret; }) --#define put_unaligned_memcpy(v,x) ({ \ -- typeof((v)) _v = (v); \ -- memcpy((x), &_v, sizeof(*(x))); }) -+#ifdef _MSC_VER -+#define inline __inline -+#endif -+ -+typedef unsigned char u8; -+typedef unsigned short u16; -+typedef unsigned u32; -+typedef unsigned long long u64; -+ -+ -+static inline u16 get_unaligned16_memcpy(const void *p) -+{ -+ u16 t; -+ memcpy(&t, p, sizeof t); -+ return t; -+} -+ -+static inline u32 get_unaligned32_memcpy(const void *p) -+{ -+ u32 t; -+ memcpy(&t, p, sizeof t); -+ return t; -+} -+ -+static inline u64 get_unaligned64_memcpy(const void *p) -+{ -+ u64 t; -+ memcpy(&t, p, sizeof t); -+ return t; -+} -+ -+static inline void put_unaligned16_memcpy(u16 v, void *p) -+{ -+ memcpy(p, &v, sizeof v); -+} -+ -+static inline void put_unaligned32_memcpy(u32 v, void *p) -+{ -+ memcpy(p, &v, sizeof v); -+} -+ -+static inline void put_unaligned64_memcpy(u64 v, void *p) -+{ -+ memcpy(p, &v, sizeof v); -+} - - #define get_unaligned_direct(x) (*(x)) - #define put_unaligned_direct(v,x) (*(x) = (v)) - - // Potentially unaligned loads and stores. --// x86 and PowerPC can simply do these loads and stores native. --#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64) -- --#define get_unaligned get_unaligned_direct --#define put_unaligned put_unaligned_direct -+// x86, PowerPC, and ARM64 can simply do these loads and stores native. -+#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || \ -+ defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64) || \ -+ defined(__aarch64__) -+ -+#define get_unaligned16 get_unaligned_direct -+#define put_unaligned16 put_unaligned_direct -+#define get_unaligned32 get_unaligned_direct -+#define put_unaligned32 put_unaligned_direct - #define get_unaligned64 get_unaligned_direct - #define put_unaligned64 put_unaligned_direct - -@@ -86,29 +128,29 @@ struct iovec { - !defined(__ARM_ARCH_6ZK__) && \ - !defined(__ARM_ARCH_6T2__) - --#define get_unaligned get_unaligned_direct --#define put_unaligned put_unaligned_direct --#define get_unaligned64 get_unaligned_memcpy --#define put_unaligned64 put_unaligned_memcpy -+#define get_unaligned16 get_unaligned_direct -+#define put_unaligned16 put_unaligned_direct -+#define get_unaligned32 get_unaligned_direct -+#define put_unaligned32 put_unaligned_direct -+#define get_unaligned64 get_unaligned64_memcpy -+#define put_unaligned64 put_unaligned64_memcpy - - // These macroses are provided for architectures that don't support - // unaligned loads and stores. - #else - --#define get_unaligned get_unaligned_memcpy --#define put_unaligned put_unaligned_memcpy --#define get_unaligned64 get_unaligned_memcpy --#define put_unaligned64 put_unaligned_memcpy -+#define get_unaligned16 get_unaligned16_memcpy -+#define put_unaligned16 put_unaligned16_memcpy -+#define get_unaligned32 get_unaligned32_memcpy -+#define put_unaligned32 put_unaligned32_memcpy -+#define get_unaligned64 get_unaligned64_memcpy -+#define put_unaligned64 put_unaligned64_memcpy - - #endif - --#define get_unaligned_le32(x) (le32toh(get_unaligned((u32 *)(x)))) --#define put_unaligned_le16(v,x) (put_unaligned(htole16(v), (u16 *)(x))) -+#define get_unaligned_le32(x) (le32toh(get_unaligned32((u32 *)(x)))) -+#define put_unaligned_le16(v,x) (put_unaligned16(htole16(v), (u16 *)(x))) - --typedef unsigned char u8; --typedef unsigned short u16; --typedef unsigned u32; --typedef unsigned long long u64; - - #ifdef _MSC_VER - #define BUG_ON(x) do { if (unlikely((x))) abort(); } while (0) diff --git a/ports/librdkafka/portfile.cmake b/ports/librdkafka/portfile.cmake index 0cba857b9..ef344b15f 100644 --- a/ports/librdkafka/portfile.cmake +++ b/ports/librdkafka/portfile.cmake @@ -3,11 +3,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO edenhill/librdkafka - REF dc85ffc8068c18dfdf118666b4c78de1c7ac640b - SHA512 b21be356806125ab8bdb74de41eef2c56714cfd2003065be362d9fab7e177a07675e95a13ed6d7fbd3dc38502194000b0e378ff6c43c7d54a0234ada0df881eb + REF 0d525ba1252074732aac575f88f04831f2656b8f + SHA512 f86d2a150b7c835b7de1a524d02a93ee3fcf4ff4f5f5b52fd49d6802bcb22f9829e562e8faef0842af7b4617aa49925622366f8290ada824be2602bf728dbdf0 HEAD_REF master - PATCHES - fix-arm-msvc-build.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC) @@ -31,7 +29,7 @@ vcpkg_configure_cmake( OPTIONS -DRDKAFKA_BUILD_STATIC=${RDKAFKA_BUILD_STATIC} -DRDKAFKA_BUILD_EXAMPLES=OFF - -DRDKAFKA_BUILD_TESTS=ON + -DRDKAFKA_BUILD_TESTS=OFF -DENABLE_LZ4_EXT=${ENABLE_LZ4_EXT} -DWITH_SSL=${WITH_SSL} -DWITH_BUNDLED_SSL=OFF -- cgit v1.2.3 From 3efdcef0e62aa6df7ff9088c001cff8d47304386 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 14 Jun 2019 08:04:44 +0800 Subject: [librdkafka] Update to 2019-06-13 --- ports/librdkafka/CONTROL | 5 +++-- ports/librdkafka/fix-arm64.patch | 21 +++++++++++++++++++++ ports/librdkafka/portfile.cmake | 6 ++++-- 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 ports/librdkafka/fix-arm64.patch diff --git a/ports/librdkafka/CONTROL b/ports/librdkafka/CONTROL index dcc15f8ec..2c8346a12 100644 --- a/ports/librdkafka/CONTROL +++ b/ports/librdkafka/CONTROL @@ -1,6 +1,7 @@ Source: librdkafka -Version: 2019-05-27 -Description: The Apache Kafka C/C++ library +Version: 2019-06-13 +Description: The Apache Kafka C/C++ library +Homepage: https://github.com/edenhill/librdkafka Default-Features: ssl Feature: lz4 diff --git a/ports/librdkafka/fix-arm64.patch b/ports/librdkafka/fix-arm64.patch new file mode 100644 index 000000000..6a7750cec --- /dev/null +++ b/ports/librdkafka/fix-arm64.patch @@ -0,0 +1,21 @@ +diff --git a/src/snappy_compat.h b/src/snappy_compat.h +index acda21ec..bf2fe4c7 100644 +--- a/src/snappy_compat.h ++++ b/src/snappy_compat.h +@@ -89,7 +89,7 @@ struct iovec { + // x86, PowerPC, and ARM64 can simply do these loads and stores native. + #if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || \ + defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64) || \ +- defined(__aarch64__) ++ defined(__arm64) || defined(__aarch64__) || defined(__AARCH64EL__) || defined(_M_ARM64) + + #define get_unaligned get_unaligned_direct + #define put_unaligned put_unaligned_direct +@@ -115,6 +115,7 @@ struct iovec { + !defined(__ARM_ARCH_6J__) && \ + !defined(__ARM_ARCH_6K__) && \ + !defined(__ARM_ARCH_6Z__) && \ ++ !defined(__ARM_ARCH_6KZ__) && \ + !defined(__ARM_ARCH_6ZK__) && \ + !defined(__ARM_ARCH_6T2__) + diff --git a/ports/librdkafka/portfile.cmake b/ports/librdkafka/portfile.cmake index ef344b15f..1069aa234 100644 --- a/ports/librdkafka/portfile.cmake +++ b/ports/librdkafka/portfile.cmake @@ -3,9 +3,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO edenhill/librdkafka - REF 0d525ba1252074732aac575f88f04831f2656b8f - SHA512 f86d2a150b7c835b7de1a524d02a93ee3fcf4ff4f5f5b52fd49d6802bcb22f9829e562e8faef0842af7b4617aa49925622366f8290ada824be2602bf728dbdf0 + REF b25436e6325e7c941eaed1d80a3ed65b6f404e47 + SHA512 4de86fb14f932a67569cd79f924182559cb9bcc957635c36be493ec3233981755ff751982e48f6999fac50acb153f5c28a23e30538af1a2ad69af87be606a81f HEAD_REF master + PATCHES + fix-arm64.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC) -- cgit v1.2.3 From 11708d2139b19b1c9e2a2f9efab3b89e14c03447 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 2 Jul 2019 18:30:56 +0800 Subject: [librdkafka] Update to 1.1.0 [librdkafka] Use vcpkg_check_features [librdkafka] Remove default feature --- ports/librdkafka/CONTROL | 3 +-- ports/librdkafka/portfile.cmake | 27 +++++++++------------------ 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/ports/librdkafka/CONTROL b/ports/librdkafka/CONTROL index 2c8346a12..f4030ff08 100644 --- a/ports/librdkafka/CONTROL +++ b/ports/librdkafka/CONTROL @@ -1,8 +1,7 @@ Source: librdkafka -Version: 2019-06-13 +Version: 1.1.0 Description: The Apache Kafka C/C++ library Homepage: https://github.com/edenhill/librdkafka -Default-Features: ssl Feature: lz4 Description: Enable external LZ4 library support diff --git a/ports/librdkafka/portfile.cmake b/ports/librdkafka/portfile.cmake index 1069aa234..5bc66fdfa 100644 --- a/ports/librdkafka/portfile.cmake +++ b/ports/librdkafka/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO edenhill/librdkafka - REF b25436e6325e7c941eaed1d80a3ed65b6f404e47 - SHA512 4de86fb14f932a67569cd79f924182559cb9bcc957635c36be493ec3233981755ff751982e48f6999fac50acb153f5c28a23e30538af1a2ad69af87be606a81f + REF v1.1.0 + SHA512 35561399b07278a09a51245c5503c86eb0cc8971692b4e65a332144bfb71e2e86d4ceaf1804534b6a416bcace74cef493b6465c20b32c14de97f45f2854359c6 HEAD_REF master PATCHES fix-arm64.patch @@ -12,18 +12,12 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC) -macro(check_feature _feature_name _var) - if("${_feature_name}" IN_LIST FEATURES) - set(${_var} ON) - else() - set(${_var} OFF) - endif() -endmacro() - -check_feature(lz4 ENABLE_LZ4_EXT) -check_feature(ssl WITH_SSL) -check_feature(zlib WITH_ZLIB) -check_feature(zstd WITH_ZSTD) +vcpkg_check_features( + lz4 ENABLE_LZ4_EXT + ssl WITH_SSL + zlib WITH_ZLIB + zstd WITH_ZSTD +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -32,11 +26,8 @@ vcpkg_configure_cmake( -DRDKAFKA_BUILD_STATIC=${RDKAFKA_BUILD_STATIC} -DRDKAFKA_BUILD_EXAMPLES=OFF -DRDKAFKA_BUILD_TESTS=OFF - -DENABLE_LZ4_EXT=${ENABLE_LZ4_EXT} - -DWITH_SSL=${WITH_SSL} -DWITH_BUNDLED_SSL=OFF - -DWITH_ZLIB=${WITH_ZLIB} - -DWITH_ZSTD=${WITH_ZSTD} + ${FEATURE_OPTIONS} OPTIONS_DEBUG -DENABLE_DEVEL=ON -DENABLE_REFCNT_DEBUG=ON -- cgit v1.2.3