178 lines
5.3 KiB
RPMSpec
178 lines
5.3 KiB
RPMSpec
%{?filter_setup:
|
|
%filter_provides_in %{python_sitearch}/.*\.so$
|
|
%filter_setup
|
|
}
|
|
|
|
Name: libfreenect
|
|
Version: 0.1.2
|
|
Release: 2%{?dist}
|
|
Summary: Device driver for the Kinect
|
|
License: GPLv2+ or ASL 2.0
|
|
URL: http://www.openkinect.org/
|
|
|
|
# No official releases, yet. To reproduce tarball use freenect_generate_tarball.sh:
|
|
# Usage: freenect_generate_tarball.sh [GIT TAG]
|
|
Source0: libfreenect-v%{version}.tar.bz2
|
|
Source1: freenect_generate_tarball.sh
|
|
|
|
BuildRequires: cmake
|
|
BuildRequires: Cython
|
|
BuildRequires: doxygen
|
|
BuildRequires: freeglut-devel
|
|
BuildRequires: libusb1-devel
|
|
BuildRequires: libGL-devel
|
|
BuildRequires: libXi-devel
|
|
BuildRequires: libXmu-devel
|
|
BuildRequires: numpy
|
|
BuildRequires: opencv-devel
|
|
BuildRequires: python-devel
|
|
|
|
Requires: udev
|
|
|
|
%description
|
|
libfreenect is a free and open source library that provides access to the
|
|
Kinect device. Currently, the library supports the RGB webcam, the depth
|
|
image, the LED, and the tilt motor.
|
|
|
|
|
|
%package devel
|
|
Summary: Development files for %{name}
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
%description devel
|
|
The %{name}-devel package contains libraries and header files for
|
|
developing applications that use %{name}.
|
|
|
|
%package static
|
|
Summary: Development files for %{name}
|
|
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
|
|
|
%description static
|
|
The %{name}-static package contains static libraries for
|
|
developing applications that use %{name}.
|
|
|
|
%package fakenect
|
|
Summary: Library to play back recorded data for %{name}
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
%description fakenect
|
|
Fakenect consists of a "record" program to save dumps from the kinect sensor
|
|
and a library that can be linked to, providing an interface compatible with
|
|
freenect. This allows you to save data and repeat for experiments, debug
|
|
problems, share datasets, and experiment with the kinect without having one.
|
|
|
|
%package opencv
|
|
Summary: OpenCV bindings for %{name}
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
%description opencv
|
|
The %{name}-opencv package contains the libfreenect binding
|
|
library for OpenCV development.
|
|
|
|
%package python
|
|
Summary: Python bindings for %{name}
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
%description python
|
|
The %{name}-python package contains python bindings for %{name}
|
|
|
|
%prep
|
|
%setup -q -n %{name}
|
|
# Get rid of osx and win specific stuff
|
|
sed -i 's|get_python_lib(prefix='\''${CMAKE_INSTALL_PREFIX}'\'')|get_python_lib(1)|' wrappers/python/CMakeLists.txt
|
|
sed -i 's|/usr/local|/usr|' wrappers/python/setup.py
|
|
chmod -x wrappers/cpp/cppview.cpp
|
|
sed -i 's|set(CMAKE_C_FLAGS "-Wall")|#set(CMAKE_C_FLAGS "-Wall")|' src/CMakeLists.txt
|
|
sed -i 's|set(CMAKE_C_FLAGS "-Wall")|#set(CMAKE_C_FLAGS "-Wall")|' examples/CMakeLists.txt
|
|
|
|
%build
|
|
mkdir build
|
|
pushd build
|
|
%cmake -DBUILD_AUDIO=ON -DBUILD-CPP=ON -DBUILD_C_SYNC=ON -DBUILD_CV=ON -DBUILD_REDIST_PACKAGE=ON -DBUILD_EXAMPLES=ON -DBUILD_CPACK=OFF -DBUILD_FAKENECT=ON -DBUILD_PYTHON=ON ..
|
|
make %{?_smp_mflags} VERBOSE=1
|
|
popd
|
|
|
|
pushd doc
|
|
doxygen Doxyfile
|
|
popd
|
|
|
|
%install
|
|
rm -rf %{buildroot}
|
|
make -C build install DESTDIR=%{buildroot}
|
|
mkdir -p %{buildroot}/lib/udev/rules.d
|
|
install -p -m 0644 platform/linux/udev/51-kinect.rules %{buildroot}/lib/udev/rules.d
|
|
find %{buildroot} -name '*.la' -exec rm -f {} ';'
|
|
mv %{buildroot}%{_includedir}/libfreenect.hpp %{buildroot}%{_includedir}/libfreenect/libfreenect.hpp
|
|
# These binaries have very vague names. Renaming them to freenect-* to clarify
|
|
for f in %{buildroot}%{_bindir}/*; do
|
|
mv $f %{buildroot}%{_bindir}/freenect-$(basename $f)
|
|
done
|
|
mv %{buildroot}%{_bindir}/freenect-fakenect %{buildroot}%{_bindir}/fakenect
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/%{name}
|
|
mv %{buildroot}%{_datadir}/fwfetcher.py %{buildroot}%{_datadir}/%{name}
|
|
# Get rid of the hashbang in the fwfetcher song
|
|
sed -i "s|#!/usr/bin/env python||" %{buildroot}%{_datadir}/%{name}/fwfetcher.py
|
|
|
|
%post -p /sbin/ldconfig
|
|
|
|
%postun -p /sbin/ldconfig
|
|
|
|
%post opencv -p /sbin/ldconfig
|
|
|
|
%postun opencv -p /sbin/ldconfig
|
|
|
|
%files
|
|
%doc APACHE20 GPL2 README.asciidoc CONTRIB
|
|
/lib/udev/rules.d/*
|
|
%{_libdir}/libfreenect.so.*
|
|
%{_libdir}/libfreenect_sync.so.*
|
|
%exclude %{_bindir}/freenect-cvdemo
|
|
%exclude %{_bindir}/fakenect
|
|
%{_bindir}/freenect-*
|
|
%{_datadir}/%{name}
|
|
|
|
%files opencv
|
|
%{_bindir}/freenect-cvdemo
|
|
%{_libdir}/libfreenect_cv.so.*
|
|
|
|
%files devel
|
|
%doc doc/html
|
|
%doc examples/*.c wrappers/cpp/cppview.cpp
|
|
%{_includedir}/libfreenect
|
|
%{_libdir}/*.so
|
|
%{_libdir}/pkgconfig/*
|
|
%{_libdir}/fakenect/*.so
|
|
|
|
%files static
|
|
%{_libdir}/*.a
|
|
|
|
%files python
|
|
%{python_sitearch}/*.so
|
|
|
|
%files fakenect
|
|
%dir %{_libdir}/fakenect
|
|
%{_libdir}/fakenect/*.so.*
|
|
%{_bindir}/fakenect
|
|
|
|
%changelog
|
|
* Wed Aug 15 2012 Rich Mattes <richmattes@gmail.com> - 0.1.2-2
|
|
- Filtered private python lib provides
|
|
- Clarified that freenect_generate_tarball.sh works with a git tag
|
|
|
|
* Thu Apr 26 2012 Rich Mattes <richmattes@gmail.com> - 0.1.2-1
|
|
- Update to git tag 0.1.2
|
|
- Create OpenCV wrapper sub-package
|
|
- Create fakenect library sub-package
|
|
|
|
* Tue Mar 24 2011 Rich Mattes <richmattes@gmail.com> - 0-0.3.4a159fgit
|
|
- Force cmake to honor rpm optflags
|
|
- Change to out-of-tree build
|
|
|
|
* Tue Mar 24 2011 Rich Mattes <richmattes@gmail.com> - 0-0.2.4a159fgit
|
|
- Update to latest snapshot
|
|
|
|
* Mon Jan 31 2011 Rich Mattes <richmattes@gmail.com> - 0-0.1.687b2da5git
|
|
- Initial package
|
|
|