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

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Mon Sep 28 21:03:37 UTC 2015


Hello,

On Mon, 28 Sep 2015 21:46:54 +0900, kei-k at ca2.so-net.ne.jp wrote:
> Dear, all.
> 
> Please review attached patch.
> 
> I've fixed SQUEEZELITE_BUILD_CMDS issue.
> I hope this will be the final version, and be pulled up.

Unfortunately you are still not following the good comments from
Vicente. Your commit log should *not* contain any "personal" messages.
All "personal" messages should go below the "---" sign.

> diff --git a/package/squeezelite/Config.in b/package/squeezelite/Config.in
> new file mode 100644
> index 0000000..b4af3c8
> --- /dev/null
> +++ b/package/squeezelite/Config.in
> @@ -0,0 +1,46 @@
> +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
> +	help
> +	  Logitech Media Server client
> +
> +	  https://code.google.com/p/squeezelite/
> +
> +if BR2_PACKAGE_SQUEEZELITE
> +
> +config BR2_PACKAGE_SQUEEZELITE_FF

Option should be suffixed _FFMPEG

> 	bool "Enable wma, alac decoding (by ffmpeg)"

"(by ffmpeg)" part not needed.

Also, please use:

	Enable WMA and ALAC decoding

> +	default y
> +	select BR2_PACKAGE_FFMPEG
> +	help
> +	  Enable wma, alac decoding

The help is useless here, so get rid of it.

> +
> +config BR2_PACKAGE_SQUEEZELITE_DSD
> +	bool "Enable dsd decoding"

Please use:

	"Enable Direct Speech Decoding"

or at least put DSD in capital letters.

> +	help
> +	  Enable built-in DSD decoder
> +
> +config BR2_PACKAGE_SQUEEZELITE_RESAMPLE
> +	bool "Enable resampling function"

Rather than "function" use "support"

> +	select BR2_PACKAGE_LIBSOXR
> +	help
> +	  Enable resampling function

Again help text useless if it's just copy/pasting the prompt of the
option.

> +
> +config BR2_PACKAGE_SQUEEZELITE_VISEXPORT
> +	bool "Enable Visualiser support"

	"Enable visualiser support"

(no need for a capital V)

> +	help
> +	  Enable Visualiser support

Useless help, should be removed.

> +
> +endif
> +
> +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..f64da6a
> --- /dev/null
> +++ b/package/squeezelite/squeezelite.mk
> @@ -0,0 +1,51 @@
> +################################################################################
> +#
> +# squeezelite
> +#
> +################################################################################
> +
> +SQUEEZELITE_VERSION = v1.8
> +SQUEEZELITE_SITE = https://github.com/robadenshi/squeezelite
> +SQUEEZELITE_SITE_METHOD = git
> +SQUEEZELITE_LICENSE = GPLv3
> +SQUEEZELITE_LICENSE_FILE = LICENSE.txt
> +SQUEEZELITE_DEPENDENCIES = alsa-lib flac libmad libvorbis faad2 mpg123
> +SQUEEZELITE_MAKE_OPTS = -DLINKALL
> +SQUEEZELITE_MAKEFILE  = Makefile.buildroot
> +
> +ifeq ($(BR2_PACKAGE_SQUEEZELITE_FF),y)
> +SQUEEZELITE_DEPENDENCIES += ffmpeg
> +SQUEEZELITE_MAKE_OPTS += -DFFMPEG
> +endif
> +
> +ifeq ($(BR2_PACKAGE_SQUEEZELITE_DSD),y)
> +SQUEEZELITE_MAKE_OPTS += -DDSD
> +endif
> +
> +ifeq ($(BR2_PACKAGE_SQUEEZELITE_RESAMPLE),y)
> +SQUEEZELITE_DEPENDENCIES += libsoxr
> +SQUEEZELITE_MAKE_OPTS += -DRESAMPLE
> +endif
> +
> +ifeq ($(BR2_PACKAGE_SQUEEZELITE_VISEXPORT),y)
> +SQUEEZELITE_MAKE_OPTS += -DVISEXPORT
> +endif
> +
> +define SQUEEZELITE_CONFIGURE_CMDS
> +	sed -e '1aoverride CFLAGS += $$(OPTS)' \
> +		-e 's/LDFLAGS +=/override LDFLAGS +=/' \
> +		-e 's/LDFLAGS ?=/override LDFLAGS +=/' \
> +		$(@D)/Makefile >$(@D)/$(SQUEEZELITE_MAKEFILE)
> +endef

Don't do this. Create a patch for the Makefile that does the necessary
changes.

> +
> +define SQUEEZELITE_BUILD_CMDS
> +	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
> +		OPTS="$(SQUEEZELITE_MAKE_OPTS)" \
> +		-f $(SQUEEZELITE_MAKEFILE) -C $(@D) all
> +endef
> +
> +define SQUEEZELITE_INSTALL_TARGET_CMDS
> +	$(INSTALL) -D -m 0755 $(@D)/squeezelite $(TARGET_DIR)/usr/bin

You must use a full path as the destination, i.e:

	$(TARGET_DIR)/usr/bin/squeezelite

Can you fix the above issues and send an updated version? Please be
careful to take into account all the comments. If you have some doubts
about certain comments, simply ask questions as a reply to this e-mail
rather than sending many iterations of the patch.

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com



More information about the buildroot mailing list