package/boost: bump version to 1.77.0

* drop 0001-fenv.patch, issue [0] was marked fixed since boost 1.64 (commit [1])
* drop upstreamed patch 0002
* filesystem now depends on boost-atomic
* math broke the build without always lockfree atomic ints, disable for now. reported at [2].

[0] https://svn.boost.org/trac/boost/ticket/11756
[1] cb2a1c2488
[2] https://github.com/boostorg/math/issues/673

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
[Arnout: improve propagation of reverse dependencies:
 - also update comment of cc-tool;
 - add boost-filesystem to reason of gnuradio, libcpprestsdk, uhd;
 - move dependency to arch-deps of mongodb]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Michael Nosthoff 2021-08-19 15:12:44 +02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent b9ed05a03f
commit d39d8f7cee
16 changed files with 24 additions and 88 deletions

View File

@ -10,7 +10,7 @@ config BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
config BR2_PACKAGE_BITCOIN
bool "bitcoin"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread, boost-filesystem
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS # boost

View File

@ -1,37 +0,0 @@
Disable fenv.h in certain configurations
The boost build system does not properly test whether fenv.h is
available, and if it is, if it supports all the features used by
Boost. This causes build failures with uClibc (reported upstream at
https://svn.boost.org/trac/boost/ticket/11756) but also with glibc on
specific architectures that don't have a full fenv implementation,
such as NIOSII or Microblaze.
To address this, we forcefully disable the use of fenv support in the
affected configurations.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: add Microblaze/NIOSII exclusions.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/boost/config/platform/linux.hpp
===================================================================
--- a/boost/config/platform/linux.hpp
+++ b/boost/config/platform/linux.hpp
@@ -48,6 +48,16 @@
#endif
//
+// uClibc has no support for fenv.h, and also a few architectures
+// don't have fenv.h support at all (or incomplete support) even with
+// glibc.
+
+//
+#if defined(__UCLIBC__) || defined(__nios2__) || defined(__microblaze__)
+# define BOOST_NO_FENV_H
+#endif
+
+//
// If glibc is past version 2 then we definitely have
// gettimeofday, earlier versions may or may not have it:
//

View File

@ -1,42 +0,0 @@
From d2061419501bdd6761e9380ed5b91233f6c4e67e Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Fri, 21 May 2021 21:30:04 +0200
Subject: [PATCH] src/event.cpp: fix build on riscv32
riscv32 fails to build because __NR_futex is not defined on this
architecture:
libs/log/src/event.cpp: In member function 'void boost::log::v2_mt_posix::aux::futex_based_event::wait()':
libs/log/src/event.cpp:38:29: error: '__NR_futex' was not declared in this scope
38 | #define BOOST_LOG_SYS_FUTEX __NR_futex
| ^~~~~~~~~~
Fixes:
- http://autobuild.buildroot.org/results/8c8135fd7c0517c66c9b3975c494da6d7934cc1b
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Retrieved from:
https://github.com/boostorg/log/commit/d2061419501bdd6761e9380ed5b91233f6c4e67e]
---
src/event.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/libs/log/src/event.cpp b/libs/log/src/event.cpp
index 5485154d7..f576648c6 100644
--- a/libs/log/src/event.cpp
+++ b/libs/log/src/event.cpp
@@ -34,8 +34,13 @@
// Some Android NDKs (Google NDK and older Crystax.NET NDK versions) don't define SYS_futex
#if defined(SYS_futex)
#define BOOST_LOG_SYS_FUTEX SYS_futex
-#else
+#elif defined(__NR_futex)
#define BOOST_LOG_SYS_FUTEX __NR_futex
+// riscv32 defines a different system call instead of __NR_futex
+#elif defined(__NR_futex_time64)
+#define BOOST_LOG_SYS_FUTEX __NR_futex_time64
+#else
+#error "Unable to find a suitable futex"
#endif
#if defined(FUTEX_WAIT_PRIVATE)

View File

@ -163,6 +163,8 @@ comment "boost-fiber needs a toolchain not affected by GCC bug 64735"
config BR2_PACKAGE_BOOST_FILESYSTEM
bool "boost-filesystem"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
select BR2_PACKAGE_BOOST_ATOMIC
select BR2_PACKAGE_BOOST_SYSTEM
help
The Boost Filesystem Library provides portable facilities to
@ -252,6 +254,7 @@ comment "boost-log needs a toolchain not affected by GCC bug 64735"
config BR2_PACKAGE_BOOST_MATH
bool "boost-math"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
help
Boost.Math includes several contributions in the domain of
mathematics:

View File

@ -1,5 +1,5 @@
# From https://www.boost.org/users/history/version_1_74_0.html
sha256 953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb boost_1_75_0.tar.bz2
# From https://www.boost.org/users/history/version_1_77_0.html
sha256 fc9f85fc030e233142908241af7a846e60630aa7388de9a5fafb1f3a26840854 boost_1_77_0.tar.bz2
# Locally computed
sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt

View File

@ -4,7 +4,7 @@
#
################################################################################
BOOST_VERSION = 1.75.0
BOOST_VERSION = 1.77.0
BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2
BOOST_SITE = https://boostorg.jfrog.io/artifactory/main/release/$(BOOST_VERSION)/source
BOOST_INSTALL_STAGING = YES

View File

@ -18,8 +18,8 @@ config BR2_PACKAGE_BOTAN
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
select BR2_PACKAGE_BOOST_FILESYSTEM if BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_SYSTEM if BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_FILESYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
select BR2_PACKAGE_BOOST_SYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if BR2_PACKAGE_LIBOPENSSL
select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL
help

View File

@ -2,6 +2,7 @@ config BR2_PACKAGE_CC_TOOL
bool "cc-tool"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
depends on BR2_USE_WCHAR # boost-filesystem
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb
select BR2_PACKAGE_LIBUSB
@ -18,6 +19,7 @@ config BR2_PACKAGE_CC_TOOL
https://github.com/dashesy/cc-tool/
comment "cc-tool needs a toolchain w/ C++, threads, wchar, gcc >= 4.9 "
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9

View File

@ -14,7 +14,7 @@ config BR2_PACKAGE_GNURADIO
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_USE_MMU # use fork()
depends on BR2_USE_WCHAR # boost
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-filesystem
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_ATOMIC

View File

@ -4,6 +4,7 @@ config BR2_PACKAGE_I2PD
depends on BR2_TOOLCHAIN_HAS_ATOMIC
# pthread_condattr_setclock
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # boost
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
@ -28,10 +29,12 @@ config BR2_PACKAGE_I2PD
comment "i2pd needs a toolchain w/ C++, NPTL, wchar"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR
comment "i2pd needs exception_ptr"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735

View File

@ -3,7 +3,7 @@ config BR2_PACKAGE_LIBCPPRESTSDK
depends on BR2_ENABLE_LOCALE
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # boost
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-filesystem
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
select BR2_PACKAGE_BOOST

View File

@ -4,6 +4,7 @@ config BR2_PACKAGE_MONGODB_ARCH_SUPPORTS
# ARM needs LDREX/STREX, so ARMv6+
default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5
default y if BR2_aarch64 || BR2_x86_64
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
config BR2_PACKAGE_MONGODB
bool "mongodb"

View File

@ -3,6 +3,7 @@ config BR2_PACKAGE_OSM2PGSQL
depends on BR2_INSTALL_LIBSTDCPP # boost, fmt, libosmium, protozero
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11, libosmium, protozero
depends on BR2_TOOLCHAIN_HAS_THREADS # boost, libosmium
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
depends on BR2_USE_WCHAR # boost, fmt, libosmium
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_SYSTEM
@ -22,5 +23,6 @@ config BR2_PACKAGE_OSM2PGSQL
https://osm2pgsql.org
comment "osm2pgsql needs a toolchain w/ C++, wchar, threads, gcc >= 4.7"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -4,6 +4,7 @@ config BR2_PACKAGE_PULSEVIEW
# libsigrok->libglib2:
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
depends on BR2_USE_MMU
depends on BR2_INSTALL_LIBSTDCPP
# libsigrok->libzip
@ -32,6 +33,7 @@ config BR2_PACKAGE_PULSEVIEW
comment "pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 4.9, host gcc >= 4.9"
depends on BR2_USE_MMU
depends on BR2_PACKAGE_QT5
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \
|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
|| BR2_STATIC_LIBS || !BR2_ENABLE_LOCALE || \

View File

@ -6,6 +6,7 @@ config BR2_PACKAGE_SUPERTUX
depends on BR2_PACKAGE_XORG7 # libglew, SDL2 OpenGL (GLX)
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 # C++14
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
depends on BR2_USE_MMU # SDL2 OpenGL (GLX)
depends on !BR2_STATIC_LIBS # SDL2
depends on BR2_USE_WCHAR # Boost
@ -36,6 +37,7 @@ comment "supertux needs OpenGL and a toolchain w/ C++, gcc >= 6, NPTL, dynamic l
depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
depends on BR2_PACKAGE_XORG7
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_HAS_LIBGL || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_6 || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
BR2_STATIC_LIBS || !BR2_USE_WCHAR

View File

@ -11,7 +11,7 @@ config BR2_PACKAGE_UHD
bool "uhd"
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-filesystem
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_USE_MMU # use fork()