From 36c16a7ecd82ee69b5ee21878fbcc9b050a51261b95d8f4360ce3b0510b71e86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 12:28:23 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main ffado revision 45be80a94f839c157adaed4c93b46337 --- .gitattributes | 23 +++ _multibuild | 4 + baselibs.conf | 1 + ffado-mixer.changes | 204 ++++++++++++++++++++++++++ ffado-mixer.spec | 193 +++++++++++++++++++++++++ ffado-nosys.patch | 12 ++ ffado.changes | 302 +++++++++++++++++++++++++++++++++++++++ ffado.spec | 240 +++++++++++++++++++++++++++++++ libffado-2.4.3.tgz | 3 + libffado-date_time.patch | 26 ++++ reproducible.patch | 30 ++++ 11 files changed, 1038 insertions(+) create mode 100644 .gitattributes create mode 100644 _multibuild create mode 100644 baselibs.conf create mode 100644 ffado-mixer.changes create mode 100644 ffado-mixer.spec create mode 100644 ffado-nosys.patch create mode 100644 ffado.changes create mode 100644 ffado.spec create mode 100644 libffado-2.4.3.tgz create mode 100644 libffado-date_time.patch create mode 100644 reproducible.patch diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..33473aa --- /dev/null +++ b/_multibuild @@ -0,0 +1,4 @@ + + ffado-mixer + + diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..146daac --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libffado2 diff --git a/ffado-mixer.changes b/ffado-mixer.changes new file mode 100644 index 0000000..50ae12e --- /dev/null +++ b/ffado-mixer.changes @@ -0,0 +1,204 @@ +------------------------------------------------------------------- +Fri May 29 15:12:31 UTC 2020 - Edgar Aichinger + +- 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 + +- 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 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 + diff --git a/ffado-mixer.spec b/ffado-mixer.spec new file mode 100644 index 0000000..d51bec4 --- /dev/null +++ b/ffado-mixer.spec @@ -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 diff --git a/ffado-nosys.patch b/ffado-nosys.patch new file mode 100644 index 0000000..6f5a57c --- /dev/null +++ b/ffado-nosys.patch @@ -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 diff --git a/ffado.changes b/ffado.changes new file mode 100644 index 0000000..92350e1 --- /dev/null +++ b/ffado.changes @@ -0,0 +1,302 @@ +------------------------------------------------------------------- +Mon Apr 24 10:03:35 UTC 2023 - Dominique Leuenberger + +- 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 + +- Update to release 2.4.3 + +------------------------------------------------------------------- +Thu Jan 2 09:40:57 UTC 2020 - Bjørn Lie + +- 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 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 + diff --git a/ffado.spec b/ffado.spec new file mode 100644 index 0000000..2b8fc69 --- /dev/null +++ b/ffado.spec @@ -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 diff --git a/libffado-2.4.3.tgz b/libffado-2.4.3.tgz new file mode 100644 index 0000000..36b6b99 --- /dev/null +++ b/libffado-2.4.3.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19155d61d1e6e27ec527c73b3a53ebbfe4e8de81c6ec274e01519919f67f7e21 +size 1227996 diff --git a/libffado-date_time.patch b/libffado-date_time.patch new file mode 100644 index 0000000..7cf394b --- /dev/null +++ b/libffado-date_time.patch @@ -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; diff --git a/reproducible.patch b/reproducible.patch new file mode 100644 index 0000000..a6bd737 --- /dev/null +++ b/reproducible.patch @@ -0,0 +1,30 @@ +Author: Bernhard M. Wiedemann +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: