Use jack2-1.9.21-r1.ebuild from main gentoo portage tree as base for jackdbus-2.21...
[ladi-overlay.git] / media-sound / jack2 / jack2-1.9.21-r1.ebuild
blobfd26048dd6089f56ba9758543e7b5ed2cbce810f
1 # Copyright 1999-2023 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
4 EAPI=8
6 PYTHON_COMPAT=( python3_{9..11} )
7 PYTHON_REQ_USE="threads(+)"
8 inherit flag-o-matic python-single-r1 waf-utils multilib-minimal
10 if [[ ${PV} == 9999 ]]; then
11 inherit git-r3
12 EGIT_REPO_URI="https://github.com/jackaudio/${PN}.git"
13 else
14 SRC_URI="https://github.com/jackaudio/jack2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
15 KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
18 DESCRIPTION="Jackdmp jack implemention for multi-processor machine"
19 HOMEPAGE="https://jackaudio.org/"
21 LICENSE="GPL-2+ LGPL-2.1+"
22 SLOT="2"
23 IUSE="+alsa +classic dbus doc ieee1394 libsamplerate metadata opus pam +tools systemd"
24 REQUIRED_USE="
25 ${PYTHON_REQUIRED_USE}
26 || ( classic dbus )"
28 DEPEND="
29 alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
30 dbus? (
31 dev-libs/expat[${MULTILIB_USEDEP}]
32 sys-apps/dbus[${MULTILIB_USEDEP}]
34 libsamplerate? ( media-libs/libsamplerate[${MULTILIB_USEDEP}] )
35 ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] )
36 metadata? ( sys-libs/db:=[${MULTILIB_USEDEP}] )
37 opus? ( media-libs/opus[custom-modes,${MULTILIB_USEDEP}] )
38 systemd? ( classic? ( sys-apps/systemd:= ) )"
39 RDEPEND="
40 ${DEPEND}
41 dbus? (
42 ${PYTHON_DEPS}
43 $(python_gen_cond_dep '
44 dev-python/dbus-python[${PYTHON_USEDEP}]
47 pam? ( sys-auth/realtime-base )
48 !media-sound/jack-audio-connection-kit
49 !media-video/pipewire[jack-sdk(-)]"
50 BDEPEND="
51 ${PYTHON_DEPS}
52 virtual/pkgconfig
53 doc? ( app-doc/doxygen )"
54 # tools were formerly provided here, pull to maintain expectations
55 PDEPEND="tools? ( media-sound/jack-example-tools )"
57 DOCS=( AUTHORS.rst ChangeLog.rst README.rst README_NETJACK2 )
59 PATCHES=(
60 "${FILESDIR}"/${PN}-1.9.21-python3.11.patch
63 src_prepare() {
64 default
66 python_fix_shebang waf
67 multilib_copy_sources
70 multilib_src_configure() {
71 # clients crash if built with lto
72 # https://github.com/jackaudio/jack2/issues/485
73 filter-lto
75 local wafargs=(
76 --mandir="${EPREFIX}"/usr/share/man/man1 # override eclass' for man1
78 --alsa=$(usex alsa)
79 --celt=no
80 $(usev classic --classic)
81 --db=$(usex metadata)
82 $(usev dbus --dbus)
83 --doxygen=$(multilib_native_usex doc)
84 --firewire=$(usex ieee1394)
85 --iio=no
86 --opus=$(usex opus)
87 --portaudio=no
88 --samplerate=$(usex libsamplerate)
89 --systemd=$(multilib_native_usex systemd $(usex classic))
90 --winmme=no
92 # obsolete options, migrated to media-sound/jack-example-tools
93 # and will be removed entirely next version
94 --example-tools=no
95 --readline=no
96 --sndfile=no
97 --zalsa=no
100 waf-utils_src_configure "${wafargs[@]}"
103 multilib_src_compile() {
104 waf-utils_src_compile
107 multilib_src_install() {
108 waf-utils_src_install
111 multilib_src_install_all() {
112 use dbus && python_fix_shebang "${ED}"/usr/bin/jack_control