All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH] thrift: update to 0.12.0
@ 2019-04-16  6:42 Pascal Bach
  0 siblings, 0 replies; only message in thread
From: Pascal Bach @ 2019-04-16  6:42 UTC (permalink / raw)
  To: openembedded-devel

Remove the python library feature as it was never installed so nobody should
miss it.

The CMake patches are no longer needed as most of the underlying issue
is fixed in OE core.
The other patches are backports that are already upstream in 0.11.

OpenSSL 1.1 is supported by this version of thrift.

Also add a feature to use boost smart pointers instead of C++ std ones.
This is enabled by default to keep backwards compatibility with the
0.9.3 recipe. However projects depending on thrift might still need to set
FORCE_BOOST_SMART_PTR within their build CMake project to make sure the correct
headers are selected.

Further the different libraries are now split into separate packages.

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
---
 .../0001-Forcibly-disable-check-for-Qt5.patch      |  25 -----
 ...-In-cmake-avoid-use-of-both-quoted-paths-.patch | 108 ---------------------
 ...31-in-test-cpp-explicitly-use-signed-char.patch |  38 --------
 ...07-enable-build-with-OpenSSL-1.1.0-series.patch |  41 --------
 ...-Compile-error-in-TSSLSocket.cpp-with-new.patch |  26 -----
 ...-C++-library-build-fails-if-OpenSSL-does-.patch |  46 ---------
 .../thrift/{thrift_0.9.3.bb => thrift_0.12.0.bb}   |  35 ++++---
 7 files changed, 17 insertions(+), 302 deletions(-)
 delete mode 100644 meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch
 delete mode 100644 meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch
 delete mode 100644 meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch
 delete mode 100644 meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch
 delete mode 100644 meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch
 delete mode 100644 meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch
 rename meta-oe/recipes-connectivity/thrift/{thrift_0.9.3.bb => thrift_0.12.0.bb} (53%)

diff --git a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch b/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch
deleted file mode 100644
index a77cd284b..000000000
--- a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From a5544d8e543436e413379422b702f6f56ac7eb8e Mon Sep 17 00:00:00 2001
-From: Philip Balister <philip@balister.org>
-Date: Tue, 12 Apr 2016 17:30:15 -0400
-Subject: [PATCH] Forcibly disable check for Qt5.
-
-Signed-off-by: Philip Balister <philip@balister.org>
-
----
- build/cmake/DefineOptions.cmake | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/build/cmake/DefineOptions.cmake b/build/cmake/DefineOptions.cmake
-index 62e240f..f8b4493 100644
---- a/build/cmake/DefineOptions.cmake
-+++ b/build/cmake/DefineOptions.cmake
-@@ -52,9 +52,6 @@ CMAKE_DEPENDENT_OPTION(WITH_LIBEVENT "Build with libevent support" ON
- find_package(Qt4 QUIET COMPONENTS QtCore QtNetwork)
- CMAKE_DEPENDENT_OPTION(WITH_QT4 "Build with Qt4 support" ON
-                        "QT4_FOUND" OFF)
--find_package(Qt5 QUIET COMPONENTS Core Network)
--CMAKE_DEPENDENT_OPTION(WITH_QT5 "Build with Qt5 support" ON
--                       "Qt5_FOUND" OFF)
- if(${WITH_QT4} AND ${WITH_QT5} AND ${CMAKE_MAJOR_VERSION} LESS 3)
-   # cmake < 3.0.0 causes conflict when building both Qt4 and Qt5
-   set(WITH_QT4 OFF)
diff --git a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch b/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch
deleted file mode 100644
index 182eacc0e..000000000
--- a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From b8e254a2f4ba49412e541598c72159869a7770f8 Mon Sep 17 00:00:00 2001
-From: Cody P Schafer <dev@codyps.com>
-Date: Mon, 16 May 2016 15:21:10 -0400
-Subject: [PATCH] THRIFT-3828 In cmake avoid use of both quoted paths and
- SYSTEM with include_directories()
-
-This allows us to avoid issues where there are no paths to be added to
-the include path (include_directories() errors when given an empty
-string).
-
-Specifically, gcc-6 requires that libraries stop passing paths like
-'/usr/include' (or they will get libstdc++ build errors), so these paths
-will be empty more often in the future.
-
----
- lib/cpp/CMakeLists.txt      | 8 ++++----
- lib/cpp/test/CMakeLists.txt | 2 +-
- test/cpp/CMakeLists.txt     | 6 +++---
- tutorial/cpp/CMakeLists.txt | 2 +-
- 4 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/lib/cpp/CMakeLists.txt b/lib/cpp/CMakeLists.txt
-index 4c7caeb..a716ac3 100755
---- a/lib/cpp/CMakeLists.txt
-+++ b/lib/cpp/CMakeLists.txt
-@@ -24,7 +24,7 @@ else()
-   find_package(Boost 1.53.0 REQUIRED)
- endif()
- 
--include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
-+include_directories(${Boost_INCLUDE_DIRS})
- include_directories(src)
- 
- # SYSLIBS contains libraries that need to be linked to all lib targets
-@@ -104,7 +104,7 @@ if(OPENSSL_FOUND AND WITH_OPENSSL)
-        src/thrift/transport/TSSLSocket.cpp
-        src/thrift/transport/TSSLServerSocket.cpp
-     )
--    include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}")
-+    include_directories(${OPENSSL_INCLUDE_DIR})
-     list(APPEND SYSLIBS "${OPENSSL_LIBRARIES}")
- endif()
- 
-@@ -162,7 +162,7 @@ TARGET_LINK_LIBRARIES_THRIFT(thrift ${SYSLIBS})
- 
- if(WITH_LIBEVENT)
-     find_package(Libevent REQUIRED)  # Libevent comes with CMake support form upstream
--    include_directories(SYSTEM ${LIBEVENT_INCLUDE_DIRS})
-+    include_directories(${LIBEVENT_INCLUDE_DIRS})
- 
-     ADD_LIBRARY_THRIFT(thriftnb ${thriftcppnb_SOURCES})
-     TARGET_LINK_LIBRARIES_THRIFT(thriftnb ${SYSLIBS} ${LIBEVENT_LIBRARIES})
-@@ -171,7 +171,7 @@ endif()
- 
- if(WITH_ZLIB)
-     find_package(ZLIB REQUIRED)
--    include_directories(SYSTEM ${ZLIB_INCLUDE_DIRS})
-+    include_directories(${ZLIB_INCLUDE_DIRS})
- 
-     ADD_LIBRARY_THRIFT(thriftz ${thriftcppz_SOURCES})
-     TARGET_LINK_LIBRARIES_THRIFT(thriftz ${SYSLIBS} ${ZLIB_LIBRARIES})
-diff --git a/lib/cpp/test/CMakeLists.txt b/lib/cpp/test/CMakeLists.txt
-index 5de9fc4..c956c38 100644
---- a/lib/cpp/test/CMakeLists.txt
-+++ b/lib/cpp/test/CMakeLists.txt
-@@ -20,7 +20,7 @@
- # Find required packages
- set(Boost_USE_STATIC_LIBS ON) # Force the use of static boost test framework
- find_package(Boost 1.53.0 REQUIRED COMPONENTS chrono filesystem system thread unit_test_framework)
--include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
-+include_directories(${Boost_INCLUDE_DIRS})
- 
- #Make sure gen-cpp files can be included
- include_directories("${CMAKE_CURRENT_BINARY_DIR}")
-diff --git a/test/cpp/CMakeLists.txt b/test/cpp/CMakeLists.txt
-index 2d75f2e..b1409de 100755
---- a/test/cpp/CMakeLists.txt
-+++ b/test/cpp/CMakeLists.txt
-@@ -22,13 +22,13 @@ include(ThriftMacros)
- 
- set(Boost_USE_STATIC_LIBS ON)
- find_package(Boost 1.53.0 REQUIRED COMPONENTS program_options system filesystem)
--include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
-+include_directories(${Boost_INCLUDE_DIRS})
- 
- find_package(OpenSSL REQUIRED)
--include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}")
-+include_directories(${OPENSSL_INCLUDE_DIR})
- 
- find_package(Libevent REQUIRED)  # Libevent comes with CMake support from upstream
--include_directories(SYSTEM ${LIBEVENT_INCLUDE_DIRS})
-+include_directories(${LIBEVENT_INCLUDE_DIRS})
- 
- #Make sure gen-cpp files can be included
- include_directories("${CMAKE_CURRENT_BINARY_DIR}")
-diff --git a/tutorial/cpp/CMakeLists.txt b/tutorial/cpp/CMakeLists.txt
-index 2b0c143..5ecae17 100644
---- a/tutorial/cpp/CMakeLists.txt
-+++ b/tutorial/cpp/CMakeLists.txt
-@@ -18,7 +18,7 @@
- #
- 
- find_package(Boost 1.53.0 REQUIRED)
--include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
-+include_directories(${Boost_INCLUDE_DIRS})
- 
- #Make sure gen-cpp files can be included
- include_directories("${CMAKE_CURRENT_BINARY_DIR}")
diff --git a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch b/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch
deleted file mode 100644
index 37715c281..000000000
--- a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 7b05a74432f08ef34d0f8743dd6438ad012e3b5e Mon Sep 17 00:00:00 2001
-From: Cody P Schafer <dev@codyps.com>
-Date: Fri, 9 Sep 2016 15:50:26 -0400
-Subject: [PATCH] THRIFT-3831 in test/cpp explicitly use `signed char`
-
-`char`'s signed-ness is implimentation dependent, and in the case where
-`char` was not signed, we previously recieved errors like
-
-    thrift/0.9.3-r0/git/test/cpp/src/TestClient.cpp:404:15: error: narrowing conversion of '-127' from 'int' to 'char' inside { } [-Wnarrowing]
-
-(This example from gcc-6 on arm)
-
----
- test/cpp/src/TestClient.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/test/cpp/src/TestClient.cpp b/test/cpp/src/TestClient.cpp
-index 7c425a9..7145ebb 100644
---- a/test/cpp/src/TestClient.cpp
-+++ b/test/cpp/src/TestClient.cpp
-@@ -381,7 +381,7 @@ int main(int argc, char** argv) {
-      * BINARY TEST
-      */
-     printf("testBinary([-128..127]) = {");
--    const char bin_data[256]
-+    const signed char bin_data[256]
-         = {-128, -127, -126, -125, -124, -123, -122, -121, -120, -119, -118, -117, -116, -115, -114,
-            -113, -112, -111, -110, -109, -108, -107, -106, -105, -104, -103, -102, -101, -100, -99,
-            -98,  -97,  -96,  -95,  -94,  -93,  -92,  -91,  -90,  -89,  -88,  -87,  -86,  -85,  -84,
-@@ -402,7 +402,7 @@ int main(int argc, char** argv) {
-            127};
-     try {
-       string bin_result;
--      testClient.testBinary(bin_result, string(bin_data, 256));
-+      testClient.testBinary(bin_result, string(reinterpret_cast<const char *>(bin_data), 256));
-       if (bin_result.size() != 256) {
-         printf("}\n*** FAILED ***\n");
-         printf("invalid length: %lu\n", bin_result.size());
diff --git a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch b/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch
deleted file mode 100644
index 500cfab62..000000000
--- a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 5f2c7e50b99d72177250c44236c41b99bfc161b5 Mon Sep 17 00:00:00 2001
-From: Andrej Valek <andrej.valek@siemens.com>
-Date: Thu, 7 Jun 2018 15:21:06 +0200
-Subject: [PATCH 4/6] %% original patch:
- 0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch
-
----
- lib/cpp/src/thrift/transport/TSSLSocket.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.cpp b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-index 98c5326..3da9e45 100644
---- a/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-+++ b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-@@ -39,6 +39,7 @@
- #include <thrift/transport/PlatformSocket.h>
- 
- #define OPENSSL_VERSION_NO_THREAD_ID 0x10000000L
-+#define OPENSSL_VERSION_WITH_TLSv1_1_AND_TLSv1_2 0x10100000L
- 
- using namespace std;
- using namespace apache::thrift::concurrency;
-@@ -143,10 +144,15 @@ SSLContext::SSLContext(const SSLProtocol& protocol) {
-     ctx_ = SSL_CTX_new(SSLv3_method());
-   } else if (protocol == TLSv1_0) {
-     ctx_ = SSL_CTX_new(TLSv1_method());
-+#if (OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_WITH_TLSv1_1_AND_TLSv1_2)
-   } else if (protocol == TLSv1_1) {
-     ctx_ = SSL_CTX_new(TLSv1_1_method());
-   } else if (protocol == TLSv1_2) {
-     ctx_ = SSL_CTX_new(TLSv1_2_method());
-+#else
-+  //Support for this versions will end on 2016-12-31
-+  //https://www.openssl.org/about/releasestrat.html
-+#endif
-   } else {
-     /// UNKNOWN PROTOCOL!
-     throw TSSLException("SSL_CTX_new: Unknown protocol");
--- 
-2.19.0
-
diff --git a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch b/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch
deleted file mode 100644
index f4482b109..000000000
--- a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 81f36e7174097a1f1f3e7f94a97574b2ec68577f Mon Sep 17 00:00:00 2001
-From: "James E. King, III" <jim.king@simplivity.com>
-Date: Thu, 29 Sep 2016 15:04:09 -0400
-Subject: [PATCH] THRIFT-3878: fix interop with newer OpenSSL libraries
-
----
- lib/cpp/src/thrift/transport/TSSLSocket.cpp | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.cpp b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-index 3da9e45..0a3a124 100644
---- a/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-+++ b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-@@ -97,7 +97,12 @@ void initializeOpenSSL() {
-   SSL_library_init();
-   SSL_load_error_strings();
-   // static locking
-+  // newer versions of OpenSSL changed CRYPTO_num_locks - see THRIFT-3878
-+#ifdef CRYPTO_num_locks
-+  mutexes = boost::shared_array<Mutex>(new Mutex[CRYPTO_num_locks()]);
-+#else
-   mutexes = boost::shared_array<Mutex>(new Mutex[ ::CRYPTO_num_locks()]);
-+#endif
-   if (mutexes == NULL) {
-     throw TTransportException(TTransportException::INTERNAL_ERROR,
-                               "initializeOpenSSL() failed, "
diff --git a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch b/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch
deleted file mode 100644
index dfaa2fbda..000000000
--- a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 4cd49f470ca983369451d1141acc80fe1115cab4 Mon Sep 17 00:00:00 2001
-From: Nobuaki Sukegawa <nsuke@apache.org>
-Date: Sun, 13 Mar 2016 08:55:38 +0900
-Subject: [PATCH] THRIFT-3736 C++ library build fails if OpenSSL does not
-
- surrpot SSLv3
-
----
- lib/cpp/src/thrift/transport/TSSLSocket.cpp | 2 ++
- lib/cpp/test/SecurityTest.cpp               | 8 ++++++++
- 2 files changed, 10 insertions(+)
-
-diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.cpp b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-index 0a3a124..3e79354 100644
---- a/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-+++ b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-@@ -145,8 +145,10 @@ static char uppercase(char c);
- SSLContext::SSLContext(const SSLProtocol& protocol) {
-   if (protocol == SSLTLS) {
-     ctx_ = SSL_CTX_new(SSLv23_method());
-+#ifndef OPENSSL_NO_SSL3
-   } else if (protocol == SSLv3) {
-     ctx_ = SSL_CTX_new(SSLv3_method());
-+#endif
-   } else if (protocol == TLSv1_0) {
-     ctx_ = SSL_CTX_new(TLSv1_method());
- #if (OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_WITH_TLSv1_1_AND_TLSv1_2)
-diff --git a/lib/cpp/test/SecurityTest.cpp b/lib/cpp/test/SecurityTest.cpp
-index 213efd4..08110e7 100644
---- a/lib/cpp/test/SecurityTest.cpp
-+++ b/lib/cpp/test/SecurityTest.cpp
-@@ -239,6 +239,14 @@ BOOST_AUTO_TEST_CASE(ssl_security_matrix)
-                     continue;
-                 }
- 
-+#ifdef OPENSSL_NO_SSL3
-+                if (si == 2 || ci == 2)
-+                {
-+                    // Skip all SSLv3 cases - protocol not supported
-+                    continue;
-+                }
-+#endif
-+
-                 boost::mutex::scoped_lock lock(mMutex);
- 
-                 BOOST_TEST_MESSAGE(boost::format("TEST: Server = %1%, Client = %2%")
diff --git a/meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb b/meta-oe/recipes-connectivity/thrift/thrift_0.12.0.bb
similarity index 53%
rename from meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb
rename to meta-oe/recipes-connectivity/thrift/thrift_0.12.0.bb
index 7ab74026b..1c69951bf 100644
--- a/meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb
+++ b/meta-oe/recipes-connectivity/thrift/thrift_0.12.0.bb
@@ -3,22 +3,15 @@ DESCRIPTION =  "A software framework, for scalable cross-language services devel
 HOMEPAGE = "https://thrift.apache.org/"
 
 LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e4ed21f679b2aafef26eac82ab0c2cbf \
-                    file://NOTICE;md5=115f49498b66b494b0472658f2bfe80b"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=394465e125cffc0f133695ed43f14047 \
+                    file://NOTICE;md5=42748ae4646b45fbfa5182807321fb6c"
 
 DEPENDS = "thrift-native boost flex-native bison-native openssl"
 
-SRC_URI = "http://mirror.switch.ch/mirror/apache/dist/thrift/${PV}/${BPN}-${PV}.tar.gz \
-           file://0001-Forcibly-disable-check-for-Qt5.patch \
-           file://0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch \
-           file://0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch \
-           file://0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch \
-           file://0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch \
-           file://0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch \
-"
+SRC_URI = "https://www-eu.apache.org/dist/thrift//${PV}/${BPN}-${PV}.tar.gz"
 
-SRC_URI[md5sum] = "88d667a8ae870d5adeca8cb7d6795442"
-SRC_URI[sha256sum] = "b0740a070ac09adde04d43e852ce4c320564a292f26521c46b78e0641564969e"
+SRC_URI[md5sum] = "3deebbb4d1ca77dd9c9e009a1ea02183"
+SRC_URI[sha256sum] = "c336099532b765a6815173f62df0ed897528a9d551837d627c1f87fadad90428"
 
 BBCLASSEXTEND = "native nativesdk"
 
@@ -30,6 +23,7 @@ export BUILD_SYS
 export HOST_SYS
 
 EXTRA_OECMAKE = " \
+    -DENABLE_PRECOMPILED_HEADERS=OFF \
     -DBUILD_LIBRARIES=ON \
     -DBUILD_COMPILER=ON \
     -DBUILD_TESTING=OFF \
@@ -37,17 +31,19 @@ EXTRA_OECMAKE = " \
     -DBUILD_TUTORIALS=OFF \
     -DWITH_CPP=ON \
     -DWITH_JAVA=OFF \
+    -DWITH_PYTHON=OFF \
     -DWITH_STATIC_LIB=ON \
     -DWITH_SHARED_LIB=ON \
     -DWITH_OPENSSL=ON \
     -DWITH_QT4=OFF \
     -DWITH_QT5=OFF \
+    -DWITH_BOOST_FUNCTIONAL=OFF \
 "
 
-PACKAGECONFIG ??= "libevent glib python"
-PACKAGECONFIG[libevent] = "-DWITH_LIBEVENT=ON,-DWITH_LIBEVENT=OFF,libevent,"
-PACKAGECONFIG[python] = "-DWITH_PYTHON=ON,-DWITH_PYTHON=OFF,python,"
-PACKAGECONFIG[glib] = "-DWITH_C_GLIB=ON,-DWITH_C_GLIB=OFF,glib-2.0 ,"
+PACKAGECONFIG ??= "libevent glib boost-smart-ptr"
+PACKAGECONFIG[libevent] = "-DWITH_LIBEVENT=ON,-DWITH_LIBEVENT=OFF,libevent"
+PACKAGECONFIG[glib] = "-DWITH_C_GLIB=ON,-DWITH_C_GLIB=OFF,glib-2.0"
+PACKAGECONFIG[boost-smart-ptr] = "-DWITH_BOOST_SMART_PTR=ON,-DWITH_BOOST_SMART_PTR=OFF,boost"
 
 do_install_append () {
     ln -sf thrift ${D}/${bindir}/thrift-compiler
@@ -56,8 +52,11 @@ do_install_append () {
 LEAD_SONAME = "libthrift.so.${PV}"
 
 # thrift packages
-PACKAGE_BEFORE_PN = "${PN}-compiler lib${BPN}"
-FILES_lib${BPN} = "${libdir}/*.so.*"
+PACKAGE_BEFORE_PN = "${PN}-compiler lib${BPN} lib${BPN}z lib${BPN}nb lib${BPN}-c-glib"
+FILES_lib${BPN} = "${libdir}/libthrift.so.*"
+FILES_lib${BPN}z = "${libdir}/libthriftz.so.*"
+FILES_lib${BPN}nb = "${libdir}/libthriftnb.so.*"
+FILES_lib${BPN}-c-glib = "${libdir}/libthrift_c_glib.so.*"
 FILES_${PN}-compiler = "${bindir}/*"
 
 # The thrift packages just pulls in some default dependencies but is otherwise empty
-- 
2.11.0



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2019-04-16  6:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-16  6:42 [meta-oe][PATCH] thrift: update to 0.12.0 Pascal Bach

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.