# # 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