Date: Wednesday, September 1, 2010 @ 07:02:44 Author: jgc Revision: 89488
upgpkg: gstreamer0.10-ugly 0.10.15-4 Remove duplicate dependency, patch a52dec plugin to use orc instead of liboil Added: gstreamer0.10-ugly/trunk/a52-use-orc.patch gstreamer0.10-ugly/trunk/orc.m4 Modified: gstreamer0.10-ugly/trunk/PKGBUILD -------------------+ PKGBUILD | 17 ++++-- a52-use-orc.patch | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++++ orc.m4 | 57 ++++++++++++++++++++ 3 files changed, 216 insertions(+), 5 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2010-09-01 10:37:09 UTC (rev 89487) +++ PKGBUILD 2010-09-01 11:02:44 UTC (rev 89488) @@ -4,17 +4,24 @@ pkgbase=gstreamer0.10-ugly pkgname=('gstreamer0.10-ugly' 'gstreamer0.10-ugly-plugins') pkgver=0.10.15 -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64') license=('LGPL') -makedepends=('pkgconfig' 'gstreamer0.10-base>=0.10.29' 'libdvdread>=4.1.3' 'lame>=3.98.4' 'libmpeg2>=0.5.1' 'a52dec>=0.7.4' 'libid3tag>=0.15.1b' 'libmad>=0.15.1b' 'libsidplay>=1.36.59' 'libcdio>=0.82' 'x264=20100826' 'opencore-amr>=0.1.2' 'liboil>=0.3.17') +makedepends=('pkgconfig' 'gstreamer0.10-base>=0.10.29' 'libdvdread>=4.1.3' 'lame>=3.98.4' 'libmpeg2>=0.5.1' 'a52dec>=0.7.4' 'libid3tag>=0.15.1b' 'libmad>=0.15.1b' 'libsidplay>=1.36.59' 'libcdio>=0.82' 'x264=20100826' 'opencore-amr>=0.1.2') url="http://gstreamer.freedesktop.org/" options=(!libtool) -source=(${url}/src/gst-plugins-ugly/gst-plugins-ugly-${pkgver}.tar.bz2) -md5sums=('21c034a762a5da252f91640e53bfe457') +source=(${url}/src/gst-plugins-ugly/gst-plugins-ugly-${pkgver}.tar.bz2 + orc.m4 + a52-use-orc.patch) +md5sums=('21c034a762a5da252f91640e53bfe457' + '18af013824b334a037fba7ae9ca40694' + '74b8035a309aec1e7c36660ac34e7271') build() { cd "${srcdir}/gst-plugins-ugly-${pkgver}" + patch -Np1 -i "${srcdir}/a52-use-orc.patch" + cp "${srcdir}/orc.m4" common/m4/ + autoreconf ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --disable-static --enable-experimental \ --with-package-name="GStreamer Ugly Plugins (Archlinux)" \ @@ -33,7 +40,7 @@ package_gstreamer0.10-ugly-plugins() { pkgdesc="GStreamer Multimedia Framework Ugly Plugins (gst-plugins-ugly)" - depends=("gstreamer0.10-ugly=${pkgver}" 'libdvdread>=4.1.3' 'lame>=3.98.4' 'libmpeg2>=0.5.1' 'a52dec>=0.7.4' 'libid3tag>=0.15.1b' 'libmad>=0.15.1b' 'libsidplay>=1.36.59' 'libcdio>=0.82' 'x264=20100826' 'opencore-amr>=0.1.2' 'gstreamer0.10-ugly') + depends=("gstreamer0.10-ugly=${pkgver}" 'libdvdread>=4.1.3' 'lame>=3.98.4' 'libmpeg2>=0.5.1' 'a52dec>=0.7.4' 'libid3tag>=0.15.1b' 'libmad>=0.15.1b' 'libsidplay>=1.36.59' 'libcdio>=0.82' 'x264=20100826' 'opencore-amr>=0.1.2') groups=('gstreamer0.10-plugins') replaces=('gstreamer0.10-dvdread' 'gstreamer0.10-mpeg2dec' 'gstreamer0.10-mad' 'gstreamer0.10-lame' 'gstreamer0.10-sidplay' 'gstreamer0.10-a52dec') conflicts=('gstreamer0.10-dvdread' 'gstreamer0.10-mpeg2dec' 'gstreamer0.10-mad' 'gstreamer0.10-lame' 'gstreamer0.10-sidplay' 'gstreamer0.10-a52dec') Added: a52-use-orc.patch =================================================================== --- a52-use-orc.patch (rev 0) +++ a52-use-orc.patch 2010-09-01 11:02:44 UTC (rev 89488) @@ -0,0 +1,147 @@ +From 359260bd5b2ab88d36364954e94450f9e8718ca2 Mon Sep 17 00:00:00 2001 +From: Sebastian Dröge <sebastian.dro...@collabora.co.uk> +Date: Mon, 14 Jun 2010 12:34:25 +0000 +Subject: a52dec: Use orc for CPU feature detection and don't check for liboil + +--- +diff --git a/configure.ac b/configure.ac +index 109b376..93d74f8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -152,12 +152,7 @@ dnl *** checks for dependency libraries *** + + dnl GLib is required + AG_GST_GLIB_CHECK([2.18]) +- +-dnl liboil is required +-PKG_CHECK_MODULES(LIBOIL, liboil-0.3 >= 0.3.14, HAVE_LIBOIL=yes, HAVE_LIBOIL=no) +-if test "x$HAVE_LIBOIL" != "xyes"; then +- AC_ERROR([liboil-0.3.14 or later is required]) +-fi ++ORC_CHECK([0.4.5]) + + dnl checks for gstreamer + dnl uninstalled is selected preferentially -- see pkg-config(1) +@@ -542,3 +537,5 @@ sed \ + AC_OUTPUT + + AG_GST_OUTPUT_PLUGINS ++ ++ORC_OUTPUT +diff --git a/ext/a52dec/Makefile.am b/ext/a52dec/Makefile.am +index 5d8365e..d572236 100644 +--- a/ext/a52dec/Makefile.am ++++ b/ext/a52dec/Makefile.am +@@ -4,12 +4,12 @@ libgsta52dec_la_SOURCES = gsta52dec.c + libgsta52dec_la_CFLAGS = \ + $(GST_PLUGINS_BASE_CFLAGS) \ + $(GST_CFLAGS) \ +- $(LIBOIL_CFLAGS) \ ++ $(ORC_CFLAGS) \ + $(A52DEC_CFLAGS) + libgsta52dec_la_LIBADD = \ + $(GST_PLUGINS_BASE_LIBS) \ + -lgstaudio-$(GST_MAJORMINOR) \ +- $(LIBOIL_LIBS) \ ++ $(ORC_LIBS) \ + $(A52DEC_LIBS) + libgsta52dec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) + libgsta52dec_la_LIBTOOLFLAGS = --tag=disable-static +diff --git a/ext/a52dec/gsta52dec.c b/ext/a52dec/gsta52dec.c +index 7d032e4..ba62777 100644 +--- a/ext/a52dec/gsta52dec.c ++++ b/ext/a52dec/gsta52dec.c +@@ -49,9 +49,9 @@ + #include <a52dec/mm_accel.h> + #include "gsta52dec.h" + +-#include <liboil/liboil.h> +-#include <liboil/liboilcpu.h> +-#include <liboil/liboilfunction.h> ++#if HAVE_ORC ++#include <orc/orc.h> ++#endif + + #ifdef LIBA52_DOUBLE + #define SAMPLE_WIDTH 64 +@@ -185,8 +185,6 @@ gst_a52dec_class_init (GstA52DecClass * klass) + g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LFE, + g_param_spec_boolean ("lfe", "LFE", "LFE", TRUE, G_PARAM_READWRITE)); + +- oil_init (); +- + /* If no CPU instruction based acceleration is available, end up using the + * generic software djbfft based one when available in the used liba52 */ + #ifdef MM_ACCEL_DJBFFT +@@ -194,13 +192,21 @@ gst_a52dec_class_init (GstA52DecClass * klass) + #else + klass->a52_cpuflags = 0; + #endif +- cpuflags = oil_cpu_get_flags (); +- if (cpuflags & OIL_IMPL_FLAG_MMX) ++ ++#if HAVE_ORC ++ cpuflags = orc_target_get_default_flags (orc_target_get_by_name ("mmx")); ++ ++ if (cpuflags & ORC_TARGET_MMX_MMX) + klass->a52_cpuflags |= MM_ACCEL_X86_MMX; +- if (cpuflags & OIL_IMPL_FLAG_3DNOW) ++ if (cpuflags & ORC_TARGET_MMX_3DNOW) + klass->a52_cpuflags |= MM_ACCEL_X86_3DNOW; +- if (cpuflags & OIL_IMPL_FLAG_MMXEXT) ++ if (cpuflags & ORC_TARGET_MMX_MMXEXT) + klass->a52_cpuflags |= MM_ACCEL_X86_MMXEXT; ++#else ++ cpuflags = 0; ++#endif ++ ++ g_print ("%p\n", orc_target_get_by_name ("mmx")); + + GST_LOG ("CPU flags: a52=%08x, liboil=%08x", klass->a52_cpuflags, cpuflags); + } +-- +cgit v0.8.3-6-g21f6 +From 21d90d5539e42c4d5216a407dcb88cf136a595dd Mon Sep 17 00:00:00 2001 +From: Sebastian Dröge <sebastian.dro...@collabora.co.uk> +Date: Mon, 14 Jun 2010 12:34:56 +0000 +Subject: a52dec: Remove debug printf... + +--- +diff --git a/ext/a52dec/gsta52dec.c b/ext/a52dec/gsta52dec.c +index ba62777..6d8cd19 100644 +--- a/ext/a52dec/gsta52dec.c ++++ b/ext/a52dec/gsta52dec.c +@@ -206,8 +206,6 @@ gst_a52dec_class_init (GstA52DecClass * klass) + cpuflags = 0; + #endif + +- g_print ("%p\n", orc_target_get_by_name ("mmx")); +- + GST_LOG ("CPU flags: a52=%08x, liboil=%08x", klass->a52_cpuflags, cpuflags); + } + +-- +cgit v0.8.3-6-g21f6 +From e0cd55c80549e35576eb601624435cfd277472ca Mon Sep 17 00:00:00 2001 +From: Sebastian Dröge <sebastian.dro...@collabora.co.uk> +Date: Mon, 14 Jun 2010 13:33:14 +0000 +Subject: a52dec: Call orc_init() before trying to get target flags + +--- +diff --git a/ext/a52dec/gsta52dec.c b/ext/a52dec/gsta52dec.c +index 6d8cd19..baebb5e 100644 +--- a/ext/a52dec/gsta52dec.c ++++ b/ext/a52dec/gsta52dec.c +@@ -975,6 +975,10 @@ gst_a52dec_get_property (GObject * object, guint prop_id, GValue * value, + static gboolean + plugin_init (GstPlugin * plugin) + { ++#if HAVE_ORC ++ orc_init (); ++#endif ++ + /* ensure GstAudioChannelPosition type is registered */ + if (!gst_audio_channel_position_get_type ()) + return FALSE; +-- +cgit v0.8.3-6-g21f6 Added: orc.m4 =================================================================== --- orc.m4 (rev 0) +++ orc.m4 2010-09-01 11:02:44 UTC (rev 89488) @@ -0,0 +1,57 @@ +dnl pkg-config-based checks for Orc + +dnl specific: +dnl ORC_CHECK([REQUIRED_VERSION]) + +AC_DEFUN([ORC_CHECK], +[ + ORC_REQ=ifelse([$1], , "0.4.5", [$1]) + + AC_ARG_ENABLE(orc, + AC_HELP_STRING([--enable-orc],[use Orc if installed]), + [case "${enableval}" in + auto) enable_orc=auto ;; + yes) enable_orc=yes ;; + no) enable_orc=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-orc) ;; + esac + ], + [enable_orc=auto]) dnl Default value + + if test "x$enable_orc" != "xno" ; then + PKG_CHECK_MODULES(ORC, orc-0.4 >= $ORC_REQ, [ + AC_DEFINE(HAVE_ORC, 1, [Use Orc]) + ORCC=`$PKG_CONFIG --variable=orcc orc-0.4` + AC_SUBST(ORCC) + HAVE_ORC=yes + ], [ + if test "x$enable_orc" = "xyes" ; then + AC_MSG_ERROR([--enable-orc specified, but Orc >= $ORC_REQ not found]) + fi + AC_DEFINE(DISABLE_ORC, 1, [Disable Orc]) + HAVE_ORC=no + ]) + else + AC_DEFINE(DISABLE_ORC, 1, [Disable Orc]) + HAVE_ORC=no + fi + AM_CONDITIONAL(HAVE_ORC, test "x$HAVE_ORC" = "xyes") + +])) + +AC_DEFUN([ORC_OUTPUT], +[ + if test "$HAVE_ORC" = yes ; then + printf "configure: *** Orc acceleration enabled.\n" + else + if test "x$enable_orc" = "xno" ; then + printf "configure: *** Orc acceleration disabled by --disable-orc. Slower code paths\n" + printf " will be used.\n" + else + printf "configure: *** Orc acceleration disabled. Requires Orc >= $ORC_REQ, which was\n" + printf " not found. Slower code paths will be used.\n" + fi + fi + printf "\n" +]) +