diff options
Diffstat (limited to '~lukeshu/openni-git/PKGBUILD')
-rw-r--r-- | ~lukeshu/openni-git/PKGBUILD | 286 |
1 files changed, 286 insertions, 0 deletions
diff --git a/~lukeshu/openni-git/PKGBUILD b/~lukeshu/openni-git/PKGBUILD new file mode 100644 index 000000000..7ac6abb87 --- /dev/null +++ b/~lukeshu/openni-git/PKGBUILD @@ -0,0 +1,286 @@ +# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net> +# Contributor: Sven Schneider <archlinux.sandmann@googlemail.com> +# Contributor: bugix +# Contributor: Lubosz Sarnecki <lubosz at gmail> + +# unfortunately we can't use $_suf in function names, but sed makes it ok +_suf='-git' +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=20111121 +pkgrel=4 +arch=('i686' 'x86_64') +url="http://www.openni.org/" +license=('GPL') +makedepends=('git' 'doxygen' 'graphviz') +source=() +md5sums=() + +_gitroot="git://github.com/OpenNI/OpenNI.git" +_gitname="openni" +#_gitbranch="unstable" +_gitbranch="master" + +_os='Linux' +case "${CARCH}" in +'x86_64') _arch=x86;; +'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 make..." + + rm -rf "${srcdir}/${_gitname}-build" + git clone "${srcdir}/${_gitname}" "${srcdir}/${_gitname}-build" + cd "${srcdir}/${_gitname}-build" + + # PATCH + sed -i 's/python /python2 /' "Platform/${_platform}/CreateRedist/RedistMaker" + 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/${_platform}/Build/Makefile" + + + # BUILD + cd "Platform/${_platform}/Build" + make -j1 \ + abs_core abs_core_samples \ + abs_java abs_java_samples \ + abs_mono abs_mono_samples || return 1 + + cd '../../../Source/DoxyGen' + mkdir html + doxygen Doxyfile + rm -rf html/*.map html*.md5 html/*.hhc html/*.hhp +} + +package_openni-git() { + pkgdesc="Open Natural Interface framework" + depends=("openni$_suf-core") + optdepends=("openni$_suf-docs: programmer documentation") + provides=('openni') + conflicts=('openni') +} + +package_openni-git-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-git-core() { + pkgdesc="OpenNI core libraries" + depends=('libusb' 'freeglut') + install="openni.install" + provides=('openni-core') + conflicts=('openni-core') + + cd "${srcdir}/${_gitname}-build/Platform/${_platform}/Bin/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/${_platform}/Build" + install -d "${pkgdir}/usr/share" + cp -r Common "${pkgdir}/usr/share/common" +} + +package_openni-git-java() { + pkgdesc="OpenNI java wrapper" + depends=("openni$_suf" 'java-environment') + provides=('openni-java') + conflicts=('openni-java') + + cd "${srcdir}/${_gitname}-build/Platform/${_platform}/Bin/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-git-mono() { + pkgdesc="OpenNI mono wrapper" + depends=("openni$_suf" 'mono') + provides=('openni-mono') + conflicts=('openni-mono') + + cd "${srcdir}/${_gitname}-build/Platform/${_platform}/Bin/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/${_platform}/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" +} + +# Leave out NiViewer, it's set up wrong +CORE_SAMPLES=' + AudioSample + BackRecorder + CRead + ConvertXToONI + RecordSynthetic + SimpleCreate + SimpleRead SimpleViewer UserTracker' +MONO_SAMPLES='SimpleRead SimpleViewer UserTracker' +JAVA_SAMPLES='SimpleRead SimpleViewer UserTracker' + +package_openni-git-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/${_platform}/Bin/Release" + install -d "${pkgdir}/usr/bin" + install -m755 NiViewer "${pkgdir}/usr/bin/niSample-Viewer" + for sample in $CORE_SAMPLES; do + install -m766 Sample-Ni$sample "${pkgdir}/usr/bin/niSample-$sample" + done +} +package_openni-git-core-samples-source() { + pkgdesc="OpenNI sample programs source code" + depends=("openni$_suf-core") + provides=('openni-core-samples-source') + conflicts=('openni-core-samples-source') + options+=('!strip') + + cd "${srcdir}/${_gitname}-build" + for sample in Viewer $CORE_SAMPLES; do + _install_sample_source Ni$sample + done +} + +package_openni-git-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/${_platform}/Bin/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-git-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') + options+=('!strip') + + cd "${srcdir}/${_gitname}-build" + for sample in $JAVA_SAMPLES; do + _install_sample_source $sample.java + done +} + +package_openni-git-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/${_platform}/Bin/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-git-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') + options+=('!strip') + + cd "${srcdir}/${_gitname}-build" + for sample in $MONO_SAMPLES; do + _install_sample_source $sample.net + done +} |