aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortrevor <trevor@FreeBSD.org>2002-12-08 15:44:35 +0800
committertrevor <trevor@FreeBSD.org>2002-12-08 15:44:35 +0800
commit95bdafc75c0c83e913f2f4e3016c9ce0f3342d7e (patch)
tree3c73cf2c6247a9afe0b5c08df8a34ccbc1edb767
parentae19e3420ccd955823f52e9d8b054cb64c361636 (diff)
downloadfreebsd-ports-gnome-95bdafc75c0c83e913f2f4e3016c9ce0f3342d7e.tar.gz
freebsd-ports-gnome-95bdafc75c0c83e913f2f4e3016c9ce0f3342d7e.tar.zst
freebsd-ports-gnome-95bdafc75c0c83e913f2f4e3016c9ce0f3342d7e.zip
Unbreak for use with IPv4 on FreeBSD -CURRENT (only tested on i386).
Obtained from: ume (ports/www/mozilla/files/patch-nsprpub::pr::src::pthreads::ptio.c rev. 1.1)
-rw-r--r--www/beonex/Makefile4
-rw-r--r--www/beonex/files/patch-ptio.c26
2 files changed, 26 insertions, 4 deletions
diff --git a/www/beonex/Makefile b/www/beonex/Makefile
index 8faf35eb9620..c1f315f91e9c 100644
--- a/www/beonex/Makefile
+++ b/www/beonex/Makefile
@@ -95,10 +95,6 @@ ALL_TARGET= default
CONFIGURE_ARGS+= --enable-reorder
.endif
-.if ${OSVERSION} > 500038
-BROKEN= "runtime error on FreeBSD -CURRENT"
-.endif
-
.if exists(${LOCALBASE}/include/freetype/freetype.h)
BROKEN="You must upgrade your freetype port to 1.3.1_2 or higher before installing Beonex. If you have 1.3.1_2 installed, please remove ${LOCALBASE}/include/freetype, then build Beonex"
.endif
diff --git a/www/beonex/files/patch-ptio.c b/www/beonex/files/patch-ptio.c
new file mode 100644
index 000000000000..243fa27d1b36
--- /dev/null
+++ b/www/beonex/files/patch-ptio.c
@@ -0,0 +1,26 @@
+Don't use mapped IPv6 address when connecting [in] IPv4 node.
+
+author: Hajimu UMEMOTO (FreeBSD.org login "ume")
+
+Index: nsprpub/pr/src/pthreads/ptio.c
+diff -u nsprpub/pr/src/pthreads/ptio.c.orig nsprpub/pr/src/pthreads/ptio.c
+--- nsprpub/pr/src/pthreads/ptio.c.orig Fri Apr 12 03:14:39 2002
++++ nsprpub/pr/src/pthreads/ptio.c Tue Jul 30 18:52:11 2002
+@@ -3414,6 +3414,17 @@
+ if (osfd == -1) pt_MapError(_PR_MD_MAP_SOCKET_ERROR, errno);
+ else
+ {
++#if (defined(_PR_INET6_PROBE) || defined(_PR_INET6)) && \
++ defined(__FreeBSD__) && defined(IPV6_V6ONLY)
++ if (domain == PR_AF_INET6) {
++ int opt = 0;
++ if (setsockopt(osfd, IPPROTO_IPV6, IPV6_V6ONLY,
++ &opt, sizeof(opt))) {
++ close(osfd);
++ return NULL;
++ }
++ }
++#endif
+ fd = pt_SetMethods(osfd, ftype, PR_FALSE, PR_FALSE);
+ if (fd == NULL) close(osfd);
+ }