mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
boost183, add new version (#9289)
This commit is contained in:
241
dev-libs/boost/boost1.83-1.83.0.recipe
Normal file
241
dev-libs/boost/boost1.83-1.83.0.recipe
Normal file
@@ -0,0 +1,241 @@
|
||||
SUMMARY="A set of libraries for the C++ programming language"
|
||||
DESCRIPTION="Boost is a set of libraries for the C++ programming language \
|
||||
that provide support for tasks and structures such as linear algebra, \
|
||||
pseudorandom number generation, multithreading, image processing, regular \
|
||||
expressions, and unit testing. It contains over eighty individual libraries."
|
||||
HOMEPAGE="https://www.boost.org/"
|
||||
SOURCE_URI="https://boostorg.jfrog.io/artifactory/main/release/$portVersion/source/boost_${portVersion//./_}.tar.bz2"
|
||||
CHECKSUM_SHA256="6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e"
|
||||
REVISION="1"
|
||||
LICENSE="Boost v1.0"
|
||||
COPYRIGHT="1993-2002 Christopher Seiwald and Perforce Software, Inc.
|
||||
1998-2018 Beman Dawes
|
||||
2001 David Turner
|
||||
2001-2004 David Abrahams
|
||||
2002-2019 Rene Rivera
|
||||
2003-2015 Vladimir Prus"
|
||||
SOURCE_DIR="boost_${portVersion//./_}"
|
||||
PATCHES="boost1.83-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
libVersion="$portVersion compat >= 1.83.0"
|
||||
|
||||
PROVIDES="
|
||||
boost1.83$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_atomic$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_chrono$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_container$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_context$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_contract$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_coroutine$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_date_time$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_fiber$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_filesystem$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_graph$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_iostreams$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_json$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_locale$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_log_setup$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_log$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_math_c99$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_math_c99f$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_math_tr1$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_math_tr1f$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_nowide$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_prg_exec_monitor$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_program_options$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_random$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_regex$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_serialization$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_stacktrace_basic$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_stacktrace_noop$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_system$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_thread$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_timer$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_type_erasure$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_unit_test_framework$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_url$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_wave$secondaryArchSuffix = $libVersion
|
||||
lib:libboost_wserialization$secondaryArchSuffix = $libVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libbz2$secondaryArchSuffix
|
||||
lib:libiconv$secondaryArchSuffix
|
||||
lib:libicudata$secondaryArchSuffix
|
||||
lib:libicui18n$secondaryArchSuffix
|
||||
lib:libicuuc$secondaryArchSuffix
|
||||
lib:liblzma$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
lib:libzstd$secondaryArchSuffix
|
||||
"
|
||||
|
||||
# List of devel entries matching an actual library (for use in prepareInstalledDevelLibs)
|
||||
# Boost also provides header-only libraries (because templates)
|
||||
devel_libs="
|
||||
devel:libboost_atomic$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_chrono$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_container$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_context$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_contract$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_coroutine$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_date_time$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_exception$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_fiber$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_filesystem$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_graph$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_iostreams$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_json$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_locale$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_log_setup$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_log$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_nowide$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_prg_exec_monitor$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_program_options$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_random$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_regex$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_serialization$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_stacktrace_basic$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_stacktrace_noop$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_system$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_test_exec_monitor$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_thread$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_timer$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_type_erasure$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_unit_test_framework$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_url$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_wave$secondaryArchSuffix = $libVersion
|
||||
devel:libboost_wserialization$secondaryArchSuffix = $libVersion
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
boost1.83${secondaryArchSuffix}_devel = $portVersion
|
||||
$devel_libs
|
||||
devel:libboost_config$secondaryArchSuffix = $libVersion
|
||||
"
|
||||
REQUIRES_devel="
|
||||
boost1.83$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
CONFLICTS_devel="
|
||||
boost169${secondaryArchSuffix}_devel
|
||||
boost170${secondaryArchSuffix}_devel
|
||||
"
|
||||
|
||||
PROVIDES_docs="
|
||||
boost1.83${secondaryArchSuffix}_docs
|
||||
"
|
||||
REQUIRES_docs="
|
||||
boost1.83${secondaryArchSuffix}_devel == $portVersion base
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libbz2$secondaryArchSuffix
|
||||
devel:libiconv$secondaryArchSuffix
|
||||
devel:libicudata$secondaryArchSuffix >= 73
|
||||
devel:libicui18n$secondaryArchSuffix >= 73
|
||||
devel:libicuuc$secondaryArchSuffix >= 73
|
||||
devel:liblzma$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
devel:libzstd$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:addr2line$secondaryArchSuffix
|
||||
cmd:find
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:sed
|
||||
cmd:which
|
||||
"
|
||||
|
||||
defineDebugInfoPackage boost1.83$secondaryArchSuffix \
|
||||
"$libDir"/libboost_atomic.so.$portVersion \
|
||||
"$libDir"/libboost_chrono.so.$portVersion \
|
||||
"$libDir"/libboost_container.so.$portVersion \
|
||||
"$libDir"/libboost_context.so.$portVersion \
|
||||
"$libDir"/libboost_contract.so.$portVersion \
|
||||
"$libDir"/libboost_coroutine.so.$portVersion \
|
||||
"$libDir"/libboost_date_time.so.$portVersion \
|
||||
"$libDir"/libboost_fiber.so.$portVersion \
|
||||
"$libDir"/libboost_filesystem.so.$portVersion \
|
||||
"$libDir"/libboost_graph.so.$portVersion \
|
||||
"$libDir"/libboost_iostreams.so.$portVersion \
|
||||
"$libDir"/libboost_json.so.$portVersion \
|
||||
"$libDir"/libboost_locale.so.$portVersion \
|
||||
"$libDir"/libboost_log_setup.so.$portVersion \
|
||||
"$libDir"/libboost_log.so.$portVersion \
|
||||
"$libDir"/libboost_nowide.so.$portVersion \
|
||||
"$libDir"/libboost_prg_exec_monitor.so.$portVersion \
|
||||
"$libDir"/libboost_program_options.so.$portVersion \
|
||||
"$libDir"/libboost_random.so.$portVersion \
|
||||
"$libDir"/libboost_regex.so.$portVersion \
|
||||
"$libDir"/libboost_serialization.so.$portVersion \
|
||||
"$libDir"/libboost_stacktrace_basic.so.$portVersion \
|
||||
"$libDir"/libboost_stacktrace_noop.so.$portVersion \
|
||||
"$libDir"/libboost_system.so.$portVersion \
|
||||
"$libDir"/libboost_thread.so.$portVersion \
|
||||
"$libDir"/libboost_timer.so.$portVersion \
|
||||
"$libDir"/libboost_type_erasure.so.$portVersion \
|
||||
"$libDir"/libboost_unit_test_framework.so.$portVersion \
|
||||
"$libDir"/libboost_url.so.$portVersion \
|
||||
"$libDir"/libboost_wave.so.$portVersion \
|
||||
"$libDir"/libboost_wserialization.so.$portVersion
|
||||
|
||||
BUILD()
|
||||
{
|
||||
./bootstrap.sh \
|
||||
--with-icu \
|
||||
--prefix=$prefix \
|
||||
--exec-prefix=$binDir \
|
||||
--libdir=$libDir \
|
||||
--includedir=$includeDir
|
||||
}
|
||||
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
./b2 -q $jobArgs \
|
||||
--without-graph_parallel \
|
||||
--without-mpi \
|
||||
--without-python \
|
||||
--enable-parallel-mark \
|
||||
--enable-threads=posix \
|
||||
--enable-thread-local-alloc \
|
||||
toolset=gcc \
|
||||
pch=off \
|
||||
inlining=on \
|
||||
threading=multi \
|
||||
variant=release \
|
||||
link=shared \
|
||||
runtime-link=shared \
|
||||
install
|
||||
|
||||
# install documentation
|
||||
mkdir -p $developDocDir
|
||||
cp -r doc/html/* $developDocDir
|
||||
|
||||
prepareInstalledDevelLibs `echo "$devel_libs" | sed -n \
|
||||
-e "s/devel:\(.*\)$secondaryArchSuffix =.*/\1/p"`
|
||||
|
||||
# Correct boost cmake static files
|
||||
# https://github.com/boostorg/boost_install/issues/49
|
||||
for i in $(find $libDir/cmake -name "libboost_*-variant-static.cmake"); do
|
||||
echo "Replacing LIBDIR in $i";
|
||||
sed -i "s%\${_BOOST_LIBDIR}%$prefix/$relativeDevelopLibDir%g" $i;
|
||||
done;
|
||||
|
||||
packageEntries docs \
|
||||
$developDocDir
|
||||
|
||||
packageEntries devel \
|
||||
$developDir \
|
||||
$libDir/cmake
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
cd status
|
||||
../b2 $jobArgs
|
||||
}
|
||||
508
dev-libs/boost/patches/boost1.83-1.83.0.patchset
Normal file
508
dev-libs/boost/patches/boost1.83-1.83.0.patchset
Normal file
@@ -0,0 +1,508 @@
|
||||
From 97dabf9341b465511d4683c485adab2b5805a7fa Mon Sep 17 00:00:00 2001
|
||||
From: Adrien Destugues <pulkomandy@gmail.com>
|
||||
Date: Sat, 6 Aug 2016 22:27:19 +0200
|
||||
Subject: Import changes from 1.55.0: buildtools
|
||||
|
||||
|
||||
diff --git a/tools/build/src/engine/jam.h b/tools/build/src/engine/jam.h
|
||||
index e1b76cb..4e2003e 100644
|
||||
--- a/tools/build/src/engine/jam.h
|
||||
+++ b/tools/build/src/engine/jam.h
|
||||
@@ -163,6 +163,11 @@
|
||||
#define OS_BEOS
|
||||
#define NO_VFORK
|
||||
#endif
|
||||
+#ifdef __HAIKU__
|
||||
+ #define unix
|
||||
+ #define OSMINOR "OS=HAIKU"
|
||||
+ #define OS_HAIKU
|
||||
+#endif
|
||||
#ifdef __bsdi__
|
||||
#define OSMINOR "OS=BSDI"
|
||||
#define OS_BSDI
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 23b0197a83705097236b96dc0568f9db26536e80 Mon Sep 17 00:00:00 2001
|
||||
From: Adrien Destugues <pulkomandy@gmail.com>
|
||||
Date: Sat, 6 Aug 2016 22:27:41 +0200
|
||||
Subject: Import changes from 1.55.0: sourcecode
|
||||
|
||||
|
||||
diff --git a/boost/thread/detail/platform.hpp b/boost/thread/detail/platform.hpp
|
||||
index 172a601..c706e40 100644
|
||||
--- a/boost/thread/detail/platform.hpp
|
||||
+++ b/boost/thread/detail/platform.hpp
|
||||
@@ -34,7 +34,7 @@
|
||||
#if ! defined BOOST_THREAD_WIN32
|
||||
# define BOOST_THREAD_WIN32
|
||||
#endif
|
||||
-#elif defined(__BEOS__)
|
||||
+#elif defined(__BEOS__) || defined(__HAIKU__)
|
||||
# define BOOST_THREAD_BEOS
|
||||
#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
|
||||
# define BOOST_THREAD_MACOS
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From cbc578bb780bf4ac4f099d419b94756e1fff963f Mon Sep 17 00:00:00 2001
|
||||
From: Begasus <begasus@gmail.com>
|
||||
Date: Thu, 24 Aug 2023 15:59:20 +0200
|
||||
Subject: Fix macro seeing , as args on gcc8
|
||||
|
||||
|
||||
diff --git a/boost/json/impl/array.hpp b/boost/json/impl/array.hpp
|
||||
index b5e75ff..393568c 100644
|
||||
--- a/boost/json/impl/array.hpp
|
||||
+++ b/boost/json/impl/array.hpp
|
||||
@@ -142,9 +142,9 @@ array(
|
||||
std::move(sp),
|
||||
iter_cat<InputIt>{})
|
||||
{
|
||||
- BOOST_STATIC_ASSERT(
|
||||
+ BOOST_STATIC_ASSERT((
|
||||
std::is_constructible<value,
|
||||
- decltype(*first)>::value);
|
||||
+ decltype(*first)>::value));
|
||||
}
|
||||
|
||||
//----------------------------------------------------------
|
||||
@@ -161,9 +161,9 @@ insert(
|
||||
InputIt first, InputIt last) ->
|
||||
iterator
|
||||
{
|
||||
- BOOST_STATIC_ASSERT(
|
||||
+ BOOST_STATIC_ASSERT((
|
||||
std::is_constructible<value,
|
||||
- decltype(*first)>::value);
|
||||
+ decltype(*first)>::value));
|
||||
return insert(pos, first, last,
|
||||
iter_cat<InputIt>{});
|
||||
}
|
||||
diff --git a/boost/json/storage_ptr.hpp b/boost/json/storage_ptr.hpp
|
||||
index 085498b..9f886bd 100644
|
||||
--- a/boost/json/storage_ptr.hpp
|
||||
+++ b/boost/json/storage_ptr.hpp
|
||||
@@ -493,9 +493,9 @@ make_shared_resource(Args&&... args)
|
||||
{
|
||||
// If this generates an error, it means that
|
||||
// `T` is not a memory resource.
|
||||
- BOOST_STATIC_ASSERT(
|
||||
+ BOOST_STATIC_ASSERT((
|
||||
std::is_base_of<
|
||||
- memory_resource, U>::value);
|
||||
+ memory_resource, U>::value));
|
||||
return storage_ptr(new
|
||||
detail::shared_resource_impl<U>(
|
||||
std::forward<Args>(args)...));
|
||||
diff --git a/boost/json/value_from.hpp b/boost/json/value_from.hpp
|
||||
index 2166987..3c5ebae 100644
|
||||
--- a/boost/json/value_from.hpp
|
||||
+++ b/boost/json/value_from.hpp
|
||||
@@ -84,8 +84,8 @@ value_from(
|
||||
value& jv)
|
||||
{
|
||||
using bare_T = detail::remove_cvref<T>;
|
||||
- BOOST_STATIC_ASSERT(detail::conversion_round_trips<
|
||||
- Context, bare_T, detail::value_from_conversion>::value);
|
||||
+ BOOST_STATIC_ASSERT((detail::conversion_round_trips<
|
||||
+ Context, bare_T, detail::value_from_conversion>::value));
|
||||
using cat = detail::value_from_category<Context, bare_T>;
|
||||
detail::value_from_impl( cat(), jv, std::forward<T>(t), ctx );
|
||||
}
|
||||
diff --git a/boost/json/value_to.hpp b/boost/json/value_to.hpp
|
||||
index 8787193..4c5215e 100644
|
||||
--- a/boost/json/value_to.hpp
|
||||
+++ b/boost/json/value_to.hpp
|
||||
@@ -90,8 +90,8 @@ value_to( value const& jv, Context const& ctx )
|
||||
{
|
||||
BOOST_STATIC_ASSERT(! std::is_reference<T>::value);
|
||||
using bare_T = detail::remove_cvref<T>;
|
||||
- BOOST_STATIC_ASSERT(detail::conversion_round_trips<
|
||||
- Context, bare_T, detail::value_to_conversion>::value);
|
||||
+ BOOST_STATIC_ASSERT((detail::conversion_round_trips<
|
||||
+ Context, bare_T, detail::value_to_conversion>::value));
|
||||
using cat = detail::value_to_category<Context, bare_T>;
|
||||
return detail::value_to_impl( cat(), value_to_tag<bare_T>(), jv, ctx );
|
||||
}
|
||||
@@ -224,8 +224,8 @@ try_value_to( value const& jv, Context const& ctx )
|
||||
{
|
||||
BOOST_STATIC_ASSERT(! std::is_reference<T>::value);
|
||||
using bare_T = detail::remove_cvref<T>;
|
||||
- BOOST_STATIC_ASSERT(detail::conversion_round_trips<
|
||||
- Context, bare_T, detail::value_to_conversion>::value);
|
||||
+ BOOST_STATIC_ASSERT((detail::conversion_round_trips<
|
||||
+ Context, bare_T, detail::value_to_conversion>::value));
|
||||
using cat = detail::value_to_category<Context, bare_T>;
|
||||
return detail::value_to_impl(
|
||||
cat(), try_value_to_tag<bare_T>(), jv, ctx );
|
||||
diff --git a/boost/url/detail/any_params_iter.hpp b/boost/url/detail/any_params_iter.hpp
|
||||
index 0adeec2..0ae1995 100644
|
||||
--- a/boost/url/detail/any_params_iter.hpp
|
||||
+++ b/boost/url/detail/any_params_iter.hpp
|
||||
@@ -172,11 +172,11 @@ struct params_iter
|
||||
: any_params_iter
|
||||
, private params_iter_base
|
||||
{
|
||||
- BOOST_STATIC_ASSERT(
|
||||
+ BOOST_STATIC_ASSERT((
|
||||
std::is_convertible<
|
||||
typename std::iterator_traits<
|
||||
FwdIt>::reference,
|
||||
- param_view>::value);
|
||||
+ param_view>::value));
|
||||
|
||||
params_iter(
|
||||
FwdIt first,
|
||||
@@ -281,11 +281,11 @@ struct params_encoded_iter
|
||||
: any_params_iter
|
||||
, private params_encoded_iter_base
|
||||
{
|
||||
- BOOST_STATIC_ASSERT(
|
||||
+ BOOST_STATIC_ASSERT((
|
||||
std::is_convertible<
|
||||
typename std::iterator_traits<
|
||||
FwdIt>::reference,
|
||||
- param_view>::value);
|
||||
+ param_view>::value));
|
||||
|
||||
params_encoded_iter(
|
||||
FwdIt first,
|
||||
diff --git a/boost/url/detail/any_segments_iter.hpp b/boost/url/detail/any_segments_iter.hpp
|
||||
index 25cc808..2cd9545 100644
|
||||
--- a/boost/url/detail/any_segments_iter.hpp
|
||||
+++ b/boost/url/detail/any_segments_iter.hpp
|
||||
@@ -120,11 +120,11 @@ struct segments_iter
|
||||
: any_segments_iter
|
||||
, segments_iter_base
|
||||
{
|
||||
- BOOST_STATIC_ASSERT(
|
||||
+ BOOST_STATIC_ASSERT((
|
||||
std::is_convertible<
|
||||
typename std::iterator_traits<
|
||||
FwdIt>::reference,
|
||||
- core::string_view>::value);
|
||||
+ core::string_view>::value));
|
||||
|
||||
segments_iter(
|
||||
FwdIt first,
|
||||
@@ -234,11 +234,11 @@ struct segments_encoded_iter
|
||||
: public any_segments_iter
|
||||
, public segments_encoded_iter_base
|
||||
{
|
||||
- BOOST_STATIC_ASSERT(
|
||||
+ BOOST_STATIC_ASSERT((
|
||||
std::is_convertible<
|
||||
typename std::iterator_traits<
|
||||
FwdIt>::reference,
|
||||
- core::string_view>::value);
|
||||
+ core::string_view>::value));
|
||||
|
||||
segments_encoded_iter(
|
||||
FwdIt first,
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 778a508ca1e2a59866d2daa1a0d4dc4cc979c3fd Mon Sep 17 00:00:00 2001
|
||||
From: Begasus <begasus@gmail.com>
|
||||
Date: Fri, 25 Aug 2023 10:15:17 +0200
|
||||
Subject: Add auto_index binary to tools
|
||||
|
||||
|
||||
diff --git a/tools/Jamfile.v2 b/tools/Jamfile.v2
|
||||
index e1391c7..a580eb1 100644
|
||||
--- a/tools/Jamfile.v2
|
||||
+++ b/tools/Jamfile.v2
|
||||
@@ -18,6 +18,7 @@ project
|
||||
;
|
||||
|
||||
TOOLS =
|
||||
+ auto_index/build//auto_index
|
||||
bcp//bcp
|
||||
inspect/build//inspect
|
||||
quickbook//quickbook
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 0ab4c028cec023e08a0d6a27b0630ec4c8ade94f Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Sat, 14 Oct 2017 11:47:09 +0200
|
||||
Subject: Haiku needs bsd and _BSD_SOURCE.
|
||||
|
||||
|
||||
diff --git a/tools/build/src/engine/build.sh b/tools/build/src/engine/build.sh
|
||||
index b2036f4..64c2cf0 100755
|
||||
--- a/tools/build/src/engine/build.sh
|
||||
+++ b/tools/build/src/engine/build.sh
|
||||
@@ -325,6 +325,22 @@ case "${B2_TOOLSET}" in
|
||||
CXX_VERSION_OPT=${CXX_VERSION_OPT:---version}
|
||||
B2_CXXFLAGS_RELEASE="-O2 -s"
|
||||
B2_CXXFLAGS_DEBUG="-O0 -g"
|
||||
+
|
||||
+ CXX=${CXX:=g++}
|
||||
+ # Check whether it's MinGW GCC, which has Windows headers and none of POSIX ones.
|
||||
+ machine=$(${CXX} -dumpmachine 2>/dev/null)
|
||||
+ if [ $? -ne 0 ]; then
|
||||
+ echo "B2_TOOLSET is gcc, but the 'gcc' command cannot be executed."
|
||||
+ echo "Make sure 'gcc' is in PATH, or use a different toolset."
|
||||
+ exit 1
|
||||
+ fi
|
||||
+ case $machine in
|
||||
+ *haiku*)
|
||||
+ B2_CXX="${CXX} -x c++ -std=c++17"
|
||||
+ B2_CXXFLAGS_RELEASE="-O2 -s -D_DEFAULT_SOURCE -lbsd"
|
||||
+ B2_CXXFLAGS_DEBUG="-O0 -g"
|
||||
+ ;;
|
||||
+ esac
|
||||
;;
|
||||
|
||||
intel-*)
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From aa75860664811c0b1b55c40b822ae483b6117193 Mon Sep 17 00:00:00 2001
|
||||
From: Begasus <begasus@gmail.com>
|
||||
Date: Sun, 27 Aug 2023 19:13:24 +0200
|
||||
Subject: Fix missing functions to build libboost_locale
|
||||
|
||||
|
||||
diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp
|
||||
index 04244c5..e22ac4f 100644
|
||||
--- a/boost/config/platform/haiku.hpp
|
||||
+++ b/boost/config/platform/haiku.hpp
|
||||
@@ -16,11 +16,6 @@
|
||||
# define BOOST_HAS_THREADS
|
||||
#endif
|
||||
|
||||
-#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
||||
-#define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||
-#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
-#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
-
|
||||
//
|
||||
// thread API's not auto detected:
|
||||
//
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 96f306b42e35cca96d0042ab2c3d9dd5b41bd0ab Mon Sep 17 00:00:00 2001
|
||||
From: Begasus <begasus@gmail.com>
|
||||
Date: Mon, 28 Aug 2023 18:08:06 +0200
|
||||
Subject: Fix building the tests
|
||||
|
||||
|
||||
diff --git a/libs/uuid/test/Jamfile.v2 b/libs/uuid/test/Jamfile.v2
|
||||
index c74658d..926e0f7 100644
|
||||
--- a/libs/uuid/test/Jamfile.v2
|
||||
+++ b/libs/uuid/test/Jamfile.v2
|
||||
@@ -65,12 +65,12 @@ rule test_all
|
||||
all_rules += [ compile compile/decl_header.cpp :
|
||||
<define>"BOOST_UUID_TEST_HEADER=uuid.hpp"
|
||||
<define>"BOOST_UUID_NO_TYPE_TRAITS"
|
||||
- <dependency>../include/boost/uuid/uuid.hpp :
|
||||
+ <dependency>$(BOOST_ROOT)/boost/uuid/uuid.hpp :
|
||||
compile_uuid_no_type_traits ] ;
|
||||
all_rules += [ compile compile/decl_header.cpp :
|
||||
<define>"BOOST_UUID_TEST_HEADER=uuid.hpp"
|
||||
<define>"BOOST_UUID_NO_SIMD"
|
||||
- <dependency>../include/boost/uuid/uuid.hpp :
|
||||
+ <dependency>$(BOOST_ROOT)/boost/uuid/uuid.hpp :
|
||||
compile_uuid_no_simd ] ;
|
||||
|
||||
# ECHO All rules: $(all_rules) ;
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 058e489f6190684c910330e722119f4ab59e5b42 Mon Sep 17 00:00:00 2001
|
||||
From: Begasus <begasus@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 20:18:37 +0200
|
||||
Subject: Haiku currently doesn't have cfsetspeed
|
||||
|
||||
|
||||
diff --git a/boost/asio/impl/serial_port_base.ipp b/boost/asio/impl/serial_port_base.ipp
|
||||
index 4e786d4..fa1f973 100644
|
||||
--- a/boost/asio/impl/serial_port_base.ipp
|
||||
+++ b/boost/asio/impl/serial_port_base.ipp
|
||||
@@ -114,7 +114,8 @@ BOOST_ASIO_SYNC_OP_VOID serial_port_base::baud_rate::store(
|
||||
ec = boost::asio::error::invalid_argument;
|
||||
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
||||
}
|
||||
-# if defined(_BSD_SOURCE) || defined(_DEFAULT_SOURCE)
|
||||
+# if defined(_BSD_SOURCE) || defined(_DEFAULT_SOURCE) && !defined(__HAIKU__)
|
||||
+// TODO re-enable this for Haiku once cfsetspeed is implemented (#18220)
|
||||
::cfsetspeed(&storage, baud);
|
||||
# else
|
||||
::cfsetispeed(&storage, baud);
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 77378ebfb9042c8718081a4b9680f8cb2274f30c Mon Sep 17 00:00:00 2001
|
||||
From: Peter Dimov <pdimov@gmail.com>
|
||||
Date: Sun, 3 Sep 2023 17:55:50 +0300
|
||||
Subject: Support fn.contains(f) where f is a function. Fixes #46.
|
||||
|
||||
|
||||
diff --git a/boost/function/function_base.hpp b/boost/function/function_base.hpp
|
||||
index 5693e11..00c7ce8 100644
|
||||
--- a/boost/function/function_base.hpp
|
||||
+++ b/boost/function/function_base.hpp
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <boost/type_traits/alignment_of.hpp>
|
||||
#include <boost/type_traits/enable_if.hpp>
|
||||
#include <boost/type_traits/integral_constant.hpp>
|
||||
+#include <boost/type_traits/is_function.hpp>
|
||||
#include <boost/assert.hpp>
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/config/workaround.hpp>
|
||||
@@ -652,7 +653,8 @@ public:
|
||||
}
|
||||
|
||||
template<typename F>
|
||||
- bool contains(const F& f) const
|
||||
+ typename boost::enable_if_< !boost::is_function<F>::value, bool >::type
|
||||
+ contains(const F& f) const
|
||||
{
|
||||
if (const F* fp = this->template target<F>())
|
||||
{
|
||||
@@ -662,6 +664,19 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
+ template<typename Fn>
|
||||
+ typename boost::enable_if_< boost::is_function<Fn>::value, bool >::type
|
||||
+ contains(Fn& f) const
|
||||
+ {
|
||||
+ typedef Fn* F;
|
||||
+ if (const F* fp = this->template target<F>())
|
||||
+ {
|
||||
+ return function_equal(*fp, &f);
|
||||
+ } else {
|
||||
+ return false;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
#if defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3
|
||||
// GCC 3.3 and newer cannot copy with the global operator==, due to
|
||||
// problems with instantiation of function return types before it
|
||||
diff --git a/libs/function/test/Jamfile.v2 b/libs/function/test/Jamfile.v2
|
||||
index 15d401e..7be87a1 100644
|
||||
--- a/libs/function/test/Jamfile.v2
|
||||
+++ b/libs/function/test/Jamfile.v2
|
||||
@@ -90,3 +90,6 @@ run fn_eq_bind_test.cpp ;
|
||||
# /usr/include/c++/4.4/bits/shared_ptr.h:146: error: cannot use typeid with -fno-rtti
|
||||
run contains_test.cpp : : : <rtti>off <toolset>gcc-4.4,<cxxstd>0x:<build>no : contains_test_no_rtti ;
|
||||
run contains2_test.cpp : : : <rtti>off <toolset>gcc-4.4,<cxxstd>0x:<build>no : contains2_test_no_rtti ;
|
||||
+
|
||||
+run contains3_test.cpp ;
|
||||
+run contains3_test.cpp : : : <rtti>off <toolset>gcc-4.4,<cxxstd>0x:<build>no : contains3_test_no_rtti ;
|
||||
diff --git a/libs/function/test/contains3_test.cpp b/libs/function/test/contains3_test.cpp
|
||||
new file mode 100644
|
||||
index 0000000..e6130bb
|
||||
--- /dev/null
|
||||
+++ b/libs/function/test/contains3_test.cpp
|
||||
@@ -0,0 +1,33 @@
|
||||
+// Copyright 2023 Peter Dimov
|
||||
+// Distributed under the Boost Software License, Version 1.0.
|
||||
+// https://www.boost.org/LICENSE_1_0.txt
|
||||
+
|
||||
+#include <boost/function.hpp>
|
||||
+#include <boost/core/lightweight_test.hpp>
|
||||
+
|
||||
+static int f()
|
||||
+{
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+static int g()
|
||||
+{
|
||||
+ return 2;
|
||||
+}
|
||||
+
|
||||
+int main()
|
||||
+{
|
||||
+ {
|
||||
+ boost::function<int()> fn;
|
||||
+ BOOST_TEST( !fn.contains( f ) );
|
||||
+ BOOST_TEST( !fn.contains( g ) );
|
||||
+ }
|
||||
+
|
||||
+ {
|
||||
+ boost::function<int()> fn( f );
|
||||
+ BOOST_TEST( fn.contains( f ) );
|
||||
+ BOOST_TEST( !fn.contains( g ) );
|
||||
+ }
|
||||
+
|
||||
+ return boost::report_errors();
|
||||
+}
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 8c2bf25b8987a3c82ce4a3bd1ba9e405afd1f8c6 Mon Sep 17 00:00:00 2001
|
||||
From: Conrad Poelman <cpgithub@stellarscience.com>
|
||||
Date: Mon, 3 Aug 2020 18:35:35 -0400
|
||||
Subject: Remove deprecated inheritance from std::iterator
|
||||
|
||||
|
||||
diff --git a/boost/numeric/ublas/detail/iterator.hpp b/boost/numeric/ublas/detail/iterator.hpp
|
||||
index 1723a30..3f5cae8 100644
|
||||
--- a/boost/numeric/ublas/detail/iterator.hpp
|
||||
+++ b/boost/numeric/ublas/detail/iterator.hpp
|
||||
@@ -107,8 +107,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
* via the post increment operator.
|
||||
*/
|
||||
template<class IC, class I, class T>
|
||||
- struct forward_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
+ struct forward_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef std::ptrdiff_t difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
|
||||
@@ -145,9 +149,13 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
* via the post increment and post decrement operator.
|
||||
*/
|
||||
template<class IC, class I, class T>
|
||||
- struct bidirectional_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
- typedef I derived_iterator_type;
|
||||
+ struct forward_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef std::ptrdiff_t difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
+ typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
|
||||
// Arithmetic
|
||||
@@ -200,8 +208,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
*/
|
||||
template<class IC, class I, class T, class D = std::ptrdiff_t>
|
||||
// ISSUE the default for D seems rather dangerous as it can easily be (silently) incorrect
|
||||
- struct random_access_iterator_base:
|
||||
- public std::iterator<IC, T> {
|
||||
+ struct forward_iterator_base {
|
||||
+ typedef IC iterator_category;
|
||||
+ typedef T value_type;
|
||||
+ typedef std::ptrdiff_t difference_type;
|
||||
+ typedef T* pointer;
|
||||
+ typedef T& reference;
|
||||
typedef I derived_iterator_type;
|
||||
typedef T derived_value_type;
|
||||
typedef D derived_difference_type;
|
||||
--
|
||||
2.37.3
|
||||
|
||||
Reference in New Issue
Block a user