media-sound/alsa-utils: amd64 stable wrt bug #720810
[gentoo.git] / media-sound / sonic-visualiser / sonic-visualiser-4.0.1.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 inherit autotools desktop qmake-utils xdg
7
8 DESCRIPTION="Music audio files viewer and analiser"
9 HOMEPAGE="https://www.sonicvisualiser.org/"
10 SRC_URI="https://code.soundsoftware.ac.uk/attachments/download/2607/${P}.tar.gz"
11
12 LICENSE="GPL-2"
13 SLOT="0"
14 KEYWORDS="amd64 x86"
15 IUSE="id3tag jack mad ogg opus osc +portaudio pulseaudio"
16
17 BDEPEND="
18         dev-qt/qttest:5
19         sys-devel/autoconf-archive
20         virtual/pkgconfig
21 "
22 RDEPEND="
23         app-arch/bzip2
24         >=dev-libs/capnproto-0.6:=
25         dev-libs/serd
26         dev-libs/sord
27         dev-qt/qtcore:5
28         dev-qt/qtgui:5
29         dev-qt/qtnetwork:5
30         dev-qt/qtsvg:5
31         dev-qt/qtwidgets:5
32         dev-qt/qtxml:5
33         media-libs/alsa-lib
34         media-libs/dssi
35         media-libs/ladspa-sdk
36         media-libs/liblrdf
37         media-libs/libsamplerate
38         media-libs/libsndfile
39         media-libs/rubberband
40         media-libs/speex
41         media-libs/vamp-plugin-sdk
42         sci-libs/fftw:3.0=
43         id3tag? ( media-libs/libid3tag )
44         jack? ( virtual/jack )
45         mad? ( media-libs/libmad )
46         ogg? (
47                 media-libs/libfishsound
48                 media-libs/liboggz
49         )
50         opus? ( media-libs/opusfile )
51         osc? ( media-libs/liblo )
52         portaudio? ( >=media-libs/portaudio-19 )
53         pulseaudio? ( media-sound/pulseaudio )
54 "
55 DEPEND="${RDEPEND}"
56
57 REQUIRED_USE="|| ( jack pulseaudio portaudio )"
58
59 PATCHES=(
60         "${FILESDIR}/${P}-notest.patch"
61         "${FILESDIR}/${P}-qt-deprecated.patch"
62 )
63
64 sv_disable_opt() {
65         einfo "Disabling $1"
66         for i in . svapp svcore svgui ; do
67                 sed -i -e "/$1/d" "${S}/$i/configure.ac" || die "failed to remove $1 support"
68         done
69 }
70
71 src_prepare() {
72         default
73
74         use id3tag || sv_disable_opt id3tag
75         use jack || sv_disable_opt jack
76         use mad || sv_disable_opt mad
77         use ogg || sv_disable_opt fishsound
78         use ogg || sv_disable_opt oggz
79         use opus || sv_disable_opt opus
80         use osc || sv_disable_opt liblo
81         use portaudio || sv_disable_opt portaudio
82         use pulseaudio || sv_disable_opt libpulse
83
84         # capnproto 0.7 requires c++14 now
85         sed -e 's/AX_CXX_COMPILE_STDCXX_11/AX_CXX_COMPILE_STDCXX_14/g' \
86                 -i configure.ac \
87                 -i */configure.ac \
88                 || die
89
90         eautoreconf
91 }
92
93 src_configure() {
94         export QMAKE="$(qt5_get_bindir)"/qmake
95         econf
96         eqmake5 -r sonic-visualiser.pro
97         sed -e 's/std=gnu++11/std=gnu++14/g' \
98                 -i Makefile.* \
99                 -i checker/Makefile.* \
100                 || die
101 }
102
103 src_test() {
104         for i in test-svcore-base test-svcore-data-fileio test-svcore-data-model test-svcore-system ; do
105                 einfo "Running ${i}"
106                 HOME="${T}" ./${i} || die
107         done
108 }
109
110 src_install() {
111         dobin ${PN} piper-vamp-simple-server piper-convert vamp-plugin-load-checker
112         dodoc README*
113
114         #install samples
115         insinto /usr/share/${PN}/samples
116         doins samples/*
117
118         # desktop entry
119         doicon icons/sv-icon.svg
120         domenu sonic-visualiser.desktop
121
122         # mime types
123         insinto /usr/share/mime/packages
124         doins "${FILESDIR}/${PN}.xml"
125 }