Skip to content

alice-vision: init at 3.0.0, add 3.1.0 - #256115

Draft
zeuner wants to merge 1 commit into
NixOS:masterfrom
zeuner:alice-vision
Draft

alice-vision: init at 3.0.0, add 3.1.0#256115
zeuner wants to merge 1 commit into
NixOS:masterfrom
zeuner:alice-vision

Conversation

@zeuner

@zeuner zeuner commented Sep 19, 2023

Copy link
Copy Markdown
Contributor

Description of changes

Opening this since #224262 appears to be stale. @hesiod left off at a very promising state where a build was already configured to work without pulling in submodules. I moved forward up to the point where the package has working (usable for doing actual 3D meshing) binaries and added a package for the more experimental release upstream made in the meantime.

I would consider the packages as a valuable addition since they would move us a significant step forward in achieving #216403

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@zeuner

zeuner commented Sep 19, 2023

Copy link
Copy Markdown
Contributor Author

@AndersonTorres I had to touch your nanoflann package since alice-vision requires an older version to compile. You might want to review whether you are fine with the changes.

@ofborg ofborg Bot added 2.status: merge conflict This PR has merge conflicts with the target branch 8.has: package (new) This PR adds a new package and removed 2.status: merge conflict This PR has merge conflicts with the target branch labels Sep 19, 2023
@ofborg
ofborg Bot requested review from AndersonTorres and hesiod September 19, 2023 14:42
@ofborg ofborg Bot added 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. labels Sep 19, 2023
Comment thread pkgs/development/libraries/nanoflann/generic-cmake.nix Outdated
@ofborg ofborg Bot added the 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. label Sep 20, 2023
Comment thread pkgs/development/libraries/alice-vision/3.0.0.nix
Comment thread pkgs/development/libraries/alice-vision/3.0.0.nix

cmakeFlags =
let
cmakeOption = name: enabled: "-D${name}:BOOL=" + (if enabled then "ON" else "OFF");

@AndersonTorres AndersonTorres Sep 20, 2023

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the :BOOL needed?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the :BOOL omitted, some of the CMake cache entries are created as strings instead of booleans. Not sure whether it can make a practical difference, though. The build configuration doesn't change here.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is because I am writing a helper function for CMake:

#256418

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For a generic helper function, I would always mandate for setting more exact typing data if it's possible. This way, maintainers could possibly get higher quality metadata for CMake without extra effort, while getting to that point might beconsidered as too tedious at a single package scope.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have found only one place where those "data types" are defined:

https://cmake.org/cmake/help/latest/command/set.html

It looks too gui-driven, and also too dependent on the upstream - what if this variables are truly strings that happen to act like booleans?

Nonetheless, it should be easy to adjust.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Too off-topic. Solving this.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any blockers left?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not on my part.

@SomeoneSerge SomeoneSerge Jun 7, 2024

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ez, lib.cmakeBool name value

EDIT: Oh, I see, they rolled their own custom stuff that doesn't allow TRUE/FALSE...

@zeuner

zeuner commented Oct 4, 2023

Copy link
Copy Markdown
Contributor Author

Investigating the failing tests it turned out they happened due to a binary incompatibility with cctag. They are now fixed by disabling libEigen alignments when cctag support is enabled. In order to always use alignment, #258950 would have to be fixed.

At this point, from what I perceive this package is on-par with the monolithic build (8411621).

@zeuner zeuner mentioned this pull request Jan 21, 2024
12 tasks
@zeuner
zeuner force-pushed the alice-vision branch 2 times, most recently from 003634e to 1ef48fe Compare January 31, 2024 20:29
@ofborg ofborg Bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. and removed 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. labels Jan 31, 2024
@infinisil

Copy link
Copy Markdown
Member

The pkgs/by-name check failure can be safely ignored, it's a problem with the check that's to be fixed with #285089

@infinisil

Copy link
Copy Markdown
Member

The above PR is now merged and used in CI, so it won't fail anymore the next time you push :)

@infinisil

Copy link
Copy Markdown
Member

Although I don't think it's great how the expression is effectively duplicated between the two versions. See #285922 (comment) for my recommendation for multiple package versions.

@zeuner

zeuner commented Feb 15, 2024

Copy link
Copy Markdown
Contributor Author

The above PR is now merged and used in CI, so it won't fail anymore the next time you push :)

Thanks for your work! I need to retrigger CI anyway due to #284145

@zeuner

zeuner commented Feb 15, 2024

Copy link
Copy Markdown
Contributor Author

Although I don't think it's great how the expression is effectively duplicated between the two versions.

Fully agree. When I started where #224262 left off, I wanted to keep the changes to 3.0.0 minimal considering that this was the code @hesiod initially agreed to maintain. A few months having passed without a reaction, I'm not even sure whether this is still the case. So I'll refactor as I think it will fit.

I still find it useful to have multiple versions since there seem to be 3D reconstruction pipelines that perform worse on newer versions (see alicevision/AliceVision#1501).


alice-vision_3_0_0 = pkgs.alice-vision.overrideAttrs (old: rec {
version = "3.0.0";
src = old.src // {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
src = old.src // {
src = old.src.override {

@pbsds

pbsds commented Feb 16, 2024

Copy link
Copy Markdown
Member

consider marking broken on darwin

@pbsds

pbsds commented Feb 16, 2024

Copy link
Copy Markdown
Member

It also seems the nanoflann override needs more work, as it fails to build when merged with master

@bouk

bouk commented Feb 23, 2024

Copy link
Copy Markdown
Member

FYI there's a fix for the darwin failure in staging: #287255

So I think it's fine to merge with the broken Darwin build

@pbsds

pbsds commented Feb 25, 2024

Copy link
Copy Markdown
Member

#256115 (comment) is still blocking

nix-repl> alice-vision_3_0_0.src    
«derivation /nix/store/icpw6kvspi5ws2rksv2dswkwwwgvngbz-source.drv»

nix-repl> alice-vision.src       
«derivation /nix/store/icpw6kvspi5ws2rksv2dswkwwwgvngbz-source.drv»

@SomeoneSerge

Copy link
Copy Markdown
Contributor

In addition to the nanoflann failure, I'm seeing this:

alice-vision> /nix/store/bgcaxhhxswzvmxjbbgvvaximm5hwghz1-binutils-2.41/bin/ld: warning: libboost_thread.so.1.81.0, needed by /nix/store/2viiyhdypfw0v0ygxk0vvgyzyq0fad76-openimageio-2.5.5.0/lib/libOpenImageIO.so.2
.5.5, may conflict with libboost_thread.so.1.79.0

@luzpaz

luzpaz commented Dec 15, 2024

Copy link
Copy Markdown
Contributor

soft bump

@wegank wegank added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jan 2, 2025
@stale stale Bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jan 5, 2025
@FliegendeWurst
FliegendeWurst marked this pull request as draft March 10, 2025 08:47
@nixpkgs-ci nixpkgs-ci Bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 25, 2025
@nixos-discourse

Copy link
Copy Markdown

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-ready-for-review/3032/5797

@nixpkgs-ci nixpkgs-ci Bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Aug 25, 2025
@hoh

hoh commented Aug 25, 2025

Copy link
Copy Markdown
Member

The latest release is 3.3.0, published last week: https://github.com/alicevision/AliceVision/releases/tag/v3.3.0

@YoshiRulz YoshiRulz mentioned this pull request Dec 2, 2025
@nixpkgs-ci nixpkgs-ci Bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Jan 16, 2026
@nixpkgs-ci nixpkgs-ci Bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Feb 24, 2026
@hesiod hesiod mentioned this pull request Mar 5, 2026
15 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: merge conflict This PR has merge conflicts with the target branch 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.