summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-games/openscenegraph/Manifest1
-rw-r--r--dev-games/openscenegraph/files/openscenegraph-3.6.3-cmake.patch12
-rw-r--r--dev-games/openscenegraph/files/openscenegraph-3.6.3-docdir.patch73
-rw-r--r--dev-games/openscenegraph/metadata.xml1
-rw-r--r--dev-games/openscenegraph/openscenegraph-3.6.3.ebuild150
5 files changed, 237 insertions, 0 deletions
diff --git a/dev-games/openscenegraph/Manifest b/dev-games/openscenegraph/Manifest
index bb69360afc57..f002f9143fec 100644
--- a/dev-games/openscenegraph/Manifest
+++ b/dev-games/openscenegraph/Manifest
@@ -1 +1,2 @@
DIST OpenSceneGraph-3.5.5.tar.gz 5666085 BLAKE2B f474f7e62476c816cc9b036995f2571e65d33ed426a95eb2727994fd2c46e95457bf5392e488556e53c13c30bd46250f0c3d871678a4de234eae8953c03560a6 SHA512 f4a890bfbabab0ed8d50ad50e8f9ae5aa6edd4a73eda30d6c53ad478889608f7c980306a79549ca1e472cdd3df8061af03537c8139fa6446b00aebf47ec26827
+DIST OpenSceneGraph-3.6.3.tar.gz 5784660 BLAKE2B b117a10d7be8fa456d739eb04f218cf9565ea4bd5a91642ada3bde5cc194a71809482ca2e6f2b4ff977fd26f3a855e27392ac60921e4217b72ebd828efa4df0e SHA512 5d66002cffa935ce670a119ffaebd8e4709acdf79ae2b34b37ad9df284ec8a1a74fee5a7a4109fbf3da6b8bd857960f2b7ae68c4c2e26036edbf484fccf08322
diff --git a/dev-games/openscenegraph/files/openscenegraph-3.6.3-cmake.patch b/dev-games/openscenegraph/files/openscenegraph-3.6.3-cmake.patch
new file mode 100644
index 000000000000..708c68659680
--- /dev/null
+++ b/dev-games/openscenegraph/files/openscenegraph-3.6.3-cmake.patch
@@ -0,0 +1,12 @@
+--- a/CMakeModules/OsgMacroUtils.cmake
++++ b/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)
+
diff --git a/dev-games/openscenegraph/files/openscenegraph-3.6.3-docdir.patch b/dev-games/openscenegraph/files/openscenegraph-3.6.3-docdir.patch
new file mode 100644
index 000000000000..75dd48b30687
--- /dev/null
+++ b/dev-games/openscenegraph/files/openscenegraph-3.6.3-docdir.patch
@@ -0,0 +1,73 @@
+From 1dfc0e3218e15b94f7b145c8f5b2bf61974b9573 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 23 Dec 2018 22:10:49 +0100
+Subject: [PATCH 1/2] Add GNUInstallDirs for standard installation directories
+
+Distributions are given standard variables for already existing hooks.
+Multiarch libdirs is taken care of automagically.
+Raises minimum cmake version by a little (2.8.5 is enough).
+---
+ CMakeLists.txt | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 064d4e289..777265e0e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,7 +13,7 @@ SET(OPENSCENEGRAPH_RELEASE_CANDIDATE 0)
+ set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE)
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+
+-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR)
++CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5 FATAL_ERROR)
+
+ if(COMMAND cmake_policy)
+ # Works around warnings libraries linked against that don't
+@@ -767,6 +767,7 @@ ELSE()
+ # FIND_PACKAGE(PythonLibs)
+ ENDIF()
+
++INCLUDE(GNUInstallDirs)
+ # Include macro utilities here
+ INCLUDE(OsgMacroUtils)
+
+--
+2.20.1
+
+
+From d2be900de7b5fb4e23d9429c02269f671962c670 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 23 Dec 2018 22:12:33 +0100
+Subject: [PATCH 2/2] Replace OPENJPEG_INSTALL_DOC_DIR with
+ CMAKE_INSTALL_DOCDIR
+
+This changes the default doc installdir to DATAROOTDIR/doc/PROJECT_NAME
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 777265e0e..e1ed1bd51 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1180,7 +1180,7 @@ IF(BUILD_DOCUMENTATION)
+ ${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 ${CMAKE_INSTALL_DOCDIR} COMPONENT openscenegraph-doc)
+
+ # now set up openthreads documentation generation
+ IF(BUILD_REF_DOCS_TAGFILE)
+@@ -1196,7 +1196,7 @@ IF(BUILD_DOCUMENTATION)
+ ${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 ${CMAKE_INSTALL_DOCDIR} COMPONENT openthreads-doc)
+
+ # Process our other doxyfiles but don't create targets for these
+ CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/doc/Doxyfiles/all_Doxyfile
+--
+2.20.1
+
diff --git a/dev-games/openscenegraph/metadata.xml b/dev-games/openscenegraph/metadata.xml
index fe61db28d513..119bb5e34052 100644
--- a/dev-games/openscenegraph/metadata.xml
+++ b/dev-games/openscenegraph/metadata.xml
@@ -14,6 +14,7 @@
</longdescription>
<use>
<flag name="asio">Enable support for <pkg>dev-cpp/asio</pkg> library</flag>
+ <flag name="egl">Enable EGL support</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>
diff --git a/dev-games/openscenegraph/openscenegraph-3.6.3.ebuild b/dev-games/openscenegraph/openscenegraph-3.6.3.ebuild
new file mode 100644
index 000000000000..b1bbf9578d9a
--- /dev/null
+++ b/dev-games/openscenegraph/openscenegraph-3.6.3.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PN="OpenSceneGraph"
+MY_P=${MY_PN}-${PV}
+WX_GTK_VER="3.0"
+inherit cmake-utils flag-o-matic wxwidgets
+
+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/158" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION
+KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="asio curl debug doc egl 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 xrandr zlib"
+
+REQUIRED_USE="sdl2? ( sdl )"
+
+# TODO: COLLADA, FBX, GTA, NVTT, OpenVRML, Performer, DCMTK
+RDEPEND="
+ media-libs/mesa[egl?]
+ virtual/glu
+ virtual/opengl
+ x11-libs/libSM
+ x11-libs/libXext
+ 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 )
+ 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_PN}-${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cmake.patch
+ "${FILESDIR}"/${P}-docdir.patch
+)
+
+src_configure() {
+ if use examples && use wxwidgets; then
+ need-wxwidgets unicode
+ fi
+
+ # Needed by FFmpeg
+ append-cppflags -D__STDC_CONSTANT_MACROS
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DDYNAMIC_OPENSCENEGRAPH=ON
+ -DLIB_POSTFIX=${libdir/lib}
+ -DCMAKE_INSTALL_DOCDIR="/usr/share/doc/${PF}" # drop after EAPI-7 port
+ -DOPENGL_PROFILE=GL2 #GL1 GL2 GL3 GLES1 GLES3 GLES3
+ -DOSG_ENVVAR_SUPPORTED=ON
+ -DOSG_PROVIDE_READFILE=ON
+ -DOSG_USE_LOCAL_LUA_SOURCE=OFF
+ $(cmake-utils_use_find_package asio Asio)
+ $(cmake-utils_use_find_package curl CURL)
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DBUILD_OSG_APPLICATIONS=$(usex osgapps)
+ $(cmake-utils_use_find_package egl EGL)
+ -DBUILD_OSG_EXAMPLES=$(usex examples)
+ $(cmake-utils_use_find_package ffmpeg FFmpeg)
+ $(cmake-utils_use_find_package gdal GDAL)
+ $(cmake-utils_use_find_package gif GIFLIB)
+ $(cmake-utils_use_find_package gstreamer GLIB)
+ $(cmake-utils_use_find_package gstreamer GStreamer)
+ $(cmake-utils_use_find_package gtk GtkGl)
+ $(cmake-utils_use_find_package jpeg JPEG)
+ $(cmake-utils_use_find_package jpeg2k Jasper)
+ $(cmake-utils_use_find_package las LIBLAS)
+ $(cmake-utils_use_find_package lua Lua51)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Lua52=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_OpenCascade=ON
+ $(cmake-utils_use_find_package openexr OpenEXR)
+ $(cmake-utils_use_find_package openinventor Inventor)
+ $(cmake-utils_use_find_package pdf Poppler-glib)
+ $(cmake-utils_use_find_package png PNG)
+ $(cmake-utils_use_find_package sdl SDL)
+ $(cmake-utils_use_find_package sdl2 SDL2)
+ $(cmake-utils_use_find_package svg RSVG)
+ $(cmake-utils_use_find_package tiff TIFF)
+ $(cmake-utils_use_find_package truetype Freetype)
+ $(cmake-utils_use_find_package vnc LibVNCServer)
+ -DOSGVIEWER_USE_XRANDR=$(usex xrandr)
+ $(cmake-utils_use_find_package zlib ZLIB)
+ )
+ if use examples; then
+ mycmakeargs+=(
+ $(cmake-utils_use_find_package fltk FLTK)
+ $(cmake-utils_use_find_package fox FOX)
+ $(cmake-utils_use_find_package glut GLUT)
+ $(cmake-utils_use_find_package wxwidgets wxWidgets)
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ use doc && cmake-utils_src_compile doc_openscenegraph doc_openthreads
+}