A new user interface for you! Read more...

File OpenSceneGraph.spec of Package OpenSceneGraph

#
# spec file for package OpenSceneGraph
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%define _osg_so_nr	80
%define _opt_so_nr	12

Name:           OpenSceneGraph
Version:        3.2.1
Release:        7.1
Summary:        Open source high performance 3D graphics toolkit
License:        LGPL-2.1 and WXwindows
Packager:  Alessandro de Oliveira Faria (A.K.A CABELO) <cabelo@opensuse.org>
Group:          Productivity/Graphics/Other
Url:            http://openscenegraph.org/projects/osg
Source:         http://www.openscenegraph.org/downloads/stable_releases/%{name}-%{version}/source/%{name}-%{version}.zip
Source1:        %{name}.png
Source90:       %{name}-rpmlintrc
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch0:         %{name}-gcc43.patch
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
#Patch1:         %{name}-xine12.patch
# PATCH-FIX-UPSTREAM OpenSceneGraph-libgif6.patch
# Used Raymond Wooninck kdelibs patch as a template https://git.reviewboard.kde.org/r/109478/
#BuildRequires: -post-build-checks -rpmlint-Factory -rpmlint-mini  -rpmlint

BuildRequires:  cmake
BuildRequires:  curl-devel
BuildRequires:  dos2unix
BuildRequires:  fdupes
BuildRequires:  fltk-devel
BuildRequires:  freeglut-devel
BuildRequires:  freetype2-devel
BuildRequires:  gcc-c++
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} < 1230
BuildRequires:  gtkglext-devel
%endif
BuildRequires:  OpenEXR-devel
BuildRequires:  SDL-devel
BuildRequires:  libQtWebKit-devel
BuildRequires:  libjpeg-devel
BuildRequires:  liboil-devel
BuildRequires:  libpng-devel
BuildRequires:  libpoppler-glib-devel
BuildRequires:  librsvg-devel
BuildRequires:  libsndfile-devel
BuildRequires:  libtiff-devel
BuildRequires:  libxine-devel
BuildRequires:  openal-soft-devel
BuildRequires:  phonon-devel
BuildRequires:  pkgconfig
BuildRequires:  qt-devel
BuildRequires:  unzip
BuildRequires:  update-desktop-files
BuildRequires:  zlib-devel

%description
The OpenSceneGraph is an OpenSource, cross platform graphics
toolkit for the development of high performance graphics
applications such as flight simulators, games, virtual reality
and scientific visualization. Based around the concept of a
SceneGraph, it provides an object oriented framework on top of
OpenGL freeing the developer from implementing and optimizing
low level graphics calls, and provides many additional
utilities for rapid development of graphics applications.

%package -n libOpenSceneGraph%{_osg_so_nr}
Summary:        Shared libraries for OpenSceneGraph
Group:          System/Libraries

%description -n libOpenSceneGraph%{_osg_so_nr}
The OpenSceneGraph is an OpenSource, cross platform graphics
toolkit for the development of high performance graphics
applications such as flight simulators, games, virtual reality
and scientific visualization. Based around the concept of a
SceneGraph, it provides an object oriented framework on top of
OpenGL freeing the developer from implementing and optimizing
low level graphics calls, and provides many additional
utilities for rapid development of graphics applications.

This package contains the shared libraries for OpenSceneGraph.

%package -n libOpenSceneGraph-devel
Summary:        OpenSceneGraph development files
Group:          Development/Libraries/C and C++
Requires:       curl-devel
Requires:       freeglut-devel
Requires:       freetype2-devel
Requires:       giflib-devel
Requires:       libOpenSceneGraph%{_osg_so_nr} = %{version}
Requires:       libOpenThreads-devel = %{version}
%if 0%{?suse_version} < 1230
Requires:       gtkglext-devel
%endif
Requires:       SDL-devel
Requires:       libjpeg-devel
Requires:       libpng-devel
Requires:       libpoppler-glib-devel
Requires:       librsvg-devel
Requires:       libtiff-devel
Requires:       libxine-devel
Requires:       openal-soft-devel
Requires:       qt-devel

%description -n libOpenSceneGraph-devel
The OpenSceneGraph is an OpenSource, cross platform graphics
toolkit for the development of high performance graphics
applications such as flight simulators, games, virtual reality
and scientific visualization. Based around the concept of a
SceneGraph, it provides an object oriented framework on top of
OpenGL freeing the developer from implementing and optimizing
low level graphics calls, and provides many additional
utilities for rapid development of graphics applications.

This package contains the header and development files for
OpenSceneGraph.

%package -n libOpenThreads%{_opt_so_nr}
Summary:        Shared libraries for OpenSceneGraph
Group:          System/Libraries

%description -n libOpenThreads%{_opt_so_nr}
The OpenSceneGraph is an OpenSource, cross platform graphics
toolkit for the development of high performance graphics
applications such as flight simulators, games, virtual reality
and scientific visualization. Based around the concept of a
SceneGraph, it provides an object oriented framework on top of
OpenGL freeing the developer from implementing and optimizing
low level graphics calls, and provides many additional
utilities for rapid development of graphics applications.

This package contains the shared libraries for OpenSceneGraph.

%package -n libOpenThreads-devel
Summary:        OpenSceneGraph development files
Group:          Development/Libraries/C and C++
Requires:       SDL-devel
Requires:       curl-devel
Requires:       freeglut-devel
Requires:       freetype2-devel
Requires:       libOpenThreads%{_opt_so_nr} = %{version}
Requires:       libjpeg-devel
Requires:       libpng-devel
Requires:       libpoppler-glib-devel
Requires:       libtiff-devel
Requires:       libxine-devel
Requires:       qt-devel

%description -n libOpenThreads-devel
The OpenSceneGraph is an OpenSource, cross platform graphics
toolkit for the development of high performance graphics
applications such as flight simulators, games, virtual reality
and scientific visualization. Based around the concept of a
SceneGraph, it provides an object oriented framework on top of
OpenGL freeing the developer from implementing and optimizing
low level graphics calls, and provides many additional
utilities for rapid development of graphics applications.

This package contains the header and development files for
OpenSceneGraph.

%package plugins
Summary:        Plugins for OpenSceneGraph
Group:          Productivity/Graphics/Other

%description plugins
The OpenSceneGraph is an OpenSource, cross platform graphics
toolkit for the development of high performance graphics
applications such as flight simulators, games, virtual reality
and scientific visualization. Based around the concept of a
SceneGraph, it provides an object oriented framework on top of
OpenGL freeing the developer from implementing and optimizing
low level graphics calls, and provides many additional
utilities for rapid development of graphics applications.

This package contains some plugins for OpenSceneGraph.

%package examples
Summary:        OpenSceneGraph example applications
Group:          Productivity/Graphics/Other

%description examples
The OpenSceneGraph is an OpenSource, cross platform graphics
toolkit for the development of high performance graphics
applications such as flight simulators, games, virtual reality
and scientific visualization. Based around the concept of a
SceneGraph, it provides an object oriented framework on top of
OpenGL freeing the developer from implementing and optimizing
low level graphics calls, and provides many additional
utilities for rapid development of graphics applications.

This package contains some example applications built with OpenSceneGraph

%prep
%setup -q
%patch0 -p1
dos2unix     *.txt ChangeLog
chmod 644 *.txt ChangeLog

%build
export CFLAGS="%{optflags} -fno-strict-aliasing -D__STDC_CONSTANT_MACROS -UGTK_DISABLE_DEPRECATED"
export CXXFLAGS="%{optflags} -fno-strict-aliasing -D__STDC_CONSTANT_MACROS -UGTK_DISABLE_DEPRECATED"
cmake \
	-DCMAKE_INSTALL_PREFIX=%{_prefix} \
	-DBUILD_OSG_EXAMPLES=ON \
	-DBUILD_OSG_PLUGINS=ON \
	-DBUILD_DOCUMENTATION=OFF \
	-DBUILD_OSG_WRAPPER=ON \
	-DBUILD_OSG_APPLICATIONS=ON \
	-DCMAKE_BUILD_TYPE=Release \
	-DDYNAMIC_OPENSCENEGRAPH=ON \
	-DDYNAMIC_OPENTHREADS=ON
make %{?_smp_mflags}

%install
make DESTDIR=%{buildroot} install
install -dm 755 %{buildroot}%{_libdir}/pkgconfig
install -m 644 packaging/pkgconfig/*.pc \
	%{buildroot}%{_libdir}/pkgconfig
# example bins installed in share dir, not acceptable. Note, this will break
# when %{_datadir}/OpenSceneGraph is also used for other stuff
mv %{buildroot}%{_datadir}/OpenSceneGraph \
   %{buildroot}%{_libdir}

%post -n libOpenSceneGraph%{_osg_so_nr} -p /sbin/ldconfig

%post -n libOpenThreads%{_opt_so_nr} -p /sbin/ldconfig

%postun -n libOpenSceneGraph%{_osg_so_nr} -p /sbin/ldconfig

%postun -n libOpenThreads%{_opt_so_nr} -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc AUTHORS.txt LICENSE.txt NEWS.txt README.txt ChangeLog
%{_bindir}/osg2cpp
%{_bindir}/osgarchive
%{_bindir}/osgconv
%{_bindir}/osgfilecache
%{_bindir}/osgversion
%{_bindir}/osgviewer
%{_bindir}/present3D

%files plugins
%defattr(-,root,root)
%{_libdir}/osgPlugins-%{version}/

%files -n libOpenSceneGraph%{_osg_so_nr}
%defattr(-,root,root)
%{_libdir}/libosg.so.*
%{_libdir}/libosgAnimation.so.*
%{_libdir}/libosgDB.so.*
%{_libdir}/libosgFX.so.*
%{_libdir}/libosgGA.so.*
%{_libdir}/libosgManipulator.so.*
%{_libdir}/libosgParticle.so.*
%{_libdir}/libosgShadow.so.*
%{_libdir}/libosgSim.so.*
%{_libdir}/libosgTerrain.so.*
%{_libdir}/libosgText.so.*
%{_libdir}/libosgUtil.so.*
%{_libdir}/libosgVolume.so.*
%{_libdir}/libosgViewer.so.*
%{_libdir}/libosgWidget.so.*
%{_libdir}/libosgPresentation.so.*
%{_libdir}/libosgQt.so.*

%files -n libOpenSceneGraph-devel
%defattr(-,root,root)
%{_includedir}/osg/
%{_includedir}/osgAnimation/
%{_includedir}/osgDB/
%{_includedir}/osgFX/
%{_includedir}/osgGA/
%{_includedir}/osgManipulator/
%{_includedir}/osgParticle/
%{_includedir}/osgShadow/
%{_includedir}/osgSim/
%{_includedir}/osgTerrain/
%{_includedir}/osgText/
%{_includedir}/osgUtil/
%{_includedir}/osgViewer/
%{_includedir}/osgVolume/
%{_includedir}/osgWidget/
%{_includedir}/osgQt/
%{_includedir}/osgPresentation/
%{_libdir}/libosg.so
%{_libdir}/libosgAnimation.so
%{_libdir}/libosgDB.so
%{_libdir}/libosgFX.so
%{_libdir}/libosgGA.so
%{_libdir}/libosgManipulator.so
%{_libdir}/libosgParticle.so
%{_libdir}/libosgShadow.so
%{_libdir}/libosgSim.so
%{_libdir}/libosgTerrain.so
%{_libdir}/libosgText.so
%{_libdir}/libosgUtil.so
%{_libdir}/libosgViewer.so
%{_libdir}/libosgVolume.so
%{_libdir}/libosgWidget.so
%{_libdir}/libosgPresentation.so
%{_libdir}/libosgQt.so
%{_libdir}/pkgconfig/openscenegraph.pc
%{_libdir}/pkgconfig/openscenegraph-osg*.pc

%files examples
%defattr(-,root,root)
%{_libdir}/OpenSceneGraph

%files -n libOpenThreads%{_opt_so_nr}
%defattr(-,root,root)
%{_libdir}/libOpenThreads.so.*

%files -n libOpenThreads-devel
%defattr(-,root,root)
%{_includedir}/OpenThreads/
%{_libdir}/libOpenThreads.so
%{_libdir}/pkgconfig/openthreads.pc

%changelog
* Wed Apr  3 2013 joop.boonen@opensuse.org
- Created OpenSceneGraph-libgif6.patch
  Used Raymond Wooninck kdelibs patch as a template
  https://git.reviewboard.kde.org/r/109478/
* Sun Sep  2 2012 thorstenb@flightgear.org
- Dropped gtk-glext install dependency for openSUSE factory
* Sun Sep  2 2012 thorstenb@flightgear.org
- Dropped gtk-glext dependency for openSUSE factory
- Removed obsolete openSUSE versions from spec file
* Mon Jul  2 2012 thorstenb@flightgear.org
- Patch to compile with libxine >= 1.2.0
* Sun Feb 19 2012 jengelh@medozas.de
- Remove redundant tags/sections from specfile
- Kill build-time dependency on XUL; it is nowhere referenced
- Remove illegal Obsoletes/Provides (see shlib pol.)
- Ensure pkgconfig symbols are generated
* Thu Sep  1 2011 highwaystar.ru@gmail.com
- update to 3.0.1
* Sat Jul  2 2011 jengelh@medozas.de
- Use %%_smp_mflags for parallel building
- Strip %%clean section (not needed on BS)
* Tue Apr 13 2010 toni@links2linux.de
- update to 2.8.3
- added docs
- added ffmpeg based plugins
- added gdal based plugins
- split-off viewers (FLTK, QT, SDL, WX) to keep dependencies smaller
- new sonames ==> libOpenSceneGraph65
* Tue Oct 27 2009 toni@links2linux.de
- update to 2.8.2
* Thu May 21 2009 toni@links2linux.de
- update to 2.8.1
* Fri Feb 13 2009 toni@links2linux.de
- update to 2.8.0
- new sonames ==> libOpenSceneGraph55
* Tue Oct  7 2008 toni@links2linux.de
- update to 2.6.1
- new sonames ==> libOpenSceneGraph48
* Fri Aug  8 2008 toni@links2linux.de
- update to 2.6.0
- new sonames ==> libOpenThreads11, libOpenSceneGraph44
* Mon May 12 2008 toni@links2linux.de
- update to 2.4.0
- new sonames ==> libOpenThreads10, libOpenSceneGraph35
* Sat Feb  2 2008 toni@links2linux.de
- initial version 2.2