From 05771578163420a7284ca454f99a233c5dd81153 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Mon, 10 Jun 2019 12:26:10 -0700 Subject: [PATCH 1/5] libfolly: Update to 2019.06.10.00 Partially restore uclibc patch. Some parts were upstreamed while others were not. Fixes compilation without ChaCha20 support in OpenSSL 1.1 and above. Depend on libunwind conditionally. libunwind is not supported on all targets. Depending on it unconditionally makes libfolly and dependent packages unavailable on those targets. Added missing Maintainer. Several Makefile rearrangements for consistency. Signed-off-by: Rosen Penev --- libs/libfolly/Makefile | 34 ++++++++++--------- .../libfolly/patches/102-uclibc-patches.patch | 23 +++++++++++++ 2 files changed, 41 insertions(+), 16 deletions(-) create mode 100644 libs/libfolly/patches/102-uclibc-patches.patch diff --git a/libs/libfolly/Makefile b/libs/libfolly/Makefile index 73df0725f..8f4cc9dc6 100644 --- a/libs/libfolly/Makefile +++ b/libs/libfolly/Makefile @@ -1,40 +1,32 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libfolly -PKG_VERSION:=2019.05.27.00 +PKG_VERSION:=2019.06.10.00 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/facebook/folly/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=7535937e4b4bde14e6c854dc55a5fe9f290ccf1918621f20678ebecd0c1239e1 +PKG_HASH:=afecd68815a83865d95a3a6b861abe8096beefae45c89566e0d510279b631b57 PKG_BUILD_DIR:=$(BUILD_DIR)/folly-$(PKG_VERSION) +PKG_MAINTAINER:=Amol Bhave PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE +PKG_BUILD_PARALLEL:=1 +CMAKE_INSTALL:=1 + include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/cmake.mk -PKG_BUILD_PARALLEL:=1 -CMAKE_OPTIONS:= \ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ - -DCXX_STD=gnu++14 \ - -DFOLLY_HAVE_UNALIGNED_ACCESS_EXITCODE=OFF \ - -DFOLLY_HAVE_LINUX_VDSO_EXITCODE=OFF \ - -DFOLLY_HAVE_WCHAR_SUPPORT_EXITCODE=OFF \ - -DHAVE_VSNPRINTF_ERRORS_EXITCODE=OFF \ - -DFOLLY_HAVE_XSI_STRERROR_R_EXITCODE=0 \ - -DBUILD_SHARED_LIBS=ON -CMAKE_INSTALL:=1 - define Package/libfolly SECTION:=libs CATEGORY:=Libraries TITLE:=An open-source C++ library developed and used at Facebook. URL:=https://github.com/facebook/folly DEPENDS:=+boost +boost-context +boost-date_time +boost-filesystem +boost-program_options +boost-regex \ - +libopenssl +libdouble-conversion +libevent2 +glog +libsodium +libaio +libunwind +libatomic \ - +libbz2 +zlib +libzstd +liblzma +liblz4 + +libopenssl +libdouble-conversion +libevent2 +glog +libsodium +libaio +libatomic \ + +libbz2 +zlib +libzstd +liblzma +liblz4 +PACKAGE_libunwind:libunwind endef define Package/libfolly/description @@ -45,6 +37,16 @@ define Package/libfolly/description This package includes the shared library. endef +CMAKE_OPTIONS += \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + -DCXX_STD=gnu++14 \ + -DFOLLY_HAVE_UNALIGNED_ACCESS_EXITCODE=OFF \ + -DFOLLY_HAVE_LINUX_VDSO_EXITCODE=OFF \ + -DFOLLY_HAVE_WCHAR_SUPPORT_EXITCODE=OFF \ + -DHAVE_VSNPRINTF_ERRORS_EXITCODE=OFF \ + -DFOLLY_HAVE_XSI_STRERROR_R_EXITCODE=0 \ + -DBUILD_SHARED_LIBS=ON + define Package/libfolly/install $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfolly*.so* $(1)/usr/lib/ diff --git a/libs/libfolly/patches/102-uclibc-patches.patch b/libs/libfolly/patches/102-uclibc-patches.patch new file mode 100644 index 000000000..7a68fb974 --- /dev/null +++ b/libs/libfolly/patches/102-uclibc-patches.patch @@ -0,0 +1,23 @@ +--- a/folly/CachelinePadded.h ++++ b/folly/CachelinePadded.h +@@ -35,10 +35,6 @@ namespace folly { + */ + template + class CachelinePadded { +- static_assert( +- alignof(T) <= max_align_v, +- "CachelinePadded does not support over-aligned types."); +- + public: + template + explicit CachelinePadded(Args&&... args) +--- a/folly/external/farmhash/farmhash.cpp ++++ b/folly/external/farmhash/farmhash.cpp +@@ -181,6 +181,7 @@ + + #undef bswap_32 + #undef bswap_64 ++#undef _BYTESWAP_H + #include + + #endif From c5256240b6f922035ebe33e3de1264d0dcfa931a Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Mon, 10 Jun 2019 12:36:28 -0700 Subject: [PATCH 2/5] libfizz: Update to 2019.06.10.00 Fixes compilation when ChaCha20 is missing from OpenSSL 1.1 Added Maintainer. Rearranged Makefile for consistency. Signed-off-by: Rosen Penev --- libs/libfizz/Makefile | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/libs/libfizz/Makefile b/libs/libfizz/Makefile index 3f5681fdc..1052cac32 100644 --- a/libs/libfizz/Makefile +++ b/libs/libfizz/Makefile @@ -1,27 +1,25 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libfizz -PKG_VERSION:=2019.05.27.00 +PKG_VERSION:=2019.06.10.00 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/facebookincubator/fizz/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=d3f5325717a2af3684a41889d45b19e975cfff177faffdfaab8cb63df4e0318c +PKG_HASH:=29a9b2d020b70b83bf27fa6332c07c4ae9cca3b82c5ac9214220a815d7f1fe7f PKG_BUILD_DIR:=$(BUILD_DIR)/fizz-$(PKG_VERSION) +PKG_MAINTAINER:=Amol Bhave PKG_LICENSE:=BSD PKG_LICENSE_FILES:=LICENSE -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/cmake.mk - PKG_BUILD_PARALLEL:=1 CMAKE_SOURCE_SUBDIR:=fizz -CMAKE_OPTIONS:= \ - -DBUILD_EXAMPLES=OFF \ - -DBUILD_SHARED_LIBS=ON CMAKE_INSTALL:=1 +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + define Package/libfizz SECTION:=libs CATEGORY:=Libraries @@ -35,6 +33,10 @@ define Package/libfizz/description Fizz currently supports TLS 1.3 drafts 28, 26 (both wire-compatible with the final specification), and 23. endef +CMAKE_OPTIONS += \ + -DBUILD_EXAMPLES=OFF \ + -DBUILD_SHARED_LIBS=ON + define Package/libfizz/install $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfizz.so* $(1)/usr/lib/ From feb2d68d50c91dc654ad4693dc218f968f3bb65e Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Mon, 10 Jun 2019 12:39:53 -0700 Subject: [PATCH 3/5] libwangle: Update to 2019.06.10.00 Added Maintainer. Rearranged Makefile for consistency. Signed-off-by: Rosen Penev --- libs/libwangle/Makefile | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/libs/libwangle/Makefile b/libs/libwangle/Makefile index ace8e2c87..96ab3f2cc 100644 --- a/libs/libwangle/Makefile +++ b/libs/libwangle/Makefile @@ -1,26 +1,25 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libwangle -PKG_VERSION:=2019.05.27.00 +PKG_VERSION:=2019.06.10.00 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/facebook/wangle/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=935d94658133279d98de27ab7c78801c87f16414b8eec43766798acc5b14f549 +PKG_HASH:=3721c003aa5fce889699b0301705eced7a0ea4ab2e7e12af543dab3493ba8be9 PKG_BUILD_DIR:=$(BUILD_DIR)/wangle-$(PKG_VERSION) +PKG_MAINTAINER:=Amol Bhave PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/cmake.mk - PKG_BUILD_PARALLEL:=1 CMAKE_SOURCE_SUBDIR:=wangle -CMAKE_OPTIONS:= \ - -DBUILD_SHARED_LIBS=ON CMAKE_INSTALL:=1 +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + define Package/libwangle SECTION:=libs CATEGORY:=Libraries @@ -33,6 +32,9 @@ define Package/libwangle/description This package includes the shared library. endef +CMAKE_OPTIONS:= \ + -DBUILD_SHARED_LIBS=ON + define Package/libwangle/install $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/libwangle.so* $(1)/usr/lib/ From e101e6bcde7f8b9003f03fe4e97fc37b04b54fca Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Mon, 10 Jun 2019 12:49:02 -0700 Subject: [PATCH 4/5] fbthrift: Update to 2019.06.10.00 Rearranged Makefile for consistency between packages. Added -Dlib_only to save some time. Signed-off-by: Rosen Penev --- libs/fbthrift/Makefile | 47 ++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/libs/fbthrift/Makefile b/libs/fbthrift/Makefile index 5bd4e1965..7abdd4c97 100644 --- a/libs/fbthrift/Makefile +++ b/libs/fbthrift/Makefile @@ -1,49 +1,56 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fbthrift -PKG_VERSION:=2019.05.27.00 +PKG_VERSION:=2019.06.10.00 PKG_RELEASE:=1 -PKG_MAINTAINER:=Amol Bhave PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/facebook/fbthrift/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=7c56dae532e60844520cef4ce03abd4911323fe340fdee0cc3a6a3e8adb09e3f +PKG_HASH:=0897c66564a2742b24dd6ae77812b42987c3493944d1d5d40d4005d71deb7cb5 +PKG_MAINTAINER:=Amol Bhave +PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE -PKG_BUILD_DEPENDS:=fbthrift/host HOST_BUILD_DEPENDS:=boost/host libmstch/host +PKG_BUILD_DEPENDS:=fbthrift/host + +HOST_BUILD_PREFIX:=$(STAGING_DIR_HOST) +HOST_BUILD_PARALLEL:=1 +PKG_BUILD_PARALLEL:=1 +CMAKE_INSTALL:=1 include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/cmake.mk -HOST_BUILD_PREFIX:=$(STAGING_DIR_HOST) - -PKG_BUILD_PARALLEL:=1 -HOST_BUILD_PARALLEL:=1 -CMAKE_OPTIONS:= \ - -DBoost_NO_BOOST_CMAKE=ON \ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ - -DBUILD_SHARED_LIBS=ON -CMAKE_HOST_OPTIONS:= \ - -DBoost_NO_BOOST_CMAKE=ON \ - -Dcompiler_only=ON -HOST_LDFLAGS:=-Wl,-rpath=$(STAGING_DIR_HOST)/lib -CMAKE_INSTALL:=1 - define Package/fbthrift SECTION:=libs CATEGORY:=Libraries TITLE:=Facebook's branch of Apache Thrift, including a new C++ server. - DEPENDS:=+libwangle +libfmt +libmstch +librsocket-cpp +@boost-host-build-filesystem \ - +@boost-host-build-thread +@boost-host-build-system + DEPENDS:=+libwangle +libfmt +libmstch +librsocket-cpp \ + +@boost-host-build-chrono +@boost-host-build-date_time +@boost-host-build-atomic \ + +@boost-host-build-thread +@boost-host-build-system +@boost-host-build-filesystem endef define Package/fbthrift/description Facebook's branch of Apache Thrift, including a new C++ server. endef +CMAKE_HOST_OPTIONS += \ + -DBoost_NO_BOOST_CMAKE=ON \ + -Dcompiler_only=ON \ + -DCMAKE_SKIP_RPATH=FALSE \ + -DCMAKE_INSTALL_RPATH="${STAGING_DIR_HOST}/lib" \ + +CMAKE_OPTIONS += \ + -DBoost_NO_BOOST_CMAKE=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + -Dlib_only=ON \ + -DTHRIFT1="$(STAGING_DIR_HOST)/bin/thrift1" \ + -DTHRIFT_COMPILER_INCLUDE="$(STAGING_DIR_HOST)/include/" + define Package/fbthrift/install $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/ From 197837f0e28e85dffb620d74e402f3a44b37bba7 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Tue, 11 Jun 2019 13:29:23 -0700 Subject: [PATCH 5/5] librsocket-cpp: Update to 2019-06-11 Fix compilation with newer GCC Added Maintainer. Reorganized Makefile for consistency. Signed-off-by: Rosen Penev --- libs/librsocket-cpp/Makefile | 26 ++++++++++--------- ...0-fix-momit-leaf-frame-pointer-error.patch | 16 ------------ libs/librsocket-cpp/patches/102-gcc9.patch | 11 ++++++++ 3 files changed, 25 insertions(+), 28 deletions(-) delete mode 100644 libs/librsocket-cpp/patches/100-fix-momit-leaf-frame-pointer-error.patch create mode 100644 libs/librsocket-cpp/patches/102-gcc9.patch diff --git a/libs/librsocket-cpp/Makefile b/libs/librsocket-cpp/Makefile index 775ca72fc..e34b93a18 100644 --- a/libs/librsocket-cpp/Makefile +++ b/libs/librsocket-cpp/Makefile @@ -1,30 +1,26 @@ include $(TOPDIR)/rules.mk PKG_NAME:=librsocket-cpp -PKG_SOURCE_DATE:=2019-05-08 -PKG_SOURCE_VERSION:=ddc80392b17a3fadcbea09f82ea5f6936f0fd459 +PKG_SOURCE_DATE:=2019-06-11 +PKG_SOURCE_VERSION:=741f817fd519e0610cddb5783aae812355e19435 PKG_RELEASE:=1 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_DATE).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/rsocket/rsocket-cpp/tar.gz/$(PKG_SOURCE_VERSION)? -PKG_HASH:=b9b5177be57f6cd23ff3592845b11209167f679b683cb73acbf351e7a3550a76 +PKG_HASH:=56886deba0f3594b4a430b1f515c90a138800b8e387440e6b8bf728d660f457a PKG_BUILD_DIR:=$(BUILD_DIR)/rsocket-cpp-$(PKG_SOURCE_VERSION) +PKG_MAINTAINER:=Amol Bhave PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/cmake.mk - PKG_BUILD_PARALLEL:=1 CMAKE_BINARY_SUBDIR:=builddir -CMAKE_OPTIONS:= \ - -DBUILD_BENCHMARKS=OFF \ - -DBUILD_EXAMPLES=OFF \ - -DBUILD_TESTS=OFF \ - -DBUILD_SHARED_LIBS=ON CMAKE_INSTALL:=1 +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + define Package/librsocket-cpp SECTION:=libs CATEGORY:=Libraries @@ -47,6 +43,12 @@ define Package/libyarpl/description C++ implementation of reactive functional programming including both Observable and Flowable types. endef +CMAKE_OPTIONS += \ + -DBUILD_BENCHMARKS=OFF \ + -DBUILD_EXAMPLES=OFF \ + -DBUILD_TESTS=OFF \ + -DBUILD_SHARED_LIBS=ON + define Package/librsocket-cpp/install $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/libReactiveSocket.so* $(1)/usr/lib/ diff --git a/libs/librsocket-cpp/patches/100-fix-momit-leaf-frame-pointer-error.patch b/libs/librsocket-cpp/patches/100-fix-momit-leaf-frame-pointer-error.patch deleted file mode 100644 index 24dfe4b2a..000000000 --- a/libs/librsocket-cpp/patches/100-fix-momit-leaf-frame-pointer-error.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/yarpl/CMakeLists.txt b/yarpl/CMakeLists.txt ---- a/yarpl/CMakeLists.txt Fri May 03 07:45:18 2019 -0700 -+++ b/yarpl/CMakeLists.txt Tue May 07 02:03:23 2019 -0700 -@@ -21,7 +21,11 @@ - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-unused-parameter") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-weak-vtables -Wno-padded") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -momit-leaf-frame-pointer") -+ include(CheckCXXCompilerFlag) -+ CHECK_CXX_COMPILER_FLAG("-momit-leaf-frame-pointer" HAVE_OMIT_LEAF_FRAME_POINTER) -+ if(HAVE_OMIT_LEAF_FRAME_POINTER) -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -momit-leaf-frame-pointer") -+ endif() - endif() - - if(YARPL_WRAP_SHARED_IN_LOCK) diff --git a/libs/librsocket-cpp/patches/102-gcc9.patch b/libs/librsocket-cpp/patches/102-gcc9.patch new file mode 100644 index 000000000..1a5910a4b --- /dev/null +++ b/libs/librsocket-cpp/patches/102-gcc9.patch @@ -0,0 +1,11 @@ +--- a/yarpl/Refcounted.h ++++ b/yarpl/Refcounted.h +@@ -42,7 +42,7 @@ std::shared_ptr atomic_exchange( + auto refptr = ar->ref.lock(); + auto old = std::move(*refptr); + *refptr = std::move(r); +- return std::move(old); ++ return old; + } + + template