summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/libvisual')
-rw-r--r--media-libs/libvisual/Manifest1
-rw-r--r--media-libs/libvisual/files/libvisual-0.4.0-better-altivec-detection.patch71
-rw-r--r--media-libs/libvisual/files/libvisual-0.4.0-cond.patch15
-rw-r--r--media-libs/libvisual/files/libvisual-0.4.0-conditions.patch24
-rw-r--r--media-libs/libvisual/files/libvisual-0.4.0-detect_amd64.patch14
-rw-r--r--media-libs/libvisual/files/libvisual-0.4.0-inlinedefineconflict.patch60
-rw-r--r--media-libs/libvisual/libvisual-0.4.0-r3.ebuild55
-rw-r--r--media-libs/libvisual/metadata.xml8
8 files changed, 248 insertions, 0 deletions
diff --git a/media-libs/libvisual/Manifest b/media-libs/libvisual/Manifest
new file mode 100644
index 000000000000..64b8432353ef
--- /dev/null
+++ b/media-libs/libvisual/Manifest
@@ -0,0 +1 @@
+DIST libvisual-0.4.0.tar.gz 583386 SHA256 0b4dfdb87125e129567752089e3c8b54cefed601eef169d2533d8659da8dc1d7 SHA512 ab2286de30d33582a92f16e46436fcbc44b74649952df6e94d96aedc2cabb18d3361496c0b8ab6f52f7178214bf735673c8f1820c3d149304787ba8407201b95 WHIRLPOOL fe47914f3d252292b6ae08ecb176c6f09b0709f9bfaf61806bb7bb0e5f06b78d0705c0616c66b74bcf24e12846d6d44033187b1a5482bb9a9d5d5f20ba60212c
diff --git a/media-libs/libvisual/files/libvisual-0.4.0-better-altivec-detection.patch b/media-libs/libvisual/files/libvisual-0.4.0-better-altivec-detection.patch
new file mode 100644
index 000000000000..19aa579aa110
--- /dev/null
+++ b/media-libs/libvisual/files/libvisual-0.4.0-better-altivec-detection.patch
@@ -0,0 +1,71 @@
+http://pkgs.fedoraproject.org/gitweb/?p=libvisual.git;a=tree
+
+--- libvisual/lv_cpu.c
++++ libvisual/lv_cpu.c
+@@ -50,8 +50,19 @@
+ #endif
+
+ #if defined(VISUAL_OS_LINUX)
++#if defined(VISUAL_ARCH_POWERPC)
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <fcntl.h>
++#include <unistd.h>
++#include <stdio.h>
++
++#include <linux/auxvec.h>
++#include <asm/cputable.h>
++#else /* VISUAL_ARCH_POWERPC */
+ #include <signal.h>
+ #endif
++#endif
+
+ #if defined(VISUAL_OS_WIN32)
+ #include <windows.h>
+@@ -154,6 +165,46 @@ static void check_os_altivec_support( vo
+ if (err == 0)
+ if (has_vu != 0)
+ __lv_cpu_caps.hasAltiVec = 1;
++#elif defined (VISUAL_OS_LINUX)
++ static int available = -1;
++ int new_avail = 0;
++ char fname[64];
++ unsigned long buf[64];
++ ssize_t count;
++ pid_t pid;
++ int fd, i;
++
++ if (available != -1)
++ return;
++
++ pid = getpid();
++ snprintf(fname, sizeof(fname)-1, "/proc/%d/auxv", pid);
++
++ fd = open(fname, O_RDONLY);
++ if (fd < 0)
++ goto out;
++more:
++ count = read(fd, buf, sizeof(buf));
++ if (count < 0)
++ goto out_close;
++
++ for (i=0; i < (count / sizeof(unsigned long)); i += 2) {
++ if (buf[i] == AT_HWCAP) {
++ new_avail = !!(buf[i+1] & PPC_FEATURE_HAS_ALTIVEC);
++ goto out_close;
++ } else if (buf[i] == AT_NULL) {
++ goto out_close;
++ }
++ }
++
++ if (count == sizeof(buf))
++ goto more;
++out_close:
++ close(fd);
++out:
++ available = new_avail;
++ if (available)
++ __lv_cpu_caps.hasAltiVec = 1;
+ #else /* !VISUAL_OS_DARWIN */
+ /* no Darwin, do it the brute-force way */
+ /* this is borrowed from the libmpeg2 library */
diff --git a/media-libs/libvisual/files/libvisual-0.4.0-cond.patch b/media-libs/libvisual/files/libvisual-0.4.0-cond.patch
new file mode 100644
index 000000000000..e1a3efd47418
--- /dev/null
+++ b/media-libs/libvisual/files/libvisual-0.4.0-cond.patch
@@ -0,0 +1,15 @@
+Broken --enable/disable condition.
+
+Index: libvisual-0.4.0/configure.ac
+===================================================================
+--- libvisual-0.4.0.orig/configure.ac
++++ libvisual-0.4.0/configure.ac
+@@ -191,7 +191,7 @@ AIX_COMPILE_INFO="AIX's C compiler needs
+ with the right compiler. Ususally just '_r' is appended
+ to the compiler name."
+
+-AC_ARG_ENABLE([enable_threads],
++AC_ARG_ENABLE([threads],
+ AC_HELP_STRING([--enable-threads],
+ [Turn on basic thread support @<:@default=enabled@:>@]),
+ [enable_threads=$enableval],
diff --git a/media-libs/libvisual/files/libvisual-0.4.0-conditions.patch b/media-libs/libvisual/files/libvisual-0.4.0-conditions.patch
new file mode 100644
index 000000000000..1520db2eac5e
--- /dev/null
+++ b/media-libs/libvisual/files/libvisual-0.4.0-conditions.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/show_bug.cgi?id=431066
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=456856
+
+diff -u libvisual-0.4.0/libvisual/lv_cpu.c libvisual-0.4.0/libvisual/lv_cpu.c
+--- libvisual-0.4.0/libvisual/lv_cpu.c
++++ libvisual-0.4.0/libvisual/lv_cpu.c
+@@ -76,7 +76,7 @@
+
+ /* The sigill handlers */
+ #if defined(VISUAL_ARCH_X86) //x86 (linux katmai handler check thing)
+-#if defined(VISUAL_OS_LINUX) && defined(_POSIX_SOURCE) && defined(X86_FXSR_MAGIC)
++#if defined(VISUAL_OS_LINUX) && defined(_POSIX_SOURCE)
+ static void sigill_handler_sse( int signal, struct sigcontext sc )
+ {
+ /* Both the "xorps %%xmm0,%%xmm0" and "divps %xmm0,%%xmm1"
+@@ -109,7 +109,7 @@
+ }
+ }
+ #endif
+-#endif /* VISUAL_OS_LINUX && _POSIX_SOURCE && X86_FXSR_MAGIC */
++#endif /* VISUAL_OS_LINUX && _POSIX_SOURCE */
+
+ #if defined(VISUAL_OS_WIN32)
+ LONG CALLBACK win32_sig_handler_sse(EXCEPTION_POINTERS* ep)
diff --git a/media-libs/libvisual/files/libvisual-0.4.0-detect_amd64.patch b/media-libs/libvisual/files/libvisual-0.4.0-detect_amd64.patch
new file mode 100644
index 000000000000..a796acce3b07
--- /dev/null
+++ b/media-libs/libvisual/files/libvisual-0.4.0-detect_amd64.patch
@@ -0,0 +1,14 @@
+Needed so that lvconfig.h gets the correct define for amd64.
+
+Index: libvisual-0.4.0/configure.ac
+===================================================================
+--- libvisual-0.4.0.orig/configure.ac
++++ libvisual-0.4.0/configure.ac
+@@ -780,6 +780,7 @@ echo >>$outfile
+ lv_alpha=$lv_alpha
+ lv_sparc=$lv_sparc
+ lv_ix86=$lv_ix86
++ lv_x86_64=$lv_x86_64
+ lv_powerpc=$lv_powerpc
+ lv_arch_unknown=$lv_arch_unknown
+
diff --git a/media-libs/libvisual/files/libvisual-0.4.0-inlinedefineconflict.patch b/media-libs/libvisual/files/libvisual-0.4.0-inlinedefineconflict.patch
new file mode 100644
index 000000000000..5d04f30335a4
--- /dev/null
+++ b/media-libs/libvisual/files/libvisual-0.4.0-inlinedefineconflict.patch
@@ -0,0 +1,60 @@
+http://pkgs.fedoraproject.org/gitweb/?p=libvisual.git;a=tree
+
+--- libvisual/lv_cache.c
++++ libvisual/lv_cache.c
+@@ -32,7 +32,7 @@
+ static int cache_dtor (VisObject *object);
+ static int cache_remove_list_entry (VisCache *cache, VisListEntry **le);
+
+-static inline void handle_request_reset (VisCache *cache, VisListEntry *le);
++static lv_inline void handle_request_reset (VisCache *cache, VisListEntry *le);
+
+ static int cache_dtor (VisObject *object)
+ {
+@@ -74,7 +74,7 @@
+ }
+
+
+-static inline void handle_request_reset (VisCache *cache, VisListEntry *le)
++static lv_inline void handle_request_reset (VisCache *cache, VisListEntry *le)
+ {
+ VisCacheEntry *centry;
+
+--- libvisual/lv_defines.h
++++ libvisual/lv_defines.h
+@@ -63,13 +63,13 @@
+
+ /* Compiler specific optimalization macros */
+ #if __GNUC__ >= 3
+-# define inline inline __attribute__ ((always_inline))
++# define lv_inline inline __attribute__ ((always_inline))
+ # define __malloc __attribute__ ((malloc))
+ # define __packed __attribute__ ((packed))
+ # define VIS_LIKELY(x) __builtin_expect (!!(x), 1)
+ # define VIS_UNLIKELY(x) __builtin_expect (!!(x), 0)
+ #else
+-# define inline /* no inline */
++# define lv_inline /* no inline */
+ # define __malloc /* no malloc */
+ # define __packed /* no packed */
+ # define VIS_LIKELY(x) (x)
+--- libvisual/lv_time.h
++++ libvisual/lv_time.h
+@@ -101,7 +101,7 @@
+ *
+ * @return Nothing.
+ */
+-static inline void visual_timer_tsc_get (uint32_t *lo, uint32_t *hi)
++static lv_inline void visual_timer_tsc_get (uint32_t *lo, uint32_t *hi)
+ {
+ #if defined(VISUAL_ARCH_X86) || defined(VISUAL_ARCH_X86_64)
+ __asm __volatile
+@@ -115,7 +115,7 @@
+ }
+
+ /* FIXME use uint64_t here, make sure type exists */
+-static inline unsigned long long visual_timer_tsc_get_returned ()
++static lv_inline unsigned long long visual_timer_tsc_get_returned ()
+ {
+ uint32_t lo, hi;
+
diff --git a/media-libs/libvisual/libvisual-0.4.0-r3.ebuild b/media-libs/libvisual/libvisual-0.4.0-r3.ebuild
new file mode 100644
index 000000000000..5ec91eca3d84
--- /dev/null
+++ b/media-libs/libvisual/libvisual-0.4.0-r3.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_PRUNE_LIBTOOL_FILES=all
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-multilib
+
+DESCRIPTION="Libvisual is an abstraction library that comes between applications and audio visualisation plugins"
+HOMEPAGE="http://libvisual.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0.4"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="debug nls static-libs threads"
+
+RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r9
+ !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS ChangeLog NEWS README TODO )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-better-altivec-detection.patch
+ "${FILESDIR}"/${P}-inlinedefineconflict.patch
+ "${FILESDIR}"/${P}-conditions.patch
+ "${FILESDIR}"/${P}-detect_amd64.patch
+ "${FILESDIR}"/${P}-cond.patch
+ )
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/libvisual-0.4/libvisual/lvconfig.h
+)
+
+src_prepare() {
+ autotools-multilib_src_prepare
+ # autogenerated, causes problems for out of tree builds
+ rm -f libvisual/lvconfig.h || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-shared
+ $(use_enable nls)
+ $(use_enable threads)
+ $(use_enable debug)
+ )
+ autotools-multilib_src_configure
+}
diff --git a/media-libs/libvisual/metadata.xml b/media-libs/libvisual/metadata.xml
new file mode 100644
index 000000000000..1c16bbf70ae0
--- /dev/null
+++ b/media-libs/libvisual/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sound</herd>
+ <upstream>
+ <remote-id type="sourceforge">libvisual</remote-id>
+ </upstream>
+</pkgmetadata>