orion / rpms / openni

Forked from rpms/openni 4 years ago
Clone
Tim Niemueller 8aa492a
%define gitrev f8467404
Tim Niemueller 036931d
Tim Niemueller 036931d
Name:           openni
Tim Niemueller 8aa492a
Version:        1.3.2.1
Tim Niemueller 8aa492a
Release:        0.1.git%{gitrev}%{?dist}
Tim Niemueller 036931d
Summary:        Library for human-machine Natural Interaction
Tim Niemueller 036931d
Tim Niemueller 036931d
Group:          System Environment/Libraries
Tim Niemueller 036931d
License:        LGPLv3+ and BSD
Tim Niemueller 036931d
URL:            http://www.openni.org
Tim Niemueller 036931d
# No official releases, yet. To reproduce tarball (adapt version and gitrev):
Tim Niemueller 036931d
# git clone git://github.com/OpenNI/OpenNI.git
Tim Niemueller 036931d
# cd OpenNI.git
Tim Niemueller 8aa492a
# rm -rf Platform/Win32 Platform/Android
Tim Niemueller 8aa492a
# git archive --format tar --prefix=openni-1.3.2.1-gitf8467404/ HEAD | gzip > ../openni-1.3.2.1-gitf8467404.tar.gz
Tim Niemueller 036931d
Source0:        openni-%{version}-git%{gitrev}.tar.gz
Tim Niemueller 8aa492a
Patch0:         openni-1.3.2.1-fedora.patch
Tim Niemueller 8aa492a
Patch1:         openni-1.3.2.1-fedora-java.patch
Tim Niemueller 036931d
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
6cf5f7b
ExclusiveArch:  %{ix86} x86_64 
Tim Niemueller 036931d
Tim Niemueller 036931d
BuildRequires:  freeglut-devel, tinyxml-devel, libjpeg-devel, dos2unix, libusb1-devel
Tim Niemueller 036931d
BuildRequires:  python, doxygen
Tim Niemueller 036931d
Tim Niemueller 036931d
%description
Tim Niemueller 036931d
OpenNI (Open Natural Interaction) is a multi-language, cross-platform
Tim Niemueller 036931d
framework that defines APIs for writing applications utilizing Natural
Tim Niemueller 036931d
Interaction. OpenNI APIs are composed of a set of interfaces for writing NI
Tim Niemueller 036931d
applications. The main purpose of OpenNI is to form a standard API that
Tim Niemueller 036931d
enables communication with both:
Tim Niemueller 036931d
 * Vision and audio sensors
Tim Niemueller 036931d
 * Vision and audio perception middleware
Tim Niemueller 036931d
Tim Niemueller 036931d
Tim Niemueller 036931d
%package        devel
Tim Niemueller 036931d
Summary:        Development files for %{name}
Tim Niemueller 036931d
Group:          Development/Libraries
Tim Niemueller 036931d
Requires:       %{name} = %{version}-%{release}
Tim Niemueller 036931d
Tim Niemueller 036931d
%description    devel
Tim Niemueller 036931d
The %{name}-devel package contains libraries and header files for
Tim Niemueller 036931d
developing applications that use %{name}.
Tim Niemueller 036931d
Tim Niemueller 036931d
Tim Niemueller 8aa492a
%package        java
Tim Niemueller 8aa492a
Summary:        %{name} Java library
Tim Niemueller 8aa492a
Group:          Development/Libraries
Tim Niemueller 8aa492a
Requires:       %{name} = %{version}-%{release}
Tim Niemueller 8aa492a
BuildRequires:  java-devel
Tim Niemueller 8aa492a
BuildRequires:  jpackage-utils
Tim Niemueller 8aa492a
Requires:       java
Tim Niemueller 8aa492a
Requires:       jpackage-utils
Tim Niemueller 8aa492a
Tim Niemueller 8aa492a
%description    java
Tim Niemueller 8aa492a
The %{name}-java package contains a Java JNI library for
Tim Niemueller 8aa492a
developing applications that use %{name} in Java.
Tim Niemueller 8aa492a
Tim Niemueller 8aa492a
Tim Niemueller 036931d
%package        doc
Tim Niemueller 036931d
Summary:        API documentation for %{name}
Tim Niemueller 036931d
Group:          Documentation
Tim Niemueller 036931d
BuildArch:      noarch
Tim Niemueller 036931d
Tim Niemueller 036931d
%description    doc
Tim Niemueller 036931d
The %{name}-doc package contains the automatically generated API documentation
Tim Niemueller 036931d
for OpenNI.
Tim Niemueller 036931d
Tim Niemueller 036931d
Tim Niemueller 036931d
%package        examples
Tim Niemueller 036931d
Summary:        Sample programs for %{name}
Tim Niemueller 036931d
Group:          Development/Tools
Tim Niemueller 036931d
Requires:       %{name} = %{version}-%{release}
Tim Niemueller 036931d
Tim Niemueller 036931d
%description    examples
Tim Niemueller 036931d
The %{name}-examples package contains example programs for OpenNI.
Tim Niemueller 036931d
Tim Niemueller 036931d
%prep
Tim Niemueller 036931d
%setup -q -n %{name}-%{version}-git%{gitrev}
Tim Niemueller 8aa492a
%patch0 -p1 -b .fedora
Tim Niemueller 8aa492a
%patch1 -p1 -b .fedora-java
Tim Niemueller 036931d
Tim Niemueller 036931d
rm -rf Source/External
Tim Niemueller 036931d
rm -rf Platform/Linux-x86/Build/Prerequisites/*
Tim Niemueller 036931d
find Samples -name GL -prune -exec rm -rf {} \;
Tim Niemueller 036931d
find Samples -name Libs -prune -exec rm -rf {} \;
Tim Niemueller 036931d
Tim Niemueller 036931d
for ext in c cpp; do
Tim Niemueller 036931d
  find Samples -name "*.$ext" -exec \
Tim Niemueller 036931d
    sed -i -e 's|#define SAMPLE_XML_PATH "../../../../Data/SamplesConfig.xml"|#define SAMPLE_XML_PATH "%{_sysconfdir}/%{name}/SamplesConfig.xml"|' {} \;
Tim Niemueller 036931d
done
Tim Niemueller 036931d
Tim Niemueller 036931d
dos2unix README
Tim Niemueller 036931d
dos2unix GPL.txt
Tim Niemueller 036931d
dos2unix LGPL.txt
Tim Niemueller 036931d
Tim Niemueller 036931d
%build
Tim Niemueller 036931d
cd Platform/Linux-x86/CreateRedist
Tim Niemueller 036931d
# {?_smp_mflags} omitted, not supported by OpenNI Makefiles
Tim Niemueller 036931d
sed -i "s|make -C ../Build|make -C ../Build CFLAGS_EXT=\\\\\"%{optflags}\\\\\" SSE_GENERATION=2 DEBUG=1|" Redist_OpenNi.py
Tim Niemueller 036931d
./RedistMaker
Tim Niemueller 036931d
Tim Niemueller 036931d
Tim Niemueller 036931d
%install
Tim Niemueller 036931d
rm -rf $RPM_BUILD_ROOT
Tim Niemueller 036931d
pushd Platform/Linux-x86/Redist
Tim Niemueller 036931d
INSTALL_LIB=$RPM_BUILD_ROOT%{_libdir} \
Tim Niemueller 036931d
INSTALL_BIN=$RPM_BUILD_ROOT%{_bindir} \
Tim Niemueller 036931d
INSTALL_INC=$RPM_BUILD_ROOT%{_includedir}/ni \
Tim Niemueller 036931d
INSTALL_VAR=$RPM_BUILD_ROOT%{_var}/lib/ni \
Tim Niemueller 8aa492a
INSTALL_JAR=$RPM_BUILD_ROOT%{_libdir}/%{name} \
Tim Niemueller 036931d
./install.sh -n
Tim Niemueller 036931d
Tim Niemueller 036931d
install -m 0755 Samples/Bin/Release/libSample-NiSampleModule.so $RPM_BUILD_ROOT%{_libdir}/libNiSampleModule.so
Tim Niemueller 036931d
install -m 0755 Samples/Bin/Release/NiViewer $RPM_BUILD_ROOT%{_bindir}
Tim Niemueller 036931d
install -m 0755 Samples/Bin/Release/Sample-NiAudioSample $RPM_BUILD_ROOT%{_bindir}/NiAudioSample
Tim Niemueller 036931d
install -m 0755 Samples/Bin/Release/Sample-NiBackRecorder $RPM_BUILD_ROOT%{_bindir}/NiBackRecorder
Tim Niemueller 036931d
install -m 0755 Samples/Bin/Release/Sample-NiConvertXToONI $RPM_BUILD_ROOT%{_bindir}/NiConvertXToONI
Tim Niemueller 036931d
install -m 0755 Samples/Bin/Release/Sample-NiCRead $RPM_BUILD_ROOT%{_bindir}/NiCRead
Tim Niemueller 036931d
install -m 0755 Samples/Bin/Release/Sample-NiRecordSynthetic $RPM_BUILD_ROOT%{_bindir}/NiRecordSynthetic
Tim Niemueller 036931d
install -m 0755 Samples/Bin/Release/Sample-NiSimpleCreate $RPM_BUILD_ROOT%{_bindir}/NiSimpleCreate
Tim Niemueller 036931d
install -m 0755 Samples/Bin/Release/Sample-NiSimpleRead $RPM_BUILD_ROOT%{_bindir}/NiSimpleRead
Tim Niemueller 036931d
install -m 0755 Samples/Bin/Release/Sample-NiSimpleViewer $RPM_BUILD_ROOT%{_bindir}/NiSimpleViewer
Tim Niemueller 036931d
install -m 0755 Samples/Bin/Release/Sample-NiUserTracker $RPM_BUILD_ROOT%{_bindir}/NiUserTracker
Tim Niemueller 036931d
Tim Niemueller 036931d
popd
Tim Niemueller 036931d
Tim Niemueller 036931d
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}-doc
Tim Niemueller 036931d
cp -a Source/DoxyGen/html/* $RPM_BUILD_ROOT%{_datadir}/%{name}-doc
Tim Niemueller 036931d
Tim Niemueller 036931d
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
Tim Niemueller 036931d
install -p -m 0644 Data/SamplesConfig.xml $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
Tim Niemueller 036931d
Tim Niemueller 036931d
echo "<Modules/>" > $RPM_BUILD_ROOT%{_var}/lib/ni/modules.xml
Tim Niemueller 036931d
Tim Niemueller 036931d
Tim Niemueller 036931d
%clean
Tim Niemueller 036931d
rm -rf $RPM_BUILD_ROOT
Tim Niemueller 036931d
Tim Niemueller 036931d
Tim Niemueller 036931d
%post
Tim Niemueller 036931d
/sbin/ldconfig
Tim Niemueller 8aa492a
  echo POST $1
Tim Niemueller 036931d
if [ $1 == 1 ]; then
Tim Niemueller 8aa492a
  echo POST called
Tim Niemueller 036931d
  niReg -r %{_libdir}/libnimMockNodes.so
Tim Niemueller 036931d
  niReg -r %{_libdir}/libnimCodecs.so
Tim Niemueller 036931d
  niReg -r %{_libdir}/libnimRecorder.so
Tim Niemueller 036931d
fi
Tim Niemueller 036931d
Tim Niemueller 036931d
Tim Niemueller 036931d
%preun
Tim Niemueller 8aa492a
  echo PREUN $1
Tim Niemueller 036931d
if [ $1 == 0 ]; then
Tim Niemueller 8aa492a
  echo PREUN called
Tim Niemueller 036931d
  niReg -u %{_libdir}/libnimMockNodes.so
Tim Niemueller 036931d
  niReg -u %{_libdir}/libnimCodecs.so
Tim Niemueller 036931d
  niReg -u %{_libdir}/libnimRecorder.so
Tim Niemueller 036931d
fi
Tim Niemueller 036931d
Tim Niemueller 036931d
Tim Niemueller 036931d
%postun -p /sbin/ldconfig
Tim Niemueller 036931d
Tim Niemueller 036931d
Tim Niemueller 036931d
%files
Tim Niemueller 036931d
%defattr(-,root,root,-)
Tim Niemueller 036931d
%doc LGPL.txt README
Tim Niemueller 036931d
%dir %{_sysconfdir}/%{name}
Tim Niemueller 036931d
%{_libdir}/*.so
Tim Niemueller 036931d
%{_bindir}/ni*
Tim Niemueller 036931d
%{_var}/lib/ni
Tim Niemueller 036931d
Tim Niemueller 036931d
%files devel
Tim Niemueller 036931d
%defattr(-,root,root,-)
Tim Niemueller 036931d
%doc Documentation/OpenNI_UserGuide.pdf
Tim Niemueller 036931d
%{_includedir}/*
Tim Niemueller 036931d
#{_libdir}/*.so
Tim Niemueller 036931d
Tim Niemueller 8aa492a
%files java
Tim Niemueller 8aa492a
%defattr(-,root,root,-)
Tim Niemueller 8aa492a
%{_libdir}/%{name}
Tim Niemueller 036931d
Tim Niemueller 036931d
%files examples
Tim Niemueller 036931d
%defattr(-,root,root,-)
Tim Niemueller 036931d
%config(noreplace) %{_sysconfdir}/%{name}/SamplesConfig.xml
Tim Niemueller 036931d
%{_bindir}/Ni*
Tim Niemueller 036931d
# not packaging any .desktop files for the sample applications. The
Tim Niemueller 036931d
# applications will print relevant to the console and hence they are
Tim Niemueller 036931d
# intended to be run on the console, not from the menu
Tim Niemueller 036931d
Tim Niemueller 036931d
%files doc
Tim Niemueller 036931d
%defattr(-,root,root,-)
Tim Niemueller 036931d
%{_datadir}/%{name}-doc
Tim Niemueller 036931d
Tim Niemueller 036931d
Tim Niemueller 036931d
%changelog
Tim Niemueller 8aa492a
* Tue Aug 30 2011 Tim Niemueller <tim@niemueller.de> 1.3.2.1-0.1.gitf8467404
Tim Niemueller 8aa492a
- Update to stable 1.3.2.1 based on patch by Anders Blomdell
Tim Niemueller 8aa492a
6cf5f7b
* Mon Jun 27 2011 Rex Dieter <rdieter@fedoraproject.org> 1.0.0.25-0.5.git4c9ff978
6cf5f7b
- ExclusiveArch: %%ix86 x86_64 (#709718)
6cf5f7b
Tim Niemueller a12ea58
* Fri Feb 11 2011 Tim Niemueller <tim@niemueller.de> - 1.0.0.25-0.4.git4c9ff978
Tim Niemueller a12ea58
- Exclude ppc64, it is not supported by OpenNI
Tim Niemueller a12ea58
Tim Niemueller 036931d
* Tue Feb 08 2011 Tim Niemueller <tim@niemueller.de> - 1.0.0.25-0.3.git4c9ff978
Tim Niemueller 036931d
- Rename samples subpackage to examples 
Tim Niemueller 036931d
- Remove bundled libraries and headers in prep stage
Tim Niemueller 036931d
- Create empty modules.xml in install stage
Tim Niemueller 036931d
- Do not package GPL.txt, all code is LGPL 
Tim Niemueller 036931d
Tim Niemueller 036931d
* Tue Feb 01 2011 Tim Niemueller <tim@niemueller.de> - 1.0.0.25-0.2.git4c9ff978
Tim Niemueller 036931d
- Incorporate review suggestions
Tim Niemueller 036931d
Tim Niemueller 036931d
* Thu Jan 20 2011 Tim Niemueller <tim@niemueller.de> - 1.0.0.25-0.1.git4c9ff978
Tim Niemueller 036931d
- Initial revision
Tim Niemueller 036931d