Patchwork [v6,07/10] libvpx: new package libvpx

login
register
mail settings
Submitter Spenser Gilliland
Date May 15, 2013, 9:59 p.m.
Message ID <1368655178-19176-8-git-send-email-spenser@gillilanding.com>
Download mbox | patch
Permalink /patch/244191/
State Superseded
Headers show

Comments

Spenser Gilliland - May 15, 2013, 9:59 p.m.
adds webm multimedia support and the VP8 encoder/decoder library.

http://www.webmproject.org/

Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
---
 package/multimedia/Config.in        |    1 +
 package/multimedia/libvpx/Config.in |    6 ++++
 package/multimedia/libvpx/libvpx.mk |   52 +++++++++++++++++++++++++++++++++++
 3 files changed, 59 insertions(+)
 create mode 100644 package/multimedia/libvpx/Config.in
 create mode 100644 package/multimedia/libvpx/libvpx.mk
Thomas Petazzoni - May 16, 2013, 7:56 a.m.
Dear Spenser Gilliland,

On Wed, 15 May 2013 16:59:35 -0500, Spenser Gilliland wrote:
> --- /dev/null
> +++ b/package/multimedia/libvpx/libvpx.mk
> @@ -0,0 +1,52 @@
> +#############################################################
> +#
> +# libvpx
> +#
> +#############################################################
> +
> +LIBVPX_VERSION = v1.2.0
> +LIBVPX_SITE = http://git.chromium.org/webm/libvpx.git
> +LIBVPX_SITE_METHOD = git
> +
> +LIBVPX_INSTALL_STAGING = YES
> +LIBVPX_LICENSE = BSD-3c 
> +LIBVPX_LICENSE_FILES = LICENSE PATENTS 
> +
> +LIBVPX_INSTALL_STAGING = YES

Already set a few lines above.

> +
> +LIBVPX_CONF_ENV = \
> +	LD=$$CC \

This sounds strange. The target compiler is $(TARGET_CC), and should be
used with quotes to be compiled with ccache, so, probably:

	LD="$(TARGET_CC)"

And an explanation above that says why it is needed (i.e, LD being used
by the libvpx build system as a compiler).

> +	CROSS=$(GNU_TARGET_NAME)
> +
> +LIBVPX_CONF_OPT = \
> +	--disable-examples \
> +	--disable-docs \
> +	--disable-unit-tests
> +
> +define LIBVPX_CONFIGURE_CMDS
> +	(cd $(LIBVPX_SRCDIR) && rm -rf config.cache && \
> +	$(TARGET_CONFIGURE_OPTS) \
> +	$(TARGET_CONFIGURE_ARGS) \
> +	$(LIBVPX_CONF_ENV) \
> +	./configure \
> +		--target=generic-gnu \
> +		--enable-pic \
> +		--prefix=/usr \
> +		$(SHARED_STATIC_LIBS_OPTS) \
> +		$(LIBVPX_CONF_OPT) \
> +	)
> +endef

Please add a comment somewhere that allows us to remember that you're
not using autotools-package because this 'configure' script is not an
autotools one, but some hand-written thing.

Thanks!

Thomas

Patch

diff --git a/package/multimedia/Config.in b/package/multimedia/Config.in
index d0594b9..a0927e9 100644
--- a/package/multimedia/Config.in
+++ b/package/multimedia/Config.in
@@ -20,6 +20,7 @@  source "package/multimedia/gst1-plugins-bad/Config.in"
 source "package/multimedia/gst-plugins-ugly/Config.in"
 source "package/multimedia/gst1-plugins-ugly/Config.in"
 source "package/multimedia/lame/Config.in"
+source "package/multimedia/libvpx/Config.in"
 source "package/multimedia/madplay/Config.in"
 source "package/multimedia/mpd/Config.in"
 source "package/multimedia/mpg123/Config.in"
diff --git a/package/multimedia/libvpx/Config.in b/package/multimedia/libvpx/Config.in
new file mode 100644
index 0000000..2327971
--- /dev/null
+++ b/package/multimedia/libvpx/Config.in
@@ -0,0 +1,6 @@ 
+config BR2_PACKAGE_LIBVPX
+	bool "libvpx"
+	help
+	  a high-quality, open video format that's freely available to everyone.
+
+	  http://webmproject.org
diff --git a/package/multimedia/libvpx/libvpx.mk b/package/multimedia/libvpx/libvpx.mk
new file mode 100644
index 0000000..879a531
--- /dev/null
+++ b/package/multimedia/libvpx/libvpx.mk
@@ -0,0 +1,52 @@ 
+#############################################################
+#
+# libvpx
+#
+#############################################################
+
+LIBVPX_VERSION = v1.2.0
+LIBVPX_SITE = http://git.chromium.org/webm/libvpx.git
+LIBVPX_SITE_METHOD = git
+
+LIBVPX_INSTALL_STAGING = YES
+LIBVPX_LICENSE = BSD-3c 
+LIBVPX_LICENSE_FILES = LICENSE PATENTS 
+
+LIBVPX_INSTALL_STAGING = YES
+
+LIBVPX_CONF_ENV = \
+	LD=$$CC \
+	CROSS=$(GNU_TARGET_NAME)
+
+LIBVPX_CONF_OPT = \
+	--disable-examples \
+	--disable-docs \
+	--disable-unit-tests
+
+define LIBVPX_CONFIGURE_CMDS
+	(cd $(LIBVPX_SRCDIR) && rm -rf config.cache && \
+	$(TARGET_CONFIGURE_OPTS) \
+	$(TARGET_CONFIGURE_ARGS) \
+	$(LIBVPX_CONF_ENV) \
+	./configure \
+		--target=generic-gnu \
+		--enable-pic \
+		--prefix=/usr \
+		$(SHARED_STATIC_LIBS_OPTS) \
+		$(LIBVPX_CONF_OPT) \
+	)
+endef
+
+define LIBVPX_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(LIBVPX_MAKE_ENV) $(MAKE) -C $(@D) all
+endef
+
+define LIBVPX_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(LIBVPX_MAKE_ENV) $(MAKE) DESTDIR="$(STAGING_DIR)" -C $(@D) install
+endef
+
+define LIBVPX_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(LIBVPX_MAKE_ENV) $(MAKE) DESTDIR="$(TARGET_DIR)" -C $(@D) install
+endef
+
+$(eval $(generic-package))