[Buildroot] [PATCH] icecast: new package

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Sun Jul 7 19:42:49 UTC 2013


Dear Ezequiel Garcia,

On Sun,  7 Jul 2013 15:40:41 -0300, Ezequiel Garcia wrote:
> Icecast is a streaming media server which currently supports Ogg
> Vorbis and MP3 audio streams. It can be used to create an Internet
> radio station or a privately running jukebox and many things in
> between. It is very versatile in that new formats can be added
> relatively easily and supports open standards for commuincation and
> interaction.
> 
> Icecast is distributed under the GNU GPL, version 2. A copy of this
> license is included with this software in the COPYING file.
> 
> Signed-off-by: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
> ---
> I'm no longer working on this stuff because the box I was interested
> in hadn't hardware FP support making it impossible to achieve what
> I originally planned.

Are you still willing to do a few iterations to get it merged?

A couple of comments below.

> diff --git a/package/multimedia/icecast/Config.in b/package/multimedia/icecast/Config.in
> new file mode 100644
> index 0000000..0d2c343
> --- /dev/null
> +++ b/package/multimedia/icecast/Config.in
> @@ -0,0 +1,13 @@
> +config BR2_PACKAGE_ICECAST
> +	bool "icecast"
> +	select BR2_PACKAGE_LIBOGG
> +	select BR2_PACKAGE_LIBVORBIS
> +	select BR2_PACKAGE_LIBXML2
> +	select BR2_PACKAGE_LIBXSLT
> +	help
> +	  Icecast is a streaming media server which currently supports Ogg
> +	  Vorbis and MP3 audio streams. It can be used to create an Internet
> +	  radio station or a privately running jukebox and many things in
> +	  between. It is very versatile in that new formats can be added
> +	  relatively easily and supports open standards for commuincation and
> +	  interaction.

We normally add a empty line here, and then one line with the upstream
project URL.

> diff --git a/package/multimedia/icecast/icecast-curl-config.patch b/package/multimedia/icecast/icecast-curl-config.patch
> new file mode 100644
> index 0000000..c193aa9
> --- /dev/null
> +++ b/package/multimedia/icecast/icecast-curl-config.patch
> @@ -0,0 +1,12 @@

We always want a description + Signed-off-by line. We also generally
prefer patches on the configure.in or configure.ac file, rather than on
configure directly. For efficiency reasons (avoid the need of
autoreconfiguring the package), we may accept a patch on configure, but
I would say that configure.in or configure.ac should also be patched
appropriately.

> diff --git a/package/multimedia/icecast/icecast.mk b/package/multimedia/icecast/icecast.mk
> new file mode 100644
> index 0000000..f840be1
> --- /dev/null
> +++ b/package/multimedia/icecast/icecast.mk
> @@ -0,0 +1,25 @@
> +############################################################

80 # are needed now.

> +#
> +# Icecast (Shoutcast compatible streaming server)

Just the package name, not more.

> +#
> +############################################################
> +
> +ICECAST_SITE = http://downloads.xiph.org/releases/icecast
> +ICECAST_VERSION = 2.3.2
> +ICECAST_LICENSE = GPLv2

Have you checked whether is GPLv2 only, or GPLv2 or later? If the
latter, then it should be GPLv2+.

> +ICECAST_LICENSE_FILES = COPYING
> +
> +ICECAST_DEPENDENCIES = host-pkgconf libxslt libxml2 libogg libvorbis libcurl

Why do you have libcurl here? From the rest of your package, it seems
like an optional dependency.

> +ICECAST_CONF_OPT += --with-xslt-config=$(STAGING_DIR)/usr/bin/xslt-config
> +ICECAST_CONF_OPT += --with-ogg=$(STAGING_DIR)/usr
> +ICECAST_CONF_OPT += --with-vorbis=$(STAGING_DIR)/usr

We normally write this like:

ICECAST_CONF_OPT = \
	--with-xslt-config=$(STAGING_DIR)/usr/bin/xslt-config \
	--with-ogg=$(STAGING_DIR)/usr \
	--with-vorbis=$(STAGING_DIR)/usr

> +
> +ifeq ($(BR2_PACKAGE_LIBCURL),y)
> +ICECAST_DEPENDENCIES += libcurl
> +ICECAST_CONF_OPT += --with-curl-config=$(STAGING_DIR)/usr/bin/curl-config
> +else
> +ICECAST_CONF_OPT += --without-curl
> +endif
> +
> +$(eval $(autotools-package))

Otherwise, looks good to me.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com



More information about the buildroot mailing list