Adopt & update package to 3.3.0

This commit is contained in:
sfn 2025-09-03 17:39:30 +02:00
parent 688377d440
commit 02187322f3
4 changed files with 180 additions and 100 deletions

View file

@ -1,10 +1,10 @@
pkgbase = alice-vision
pkgdesc = Photogrammetric Computer Vision Framework which provides a 3D Reconstruction and Camera Tracking algorithms
pkgver = 3.2.0
pkgrel = 7
pkgver = 3.3.0
pkgrel = 1
url = https://alicevision.github.io/
arch = x86_64
license = MPL2
license = MPL-2.0
license = MIT
makedepends = boost
makedepends = ninja
@ -16,6 +16,7 @@ pkgbase = alice-vision
makedepends = cmake
makedepends = doxygen
makedepends = python-sphinx
makedepends = nanoflann
depends = boost-libs
depends = openimageio
depends = flann
@ -23,29 +24,32 @@ pkgbase = alice-vision
depends = coin-or-clp
depends = ceres-solver
depends = cctag
depends = openmesh
depends = libe57format
depends = alembic
depends = opengv
depends = opencv
depends = popsift
depends = uncertainty-framework
depends = assimp
depends = onnx
depends = onnxruntime
depends = cuda
options = !lto
options = !debug
source = git+https://github.com/alicevision/AliceVision#tag=v3.2.0
source = git+https://github.com/alicevision/AliceVision#tag=v3.3.0
source = MeshSDFilter::git+https://github.com/alicevision/MeshSDFilter.git#branch=av_develop
source = nanoflann::git+https://github.com/alicevision/nanoflann.git
source = FindCoinUtils.cmake
source = FindClp.cmake
source = FindOsi.cmake
source = fix-computeUncertainty-build.patch
source = fix-default-ocio-path.patch
sha256sums = SKIP
source = fix-build.patch
sha256sums = SKIP
sha256sums = SKIP
sha256sums = d21691bfd9c2561cea52b5f48caf885ec6f8c2a0603ce594914bff610e77a0c5
sha256sums = 6523435334eec6e39a244371287504cd0a0e88aa0cbe5dcac38b819ea881074e
sha256sums = fbb87c86bc0b2ee2c98abfbecb0d555f75f01ccf5d4c59c22bb598e7f2897bf9
sha256sums = 17546a6c362782f90d1d85eb7a4b42b96f5f51879c68efbcbcf07635e0f60cbc
sha256sums = 3f02c715f27498ac8982edee3e3af151b0cd2a9cb83da37fef3b7fec1e34b169
sha256sums = c2146670be19ef6af0960a0e1cd5b6baae68ca54cf28b164977d265bd1d9a27b
pkgname = alice-vision

View file

@ -1,43 +1,41 @@
# Maintainer: Sven-Hendrik Haase <svenstaro@archlinux.org>
# Maintainer: sfn
# Contributor: Sven-Hendrik Haase <svenstaro@archlinux.org>
# Contributor: bartus <arch-user-repoᘓbartus.33mail.com>
pkgbase=alice-vision
pkgname=('alice-vision') # 'alice-vision-cuda'
pkgver=3.2.0
pkgrel=7
pkgname='alice-vision'
pkgver=3.3.0
pkgrel=1
options=('!lto' '!debug')
pkgdesc="Photogrammetric Computer Vision Framework which provides a 3D Reconstruction and Camera Tracking algorithms"
arch=('x86_64')
url="https://alicevision.github.io/"
options=('!lto' '!debug') # debug package is kinda big -- needs investigation!
#options=('!debug') # debug package is kinda big -- needs investigation!
license=('MPL-2.0' 'MIT')
depends=('boost-libs' 'openimageio' 'flann' 'geogram' 'coin-or-clp' 'ceres-solver' 'cctag'
'alembic' 'opengv' 'opencv' 'popsift' 'uncertainty-framework' 'assimp')
depends=('boost-libs' 'openimageio' 'flann' 'geogram' 'coin-or-clp' 'ceres-solver' 'cctag' 'openmesh' 'libe57format'
'alembic' 'opengv' 'opencv' 'popsift' 'uncertainty-framework' 'assimp' 'onnx' 'onnxruntime' 'cuda')
makedepends=('boost' 'ninja' 'eigen' 'freetype2' 'coin-or-coinutils' 'coin-or-lemon'
'git' 'cmake' 'doxygen' 'python-sphinx') # 'cuda'
'git' 'cmake' 'doxygen' 'python-sphinx' 'nanoflann')
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"
"FindCoinUtils.cmake"
"FindClp.cmake"
"FindOsi.cmake"
"fix-computeUncertainty-build.patch"
"fix-default-ocio-path.patch"
"fix-build.patch"
)
sha256sums=('SKIP'
'SKIP'
'SKIP'
'd21691bfd9c2561cea52b5f48caf885ec6f8c2a0603ce594914bff610e77a0c5'
'6523435334eec6e39a244371287504cd0a0e88aa0cbe5dcac38b819ea881074e'
'fbb87c86bc0b2ee2c98abfbecb0d555f75f01ccf5d4c59c22bb598e7f2897bf9'
'17546a6c362782f90d1d85eb7a4b42b96f5f51879c68efbcbcf07635e0f60cbc'
'3f02c715f27498ac8982edee3e3af151b0cd2a9cb83da37fef3b7fec1e34b169')
'3f02c715f27498ac8982edee3e3af151b0cd2a9cb83da37fef3b7fec1e34b169'
'c2146670be19ef6af0960a0e1cd5b6baae68ca54cf28b164977d265bd1d9a27b')
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
# alice-vision requires a patched coinutils with cmake integration
@ -48,13 +46,13 @@ prepare() {
-i src/*/*/CMakeLists.txt
# fix build
patch -p1 -i ../fix-computeUncertainty-build.patch
patch -p1 -i ../fix-build.patch
# fix default OCIO config path
patch -p1 -i ../fix-default-ocio-path.patch
# fix doc build
sed -i '/^ *install.*doc/s/doc/htmlDoc/' src/CMakeLists.txt
ln -rs docs/sphinx{,/rst}
#ln -rs docs/sphinx{,/rst}
}
build() {
@ -68,45 +66,25 @@ build() {
-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=/opt/cuda/targets/x86_64-linux/ \
-DALICEVISION_BUILD_EXAMPLES=OFF \
-DALICEVISION_USE_CUDA=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 \
-DALICEVISION_USE_ONNX=OFF
-DALICEVISION_USE_ONNX=ON \
-DALICEVISION_USE_USD=OFF \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_C_COMPILER=/usr/bin/gcc-14 \
-DCMAKE_CXX_COMPILER=/usr/bin/g++-14 \
-DCMAKE_CUDA_FLAGS="-dno-lto"
ninja -C build
# cmake \
# -Bbuild-cuda \
# -GNinja \
# -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON \
# -DCMAKE_INSTALL_PREFIX=/usr \
# -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-cuda
}
package_alice-vision() {
@ -123,23 +101,4 @@ package_alice-vision() {
install -Dm755 LICENSE-MIT-libmv.md "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE-MIT-libmv.md
}
package_alice-vision-cuda() {
pkgdesc="Photogrammetric Computer Vision Framework which provides a 3D Reconstruction and Camera Tracking algorithms (with CUDA)"
depends+=('cuda')
conflicts=('alice-vision')
provides=('alice-vision')
cd AliceVision
ninja -C build-cuda doc_doxygen
DESTDIR="${pkgdir}" ninja -C build-cuda install
# Don't search for unofficial coin-or cmake config
sed -e '/CoinUtils/d' -e '/Clp/d' -e '/Osi/d' -i "$pkgdir"/usr/share/aliceVision/cmake/AliceVisionConfig.cmake
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:

146
fix-build.patch Normal file
View file

@ -0,0 +1,146 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index dfa00ff0b..720af36aa 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -333,7 +333,7 @@ endif()
# ==============================================================================
# OpenImageIO
# ==============================================================================
-find_package(OpenImageIO 2.0.9 REQUIRED)
+find_package(OpenImageIO REQUIRED)
if (OPENIMAGEIO_FOUND OR OpenImageIO_FOUND)
message(STATUS "OpenImageIO found.")
else()
@@ -448,7 +448,9 @@ endif()
# Flann
# ==============================================================================
if (ALICEVISION_BUILD_SFM)
- find_package(lz4 REQUIRED)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(lz4 REQUIRED IMPORTED_TARGET liblz4)
+ add_library(lz4::lz4 ALIAS PkgConfig::lz4)
find_package(flann REQUIRED)
if (TARGET lz4::lz4)
@@ -618,7 +620,7 @@ endif()
# - optional, only external and enabled only if ALICEVISION_USE_UNCERTAINTYTE is ON
# ==============================================================================
set(ALICEVISION_HAVE_UNCERTAINTYTE 0)
-
+find_package(UncertaintyTE)
if (ALICEVISION_BUILD_SFM)
if (NOT ALICEVISION_USE_UNCERTAINTYTE STREQUAL "OFF")
find_package(UncertaintyTE)
@@ -876,6 +878,7 @@ set(ALICEVISION_INCLUDE_DIRS
${COINUTILS_INCLUDE_DIRS}
${CLP_INCLUDE_DIRS}
${OSI_INCLUDE_DIRS}
+ ${Python3_INCLUDE_DIRS}
)
include_directories(${ALICEVISION_INCLUDE_DIRS})
@@ -912,7 +915,7 @@ else()
set(SPHINX_HTML_DIR "${CMAKE_CURRENT_BINARY_DIR}/htmlDoc")
configure_file(
- "${CMAKE_CURRENT_SOURCE_DIR}/../docs/sphinx/rst/conf.py"
+ "${CMAKE_CURRENT_SOURCE_DIR}/../docs/sphinx/conf.py"
"${CMAKE_CURRENT_BINARY_DIR}/conf.py"
@ONLY
)
@@ -920,7 +923,7 @@ else()
add_custom_target(doc ALL
${SPHINX_EXECUTABLE}
-b html
- "${CMAKE_CURRENT_SOURCE_DIR}/../docs/sphinx/rst"
+ "${CMAKE_CURRENT_SOURCE_DIR}/../docs/sphinx/"
"${SPHINX_HTML_DIR}"
COMMENT "Building HTML documentation with Sphinx"
)
diff --git a/src/aliceVision/image/io.cpp b/src/aliceVision/image/io.cpp
index f335ae457..5682a303c 100644
--- a/src/aliceVision/image/io.cpp
+++ b/src/aliceVision/image/io.cpp
@@ -1284,7 +1284,7 @@ void readImage(const std::string& path, Image<RGBColor>& image, const ImageReadO
void logOIIOImageCacheInfo()
{
- oiio::ImageCache* cache = oiio::ImageCache::create(true);
+ oiio::ImageCache* cache = oiio::ImageCache::create(true).get();
int maxOpenFiles = -1;
cache->getattribute("max_open_files", maxOpenFiles);
diff --git a/src/cmake/FindUncertaintyTE.cmake b/src/cmake/FindUncertaintyTE.cmake
index bcd4d6bfe..a1fa2b58f 100644
--- a/src/cmake/FindUncertaintyTE.cmake
+++ b/src/cmake/FindUncertaintyTE.cmake
@@ -52,7 +52,7 @@ ELSE(UNCERTAINTYTE_INCLUDE_DIR)
ENDIF(UNCERTAINTYTE_INCLUDE_DIR)
-GET_FILENAME_COMPONENT(UNCERTAINTYTE_LIBRARY_DIR "${UNCERTAINTYTE_LIBRARY}" PATH)
+cmake_path(GET UNCERTAINTYTE_LIBRARY ROOT_PATH UNCERTAINTYTE_LIBRARY_DIR)
if(UNCERTAINTYTE_INCLUDE_DIR)
message(STATUS "UncertaintyTE include directory: ${UNCERTAINTYTE_INCLUDE_DIR}")
diff --git a/src/software/pipeline/main_panoramaInit.cpp b/src/software/pipeline/main_panoramaInit.cpp
index ae02b385d..4ae7d75b5 100644
--- a/src/software/pipeline/main_panoramaInit.cpp
+++ b/src/software/pipeline/main_panoramaInit.cpp
@@ -91,7 +91,7 @@ class PyramidFloat
oiio::ImageBuf buf_src(spec_src, const_cast<float*>(_levels[level - 1].data()));
oiio::ImageBuf buf_dst(spec_dst, const_cast<float*>(_levels[level].data()));
- oiio::ImageBufAlgo::resize(buf_dst, buf_src, "gaussian");
+ oiio::ImageBufAlgo::resize(buf_dst, buf_src, {{"filtername", "gaussian"}});
}
return true;
diff --git a/src/software/utils/main_computeUncertainty.cpp b/src/software/utils/main_computeUncertainty.cpp
index 7949913fb..955d994f1 100644
--- a/src/software/utils/main_computeUncertainty.cpp
+++ b/src/software/utils/main_computeUncertainty.cpp
@@ -41,7 +41,8 @@ int aliceVision_main(int argc, char** argv)
bool debug = false;
// clang-format off
- params.add_options()
+ po::options_description requiredParams("Required parameters");
+ requiredParams.add_options()
("input,i", po::value<std::string>(&sfmDataFilename)->required(),
"SfMData file to align.")
("output,o", po::value<std::string>(&outSfMDataFilename)->required(),
@@ -51,13 +52,11 @@ int aliceVision_main(int argc, char** argv)
("algorithm,a", po::value<std::string>(&algorithm)->default_value(algorithm),
"Algorithm.")
("debug,d", po::value<bool>(&debug)->default_value(debug),
- "Enable creation of debug files in the current folder.")
- ("verboseLevel,v", po::value<std::string>(&verboseLevel)->default_value(verboseLevel),
- "Verbosity level (fatal, error, warning, info, debug, trace).");
+ "Enable creation of debug files in the current folder.");
// clang-format on
CmdLine cmdline("AliceVision computeUncertainty");
- cmdline.add(params);
+ cmdline.add(requiredParams);
if (!cmdline.execute(argc, argv))
{
return EXIT_FAILURE;
@@ -71,7 +70,7 @@ int aliceVision_main(int argc, char** argv)
// Load input scene
SfMData sfmData;
- if (!Load(sfmData, sfmDataFilename, ESfMData(ALL)))
+ if (!load(sfmData, sfmDataFilename, ESfMData(ALL)))
{
std::cerr << std::endl << "The input SfMData file \"" << sfmDataFilename << "\" cannot be read." << std::endl;
return EXIT_FAILURE;
@@ -148,7 +147,7 @@ int aliceVision_main(int argc, char** argv)
std::cout << "Save into \"" << outSfMDataFilename << "\"" << std::endl;
// Export the SfMData scene in the expected format
- if (!Save(sfmData, outSfMDataFilename, ESfMData(ALL)))
+ if (!save(sfmData, outSfMDataFilename, ESfMData(ALL)))
{
std::cerr << std::endl << "An error occurred while trying to save \"" << outSfMDataFilename << "\"." << std::endl;
return EXIT_FAILURE;

View file

@ -1,29 +0,0 @@
diff --git a/src/software/utils/main_computeUncertainty.cpp b/src/software/utils/main_computeUncertainty.cpp
index 23d2ab9ee..5bba4d7b2 100644
--- a/src/software/utils/main_computeUncertainty.cpp
+++ b/src/software/utils/main_computeUncertainty.cpp
@@ -41,7 +41,8 @@ int aliceVision_main(int argc, char **argv)
std::string algorithm = cov::EAlgorithm_enumToString(cov::eAlgorithmSvdTaylorExpansion);
bool debug = false;
- params.add_options()
+ po::options_description requiredParams("Required parameters");
+ requiredParams.add_options()
("input,i", po::value<std::string>(&sfmDataFilename)->required(),
"SfMData file to align.")
("output,o", po::value<std::string>(&outSfMDataFilename)->required(),
@@ -51,12 +52,10 @@ int aliceVision_main(int argc, char **argv)
("algorithm,a", po::value<std::string>(&algorithm)->default_value(algorithm),
"Algorithm.")
("debug,d", po::value<bool>(&debug)->default_value(debug),
- "Enable creation of debug files in the current folder.")
- ("verboseLevel,v", po::value<std::string>(&verboseLevel)->default_value(verboseLevel),
- "verbosity level (fatal, error, warning, info, debug, trace).");
+ "Enable creation of debug files in the current folder.");
CmdLine cmdline("AliceVision computeUncertainty");
- cmdline.add(params);
+ cmdline.add(requiredParams);
if (!cmdline.execute(argc, argv))
{
return EXIT_FAILURE;