mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
boost: add recipe for version 1.65.1.
This commit is contained in:
178
dev-libs/boost/boost165-1.65.1.recipe
Normal file
178
dev-libs/boost/boost165-1.65.1.recipe
Normal file
@@ -0,0 +1,178 @@
|
||||
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="http://www.boost.org/"
|
||||
SOURCE_URI="https://dl.bintray.com/boostorg/release/$portVersion/source/boost_${portVersion//./_}.tar.bz2"
|
||||
CHECKSUM_SHA256="9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81"
|
||||
REVISION="1"
|
||||
LICENSE="Boost v1.0"
|
||||
COPYRIGHT="1998-2017 Beman Dawes, David Abrahams, Rene Rivera, et al."
|
||||
SOURCE_DIR="boost_${portVersion//./_}"
|
||||
PATCHES="boost-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="!x86_gcc2 x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
PROVIDES="
|
||||
boost165$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_atomic$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_chrono$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_container$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_context$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_coroutine$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_date_time$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_filesystem$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_graph$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_iostreams$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_locale$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_log$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_log_setup$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_math_c99$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_math_c99f$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_math_tr1$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_math_tr1f$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_prg_exec_monitor$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_program_options$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_random$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_regex$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_serialization$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_signals$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_stacktrace_basic$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_stacktrace_noop$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_system$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_thread$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_timer$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_type_erasure$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_unit_test_framework$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_wave$secondaryArchSuffix = $portVersion
|
||||
lib:libboost_wserialization$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libbz2$secondaryArchSuffix
|
||||
lib:libicuuc$secondaryArchSuffix
|
||||
lib:libicui18n$secondaryArchSuffix
|
||||
lib:libicudata$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
boost165${secondaryArchSuffix}_devel = $portVersion
|
||||
devel:libboost_atomic$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_chrono$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_container$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_context$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_coroutine$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_date_time$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_exception$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_filesystem$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_graph$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_iostreams$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_locale$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_log$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_log_setup$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_math_c99$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_math_c99f$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_math_tr1$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_math_tr1f$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_prg_exec_monitor$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_program_options$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_random$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_regex$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_serialization$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_signals$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_stacktrace_basic$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_stacktrace_noop$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_system$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_test_exec_monitor$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_thread$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_timer$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_type_erasure$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_unit_test_framework$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_wave$secondaryArchSuffix = $portVersion
|
||||
devel:libboost_wserialization$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
|
||||
REQUIRES_devel="
|
||||
haiku$secondaryArchSuffix
|
||||
boost165$secondaryArchSuffix == $portVersion
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libbz2$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
devel:libicuuc$secondaryArchSuffix
|
||||
devel:libicui18n$secondaryArchSuffix
|
||||
devel:libicudata$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:sed
|
||||
cmd:which
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
./bootstrap.sh \
|
||||
--prefix=$prefix \
|
||||
--exec-prefix=$binDir \
|
||||
--libdir=$libDir \
|
||||
--includedir=$includeDir
|
||||
|
||||
./b2 -q $jobArgs \
|
||||
--without-mpi \
|
||||
--enable-threads=posix \
|
||||
--enable-thread-local-alloc \
|
||||
--enable-parallel-mark \
|
||||
inlining=on \
|
||||
threading=multi \
|
||||
variant=release \
|
||||
link=static,shared \
|
||||
runtime-link=shared \
|
||||
--without-python
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
./b2 -q $jobArgs \
|
||||
--without-mpi \
|
||||
--enable-threads=posix \
|
||||
--enable-thread-local-alloc \
|
||||
--enable-parallel-mark \
|
||||
inlining=on \
|
||||
threading=multi \
|
||||
variant=release \
|
||||
link=static,shared \
|
||||
runtime-link=shared \
|
||||
--without-python \
|
||||
install
|
||||
|
||||
prepareInstalledDevelLibs libboost_atomic libboost_chrono \
|
||||
libboost_container libboost_context libboost_coroutine \
|
||||
libboost_date_time libboost_filesystem libboost_iostreams \
|
||||
libboost_locale libboost_log libboost_log_setup \
|
||||
libboost_math_c99 libboost_math_c99f \
|
||||
libboost_math_tr1 libboost_math_tr1f \
|
||||
libboost_program_options libboost_random libboost_regex \
|
||||
libboost_serialization libboost_signals libboost_stacktrace_basic \
|
||||
libboost_stacktrace_noop libboost_system \
|
||||
libboost_thread libboost_timer libboost_type_erasure \
|
||||
libboost_unit_test_framework \
|
||||
libboost_wave libboost_wserialization \
|
||||
libboost_exception libboost_graph \
|
||||
libboost_prg_exec_monitor libboost_test_exec_monitor
|
||||
|
||||
packageEntries devel $developDir
|
||||
}
|
||||
|
||||
TEST() {
|
||||
cd status
|
||||
../bjam $jobArgs
|
||||
}
|
||||
221
dev-libs/boost/patches/boost-1.65.1.patchset
Normal file
221
dev-libs/boost/patches/boost-1.65.1.patchset
Normal file
@@ -0,0 +1,221 @@
|
||||
From c7f9f38a4d00df9501dd4d01559984158b39e75f 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/boehm_gc/include/gc_config_macros.h b/tools/build/src/engine/boehm_gc/include/gc_config_macros.h
|
||||
index 762162a..723b4c3 100644
|
||||
--- a/tools/build/src/engine/boehm_gc/include/gc_config_macros.h
|
||||
+++ b/tools/build/src/engine/boehm_gc/include/gc_config_macros.h
|
||||
@@ -62,7 +62,7 @@
|
||||
|
||||
# if defined(GC_SOLARIS_THREADS) || defined(GC_FREEBSD_THREADS) || \
|
||||
defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
|
||||
- defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \
|
||||
+ defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || defined(GC_HAIKU_THREADS) || \
|
||||
defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \
|
||||
defined(GC_AIX_THREADS) || defined(GC_NETBSD_THREADS) || \
|
||||
(defined(GC_WIN32_THREADS) && defined(__CYGWIN32__)) || \
|
||||
diff --git a/tools/build/src/engine/boehm_gc/include/private/gcconfig.h b/tools/build/src/engine/boehm_gc/include/private/gcconfig.h
|
||||
index 61cf9eac..427a9be 100644
|
||||
--- a/tools/build/src/engine/boehm_gc/include/private/gcconfig.h
|
||||
+++ b/tools/build/src/engine/boehm_gc/include/private/gcconfig.h
|
||||
@@ -219,6 +219,12 @@
|
||||
# define I386
|
||||
# define HAIKU
|
||||
# define mach_type_known
|
||||
+# endif
|
||||
+# if defined(__HAIKU__) && defined(__x86_64__)
|
||||
+# define X86_64
|
||||
+# define HAIKU
|
||||
+# define mach_type_known
|
||||
+# endif
|
||||
# if defined(LINUX) && (defined(i386) || defined(__i386__))
|
||||
# define I386
|
||||
# define mach_type_known
|
||||
@@ -1025,6 +1031,13 @@
|
||||
# extern int etext[];
|
||||
# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
|
||||
# endif
|
||||
+# ifdef HAIKU
|
||||
+# define OS_TYPE "HAIKU"
|
||||
+# include <OS.h>
|
||||
+# define GETPAGESIZE() B_PAGE_SIZE
|
||||
+ extern int etext[];
|
||||
+# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
|
||||
+# endif
|
||||
# ifdef SOLARIS
|
||||
# define OS_TYPE "SOLARIS"
|
||||
extern int _etext[], _end[];
|
||||
diff --git a/tools/build/src/engine/boehm_gc/os_dep.c b/tools/build/src/engine/boehm_gc/os_dep.c
|
||||
index 2dd087f..8be17f8 100644
|
||||
--- a/tools/build/src/engine/boehm_gc/os_dep.c
|
||||
+++ b/tools/build/src/engine/boehm_gc/os_dep.c
|
||||
@@ -776,6 +776,15 @@ ptr_t GC_get_main_stack_base(void){
|
||||
}
|
||||
# endif /* BEOS */
|
||||
|
||||
+# ifdef HAIKU
|
||||
+# include <OS.h>
|
||||
+ptr_t GC_get_main_stack_base(void){
|
||||
+ thread_info th;
|
||||
+ get_thread_info(find_thread(NULL),&th);
|
||||
+ return th.stack_end;
|
||||
+}
|
||||
+# endif /* HAIKU */
|
||||
+
|
||||
|
||||
# ifdef HAIKU
|
||||
# include <OS.h>
|
||||
@@ -1106,7 +1115,7 @@ ptr_t GC_get_main_stack_base(void)
|
||||
|
||||
#endif /* FREEBSD_STACKBOTTOM */
|
||||
|
||||
-#if !defined(BEOS) && !defined(AMIGA) && !defined(MSWIN32) \
|
||||
+#if !defined(BEOS) && !defined(__HAIKU__) && !defined(AMIGA) && !defined(MSWIN32) \
|
||||
&& !defined(MSWINCE) && !defined(OS2) && !defined(NOSYS) && !defined(ECOS) \
|
||||
&& !defined(CYGWIN32) && !defined(HAIKU)
|
||||
|
||||
diff --git a/tools/build/src/engine/jam.h b/tools/build/src/engine/jam.h
|
||||
index a6abf41..b774a59 100644
|
||||
--- a/tools/build/src/engine/jam.h
|
||||
+++ b/tools/build/src/engine/jam.h
|
||||
@@ -162,6 +162,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
|
||||
diff --git a/tools/build/src/engine/jambase.c b/tools/build/src/engine/jambase.c
|
||||
index 80a7e12..93f05e5 100644
|
||||
--- a/tools/build/src/engine/jambase.c
|
||||
+++ b/tools/build/src/engine/jambase.c
|
||||
@@ -548,6 +548,18 @@ char *jambase[] = {
|
||||
"NOARSCAN ?= true ;\n",
|
||||
"STDHDRS ?= /boot/develop/headers/posix ;\n",
|
||||
"}\n",
|
||||
+"else if $(OS) = HAIKU\n",
|
||||
+"{\n",
|
||||
+"BINDIR ?= /boot/system/bin ;\n",
|
||||
+"CC ?= gcc ;\n",
|
||||
+"C++ ?= $(CC) ;\n",
|
||||
+"FORTRAN ?= \"\" ;\n",
|
||||
+"LIBDIR ?= /boot/system/lib ;\n",
|
||||
+"LINK ?= gcc ;\n",
|
||||
+"LINKLIBS ?= -lnetwork ;\n",
|
||||
+"NOARSCAN ?= true ;\n",
|
||||
+"STDHDRS ?= /boot/develop/headers/posix ;\n",
|
||||
+"}\n",
|
||||
"else if $(OS) = BEOS\n",
|
||||
"{\n",
|
||||
"BINDIR ?= /boot/apps ;\n",
|
||||
diff --git a/tools/build/src/tools/builtin.py b/tools/build/src/tools/builtin.py
|
||||
index ee6474b..d2bc86d 100644
|
||||
--- a/tools/build/src/tools/builtin.py
|
||||
+++ b/tools/build/src/tools/builtin.py
|
||||
@@ -82,7 +82,7 @@ def variant (name, parents_or_properties, explicit_properties = []):
|
||||
feature.compose ("<variant>" + name, explicit_properties.all())
|
||||
|
||||
__os_names = """
|
||||
- amiga aix appletv bsd cygwin darwin dos emx freebsd hpux iphone linux netbsd
|
||||
+ amiga aix appletv bsd cygwin darwin dos emx freebsd haiku hpux iphone linux netbsd
|
||||
openbsd osf qnx qnxnto sgi solaris sun sunos svr4 sysv ultrix unix unixware
|
||||
vms windows
|
||||
""".split()
|
||||
--
|
||||
2.13.1
|
||||
|
||||
|
||||
From 75c20f5a9b35349804fa20a6b70823964bf24cc1 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 1f33b1a..3670ffa 100644
|
||||
--- a/boost/thread/detail/platform.hpp
|
||||
+++ b/boost/thread/detail/platform.hpp
|
||||
@@ -32,7 +32,7 @@
|
||||
# define BOOST_THREAD_CYGWIN
|
||||
#elif (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && !defined(BOOST_DISABLE_WIN32)
|
||||
# define BOOST_THREAD_WIN32
|
||||
-#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.13.1
|
||||
|
||||
|
||||
From b4f27c1394b7b55cd8df82858f53ded8fe6b12f2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= <jerome.duval@gmail.com>
|
||||
Date: Sat, 31 Dec 2016 11:23:58 +0100
|
||||
Subject: replace wait4 by waitpid for Haiku
|
||||
|
||||
|
||||
diff --git a/tools/build/src/engine/execunix.c b/tools/build/src/engine/execunix.c
|
||||
index a4c73ea..1c5606a 100644
|
||||
--- a/tools/build/src/engine/execunix.c
|
||||
+++ b/tools/build/src/engine/execunix.c
|
||||
@@ -525,7 +525,11 @@ void exec_wait()
|
||||
close_streams( i, ERR );
|
||||
|
||||
/* Reap the child and release resources. */
|
||||
+#ifdef __HAIKU__
|
||||
+ while ( ( pid = waitpid( cmdtab[ i ].pid, &status, 0 ) ) == -1 )
|
||||
+#else
|
||||
while ( ( pid = wait4( cmdtab[ i ].pid, &status, 0, &cmd_usage ) ) == -1 )
|
||||
+#endif
|
||||
if ( errno != EINTR )
|
||||
break;
|
||||
if ( pid != cmdtab[ i ].pid )
|
||||
--
|
||||
2.13.1
|
||||
|
||||
|
||||
From e6e1242e63aa6fe6d125fb982b23c6ec1069c64b Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Fri, 15 Sep 2017 22:35:19 +0200
|
||||
Subject: Haiku dladdr() has no const for the first parameter...
|
||||
|
||||
|
||||
diff --git a/boost/stacktrace/detail/frame_unwind.ipp b/boost/stacktrace/detail/frame_unwind.ipp
|
||||
index d4e7973..be468df 100644
|
||||
--- a/boost/stacktrace/detail/frame_unwind.ipp
|
||||
+++ b/boost/stacktrace/detail/frame_unwind.ipp
|
||||
@@ -84,7 +84,8 @@ std::string to_string(const frame* frames, std::size_t size) {
|
||||
std::string frame::name() const {
|
||||
#if !defined(BOOST_WINDOWS) && !defined(__CYGWIN__)
|
||||
::Dl_info dli;
|
||||
- const bool dl_ok = !!::dladdr(addr_, &dli);
|
||||
+ // Some of the libc headers miss `const` in `dladdr(const void*, Dl_info*)`
|
||||
+ const bool dl_ok = !!::dladdr(const_cast<void*>(addr_), &dli);
|
||||
if (dl_ok && dli.dli_sname) {
|
||||
return boost::core::demangle(dli.dli_sname);
|
||||
}
|
||||
diff --git a/boost/stacktrace/detail/location_from_symbol.hpp b/boost/stacktrace/detail/location_from_symbol.hpp
|
||||
index d20b0d6..e54e7e8 100644
|
||||
--- a/boost/stacktrace/detail/location_from_symbol.hpp
|
||||
+++ b/boost/stacktrace/detail/location_from_symbol.hpp
|
||||
@@ -28,7 +28,8 @@ public:
|
||||
explicit location_from_symbol(const void* addr) BOOST_NOEXCEPT
|
||||
: dli_()
|
||||
{
|
||||
- if (!::dladdr(addr, &dli_)) {
|
||||
+ // Some of the libc headers miss `const` in `dladdr(const void*, Dl_info*)`
|
||||
+ if (!::dladdr(const_cast<void*>(addr), &dli_)) {
|
||||
dli_.dli_fname = 0;
|
||||
}
|
||||
}
|
||||
--
|
||||
2.13.1
|
||||
|
||||
Reference in New Issue
Block a user