commit: 96e140368d521dc0694ce959513cc42e337d24c5 Author: Alexey Sokolov <alexey+gentoo <AT> asokolov <DOT> org> AuthorDate: Wed Feb 16 22:19:58 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Feb 18 02:13:40 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96e14036
dev-games/openscenegraph-openmw: adjust to unslotted OpenEXR 3 Closes: https://bugs.gentoo.org/833492 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Alexey Sokolov <alexey+gentoo <AT> asokolov.org> Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/openscenegraph-3.6-openexr3.patch | 68 +++++++++ .../openscenegraph-openmw-3.6_p20211017-r1.ebuild | 169 +++++++++++++++++++++ 2 files changed, 237 insertions(+) diff --git a/dev-games/openscenegraph-openmw/files/openscenegraph-3.6-openexr3.patch b/dev-games/openscenegraph-openmw/files/openscenegraph-3.6-openexr3.patch new file mode 100644 index 000000000000..1cfab7715f10 --- /dev/null +++ b/dev-games/openscenegraph-openmw/files/openscenegraph-3.6-openexr3.patch @@ -0,0 +1,68 @@ +https://bugs.gentoo.org/833492 + +--- 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-openmw/openscenegraph-openmw-3.6_p20211017-r1.ebuild b/dev-games/openscenegraph-openmw/openscenegraph-openmw-3.6_p20211017-r1.ebuild new file mode 100644 index 000000000000..c0e8f55f2dbd --- /dev/null +++ b/dev-games/openscenegraph-openmw/openscenegraph-openmw-3.6_p20211017-r1.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-1 ) + +WX_GTK_VER="3.0-gtk3" +inherit cmake flag-o-matic lua-single wxwidgets + +MY_COMMIT="bbe61c3bc510a4f5bb4aea21cce506519c2d24e6" + +DESCRIPTION="OpenMW-specific fork of OpenSceneGraph" +HOMEPAGE="https://github.com/OpenMW/osg" +SRC_URI="https://github.com/OpenMW/osg/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/osg-${MY_COMMIT}" + +LICENSE="wxWinLL-3 LGPL-2.1" +SLOT="0/162" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION +KEYWORDS="~amd64 ~arm64 ~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=" + !dev-games/openscenegraph + dev-libs/glib:2 + media-libs/fontconfig + 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? ( + 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:2 + 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} + x11-base/xorg-proto +" + +PATCHES=( + "${FILESDIR}"/openscenegraph-3.6.3-cmake.patch + "${FILESDIR}"/openscenegraph-3.6.3-docdir.patch + "${FILESDIR}"/openscenegraph-3.6.5-cmake_lua_version.patch + "${FILESDIR}"/openscenegraph-3.6-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 + -DCMAKE_RELWITHDEBINFO_POSTFIX= + ) + + 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 +}