diff options
-rw-r--r-- | dev-games/openscenegraph/Manifest | 1 | ||||
-rw-r--r-- | dev-games/openscenegraph/files/openscenegraph-3.6.3-cmake.patch | 12 | ||||
-rw-r--r-- | dev-games/openscenegraph/files/openscenegraph-3.6.3-docdir.patch | 73 | ||||
-rw-r--r-- | dev-games/openscenegraph/metadata.xml | 1 | ||||
-rw-r--r-- | dev-games/openscenegraph/openscenegraph-3.6.3.ebuild | 150 |
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 +} |