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
sndio init and add support #59652
sndio init and add support #59652
Conversation
mpd maintainers@astsmtl @Fuuzetsu @ehmry @fpletz: Since the mpd package seems to have a "turn on all the features" philosophy, I just followed that and turned on sndio by default as well. I can obviously change that, if you disagree with that. mpv maintainers@AndersonTorres @Fuuzetsu @fpletz: Unlike mpd, mpv seems more conservative in what is on by default, so I choose to leave sndioSupport false, by default. cmus maintainer@oxij: You had this as a TODO, from when you rewrote this at the end of 2015. It's here now! :D |
+let
+ pulsecore = runCommand "pulseaudio-sources" {} ''
+ tar -xf ${pulseaudio.src}
+ mv pulseaudio*/src/pulsecore $out
+ '';
+in
+ stdenv.mkDerivation rec {
+ pname = "pulseaudio-module-sndio";
Bad indent. I would do
+in stdenv.mkDerivation rec {
Also
- description = "A small audio and MIDI framework, originally part of the OpenBSD project.";
+ description = "A small sound server and an audio and MIDI framework, originally part of the OpenBSD project.";
In general, it would be nice to split this into sndiod, libsndio and tools (aucat and etc).
In which case I would vote for enabling libsndio support in all packages by default, as it is tiny (73Kb, which is smaller than even libcardiacarrest at 87Kb, because libpulse has such a huge number of symbols that just stubbing them out takes 87Kb) and nixpkgs has libpulseaudio with its megabites of closure size enabled by default anyway.
If you are feeling lazy, then please at least make `libsndio` an alias to `sndio` and refer as `libsndio` in other packages, I'll split `sndio` into pieces when I have time.
|
I split it into "bin" and "dev" and assigned libsndio = sndio.dev, does that work for you? |
Please apply the following, else the contents of the outputs is incorrect.
```diff
diff --git a/pkgs/servers/sndio/default.nix b/pkgs/servers/sndio/default.nix
index aaaaaaaaaaa..bbbbbbbbbbb 100644
--- a/pkgs/servers/sndio/default.nix
+++ b/pkgs/servers/sndio/default.nix
@@ -11,11 +11,17 @@ stdenv.mkDerivation rec {
buildInputs = [ alsaLib ];
- outputs = [ "bin" "dev" "out" ];
+ outputs = [ "out" "dev" "man" ];
setOutputFlags = false;
+ postInstall = ''
+ moveToOutput lib $dev
+ moveToOutput include $dev
+ moveToOutput share/man $man
+ '';
+
meta = with stdenv.lib; {
- description = "A small sound server and an audio and MIDI framework, originally part of the OpenBSD project.";
+ description = "A small sound server and an audio and MIDI framework, originally part of the OpenBSD project";
homepage = http://www.sndio.org/;
license = licenses.isc;
maintainers = with maintainers; [ ajs124 ];
```
|
sndio was init'ed by #61742, but didn't add support to any applications. The version in there is also quite out of date. |
Motivation for this change
I was setting up a distributed audio setup and was evaluating sndio as one of the options. While I did not end up using it, it seems like a really handy tool.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Todo
Add a module. Add tests.