Blob Blame History Raw
Name:           player
Version:        3.0.2
Release:        59%{?dist}
Summary:        Cross-platform robot device interface and server

Group:          Applications/System
License:        GPLv2+ and LGPLv2+
URL:            http://playerstage.sourceforge.net
Source0:        http://downloads.sourceforge.net/project/playerstage/Player/%{version}/%{name}-%{version}.tar.gz
Source1:        playernav.desktop 
Source2:        playercam.desktop 
Source3:        playerv.desktop 
# 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 
Patch0:         %{name}-3.0.1.fixlibload.patch
Patch1:         %{name}-3.0.2.fixunicapimage.patch
Patch2:         %{name}-3.0.2.fixlinuxwifi.patch
Patch3:         %{name}-3.0.2.fixplayercam.patch
Patch4:         %{name}-3.0.2.enablephidget.patch
Patch5:         %{name}-3.0.2.64bitarchs.patch
Patch6:         %{name}-3.0.2.boostutc.patch
Patch7:         %{name}-3.0.2.gzfile.patch
Patch8:         %{name}-3.0.2.gbx10.patch
Patch9:         %{name}-3.0.2.boost150.patch
Patch10:        %{name}-3.0.2.phidgetrfid.patch
# Some hacks to make player compile against libstatgrab-0.90
Patch11:        %{name}-3.0.2.libstatgrab-0.90.patch
Patch12:        %{name}-3.0.2.boost155.patch
Patch13:        %{name}-3.0.2.opencv3.patch
Patch14:        %{name}-3.0.2-cpp11.patch
Patch15:        %{name}-3.0.2-interfacetable.patch
# Sort order: build tools, feature libs, within alphabetically, group related
# entries on single line (most dominant lib first or alphabetically)

# Build tools
BuildRequires:  cmake
BuildRequires:  desktop-file-utils
BuildRequires:  doxygen, texlive-latex, texlive, texlive-dvips, latex2html
BuildRequires:  libtool, libtool-ltdl-devel
# Libs to enable Player features
BuildRequires:  alsa-lib-devel
BuildRequires:  avahi-compat-howl-devel
BuildRequires:  boost-devel boost-thread
BuildRequires:  festival-devel
BuildRequires:  flexiport-devel
BuildRequires:  hokuyoaist-devel
BuildRequires:  geos-devel
BuildRequires:  gsl-devel
BuildRequires:  gstreamer-devel
BuildRequires:  gtk2-devel, libgnomecanvas-devel
%ifnarch s390 s390x
BuildRequires:  libdc1394-devel, libraw1394-devel
%endif
BuildRequires:  libjpeg-devel
BuildRequires:  libphidget-devel
BuildRequires:  libpqxx-devel
BuildRequires:  libstatgrab-devel
BuildRequires:  libusb-devel
BuildRequires:  libXext-devel
BuildRequires:  mesa-libGL-devel, mesa-libGLU-devel
BuildRequires:  opencv-devel
BuildRequires:  openssl-devel
BuildRequires:  perl
BuildRequires:  python2, python2-devel
BuildRequires:  swig
BuildRequires:  ruby, ruby-devel
BuildRequires:  zlib-devel

%description
Player is a network server for robot control. Running on your robot, Player
provides a clean and simple interface to the robot's sensors and actuators
over the IP network. Your client program talks to Player over a TCP socket,
reading data from sensors, writing commmands to actuators, and configuring
devices on the fly. Player supports a variety of robot hardware.


%package devel
Summary: Header files and libraries for %{name}
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig cmake
Requires: boost-devel
Requires: geos-devel
Requires: libtool-ltdl-devel
Requires: zlib-devel

%description devel
This package contains the header files and libraries
for %{name}. If you like to develop programs using %{name},
you will need to install %{name}-devel.

%package doc
Summary: Development documentation for Player
Group: Documentation
BuildArch: noarch

%description doc
This package contains the development documentation for Player.

%package -n python2-%{name}
Summary: Player Python bindings
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python2-%{name}}
# Until f28
Obsoletes: %{name}-python < 3.0.2-56
Requires: python2 >= 2.6

%description -n python2-%{name}
This package contains the Python bindings for %{name}.
If you like to develop programs using %{name} in Python
you will need to install this package. Includes bindings
built against the C and C++ client libraries.

%package examples
Summary:  Examples and templates for Player
Group:    Development/Tools
Requires: %{name} = %{version}-%{release}
BuildArch: noarch

%description examples
This package contains example code for %{name} development.
Included are sample plugin drivers, and examples made using
the python, C, and C++ client libraries.

%package -n ruby-%{name}
Summary: Ruby bindings for %{name}
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
#Until f28
Obsoletes: %{name}-ruby < 3.0.2-56
Requires: ruby(release) >= 1.8

%description -n ruby-%{name}
This package contains the Ruby client-side bindings for %{name}.
If you would like to build %{name} clients using Ruby you
will need to install this package.  Includes bindings built
against the C and C++ client libraries. Ruby bindings
are experimental.


%prep
%setup -q -n %{name}-%{version}
%patch0 -p1 -b .fixlibload
%patch1 -p0
%patch2 -p0
%patch3 -p0
%patch4 -p0
%patch5 -p1 -b .s390x
%patch6 -p0
%patch7 -p0
%patch8 -p2 -b .gbx10
%patch9 -p2 -b .boost150
%patch10 -p0 -b .phidgetrfid
%if 0%{?fedora} >= 24
# Patch only applicable for libstatgrab >= 0.90
%patch11 -p1
%endif
%patch12 -p1
%patch13 -p2 -b .opencv3
%patch14 -p0 -b .cpp11
%patch15 -p0 -b .interfacetable
find . -name '*.c' -exec chmod -x {} \;
find . -name '*.cc' -exec chmod -x {} \;
find . -name '*.cpp' -exec chmod -x {} \;
find . -name '*.h' -exec chmod -x {} \;

%build
mkdir build; pushd build
export LDFLAGS="%{?__global_ldflags} -lpthread"
%cmake %{?_cmake_skip_rpath} -DBUILD_DOCUMENTATION=ON -DBUILD_PLAYERCC=ON -DSWIG_EXECUTABLE=/usr/bin/swig -DBUILD_PLAYERCC_BOOST=ON -DBUILD_PYTHONC_BINDINGS=ON -DBUILD_PYTHONCPP_BINDINGS=ON -DBUILD_EXAMPLES=ON -DBUILD_RUBYCPP_BINDINGS=ON -DBoost_USE_MULTITHREAD=ON -DUNICAP_DIR=/usr  -DRUBY_BINDINGS_INSTALL_DIR=%{ruby_vendorarchdir} ..
popd

make -C build %{?_smp_mflags}
make doc -C build

%install
%make_install -C build DESTDIR=%{buildroot}
mkdir -p %{buildroot}/%{_sysconfdir}/%{name}
mkdir -p %{buildroot}/%{_libdir}/%{name}
mv %{buildroot}/%{_datadir}/%{name}/config %{buildroot}/%{_sysconfdir}/%{name}
find %{buildroot} -name '*.la' -exec rm {} \;
rm -rf %{buildroot}/%{_docdir}/*

desktop-file-install \
%if 0%{?fedora} && 0%{?fedora} < 19
--vendor="fedora"               \
%endif
--dir=${RPM_BUILD_ROOT}%{_datadir}/applications         \
%{SOURCE1}

desktop-file-install \
%if 0%{?fedora} && 0%{?fedora} < 19
--vendor="fedora"               \
%endif
--dir=${RPM_BUILD_ROOT}%{_datadir}/applications         \
%{SOURCE2}

desktop-file-install \
%if 0%{?fedora} && 0%{?fedora} < 19
--vendor="fedora"               \
%endif
--dir=${RPM_BUILD_ROOT}%{_datadir}/applications         \
%{SOURCE3}

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%files
%license COPYING COPYING.lib
%doc README AUTHORS
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/config/*
%{_bindir}/player*
%{_bindir}/pmaptest
%{_libdir}/*.so.*
%dir %{_datadir}/player
%{_datadir}/applications/*.desktop
%dir %{_libdir}/player

%files devel
%{_includedir}/player-3.0
%{_libdir}/*.so
%{_libdir}/pkgconfig/*
%{_datadir}/cmake/Modules/*

%files -n python2-%{name}
%{python_sitearch}/*

%files examples
%{_datadir}/player/examples

%files doc
%license COPYING COPYING.lib
%doc doc/*.txt
%doc doc/*.html
%doc build/doc/player-docs

%files -n ruby-%{name}
%{ruby_vendorarchdir}/*.so

%changelog
* Tue Apr 04 2017 Rich Mattes <richmattes@gmail.com> - 3.0.2-59
- Rebuild for gazebo-8.0.0

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-58
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Fri Jan 13 2017 Vít Ondruch <vondruch@redhat.com> - 3.0.2-57
- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.4

* Sun Jan 01 2017 Rich Mattes <richmattes@gmail.com> - 3.0.2-56
- Rebuild for new geos
- Clean up naming of python and ruby subpackages

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-55
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Sat May 14 2016 Rich Mattes <richmattes@gmail.com> - 3.0.2-54
- Rebuild for opencv-3.1 changes

* Tue May 03 2016 Rich Mattes <richmattes@gmail.com> - 3.0.2-53
- Rebuild for opencv-3.1.0

* Tue Feb 23 2016 Rich Mattes <richmattes@gmail.com> - 3.0.2-52
- Fix rawhide FTBFS (rhbz#1307867)

* Mon Feb 22 2016 Orion Poplawski <orion@cora.nwra.com> - 3.0.2-52
- Rebuild for gsl 2.1

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-51
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Sat Jan 16 2016 Jonathan Wakely <jwakely@redhat.com> - 3.0.2-50
- Rebuilt for Boost 1.60

* Tue Jan 12 2016 Vít Ondruch <vondruch@redhat.com> - 3.0.2-49
- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.3

* Sat Oct 17 2015 Kalev Lember <klember@redhat.com> - 3.0.2-48
- Rebuilt for libgeos soname bump

* Mon Sep 21 2015 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.2-47
- Fix the build against libstatgrab 0.91

* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 3.0.2-46
- Rebuilt for Boost 1.59

* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-45
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159

* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 3.0.2-44
- rebuild for Boost 1.58

* Wed Jul 01 2015 Jozef Mlich <jmlich@redhat.com> - 3.0.2-43
- replacing deprecated opencv functions calls

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Mon May 04 2015 Kalev Lember <kalevlember@gmail.com> - 3.0.2-41
- Fix the build

* Wed Jan 28 2015 Petr Machata <pmachata@redhat.com> - 3.0.2-40
- Rebuild for boost 1.57.0

* Thu Sep 25 2014 Karsten Hopp <karsten@redhat.com> 3.0.2-39
- fix libdir on new 64bit archs, aarch64 and ppc64le

* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-38
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Tue Jun 24 2014 Rex Dieter <rdieter@fedoraproject.org> 3.0.2-37
- rebuild (libpqxx)

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-36
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sun May 25 2014 Petr Machata <pmachata@redhat.com> - 3.0.2-35
- Don't add -mt to boost DSO names (player-3.0.2.boost155.patch)

* Fri May 23 2014 David Tardon <dtardon@redhat.com> - 3.0.2-35
- rebuild for boost 1.55.0

* Sun Oct 06 2013 Rich Mattes <richmattes@gmail.com> - 3.0.2-34
- Rebuild for libstatgrab reversion

* Sat Sep 14 2013 Rich Mattes <richmattes@gmail.com> - 3.0.2-33
- Rebuild for new geos

* Sat Aug 17 2013 Ralf Corsépius <corsepiu@fedoraproject.org> - 3.0.2-32
- Add player-3.0.2.libstatgrab-0.90.patch
  (Fix FTBFS caused by upgrading libstatgrab to 0.90).

* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Sat Jul 27 2013 pmachata@redhat.com - 3.0.2-30
- Rebuild for boost 1.54.0

* Mon Mar 25 2013 Vít Ondruch <vondruch@redhat.com> - 3.0.2-29
- Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0

* Wed Mar  6 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 3.0.2-28
- Remove vendor prefix from desktop files in F19+ https://fedorahosted.org/fesco/ticket/1077
- Add libpthread to be linked explicitly so that build succeeds

* Wed Mar 06 2013 Devrim GÜNDÜZ <devrim@gunduz.org> - 3.0.2-27
- Rebuild with new geos.

* Sun Feb 10 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 3.0.2-26
- Rebuild for Boost-1.53.0

* Sat Feb 09 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 3.0.2-25
- Rebuild for Boost-1.53.0

* Sat Jan 26 2013 Rich Mattes <richmattes@gmain.com> - 3.0.2-24
- Update for new phidget RFID API

* Fri Jan 25 2013 Devrim GÜNDÜZ <devrim@gunduz.org> - 3.0.2-24
- Rebuild against geos 3.3.7.

* Mon Jan 21 2013 Adam Tkac <atkac redhat com> - 3.0.2-23
- rebuild due to "jpeg8-ABI" feature drop

* Mon Nov 19 2012 Devrim GÜNDÜZ <devrim@gunduz.org> - 3.0.2-22
- Rebuild with new geos.

* Sat Nov 10 2012 Rich Mattes <richmattes@gmail.com> - 3.0.2-21
- Rebuild for new OpenCV

* Mon Jul 30 2012 Rich Mattes <richmattes@gmail.com> - 3.0.2-20
- Added dependency on hokuyoaist library
- Added dependency on flexiport library
- Fixed hokuyoaist driver to work with hokuyoaist library
- Removed gearbox dependency
- Updated for boost-1.5.0

* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Sat Jun 30 2012 Rich Mattes <richmattes@gmail.com> - 3.0.2-18
- boost::TIME_UTC no longer defined, use glibc's instead
- cast FILE* to gzFile for gzip functions
- Fix bug where docs were being included in both base and -doc subpackages

* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-17
- Rebuilt for c++ ABI breakage

* Wed Jan 11 2012 Rich Mattes <richmattes@gmail.com> - 3.0.2-16
- Rebuild for new gcc and geos

* Sat Nov 26 2011 Rich Mattes <richmattes@gmail.com> - 3.0.2-15
- Rebuilt for new boost

* Sun Oct 09 2011 Rich Mattes <richmattes@gmail.com> - 3.0.2-14
- Rebuild for geos update

* Wed Aug 31 2011 Rex Dieter <rdieter@fedoraproject.org> 3.0.2-13
- rebuild (opencv)

* Tue Aug 02 2011 Rich Mattes <richmattes@gmail.com> - 3.0.2-12
- Rebuild for new boost

* Fri Jul 01 2011 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
- 3.0.2-11
- bump for libpqxx
- disable rapth

* Sun Jun 19 2011 Rich Mattes <richmattes@gmail.com> - 3.0.2-10
- Rebuild for geos update

* Wed May 04 2011 Dan Horák <dan[at]danny.cz> - 3.0.2-9
- Add s390x as 64-bit arch

* Sun Apr 10 2011 Rich Mattes <richmattes@gmail.com> - 3.0.2-8
- Rebuild for boost soname change

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Mon Feb 07 2011 Thomas Spura <tomspur@fedoraproject.org> - 3.0.2-6
- rebuild for new boost

* Sat Jan 08 2011 Rich Mattes <richmattes@gmail.com> - 3.0.2-5
- Rebuild for OpenCV 2.2
- Fix assertion error in PlayerCam
- Enable libphidget support

* Fri Jul 30 2010 Rich Mattes <richmattes@gmail.com> - 3.0.2-4
- Rebuilt for boost 1.44

* Mon Jul 26 2010 Rich Mattes <richmattes@gmail.com> - 3.0.2-3
- Rebuilt for Python 2.7 mass rebuild
- Restore pmaptest
- Add copyright files to player-doc subpackage

* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 3.0.2-2
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild

* Tue Jun 29 2010 Rich Mattes <richmattes@gmail.com> - 3.0.2-1
- Upgrade to release 3.0.2
- Remove more supurious BuildRequires
- Add BuildRequires to enable more features

* Sat Jun 26 2010 Rich Mattes <richmattes@gmail.com> - 3.0.1-7
- Rebuild for OpenCV soname change
- Remove unnecessary BuildRequires

* Thu Apr 1 2010 Rich Mattes <richmattes@gmail.com> - 3.0.1-6
- Rebuild for GEOS soname change

* Wed Mar 24 2010 Rich Mattes <richmattes@gmail.com> - 3.0.1-5
- Rebuild for Gearbox drivers
- Added missing Requires for devel package

* Mon Mar 01 2010 Tim Niemueller <tim@niemueller.de> - 3.0.1-4
- Bump EVR for proper F-12 to F-13 upgrade path

* Fri Jan 22 2010 Rahul Sundaram <sundaram@fedoraproject.org> - 3.0.1-2
- Rebuild for Boost soname bump

* Sun Jan 10 2010 Rich Mattes <richmattes@gmail.com> - 3.0.1-1
- Updated to release 3.0.1
- Fixed ruby bindings install path
- Fixed documentation build process
- Added libdir/player to plugin search path
- Fix Rawhide compilation issue by adding -DBoost_USE_MULTITHREAD=ON to cmake

* Sun Nov 08 2009 Tim Niemueller <tim@niemueller.de> - 3.0.0-4
- devel sub-package obsoletes no longer available static sub-package

* Sun Oct 18 2009 Tim Niemueller <tim@niemueller.de> - 3.0.0-3
- Merge Rich's changes with Fedora spec file

* Sat Oct 10 2009 Rich Mattes <richmattes@gmail.com> - 3.0.0-2
- Fixed x86_64 build issues
- Fixed x86_64 library install path
- Fixed mock i586 and x86_64 dep issues
- Enabled Python C++ and Ruby C++ bindings
- Made doc and examples packages .noarch

* Wed Oct 7 2009 Rich Mattes <richmattes@gmail.com> - 3.0.0-1
- Upgrade package to Player 3.0.0

* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 2.1.1-13
- rebuilt with new openssl

* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Tue May 26 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.1.1-11
- Exclude -examples subpackage files in main package (#489184).

* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Sat Jan 17 2009 Tomas Mraz <tmraz@redhat.com> - 2.1.1-9
- rebuild with new openssl

* Sun Dec 21 2008 Tim Niemueller <tim@niemueller.de> - 2.1.1-8
- Add patch for broken linux/serial.h (thanks to Caolán McNamara)
- Add patch for GCC 4.4 (thanks to Caolán McNamara)
- Rebuild for Python 2.6

* Sat Dec  6 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 2.1.1-7
- Fix libtool issue

* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 2.1.1-6
- Rebuild for Python 2.6

* Tue Sep 02 2008 Tim Niemueller <tim@niemueller.de> - 2.1.1-5
- Added plugindir patch

* Fri Aug 15 2008 Tim Niemueller <tim@niemueller.de> - 2.1.1-4
- Changed norpath patch, fixes build problem on Fedora 8
- Added libtool BR
- Added autotools BR, needed because for patches of .am files

* Fri Aug 08 2008 Jef Spaleta <jspaleta at fedoraproject dot org> - 2.1.1-3
- Review clean-ups

* Tue Aug 05 2008 Tim Niemueller <tim@niemueller.de> - 2.1.1-2
- Only BR geos-devel on Fedora 9

* Fri Aug 01 2008 Tim Niemueller <tim@niemueller.de> - 2.1.1-1
- Upgrade to 2.1.1

* Mon Jun 23 2008 Jef Spaleta <jspaleta at fedoraproject dot org> - 2.1.0-0.3.rc2.fc9
- Review clean-ups

* Thu May 22 2008 Tim Niemueller <tim@niemueller.de> - 2.1.0-0.2.rc2.fc9
- Added subpackages for doc and examples
- Remove *.la files
- Fix BuildRequires

* Thu May 08 2008 Tim Niemueller <tim@niemueller.de> - 2.1.0-0.1.rc2.fc9
- Initial spec file