Tim Niemueller 9693fd1
#define gitrev f8467404
Tim Niemueller 036931d
Tim Niemueller 036931d
Name:           openni
Tim Niemueller 8aa492a
Version:        1.3.2.1
9e741a0
Release:        9%{?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 9693fd1
# git archive --format tar --prefix=openni-1.3.2.1/ HEAD | gzip > ../openni-1.3.2.1.tar.gz
Tim Niemueller 9693fd1
Source0:        openni-%{version}.tar.gz
523b46b
Source1:        libopenni.pc
Tim Niemueller 9693fd1
Patch0:         openni-1.3.2.1-willow.patch
Tim Niemueller 9693fd1
Patch1:         openni-1.3.2.1-fedora.patch
Tim Niemueller 9693fd1
Patch2:         openni-1.3.2.1-disable-sse.patch
Tim Niemueller 9693fd1
Patch3:         openni-1.3.2.1-silence-assert.patch
Tim Niemueller 9693fd1
Patch4:         openni-1.3.2.1-fedora-java.patch
9e741a0
Patch5:         openni-1.3.2.1-arm.patch
Tim Niemueller 036931d
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
9e741a0
ExclusiveArch:  %{ix86} x86_64 %{arm}
Tim Niemueller 036931d
Tim Niemueller 036931d
BuildRequires:  freeglut-devel, tinyxml-devel, libjpeg-devel, dos2unix, libusb1-devel
Tim Niemueller 5edb3d4
BuildRequires:  python, doxygen, graphviz
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 9693fd1
%setup -q -n %{name}-%{version}
Tim Niemueller 9693fd1
%patch0 -p1 -b .willow
Tim Niemueller 9693fd1
%patch1 -p1 -b .fedora
Tim Niemueller 9693fd1
%patch2 -p1 -b .disable-sse
Tim Niemueller 9693fd1
%patch3 -p1 -b .silence-assert
Tim Niemueller 9693fd1
%patch4 -p1 -b .fedora-java
9e741a0
%patch5 -p1 -b .arm
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
9e741a0
%ifarch %{arm}
9e741a0
chmod +x RedistMaker.Arm
9e741a0
# {?_smp_mflags} omitted, not supported by OpenNI Makefiles
9e741a0
CFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS" DEBUG=1 \
9e741a0
./RedistMaker.Arm
9e741a0
%else
Tim Niemueller 036931d
# {?_smp_mflags} omitted, not supported by OpenNI Makefiles
Tim Niemueller 9693fd1
CFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS" DEBUG=1 \
Tim Niemueller 036931d
./RedistMaker
9e741a0
%endif
Tim Niemueller 9693fd1
#cat Output/BuildOpenNI.txt
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
9e741a0
%ifnarch %{arm}
Tim Niemueller 036931d
install -m 0755 Samples/Bin/Release/NiViewer $RPM_BUILD_ROOT%{_bindir}
9e741a0
%endif
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
9e741a0
%ifnarch %{arm}
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
9e741a0
%endif
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 9693fd1
mkdir -p $RPM_BUILD_ROOT%{_var}/lib/ni
Tim Niemueller 036931d
echo "<Modules/>" > $RPM_BUILD_ROOT%{_var}/lib/ni/modules.xml
Tim Niemueller 036931d
523b46b
mkdir -p %{buildroot}%{_datadir}/pkgconfig
523b46b
sed -e 's![@]prefix[@]!%{_prefix}!g' \
523b46b
    -e 's![@]exec_prefix[@]!%{_exec_prefix}!g' \
523b46b
    -e 's![@]libdir[@]!%{_libdir}!g' \
523b46b
    -e 's![@]includedir[@]!%{_includedir}!g' \
523b46b
    -e 's![@]version[@]!%{version}!g' \
523b46b
    %{SOURCE1} > %{buildroot}%{_datadir}/pkgconfig/libopenni.pc
523b46b
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 036931d
if [ $1 == 1 ]; then
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 036931d
if [ $1 == 0 ]; then
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 780b8fe
%config(noreplace) %{_var}/lib/ni/modules.xml
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
523b46b
%{_datadir}/pkgconfig/libopenni.pc
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
9e741a0
* Wed Feb 26 2014 Scott K Logan <logans@cottsay.net> - 1.3.2.1-9
9e741a0
- Added patch and changed spec for arm support
523b46b
- Added a simple pkgconfig
9e741a0
78f00d8
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.2.1-8
78f00d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
78f00d8
b0bea31
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.2.1-7
b0bea31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
b0bea31
Adam Tkac 5a8b0bb
* Mon Jan 21 2013 Adam Tkac <atkac redhat com> - 1.3.2.1-6
Adam Tkac 5a8b0bb
- rebuild due to "jpeg8-ABI" feature drop
Adam Tkac 5a8b0bb
647356a
* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 1.3.2.1-5
647356a
- rebuild against new libjpeg
647356a
9757d06
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.2.1-4
9757d06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
9757d06
f126be2
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.2.1-3
f126be2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
f126be2
Tim Niemueller 5edb3d4
* Fri Dec 23 2011 Tim Niemueller <tim@niemueller.de> 1.3.2.1-2
Tim Niemueller 5edb3d4
- Add BR graphviz
Tim Niemueller 5edb3d4
Tim Niemueller 9693fd1
* Thu Dec 22 2011 Tim Niemueller <tim@niemueller.de> 1.3.2.1-1
Tim Niemueller 9693fd1
- Remove git suffix, we package the stable version
Tim Niemueller 9693fd1
- Add Willow Garage and assertion silencing patches
Tim Niemueller 9693fd1
Tim Niemueller 780b8fe
* Sun Dec 04 2011 Tim Niemueller <tim@niemueller.de> 1.3.2.1-0.3.gitf8467404
Tim Niemueller 780b8fe
- Mark modules.xml as config file, fixes deregistering of modules on upgrade
Tim Niemueller 780b8fe
Tim Niemueller 0df5659
* Wed Oct 12 2011 Tim Niemueller <tim@niemueller.de> 1.3.2.1-0.2.gitf8467404
Tim Niemueller 0df5659
- Fix passing of opt cflags, fixes bz #735594
Tim Niemueller 0df5659
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