summaryrefslogtreecommitdiff
path: root/dev-games/openscenegraph
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-games/openscenegraph
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-games/openscenegraph')
-rw-r--r--dev-games/openscenegraph/Manifest5
-rw-r--r--dev-games/openscenegraph/files/openscenegraph-3.5.1-jpeg-9.patch34
-rw-r--r--dev-games/openscenegraph/files/openscenegraph-3.5.5-cmake.patch281
-rw-r--r--dev-games/openscenegraph/metadata.xml25
-rw-r--r--dev-games/openscenegraph/openscenegraph-3.5.5.ebuild147
5 files changed, 492 insertions, 0 deletions
diff --git a/dev-games/openscenegraph/Manifest b/dev-games/openscenegraph/Manifest
new file mode 100644
index 000000000000..fbaeb4061691
--- /dev/null
+++ b/dev-games/openscenegraph/Manifest
@@ -0,0 +1,5 @@
+AUX openscenegraph-3.5.1-jpeg-9.patch 1211 BLAKE2B 7fedf10332a13270a489c5d2e662947ca84659ad5abc43190d0415212b083b72933b01f84caed161d457490587c8236e38e070e734c649c44b0d67fdc7399a2d SHA512 404439415f8ff6881a90be44281e4a811f018c3e82c2981d076a106e63a3c44fd769867496b8f8a7d53669ba660ab9076a6ccab31e921e9abab65d2ba652b5cc
+AUX openscenegraph-3.5.5-cmake.patch 11029 BLAKE2B 924c464b46b58e97efc3d477742c58c1762ccd4ad9cbc4ecb45232a1d4b8a476540d38031a6886c46a792c2a30da381a75c11a3a8303da56620c28e423043876 SHA512 f5cf409acd5d4e11b7f90fca8775e50cf57ae020fdae74e26d05a984726cb614d33f317c5ec985a198865cd445b3a1e8e2f5843af8ba10c890eb332ed9498504
+DIST OpenSceneGraph-3.5.5.tar.gz 5666085 BLAKE2B f474f7e62476c816cc9b036995f2571e65d33ed426a95eb2727994fd2c46e95457bf5392e488556e53c13c30bd46250f0c3d871678a4de234eae8953c03560a6 SHA512 f4a890bfbabab0ed8d50ad50e8f9ae5aa6edd4a73eda30d6c53ad478889608f7c980306a79549ca1e472cdd3df8061af03537c8139fa6446b00aebf47ec26827
+EBUILD openscenegraph-3.5.5.ebuild 3789 BLAKE2B a83f1017bd1add8f5b15cddb48dfa22818ad4ab4a109a9755af76b50625623cfca83d0cb4eb3a74b2f22701b1e6126195313671c333bb237b482bb5525dbfb6f SHA512 1587e604a77f4d6ed367eca0aa83a492523a5b1689f766798c8f57109ae4d88fd77f46e02e8a324907e303b31ba1fd9c65e2464a5ea15b67dbfd5d38b4c1a110
+MISC metadata.xml 1616 BLAKE2B 1c92db1270e1785f2dc412a043102d47fb9635b1063bb2055b2c807912039c074da0b9347e4301ebed8b76823ed6c46f31bd6a27852f408402c867d9fd46128b SHA512 b2fb8a0c8df980ab7d31b04b4f0f9d7a31f5689cd3a08fac6aaa8376116c0b361994779ba04808aeba2e07f76dcfcbf41bd99068ae5f9038421c7d9d67da0c73
diff --git a/dev-games/openscenegraph/files/openscenegraph-3.5.1-jpeg-9.patch b/dev-games/openscenegraph/files/openscenegraph-3.5.1-jpeg-9.patch
new file mode 100644
index 000000000000..f6e85e8e352d
--- /dev/null
+++ b/dev-games/openscenegraph/files/openscenegraph-3.5.1-jpeg-9.patch
@@ -0,0 +1,34 @@
+From 34b4e7001522c1b47b4211dac34d2d6a6b994a6f Mon Sep 17 00:00:00 2001
+From: Robert Osfield <robert@openscenegraph.com>
+Date: Thu, 17 Aug 2017 10:52:59 +0100
+Subject: [PATCH] Added version check for boolean, TRUE and FALSE settings
+
+---
+ src/osgPlugins/jpeg/ReaderWriterJPEG.cpp | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/src/osgPlugins/jpeg/ReaderWriterJPEG.cpp b/src/osgPlugins/jpeg/ReaderWriterJPEG.cpp
+index 9f7f4c38937..115203322a5 100644
+--- a/src/osgPlugins/jpeg/ReaderWriterJPEG.cpp
++++ b/src/osgPlugins/jpeg/ReaderWriterJPEG.cpp
+@@ -70,12 +70,14 @@ namespace osgDBJPEG
+
+ static int jpegerror = ERR_NO_ERROR;
+
+-/* Some versions of jmorecfg.h define boolean, some don't...
+- Those that do also define HAVE_BOOLEAN, so we can guard using that. */
+-#ifndef HAVE_BOOLEAN
+- typedef int boolean;
+- #define FALSE 0
+- #define TRUE 1
++#if JPEG_LIB_VERSION < 90
++ /* Some versions of jmorecfg.h define boolean, some don't...
++ Those that do also define HAVE_BOOLEAN, so we can guard using that. */
++ #ifndef HAVE_BOOLEAN
++ typedef int boolean;
++ #define FALSE 0
++ #define TRUE 1
++ #endif
+ #endif
+
+ /* CODE FOR READING/WRITING JPEG FROM STREAMS
diff --git a/dev-games/openscenegraph/files/openscenegraph-3.5.5-cmake.patch b/dev-games/openscenegraph/files/openscenegraph-3.5.5-cmake.patch
new file mode 100644
index 000000000000..6b8ea7abe60e
--- /dev/null
+++ b/dev-games/openscenegraph/files/openscenegraph-3.5.5-cmake.patch
@@ -0,0 +1,281 @@
+--- OpenSceneGraph-3.4.0/CMakeLists.txt
++++ OpenSceneGraph-3.4.0/CMakeLists.txt
+@@ -607,6 +607,7 @@
+
+ # INSTALL_FILES(/include/osg/ FILES "${OPENSCENEGRAPH_CONFIG_HEADER}")
+
++INCLUDE(MacroOptionalFindPackage)
+
+ ################################################################################
+ # Set Version header file
+@@ -716,42 +716,42 @@
+ ANDROID_3RD_PARTY()
+ ELSE()
+ # Common to all platforms except android:
+- FIND_PACKAGE(Freetype)
+- FIND_PACKAGE(Inventor)
+- FIND_PACKAGE(Jasper)
+- FIND_PACKAGE(OpenEXR)
+- FIND_PACKAGE(COLLADA)
+- FIND_PACKAGE(FBX)
+- FIND_PACKAGE(ZLIB)
+- FIND_PACKAGE(Xine)
+- FIND_PACKAGE(OpenVRML)
+- FIND_PACKAGE(GDAL)
+- FIND_PACKAGE(GTA)
+- FIND_PACKAGE(CURL)
+- FIND_PACKAGE(LibVNCServer)
+- FIND_PACKAGE(OurDCMTK)
+- FIND_PACKAGE(FFmpeg)
+- FIND_PACKAGE(GStreamer COMPONENTS app pbutils)
+- FIND_PACKAGE(GLIB COMPONENTS gobject)
++ MACRO_OPTIONAL_FIND_PACKAGE(Freetype)
++ MACRO_OPTIONAL_FIND_PACKAGE(Inventor)
++ MACRO_OPTIONAL_FIND_PACKAGE(Jasper)
++ MACRO_OPTIONAL_FIND_PACKAGE(OpenEXR)
++ MACRO_OPTIONAL_FIND_PACKAGE(COLLADA)
++ MACRO_OPTIONAL_FIND_PACKAGE(FBX)
++ MACRO_OPTIONAL_FIND_PACKAGE(ZLIB)
++ MACRO_OPTIONAL_FIND_PACKAGE(Xine)
++ MACRO_OPTIONAL_FIND_PACKAGE(OpenVRML)
++ MACRO_OPTIONAL_FIND_PACKAGE(GDAL)
++ MACRO_OPTIONAL_FIND_PACKAGE(GTA)
++ MACRO_OPTIONAL_FIND_PACKAGE(CURL)
++ MACRO_OPTIONAL_FIND_PACKAGE(LibVNCServer)
++ MACRO_OPTIONAL_FIND_PACKAGE(OurDCMTK)
++ MACRO_OPTIONAL_FIND_PACKAGE(FFmpeg)
++ MACRO_OPTIONAL_FIND_PACKAGE(GStreamer COMPONENTS app pbutils)
++ MACRO_OPTIONAL_FIND_PACKAGE(GLIB COMPONENTS gobject)
+ FIND_PACKAGE(DirectShow)
+- FIND_PACKAGE(SDL2)
+- FIND_PACKAGE(SDL)
+- FIND_PACKAGE(Poppler-glib)
+- FIND_PACKAGE(RSVG)
+- FIND_PACKAGE(GtkGl)
++ MACRO_OPTIONAL_FIND_PACKAGE(SDL2)
++ MACRO_OPTIONAL_FIND_PACKAGE(SDL)
++ MACRO_OPTIONAL_FIND_PACKAGE(Poppler-glib)
++ MACRO_OPTIONAL_FIND_PACKAGE(RSVG)
++ MACRO_OPTIONAL_FIND_PACKAGE(GtkGl)
+ FIND_PACKAGE(DirectInput)
+- FIND_PACKAGE(NVTT)
++ MACRO_OPTIONAL_FIND_PACKAGE(NVTT)
+ IF (NOT WIN32)
+- FIND_PACKAGE(Asio)
++ MACRO_OPTIONAL_FIND_PACKAGE(Asio)
+ ENDIF()
+ FIND_PACKAGE(ZeroConf)
+
+- FIND_PACKAGE(LIBLAS)
++ MACRO_OPTIONAL_FIND_PACKAGE(LIBLAS)
+
+ IF (NOT(OSG_USE_LOCAL_LUA_SOURCE))
+- FIND_PACKAGE(Lua52)
++ MACRO_OPTIONAL_FIND_PACKAGE(Lua52)
+ IF (NOT (LUA_LIBRARIES AND LUA_INCLUDE_DIR))
+- FIND_PACKAGE(Lua51)
++ MACRO_OPTIONAL_FIND_PACKAGE(Lua51)
+ ENDIF()
+ ENDIF()
+
+@@ -768,11 +768,11 @@
+ IF (BUILD_OSG_EXAMPLES AND NOT ANDROID)
+
+
+- FIND_PACKAGE(FLTK)
+- FIND_PACKAGE(FOX)
++ MACRO_OPTIONAL_FIND_PACKAGE(FLTK)
++ MACRO_OPTIONAL_FIND_PACKAGE(FOX)
+
+ SET(wxWidgets_USE_LIBS base core gl net)
+- FIND_PACKAGE(wxWidgets)
++ MACRO_OPTIONAL_FIND_PACKAGE(wxWidgets)
+
+ ENDIF(BUILD_OSG_EXAMPLES AND NOT ANDROID)
+
+@@ -789,10 +790,10 @@
+ # can use Quicktime.
+ IF(NOT ANDROID)
+ IF(NOT APPLE)
+- FIND_PACKAGE(GIFLIB)
+- FIND_PACKAGE(JPEG)
+- FIND_PACKAGE(PNG)
+- FIND_PACKAGE(TIFF)
++ MACRO_OPTIONAL_FIND_PACKAGE(GIFLIB)
++ MACRO_OPTIONAL_FIND_PACKAGE(JPEG)
++ MACRO_OPTIONAL_FIND_PACKAGE(PNG)
++ MACRO_OPTIONAL_FIND_PACKAGE(TIFF)
+ # QuickTime is required for OS X, but optional for Windows.
+ IF(WIN32)
+ FIND_PACKAGE(QuickTime)
+@@ -848,15 +849,7 @@
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG")
+ ENDIF()
+
+-IF(UNIX AND NOT WIN32 AND NOT APPLE)
+- IF(CMAKE_SIZEOF_VOID_P MATCHES "8")
+- SET(LIB_POSTFIX "64" CACHE STRING "suffix for 32/64 dir placement")
+- MARK_AS_ADVANCED(LIB_POSTFIX)
+- ENDIF()
+-ENDIF()
+-IF(NOT DEFINED LIB_POSTFIX)
+- SET(LIB_POSTFIX "")
+-ENDIF()
++SET(LIB_POSTFIX ${LIB_SUFFIX})
+
+ # Here we apparantly do some funky stuff with making the bin/ and lib/
+ # folders which is probably needed to work around a very old CMake bug?
+@@ -1191,7 +1184,7 @@
+ ${PROJECT_BINARY_DIR}/doc/OpenSceneGraphReferenceDocs/osg32-32.png COPYONLY
+ )
+ #INSTALL(FILES ${PROJECT_BINARY_DIR}/doc/${PROJECT_NAME}ReferenceDocs-${OPENSCENEGRAPH_VERSION}.chm DESTINATION doc OPTIONAL COMPONENT openscenegraph-doc)
+- INSTALL(DIRECTORY ${PROJECT_BINARY_DIR}/doc/OpenSceneGraphReferenceDocs DESTINATION doc COMPONENT openscenegraph-doc)
++ INSTALL(DIRECTORY ${PROJECT_BINARY_DIR}/doc/OpenSceneGraphReferenceDocs DESTINATION ${GENTOO_DOCDIR} COMPONENT openscenegraph-doc)
+
+ # now set up openthreads documentation generation
+ IF(BUILD_REF_DOCS_TAGFILE)
+@@ -1207,7 +1200,7 @@
+ ${PROJECT_BINARY_DIR}/doc/OpenThreadsReferenceDocs/osg32-32.png COPYONLY
+ )
+ #INSTALL(FILES ${PROJECT_BINARY_DIR}/doc/${PROJECT_NAME}ReferenceDocs-${OPENSCENEGRAPH_VERSION}.chm DESTINATION doc OPTIONAL COMPONENT openscenegraph-doc)
+- INSTALL(DIRECTORY ${PROJECT_BINARY_DIR}/doc/OpenThreadsReferenceDocs DESTINATION doc COMPONENT openthreads-doc)
++ INSTALL(DIRECTORY ${PROJECT_BINARY_DIR}/doc/OpenThreadsReferenceDocs DESTINATION ${GENTOO_DOCDIR} COMPONENT openthreads-doc)
+
+ # Process our other doxyfiles but don't create targets for these
+ CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/doc/Doxyfiles/all_Doxyfile
+--- OpenSceneGraph-3.4.0/CMakeModules/COPYING-CMAKE-SCRIPTS
++++ OpenSceneGraph-3.4.0/CMakeModules/COPYING-CMAKE-SCRIPTS
+@@ -0,0 +1,22 @@
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions
++are met:
++
++1. Redistributions of source code must retain the copyright
++ notice, this list of conditions and the following disclaimer.
++2. Redistributions in binary form must reproduce the copyright
++ notice, this list of conditions and the following disclaimer in the
++ documentation and/or other materials provided with the distribution.
++3. The name of the author may not be used to endorse or promote products
++ derived from this software without specific prior written permission.
++
++THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
++IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
++IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
++INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
++THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+--- OpenSceneGraph-3.4.0/CMakeModules/FindFLTK.cmake.rej
++++ OpenSceneGraph-3.4.0/CMakeModules/FindFLTK.cmake.rej
+@@ -0,0 +1,55 @@
++--- CMakeModules/FindFLTK.cmake 2010-11-11 17:51:46.000000000 +0100
+++++ CMakeModules/FindFLTK.cmake 2014-08-20 00:29:31.229439251 +0200
++@@ -1,52 +0,0 @@
++-# Locate FLTK
++-# This module defines
++-# FLTK_LIBRARY
++-# FLTK_FOUND, if false, do not try to link to gdal
++-# FLTK_INCLUDE_DIR, where to find the headers
++-#
++-# $FLTK_DIR is an environment variable that would
++-# correspond to the ./configure --prefix=$FLTK_DIR
++-#
++-# Created by Robert Osfield.
++-
++-FIND_PATH(FLTK_INCLUDE_DIR Fl/Fl.H Fl/Fl.h
++- $ENV{FLTK_DIR}/include
++- $ENV{FLTK_DIR}
++- ~/Library/Frameworks
++- /Library/Frameworks
++- /usr/local/include
++- /usr/include
++- /sw/include # Fink
++- /opt/local/include # DarwinPorts
++- /opt/csw/include # Blastwave
++- /opt/include
++- /usr/freeware/include
++-)
++-
++-MACRO(FIND_FLTK_LIBRARY MYLIBRARY MYLIBRARYNAME)
++-
++- FIND_LIBRARY(${MYLIBRARY}
++- NAMES ${MYLIBRARYNAME}
++- PATHS
++- $ENV{FLTK_DIR}/lib
++- $ENV{FLTK_DIR}
++- ~/Library/Frameworks
++- /Library/Frameworks
++- /usr/local/lib
++- /usr/lib
++- /sw/lib
++- /opt/local/lib
++- /opt/csw/lib
++- /opt/lib
++- /usr/freeware/lib64
++- )
++-
++-ENDMACRO(FIND_FLTK_LIBRARY LIBRARY LIBRARYNAME)
++-
++-FIND_FLTK_LIBRARY(FLTK_LIBRARY fltk)
++-FIND_FLTK_LIBRARY(FLTK_GL_LIBRARY fltk_gl)
++-
++-SET(FLTK_FOUND "NO")
++-IF(FLTK_LIBRARY AND FLTK_INCLUDE_DIR)
++- SET(FLTK_FOUND "YES")
++-ENDIF(FLTK_LIBRARY AND FLTK_INCLUDE_DIR)
+--- OpenSceneGraph-3.4.0/CMakeModules/MacroOptionalFindPackage.cmake
++++ OpenSceneGraph-3.4.0/CMakeModules/MacroOptionalFindPackage.cmake
+@@ -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)
++
+--- OpenSceneGraph-3.5.5/CMakeModules/OsgMacroUtils.cmake
++++ OpenSceneGraph-3.5.5/CMakeModules/OsgMacroUtils.cmake
+@@ -463,7 +463,7 @@ MACRO(SETUP_EXAMPLE EXAMPLE_NAME)
+ IF(APPLE)
+ INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin BUNDLE DESTINATION share/OpenSceneGraph/bin )
+ ELSE(APPLE)
+- INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples )
++ INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin COMPONENT openscenegraph-examples )
+ IF(MSVC)
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_TARGETNAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples CONFIGURATIONS RelWithDebInfo)
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_TARGETNAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples CONFIGURATIONS Debug)
+
+--- OpenSceneGraph-3.4.0/examples/osgviewerFLTK/CMakeLists.txt
++++ OpenSceneGraph-3.4.0/examples/osgviewerFLTK/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ SET(TARGET_SRC osgviewerFLTK.cpp )
+
+-SET(TARGET_EXTERNAL_LIBRARIES ${FLTK_LIBRARY} ${FLTK_GL_LIBRARY})
++SET(TARGET_EXTERNAL_LIBRARIES ${FLTK_BASE_LIBRARY} ${FLTK_GL_LIBRARY})
+
+ INCLUDE_DIRECTORIES(${FLTK_INCLUDE_DIR} )
+
diff --git a/dev-games/openscenegraph/metadata.xml b/dev-games/openscenegraph/metadata.xml
new file mode 100644
index 000000000000..fe61db28d513
--- /dev/null
+++ b/dev-games/openscenegraph/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>reavertm@gentoo.org</email>
+ <name>Maciej Mrozowski</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ The OpenSceneGraph is an open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling. Written entirely in Standard C++ and OpenGL it runs on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating systems. The OpenSceneGraph is now well established as the world leading scene graph technology, used widely in the vis-sim, space, scientific, oil-gas, games and virtual reality industries.
+ </longdescription>
+ <use>
+ <flag name="asio">Enable support for <pkg>dev-cpp/asio</pkg> library</flag>
+ <flag name="fox">Build examples using <pkg>x11-libs/fox</pkg> library</flag>
+ <flag name="gdal">Enable support for <pkg>sci-libs/gdal</pkg> library</flag>
+ <flag name="las">Enable support for geospatial data LAS LiDAR format using <pkg>sci-geosciences/liblas</pkg></flag>
+ <flag name="openinventor">Build OpenInventor plugin</flag>
+ <flag name="osgapps">Build osg applications</flag>
+ <flag name="sdl2">Use <pkg>media-libs/libsdl2</pkg> additionally to <pkg>media-libs/libsdl</pkg></flag>
+ <flag name="xrandr">Enable support for the X xrandr extension</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-games/openscenegraph/openscenegraph-3.5.5.ebuild b/dev-games/openscenegraph/openscenegraph-3.5.5.ebuild
new file mode 100644
index 000000000000..7b066c0abf2c
--- /dev/null
+++ b/dev-games/openscenegraph/openscenegraph-3.5.5.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+WX_GTK_VER="3.0"
+
+inherit cmake-utils flag-o-matic wxwidgets vcs-snapshot
+
+MY_PN="OpenSceneGraph"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Open source high performance 3D graphics toolkit"
+HOMEPAGE="http://www.openscenegraph.org/"
+SRC_URI="https://github.com/${PN}/${MY_PN}/archive/${MY_P}.tar.gz"
+
+LICENSE="wxWinLL-3 LGPL-2.1"
+SLOT="0/145" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION
+KEYWORDS="amd64 ~hppa ~ia64 ppc ppc64 x86"
+IUSE="asio curl debug doc examples ffmpeg fltk fox gdal gif glut gstreamer gtk jpeg
+jpeg2k las libav lua openexr openinventor osgapps pdf png sdl sdl2 svg tiff
+truetype vnc wxwidgets xine xrandr zlib"
+
+REQUIRED_USE="sdl2? ( sdl )"
+
+# TODO: COLLADA, FBX, GTA, OpenVRML, Performer, DCMTK
+RDEPEND="
+ x11-libs/libSM
+ x11-libs/libXext
+ virtual/glu
+ virtual/opengl
+ asio? ( dev-cpp/asio )
+ curl? ( net-misc/curl )
+ examples? (
+ fltk? ( x11-libs/fltk:1[opengl] )
+ fox? ( x11-libs/fox:1.6[opengl] )
+ glut? ( media-libs/freeglut )
+ gtk? ( x11-libs/gtkglext )
+ sdl2? ( media-libs/libsdl2 )
+ wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] )
+ )
+ ffmpeg? (
+ libav? ( media-video/libav:0= )
+ !libav? ( media-video/ffmpeg:0= )
+ )
+ gdal? ( sci-libs/gdal )
+ gif? ( media-libs/giflib:= )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ jpeg? ( virtual/jpeg:0 )
+ jpeg2k? ( media-libs/jasper:= )
+ las? ( >=sci-geosciences/liblas-1.8.0 )
+ lua? ( >=dev-lang/lua-5.1.5:* )
+ openexr? (
+ media-libs/ilmbase:=
+ media-libs/openexr:=
+ )
+ openinventor? ( media-libs/coin )
+ pdf? ( app-text/poppler[cairo] )
+ png? ( media-libs/libpng:0= )
+ sdl? ( media-libs/libsdl )
+ 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
+ virtual/pkgconfig
+ x11-base/xorg-proto
+ doc? ( app-doc/doxygen )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.5.5-cmake.patch
+ "${FILESDIR}"/${PN}-3.5.1-jpeg-9.patch
+)
+
+src_configure() {
+ if use examples && use wxwidgets; then
+ need-wxwidgets unicode
+ fi
+
+ # Needed by FFmpeg
+ append-cppflags -D__STDC_CONSTANT_MACROS
+
+ local mycmakeargs=(
+ -DDYNAMIC_OPENSCENEGRAPH=ON
+ -DGENTOO_DOCDIR="/usr/share/doc/${PF}"
+ -DOPENGL_PROFILE=GL2 #GL1 GL2 GL3 GLES1 GLES3 GLES3
+ -DOSG_PROVIDE_READFILE=ON
+ -DOSG_USE_LOCAL_LUA_SOURCE=OFF
+ -DWITH_Lua51=OFF # We use CMake-version FindLua.cmake instead
+ -DWITH_Asio=$(usex asio)
+ -DWITH_CURL=$(usex curl)
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DBUILD_OSG_APPLICATIONS=$(usex osgapps)
+ -DBUILD_OSG_EXAMPLES=$(usex examples)
+ -DWITH_FFmpeg=$(usex ffmpeg)
+ -DWITH_GDAL=$(usex gdal)
+ -DWITH_GIFLIB=$(usex gif)
+ -DWITH_GStreamer=$(usex gstreamer)
+ -DWITH_GLIB=$(usex gstreamer)
+ -DWITH_GtkGl=$(usex gtk)
+ -DWITH_JPEG=$(usex jpeg)
+ -DWITH_Jasper=$(usex jpeg2k)
+ -DWITH_LIBLAS=$(usex las)
+ -DWITH_Lua=$(usex lua)
+ -DWITH_OpenEXR=$(usex openexr)
+ -DWITH_Inventor=$(usex openinventor)
+ -DWITH_Poppler-glib=$(usex pdf)
+ -DWITH_PNG=$(usex png)
+ -DWITH_SDL=$(usex sdl)
+ -DWITH_SDL2=$(usex sdl2)
+ -DWITH_RSVG=$(usex svg rsvg)
+ -DWITH_TIFF=$(usex tiff)
+ -DWITH_Freetype=$(usex truetype)
+ -DWITH_LibVNCServer=$(usex vnc)
+ -DWITH_Xine=$(usex xine)
+ -DOSGVIEWER_USE_XRANDR=$(usex xrandr)
+ -DWITH_ZLIB=$(usex zlib)
+ )
+ if use examples; then
+ mycmakeargs+=(
+ -DWITH_FLTK=$(usex fltk)
+ -DWITH_FOX=$(usex fox)
+ -DWITH_GLUT=$(usex glut)
+ -DWITH_wxWidgets=$(usex wxwidgets)
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ use doc && cmake-utils_src_compile doc_openscenegraph doc_openthreads
+}