Blob Blame History Raw
#
# Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ralf Corsepius, Ulm, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#

%define apivers 2.8.3
%define srcvers 2.8.3

Name:           OpenSceneGraph
Version:        %{apivers}
Release:        9%{?dist}
Summary:        High performance real-time graphics toolkit

Group:          Applications/Multimedia
# The OSGPL is just the wxWidgets license.
License:        wxWidgets
URL:            http://www.openscenegraph.org/
Source0:        http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-%{version}/source/OpenSceneGraph-%{version}.zip

Patch0:         OpenSceneGraph-%{version}.diff

BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  libGL-devel
BuildRequires:  libGLU-devel
BuildRequires:  libXmu-devel
BuildRequires:  libX11-devel
BuildRequires:  Inventor-devel
BuildRequires:  freeglut-devel
BuildRequires:  libjpeg-devel
BuildRequires:  libungif-devel
BuildRequires:  libtiff-devel
BuildRequires:  libpng-devel
BuildRequires:  doxygen graphviz
BuildRequires:  cmake
BuildRequires:  wxGTK-devel
BuildRequires:  curl-devel
BuildRequires:  libxml2-devel
BuildRequires:  gtkglext-devel
BuildRequires:  librsvg2-devel
BuildRequires:  poppler-glib-devel
BuildRequires:  openal-soft-devel

BuildRequires:	qt-devel

BuildRequires:  SDL-devel

BuildRequires:  fltk-devel

BuildRequires:  gnuplot

# OSG packaging madness ;)
%define OSGSRCDIR       OpenSceneGraph-%{version}

# According to the FPG, this should be defined, but it's not.
%define _fontdir /usr/share/fonts

%if "%{name}" == "OpenSceneGraph"
Provides:       OpenSceneGraph2 = %{version}-%{release}
%endif

%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.

%prep
%setup -q -c
cd %{OSGSRCDIR}
%{?PATCH0:%patch0 -p1}
sed -i -e 's,\.:/usr/share/fonts/ttf:,.:%{_fontdir}:/usr/share/fonts/ttf:,' \
src/osgText/Font.cpp \
src/osgText/Font3D.cpp
cd ..

%build
mkdir -p BUILD
pushd BUILD

%cmake -DBUILD_OSG_EXAMPLES=ON -DBUILD_OSG_WRAPPERS=ON -DBUILD_DOCUMENTATION=ON ../%{OSGSRCDIR}
make VERBOSE=1 %{?_smp_mflags}

make doc_openscenegraph doc_openthreads
popd

%install
rm -rf $RPM_BUILD_ROOT
pushd BUILD
make install DESTDIR=${RPM_BUILD_ROOT}

# Supposed to take OpenSceneGraph data
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/OpenSceneGraph
popd

%clean
rm -rf $RPM_BUILD_ROOT



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

%package libs
Summary:        Devel files for OpenSceneGraph
Group:          Applications/Multimedia
%if "%{name}" == "OpenSceneGraph"
Provides:	OpenSceneGraph2-libs = %{version}-%{release}
%endif

%description libs
Runtime libraries files for OpenSceneGraph.

%post libs -p /sbin/ldconfig

%postun libs -p /sbin/ldconfig

%files libs
%defattr(-,root,root,-)
%{_libdir}/osgPlugins-%{apivers}
%{_libdir}/libosg*.so.*

%package devel
Summary:        Devel files for OpenSceneGraph
Group:          Applications/Multimedia
%if "%{name}" == "OpenSceneGraph"
Provides:	OpenSceneGraph2-devel = %{version}-%{release}
%endif
Requires:	OpenSceneGraph2-libs = %{version}-%{release}
Requires:	pkgconfig
Requires:	OpenThreads-devel

%description devel
Development files for OpenSceneGraph.

%files devel
%defattr(-,root,root,-)
%doc BUILD/doc/OpenSceneGraphReferenceDocs
%{_includedir}/osg*
%{_libdir}/pkgconfig/openscenegraph.pc
%{_libdir}/libosg*.so

%package examples-SDL
Summary:        OSG sample applications using SDL
Group:          Applications/Multimedia
%if "%{name}" == "OpenSceneGraph"
Provides:       OpenSceneGraph2-examples-SDL = %{version}-%{release}
%endif

%description examples-SDL
OSG sample applications using SDL

%files examples-SDL
%defattr(-,root,root,-)
%{_bindir}/osgviewerSDL

%package examples-fltk
Summary:        OSG sample applications using FLTK
Group:          Applications/Multimedia
%if "%{name}" == "OpenSceneGraph"
Provides:       OpenSceneGraph2-examples-fltk = %{version}-%{release}
%endif

%description examples-fltk
OSG sample applications using FLTK

%files examples-fltk
%defattr(-,root,root,-)
%{_bindir}/osgviewerFLTK

%package examples-gtk
Summary:        OSG sample applications using gtk
Group:          Applications/Multimedia
%if "%{name}" == "OpenSceneGraph"
Provides:       OpenSceneGraph2-examples-gtk = %{version}-%{release}
%endif

%description examples-gtk
OSG sample applications using gtk

%files examples-gtk
%defattr(-,root,root,-)
%{_bindir}/osgviewerGTK

%package examples-qt
Summary:        OSG sample applications using qt
Group:          Applications/Multimedia
%if "%{name}" == "OpenSceneGraph"
Provides:       OpenSceneGraph2-examples-qt = %{version}-%{release}
%endif

%description examples-qt
OSG sample applications using qt

%files examples-qt
%defattr(-,root,root,-)
%{_bindir}/osgviewerQT

# OpenSceneGraph-examples
%package examples
Summary:        Sample applications for OpenSceneGraph
Group:          Applications/Multimedia
%if "%{name}" == "OpenSceneGraph"
Provides:       OpenSceneGraph2-examples = %{version}-%{release}
%endif

%description examples
Sample applications for OpenSceneGraph

%files examples
%defattr(-,root,root,-)
%{_bindir}/osg2cpp
%{_bindir}/osganimationhardware
%{_bindir}/osganimationmakepath
%{_bindir}/osganimationnode
%{_bindir}/osganimationskinning
%{_bindir}/osganimationsolid
%{_bindir}/osganimationtimeline
%{_bindir}/osganimationviewer
%{_bindir}/osgautocapture
%{_bindir}/osgbrowser
%{_bindir}/osgcluster
%{_bindir}/osgdrawinstanced
%{_bindir}/osggameoflife
%{_bindir}/osgmemorytest
%{_bindir}/osgpackeddepthstencil
%{_bindir}/osgpdf
%{_bindir}/osgrobot
%{_bindir}/osgsidebyside
%{_bindir}/osgwidgetmessagebox
%{_bindir}/osgwidgetperformance
%{_bindir}/osgfont
%{_bindir}/osggeometryshaders
%{_bindir}/osgimagesequence
%{_bindir}/osgkdtree
%{_bindir}/osgmultiplerendertargets
%{_bindir}/osgmultitexturecontrol
%{_bindir}/osgocclusionquery
%{_bindir}/osgscreencapture
%{_bindir}/osgsharedarray
%{_bindir}/osgstereomatch
%{_bindir}/osgtext3D
%{_bindir}/osgthirdpersonview
%{_bindir}/osgdepthpeeling
%{_bindir}/osganimate
%{_bindir}/osgautotransform
%{_bindir}/osgbillboard
%{_bindir}/osgblendequation
%{_bindir}/osgcallback
%{_bindir}/osgcamera
%{_bindir}/osgcatch
%{_bindir}/osgclip
%{_bindir}/osgcompositeviewer
%{_bindir}/osgcopy
%{_bindir}/osgcubemap
%{_bindir}/osgdelaunay
%{_bindir}/osgdepthpartition
%{_bindir}/osgdistortion
%{_bindir}/osgfadetext
%{_bindir}/osgforest
%{_bindir}/osgfxbrowser
%{_bindir}/osggeodemo
%{_bindir}/osggeometry
%{_bindir}/osghangglide
%{_bindir}/osghud
%{_bindir}/osgimpostor
%{_bindir}/osgintersection
%{_bindir}/osgintrospection
%{_bindir}/osgkeyboard
%{_bindir}/osgkeyboardmouse
%{_bindir}/osglauncher
%{_bindir}/osglight
%{_bindir}/osglightpoint
%{_bindir}/osglogicop
%{_bindir}/osglogo
%{_bindir}/osgmanipulator
%{_bindir}/osgmotionblur
%{_bindir}/osgmovie
%{_bindir}/osgmultitexture
%{_bindir}/osgoccluder
%{_bindir}/osgpagedlod
%{_bindir}/osgparametric
%{_bindir}/osgparticle
%{_bindir}/osgparticleeffects
%{_bindir}/osgpick
%{_bindir}/osgplanets
%{_bindir}/osgpoints
%{_bindir}/osgpointsprite
%{_bindir}/osgprecipitation
%{_bindir}/osgprerender
%{_bindir}/osgprerendercubemap
%{_bindir}/osgreflect
%{_bindir}/osgscalarbar
%{_bindir}/osgscribe
%{_bindir}/osgsequence
%{_bindir}/osgshaders
%{_bindir}/osgshaderterrain
%{_bindir}/osgshadow
%{_bindir}/osgshape
%{_bindir}/osgsimplifier
%{_bindir}/osgslice
%{_bindir}/osgspacewarp
%{_bindir}/osgspheresegment
%{_bindir}/osgspotlight
%{_bindir}/osgstereoimage
%{_bindir}/osgteapot
%{_bindir}/osgterrain
%{_bindir}/osgtessellate
%{_bindir}/osgtext
%{_bindir}/osgtexture1D
%{_bindir}/osgtexture2D
%{_bindir}/osgtexture3D
%{_bindir}/osgtexturerectangle
%{_bindir}/osgunittests
%{_bindir}/osgvertexprogram
%{_bindir}/osgviewerGLUT
%{_bindir}/osgviewerWX
%{_bindir}/osgvolume
%{_bindir}/osgwidgetaddremove
%{_bindir}/osgwidgetbox
%{_bindir}/osgwidgetcanvas
%{_bindir}/osgwidgetframe
%{_bindir}/osgwidgetinput
%{_bindir}/osgwidgetlabel
%{_bindir}/osgwidgetmenu
%{_bindir}/osgwidgetnotebook
%{_bindir}/osgwidgetscrolled
%{_bindir}/osgwidgetshader
%{_bindir}/osgwidgetstyled
%{_bindir}/osgwidgettable
%{_bindir}/osgwidgetwindow
%{_bindir}/osgwindows

%{_bindir}/osgphotoalbum
%{_bindir}/osgsimulation

%{_datadir}/OpenSceneGraph


# OpenThreads
%package -n OpenThreads
Summary:        OpenThreads
Group:          Applications/Multimedia
License:        wxWidgets

%description -n OpenThreads
OpenThreads is intended to provide a minimal & complete Object-Oriented (OO)
thread interface for C++ programmers.  It is loosely modeled on the Java
thread API, and the POSIX Threads standards.  The architecture of the 
library is designed around "swappable" thread models which are defined at 
compile-time in a shared object library.

%post -n OpenThreads -p /sbin/ldconfig

%postun -n OpenThreads -p /sbin/ldconfig

%files -n OpenThreads
%defattr(-,root,root,-)
%doc %{OSGSRCDIR}/{AUTHORS,LICENSE,NEWS,README}.txt
%{_libdir}/libOpenThreads.so.*

# OpenThreads-devel
%package -n OpenThreads-devel
Summary:        Devel files for OpenThreads
Group:          Applications/Multimedia
License:        wxWidgets
Requires:       OpenThreads = %{version}-%{release}
Requires:	pkgconfig

%description -n OpenThreads-devel
Development files for OpenThreads.

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

%changelog
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.3-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Sun Jan 02 2011 Rex Dieter <rdieter@fedoraproject.org> - 2.8.3-8
- rebuild (poppler)

* Wed Dec 15 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.8.3-7
- rebuild (poppler)

* Wed Dec 15 2010 Ralf Corsépius <corsepiu@fedoraproject.org> - 2.8.3-6
- Add %%{_fontdir} to OSG's font file search path.

* Sat Nov 06 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.8.3-5
- rebuilt (poppler)

* Thu Sep 30 2010 Ralf Corsépius <corsepiu@fedoraproject.org> - 2.8.3-4
- rebuild (libpoppler-glib.so.6).

* Thu Aug 19 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.8.3-3
- rebuild (poppler)

* Mon Jul 12 2010 Dan Horák <dan@danny.cz> - 2.8.3-2
- rebuilt against wxGTK-2.8.11-2

* Fri Jul 02 2010 Ralf Corsépius <corsepiu@fedoraproject.org> - 2.8.3-1
- Upstream update.
- Add osg-examples-gtk.

* Wed Aug 26 2009 Ralf Corsépius <corsepiu@fedoraproject.org> - 2.8.2-3
- Change Source0 URL (Upstream moved it once again).

* Tue Aug 18 2009 Ralf Corsépius <corsepiu@fedoraproject.org> - 2.8.2-2
- Spec file cleanup.

* Mon Aug 17 2009 Ralf Corsépius <corsepiu@fedoraproject.org> - 2.8.2-1
- Upstream update.
- Reflect upstream having changes Source0-URL.

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Mon Jun 29 2009 Ralf Corsépius <corsepiu@fedoraproject.org> - 2.8.1-2
- Remove /usr/bin/osgfilecache from *-examples.
- Further spec cleanup.

* Wed Jun 24 2009 Ralf Corsépius <corsepiu@fedoraproject.org> - 2.8.1-1
- Upstream update.
- Reflect upstream having consolidated their Source0:-URL.
- Stop supporting OSG < 2.6.0.

* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Sun Feb 15 2009 Ralf Corsépius <rc040203@freenet.de> - 2.8.0-1
- Upgrade to OSG-2.8.0.
- Remove Obsolete: Producer hacks.

* Wed Aug 14 2008 Ralf Corsépius <rc040203@freenet.de> - 2.6.0-1
- Upgrade to OSG-2.6.0.

* Wed Aug 13 2008 Ralf Corsépius <rc040203@freenet.de> - 2.4.0-4
- Preps for 2.6.0.
- Reflect the Source0-URL having changed.
- Major spec-file overhaul.

* Thu May 22 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 2.4.0-3
- fix license tag

* Tue May 13 2008 Ralf Corsépius <rc040203@freenet.de> - 2.4.0-2
- Add Orion Poplawski's patch to fix building with cmake-2.6.0.

* Mon May 12 2008 Ralf Corsépius <rc040203@freenet.de> - 2.4.0-1
- Upstream update.
- Adjust patches to 2.4.0.

* Mon Feb 11 2008 Ralf Corsépius <rc040203@freenet.de> - 2.2.0-5
- Add *-examples-SDL package.
- Add osgviewerSDL.
- Add *-examples-fltk package.
- Add osgviewerFLTK.
- Add *-examples-qt package.
- Move osgviewerQT to *-examples-qt package.

* Mon Feb 11 2008 Ralf Corsépius <rc040203@freenet.de> - 2.2.0-4
- Rebuild for gcc43.
- OpenSceneGraph-2.2.0.diff: Add gcc43 hacks.

* Wed Nov 28 2007 Ralf Corsépius <rc040203@freenet.de> - 2.2.0-3
- Re-add apivers.
- Rebuild against doxygen-1.5.3-1 (BZ 343591).

* Thu Nov 02 2007 Ralf Corsépius <rc040203@freenet.de> - 2.2.0-2
- Add qt.

* Thu Nov 01 2007 Ralf Corsépius <rc040203@freenet.de> - 2.2.0-1
- Upstream upgrade.
- Reflect Source0-URL having changed once again.
- Reflect upstream packaging changes to spec.

* Sat Oct 20 2007 Ralf Corsépius <rc040203@freenet.de> - 2.0-8
- Reflect Source0-URL having changed.

* Thu Sep 27 2007 Ralf Corsépius <rc040203@freenet.de> - 2.0-7
- Let OpenSceneGraph-libs Obsoletes: Producer
- Let OpenSceneGraph-devel Obsoletes: Producer-devel.

* Wed Sep 26 2007 Ralf Corsépius <rc040203@freenet.de> - 2.0-6
- By public demand, add upstream's *.pcs.
- Add hacks to work around the worst bugs in *.pcs.
- Add OpenSceneGraph2-devel.
- Move ldconfig to *-libs.
- Abandon OpenThreads2.
- Remove obsolete applications.

* Wed Aug 22 2007 Ralf Corsépius <rc040203@freenet.de> - 2.0-5
- Prepare renaming package into OpenSceneGraph2.
- Split out run-time libs into *-libs subpackage.
- Rename pkgconfig files into *-2.pc.
- Reactivate ppc64.
- Mass rebuild.

* Sat Jun 30 2007 Ralf Corsépius <rc040203@freenet.de> - 2.0-4
- Cleanup CVS.
- Add OSG1_Producer define.

* Fri Jun 29 2007 Ralf Corsépius <rc040203@freenet.de> - 2.0-3
- Re-add (but don't ship) *.pc.
- Let OpenSceneGraph "Obsolete: Producer".
- Let OpenSceneGraph-devel "Obsolete: Producer-devel".

* Wed Jun 27 2007 Ralf Corsépius <rc040203@freenet.de> - 2.0-2
- Build docs.

* Fri Jun 22 2007 Ralf Corsépius <rc040203@freenet.de> - 2.0-1
- Upgrade to 2.0.

* Thu Jun 21 2007 Ralf Corsépius <rc040203@freenet.de> - 1.2-4
- ExcludeArch: ppc64 (BZ 245192, 245196).

* Thu Jun 21 2007 Ralf Corsépius <rc040203@freenet.de> - 1.2-3
- Remove demeter (Defective, abandoned by upstream).

* Wed Mar 21 2007 Ralf Corsépius <rc040203@freenet.de> - 1.2-2
- Attempt to build with gdal enabled.

* Wed Oct 05 2006 Ralf Corsépius <rc040203@freenet.de> - 1.2-1
- Upstream update.
- Remove BR: flex bison.
- Drop osgfbo and osgpbuffer.

* Tue Sep 05 2006 Ralf Corsépius <rc040203@freenet.de> - 1.1-2
- Mass rebuild.

* Thu Aug 24 2006 Ralf Corsépius <rc040203@freenet.de> - 1.1-1
- Upstream update.

* Sat Jul 08 2006 Ralf Corsépius <rc040203@freenet.de> - 1.0-5
- Rebuilt to with gcc-4.1.1-6.

* Tue Jun 07 2006 Ralf Corsépius <rc040203@freenet.de> - 1.0-4
- Try to avoid adding SONAMEs on plugins and applications.

* Tue Jun 06 2006 Ralf Corsépius <rc040203@freenet.de> - 1.0-3
- Add SONAME hack to spec (PR 193934).
- Regenerate OpenSceneGraph-1.0.diff.
- Remove OpenSceneGraph-1.0.diff from look-aside cache. Add to CVS instead.
- Fix broken shell fragments.

* Sun Feb 19 2006 Ralf Corsépius <rc040203@freenet.de> - 1.0-2
- Rebuild.

* Sat Dec 10 2005 Ralf Corsépius <rc040203@freenet.de> - 1.0-1
- Upstream update.

* Wed Dec 07 2005 Ralf Corsépius <rc040203@freenet.de> - 0.9.9-5
- Try at getting this package buildable with modular X11.

* Tue Dec 06 2005 Ralf Corsepius <rc040203@freenet.de> - 0.9.9-4%{?dist}.1
- Merge diffs into one file.
- Fix up *.pcs from inside of *.spec.

* Sun Aug 28 2005 Ralf Corsepius <rc040203@freenet.de> - 0.9.9-4
- Propagate %%_libdir to pkgconfig files.
- Fix typo in %%ifarch magic to setup LD_LIBRARY_PATH
- Move configuration to %%build.
- Spec file cosmetics.

* Sat Aug 27 2005 Ralf Corsepius <rc040203@freenet.de> - 0.9.9-3
- Add full URL to Debian patch.
- Add _with_demeter.
- Extend Producer %%description.
- Extend OpenThreads %%description.

* Tue Aug 09 2005 Ralf Corsepius <ralf@links2linux.de> - 0.9.9-2
- Fix license to OSGPL.
- Change permissions on pkgconfig files to 0644.

* Tue Aug 02 2005 Ralf Corsepius <ralf@links2linux.de> - 0.9.9-1
- FE submission.

* Thu Jul 21 2005 Ralf Corsepius <ralf@links2linux.de> - 0.9.9-0
- Initial spec.