* [gentoo-commits] repo/gentoo:master commit in: media-libs/libffado/, media-libs/libffado/files/
@ 2017-06-25 19:40 Alexis Ballier
0 siblings, 0 replies; 7+ messages in thread
From: Alexis Ballier @ 2017-06-25 19:40 UTC (permalink / raw
To: gentoo-commits
commit: 0e4e3a0c73b44a7a2506cdc2aaa698d57c39b99e
Author: Hector Martin <marcan <AT> marcan <DOT> st>
AuthorDate: Fri Jun 23 12:33:04 2017 +0000
Commit: Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Sun Jun 25 19:40:31 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e4e3a0c
media-libs/libffado: New package.
FFADO is a userspace driver for IEEE1394 (FireWire) audio interfaces.
From audio-overlay: https://github.com/gentoo-audio/audio-overlay
(Previously from the proaudio overlay)
Gentoo-Bug: https://bugs.gentoo.org/622520
Package-Manager: Portage-2.3.6, Repoman-2.3.2
media-libs/libffado/Manifest | 1 +
.../libffado/files/libffado-2.3.0-gcc6.patch | 26 +++++
.../files/libffado-2.3.0-modelname-strip.patch | 45 +++++++++
media-libs/libffado/libffado-2.3.0.ebuild | 106 +++++++++++++++++++++
media-libs/libffado/metadata.xml | 20 ++++
5 files changed, 198 insertions(+)
diff --git a/media-libs/libffado/Manifest b/media-libs/libffado/Manifest
new file mode 100644
index 00000000000..dd5225ee1b8
--- /dev/null
+++ b/media-libs/libffado/Manifest
@@ -0,0 +1 @@
+DIST libffado-2.3.0.tgz 1239253 SHA256 18e3c7e610b7cee58b837c921ebb985e324cb2171f8d130f79de02a3fc435f88 SHA512 24a8853281a17b04623e41dc590f7a9b8f4aebe4dfaece2e3b8fe28457a6ff011586e817712b4913d1fca660b701dddc70576c12d8c56470cf991eb17b4297c4 WHIRLPOOL 8eb1c3f6372b25b173d230500cfad7ef7207d730ec8e048bdb84cd7436e196e5429d85afcea0f626a411c1f792f20f1ab59f0c0b0f5a97b114f646c4a7423053
diff --git a/media-libs/libffado/files/libffado-2.3.0-gcc6.patch b/media-libs/libffado/files/libffado-2.3.0-gcc6.patch
new file mode 100644
index 00000000000..2a73ee1cf8c
--- /dev/null
+++ b/media-libs/libffado/files/libffado-2.3.0-gcc6.patch
@@ -0,0 +1,26 @@
+------------------------------------------------------------------------
+r2629 | jwoithe | 2016-10-09 13:00:28 +0900 (Sun, 09 Oct 2016) | 1 line
+
+TimestampedBuffer.cpp: move the include of math.h to the top of the file which is where most people would expect it to be. The patch comes from a Fedora RPM source package via Simon Lewis, who suggested that without it gcc6 had trouble with the file (the nature of the problem is not known by the FFADO project at this time). Earlier versions of gcc (for example, 4.8.2) had no trouble compiling this file without any math.h include, so the issue that some have seen with gcc6 must be due to math.h being removed from some other system-level include file at some point.
+------------------------------------------------------------------------
+Index: src/libutil/TimestampedBuffer.cpp
+===================================================================
+--- a/src/libutil/TimestampedBuffer.cpp (revision 2628)
++++ b/src/libutil/TimestampedBuffer.cpp (revision 2629)
+@@ -32,6 +32,7 @@
+
+ #include <cstdlib>
+ #include <cstring>
++#include <math.h>
+
+ #define DLL_PI (3.141592653589793238)
+ #define DLL_SQRT2 (1.414213562373095049)
+@@ -179,8 +180,6 @@
+ m_wrap_at=w;
+ return true;
+ }
+-#include <math.h>
+-
+ /**
+ * \brief return the effective rate
+ *
diff --git a/media-libs/libffado/files/libffado-2.3.0-modelname-strip.patch b/media-libs/libffado/files/libffado-2.3.0-modelname-strip.patch
new file mode 100644
index 00000000000..8f28b6ac0f7
--- /dev/null
+++ b/media-libs/libffado/files/libffado-2.3.0-modelname-strip.patch
@@ -0,0 +1,45 @@
+------------------------------------------------------------------------
+r2677 | jwoithe | 2017-03-22 07:43:24 +0900 (Wed, 22 Mar 2017) | 1 line
+
+configrom: there is no obvious reason why a space should be added to the end of the vendor and model strings returned from the interface. Retain the explicit null termination of these strings to cover for the case where an interface may not return any null bytes. Also fix indentation associated with the null termination code. The issue with the trailing space was noticed and reported by Nils Philippsen: its presence broke a test in the saffire_dice mixer python code.
+------------------------------------------------------------------------
+Index: src/libieee1394/configrom.cpp
+===================================================================
+--- a/src/libieee1394/configrom.cpp (revision 2676)
++++ b/src/libieee1394/configrom.cpp (revision 2677)
+@@ -176,13 +176,11 @@
+ ( void* )CSR1212_TEXTUAL_DESCRIPTOR_LEAF_DATA( m_vendorNameKv ),
+ len );
+
+- while ((buf + len - 1) == '\0') {
+- len--;
++ while (*(buf + len - 1) == '\0') {
++ len--;
+ }
+- // \todo XXX seems a bit strage to do this but the nodemgr.c code does
+- // it. try to figure out why this is needed (or not)
+- buf[len++] = ' ';
+- buf[len] = '\0';
++ // Ensure vendor string is null terminated
++ buf[len] = '\0';
+
+
+ debugOutput( DEBUG_LEVEL_VERBOSE, "Vendor name: '%s'\n", buf );
+@@ -195,13 +193,11 @@
+ memcpy( buf,
+ ( void* )CSR1212_TEXTUAL_DESCRIPTOR_LEAF_DATA( m_modelNameKv ),
+ len );
+- while ((buf + len - 1) == '\0') {
+- len--;
++ while (*(buf + len - 1) == '\0') {
++ len--;
+ }
+- // \todo XXX for edirol fa-66 it seems somehow broken. see above
+- // todo as well.
+- buf[len++] = ' ';
+- buf[len] = '\0';
++ // Ensure model name string is null terminated
++ buf[len] = '\0';
+
+ debugOutput( DEBUG_LEVEL_VERBOSE, "Model name: '%s'\n", buf);
+ m_modelName = buf;
diff --git a/media-libs/libffado/libffado-2.3.0.ebuild b/media-libs/libffado/libffado-2.3.0.ebuild
new file mode 100644
index 00000000000..4a017d149f2
--- /dev/null
+++ b/media-libs/libffado/libffado-2.3.0.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-single-r1 scons-utils toolchain-funcs udev multilib-minimal
+
+DESCRIPTION="Driver for IEEE1394 (Firewire) audio interfaces"
+HOMEPAGE="http://www.ffado.org"
+
+if [ "${PV}" = "9999" ]; then
+ inherit subversion
+ ESVN_REPO_URI="http://subversion.ffado.org/ffado/trunk/${PN}"
+ KEYWORDS=""
+else
+ SRC_URI="http://www.ffado.org/files/${P}.tgz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+IUSE="debug qt4 test-programs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="dev-cpp/libxmlpp:2.6[${MULTILIB_USEDEP}]
+ dev-libs/dbus-c++
+ dev-libs/libconfig[cxx,${MULTILIB_USEDEP}]
+ media-libs/alsa-lib
+ media-libs/libiec61883[${MULTILIB_USEDEP}]
+ !<media-sound/jack-audio-connection-kit-0.122.0:0
+ !<media-sound/jack-audio-connection-kit-1.9.9:2
+ sys-apps/dbus
+ sys-libs/libraw1394[${MULTILIB_USEDEP}]
+ sys-libs/libavc1394[${MULTILIB_USEDEP}]
+ ${PYTHON_DEPS}
+ qt4? (
+ dev-python/PyQt4[dbus,${PYTHON_USEDEP}]
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ x11-misc/xdg-utils
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/libffado-2.3.0-modelname-strip.patch"
+ "${FILESDIR}/libffado-2.3.0-gcc6.patch"
+)
+
+myescons() {
+ local myesconsargs=(
+ PREFIX="${EPREFIX}/usr"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ MANDIR="${EPREFIX}/usr/share/man"
+ UDEVDIR="$(get_udevdir)/rules.d"
+ CUSTOM_ENV=true
+ DETECT_USERSPACE_ENV=false
+ DEBUG=$(usex debug)
+ # ENABLE_OPTIMIZATIONS detects cpu type and sets flags accordingly
+ # -fomit-frame-pointer is added also which can cripple debugging.
+ # we set flags from portage instead
+ ENABLE_OPTIMIZATIONS=false
+ # This only works for JACK1>=0.122.0 or JACK2>=1.9.9, so we block
+ # lower versions.
+ ENABLE_SETBUFFERSIZE_API_VER=force
+ )
+ if multilib_is_native_abi; then
+ myesconsargs+=(
+ BUILD_MIXER=$(usex qt4 true false)
+ BUILD_TESTS=$(usex test-programs)
+ )
+ else
+ myesconsargs+=(
+ BUILD_MIXER=false
+ BUILD_TESTS=false
+ )
+ fi
+ escons "${myesconsargs[@]}" "${@}"
+}
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ tc-export CC CXX
+ myescons
+}
+
+multilib_src_install() {
+ myescons DESTDIR="${D}" WILL_DEAL_WITH_XDG_MYSELF="True" install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ python_fix_shebang "${D}"
+ python_optimize "${D}"
+
+ if use qt4; then
+ newicon "support/xdg/hi64-apps-ffado.png" "ffado.png"
+ newmenu "support/xdg/ffado.org-ffadomixer.desktop" "ffado-mixer.desktop"
+ fi
+}
diff --git a/media-libs/libffado/metadata.xml b/media-libs/libffado/metadata.xml
new file mode 100644
index 00000000000..52a13df73d6
--- /dev/null
+++ b/media-libs/libffado/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marcan@marcan.st</email>
+ <name>Hector Martin</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proaudio@gentoo.org</email>
+ <name>Gentoo ProAudio Project</name>
+ </maintainer>
+ <use>
+ <flag name="qt4">Install qt4-based mixer frontend</flag>
+ <flag name="test-programs">Install standalone test programs</flag>
+ </use>
+</pkgmetadata>
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-libs/libffado/, media-libs/libffado/files/
@ 2018-01-11 23:57 Andreas Sturmlechner
0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2018-01-11 23:57 UTC (permalink / raw
To: gentoo-commits
commit: 087ba48a1b12b4ca931ee1e3bbb6e1fc332dca33
Author: Hector Martin <marcan <AT> marcan <DOT> st>
AuthorDate: Thu Jan 11 04:11:52 2018 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Jan 11 23:57:27 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=087ba48a
media-libs/libffado: bump to 2.4.0 and switch to qt5
Bug: https://bugs.gentoo.org/642530
Closes: https://github.com/gentoo/gentoo/pull/6826
media-libs/libffado/Manifest | 1 +
.../libffado-2.4.0-additional-py3-fixes.patch | 96 ++++++++++
.../files/libffado-2.4.0-crossbar-router-fix.patch | 11 ++
.../files/libffado-2.4.0-py3-pyqt5-fixes.patch | 197 +++++++++++++++++++++
.../libffado-2.4.0-pyqt5-dbus-detection.patch | 30 ++++
.../files/libffado-2.4.0-rme-bigendian-fix.patch | 50 ++++++
media-libs/libffado/libffado-2.4.0.ebuild | 119 +++++++++++++
7 files changed, 504 insertions(+)
diff --git a/media-libs/libffado/Manifest b/media-libs/libffado/Manifest
index db5966e713e..16c3238487b 100644
--- a/media-libs/libffado/Manifest
+++ b/media-libs/libffado/Manifest
@@ -1 +1,2 @@
DIST libffado-2.3.0.tgz 1239253 BLAKE2B cb470a590df8018975f40f56cde50468a2b51c9504b719b70ce5941406829f25452a96b8ac897aba1ed6c8d4cafa712e7872430e7bb2ebec0822f7b4720084c5 SHA512 24a8853281a17b04623e41dc590f7a9b8f4aebe4dfaece2e3b8fe28457a6ff011586e817712b4913d1fca660b701dddc70576c12d8c56470cf991eb17b4297c4
+DIST libffado-2.4.0.tgz 1228916 BLAKE2B 21a3a2a96377f698e7c1a43912c761624aabe5401f0e147fee4fa203c4534166494de8867320b4b6bc3ff200b65c77bb62ab2c4e98948ed0ee74e6171d162deb SHA512 7df37584925cc908cc284dba344609928d39e006f71ae4ede62e4531b2628271ebd0db00407418e943fb569b5b8b919a76c90aaeed03005cefbd3c1c16ee1627
diff --git a/media-libs/libffado/files/libffado-2.4.0-additional-py3-fixes.patch b/media-libs/libffado/files/libffado-2.4.0-additional-py3-fixes.patch
new file mode 100644
index 00000000000..fd5d2f44bab
--- /dev/null
+++ b/media-libs/libffado/files/libffado-2.4.0-additional-py3-fixes.patch
@@ -0,0 +1,96 @@
+--- a/support/mixer-qt4/ffado/panelmanager.py 2018-01-11 12:27:20.518923209 +0900
++++ a/support/mixer-qt4/ffado/panelmanager.py 2018-01-11 12:31:03.956299962 +0900
+@@ -38,6 +38,7 @@
+
+ import sys
+ import time
++import importlib
+
+ import logging
+ log = logging.getLogger('panelmanager')
+@@ -302,20 +303,15 @@
+ #
+ # Specific (or dummy) mixer widgets get loaded in the following
+ #
++ found = False
+ if 'mixer' in dev and dev['mixer'] != None:
+ mixerapp = dev['mixer']
+- global mixerwidget
+- exec( """
+-try:
+- import ffado.mixer.%s
+- globals()["mixerwidget"] = ffado.mixer.%s.%s( w )
+- found = True
+-except ImportError:
+- log.debug("bypassdbus set, %s module not available: ignored")
+- found = False
+-""" % (mixerapp.lower(), mixerapp.lower(), mixerapp, mixerapp.lower()) )
+- else:
+- found = False
++ try:
++ mixer_module = importlib.import_module("ffado.mixer.%s" % mixerapp.lower())
++ mixerwidget = getattr(mixer_module, mixerapp)(w)
++ found = True
++ except ImportError:
++ log.debug("bypassdbus set, %s module not available: ignored" % mixerapp.lower())
+
+ if not found:
+ mixerwidget = Dummy( w )
+--- a/support/mixer-qt4/ffado/widgets/crossbarrouter.py 2018-01-11 12:34:10.200777889 +0900
++++ b/support/mixer-qt4/ffado/widgets/crossbarrouter.py 2018-01-11 12:45:13.278911705 +0900
+@@ -194,7 +194,7 @@
+ #log.debug("Got %i peaks" % len(peakvalues))
+ for peak in peakvalues:
+ #log.debug("peak = [%s,%s]" % (str(peak[0]),str(peak[1])))
+- if peak[0] >= 0:
++ if peak[1] >= 0:
+ self.switchers[peak[0]].peakValue(peak[1])
+
+ def updateMixerRouting(self):
+--- a/support/mixer-qt4/ffado/widgets/matrixmixer.py 2018-01-11 12:54:27.545361864 +0900
++++ b/support/mixer-qt4/ffado/widgets/matrixmixer.py 2018-01-11 12:56:36.899124318 +0900
+@@ -512,7 +512,7 @@
+ self.rowHeaders[j].lbl.setText(row_name)
+
+ def updateValues(self, n):
+- nbitems = len(n)/3
++ nbitems = len(n) // 3
+ for i in range(nbitems):
+ n_0 = n[3*i]
+ n_1 = n[3*i+1]
+@@ -951,7 +951,7 @@
+ return self.interface.setValue(In, Out, val)
+
+ def updateValues(self, n):
+- nbitems = len(n)/3
++ nbitems = len(n) // 3
+ for j in range(nbitems):
+ n_0 = n[3*j]
+ n_1 = n[3*j+1]
+@@ -1406,7 +1406,7 @@
+ def matrixControlChanged(self, n):
+ # Update value needed for "per Out" view
+ #log.debug("Update per Output( %s )" % str(n))
+- nbitems = len(n)/3
++ nbitems = len(n) // 3
+ if (self.rule == "Columns_are_inputs"):
+ n_t = n
+ else:
+@@ -1420,7 +1420,7 @@
+ def sliderControlChanged(self, n):
+ # Update value needed for matrix view
+ #log.debug("Update Matrix( %s )" % str(n))
+- nbitems = len(n)/3
++ nbitems = len(n) // 3
+ if (((self.rule == "Columns_are_inputs") and not self.transpose) or ((self.rule != "Columns_are_inputs") and self.transpose)):
+ n_t = ()
+ for i in range(nbitems):
+@@ -1512,7 +1512,7 @@
+ log.debug("Number of stereo output channels must be specified")
+ return False
+ n = int(readMixerString[idx+2])
+- if n > self.perOut.nbOut/2:
++ if n > self.perOut.nbOut // 2:
+ log.debug("Incoherent number of stereo channels")
+ return False
+ if n > 0:
diff --git a/media-libs/libffado/files/libffado-2.4.0-crossbar-router-fix.patch b/media-libs/libffado/files/libffado-2.4.0-crossbar-router-fix.patch
new file mode 100644
index 00000000000..99861abe284
--- /dev/null
+++ b/media-libs/libffado/files/libffado-2.4.0-crossbar-router-fix.patch
@@ -0,0 +1,11 @@
+--- a/support/mixer-qt4/ffado/widgets/crossbarrouter.py 2018-01-11 12:34:10.200777889 +0900
++++ b/support/mixer-qt4/ffado/widgets/crossbarrouter.py 2018-01-11 12:45:13.278911705 +0900
+@@ -98,7 +98,7 @@
+ self.combo.setCurrentIndex(self.combo.findText(src))
+ else:
+ self.combo.setCurrentIndex(0)
+- self.combo.activated.connect(self.comboCurrentChanged)
++ self.combo.activated[str].connect(self.comboCurrentChanged)
+
+
+ def peakValue(self, value):
diff --git a/media-libs/libffado/files/libffado-2.4.0-py3-pyqt5-fixes.patch b/media-libs/libffado/files/libffado-2.4.0-py3-pyqt5-fixes.patch
new file mode 100644
index 00000000000..f0937559b8e
--- /dev/null
+++ b/media-libs/libffado/files/libffado-2.4.0-py3-pyqt5-fixes.patch
@@ -0,0 +1,197 @@
+------------------------------------------------------------------------
+r2726 | jwoithe | 2018-01-05 18:56:40 +0900 (Fri, 05 Jan 2018) | 13 lines
+
+Further Python3/PyQt5 compatibility fixes, enhance "About" dialog box.
+
+This patch was prepared by Orcan Ogetbil on Fedora and tested on that
+distribution with PyQt4-4.12.1 and PyQt5-5.9.1. It is primarily concerned
+with additional compatibility between Python2/3 and PyQt4/5. It has also
+been tested under python 2 with pyqt 4.11.4. Further testing under
+different python/pyqt environments would be welcomed.
+
+An enhancement to the "About" dialog is also included which adds version
+strings and updates the copyright year range.
+
+The patch was submitted to the ffado-devel mailing list.
+
+
+Index: support/mixer-qt4/ffado/ffadowindow.py
+===================================================================
+--- a/support/mixer-qt4/ffado/ffadowindow.py (revision 2725)
++++ b/support/mixer-qt4/ffado/ffadowindow.py (revision 2726)
+@@ -22,6 +22,8 @@
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #
+
++import ctypes
++import datetime
+ import os
+
+ from ffado.config import *
+@@ -92,7 +94,8 @@
+ self.menuTheme[theme].setCheckable(True)
+
+ if (ffado_python3 and (self.style().objectName().lower() == theme.lower()) or
+- not(ffado_python3) and (self.style().objectName().toLower() == theme.toLower())):
++ not(ffado_python3) and (self.style().objectName().toLower() == theme.toLower() if ffado_pyqt_version == 4 else
++ self.style().objectName().lower() == theme.lower())):
+ self.menuTheme[theme].setDisabled(True)
+ self.menuTheme[theme].setChecked(True)
+ self.menuTheme[theme].triggered.connect(self.switchTheme )
+@@ -174,9 +177,11 @@
+ QMessageBox.about( self, "About FFADO", """
+ <h1>ffado.org</h1>
+
++<p>{ffado_version}</p>
++
+ <p>FFADO is the new approach to have firewire audio on linux.</p>
+
+-<p>© 2006-2014 by the FFADO developers<br />ffado is licensed under the GPLv3, for the full license text see <a href="http://www.gnu.org/licenses/">www.gnu.org/licenses</a> or the LICENSE.* files shipped with ffado.</p>
++ <p>© 2006-2018 by the FFADO developers<br />ffado is licensed under the GPLv3, for the full license text see <a href="http://www.gnu.org/licenses/">www.gnu.org/licenses</a> or the LICENSE.* files shipped with ffado.</p>
+
+ <p>FFADO developers are:<ul>
+ <li>Pieter Palmers
+@@ -191,8 +196,17 @@
+ <li>Stefan Richter
+ <li>Jano Svitok
+ </ul>
+-""" )
++ """.format(ffado_version=get_ffado_version(), thisyear=datetime.datetime.now().year))
+
++def get_ffado_version():
++ try:
++ # call the C function ffado_get_version() to figure out the version
++ lib = ctypes.cdll.LoadLibrary('libffado.so')
++ func = ctypes.CFUNCTYPE(ctypes.c_char_p)
++ ffado_get_version = func(('ffado_get_version', lib))
++ return ffado_get_version()
++ except:
++ return "libffado"
+
+ def get_lock(process_name):
+ import socket
+@@ -252,6 +266,7 @@
+ logging.getLogger('global').setLevel(debug_level)
+
+ log = logging.getLogger('main')
++ log.debug("Using %s with Qt: %s PyQt: %s" % (get_ffado_version(), QtCore.QT_VERSION_STR, QtCore.PYQT_VERSION_STR))
+
+ app = QApplication(args)
+ app.setWindowIcon( QIcon( SHAREDIR + "/icons/hi64-apps-ffado.png" ) )
+Index: support/mixer-qt4/ffado/logginghandler.py
+===================================================================
+--- a/support/mixer-qt4/ffado/logginghandler.py (revision 2725)
++++ b/support/mixer-qt4/ffado/logginghandler.py (revision 2726)
+@@ -28,7 +28,7 @@
+ log = logging.getLogger('logginghandler')
+
+ class QStatusLogger( QObject, logging.Handler ):
+- log = pyqtSignal(QString, int, name='log')
++ log = pyqtSignal(QString if ffado_pyqt_version == 4 else str, int, name='log')
+ def __init__( self, parent, statusbar, level=logging.NOTSET ):
+ QObject.__init__( self, parent )
+ logging.Handler.__init__( self, level )
+Index: support/mixer-qt4/ffado/panelmanager.py
+===================================================================
+--- a/support/mixer-qt4/ffado/panelmanager.py (revision 2725)
++++ b/support/mixer-qt4/ffado/panelmanager.py (revision 2726)
+@@ -378,7 +378,7 @@
+ action = self.sender()
+ # Extract the action data and store as a dbus.String type so
+ # it is usable as a key into self.panels[].
+- panel_key = dbus.String(action.data().toString())
++ panel_key = dbus.String(action.data().toString() if ffado_pyqt_version == 4 else action.data())
+ self.tabs.setCurrentIndex(self.tabs.indexOf(self.panels[panel_key]))
+
+ def displayPanels(self):
+@@ -515,6 +515,8 @@
+ saveString.append('</device>\n')
+ # file saving
+ savefilename = QFileDialog.getSaveFileName(self, 'Save File', os.getenv('HOME'))
++ if isinstance(savefilename, tuple): # newer PyQt5
++ savefilename = savefilename[0]
+ try:
+ f = open(savefilename, 'w')
+ except IOError:
+@@ -526,6 +528,8 @@
+
+ def readSettings(self):
+ readfilename = QFileDialog.getOpenFileName(self, 'Open File', os.getenv('HOME'))
++ if isinstance(readfilename, tuple): # newer PyQt5
++ readfilename = readfilename[0]
+ try:
+ f = open(readfilename, 'r')
+ except IOError:
+Index: support/mixer-qt4/ffado/widgets/crossbarrouter.py
+===================================================================
+--- a/support/mixer-qt4/ffado/widgets/crossbarrouter.py (revision 2725)
++++ b/support/mixer-qt4/ffado/widgets/crossbarrouter.py (revision 2726)
+@@ -168,7 +168,10 @@
+ self.timer.setInterval(200)
+ self.timer.timeout.connect(self.updateLevels)
+
+- self.vubtn.setChecked(self.settings.value("crossbarrouter/runvu", False).toBool())
++ if ffado_pyqt_version == 4:
++ self.vubtn.setChecked(self.settings.value("crossbarrouter/runvu", False).toBool())
++ else:
++ self.vubtn.setChecked(self.settings.value("crossbarrouter/runvu", False) == u'true')
+
+ def __del__(self):
+ print( "CrossbarRouter.__del__()" )
+Index: support/mixer-qt4/ffado/widgets/matrixmixer.py
+===================================================================
+--- a/support/mixer-qt4/ffado/widgets/matrixmixer.py (revision 2725)
++++ b/support/mixer-qt4/ffado/widgets/matrixmixer.py (revision 2726)
+@@ -200,7 +200,7 @@
+
+ def mousePressEvent(self, ev):
+ if ev.buttons() & Qt.LeftButton:
+- self.pos = ev.posF()
++ self.pos = ev.posF() if ffado_pyqt_version == 4 else ev.localPos()
+ self.tmpvalue = self.value()
+ ev.accept()
+ #log.debug("MixerNode.mousePressEvent() %s" % str(self.pos))
+@@ -207,7 +207,7 @@
+
+ def mouseMoveEvent(self, ev):
+ if hasattr(self, "tmpvalue") and self.pos is not QtCore.QPointF(0, 0):
+- newpos = ev.posF()
++ newpos = ev.posF() if ffado_pyqt_version == 4 else ev.localPos()
+ change = newpos.y() - self.pos.y()
+ #log.debug("MixerNode.mouseReleaseEvent() change %s" % (str(change)))
+ self.setValue( self.tmpvalue - math.copysign(pow(abs(change), 2), change) )
+@@ -215,7 +215,7 @@
+
+ def mouseReleaseEvent(self, ev):
+ if hasattr(self, "tmpvalue") and self.pos is not QtCore.QPointF(0, 0):
+- newpos = ev.posF()
++ newpos = ev.posF() if ffado_pyqt_version == 4 else ev.localPos()
+ change = newpos.y() - self.pos.y()
+ #log.debug("MixerNode.mouseReleaseEvent() change %s" % (str(change)))
+ self.setValue( self.tmpvalue - math.copysign(pow(abs(change), 2), change) )
+@@ -257,19 +257,19 @@
+ if v == 0:
+ symb_inf = u"\u221E"
+ text = "-" + symb_inf + " dB"
+- if ffado_python3:
++ if ffado_python3 or ffado_pyqt_version == 5:
+ # Python3 uses native python UTF strings rather than QString.
+ # This therefore appears to be the correct way to display this
+ # UTF8 string, but testing may prove otherwise.
+ p.drawText(rect, Qt.AlignCenter, text)
+ else:
+- p.drawText(rect, Qt.AlignCenter, QtCore.QString.fromUtf8(text))
++ p.drawText(rect, Qt.AlignCenter, QString.fromUtf8(text))
+ if (self.inv_action!=None and self.inv_action.isChecked()):
+- if ffado_python3:
++ if ffado_python3 or ffado_pyqt_version == 5:
+ # Refer to the comment about about Python UTF8 strings.
+ p.drawText(rect, Qt.AlignLeft|Qt.AlignTop, " ϕ")
+ else:
+- p.drawText(rect, Qt.AlignLeft|Qt.AlignTop, QtCore.QString.fromUtf8(" ϕ"))
++ p.drawText(rect, Qt.AlignLeft|Qt.AlignTop, QString.fromUtf8(" ϕ"))
+
+ def internalValueChanged(self, value):
+ #log.debug("MixerNode.internalValueChanged( %i )" % value)
+
+------------------------------------------------------------------------
diff --git a/media-libs/libffado/files/libffado-2.4.0-pyqt5-dbus-detection.patch b/media-libs/libffado/files/libffado-2.4.0-pyqt5-dbus-detection.patch
new file mode 100644
index 00000000000..9064a59a6bc
--- /dev/null
+++ b/media-libs/libffado/files/libffado-2.4.0-pyqt5-dbus-detection.patch
@@ -0,0 +1,30 @@
+------------------------------------------------------------------------
+r2725 | jwoithe | 2018-01-05 18:40:19 +0900 (Fri, 05 Jan 2018) | 11 lines
+
+SCons: fix detection of dbus on PyQt5 systems.
+
+The detection of the dbus python modules was qualified on the presence of
+pyuic4. On systems with only PyQt5 this would obviously fail. Patch from
+Orcan Ogetbil via the ffado-devel mailing list.
+
+r2724 inadvertently included a change to SConstruct to import sys. This is
+needed since sys.stdout is referenced in some situations (in particular, if
+jack is not installed in the build environment). This patch was also from
+Orcan Ogetbil, via the ffado-devel mailing list.
+
+
+Index: SConstruct
+===================================================================
+--- a/SConstruct (revision 2724)
++++ b/SConstruct (revision 2725)
+@@ -396,7 +396,7 @@
+
+ # PyQT checks
+ if env['BUILD_MIXER'] != 'false':
+- have_dbus = (conf.CheckForApp( 'which pyuic4' ) and conf.CheckForPyModule( 'dbus.mainloop.qt' ))
++ have_dbus = ((conf.CheckForApp( 'which pyuic4' ) and conf.CheckForPyModule( 'dbus.mainloop.qt' )) or (conf.CheckForApp( 'which pyuic5' ) and conf.CheckForPyModule( 'dbus.mainloop.pyqt5' )))
+ have_pyqt4 = (conf.CheckForApp( 'which pyuic4' ) and conf.CheckForPyModule( 'PyQt4' ))
+ have_pyqt5 = (conf.CheckForApp( 'which pyuic5' ) and conf.CheckForPyModule( 'PyQt5' ))
+ if ((have_pyqt4 or have_pyqt5) and have_dbus):
+
+------------------------------------------------------------------------
diff --git a/media-libs/libffado/files/libffado-2.4.0-rme-bigendian-fix.patch b/media-libs/libffado/files/libffado-2.4.0-rme-bigendian-fix.patch
new file mode 100644
index 00000000000..8e0158a03c5
--- /dev/null
+++ b/media-libs/libffado/files/libffado-2.4.0-rme-bigendian-fix.patch
@@ -0,0 +1,50 @@
+------------------------------------------------------------------------
+r2724 | jwoithe | 2018-01-05 18:33:39 +0900 (Fri, 05 Jan 2018) | 8 lines
+
+RME: ensure byte swap macros are available for all components.
+
+The byte swap macros (ByteSwap32() in particular) are required on big-endian
+architectures for more than just the rme_avdevice module. Including these
+in the RME device header file is a reasonable way to fix this.
+
+Patch from Orcan Ogetbil via the ffado-devel mailing list.
+
+
+Index: SConstruct
+===================================================================
+--- a/SConstruct (revision 2723)
++++ b/SConstruct (revision 2724)
+@@ -29,6 +29,7 @@
+ from subprocess import Popen, PIPE
+ import os
+ import re
++import sys
+ from string import Template
+ import imp
+ import distutils.sysconfig
+Index: src/rme/rme_avdevice.cpp
+===================================================================
+--- a/src/rme/rme_avdevice.cpp (revision 2723)
++++ b/src/rme/rme_avdevice.cpp (revision 2724)
+@@ -42,7 +42,6 @@
+ #include <stdint.h>
+ #include <assert.h>
+ #include <unistd.h>
+-#include "libutil/ByteSwap.h"
+
+ #include <iostream>
+ #include <sstream>
+Index: src/rme/rme_avdevice.h
+===================================================================
+--- a/src/rme/rme_avdevice.h (revision 2723)
++++ b/src/rme/rme_avdevice.h (revision 2724)
+@@ -31,6 +31,7 @@
+ #include "libavc/avc_definitions.h"
+
+ #include "libutil/Configuration.h"
++#include "libutil/ByteSwap.h"
+
+ #include "fireface_def.h"
+ #include "libstreaming/rme/RmeReceiveStreamProcessor.h"
+
+------------------------------------------------------------------------
diff --git a/media-libs/libffado/libffado-2.4.0.ebuild b/media-libs/libffado/libffado-2.4.0.ebuild
new file mode 100644
index 00000000000..10e673c6113
--- /dev/null
+++ b/media-libs/libffado/libffado-2.4.0.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+
+inherit desktop python-single-r1 scons-utils toolchain-funcs udev multilib-minimal
+
+DESCRIPTION="Driver for IEEE1394 (Firewire) audio interfaces"
+HOMEPAGE="http://www.ffado.org"
+
+if [[ "${PV}" = "9999" ]]; then
+ inherit subversion
+ ESVN_REPO_URI="http://subversion.ffado.org/ffado/trunk/${PN}"
+else
+ SRC_URI="http://www.ffado.org/files/${P}.tgz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+IUSE="debug qt5 test-programs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEPEND="${PYTHON_DEPS}
+ dev-cpp/libxmlpp:2.6[${MULTILIB_USEDEP}]
+ dev-libs/dbus-c++
+ dev-libs/libconfig[cxx,${MULTILIB_USEDEP}]
+ media-libs/alsa-lib
+ media-libs/libiec61883[${MULTILIB_USEDEP}]
+ sys-apps/dbus
+ sys-libs/libavc1394[${MULTILIB_USEDEP}]
+ sys-libs/libraw1394[${MULTILIB_USEDEP}]
+ qt5? (
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/PyQt5[dbus,${PYTHON_USEDEP}]
+ x11-misc/xdg-utils
+ )"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}
+ !<media-sound/jack-audio-connection-kit-0.122.0:0
+ !<media-sound/jack-audio-connection-kit-1.9.9:2"
+
+PATCHES=(
+ "${FILESDIR}/${P}-rme-bigendian-fix.patch"
+ "${FILESDIR}/${P}-pyqt5-dbus-detection.patch"
+ "${FILESDIR}/${P}-py3-pyqt5-fixes.patch"
+ "${FILESDIR}/${P}-additional-py3-fixes.patch"
+ "${FILESDIR}/${P}-crossbar-router-fix.patch"
+)
+
+myescons() {
+ local myesconsargs=(
+ PREFIX="${EPREFIX}/usr"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ MANDIR="${EPREFIX}/usr/share/man"
+ UDEVDIR="$(get_udevdir)/rules.d"
+ CUSTOM_ENV=true
+ DETECT_USERSPACE_ENV=false
+ DEBUG=$(usex debug)
+ PYPKGDIR="$(python_get_sitedir)"
+ # ENABLE_OPTIMIZATIONS detects cpu type and sets flags accordingly
+ # -fomit-frame-pointer is added also which can cripple debugging.
+ # we set flags from portage instead
+ ENABLE_OPTIMIZATIONS=false
+ # This only works for JACK1>=0.122.0 or JACK2>=1.9.9, so we block
+ # lower versions.
+ ENABLE_SETBUFFERSIZE_API_VER=force
+ )
+ if multilib_is_native_abi; then
+ myesconsargs+=(
+ BUILD_MIXER=$(usex qt5 true false)
+ BUILD_TESTS=$(usex test-programs)
+ )
+ else
+ myesconsargs+=(
+ BUILD_MIXER=false
+ BUILD_TESTS=false
+ )
+ fi
+ escons "${myesconsargs[@]}" "${@}"
+}
+
+src_prepare() {
+ default
+
+ # Python3 fixes
+ sed -i -e 's/\t/ /g' support/mixer-qt4/ffado/mixer/phase88control.py || die
+ sed -i -e 's/\t/ /g' support/mixer-qt4/ffado/mixer/audiofire.py || die
+ sed -i -e 's/\bprint \(.*\)$/print(\1)/g' -e '/import commands/d' support/tools/ffado-diag-static || die
+
+ # Always use Qt5
+ sed -i -e 's/try:/if False:/' -e 's/except.*/else:/' support/mixer-qt4/ffado/import_pyqt.py || die
+
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ tc-export CC CXX
+ myescons
+}
+
+multilib_src_install() {
+ myescons DESTDIR="${D}" WILL_DEAL_WITH_XDG_MYSELF="True" install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ python_fix_shebang "${D}"
+ python_optimize "${D}"
+
+ if use qt5; then
+ newicon "support/xdg/hi64-apps-ffado.png" "ffado.png"
+ newmenu "support/xdg/ffado.org-ffadomixer.desktop" "ffado-mixer.desktop"
+ fi
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-libs/libffado/, media-libs/libffado/files/
@ 2018-01-23 10:56 Andreas Sturmlechner
0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2018-01-23 10:56 UTC (permalink / raw
To: gentoo-commits
commit: 17ed34d641046efcfedff475eb6dc7af409e33cb
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 23 10:40:34 2018 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Jan 23 10:41:05 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17ed34d6
media-libs/libffado: Drop old
Closes: https://bugs.gentoo.org/642530
Package-Manager: Portage-2.3.19, Repoman-2.3.6
media-libs/libffado/Manifest | 1 -
.../libffado/files/libffado-2.3.0-gcc6.patch | 26 -----
.../files/libffado-2.3.0-include-signal.patch | 29 ------
.../files/libffado-2.3.0-modelname-strip.patch | 45 ---------
media-libs/libffado/libffado-2.3.0.ebuild | 107 ---------------------
media-libs/libffado/metadata.xml | 1 -
6 files changed, 209 deletions(-)
diff --git a/media-libs/libffado/Manifest b/media-libs/libffado/Manifest
index 16c3238487b..d61f0431273 100644
--- a/media-libs/libffado/Manifest
+++ b/media-libs/libffado/Manifest
@@ -1,2 +1 @@
-DIST libffado-2.3.0.tgz 1239253 BLAKE2B cb470a590df8018975f40f56cde50468a2b51c9504b719b70ce5941406829f25452a96b8ac897aba1ed6c8d4cafa712e7872430e7bb2ebec0822f7b4720084c5 SHA512 24a8853281a17b04623e41dc590f7a9b8f4aebe4dfaece2e3b8fe28457a6ff011586e817712b4913d1fca660b701dddc70576c12d8c56470cf991eb17b4297c4
DIST libffado-2.4.0.tgz 1228916 BLAKE2B 21a3a2a96377f698e7c1a43912c761624aabe5401f0e147fee4fa203c4534166494de8867320b4b6bc3ff200b65c77bb62ab2c4e98948ed0ee74e6171d162deb SHA512 7df37584925cc908cc284dba344609928d39e006f71ae4ede62e4531b2628271ebd0db00407418e943fb569b5b8b919a76c90aaeed03005cefbd3c1c16ee1627
diff --git a/media-libs/libffado/files/libffado-2.3.0-gcc6.patch b/media-libs/libffado/files/libffado-2.3.0-gcc6.patch
deleted file mode 100644
index 2a73ee1cf8c..00000000000
--- a/media-libs/libffado/files/libffado-2.3.0-gcc6.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-------------------------------------------------------------------------
-r2629 | jwoithe | 2016-10-09 13:00:28 +0900 (Sun, 09 Oct 2016) | 1 line
-
-TimestampedBuffer.cpp: move the include of math.h to the top of the file which is where most people would expect it to be. The patch comes from a Fedora RPM source package via Simon Lewis, who suggested that without it gcc6 had trouble with the file (the nature of the problem is not known by the FFADO project at this time). Earlier versions of gcc (for example, 4.8.2) had no trouble compiling this file without any math.h include, so the issue that some have seen with gcc6 must be due to math.h being removed from some other system-level include file at some point.
-------------------------------------------------------------------------
-Index: src/libutil/TimestampedBuffer.cpp
-===================================================================
---- a/src/libutil/TimestampedBuffer.cpp (revision 2628)
-+++ b/src/libutil/TimestampedBuffer.cpp (revision 2629)
-@@ -32,6 +32,7 @@
-
- #include <cstdlib>
- #include <cstring>
-+#include <math.h>
-
- #define DLL_PI (3.141592653589793238)
- #define DLL_SQRT2 (1.414213562373095049)
-@@ -179,8 +180,6 @@
- m_wrap_at=w;
- return true;
- }
--#include <math.h>
--
- /**
- * \brief return the effective rate
- *
diff --git a/media-libs/libffado/files/libffado-2.3.0-include-signal.patch b/media-libs/libffado/files/libffado-2.3.0-include-signal.patch
deleted file mode 100644
index 4eabf12eef0..00000000000
--- a/media-libs/libffado/files/libffado-2.3.0-include-signal.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-------------------------------------------------------------------------
-r2706 | jwoithe | 2017-08-08 08:39:56 +0900 (Tue, 08 Aug 2017) | 11 lines
-
-PosixMessageQueue: ensure visibility of SIGEV_THREAD declaration.
-
-Orcan Ogetbil reported on the ffado-devel list that during the recent Fedora
-rebuild effort FFADO 2.3.0 failed to compile because SIGEV_THREAD was
-undeclared. Jano Svitok made the plausible suggestion that signal.h needs
-to be included explicitly under newer glibc versions. This trivial patch
-implements this. As of this commit it has not been verified that the
-problem is fixed with this addition. However, there's no harm done by the
-change in general and conceptionally the change is consistent with the
-source file's content given the use of signal-related functionality.
-
-
-Index: src/libutil/PosixMessageQueue.cpp
-===================================================================
---- a/src/libutil/PosixMessageQueue.cpp (revision 2705)
-+++ b/src/libutil/PosixMessageQueue.cpp (revision 2706)
-@@ -30,6 +30,7 @@
- #include <errno.h>
- #include <string.h>
- #include <poll.h>
-+#include <signal.h>
-
- #define MQ_INVALID_ID ((mqd_t) -1)
- // one second
-
-------------------------------------------------------------------------
diff --git a/media-libs/libffado/files/libffado-2.3.0-modelname-strip.patch b/media-libs/libffado/files/libffado-2.3.0-modelname-strip.patch
deleted file mode 100644
index 8f28b6ac0f7..00000000000
--- a/media-libs/libffado/files/libffado-2.3.0-modelname-strip.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-------------------------------------------------------------------------
-r2677 | jwoithe | 2017-03-22 07:43:24 +0900 (Wed, 22 Mar 2017) | 1 line
-
-configrom: there is no obvious reason why a space should be added to the end of the vendor and model strings returned from the interface. Retain the explicit null termination of these strings to cover for the case where an interface may not return any null bytes. Also fix indentation associated with the null termination code. The issue with the trailing space was noticed and reported by Nils Philippsen: its presence broke a test in the saffire_dice mixer python code.
-------------------------------------------------------------------------
-Index: src/libieee1394/configrom.cpp
-===================================================================
---- a/src/libieee1394/configrom.cpp (revision 2676)
-+++ b/src/libieee1394/configrom.cpp (revision 2677)
-@@ -176,13 +176,11 @@
- ( void* )CSR1212_TEXTUAL_DESCRIPTOR_LEAF_DATA( m_vendorNameKv ),
- len );
-
-- while ((buf + len - 1) == '\0') {
-- len--;
-+ while (*(buf + len - 1) == '\0') {
-+ len--;
- }
-- // \todo XXX seems a bit strage to do this but the nodemgr.c code does
-- // it. try to figure out why this is needed (or not)
-- buf[len++] = ' ';
-- buf[len] = '\0';
-+ // Ensure vendor string is null terminated
-+ buf[len] = '\0';
-
-
- debugOutput( DEBUG_LEVEL_VERBOSE, "Vendor name: '%s'\n", buf );
-@@ -195,13 +193,11 @@
- memcpy( buf,
- ( void* )CSR1212_TEXTUAL_DESCRIPTOR_LEAF_DATA( m_modelNameKv ),
- len );
-- while ((buf + len - 1) == '\0') {
-- len--;
-+ while (*(buf + len - 1) == '\0') {
-+ len--;
- }
-- // \todo XXX for edirol fa-66 it seems somehow broken. see above
-- // todo as well.
-- buf[len++] = ' ';
-- buf[len] = '\0';
-+ // Ensure model name string is null terminated
-+ buf[len] = '\0';
-
- debugOutput( DEBUG_LEVEL_VERBOSE, "Model name: '%s'\n", buf);
- m_modelName = buf;
diff --git a/media-libs/libffado/libffado-2.3.0.ebuild b/media-libs/libffado/libffado-2.3.0.ebuild
deleted file mode 100644
index b5d17e93263..00000000000
--- a/media-libs/libffado/libffado-2.3.0.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit eutils python-single-r1 scons-utils toolchain-funcs udev multilib-minimal
-
-DESCRIPTION="Driver for IEEE1394 (Firewire) audio interfaces"
-HOMEPAGE="http://www.ffado.org"
-
-if [ "${PV}" = "9999" ]; then
- inherit subversion
- ESVN_REPO_URI="http://subversion.ffado.org/ffado/trunk/${PN}"
- KEYWORDS="~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-else
- SRC_URI="http://www.ffado.org/files/${P}.tgz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-fi
-
-LICENSE="GPL-2 GPL-3"
-SLOT="0"
-IUSE="debug qt4 test-programs"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="dev-cpp/libxmlpp:2.6[${MULTILIB_USEDEP}]
- dev-libs/dbus-c++
- dev-libs/libconfig[cxx,${MULTILIB_USEDEP}]
- media-libs/alsa-lib
- media-libs/libiec61883[${MULTILIB_USEDEP}]
- !<media-sound/jack-audio-connection-kit-0.122.0:0
- !<media-sound/jack-audio-connection-kit-1.9.9:2
- sys-apps/dbus
- sys-libs/libraw1394[${MULTILIB_USEDEP}]
- sys-libs/libavc1394[${MULTILIB_USEDEP}]
- ${PYTHON_DEPS}
- qt4? (
- dev-python/PyQt4[dbus,${PYTHON_USEDEP}]
- dev-python/dbus-python[${PYTHON_USEDEP}]
- x11-misc/xdg-utils
- )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}/libffado-2.3.0-modelname-strip.patch"
- "${FILESDIR}/libffado-2.3.0-gcc6.patch"
- "${FILESDIR}/libffado-2.3.0-include-signal.patch"
-)
-
-myescons() {
- local myesconsargs=(
- PREFIX="${EPREFIX}/usr"
- LIBDIR="${EPREFIX}/usr/$(get_libdir)"
- MANDIR="${EPREFIX}/usr/share/man"
- UDEVDIR="$(get_udevdir)/rules.d"
- CUSTOM_ENV=true
- DETECT_USERSPACE_ENV=false
- DEBUG=$(usex debug)
- # ENABLE_OPTIMIZATIONS detects cpu type and sets flags accordingly
- # -fomit-frame-pointer is added also which can cripple debugging.
- # we set flags from portage instead
- ENABLE_OPTIMIZATIONS=false
- # This only works for JACK1>=0.122.0 or JACK2>=1.9.9, so we block
- # lower versions.
- ENABLE_SETBUFFERSIZE_API_VER=force
- )
- if multilib_is_native_abi; then
- myesconsargs+=(
- BUILD_MIXER=$(usex qt4 true false)
- BUILD_TESTS=$(usex test-programs)
- )
- else
- myesconsargs+=(
- BUILD_MIXER=false
- BUILD_TESTS=false
- )
- fi
- escons "${myesconsargs[@]}" "${@}"
-}
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-multilib_src_compile() {
- tc-export CC CXX
- myescons
-}
-
-multilib_src_install() {
- myescons DESTDIR="${D}" WILL_DEAL_WITH_XDG_MYSELF="True" install
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- python_fix_shebang "${D}"
- python_optimize "${D}"
-
- if use qt4; then
- newicon "support/xdg/hi64-apps-ffado.png" "ffado.png"
- newmenu "support/xdg/ffado.org-ffadomixer.desktop" "ffado-mixer.desktop"
- fi
-}
diff --git a/media-libs/libffado/metadata.xml b/media-libs/libffado/metadata.xml
index 52a13df73d6..eda35ae2cc6 100644
--- a/media-libs/libffado/metadata.xml
+++ b/media-libs/libffado/metadata.xml
@@ -14,7 +14,6 @@
<name>Gentoo ProAudio Project</name>
</maintainer>
<use>
- <flag name="qt4">Install qt4-based mixer frontend</flag>
<flag name="test-programs">Install standalone test programs</flag>
</use>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-libs/libffado/, media-libs/libffado/files/
@ 2019-02-14 18:37 Andreas Sturmlechner
0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2019-02-14 18:37 UTC (permalink / raw
To: gentoo-commits
commit: 9f37b84b5d01e0d465aedb75a664c1994bd7bee1
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 14 17:04:31 2019 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 14 18:36:11 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f37b84b
media-libs/libffado: Drop 2.4.0
Package-Manager: Portage-2.3.60, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
media-libs/libffado/Manifest | 1 -
.../libffado-2.4.0-additional-py3-fixes.patch | 96 ----------
.../files/libffado-2.4.0-crossbar-router-fix.patch | 11 --
.../files/libffado-2.4.0-py3-pyqt5-fixes.patch | 197 ---------------------
.../libffado-2.4.0-pyqt5-dbus-detection.patch | 30 ----
.../files/libffado-2.4.0-rme-bigendian-fix.patch | 50 ------
media-libs/libffado/libffado-2.4.0.ebuild | 119 -------------
7 files changed, 504 deletions(-)
diff --git a/media-libs/libffado/Manifest b/media-libs/libffado/Manifest
index f0bb141ce4c..d3949e14d04 100644
--- a/media-libs/libffado/Manifest
+++ b/media-libs/libffado/Manifest
@@ -1,2 +1 @@
-DIST libffado-2.4.0.tgz 1228916 BLAKE2B 21a3a2a96377f698e7c1a43912c761624aabe5401f0e147fee4fa203c4534166494de8867320b4b6bc3ff200b65c77bb62ab2c4e98948ed0ee74e6171d162deb SHA512 7df37584925cc908cc284dba344609928d39e006f71ae4ede62e4531b2628271ebd0db00407418e943fb569b5b8b919a76c90aaeed03005cefbd3c1c16ee1627
DIST libffado-2.4.1.tgz 1229295 BLAKE2B 3b42493b68fc8648e116784e04baee2278c21e01fa92b22d990340ef329f67c898e247891e76d494410a758009fcf186ba556e900598eaca539a9879664cc704 SHA512 0859f17b87c68108bbde726d1cf8ab0b99f6f7f02cbe36acd8b451e112688a4d1edc21134eb4a2edc8c92dcf5f5da52efeabb2ad0dc07804ed1aa664a3b38d74
diff --git a/media-libs/libffado/files/libffado-2.4.0-additional-py3-fixes.patch b/media-libs/libffado/files/libffado-2.4.0-additional-py3-fixes.patch
deleted file mode 100644
index fd5d2f44bab..00000000000
--- a/media-libs/libffado/files/libffado-2.4.0-additional-py3-fixes.patch
+++ /dev/null
@@ -1,96 +0,0 @@
---- a/support/mixer-qt4/ffado/panelmanager.py 2018-01-11 12:27:20.518923209 +0900
-+++ a/support/mixer-qt4/ffado/panelmanager.py 2018-01-11 12:31:03.956299962 +0900
-@@ -38,6 +38,7 @@
-
- import sys
- import time
-+import importlib
-
- import logging
- log = logging.getLogger('panelmanager')
-@@ -302,20 +303,15 @@
- #
- # Specific (or dummy) mixer widgets get loaded in the following
- #
-+ found = False
- if 'mixer' in dev and dev['mixer'] != None:
- mixerapp = dev['mixer']
-- global mixerwidget
-- exec( """
--try:
-- import ffado.mixer.%s
-- globals()["mixerwidget"] = ffado.mixer.%s.%s( w )
-- found = True
--except ImportError:
-- log.debug("bypassdbus set, %s module not available: ignored")
-- found = False
--""" % (mixerapp.lower(), mixerapp.lower(), mixerapp, mixerapp.lower()) )
-- else:
-- found = False
-+ try:
-+ mixer_module = importlib.import_module("ffado.mixer.%s" % mixerapp.lower())
-+ mixerwidget = getattr(mixer_module, mixerapp)(w)
-+ found = True
-+ except ImportError:
-+ log.debug("bypassdbus set, %s module not available: ignored" % mixerapp.lower())
-
- if not found:
- mixerwidget = Dummy( w )
---- a/support/mixer-qt4/ffado/widgets/crossbarrouter.py 2018-01-11 12:34:10.200777889 +0900
-+++ b/support/mixer-qt4/ffado/widgets/crossbarrouter.py 2018-01-11 12:45:13.278911705 +0900
-@@ -194,7 +194,7 @@
- #log.debug("Got %i peaks" % len(peakvalues))
- for peak in peakvalues:
- #log.debug("peak = [%s,%s]" % (str(peak[0]),str(peak[1])))
-- if peak[0] >= 0:
-+ if peak[1] >= 0:
- self.switchers[peak[0]].peakValue(peak[1])
-
- def updateMixerRouting(self):
---- a/support/mixer-qt4/ffado/widgets/matrixmixer.py 2018-01-11 12:54:27.545361864 +0900
-+++ b/support/mixer-qt4/ffado/widgets/matrixmixer.py 2018-01-11 12:56:36.899124318 +0900
-@@ -512,7 +512,7 @@
- self.rowHeaders[j].lbl.setText(row_name)
-
- def updateValues(self, n):
-- nbitems = len(n)/3
-+ nbitems = len(n) // 3
- for i in range(nbitems):
- n_0 = n[3*i]
- n_1 = n[3*i+1]
-@@ -951,7 +951,7 @@
- return self.interface.setValue(In, Out, val)
-
- def updateValues(self, n):
-- nbitems = len(n)/3
-+ nbitems = len(n) // 3
- for j in range(nbitems):
- n_0 = n[3*j]
- n_1 = n[3*j+1]
-@@ -1406,7 +1406,7 @@
- def matrixControlChanged(self, n):
- # Update value needed for "per Out" view
- #log.debug("Update per Output( %s )" % str(n))
-- nbitems = len(n)/3
-+ nbitems = len(n) // 3
- if (self.rule == "Columns_are_inputs"):
- n_t = n
- else:
-@@ -1420,7 +1420,7 @@
- def sliderControlChanged(self, n):
- # Update value needed for matrix view
- #log.debug("Update Matrix( %s )" % str(n))
-- nbitems = len(n)/3
-+ nbitems = len(n) // 3
- if (((self.rule == "Columns_are_inputs") and not self.transpose) or ((self.rule != "Columns_are_inputs") and self.transpose)):
- n_t = ()
- for i in range(nbitems):
-@@ -1512,7 +1512,7 @@
- log.debug("Number of stereo output channels must be specified")
- return False
- n = int(readMixerString[idx+2])
-- if n > self.perOut.nbOut/2:
-+ if n > self.perOut.nbOut // 2:
- log.debug("Incoherent number of stereo channels")
- return False
- if n > 0:
diff --git a/media-libs/libffado/files/libffado-2.4.0-crossbar-router-fix.patch b/media-libs/libffado/files/libffado-2.4.0-crossbar-router-fix.patch
deleted file mode 100644
index 99861abe284..00000000000
--- a/media-libs/libffado/files/libffado-2.4.0-crossbar-router-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/support/mixer-qt4/ffado/widgets/crossbarrouter.py 2018-01-11 12:34:10.200777889 +0900
-+++ b/support/mixer-qt4/ffado/widgets/crossbarrouter.py 2018-01-11 12:45:13.278911705 +0900
-@@ -98,7 +98,7 @@
- self.combo.setCurrentIndex(self.combo.findText(src))
- else:
- self.combo.setCurrentIndex(0)
-- self.combo.activated.connect(self.comboCurrentChanged)
-+ self.combo.activated[str].connect(self.comboCurrentChanged)
-
-
- def peakValue(self, value):
diff --git a/media-libs/libffado/files/libffado-2.4.0-py3-pyqt5-fixes.patch b/media-libs/libffado/files/libffado-2.4.0-py3-pyqt5-fixes.patch
deleted file mode 100644
index f0937559b8e..00000000000
--- a/media-libs/libffado/files/libffado-2.4.0-py3-pyqt5-fixes.patch
+++ /dev/null
@@ -1,197 +0,0 @@
-------------------------------------------------------------------------
-r2726 | jwoithe | 2018-01-05 18:56:40 +0900 (Fri, 05 Jan 2018) | 13 lines
-
-Further Python3/PyQt5 compatibility fixes, enhance "About" dialog box.
-
-This patch was prepared by Orcan Ogetbil on Fedora and tested on that
-distribution with PyQt4-4.12.1 and PyQt5-5.9.1. It is primarily concerned
-with additional compatibility between Python2/3 and PyQt4/5. It has also
-been tested under python 2 with pyqt 4.11.4. Further testing under
-different python/pyqt environments would be welcomed.
-
-An enhancement to the "About" dialog is also included which adds version
-strings and updates the copyright year range.
-
-The patch was submitted to the ffado-devel mailing list.
-
-
-Index: support/mixer-qt4/ffado/ffadowindow.py
-===================================================================
---- a/support/mixer-qt4/ffado/ffadowindow.py (revision 2725)
-+++ b/support/mixer-qt4/ffado/ffadowindow.py (revision 2726)
-@@ -22,6 +22,8 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
- #
-
-+import ctypes
-+import datetime
- import os
-
- from ffado.config import *
-@@ -92,7 +94,8 @@
- self.menuTheme[theme].setCheckable(True)
-
- if (ffado_python3 and (self.style().objectName().lower() == theme.lower()) or
-- not(ffado_python3) and (self.style().objectName().toLower() == theme.toLower())):
-+ not(ffado_python3) and (self.style().objectName().toLower() == theme.toLower() if ffado_pyqt_version == 4 else
-+ self.style().objectName().lower() == theme.lower())):
- self.menuTheme[theme].setDisabled(True)
- self.menuTheme[theme].setChecked(True)
- self.menuTheme[theme].triggered.connect(self.switchTheme )
-@@ -174,9 +177,11 @@
- QMessageBox.about( self, "About FFADO", """
- <h1>ffado.org</h1>
-
-+<p>{ffado_version}</p>
-+
- <p>FFADO is the new approach to have firewire audio on linux.</p>
-
--<p>© 2006-2014 by the FFADO developers<br />ffado is licensed under the GPLv3, for the full license text see <a href="http://www.gnu.org/licenses/">www.gnu.org/licenses</a> or the LICENSE.* files shipped with ffado.</p>
-+ <p>© 2006-2018 by the FFADO developers<br />ffado is licensed under the GPLv3, for the full license text see <a href="http://www.gnu.org/licenses/">www.gnu.org/licenses</a> or the LICENSE.* files shipped with ffado.</p>
-
- <p>FFADO developers are:<ul>
- <li>Pieter Palmers
-@@ -191,8 +196,17 @@
- <li>Stefan Richter
- <li>Jano Svitok
- </ul>
--""" )
-+ """.format(ffado_version=get_ffado_version(), thisyear=datetime.datetime.now().year))
-
-+def get_ffado_version():
-+ try:
-+ # call the C function ffado_get_version() to figure out the version
-+ lib = ctypes.cdll.LoadLibrary('libffado.so')
-+ func = ctypes.CFUNCTYPE(ctypes.c_char_p)
-+ ffado_get_version = func(('ffado_get_version', lib))
-+ return ffado_get_version()
-+ except:
-+ return "libffado"
-
- def get_lock(process_name):
- import socket
-@@ -252,6 +266,7 @@
- logging.getLogger('global').setLevel(debug_level)
-
- log = logging.getLogger('main')
-+ log.debug("Using %s with Qt: %s PyQt: %s" % (get_ffado_version(), QtCore.QT_VERSION_STR, QtCore.PYQT_VERSION_STR))
-
- app = QApplication(args)
- app.setWindowIcon( QIcon( SHAREDIR + "/icons/hi64-apps-ffado.png" ) )
-Index: support/mixer-qt4/ffado/logginghandler.py
-===================================================================
---- a/support/mixer-qt4/ffado/logginghandler.py (revision 2725)
-+++ b/support/mixer-qt4/ffado/logginghandler.py (revision 2726)
-@@ -28,7 +28,7 @@
- log = logging.getLogger('logginghandler')
-
- class QStatusLogger( QObject, logging.Handler ):
-- log = pyqtSignal(QString, int, name='log')
-+ log = pyqtSignal(QString if ffado_pyqt_version == 4 else str, int, name='log')
- def __init__( self, parent, statusbar, level=logging.NOTSET ):
- QObject.__init__( self, parent )
- logging.Handler.__init__( self, level )
-Index: support/mixer-qt4/ffado/panelmanager.py
-===================================================================
---- a/support/mixer-qt4/ffado/panelmanager.py (revision 2725)
-+++ b/support/mixer-qt4/ffado/panelmanager.py (revision 2726)
-@@ -378,7 +378,7 @@
- action = self.sender()
- # Extract the action data and store as a dbus.String type so
- # it is usable as a key into self.panels[].
-- panel_key = dbus.String(action.data().toString())
-+ panel_key = dbus.String(action.data().toString() if ffado_pyqt_version == 4 else action.data())
- self.tabs.setCurrentIndex(self.tabs.indexOf(self.panels[panel_key]))
-
- def displayPanels(self):
-@@ -515,6 +515,8 @@
- saveString.append('</device>\n')
- # file saving
- savefilename = QFileDialog.getSaveFileName(self, 'Save File', os.getenv('HOME'))
-+ if isinstance(savefilename, tuple): # newer PyQt5
-+ savefilename = savefilename[0]
- try:
- f = open(savefilename, 'w')
- except IOError:
-@@ -526,6 +528,8 @@
-
- def readSettings(self):
- readfilename = QFileDialog.getOpenFileName(self, 'Open File', os.getenv('HOME'))
-+ if isinstance(readfilename, tuple): # newer PyQt5
-+ readfilename = readfilename[0]
- try:
- f = open(readfilename, 'r')
- except IOError:
-Index: support/mixer-qt4/ffado/widgets/crossbarrouter.py
-===================================================================
---- a/support/mixer-qt4/ffado/widgets/crossbarrouter.py (revision 2725)
-+++ b/support/mixer-qt4/ffado/widgets/crossbarrouter.py (revision 2726)
-@@ -168,7 +168,10 @@
- self.timer.setInterval(200)
- self.timer.timeout.connect(self.updateLevels)
-
-- self.vubtn.setChecked(self.settings.value("crossbarrouter/runvu", False).toBool())
-+ if ffado_pyqt_version == 4:
-+ self.vubtn.setChecked(self.settings.value("crossbarrouter/runvu", False).toBool())
-+ else:
-+ self.vubtn.setChecked(self.settings.value("crossbarrouter/runvu", False) == u'true')
-
- def __del__(self):
- print( "CrossbarRouter.__del__()" )
-Index: support/mixer-qt4/ffado/widgets/matrixmixer.py
-===================================================================
---- a/support/mixer-qt4/ffado/widgets/matrixmixer.py (revision 2725)
-+++ b/support/mixer-qt4/ffado/widgets/matrixmixer.py (revision 2726)
-@@ -200,7 +200,7 @@
-
- def mousePressEvent(self, ev):
- if ev.buttons() & Qt.LeftButton:
-- self.pos = ev.posF()
-+ self.pos = ev.posF() if ffado_pyqt_version == 4 else ev.localPos()
- self.tmpvalue = self.value()
- ev.accept()
- #log.debug("MixerNode.mousePressEvent() %s" % str(self.pos))
-@@ -207,7 +207,7 @@
-
- def mouseMoveEvent(self, ev):
- if hasattr(self, "tmpvalue") and self.pos is not QtCore.QPointF(0, 0):
-- newpos = ev.posF()
-+ newpos = ev.posF() if ffado_pyqt_version == 4 else ev.localPos()
- change = newpos.y() - self.pos.y()
- #log.debug("MixerNode.mouseReleaseEvent() change %s" % (str(change)))
- self.setValue( self.tmpvalue - math.copysign(pow(abs(change), 2), change) )
-@@ -215,7 +215,7 @@
-
- def mouseReleaseEvent(self, ev):
- if hasattr(self, "tmpvalue") and self.pos is not QtCore.QPointF(0, 0):
-- newpos = ev.posF()
-+ newpos = ev.posF() if ffado_pyqt_version == 4 else ev.localPos()
- change = newpos.y() - self.pos.y()
- #log.debug("MixerNode.mouseReleaseEvent() change %s" % (str(change)))
- self.setValue( self.tmpvalue - math.copysign(pow(abs(change), 2), change) )
-@@ -257,19 +257,19 @@
- if v == 0:
- symb_inf = u"\u221E"
- text = "-" + symb_inf + " dB"
-- if ffado_python3:
-+ if ffado_python3 or ffado_pyqt_version == 5:
- # Python3 uses native python UTF strings rather than QString.
- # This therefore appears to be the correct way to display this
- # UTF8 string, but testing may prove otherwise.
- p.drawText(rect, Qt.AlignCenter, text)
- else:
-- p.drawText(rect, Qt.AlignCenter, QtCore.QString.fromUtf8(text))
-+ p.drawText(rect, Qt.AlignCenter, QString.fromUtf8(text))
- if (self.inv_action!=None and self.inv_action.isChecked()):
-- if ffado_python3:
-+ if ffado_python3 or ffado_pyqt_version == 5:
- # Refer to the comment about about Python UTF8 strings.
- p.drawText(rect, Qt.AlignLeft|Qt.AlignTop, " ϕ")
- else:
-- p.drawText(rect, Qt.AlignLeft|Qt.AlignTop, QtCore.QString.fromUtf8(" ϕ"))
-+ p.drawText(rect, Qt.AlignLeft|Qt.AlignTop, QString.fromUtf8(" ϕ"))
-
- def internalValueChanged(self, value):
- #log.debug("MixerNode.internalValueChanged( %i )" % value)
-
-------------------------------------------------------------------------
diff --git a/media-libs/libffado/files/libffado-2.4.0-pyqt5-dbus-detection.patch b/media-libs/libffado/files/libffado-2.4.0-pyqt5-dbus-detection.patch
deleted file mode 100644
index 9064a59a6bc..00000000000
--- a/media-libs/libffado/files/libffado-2.4.0-pyqt5-dbus-detection.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-------------------------------------------------------------------------
-r2725 | jwoithe | 2018-01-05 18:40:19 +0900 (Fri, 05 Jan 2018) | 11 lines
-
-SCons: fix detection of dbus on PyQt5 systems.
-
-The detection of the dbus python modules was qualified on the presence of
-pyuic4. On systems with only PyQt5 this would obviously fail. Patch from
-Orcan Ogetbil via the ffado-devel mailing list.
-
-r2724 inadvertently included a change to SConstruct to import sys. This is
-needed since sys.stdout is referenced in some situations (in particular, if
-jack is not installed in the build environment). This patch was also from
-Orcan Ogetbil, via the ffado-devel mailing list.
-
-
-Index: SConstruct
-===================================================================
---- a/SConstruct (revision 2724)
-+++ b/SConstruct (revision 2725)
-@@ -396,7 +396,7 @@
-
- # PyQT checks
- if env['BUILD_MIXER'] != 'false':
-- have_dbus = (conf.CheckForApp( 'which pyuic4' ) and conf.CheckForPyModule( 'dbus.mainloop.qt' ))
-+ have_dbus = ((conf.CheckForApp( 'which pyuic4' ) and conf.CheckForPyModule( 'dbus.mainloop.qt' )) or (conf.CheckForApp( 'which pyuic5' ) and conf.CheckForPyModule( 'dbus.mainloop.pyqt5' )))
- have_pyqt4 = (conf.CheckForApp( 'which pyuic4' ) and conf.CheckForPyModule( 'PyQt4' ))
- have_pyqt5 = (conf.CheckForApp( 'which pyuic5' ) and conf.CheckForPyModule( 'PyQt5' ))
- if ((have_pyqt4 or have_pyqt5) and have_dbus):
-
-------------------------------------------------------------------------
diff --git a/media-libs/libffado/files/libffado-2.4.0-rme-bigendian-fix.patch b/media-libs/libffado/files/libffado-2.4.0-rme-bigendian-fix.patch
deleted file mode 100644
index 8e0158a03c5..00000000000
--- a/media-libs/libffado/files/libffado-2.4.0-rme-bigendian-fix.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-------------------------------------------------------------------------
-r2724 | jwoithe | 2018-01-05 18:33:39 +0900 (Fri, 05 Jan 2018) | 8 lines
-
-RME: ensure byte swap macros are available for all components.
-
-The byte swap macros (ByteSwap32() in particular) are required on big-endian
-architectures for more than just the rme_avdevice module. Including these
-in the RME device header file is a reasonable way to fix this.
-
-Patch from Orcan Ogetbil via the ffado-devel mailing list.
-
-
-Index: SConstruct
-===================================================================
---- a/SConstruct (revision 2723)
-+++ b/SConstruct (revision 2724)
-@@ -29,6 +29,7 @@
- from subprocess import Popen, PIPE
- import os
- import re
-+import sys
- from string import Template
- import imp
- import distutils.sysconfig
-Index: src/rme/rme_avdevice.cpp
-===================================================================
---- a/src/rme/rme_avdevice.cpp (revision 2723)
-+++ b/src/rme/rme_avdevice.cpp (revision 2724)
-@@ -42,7 +42,6 @@
- #include <stdint.h>
- #include <assert.h>
- #include <unistd.h>
--#include "libutil/ByteSwap.h"
-
- #include <iostream>
- #include <sstream>
-Index: src/rme/rme_avdevice.h
-===================================================================
---- a/src/rme/rme_avdevice.h (revision 2723)
-+++ b/src/rme/rme_avdevice.h (revision 2724)
-@@ -31,6 +31,7 @@
- #include "libavc/avc_definitions.h"
-
- #include "libutil/Configuration.h"
-+#include "libutil/ByteSwap.h"
-
- #include "fireface_def.h"
- #include "libstreaming/rme/RmeReceiveStreamProcessor.h"
-
-------------------------------------------------------------------------
diff --git a/media-libs/libffado/libffado-2.4.0.ebuild b/media-libs/libffado/libffado-2.4.0.ebuild
deleted file mode 100644
index 10e673c6113..00000000000
--- a/media-libs/libffado/libffado-2.4.0.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-
-inherit desktop python-single-r1 scons-utils toolchain-funcs udev multilib-minimal
-
-DESCRIPTION="Driver for IEEE1394 (Firewire) audio interfaces"
-HOMEPAGE="http://www.ffado.org"
-
-if [[ "${PV}" = "9999" ]]; then
- inherit subversion
- ESVN_REPO_URI="http://subversion.ffado.org/ffado/trunk/${PN}"
-else
- SRC_URI="http://www.ffado.org/files/${P}.tgz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-fi
-
-LICENSE="GPL-2 GPL-3"
-SLOT="0"
-IUSE="debug qt5 test-programs"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-COMMON_DEPEND="${PYTHON_DEPS}
- dev-cpp/libxmlpp:2.6[${MULTILIB_USEDEP}]
- dev-libs/dbus-c++
- dev-libs/libconfig[cxx,${MULTILIB_USEDEP}]
- media-libs/alsa-lib
- media-libs/libiec61883[${MULTILIB_USEDEP}]
- sys-apps/dbus
- sys-libs/libavc1394[${MULTILIB_USEDEP}]
- sys-libs/libraw1394[${MULTILIB_USEDEP}]
- qt5? (
- dev-python/dbus-python[${PYTHON_USEDEP}]
- dev-python/PyQt5[dbus,${PYTHON_USEDEP}]
- x11-misc/xdg-utils
- )"
-DEPEND="${COMMON_DEPEND}
- virtual/pkgconfig"
-RDEPEND="${COMMON_DEPEND}
- !<media-sound/jack-audio-connection-kit-0.122.0:0
- !<media-sound/jack-audio-connection-kit-1.9.9:2"
-
-PATCHES=(
- "${FILESDIR}/${P}-rme-bigendian-fix.patch"
- "${FILESDIR}/${P}-pyqt5-dbus-detection.patch"
- "${FILESDIR}/${P}-py3-pyqt5-fixes.patch"
- "${FILESDIR}/${P}-additional-py3-fixes.patch"
- "${FILESDIR}/${P}-crossbar-router-fix.patch"
-)
-
-myescons() {
- local myesconsargs=(
- PREFIX="${EPREFIX}/usr"
- LIBDIR="${EPREFIX}/usr/$(get_libdir)"
- MANDIR="${EPREFIX}/usr/share/man"
- UDEVDIR="$(get_udevdir)/rules.d"
- CUSTOM_ENV=true
- DETECT_USERSPACE_ENV=false
- DEBUG=$(usex debug)
- PYPKGDIR="$(python_get_sitedir)"
- # ENABLE_OPTIMIZATIONS detects cpu type and sets flags accordingly
- # -fomit-frame-pointer is added also which can cripple debugging.
- # we set flags from portage instead
- ENABLE_OPTIMIZATIONS=false
- # This only works for JACK1>=0.122.0 or JACK2>=1.9.9, so we block
- # lower versions.
- ENABLE_SETBUFFERSIZE_API_VER=force
- )
- if multilib_is_native_abi; then
- myesconsargs+=(
- BUILD_MIXER=$(usex qt5 true false)
- BUILD_TESTS=$(usex test-programs)
- )
- else
- myesconsargs+=(
- BUILD_MIXER=false
- BUILD_TESTS=false
- )
- fi
- escons "${myesconsargs[@]}" "${@}"
-}
-
-src_prepare() {
- default
-
- # Python3 fixes
- sed -i -e 's/\t/ /g' support/mixer-qt4/ffado/mixer/phase88control.py || die
- sed -i -e 's/\t/ /g' support/mixer-qt4/ffado/mixer/audiofire.py || die
- sed -i -e 's/\bprint \(.*\)$/print(\1)/g' -e '/import commands/d' support/tools/ffado-diag-static || die
-
- # Always use Qt5
- sed -i -e 's/try:/if False:/' -e 's/except.*/else:/' support/mixer-qt4/ffado/import_pyqt.py || die
-
- multilib_copy_sources
-}
-
-multilib_src_compile() {
- tc-export CC CXX
- myescons
-}
-
-multilib_src_install() {
- myescons DESTDIR="${D}" WILL_DEAL_WITH_XDG_MYSELF="True" install
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- python_fix_shebang "${D}"
- python_optimize "${D}"
-
- if use qt5; then
- newicon "support/xdg/hi64-apps-ffado.png" "ffado.png"
- newmenu "support/xdg/ffado.org-ffadomixer.desktop" "ffado-mixer.desktop"
- fi
-}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-libs/libffado/, media-libs/libffado/files/
@ 2022-11-28 8:56 Miroslav Šulc
0 siblings, 0 replies; 7+ messages in thread
From: Miroslav Šulc @ 2022-11-28 8:56 UTC (permalink / raw
To: gentoo-commits
commit: c25d9d6e155fb609e375e6a85aeb585fde5a2f67
Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 28 08:55:55 2022 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Mon Nov 28 08:56:44 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c25d9d6e
media-libs/libffado: bump to 2.4.7 + fix for config load crash
patch by Adam Wenocur <awenocur <AT> gmail.com>
Closes: https://bugs.gentoo.org/744364
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
media-libs/libffado/Manifest | 1 +
.../libffado-2.4.7-fix-config-load-crash.patch | 13 +++
media-libs/libffado/libffado-2.4.7.ebuild | 125 +++++++++++++++++++++
3 files changed, 139 insertions(+)
diff --git a/media-libs/libffado/Manifest b/media-libs/libffado/Manifest
index 522d1cda4de7..d09d38ce2d34 100644
--- a/media-libs/libffado/Manifest
+++ b/media-libs/libffado/Manifest
@@ -1 +1,2 @@
DIST libffado-2.4.6.tgz 1230455 BLAKE2B 1e86e7f9179e94c00a74514dbd7c0c299de6d1870f22c4d9ba14cb6b105b41c9dda62d19d0d660e84eee7e0f02c0bf7c44fbe58e24634ccf9cc9e41f1d38b5c2 SHA512 dac651233ea94c19834e810c64230bcbd5516de9e694ced1b6497ad927d734c527b3a556281676393674d33da768cb2431e7da1a0fdfc6ceb268e897029aa584
+DIST libffado-2.4.7.tgz 1231931 BLAKE2B 3c304011259ddbd35ce8fd725d38a5f50fca962981f9c5af6e377493a14985e4b96c64bcc54ba5a341028ec17dc6f2c42ce527422779f2edc6f9a1a61220cf51 SHA512 424a9ca7ded12e72d77a50d7ddf4e50dc0d55b80d725499df7609ce60d0eac8b24a41d9b8e4e74f78bdefe114b61bd5f1ec09a6d083f4a58475e66d61153f075
diff --git a/media-libs/libffado/files/libffado-2.4.7-fix-config-load-crash.patch b/media-libs/libffado/files/libffado-2.4.7-fix-config-load-crash.patch
new file mode 100644
index 000000000000..05ede6ebf653
--- /dev/null
+++ b/media-libs/libffado/files/libffado-2.4.7-fix-config-load-crash.patch
@@ -0,0 +1,13 @@
+diff --git a/libffado-2.4.1/support/mixer-qt4/ffado/mixer/globalmixer.py b/libffado-2.4.1-patched/support/mixer-qt4/ffado/mixer/globalmixer.py
+index 7078b0e..d184d73 100644
+--- libffado-2.4.1-old/support/mixer-qt4/ffado/mixer/globalmixer.py
++++ libffado-2.4.1/support/mixer-qt4/ffado/mixer/globalmixer.py
+@@ -96,7 +96,6 @@ class GlobalMixer(QWidget):
+ @pyqtSlot()
+ def on_txtNickname_returnPressed( self ):
+ if self.nickname.canChangeValue():
+- asciiData = self.txtNickname.text().toAscii()
+- self.nickname.setText( asciiData.data() )
++ self.nickname.setText( self.txtNickname.text().encode('utf-8') )
+ else:
+ self.txtNickname.setText( self.nickname.text() )
diff --git a/media-libs/libffado/libffado-2.4.7.ebuild b/media-libs/libffado/libffado-2.4.7.ebuild
new file mode 100644
index 000000000000..116efcf9375f
--- /dev/null
+++ b/media-libs/libffado/libffado-2.4.7.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit desktop python-single-r1 scons-utils toolchain-funcs udev multilib-minimal
+
+DESCRIPTION="Driver for IEEE1394 (Firewire) audio interfaces"
+HOMEPAGE="http://www.ffado.org"
+
+if [[ "${PV}" = "9999" ]]; then
+ inherit subversion
+ ESVN_REPO_URI="http://subversion.ffado.org/ffado/trunk/${PN}"
+else
+ SRC_URI="http://www.ffado.org/files/${P}.tgz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+IUSE="debug qt5 test-programs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+CDEPEND="${PYTHON_DEPS}
+ dev-cpp/libxmlpp:2.6[${MULTILIB_USEDEP}]
+ dev-libs/dbus-c++
+ dev-libs/libconfig:=[cxx,${MULTILIB_USEDEP}]
+ media-libs/alsa-lib
+ media-libs/libiec61883[${MULTILIB_USEDEP}]
+ sys-apps/dbus
+ sys-libs/libavc1394[${MULTILIB_USEDEP}]
+ sys-libs/libraw1394[${MULTILIB_USEDEP}]
+ qt5? (
+ $(python_gen_cond_dep '
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/PyQt5[dbus,${PYTHON_USEDEP}]
+ ')
+ x11-misc/xdg-utils
+ )"
+DEPEND="${CDEPEND}"
+RDEPEND="${CDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/libffado-2.4.7-fix-config-load-crash.patch"
+)
+
+myescons() {
+ local myesconsargs=(
+ PREFIX="${EPREFIX}/usr"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ MANDIR="${EPREFIX}/usr/share/man"
+ UDEVDIR="$(get_udevdir)/rules.d"
+ CUSTOM_ENV=true
+ DETECT_USERSPACE_ENV=false
+ DEBUG=$(usex debug)
+ PYPKGDIR="$(python_get_sitedir)"
+ # ENABLE_OPTIMIZATIONS detects cpu type and sets flags accordingly
+ # -fomit-frame-pointer is added also which can cripple debugging.
+ # we set flags from portage instead
+ ENABLE_OPTIMIZATIONS=false
+ # This only works for JACK1>=0.122.0 or JACK2>=1.9.9.
+ ENABLE_SETBUFFERSIZE_API_VER=force
+ )
+ if multilib_is_native_abi; then
+ myesconsargs+=(
+ BUILD_MIXER=$(usex qt5 true false)
+ BUILD_TESTS=$(usex test-programs)
+ )
+ else
+ myesconsargs+=(
+ BUILD_MIXER=false
+ BUILD_TESTS=false
+ )
+ fi
+ escons "${myesconsargs[@]}" "${@}"
+}
+
+src_prepare() {
+ default
+
+ # Bug #808853
+ cp "${BROOT}"/usr/share/gnuconfig/config.guess admin/ || die "Failed to update config.guess"
+
+ # Always use Qt5
+ sed -i -e 's/try:/if False:/' -e 's/except.*/else:/' support/mixer-qt4/ffado/import_pyqt.py || die
+
+ # Bugs #658052, #659226
+ sed -i -e 's/^CacheDir/#CacheDir/' SConstruct || die
+
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ tc-export CC CXX
+ myescons
+}
+
+multilib_src_install() {
+ myescons DESTDIR="${D}" WILL_DEAL_WITH_XDG_MYSELF="True" install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ python_fix_shebang "${D}"
+ python_optimize "${D}"
+
+ if use qt5; then
+ newicon "support/xdg/hi64-apps-ffado.png" "ffado.png"
+ newmenu "support/xdg/ffado.org-ffadomixer.desktop" "ffado-mixer.desktop"
+ fi
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-libs/libffado/, media-libs/libffado/files/
@ 2024-07-04 14:24 Miroslav Šulc
0 siblings, 0 replies; 7+ messages in thread
From: Miroslav Šulc @ 2024-07-04 14:24 UTC (permalink / raw
To: gentoo-commits
commit: 69364e35bd5a05ed5c26f8806dbfdaf63741c32e
Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 4 14:24:10 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Jul 4 14:24:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69364e35
media-libs/libffado: added python 3.12
Closes: https://bugs.gentoo.org/929640
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
.../libffado-2.4.7-fix-config-load-crash.patch | 2 -
.../libffado/files/libffado-2.4.8-python3.12.patch | 82 ++++++++++++++++++++++
media-libs/libffado/libffado-2.4.8.ebuild | 3 +-
3 files changed, 84 insertions(+), 3 deletions(-)
diff --git a/media-libs/libffado/files/libffado-2.4.7-fix-config-load-crash.patch b/media-libs/libffado/files/libffado-2.4.7-fix-config-load-crash.patch
index 05ede6ebf653..e16629c7a47e 100644
--- a/media-libs/libffado/files/libffado-2.4.7-fix-config-load-crash.patch
+++ b/media-libs/libffado/files/libffado-2.4.7-fix-config-load-crash.patch
@@ -1,5 +1,3 @@
-diff --git a/libffado-2.4.1/support/mixer-qt4/ffado/mixer/globalmixer.py b/libffado-2.4.1-patched/support/mixer-qt4/ffado/mixer/globalmixer.py
-index 7078b0e..d184d73 100644
--- libffado-2.4.1-old/support/mixer-qt4/ffado/mixer/globalmixer.py
+++ libffado-2.4.1/support/mixer-qt4/ffado/mixer/globalmixer.py
@@ -96,7 +96,6 @@ class GlobalMixer(QWidget):
diff --git a/media-libs/libffado/files/libffado-2.4.8-python3.12.patch b/media-libs/libffado/files/libffado-2.4.8-python3.12.patch
new file mode 100644
index 000000000000..da5bdecc245d
--- /dev/null
+++ b/media-libs/libffado/files/libffado-2.4.8-python3.12.patch
@@ -0,0 +1,82 @@
+--- libffado-2.4.8/SConstruct
++++ libffado-2.4.8-patched/SConstruct
+@@ -977,7 +977,7 @@ else:
+ # Create a tags-file for easier emacs/vim-source-browsing
+ # I don't know if the dependency is right...
+ #
+-findcommand = "find . \( -path \"*.h\" -o -path \"*.cpp\" -o -path \"*.c\" \) \! -path \"*.svn*\" \! -path \"./doc*\" \! -path \"./cache*\""
++findcommand = "find . \\( -path \"*.h\" -o -path \"*.cpp\" -o -path \"*.c\" \\) \\! -path \"*.svn*\" \\! -path \"./doc*\" \\! -path \"./cache*\""
+ env.Command( "tags", "", findcommand + " |xargs ctags" )
+ env.Command( "TAGS", "", findcommand + " |xargs etags" )
+ env.AlwaysBuild( "tags", "TAGS" )
+--- libffado-2.4.8/admin/pyuic.py
++++ libffado-2.4.8-patched/admin/pyuic.py
+@@ -21,7 +22,7 @@
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #
+
+-import imp
++import importlib
+
+ def pyuic_action( target, source, env ):
+ env.Execute( "pyuic " + str( source[0] ) + " > " + str( target[0] ) )
+@@ -32,11 +33,7 @@ def pyuic_string( target, source, env ):
+
+ def PyQtCheck( context ):
+ context.Message( "Checking for pyuic (by checking for the python module pyqtconfig) " )
+- ret = True
+- try:
+- imp.find_module( "pyqtconfig" )
+- except ImportError:
+- ret = False
++ ret = importlib.util.find_spec( "pyqtconfig" ) is not None
+ context.Result( ret )
+ return ret
+
+--- libffado-2.4.8/admin/pyuic4.py
++++ libffado-2.4.8-patched/admin/pyuic4.py
+@@ -21,7 +22,7 @@
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #
+
+-import imp
++import importlib
+
+ def pyuic4_action( target, source, env ):
+ env.Execute( "pyuic4 " + str( source[0] ) + " > " + str( target[0] ) )
+@@ -32,11 +33,7 @@ def pyuic4_string( target, source, env ):
+
+ def PyQt4Check( context ):
+ context.Message( "Checking for pyuic4 (by checking for the python module pyqtconfig) " )
+- ret = True
+- try:
+- imp.find_module( "pyqtconfig" )
+- except ImportError:
+- ret = False
++ ret = importlib.util.find_spec( "pyqtconfig" ) is not None
+ context.Result( ret )
+ return ret
+
+--- libffado-2.4.8/admin/pyuic5.py
++++ libffado-2.4.8-patched/admin/pyuic5.py
+@@ -22,7 +23,7 @@
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #
+
+-import imp
++import importlib
+
+ def pyuic5_action( target, source, env ):
+ env.Execute( "pyuic5 " + str( source[0] ) + " > " + str( target[0] ) )
+@@ -33,11 +34,7 @@ def pyuic5_string( target, source, env ):
+
+ def PyQt5Check( context ):
+ context.Message( "Checking for pyuic5 (by checking for the python module pyqtconfig) " )
+- ret = True
+- try:
+- imp.find_module( "pyqtconfig" )
+- except ImportError:
+- ret = False
++ ret = importlib.util.find_spec( "pyqtconfig" ) is not None
+ context.Result( ret )
+ return ret
diff --git a/media-libs/libffado/libffado-2.4.8.ebuild b/media-libs/libffado/libffado-2.4.8.ebuild
index 485806fc9807..2bf41f8f6808 100644
--- a/media-libs/libffado/libffado-2.4.8.ebuild
+++ b/media-libs/libffado/libffado-2.4.8.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit desktop python-single-r1 scons-utils toolchain-funcs udev multilib-minimal
@@ -48,6 +48,7 @@ RDEPEND="${CDEPEND}"
PATCHES=(
"${FILESDIR}/libffado-2.4.7-fix-config-load-crash.patch"
+ "${FILESDIR}/libffado-2.4.8-python3.12.patch"
)
myescons() {
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-libs/libffado/, media-libs/libffado/files/
@ 2024-10-31 20:05 Miroslav Šulc
0 siblings, 0 replies; 7+ messages in thread
From: Miroslav Šulc @ 2024-10-31 20:05 UTC (permalink / raw
To: gentoo-commits
commit: 56db86d7251a5ab3ee46233a091153dbbf1ec1e1
Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 31 20:05:37 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Oct 31 20:05:49 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56db86d7
media-libs/libffado: bump to 2.4.9
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
media-libs/libffado/Manifest | 1 +
.../libffado-2.4.9-fix-config-load-crash.patch | 12 ++
media-libs/libffado/libffado-2.4.9.ebuild | 127 +++++++++++++++++++++
3 files changed, 140 insertions(+)
diff --git a/media-libs/libffado/Manifest b/media-libs/libffado/Manifest
index ec50968e9f57..16bec4cb62b1 100644
--- a/media-libs/libffado/Manifest
+++ b/media-libs/libffado/Manifest
@@ -1 +1,2 @@
DIST libffado-2.4.8.tgz 1237955 BLAKE2B 14b83d55fc9a7b33c888b893c808f8419292fefaa2c2239b4b51c2b84070a584ea72821c8469bb8d965a9a5e6473b6fcfb5e85f4eecd2d424e3167322f8abb81 SHA512 fbbcd30640c55315f2e65fc6c07afc71a77dd2c9d1b6127ee55cd17e76511ad5f0563135e52397dbf113fb0d5925021a38780f231409bdd920da52e6c1ce3acc
+DIST libffado-2.4.9.tgz 1229651 BLAKE2B ec8300066d47d685aa701316efa6831f05d678c509de341d1b74551bf8a3f04b59dcd80d592e2111670212d4056bd1c150cc23dbf43a797a915bf65ae441c85e SHA512 0a0c61cf9339ab542c85eaefbe017b7613f716ae0ed08d11a37782dd7ef5815b18256c5d1b9240f077c9f59bbf4b4878019cefbd6cab78140477bcad6a9d3e44
diff --git a/media-libs/libffado/files/libffado-2.4.9-fix-config-load-crash.patch b/media-libs/libffado/files/libffado-2.4.9-fix-config-load-crash.patch
new file mode 100644
index 000000000000..db28ec831281
--- /dev/null
+++ b/media-libs/libffado/files/libffado-2.4.9-fix-config-load-crash.patch
@@ -0,0 +1,12 @@
+--- a/support/mixer-qt4/ffado/mixer/globalmixer.py
++++ b/support/mixer-qt4/ffado/mixer/globalmixer.py
+@@ -96,8 +96,7 @@ class GlobalMixer(QWidget):
+ @pyqtSlot()
+ def on_txtNickname_returnPressed( self ):
+ if self.nickname.canChangeValue():
+- asciiData = self.txtNickname.text().toAscii()
+- self.nickname.setText( asciiData.data() )
++ self.nickname.setText( self.txtNickname.text().encode('utf-8') )
+ else:
+ self.txtNickname.setText( self.nickname.text() )
+
diff --git a/media-libs/libffado/libffado-2.4.9.ebuild b/media-libs/libffado/libffado-2.4.9.ebuild
new file mode 100644
index 000000000000..47aacae4960b
--- /dev/null
+++ b/media-libs/libffado/libffado-2.4.9.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..13} )
+
+inherit desktop python-single-r1 scons-utils toolchain-funcs udev multilib-minimal xdg
+
+DESCRIPTION="Driver for IEEE1394 (Firewire) audio interfaces"
+HOMEPAGE="http://www.ffado.org"
+
+if [[ "${PV}" = "9999" ]]; then
+ inherit subversion
+ ESVN_REPO_URI="http://subversion.ffado.org/ffado/trunk/${PN}"
+else
+ SRC_URI="http://www.ffado.org/files/${P}.tgz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+IUSE="debug qt5 test-programs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+CDEPEND="${PYTHON_DEPS}
+ dev-cpp/libxmlpp:2.6[${MULTILIB_USEDEP}]
+ >=dev-libs/dbus-c++-0.9.0-r5
+ dev-libs/libconfig:=[cxx,${MULTILIB_USEDEP}]
+ media-libs/alsa-lib
+ media-libs/libiec61883[${MULTILIB_USEDEP}]
+ sys-apps/dbus
+ sys-libs/libavc1394[${MULTILIB_USEDEP}]
+ sys-libs/libraw1394[${MULTILIB_USEDEP}]
+ qt5? (
+ $(python_gen_cond_dep '
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/PyQt5[dbus,${PYTHON_USEDEP}]
+ ')
+ x11-misc/xdg-utils
+ )"
+DEPEND="${CDEPEND}"
+RDEPEND="${CDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/libffado-2.4.9-fix-config-load-crash.patch"
+)
+
+myescons() {
+ local myesconsargs=(
+ PREFIX="${EPREFIX}/usr"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ MANDIR="${EPREFIX}/usr/share/man"
+ UDEVDIR="$(get_udevdir)/rules.d"
+ CUSTOM_ENV=true
+ DETECT_USERSPACE_ENV=false
+ DEBUG=$(usex debug)
+ PYPKGDIR="$(python_get_sitedir)"
+ # ENABLE_OPTIMIZATIONS detects cpu type and sets flags accordingly
+ # -fomit-frame-pointer is added also which can cripple debugging.
+ # we set flags from portage instead
+ ENABLE_OPTIMIZATIONS=false
+ # This only works for JACK1>=0.122.0 or JACK2>=1.9.9.
+ ENABLE_SETBUFFERSIZE_API_VER=force
+ )
+ if multilib_is_native_abi; then
+ myesconsargs+=(
+ BUILD_MIXER=$(usex qt5 true false)
+ BUILD_TESTS=$(usex test-programs)
+ )
+ else
+ myesconsargs+=(
+ BUILD_MIXER=false
+ BUILD_TESTS=false
+ )
+ fi
+ escons "${myesconsargs[@]}" "${@}"
+}
+
+src_prepare() {
+ default
+
+ # Bug #808853
+ cp "${BROOT}"/usr/share/gnuconfig/config.guess admin/ || die "Failed to update config.guess"
+
+ # Always use Qt5
+ sed -i -e 's/try:/if False:/' -e 's/except.*/else:/' support/mixer-qt4/ffado/import_pyqt.py || die
+
+ # Bugs #658052, #659226
+ sed -i -e 's/^CacheDir/#CacheDir/' SConstruct || die
+
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ tc-export CC CXX
+ myescons
+}
+
+multilib_src_install() {
+ myescons DESTDIR="${D}" WILL_DEAL_WITH_XDG_MYSELF="True" install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ python_fix_shebang "${D}"
+ python_optimize "${D}"
+
+ if use qt5; then
+ newicon "support/xdg/hi64-apps-ffado.png" "ffado.png"
+ newmenu "support/xdg/org.ffado.FfadoMixer.desktop" "ffado-mixer.desktop"
+ fi
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ udev_reload
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ udev_reload
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-10-31 20:05 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-11 23:57 [gentoo-commits] repo/gentoo:master commit in: media-libs/libffado/, media-libs/libffado/files/ Andreas Sturmlechner
-- strict thread matches above, loose matches on Subject: below --
2024-10-31 20:05 Miroslav Šulc
2024-07-04 14:24 Miroslav Šulc
2022-11-28 8:56 Miroslav Šulc
2019-02-14 18:37 Andreas Sturmlechner
2018-01-23 10:56 Andreas Sturmlechner
2017-06-25 19:40 Alexis Ballier
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox