summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Sokolov <alexey+gentoo@asokolov.org>2022-02-17 00:54:13 +0000
committerSam James <sam@gentoo.org>2022-02-18 02:13:43 +0000
commit0f642d8f09b589166f0e0c0fc84df7673990bf3f (patch)
treef9cd7159838a3afd92e85952ea93e6a04db7b53d /dev-games/openscenegraph
parentdev-games/openscenegraph-openmw: adjust to unslotted OpenEXR 3 (diff)
downloadgentoo-0f642d8f09b589166f0e0c0fc84df7673990bf3f.tar.gz
gentoo-0f642d8f09b589166f0e0c0fc84df7673990bf3f.tar.bz2
gentoo-0f642d8f09b589166f0e0c0fc84df7673990bf3f.zip
dev-games/openscenegraph: adjust to unslotted OpenEXR 3
Closes: https://bugs.gentoo.org/833491 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org> Closes: https://github.com/gentoo/gentoo/pull/24222 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-games/openscenegraph')
-rw-r--r--dev-games/openscenegraph/files/openscenegraph-3.6.5-openexr3.patch68
-rw-r--r--dev-games/openscenegraph/openscenegraph-3.6.5-r111.ebuild170
2 files changed, 238 insertions, 0 deletions
diff --git a/dev-games/openscenegraph/files/openscenegraph-3.6.5-openexr3.patch b/dev-games/openscenegraph/files/openscenegraph-3.6.5-openexr3.patch
new file mode 100644
index 000000000000..6a6aa57950d6
--- /dev/null
+++ b/dev-games/openscenegraph/files/openscenegraph-3.6.5-openexr3.patch
@@ -0,0 +1,68 @@
+https://bugs.gentoo.org/833491
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -752,7 +752,6 @@ ELSE()
+- FIND_PACKAGE(ilmbase)
+ FIND_PACKAGE(Inventor)
+ FIND_PACKAGE(Jasper)
+- FIND_PACKAGE(OpenEXR)
++ FIND_PACKAGE(OpenEXR CONFIG)
+ FIND_PACKAGE(OpenCascade)
+ FIND_PACKAGE(COLLADA)
+ FIND_PACKAGE(FBX)
+--- a/src/osgPlugins/CMakeLists.txt
++++ b/src/osgPlugins/CMakeLists.txt
+@@ -105,7 +105,7 @@ ENDIF()
+ IF(JASPER_FOUND)
+ ADD_PLUGIN_DIRECTORY(jp2)
+ ENDIF()
+-IF(OPENEXR_FOUND AND ZLIB_FOUND AND OSG_CPP_EXCEPTIONS_AVAILABLE)
++IF(OpenEXR_FOUND AND ZLIB_FOUND AND OSG_CPP_EXCEPTIONS_AVAILABLE)
+ ADD_PLUGIN_DIRECTORY(exr)
+ ENDIF()
+ IF(GIFLIB_FOUND)
+--- a/src/osgPlugins/exr/CMakeLists.txt
++++ b/src/osgPlugins/exr/CMakeLists.txt
+@@ -1,9 +1,7 @@
+-INCLUDE_DIRECTORIES( ${ILMBASE_INCLUDE_DIR}/OpenEXR )
+-INCLUDE_DIRECTORIES( ${OPENEXR_INCLUDE_DIR}/OpenEXR )
+-
+ SET(TARGET_SRC ReaderWriterEXR.cpp )
+
+-SET(TARGET_LIBRARIES_VARS ${OPENEXR_LIBRARIES_VARS} ${ILMBASE_LIBRARIES_VARS} ZLIB_LIBRARIES)
++SET(OPENEXR_LIBRARIES_VARS OpenEXR::OpenEXR)
++SET(TARGET_LIBRARIES_VARS OPENEXR_LIBRARIES_VARS ZLIB_LIBRARIES)
+
+ IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ REMOVE_CXX_FLAG(-Wshadow)
+--- a/src/osgPlugins/exr/ReaderWriterEXR.cpp
++++ b/src/osgPlugins/exr/ReaderWriterEXR.cpp
+@@ -41,11 +41,11 @@ public:
+ {
+ return _inStream->read(c,n).good();
+ };
+- virtual Int64 tellg ()
++ virtual uint64_t tellg ()
+ {
+ return _inStream->tellg();
+ };
+- virtual void seekg (Int64 pos)
++ virtual void seekg (uint64_t pos)
+ {
+ _inStream->seekg(pos);
+ };
+@@ -69,11 +69,11 @@ public:
+ {
+ _outStream->write(c,n);
+ };
+- virtual Int64 tellp ()
++ virtual uint64_t tellp ()
+ {
+ return _outStream->tellp();
+ };
+- virtual void seekp (Int64 pos)
++ virtual void seekp (uint64_t pos)
+ {
+ _outStream->seekp(pos);
+ };
diff --git a/dev-games/openscenegraph/openscenegraph-3.6.5-r111.ebuild b/dev-games/openscenegraph/openscenegraph-3.6.5-r111.ebuild
new file mode 100644
index 000000000000..590ea4490896
--- /dev/null
+++ b/dev-games/openscenegraph/openscenegraph-3.6.5-r111.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-1 )
+
+WX_GTK_VER="3.0-gtk3"
+inherit cmake flag-o-matic lua-single wxwidgets
+
+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"
+S="${WORKDIR}/${MY_PN}-${MY_P}"
+
+LICENSE="wxWinLL-3 LGPL-2.1"
+SLOT="0/161" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION
+KEYWORDS="~amd64 ~arm64 ~hppa ~ppc64 ~x86"
+IUSE="
+ collada curl dicom debug doc egl examples ffmpeg fltk fox gdal
+ gif glut gstreamer jpeg las lua openexr openinventor osgapps pdf png
+ sdl sdl2 svg tiff truetype vnc wxwidgets xrandr +zlib
+"
+
+REQUIRED_USE="
+ dicom? ( zlib )
+ lua? ( ${LUA_REQUIRED_USE} )
+ openexr? ( zlib )
+ sdl2? ( sdl )
+"
+
+# TODO: FBX, GTA, NVTT, OpenVRML, Performer
+BDEPEND="
+ app-arch/unzip
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+RDEPEND="
+ media-libs/mesa[egl(+)?]
+ virtual/glu
+ virtual/opengl
+ x11-libs/libSM
+ x11-libs/libXext
+ collada? ( dev-libs/collada-dom:= )
+ curl? ( net-misc/curl )
+ examples? (
+ fltk? ( x11-libs/fltk:1[opengl] )
+ fox? ( x11-libs/fox:1.6[opengl] )
+ glut? ( media-libs/freeglut )
+ sdl2? ( media-libs/libsdl2 )
+ wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] )
+ )
+ ffmpeg? ( 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 )
+ las? ( >=sci-geosciences/liblas-1.8.0 )
+ lua? ( ${LUA_DEPS} )
+ openexr? (
+ media-libs/ilmbase:=
+ media-libs/openexr:=
+ dev-libs/imath:=
+ >=media-libs/openexr-3:=
+ )
+ 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}
+ dev-libs/boost
+ x11-base/xorg-proto
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.6.3-cmake.patch
+ "${FILESDIR}"/${PN}-3.6.3-docdir.patch
+ "${FILESDIR}"/${PN}-3.6.5-use_boost_asio.patch
+ "${FILESDIR}"/${PN}-3.6.5-cmake_lua_version.patch
+ "${FILESDIR}"/${PN}-3.6.5-openexr3.patch
+)
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+}
+
+src_configure() {
+ if use examples && use wxwidgets; then
+ setup-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}
+ -DOPENGL_PROFILE=GL2 #GL1 GL2 GL3 GLES1 GLES3 GLES3
+ $(cmake_use_find_package collada COLLADA)
+ $(cmake_use_find_package curl CURL)
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ $(cmake_use_find_package dicom DCMTK)
+ $(cmake_use_find_package egl EGL)
+ -DBUILD_OSG_EXAMPLES=$(usex examples)
+ $(cmake_use_find_package ffmpeg FFmpeg)
+ $(cmake_use_find_package gdal GDAL)
+ $(cmake_use_find_package gif GIFLIB)
+ $(cmake_use_find_package gstreamer GLIB)
+ $(cmake_use_find_package gstreamer GStreamer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_GtkGl=ON
+ $(cmake_use_find_package jpeg JPEG)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Jasper=ON
+ $(cmake_use_find_package las LIBLAS)
+ $(cmake_use_find_package lua Lua)
+ -DCMAKE_DISABLE_FIND_PACKAGE_OpenCascade=ON
+ $(cmake_use_find_package openexr OpenEXR)
+ $(cmake_use_find_package openinventor Inventor)
+ -DBUILD_OSG_APPLICATIONS=$(usex osgapps)
+ $(cmake_use_find_package pdf Poppler-glib)
+ $(cmake_use_find_package png PNG)
+ $(cmake_use_find_package sdl SDL)
+ $(cmake_use_find_package sdl2 SDL2)
+ $(cmake_use_find_package svg RSVG)
+ $(cmake_use_find_package tiff TIFF)
+ $(cmake_use_find_package truetype Freetype)
+ $(cmake_use_find_package vnc LibVNCServer)
+ -DOSGVIEWER_USE_XRANDR=$(usex xrandr)
+ $(cmake_use_find_package zlib ZLIB)
+ -DOSG_USE_LOCAL_LUA_SOURCE=OFF
+ )
+
+ if use examples; then
+ mycmakeargs+=(
+ $(cmake_use_find_package fltk FLTK)
+ $(cmake_use_find_package fox FOX)
+ $(cmake_use_find_package glut GLUT)
+ $(cmake_use_find_package wxwidgets wxWidgets)
+ )
+ fi
+
+ if use lua; then
+ mycmakeargs+=(
+ -DLUA_VERSION="$(lua_get_version)"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use doc && cmake_src_compile doc_openscenegraph doc_openthreads
+}