blob: 7c5386537cc1bc8322f59f91236857e631a0afa3 (
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
# Maintainer: Maarten de Vries <maarten@de-vri.es>
# Contributor: Yuxin Wu <ppwwyyxxc@gmail.com>
# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: hauptmech
# Contributor: figo.zhang
# Contributor: lubosz
pkgname=pcl-git
pkgver=r14685.a35cfbc53
pkgrel=1
pkgdesc="a standalone, large scale, open project for 2D/3D image and point cloud processing"
arch=(i686 x86_64)
url="http://pointclouds.org/"
license=('BSD')
depends=(
boost
cuda
eigen
flann
glew
glu
libxcursor
openmpi
qhull
qt6-base
qt6-webengine
vtk
fast_float
pugixml
fmt
python-mpi4py
openxr
openvr
gl2ps
adios2
verdict
liblas
openvdb
pdal
openimagedenoise
ospray
cli11
utf8cpp
nlohmann-json
openni2
postgresql
gcc15
)
makedepends=(cmake git)
source=(
git+https://github.com/PointCloudLibrary/pcl
cuda13-gcc15-compat.patch
)
sha256sums=(
SKIP
'0ec7e9ebaf6c6abf5a7e7ec9fb4203d85a69d6a76ff65a179956c17c55e8d374'
)
conflicts=(pcl)
provides=(pcl)
pkgver() {
cd "$srcdir/pcl"
# Use the tag of the last commit
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
prepare() {
# CUDA 13 / gcc 15 compatibility: thrust::distance removal + missing <iostream>
# includes that newer toolchains no longer pull in transitively.
cd "$srcdir/pcl"
patch -Np1 -i "$srcdir/cuda13-gcc15-compat.patch"
mkdir -p "$srcdir/build"
cd "$srcdir/build"
cmake "${srcdir}/pcl" \
-DCMAKE_CXX_COMPILER=/usr/bin/g++-15 \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_CXX_FLAGS="${CXXFLAGS} -fPIC" \
-DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS} -Wl,--as-needed" \
-DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS} -Wl,--as-needed" \
-DCMAKE_CUDA_ARCHITECTURES="all" \
-DBoost_USE_DEBUG_RUNTIME=OFF \
-DBUILD_apps=ON \
-DBUILD_apps_cloud_composer=ON \
-DBUILD_apps_in_hand_scanner=ON \
-DBUILD_apps_modeler=ON \
-DBUILD_apps_point_cloud_editor=ON \
-DBUILD_examples=ON \
-DBUILD_global_tests=OFF \
-DBUILD_surface_on_nurbs=ON \
-DBUILD_CUDA=ON \
-DBUILD_cuda_io=OFF \
-DBUILD_cuda_apps=ON \
-DBUILD_GPU=ON \
-DBUILD_gpu_kinfu=OFF \
-DBUILD_gpu_kinfu_large_scale=OFF \
-DBUILD_gpu_surface=ON \
-DBUILD_gpu_tracking=ON \
-DBUILD_gpu_people=OFF \
-DBUILD_simulation=ON \
-DCMAKE_CUDA_COMPILER=/opt/cuda/bin/nvcc \
-DCMAKE_CUDA_HOST_COMPILER=/usr/bin/g++-15 \
-DCMAKE_MODULE_PATH=/usr/lib/cmake/OpenVDB \
-DWITH_QT=QT6 \
-DWITH_ENSENSO=OFF
}
build() {
cd "$srcdir/build"
make -j$(nproc)
}
package() {
cd "$srcdir/build"
make DESTDIR="${pkgdir}" install
install -Dm644 "$srcdir/pcl/LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
|