media-sound/teamspeak-server: drop old version
[gentoo.git] / media-sound / supercollider / supercollider-3.10.2.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 cmake readme.gentoo-r1 xdg-utils
7
8 DESCRIPTION="An environment and a programming language for real time audio synthesis."
9 HOMEPAGE="https://supercollider.github.io/"
10 SRC_URI="https://github.com/supercollider/supercollider/releases/download/Version-${PV}/SuperCollider-${PV}-Source-linux.tar.bz2"
11
12 LICENSE="GPL-2 gpl3? ( GPL-3 )"
13 SLOT="0"
14 KEYWORDS="~amd64 ~x86"
15 IUSE="cpu_flags_x86_sse cpu_flags_x86_sse2 debug emacs +fftw gedit +gpl3 jack qt5 server +sndfile static-libs vim X zeroconf"
16
17 REQUIRED_USE="qt5? ( X )"
18
19 BDEPEND="
20         virtual/pkgconfig
21         qt5? ( dev-qt/linguist-tools:5 )
22 "
23 RDEPEND="
24         dev-cpp/yaml-cpp:=
25         >=dev-libs/boost-1.70.0:=
26         media-libs/alsa-lib
27         sys-libs/readline:0=
28         virtual/libudev:=
29         fftw? ( sci-libs/fftw:3.0= )
30         jack? ( virtual/jack )
31         !jack? ( media-libs/portaudio )
32         qt5? (
33                 dev-qt/qtcore:5
34                 dev-qt/qtgui:5
35                 dev-qt/qtnetwork:5
36                 dev-qt/qtopengl:5
37                 dev-qt/qtprintsupport:5
38                 dev-qt/qtsql:5
39                 dev-qt/qtsvg:5
40                 dev-qt/qtwebchannel:5
41                 dev-qt/qtwebengine:5[widgets]
42                 dev-qt/qtwebsockets:5
43                 dev-qt/qtwidgets:5
44         )
45         server? ( !app-admin/supernova )
46         sndfile? ( media-libs/libsndfile )
47         X? (
48                 x11-libs/libX11
49                 x11-libs/libXt
50         )
51         zeroconf? ( net-dns/avahi )
52 "
53 DEPEND="${RDEPEND}
54         dev-libs/icu
55         emacs? ( >=app-editors/emacs-23.1:* )
56         gedit? ( app-editors/gedit )
57         qt5? (
58                 dev-qt/qtconcurrent:5
59                 dev-qt/qtdeclarative:5
60         )
61         vim? ( app-editors/vim )
62 "
63
64 PATCHES=(
65         "${FILESDIR}"/${P}-no-ccache.patch
66         "${FILESDIR}"/${P}-system-boost.patch
67         "${FILESDIR}"/${P}-boost-1.67.patch
68         "${FILESDIR}"/${P}-boost-1.70.patch
69 )
70
71 S="${WORKDIR}/SuperCollider-Source"
72
73 src_configure() {
74         local mycmakeargs=(
75                 -DINSTALL_HELP=ON
76                 -DSYSTEM_BOOST=ON
77                 -DSYSTEM_YAMLCPP=ON
78                 -DSSE=$(usex cpu_flags_x86_sse)
79                 -DSSE2=$(usex cpu_flags_x86_sse2)
80                 -DSC_EL=$(usex emacs)
81                 -DFFT_GREEN=$(usex !fftw)
82                 -DSC_ED=$(usex gedit)
83                 -DNO_GPL3=$(usex !gpl3)
84                 -DAUDIOAPI=$(usex jack jack portaudio)
85                 -DSC_IDE=$(usex qt5)
86                 -DSC_QT=$(usex qt5)
87                 -DSCLANG_SERVER=$(usex server)
88                 -DSUPERNOVA=$(usex server)
89                 -DNO_LIBSNDFILE=$(usex !sndfile)
90                 -DLIBSCSYNTH=$(usex !static-libs)
91                 -DSC_VIM=$(usex vim)
92                 -DNO_X11=$(usex !X)
93                 -DNO_AVAHI=$(usex !zeroconf)
94         )
95
96         use debug && mycmakeargs+=(
97                 -DSC_MEMORY_DEBUGGING=ON
98                 -DSN_MEMORY_DEBUGGING=ON
99                 -DGC_SANITYCHECK=ON
100         )
101
102         cmake_src_configure
103 }
104
105 src_install() {
106         cmake_src_install
107
108         use emacs && newdoc editors/scel/README.md README.emacs
109         use gedit && newdoc editors/sced/README.md README.gedit
110         use vim && newdoc editors/scvim/README.md README.vim
111 }
112
113 pkg_postinst() {
114         einfo "Notice: SuperCollider is not very intuitive to get up and running."
115         einfo "The best course of action to make sure that the installation was"
116         einfo "successful and get you started with using SuperCollider is to take"
117         einfo "a look through ${EROOT}/usr/share/doc/${PF}/README.md.bz2"
118
119         xdg_mimeinfo_database_update
120         xdg_desktop_database_update
121 }
122
123 pkg_postrm() {
124         xdg_mimeinfo_database_update
125         xdg_desktop_database_update
126 }