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)

Reply via email to