python3Packages.opensfm: cleanup
This commit is contained in:
@@ -3,52 +3,64 @@
|
||||
stdenv,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
runCommand,
|
||||
srcOnly,
|
||||
bashNonInteractive,
|
||||
cmake,
|
||||
ceres-solver,
|
||||
suitesparse,
|
||||
metis,
|
||||
eigen,
|
||||
|
||||
# build-system
|
||||
ninja,
|
||||
scikit-build-core,
|
||||
setuptools,
|
||||
pkg-config,
|
||||
pybind11,
|
||||
numpy,
|
||||
pyyaml,
|
||||
flask,
|
||||
fpdf2,
|
||||
opencv-python,
|
||||
lapack,
|
||||
gtest,
|
||||
|
||||
# nativeBuildInputs
|
||||
cmake,
|
||||
|
||||
# buildInputs
|
||||
bashNonInteractive,
|
||||
ceres-solver,
|
||||
eigen,
|
||||
gflags,
|
||||
glog,
|
||||
pytestCheckHook,
|
||||
networkx,
|
||||
pillow,
|
||||
gtest,
|
||||
lapack,
|
||||
metis,
|
||||
pybind11,
|
||||
suitesparse,
|
||||
|
||||
# dependencies
|
||||
cloudpickle,
|
||||
exifread,
|
||||
flask,
|
||||
fpdf2,
|
||||
joblib,
|
||||
matplotlib,
|
||||
networkx,
|
||||
numpy,
|
||||
opencv-python,
|
||||
pillow,
|
||||
pyproj,
|
||||
python-dateutil,
|
||||
joblib,
|
||||
xmltodict,
|
||||
cloudpickle,
|
||||
pyyaml,
|
||||
scipy,
|
||||
sphinx,
|
||||
matplotlib,
|
||||
scikit-build-core,
|
||||
ninja,
|
||||
xmltodict,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
|
||||
# passthru
|
||||
runCommand,
|
||||
srcOnly,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "opensfm";
|
||||
version = "0.5.1-unstable-2026-05-04";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mapillary";
|
||||
repo = "OpenSfM";
|
||||
rev = "1dc5b95b5c8c4cadd653bdc9f6eb97c0ac1602ba";
|
||||
sha256 = "sha256-K3+H8QSzTxIGAtYDGqOuJFTVaqk+B/R/MDMepJ/bRxY=";
|
||||
hash = "sha256-K3+H8QSzTxIGAtYDGqOuJFTVaqk+B/R/MDMepJ/bRxY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -80,9 +92,9 @@ buildPythonPackage (finalAttrs: {
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
scikit-build-core
|
||||
ninja
|
||||
scikit-build-core
|
||||
setuptools
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -90,34 +102,34 @@ buildPythonPackage (finalAttrs: {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
ceres-solver
|
||||
suitesparse
|
||||
metis
|
||||
eigen
|
||||
lapack
|
||||
gflags
|
||||
gtest
|
||||
glog
|
||||
pybind11
|
||||
bashNonInteractive # for patchShebangs
|
||||
ceres-solver
|
||||
eigen
|
||||
gflags
|
||||
glog
|
||||
gtest
|
||||
lapack
|
||||
metis
|
||||
pybind11
|
||||
suitesparse
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
numpy
|
||||
scipy
|
||||
pyyaml
|
||||
cloudpickle
|
||||
exifread
|
||||
flask
|
||||
fpdf2
|
||||
opencv-python
|
||||
networkx
|
||||
pillow
|
||||
joblib
|
||||
matplotlib
|
||||
exifread
|
||||
networkx
|
||||
numpy
|
||||
opencv-python
|
||||
pillow
|
||||
pyproj
|
||||
python-dateutil
|
||||
joblib
|
||||
pyyaml
|
||||
scipy
|
||||
xmltodict
|
||||
cloudpickle
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
@@ -146,26 +158,32 @@ buildPythonPackage (finalAttrs: {
|
||||
|
||||
pythonImportsCheck = [ "opensfm" ];
|
||||
|
||||
# https://opensfm.org/docs/using.html#quickstart
|
||||
passthru.tests = lib.genAttrs' [ "berlin" "lund" ] (
|
||||
name:
|
||||
lib.nameValuePair "integration-test-${name}" (
|
||||
runCommand "opensfm-integration-test-${name}"
|
||||
{
|
||||
nativeBuildInputs = [ finalAttrs.finalPackage ];
|
||||
}
|
||||
''
|
||||
set -euo pipefail
|
||||
opensfm --help
|
||||
cp -r ${srcOnly finalAttrs.finalPackage}/data/${name} data
|
||||
chmod -R +w data/
|
||||
bash -x $(command -v opensfm_run_all) data/
|
||||
if [[ -s data/camera_models.json && -s data/undistorted/reconstruction.json ]]; then
|
||||
touch $out
|
||||
fi
|
||||
''
|
||||
)
|
||||
);
|
||||
passthru = {
|
||||
# https://opensfm.org/docs/using.html#quickstart
|
||||
tests = lib.genAttrs' [ "berlin" "lund" ] (
|
||||
name:
|
||||
lib.nameValuePair "integration-test-${name}" (
|
||||
runCommand "opensfm-integration-test-${name}"
|
||||
{
|
||||
nativeBuildInputs = [ finalAttrs.finalPackage ];
|
||||
}
|
||||
''
|
||||
set -euo pipefail
|
||||
opensfm --help
|
||||
cp -r ${srcOnly finalAttrs.finalPackage}/data/${name} data
|
||||
chmod -R +w data/
|
||||
bash -x $(command -v opensfm_run_all) data/
|
||||
if [[ -s data/camera_models.json && -s data/undistorted/reconstruction.json ]]; then
|
||||
touch $out
|
||||
fi
|
||||
''
|
||||
)
|
||||
);
|
||||
|
||||
updateScript = nix-update-script {
|
||||
extraArgs = [ "--version=branch" ];
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
|
||||
Reference in New Issue
Block a user