Blob Blame History Raw
Summary:        Free firewire audio driver library
Name:           libffado
Version:        2.4.0
Release:        1%{?dist}
# src/libutil/float_cast.h is LGPLv2+.
# The rest is (GPLv2 or GPLv3)
License:        LGPLv2+ and (GPLv2 or GPLv3)
Group:          System Environment/Libraries
URL:            http://www.ffado.org/
Source0:        http://www.ffado.org/files/%{name}-%{version}.tgz
# The trunk is tarballed as follows:
# bash libffado-snapshot.sh 2088
# The fetch script
Source9:        libffado-snapshot.sh
# We want the documentation for the library API only, not for the entire source:
# http://subversion.ffado.org/ticket/293
Patch0:         libffado-api-doc-only.patch
# add missing header. Fixes build on big endian systems. Upstreamed r2724
Patch1:        libffado-byteswap.patch
# add missing import and fix build against PyQt5. Upstreamed r2724 and r2725
Patch2:        libffado-sconstruct.patch
# PyQt4 and 5 compatibility. Upstreamed r2726
Patch3:        libffado-pyqt4and5compat.patch

BuildRequires:  alsa-lib-devel
BuildRequires:  dbus-c++-devel
BuildRequires:  dbus-devel
# the following got renamed to python2-dbus on F28. We are using the backward-compatible Provides
BuildRequires:  dbus-python
BuildRequires:  desktop-file-utils
BuildRequires:  doxygen
BuildRequires:  glibmm24-devel
BuildRequires:  graphviz
BuildRequires:  libconfig-devel
BuildRequires:  libiec61883-devel
BuildRequires:  libraw1394-devel
BuildRequires:  libxml++-devel
BuildRequires:  pkgconfig
BuildRequires:  python2-PyQt5-devel
BuildRequires:  python2-devel
BuildRequires:  scons
BuildRequires:  subversion
ExcludeArch:    s390 s390x
Requires:       udev

%description
The FFADO project aims to provide a generic, open-source solution for the
support of FireWire based audio devices for the Linux platform. It is the
successor of the FreeBoB project.

%package devel
Summary:        Free firewire audio driver library development headers
Group:          Development/Libraries
License:        GPLv2 or GPLv3
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description devel
Development files needed to build applications against libffado.

%package -n ffado
Summary:        Free firewire audio driver library applications and utilities
Group:          Applications/Multimedia
# support/tools/* is GPLv3
# Some files in support/mixer-qt4/ffado are GPLv3+
# The rest is GPLv2 or GPLv3
License:        GPLv3 and GPLv3+ and (GPLv2 or GPLv3)
Requires:       %{name}%{?_isa} = %{version}-%{release}
Requires:       dbus
# the following got renamed to python2-dbus on F28. We are using the backward-compatible Provides
Requires:       dbus-python
Requires:       python2-PyQt5

%description -n ffado
Applications and utilities for use with libffado.


%prep
%setup -q
%patch0 -p1 -b .api.doc.only
%patch1 -p1 -b .byteswap
%patch2 -p1 -b .sconstruct
%patch3 -p1 -b .pyqt4and5

# We don't want to install all tests
sed -i '/Install/d' tests/{,*/}SConscript

# Use standard icon name
sed -i 's|hi64-apps-ffado.png|ffado.png|' support/mixer-qt4/ffado/ffadowindow.py

%build
export CFLAGS="%{optflags} -ffast-math"
export CXXFLAGS="%{optflags} -ffast-math --std=gnu++11"
scons %{?_smp_mflags} \
      ENABLE_SETBUFFERSIZE_API_VER=True \
      ENABLE_OPTIMIZATIONS=True \
      CUSTOM_ENV=True \
      PREFIX=%{_prefix} \
      LIBDIR=%{_libdir} \
      MANDIR=%{_mandir} \
      UDEVDIR=%{_prefix}/lib/udev/rules.d/ \
      PYPKGDIR=%{python_sitelib}/ffado/ \
      BUILD_TESTS=1

%install
# Exporting flags so that the install does not trigger another build
export CFLAGS="%{optflags} -ffast-math"
export CXXFLAGS="%{optflags} -ffast-math --std=gnu++11"
scons DESTDIR=%{buildroot} \
      install

# We need to install the xdg stuff manually
mkdir -p %{buildroot}%{_datadir}/applications
desktop-file-install --dir %{buildroot}%{_datadir}/applications \
		     --add-category="Settings" \
		     --set-icon=ffado \
		     support/xdg/ffado.org-ffadomixer.desktop
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps
ln -s ../../../../libffado/icons/hi64-apps-ffado.png \
    %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/ffado.png

# Install ffado-test RHBZ#805940
install -m 755 tests/ffado-test %{buildroot}%{_bindir}

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%post -n ffado
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :

%postun -n ffado
if [ $1 -eq 0 ] ; then
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%posttrans -n ffado
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :

%files
%doc AUTHORS ChangeLog LICENSE.* README
%{_libdir}/libffado.so.*
%dir %{_datadir}/libffado/
%{_datadir}/libffado/configuration
%{_prefix}/lib/udev/rules.d/*

%files devel
%doc doc/reference/html/
%{_includedir}/libffado/
%{_libdir}/pkgconfig/libffado.pc
%{_libdir}/libffado.so

%files -n ffado
%{_mandir}/man1/ffado-*.1*
%{_bindir}/*
%{_datadir}/libffado/*.xml
%{_datadir}/libffado/python/
%{_datadir}/libffado/icons/
%{_datadir}/dbus-1/services/org.ffado.Control.service
%{_datadir}/applications/ffado.org-ffadomixer.desktop
%{_datadir}/icons/hicolor/64x64/apps/ffado.png
%{python_sitelib}/ffado/


%changelog
* Fri Jan 05 2018 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.4.0-1
- Update to 2.4.0
- Drop upstreamed patches

* Mon Nov 06 2017 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.3.0-7
- Build against scons3
- Build against newer gcc/glibc

* Thu Aug 10 2017 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.3.0-6
- Fix FTBFS on F27
- Backported fixes from trunk for various compilation warnings
- MIPS support RHBZ#1366701

* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild

* Thu Feb 16 2017 Jonathan Wakely <jwakely@redhat.com> - 2.3.0-2
- Patch invalid code to build with GCC 7

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Mon Aug 08 2016 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.3.0-1
- Update to 2.3.0.

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-9
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Tue Mar 01 2016 Yaakov Selkowitz <yselkowi@redhat.com> - 2.2.1-8
- Fix FTBFS with GCC 6 (#1307721)

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Fri Jan 22 2016 Lubomir Rintel <lkundrak@v3.sk> - 2.2.1-6
- Fix FTBFS

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.2.1-4
- Rebuilt for GCC 5 C++11 ABI change

* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sun Jun 01 2014 Brendan Jones <brendan.jones.it@gmail.com> 2.2.1-1
- Update to 2.2.1
- Remove incorporated udev rules patch

* Mon Sep 30 2013 Brendan Jones <brendan.jones.it@gmail.com> 2.1.0-4
- Corrrect udev rules RFBZ#999580
- Correct changelog

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Thu Sep 20 2012 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.1.0-1
- Update to 2.1.0.
- Drop upstreamed & old patches, README.Fedora file.

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-0.10.20120325.svn2088
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Tue Jun 12 2012 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.1.0-0.9.20120325.svn2088
- Fix multilib confict RHBZ#831405
- Fix DSO linking #ticket 355

* Sun Mar 25 2012 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.1.0-0.8.20120325.svn2088
- Update to svn2088.
- Drop upstreamed gcc-4.7 patch.

* Thu Mar 22 2012 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.1.0-0.7.20111030.svn2000
- Include the ffado-test executable RHBZ#805940
- Fix .desktop file warning

* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-0.6.20111030.svn2000
- Rebuilt for c++ ABI breakage

* Tue Jan 10 2012 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.1.0-0.5.20111030.svn2000
- gcc-4.7 compile fix

* Sun Oct 30 2011 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.1.0-0.4.20111030.svn2000
- Update to svn2000.
- Drop the gold linker patch. The issue is properly solved upstream. See upstream tracker #293

* Tue Apr 26 2011 Brendan Jones <brendan.jones.it@gmail.com> - 2.1.0-0.3.20110426.svn1983
- Update to svn1983
- Clean up redundant patches
- Patch to rebuild using gold linker. Fixes RHBZ#684392

* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-0.2.20101015.svn1913
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Fri Oct 15 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.1.0-0.1.20101015.svn1913
- Update to svn1913. Fixes RHBZ#635315
- Drop upstreamed patches

* Thu Aug 26 2010 Dan HorĂ¡k <dan[at]danny.cz> - 2.0.1-5.20100706.svn1864
- no Firewire on s390(x)

* Thu Jul 29 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.0.1-4.20100706.svn1864
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild

* Wed Jul 14 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.0.1-3.20100706.svn1864
- Remove ENABLE_ALL
- Improve the libffado-dont-use-bundled-libs.patch
- Drop BR: expat-devel libavc1394-devel
- Move configuration file to the library package
- Minor enhancement in the .desktop file
- Add links to upstream tickets for patches
- Add -ffast-math to the compiler flags
- Add patch to compile against libconfig-1.4.5

* Tue Jul 13 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.0.1-2.20100706.svn1864
- Add ENABLE_ALL flag to support more devices
- Don't bundle tests
- Include some preliminary documentation for the tools until the manpages arrive
- Patch out bundled libraries. Also fixes some rpmlints
- Improve the instructions how to create the tarball

* Wed Jul 07 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.0.1-1.20100706.svn1864
- Update to trunk, post 2.0.1.

* Sat Jun 05 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 2.0.0-1.20100605.svn1845
- Update to trunk, post 2.0.0.

* Mon May 18 2009 Jarod Wilson <jarod@redhat.com> - 2.0-0.4.rc2
- Update to 2.0.0-rc2

* Thu Nov 06 2008 Jarod Wilson <jarod@redhat.com> - 2.0-0.3.beta7
- Update to beta7
- Put arch-dependent helper/test binaries in libexecdir instead of datadir

* Sun Aug 10 2008 Jarod Wilson <jwilson@redhat.com> - 2.0-0.2.beta6
- Review clean-ups (#456353)

* Tue Jul 22 2008 Jarod Wilson <jwilson@redhat.com> - 2.0-0.1.beta6
- Initial Fedora build of libffado