From 4f8a0346745615d2457c60b48b99d9b2c3ed7668 Mon Sep 17 00:00:00 2001 From: hasufell Date: Tue, 16 Feb 2016 02:20:44 +0100 Subject: [PATCH] dev-games/OpenSceneGraph: initial import of version 3.4.0 --- .../OpenSceneGraph-3.4.0.exheres-0 | 88 ++++++ .../files/OpenSceneGraph-3.4.0-cmake.patch | 297 ++++++++++++++++++ 2 files changed, 385 insertions(+) create mode 100644 packages/dev-games/OpenSceneGraph/OpenSceneGraph-3.4.0.exheres-0 create mode 100644 packages/dev-games/OpenSceneGraph/files/OpenSceneGraph-3.4.0-cmake.patch diff --git a/packages/dev-games/OpenSceneGraph/OpenSceneGraph-3.4.0.exheres-0 b/packages/dev-games/OpenSceneGraph/OpenSceneGraph-3.4.0.exheres-0 new file mode 100644 index 00000000..7c38b4dd --- /dev/null +++ b/packages/dev-games/OpenSceneGraph/OpenSceneGraph-3.4.0.exheres-0 @@ -0,0 +1,88 @@ +# Copyright 2013-2014 Thomas Witt +# Distributed under the terms of the GNU General Public License v2 + +require cmake [ api=2 ] + +SUMMARY="High performance 3D graphics toolkit" +DESCRIPTION=" +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. +" + +MY_PN="OpenSceneGraph" +MY_P=${MY_PN}-${PV} +HOMEPAGE="http://${PN}.org" +DOWNLOADS="http://trac.openscenegraph.org/downloads/developer_releases/${MY_P}.zip" + +LICENCES="OpenSceneGraph" +SLOT="0" +PLATFORMS="~amd64 ~x86" +MYOPTIONS=" + ( providers: ijg-jpeg jpeg-turbo ) [[ number-selected = exactly-one ]] +" + +# TODO Some of these may be optional +# TODO SDL gtkglxext +DEPENDENCIES=" + build: + app-arch/zip + build+run: + media-libs/freetype:2 + media-libs/jasper + media-libs/openexr + sys-libs/zlib + net-misc/curl + media/ffmpeg + media-libs/gstreamer:1.0 + media-plugins/gst-plugins-base:1.0 + app-text/poppler[cairo] + dev-libs/glib:2 + media-libs/SDL:0 + x11-libs/gtkglext + x11-libs/wxGTK:3.0 + x11-dri/mesa + providers:ijg-jpeg? ( media-libs/jpeg ) + providers:jpeg-turbo? ( media-libs/libjpeg-turbo ) + media-libs/giflib:= + media-libs/libpng:= + media-libs/tiff + x11-libs/qtbase:5 +" + +DEFAULT_SRC_PREPARE_PATCHES=( + "${FILES}"/${PNV}-cmake.patch +) + +CMAKE_SRC_CONFIGURE_PARAMS=( + -DWITH_Asio=FALSE + -DWITH_Inventor=FALSE + -DWITH_COLLADA=FALSE + -DWITH_FBX=FALSE + -DWITH_Xine=FALSE + -DWITH_OpenVRML=FALSE + -DWITH_Performer=FALSE + -DWITH_GDAL=FALSE + -DWITH_LibVNCServer=FALSE + -DWITH_OurDCMTK=FALSE + -DWITH_RSVG=FALSE + -DWITH_NVTT=FALSE + -DWITH_LIBLAS=FALSE + -DWITH_Lua51=FALSE + -DWITH_Lua52=FALSE + -DOSG_USE_LOCAL_LUA_SOURCE=OFF + -DWITH_ITK=FALSE + -DWITH_FLTK=FALSE + -DWITH_GLUT=FALSE + -DWITH_FOX=FALSE + -DWITH_SDL2=OFF + -DOSG_USE_QT=ON + -DDESIRED_QT_VERSION=5 + -DOPENGL_PROFILE=GL2 + -DDYNAMIC_OPENSCENEGRAPH=ON +) diff --git a/packages/dev-games/OpenSceneGraph/files/OpenSceneGraph-3.4.0-cmake.patch b/packages/dev-games/OpenSceneGraph/files/OpenSceneGraph-3.4.0-cmake.patch new file mode 100644 index 00000000..59f971c9 --- /dev/null +++ b/packages/dev-games/OpenSceneGraph/files/OpenSceneGraph-3.4.0-cmake.patch @@ -0,0 +1,297 @@ +--- 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 +@@ -651,53 +652,53 @@ + 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(Performer) +- 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(Performer) ++ 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(Lua) + IF (NOT (LUA_LIBRARIES AND LUA_INCLUDE_DIR)) +- FIND_PACKAGE(Lua51) ++ MACRO_OPTIONAL_FIND_PACKAGE(Lua51) + ENDIF() + ENDIF() + + # V8 and Python plugins are tests for linking against these libraries but aren't functionality beyond this. +- # FIND_PACKAGE(V8) +- # FIND_PACKAGE(PythonLibs) ++ # MACRO_OPTIONAL_FIND_PACKAGE(V8) ++ # MACRO_OPTIONAL_FIND_PACKAGE(PythonLibs) + ENDIF() + + IF(CMAKE_MAJOR_VERSION EQUAL 2 AND CMAKE_MINOR_VERSION LESS 8) +- FIND_PACKAGE(ITK) ++ MACRO_OPTIONAL_FIND_PACKAGE(ITK) + ENDIF() + + # Include macro utilities here +@@ -763,12 +764,12 @@ + IF (BUILD_OSG_EXAMPLES AND NOT ANDROID) + + +- FIND_PACKAGE(FLTK) +- FIND_PACKAGE(GLUT) +- FIND_PACKAGE(FOX) ++ MACRO_OPTIONAL_FIND_PACKAGE(FLTK) ++ MACRO_OPTIONAL_FIND_PACKAGE(GLUT) ++ 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( [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_, which can be disabled via the cmake GUI. ++# or via -DWITH_=OFF ++# The standard _FOUND variables can be used in the same way ++# as when using the normal FIND_PACKAGE() ++ ++# Copyright (c) 2006, Alexander Neundorf, ++# ++# 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.4.0/CMakeModules/OsgMacroUtils.cmake ++++ OpenSceneGraph-3.4.0/CMakeModules/OsgMacroUtils.cmake +@@ -456,7 +456,7 @@ + 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 ) + ENDIF(APPLE) + + ENDMACRO(SETUP_EXAMPLE) +--- 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} ) +