From: Fabrice Fontaine Date: Sun, 14 Jun 2020 18:46:47 +0000 (+0200) Subject: package/boost: drop first patch X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b509bddbc63d958de4bfd6cb80205268b42efca4;p=buildroot.git package/boost: drop first patch First patch is not needed since version 1.67.0 and https://github.com/boostorg/locale/commit/90dd8146fbb01fd0a1b0473ad5a5d28644b65e87 Indeed, since this bump, the patch is wrongly patching virtual string_type format(double value,size_t &code_points) const instead of: virtual string_type format(int64_t value,size_t &code_points) const Signed-off-by: Fabrice Fontaine Signed-off-by: Yann E. MORIN --- diff --git a/package/boost/0001-fix-ambiguous-format-call-on-64bit-builds.patch b/package/boost/0001-fix-ambiguous-format-call-on-64bit-builds.patch deleted file mode 100644 index e8972fd726..0000000000 --- a/package/boost/0001-fix-ambiguous-format-call-on-64bit-builds.patch +++ /dev/null @@ -1,27 +0,0 @@ -boost: fix ambiguous format call on 64-bit builds - -Fixes problem: - -libs/locale/src/icu/formatter.cpp: In member function -'virtual std::basic_string<_CharT, std::char_traits<_CharT>, std::allocator<_CharT> > boost::locale::impl_icu::number_format::format(boost::int64_t, size_t&) const': -libs/locale/src/icu/formatter.cpp:61: error: call of overloaded 'format(boost::int64_t&, icu_49::UnicodeString&)' is ambiguous -/ec/include/unicode/numfmt.h:317: note: candidates are: icu_49::UnicodeString& icu_49::NumberFormat::format(double, icu_49::UnicodeString&) const -/ec/include/unicode/numfmt.h:330: note: icu_49::UnicodeString& icu_49::NumberFormat::format(int32_t, icu_49::UnicodeString&) const -/ec/include/unicode/numfmt.h:343: note: icu_49::UnicodeString& icu_49::NumberFormat::format(int64_t, icu_49::UnicodeString&) const - -Signed-off-by: Thomas De Schampheleire -Backported-from: https://svn.boost.org/trac/boost/ticket/6851 - - -diff -ruN boost_1_49_0.orig/libs/locale/src/icu/formatter.cpp boost_1_49_0/libs/locale/src/icu/formatter.cpp ---- boost_1_49_0.orig/libs/locale/src/icu/formatter.cpp 2011-07-12 14:57:36.000000000 +0100 -+++ boost_1_49_0/libs/locale/src/icu/formatter.cpp 2012-05-01 14:27:54.000000000 +0100 -@@ -58,7 +58,7 @@ - virtual string_type format(int64_t value,size_t &code_points) const - { - icu::UnicodeString tmp; -- icu_fmt_->format(value,tmp); -+ icu_fmt_->format(::int64_t(value),tmp); - code_points=tmp.countChar32(); - return cvt_.std(tmp); - } diff --git a/package/boost/0001-fix-uclibc-eventfd.patch b/package/boost/0001-fix-uclibc-eventfd.patch new file mode 100644 index 0000000000..1b7eb8723c --- /dev/null +++ b/package/boost/0001-fix-uclibc-eventfd.patch @@ -0,0 +1,38 @@ +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 + +Index: b/boost/asio/detail/impl/eventfd_select_interrupter.ipp +=================================================================== +--- a/boost/asio/detail/impl/eventfd_select_interrupter.ipp ++++ b/boost/asio/detail/impl/eventfd_select_interrupter.ipp +@@ -23,7 +23,7 @@ + #include + #include + #include +-#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 ++#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) + # include + #else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 + # include +@@ -46,7 +46,7 @@ + + void eventfd_select_interrupter::open_descriptors() + { +-#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 ++#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) + write_descriptor_ = read_descriptor_ = syscall(__NR_eventfd, 0); + if (read_descriptor_ != -1) + { diff --git a/package/boost/0002-fenv.patch b/package/boost/0002-fenv.patch new file mode 100644 index 0000000000..95c769aea2 --- /dev/null +++ b/package/boost/0002-fenv.patch @@ -0,0 +1,37 @@ +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 +[Thomas: add Microblaze/NIOSII exclusions.] +Signed-off-by: Thomas Petazzoni + +Index: b/boost/config/platform/linux.hpp +=================================================================== +--- a/boost/config/platform/linux.hpp ++++ b/boost/config/platform/linux.hpp +@@ -47,6 +47,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: + // diff --git a/package/boost/0002-fix-uclibc-eventfd.patch b/package/boost/0002-fix-uclibc-eventfd.patch deleted file mode 100644 index 1b7eb8723c..0000000000 --- a/package/boost/0002-fix-uclibc-eventfd.patch +++ /dev/null @@ -1,38 +0,0 @@ -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 - -Index: b/boost/asio/detail/impl/eventfd_select_interrupter.ipp -=================================================================== ---- a/boost/asio/detail/impl/eventfd_select_interrupter.ipp -+++ b/boost/asio/detail/impl/eventfd_select_interrupter.ipp -@@ -23,7 +23,7 @@ - #include - #include - #include --#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 -+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) - # include - #else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 - # include -@@ -46,7 +46,7 @@ - - void eventfd_select_interrupter::open_descriptors() - { --#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 -+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) - write_descriptor_ = read_descriptor_ = syscall(__NR_eventfd, 0); - if (read_descriptor_ != -1) - { diff --git a/package/boost/0003-fenv.patch b/package/boost/0003-fenv.patch deleted file mode 100644 index 95c769aea2..0000000000 --- a/package/boost/0003-fenv.patch +++ /dev/null @@ -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 -[Thomas: add Microblaze/NIOSII exclusions.] -Signed-off-by: Thomas Petazzoni - -Index: b/boost/config/platform/linux.hpp -=================================================================== ---- a/boost/config/platform/linux.hpp -+++ b/boost/config/platform/linux.hpp -@@ -47,6 +47,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: - //