summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2016-03-08 14:40:29 +0000
committerLuke Shumaker <lukeshu@sbcglobal.net>2016-03-08 14:40:29 +0000
commita9323ed3ebbff83ae9f6734cd44083fc5c426d2c (patch)
treea2bb29e9ee44df09df12dc618cae1606ae968358
parent35d7e11a45c2cfa61bcc817bc16938ab6870b8f2 (diff)
proper split pkg
-rw-r--r--PKGBUILD137
1 files changed, 115 insertions, 22 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 391c912..5fdeb2c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,41 +1,134 @@
# Maintainer: Sven Schneider <archlinux.sandmann@googlemail.com>
-pkgname=libfreenect
+pkgbase=libfreenect
+pkgname=(libfreenect libfreenect-{examples,fakenect,sync,cxx,opencv,python2,openni2})
pkgver=0.5.3
pkgrel=1
-pkgdesc="Drivers and libraries for the Xbox Kinect device on Linux"
-arch=('i686' 'x86_64')
+pkgdesc="Drivers and libraries for the Xbox Kinect device"
+arch=('i686' 'x86_64' 'armv6h')
url="http://openkinect.org"
-license=('GPL')
-depends=('libusb' 'glu' 'freeglut' 'bash' 'python2')
-makedepends=('cmake' 'libxmu' 'python2-numpy')
-optdepends=('opencv: support for python demos'
- 'python2-matplotlib: support for python demos')
-source=(${pkgname}-${pkgver}.tar.gz::https://github.com/OpenKinect/libfreenect/archive/v${pkgver}.tar.gz)
+license=('GPL2' 'Apache' )
+_depends_libfreenect=('libusb')
+_depends_examples=('glu' 'freeglut')
+_depends_fakenect=('bash')
+_depends_sync=()
+_depends_cxx=()
+_depends_opencv=('opencv')
+_depends_python2=('python2')
+_depends_openni2=()
+makedepends=(
+ 'cmake'
+ 'python2-numpy'
+ "${_depends_libfreenect[@]}"
+ "${_depends_examples[@]}"
+ "${_depends_fakenect[@]}"
+ "${_depends_sync[@]}"
+ "${_depends_cxx[@]}"
+ "${_depends_opencv[@]}"
+ "${_depends_python2[@]}"
+ "${_depends_openni2[@]}")
+source=(${pkgbase}-${pkgver}.tar.gz::https://github.com/OpenKinect/libfreenect/archive/v${pkgver}.tar.gz)
sha512sums=('bf5ac23b1ead3dec1d76868373b219a995d648b4da9b317655bc48fc641ec5d8ed5a02228a026c7c95d3c96cc5d5184152be3e5789959e23a332e38167cf7018')
-prepare() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+build() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
- sed '/set(PYTHON_EXECUTABLE "python2")/d' -i CMakeLists.txt
-}
+ # Python 2
+ sed -i 's|#!/usr/bin/env python$|&2|' wrappers/python/*.*
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ # PYTHON_EXECUTABLE is set to just "python2", but with our version
+ # of CMake, it must be an absolute path. Further, it must be scoped
+ # more globally than it is in the CMakeLists.txt, so we define it
+ # with -D below.
+ sed '/set(PYTHON_EXECUTABLE "python2")/d' -i CMakeLists.txt
cmake -DCMAKE_INSTALL_PREFIX=/usr \
- -DPROJECT_INCLUDE_INSTALL_DIR=/usr/include -DLIB_SUFFIX="" \
- -DBUILD_REDIST_PACKAGE=OFF \
- -DBUILD_OPENNI2_DRIVER=ON \
+ -DPROJECT_INCLUDE_INSTALL_DIR=/usr/include \
-DPYTHON_EXECUTABLE=/usr/bin/python2 \
- -DBUILD_PYTHON=ON .
+ -DBUILD_REDIST_PACKAGE=ON \
+ -DBUILD_CV=ON \
+ -DBUILD_PYTHON=ON \
+ -DBUILD_OPENNI2_DRIVER=ON \
+ .
make
}
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+package_libfreenect() {
+ pkgdesc="Library for the Xbox Kinect device"
+ depends=("${_depends_libfreenect[@]}")
+ optdepends=('python2: for fwfetcher.py script')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/src"
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm644 ../platform/linux/udev/51-kinect.rules "${pkgdir}/usr/lib/udev/rules.d/51-kinect.rules"
+ install -d "${pkgdir}"/usr/share/libfreenect/
+ mv "${pkgdir}"/usr/share/fwfetcher.py "${pkgdir}"/usr/share/libfreenect/
+}
+
+package_libfreenect-examples() {
+ pkgdesc="Example and utility program for the Xbox Kinect device"
+ depends+=("libfreenect-sync=$pkgver" "${_depends_examples[@]}")
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/examples"
+ make DESTDIR="${pkgdir}" install
+}
+
+package_libfreenect-fakenect() {
+ pkgdesc="Mock library for the Xbox Kinect device"
+ depends+=("libfreenect=$pkgver" "${_depends_fakenect[@]}")
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/fakenect"
+ make DESTDIR="${pkgdir}" install
+}
+
+package_libfreenect-sync() {
+ pkgdesc="Library for the Xbox Kinect device (synchronous C bindings)"
+ depends+=("libfreenect=$pkgver" "${_depends_sync[@]}")
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/wrappers/c_sync"
+ make DESTDIR="${pkgdir}" install
+}
+
+package_libfreenect-cxx() {
+ pkgdesc="Library for the Xbox Kinect device (C++ bindings)"
+ depends+=("libfreenect=$pkgver" "${_depends_cxx[@]}")
+ optdepends+=(
+ 'glu: for demos'
+ 'freeglut: for demos')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/wrappers/cpp"
+ make DESTDIR="${pkgdir}" install
+}
+
+package_libfreenect-opencv() {
+ pkgdesc="Library for the Xbox Kinect device (OpenCV bindings)"
+ depends+=("libfreenect-sync=$pkgver" "${_depends_opencv[@]}")
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/wrappers/opencv"
+ make DESTDIR="${pkgdir}" install
+}
+
+package_libfreenect-python2() {
+ pkgdesc="Library for the Xbox Kinect device (Python 2 bindings)"
+ depends+=("libfreenect-sync=$pkgver" "${_depends_python2[@]}")
+ optdepends+=(
+ 'libfreenect-opencv: for demos'
+ 'python2-matplotlib: for demos')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/wrappers/python"
+ make DESTDIR="${pkgdir}" install
+
+ install -d "${pkgdir}"/usr/share/libfreenect/python2-demos
+ install -m755 demo_* "${pkgdir}"/usr/share/libfreenect/python2-demos/
+ install -m644 frame_convert.py "${pkgdir}"/usr/share/libfreenect/python2-demos/
+}
+
+package_libfreenect-openni2() {
+ pkgdesc="Library for the Xbox Kinect device (OpenNI2 bindings)"
+ depends+=("libfreenect-cxx=$pkgver" "${_depends_openni2[@]}")
+ cd "${srcdir}/${pkgbase}-${pkgver}/OpenNI2-FreenectDriver"
make DESTDIR="${pkgdir}" install
- install -Dm644 platform/linux/udev/51-kinect.rules "${pkgdir}/etc/udev/rules.d/51-kinect.rules"
}