c615bce
%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
c615bce
%{!?ruby_sitearch: %define ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"] ')}
eb65a47
eb65a47
Name:           player
bbc4993
Version:        3.0.2
bbc4993
Release:        1%{?dist}
eb65a47
Summary:        Cross-platform robot device interface and server
eb65a47
eb65a47
Group:          Applications/System
eb65a47
License:        GPLv2+ and LGPLv2+
eb65a47
URL:            http://playerstage.sourceforge.net
672594d
Source0:        http://downloads.sourceforge.net/project/playerstage/Player/%{version}/%{name}-%{version}.tar.gz
eb65a47
Source1:        playernav.desktop 
eb65a47
Source2:        playercam.desktop 
eb65a47
Source3:        playerv.desktop 
658787c
# This patch adds a search directory for plugin libraries, proposed at http://old.nabble.com/Proposal%3A-Plugin-locations-for-Player-and-Stage-ts26868070.html 
bbc4993
Patch0:         %{name}-3.0.1.fixlibload.patch
bbc4993
# This patch fixes detection of the Unicap headers
bbc4993
Patch1:         %{name}-3.0.2.fixunicapimage.patch
bbc4993
# This patch fixes automatic detection of linux/wireless.h
bbc4993
Patch2:         %{name}-3.0.2.fixlinuxwifi.patch
bbc4993
# This patch enables correct multilib packaging for s390x
bbc4993
Patch3:         %{name}-3.0.2.s390.patch
eb65a47
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
eb65a47
672594d
# Sort order: build tools, feature libs, within alphabetically, group related
672594d
# entries on single line (most dominant lib first or alphabetically)
672594d
672594d
# Build tools
672594d
BuildRequires:  cmake
672594d
BuildRequires:  desktop-file-utils
bbc4993
BuildRequires:  doxygen, texlive-latex, texlive, texlive-dvips, latex2html
0d3b267
BuildRequires:  libtool, libtool-ltdl-devel
672594d
# Libs to enable Player features
eb65a47
BuildRequires:  alsa-lib-devel
672594d
BuildRequires:  avahi-compat-howl-devel
bbc4993
BuildRequires:  boost-devel boost-thread
672594d
BuildRequires:  festival-devel
525e02a
BuildRequires:  gearbox-devel
672594d
BuildRequires:  geos-devel
eb65a47
BuildRequires:  gsl-devel
bbc4993
BuildRequires:  gstreamer-devel
eb65a47
BuildRequires:  gtk2-devel, libgnomecanvas-devel
672594d
BuildRequires:  libdc1394-devel, libraw1394-devel
672594d
BuildRequires:  libjpeg-devel
672594d
BuildRequires:  libpqxx-devel
672594d
BuildRequires:  libstatgrab-devel
3f8d915
BuildRequires:  libusb-devel
bbc4993
BuildRequires:  libXext-devel
672594d
BuildRequires:  opencv-devel
672594d
BuildRequires:  openssl-devel
672594d
BuildRequires:  perl
672594d
BuildRequires:  python, python-devel, swig
672594d
BuildRequires:  ruby, ruby-devel
eb65a47
BuildRequires:  zlib-devel
eb65a47
eb65a47
%description
eb65a47
Player is a network server for robot control. Running on your robot, Player
eb65a47
provides a clean and simple interface to the robot's sensors and actuators
eb65a47
over the IP network. Your client program talks to Player over a TCP socket,
eb65a47
reading data from sensors, writing commmands to actuators, and configuring
eb65a47
devices on the fly. Player supports a variety of robot hardware.
eb65a47
eb65a47
eb65a47
%package devel
eb65a47
Summary: Header files and libraries for %{name}
eb65a47
Group: Development/Libraries
eb65a47
Requires: %{name} = %{version}-%{release}
672594d
Requires: pkgconfig cmake
525e02a
Requires: boost-devel
525e02a
Requires: geos-devel
525e02a
Requires: libtool-ltdl-devel
525e02a
Requires: zlib-devel
e7aab25
Obsoletes: player-static < 3.0.0
eb65a47
eb65a47
%description devel
eb65a47
This package contains the header files and libraries
eb65a47
for %{name}. If you like to develop programs using %{name},
eb65a47
you will need to install %{name}-devel.
eb65a47
eb65a47
%package doc
eb65a47
Summary: Development documentation for Player
eb65a47
Group: Documentation
672594d
BuildArch: noarch
eb65a47
eb65a47
%description doc
eb65a47
This package contains the development documentation for Player.
eb65a47
eb65a47
%package python
eb65a47
Summary: Player Python bindings
eb65a47
Group: Development/Libraries
eb65a47
Requires: %{name} = %{version}-%{release}
672594d
Requires: python >= 2.6
eb65a47
eb65a47
%description python
eb65a47
This package contains the Python bindings for %{name}.
eb65a47
If you like to develop programs using %{name} in Python
672594d
you will need to install this package. Includes bindings
672594d
built against the C and C++ client libraries.
eb65a47
eb65a47
%package examples
672594d
Summary:  Examples and templates for Player
eb65a47
Group:    Development/Tools
eb65a47
Requires: %{name} = %{version}-%{release}
672594d
BuildArch: noarch
eb65a47
eb65a47
%description examples
672594d
This package contains example code for %{name} development.
672594d
Included are sample plugin drivers, and examples made using
672594d
the python, C, and C++ client libraries.
eb65a47
672594d
%package ruby
672594d
Summary: Ruby bindings for %{name}
eb65a47
Group: Development/Libraries
672594d
Requires: %{name} = %{version}-%{release}
672594d
Requires: ruby >= 1.8
eb65a47
672594d
%description ruby
672594d
This package contains the Ruby client-side bindings for %{name}.
672594d
If you would like to build %{name} clients using Ruby you
672594d
will need to install this package.  Includes bindings built
672594d
against the C and C++ client libraries. Ruby bindings
672594d
are experimental.
eb65a47
eb65a47
eb65a47
%prep
eb65a47
%setup -q -n %{name}-%{version}
658787c
%patch0 -p1 -b .fixlibload
bbc4993
%patch1 -p0
bbc4993
%patch2 -p0
bbc4993
%patch3 -p1 -b .s390
672594d
find . -name '*.c' -exec chmod -x {} \;
672594d
find . -name '*.cc' -exec chmod -x {} \;
672594d
find . -name '*.cpp' -exec chmod -x {} \;
672594d
find . -name '*.h' -exec chmod -x {} \;
eb65a47
eb65a47
%build
525e02a
%cmake -DBUILD_DOCUMENTATION=ON -DBUILD_PLAYERCC=ON -DBUILD_PLAYERCC_BOOST=ON -DBUILD_PYTHONC_BINDINGS=ON -DBUILD_PYTHONCPP_BINDINGS=ON -DBUILD_EXAMPLES=ON -DBUILD_RUBYCPP_BINDINGS=ON -DBoost_USE_MULTITHREAD=ON -DENABLE_DRIVER_OCEANSERVER=OFF .
eb65a47
make
672594d
eb65a47
pushd doc
eb65a47
doxygen player.dox
eb65a47
popd
eb65a47
eb65a47
%install
eb65a47
rm -rf $RPM_BUILD_ROOT
eb65a47
make install DESTDIR=$RPM_BUILD_ROOT
672594d
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}
658787c
mkdir -p $RPM_BUILD_ROOT/%{_libdir}/%{name}
672594d
mv $RPM_BUILD_ROOT/%{_datadir}/%{name}/config $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}
eb65a47
find $RPM_BUILD_ROOT -name '*.la' -exec rm {} \;
0d3b267
eb65a47
desktop-file-install --vendor="fedora"               \
eb65a47
--dir=${RPM_BUILD_ROOT}%{_datadir}/applications         \
eb65a47
%{SOURCE1}
eb65a47
eb65a47
desktop-file-install --vendor="fedora"               \
eb65a47
--dir=${RPM_BUILD_ROOT}%{_datadir}/applications         \
eb65a47
%{SOURCE2}
eb65a47
eb65a47
desktop-file-install --vendor="fedora"               \
eb65a47
--dir=${RPM_BUILD_ROOT}%{_datadir}/applications         \
eb65a47
%{SOURCE3}
eb65a47
eb65a47
%clean
eb65a47
rm -rf $RPM_BUILD_ROOT
eb65a47
eb65a47
eb65a47
%post -p /sbin/ldconfig
eb65a47
eb65a47
%postun -p /sbin/ldconfig
eb65a47
eb65a47
%files
eb65a47
%defattr(-,root,root,-)
eb65a47
%doc COPYING COPYING.lib README AUTHORS
672594d
%{_sysconfdir}/%{name}
672594d
%config(noreplace) %{_sysconfdir}/%{name}/config/*
eb65a47
%{_bindir}/player*
eb65a47
%{_bindir}/pmaptest
eb65a47
%{_libdir}/*.so.*
eb65a47
%dir %{_datadir}/player
eb65a47
%{_datadir}/applications/*.desktop
658787c
%dir %{_libdir}/player
eb65a47
eb65a47
%files devel
eb65a47
%defattr(-,root,root,-)
672594d
%{_includedir}/player-3.0
eb65a47
%{_libdir}/*.so
eb65a47
%{_libdir}/pkgconfig/*
672594d
%{_datadir}/cmake/Modules/*
672594d
672594d
%files python
672594d
%defattr(-,root,root,-)
672594d
%{python_sitearch}/*
eb65a47
eb65a47
%files examples
eb65a47
%defattr(-,root,root,-)
672594d
%{_datadir}/player/examples
eb65a47
eb65a47
%files doc
eb65a47
%defattr(-,root,root,-)
bbc4993
%doc COPYING
eb65a47
%doc doc/*.txt
eb65a47
%doc doc/*.html
eb65a47
%doc doc/player-docs
eb65a47
672594d
%files ruby
672594d
%defattr (-,root,root,-)
658787c
%{ruby_sitearch}/*.so
eb65a47
eb65a47
%changelog
bbc4993
* Sun Jul 11 2010 Rich Mattes <richmattes@gmail.com> - 3.0.2-1
bbc4993
- Update to release 3.0.2
bbc4993
3f8d915
* Sun Apr 4 2010 Rich Mattes <richmattes@gmail.com> - 3.0.1-5
3f8d915
- Rebuild for GEOS soname bump
3f8d915
- Enable nimu and acr120u drivers
3f8d915
525e02a
* Wed Mar 24 2010 Rich Mattes <richmattes@gmail.com> - 3.0.1-4
525e02a
- Rebuild for Gearbox drivers
525e02a
- Added missing Requires for devel package
525e02a
9d8ee7d
* Wed Jan 13 2010 Devrim GÜNDÜZ <devrim@gunduz.org> - 3.0.1-3
9d8ee7d
- Rebuild against new GEOS.
9d8ee7d
c615bce
* Sun Jan 10 2010 Tim Niemueller <tim@niemueller.de> - 3.0.1-2
c615bce
- Use define instead of global macro to force lazy evaluation of *_sitearch
c615bce
  macros, fixes compilation when Python/Ruby is not installed by on buildsys
c615bce
658787c
* Sun Jan 10 2010 Rich Mattes <richmattes@gmail.com> - 3.0.1-1
658787c
- Updated to release 3.0.1
658787c
- Fixed ruby bindings install path
658787c
- Fixed documentation build process
658787c
- Added libdir/player to plugin search path
658787c
e7aab25
* Sun Nov 08 2009 Tim Niemueller <tim@niemueller.de> - 3.0.0-4
e7aab25
- devel sub-package obsoletes no longer available static sub-package
e7aab25
672594d
* Sun Oct 18 2009 Tim Niemueller <tim@niemueller.de> - 3.0.0-3
672594d
- Merge Rich's changes with Fedora spec file
672594d
672594d
* Sat Oct 10 2009 Rich Mattes <richmattes@gmail.com> - 3.0.0-2
672594d
- Fixed x86_64 build issues
672594d
- Fixed x86_64 library install path
672594d
- Fixed mock i586 and x86_64 dep issues
672594d
- Enabled Python C++ and Ruby C++ bindings
672594d
- Made doc and examples packages .noarch
672594d
672594d
* Wed Oct 7 2009 Rich Mattes <richmattes@gmail.com> - 3.0.0-1
672594d
- Upgrade package to Player 3.0.0
672594d
9d28c9e
* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 2.1.1-13
9d28c9e
- rebuilt with new openssl
9d28c9e
88f37d9
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.1-12
88f37d9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
88f37d9
b3017ac
* Tue May 26 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.1.1-11
b3017ac
- Exclude -examples subpackage files in main package (#489184).
b3017ac
4169bfb
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.1-10
4169bfb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
4169bfb
600d153
* Sat Jan 17 2009 Tomas Mraz <tmraz@redhat.com> - 2.1.1-9
600d153
- rebuild with new openssl
600d153
2f16550
* Sun Dec 21 2008 Tim Niemueller <tim@niemueller.de> - 2.1.1-8
2f16550
- Add patch for broken linux/serial.h (thanks to Caolán McNamara)
2f16550
- Add patch for GCC 4.4 (thanks to Caolán McNamara)
2f16550
- Rebuild for Python 2.6
2f16550
b2a6525
* Sat Dec  6 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 2.1.1-7
b2a6525
- Fix libtool issue
b2a6525
0c5772a
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 2.1.1-6
0c5772a
- Rebuild for Python 2.6
0c5772a
0d3b267
* Tue Sep 02 2008 Tim Niemueller <tim@niemueller.de> - 2.1.1-5
0d3b267
- Added plugindir patch
0d3b267
0d3b267
* Fri Aug 15 2008 Tim Niemueller <tim@niemueller.de> - 2.1.1-4
0d3b267
- Changed norpath patch, fixes build problem on Fedora 8
0d3b267
- Added libtool BR
0d3b267
- Added autotools BR, needed because for patches of .am files
0d3b267
eb65a47
* Mon Aug 08 2008 Jef Spaleta <jspaleta at fedoraproject dot org> - 2.1.1-3
eb65a47
- Review clean-ups
eb65a47
eb65a47
* Tue Aug 05 2008 Tim Niemueller <tim@niemueller.de> - 2.1.1-2
eb65a47
- Only BR geos-devel on Fedora 9
eb65a47
eb65a47
* Fri Aug 01 2008 Tim Niemueller <tim@niemueller.de> - 2.1.1-1
eb65a47
- Upgrade to 2.1.1
eb65a47
eb65a47
* Mon Jun 23 2008 Jef Spaleta <jspaleta at fedoraproject dot org> - 2.1.0-0.3.rc2.fc9
eb65a47
- Review clean-ups
eb65a47
eb65a47
* Thu May 22 2008 Tim Niemueller <tim@niemueller.de> - 2.1.0-0.2.rc2.fc9
eb65a47
- Added subpackages for doc and examples
eb65a47
- Remove *.la files
eb65a47
- Fix BuildRequires
eb65a47
eb65a47
* Thu May 08 2008 Tim Niemueller <tim@niemueller.de> - 2.1.0-0.1.rc2.fc9
eb65a47
- Initial spec file
eb65a47