Package: openscenegraph
Severity: important
Version: 1.0.0-5
Tags: patch
Hi,
the current version fails to build on GNU/kFreeBSD.
Please find attached patch to fix that.
It would also be nice if you can ask upstream
to include this changes.
Thanks in advance
Petr
only in patch2:
unchanged:
--- openscenegraph-1.0.0.orig/OpenSceneGraph/Make/makedefs
+++ openscenegraph-1.0.0/OpenSceneGraph/Make/makedefs
@@ -14,6 +14,12 @@
OS := IRIX
endif
+# for GNU/kFreeBSD use Linux setup
+#
+ifeq ($(findstring kFreeBSD,$(OS)),kFreeBSD)
+OS := Linux
+endif
+
## Make CYGWIN_XXXX CYGWIN so it's "Windows cross platform" :)
ifeq ($(findstring CYGWIN,$(OS)),CYGWIN)
OS := CYGWIN
only in patch2:
unchanged:
--- openscenegraph-1.0.0.orig/OpenSceneGraph/examples/osgcluster/broadcaster.cpp
+++ openscenegraph-1.0.0/OpenSceneGraph/examples/osgcluster/broadcaster.cpp
@@ -19,7 +19,7 @@
#if defined(__linux)
#include <unistd.h>
#include <linux/sockios.h>
-#elif defined(__FreeBSD__)
+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
#include <unistd.h>
#include <sys/sockio.h>
#elif defined(__sgi)
only in patch2:
unchanged:
--- openscenegraph-1.0.0.orig/OpenSceneGraph/examples/osgcluster/receiver.cpp
+++ openscenegraph-1.0.0/OpenSceneGraph/examples/osgcluster/receiver.cpp
@@ -104,7 +104,7 @@
return;
}
-#if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ )
+#if defined(__linux) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ||
defined( __APPLE__ )
socklen_t
#else
int
only in patch2:
unchanged:
--- openscenegraph-1.0.0.orig/OpenSceneGraph/src/osgPlugins/net/sockstream.cpp
+++ openscenegraph-1.0.0/OpenSceneGraph/src/osgPlugins/net/sockstream.cpp
@@ -248,7 +248,7 @@
case EWOULDBLOCK:
// On FreeBSD (and probably on Linux too)
// EAGAIN has the same value as EWOULDBLOCK
-#if !defined(__CYGWIN__) && !defined( __sgi) && !defined(__linux__) &&
!defined(__sun) && !(defined(__FreeBSD__) || defined(__NetBSD__) ||
defined(__OpenBSD__) || defined(__bsdi__) || defined(__APPLE__)) // LN
+#if !defined(__CYGWIN__) && !defined( __sgi) && !defined(__linux__) &&
!defined(__sun) && !(defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ||
defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) ||
defined(__APPLE__)) // LN
case EAGAIN:
#endif
return true;
only in patch2:
unchanged:
--- openscenegraph-1.0.0.orig/OpenSceneGraph/src/osgPlugins/net/sockstream.h
+++ openscenegraph-1.0.0/OpenSceneGraph/src/osgPlugins/net/sockstream.h
@@ -167,7 +167,7 @@
msg_peek = MSG_PEEK,
msg_dontroute = MSG_DONTROUTE,
-#if !(defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) ||
defined(__bsdi__) || defined(__APPLE__))
+#if !(defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ||
defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) ||
defined(__APPLE__))
msg_maxiovlen = MSG_MAXIOVLEN
#endif
};
only in patch2:
unchanged:
--- openscenegraph-1.0.0.orig/OpenThreads/Make/makedefs
+++ openscenegraph-1.0.0/OpenThreads/Make/makedefs
@@ -7,6 +7,12 @@
OS := IRIX
endif
+# for GNU/kFreeBSD use Linux setup
+#
+ifeq ($(findstring kFreeBSD,$(OS)),kFreeBSD)
+OS := Linux
+endif
+
## Make CYGWIN_XXXX CYGWIN so it's "Windows cross platform" :)
ifeq ($(findstring CYGWIN,$(OS)),CYGWIN)
OS := CYGWIN
only in patch2:
unchanged:
--- openscenegraph-1.0.0.orig/Producer/Make/makedefs
+++ openscenegraph-1.0.0/Producer/Make/makedefs
@@ -1,6 +1,12 @@
SHELL = /bin/sh
OS := $(shell uname)
+# for GNU/kFreeBSD use Linux setup
+#
+ifeq ($(findstring kFreeBSD,$(OS)),kFreeBSD)
+OS := Linux
+endif
+
## We don't care about architectural distinguishers in the OS
## such as IRIX64, IRIX32, etc. so we truncate IRIX?? to IRIX
ifeq ($(findstring IRIX,$(OS)),IRIX)
only in patch2:
unchanged:
--- openscenegraph-1.0.0.orig/Producer/doc/Tutorial/SourceCode/Make/makedefs
+++ openscenegraph-1.0.0/Producer/doc/Tutorial/SourceCode/Make/makedefs
@@ -1,6 +1,12 @@
SHELL = /bin/sh
OS := $(shell uname)
+# for GNU/kFreeBSD use Linux setup
+#
+ifeq ($(findstring kFreeBSD,$(OS)),kFreeBSD)
+OS := Linux
+endif
+
## We don't care about architectural distinguishers in the OS
## such as IRIX64, IRIX32, etc. so we truncate IRIX?? to IRIX
ifeq ($(findstring IRIX,$(OS)),IRIX)