Move alice-vision from AUR

This commit is contained in:
Sven-Hendrik Haase 2022-11-24 00:04:58 +00:00
commit 5a8ecbdb39

108
PKGBUILD Normal file
View file

@ -0,0 +1,108 @@
# Maintainer: Sven-Hendrik Haase <svenstaro@archlinux.org>
# Contributor: bartus <arch-user-repoᘓbartus.33mail.com>
pkgname=alice-vision
pkgver=2.4.0
pkgrel=6
pkgdesc="Photogrammetric Computer Vision Framework which provides a 3D Reconstruction and Camera Tracking algorithms"
arch=('x86_64')
url="https://alicevision.github.io/"
options=('!lto')
license=('MPL2' 'MIT')
depends=('boost-libs' 'openimageio' 'flann' 'geogram' 'coin-or-clp' 'ceres-solver' 'cctag'
'alembic' 'cuda' 'opengv' 'opencv' 'popsift' 'uncertainty-framework')
makedepends=('boost' 'ninja' 'eigen' 'freetype2' 'coin-or-coinutils' 'coin-or-lemon'
'git' 'cmake' 'doxygen' 'python-sphinx')
source=("git+https://github.com/alicevision/AliceVision#tag=v${pkgver}"
"MeshSDFilter::git+https://github.com/alicevision/MeshSDFilter.git#branch=av_develop"
"nanoflann::git+https://github.com/alicevision/nanoflann.git"
"cmake_cxx_std_14.patch"
"openexr3.patch"
"iomanip.patch::https://github.com/alicevision/AliceVision/commit/711eda620449c080b642fc7cb6118758535ab614.patch"
"isnormal.patch::https://github.com/alicevision/AliceVision/commit/22fd9d4ba3f8b5344261cedfd9bc3cd4cb58eece.patch"
)
sha256sums=('SKIP'
'SKIP'
'SKIP'
'caf2bf06bd7c6a2387f01f312d94b649ef3e4363b18fcdf95986cd71a0d6c275'
'de9def936b143b6a95d8afc93e4673e8f8b0e434785b65c557353549efd95c1b'
'8403ad7fc41c86dc771f0b1c986d22831ed7c4fee8520f8aa96171f20387bc2d'
'29440da035b36e3b0e4b94645551ae1bb6041c31b337136894a158217946135f')
prepare() {
cd AliceVision
git submodule init
git config submodule."src/dependencies/MeshSDFilter".url "${srcdir}/MeshSDFilter"
git config submodule."src/dependencies/nanoflann".url "${srcdir}/nanoflann"
git -c protocol.file.allow=always submodule update
patch -Np1 -i"${srcdir}"/cmake_cxx_std_14.patch
# fix FindOpenEXR.cmake against openexr:3
patch -Np1 -i"${srcdir}"/openexr3.patch
# fix header relocation against openexr:3
grep -lR "#include.*OpenEXR/half.h"|xargs sed -i 's|OpenEXR/half|Imath/half|'
# fix gcc:11 headers regression
grep -lR "std::numeric_limits"|xargs sed -i '1 i\#include <limits>'
# fix doc build
sed -i '/^ *install.*doc/s/doc/htmlDoc/' src/CMakeLists.txt
# fix CMAKE_FIND_PACKAGE_PREFER_CONFIG=ON preserve target name capitalisation
sed 's/OPENEXR_FOUND/OpenEXR_FOUND/g' -i src/CMakeLists.txt
# fix openimageio:2 target library
sed 's/${OPENIMAGEIO_LIBRARIES};dl/OpenImageIO::OpenImageIO/g' -i src/CMakeLists.txt
# fix [io]fstream(path) initializer
sed '1 i#include <fstream>' -i $(grep -Rl std::[io]fstream src)
# fix missing <iomanip> header (setw,setfill,etc.)
git apply -v "${srcdir}"/iomanip.patch
# fix missing isnormal() from std namespace
git apply -v "${srcdir}"/isnormal.patch
}
build() {
cd AliceVision
cmake \
-Bbuild \
-GNinja \
-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCOINUTILS_INCLUDE_DIR_HINTS=/usr/include/coin \
-DCLP_INCLUDE_DIR_HINTS=/usr/include/coin \
-DOSI_INCLUDE_DIR_HINTS=/usr/include/coin \
-DLEMON_INCLUDE_DIR_HINTS=/usr/include/lemon \
-DPopSift_DIR=/usr \
-DCCTag_DIR=/usr/lib/cmake/CCTag \
-DUNCERTAINTYTE_DIR=/usr \
-DMAGMA_ROOT=/usr \
-DALICEVISION_CUDA_CC_LIST="52;53;60;61;62;70;72;75;80;86;87;89;90" \
-DALICEVISION_BUILD_EXAMPLES=OFF \
-DALICEVISION_USE_CUDA=ON \
-DALICEVISION_USE_CCTAG=ON \
-DALICEVISION_USE_POPSIFT=ON \
-DALICEVISION_USE_UNCERTAINTYTE=ON \
-DALICEVISION_USE_ALEMBIC=ON \
-DALICEVISION_USE_OPENGV=ON \
-DALICEVISION_USE_OPENCV=ON
ninja -C build
}
package() {
cd AliceVision
ninja -C build doc_doxygen
DESTDIR="${pkgdir}" ninja -C build install
install -Dm755 COPYING.md "${pkgdir}"/usr/share/licenses/${pkgname}/COPYING.md
install -Dm755 LICENSE-MPL2.md "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE-MPL2.md
install -Dm755 LICENSE-MIT-libmv.md "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE-MIT-libmv.md
}
# vim:set ts=2 sw=2 et: