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