summaryrefslogtreecommitdiffstats
path: root/package/multimedia
diff options
context:
space:
mode:
Diffstat (limited to 'package/multimedia')
-rw-r--r--package/multimedia/alsa-lib/alsa-lib.mk11
-rw-r--r--package/multimedia/ffmpeg/ffmpeg.mk3
-rw-r--r--package/multimedia/libmms/libmms-prevent-unaligned-dereferences.patch84
-rw-r--r--package/multimedia/libmms/libmms.mk4
-rw-r--r--package/multimedia/speex/speex.mk20
-rw-r--r--package/multimedia/taglib/taglib.mk10
-rw-r--r--package/multimedia/tremor/tremor.mk12
7 files changed, 109 insertions, 35 deletions
diff --git a/package/multimedia/alsa-lib/alsa-lib.mk b/package/multimedia/alsa-lib/alsa-lib.mk
index 6e4c5754f..5447b6c1c 100644
--- a/package/multimedia/alsa-lib/alsa-lib.mk
+++ b/package/multimedia/alsa-lib/alsa-lib.mk
@@ -44,8 +44,6 @@ ALSA_LIB_CONF_OPT += --disable-old-symbols
endif
ifeq ($(BR2_ENABLE_DEBUG),y)
-# install-exec doesn't install the config files
-ALSA_LIB_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
ALSA_LIB_CONF_OPT += --enable-debug
endif
@@ -72,15 +70,16 @@ ALSA_LIB_CONF_ENV = CFLAGS="$(ALSA_LIB_CFLAGS)" \
# the above doesn't work with shared config.cache
ALSA_LIB_USE_CONFIG_CACHE = NO
-$(eval $(call AUTOTARGETS,package/multimedia,alsa-lib))
-
-$(ALSA_LIB_TARGET_UNINSTALL):
+define ALSA_LIB_UNINSTALL_TARGET_CMDS
-rm -f $(TARGET_DIR)/usr/lib/libasound.so*
-rm -rf $(TARGET_DIR)/usr/lib/alsa-lib
-rm -rf $(TARGET_DIR)/usr/share/alsa
+endef
-$(ALSA_LIB_TARGET_CLEAN):
+define ALSA_LIB_UNINSTALL_STAGING_CMDS
-rm -f $(STAGING_DIR)/usr/lib/libasound.*
-rm -rf $(STAGING_DIR)/usr/lib/alsa-lib
-rm -rf $(STAGING_DIR)/usr/share/alsa
+endef
+$(eval $(call AUTOTARGETS,package/multimedia,alsa-lib))
diff --git a/package/multimedia/ffmpeg/ffmpeg.mk b/package/multimedia/ffmpeg/ffmpeg.mk
index aac39c15b..4e6924c3d 100644
--- a/package/multimedia/ffmpeg/ffmpeg.mk
+++ b/package/multimedia/ffmpeg/ffmpeg.mk
@@ -134,7 +134,4 @@ define FFMPEG_CONFIGURE_CMDS
)
endef
-# Override FFMPEG_INSTALL_TARGET_OPT: FFmpeg does not support install-strip
-FFMPEG_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
-
$(eval $(call AUTOTARGETS,package/multimedia,ffmpeg))
diff --git a/package/multimedia/libmms/libmms-prevent-unaligned-dereferences.patch b/package/multimedia/libmms/libmms-prevent-unaligned-dereferences.patch
new file mode 100644
index 000000000..9c606eb29
--- /dev/null
+++ b/package/multimedia/libmms/libmms-prevent-unaligned-dereferences.patch
@@ -0,0 +1,84 @@
+From 4fd16633a8c379971425f7fd482152f163b09158 Mon Sep 17 00:00:00 2001
+From: Paul Burton <Paul.Burton@imgtec.com>
+Date: Fri, 17 Sep 2010 14:08:57 +0100
+Subject: [PATCH] Endianness macros should not dereference unaligned pointers
+
+The LE_*/BE_* macros previously worked by casting the pointer passed to them to a pointer to the correct integer type, then dereferencing it. This will not work on architectures which don't allow unaligned data access. Instead, access one byte at a time and shift to form the value.
+---
+ src/bswap.h | 59 +++++++++++++++++++++++++++++++++++++++++++----------------
+ 1 files changed, 43 insertions(+), 16 deletions(-)
+
+diff --git a/src/bswap.h b/src/bswap.h
+index b731da7..59e8716 100644
+--- a/src/bswap.h
++++ b/src/bswap.h
+@@ -21,23 +21,50 @@
+ */
+
+
+-/* Go cheap now, will rip out glib later. *Sigh* */
+-#include <glib.h>
+-
+-/* NOTE:
+- * Now, to clear up confusion: LE_XX means "from LE to native, XX bits wide"
+- * I know it's not very clear naming (tell me about it, I
+- * misinterpreted in first version and caused bad nasty bug, *sigh*),
+- * but that's inherited code, will clean up as things go
+- * Oh, and one more thing -- they take *pointers*, not actual ints
+- */
++#include <stdint.h>
++
++#define SWAP_ENDIAN_16(val) \
++ (val[1] | (val[0] << 8))
++#define SWAP_ENDIAN_32(val) \
++ (val[3] | (val[2] << 8) | (val[1] << 16) | (val[0] << 24))
++#define SWAP_ENDIAN_64(val) \
++ (val[7] | (val[6] << 8) | (val[5] << 16) | (val[4] << 24) | \
++ ((uint64_t)val[3] << 32) | ((uint64_t)val[2] << 40) | \
++ ((uint64_t)val[1] << 48) | ((uint64_t)val[0] << 56))
++
++#define SAME_ENDIAN_16(val) \
++ (val[0] | (val[1] << 8))
++#define SAME_ENDIAN_32(val) \
++ (val[0] | (val[1] << 8) | (val[2] << 16) | (val[3] << 24))
++#define SAME_ENDIAN_64(val) \
++ (val[0] | (val[1] << 8) | (val[2] << 16) | (val[3] << 24) | \
++ ((uint64_t)val[4] << 32) | ((uint64_t)val[5] << 40) | \
++ ((uint64_t)val[6] << 48) | ((uint64_t)val[7] << 56))
++
++#ifndef WORDS_BIGENDIAN
++
++/* Little endian */
++
++#define LE_16(val) SAME_ENDIAN_16(((uint8_t *)(val)))
++#define LE_32(val) SAME_ENDIAN_32(((uint8_t *)(val)))
++#define LE_64(val) SAME_ENDIAN_64(((uint8_t *)(val)))
++#define BE_16(val) SWAP_ENDIAN_16(((uint8_t *)(val)))
++#define BE_32(val) SWAP_ENDIAN_32(((uint8_t *)(val)))
++#define BE_64(val) SWAP_ENDIAN_64(((uint8_t *)(val)))
++
++#elif WORDS_BIGENDIAN == 1
++
++/* Big endian */
+
+-#define LE_16(val) (GINT16_FROM_LE (*((u_int16_t*)(val))))
+-#define BE_16(val) (GINT16_FROM_BE (*((u_int16_t*)(val))))
+-#define LE_32(val) (GINT32_FROM_LE (*((u_int32_t*)(val))))
+-#define BE_32(val) (GINT32_FROM_BE (*((u_int32_t*)(val))))
++#define LE_16(val) SWAP_ENDIAN_16(((uint8_t *)(val)))
++#define LE_32(val) SWAP_ENDIAN_32(((uint8_t *)(val)))
++#define LE_64(val) SWAP_ENDIAN_64(((uint8_t *)(val)))
++#define BE_16(val) SAME_ENDIAN_16(((uint8_t *)(val)))
++#define BE_32(val) SAME_ENDIAN_32(((uint8_t *)(val)))
++#define BE_64(val) SAME_ENDIAN_64(((uint8_t *)(val)))
+
+-#define LE_64(val) (GINT64_FROM_LE (*((u_int64_t*)(val))))
+-#define BE_64(val) (GINT64_FROM_BE (*((u_int64_t*)(val))))
++#else
++#error Unknown endianness!
++#endif
+
+ #endif /* BSWAP_H_INCLUDED */
+--
+1.7.2.2
+
diff --git a/package/multimedia/libmms/libmms.mk b/package/multimedia/libmms/libmms.mk
index 489bf0de2..a8f4527fd 100644
--- a/package/multimedia/libmms/libmms.mk
+++ b/package/multimedia/libmms/libmms.mk
@@ -3,9 +3,9 @@
# libmms
#
#############################################################
-LIBMMS_VERSION = 0.4
+LIBMMS_VERSION = 0.6
LIBMMS_SOURCE = libmms-$(LIBMMS_VERSION).tar.gz
-LIBMMS_SITE = http://launchpad.net/libmms/trunk/$(LIBMMS_VERSION)/+download
+LIBMMS_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/libmms
LIBMMS_AUTORECONF = NO
LIBMMS_LIBTOOL_PATCH = NO
diff --git a/package/multimedia/speex/speex.mk b/package/multimedia/speex/speex.mk
index e246b2491..7de3b3830 100644
--- a/package/multimedia/speex/speex.mk
+++ b/package/multimedia/speex/speex.mk
@@ -12,7 +12,7 @@ SPEEX_INSTALL_TARGET = YES
SPEEX_DEPENDENCIES = libogg
SPEEX_CONF_OPT = --with-ogg-libraries=$(STAGING_DIR)/usr/lib \
--with-ogg-includes=$(STAGING_DIR)/usr/include \
- --enable-fixed-point
+ --enable-fixed-point
ifeq ($(BR2_PACKAGE_SPEEX_ARM4),y)
SPEEX_CONF_OPT += --enable-arm4-asm
@@ -22,15 +22,15 @@ ifeq ($(BR2_PACKAGE_SPEEX_ARM5E),y)
SPEEX_CONF_OPT += --enable-arm5e-asm
endif
-$(eval $(call AUTOTARGETS,package/multimedia,speex))
+define SPEEX_LIBTOOL_FIXUP
+ $(SED) 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' $(@D)/libtool
+ $(SED) 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' $(@D)/libtool
+endef
+
+SPEEX_POST_CONFIGURE_HOOKS += SPEEX_LIBTOOL_FIXUP
-$(SPEEX_TARGET_BUILD): $(SPEEX_TARGET_CONFIGURE)
- $(call MESSAGE,"Building")
- $(SED) 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' $(SPEEX_DIR)/libtool
- $(SED) 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' $(SPEEX_DIR)/libtool
+define SPEEX_BUILD_CMDS
$($(PKG)_MAKE_ENV) $(MAKE) $($(PKG)_MAKE_OPT) -C $(@D)/$($(PKG)_SUBDIR)
- $(Q)touch $@
+endef
-$(SPEEX_HOOK_POST_INSTALL): $(SPEEX_TARGET_INSTALL_TARGET)
- rm -rf $(TARGET_DIR)/usr/share/doc/speex
- touch $@
+$(eval $(call AUTOTARGETS,package/multimedia,speex))
diff --git a/package/multimedia/taglib/taglib.mk b/package/multimedia/taglib/taglib.mk
index 2620b971a..e5433a42b 100644
--- a/package/multimedia/taglib/taglib.mk
+++ b/package/multimedia/taglib/taglib.mk
@@ -16,10 +16,12 @@ TAGLIB_CONF_ENV = \
TAGLIB_CONF_OPT = --disable-libsuffix --program-prefix=''
-$(eval $(call AUTOTARGETS,package/multimedia,taglib))
+define TAGLIB_REMOVE_DEVFILE
+ rm -f $(TARGET_DIR)/usr/bin/taglib-config
+endef
ifneq ($(BR2_HAVE_DEVFILES),y)
-$(TAGLIB_HOOK_POST_INSTALL):
- rm -f $(TARGET_DIR)/usr/bin/taglib-config
- touch $@
+TAGLIB_POST_INSTALL_TARGET_HOOKS += TAGLIB_REMOVE_DEVFILE
endif
+
+$(eval $(call AUTOTARGETS,package/multimedia,taglib))
diff --git a/package/multimedia/tremor/tremor.mk b/package/multimedia/tremor/tremor.mk
index 74fd725ff..654a403ee 100644
--- a/package/multimedia/tremor/tremor.mk
+++ b/package/multimedia/tremor/tremor.mk
@@ -5,19 +5,11 @@
############################################################
TREMOR_SITE:=http://svn.xiph.org/trunk/Tremor/
+TREMOR_SITE_METHOD:=svn
TREMOR_VERSION:=16259
-TREMOR_SVNDIR = Tremor-svn-r$(TREMOR_VERSION)
-TREMOR_SOURCE:= $(TREMOR_SVNDIR).tar.bz2
+
TREMOR_AUTORECONF = YES
TREMOR_INSTALL_STAGING = YES
TREMOR_INSTALL_TARGET = YES
-$(DL_DIR)/$(TREMOR_SOURCE):
- $(SVN_CO) -r $(TREMOR_VERSION) $(TREMOR_SITE) $(BUILD_DIR)/$(TREMOR_SVNDIR)
- tar -cv -C $(BUILD_DIR) $(TREMOR_SVNDIR) | bzip2 - -c > $@
- rm -rf $(BUILD_DIR)/$(TREMOR_SVNDIR)
-
-# use custom download step
-TREMOR_TARGET_SOURCE := $(DL_DIR)/$(TREMOR_SOURCE)
-
$(eval $(call AUTOTARGETS,package/multimedia,tremor))