summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: ff98418398019c80357ed4d6748ae135e14b553e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Maintainer: Javier Fuentes <0xffaa.rm@gmail.com>
# Contributor: Figo.zhang <figo1802@gmail.com>
# Contributor: hauptmech

pkgname=flann
pkgver=1.8.4
pkgrel=2
pkgdesc="FLANN is a library for performing fast approximate nearest neighbor searches in high dimensional spaces"
arch=('i686' 'x86_64')
url='http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN'
license=('BSD')
depends=('hdf5')
makedepends=('cmake' 'python2')
optdepends=('python2: python bindings'
            'cuda: cuda support')
source=("http://people.cs.ubc.ca/~mariusm/uploads/FLANN/flann-${pkgver}-src.zip"
        "http://pkgs.fedoraproject.org/cgit/rpms/flann.git/plain/flann-1.8.4-gcc6.patch")
md5sums=('a0ecd46be2ee11a68d2a7d9c6b4ce701'
         '21ec2d7009fb09307ab74909f3b1d04e')

build() {
  cd "$srcdir/flann-${pkgver}-src"
  patch -p0 < ../flann-1.8.4-gcc6.patch

  sed -i 's/lib64/lib/g' cmake/flann_utils.cmake

  sed -i '1 i #undef _GLIBCXX_ATOMIC_BUILTINS' src/cpp/flann/algorithms/kdtree_cuda_3d_index.cu
  sed -i '1 i #undef _GLIBCXX_USE_INT128' src/cpp/flann/algorithms/kdtree_cuda_3d_index.cu

  sed -i 's|#!/usr/bin/env python|#!/usr/bin/python2|' \
      bin/download_checkmd5.py \
      bin/run_test.py \
      src/python/setup.py.tpl \
      test/test_clustering.py \
      test/test_index_save.py \
      test/test_nn_autotune.py \
      test/test_nn_index.py \
      test/test_nn.py

  sed -i 's|#!/usr/bin/python|#!/usr/bin/python2|' \
      test/memusage_clustering.py \
      test/memusage_nn.py

  sed -i "s|setup\.py install|setup.py install --root=$pkgdir --optimize=1|" src/python/CMakeLists.txt

  [[ -d build ]] && rm -r build
  mkdir build && cd build
  cmake .. \
      -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DBUILD_MATLAB_BINDINGS=OFF \
      -DBUILD_PYTHON_BINDINGS=ON \
      -DPYTHON_EXECUTABLE=/usr/bin/python2 \
      -DNVCC_COMPILER_BINDIR=/usr/bin
  make
}

package() {
  cd "$srcdir/flann-${pkgver}-src"

  cd build
  make DESTDIR="$pkgdir" install

  #install license file
  install -D -m644 ../COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"

  # FIXME: awful hack, but I got this error without the fix:
  # running install_lib
  # copying build/lib/pyflann/exceptions.py -> /usr/lib/python2.7/site-packages/pyflann
  # error: /usr/lib/python2.7/site-packages/pyflann/exceptions.py: Permission denied
  _python2libpath="`python2 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" | tr -d '\n'`"
  mkdir -p "${pkgdir}${_python2libpath}"
  cp -pr "${pkgdir}/usr/share/flann/python/pyflann" "${pkgdir}${_python2libpath}/pyflann"

}