1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
7 inherit cmake-utils flag-o-matic wxwidgets vcs-snapshot
12 DESCRIPTION="Open source high performance 3D graphics toolkit"
13 HOMEPAGE="http://www.openscenegraph.org/"
14 SRC_URI="https://github.com/${PN}/${MY_PN}/archive/${MY_P}.tar.gz"
16 LICENSE="wxWinLL-3 LGPL-2.1"
17 SLOT="0/145" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION
18 KEYWORDS="amd64 ~hppa ppc ppc64 x86"
19 IUSE="asio curl debug doc examples ffmpeg fltk fox gdal gif glut gstreamer jpeg
20 las lua openexr openinventor osgapps pdf png sdl sdl2 svg tiff
21 truetype vnc wxwidgets xine xrandr zlib"
23 REQUIRED_USE="sdl2? ( sdl )"
25 # TODO: COLLADA, FBX, GTA, OpenVRML, Performer, DCMTK
31 asio? ( dev-cpp/asio )
32 curl? ( net-misc/curl )
34 fltk? ( x11-libs/fltk:1[opengl] )
35 fox? ( x11-libs/fox:1.6[opengl] )
36 glut? ( media-libs/freeglut )
37 sdl2? ( media-libs/libsdl2 )
38 wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] )
40 ffmpeg? ( media-video/ffmpeg:0= )
41 gdal? ( sci-libs/gdal )
42 gif? ( media-libs/giflib:= )
44 media-libs/gstreamer:1.0
45 media-libs/gst-plugins-base:1.0
47 jpeg? ( virtual/jpeg:0 )
48 las? ( >=sci-geosciences/liblas-1.8.0 )
49 lua? ( >=dev-lang/lua-5.1.5:* )
54 openinventor? ( media-libs/coin )
55 pdf? ( app-text/poppler[cairo] )
56 png? ( media-libs/libpng:0= )
57 sdl? ( media-libs/libsdl )
62 tiff? ( media-libs/tiff:0 )
63 truetype? ( media-libs/freetype:2 )
64 vnc? ( net-libs/libvncserver )
65 xine? ( media-libs/xine-lib )
66 xrandr? ( x11-libs/libXrandr )
67 zlib? ( sys-libs/zlib )
73 doc? ( app-doc/doxygen )
76 S="${WORKDIR}/${MY_P}"
79 "${FILESDIR}"/${PN}-3.5.5-cmake.patch
80 "${FILESDIR}"/${PN}-3.5.1-jpeg-9.patch
84 if use examples && use wxwidgets; then
85 need-wxwidgets unicode
89 append-cppflags -D__STDC_CONSTANT_MACROS
92 -DDYNAMIC_OPENSCENEGRAPH=ON
93 -DGENTOO_DOCDIR="/usr/share/doc/${PF}"
94 -DOPENGL_PROFILE=GL2 #GL1 GL2 GL3 GLES1 GLES3 GLES3
95 -DOSG_PROVIDE_READFILE=ON
96 -DOSG_USE_LOCAL_LUA_SOURCE=OFF
97 -DWITH_Lua51=OFF # We use CMake-version FindLua.cmake instead
98 -DWITH_Asio=$(usex asio)
99 -DWITH_CURL=$(usex curl)
100 -DBUILD_DOCUMENTATION=$(usex doc)
101 -DBUILD_OSG_APPLICATIONS=$(usex osgapps)
102 -DBUILD_OSG_EXAMPLES=$(usex examples)
103 -DWITH_FFmpeg=$(usex ffmpeg)
104 -DWITH_GDAL=$(usex gdal)
105 -DWITH_GIFLIB=$(usex gif)
106 -DWITH_GStreamer=$(usex gstreamer)
107 -DWITH_GLIB=$(usex gstreamer)
109 -DWITH_JPEG=$(usex jpeg)
111 -DWITH_LIBLAS=$(usex las)
112 -DWITH_Lua=$(usex lua)
113 -DWITH_OpenEXR=$(usex openexr)
114 -DWITH_Inventor=$(usex openinventor)
115 -DWITH_Poppler-glib=$(usex pdf)
116 -DWITH_PNG=$(usex png)
117 -DWITH_SDL=$(usex sdl)
118 -DWITH_SDL2=$(usex sdl2)
119 -DWITH_RSVG=$(usex svg rsvg)
120 -DWITH_TIFF=$(usex tiff)
121 -DWITH_Freetype=$(usex truetype)
122 -DWITH_LibVNCServer=$(usex vnc)
123 -DWITH_Xine=$(usex xine)
124 -DOSGVIEWER_USE_XRANDR=$(usex xrandr)
125 -DWITH_ZLIB=$(usex zlib)
127 if use examples; then
129 -DWITH_FLTK=$(usex fltk)
130 -DWITH_FOX=$(usex fox)
131 -DWITH_GLUT=$(usex glut)
132 -DWITH_wxWidgets=$(usex wxwidgets)
136 cmake-utils_src_configure
140 cmake-utils_src_compile
141 use doc && cmake-utils_src_compile doc_openscenegraph doc_openthreads