You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-games/openscenegraph/openscenegraph-3.6.4.ebuild

148 lines
4.0 KiB

# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN="OpenSceneGraph"
MY_P=${MY_PN}-${PV}
WX_GTK_VER="3.0-gtk3"
inherit cmake 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 ppc ppc64 x86"
IUSE="asio 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="sdl2? ( sdl ) dicom? ( zlib ) openexr? ( zlib )"
# TODO: COLLADA, 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
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 )
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? ( >=dev-lang/lua-5.1.5:0= )
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}
x11-base/xorg-proto
"
S="${WORKDIR}/${MY_PN}-${MY_P}"
PATCHES=(
"${FILESDIR}"/${PN}-3.6.3-cmake.patch
"${FILESDIR}"/${PN}-3.6.3-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}
-DOPENGL_PROFILE=GL2 #GL1 GL2 GL3 GLES1 GLES3 GLES3
-DOSG_ENVVAR_SUPPORTED=ON
-DOSG_PROVIDE_READFILE=ON
-DOSG_USE_LOCAL_LUA_SOURCE=OFF
$(cmake_use_find_package asio Asio)
$(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 Lua51)
-DCMAKE_DISABLE_FIND_PACKAGE_Lua52=ON
-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)
)
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
cmake_src_configure
}
src_compile() {
cmake_src_compile
use doc && cmake_src_compile doc_openscenegraph doc_openthreads
}