[WIP] Refactor libprefixed packages to multioutput#38494
[WIP] Refactor libprefixed packages to multioutput#38494avnik wants to merge 5 commits intoNixOS:masterfrom
Conversation
We can't say final farewell for it, due ffado-mixer, which give us nice build-loop, so postpone it until I (or someone other) write separate derivation for mixer-only (because is just python script, with dependencies in PyQT/PyDbus)
|
Hi! Thanks for doing this. I opened a similar PR in #39683 but you seem to have gotten further along. A few more that (maybe) can be removed:
|
| optAlsaLib = shouldUsePkg alsaLib; | ||
| # Mixer/tools dependencies | ||
| # FIXME: can we build mixer separately? Then we can farewell `libOnly` mode | ||
| # (otherwise we have perfect loop via qt -> pulseaudio -> jack -> ffado -> qt) |
There was a problem hiding this comment.
We can probably override ffado in jack's callPackage-jack shouldn't need Qt.
There was a problem hiding this comment.
ffado' mixer is actually separate app, which have completely own dependencies (dbus-python and PyQt), so I feel separate expression may be better solution. But would be nice to hear someone who use ffado.
| optPythonDBus = if libOnly then null else shouldUsePkg dbus-python; | ||
| optLibffado = if libOnly then null else shouldUsePkg libffado; | ||
| optAlsaLib = if libOnly then null else shouldUsePkg alsaLib; | ||
| optPythonDBus = shouldUsePkg dbus-python; |
There was a problem hiding this comment.
You can probably get rid of shouldUsePkg. I think they are officially deprecated (just use dbus-python directly).
There was a problem hiding this comment.
It don't used outside of mixer, so if we move mixer to own app, we can drop dbus-python in main ffado.
|
Let me note here (too) that I think that some parts of `libOnly` are useful #39683 (comment) and that the problem, as I see it, is not only that `libOnly` can be implemented with multiple outputs, but that it also is not a use-flag, i.e. derivations that use it are not monoidal #39683 (comment) and monoidal derivations are FTW.
|
|
@oxij libOnly here is definelly not use-flag. Other question to all -- I had intention to split |
|
Some work, which already done kicked to own PRs, just updated this issue to keep progress tracking (still use it as WIP branch) |
|
What is the status of this pull request? |
|
@mmahut |
|
Thank you for your contributions.
|
|
Actually only pulseaudio refactoring pending, so I can close it |
Motivation for this change
Say "farewell" to long-lived ad-hoc hack, when we had two derivations for one package -- one for library-only version, second one with server/utils built.
See #14693 for problem history and details.
Done (Minimum to be done)
ffado-mixermoved to own derivation, and included in PR above)Not sure about this two, my expertise can be not enough. If I fail to refactor them, I'll create separate issues
At least volunters for testing would be needed, I haven't any ffado compatible hardware, and can test stuff only for "just executed and shows version". Also I can't check darwin build myself.
I am sure, that is a mass-rebuild, so eventually this PR will be altered to be against staging. One of reasons, why I open PR early -- is prevend duplications of work, and use
ofborgto look how much stuff affected.Things done
build-use-sandboxinnix.confon non-NixOS)nix-shell -p nox --run "nox-review wip"./result/bin/)