blob: 1f37d7df2cf02c886d7de14f75dd5d607741915c (
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
|
#!/hint/bash
# Maintainer : bartus <arch-user-repoᘓbartus.33mail.com>
# -> disable check() until #63 is fixed
#Configuration variables
# CUDA_ARCH : sm_50, sm_50 ...
DISABLE_CHECK=${DISABLE_CHECK:-1}
_name=popsift
pkgname=(${_name} ${_name}-libs)
pkgver=1.0.0
pkgrel=2
pkgdesc="Realtime GPU implementation of SIFT, 25 fps on HD images on recent graphic cards. (DOI: 10.1145/3204949.3208136)"
arch=('i686' 'x86_64')
url="https://alicevision.github.io/"
license=('MPL2')
groups=()
conflicts=()
provides=()
makedepends=('boost' 'cmake' 'git')
makedepends+=('cuda>=7.0')
checkdepends=('wget')
source=("${_name}::git+https://github.com/alicevision/popsift.git")
sha256sums=('SKIP')
_CMAKE_FLAGS=( -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release )
((DISABLE_CHECK)) && _CMAKE_FLAGS+=( -DPopSift_BUILD_EXAMPLES=OFF ) || _CMAKE_FLAGS+=( -DPopSift_BUILD_EXAMPLES=ON -DPopSift_USE_TEST_CMD=ON )
build() {
cd ${srcdir}
[[ -v CUDA_ARCH ]] && _CMAKE_FLAGS+=( -DPopSift_CUDA_CC_LIST="$CUDA_ARCH" )
msg2 "Build static ${_name} library"
mkdir -p build_static && pushd build_static
cmake ${_CMAKE_FLAGS[*]} -DBUILD_SHARED_LIBS=OFF -DCUDA_USE_STATIC_CUDA_RUNTIME=ON ${srcdir}/${_name}
make
popd
msg2 "Build static ${_name} library"
mkdir -p build_shared && pushd build_shared
cmake ${_CMAKE_FLAGS[*]} -DBUILD_SHARED_LIBS=ON ${srcdir}/${_name}
make
popd
}
package_popsift() {
pkgdesc+=" [development headers and static libs]"
depends=('boost')
optdepend=('cuda: for static cudart library')
options=('staticlibs')
cd ${srcdir}/build_static
make DESTDIR=${pkgdir} install
}
package_popsift-libs() {
depends=('boost-libs>=1.55' 'libcudart.so')
cd ${srcdir}/build_shared
make DESTDIR=${pkgdir} install
rm -rf ${pkgdir}/usr/{include,shared}
}
check() {
cd ${srcdir}/build_static
if ! ((DISABLE_CHECK)); then
make prepare-test
make run-test-boat
# make run-test
fi
}
# vim:set ts=2 sw=2 et:
|