From e688f1c7646cfebb06e3dbd5add4e91d0ffba8af Mon Sep 17 00:00:00 2001 From: Carlos Miguel Ferreira Date: Sun, 13 Dec 2020 21:30:36 +0000 Subject: [PATCH 1/3] boost: Updates package to version 1.75 This commit updates boost to version 1.75 This release brings three new packages * JSON parsing, serialization, and DOM in C++11, from Vinnie Falco and Krystian Stasiowski. [1] * LEAF: A lightweight error-handling library for C++11, from Emil Dotchevski. [2] * PFR: Basic reflection without macro or boilerplate code for user defined types, from Antony Polukhin. [3] More info about Boost 1.75.0 can be found at the usual place [4]. [1]: https://www.boost.org/libs/json/ [2]: https://www.boost.org/libs/leaf/ [3]: https://www.boost.org/libs/pfr/ [4]: https://www.boost.org/users/history/version_1_75_0.html Signed-off-by: Carlos Miguel Ferreira --- libs/boost/Makefile | 12 ++++++------ libs/boost/patches/001-uclibc-asio.patch | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/libs/boost/Makefile b/libs/boost/Makefile index 465062a9f..affce18bb 100644 --- a/libs/boost/Makefile +++ b/libs/boost/Makefile @@ -11,13 +11,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=boost -PKG_VERSION:=1.74.0 -PKG_SOURCE_VERSION:=1_74_0 -PKG_RELEASE:=6 +PKG_VERSION:=1.75.0 +PKG_SOURCE_VERSION:=1_75_0 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2 PKG_SOURCE_URL:=@SF/$(PKG_NAME)/$(PKG_NAME)/$(PKG_VERSION) https://dl.bintray.com/boostorg/release/$(PKG_VERSION)/source/ -PKG_HASH:=83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1 +PKG_HASH:=953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb PKG_MAINTAINER:=Carlos M. Ferreira PKG_LICENSE:=BSL-1.0 @@ -42,7 +42,7 @@ define Package/boost/Default endef define Package/boost/description -This package provides the Boost v1.74.0 libraries. +This package provides the Boost v1.75.0 libraries. Boost is a set of free, peer-reviewed, portable C++ source libraries. This package provides the following run-time libraries: @@ -76,7 +76,7 @@ This package provides the following run-time libraries: - wave There are many more header-only libraries supported by Boost. -See more at http://www.boost.org/doc/libs/1_74_0/ +See more at http://www.boost.org/doc/libs/1_75_0/ endef PKG_BUILD_DEPENDS:=boost/host diff --git a/libs/boost/patches/001-uclibc-asio.patch b/libs/boost/patches/001-uclibc-asio.patch index 07efd1305..b32ad9399 100644 --- a/libs/boost/patches/001-uclibc-asio.patch +++ b/libs/boost/patches/001-uclibc-asio.patch @@ -29,14 +29,14 @@ index 38d4b2a61..e16cc8b00 100644 #include #include #include --#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 -+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 +-#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) ++#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 && !defined(__UCLIBC__) # include --#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 -+#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 +-#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) ++#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 && !defined(__UCLIBC__) # include --#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 -+#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 +-#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) ++#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 && !defined(__UCLIBC__) #include #include #include @@ -44,16 +44,16 @@ index 38d4b2a61..e16cc8b00 100644 void eventfd_select_interrupter::open_descriptors() { --#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 -+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 +-#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) ++#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 && !defined(__UCLIBC__) write_descriptor_ = read_descriptor_ = syscall(__NR_eventfd, 0); if (read_descriptor_ != -1) { ::fcntl(read_descriptor_, F_SETFL, O_NONBLOCK); ::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC); } --#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 -+#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 +-#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) ++#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 && !defined(__UCLIBC__) # if defined(EFD_CLOEXEC) && defined(EFD_NONBLOCK) write_descriptor_ = read_descriptor_ = ::eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK); @@ -61,8 +61,8 @@ index 38d4b2a61..e16cc8b00 100644 ::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC); } } --#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 -+#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 +-#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) ++#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 && !defined(__UCLIBC__) if (read_descriptor_ == -1) { From a3c6d8badc02abecb3ba951145533b437f59b05f Mon Sep 17 00:00:00 2001 From: Carlos Miguel Ferreira Date: Mon, 14 Dec 2020 00:10:59 +0000 Subject: [PATCH 2/3] boost: Removes unecessary patch Fixed in upstream Signed-off-by: Carlos Miguel Ferreira --- libs/boost/patches/001-uclibc-asio.patch | 68 ------------------------ 1 file changed, 68 deletions(-) delete mode 100644 libs/boost/patches/001-uclibc-asio.patch diff --git a/libs/boost/patches/001-uclibc-asio.patch b/libs/boost/patches/001-uclibc-asio.patch deleted file mode 100644 index b32ad9399..000000000 --- a/libs/boost/patches/001-uclibc-asio.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 95d82acc57bb7d8bae431f7a6ce0707aac3ef33f Mon Sep 17 00:00:00 2001 -From: Rosen Penev -Date: Thu, 5 Sep 2019 19:41:13 -0700 -Subject: [PATCH] Use eventfd() function with uClibc - -The Boost eventfd code either directly makes the eventfd system call -using __NR_eventfd (when __GLIBC_MINOR is less than 8), or otherwise -uses the eventfd() function provided by the C library. - -However, since uClibc pretends to be glibc 2.2, the Boost eventfd code -directly uses the system call. While it works fine on most -architectures, it doesn't on ARC since __NR_eventfd is not defined on -this architecture. However, eventfd() is properly implemented. - -So, this patch adjusts the logic used by Boost to consider uClibc as a -C library providing the eventfd() function. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Rosen Penev ---- - a/boost/asio/detail/impl/eventfd_select_interrupter.ipp | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/boost/asio/detail/impl/eventfd_select_interrupter.ipp b/boost/asio/detail/impl/eventfd_select_interrupter.ipp -index 38d4b2a61..e16cc8b00 100644 ---- a/boost/asio/detail/impl/eventfd_select_interrupter.ipp -+++ b/boost/asio/detail/impl/eventfd_select_interrupter.ipp -@@ -23,11 +23,11 @@ - #include - #include - #include --#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) -+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 && !defined(__UCLIBC__) - # include --#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) -+#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 && !defined(__UCLIBC__) - # include --#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) -+#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 && !defined(__UCLIBC__) - #include - #include - #include -@@ -46,14 +46,14 @@ eventfd_select_interrupter::eventfd_select_interrupter() - - void eventfd_select_interrupter::open_descriptors() - { --#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) -+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 && !defined(__UCLIBC__) - write_descriptor_ = read_descriptor_ = syscall(__NR_eventfd, 0); - if (read_descriptor_ != -1) - { - ::fcntl(read_descriptor_, F_SETFL, O_NONBLOCK); - ::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC); - } --#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) -+#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 && !defined(__UCLIBC__) - # if defined(EFD_CLOEXEC) && defined(EFD_NONBLOCK) - write_descriptor_ = read_descriptor_ = - ::eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK); -@@ -70,7 +70,7 @@ void eventfd_select_interrupter::open_descriptors() - ::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC); - } - } --#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) -+#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 && !defined(__UCLIBC__) - - if (read_descriptor_ == -1) - { From 6b79c46bb4cda0c492b9b09defeeed3aaa4f9c68 Mon Sep 17 00:00:00 2001 From: Carlos Miguel Ferreira Date: Mon, 14 Dec 2020 22:18:46 +0000 Subject: [PATCH 3/3] boost: Adds json library json library can work as header-only, but adding for the cases where it is necessary. Signed-off-by: Carlos Miguel Ferreira --- libs/boost/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libs/boost/Makefile b/libs/boost/Makefile index affce18bb..3daf5594a 100644 --- a/libs/boost/Makefile +++ b/libs/boost/Makefile @@ -59,6 +59,7 @@ This package provides the following run-time libraries: - graph - - graph-parallel - iostreams + - json - locale - log - math @@ -344,6 +345,7 @@ $(eval $(call DefineBoostLibrary,fiber,coroutine filesystem,,!boost-fiber-exclud $(eval $(call DefineBoostLibrary,filesystem,system)) $(eval $(call DefineBoostLibrary,graph,regex)) $(eval $(call DefineBoostLibrary,iostreams,,,,zlib liblzma libbz2 libzstd)) +$(eval $(call DefineBoostLibrary,json,container)) $(eval $(call DefineBoostLibrary,locale,system chrono thread,,,icu)) $(eval $(call DefineBoostLibrary,log,system chrono date_time thread filesystem regex)) $(eval $(call DefineBoostLibrary,math))