3 Commits

Author SHA256 Message Date
b961a926dc Accepting request 1282829 from multimedia:libs
- Combine ffado.spec, ffado-mixer.spec to form a multibuild
  package instead. Compact description. Trim constructs for old
  distros.
- Follow standard practice of naming subpackage X -> X-devel.

OBS-URL: https://build.opensuse.org/request/show/1282829
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ffado?expand=0&rev=48
2025-06-06 20:35:20 +00:00
c58e8ddd5f * Name:ffado-mixer for multibuild, make factory-bot happy
* ffado-doc is empty, remove it (again)

OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffado?expand=0&rev=100
2025-06-04 15:08:28 +00:00
8fd88dc27c - Combine ffado.spec, ffado-mixer.spec to form a multibuild
package instead. Compact description. Trim constructs for old
  distros.
- Follow standard practice of naming subpackage X -> X-devel.
- Reinstate generation of ffado-doc subpackage.


The following changes should also be made to
`osc meta prjconf -e games` (add this line):

	Prefer: -libconfig-devel -libffado-devel

OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffado?expand=0&rev=99
2025-06-03 08:10:07 +00:00
5 changed files with 135 additions and 513 deletions

View File

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

View File

@@ -1,261 +0,0 @@
-------------------------------------------------------------------
Mon Mar 24 12:00:44 UTC 2025 - Antonio Larrosa <alarrosa@suse.com>
- Do not build ffado-mixer in SLFO/SLE16 since we don't have
python-qt5 there.
-------------------------------------------------------------------
Thu Jan 23 13:24:09 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>
- BuildRequires python3-setuptools, distutils is deprecated and is
removed for python > 3.11
-------------------------------------------------------------------
Sun Aug 18 09:04:07 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.4.9
* Support compilation against musl libc.
* Remove build-time checks for utilities that are not used
(pyuic).
* Install the ffado-mixer appdata file only if ffado-mixer has
been built.
* Add a DATADIR option to scons and use it in line with GNU
conventions.
* Update the AppStream document with more complete information
and in line with current best practice.
* Rename XDG files to match modern standards.
* Install XDG files manually to simplify the build script and
avoid depending on xdg-utils.
- Changes from version 2.4.8
* Make various mixer modules work under Python 3.10 and later:
Presonus Firebox, Presonus FP10, Presonus Inspire1394 and
Yamaha Go.
* Deal with the removal of SafeConfigParser in Python 3.12.
-------------------------------------------------------------------
Fri Jun 14 13:24:58 UTC 2024 - pgajdos@suse.com
- remove dependency on /usr/bin/python3 using
%python3_fix_shebang macro, [bsc#1212476]
-------------------------------------------------------------------
Mon Jun 26 11:07:01 UTC 2023 - Dave Plater <davejplater@gmail.com>
- Update to 2.4.7
- Upstream changes:
*Address type-related issues encounted in ffado-mixer when using
python 3.10. Components affected were the crossbar router and
the M-Audio device mixer.
*Use a dark theme by default in ffado-mixer.
*Remember the users ffado-mixer theme choice.
*The ffado-mixer desktop file includes a Dutch translation.
*Saffire mixers gain additional tool tips.
*Reduce the need for scrolling of the Saffire Pro24 panel in
ffado-mixer.
*Correct ffado-mixer routing assignments for the
Profire-2626 device.
-------------------------------------------------------------------
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

View File

@@ -1,200 +0,0 @@
#
# spec file for package ffado-mixer
#
# Copyright (c) 2025 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
%if 0%{?suse_version} == 1600 && !0%{?is_opensuse}
ExclusiveArch: do_not_build
%endif
Name: ffado-mixer
Version: 2.4.9
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: python3-setuptools
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"
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}
%python3_fix_shebang
%files
%defattr(-,root,root)
%{_bindir}/ffado-mixer
%{_datadir}/%{tname}/
%{_datadir}/icons/*
%{_datadir}/pixmaps/ffadomixer.png
%{_datadir}/applications/*
%{python3_sitelib}/*
%{_datadir}/metainfo/org.ffado.FfadoMixer.metainfo.xml
%if %{docs} == 1
%files -n ffado-doc
%defattr(-,root,root)
%{_docdir}/%{tname}
%endif
%changelog

View File

@@ -1,3 +1,11 @@
-------------------------------------------------------------------
Mon Jun 2 11:37:30 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Combine ffado.spec, ffado-mixer.spec to form a multibuild
package instead. Compact description. Trim constructs for old
distros.
- Follow standard practice of naming subpackage X -> X-devel.
-------------------------------------------------------------------
Thu Jan 23 13:11:14 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>

View File

@@ -16,9 +16,16 @@
#
%define docs 0
%define flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == ""
%define mflavor %{nil}
%else
%define mflavor -%{flavor}
%endif
%define sover 2
%define tname libffado
Name: ffado
Name: ffado%{mflavor}
Version: 2.4.9
Release: 0
Summary: FireWire 1394 support for audio devices
@@ -32,14 +39,10 @@ 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: python3-setuptools
BuildRequires: scons >= 3.0.2
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(dbus-1) >= 1.0
BuildRequires: pkgconfig(dbus-c++-1)
BuildRequires: pkgconfig(dbus-python)
BuildRequires: pkgconfig(expat)
@@ -48,34 +51,61 @@ BuildRequires: pkgconfig(libconfig++)
BuildRequires: pkgconfig(libiec61883) >= 1.1.0
BuildRequires: pkgconfig(libraw1394) >= 2.0.5
BuildRequires: pkgconfig(libxml++-3.0) >= 3.0.0
%if "%{flavor}" == ""
BuildRequires: python3-setuptools
BuildRequires: scons >= 3.0.2
BuildRequires: pkgconfig(dbus-1) >= 1.0
Requires: libffado%{sover} = %{version}
Recommends: ffado-mixer = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%endif
%if "%{flavor}" == "mixer"
BuildRequires: doxygen
BuildRequires: ffado = %{version}
BuildRequires: graphviz-gnome
BuildRequires: python3-qt5-devel
BuildRequires: python3-setuptools
BuildRequires: scons
BuildRequires: update-desktop-files
BuildRequires: xdg-utils
BuildRequires: xorg-x11-fonts
BuildRequires: pkgconfig(libffado) = %{version}
%if 0%{?suse_version} == 1600 && !0%{?is_opensuse}
ExclusiveArch: do_not_build
%endif
Requires: ffado = %{version}
BuildArch: noarch
%endif
%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
%if "%{flavor}" == ""
FFADO provides a generic solution to support FireWire (IEEE1394,
iLink) based (semi-)professional audio interfaces. It provides Linux
with at least the same level of functionality that is present on the
other operating systems. The range of FireWire Audio Devices
supported ranges from pure audio interfaces over mixed audio-control
devices to DSP algorithm devices.
%endif
%if "%{flavor}" == "mixer"
ffado-mixer presents a graphical application allowing a FFADO device
to be controlled. The extent of the control is determined by the
level of support for the device in FFADO and in ffado-dbus-server.
Typical controls offered by ffado-mixer include faders for the
on-board mixer, phantom power control, mode switches and so on.
%endif
%package -n libffado-devel
%package -n ffado-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}
Requires: pkgconfig(dbus-c++-1)
Requires: pkgconfig(libconfig)
Obsoletes: libffado-devel < %{version}-%{release}
Provides: libffado-devel = %{version}-%{release}
%description -n libffado-devel
%description -n ffado-devel
This package supplys the files necessary to develop
applications that use the FFADO libraries and api.
applications that use the FFADO libraries and API.
%package -n libffado%{sover}
Summary: FireWire 1394 support for audio devices
@@ -84,11 +114,11 @@ 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,
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
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
@@ -96,9 +126,7 @@ a GUI to control these parameters (only for officially
supported devices).
%prep
%setup -q -n %{tname}-%{version}
%autopatch -p0
%autosetup -n %{tname}-%{version} -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
@@ -117,27 +145,33 @@ scons %{_smp_mflags} \
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 \
%if "%{flavor}" == ""
ENABLE_GENERICAVC=yes \
ENABLE_ALL=yes \
ENABLE_SETBUFFERSIZE_API_VER=auto \
BUILD_TESTS=yes \
BUILD_MIXER=False \
ENABLE_DICE=true \
%endif
%if "%{flavor}" == "mixer"
ENABLE_GENERICAVC=no \
ENABLE_ALL=no \
BUILD_TESTS=no \
BUILD_MIXER=True \
%endif
SERIALIZE_USE_EXPAT=no \
DEBUG=no \
PYPKGDIR=%{python3_sitelib} \
ENABLE_OPTIMIZATIONS=yes \
COMPILE_FLAGS="%{optflags} -fno-strict-aliasing -ggdb ${EXTRA_FLAGS}" \
CUSTOM_ENV=True \
PYTHON_INTERPRETER="%{_bindir}/python3"
%install
mkdir -p %{buildroot}%{python3_sitelib}
# WARNING: the install scons statement must be identical to the build one otherwise a complete rebuild is executed.
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
@@ -147,32 +181,61 @@ scons DESTDIR=%{buildroot} install \
LIBDIR=%{_libdir} \
MANDIR=%{_mandir} \
UDEVDIR=%{_udevrulesdir} \
%if "%{flavor}" == ""
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 \
%endif
%if "%{flavor}" == "mixer"
ENABLE_GENERICAVC=no \
ENABLE_ALL=no \
BUILD_TESTS=no \
BUILD_MIXER=True \
%endif
SERIALIZE_USE_EXPAT=no \
DEBUG=no \
PYPKGDIR=%{python3_sitelib} \
ENABLE_OPTIMIZATIONS=yes \
DETECT_USERSPACE_ENV=False \
COMPILE_FLAGS="%{optflags} -fno-strict-aliasing -ggdb ${EXTRA_FLAGS}" \
CUSTOM_ENV=True \
PYTHON_INTERPRETER="%{_bindir}/python3"
rm -rf %{buildroot}%{_libdir}/libffado
%if "%{flavor}" == ""
rm -Rfv %{buildroot}%{_libdir}/libffado
%endif
%if "%{flavor}" == "mixer"
rm -Rfv %{buildroot}/%{_libdir}/%tname.* %{buildroot}/%{_includedir}/libffado \
%{buildroot}/%{_libdir}/pkgconfig
# Remove the useless udev rules and man pages on the mixer package
rm -Rfv %{buildroot}/%{_mandir} %{buildroot}/%{_udevrulesdir}
rpm -ql ffado | while read file; do
rm -v "%{buildroot}/$file" || :
done
rm -Rfv %{buildroot}/%{_libdir}/libffado
mkdir -pv %{buildroot}/%{_datadir}/applications/
mkdir -pv %{buildroot}/%{_datadir}/pixmaps
cp -av 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"
find ./ -empty -delete
%endif
%fdupes -s %{buildroot}%{_datadir}
%python3_fix_shebang
%post -n libffado%{sover} -p /sbin/ldconfig
%postun -n libffado%{sover} -p /sbin/ldconfig
%ldconfig_scriptlets -n libffado%{sover}
%files
%defattr(-,root,root)
%if "%{flavor}" == ""
%doc README
%doc AUTHORS
%license LICENSE.GPLv2 LICENSE.GPLv3
@@ -210,19 +273,31 @@ rm -rf %{buildroot}%{_libdir}/libffado
%{_mandir}/man1/ffado-diag.1.gz
%{_mandir}/man1/ffado-dice-firmware.1.gz
%{_mandir}/man1/ffado-fireworks-downloader.1.gz
%endif
%if "%{flavor}" == "mixer"
%{_bindir}/ffado-mixer
%{_datadir}/%{tname}/
%{_datadir}/icons/*
%{_datadir}/pixmaps/ffadomixer.png
%{_datadir}/applications/*
%{python3_sitelib}/*
%{_datadir}/metainfo/org.ffado.FfadoMixer.metainfo.xml
%endif
%files -n libffado-devel
%defattr(-,root,root)
%if "%{flavor}" == ""
%files -n ffado-devel
%dir %{_includedir}/%{tname}
%{_includedir}/%{tname}/*.h
%{_libdir}/%{tname}*.so
%{_libdir}/pkgconfig/%{tname}.pc
%endif
%if "%{flavor}" == ""
%files -n libffado%{sover}
%defattr(-,root,root)
%{_libdir}/%{tname}.so.%{sover}*
%dir %{_udevrulesdir}
%dir %{_udevrulesdir}/..
%{_udevrulesdir}/60-ffado.rules
%endif
%changelog