# Maintainer: Luke Shumaker # Contributor (Arch): Sven Schneider # Contributor (Arch): bugix # Contributor (Arch): Lubosz Sarnecki # unfortunately we can't use $_suf in function names, but sed makes it ok _suf='-unstable' pkgname=( openni$_suf openni$_suf-docs openni$_suf-core openni$_suf-core-samples openni$_suf-core-samples-source openni$_suf-mono openni$_suf-mono-samples openni$_suf-mono-samples-source openni$_suf-java openni$_suf-java-samples openni$_suf-java-samples-source ) pkgver=1.4.0.2 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') url="http://www.openni.org/" license=('GPL') makedepends=('git' 'doxygen' 'graphviz') options+=('!strip') source=() md5sums=() __gitroot="git://github.com/OpenNI/OpenNI.git" _gitname="openni" _gitbranch="Unstable-$pkgver" _os='Linux' case "${CARCH}" in 'x86_64') _arch=x64;; 'i686') _arch=x86;; 'arm') _arch=Arm;; # untested *) _arch=UNSUPPORTED_ARCH;; esac _platform="${_os}-${_arch}" export MAKEFLAGS+=' -j1 ' build() { cd "${srcdir}" msg "Connecting to GIT server...." #if [ -d ${_gitname} ] ; then cd ${_gitname} # git checkout master # git pull origin # msg "The local files are updated." #else # git clone ${__gitroot} ${_gitname} # cd ${_gitname} #fi git checkout ${_gitbranch} cd .. msg "GIT checkout done or server timeout" msg "Starting build..." #rm -rf "${srcdir}/${_gitname}-build" #git clone "${srcdir}/${_gitname}" "${srcdir}/${_gitname}-build" cd "${srcdir}/${_gitname}-build" # PATCH sed -i 's/python /python2 /' "Platform/${_os}/CreateRedist/RedistMaker" for sample in NiViewer NiSimpleViewer NiUserTracker NiUserSelection NiHandTracker; do echo 'USED_LIBS += GL' >> "Platform/${_os}/Build/Samples/${sample}/Makefile" done echo ' abs_core: $(ALL_MODULES) $(ALL_UTILS) abs_core_samples: $(CORE_SAMPLES) abs_java: $(ALL_JAVA_PROJS) abs_java_samples: $(JAVA_SAMPLES) abs_mono: $(ALL_MONO_PROJS) abs_mono_samples: $(MONO_SAMPLES) $(MONO_FORMS_SAMPLES) ' >> "Platform/${_os}/Build/Makefile" # BUILD cd "Platform/${_os}/Build" make -j1 \ abs_core abs_core_samples \ abs_java abs_java_samples \ abs_mono abs_mono_samples cd "../Bin/${_arch}-Release" ln NiViewer Sample-NiViewer cd '../../../Source/DoxyGen' mkdir html doxygen Doxyfile rm -rf html/*.map html*.md5 html/*.hhc html/*.hhp } package_openni-unstable() { pkgdesc="Open Natural Interface framework" depends=("openni$_suf-core") optdepends=("openni$_suf-docs: programmer documentation") provides=('openni') conflicts=('openni') } package_openni-unstable-docs() { pkgdesc="OpenNI programmer documentation" arch=('any') provides=('openni-docs') conflicts=('openni-docs') cd "${srcdir}/${_gitname}-build/Source/DoxyGen/" install -d "${pkgdir}/usr/share/openni" cp -r html "${pkgdir}/usr/share/openni" } package_openni-unstable-core() { pkgdesc="OpenNI core libraries" depends=('libusb' 'freeglut') install="openni-core.install" provides=('openni-core') conflicts=('openni-core') cd "${srcdir}/${_gitname}-build/Platform/${_os}/Bin/${_arch}-Release" LIB_FILES=' libnimCodecs.so libnimMockNodes.so libnimRecorder.so libOpenNI.so ' install -d "${pkgdir}/usr/lib" install -m755 $LIB_FILES "${pkgdir}/usr/lib" BIN_FILES='niReg niLicense' install -d "${pkgdir}/usr/bin" install -m755 $BIN_FILES "${pkgdir}/usr/bin" cd "${srcdir}/${_gitname}-build/Include" install -d "${pkgdir}/usr/include/ni" install -m644 *.h "${pkgdir}/usr/include/ni" cp -r "${_platform}" "${pkgdir}/usr/include/ni" cd "${srcdir}/${_gitname}-build/Platform/${_os}/Build" install -d "${pkgdir}/usr/share" cp -r Common "${pkgdir}/usr/share/common" install -d "${pkgdir}/var/lib/ni" } package_openni-unstable-java() { pkgdesc="OpenNI java wrapper" depends=("openni$_suf" 'java-environment') provides=('openni-java') conflicts=('openni-java') cd "${srcdir}/${_gitname}-build/Platform/${_os}/Bin/${_arch}-Release" install -d "${pkgdir}/usr/lib" install -m755 libOpenNI.jni.so "${pkgdir}/usr/lib" install -d "${pkgdir}/usr/share/openni/java" install -m755 org.OpenNI.jar "${pkgdir}/usr/share/openni/java" } package_openni-unstable-mono() { pkgdesc="OpenNI mono wrapper" depends=("openni$_suf" 'mono') install="openni-mono.install" provides=('openni-mono') conflicts=('openni-mono') cd "${srcdir}/${_gitname}-build/Platform/${_os}/Bin/${_arch}-Release" install -d "${pkgdir}/usr/share/openni/mono" install -m755 OpenNI.net.dll "${pkgdir}/usr/share/openni/mono" } # SAMPLES _install_sample_source() { sample=$1 makefile="Platform/${_os}/Build/Samples/$sample/Makefile" install -d "${pkgdir}/usr/share/openni/samples" cp -r "Samples/$sample" "${pkgdir}/usr/share/openni/samples/$sample" install -m644 "$makefile" "${pkgdir}/usr/share/openni/samples/$sample" } CORE_SAMPLES=' AudioSample BackRecorder CRead ConvertXToONI HandTracker RecordSynthetic SimpleCreate UserSelection Viewer SimpleRead SimpleViewer UserTracker' MONO_SAMPLES='SimpleRead SimpleViewer UserTracker' JAVA_SAMPLES='SimpleRead SimpleViewer UserTracker' package_openni-unstable-core-samples() { pkgdesc="OpenNI sample programs" depends=("openni$_suf-core") optdepends=('openni-core-samples-source: source code for the samples') provides=('openni-core-samples') conflicts=('openni-core-samples') cd "${srcdir}/${_gitname}-build/Platform/${_os}/Bin/${_arch}-Release" install -d "${pkgdir}/usr/bin" for sample in $CORE_SAMPLES; do install -m755 Sample-Ni$sample "${pkgdir}/usr/bin/niSample-$sample" done } package_openni-unstable-core-samples-source() { pkgdesc="OpenNI sample programs source code" depends=("openni$_suf-core") provides=('openni-core-samples-source') conflicts=('openni-core-samples-source') cd "${srcdir}/${_gitname}-build" for sample in Viewer $CORE_SAMPLES; do _install_sample_source Ni$sample done } package_openni-unstable-java-samples() { pkgdesc="OpenNI java wrapper sample programs" depends=("openni$_suf-java") optdepends=("openni$_suf-java-samples-source: source code for the samples") arch=('any') provides=('openni-java-samples') conflicts=('openni-java-samples') cd "${srcdir}/${_gitname}-build/Platform/${_os}/Bin/${_arch}-Release" install -d "${pkgdir}/usr/bin" install -d "${pkgdir}/usr/share/openni/java" for sample in $JAVA_SAMPLES; do install -m644 org.OpenNI.Samples.$sample.jar "${pkgdir}/usr/share/openni/java" echo "#/bin/sh java -jar /usr/share/openni/java/org.OpenNI.Samples.$sample.jar $@ " > "${pkgdir}/usr/bin/niSample-$sample.jar" chmod 755 "${pkgdir}/usr/bin/niSample-$sample.jar" done } package_openni-unstable-java-samples-source() { pkgdesc="OpenNI java wrapper sample programs source code" depends=("openni$_suf-java") provides=('openni-java-samples-source') conflicts=('openni-java-samples-source') cd "${srcdir}/${_gitname}-build" for sample in $JAVA_SAMPLES; do _install_sample_source $sample.java done } package_openni-unstable-mono-samples() { pkgdesc="OpenNI java wrapper sample programs" depends=("openni$_suf-mono") optdepends=("openni$_suf-mono-samples-source: source code for the samples") provides=('openni-mono-samples') conflicts=('openni-mono-samples') cd "${srcdir}/${_gitname}-build/Platform/${_os}/Bin/${_arch}-Release" install -d "${pkgdir}/usr/bin" install -d "${pkgdir}/usr/share/openni/mono" for sample in $MONO_SAMPLES; do install -m755 $sample.net.exe "${pkgdir}/usr/share/openni/mono" echo "#/bin/sh cd /usr/share/openni/mono mono $sample.net.exe $@ " > "${pkgdir}/usr/bin/niSample-$sample.net" chmod 755 "${pkgdir}/usr/bin/niSample-$sample.net" done } package_openni-unstable-mono-samples-source() { pkgdesc="OpenNI mono wrapper sample programs source code" depends=("openni$_suf-mono") provides=('openni-mono-samples-source') conflicts=('openni-mono-samples-source') cd "${srcdir}/${_gitname}-build" for sample in $MONO_SAMPLES; do _install_sample_source $sample.net done }