[Buildroot] [PATCH v8 1/1] squeezelite: new package

Jörg Krause joerg.krause at embedded.rocks
Tue Sep 22 08:02:05 UTC 2015


Dear Hiroshi Kawashima,

many thanks for working on this! Please see my comments below...

On Di, 2015-09-22 at 12:02 +0900, kei-k at ca2.so-net.ne.jp wrote:
> Signed-off-by: Hiroshi Kawashima <kei-k at ca2.so-net.ne.jp>
> ---
>  package/Config.in                  |    1 +
>  package/squeezelite/Config.in      |   26 ++++++++++++++++++++++++++
>  package/squeezelite/squeezelite.mk |   27
> +++++++++++++++++++++++++++
>  3 files changed, 54 insertions(+), 0 deletions(-)
>  create mode 100644 package/squeezelite/Config.in
>  create mode 100644 package/squeezelite/squeezelite.mk
> 
> diff --git a/package/Config.in b/package/Config.in
> index 5158371..2a47420 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -33,6 +33,7 @@ menu "Audio and video applications"
>  	source "package/opus-tools/Config.in"
>  	source "package/pulseaudio/Config.in"
>  	source "package/sox/Config.in"
> +	source "package/squeezelite/Config.in"
>  	source "package/tidsp-binaries/Config.in"
>  	source "package/tovid/Config.in"
>  	source "package/tstools/Config.in"
> diff --git a/package/squeezelite/Config.in
> b/package/squeezelite/Config.in
> new file mode 100644
> index 0000000..65dfff3
> --- /dev/null
> +++ b/package/squeezelite/Config.in
> @@ -0,0 +1,26 @@
> +config BR2_PACKAGE_SQUEEZELITE
> +	bool "squeezelite"
> +	depends on BR2_USE_WCHAR # flac
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
> +	depends on BR2_USE_MMU # mpg123
> +	select BR2_PACKAGE_ALSA_LIB
> +	select BR2_PACKAGE_FLAC
> +	select BR2_PACKAGE_LIBMAD
> +	select BR2_PACKAGE_LIBVORBIS
> +	select BR2_PACKAGE_FAAD2
> +	select BR2_PACKAGE_MPG123
> +	select BR2_PACKAGE_LIBSOXR

Not needed here. See the next comment.

> +	help
> +	  Logitech Media Server client
> +	  https://code.google.com/p/squeezelite/
> +
> +config BR2_PACKAGE_SQUEEZELITE_RESAMPLE
> +	bool "Enable resampling function"
> +	default y
> +	depends on BR2_PACKAGE_SQUEEZELITE
> +	help
> +	  Enable resampling function

This should be:

if BR2_PACKAGE_SQUEEZELITE

config BR2_PACKAGE_SQUEEZELITE_RESAMPLE
	bool "Enable resampling function"
	select BR2_PACKAGE_LIBSOXR
	[..]

endif

Not sure if we need to enable it by default.

> +comment "squeezelite needs a toolchain w/ wchar, threads"
> +	depends on BR2_USE_MMU
> +	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
> diff --git a/package/squeezelite/squeezelite.mk
> b/package/squeezelite/squeezelite.mk
> new file mode 100644
> index 0000000..4ea2715
> --- /dev/null
> +++ b/package/squeezelite/squeezelite.mk
> @@ -0,0 +1,27 @@
> +####################################################################
> ############
> +#
> +# squeezelite
> +#
> +####################################################################
> ############
> +
> +SQUEEZELITE_VERSION = v1.8
> +SQUEEZELITE_SITE = https://code.google.com/p/squeezelite
> +SQUEEZELITE_SITE_METHOD = git
> +SQUEEZELITE_LICENSE = GPLv3
> +SQUEEZELITE_LICENSE_FILE = LICENSE.txt
> +SQUEEZELITE_DEPENDENCIES = alsa-lib flac libmad libvorbis faad2
> mpg123 libsoxr

libsoxr can be removed here. See next comment.

> +ifeq ($(BR2_PACKAGE_SQUEEZELITE_RESAMPLE),y)

SQUEEZELITE_DEPENDENCIES += libsoxr

> +	SQUEEZELITE_MAKE_OPTS += -DRESAMPLE -DRESAMPLE_MP

As Thomas Petazzoni assumed RESAMPLE_MP requires OpenMP support. So we
shouldn't enable it by default. Or don't use it at all.

> +endif

Buildroot usually uses no indention in ifeq (but in define) blocks.

> +
> +define SQUEEZELITE_BUILD_CMDS
> +	$(TARGET_MAKE_ENV) $(MAKE) OPTS="$(SQUEEZELITE_MAKE_OPTS)" \
> +		CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all
> +endef
> +
> +define SQUEEZELITE_INSTALL_TARGET_CMDS
> +	$(INSTALL) -D -m 0755 $(@D)/squeezelite
> $(TARGET_DIR)/usr/bin
> +endef
> +
> +$(eval $(generic-package))

Why do you add only a choice for the resampler option? The Makefile
shows that you can also opt-in DSD support, FFmpeg (for WMA and ALAC
support), Visualizer support and LIRC remote control support.

Best regards
Jörg Krause



More information about the buildroot mailing list