Summary: Digital Audio Workstation
Name: ardour2
Version: 2.8.16
Release: 27%{?dist}
# No more direct links. Download from
# http://ardour.org/download
Source: ardour-%{version}.tar.bz2
Source2: ardour.sh
Patch0: ardour-SConscript.patch
# Colored grep output makes the script print errors:
Patch1: ardour-no-grep-options.patch
Patch3: ardour-2.5-HOST_NOT_FOUND.patch
# Filed upstream: http://tracker.ardour.org/view.php?id=5476
Patch4: ardour-fix-mm-includes.patch
# lilv-0.16 compatibility. Fixed in trunk
Patch5: ardour-lilv016fix.patch
# Need to link various plugins against boost (rhbz#1156179)
Patch6: 0001-Add-boost-linking-to-tranzport-and-generic-midi-surf.patch
Patch7: 0002-Add-boost-linking-to-wiimote.patch
# C++11 needs this
Patch8: ardour-2.8.16-c++11-namespaces.patch
Patch9: ardour-2.8.16-c++11-xpm.patch
Patch10: ardour-2.8.16-c++11-bool-from-pointer.patch
# libsigc++ >= 2.6 needs this
Patch11: ardour-2.8.16-libsigc++26.patch
# aubio >= 0.4.0 needs this
Patch12: ardour-2.8.16-aubio04.patch
# include a freely licensed version of dmalloc.c
# this code is not actually used, but eh.
# Taken from http://dmalloc.com/releases/ v5.5.2
Patch13: ardour-2.8.16-free-dmalloc.patch
# fix to compile with gcc6
# There are almost certainly other cleanups that could be made here
# but this code is legacy, so just get it building again.
Patch14: ardour-2.8.16-gcc6.patch
# Fix to compile with glibmm 2.50.x
Patch15: ardour-2.8.16-glibmm250.patch
# Fix to compile with gcc7
Patch16: ardour-2.8.16-gcc7.patch
URL: http://ardour.org
License: GPLv2+
Group: Applications/Multimedia
BuildRequires: alsa-lib-devel
BuildRequires: aubio-devel
BuildRequires: boost-devel
BuildRequires: cwiid-devel
BuildRequires: desktop-file-utils
BuildRequires: fftw-devel
BuildRequires: gettext >= 0.11.5
BuildRequires: gtkmm24-devel >= 2.8
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libcurl-devel
BuildRequires: libgnomecanvas-devel
BuildRequires: libgnomecanvasmm26-devel >= 2.12
BuildRequires: liblo-devel
BuildRequires: liblrdf-devel >= 0.3.1
BuildRequires: libsamplerate-devel >= 0.0.13
BuildRequires: libsndfile-devel >= 1.0.18
BuildRequires: libtool
BuildRequires: libusb-devel
BuildRequires: libxslt-devel
BuildRequires: lilv-devel
BuildRequires: pkgconfig
BuildRequires: scons
BuildRequires: soundtouch-devel
BuildRequires: suil-devel
# For up2date config.guess for new architectures (ie aarch64) support
BuildRequires: redhat-rpm-config
Requires: hicolor-icon-theme
Obsoletes: ardour < 2.8.16-16
%description
This package contains the legacy version 2 of Ardour. It is provided as a way
to work on sessions created by this version. Please use the current version of
Ardour for new projects.
Ardour is a multichannel hard disk recorder (HDR) and digital audio workstation
(DAW). It is capable of simultaneously recording 24 or more channels of 32 bit
audio at 48kHz.
%prep
%setup -q -n ardour-%{version}
%patch0 -p1 -b .SConscript
%patch1 -p1 -b .no.grep.opts
%patch3 -p0 -b .host.not.found
%patch4 -p1 -b .fix-mm-includes
%patch5 -p1 -b .lilv016
%patch6 -p1 -b .boost-tranzport-generic-midi
%patch7 -p1 -b .boost-linking-wiimote
%patch8 -p1 -b .c++11-namespaces
%patch9 -p1 -b .c++11-xpm
%patch10 -p1 -b .c++11-bool-from-pointer
%patch11 -p1 -b .libsigc++26
%patch12 -p1 -b .aubio04
%patch13 -p1 -b .free-dmalloc
%patch14 -p1 -b .gcc6
%patch15 -p1 -b .glibmm250
%patch16 -p1 -b .gcc7
# Update config.guess for new architectures (ie aarch64) support
cp /usr/lib/rpm/redhat/config.guess tools
# Fix encodings:
iconv -f ISO-8859-1 -t UTF8 ardour.1.fr > ardour.1.fr.tmp
touch -r ardour.1.fr ardour.1.fr.tmp
mv -f ardour.1.fr.tmp ardour.1.fr
iconv -f KOI8-R -t UTF8 ardour.1.ru > ardour.1.ru.tmp
touch -r ardour.1.ru ardour.1.ru.tmp
mv -f ardour.1.ru.tmp ardour.1.ru
%build
echo "GenericName=Digital Audio Workstation" >> gtk2_ardour/ardour2.desktop.in
# <sigh> ardours SConstruct script is a mess when it comes to determining
# opt_flags, so we override the lot using the ARCH= and DIST_TARGET= options
TARGETCPU="none"
%ifarch %{ix86}
ARCH_FLAGS="-DARCH_X86 -DBUILD_SSE_OPTIMIZATIONS -msse -mfpmath=sse -DUSE_XMMINTRIN"
TARGETCPU="i386"
%endif
%ifarch x86_64
ARCH_FLAGS="-DARCH_X86 -DBUILD_SSE_OPTIMIZATIONS -DUSE_X86_64_ASM -msse -mfpmath=sse -DUSE_XMMINTRIN"
TARGETCPU="x86_64"
%endif
# Parallel build fails
scons PREFIX=%{_prefix} LIBDIR=%{_lib} SYSLIBS=1 \
FREESOUND=1 \
DIST_TARGET="${TARGETCPU}" \
ARCH="$RPM_OPT_FLAGS $ARCH_FLAGS -std=c++11" \
AUSTATE=1 \
DIST_LIBDIR=%{_lib} \
WIIMOTE=1
%install
scons DESTDIR=$RPM_BUILD_ROOT install
# Current Ardour versions have their own appdata file:
# https://github.com/Ardour/ardour/pull/158
mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata
cat > $RPM_BUILD_ROOT%{_datadir}/appdata/ardour2.appdata.xml <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2014 Richard Hughes <richard@hughsie.com> -->
<application>
<id type="desktop">ardour2.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<summary>Digital Audio Workstation (Legacy Version)</summary>
<description>
<p>
This package contains the legacy version 2 of Ardour. It is provided as a
way to work on sessions created by this version. Please use the current
version of Ardour for new projects.
</p>
<p>
Ardour is a digital audio workstation that permits you to record and
create music.
Ardour supports multi-track recording, and allows you to use plug-ins to
create music in a virtual studio.
</p>
</description>
<url type="homepage">http://ardour.org</url>
<screenshots>
<screenshot type="default">http://ardour.org/images/lsdedits.png</screenshot>
<screenshot>http://ardour.org/images/eno.png</screenshot>
<screenshot>http://ardour.org/images/lsd-mixer.jpg</screenshot>
</screenshots>
<updatecontact>ardour-users@lists.ardour.org</updatecontact>
</application>
EOF
# Replace ardour2 with a script
install -dm 755 $RPM_BUILD_ROOT%{_libexecdir}
mv $RPM_BUILD_ROOT%{_bindir}/ardour2 $RPM_BUILD_ROOT%{_libexecdir}
install -pm 755 %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/ardour2
# copy icons to freedesktop locations
for s in 16 22 32 48 ; do
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps
cp -p $RPM_BUILD_ROOT%{_datadir}/ardour2/icons/ardour_icon_${s}px.png \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/ardour2.png
done
# install the desktop entry
cp -dpf gtk2_ardour/ardour2.desktop{.in,}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
desktop-file-install --dir ${RPM_BUILD_ROOT}%{_datadir}/applications \
gtk2_ardour/ardour2.desktop
# install mime entry
mkdir -p $RPM_BUILD_ROOT%{_datadir}/mime/packages/
install -p -m 0644 gtk2_ardour/ardour2.xml $RPM_BUILD_ROOT%{_datadir}/mime/packages/
# install the man pages
install -dm 755 $RPM_BUILD_ROOT%{_mandir}/man1/
install -p -m 0644 ardour.1 $RPM_BUILD_ROOT%{_mandir}/man1/ardour2.1
for lang in es fr ru ; do
install -dm 755 $RPM_BUILD_ROOT%{_mandir}/${lang}/man1/
install -p -m 0644 ardour.1.${lang} $RPM_BUILD_ROOT%{_mandir}/${lang}/man1/ardour2.1
done
%find_lang gtk2_ardour
cat gtk2_ardour.lang > ardour.lang
%find_lang libardour2
cat libardour2.lang >> ardour.lang
%find_lang libgtkmm2ext
cat libgtkmm2ext.lang >> ardour.lang
%post
/bin/touch --no-create %{_datadir}/icons/hicolor &> /dev/null || :
/bin/touch --no-create %{_datadir}/mime/packages &> /dev/null || :
/usr/bin/update-desktop-database &> /dev/null || :
%postun
/usr/bin/update-desktop-database &> /dev/null || :
if [ $1 -eq 0 ] ; then
/bin/touch --no-create %{_datadir}/icons/hicolor &> /dev/null || :
/bin/touch --no-create %{_datadir}/mime/packages &> /dev/null || :
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &> /dev/null || :
/usr/bin/update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
fi
%posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &> /dev/null || :
/usr/bin/update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
%files -f ardour.lang
%license COPYING
%doc README
%config(noreplace) %{_sysconfdir}/ardour2
%{_bindir}/ardour2
%{_libexecdir}/ardour2
%{_libdir}/ardour2/
%{_datadir}/ardour2/
%{_datadir}/icons/hicolor/*/apps/ardour2.png
%{_datadir}/appdata/*.appdata.xml
%{_datadir}/applications/ardour2.desktop
%{_datadir}/mime/packages/ardour2.xml
%{_mandir}/man1/ardour2.1*
%{_mandir}/es/man1/ardour2.1*
%{_mandir}/fr/man1/ardour2.1*
%{_mandir}/ru/man1/ardour2.1*
%changelog
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.16-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.16-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.16-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.16-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Jan 31 2017 Jonathan Wakely <jwakely@redhat.com> - 2.8.16-23
- Rebuilt for Boost 1.63 and patched for glibmm 2.50.x and GCC 7
* Tue Mar 8 2016 Tom Callaway <spot@fedoraproject.org> - 2.8.16-22
- replace non-free dmalloc.cc with a freely licensed version (bz1313285)
- fix FTBFS with gcc6 (bz1307324)
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.16-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Sat Jan 16 2016 Jonathan Wakely <jwakely@redhat.com> - 2.8.16-20
- Rebuilt for Boost 1.60
* Sun Nov 29 2015 Nils Philippsen <nils@redhat.com> - 2.8.16-19
- patch for and build with -std=c++11
- patch for libsigc++20 >= 2.6
- patch for aubio >= 0.4.0
- mention legacy version in appdata file
- miscellaneous fixes
* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 2.8.16-18
- Rebuilt for Boost 1.59
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.16-17
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 2.8.16-16
- rebuild for Boost 1.58
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.16-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu Jun 11 2015 Nils Philippsen <nils@redhat.com> 2.8.16-14
- make release higher than ardour to break obsoletes loop (#1230469)
* Mon May 11 2015 Nils Philippsen <nils@redhat.com> 2.8.16-1
- rename ardour.script to ardour.sh to appease rpmlint
- trim description
* Fri May 08 2015 Nils Philippsen <nils@redhat.com> 2.8.16-1
- rename package to ardour2
- mention legacy status in %%changelog
- fix file names of man pages