From d1ba2cb019afa5e05934473bf2cf44f8987938e6 Mon Sep 17 00:00:00 2001 From: dkwo Date: Thu, 26 Jan 2023 14:03:20 -0500 Subject: [PATCH] thrift: update to 0.17.0, patch for openssl3 --- srcpkgs/thrift/patches/missing-signal-h.patch | 17 +++++++ srcpkgs/thrift/patches/musl-libc-locale.patch | 24 ++++++++++ .../thrift/patches/skip-old-tls-tests.patch | 44 +++++++++++++++++++ srcpkgs/thrift/template | 24 ++++++---- 4 files changed, 100 insertions(+), 9 deletions(-) create mode 100644 srcpkgs/thrift/patches/missing-signal-h.patch create mode 100644 srcpkgs/thrift/patches/musl-libc-locale.patch create mode 100644 srcpkgs/thrift/patches/skip-old-tls-tests.patch diff --git a/srcpkgs/thrift/patches/missing-signal-h.patch b/srcpkgs/thrift/patches/missing-signal-h.patch new file mode 100644 index 000000000000..ec1ea196b0e8 --- /dev/null +++ b/srcpkgs/thrift/patches/missing-signal-h.patch @@ -0,0 +1,17 @@ +From: https://git.alpinelinux.org/aports/plain/community/thrift/missing-signal-h.patch + +Add missing include for signal.h +--- a/lib/cpp/test/TNonblockingSSLServerTest.cpp ++++ b/lib/cpp/test/TNonblockingSSLServerTest.cpp +@@ -30,6 +30,10 @@ + + #include + ++#ifdef __linux__ ++#include ++#endif ++ + using namespace apache::thrift; + using apache::thrift::concurrency::Guard; + using apache::thrift::concurrency::Monitor; + diff --git a/srcpkgs/thrift/patches/musl-libc-locale.patch b/srcpkgs/thrift/patches/musl-libc-locale.patch new file mode 100644 index 000000000000..2480c687d6dc --- /dev/null +++ b/srcpkgs/thrift/patches/musl-libc-locale.patch @@ -0,0 +1,24 @@ +From: https://git.alpinelinux.org/aports/plain/community/thrift/musl-libc-locale.patch + +Skip tests using locale functionality +--- a/lib/cpp/test/ToStringTest.cpp ++++ b/lib/cpp/test/ToStringTest.cpp +@@ -49,7 +49,7 @@ BOOST_AUTO_TEST_CASE(locale_en_US_int_to_string) { + #ifdef _WIN32 + std::locale::global(std::locale("en-US.UTF-8")); + #else +- std::locale::global(std::locale("en_US.UTF-8")); ++ // musl libc has no locale support + #endif + BOOST_CHECK_EQUAL(to_string(1000000), "1000000"); + } +@@ -58,7 +58,7 @@ BOOST_AUTO_TEST_CASE(locale_de_DE_floating_point_to_string) { + #ifdef _WIN32 + std::locale::global(std::locale("de-DE.UTF-8")); + #else +- std::locale::global(std::locale("de_DE.UTF-8")); ++ // musl libc has no locale support + #endif + BOOST_CHECK_EQUAL(to_string(1.5), "1.5"); + BOOST_CHECK_EQUAL(to_string(1.5f), "1.5"); + diff --git a/srcpkgs/thrift/patches/skip-old-tls-tests.patch b/srcpkgs/thrift/patches/skip-old-tls-tests.patch new file mode 100644 index 000000000000..dafb5abe6e28 --- /dev/null +++ b/srcpkgs/thrift/patches/skip-old-tls-tests.patch @@ -0,0 +1,44 @@ +From: https://git.alpinelinux.org/aports/plain/community/thrift/skip-old-tls-tests.patch + +Skip TLSv1_0 and TLSv1_1 test cases +--- a/lib/cpp/test/SecurityFromBufferTest.cpp ++++ b/lib/cpp/test/SecurityFromBufferTest.cpp +@@ -224,6 +224,16 @@ BOOST_AUTO_TEST_CASE(ssl_security_matrix) { + } + #endif + ++ if (si == 3 || ci == 3) { ++ // Skip all TLSv1_0 cases - protocol not supported ++ continue; ++ } ++ ++ if (si == 4 || ci == 4) { ++ // Skip all TLSv1_1 cases - protocol not supported ++ continue; ++ } ++ + boost::mutex::scoped_lock lock(mMutex); + + BOOST_TEST_MESSAGE(boost::format("TEST: Server = %1%, Client = %2%") % protocol2str(si) +--- a/lib/cpp/test/SecurityTest.cpp ++++ b/lib/cpp/test/SecurityTest.cpp +@@ -250,6 +250,18 @@ BOOST_AUTO_TEST_CASE(ssl_security_matrix) + } + #endif + ++ if (si == 3 || ci == 3) ++ { ++ // Skip all TLSv1_0 cases - protocol not supported ++ continue; ++ } ++ ++ if (si == 4 || ci == 4) ++ { ++ // Skip all TLSv1_1 cases - protocol not supported ++ continue; ++ } ++ + boost::mutex::scoped_lock lock(mMutex); + + BOOST_TEST_MESSAGE(boost::format("TEST: Server = %1%, Client = %2%") + diff --git a/srcpkgs/thrift/template b/srcpkgs/thrift/template index 9ac4bb481c30..2b4b29b48b84 100644 --- a/srcpkgs/thrift/template +++ b/srcpkgs/thrift/template @@ -1,31 +1,37 @@ # Template file for 'thrift' pkgname=thrift -version=0.13.0 -revision=6 -build_style=gnu-configure -configure_args="--without-python" +version=0.17.0 +revision=1 +build_style=cmake +configure_args="-DBUILD_SHARED_LIBS=ON + -DWITH_AS3=OFF + -DWITH_JAVA=OFF + -DWITH_JAVASCRIPT=OFF + -DWITH_NODEJS=OFF + -DWITH_PYTHON=OFF" +hostmakedepends="flex" makedepends="boost-devel openssl-devel" checkdepends="zlib-devel libevent-devel" short_desc="Apache Thrift compiler" maintainer="Orphaned " license="Apache-2.0" homepage="https://thrift.apache.org/" -distfiles="http://www-us.apache.org/dist/thrift/${version}/thrift-${version}.tar.gz" -checksum=7ad348b88033af46ce49148097afe354d513c1fca7c607b59c33ebb6064b5179 +distfiles="https://github.com/apache/thrift/archive/v${version}.tar.gz" +checksum=f5888bcd3b8de40c2c2ab86896867ad9b18510deb412cba3e5da76fb4c604c29 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then makedepends+=" libatomic-devel" fi if [ "$CROSS_BUILD" ]; then - configure_args+=" --disable-tests --disable-tutorial" + configure_args+=" -DBUILD_TESTING=OFF -DBUILD_TUTORIALS=OFF" fi post_configure() { case "$XBPS_TARGET_MACHINE" in ppc64*) ;; ppc*) - sed -i '/libthrift_la_LIBADD/s/$/ -latomic/' lib/cpp/Makefile + vsed -i '/libthrift_la_LIBADD/s/$/ -latomic/' lib/cpp/Makefile ;; esac } @@ -35,8 +41,8 @@ thrift-devel_package() { depends="${sourcepkg}>=${version}_${revision}" pkg_install() { vmove usr/include - vmove "usr/lib/*.a" vmove "usr/lib/*.so" + vmove usr/lib/cmake vmove usr/lib/pkgconfig } }