Hi,

With the following (wip) diff, I am able to unbreak
devel/spidermonkey78 on sparc64, and build it successfully.

There were two differents problems:

- ErrorReport.h is using va_list without including stdarg.h

- rust part needs ports-gcc to build (as lang/rust is linked with llvm
  libs and estdc++, and so search for libgcc.a, and ports-clang
  doesn't know where to find it)

For both, I need some help to proper correction :)

Regarding stdarg.h, the problem seems to occurs only on
sparc64. Others archs doesn't have this problem. I assume stdarg.h (or
c++ counterpart) is included by some others include. I am really
unsure about patching js/public/ErrorReport.h (which is a public API).

Regarding COMPILER ports-gcc changes, it will some affect others
archs. Maybe we could set COMPILER conditionnally (.if MACHINE ==
sparc64) ?

Thanks.
-- 
Sebastien Marie


diff f70231781648f922592f106731742fbc994f02c4 /home/semarie/repos/ports
blob - 1cc4370a95b301480afdab723c4176eaf66c5acb
file + devel/spidermonkey78/Makefile
--- devel/spidermonkey78/Makefile
+++ devel/spidermonkey78/Makefile
@@ -37,7 +37,7 @@ MODPY_RUNDEP =                No
 
 # C++11
 # sync with SHARED_LIBS consumers: x11/gnome/gjs
-COMPILER =             base-clang ports-clang
+COMPILER =             base-clang ports-gcc
 
 USE_GMAKE =            yes
 
blob - /dev/null
file + devel/spidermonkey78/patches/patch-js_public_ErrorReport_h
--- /dev/null
+++ devel/spidermonkey78/patches/patch-js_public_ErrorReport_h
@@ -0,0 +1,13 @@
+$OpenBSD$
+
+Index: js/public/ErrorReport.h
+--- js/public/ErrorReport.h.orig
++++ js/public/ErrorReport.h
+@@ -20,7 +20,6 @@
+ #include "mozilla/Assertions.h"  // MOZ_ASSERT
+ 
+ #include <iterator>  // std::input_iterator_tag, std::iterator
++#include <stdarg.h>
+ #include <stddef.h>  // size_t
+ #include <stdint.h>  // int16_t, uint16_t
+ #include <string.h>  // strlen

Reply via email to