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

Squeezelite updates and refactor #70637

Merged
merged 2 commits into from Feb 12, 2020
Merged

Squeezelite updates and refactor #70637

merged 2 commits into from Feb 12, 2020

Conversation

samdoshi
Copy link
Contributor

@samdoshi samdoshi commented Oct 7, 2019

Motivation for this change

Version change: upstream is using an svn2git setup, and whilst there has never been an official release, version numbers are indicated in squeezelite.h (see ralph-irving/squeezelite#29).

Broken mp3, ogg and aac support: current build doesn't find libraries at runtime (fixed by added -DLINKALL):

Outout from current build:

[15:27:56.936888] load_faad:593 dlerror: libfaad.so.2: cannot open shared object file: No such file or directory
[15:27:56.936924] alsa_open:351 opening device at: 44100
[15:27:56.936956] load_vorbis:289 dlerror: libvorbisidec.so.1: cannot open shared object file: No such file or directory
[15:27:56.936978] load_flac:266 loaded libFLAC.so.8
[15:27:56.936986] register_flac:294 using flac to decode flc
[15:27:56.936991] register_pcm:433 using pcm to decode aif,pcm
[15:27:56.937012] load_mad:366 dlerror: libmad.so.0: cannot open shared object file: No such file or directory
...
[15:27:57.064437] sendHELO:132 cap: Model=squeezelite,AccuratePlayPoints=1,HasDigitalOut=1,HasPolarityInversion=1,Firmware=v1.9.0-1113,ModelName=SqueezeLite,MaxSampleRate=384000,flc,aif,pcm

Added extra codecs, and features:

Added support for DSD, ALAC, WMA and Opus. Added resampling support and SSL.

Output from new build:

[15:29:24.790298] sendHELO:144 cap: CanHTTPS=1,Model=squeezelite,AccuratePlayPoints=1,HasDigitalOut=1,HasPolarityInversion=1,Firmware=v1.9.6-1196,ModelName=SqueezeLite,MaxSampleRate=384000,dsf,dff,alc,wma,wmap,aac,ogg,ops,ogf,flc,aif,pcm,mp3

The downside is that the closure size increases from 30,132,336 to 149,554,504. I could disable ffmpeg support by default (and with it ALAC & WMA) to reduce the size to 44,408,752 which is a much smaller increase.

Added myself as a maintainer.

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 nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc (I know you're not listed as a package maintainer, but pinging @peterhoeg)

@samdoshi
Copy link
Contributor Author

samdoshi commented Oct 7, 2019

Thanks @jonringer for the feedback, I've implemeneted your changes and fixed the issue with meta.license too.

@FRidh
Copy link
Member

FRidh commented Feb 10, 2020

needs rebase

Fix mp3, aac and ogg support, add extra codecs.
@samdoshi
Copy link
Contributor Author

@FRidh I've force pushed a rebase (though in truth all I've done is reinstate my changes).

The difference between this commit and the change that @azazel75 made in #76587, is that I've set the LINKALL flag so that the Makefile does dynamic linking, rather that the default which is dynamic loading of libraries (and thus requires fiddling with the RPATH).

The question is which method is preferable?

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

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

diff LGTM
commits LGTM
executable shows usage

[3 built, 9 copied (2.6 MiB), 0.7 MiB DL]
https://github.com/NixOS/nixpkgs/pull/70637
1 package built:
squeezelite

@jonringer
Copy link
Contributor

@GrahamcOfBorg build squeezelite

@jonringer jonringer merged commit 8bccdc4 into NixOS:master Feb 12, 2020
@samdoshi samdoshi deleted the squeezelite branch April 9, 2020 08:41
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

3 participants