From a9323ed3ebbff83ae9f6734cd44083fc5c426d2c Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Tue, 8 Mar 2016 14:40:29 +0000 Subject: proper split pkg --- PKGBUILD | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file 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 -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" } -- cgit v1.2.3