summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2015-10-25 13:45:00 +0100
committerPacho Ramos <pacho@gentoo.org>2015-10-25 13:45:00 +0100
commit075676d66fb8c17de1758e8eb801547e6fa23c75 (patch)
tree6aaf8d998c4da357a2d3e4e1176e0e0eaa26f704 /media-sound
parentgames-strategy/asc: Support wxGTK:3.0 (#563336) (diff)
downloadgentoo-075676d66fb8c17de1758e8eb801547e6fa23c75.tar.gz
gentoo-075676d66fb8c17de1758e8eb801547e6fa23c75.tar.bz2
gentoo-075676d66fb8c17de1758e8eb801547e6fa23c75.zip
media-sound/sooperlooper: Version bump and support wxGTK:3.0 (#563432)
Package-Manager: portage-2.2.23
Diffstat (limited to 'media-sound')
-rw-r--r--media-sound/sooperlooper/Manifest1
-rw-r--r--media-sound/sooperlooper/files/sooperlooper-1.7.3-sigc++-2.5.patch166
-rw-r--r--media-sound/sooperlooper/files/sooperlooper-1.7.3-wx3.0.patch177
-rw-r--r--media-sound/sooperlooper/sooperlooper-1.7.3.ebuild59
4 files changed, 403 insertions, 0 deletions
diff --git a/media-sound/sooperlooper/Manifest b/media-sound/sooperlooper/Manifest
index ff0749236147..d612e4c2c157 100644
--- a/media-sound/sooperlooper/Manifest
+++ b/media-sound/sooperlooper/Manifest
@@ -1,3 +1,4 @@
DIST sooperlooper-1.6.17.tar.gz 704953 SHA256 f35b1ffb977499f649cd22ed19441ca55618db4e0d4e0805973f228135b3dbdf SHA512 e7e8494b1ec00ad54ab1a5e42fe295ffe397e98225c81e1d69dd88f696b2e08502fef16f723536ffcc09d7b537a762f43a139c9c08be28f9ae7e41057fc58db5 WHIRLPOOL d194b2fa1015d253059a31014421e7d443f3620ac68e403c4f27d498a8d90f54b3334b9f60f10af0612a5b99c9523aa2b8ec6f7399738237656dde6187589a43
DIST sooperlooper-1.6.18.tar.gz 705462 SHA256 087a52186fefb138ac16deebc1ed4b9ff4945ffb4fe3e2170f60fcf97a3a8c38 SHA512 cccfc6ced0e2441bdc004b892b67141b476a89c19187fa249a30613f3cd1b77b5e6767262249ad42ee50007ea538ae3eff5dce47a529937d7d32e81ed73a5a31 WHIRLPOOL 69f8a1d421a3fe6ad07ae7721fdff760219cbfedf6a4ffdf23217476b56bcbc4bc0f58e00505cfaca05e47c69e13ee17eaa3de9baf01bc2ac3b8dde6a9131db4
DIST sooperlooper-1.6.5-m4.tar.bz2 1463 SHA256 ee8e3084c3d3d4db29f3d7b4dde0d260b9dfb72be8c9362c7fd711fb7784e0bb SHA512 01b4405dcd91e617c8dafb9fcfab99507d0a9637d9b0eec84276c348968e31159b68ce5c8b7f900ab8a830f2b5c91b798146d5272d006a2b866f149e485f228d WHIRLPOOL 8faddc39687193c643265c52ab2930f98094f4d2544e7d1e1005d5acffa00d6577d95484b51919aea4d810320ebef362ce9a9ab98ac3bc41aa0441a9666a4abc
+DIST sooperlooper-1.7.3.tar.gz 732406 SHA256 7a7dbdedb5dab28fb1f98ba5827d88df4c7327909ab87f6def167517786f4f58 SHA512 cbc9f6b3e4cafc6f18ddb2e2415d2bac274c8cc578b5dadc6ad878b1bed34e514208bc990c3a7dab0106cbf34ad16be12846851e446d724d77386e70d975e14b WHIRLPOOL 97df9fa8a8a57f4a1cf6929dd68628f72c12e755e9676f69062613456e7c01af0f83a11b01af8e14cd81740e09b26c23943af37f37c164fc61dd2adf4d167e08
diff --git a/media-sound/sooperlooper/files/sooperlooper-1.7.3-sigc++-2.5.patch b/media-sound/sooperlooper/files/sooperlooper-1.7.3-sigc++-2.5.patch
new file mode 100644
index 000000000000..d105e8271407
--- /dev/null
+++ b/media-sound/sooperlooper/files/sooperlooper-1.7.3-sigc++-2.5.patch
@@ -0,0 +1,166 @@
+Description: support for sigc++>=2.5.2
+ since sigc++-2.5.2, the sigc++/object.h has been removed
+ (and replaced by sigc++/trackable.h>
+Author: IOhannes m zmölnig
+Last-Update: 2015-10-21
+Forwarded: Jesse Chappell <jesse@essej.net>
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- sooperlooper.orig/configure.ac
++++ sooperlooper/configure.ac
+@@ -220,7 +220,15 @@
+ AC_SUBST(NCURSES_LIBS)
+
+ dnl sigc++
+- PKG_CHECK_MODULES(SIGCPP, sigc++-2.0 >= 2.2.10)
++ have_sigcpp=no
++ PKG_CHECK_MODULES(SIGCPP, [sigc++-2.0 >= 2.2.10],[have_sigcpp=yes])
++ if test "x${have_sigcpp}" = "xyes"
++ then
++ presigcpp_CFLAGS=$CFLAGS
++ CFLAGS=$CFLAGS $SIGCPP_CFLAGS
++ AC_CHECK_HEADER([sigc++/object.h], [SIGCPP_CFLAGS="$SIGCPP_CFLAGS -DUSE_SIGCPP_OBJECT_H"])
++ CFLAGS=$presigcpp_CFLAGS
++ fi
+
+ AC_SUBST(SIGCPP_LIBS)
+ AC_SUBST(SIGCPP_CFLAGS)
+--- sooperlooper.orig/libs/pbd/configure.ac
++++ sooperlooper/libs/pbd/configure.ac
+@@ -193,7 +193,15 @@
+ PKG_CHECK_MODULES(XML, libxml-2.0 >= 2.5)
+
+ dnl sigc++
+-PKG_CHECK_MODULES(SIGCPP, sigc++-2.0 >= 2.2.10)
++have_sigcpp=no
++PKG_CHECK_MODULES(SIGCPP, [sigc++-2.0 >= 2.2.10],[have_sigcpp=yes])
++if test "x${have_sigcpp}" = "xyes"
++then
++ presigcpp_CFLAGS=$CFLAGS
++ CFLAGS=$CFLAGS $SIGCPP_CFLAGS
++ AC_CHECK_HEADER([sigc++/object.h], [SIGCPP_CFLAGS="$SIGCPP_CFLAGS -DUSE_SIGCPP_OBJECT_H"])
++ CFLAGS=$presigcpp_CFLAGS
++fi
+
+
+ AM_BUILD_ENVIRONMENT
+--- sooperlooper.orig/src/control_osc.hpp
++++ sooperlooper/src/control_osc.hpp
+@@ -27,7 +27,11 @@
+ #include <list>
+ #include <utility>
+
+-#include <sigc++/object.h>
++#ifdef USE_SIGCPP_OBJECT_H
++# include <sigc++/object.h>
++#else
++# include <sigc++/trackable.h>
++#endif
+
+ #include "event.hpp"
+ #include "event_nonrt.hpp"
+--- sooperlooper.orig/src/gui/app_frame.hpp
++++ sooperlooper/src/gui/app_frame.hpp
+@@ -26,7 +26,11 @@
+ #include <string>
+ #include <vector>
+
+-#include <sigc++/object.h>
++#ifdef USE_SIGCPP_OBJECT_H
++# include <sigc++/object.h>
++#else
++# include <sigc++/trackable.h>
++#endif
+ #include <sigc++/signal.h>
+ #include <sigc++/connection.h>
+
+--- sooperlooper.orig/src/gui/config_panel.hpp
++++ sooperlooper/src/gui/config_panel.hpp
+@@ -26,7 +26,11 @@
+
+ #include <string>
+ #include <vector>
+-#include <sigc++/object.h>
++#ifdef USE_SIGCPP_OBJECT_H
++# include <sigc++/object.h>
++#else
++# include <sigc++/trackable.h>
++#endif
+
+ class wxListCtrl;
+ class wxSpinCtrl;
+--- sooperlooper.orig/src/gui/keys_panel.hpp
++++ sooperlooper/src/gui/keys_panel.hpp
+@@ -26,7 +26,11 @@
+
+ #include <string>
+ #include <vector>
+-#include <sigc++/object.h>
++#ifdef USE_SIGCPP_OBJECT_H
++# include <sigc++/object.h>
++#else
++# include <sigc++/trackable.h>
++#endif
+
+ class wxListCtrl;
+
+--- sooperlooper.orig/src/gui/latency_panel.hpp
++++ sooperlooper/src/gui/latency_panel.hpp
+@@ -26,7 +26,11 @@
+
+ #include <string>
+ #include <vector>
+-#include <sigc++/object.h>
++#ifdef USE_SIGCPP_OBJECT_H
++# include <sigc++/object.h>
++#else
++# include <sigc++/trackable.h>
++#endif
+
+ class wxListCtrl;
+
+--- sooperlooper.orig/src/gui/main_panel.hpp
++++ sooperlooper/src/gui/main_panel.hpp
+@@ -26,7 +26,11 @@
+ #include <string>
+ #include <vector>
+
+-#include <sigc++/object.h>
++#ifdef USE_SIGCPP_OBJECT_H
++# include <sigc++/object.h>
++#else
++# include <sigc++/trackable.h>
++#endif
+ #include <sigc++/signal.h>
+ #include <sigc++/connection.h>
+
+--- sooperlooper.orig/src/gui/midi_bind_panel.hpp
++++ sooperlooper/src/gui/midi_bind_panel.hpp
+@@ -26,7 +26,11 @@
+
+ #include <string>
+ #include <vector>
+-#include <sigc++/object.h>
++#ifdef USE_SIGCPP_OBJECT_H
++# include <sigc++/object.h>
++#else
++# include <sigc++/trackable.h>
++#endif
+ #include <list>
+
+ #include <midi_bind.hpp>
+--- sooperlooper.orig/src/gui/prefs_dialog.hpp
++++ sooperlooper/src/gui/prefs_dialog.hpp
+@@ -26,7 +26,11 @@
+
+ #include <string>
+ #include <vector>
+-#include <sigc++/object.h>
++#ifdef USE_SIGCPP_OBJECT_H
++# include <sigc++/object.h>
++#else
++# include <sigc++/trackable.h>
++#endif
+
+ class wxListCtrl;
+ class wxSpinCtrl;
diff --git a/media-sound/sooperlooper/files/sooperlooper-1.7.3-wx3.0.patch b/media-sound/sooperlooper/files/sooperlooper-1.7.3-wx3.0.patch
new file mode 100644
index 000000000000..fee40e8f98be
--- /dev/null
+++ b/media-sound/sooperlooper/files/sooperlooper-1.7.3-wx3.0.patch
@@ -0,0 +1,177 @@
+Author: Jaromír Mikeš <mira.mikes@seznam.cz>, Olly Betts <olly@survex.com>
+Description: build against wx 3.0.
+Forwarded: yes
+
+Index: sooperlooper/src/gui/main_panel.cpp
+===================================================================
+--- sooperlooper.orig/src/gui/main_panel.cpp
++++ sooperlooper/src/gui/main_panel.cpp
+@@ -448,7 +448,7 @@ MainPanel::init_loopers (int count)
+ while (count < (int)_looper_panels.size()) {
+ looperpan = _looper_panels.back();
+ _looper_panels.pop_back();
+- _main_sizer->Remove(looperpan);
++ _main_sizer->Detach(looperpan);
+ looperpan->Destroy();
+ }
+ }
+@@ -1277,7 +1277,7 @@ void MainPanel::misc_action (bool releas
+ }
+
+
+- wxString filename = do_file_selector (wxT("Choose file to save loop"), wxT("wav"), wxT("WAVE files (*.wav)|*.wav;*.WAV;*.Wav"), wxSAVE|wxCHANGE_DIR|wxOVERWRITE_PROMPT);
++ wxString filename = do_file_selector (wxT("Choose file to save loop"), wxT("wav"), wxT("WAVE files (*.wav)|*.wav;*.WAV;*.Wav"), wxFD_SAVE|wxFD_CHANGE_DIR|wxFD_OVERWRITE_PROMPT);
+
+ if ( !filename.empty() )
+ {
+@@ -1296,7 +1296,7 @@ void MainPanel::misc_action (bool releas
+ index = 0;
+ }
+
+- wxString filename = do_file_selector (wxT("Choose file to open"), wxT(""), wxT("*.slsess"), wxOPEN|wxCHANGE_DIR);
++ wxString filename = do_file_selector (wxT("Choose file to open"), wxT(""), wxT("*.slsess"), wxFD_OPEN|wxFD_CHANGE_DIR);
+
+ if ( !filename.empty() )
+ {
+@@ -1408,7 +1408,7 @@ void MainPanel::set_curr_loop (int index
+
+ void MainPanel::do_load_session ()
+ {
+- wxString filename = do_file_selector (wxT("Choose session to load"), wxT("*.slsess"), wxT("*.slsess"), wxOPEN|wxCHANGE_DIR);
++ wxString filename = do_file_selector (wxT("Choose session to load"), wxT("*.slsess"), wxT("*.slsess"), wxFD_OPEN|wxFD_CHANGE_DIR);
+
+ if ( !filename.empty() )
+ {
+@@ -1419,7 +1419,7 @@ void MainPanel::do_load_session ()
+
+ void MainPanel::do_save_session (bool write_audio)
+ {
+- wxString filename = do_file_selector (wxT("Choose file to save session"), wxT("slsess"), wxT("*.slsess"), wxSAVE|wxCHANGE_DIR|wxOVERWRITE_PROMPT);
++ wxString filename = do_file_selector (wxT("Choose file to save session"), wxT("slsess"), wxT("*.slsess"), wxFD_SAVE|wxFD_CHANGE_DIR|wxFD_OVERWRITE_PROMPT);
+
+ if ( !filename.empty() )
+ {
+Index: sooperlooper/src/gui/pix_button.cpp
+===================================================================
+--- sooperlooper.orig/src/gui/pix_button.cpp
++++ sooperlooper/src/gui/pix_button.cpp
+@@ -250,7 +250,7 @@ PixButton::OnMouseEvents (wxMouseEvent &
+ pt.x += bounds.x;
+ pt.y += bounds.y;
+
+- if (bounds.Inside(pt)) {
++ if (bounds.Contains(pt)) {
+ clicked (get_mouse_button(ev)); // emit
+
+ if (ev.MiddleUp() && ev.ControlDown()) {
+Index: sooperlooper/src/gui/looper_panel.cpp
+===================================================================
+--- sooperlooper.orig/src/gui/looper_panel.cpp
++++ sooperlooper/src/gui/looper_panel.cpp
+@@ -1428,7 +1428,7 @@ LooperPanel::clicked_events (int button,
+ if (cmd == wxT("save"))
+ {
+ wxString filename = _mainpanel->do_file_selector (wxT("Choose file to save loop"),
+- wxT("wav"), wxT("WAVE files (*.wav)|*.wav;*.WAV;*.Wav"), wxSAVE|wxCHANGE_DIR|wxOVERWRITE_PROMPT);
++ wxT("wav"), wxT("WAVE files (*.wav)|*.wav;*.WAV;*.Wav"), wxFD_SAVE|wxFD_CHANGE_DIR|wxFD_OVERWRITE_PROMPT);
+
+ if ( !filename.empty() )
+ {
+@@ -1442,7 +1442,7 @@ LooperPanel::clicked_events (int button,
+ }
+ else if (cmd == wxT("load"))
+ {
+- wxString filename = _mainpanel->do_file_selector(wxT("Choose file to open"), wxT(""), wxT("Audio files (*.wav,*.aif)|*.wav;*.WAV;*.Wav;*.aif;*.aiff;*.AIF;*.AIFF|All files (*.*)|*.*"), wxOPEN|wxCHANGE_DIR);
++ wxString filename = _mainpanel->do_file_selector(wxT("Choose file to open"), wxT(""), wxT("Audio files (*.wav,*.aif)|*.wav;*.WAV;*.Wav;*.aif;*.aiff;*.AIF;*.AIFF|All files (*.*)|*.*"), wxFD_OPEN|wxFD_CHANGE_DIR);
+
+ if ( !filename.empty() )
+ {
+Index: sooperlooper/src/gui/keyboard_target.cpp
+===================================================================
+--- sooperlooper.orig/src/gui/keyboard_target.cpp
++++ sooperlooper/src/gui/keyboard_target.cpp
+@@ -553,10 +553,10 @@ KeyboardTarget::keycode_from_name (const
+ keycode = WXK_RETURN;
+ }
+ else if ( keyname == wxT("PGUP") ) {
+- keycode = WXK_PRIOR;
++ keycode = WXK_PAGEUP;
+ }
+ else if ( keyname == wxT("PGDN") ) {
+- keycode = WXK_NEXT;
++ keycode = WXK_PAGEDOWN;
+ }
+ else if ( keyname == wxT("LEFT") ) {
+ keycode = WXK_LEFT;
+@@ -630,10 +630,10 @@ wxString KeyboardTarget::name_from_keyco
+ case WXK_RETURN:
+ text += wxT("return");
+ break;
+- case WXK_PRIOR:
++ case WXK_PAGEUP:
+ text += wxT("pageup");
+ break;
+- case WXK_NEXT:
++ case WXK_PAGEDOWN:
+ text += wxT("pagedown");
+ break;
+ case WXK_LEFT:
+Index: sooperlooper/src/gui/check_box.cpp
+===================================================================
+--- sooperlooper.orig/src/gui/check_box.cpp
++++ sooperlooper/src/gui/check_box.cpp
+@@ -237,7 +237,7 @@ CheckBox::OnMouseEvents (wxMouseEvent &e
+ }
+ else if (ev.LeftUp())
+ {
+- if (bounds.Inside(ev.GetPosition())) {
++ if (bounds.Contains(ev.GetPosition())) {
+ // toggle value
+ _value = !_value;
+
+Index: sooperlooper/src/gui/midi_bind_panel.cpp
+===================================================================
+--- sooperlooper.orig/src/gui/midi_bind_panel.cpp
++++ sooperlooper/src/gui/midi_bind_panel.cpp
+@@ -880,7 +880,7 @@ void MidiBindPanel::on_button (wxCommand
+ }
+ else if (ev.GetId() == ID_LoadButton)
+ {
+- wxString filename = _parent->do_file_selector(wxT("Choose midi binding file to open"), wxT(""), wxT("*.slb"), wxOPEN|wxCHANGE_DIR);
++ wxString filename = _parent->do_file_selector(wxT("Choose midi binding file to open"), wxT(""), wxT("*.slb"), wxFD_OPEN|wxFD_CHANGE_DIR);
+ if ( !filename.empty() )
+ {
+ _parent->get_loop_control().load_midi_bindings(filename, _append_check->GetValue());
+@@ -888,7 +888,7 @@ void MidiBindPanel::on_button (wxCommand
+ }
+ else if (ev.GetId() == ID_SaveButton)
+ {
+- wxString filename = _parent->do_file_selector(wxT("Choose midi binding file to save"), wxT(""), wxT("*.slb"), wxSAVE|wxCHANGE_DIR|wxOVERWRITE_PROMPT);
++ wxString filename = _parent->do_file_selector(wxT("Choose midi binding file to save"), wxT(""), wxT("*.slb"), wxFD_SAVE|wxFD_CHANGE_DIR|wxFD_OVERWRITE_PROMPT);
+
+ if ( !filename.empty() )
+ {
+Index: sooperlooper/src/gui/config_panel.cpp
+===================================================================
+--- sooperlooper.orig/src/gui/config_panel.cpp
++++ sooperlooper/src/gui/config_panel.cpp
+@@ -378,7 +378,7 @@ void ConfigPanel::on_button (wxCommandEv
+ else if (ev.GetId() == ID_MidiBrowseButton) {
+
+ _parent->get_keyboard().set_enabled(false);
+- wxString filename = _parent->do_file_selector(wxT("Choose midi binding file to use"), wxT(""), wxT("*.slb"), wxOPEN|wxCHANGE_DIR);
++ wxString filename = _parent->do_file_selector(wxT("Choose midi binding file to use"), wxT(""), wxT("*.slb"), wxFD_OPEN|wxFD_CHANGE_DIR);
+ _parent->get_keyboard().set_enabled(true);
+
+ if ( !filename.empty() )
+@@ -389,8 +389,8 @@ void ConfigPanel::on_button (wxCommandEv
+ else if (ev.GetId() == ID_SessionBrowseButton) {
+
+ _parent->get_keyboard().set_enabled(false);
+- wxString filename = _parent->do_file_selector(wxT("Choose session file to use"), wxT(""), wxT("*.slsess"), wxOPEN|wxCHANGE_DIR);
+- //wxString filename = wxFileSelector(wxT("Choose session file to use"), wxT(""), wxT(""), wxT(""), wxT("*.slsess"), wxOPEN|wxCHANGE_DIR);
++ wxString filename = _parent->do_file_selector(wxT("Choose session file to use"), wxT(""), wxT("*.slsess"), wxFD_OPEN|wxFD_CHANGE_DIR);
++ //wxString filename = wxFileSelector(wxT("Choose session file to use"), wxT(""), wxT(""), wxT(""), wxT("*.slsess"), wxFD_OPEN|wxFD_CHANGE_DIR);
+ _parent->get_keyboard().set_enabled(true);
+
+ if ( !filename.empty() )
diff --git a/media-sound/sooperlooper/sooperlooper-1.7.3.ebuild b/media-sound/sooperlooper/sooperlooper-1.7.3.ebuild
new file mode 100644
index 000000000000..ff1ac18b029a
--- /dev/null
+++ b/media-sound/sooperlooper/sooperlooper-1.7.3.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+WX_GTK_VER=3.0
+
+inherit autotools eutils wxwidgets toolchain-funcs
+
+DESCRIPTION="Live looping sampler with immediate loop recording"
+HOMEPAGE="http://essej.net/sooperlooper/index.html"
+SRC_URI="http://essej.net/sooperlooper/${P/_p/-}.tar.gz
+ mirror://gentoo/${PN}-1.6.5-m4.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="wxwidgets"
+
+RDEPEND="
+ media-sound/jack-audio-connection-kit
+ >=media-libs/liblo-0.10
+ >=dev-libs/libsigc++-2.2.10:2
+ >=media-libs/libsndfile-1.0.2
+ >=media-libs/libsamplerate-0.0.13
+ dev-libs/libxml2
+ >=media-libs/rubberband-0.0.13
+ sci-libs/fftw:3.0
+ wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER} )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${P/_p*}
+
+DOCS=( OSC README )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-sigc++-2.5.patch
+ epatch "${FILESDIR}"/${P}-wx3.0.patch
+
+ cp -rf "${WORKDIR}"/aclocal "${S}" || die "copying aclocal failed"
+
+ AT_M4DIR="${S}"/aclocal eautoreconf
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_configure() {
+ use wxwidgets && need-wxwidgets unicode
+
+ econf \
+ $(use_with wxwidgets gui) \
+ --disable-optimize \
+ --with-wxconfig-path="${WX_CONFIG}"
+}