Sync from SUSE:SLFO:Main ffado revision 45be80a94f839c157adaed4c93b46337

This commit is contained in:
Adrian Schröter 2024-05-03 12:28:23 +02:00
commit 36c16a7ecd
11 changed files with 1038 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

4
_multibuild Normal file
View File

@ -0,0 +1,4 @@
<multibuild>
<package>ffado-mixer</package>
</multibuild>

1
baselibs.conf Normal file
View File

@ -0,0 +1 @@
libffado2

204
ffado-mixer.changes Normal file
View File

@ -0,0 +1,204 @@
-------------------------------------------------------------------
Fri May 29 15:12:31 UTC 2020 - Edgar Aichinger <edogawa@aon.at>
- update to release 2.4.3
- removed unneeded Patch (fixed upstream):
ffado-mixer-fixbuild.patch
-------------------------------------------------------------------
Thu Jan 2 09:40:57 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>
- Replace pkgconfig(libxml++-2.6) with pkgconfig(libxml++-3.0)
BuildRequires.
-------------------------------------------------------------------
Mon Feb 4 14:29:04 UTC 2019 - davejplater@gmail.com
- Change Buildrequires: pkgconfig(dbus-python-3.6) back to the plain
python3-dbus-python-devel package, pkgconfig is no longer provided.
-------------------------------------------------------------------
Fri Jan 4 10:15:07 UTC 2019 - davejplater@gmail.com
- Update to release 2.4.1
- Fix build with ffado-mixer-fixbuild.patch.
- Removed uneeded and incorporated patches:
libffado-SConstruct-py3.patch, ffado-gcc6.patch and byteswap.patch
- Upstream changes:
*Fix some python syntax which was not compatible with python3.
These were missed during the preparation of FFADO 2.4.0.
*Modify the SCons build system to allow for scons running under
python3.
*Merge distribution patches provided by package maintainers.
*Address some difficulties experienced by package maintainers
when compiling FFADO.
*Improve the output of ffado-diag.
-------------------------------------------------------------------
Sun Oct 21 09:06:50 UTC 2018 - schwab@suse.de
- byteswap.patch: ensure byte swap macros are available for all components
-------------------------------------------------------------------
Thu Feb 8 10:19:36 UTC 2018 - davejplater@gmail.com
- Update to release 2.4.0 and fix build against glibc-2.27
see boo#1079938.
- Removed patches fixed upstream:
ffado_SConstruct_powerpc_update.patch and sigev.patch.
- Rebased libffado-SConstruct-py3.patch partially fixed upstream.
- Added ffado-nosys.patch for missing import sys in SConstruct.
- Rebased ffado-gcc6.patch, partially fixed upstream.
- Upstream changes:
*Numerous build system and code improvements to support
architectures such as MIPS, x32 and various PowerPC flavours.
*A large number of fixes for newer versions of gcc
(particularly versions 6 and 7).
*Initial support for the optional TCO module of the
RME Fireface-800.
*Expanded ffado-mixer support for the Phase88 device.
*Initial work to make ffado-mixer compatible with
python3/pyqt5.
*Start work towards compatibility with scons3.
-------------------------------------------------------------------
Fri Nov 24 05:55:39 UTC 2017 - davejplater@gmail.com
- Added conditional for libffado-SConstruct-py3.patch to only apply
if scons built with python 3.
-------------------------------------------------------------------
Thu Nov 23 12:02:50 UTC 2017 - astieger@suse.com
- Fix building with python3 scons, add libffado-SConstruct-py3.patch
-------------------------------------------------------------------
Mon Jul 31 12:08:17 UTC 2017 - schwab@suse.de
- sigev.patch: add missing header to define SIGEV_THREAD
-------------------------------------------------------------------
Fri Mar 31 15:35:32 UTC 2017 - davejplater@gmail.com
- Update to 2.3.0
- Removed api documentation package, no longer builds.
- See ffado.changes for common changes, no mixer changes.
-------------------------------------------------------------------
Wed Mar 2 19:00:04 UTC 2016 - dimstar@opensuse.org
- Add --std=gnu++11 to COMPILE_FLAGS.
-------------------------------------------------------------------
Wed Mar 2 17:08:05 UTC 2016 - dimstar@opensuse.org
- Replace libxmll++-devel BuildRequires with
pkgconfig(libxml++-2.6) in order to be ready for the
compatibility package introduction (libxml++ goes 3.0).
-------------------------------------------------------------------
Mon Feb 8 11:51:37 UTC 2016 - rguenther@suse.com
- Add ffado-gcc6.patch to move #include <math.h> outside of a namespace
and to not declare errno as local variable.
-------------------------------------------------------------------
Sat Jul 4 13:59:04 UTC 2015 - bwiedemann@suse.com
- require python-qt4 at runtime (bnc#937060)
-------------------------------------------------------------------
Wed Mar 11 13:58:21 UTC 2015 - normand@linux.vnet.ibm.com
- SConstruct is_powerpc and is_64bit to support ppc64le
with new ffado_SConstruct_powerpc_update.patch
-------------------------------------------------------------------
Sun Sep 21 14:08:29 UTC 2014 - davejplater@gmail.com
- Update to version 2.2.1, no mixer changes.
-------------------------------------------------------------------
Thu Sep 18 15:17:30 UTC 2014 - fcrozat@suse.com
- Drop subversion BuildRequires, not needed at all.
-------------------------------------------------------------------
Mon Dec 24 19:15:05 UTC 2012 - p.drouand@gmail.com
- Update to 2.1.0 version:
* Significantly improved support for the new "juju" firewire stack
found in newer kernels
* Support for JACK freewheeling mode and set-buffer-size operation
* Lower CPU usage
* udev rules included in FFADO to give user access to audio device files
* More stable streaming
* Fix crash when realtime system clock was set
* Fix race conditions and invalid memory accesses on shutdown
* Fixes for clean compilation on recent gcc versions (up to 4.7)
* ffado-diag enhanced to aid debugging efforts
* Many bugs fixed
- Remove patchs merged on upstream release:
* ffado-gcc47.patch
* libffado-bswap.patch
- Do not use and include ChangeLog in the package because the svn repo is down
and this file could not be update
- Remove useless conditional macros
-------------------------------------------------------------------
Wed Jun 27 14:26:34 UTC 2012 - dvaleev@suse.com
- fix ppc64 build
-------------------------------------------------------------------
Tue Mar 13 16:20:30 UTC 2012 - davejplater@gmail.com
- Changed build to noarch as suggested by rpmlint
-------------------------------------------------------------------
Thu Mar 1 16:12:51 UTC 2012 - davejplater@gmail.com
- Update to version 2.0.1.2040
- ffado-dbus-server added
- See ffado's changelog
-------------------------------------------------------------------
Tue Nov 2 20:36:45 UTC 2010 - coolo@novell.com
- move doc generation into 2nd spec file
-------------------------------------------------------------------
Tue Nov 2 15:31:51 UTC 2010 - davejplater@gmail.com
- Fix some rpmlint errors
-------------------------------------------------------------------
Mon Nov 1 10:07:50 UTC 2010 - coolo@novell.com
- remove qt dependency, splitted into ffado-mixer spec file
-------------------------------------------------------------------
Thu Sep 30 10:38:42 UTC 2010 - davejplater@gmail.com
- Update to version 2.0.1
- Upstream changes :-
Make it work on the new firewire-stack.
Of course some more fixes went into the package. But its mostly
intended for distributors so they can finally deprecate/disable the
old firewire stack in kernels.
For more changelog and instructions please look back at the 2.0.0
release announcement http://www.ffado.org/?q=release/2.0.0
-------------------------------------------------------------------
Wed Jun 16 06:03:13 UTC 2010 - davejplater@gmail.com
- Update to svn 1856.
- Upstream changes : Make it easier for distributions to define
their own additional built-flags.
Numerous bug fixes, see ChangeLog for details.
-------------------------------------------------------------------
Fri Apr 30 08:18:48 UTC 2010 - davejplater@gmail.com
- Created package ffado version 2.0.0

193
ffado-mixer.spec Normal file
View File

@ -0,0 +1,193 @@
#
# spec file for package ffado-mixer
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define gcc7 0
%define docs 0
%define tname libffado
Name: ffado-mixer
Version: 2.4.3
Release: 0
Summary: FireWire 1394 support for audio devices, svn snapshot
License: GPL-2.0-or-later
Group: Productivity/Multimedia/Other
URL: http://www.ffado.org/
# NOTE: download of tarball is taken care of in ffado
Source0: %{tname}-%{version}.tgz
# No current date and time allowed.
Patch0: libffado-date_time.patch
# PATCH-FIX-UPSTREAM ffado-nosys.patch davejplater@gmail.com -- No import sys in SConstruct although functions are used.
Patch4: ffado-nosys.patch
BuildRequires: alsa-devel
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: ffado = %{version}
BuildRequires: gcc-c++
BuildRequires: graphviz-gnome
BuildRequires: libavc1394-devel
BuildRequires: libconfig++-devel
BuildRequires: libdbus-c++-devel
BuildRequires: libexpat-devel
BuildRequires: libiec61883-devel >= 1.1.0
BuildRequires: libraw1394-devel >= 1.3.0
BuildRequires: pkg-config
BuildRequires: python3-dbus-python-devel
BuildRequires: python3-qt5-devel
BuildRequires: scons
BuildRequires: update-desktop-files
BuildRequires: xdg-utils
BuildRequires: xorg-x11-fonts
BuildRequires: pkgconfig(libffado) = %{version}
BuildRequires: pkgconfig(libxml++-3.0) >= 3.0.0
Requires: ffado = %{version}
#Requires: python-qt4
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%description
FFADO aims to provide a generic, open-source solution
to support FireWire(IEEE1394, iLink) based (semi-)
professional audio interfaces.
It's the successor of the FreeBoB project. FFADO is a
volunteer-based community effort, trying to provide Linux
with at least the same level of functionality that is
present on the other operating systems.
The range of FireWire Audio Devices that we would like
to support is broad: from pure audio interfaces over
mixed audio-control devices to DSP algorithm devices.
This is a snapshot of svn revision 2040
%if %{docs} == 1
%package -n ffado-doc
Summary: API documentation for ffado
Group: Documentation/HTML
BuildArch: noarch
%description -n ffado-doc
This package contains the libffado API documentation.
%endif
%prep
%setup -n %{tname}-%{version} -q
%autopatch -p0
for i in `grep -rl "/usr/bin/env python"`;do sed -i '1s/^#!.*/#!\/usr\/bin\/python3/' ${i} ;done
for i in `grep -rl "/usr/bin/python"`;do sed -i '1s/^#!.*/#!\/usr\/bin\/python3/' ${i} ;done
%build
export EXTRA_FLAGS="-Wno-deprecated-declarations -fpermissive --std=gnu++11"
%ifarch %arm
export EXTRA_FLAGS="${EXTRA_FLAGS} -fPIC"
%endif
%if %{gcc7} == 1
export CC=gcc-7
export CPP=cpp-7
export CXX=g++-7
%endif
scons %{_smp_mflags} \
PREFIX=%{_prefix} \
LIBDIR=%{_libdir} \
MANDIR=%{_mandir} \
ENABLE_GENERICAVC=no \
SERIALIZE_USE_EXPAT=no \
DEBUG=no \
ENABLE_ALL=no \
DETECT_USERSPACE_ENV=False \
PYPKGDIR=%{python3_sitelib} \
ENABLE_OPTIMIZATIONS=yes \
BUILD_TESTS=no \
BUILD_MIXER=True \
COMPILE_FLAGS="%{optflags} -fno-strict-aliasing -ggdb ${EXTRA_FLAGS}" \
CUSTOM_ENV=True \
PYTHON_INTERPRETER="%{_bindir}/python3"
%install
mkdir -p %{buildroot}%{python3_sitelib}
export EXTRA_FLAGS="-Wno-deprecated-declarations -fpermissive --std=gnu++11"
%ifarch %arm
export EXTRA_FLAGS="${EXTRA_FLAGS} -fPIC"
%endif
%if %{gcc7} == 1
export CC=gcc-7
export CPP=cpp-7
export CXX=g++-7
%endif
scons DESTDIR=%{buildroot} install \
PREFIX=%{_prefix} \
LIBDIR=%{_libdir} \
MANDIR=%{_mandir} \
ENABLE_GENERICAVC=no \
SERIALIZE_USE_EXPAT=no \
DEBUG=no \
ENABLE_ALL=no \
DETECT_USERSPACE_ENV=False \
PYPKGDIR=%{python3_sitelib} \
ENABLE_OPTIMIZATIONS=yes \
BUILD_TESTS=no \
BUILD_MIXER=True \
COMPILE_FLAGS="%{optflags} -fno-strict-aliasing -ggdb ${EXTRA_FLAGS}" \
CUSTOM_ENV=True \
PYTHON_INTERPRETER="%{_bindir}/python3"
mv %{buildroot}%{_datadir}/%{tname}/icons %{buildroot}%{_datadir}/
rm %{buildroot}%{_libdir}/%tname.*
rm -r %{buildroot}%{_includedir}/libffado
rm -r %{buildroot}%{_libdir}/pkgconfig
# Remove the useless udev rules and man pages on the mixer package
rm -r %{buildroot}%{_mandir}
rm -r %{buildroot}/lib
rpm -ql ffado | while read file; do
rm -v "%{buildroot}$file" || true
done
rm -rf %{buildroot}%{_libdir}/libffado
mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
cp support/xdg/hi64-apps-ffado.png %{buildroot}%{_datadir}/pixmaps/ffadomixer.png
%suse_update_desktop_file -c ffadomixer FfadoMixer "Mixer for ffado" ffado-mixer ffadomixer "AudioVideo;Mixer;HardwareSettings;Qt"
# This problem seems to have been fixed in svn builds
%if 0 == 1
chmod 755 %{buildroot}%{_datadir}/%{tname}/python/ffado_configuration.py
chmod 755 %{buildroot}%{_datadir}/%{tname}/python/ffado_panelmanager.py
chmod 755 %{buildroot}%{_datadir}/%{tname}/python/ffado_dbus_util.py
%endif
find ./ -empty -delete
%fdupes -s %{buildroot}%{_datadir}
%files
%defattr(-,root,root)
%{_bindir}/ffado-mixer
%{_datadir}/%{tname}/
%{_datadir}/icons/*
%{_datadir}/pixmaps/ffadomixer.png
%{_datadir}/applications/*
%{python3_sitelib}/*
%{_datadir}/metainfo/ffado-mixer.appdata.xml
%if %{docs} == 1
%files -n ffado-doc
%defattr(-,root,root)
%{_docdir}/%{tname}
%endif
%changelog

12
ffado-nosys.patch Normal file
View File

@ -0,0 +1,12 @@
Index: SConstruct
===================================================================
--- SConstruct.orig 2018-03-04 08:13:17.000000000 +0200
+++ SConstruct 2019-01-03 16:16:05.422174226 +0200
@@ -29,6 +29,7 @@ FFADO_VERSION="2.4.1"
from subprocess import Popen, PIPE, check_output
import os
+import sys
import re
import sys
from string import Template

302
ffado.changes Normal file
View File

@ -0,0 +1,302 @@
-------------------------------------------------------------------
Mon Apr 24 10:03:35 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
- Add _multibuild to define 2nd spec file as additional flavor.
Eliminates the need for source package links in OBS.
-------------------------------------------------------------------
Fri May 29 15:31:44 UTC 2020 - Edgar Aichinger <edogawa@aon.at>
- Update to release 2.4.3
-------------------------------------------------------------------
Thu Jan 2 09:40:57 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>
- Replace pkgconfig(libxml++-2.6) with pkgconfig(libxml++-3.0)
BuildRequires.
-------------------------------------------------------------------
Thu Jan 3 16:54:02 UTC 2019 - davejplater@gmail.com
- Update to release 2.4.1
- Removed uneeded and incorporated patches:
libffado-SConstruct-py3.patch, ffado-gcc6.patch and byteswap.patch
- Upstream changes:
*Fix some python syntax which was not compatible with python3.
These were missed during the preparation of FFADO 2.4.0.
*Modify the SCons build system to allow for scons running under
python3.
*Merge distribution patches provided by package maintainers.
*Address some difficulties experienced by package maintainers
when compiling FFADO.
*Improve the output of ffado-diag.
-------------------------------------------------------------------
Sun Oct 21 09:06:50 UTC 2018 - schwab@suse.de
- byteswap.patch: ensure byte swap macros are available for all components
-------------------------------------------------------------------
Fri Aug 17 20:24:42 UTC 2018 - bwiedemann@suse.com
- Add reproducible.patch to always build with SSE2,
independent of build system CPU (boo#1100677)
-------------------------------------------------------------------
Thu Feb 8 08:00:44 UTC 2018 - davejplater@gmail.com
- Update to release 2.4.0 and fix build against glibc-2.27
see boo#1079938.
- Removed patches fixed upstream:
ffado_SConstruct_powerpc_update.patch and sigev.patch.
- Rebased libffado-SConstruct-py3.patch partially fixed upstream.
- Added ffado-nosys.patch for missing import sys in SConstruct.
- Rebased ffado-gcc6.patch, partially fixed upstream.
- Upstream changes:
*Numerous build system and code improvements to support
architectures such as MIPS, x32 and various PowerPC flavours.
*A large number of fixes for newer versions of gcc
(particularly versions 6 and 7).
*Initial support for the optional TCO module of the
RME Fireface-800.
*Expanded ffado-mixer support for the Phase88 device.
*Initial work to make ffado-mixer compatible with
python3/pyqt5.
*Start work towards compatibility with scons3.
-------------------------------------------------------------------
Mon Dec 4 13:56:01 UTC 2017 - dimstar@opensuse.org
- Extend libffado-SConstruct-py3.patch: convert more of the build
tools to python3. This allows us not to pull a different version
of python into buildroot than is not already used by SCons.
-------------------------------------------------------------------
Fri Nov 24 05:54:08 UTC 2017 - davejplater@gmail.com
- Added conditional for libffado-SConstruct-py3.patch to only apply
if scons built with python 3.
-------------------------------------------------------------------
Thu Nov 23 12:02:50 UTC 2017 - astieger@suse.com
- Fix building with python3 scons, add libffado-SConstruct-py3.patch
-------------------------------------------------------------------
Mon Jul 31 12:08:17 UTC 2017 - schwab@suse.de
- sigev.patch: add missing header to define SIGEV_THREAD
-------------------------------------------------------------------
Wed Apr 12 10:44:23 UTC 2017 - davejplater@gmail.com
- Modify libffado-date_time.patch to allow reproducible builds.
-------------------------------------------------------------------
Fri Mar 31 13:41:22 UTC 2017 - davejplater@gmail.com
- Update to 2.3.0
- Fix gcc7 errors with -fpermissive see boo#1030245
- Removed obsolete udev macro definition
- Rebased ffado_SConstruct_powerpc_update.patch and
ffado-gcc6.patch
- Duplicated %build scons statement in %install to prevent a
complete rebuild of the package.
- Upstream changes:
*Configuration entries added for additional devices which work
with the generic support layer (PreSonus Studiolive 32.4.2,
Presonus StudioLive 16.0.2, ICON FireXon, Onyx Blackbird and
the new Onyx 1640i, among others).
*Support added for the newer Focusrite Saffire Pro 26.
*Improved build support for various downstream consumers.
*Better routing for selected Saffire devices and the Firestudio
Mobile.
*Significant cleanup and refinement of the M-Audio and Yamaha
driver.
*Compilation fixes for recent versions of gcc.
*Recover from dead streams without causing jackd to shut down.
-------------------------------------------------------------------
Sun Mar 20 10:58:31 UTC 2016 - davejplater@gmail.com
- Use pkgconfig buildrequires where available and cleanup spec file.
-------------------------------------------------------------------
Wed Mar 2 18:56:55 UTC 2016 - dimstar@opensuse.org
- Add --std=gnu++11 to EXTRA_FLAGS.
-------------------------------------------------------------------
Wed Mar 2 17:07:08 UTC 2016 - dimstar@opensuse.org
- Replace libxmll++-devel BuildRequires with
pkgconfig(libxml++-2.6) in order to be ready for the
compatibility package introduction (libxml++ goes 3.0).
-------------------------------------------------------------------
Mon Feb 8 11:51:37 UTC 2016 - rguenther@suse.com
- Add ffado-gcc6.patch to move #include <math.h> outside of a namespace
and to not declare errno as local variable.
-------------------------------------------------------------------
Wed Mar 11 13:57:03 UTC 2015 - normand@linux.vnet.ibm.com
- SConstruct is_powerpc and is_64bit to support ppc64le
with new ffado_SConstruct_powerpc_update.patch
-------------------------------------------------------------------
Wed Mar 4 13:41:05 UTC 2015 - wbauer@tmo.at
- Install udev rule to the correct directory by removing the incorrect
redefinition of %_udevrulesdir. It is defined already in
systemd-rpm-macros which is preinstalled in OBS. (boo#911303)
-------------------------------------------------------------------
Sun Sep 21 14:00:23 UTC 2014 - davejplater@gmail.com
- Update to bugfix version 2.2.1
- Fixes compilation failures when DEBUG=no is specified
- Upstream changes for 2.2.0:
*Many bugs fixed
Mixer, router and monitor support for Saffire Pro 14
Mixer and router support for Presonus Firestudio Tube,
Presonus Firestudio Project, and M-Audio Profire 2626
Support Echo Audio AudioFire12 with firmware versions 5.0 and
later (addresses ticket 360)
Echo Audio device mixer additions:
hide SPDIF mode switch on AudioFire12
digital interface switch on AudioFire8 and Pre8
phantom power switch for AudioFire4 (addresses ticket 364)
playback routing for AudioFire2/4 (addresses ticket 335)
*Presonus device mixer additions:
better support the FP10 (formerly known as the Firepod)
implement support for the Firebox and Inspire1394
*M-Audio mixer additions:
improve support for the Ozonic
add support for Firewire Solo (ticket 336), Audiophile, 410, 1814
and ProjectMix I/O
*Device-specific mixer for Yamaha GO44 and GO46 interfaces added
*RME Fireface 400/800 improvements:
mixer and device settings can now be saved to and restored from
device flash clock source selection made more consistent
*DICE EAP / RME Matrix mixer enhancements:
"per output" view with mono/stereo control saving of mixer
settings to file
more consistent cooperation with jackd when sample rate is changed
*Audio streaming support added or refined for additional MOTU
interfaces:
Traveller mk 3
Ultralite mk 3
Ultralite hybrid (using firewire interface only)
4pre
- Known issues:
*Saffire Pro 40 at 96 kHz fails to start most of the time
(ticket 326)
*Saffire Pro 24 and Pro 40 MIDI problems (tickets 372 and 375)
*Saffire Pro 24 and Pro 40 lack an ADAT/SPDIF switch
*Only mixer control is supported on M-Audio 1814 and M-Audio,
ProjectMix
*M-Audio Audiophile, 410 and 1814 require startup workaround.
See http://sourceforge.net/p/ffado/mailman/message/30807938
*M-Audio Audiophile, 410 and 1814 will only work with FFADO when
loaded with the latest firmware
-------------------------------------------------------------------
Tue Mar 4 06:09:00 UTC 2014 - coolo@suse.com
- own /usr/lib/udev directory to avoid buildrequiring udev
-------------------------------------------------------------------
Fri Apr 26 08:46:14 UTC 2013 - fcrozat@suse.com
- Move udev rules to /usr/lib/udev for openSUSE 12.3 or later.
-------------------------------------------------------------------
Mon Dec 24 19:15:58 UTC 2012 - p.drouand@gmail.com
- Update to 2.1.0 version:
* Significantly improved support for the new "juju" firewire stack
found in newer kernels
* Support for JACK freewheeling mode and set-buffer-size operation
* Lower CPU usage
* udev rules included in FFADO to give user access to audio device files
* More stable streaming
* Fix crash when realtime system clock was set
* Fix race conditions and invalid memory accesses on shutdown
* Fixes for clean compilation on recent gcc versions (up to 4.7)
* ffado-diag enhanced to aid debugging efforts
* Many bugs fixed
- Remove patchs merged on upstream release:
* ffado-gcc47.patch
* libffado-bswap.patch
- Do not use and include ChangeLog in the package because the svn repo is down
and this file could not be update
- Remove useless conditional macros
-------------------------------------------------------------------
Wed Jun 27 14:26:34 UTC 2012 - dvaleev@suse.com
- fix ppc64 build
-------------------------------------------------------------------
Sat Mar 24 14:35:27 UTC 2012 - dimstar@opensuse.org
- Add ffado-gcc47.patch: Fix build with gcc 4.7.
-------------------------------------------------------------------
Mon Mar 12 15:58:45 UTC 2012 - davejplater@gmail.com
- Added "Recommends: ffado-mixer" to the ffado rpm.
-------------------------------------------------------------------
Sat Mar 3 06:16:14 UTC 2012 - davejplater@gmail.com
- Update to ffado-svn revision 2040 to fix bnc#747391 & bnc#736115
- Upstream changes, see /usr/share/doc/packages/ffado/ChangeLog
-------------------------------------------------------------------
Sun Oct 16 17:31:51 UTC 2011 - mhrusecky@suse.cz
- adding -fPIC on arm (fixes build)
-------------------------------------------------------------------
Tue Nov 2 20:36:45 UTC 2010 - coolo@novell.com
- move doc generation into 2nd spec file
-------------------------------------------------------------------
Tue Nov 2 15:31:51 UTC 2010 - davejplater@gmail.com
- Fix some rpmlint errors
-------------------------------------------------------------------
Mon Nov 1 10:07:50 UTC 2010 - coolo@novell.com
- remove qt dependency, splitted into ffado-mixer spec file
-------------------------------------------------------------------
Thu Sep 30 10:38:42 UTC 2010 - davejplater@gmail.com
- Update to version 2.0.1
- Upstream changes :-
Make it work on the new firewire-stack.
Of course some more fixes went into the package. But its mostly
intended for distributors so they can finally deprecate/disable the
old firewire stack in kernels.
For more changelog and instructions please look back at the 2.0.0
release announcement http://www.ffado.org/?q=release/2.0.0
-------------------------------------------------------------------
Wed Jun 16 06:03:13 UTC 2010 - davejplater@gmail.com
- Update to svn 1856.
- Upstream changes : Make it easier for distributions to define
their own additional built-flags.
Numerous bug fixes, see ChangeLog for details.
-------------------------------------------------------------------
Fri Apr 30 08:18:48 UTC 2010 - davejplater@gmail.com
- Created package ffado version 2.0.0

240
ffado.spec Normal file
View File

@ -0,0 +1,240 @@
#
# spec file for package ffado
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define sover 2
%define gcc7 0
%define tname libffado
Name: ffado
Version: 2.4.3
Release: 0
Summary: FireWire 1394 support for audio devices, svn snapshot
License: GPL-2.0-or-later
Group: Productivity/Multimedia/Other
URL: http://www.ffado.org/
Source0: http://www.ffado.org/files/%{tname}-%{version}.tgz
Source1: baselibs.conf
# No current date and time allowed.
Patch0: libffado-date_time.patch
# PATCH-FIX-UPSTREAM ffado-nosys.patch davejplater@gmail.com -- No import sys in SConstruct although functions are used.
Patch4: ffado-nosys.patch
Patch5: reproducible.patch
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: pkg-config
BuildRequires: scons >= 3.0.2
BuildRequires: update-desktop-files
BuildRequires: xdg-utils
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(dbus-1) >= 1.0
BuildRequires: pkgconfig(dbus-c++-1)
BuildRequires: pkgconfig(dbus-python)
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(libavc1394)
BuildRequires: pkgconfig(libconfig++)
BuildRequires: pkgconfig(libiec61883) >= 1.1.0
BuildRequires: pkgconfig(libraw1394) >= 2.0.5
BuildRequires: pkgconfig(libxml++-3.0) >= 3.0.0
Requires: libffado%{sover} = %{version}
Recommends: ffado-mixer = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
FFADO aims to provide a generic, open-source solution
to support FireWire(IEEE1394, iLink) based (semi-)
professional audio interfaces.
It's the successor of the FreeBoB project. FFADO is a
volunteer-based community effort, trying to provide Linux
with at least the same level of functionality that is
present on the other operating systems.
The range of FireWire Audio Devices that we would like
to support is broad: from pure audio interfaces over
mixed audio-control devices to DSP algorithm devices.
This is a snapshot of svn revision 1855
%package -n libffado-devel
Summary: Development files for ffado
Group: Development/Libraries/C and C++
Requires: glibc-devel
Requires: libconfig-devel
Requires: libdbus-c++-devel
Requires: libffado%{sover} = %{version}
%description -n libffado-devel
This package supplys the files necessary to develop
applications that use the FFADO libraries and api.
%package -n libffado%{sover}
Summary: FireWire 1394 support for audio devices
Group: System/Libraries
%description -n libffado%{sover}
This package provides the libffado shared library that
provides a unified programming interface to configure and
use all supported devices. Currently this library is used
by the 'firewire' backends of the jack audio connection kit
sound server. This backend provides audio and midi support,
and is available in jackd. Access to the device internal
configuration (e,g, internal mixer) is exposed using the
ffado-dbus-server daemon. This daemon exposes the
configurable parameters of all detected devices through
DBUS. The ffadomixer application in support/mixer presents
a GUI to control these parameters (only for officially
supported devices).
%prep
%setup -q -n %{tname}-%{version}
%autopatch -p0
for i in `grep -rl "/usr/bin/env python"`;do sed -i '1s/^#!.*/#!\/usr\/bin\/python3/' ${i} ;done
for i in `grep -rl "/usr/bin/python"`;do sed -i '1s/^#!.*/#!\/usr\/bin\/python3/' ${i} ;done
%build
%if %{gcc7} == 1
%define gcc_version 7
export CC=gcc-7
export CPP=cpp-7
export CXX=g++-7
%endif
export EXTRA_FLAGS="-Wno-deprecated-declarations -fpermissive --std=gnu++11"
%if 0%{?gcc_version} > 5
export EXTRA_FLAGS="${EXTRA_FLAGS} -Werror=date-time"
%endif
%ifarch %arm
export EXTRA_FLAGS="${EXTRA_FLAGS} -fPIC"
%endif
#export DBUS1_FLAGS="$DBUS1_FLAGS -lpthread"
scons %{_smp_mflags} \
PREFIX=%{_prefix} \
LIBDIR=%{_libdir} \
MANDIR=%{_mandir} \
UDEVDIR=%{_udevrulesdir} \
ENABLE_GENERICAVC=yes \
SERIALIZE_USE_EXPAT=no \
DEBUG=no \
ENABLE_ALL=yes \
PYPKGDIR=%{python_sitelib} \
ENABLE_OPTIMIZATIONS=yes \
DETECT_USERSPACE_ENV=False \
ENABLE_SETBUFFERSIZE_API_VER=auto \
BUILD_TESTS=yes \
BUILD_MIXER=False \
ENABLE_DICE=true \
COMPILE_FLAGS="%{optflags} -fno-strict-aliasing -ggdb ${EXTRA_FLAGS}" \
CUSTOM_ENV=True \
PYTHON_INTERPRETER="%{_bindir}/python3"
%install
# WARNING: the install scons statement must be identical to the build one otherwise a complete rebuild is executed.
%if %{gcc7} == 1
%define gcc_version 7
export CC=gcc-7
export CPP=cpp-7
export CXX=g++-7
%endif
export EXTRA_FLAGS="-Wno-deprecated-declarations -fpermissive --std=gnu++11"
%if 0%{?gcc_version} > 5
export EXTRA_FLAGS="${EXTRA_FLAGS} -Werror=date-time"
%endif
%ifarch %arm
export EXTRA_FLAGS="${EXTRA_FLAGS} -fPIC"
%endif
#export DBUS1_FLAGS="$DBUS1_FLAGS -lpthread"
scons DESTDIR=%{buildroot} install \
PREFIX=%{_prefix} \
LIBDIR=%{_libdir} \
MANDIR=%{_mandir} \
UDEVDIR=%{_udevrulesdir} \
ENABLE_GENERICAVC=yes \
SERIALIZE_USE_EXPAT=no \
DEBUG=no \
ENABLE_ALL=yes \
PYPKGDIR=%{python_sitelib} \
ENABLE_OPTIMIZATIONS=yes \
DETECT_USERSPACE_ENV=False \
ENABLE_SETBUFFERSIZE_API_VER=auto \
BUILD_TESTS=yes \
BUILD_MIXER=False \
ENABLE_DICE=true \
COMPILE_FLAGS="%{optflags} -fno-strict-aliasing -ggdb ${EXTRA_FLAGS}" \
CUSTOM_ENV=True \
PYTHON_INTERPRETER="%{_bindir}/python3"
rm -rf %{buildroot}%{_libdir}/libffado
%fdupes -s %{buildroot}%{_datadir}
%post -n libffado%{sover} -p /sbin/ldconfig
%postun -n libffado%{sover} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc README
%doc AUTHORS
%license LICENSE.GPLv2 LICENSE.GPLv3
#%%doc ChangeLog
%{_bindir}/dumpiso_mod
%{_bindir}/gen-loadpulses
%{_bindir}/scan-devreg
%{_bindir}/test-avccmd
%{_bindir}/test-bufferops
%{_bindir}/test-clock_nanosleep
%{_bindir}/test-devicestringparser
%{_bindir}/test-dice-eap
%{_bindir}/test-echomixer
%{_bindir}/test-enhanced-mixer
%{_bindir}/test-focusrite
%{_bindir}/test-fw410
%{_bindir}/test-ieee1394service
%{_bindir}/test-ipcringbuffer
%{_bindir}/test-messagequeue
%{_bindir}/test-scs
%{_bindir}/test-shm
%{_bindir}/test-streamdump
%{_bindir}/test-sysload
%{_bindir}/test-timestampedbuffer
%{_bindir}/test-volume
%{_bindir}/test-watchdog
%{_bindir}/unmute-ozonic
%{_bindir}/test-cycle-time
%{_bindir}/set-default-router-config-dice-eap
%{_datadir}/dbus-1/services/org.ffado.Control.service
%{_bindir}/ffado*
%{_datadir}/%{tname}
%{_mandir}/man1/ffado-bridgeco-downloader.1.gz
%{_mandir}/man1/ffado-dbus-server.1.gz
%{_mandir}/man1/ffado-diag.1.gz
%{_mandir}/man1/ffado-dice-firmware.1.gz
%{_mandir}/man1/ffado-fireworks-downloader.1.gz
%files -n libffado-devel
%defattr(-,root,root)
%dir %{_includedir}/%{tname}
%{_includedir}/%{tname}/*.h
%{_libdir}/%{tname}*.so
%{_libdir}/pkgconfig/%{tname}.pc
%files -n libffado%{sover}
%defattr(-,root,root)
%{_libdir}/%{tname}.so.%{sover}*
%dir %{_udevrulesdir}
%dir %{_udevrulesdir}/..
%{_udevrulesdir}/60-ffado.rules
%changelog

BIN
libffado-2.4.3.tgz (Stored with Git LFS) Normal file

Binary file not shown.

26
libffado-date_time.patch Normal file
View File

@ -0,0 +1,26 @@
Index: src/ffado.cpp
===================================================================
--- src/ffado.cpp.orig 2012-03-10 16:03:53.000000000 +0200
+++ src/ffado.cpp 2018-02-08 08:45:13.055807986 +0200
@@ -89,7 +89,7 @@ ffado_device_t *ffado_streaming_init (ff
struct _ffado_device *dev = new struct _ffado_device;
- printMessage("%s built %s %s\n", ffado_get_version(), __DATE__, __TIME__);
+ printMessage("%s built %s %s\n", ffado_get_version(), NULL, NULL);
#if DEBUG_USE_MESSAGE_BUFFER
// ok
Index: support/alsa/alsa_plugin.cpp
===================================================================
--- support/alsa/alsa_plugin.cpp.orig 2008-09-23 12:42:04.000000000 +0200
+++ support/alsa/alsa_plugin.cpp 2018-02-08 08:45:13.055807986 +0200
@@ -589,7 +589,7 @@ static int snd_pcm_ffado_open(snd_pcm_t
SND_PCM_PLUGIN_DEFINE_FUNC(ffado)
{
printMessage("FireWire plugin for ALSA\n version %s compiled %s %s\n using %s\n",
- FFADO_PLUGIN_VERSION, __DATE__, __TIME__, PACKAGE_STRING);
+ FFADO_PLUGIN_VERSION, NULL, PACKAGE_STRING);
snd_config_iterator_t i, next;
int err;

30
reproducible.patch Normal file
View File

@ -0,0 +1,30 @@
Author: Bernhard M. Wiedemann <bwiedemann suse.de>
Date: 2018-08-17
https://bugzilla.opensuse.org/show_bug.cgi?id=1100677 packages do not build reproducibly from compile-time CPU-detection
Always build with SSE2, independent of build system CPU
Index: SConstruct
===================================================================
--- SConstruct.orig 2019-01-03 16:18:09.167995690 +0200
+++ SConstruct 2019-01-03 16:18:10.556060875 +0200
@@ -748,16 +748,10 @@ def cc_flags_x86(cpuinfo, enable_optimiz
opt_flags = [
('sse', ('-mfpmath=sse', '-msse')),
('sse2', '-msse2'),
- ('ssse3', '-mssse3'),
- ('sse4', '-msse4'),
- ('sse4_1', '-msse4.1'),
- ('sse4_2', '-msse4.2'),
- ('sse4a', '-msse4a'),
- ('3dnow', '-m3dnow'),
]
if enable_optimizations:
for flag, gccopt in opt_flags:
- if flag in cpuinfo.x86_flags:
+ if True:
if isinstance(gccopt, (tuple, list)):
cc_opts.extend(gccopt)
else: