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

Lib-prefixed to multioutput: ffado #42294

Closed
wants to merge 2 commits into from

Conversation

avnik
Copy link
Contributor

@avnik avnik commented Jun 20, 2018

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 mixer built.

This PR contain finalized ffado rework, factored out of #38494
(because it hard to maintain so long live branch, which cause significant local rebuild)

ffado itself splitted into two derivations: ffado and ffado-mixer (latter contain some qt/dbus based mixer). This was needed to avoid build dependency loop.

See #14693 for problem history and details.

PS. Would be nice, if someone who have actual ffado backed hardware to test

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

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)
@Mic92
Copy link
Member

Mic92 commented Jun 20, 2018

Only shotcut fails to build, but this is currently broken on hydra. cc @woffs

@avnik
Copy link
Contributor Author

avnik commented Jun 20, 2018

Built yesterday on top of 56b867c alongside with other my WIP commits

scons PREFIX=$out PYPKGDIR=$PYDIR UDEVDIR=$out/lib/udev/rules.d install
'' + stdenv.lib.optionalString (optPyqt4 != null && optPythonDBus != null) ''
installPhase = ''
scons ${SCONS_OPTIONS} ${if mixerOnly then "${BINDIR} ${PYDIR}" else "install"}
Copy link
Member

Choose a reason for hiding this comment

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

You don't have to do this here, but eventually I want to get scons to have setup hook that defines these phases (like is done with cmake, ninja, etc...).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

IDK other legal way to bypass library build, when we build only mixer. scons $out/lib/python $out/bin force installing only needed stuff.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@matthewbauer what can I do, to get this one PR merged? Is a deepest rebuild trigger in my WIP tree at the moment. (probably we can even drop mixer temporary, and make separate package for it, if anyone need it really)

@matthewbauer
Copy link
Member

Sorry for the lateness. Merged in 78cabc3.

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

4 participants