blob: 6634e22d3e94491c9b44631a5cd43da31215f7cf (
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
|
#!/hint/bash
# Maintainer : bartus <arch-user-repoᘓbartus.33mail.com>
# -> disable check() until #63 is fixed
#Configuration variables
# CUDA_ARCH : 50, 52 ...
_DISABLE_CHECK=${DISABLE_CHECK:-1}
_name=popsift
pkgname=( "${_name}" "${_name}-libs" )
pkgver=1.0.0
pkgrel=3
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' 'expac')
makedepends+=('cuda>=7.0')
checkdepends=('wget')
source=("${_name}::git+https://github.com/alicevision/popsift.git")
sha256sums=('SKIP')
build() {
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 )
[[ -v CUDA_ARCH ]] && CMAKE_FLAGS+=( -DPopSift_CUDA_CC_LIST="$CUDA_ARCH" )
msg2 "Build static ${_name} library"
cmake "${CMAKE_FLAGS[@]}" \
-DBUILD_SHARED_LIBS=OFF \
-DCUDA_USE_STATIC_CUDA_RUNTIME=ON \
-DPopSift_USE_POSITION_INDEPENDENT_CODE=ON \
-S "${srcdir}/${_name}" \
-B build_static
make -C build_static
msg2 "Build shared ${_name} library"
cmake "${CMAKE_FLAGS[@]}" \
-DBUILD_SHARED_LIBS=ON \
-S "${srcdir}/${_name}" \
-B build_shared
make -C build_shared
}
package_popsift() {
pkgdesc+=" [development headers and static libs]"
_cuda_version=$(expac -Q '%v' cuda)
_cuda_version=${_cuda_version%-[0-9]*}
depends=('boost' "popsift-libs=${pkgver}" "cuda${_cuda_version:+=$_cuda_version}")
options=('staticlibs')
make -C "$srcdir/build_static" DESTDIR="${pkgdir}" install
}
package_popsift-libs() {
depends=('boost-libs>=1.55') # 'libcudart.so')
optdepend=('cuda: for static cudart library')
provides=("popsift-libs=${pkgver}")
cd
make -C "${srcdir}/build_shared" DESTDIR="${pkgdir}" install
rm -rf "${pkgdir}"/usr/{include,shared,lib/cmake}
}
check() {
((_DISABLE_CHECK)) || {
make -C "${srcdir}/build_static" prepare-test
make -C "${srcdir}/build_static" run-test-boat
# make run-test
}
}
# vim:set ts=2 sw=2 et:
|