--- /dev/null
+diff -ruN ../OpenSceneGraph-2.8.3/CMakeLists.txt ./CMakeLists.txt
+--- ../OpenSceneGraph-2.8.3/CMakeLists.txt 2010-04-01 11:02:54.000000000 +0200
++++ ./CMakeLists.txt 2010-06-25 17:28:40.905021853 +0200
+@@ -27,6 +27,7 @@
+ endif(COMMAND cmake_policy)\r
+ \r
+ PROJECT(OpenSceneGraph)\r
++
+ \r
+ SET(OPENSCENEGRAPH_MAJOR_VERSION 2)\r
+ SET(OPENSCENEGRAPH_MINOR_VERSION 8)\r
+@@ -276,6 +277,7 @@
+ # INSTALL_FILES(/include/osg/ FILES "${OPENSCENEGRAPH_CONFIG_HEADER}")\r
+ \r
+ \r
++INCLUDE(MacroOptionalFindPackage)
+ ################################################################################\r
+ # Optional build components\r
+ \r
+@@ -292,24 +294,24 @@
+ ENDIF(WIN32)\r
+ \r
+ # Common to all platforms:\r
+-FIND_PACKAGE(FreeType)\r
+-FIND_PACKAGE(Inventor)\r
+-FIND_PACKAGE(Jasper)\r
+-FIND_PACKAGE(OpenEXR)\r
+-FIND_PACKAGE(COLLADA)\r
+-FIND_PACKAGE(FBX)\r
+-FIND_PACKAGE(ZLIB)\r
+-FIND_PACKAGE(Xine)\r
+-FIND_PACKAGE(OpenVRML)\r
+-FIND_PACKAGE(Performer)\r
+-FIND_PACKAGE(GDAL)\r
+-FIND_PACKAGE(CURL)\r
+-FIND_PACKAGE(ITK)\r
+-FIND_PACKAGE(LibVNCServer)\r
+-FIND_PACKAGE(OurDCMTK)\r
+-FIND_PACKAGE(OpenAL)\r
+-FIND_PACKAGE(XUL)\r
+-FIND_PACKAGE(FFmpeg)\r
++MACRO_OPTIONAL_FIND_PACKAGE(FreeType)\r
++MACRO_OPTIONAL_FIND_PACKAGE(Inventor)\r
++MACRO_OPTIONAL_FIND_PACKAGE(Jasper)\r
++MACRO_OPTIONAL_FIND_PACKAGE(OpenEXR)\r
++MACRO_OPTIONAL_FIND_PACKAGE(COLLADA)\r
++MACRO_OPTIONAL_FIND_PACKAGE(FBX)\r
++MACRO_OPTIONAL_FIND_PACKAGE(ZLIB)\r
++MACRO_OPTIONAL_FIND_PACKAGE(Xine)\r
++MACRO_OPTIONAL_FIND_PACKAGE(OpenVRML)\r
++MACRO_OPTIONAL_FIND_PACKAGE(Performer)\r
++MACRO_OPTIONAL_FIND_PACKAGE(GDAL)\r
++MACRO_OPTIONAL_FIND_PACKAGE(CURL)\r
++MACRO_OPTIONAL_FIND_PACKAGE(ITK)\r
++MACRO_OPTIONAL_FIND_PACKAGE(LibVNCServer)\r
++MACRO_OPTIONAL_FIND_PACKAGE(OurDCMTK)\r
++MACRO_OPTIONAL_FIND_PACKAGE(OpenAL)\r
++MACRO_OPTIONAL_FIND_PACKAGE(XUL)\r
++MACRO_OPTIONAL_FIND_PACKAGE(FFmpeg)\r
+ \r
+ #use pkg-config to find various modues\r
+ INCLUDE(FindPkgConfig OPTIONAL)\r
+@@ -318,6 +320,7 @@
+ \r
+ INCLUDE(FindPkgConfig)\r
+ \r
++ IF(WITH_GTK)
+ PKG_CHECK_MODULES(GTK gtk+-2.0)\r
+ \r
+ IF(WIN32)\r
+@@ -325,10 +328,15 @@
+ ELSE(WIN32)\r
+ PKG_CHECK_MODULES(GTKGL gtkglext-x11-1.0)\r
+ ENDIF(WIN32)\r
++ ENDIF(WITH_GTK)
+ \r
+- PKG_CHECK_MODULES(RSVG librsvg-2.0)\r
++ IF(WITH_SVG)
++ PKG_CHECK_MODULES(RSVG librsvg-2.0)\r
++ ENDIF(WITH_SVG)
+ PKG_CHECK_MODULES(CAIRO cairo)\r
+- PKG_CHECK_MODULES(POPPLER poppler-glib)\r
++ IF(WITH_PDF)
++ PKG_CHECK_MODULES(POPPLER poppler-glib)\r
++ ENDIF(WITH_PDF)
+ \r
+ ENDIF(PKG_CONFIG_FOUND)\r
+ \r
+@@ -336,30 +344,30 @@
+ IF (BUILD_OSG_EXAMPLES)\r
+ \r
+ \r
+- FIND_PACKAGE(FLTK)\r
+- FIND_PACKAGE(GLUT)\r
+- FIND_PACKAGE(SDL)\r
+- FIND_PACKAGE(FOX)\r
++ MACRO_OPTIONAL_FIND_PACKAGE(FLTK)\r
++ MACRO_OPTIONAL_FIND_PACKAGE(GLUT)\r
++ MACRO_OPTIONAL_FIND_PACKAGE(SDL)\r
++ MACRO_OPTIONAL_FIND_PACKAGE(FOX)\r
+ \r
+ SET(wxWidgets_USE_LIBS base core gl net)\r
+- FIND_PACKAGE(wxWidgets)\r
++ MACRO_OPTIONAL_FIND_PACKAGE(wxWidgets)\r
+ \r
+ # To select a specific version of QT define DESIRED_QT_VERSION\r
+ # via cmake -DDESIRED_QT_VERSION=4\r
+ IF (DESIRED_QT_VERSION)\r
+ \r
+ IF (DESIRED_QT_VERSION MATCHES 4)\r
+- FIND_PACKAGE(Qt4)\r
++ MACRO_OPTIONAL_FIND_PACKAGE(Qt4)\r
+ ELSE(DESIRED_QT_VERSION MATCHES 4)\r
+- FIND_PACKAGE(Qt3)\r
++ MACRO_OPTIONAL_FIND_PACKAGE(Qt3)\r
+ ENDIF(DESIRED_QT_VERSION MATCHES 4)\r
+ \r
+ ELSE(DESIRED_QT_VERSION)\r
+ \r
+- FIND_PACKAGE(Qt4)\r
++ MACRO_OPTIONAL_FIND_PACKAGE(Qt4)\r
+ \r
+ IF (NOT QT4_FOUND)\r
+- FIND_PACKAGE(Qt3)\r
++ MACRO_OPTIONAL_FIND_PACKAGE(Qt3)\r
+ ENDIF(NOT QT4_FOUND)\r
+ \r
+ ENDIF(DESIRED_QT_VERSION)\r
+@@ -424,10 +432,10 @@
+ # Image readers/writers depend on 3rd party libraries except for OS X which\r
+ # can use Quicktime.\r
+ IF(NOT APPLE)\r
+- FIND_PACKAGE(GIFLIB)\r
+- FIND_PACKAGE(JPEG)\r
+- FIND_PACKAGE(PNG)\r
+- FIND_PACKAGE(TIFF)\r
++ MACRO_OPTIONAL_FIND_PACKAGE(GIFLIB)\r
++ MACRO_OPTIONAL_FIND_PACKAGE(JPEG)\r
++ MACRO_OPTIONAL_FIND_PACKAGE(PNG)\r
++ MACRO_OPTIONAL_FIND_PACKAGE(TIFF)\r
+ \r
+ # QuickTime is required for OS X, but optional for Windows.\r
+ IF(WIN32)\r
+@@ -722,7 +730,7 @@
+ ${PROJECT_BINARY_DIR}/doc/OpenSceneGraphReferenceDocs/osg32-32.png COPYONLY\r
+ )\r
+ #INSTALL(FILES ${PROJECT_BINARY_DIR}/doc/${PROJECT_NAME}ReferenceDocs-${OPENSCENEGRAPH_VERSION}.chm DESTINATION doc OPTIONAL COMPONENT openscenegraph-doc)\r
+- INSTALL(DIRECTORY ${PROJECT_BINARY_DIR}/doc/OpenSceneGraphReferenceDocs DESTINATION doc COMPONENT openscenegraph-doc)\r
++ INSTALL(DIRECTORY ${PROJECT_BINARY_DIR}/doc/OpenSceneGraphReferenceDocs DESTINATION ${GENTOO_DOCDIR} COMPONENT openscenegraph-doc)\r
+ \r
+ # now set up openthreads documentation generation\r
+ IF(BUILD_REF_DOCS_TAGFILE)\r
+@@ -738,7 +746,7 @@
+ ${PROJECT_BINARY_DIR}/doc/OpenThreadsReferenceDocs/osg32-32.png COPYONLY\r
+ )\r
+ #INSTALL(FILES ${PROJECT_BINARY_DIR}/doc/${PROJECT_NAME}ReferenceDocs-${OPENSCENEGRAPH_VERSION}.chm DESTINATION doc OPTIONAL COMPONENT openscenegraph-doc)\r
+- INSTALL(DIRECTORY ${PROJECT_BINARY_DIR}/doc/OpenThreadsReferenceDocs DESTINATION doc COMPONENT openthreads-doc)\r
++ INSTALL(DIRECTORY ${PROJECT_BINARY_DIR}/doc/OpenThreadsReferenceDocs DESTINATION ${GENTOO_DOCDIR} COMPONENT openthreads-doc)\r
+ \r
+ # Process our other doxyfiles but don't create targets for these\r
+ CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/doc/Doxyfiles/all_Doxyfile\r
+diff -ruN ../OpenSceneGraph-2.8.3/CMakeModules/FindFLTK.cmake ./CMakeModules/FindFLTK.cmake
+--- ../OpenSceneGraph-2.8.3/CMakeModules/FindFLTK.cmake 2010-03-13 11:40:00.000000000 +0100
++++ ./CMakeModules/FindFLTK.cmake 1970-01-01 01:00:00.000000000 +0100
+@@ -1,60 +0,0 @@
+-# Locate gdal\r
+-# This module defines\r
+-# FLTK_LIBRARY\r
+-# FLTK_FOUND, if false, do not try to link to gdal \r
+-# FLTK_INCLUDE_DIR, where to find the headers\r
+-#\r
+-# $FLTK_DIR is an environment variable that would\r
+-# correspond to the ./configure --prefix=$FLTK_DIR\r
+-#\r
+-# Created by Robert Osfield. \r
+-\r
+-FIND_PATH(FLTK_INCLUDE_DIR Fl/Fl.H Fl/Fl.h\r
+- $ENV{FLTK_DIR}/include\r
+- $ENV{FLTK_DIR}\r
+- $ENV{OSGDIR}/include\r
+- $ENV{OSGDIR}\r
+- $ENV{OSG_ROOT}/include\r
+- ~/Library/Frameworks\r
+- /Library/Frameworks\r
+- /usr/local/include\r
+- /usr/include\r
+- /sw/include # Fink\r
+- /opt/local/include # DarwinPorts\r
+- /opt/csw/include # Blastwave\r
+- /opt/include\r
+- [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include\r
+- /usr/freeware/include\r
+-)\r
+-\r
+-MACRO(FIND_FLTK_LIBRARY MYLIBRARY MYLIBRARYNAME)\r
+-\r
+- FIND_LIBRARY(${MYLIBRARY}\r
+- NAMES ${MYLIBRARYNAME}\r
+- PATHS\r
+- $ENV{FLTK_DIR}/lib\r
+- $ENV{FLTK_DIR}\r
+- $ENV{OSGDIR}/lib\r
+- $ENV{OSGDIR}\r
+- $ENV{OSG_ROOT}/lib\r
+- ~/Library/Frameworks\r
+- /Library/Frameworks\r
+- /usr/local/lib\r
+- /usr/lib\r
+- /sw/lib\r
+- /opt/local/lib\r
+- /opt/csw/lib\r
+- /opt/lib\r
+- [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib\r
+- /usr/freeware/lib64\r
+- )\r
+-\r
+-ENDMACRO(FIND_FLTK_LIBRARY LIBRARY LIBRARYNAME)\r
+-\r
+-FIND_FLTK_LIBRARY(FLTK_LIBRARY fltk)\r
+-FIND_FLTK_LIBRARY(FLTK_GL_LIBRARY fltk_gl)\r
+-\r
+-SET(FLTK_FOUND "NO")\r
+-IF(FLTK_LIBRARY AND FLTK_INCLUDE_DIR)\r
+- SET(FLTK_FOUND "YES")\r
+-ENDIF(FLTK_LIBRARY AND FLTK_INCLUDE_DIR)\r
+diff -ruN ../OpenSceneGraph-2.8.3/CMakeModules/MacroOptionalFindPackage.cmake ./CMakeModules/MacroOptionalFindPackage.cmake
+--- ../OpenSceneGraph-2.8.3/CMakeModules/MacroOptionalFindPackage.cmake 1970-01-01 01:00:00.000000000 +0100
++++ ./CMakeModules/MacroOptionalFindPackage.cmake 2010-06-16 14:27:36.000000000 +0200
+@@ -0,0 +1,28 @@
++# - MACRO_OPTIONAL_FIND_PACKAGE() combines FIND_PACKAGE() with an OPTION()
++# MACRO_OPTIONAL_FIND_PACKAGE( <name> [QUIT] )
++# This macro is a combination of OPTION() and FIND_PACKAGE(), it
++# works like FIND_PACKAGE(), but additionally it automatically creates
++# an option name WITH_<name>, which can be disabled via the cmake GUI.
++# or via -DWITH_<name>=OFF
++# The standard <name>_FOUND variables can be used in the same way
++# as when using the normal FIND_PACKAGE()
++
++# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
++#
++# Redistribution and use is allowed according to the terms of the BSD license.
++# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
++
++
++macro (MACRO_OPTIONAL_FIND_PACKAGE _name )
++ option(WITH_${_name} "Search for ${_name} package" ON)
++ if (WITH_${_name})
++ find_package(${_name} ${ARGN})
++ else (WITH_${_name})
++ set(${_name}_FOUND)
++ set(${_name}_INCLUDE_DIR)
++ set(${_name}_INCLUDES)
++ set(${_name}_LIBRARY)
++ set(${_name}_LIBRARIES)
++ endif (WITH_${_name})
++endmacro (MACRO_OPTIONAL_FIND_PACKAGE)
++
+diff -ruN ../OpenSceneGraph-2.8.3/CMakeModules/OsgMacroUtils.cmake ./CMakeModules/OsgMacroUtils.cmake
+--- ../OpenSceneGraph-2.8.3/CMakeModules/OsgMacroUtils.cmake 2010-03-13 11:40:02.000000000 +0100
++++ ./CMakeModules/OsgMacroUtils.cmake 2010-06-25 09:03:22.295913047 +0200
+@@ -305,9 +305,9 @@
+ SETUP_EXE(${IS_COMMANDLINE_APP})\r
+ \r
+ IF(APPLE)\r
+- INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin BUNDLE DESTINATION share/OpenSceneGraph/bin ) \r
++ INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin BUNDLE DESTINATION bin)\r
+ ELSE(APPLE)\r
+- INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples )\r
++ INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin COMPONENT openscenegraph-examples )\r
+ ENDIF(APPLE)\r
+ \r
+ ENDMACRO(SETUP_EXAMPLE)\r
+diff -ruN ../OpenSceneGraph-2.8.3/examples/osgviewerFLTK/CMakeLists.txt ./examples/osgviewerFLTK/CMakeLists.txt
+--- ../OpenSceneGraph-2.8.3/examples/osgviewerFLTK/CMakeLists.txt 2010-03-13 11:40:18.000000000 +0100
++++ ./examples/osgviewerFLTK/CMakeLists.txt 2010-06-25 16:39:50.863920026 +0200
+@@ -1,6 +1,6 @@
+ SET(TARGET_SRC osgviewerFLTK.cpp )\r
+ \r
+-SET(TARGET_EXTERNAL_LIBRARIES ${FLTK_LIBRARY} ${FLTK_GL_LIBRARY})\r
++SET(TARGET_EXTERNAL_LIBRARIES ${FLTK_BASE_LIBRARY} ${FLTK_GL_LIBRARY})\r
+ \r
+ INCLUDE_DIRECTORIES(${FLTK_INCLUDE_DIR} )\r
+ \r
--- /dev/null
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-games/openscenegraph/openscenegraph-2.8.3.ebuild,v 1.1 2010/06/28 19:57:46 reavertm Exp $
+
+EAPI=2
+
+inherit eutils versionator cmake-utils
+
+MY_PN="OpenSceneGraph"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Open source high performance 3D graphics toolkit"
+HOMEPAGE="http://www.openscenegraph.org/projects/osg/"
+SRC_URI="http://www.openscenegraph.org/downloads/stable_releases/${MY_P}/source/${MY_P}.zip"
+
+LICENSE="wxWinLL-3 LGPL-2.1"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+SLOT="0"
+IUSE="curl debug doc examples ffmpeg fltk fox gdal gif glut gtk jpeg jpeg2k
+openexr openinventor osgapps pdf png qt4 sdl static-libs svg tiff truetype vnc
+wxwidgets xine xrandr zlib"
+
+# NOTE: OpenAL (support missing)
+# TODO: COLLADA, FBX, OpenVRML, Performer, ITK, DCMTK
+# xulrunner? ( only 1.8 supported for now, ignore it
+# net-libs/xulrunner:1.8
+# x11-libs/gtk+:2
+# )
+RDEPEND="
+ x11-libs/libSM
+ x11-libs/libXext
+ virtual/glu
+ virtual/opengl
+ curl? ( net-misc/curl )
+ examples? (
+ fltk? ( x11-libs/fltk:1.1[opengl] )
+ fox? ( x11-libs/fox[opengl] )
+ glut? ( virtual/glut )
+ gtk? ( x11-libs/gtkglext )
+ qt4? (
+ x11-libs/qt-core:4
+ x11-libs/qt-gui:4
+ x11-libs/qt-opengl:4
+ )
+ sdl? ( media-libs/libsdl )
+ wxwidgets? ( x11-libs/wxGTK[opengl,X] )
+ )
+ ffmpeg? ( media-video/ffmpeg )
+ gdal? ( sci-libs/gdal )
+ gif? ( media-libs/giflib )
+ jpeg? ( media-libs/jpeg:0 )
+ jpeg2k? ( media-libs/jasper )
+ openexr? (
+ media-libs/ilmbase
+ media-libs/openexr
+ )
+ openinventor? (
+ || (
+ media-libs/coin
+ media-libs/openinventor
+ )
+ )
+ pdf? ( app-text/poppler[cairo] )
+ png? ( media-libs/libpng:0 )
+ svg? (
+ gnome-base/librsvg
+ x11-libs/cairo
+ )
+ tiff? ( media-libs/tiff:0 )
+ truetype? ( media-libs/freetype:2 )
+ vnc? ( net-libs/libvncserver )
+ xine? ( media-libs/xine-lib )
+ xrandr? ( x11-libs/libXrandr )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-util/pkgconfig
+ x11-proto/xextproto
+ doc? ( app-doc/doxygen )
+ xrandr? ( x11-proto/randrproto )
+"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=(AUTHORS.txt ChangeLog NEWS.txt)
+
+PATCHES=(
+ "${FILESDIR}/${P}-cmake.patch"
+)
+
+src_configure() {
+ # Needed by FFmpeg
+ append-cppflags -D__STDC_CONSTANT_MACROS
+
+ mycmakeargs=(
+ -DWITH_OpenAL=OFF # Commented out in buildsystem
+ -DWITH_XUL=OFF # Supports only xulrunner 1.8
+ -DGENTOO_DOCDIR="/usr/share/doc/${PF}"
+ $(cmake-utils_use_with curl)
+ $(cmake-utils_use_build doc DOCUMENTATION)
+ $(cmake-utils_use_build examples OSG_APPLICATIONS)
+ $(cmake-utils_use_build examples OSG_EXAMPLES)
+ $(cmake-utils_use_with ffmpeg FFmpeg)
+ $(cmake-utils_use_with fltk)
+ $(cmake-utils_use_with fox)
+ $(cmake-utils_use_with gdal)
+ $(cmake-utils_use_with gif GIFLIB)
+ $(cmake-utils_use_with glut)
+ $(cmake-utils_use_with gtk)
+ $(cmake-utils_use_with jpeg)
+ $(cmake-utils_use_with jpeg2k Jasper)
+ $(cmake-utils_use_with openexr OpenEXR)
+ $(cmake-utils_use_with openinventor Inventor)
+ $(cmake-utils_use_with pdf)
+ $(cmake-utils_use_with png)
+ $(cmake-utils_use_with qt4)
+ $(cmake-utils_use !static-libs DYNAMIC_OPENSCENEGRAPH)
+ $(cmake-utils_use_with sdl)
+ $(cmake-utils_use_with svg)
+ $(cmake-utils_use_with tiff)
+ $(cmake-utils_use_with truetype FreeType)
+ $(cmake-utils_use_with vnc LibVNCServer)
+ $(cmake-utils_use_with wxwidgets wxWidgets)
+ $(cmake-utils_use_with xine)
+ $(cmake-utils_use xrandr OSGVIEWER_USE_XRANDR)
+ $(cmake-utils_use_with zlib)
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ use doc && cmake-utils_src_compile doc_openscenegraph doc_openthreads
+}