summaryrefslogtreecommitdiff
path: root/media-libs/freeverb3
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-libs/freeverb3
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-libs/freeverb3')
-rw-r--r--media-libs/freeverb3/Manifest3
-rw-r--r--media-libs/freeverb3/files/freeverb3-2.3.0-fix-implicit.patch90
-rw-r--r--media-libs/freeverb3/files/freeverb3-2.3.1-plugin-api-v8-v10.patch125
-rw-r--r--media-libs/freeverb3/files/freeverb3-2.5.0-pow-ambiguity.patch12
-rw-r--r--media-libs/freeverb3/files/freeverb3-2.5.13-fix-sse1v2-assembly.patch13
-rw-r--r--media-libs/freeverb3/files/freeverb3-2.5.13-respect-disable-sse.patch24
-rw-r--r--media-libs/freeverb3/files/freeverb3-3.0.0-audacious-3.3.x.patch40
-rw-r--r--media-libs/freeverb3/files/freeverb3-3.1.1-jack-compilation.patch67
-rw-r--r--media-libs/freeverb3/files/freeverb3-3.1.1-jack-linking.patch27
-rw-r--r--media-libs/freeverb3/freeverb3-2.5.13-r2.ebuild58
-rw-r--r--media-libs/freeverb3/freeverb3-2.6.6.ebuild58
-rw-r--r--media-libs/freeverb3/freeverb3-3.1.1-r1.ebuild76
-rw-r--r--media-libs/freeverb3/freeverb3-3.1.1.ebuild71
-rw-r--r--media-libs/freeverb3/metadata.xml15
14 files changed, 679 insertions, 0 deletions
diff --git a/media-libs/freeverb3/Manifest b/media-libs/freeverb3/Manifest
new file mode 100644
index 00000000000..ea5dba1858b
--- /dev/null
+++ b/media-libs/freeverb3/Manifest
@@ -0,0 +1,3 @@
+DIST freeverb3-2.5.13.tar.gz 6143981 SHA256 9c29adc15a94e6140e52f0b1a5a60923a8e9a3beb21ada4182363c60b25126dd
+DIST freeverb3-2.6.6.tar.gz 6208119 SHA256 55c0585c8d53df1bcc5dcb6ffd26fc123583a239c3f064229af71e5f8dca6816 SHA512 755c95ef184487af7e01ea32765b77eba6ffc9738aece3d64f9da019f720075fb7907341689a8adbe81d6fd265a82436da578df2d98ff2e82803a064df4c5dc1 WHIRLPOOL 77795333dc30f3aca514a3a16d8760373bf1ac34fdcc1f3feef3d3bd3071fedf1dcb73ca85b3bf27666c0fba176d86607d68d4c0d5d37a2cfa42a5417d282bb4
+DIST freeverb3-3.1.1.tar.xz 6067288 SHA256 6327b6809f4c15dfc74331f0b88af8d92f593d1bf8eabee15ec2a98217aa8d93 SHA512 83feb43a6c178b82958089a3527788f1426bc76e5a86d353df5818a0ebeb1656742e225d4e3eb3187b768169af1a6f2716215408fdb30869452d10d64a967516 WHIRLPOOL e2ac3bec3f2ba90bfc8f25d9c09290dcdc5e43e4528182cbf112614f9d86e97f27beb13a4869cfe5ac10a29af47e4ed9ab64a064189d57ac1d4282a38442b935
diff --git a/media-libs/freeverb3/files/freeverb3-2.3.0-fix-implicit.patch b/media-libs/freeverb3/files/freeverb3-2.3.0-fix-implicit.patch
new file mode 100644
index 00000000000..1db4dc8a173
--- /dev/null
+++ b/media-libs/freeverb3/files/freeverb3-2.3.0-fix-implicit.patch
@@ -0,0 +1,90 @@
+diff -cr freeverb3-2.3.0/libsamplerate2/samplerate.c freeverb3/libsamplerate2/samplerate.c
+*** freeverb3-2.3.0/libsamplerate2/samplerate.c 2008-09-18 22:52:39.000000000 +0900
+--- freeverb3/libsamplerate2/samplerate.c 2009-03-03 20:23:52.000000000 +0900
+***************
+*** 20,30 ****
+ #include <stdlib.h>
+ #include <string.h>
+
+! #include "config.h"
+!
+ #include "samplerate2.h"
+ #include "common.h"
+- #include "float_cast.h"
+
+ static long SR2_(psrc_set_converter) (SR2_(SRC_PRIVATE) *psrc, long converter_type);
+
+--- 20,28 ----
+ #include <stdlib.h>
+ #include <string.h>
+
+! #include "float_cast.h"
+ #include "samplerate2.h"
+ #include "common.h"
+
+ static long SR2_(psrc_set_converter) (SR2_(SRC_PRIVATE) *psrc, long converter_type);
+
+diff -cr freeverb3-2.3.0/libsamplerate2/samplerate_common.c freeverb3/libsamplerate2/samplerate_common.c
+*** freeverb3-2.3.0/libsamplerate2/samplerate_common.c 2008-09-18 22:50:26.000000000 +0900
+--- freeverb3/libsamplerate2/samplerate_common.c 2009-03-03 20:23:39.000000000 +0900
+***************
+*** 19,28 ****
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+! #include "config.h"
+ #include "common_c.h"
+ #include "samplerate2_common.h"
+- #include "float_cast.h"
+
+ const char * src_get_name (long converter_type)
+ {
+--- 19,27 ----
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+! #include "float_cast.h"
+ #include "common_c.h"
+ #include "samplerate2_common.h"
+
+ const char * src_get_name (long converter_type)
+ {
+diff -cr freeverb3-2.3.0/libsamplerate2/src_linear.c freeverb3/libsamplerate2/src_linear.c
+*** freeverb3-2.3.0/libsamplerate2/src_linear.c 2008-09-18 21:11:55.000000000 +0900
+--- freeverb3/libsamplerate2/src_linear.c 2009-03-03 20:24:07.000000000 +0900
+***************
+*** 20,26 ****
+ #include <stdlib.h>
+ #include <string.h>
+
+- #include "config.h"
+ #include "float_cast.h"
+ #include "samplerate2.h"
+ #include "common.h"
+--- 20,25 ----
+diff -cr freeverb3-2.3.0/libsamplerate2/src_sinc.c freeverb3/libsamplerate2/src_sinc.c
+*** freeverb3-2.3.0/libsamplerate2/src_sinc.c 2008-09-18 23:31:00.000000000 +0900
+--- freeverb3/libsamplerate2/src_sinc.c 2009-03-03 20:24:11.000000000 +0900
+***************
+*** 20,26 ****
+ #include <stdlib.h>
+ #include <string.h>
+
+- #include "config.h"
+ #include "float_cast.h"
+ #include "samplerate2.h"
+ #include "common.h"
+--- 20,25 ----
+diff -cr freeverb3-2.3.0/libsamplerate2/src_zoh.c freeverb3/libsamplerate2/src_zoh.c
+*** freeverb3-2.3.0/libsamplerate2/src_zoh.c 2008-09-18 23:21:46.000000000 +0900
+--- freeverb3/libsamplerate2/src_zoh.c 2009-03-03 20:24:15.000000000 +0900
+***************
+*** 20,26 ****
+ #include <stdlib.h>
+ #include <string.h>
+
+- #include "config.h"
+ #include "float_cast.h"
+ #include "samplerate2.h"
+ #include "common.h"
+--- 20,25 ----
diff --git a/media-libs/freeverb3/files/freeverb3-2.3.1-plugin-api-v8-v10.patch b/media-libs/freeverb3/files/freeverb3-2.3.1-plugin-api-v8-v10.patch
new file mode 100644
index 00000000000..5bc6c8f328b
--- /dev/null
+++ b/media-libs/freeverb3/files/freeverb3-2.3.1-plugin-api-v8-v10.patch
@@ -0,0 +1,125 @@
+From a5dbe75a4b2c26ff969ef0b8eb2acc0b39f477a7 Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Sat, 3 Oct 2009 04:57:55 +0200
+Subject: [PATCH] Support Plugin API v8, v10 and later
+
+---
+ work/freeverb3-2.3.1/xmms/compressor.cpp | 12 ++++++++++++
+ work/freeverb3-2.3.1/xmms/filter.cpp | 3 +++
+ work/freeverb3-2.3.1/xmms/freeverb3.cpp | 3 +++
+ work/freeverb3-2.3.1/xmms/impulser.cpp | 3 +++
+ work/freeverb3-2.3.1/xmms/impulser2.cpp | 3 +++
+ work/freeverb3-2.3.1/xmms/revmodel.cpp | 3 +++
+ work/freeverb3-2.3.1/xmms/stenh.cpp | 3 +++
+ 7 files changed, 30 insertions(+), 0 deletions(-)
+
+diff --git a/work/freeverb3-2.3.1/xmms/compressor.cpp b/work/freeverb3-2.3.1/xmms/compressor.cpp
+index a02570f..a18eca3 100644
+--- a/work/freeverb3-2.3.1/xmms/compressor.cpp
++++ b/work/freeverb3-2.3.1/xmms/compressor.cpp
+@@ -1095,6 +1095,18 @@ static EffectPlugin epe = {
+ cleanup,
+ about,
+ configure,
++/*
++ * Compile fix for Audacious 2.2_alpha1
++ *
++ * Increase PAPI version.
++ * http://hg.atheme.org/audacious/annotate/74969c017b3e/src/audacious/plugin.h#64
++ *
++ * Shuffle some functors and fields around in plugin structures; Start of cleanup.
++ * http://hg.atheme.org/audacious/annotate/8554b25b0087/src/audacious/plugin.h#1025
++ */
++#if __AUDACIOUS_PLUGIN_API__ >= 10
++ NULL,
++#endif
+ FALSE,
+ mod_samples,
+ NULL,
+diff --git a/work/freeverb3-2.3.1/xmms/filter.cpp b/work/freeverb3-2.3.1/xmms/filter.cpp
+index 3b01e4d..b403124 100644
+--- a/work/freeverb3-2.3.1/xmms/filter.cpp
++++ b/work/freeverb3-2.3.1/xmms/filter.cpp
+@@ -462,6 +462,9 @@ static EffectPlugin epe = {
+ cleanup,
+ about,
+ configure,
++#if __AUDACIOUS_PLUGIN_API__ >= 10
++ NULL,
++#endif
+ FALSE,
+ mod_samples,
+ NULL,
+diff --git a/work/freeverb3-2.3.1/xmms/freeverb3.cpp b/work/freeverb3-2.3.1/xmms/freeverb3.cpp
+index f00bc8e..8bda2be 100644
+--- a/work/freeverb3-2.3.1/xmms/freeverb3.cpp
++++ b/work/freeverb3-2.3.1/xmms/freeverb3.cpp
+@@ -700,6 +700,9 @@ static EffectPlugin epe = {
+ cleanup,
+ about,
+ configure,
++#if __AUDACIOUS_PLUGIN_API__ >= 10
++ NULL,
++#endif
+ FALSE,
+ mod_samples,
+ NULL,
+diff --git a/work/freeverb3-2.3.1/xmms/impulser.cpp b/work/freeverb3-2.3.1/xmms/impulser.cpp
+index c1b6856..6341219 100644
+--- a/work/freeverb3-2.3.1/xmms/impulser.cpp
++++ b/work/freeverb3-2.3.1/xmms/impulser.cpp
+@@ -617,6 +617,9 @@ static EffectPlugin epe = {
+ cleanup,
+ about,
+ configure,
++#if __AUDACIOUS_PLUGIN_API__ >= 10
++ NULL,
++#endif
+ FALSE,
+ mod_samples,
+ NULL,
+diff --git a/work/freeverb3-2.3.1/xmms/impulser2.cpp b/work/freeverb3-2.3.1/xmms/impulser2.cpp
+index cf8e453..1385484 100644
+--- a/work/freeverb3-2.3.1/xmms/impulser2.cpp
++++ b/work/freeverb3-2.3.1/xmms/impulser2.cpp
+@@ -1538,6 +1538,9 @@ static EffectPlugin epe = {
+ cleanup,
+ about,
+ configure,
++#if __AUDACIOUS_PLUGIN_API__ >= 10
++ NULL,
++#endif
+ FALSE,
+ mod_samples,
+ NULL,
+diff --git a/work/freeverb3-2.3.1/xmms/revmodel.cpp b/work/freeverb3-2.3.1/xmms/revmodel.cpp
+index d596df4..bc808ae 100644
+--- a/work/freeverb3-2.3.1/xmms/revmodel.cpp
++++ b/work/freeverb3-2.3.1/xmms/revmodel.cpp
+@@ -592,6 +592,9 @@ static EffectPlugin epe = {
+ cleanup,
+ about,
+ configure,
++#if __AUDACIOUS_PLUGIN_API__ >= 10
++ NULL,
++#endif
+ FALSE,
+ mod_samples,
+ NULL,
+diff --git a/work/freeverb3-2.3.1/xmms/stenh.cpp b/work/freeverb3-2.3.1/xmms/stenh.cpp
+index 3eca478..d376896 100644
+--- a/work/freeverb3-2.3.1/xmms/stenh.cpp
++++ b/work/freeverb3-2.3.1/xmms/stenh.cpp
+@@ -905,6 +905,9 @@ static EffectPlugin epe = {
+ cleanup,
+ about,
+ configure,
++#if __AUDACIOUS_PLUGIN_API__ >= 10
++ NULL,
++#endif
+ FALSE,
+ mod_samples,
+ NULL,
+--
+1.6.4.4
+
diff --git a/media-libs/freeverb3/files/freeverb3-2.5.0-pow-ambiguity.patch b/media-libs/freeverb3/files/freeverb3-2.5.0-pow-ambiguity.patch
new file mode 100644
index 00000000000..2c79e793e27
--- /dev/null
+++ b/media-libs/freeverb3/files/freeverb3-2.5.0-pow-ambiguity.patch
@@ -0,0 +1,12 @@
+--- xmms/impulser2.cpp
++++ xmms/impulser2.cpp
+@@ -1221,7 +1221,8 @@
+ presetLatencyValue2[latencyIndex]);
+ }
+ CFILELOADER fileLoader;
+- double l_stretch = std::pow(std::sqrt(2), (*slotVector)[i].stretch);
++ // NOTE: Casting to double to help compile select from pow(double,double) and pow(float,float)
++ double l_stretch = std::pow(static_cast<double>(std::sqrt(2)), static_cast<double>((*slotVector)[i].stretch));
+ int ret = fileLoader.load((*slotVector)[i].filename.c_str(), srate,
+ l_stretch, (*slotVector)[i].limit, SRC_SINC_BEST_QUALITY);
+
diff --git a/media-libs/freeverb3/files/freeverb3-2.5.13-fix-sse1v2-assembly.patch b/media-libs/freeverb3/files/freeverb3-2.5.13-fix-sse1v2-assembly.patch
new file mode 100644
index 00000000000..e18f504fbe2
--- /dev/null
+++ b/media-libs/freeverb3/files/freeverb3-2.5.13-fix-sse1v2-assembly.patch
@@ -0,0 +1,13 @@
+--- freeverb/frag.cpp 2010-12-10 18:44:37.006729672 +0100
++++ freeverb/frag.cpp 2010-12-10 18:45:10.220476080 +0100
+@@ -434,8 +434,8 @@
+ "mulps (%2), %%xmm1 \n\t"
+ "addps (%0), %%xmm1 \n\t" // saved in xmm1
+ "xor %0, %0 \n\t"
+- "movl $0x80000000, %0 \n\t" // 32bit float -1 mask
+- "movl %0, (%4) \n\t"
++ "mov $0x80000000, %0 \n\t" // 32bit float -1 mask
++ "mov %0, (%4) \n\t"
+ "xorps %%xmm2, %%xmm2 \n\t" // pxor xmm,xmm (mmx,sse2)
+ "movss (%4), %%xmm2 \n\t" // movd eax,xmm (sse2)
+ "movlhps %%xmm2, %%xmm2 \n\t" // bitmask = xmm2 ([0]=-1,[1]=0,[2]=-1,[3]=0)
diff --git a/media-libs/freeverb3/files/freeverb3-2.5.13-respect-disable-sse.patch b/media-libs/freeverb3/files/freeverb3-2.5.13-respect-disable-sse.patch
new file mode 100644
index 00000000000..3e8b9f05db0
--- /dev/null
+++ b/media-libs/freeverb3/files/freeverb3-2.5.13-respect-disable-sse.patch
@@ -0,0 +1,24 @@
+--- configure.in_BACKUP 2010-12-10 09:49:30.204907020 +0100
++++ configure.in 2010-12-10 09:50:59.063128511 +0100
+@@ -137,9 +137,18 @@
+ [cv_avx="$enable_avx"], [cv_avx="no"])
+
+ case "${target_cpu}" in
+- x86_64*) cv_sse=yes cv_sse2=yes;;
+- amd64*) cv_sse=yes cv_sse2=yes;;
+- *) ;;
++ amd64*|x86_64*)
++ if test "x$cv_sse" = "x"; then
++ AC_MSG_NOTICE([Auto-enabling SSE codes])
++ cv_sse=yes
++ fi
++ if test "x$cv_sse2" = "x"; then
++ AC_MSG_NOTICE([Auto-enabling SSE2 codes])
++ cv_sse2=yes
++ fi
++ ;;
++ *)
++ ;;
+ esac
+
+ dnl option checks
diff --git a/media-libs/freeverb3/files/freeverb3-3.0.0-audacious-3.3.x.patch b/media-libs/freeverb3/files/freeverb3-3.0.0-audacious-3.3.x.patch
new file mode 100644
index 00000000000..9e343c0b083
--- /dev/null
+++ b/media-libs/freeverb3/files/freeverb3-3.0.0-audacious-3.3.x.patch
@@ -0,0 +1,40 @@
+From 43416e5d5ce5d13f81e1cd0f69da7ff0351f6d65 Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Sat, 8 Jun 2013 14:00:33 +0200
+Subject: [PATCH] Make Audacious plugin work with Audacious 3.3.x, too
+
+---
+ audacious/so.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/audacious/so.c b/audacious/so.c
+index 8c679df..37aa056 100644
+--- a/audacious/so.c
++++ b/audacious/so.c
+@@ -44,8 +44,12 @@ static void dsp_start(gint * channels, gint * rate){ if(ptable != NULL) ptable->
+ static void dsp_process(gfloat ** data, gint * samples){ if(ptable != NULL) ptable->process(data,samples); }
+ static void dsp_flush(){ if(ptable != NULL) ptable->flush(); }
+ static void dsp_finish(gfloat ** data, gint * samples){ if(ptable != NULL) ptable->finish(data,samples); }
++#if defined(_AUD_PLUGIN_VERSION_MIN) && (_AUD_PLUGIN_VERSION_MIN < 40)
+ static gint decoder_to_output_time(gint time){ return time; }
+ static gint output_to_decoder_time(gint time){ return time; }
++#else
++static int adjust_delay(int delay){ return delay; }
++#endif
+
+ AUD_EFFECT_PLUGIN
+ (
+@@ -57,6 +61,10 @@ AUD_EFFECT_PLUGIN
+ .start = dsp_start,
+ .process = dsp_process,
+ .finish = dsp_finish,
++#if defined(_AUD_PLUGIN_VERSION_MIN) && (_AUD_PLUGIN_VERSION_MIN < 40)
+ .decoder_to_output_time = decoder_to_output_time,
+ .output_to_decoder_time = output_to_decoder_time,
++#else
++ .adjust_delay = adjust_delay,
++#endif
+ )
+--
+1.8.2.1
+
diff --git a/media-libs/freeverb3/files/freeverb3-3.1.1-jack-compilation.patch b/media-libs/freeverb3/files/freeverb3-3.1.1-jack-compilation.patch
new file mode 100644
index 00000000000..76878202176
--- /dev/null
+++ b/media-libs/freeverb3/files/freeverb3-3.1.1-jack-compilation.patch
@@ -0,0 +1,67 @@
+From c2ab38ee2cd768ea4875450b146b12edbc28d656 Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Tue, 9 Jun 2015 01:41:45 +0200
+Subject: [PATCH] Fix function name mis-match for JACK compilation
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes compile error:
+
+../audacious/impulser2.cpp: In function ‘void slot_save(SlotConfiguration*, int)’:
+../audacious/impulser2.cpp:278:86: error: ‘aud_set_str’ was not declared in this scope
+ t_str (configSectionString, key_i("file",i), (gchar*)slot->filename.c_str());
+ ^
+../audacious/impulser2.cpp: In function ‘void slot_load(SlotConfiguration*, int)’:
+../audacious/impulser2.cpp:293:62: error: ‘aud_get_str’ was not declared in this scope
+ filename = aud_get_str(configSectionString, key_i("file",i));
+---
+ jack/configdb.h | 4 ++--
+ jack/configdb_rcfile.c | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/jack/configdb.h b/jack/configdb.h
+index c3e6c19..0f793fa 100644
+--- a/jack/configdb.h
++++ b/jack/configdb.h
+@@ -23,13 +23,13 @@ void bmp_cfg_db_set_float (ConfigDb *db, const gchar *section, const gchar *key,
+ void bmp_cfg_db_set_double(ConfigDb *db, const gchar *section, const gchar *key, gdouble value);
+ void bmp_cfg_db_unset_key (ConfigDb *db, const gchar *section, const gchar *key);
+
+-gchar * aud_get_string(const gchar *section, const gchar *key);
++gchar * aud_get_str (const gchar *section, const gchar *key);
+ gint aud_get_int (const gchar *section, const gchar *key);
+ gboolean aud_get_bool (const gchar *section, const gchar *key);
+ gfloat aud_get_float (const gchar *section, const gchar *key);
+ gdouble aud_get_double(const gchar *section, const gchar *key);
+
+-void aud_set_string(const gchar *section, const gchar *key, gchar *value);
++void aud_set_str (const gchar *section, const gchar *key, gchar *value);
+ void aud_set_int (const gchar *section, const gchar *key, gint value);
+ void aud_set_bool (const gchar *section, const gchar *key, gboolean value);
+ void aud_set_float (const gchar *section, const gchar *key, gfloat value);
+diff --git a/jack/configdb_rcfile.c b/jack/configdb_rcfile.c
+index c0125c8..69bb085 100644
+--- a/jack/configdb_rcfile.c
++++ b/jack/configdb_rcfile.c
+@@ -109,7 +109,7 @@ void bmp_cfg_db_unset_key(ConfigDb * db, const gchar * section, const gchar * ke
+ }
+
+ gchar * cfg_string;
+-gchar * aud_get_string(const gchar *section, const gchar *key)
++gchar * aud_get_str(const gchar *section, const gchar *key)
+ {
+ ConfigDb * cfg = bmp_cfg_db_open();
+ bmp_cfg_db_get_string(cfg,section,key,&cfg_string);
+@@ -153,7 +153,7 @@ gdouble aud_get_double(const gchar *section, const gchar *key)
+ return cfg_double;
+ }
+
+-void aud_set_string(const gchar *section, const gchar *key, gchar *value)
++void aud_set_str(const gchar *section, const gchar *key, gchar *value)
+ {
+ ConfigDb * cfg = bmp_cfg_db_open();
+ bmp_cfg_db_set_string(cfg,section,key,value);
+--
+2.4.0
+
diff --git a/media-libs/freeverb3/files/freeverb3-3.1.1-jack-linking.patch b/media-libs/freeverb3/files/freeverb3-3.1.1-jack-linking.patch
new file mode 100644
index 00000000000..d52d6d424fb
--- /dev/null
+++ b/media-libs/freeverb3/files/freeverb3-3.1.1-jack-linking.patch
@@ -0,0 +1,27 @@
+From e10a2a4eb6985731881ad145eac5e8e8ec45a1fd Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Tue, 9 Jun 2015 00:06:51 +0200
+Subject: [PATCH] Fix linking of JACK effect module
+
+/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.4/../../../../x86_64-pc-linux-gnu/bin/ld: ./.libs/libjack_common.a(libjack_common_la-jack_main.o): undefined
+reference to symbol 'gdk_threads_init'
+/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.4/../../../../lib64/libgdk-3.so: error adding symbols: DSO missing from command line
+---
+ jack/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/jack/Makefile.am b/jack/Makefile.am
+index 651a034..a18fe15 100644
+--- a/jack/Makefile.am
++++ b/jack/Makefile.am
+@@ -36,6 +36,7 @@ libbmp_int_la_CPPFLAGS = -DJACK $(AM_CPPFLAGS)
+ libbmp_int_la_SOURCES = configdb.h configdb_rcfile.c rcfile.c rcfile.h util.c util.h
+ libjack_common_la_CPPFLAGS = -DJACK $(AM_CPPFLAGS)
+ libjack_common_la_SOURCES = plugin.h jack_main.cpp ../samples/CArg.cpp ../samples/CArg.hpp ../audacious/so.c
++libjack_common_la_LIBADD = $(jack_LIBS) $(gtk3_LIBS)
+
+ I_LIBS += libbmp_int.la libjack_common.la
+
+--
+2.4.0
+
diff --git a/media-libs/freeverb3/freeverb3-2.5.13-r2.ebuild b/media-libs/freeverb3/freeverb3-2.5.13-r2.ebuild
new file mode 100644
index 00000000000..44cf4eeb06d
--- /dev/null
+++ b/media-libs/freeverb3/freeverb3-2.5.13-r2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils autotools versionator
+
+MY_PV=$(replace_version_separator 3 '')
+
+DESCRIPTION="High Quality Reverb and Impulse Response Convolution library including XMMS/Audacious Effect plugins"
+HOMEPAGE="http://freeverb3.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}-${MY_PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="audacious jack plugdouble cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_sse4_1 cpu_flags_x86_3dnow forcefpu"
+
+RDEPEND=">=sci-libs/fftw-3.0.1
+ audacious? ( <media-sound/audacious-2.5
+ media-libs/libsndfile )
+ jack? ( media-sound/jack-audio-connection-kit
+ media-libs/libsndfile )"
+DEPEND=${RDEPEND}
+
+S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-respect-disable-sse.patch
+ eautoreconf
+
+ epatch "${FILESDIR}"/${P}-fix-sse1v2-assembly.patch
+}
+
+src_configure() {
+ econf \
+ --enable-release \
+ --disable-bmp \
+ --disable-pluginit \
+ $(use_enable audacious) \
+ $(use_enable jack) \
+ $(use_enable plugdouble) \
+ $(use_enable cpu_flags_x86_3dnow 3dnow) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable cpu_flags_x86_sse2 sse2) \
+ $(use_enable cpu_flags_x86_sse3 sse3) \
+ $(use_enable cpu_flags_x86_sse4_1 sse4) \
+ $(use_enable forcefpu) \
+ || die "econf failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc ChangeLog README || die 'dodoc failed'
+
+ insinto /usr/share/${PN}/samples/IR
+ doins samples/IR/*.wav || die
+}
diff --git a/media-libs/freeverb3/freeverb3-2.6.6.ebuild b/media-libs/freeverb3/freeverb3-2.6.6.ebuild
new file mode 100644
index 00000000000..1b2f2c45a45
--- /dev/null
+++ b/media-libs/freeverb3/freeverb3-2.6.6.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit multilib versionator
+
+DESCRIPTION="High Quality Reverb and Impulse Response Convolution library including XMMS/Audacious Effect plugins"
+HOMEPAGE="http://freeverb3.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="audacious cpu_flags_x86_avx jack plugdouble cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_sse4_1 cpu_flags_x86_3dnow forcefpu"
+
+RDEPEND=">=sci-libs/fftw-3.0.1
+ audacious? ( <media-sound/audacious-3
+ media-libs/libsndfile )
+ jack? ( media-sound/jack-audio-connection-kit
+ media-libs/libsndfile )"
+DEPEND=${RDEPEND}
+
+S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)"
+
+src_configure() {
+ # TODO: Expose --enable-pthread (of >=2.6.0) to the outside
+ econf \
+ --enable-release \
+ --disable-bmp \
+ --disable-pluginit \
+ $(use_enable audacious) \
+ $(use_enable jack) \
+ $(use_enable plugdouble) \
+ --disable-autocflags \
+ $(use_enable cpu_flags_x86_3dnow 3dnow) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable cpu_flags_x86_sse2 sse2) \
+ $(use_enable cpu_flags_x86_sse3 sse3) \
+ $(use_enable cpu_flags_x86_sse4_1 sse4) \
+ $(use_enable cpu_flags_x86_avx avx) \
+ --disable-fma \
+ --disable-fma4 \
+ $(use_enable forcefpu) \
+ || die "econf failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc ChangeLog README || die 'dodoc failed'
+
+ if use audacious ; then
+ find "${D}/usr/$(get_libdir)/audacious/" -name '*.la' -print -delete || die
+ fi
+
+ insinto /usr/share/${PN}/samples/IR
+ doins samples/IR/*.wav || die
+}
diff --git a/media-libs/freeverb3/freeverb3-3.1.1-r1.ebuild b/media-libs/freeverb3/freeverb3-3.1.1-r1.ebuild
new file mode 100644
index 00000000000..0081048c9a3
--- /dev/null
+++ b/media-libs/freeverb3/freeverb3-3.1.1-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils multilib versionator
+
+DESCRIPTION="High Quality Reverb and Impulse Response Convolution library including XMMS/Audacious Effect plugins"
+HOMEPAGE="https://savannah.nongnu.org/projects/freeverb3"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+_IUSE_INSTRUCTION_SETS="cpu_flags_x86_3dnow cpu_flags_x86_avx cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_sse4_1"
+IUSE="${_IUSE_INSTRUCTION_SETS} audacious forcefpu jack openmp plugdouble threads"
+
+_GTK_DEPEND=">=dev-libs/glib-2.4.7:2
+ >=x11-libs/gtk+-3.0.0:3
+ x11-libs/pango
+ x11-libs/cairo"
+
+RDEPEND=">=sci-libs/fftw-3.0.1
+ audacious? ( >=media-sound/audacious-3.5
+ ${_GTK_DEPEND}
+ media-libs/libsndfile )
+ jack? ( media-sound/jack-audio-connection-kit
+ ${_GTK_DEPEND}
+ media-libs/libsndfile )"
+DEPEND=${RDEPEND}
+
+S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-jack-compilation.patch
+ epatch "${FILESDIR}"/${P}-jack-linking.patch
+}
+
+src_configure() {
+ econf \
+ --disable-profile \
+ --enable-release \
+ --disable-autocflags \
+ --enable-undenormal \
+ $(use_enable threads pthread) \
+ $(use_enable forcefpu) \
+ --disable-force3dnow \
+ $(use_enable cpu_flags_x86_3dnow 3dnow) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable cpu_flags_x86_sse2 sse2) \
+ $(use_enable cpu_flags_x86_sse3 sse3) \
+ $(use_enable cpu_flags_x86_sse4_1 sse4) \
+ $(use_enable cpu_flags_x86_avx avx) \
+ --disable-fma \
+ --disable-fma4 \
+ $(use_enable openmp omp) \
+ --disable-sample \
+ $(use_enable jack) \
+ $(use_enable audacious) \
+ --disable-srcnewcoeffs \
+ $(use_enable plugdouble) \
+ --disable-pluginit \
+ || die "econf failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc ChangeLog README || die 'dodoc failed'
+
+ if use audacious ; then
+ find "${D}/usr/$(get_libdir)/audacious/" -name '*.la' -print -delete || die
+ fi
+
+ insinto /usr/share/${PN}/samples/IR
+ doins samples/IR/*.wav || die
+}
diff --git a/media-libs/freeverb3/freeverb3-3.1.1.ebuild b/media-libs/freeverb3/freeverb3-3.1.1.ebuild
new file mode 100644
index 00000000000..c0e35d5a162
--- /dev/null
+++ b/media-libs/freeverb3/freeverb3-3.1.1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit multilib versionator
+
+DESCRIPTION="High Quality Reverb and Impulse Response Convolution library including XMMS/Audacious Effect plugins"
+HOMEPAGE="https://savannah.nongnu.org/projects/freeverb3"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+_IUSE_INSTRUCTION_SETS="cpu_flags_x86_3dnow cpu_flags_x86_avx cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_sse4_1"
+IUSE="${_IUSE_INSTRUCTION_SETS} audacious forcefpu jack openmp plugdouble threads"
+
+_GTK_DEPEND=">=dev-libs/glib-2.4.7:2
+ >=x11-libs/gtk+-3.0.0:3
+ x11-libs/pango
+ x11-libs/cairo"
+
+RDEPEND=">=sci-libs/fftw-3.0.1
+ audacious? ( >=media-sound/audacious-3.5
+ ${_GTK_DEPEND}
+ media-libs/libsndfile )
+ jack? ( media-sound/jack-audio-connection-kit
+ ${_GTK_DEPEND}
+ media-libs/libsndfile )"
+DEPEND=${RDEPEND}
+
+S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)"
+
+src_configure() {
+ econf \
+ --disable-profile \
+ --enable-release \
+ --disable-autocflags \
+ --enable-undenormal \
+ $(use_enable threads pthread) \
+ $(use_enable forcefpu) \
+ --disable-force3dnow \
+ $(use_enable cpu_flags_x86_3dnow 3dnow) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable cpu_flags_x86_sse2 sse2) \
+ $(use_enable cpu_flags_x86_sse3 sse3) \
+ $(use_enable cpu_flags_x86_sse4_1 sse4) \
+ $(use_enable cpu_flags_x86_avx avx) \
+ --disable-fma \
+ --disable-fma4 \
+ $(use_enable openmp omp) \
+ --disable-sample \
+ $(use_enable jack) \
+ $(use_enable audacious) \
+ --disable-srcnewcoeffs \
+ $(use_enable plugdouble) \
+ --disable-pluginit \
+ || die "econf failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc ChangeLog README || die 'dodoc failed'
+
+ if use audacious ; then
+ find "${D}/usr/$(get_libdir)/audacious/" -name '*.la' -print -delete || die
+ fi
+
+ insinto /usr/share/${PN}/samples/IR
+ doins samples/IR/*.wav || die
+}
diff --git a/media-libs/freeverb3/metadata.xml b/media-libs/freeverb3/metadata.xml
new file mode 100644
index 00000000000..5251146e238
--- /dev/null
+++ b/media-libs/freeverb3/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sound</herd>
+ <maintainer>
+ <email>sping@gentoo.org</email>
+ <name>Sebastian Pipping</name>
+ </maintainer>
+ <use>
+ <flag name='audacious'>Build Audacious plugin</flag>
+ <flag name='forcefpu'>Disable assembly code</flag>
+ <flag name='plugdouble'>Build plugins in double precision mode
+ (default is float)</flag>
+ </use>
+</pkgmetadata>