Skip to content

qtmultimedia: restrict libpulseaudio to linux#169336

Merged
vcunat merged 1 commit intoNixOS:masterfrom
thefloweringash:qtmultimedia-no-pulse
Apr 20, 2022
Merged

qtmultimedia: restrict libpulseaudio to linux#169336
vcunat merged 1 commit intoNixOS:masterfrom
thefloweringash:qtmultimedia-no-pulse

Conversation

@thefloweringash
Copy link
Member

@thefloweringash thefloweringash commented Apr 19, 2022

libpulseaudio doesn't currently build on darwin after a recent
upgrade (#160097). When looking closely at the darwin build, it
appeared that it wasn't being used at all.

❯ nix log $(nix-build --no-out-link  channel:nixpkgs-unstable --argstr system x86_64-darwin -A qt512.qtmultimedia) | grep PulseAudio
Checking for PulseAudio >= 0.9.10... no
  PulseAudio ............................. no

❯ nix log $(nix-build --no-out-link  channel:nixpkgs-unstable --argstr system x86_64-darwin -A qt514.qtmultimedia) | grep PulseAudio
Checking for PulseAudio >= 0.9.10... no
  PulseAudio ............................. no

❯ nix log $(nix-build --no-out-link  channel:nixpkgs-unstable --argstr system x86_64-darwin -A qt515.qtmultimedia) | grep PulseAudio
Checking for PulseAudio >= 0.9.10... no
  PulseAudio ............................. no
Description of changes

So far as I can tell, the requirement for pulseaudio support in qtmultimedia is the pkg-config expression libpulse >= 0.9.10 libpulse-mainloop-glib, which requires pulseaudio to be configured with glib on darwin. Once libpulseaudio is working again, it's a fairly straightforward change to make. I don't know if there are wider consequences to using glib though.

I must confess I'm tying to keep nixpkgs-unstable unblocked more than I'm trying to fix pulseaudio.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin (via rosetta)
    • 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/)
  • 22.05 Release Notes (or backporting 21.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
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@github-actions github-actions bot added the 6.topic: qt/kde Object-oriented framework for GUI creation label Apr 19, 2022
@thefloweringash
Copy link
Member Author

thefloweringash commented Apr 19, 2022

I did spend a bit of time making libpulseaudio build on darwin. The results are on a branch: https://github.com/NixOS/nixpkgs/compare/master...thefloweringash:libpulseaudio-darwin?expand=1

I haven't done the work required to make sure these changes are sound or send them upstream, but hopefully they're a useful starting point for someone interested in making libpulseaudio build on darwin.

@ofborg ofborg bot added 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 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: 501-1000 This PR causes many rebuilds on Linux and should normally target the staging branches. labels Apr 19, 2022
@ofborg ofborg bot added 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. and removed 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 501-1000 This PR causes many rebuilds on Linux and should normally target the staging branches. labels Apr 19, 2022
libpulseaudio doesn't currently build on darwin after a recent
upgrade (NixOS#160097). When looking closely at the darwin build, it
appeared that it wasn't being used at all.

❯ nix log $(nix-build --no-out-link  channel:nixpkgs-unstable --argstr system x86_64-darwin -A qt512.qtmultimedia) | grep PulseAudio
Checking for PulseAudio >= 0.9.10... no
  PulseAudio ............................. no

❯ nix log $(nix-build --no-out-link  channel:nixpkgs-unstable --argstr system x86_64-darwin -A qt514.qtmultimedia) | grep PulseAudio
Checking for PulseAudio >= 0.9.10... no
  PulseAudio ............................. no

❯ nix log $(nix-build --no-out-link  channel:nixpkgs-unstable --argstr system x86_64-darwin -A qt515.qtmultimedia) | grep PulseAudio
Checking for PulseAudio >= 0.9.10... no
  PulseAudio ............................. no
@Artturin Artturin force-pushed the qtmultimedia-no-pulse branch from 5fe6118 to 85020dc Compare April 19, 2022 21:03
@zowoq zowoq added the 1.severity: channel blocker Blocks a channel label Apr 19, 2022
@vcunat vcunat merged commit 0bbb656 into NixOS:master Apr 20, 2022
@thefloweringash thefloweringash deleted the qtmultimedia-no-pulse branch April 20, 2022 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.severity: channel blocker Blocks a channel 6.topic: qt/kde Object-oriented framework for GUI creation 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants