summaryrefslogtreecommitdiff
path: root/media-libs/libvisual
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/libvisual')
-rw-r--r--media-libs/libvisual/Manifest10
-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.ebuild54
-rw-r--r--media-libs/libvisual/metadata.xml11
8 files changed, 259 insertions, 0 deletions
diff --git a/media-libs/libvisual/Manifest b/media-libs/libvisual/Manifest
new file mode 100644
index 000000000000..faabf3b279c8
--- /dev/null
+++ b/media-libs/libvisual/Manifest
@@ -0,0 +1,10 @@
+AUX libvisual-0.4.0-better-altivec-detection.patch 1551 SHA256 a6c3a6eed2fbb79f6f8ad7c36ad9845eb3e0c7c18db05a51f2561f02da1ecc92 SHA512 c78b136adf384d22ed6e918e30f6f42a97a087a4c1bb88799a9b299eb50c41ea7a98dd405ddb0360e9cf0ace83998744a9428a4e18954dade7ca75bbc54b4b16 WHIRLPOOL e08b38c51320fc995d09f2d00257c62884b1e9fd5aae637caf52697c03c6459e30c0e8937f6eefbbbf123a4977a3c4868992868e67ee0df7f2e5effa2a694ef6
+AUX libvisual-0.4.0-cond.patch 549 SHA256 c21eea2c44f1d70e790dd06070db4ad64b830083bbb96378364631c4f8b655c5 SHA512 57989250f0cfdd12ebcd0eb89cabca71091a0ad378369d654870a103c633a01bd1a1bbbb7d48d9995c2dfe80fe34b1c44a0a151be4a86c5e5455806a1b14ed94 WHIRLPOOL 04b694814c4648205dcf069565258b266148a407b9a4ce52aa172f52b984396d1f7b6b7b231f0d767d33e8ea6e056c703b5f92125b613987843709a33f7d3ff2
+AUX libvisual-0.4.0-conditions.patch 889 SHA256 18435e075c1392d08692f6ebdb36c370e3805ea6799934949fcc9a14eefcdb47 SHA512 e1cf6fb10a912e3117bf866a92d0b4c8de61fe1e35946a21f00f005efe2a48c3596ff087d9dc16807b9049a542410e24efadc9343208512b2e14974e0b01f018 WHIRLPOOL dfd088fb26b2ba591336f06dd3ef785b970bd98ca7c1ad823644a5bc43d83ed6432268fe4f243d8be41dc7f6e96ec23be41733515260d760981544f015b7dae9
+AUX libvisual-0.4.0-detect_amd64.patch 431 SHA256 34dd11f1cd5dee01fcf860b444683a57a733b8645fce4bb34f3154ef20dcc108 SHA512 b102f61acf60a7faa1495087c96c8cba893c250454ea1b5ed60c14ba0578d2fb794d2722f24e9d6b5bf37369fcf83bb2bba3929fcd49e24c4078f2a9fde317f3 WHIRLPOOL 564a37bd162a12e26c7c2a75c4887ae541cd8b5b6f2ad1bbd3c8feb6c81bff594775dfbadcd75a9a3e6797f48f458cd9b97d0071695e8a35504871bb65d8a37a
+AUX libvisual-0.4.0-inlinedefineconflict.patch 1870 SHA256 910697188457832d39d8cf73a91009439a5dcc27b373f9c3bb2e1938f4ab85c3 SHA512 2951ca778e732685409911c05f24e8e85492e5af4d8eceb0558636b4ace53b8967250250712c5995239bc5f7af01d20774042f3ccc9f90b370ca3cff673bb0b7 WHIRLPOOL f418f18363a3543f9f1947b7fac1186d7316576e2c609e9b9a0d33421bc15eb8c37d32f528a2155b108fd8a05bf6a8e5c415069233e61cd7378fbf3d7076eb8f
+DIST libvisual-0.4.0.tar.gz 583386 SHA256 0b4dfdb87125e129567752089e3c8b54cefed601eef169d2533d8659da8dc1d7 SHA512 ab2286de30d33582a92f16e46436fcbc44b74649952df6e94d96aedc2cabb18d3361496c0b8ab6f52f7178214bf735673c8f1820c3d149304787ba8407201b95 WHIRLPOOL fe47914f3d252292b6ae08ecb176c6f09b0709f9bfaf61806bb7bb0e5f06b78d0705c0616c66b74bcf24e12846d6d44033187b1a5482bb9a9d5d5f20ba60212c
+EBUILD libvisual-0.4.0-r3.ebuild 1426 SHA256 80c8ce4822e7fe451864ac85add741df0f093fef20cb0ddbb9862be4998cecdc SHA512 6a8b470bd4e28f61f631a10b5df9939e01d1f5814bbb9359a94321e4bc0058a95ef2ae3bd503ac90bae8b8993b5241a069fd09a9883f0b5f6dd8aa57b40d0b3a WHIRLPOOL f0d140eb5e58811e77413026e18445dbbc27a0441d1b8be77f233c7745fde7ca482cbc36fa056ee84bbcd42a60bc320a78177ead2fb13c55a36393078756d4f4
+MISC ChangeLog 2674 SHA256 ef0edbb5455f497f5dc453596a96a5b23b01f1f9d80a2b5e32631ac6c387ab2d SHA512 c1e06d7dc301123be93368ec66f8b254b9df938ce6c6dcbfe47b6a92d90032f8f34143088620bc772d610e37febe8c2eaba89d236af2b200f54e0cd58891d71f WHIRLPOOL 50beae21cd356a8017f8a317ee81ddd0d41811fe2a8327edf95ca8a83565daff1d213e29abe0830aa6a3dc3f9790301c1bf39ca2acb29d9fc7eecafa89712f7d
+MISC ChangeLog-2015 8314 SHA256 b7d97e951a56925938d8f725df218bd269057c3e8c25482dfe69c6aeda359576 SHA512 1217bbf0a48690f9be4027ea7dea43077fd4201df036264e15211395ea3acba69d1f0aab9f184ab56bda826a7cd43de9cf55a7c112303db93abe909b734c4cf3 WHIRLPOOL c3f69f90579ad9288d94fb332f17a8e0e3dbd110e23c89300223553c8ed23b97a3e2adc5193113ab0bad5215b58f0e658dbf5c414de7b09d7978ad695c8d8eda
+MISC metadata.xml 332 SHA256 5f9c34daedbd74e82e781ca8c426dc464187f18ff7f43e17d24106719a3bd714 SHA512 62db2eb31068dc2c0adf100ff0a9782bf9f92118fb2c2322fbde5fff6a22dfe16ff826b22218b44a86b7350ffbbc3e9fc6f0135f0a43feff8f83e3e6365b7288 WHIRLPOOL 893c8d995f0dce29dd1c27ebc3b70d04481be5c7c125c7ed4983c77d31885fe7a137045b57c9bf6779ed42f1855de41003e2f4ade7c667aea1b3db32b4905727
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..d56d2ace6d3a
--- /dev/null
+++ b/media-libs/libvisual/libvisual-0.4.0-r3.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 ~arm64 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..2496876dda31
--- /dev/null
+++ b/media-libs/libvisual/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sound@gentoo.org</email>
+ <name>Gentoo Sound project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">libvisual</remote-id>
+ </upstream>
+</pkgmetadata>