File ardour.spec of Package ardour

#
# spec file for package ardour
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 dirbase ardour6
%define _fluid_maj %(rpm -q --qf "%%{version}" fluidsynth-devel | cut -d'.' -f1)
Name:           ardour
Version:        6.6.0
Release:        0
Summary:        Multichannel Digital Audio Workstation
License:        GPL-2.0-only
URL:            https://ardour.org/
Source0:        https://community.ardour.org/srctar#/Ardour-%{version}.tar.bz2
Source3:        ardour5-rpmlintrc
# https://github.com/Ardour/ardour/commit/5b03c41f6c46ab73cf182de88b3ba10a5b8bc8a3
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  boost-devel >= 1.49.0
BuildRequires:  doxygen
BuildRequires:  fdupes
BuildRequires:  fftw3-threads-devel
BuildRequires:  gcc-c++
BuildRequires:  gettext-devel
BuildRequires:  glibc-devel
BuildRequires:  graphviz
BuildRequires:  hicolor-icon-theme
BuildRequires:  itstool > 2.0.0
BuildRequires:  jack-devel
BuildRequires:  libcppunit-devel
BuildRequires:  libhidapi-devel
BuildRequires:  libtool
BuildRequires:  pkgconfig
BuildRequires:  python
BuildRequires:  readline-devel
BuildRequires:  rubberband-vamp
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(alsa)
BuildRequires:  pkgconfig(atkmm-1.6) >= 2.22.6
BuildRequires:  pkgconfig(aubio) >= 0.3.2
BuildRequires:  pkgconfig(cairo) >= 1.10.0
BuildRequires:  pkgconfig(cairomm-1.0) >= 1.10.0
BuildRequires:  pkgconfig(dbus-1)
BuildRequires:  pkgconfig(fftw3) >= 3.3.1
BuildRequires:  pkgconfig(flac) >= 1.2.1
BuildRequires:  pkgconfig(fluidsynth) >= 1.1.6
BuildRequires:  pkgconfig(gio-2.0)
BuildRequires:  pkgconfig(giomm-2.4) >= 2.32.0
BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(glibmm-2.4) >= 2.32.0
BuildRequires:  pkgconfig(gtk+-2.0) >= 2.24.18
BuildRequires:  pkgconfig(gtkmm-2.4) >= 2.24.2
BuildRequires:  pkgconfig(jack)
BuildRequires:  pkgconfig(libarchive)
BuildRequires:  pkgconfig(libart-2.0) >= 2.3.21
BuildRequires:  pkgconfig(libcurl) >= 7.25.0
BuildRequires:  pkgconfig(libexslt)
BuildRequires:  pkgconfig(liblo) >= 0.26
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(libxslt)
BuildRequires:  pkgconfig(lilv-0)
BuildRequires:  pkgconfig(lrdf)
BuildRequires:  pkgconfig(ltc)
BuildRequires:  pkgconfig(lv2) >= 1.2.0
BuildRequires:  pkgconfig(ogg) >= 1.3.0
BuildRequires:  pkgconfig(pangomm-1.4) >= 2.28.4
BuildRequires:  pkgconfig(raptor2) >= 2.0.6
BuildRequires:  pkgconfig(rasqal) >= 0.9.28
BuildRequires:  pkgconfig(redland) >= 1.0.15
BuildRequires:  pkgconfig(rubberband) >= 1.8.1
BuildRequires:  pkgconfig(samplerate) >= 0.1.8
BuildRequires:  pkgconfig(serd-0)
BuildRequires:  pkgconfig(sigc++-2.0) >= 2.2.10
BuildRequires:  pkgconfig(sndfile) >= 1.0.25
BuildRequires:  pkgconfig(sord-0)
BuildRequires:  pkgconfig(sratom-0)
BuildRequires:  pkgconfig(suil-0)
BuildRequires:  pkgconfig(taglib) >= 1.9.1
BuildRequires:  pkgconfig(uuid)
BuildRequires:  pkgconfig(vamp)
BuildRequires:  pkgconfig(vorbis) >= 1.3.2
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(x11-xcb)
Requires(post): desktop-file-utils
Requires(post): shared-mime-info
Requires(postun): desktop-file-utils
Requires(postun): shared-mime-info
Requires:       graphviz
Requires:       lv2
%requires_ge    liblilv-0-0
Recommends:     a2jmidid
Recommends:     libfftw3_threads3
Recommends:     gtk2-engine-clearlooks
Conflicts:      ardour-vst
Conflicts:      ardour2
Conflicts:      ardour2-vst
Conflicts:      ardour3
Conflicts:      ardour3vst
Conflicts:      ardour4
Conflicts:      ardour4vst
Conflicts:      ardour5
Conflicts:      ardour5vst

%description
Ardour is a multichannel hard disk recorder (HDR) and digital audio
workstation (DAW). It is capable of simultaneous recording 24 or more
channels of 32 bit audio at 48kHz. Ardour is intended to function as a
"professional" HDR system, replacing dedicated hardware solutions such
as the Mackie HDR, the Tascam 2424 and more traditional tape systems
like the Alesis ADAT series. It is also intended to provide the same
or better functionality as software systems such as ProTools,
Samplitude, Logic Audio, Nuendo and Cubase VST (we acknowledge these
and all other names as trademarks of their respective owners). It
supports MIDI Machine Control, and so can be controlled from any MMC
controller, such as the Mackie Digital 8 Bus mixer and many other
modern digital mixers.

%lang_package

%prep
%setup -q -n Ardour-%{version}
# delete not needed files
find . -name ".gitignore" -exec rm {} \;
chmod -x ./doc/*.svg
chmod -x ./doc/*.txt


%build
./waf configure \
   --prefix=%{_prefix} \
   --libdir=%{_libdir} \
   --includedir=%{_includedir} \
   --configdir=%{_sysconfdir} \
   --docdir=%{_docdir} \
   --docs \
   --nls \
   --internal-shared-libs \
   --with-backends=jack,alsa,dummy \
   --lv2dir=%{_libdir}/%{dirbase}/LV2 \
   --lxvst \
   --freedesktop \
   --noconfirm \
   --no-phone-home \
   --optimize
./waf i18n
./waf %{?_smp_mflags}

%install
./waf --destdir=%{buildroot} install -v

mkdir -p %{buildroot}%{_datadir}/{icons/hicolor,applications,mime/packages}/
for size in 16 22 32 48 256 512; do
    dir=%{buildroot}%{_datadir}/icons/hicolor/"$size"x"$size"
    mkdir -p $dir
    install -m 644 gtk2_ardour/resources/Ardour-icon_"$size"px.png $dir/%{dirbase}.png
done
install -m 644 build/gtk2_ardour/%{dirbase}.desktop %{buildroot}%{_datadir}/applications/
install -m 644 build/gtk2_ardour/ardour.xml %{buildroot}%{_datadir}/mime/packages/

%suse_update_desktop_file -i ardour6 AudioVideo Recorder
%find_lang ardour6
%find_lang gtk2_ardour6
%find_lang gtkmm2ext3

# remove dupes
%fdupes -s %{buildroot}/%{_datadir}

%files -f ardour6.lang -f gtk2_ardour6.lang -f gtkmm2ext3.lang
%license COPYING
%doc doc README
%dir %{_sysconfdir}/%{dirbase}
%config(noreplace) %{_sysconfdir}/%{dirbase}/*
%{_bindir}/%{dirbase}
%{_bindir}/%{dirbase}-copy-mixer
%{_bindir}/%{dirbase}-export
%{_bindir}/%{dirbase}-fix_bbtppq
%{_bindir}/%{dirbase}-lua
%{_libdir}/%{dirbase}
%{_datadir}/%{dirbase}
%exclude %{_datadir}/%{dirbase}/templates/.stub
%{_datadir}/icons/hicolor/*/%{dirbase}.png
%{_datadir}/applications/%{dirbase}.desktop
%{_datadir}/mime/packages/ardour.xml
%{_bindir}/%{dirbase}-new_empty_session
%{_bindir}/%{dirbase}-new_session
%exclude %{_libdir}/%{dirbase}/libhidapi.a

%changelog
openSUSE Build Service is sponsored by