Skip to content

Comments

libcamera-qcam: init#284964

Merged
flokli merged 2 commits intoNixOS:stagingfrom
flokli:libcamera-qcam
Jan 30, 2024
Merged

libcamera-qcam: init#284964
flokli merged 2 commits intoNixOS:stagingfrom
flokli:libcamera-qcam

Conversation

@flokli
Copy link
Member

@flokli flokli commented Jan 30, 2024

libcamera provides a more helpful debugging gui, which however needs qt, so is undesirable in the default case (which is why it was disabled initially).

Introduce a withQcam boolean flag, which will enable building it with qcam, and expose it as a toplevel libcamera-qcam attribute.

This helped debugging the new ipu6 softisp camera stack.

The Qt 6 support patch is already circulating on the upstream mailing list, however it doesn't apply cleanly.
Use the version from
https://copr-dist-git.fedorainfracloud.org/cgit/jwrdegoede/ipu6-softisp/libcamera.git/tree/0001-apps-qcam-Port-to-Qt-6.patch?h=f39 which has been rebased to apply.

Description of changes

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • 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/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 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.

Add a 👍 reaction to pull requests you find important.

Copy link
Contributor

@K900 K900 left a comment

Choose a reason for hiding this comment

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

Overall diff LGTM, maybe we should just ship the Qt5 build for now until upstream catches up though?

@flokli
Copy link
Member Author

flokli commented Jan 30, 2024

Overall diff LGTM, maybe we should just ship the Qt5 build for now until upstream catches up though?

Quoting the patch:

Open source Qt 5 has been effectively end of life since the release of Qt 6, and Qt 6 has current LTS releases now.

I'd rather not introduce another qt5 dependency into nixpkgs ;-)

@K900
Copy link
Contributor

K900 commented Jan 30, 2024

That's not really the case, the KDE people maintain a Qt5 patchset that we track, and it'll be around for a while. I don't really see any issues with Qt5 stuff yet.

@flokli
Copy link
Member Author

flokli commented Jan 30, 2024

Alright, I updated this PR and removed the qt6 patch from the history, PTAL.

I left a pointer in the commit message, in case someone is wondering, even though I'd hope by then upstream switched to qt6 too.

libcamera provides a more helpful debugging gui, which however needs qt,
so is undesirable in the default case (which is why it was disabled
initially).

Introduce a withQcam boolean flag, which will enable building it with
qcam, and expose it as a toplevel libcamera-qcam attribute.

This helped debugging the new ipu6 softisp camera stack.

The Qt 6 support patch is already circulating on the upstream mailing
list, however it doesn't apply cleanly. As discussed in
NixOS#284964, we opted to not ship
that patch, but rather use qt5 for now, as KDE seems to maintain a Qt5
patchset that we track.
The CI check complains about a new attribute introduced that's not using
the by-name pattern, even though it's using the same .nix file.

It seems using callPackage ../by-name/… from toplevel for the
alternative toplevel attribute seems to be others do this, so using the
same pattern here.
@flokli flokli requested a review from K900 January 30, 2024 09:25
@ofborg ofborg bot added the 8.has: package (new) This PR adds a new package label Jan 30, 2024
@ofborg ofborg bot added 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 2501-5000 This PR causes many rebuilds on Linux and should target the staging branches. labels Jan 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: package (new) This PR adds a new package 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 2501-5000 This PR causes many rebuilds on Linux and should target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants