diff options
author | Alexey Sokolov <alexey+gentoo@asokolov.org> | 2022-02-17 00:54:13 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-02-18 02:13:43 +0000 |
commit | 0f642d8f09b589166f0e0c0fc84df7673990bf3f (patch) | |
tree | f9cd7159838a3afd92e85952ea93e6a04db7b53d /dev-games/openscenegraph | |
parent | dev-games/openscenegraph-openmw: adjust to unslotted OpenEXR 3 (diff) | |
download | gentoo-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.patch | 68 | ||||
-rw-r--r-- | dev-games/openscenegraph/openscenegraph-3.6.5-r111.ebuild | 170 |
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 +} |