diff --git a/dev-libs/nspr/nspr-4.34.1.recipe b/dev-libs/nspr/nspr-4.36.recipe similarity index 92% rename from dev-libs/nspr/nspr-4.34.1.recipe rename to dev-libs/nspr/nspr-4.36.recipe index 8cb28dbfe..6f23931f2 100644 --- a/dev-libs/nspr/nspr-4.34.1.recipe +++ b/dev-libs/nspr/nspr-4.36.recipe @@ -9,15 +9,11 @@ LICENSE="GNU GPL v2 GNU LGPL v2.1 MPL v2.0 " -REVISION="3" +REVISION="1" SOURCE_URI="https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$portVersion/src/nspr-$portVersion.tar.gz" -CHECKSUM_SHA256="c5b8354c48b632b8f4c1970628146c0e0c0ca8f32c7315d7d5736c002e03774f" +CHECKSUM_SHA256="55dec317f1401cd2e5dba844d340b930ab7547f818179a4002bce62e6f1c6895" SOURCE_DIR="nspr-$portVersion/nspr" PATCHES="nspr-$portVersion.patchset" -if [ $effectiveTargetArchitecture == 'x86' ]; then - PATCHES="$PATCHES - nspr_x86-$portVersion.patchset" -fi ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" diff --git a/dev-libs/nspr/patches/nspr-4.34.1.patchset b/dev-libs/nspr/patches/nspr-4.36.patchset similarity index 70% rename from dev-libs/nspr/patches/nspr-4.34.1.patchset rename to dev-libs/nspr/patches/nspr-4.36.patchset index 89d32fca5..65ddc80c8 100644 --- a/dev-libs/nspr/patches/nspr-4.34.1.patchset +++ b/dev-libs/nspr/patches/nspr-4.36.patchset @@ -1,21 +1,14 @@ -From 99a463022a0cfc77e308f5fcd0276ad7e4b255b0 Mon Sep 17 00:00:00 2001 +From 75ee085f8a8842e3411d27003d9d47d415bca3a8 Mon Sep 17 00:00:00 2001 From: Ken Mays Date: Sat, 27 Jun 2020 00:09:11 +0200 -Subject: Migrated NSPR 4.19 patchset to NSPR 4.26 +Subject: Haiku support -* NSPR 4.19 migration by Kacper Kasper -* Old patchset wouldn't apply anymore. -* Platform code by korli. -* pr/include/obsolete/prototypes.h by pulkomandy. -* Fix build of libpurple. -* pr/include/prtypes.h by Kacper Kasper. - Fix build of NSS. NSS uses XP_BEOS and defs for BeOS fail on GCC7. diff --git a/configure.in b/configure.in -index d0c1769..ffe0a0c 100644 +index 1a3e489..923d5f4 100644 --- a/configure.in +++ b/configure.in -@@ -1488,6 +1488,30 @@ tools are selected during the Xcode/Developer Tools installation.]) +@@ -1396,6 +1396,30 @@ tools are selected during the Xcode/Developer Tools installation.]) PR_MD_CSRCS=freebsd.c ;; @@ -28,7 +21,7 @@ index d0c1769..ffe0a0c 100644 + DSO_CFLAGS="-fPIC" + USE_PTHREADS=1 + IMPL_STRATEGY=_PTH -+ MDCPUCFG_H=_linux.cfg ++ MDCPUCFG_H=_haiku.cfg + if test -n "$USE_64"; then + PR_MD_ASFILES=os_Linux_x86_64.s + else @@ -46,7 +39,7 @@ index d0c1769..ffe0a0c 100644 *-hpux*) AC_DEFINE(XP_UNIX) AC_DEFINE(HPUX) -@@ -1637,7 +1661,7 @@ tools are selected during the Xcode/Developer Tools installation.]) +@@ -1538,7 +1562,7 @@ tools are selected during the Xcode/Developer Tools installation.]) fi ;; @@ -55,7 +48,7 @@ index d0c1769..ffe0a0c 100644 if test -z "$USE_NSPR_THREADS"; then USE_PTHREADS=1 IMPL_STRATEGY=_PTH -@@ -2519,7 +2543,7 @@ if test -n "$USE_PTHREADS"; then +@@ -2336,7 +2360,7 @@ if test -n "$USE_PTHREADS"; then _PTHREAD_LDFLAGS=-pthread fi ;; @@ -64,386 +57,6 @@ index d0c1769..ffe0a0c 100644 AC_DEFINE(_REENTRANT) ;; esac -diff --git a/pr/include/md/_linux.h b/pr/include/md/_linux.h -index a26291a..e93858b 100644 ---- a/pr/include/md/_linux.h -+++ b/pr/include/md/_linux.h -@@ -301,7 +301,7 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv) - #endif /* __arm__ */ - - #define USE_SETJMP --#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(ANDROID) -+#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(ANDROID) || defined(__HAIKU__) - #define _PR_POLL_AVAILABLE - #endif - #undef _PR_USE_POLL -@@ -322,7 +322,7 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv) - #define _PR_HAVE_GETADDRINFO - #define _PR_INET6_PROBE - #endif --#ifndef ANDROID -+#if !defined(ANDROID) && !defined(__HAIKU__) - #define _PR_HAVE_SYSV_SEMAPHORES - #define PR_HAVE_SYSV_NAMED_SHARED_MEMORY - #endif -diff --git a/pr/include/md/_pth.h b/pr/include/md/_pth.h -index 37d26e7..7c1d4c3 100644 ---- a/pr/include/md/_pth.h -+++ b/pr/include/md/_pth.h -@@ -89,7 +89,7 @@ - || defined(HPUX) || defined(FREEBSD) \ - || defined(NETBSD) || defined(OPENBSD) || defined(BSDI) \ - || defined(NTO) || defined(DARWIN) \ -- || defined(UNIXWARE) || defined(RISCOS) -+ || defined(UNIXWARE) || defined(RISCOS) || defined(__HAIKU__) - #define _PT_PTHREAD_INVALIDATE_THR_HANDLE(t) (t) = 0 - #define _PT_PTHREAD_THR_HANDLE_IS_INVALID(t) (t) == 0 - #define _PT_PTHREAD_COPY_THR_HANDLE(st, dt) (dt) = (st) -@@ -116,7 +116,7 @@ - || defined(LINUX) || defined(__GNU__)|| defined(__GLIBC__) \ - || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ - || defined(BSDI) || defined(UNIXWARE) \ -- || defined(DARWIN) -+ || defined(DARWIN) || defined(__HAIKU__) - #define PT_NO_SIGTIMEDWAIT - #endif - -@@ -133,7 +133,7 @@ - #define PT_PRIO_MIN sched_get_priority_min(SCHED_OTHER) - #define PT_PRIO_MAX sched_get_priority_max(SCHED_OTHER) - #elif defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \ -- || defined(FREEBSD) -+ || defined(FREEBSD) || defined(__HAIKU__) - #define PT_PRIO_MIN sched_get_priority_min(SCHED_OTHER) - #define PT_PRIO_MAX sched_get_priority_max(SCHED_OTHER) - #elif defined(NTO) -@@ -177,7 +177,7 @@ extern int (*_PT_aix_yield_fcn)(); - || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \ - || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ - || defined(BSDI) || defined(NTO) || defined(DARWIN) \ -- || defined(UNIXWARE) || defined(RISCOS) -+ || defined(UNIXWARE) || defined(RISCOS) || defined(__HAIKU__) - #define _PT_PTHREAD_YIELD() sched_yield() - #else - #error "Need to define _PT_PTHREAD_YIELD for this platform" -diff --git a/pr/include/md/_unixos.h b/pr/include/md/_unixos.h -index 7d444cd..0cc560b 100644 ---- a/pr/include/md/_unixos.h -+++ b/pr/include/md/_unixos.h -@@ -15,7 +15,7 @@ - * not be redefined. - */ - #if !defined(LINUX) && !defined(__GNU__) && !defined(__GLIBC__) \ -- && !defined(DARWIN) -+ && !defined(DARWIN) && !defined(__HAIKU__) - #ifndef FD_SETSIZE - #define FD_SETSIZE 4096 - #endif -@@ -46,7 +46,7 @@ - */ - #include - #include --#if defined(AIX) -+#if defined(AIX) || defined(__HAIKU__) - #include - #endif - -diff --git a/pr/include/md/prosdep.h b/pr/include/md/prosdep.h -index 42eba3d..e372315 100644 ---- a/pr/include/md/prosdep.h -+++ b/pr/include/md/prosdep.h -@@ -49,7 +49,7 @@ PR_BEGIN_EXTERN_C - #elif defined(HPUX) - #include "md/_hpux.h" - --#elif defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) -+#elif defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) || defined(__HAIKU__) - #include "md/_linux.h" - - #elif defined(DARWIN) -diff --git a/pr/include/obsolete/protypes.h b/pr/include/obsolete/protypes.h -index 5400afb..65eb0f5 100644 ---- a/pr/include/obsolete/protypes.h -+++ b/pr/include/obsolete/protypes.h -@@ -9,6 +9,9 @@ - * possible time. The NSPR API is implemented and documented using - * the new definitions. - */ -+#if defined(__HAIKU__) -+#include -+#endif - - #if !defined(PROTYPES_H) - #define PROTYPES_H -@@ -35,7 +38,7 @@ typedef PRIntn intn; - * - * On OS/2, sys/types.h defines uint. - */ --#if defined(XP_UNIX) || defined(XP_OS2) -+#if defined(XP_UNIX) || defined(XP_OS2) || defined(__HAIKU__) - #include - #endif - -@@ -48,7 +51,7 @@ typedef PRIntn intn; - * uint - */ - --#if !defined(XP_OS2) && !defined(XP_UNIX) || defined(NTO) -+#if !defined(XP_OS2) && !defined(XP_UNIX) && !defined(__HAIKU__) || defined(NTO) - typedef PRUintn uint; - #endif - -@@ -56,13 +59,15 @@ typedef PRUintn uint; - * uint64 - */ - -+#if !defined(__HAIKU__) - typedef PRUint64 uint64; -+#endif - - /* - * uint32 - */ - --#if !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO) -+#if !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO) && defined(__HAIKU__) - typedef PRUint32 uint32; - #else - typedef unsigned long uint32; -@@ -72,19 +77,23 @@ typedef unsigned long uint32; - * uint16 - */ - -+#if !defined(__HAIKU__) - typedef PRUint16 uint16; -+#endif - - /* - * uint8 - */ - -+#if !defined(__HAIKU__) - typedef PRUint8 uint8; -+#endif - - /* - * int64 - */ - --#if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) -+#if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) && !defined(__HAIKU__) - typedef PRInt64 int64; - #endif - -@@ -93,7 +102,7 @@ typedef PRInt64 int64; - */ - - #if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \ -- && !defined(HPUX) -+ && !defined(HPUX) && !defined(__HAIKU__) - #if !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO) - typedef PRInt32 int32; - #else -@@ -106,7 +115,7 @@ typedef long int32; - */ - - #if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \ -- && !defined(HPUX) -+ && !defined(HPUX) && !defined(__HAIKU__) - typedef PRInt16 int16; - #endif - -@@ -115,7 +124,7 @@ typedef PRInt16 int16; - */ - - #if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \ -- && !defined(HPUX) -+ && !defined(HPUX) && !defined(__HAIKU__) - typedef PRInt8 int8; - #endif - -diff --git a/pr/src/md/unix/linux.c b/pr/src/md/unix/linux.c -index 6bfc7a8..976085f 100644 ---- a/pr/src/md/unix/linux.c -+++ b/pr/src/md/unix/linux.c -@@ -25,12 +25,14 @@ PRWord *_MD_HomeGCRegisters(PRThread *t, int isCurrent, int *np) - - #ifdef _PR_PTHREADS - -+#ifndef HAIKU - extern void _MD_unix_terminate_waitpid_daemon(void); - - void _MD_CleanupBeforeExit(void) - { - _MD_unix_terminate_waitpid_daemon(); - } -+#endif - - #else /* ! _PR_PTHREADS */ - -diff --git a/pr/src/md/unix/uxrng.c b/pr/src/md/unix/uxrng.c -index 4798590..ad10a18 100644 ---- a/pr/src/md/unix/uxrng.c -+++ b/pr/src/md/unix/uxrng.c -@@ -64,7 +64,7 @@ GetHighResClock(void *buf, size_t maxbytes) - - #elif (defined(LINUX) || defined(FREEBSD) || defined(__FreeBSD_kernel__) \ - || defined(NETBSD) || defined(__NetBSD_kernel__) || defined(OPENBSD) \ -- || defined(__GNU__)) -+ || defined(__GNU__)) || defined(__HAIKU__) - #include - #include - #include -diff --git a/pr/src/misc/prnetdb.c b/pr/src/misc/prnetdb.c -index baf49d8..d96803c 100644 ---- a/pr/src/misc/prnetdb.c -+++ b/pr/src/misc/prnetdb.c -@@ -1196,7 +1196,7 @@ PR_IMPLEMENT(PRStatus) PR_GetHostByAddr( - * any usable implementation. - */ - --#if defined(ANDROID) -+#if defined(ANDROID) || defined(__HAIKU__) - /* Android's Bionic libc system includes prototypes for these in netdb.h, - * but doesn't actually include implementations. It uses the 5-arg form, - * so these functions end up not matching the prototype. So just rename -diff --git a/pr/src/pthreads/ptio.c b/pr/src/pthreads/ptio.c -index a2bc3e7..442bc06 100644 ---- a/pr/src/pthreads/ptio.c -+++ b/pr/src/pthreads/ptio.c -@@ -28,7 +28,7 @@ - #include - #include - #include --#if defined(DARWIN) -+#if defined(DARWIN) || defined(__HAIKU__) - #include /* for uname */ - #endif - #if defined(SOLARIS) || defined(UNIXWARE) -@@ -192,7 +192,7 @@ static PRBool _pr_ipv6_v6only_on_by_default; - || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \ - || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ - || defined(BSDI) || defined(NTO) || defined(DARWIN) \ -- || defined(UNIXWARE) || defined(RISCOS) -+ || defined(UNIXWARE) || defined(RISCOS) || defined(__HAIKU__) - #define _PRSelectFdSetArg_t fd_set * - #else - #error "Cannot determine architecture" -@@ -3524,7 +3524,7 @@ static PRIOMethods _pr_socketpollfd_methods = { - || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \ - || defined(AIX) || defined(FREEBSD) || defined(NETBSD) \ - || defined(OPENBSD) || defined(BSDI) || defined(NTO) \ -- || defined(DARWIN) || defined(UNIXWARE) || defined(RISCOS) -+ || defined(DARWIN) || defined(UNIXWARE) || defined(RISCOS) || defined(__HAIKU__) - #define _PR_FCNTL_FLAGS O_NONBLOCK - #else - #error "Can't determine architecture" -diff --git a/pr/tests/Makefile.in b/pr/tests/Makefile.in -index a58a846..c5bd9a7 100644 ---- a/pr/tests/Makefile.in -+++ b/pr/tests/Makefile.in -@@ -327,7 +327,7 @@ LIBPTHREAD = -lpthread - ifeq ($(OS_ARCH),AIX) - LIBPTHREAD = -lpthreads - endif --ifeq (,$(filter-out FreeBSD OpenBSD BSD_OS QNX Darwin OpenUNIX,$(OS_ARCH))) -+ifeq (,$(filter-out Haiku FreeBSD OpenBSD BSD_OS QNX Darwin OpenUNIX,$(OS_ARCH))) - LIBPTHREAD = - endif - endif -@@ -405,6 +405,15 @@ $(OBJDIR)/prpoll: $(OBJDIR)/prpoll.o - $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lsocket $(EXTRA_LIBS) -o $@ - endif - -+ifeq ($(OS_ARCH),Haiku) -+ifeq ($(USE_IPV6),1) -+$(OBJDIR)/gethost: $(OBJDIR)/gethost.o -+ $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lnetwork $(EXTRA_LIBS) -o $@ -+endif -+$(OBJDIR)/prpoll: $(OBJDIR)/prpoll.o -+ $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lnetwork $(EXTRA_LIBS) -o $@ -+endif -+ - ifeq ($(USE_PTHREADS), 1) - $(OBJDIR)/attach: $(OBJDIR)/attach.o - $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@ --- -2.30.2 - - -From 4a0a9a16f44a41750553dda6c51b5fb37093a3dd Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Mon, 22 Feb 2021 19:11:19 +0100 -Subject: Haiku library path - - -diff --git a/pr/src/linking/prlink.c b/pr/src/linking/prlink.c -index 011ff17..e6b5a15 100644 ---- a/pr/src/linking/prlink.c -+++ b/pr/src/linking/prlink.c -@@ -257,7 +257,11 @@ PR_GetLibraryPath(void) - char *p=NULL; - int len; - -+#if defined(XP_HAIKU) -+ ev = getenv("LIBRARY_PATH"); -+#else - ev = getenv("LD_LIBRARY_PATH"); -+#endif - if (!ev) { - ev = "/usr/lib:/lib"; - } -diff --git a/pr/tests/ipv6.c b/pr/tests/ipv6.c -index cc323e1..01a31ee 100644 ---- a/pr/tests/ipv6.c -+++ b/pr/tests/ipv6.c -@@ -122,7 +122,11 @@ int main(int argc, char **argv) - #define NSPR_LIB "nspr4" - #endif - const PRVersionDescription *version_info; -+#ifdef __HAIKU__ -+ char *nspr_path = PR_GetEnv("LIBRARY_PATH"); -+#else - char *nspr_path = PR_GetEnv("LD_LIBRARY_PATH"); -+#endif - char *nspr_name = PR_GetLibraryName(nspr_path, NSPR_LIB); - PRLibrary *runtime = PR_LoadLibrary(nspr_name); - if (NULL == runtime) { -diff --git a/pr/tests/runtests.sh b/pr/tests/runtests.sh -index 8d31440..e5e6b1f 100755 ---- a/pr/tests/runtests.sh -+++ b/pr/tests/runtests.sh -@@ -16,6 +16,7 @@ cd - - - export DYLD_LIBRARY_PATH=${ABS_LIB}:${DYLD_LIBRARY_PATH} - export LD_LIBRARY_PATH=${ABS_LIB}:${LD_LIBRARY_PATH} -+export LIBRARY_PATH=${ABS_LIB}:${LIBRARY_PATH} - export PATH=${ABS_LIB}:${PATH} - - # --- -2.30.2 - - -From 33464158636710568177b7c196083f80decb1ed6 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Sat, 27 Feb 2021 17:33:32 +0100 -Subject: _haiku.cfg for Haiku - - -diff --git a/configure.in b/configure.in -index ffe0a0c..203f687 100644 ---- a/configure.in -+++ b/configure.in -@@ -1497,7 +1497,7 @@ tools are selected during the Xcode/Developer Tools installation.]) - DSO_CFLAGS="-fPIC" - USE_PTHREADS=1 - IMPL_STRATEGY=_PTH -- MDCPUCFG_H=_linux.cfg -+ MDCPUCFG_H=_haiku.cfg - if test -n "$USE_64"; then - PR_MD_ASFILES=os_Linux_x86_64.s - else diff --git a/pr/include/md/_haiku.cfg b/pr/include/md/_haiku.cfg new file mode 100644 index 0000000..3cf3cd9 @@ -762,13 +375,97 @@ index 0000000..a9bde33 +#include + +#endif /* nspr_haiku_defs_h___ */ +diff --git a/pr/include/md/_linux.h b/pr/include/md/_linux.h +index ad57d08..c984457 100644 +--- a/pr/include/md/_linux.h ++++ b/pr/include/md/_linux.h +@@ -315,7 +315,7 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv) + #endif /* __arm__ */ + + #define USE_SETJMP +-#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(ANDROID) ++#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(ANDROID) || defined(__HAIKU__) + #define _PR_POLL_AVAILABLE + #endif + #undef _PR_USE_POLL +@@ -336,7 +336,7 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv) + #define _PR_HAVE_GETADDRINFO + #define _PR_INET6_PROBE + #endif +-#ifndef ANDROID ++#if !defined(ANDROID) && !defined(__HAIKU__) + #define _PR_HAVE_SYSV_SEMAPHORES + #define PR_HAVE_SYSV_NAMED_SHARED_MEMORY + #endif +diff --git a/pr/include/md/_pth.h b/pr/include/md/_pth.h +index 92010d7..a9c15ed 100644 +--- a/pr/include/md/_pth.h ++++ b/pr/include/md/_pth.h +@@ -66,7 +66,7 @@ + || defined(HPUX) || defined(FREEBSD) \ + || defined(NETBSD) || defined(OPENBSD) \ + || defined(NTO) || defined(DARWIN) \ +- || defined(RISCOS) ++ || defined(RISCOS) || defined(__HAIKU__) + #define _PT_PTHREAD_INVALIDATE_THR_HANDLE(t) (t) = 0 + #define _PT_PTHREAD_THR_HANDLE_IS_INVALID(t) (t) == 0 + #define _PT_PTHREAD_COPY_THR_HANDLE(st, dt) (dt) = (st) +@@ -92,7 +92,7 @@ + #if (defined(AIX) && !defined(AIX4_3_PLUS)) \ + || defined(LINUX) || defined(__GNU__)|| defined(__GLIBC__) \ + || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ +- || defined(DARWIN) ++ || defined(DARWIN) || defined(__HAIKU__) + #define PT_NO_SIGTIMEDWAIT + #endif + +@@ -109,7 +109,7 @@ + #define PT_PRIO_MIN sched_get_priority_min(SCHED_OTHER) + #define PT_PRIO_MAX sched_get_priority_max(SCHED_OTHER) + #elif defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \ +- || defined(FREEBSD) ++ || defined(FREEBSD) || defined(__HAIKU__) + #define PT_PRIO_MIN sched_get_priority_min(SCHED_OTHER) + #define PT_PRIO_MAX sched_get_priority_max(SCHED_OTHER) + #elif defined(NTO) +@@ -153,7 +153,7 @@ extern int (*_PT_aix_yield_fcn)(); + || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \ + || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ + || defined(NTO) || defined(DARWIN) \ +- || defined(RISCOS) ++ || defined(RISCOS) || defined(__HAIKU__) + #define _PT_PTHREAD_YIELD() sched_yield() + #else + #error "Need to define _PT_PTHREAD_YIELD for this platform" +diff --git a/pr/include/md/_unixos.h b/pr/include/md/_unixos.h +index 7d444cd..0cc560b 100644 +--- a/pr/include/md/_unixos.h ++++ b/pr/include/md/_unixos.h +@@ -15,7 +15,7 @@ + * not be redefined. + */ + #if !defined(LINUX) && !defined(__GNU__) && !defined(__GLIBC__) \ +- && !defined(DARWIN) ++ && !defined(DARWIN) && !defined(__HAIKU__) + #ifndef FD_SETSIZE + #define FD_SETSIZE 4096 + #endif +@@ -46,7 +46,7 @@ + */ + #include + #include +-#if defined(AIX) ++#if defined(AIX) || defined(__HAIKU__) + #include + #endif + diff --git a/pr/include/md/prosdep.h b/pr/include/md/prosdep.h -index e372315..4ee4f67 100644 +index 34d5e6c..448111c 100644 --- a/pr/include/md/prosdep.h +++ b/pr/include/md/prosdep.h -@@ -46,10 +46,13 @@ PR_BEGIN_EXTERN_C - #elif defined(BSDI) - #include "md/_bsdi.h" +@@ -40,6 +40,9 @@ PR_BEGIN_EXTERN_C + #elif defined(OPENBSD) + #include "md/_openbsd.h" +#elif defined(HAIKU) +#include "md/_haiku.h" @@ -776,44 +473,94 @@ index e372315..4ee4f67 100644 #elif defined(HPUX) #include "md/_hpux.h" --#elif defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) || defined(__HAIKU__) -+#elif defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) - #include "md/_linux.h" +diff --git a/pr/include/obsolete/protypes.h b/pr/include/obsolete/protypes.h +index 4ebf9b4..2c751d7 100644 +--- a/pr/include/obsolete/protypes.h ++++ b/pr/include/obsolete/protypes.h +@@ -9,6 +9,9 @@ + * possible time. The NSPR API is implemented and documented using + * the new definitions. + */ ++#if defined(__HAIKU__) ++#include ++#endif - #elif defined(DARWIN) -diff --git a/pr/src/pthreads/ptio.c b/pr/src/pthreads/ptio.c -index 442bc06..23d49f7 100644 ---- a/pr/src/pthreads/ptio.c -+++ b/pr/src/pthreads/ptio.c -@@ -34,6 +34,7 @@ - #if defined(SOLARIS) || defined(UNIXWARE) - #include /* to pick up FIONREAD */ + #if !defined(PROTYPES_H) + #define PROTYPES_H +@@ -56,35 +59,43 @@ typedef PRUintn uint; + * uint64 + */ + ++#if !defined(__HAIKU__) + typedef PRUint64 uint64; ++#endif + + /* + * uint32 + */ + ++#if !defined(__HAIKU__) + #if !defined(_WIN32) && !defined(NTO) + typedef PRUint32 uint32; + #else + typedef unsigned long uint32; #endif -+#include "primpl.h" - #ifdef _PR_POLL_AVAILABLE - #include - #endif -@@ -153,8 +154,6 @@ static ssize_t (*pt_aix_sendfile_fptr)() = NULL; - #include ++#endif + + /* + * uint16 + */ + ++#if !defined(__HAIKU__) + typedef PRUint16 uint16; ++#endif + + /* + * uint8 + */ + ++#if !defined(__HAIKU__) + typedef PRUint8 uint8; ++#endif + + /* + * int64 + */ + +-#if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) ++#if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) && !defined(__HAIKU__) + typedef PRInt64 int64; #endif --#include "primpl.h" -- - #if defined(LINUX) || defined(ANDROID) - #include +@@ -93,7 +104,7 @@ typedef PRInt64 int64; + */ + + #if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \ +- && !defined(HPUX) ++ && !defined(HPUX) && !defined(__HAIKU__) + #if !defined(_WIN32) && !defined(NTO) + typedef PRInt32 int32; + #else +@@ -106,7 +117,7 @@ typedef long int32; + */ + + #if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \ +- && !defined(HPUX) ++ && !defined(HPUX) && !defined(__HAIKU__) + typedef PRInt16 int16; #endif --- -2.30.2 - - -From 5e1146babffc6a8256994e3e455caca928bedb68 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Sat, 18 Dec 2021 19:19:25 +0100 -Subject: Haiku: add padding for sockaddr - - + +@@ -115,7 +126,7 @@ typedef PRInt16 int16; + */ + + #if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \ +- && !defined(HPUX) ++ && !defined(HPUX) && !defined(__HAIKU__) + typedef PRInt8 int8; + #endif + diff --git a/pr/include/prio.h b/pr/include/prio.h -index 8b331a3..e6c8d6f 100644 +index f726d47..d0daf62 100644 --- a/pr/include/prio.h +++ b/pr/include/prio.h @@ -152,6 +152,9 @@ union PRNetAddr { @@ -826,6 +573,180 @@ index 8b331a3..e6c8d6f 100644 } inet; struct { PRUint16 family; /* address family (AF_INET6) */ +diff --git a/pr/include/prtypes.h b/pr/include/prtypes.h +index b81df40..4aa2909 100644 +--- a/pr/include/prtypes.h ++++ b/pr/include/prtypes.h +@@ -64,7 +64,7 @@ + #define PR_CALLBACK_DECL + #define PR_STATIC_CALLBACK(__x) static __x + +-#elif defined(__declspec) ++#elif defined(__declspec) && !defined(__HAIKU__) + + #define PR_EXPORT(__type) extern __declspec(dllexport) __type + #define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type +diff --git a/pr/src/linking/prlink.c b/pr/src/linking/prlink.c +index 511d992..4188f44 100644 +--- a/pr/src/linking/prlink.c ++++ b/pr/src/linking/prlink.c +@@ -241,7 +241,11 @@ PR_GetLibraryPath(void) { + char* p = NULL; + int len; + ++#if defined(HAIKU) ++ ev = getenv("LIBRARY_PATH"); ++#else + ev = getenv("LD_LIBRARY_PATH"); ++#endif + if (!ev) { + ev = "/usr/lib:/lib"; + } +diff --git a/pr/src/md/unix/linux.c b/pr/src/md/unix/linux.c +index 75e47bb..9756882 100644 +--- a/pr/src/md/unix/linux.c ++++ b/pr/src/md/unix/linux.c +@@ -22,9 +22,11 @@ PRWord* _MD_HomeGCRegisters(PRThread* t, int isCurrent, int* np) { + + #ifdef _PR_PTHREADS + ++#ifndef HAIKU + extern void _MD_unix_terminate_waitpid_daemon(void); + + void _MD_CleanupBeforeExit(void) { _MD_unix_terminate_waitpid_daemon(); } ++#endif + + #else /* ! _PR_PTHREADS */ + +diff --git a/pr/src/md/unix/uxrng.c b/pr/src/md/unix/uxrng.c +index b4fc9c8..6447255 100644 +--- a/pr/src/md/unix/uxrng.c ++++ b/pr/src/md/unix/uxrng.c +@@ -52,7 +52,7 @@ static size_t GetHighResClock(void* buf, size_t maxbytes) { return 0; } + + #elif (defined(LINUX) || defined(FREEBSD) || defined(__FreeBSD_kernel__) || \ + defined(NETBSD) || defined(__NetBSD_kernel__) || defined(OPENBSD) || \ +- defined(__GNU__)) ++ defined(__GNU__)) || defined(__HAIKU__) + # include + # include + # include +diff --git a/pr/src/misc/prnetdb.c b/pr/src/misc/prnetdb.c +index 3438e30..d60d22d 100644 +--- a/pr/src/misc/prnetdb.c ++++ b/pr/src/misc/prnetdb.c +@@ -1110,7 +1110,7 @@ PR_GetHostByAddr(const PRNetAddr* hostaddr, char* buf, PRIntn bufsize, + * any usable implementation. + */ + +-# if defined(ANDROID) ++# if defined(ANDROID) || defined(__HAIKU__) + /* Android's Bionic libc system includes prototypes for these in netdb.h, + * but doesn't actually include implementations. It uses the 5-arg form, + * so these functions end up not matching the prototype. So just rename +diff --git a/pr/src/pthreads/ptio.c b/pr/src/pthreads/ptio.c +index f045b8c..a9f723b 100644 +--- a/pr/src/pthreads/ptio.c ++++ b/pr/src/pthreads/ptio.c +@@ -28,12 +28,13 @@ + # include + # include + # include +-# if defined(DARWIN) ++# if defined(DARWIN) || defined(__HAIKU__) + # include /* for uname */ + # endif + # if defined(SOLARIS) + # include /* to pick up FIONREAD */ + # endif ++#include "primpl.h" + # ifdef _PR_POLL_AVAILABLE + # include + # endif +@@ -153,8 +154,6 @@ static ssize_t (*pt_aix_sendfile_fptr)() = NULL; + # include + # endif + +-# include "primpl.h" +- + # if defined(LINUX) || defined(ANDROID) + # include + # endif +@@ -190,7 +189,7 @@ static PRBool _pr_ipv6_v6only_on_by_default; + defined(HPUX10_30) || defined(HPUX11) || defined(LINUX) || \ + defined(__GNU__) || defined(__GLIBC__) || defined(FREEBSD) || \ + defined(NETBSD) || defined(OPENBSD) || defined(NTO) || \ +- defined(DARWIN) || defined(RISCOS) ++ defined(DARWIN) || defined(RISCOS) || defined(__HAIKU__) + # define _PRSelectFdSetArg_t fd_set* + # else + # error "Cannot determine architecture" +@@ -3276,7 +3275,7 @@ static PRIOMethods _pr_socketpollfd_methods = { + # if defined(HPUX) || defined(SOLARIS) || defined(LINUX) || \ + defined(__GNU__) || defined(__GLIBC__) || defined(AIX) || \ + defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) || \ +- defined(NTO) || defined(DARWIN) || defined(RISCOS) ++ defined(NTO) || defined(DARWIN) || defined(RISCOS) || defined(__HAIKU__) + # define _PR_FCNTL_FLAGS O_NONBLOCK + # else + # error "Can't determine architecture" +diff --git a/pr/tests/Makefile.in b/pr/tests/Makefile.in +index 20e2f99..41eed36 100644 +--- a/pr/tests/Makefile.in ++++ b/pr/tests/Makefile.in +@@ -311,7 +311,7 @@ LIBPTHREAD = -lpthread + ifeq ($(OS_ARCH),AIX) + LIBPTHREAD = -lpthreads + endif +-ifeq (,$(filter-out FreeBSD OpenBSD BSD_OS QNX Darwin OpenUNIX,$(OS_ARCH))) ++ifeq (,$(filter-out Haiku FreeBSD OpenBSD BSD_OS QNX Darwin OpenUNIX,$(OS_ARCH))) + LIBPTHREAD = + endif + endif +@@ -389,6 +389,15 @@ $(OBJDIR)/prpoll: $(OBJDIR)/prpoll.o + $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lsocket $(EXTRA_LIBS) -o $@ + endif + ++ifeq ($(OS_ARCH),Haiku) ++ifeq ($(USE_IPV6),1) ++$(OBJDIR)/gethost: $(OBJDIR)/gethost.o ++ $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lnetwork $(EXTRA_LIBS) -o $@ ++endif ++$(OBJDIR)/prpoll: $(OBJDIR)/prpoll.o ++ $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lnetwork $(EXTRA_LIBS) -o $@ ++endif ++ + ifeq ($(USE_PTHREADS), 1) + $(OBJDIR)/attach: $(OBJDIR)/attach.o + $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@ +diff --git a/pr/tests/ipv6.c b/pr/tests/ipv6.c +index 78b0809..c7002d5 100644 +--- a/pr/tests/ipv6.c ++++ b/pr/tests/ipv6.c +@@ -111,7 +111,11 @@ int main(int argc, char** argv) { + # define NSPR_LIB "nspr4" + #endif + const PRVersionDescription* version_info; ++#ifdef __HAIKU__ ++ char *nspr_path = PR_GetEnv("LIBRARY_PATH"); ++#else + char* nspr_path = PR_GetEnv("LD_LIBRARY_PATH"); ++#endif + char* nspr_name = PR_GetLibraryName(nspr_path, NSPR_LIB); + PRLibrary* runtime = PR_LoadLibrary(nspr_name); + if (NULL == runtime) { +diff --git a/pr/tests/runtests.sh b/pr/tests/runtests.sh +index 37b231f..e5f59d8 100755 +--- a/pr/tests/runtests.sh ++++ b/pr/tests/runtests.sh +@@ -16,6 +16,7 @@ cd - + + export DYLD_LIBRARY_PATH=${ABS_LIB}:${DYLD_LIBRARY_PATH} + export LD_LIBRARY_PATH=${ABS_LIB}:${LD_LIBRARY_PATH} ++export LIBRARY_PATH=${ABS_LIB}:${LIBRARY_PATH} + export PATH=${ABS_LIB}:${PATH} + + # -- -2.30.2 +2.45.2 diff --git a/dev-libs/nspr/patches/nspr_x86-4.34.1.patchset b/dev-libs/nspr/patches/nspr_x86-4.34.1.patchset deleted file mode 100644 index 97a7aa8b1..000000000 --- a/dev-libs/nspr/patches/nspr_x86-4.34.1.patchset +++ /dev/null @@ -1,22 +0,0 @@ -From 06533440f09845fb4b308b8fff08e127b020b9aa Mon Sep 17 00:00:00 2001 -From: begasus -Date: Sat, 11 Jul 2020 19:15:31 +0000 -Subject: fix build - - -diff --git a/pr/include/obsolete/protypes.h b/pr/include/obsolete/protypes.h -index 65eb0f5..295f431 100644 ---- a/pr/include/obsolete/protypes.h -+++ b/pr/include/obsolete/protypes.h -@@ -67,7 +67,7 @@ typedef PRUint64 uint64; - * uint32 - */ - --#if !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO) && defined(__HAIKU__) -+#if !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO) && !defined(__HAIKU__) - typedef PRUint32 uint32; - #else - typedef unsigned long uint32; --- -2.27.0 -