]> git.pld-linux.org Git - packages/OpenSceneGraph.git/blobdiff - OpenSceneGraph.spec
- bcond to disable ffmpeg support, rel 2
[packages/OpenSceneGraph.git] / OpenSceneGraph.spec
index 3ba081e03a3d0748d5c799e4a1ac482c68cade22..0351c5f44dcc9042d4b24379e049f51878d05cd1 100644 (file)
-%define                _snap   20050228
-%define                _snap_time      2325
+# TODO: nvtt
+#
+# Conditional build:
+%bcond_with    fbx             # Autodesk FBX SDK support (proprietary)
+%bcond_with    ffmpeg          # FFmpeg support, needs ffmpeg < 5
+
 Summary:       Open Scene Graph - real-time visualization library
-Summary(pl.UTF-8):   Open Scene Graph - biblioteka do wizualizacji
+Summary(pl.UTF-8):     Open Scene Graph - biblioteka do wizualizacji
 Name:          OpenSceneGraph
-Version:       0.9.8
-Release:       0.%{_snap}.1
+Version:       3.6.5
+Release:       2
 License:       OpenSceneGraph Public Licence (based on LGPL with exceptions)
 Group:         X11/Libraries
-Source0:       http://openscenegraph.org/downloads/developer/%{name}-%{version}-%{_snap}%{_snap_time}.tar.gz
-# Source0-md5: 13f0198d1a8a13707c25fd9ecdec9da2
-Source1:       osg-doxygen-0.9.1.tar.gz
-# Source1-md5: 7e6d785d1b763aaeae03c2dc4c148805
-URL:           http://openscenegraph.org/
-BuildRequires: OpenThreads-devel
-BuildRequires: Producer-devel
-BuildRequires: freetype-devel
-BuildRequires: freetype1-devel
+#Source0Download: https://github.com/openscenegraph/OpenSceneGraph/releases
+Source0:       https://github.com/openscenegraph/OpenSceneGraph/archive/%{name}-%{version}.tar.gz
+# Source0-md5: 51b1c6ee5627246e78b23adbf0aa48f8
+# https://src.fedoraproject.org/rpms/OpenSceneGraph/blob/rawhide/f/OpenSceneGraph_asio.patch
+Patch0:                %{name}-asio.patch
+Patch1:                %{name}-OpenCASCADE.patch
+Patch2:                %{name}-gta.patch
+# https://src.fedoraproject.org/rpms/OpenSceneGraph/blob/rawhide/f/OpenSceneGraph-openexr3.patch
+Patch3:                %{name}-openexr3.patch
+URL:           https://www.openscenegraph.org/index.php/33-openscenegraph/4-front-page
+BuildRequires: Coin-devel
+BuildRequires: EGL-devel
+BuildRequires: OpenCASCADE-devel
+BuildRequires: OpenEXR-devel
+BuildRequires: OpenGL-devel >= 2
+BuildRequires: Qt5Core-devel >= 5
+BuildRequires: Qt5Gui-devel >= 5
+BuildRequires: Qt5OpenGL-devel >= 5
+BuildRequires: Qt5Widgets-devel >= 5
+BuildRequires: SoXt-devel
+BuildRequires: EGL-devel
+BuildRequires: SDL2-devel >= 2
+BuildRequires: asio-devel >= 1.11
+BuildRequires: boost-devel >= 1.37
+BuildRequires: cairo-devel
+BuildRequires: cmake >= 2.8.0
+BuildRequires: collada-dom-devel
+BuildRequires: curl-devel
+BuildRequires: dcmtk-devel
+%{?with_fbx:BuildRequires:     fbxsdk-devel}
+%{?with_ffmpeg:BuildRequires:  ffmpeg-devel}
+BuildRequires: fontconfig-devel
+BuildRequires: freetype-devel >= 2
+BuildRequires: gdal-devel
 BuildRequires: giflib-devel
+BuildRequires: glib2-devel >= 2.0
+BuildRequires: gstreamer-plugins-base-devel
+BuildRequires: gtk+2-devel
+# only for osgviewerGTK, which is not built
+#BuildRequires:        gtkglext-devel
+BuildRequires: jasper-devel
+BuildRequires: libgta-devel
 BuildRequires: libjpeg-devel
+BuildRequires: liblas-devel
 BuildRequires: libpng-devel
+BuildRequires: librsvg-devel >= 1:2.35
 BuildRequires: libtiff-devel
+BuildRequires: libvncserver-devel
+BuildRequires: lua52-devel >= 5.2
+BuildRequires: pkgconfig
+BuildRequires: poppler-glib-devel
+BuildRequires: qt5-build >= 5
+BuildRequires: qt5-qmake >= 5
+BuildRequires: rpmbuild(macros) >= 1.605
+BuildRequires: unzip
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXinerama-devel
+BuildRequires: xorg-lib-libXrandr-devel
 BuildRequires: zlib-devel
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                specflags       -std=c++11
+
 %description
-The Open Scene Graph is a cross-platform C++/OpenGL library for
-the real-time visualization.
+The Open Scene Graph is a cross-platform C++/OpenGL library for the
+real-time visualization.
 
 %description -l pl.UTF-8
 Open Scene Graph to wieloplatformowa oparta o C++ i OpenGL biblioteka
 do wizualizacji w czasie rzeczywistym.
 
+%package plugins
+Summary:       Plugins for Open Scene Graph
+Summary(pl.UTF-8):     Wtyczki dla biblioteki Open Scene Graph
+Group:         Libraries
+Requires:      %{name} = %{version}-%{release}
+Requires:      librsvg-devel >= 1:2.35
+
+%description plugins
+Plugins for Open Scene Graph library.
+
+%description plugins -l pl.UTF-8
+Wtyczki dla biblioteki Open Scene Graph.
+
 %package devel
 Summary:       Header files for Open Scene Graph
-Summary(pl.UTF-8):   Pliki nagłówkowe dla Open Scene Graph
+Summary(pl.UTF-8):     Pliki nagłówkowe dla Open Scene Graph
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
 
@@ -45,7 +109,7 @@ Pliki nagłówkowe dla biblioteki Open Scene Graph.
 
 %package examples
 Summary:       Examples for Open Scene Graph
-Summary(pl.UTF-8):   Przykłady dla Open Scene Graph
+Summary(pl.UTF-8):     Przykłady dla Open Scene Graph
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
 
@@ -55,38 +119,37 @@ Examples for Open Scene Graph Library.
 %description examples -l pl.UTF-8
 Przykłady dla biblioteki Open Scene Graph.
 
-# no such package (yet?)
-#%package plugin
-#Summary:      Plugins for Open Scene Graph
-#Summary(pl):  Wtyczki dla biblioteki Open Scene Graph
-#Group:                Libraries
-#Requires:     %{name} = %{version}-%{release}
-#
-#%description plugin
-#Plugins for Open Scene Graph library.
-#
-#%description plugin -l pl
-#Wtyczki dla biblioteki Open Scene Graph.
-
 %prep
-%setup -q -n %{name}-%{version}-%{_snap}%{_snap_time}
+%setup -q -n %{name}-%{name}-%{version}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
 %build
-%{__make} -f GNUmakefile \
-       CC="%{__cc} %{rpmcflags}" \
-       CXX="%{__cxx} %{rpmcflags}"
+install -d build
+cd build
+%cmake .. \
+       -DDESIRED_QT_VERSION=5 \
+%if "%{_lib}" == "lib64"
+       -DLIB_POSTFIX=64 \
+%endif
+%if "%{_lib}" == "libx32"
+       -DLIB_POSTFIX=x32 \
+%endif
+       %{!?with_ffmpeg:-DCMAKE_DISABLE_FIND_PACKAGE_FFmpeg=1} \
+       -DOSG_USE_LOCAL_LUA_SOURCE=OFF
+
+%{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-%{__make} -f GNUmakefile install \
-       INST_LOCATION=$RPM_BUILD_ROOT%{_prefix} \
-       INST_SHARE_PREFIX=$RPM_BUILD_ROOT%{_prefix} \
-       INST_EXAMPLES=$RPM_BUILD_ROOT%{_bindir} \
-       INST_EXAMPLE_SRC=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
-install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
-install Make/openscenegraph.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
-find $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -name Linux??.Opt -type d |xargs rm -rf
+cp -a examples/osg* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+
+%{__make} -C build install \
+       DESTDIR=$RPM_BUILD_ROOT
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -96,16 +159,99 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/*.so
-%dir %{_libdir}/osgPlugins
-%attr(755,root,root) %{_libdir}/osgPlugins/*
+%doc AUTHORS.txt ChangeLog LICENSE.txt NEWS.txt README.md
+%attr(755,root,root) %{_libdir}/libOpenThreads.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libOpenThreads.so.21
+%attr(755,root,root) %{_libdir}/libosg.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosg.so.161
+%attr(755,root,root) %{_libdir}/libosgAnimation.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgAnimation.so.161
+%attr(755,root,root) %{_libdir}/libosgDB.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgDB.so.161
+%attr(755,root,root) %{_libdir}/libosgFX.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgFX.so.161
+%attr(755,root,root) %{_libdir}/libosgGA.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgGA.so.161
+%attr(755,root,root) %{_libdir}/libosgManipulator.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgManipulator.so.161
+%attr(755,root,root) %{_libdir}/libosgParticle.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgParticle.so.161
+%attr(755,root,root) %{_libdir}/libosgPresentation.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgPresentation.so.161
+#%attr(755,root,root) %{_libdir}/libosgQt.so.*.*.*
+#%attr(755,root,root) %ghost %{_libdir}/libosgQt.so.141
+%attr(755,root,root) %{_libdir}/libosgShadow.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgShadow.so.161
+%attr(755,root,root) %{_libdir}/libosgSim.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgSim.so.161
+%attr(755,root,root) %{_libdir}/libosgTerrain.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgTerrain.so.161
+%attr(755,root,root) %{_libdir}/libosgText.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgText.so.161
+%attr(755,root,root) %{_libdir}/libosgUI.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgUI.so.161
+%attr(755,root,root) %{_libdir}/libosgUtil.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgUtil.so.161
+%attr(755,root,root) %{_libdir}/libosgViewer.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgViewer.so.161
+%attr(755,root,root) %{_libdir}/libosgVolume.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgVolume.so.161
+%attr(755,root,root) %{_libdir}/libosgWidget.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libosgWidget.so.161
+
+%files plugins
+%defattr(644,root,root,755)
+%dir %{_libdir}/osgPlugins-%{version}
+%attr(755,root,root) %{_libdir}/osgPlugins-%{version}/*.so
 
 %files devel
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libOpenThreads.so
+%attr(755,root,root) %{_libdir}/libosg.so
+%attr(755,root,root) %{_libdir}/libosgAnimation.so
+%attr(755,root,root) %{_libdir}/libosgDB.so
+%attr(755,root,root) %{_libdir}/libosgFX.so
+%attr(755,root,root) %{_libdir}/libosgGA.so
+%attr(755,root,root) %{_libdir}/libosgManipulator.so
+%attr(755,root,root) %{_libdir}/libosgParticle.so
+%attr(755,root,root) %{_libdir}/libosgPresentation.so
+#%attr(755,root,root) %{_libdir}/libosgQt.so
+%attr(755,root,root) %{_libdir}/libosgShadow.so
+%attr(755,root,root) %{_libdir}/libosgSim.so
+%attr(755,root,root) %{_libdir}/libosgTerrain.so
+%attr(755,root,root) %{_libdir}/libosgText.so
+%attr(755,root,root) %{_libdir}/libosgUI.so
+%attr(755,root,root) %{_libdir}/libosgUtil.so
+%attr(755,root,root) %{_libdir}/libosgViewer.so
+%attr(755,root,root) %{_libdir}/libosgVolume.so
+%attr(755,root,root) %{_libdir}/libosgWidget.so
+%{_includedir}/OpenThreads
 %{_includedir}/osg*
-%{_pkgconfigdir}/*.pc
+%{_pkgconfigdir}/openscenegraph.pc
+%{_pkgconfigdir}/openthreads.pc
+%{_pkgconfigdir}/openscenegraph-osg.pc
+%{_pkgconfigdir}/openscenegraph-osgAnimation.pc
+%{_pkgconfigdir}/openscenegraph-osgDB.pc
+%{_pkgconfigdir}/openscenegraph-osgFX.pc
+%{_pkgconfigdir}/openscenegraph-osgGA.pc
+%{_pkgconfigdir}/openscenegraph-osgManipulator.pc
+%{_pkgconfigdir}/openscenegraph-osgParticle.pc
+#%{_pkgconfigdir}/openscenegraph-osgQt.pc
+%{_pkgconfigdir}/openscenegraph-osgShadow.pc
+%{_pkgconfigdir}/openscenegraph-osgSim.pc
+%{_pkgconfigdir}/openscenegraph-osgTerrain.pc
+%{_pkgconfigdir}/openscenegraph-osgText.pc
+%{_pkgconfigdir}/openscenegraph-osgUtil.pc
+%{_pkgconfigdir}/openscenegraph-osgViewer.pc
+%{_pkgconfigdir}/openscenegraph-osgVolume.pc
+%{_pkgconfigdir}/openscenegraph-osgWidget.pc
 
 %files examples
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{_bindir}/osgarchive
+%attr(755,root,root) %{_bindir}/osgconv
+%attr(755,root,root) %{_bindir}/osgfilecache
+%attr(755,root,root) %{_bindir}/osgversion
+%attr(755,root,root) %{_bindir}/osgviewer
+%attr(755,root,root) %{_bindir}/present3D
 %{_examplesdir}/%{name}-%{version}
This page took 0.094557 seconds and 4 git commands to generate.