mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
boost1.89, add version 1.89.0 (#12983)
This commit is contained in:
259
dev-libs/boost/boost1.89-1.89.0.recipe
Normal file
259
dev-libs/boost/boost1.89-1.89.0.recipe
Normal file
@@ -0,0 +1,259 @@
|
||||
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://archives.boost.io/release/$portVersion/source/boost_${portVersion//./_}.tar.bz2"
|
||||
CHECKSUM_SHA256="85a33fa22621b4f314f8e85e1a5e2a9363d22e4f4992925d4bb3bc631b5a0c7a"
|
||||
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.89-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
libVersion="$portVersion"
|
||||
libVersionCompat="$libVersion compat >= $libVersion"
|
||||
|
||||
PROVIDES="
|
||||
boost1.89$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_atomic$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_charconv$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_chrono$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_container$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_context$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_contract$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_coroutine$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_date_time$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_fiber$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_filesystem$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_graph$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_iostreams$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_json$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_locale$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_log_setup$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_log$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_math_c99$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_math_c99f$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_math_tr1$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_math_tr1f$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_nowide$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_prg_exec_monitor$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_process$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_program_options$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_random$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_regex$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_serialization$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_stacktrace_basic$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_stacktrace_noop$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_thread$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_timer$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_type_erasure$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_unit_test_framework$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_url$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_wave$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libboost_wserialization$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libbz2$secondaryArchSuffix
|
||||
lib:libiconv$secondaryArchSuffix
|
||||
lib:libicudata$secondaryArchSuffix
|
||||
lib:libicui18n$secondaryArchSuffix
|
||||
lib:libicuuc$secondaryArchSuffix
|
||||
lib:liblzma$secondaryArchSuffix
|
||||
lib:libquadmath$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 = $libVersionCompat
|
||||
devel:libboost_charconv$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_chrono$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_container$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_context$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_contract$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_coroutine$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_date_time$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_exception$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_fiber$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_filesystem$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_graph$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_iostreams$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_json$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_locale$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_log_setup$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_log$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_nowide$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_prg_exec_monitor$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_process$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_program_options$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_random$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_regex$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_serialization$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_stacktrace_basic$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_stacktrace_noop$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_test_exec_monitor$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_thread$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_timer$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_type_erasure$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_unit_test_framework$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_url$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_wave$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libboost_wserialization$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
boost1.89${secondaryArchSuffix}_devel = $portVersion
|
||||
$devel_libs
|
||||
devel:libboost_config$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES_devel="
|
||||
boost1.89$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
CONFLICTS_devel="
|
||||
boost169${secondaryArchSuffix}_devel
|
||||
boost170${secondaryArchSuffix}_devel
|
||||
boost1.83${secondaryArchSuffix}_devel
|
||||
boost1.85${secondaryArchSuffix}_devel
|
||||
boost1.87${secondaryArchSuffix}_devel
|
||||
boost1.88${secondaryArchSuffix}_devel
|
||||
"
|
||||
|
||||
ARCHITECTURES_doc="any"
|
||||
PROVIDES_doc="
|
||||
boost1.89_doc = $portVersion
|
||||
"
|
||||
REPLACES_doc="
|
||||
boost1.89_docs
|
||||
boost1.89_x86_docs
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libbz2$secondaryArchSuffix
|
||||
devel:libiconv$secondaryArchSuffix
|
||||
devel:libicudata$secondaryArchSuffix >= 74
|
||||
devel:libicui18n$secondaryArchSuffix >= 74
|
||||
devel:libicuuc$secondaryArchSuffix >= 74
|
||||
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.89$secondaryArchSuffix \
|
||||
"$libDir"/libboost_atomic.so.$libVersion \
|
||||
"$libDir"/libboost_charconv.so.$libVersion \
|
||||
"$libDir"/libboost_chrono.so.$libVersion \
|
||||
"$libDir"/libboost_container.so.$libVersion \
|
||||
"$libDir"/libboost_context.so.$libVersion \
|
||||
"$libDir"/libboost_contract.so.$libVersion \
|
||||
"$libDir"/libboost_coroutine.so.$libVersion \
|
||||
"$libDir"/libboost_date_time.so.$libVersion \
|
||||
"$libDir"/libboost_fiber.so.$libVersion \
|
||||
"$libDir"/libboost_filesystem.so.$libVersion \
|
||||
"$libDir"/libboost_graph.so.$libVersion \
|
||||
"$libDir"/libboost_iostreams.so.$libVersion \
|
||||
"$libDir"/libboost_json.so.$libVersion \
|
||||
"$libDir"/libboost_locale.so.$libVersion \
|
||||
"$libDir"/libboost_log_setup.so.$libVersion \
|
||||
"$libDir"/libboost_log.so.$libVersion \
|
||||
"$libDir"/libboost_nowide.so.$libVersion \
|
||||
"$libDir"/libboost_prg_exec_monitor.so.$libVersion \
|
||||
"$libDir"/libboost_process.so.$libVersion \
|
||||
"$libDir"/libboost_program_options.so.$libVersion \
|
||||
"$libDir"/libboost_random.so.$libVersion \
|
||||
"$libDir"/libboost_regex.so.$libVersion \
|
||||
"$libDir"/libboost_serialization.so.$libVersion \
|
||||
"$libDir"/libboost_stacktrace_basic.so.$libVersion \
|
||||
"$libDir"/libboost_stacktrace_noop.so.$libVersion \
|
||||
"$libDir"/libboost_thread.so.$libVersion \
|
||||
"$libDir"/libboost_timer.so.$libVersion \
|
||||
"$libDir"/libboost_type_erasure.so.$libVersion \
|
||||
"$libDir"/libboost_unit_test_framework.so.$libVersion \
|
||||
"$libDir"/libboost_url.so.$libVersion \
|
||||
"$libDir"/libboost_wave.so.$libVersion \
|
||||
"$libDir"/libboost_wserialization.so.$libVersion
|
||||
|
||||
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 \
|
||||
boost.stacktrace.from_exception=off \
|
||||
install
|
||||
|
||||
# cleanup boost_predef/tools/check ?
|
||||
rm -rf $prefix/share
|
||||
|
||||
# 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 doc \
|
||||
$developDocDir
|
||||
|
||||
packageEntries devel \
|
||||
$developDir \
|
||||
$libDir/cmake
|
||||
}
|
||||
|
||||
# From Gentoo: the tests will never fail because these are not intended as sanity
|
||||
# tests at all.
|
||||
# Nuked the tests after 26200 targets were done (and still wasn't finished)
|
||||
TEST()
|
||||
{
|
||||
cd status
|
||||
../b2 $jobArgs
|
||||
}
|
||||
348
dev-libs/boost/patches/boost1.89-1.89.0.patchset
Normal file
348
dev-libs/boost/patches/boost1.89-1.89.0.patchset
Normal file
@@ -0,0 +1,348 @@
|
||||
From 2b795e616f40e5f0c9a8c940b8c2e25d06666678 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 fb6e5da..f78bbe7 100644
|
||||
--- a/tools/build/src/engine/jam.h
|
||||
+++ b/tools/build/src/engine/jam.h
|
||||
@@ -161,6 +161,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.48.1
|
||||
|
||||
|
||||
From 44d5d1c1cce4e83ddc06e8de433f14b9655a5573 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.50.1
|
||||
|
||||
|
||||
From 22dce17dec3019958175f43b560ab050b4e7331a 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 65a366a..1b0c014 100755
|
||||
--- a/tools/build/src/engine/build.sh
|
||||
+++ b/tools/build/src/engine/build.sh
|
||||
@@ -316,6 +316,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.50.1
|
||||
|
||||
|
||||
From 9d320bebf1d70ec67ededf4470f0323dbd0ad1eb 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.50.1
|
||||
|
||||
|
||||
From a5caab0121d920ef611b976ca1edec7eea442dc4 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.50.1
|
||||
|
||||
|
||||
From 4efb5fb5311f57560be1c64c13e9c3cef7069eb0 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/predef/test/build.jam b/libs/predef/test/build.jam
|
||||
index d67d932..6406018 100644
|
||||
--- a/libs/predef/test/build.jam
|
||||
+++ b/libs/predef/test/build.jam
|
||||
@@ -12,7 +12,7 @@ project
|
||||
: requirements
|
||||
# Add explicit dependency since we don't have header scanner for
|
||||
# .m and .mm files.
|
||||
- <dependency>../include/boost/predef.h
|
||||
+ <dependency>$(BOOST_ROOT)/boost/predef.h
|
||||
;
|
||||
|
||||
using testing ;
|
||||
--
|
||||
2.50.1
|
||||
|
||||
|
||||
From a4c111b940a9780e8217903ac4abb78c6dad095a Mon Sep 17 00:00:00 2001
|
||||
From: PulkoMandy <pulkomandy@pulkomandy.tk>
|
||||
Date: Fri, 13 Jan 2023 21:26:43 +0100
|
||||
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 e6a275d..7866eec 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.50.1
|
||||
|
||||
|
||||
From 900c9d2994aa0f4b3f2949e0a07de074a23d9726 Mon Sep 17 00:00:00 2001
|
||||
From: Schrijvers Luc <begasus@gmail.com>
|
||||
Date: Sat, 6 Jul 2024 17:27:48 +0200
|
||||
Subject: build fix for sourcetrail
|
||||
|
||||
|
||||
diff --git a/boost/process/v1/detail/posix/is_running.hpp b/boost/process/v1/detail/posix/is_running.hpp
|
||||
index 133ad9c..89e1f30 100644
|
||||
--- a/boost/process/v1/detail/posix/is_running.hpp
|
||||
+++ b/boost/process/v1/detail/posix/is_running.hpp
|
||||
@@ -17,10 +17,12 @@ namespace boost { namespace process { BOOST_PROCESS_V1_INLINE namespace v1 { nam
|
||||
// This bit arrangement of status codes is not guaranteed by POSIX, but (according to comments in
|
||||
// the glibc <bits/waitstatus.h> header) is the same across systems in practice.
|
||||
constexpr int still_active = 0x017f;
|
||||
+#if !defined(__HAIKU__)
|
||||
static_assert(WIFSTOPPED(still_active), "Expected still_active to indicate WIFSTOPPED");
|
||||
static_assert(!WIFEXITED(still_active), "Expected still_active to not indicate WIFEXITED");
|
||||
static_assert(!WIFSIGNALED(still_active), "Expected still_active to not indicate WIFSIGNALED");
|
||||
static_assert(!WIFCONTINUED(still_active), "Expected still_active to not indicate WIFCONTINUED");
|
||||
+#endif
|
||||
|
||||
inline bool is_running(int code)
|
||||
{
|
||||
diff --git a/boost/process/v2/exit_code.hpp b/boost/process/v2/exit_code.hpp
|
||||
index 24e51fa..2836d9d 100644
|
||||
--- a/boost/process/v2/exit_code.hpp
|
||||
+++ b/boost/process/v2/exit_code.hpp
|
||||
@@ -73,10 +73,12 @@ typedef int native_exit_code_type;
|
||||
namespace detail
|
||||
{
|
||||
constexpr native_exit_code_type still_active = 0x17f;
|
||||
-static_assert(WIFSTOPPED(still_active), "Expected still_active to indicate WIFSTOPPED");
|
||||
-static_assert(!WIFEXITED(still_active), "Expected still_active to not indicate WIFEXITED");
|
||||
-static_assert(!WIFSIGNALED(still_active), "Expected still_active to not indicate WIFSIGNALED");
|
||||
-static_assert(!WIFCONTINUED(still_active), "Expected still_active to not indicate WIFCONTINUED");
|
||||
+#if !defined(__HAIKU__)
|
||||
+ static_assert(WIFSTOPPED(still_active), "Expected still_active to indicate WIFSTOPPED");
|
||||
+ static_assert(!WIFEXITED(still_active), "Expected still_active to not indicate WIFEXITED");
|
||||
+ static_assert(!WIFSIGNALED(still_active), "Expected still_active to not indicate WIFSIGNALED");
|
||||
+ static_assert(!WIFCONTINUED(still_active), "Expected still_active to not indicate WIFCONTINUED");
|
||||
+#endif
|
||||
}
|
||||
|
||||
inline bool process_is_running(int code)
|
||||
@@ -132,4 +134,4 @@ inline error_code check_exit_code(
|
||||
|
||||
BOOST_PROCESS_V2_END_NAMESPACE
|
||||
|
||||
-#endif //BOOST_PROCESS_V2_EXIT_CODE_HPP
|
||||
\ No newline at end of file
|
||||
+#endif //BOOST_PROCESS_V2_EXIT_CODE_HPP
|
||||
--
|
||||
2.50.1
|
||||
|
||||
|
||||
From 4b09f1d89860f0d228045219aea5950836da6a5f Mon Sep 17 00:00:00 2001
|
||||
From: Oscar Lesta <oscar.lesta@gmail.com>
|
||||
Date: Fri, 20 Dec 2024 22:32:12 -0300
|
||||
Subject: Fix build issue related to dirent->d_name[].
|
||||
|
||||
|
||||
diff --git a/libs/filesystem/src/directory.cpp b/libs/filesystem/src/directory.cpp
|
||||
index 113fef8..baef36e 100644
|
||||
--- a/libs/filesystem/src/directory.cpp
|
||||
+++ b/libs/filesystem/src/directory.cpp
|
||||
@@ -310,8 +310,13 @@ inline std::size_t get_path_max()
|
||||
#endif
|
||||
}
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ if ((max + 1) < NAME_MAX)
|
||||
+ max = NAME_MAX - 1;
|
||||
+#else
|
||||
if ((max + 1) < sizeof(dirent().d_name))
|
||||
max = sizeof(dirent().d_name) - 1;
|
||||
+#endif
|
||||
|
||||
return max;
|
||||
}
|
||||
@@ -473,7 +478,11 @@ system::error_code dir_itr_create(boost::intrusive_ptr< detail::dir_itr_imp >& i
|
||||
// buffer that is enough for PATH_MAX as the directory name. Still, this doesn't guarantee there won't be
|
||||
// a buffer overrun. The readdir_r API is fundamentally flawed and we should avoid it as much as possible
|
||||
// in favor of readdir.
|
||||
+#ifdef __HAIKU__
|
||||
+ extra_size = (NAME_MAX) + path_max() + 1u; // + 1 for "\0"
|
||||
+#else
|
||||
extra_size = (sizeof(dirent) - sizeof(dirent().d_name)) + path_max() + 1u; // + 1 for "\0"
|
||||
+#endif
|
||||
}
|
||||
}
|
||||
#endif // defined(BOOST_FILESYSTEM_USE_READDIR_R)
|
||||
--
|
||||
2.50.1
|
||||
|
||||
|
||||
From ef6047cd05a36aaa604f9108982eb95e5003eb93 Mon Sep 17 00:00:00 2001
|
||||
From: Luc Schrijvers <begasus@gmail.com>
|
||||
Date: Fri, 4 Apr 2025 11:14:17 +0200
|
||||
Subject: No wordexpr.h on Haiku
|
||||
|
||||
|
||||
diff --git a/libs/process/src/shell.cpp b/libs/process/src/shell.cpp
|
||||
index bf4bbfd..d7315d0 100644
|
||||
--- a/libs/process/src/shell.cpp
|
||||
+++ b/libs/process/src/shell.cpp
|
||||
@@ -19,7 +19,7 @@
|
||||
#if defined(BOOST_PROCESS_V2_WINDOWS)
|
||||
#include <windows.h>
|
||||
#include <shellapi.h>
|
||||
-#elif !defined(__OpenBSD__) && !defined(__ANDROID__)
|
||||
+#elif !defined(__OpenBSD__) && !defined(__ANDROID__) && !defined(__HAIKU__)
|
||||
#include <wordexp.h>
|
||||
#endif
|
||||
|
||||
@@ -30,7 +30,7 @@ BOOST_PROCESS_V2_DECL const error_category& get_shell_category()
|
||||
{
|
||||
return system_category();
|
||||
}
|
||||
-#elif !defined(__OpenBSD__) && !defined(__ANDROID__)
|
||||
+#elif !defined(__OpenBSD__) && !defined(__ANDROID__) && !defined(__HAIKU__)
|
||||
|
||||
struct shell_category_t final : public error_category
|
||||
{
|
||||
@@ -99,7 +99,7 @@ auto shell::args() const-> args_type
|
||||
return input_.c_str();
|
||||
}
|
||||
|
||||
-#elif !defined(__OpenBSD__) && !defined(__ANDROID__)
|
||||
+#elif !defined(__OpenBSD__) && !defined(__ANDROID__) && !defined(__HAIKU__)
|
||||
|
||||
void shell::parse_()
|
||||
{
|
||||
--
|
||||
2.50.1
|
||||
|
||||
|
||||
From eef62a61f558059343688360f09e6ea544bf7ca7 Mon Sep 17 00:00:00 2001
|
||||
From: Luc Schrijvers <begasus@gmail.com>
|
||||
Date: Fri, 4 Apr 2025 12:20:08 +0200
|
||||
Subject: Fixes for boost_process
|
||||
|
||||
|
||||
diff --git a/libs/process/src/ext/cmd.cpp b/libs/process/src/ext/cmd.cpp
|
||||
index 463e9ed..7ecf9e7 100644
|
||||
--- a/libs/process/src/ext/cmd.cpp
|
||||
+++ b/libs/process/src/ext/cmd.cpp
|
||||
@@ -31,7 +31,7 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
-#if (defined(__linux__) || defined(__ANDROID__) || defined(__gnu_hurd__))
|
||||
+#if (defined(__linux__) || defined(__ANDROID__) || defined(__gnu_hurd__) || defined(__HAIKU__))
|
||||
#include <cstdio>
|
||||
#endif
|
||||
|
||||
@@ -211,7 +211,7 @@ shell cmd(boost::process::v2::pid_type pid, error_code & ec)
|
||||
return make_cmd_shell_::make(std::move(procargs), argc, argv.release(), fr_func);
|
||||
}
|
||||
|
||||
-#elif (defined(__linux__) || defined(__ANDROID__) || defined(__gnu_hurd__))
|
||||
+#elif (defined(__linux__) || defined(__ANDROID__) || defined(__gnu_hurd__) || defined(__HAIKU__))
|
||||
|
||||
shell cmd(boost::process::v2::pid_type pid, error_code & ec)
|
||||
{
|
||||
--
|
||||
2.50.1
|
||||
|
||||
Reference in New Issue
Block a user