Update to 2.4.1

Drop upstreamed patches
epel8
Orcan Ogetbil 7 years ago
parent 8f8139837c
commit 993c65bce1

1
.gitignore vendored

@ -7,3 +7,4 @@ libffado-2.0.1-svn1864.tar.bz2
/libffado-2.2.1.tgz
/libffado-2.3.0.tgz
/libffado-2.4.0.tgz
/libffado-2.4.1.tgz

@ -1,26 +0,0 @@
diff -rupN libffado.old/doc/reference.doxygen.in libffado/doc/reference.doxygen.in
--- libffado.old/doc/reference.doxygen.in 2009-12-18 13:52:13.000000000 -0500
+++ libffado/doc/reference.doxygen.in 2010-06-05 21:00:54.000000000 -0400
@@ -568,9 +568,7 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
-INPUT = $top_srcdir/src \
- $top_srcdir/doc \
- $top_srcdir/libffado
+INPUT = $top_srcdir/libffado
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
diff -rupN libffado.old/SConstruct libffado/SConstruct
--- libffado.old/SConstruct 2010-05-10 15:34:07.000000000 -0400
+++ libffado/SConstruct 2010-06-05 21:29:43.000000000 -0400
@@ -583,7 +583,7 @@ if not env.GetOption('clean'):
Default( 'support' )
if env['BUILD_TESTS']:
Default( 'tests' )
-
+ Default( 'doc' )
#
# Deal with the DESTDIR vs. xdg-tools conflict (which is basicely that the
# xdg-tools can't deal with DESTDIR, so the packagers have to deal with this

@ -1,22 +0,0 @@
diff -rupN libffado-2.4.0.org/src/rme/rme_avdevice.cpp libffado-2.4.0/src/rme/rme_avdevice.cpp
--- libffado-2.4.0.org/src/rme/rme_avdevice.cpp 2017-06-03 04:08:05.000000000 -0400
+++ libffado-2.4.0/src/rme/rme_avdevice.cpp 2018-01-02 21:38:01.507348351 -0500
@@ -42,7 +42,6 @@
#include <stdint.h>
#include <assert.h>
#include <unistd.h>
-#include "libutil/ByteSwap.h"
#include <iostream>
#include <sstream>
diff -rupN libffado-2.4.0.org/src/rme/rme_avdevice.h libffado-2.4.0/src/rme/rme_avdevice.h
--- libffado-2.4.0.org/src/rme/rme_avdevice.h 2017-05-09 08:55:47.000000000 -0400
+++ libffado-2.4.0/src/rme/rme_avdevice.h 2018-01-02 21:38:12.755286977 -0500
@@ -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"

@ -1,172 +0,0 @@
diff -rupN libffado-2.4.0.org/support/mixer-qt4/ffado/ffadowindow.py libffado-2.4.0/support/mixer-qt4/ffado/ffadowindow.py
--- libffado-2.4.0.org/support/mixer-qt4/ffado/ffadowindow.py 2017-06-04 03:23:13.000000000 -0400
+++ libffado-2.4.0/support/mixer-qt4/ffado/ffadowindow.py 2018-01-05 20:27:25.394068104 -0500
@@ -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 @@ class FFADOWindow(QMainWindow):
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 @@ class FFADOWindow(QMainWindow):
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>&copy; 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>&copy; 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 @@ with contributions from:<ul>
<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 @@ def ffadomain(args):
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" ) )
diff -rupN libffado-2.4.0.org/support/mixer-qt4/ffado/logginghandler.py libffado-2.4.0/support/mixer-qt4/ffado/logginghandler.py
--- libffado-2.4.0.org/support/mixer-qt4/ffado/logginghandler.py 2017-06-03 04:25:01.000000000 -0400
+++ libffado-2.4.0/support/mixer-qt4/ffado/logginghandler.py 2018-01-03 22:01:14.939141810 -0500
@@ -28,7 +28,7 @@ import logging
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 )
diff -rupN libffado-2.4.0.org/support/mixer-qt4/ffado/panelmanager.py libffado-2.4.0/support/mixer-qt4/ffado/panelmanager.py
--- libffado-2.4.0.org/support/mixer-qt4/ffado/panelmanager.py 2017-06-04 03:40:48.000000000 -0400
+++ libffado-2.4.0/support/mixer-qt4/ffado/panelmanager.py 2018-01-03 21:18:15.042504716 -0500
@@ -378,7 +378,7 @@ except ImportError:
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 @@ except ImportError:
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 @@ except ImportError:
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:
diff -rupN libffado-2.4.0.org/support/mixer-qt4/ffado/widgets/crossbarrouter.py libffado-2.4.0/support/mixer-qt4/ffado/widgets/crossbarrouter.py
--- libffado-2.4.0.org/support/mixer-qt4/ffado/widgets/crossbarrouter.py 2017-06-03 04:25:01.000000000 -0400
+++ libffado-2.4.0/support/mixer-qt4/ffado/widgets/crossbarrouter.py 2018-01-03 21:11:01.563420583 -0500
@@ -168,7 +168,10 @@ class CrossbarRouter(QWidget):
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__()" )
diff -rupN libffado-2.4.0.org/support/mixer-qt4/ffado/widgets/matrixmixer.py libffado-2.4.0/support/mixer-qt4/ffado/widgets/matrixmixer.py
--- libffado-2.4.0.org/support/mixer-qt4/ffado/widgets/matrixmixer.py 2017-06-03 07:29:20.000000000 -0400
+++ libffado-2.4.0/support/mixer-qt4/ffado/widgets/matrixmixer.py 2018-01-03 23:39:38.884080843 -0500
@@ -200,14 +200,14 @@ class MixerNode(QAbstractSlider):
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))
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 @@ class MixerNode(QAbstractSlider):
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 @@ class MixerNode(QAbstractSlider):
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)

@ -1,19 +0,0 @@
--- libffado-2.4.0.org/SConstruct 2017-12-23 05:43:57.000000000 -0500
+++ libffado-2.4.0/SConstruct 2018-01-02 22:35:01.793115884 -0500
@@ -29,6 +29,7 @@ FFADO_VERSION="2.4.0"
from subprocess import Popen, PIPE
import os
import re
+import sys
from string import Template
import imp
import distutils.sysconfig
@@ -395,7 +396,7 @@ results above get rechecked.
# 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):

@ -1,7 +1,7 @@
Summary: Free firewire audio driver library
Name: libffado
Version: 2.4.0
Release: 6%{?dist}
Version: 2.4.1
Release: 1%{?dist}
# src/libutil/float_cast.h is LGPLv2+.
# The rest is (GPLv2 or GPLv3)
License: LGPLv2+ and (GPLv2 or GPLv3)
@ -12,15 +12,6 @@ Source0: http://www.ffado.org/files/%{name}-%{version}.tgz
# bash libffado-snapshot.sh 2088
# The fetch script
Source9: libffado-snapshot.sh
# We want the documentation for the library API only, not for the entire source:
# http://subversion.ffado.org/ticket/293
Patch0: libffado-api-doc-only.patch
# add missing header. Fixes build on big endian systems. Upstreamed r2724
Patch1: libffado-byteswap.patch
# add missing import and fix build against PyQt5. Upstreamed r2724 and r2725
Patch2: libffado-sconstruct.patch
# PyQt4 and 5 compatibility. Upstreamed r2726
Patch3: libffado-pyqt4and5compat.patch
BuildRequires: alsa-lib-devel
BuildRequires: dbus-c++-devel
@ -32,6 +23,7 @@ BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: glibmm24-devel
BuildRequires: graphviz
BuildRequires: libappstream-glib
BuildRequires: libconfig-devel
BuildRequires: libiec61883-devel
BuildRequires: libraw1394-devel
@ -77,10 +69,6 @@ Applications and utilities for use with libffado.
%prep
%setup -q
%patch0 -p1 -b .api.doc.only
%patch1 -p1 -b .byteswap
%patch2 -p1 -b .sconstruct
%patch3 -p1 -b .pyqt4and5
# We don't want to install all tests
sed -i '/Install/d' tests/{,*/}SConscript
@ -96,6 +84,7 @@ scons %{?_smp_mflags} \
ENABLE_SETBUFFERSIZE_API_VER=True \
ENABLE_OPTIMIZATIONS=True \
CUSTOM_ENV=True \
BUILD_DOC=user \
PREFIX=%{_prefix} \
LIBDIR=%{_libdir} \
MANDIR=%{_mandir} \
@ -126,12 +115,19 @@ install -m 755 tests/ffado-test %{buildroot}%{_bindir}
%ldconfig_scriptlets
%check
desktop-file-validate \
%{buildroot}%{_datadir}/applications/ffado.org-ffadomixer.desktop
appstream-util validate-relax --nonet \
%{buildroot}%{_datadir}/metainfo/ffado-mixer.appdata.xml
%files
%doc AUTHORS ChangeLog LICENSE.* README
%{_libdir}/libffado.so.*
%dir %{_datadir}/libffado/
%{_datadir}/libffado/configuration
%{_prefix}/lib/udev/rules.d/*
%{_libdir}/libffado/static_info.txt
%files devel
%doc doc/reference/html/
@ -143,15 +139,19 @@ install -m 755 tests/ffado-test %{buildroot}%{_bindir}
%{_mandir}/man1/ffado-*.1*
%{_bindir}/*
%{_datadir}/libffado/*.xml
%{_datadir}/libffado/python/
%{_datadir}/libffado/icons/
%{_datadir}/dbus-1/services/org.ffado.Control.service
%{_datadir}/applications/ffado.org-ffadomixer.desktop
%{_datadir}/icons/hicolor/64x64/apps/ffado.png
%{_datadir}/metainfo/ffado-mixer.appdata.xml
%{python_sitelib}/ffado/
%changelog
* Wed Apr 25 2018 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.4.1-1
- Update to 2.4.1
- Drop upstreamed patches
* Wed Apr 18 2018 Iryna Shcherbina <shcherbina.iryna@gmail.com> - 2.4.0-6
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)

@ -1 +1 @@
SHA512 (libffado-2.4.0.tgz) = 7df37584925cc908cc284dba344609928d39e006f71ae4ede62e4531b2628271ebd0db00407418e943fb569b5b8b919a76c90aaeed03005cefbd3c1c16ee1627
SHA512 (libffado-2.4.1.tgz) = 0859f17b87c68108bbde726d1cf8ab0b99f6f7f02cbe36acd8b451e112688a4d1edc21134eb4a2edc8c92dcf5f5da52efeabb2ad0dc07804ed1aa664a3b38d74

Loading…
Cancel
Save