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

ffado: Remove Qt dependency #306407

Merged
merged 3 commits into from
Jul 6, 2024
Merged

ffado: Remove Qt dependency #306407

merged 3 commits into from
Jul 6, 2024

Conversation

jtojnar
Copy link
Member

@jtojnar jtojnar commented Apr 23, 2024

Description of changes

This slims up pipewire build closure.

The full package is available as ffado-mixer.

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.

@SuperSandro2000
Copy link
Member

The new nixfmt is making reviewing this commit by commit actually hard...

@jtojnar
Copy link
Member Author

jtojnar commented Apr 23, 2024

Hiding whitespace changes (or using difftastic) will help.

Copy link
Member

@SuperSandro2000 SuperSandro2000 left a comment

Choose a reason for hiding this comment

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

The approach looks reasonable to me and the mixer is probably not required to be there for pipewire but I can't properly review the changes on mobile with the formatting changes all in between...

Hiding whitespace changes (or using difftastic) will help.

That's not possible in the mobile app 🙃


prefixKey = "PREFIX=";
sconsFlags = [
"DEBUG=False"
"ENABLE_ALL=True"
"BUILD_TESTS=True"
"WILL_DEAL_WITH_XDG_MYSELF=True"
"BUILD_MIXER=True"
"BUILD_MIXER=${if withMixer then "True" else "False"}"
Copy link
Member Author

Choose a reason for hiding this comment

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

Ideally, we would only build the mixer in the mixer package but it is not easy to prevent libffado from building.

And the mixer will try to launch ffado-dbus-server so we would need to be able to specify path to it from the libffado prefix.

@uninsane
Copy link
Contributor

i've confirmed on my end that pipewire works fine without the mixer using a similar, but not identical patch. the changes here look reasonable, and once this lands i'll rebase what i've got there to make ffado cross compile. then with Mindavi's appstream cross PR i think we'll have the whole suite of basic wrapGAppsHook4 packages cross compiling out-of-the-box :)

nitpick: since it includes all of the base ffado, should it be named ffado-with-mixer instead of ffado-mixer?

@jtojnar jtojnar marked this pull request as draft April 28, 2024 00:16
@jtojnar
Copy link
Member Author

jtojnar commented Apr 28, 2024

Will probably wait for 2.4.9, which will include all the patches used.

@avnik
Copy link
Contributor

avnik commented May 31, 2024

Any chances we merge it? Curiously, we have gtk3/4 depends on qt* via pipewire and ffado. Would be nice to cut this

@nixos-discourse
Copy link

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

https://discourse.nixos.org/t/i-cant-update-nixos-anymore-because-of-webkitgtk-manual-compilation/36661/21

@Mic92
Copy link
Member

Mic92 commented Jun 11, 2024

Doesn't look good for ffado's upstream development. Their subversion is down: http://subversion.ffado.org/
Do we still want to wait?

@Mic92
Copy link
Member

Mic92 commented Jun 11, 2024

I cherry-picked the first two commits into its own pull request: #318999

@Mic92
Copy link
Member

Mic92 commented Jun 11, 2024

@K900 you added ffado support to pipewire in the first place to nixpkgs presumably because of https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/3c44634dd80975f13def3c09a1f05aaf9ad08110
But do we actually need this feature? Have we any confirmed firewire audio user?

@K900
Copy link
Contributor

K900 commented Jun 11, 2024

There are definitely users, but Pipewire only requires the library, so moving the mixer to another package is good IMO.

@Mic92
Copy link
Member

Mic92 commented Jun 11, 2024

There are definitely users, but Pipewire only requires the library, so moving the mixer to another package is good IMO.

Ok. Can you than point me to one that would also test changes on real hardware? Otherwise I cannot be sure that I am not breaking anything.

@K900
Copy link
Contributor

K900 commented Jun 11, 2024

Not off the top of my head, sorry :( I think if Pipewire builds, it should be fine.

@jtojnar
Copy link
Member Author

jtojnar commented Jun 11, 2024

Doesn't look good for ffado's upstream development. Their subversion is down: http://subversion.ffado.org

I reported it to upstream a while ago and I vaguely remember upstream acknowledging that but cannot find the reply.

New patches are still being accepted over the mailing list just fine.

Do we still want to wait?

I do not think there is any hurry, the metainfo is not really used by anything so waiting for 2.4.9 should be fine.

The only critical thing is https://ffado.org/posts/ffado-2.4.8-tarball_fix/ 🙀 I still need to write an e-mail telling upstream off.

Though, I just noticed the hash update was reverted so it is probably still broken: #317396

@jtojnar jtojnar marked this pull request as ready for review June 30, 2024 15:55
@ofborg ofborg bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Jun 30, 2024
]
++ lib.optionals withMixer [
python
python3.pkgs.pyqt5
Copy link
Contributor

Choose a reason for hiding this comment

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

Is it actually necessary here and not just in withPackages?

Copy link
Member Author

Choose a reason for hiding this comment

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

Looks like I added it in 8b1816e. I believe this is for pyuic5 program but not sure.

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.

LGTM other than one small nit

@ofborg ofborg bot removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Jun 30, 2024
Copy link
Member

@SuperSandro2000 SuperSandro2000 left a comment

Choose a reason for hiding this comment

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

Didn't test but lgtm

This slims up `pipewire` closure.

The full package is available as `ffado-mixer`.
];
nativeBuildInputs =
[
(scons.override { python3Packages = python311.pkgs; })
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we still need the scons pin?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, the SConstruct still pulls in import distutils.sysconfig, which was removed in Python 3.12.

Copy link
Contributor

Choose a reason for hiding this comment

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

Cool. Can you add a comment for that so whoever updates this next knows to remove it?

@K900 K900 merged commit 3e1d44b into NixOS:staging Jul 6, 2024
8 of 9 checks passed
@jtojnar jtojnar deleted the ffado-noqt branch July 6, 2024 19:26
uninsane added a commit to uninsane/nixpkgs that referenced this pull request Aug 12, 2024
it was removed from the package in the
[2.4.8 -> 2.4.9 upgrade](NixOS#306407)
but never removed from git.
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.

7 participants