Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libcamera-qcam: init #284964

Merged
merged 2 commits into from
Jan 30, 2024
Merged

libcamera-qcam: init #284964

merged 2 commits into from
Jan 30, 2024

Conversation

flokli
Copy link
Contributor

@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
Contributor 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 added a commit to flokli/nixpkgs that referenced this pull request 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. 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.
@flokli
Copy link
Contributor 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 merged commit 2f02a08 into NixOS:staging Jan 30, 2024
10 of 13 checks passed
@flokli flokli deleted the libcamera-qcam branch January 30, 2024 22:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants