media-sound/zrythm/zrythm-1.0.0_beta371.ebuild (view raw)
1# Copyright 1999-2022 Gentoo Authors
2# Distributed under the terms of the GNU General Public License v2
3
4EAPI=8
5
6inherit meson xdg
7
8DESCRIPTION="highly automated and intuitive digital audio workstation"
9
10HOMEPAGE="https://www.zrythm.org"
11
12MY_PV="v1.0.0-beta.3.7.1"
13ZIX_PV="afc6ef7e54988fd68f33df21ec2a220e6bfc49f4"
14REPROC_PV="14.2.4"
15SRC_URI="
16 https://git.sr.ht/~alextee/${PN}/archive/${MY_PV}.tar.gz
17 https://gitlab.com/drobilla/zix/-/archive/${ZIX_PV}/zix-${ZIX_PV}.tar.gz
18 https://github.com/DaanDeMeyer/reproc/archive/refs/tags/v${REPROC_PV}.tar.gz -> reproc-${REPROC_PV}.tar.gz
19"
20
21S="${WORKDIR}/${PN}-${MY_PV}"
22
23LICENSE="AGPL-3+"
24
25SLOT="0"
26
27KEYWORDS="~amd64"
28
29IUSE="+X +alsa +bundled-plugins +carla +man +sdl
30 graphviz guile jack lsp-dsp opus pulse rtaudio rtmidi test valgrind"
31
32# TODO: handle tests
33RESTRICT="!test? ( test )"
34
35RDEPEND="
36 =gui-libs/libadwaita-1.2*
37 >=dev-libs/json-glib-1
38 >=dev-libs/libcyaml-1.2.0
39 >=dev-libs/serd-0.30.0
40 >=dev-libs/sord-0.14.0
41 >=gui-libs/gtk-4
42 >=gui-libs/gtksourceview-5
43 >=gui-libs/libpanel-1
44 >=media-libs/fontconfig-2.13.0
45 >=media-libs/graphene-1.0
46 >=media-libs/libaudec-0.3.2
47 >=media-libs/libsamplerate-0.1.8
48 >=media-libs/libsndfile-1.0.25
49 >=media-libs/lilv-0.24.6
50 >=media-libs/lv2-1.16.0
51 >=media-libs/sratom-0.4.0
52 >=sci-libs/fftw-3.3.5
53 >=x11-libs/pango-1.50
54 X? ( x11-libs/libX11 )
55 alsa? ( media-libs/alsa-lib )
56 app-arch/zstd
57 carla? ( media-sound/carla )
58 dev-libs/boost
59 dev-libs/glib
60 dev-libs/libpcre2
61 dev-libs/xxhash
62 graphviz? ( media-gfx/graphviz )
63 guile? ( dev-scheme/guile )
64 jack? ( virtual/jack )
65 kde-frameworks/breeze-icons
66 lsp-dsp? ( >=media-libs/lsp-dsp-lib-0.5.5 )
67 media-libs/chromaprint
68 media-libs/libepoxy
69 media-libs/rubberband
70 media-libs/vamp-plugin-sdk
71 net-misc/curl
72 opus? ( >=media-libs/libsndfile-1.0.29 )
73 pulse? ( media-libs/libpulse )
74 rtaudio? ( >=media-libs/rtaudio-5.1.0 )
75 rtmidi? ( >=media-libs/rtmidi-5.0.0 )
76 sdl? ( media-libs/libsdl2 )
77 sys-libs/libbacktrace
78 valgrind? ( dev-util/valgrind )
79"
80
81DEPEND="${RDEPEND}"
82
83BDEPEND="
84 virtual/pkgconfig
85 dev-util/meson
86 dev-lang/sassc
87"
88
89PATCHES=(
90 # this function is inside of ifdef, so it doesn't exist if HAVE_CARLA is
91 # not defined, but it's still used like it's there
92 "${FILESDIR}/${P}-carla-ifdef-function.patch"
93 # carla has libdir variable, not carla_libdir
94 "${FILESDIR}/${P}-carla-libdir.patch"
95 # zrythm requires unreleased carla, we don't have that in release
96 "${FILESDIR}/${P}-carla-plugin-clap.patch"
97 # what?
98 "${FILESDIR}/${P}-redundant-logical-or.patch"
99)
100
101src_unpack() {
102 default
103 mv "${WORKDIR}/zix-${ZIX_PV}" "${S}/subprojects/zix"
104 mv "${WORKDIR}/reproc-${REPROC_PV}" "${S}/subprojects/reproc"
105}
106
107src_configure() {
108 local emesonargs=(
109 -Db_lto=false
110 -Dcheck_updates=false
111 $(meson_feature X x11)
112 $(meson_feature alsa)
113 $(meson_feature carla)
114 $(meson_feature graphviz)
115 $(meson_feature guile)
116 $(meson_feature jack)
117 $(meson_feature lsp-dsp lsp_dsp)
118 $(meson_feature pulse)
119 $(meson_feature rtaudio)
120 $(meson_feature rtmidi)
121 $(meson_feature sdl)
122 $(meson_feature valgrind)
123 $(meson_use bundled-plugins bundled_plugins)
124 $(meson_use man manpage)
125 $(meson_use opus)
126 $(meson_use test tests)
127 )
128 meson_src_configure
129}
130
131src_install() {
132 meson_src_install --skip-subprojects zix,reproc
133}