aboutsummaryrefslogtreecommitdiff
path: root/net-voip/jami-daemon/jami-daemon-0_pre20230113.ebuild
blob: a4cd6fdab9f49fcd63e1de9a28d0e01c1735744d (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
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit meson

COMMIT="3062351d377cc055a4bcc697ec4501a22d534229"
PJCOMMIT="eae25732568e600d248aa8c226271ff6b81df170"
DESCRIPTION="Daemon for the Jami VoIP software phone"
HOMEPAGE="https://jami.net"
SRC_URI="https://git.jami.net/savoirfairelinux/${PN}/-/archive/${COMMIT}.tar.bz2 -> ${P}.tar.bz2
	https://github.com/savoirfairelinux/pjproject/archive/${PJCOMMIT}.tar.gz -> pjproject-${PJCOMMIT}.tar.gz
"
S="${WORKDIR}/${PN}-${COMMIT}"

LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="alsa debug hwaccel jack natpmp plugins portaudio pulseaudio test trace upnp +video +webrtc"
# IUSE+="speex" # Compilation fails with speex enabled
REQUIRED_USE="hwaccel? ( video )"
RESTRICT="!test? ( test )"

RDEPEND="
	dev-cpp/yaml-cpp
	dev-libs/dbus-c++
	dev-libs/Ice
	dev-libs/libfmt
	dev-libs/jsoncpp
	dev-libs/libgit2
	dev-libs/libsecp256k1
	dev-libs/nettle
	dev-libs/opendht[api]
	dev-libs/openssl:=
	media-libs/speex
	media-libs/speexdsp
	media-video/ffmpeg:0/57.59.59
	net-libs/gnutls
	net-libs/pjproject
	sys-libs/zlib
	alsa? ( media-libs/alsa-lib )
	debug? ( sys-devel/gdb )
	jack? ( media-sound/jack2 )
	natpmp? ( net-libs/libnatpmp )
	plugins? ( app-arch/libarchive )
	portaudio? ( media-libs/portaudio )
	pulseaudio? ( media-libs/libpulse )
	upnp? ( net-libs/libupnp )
	test? ( dev-util/cppunit )
	trace? ( dev-util/lttng-ust )
	video? ( virtual/libudev )
	webrtc? ( media-libs/webrtc-audio-processing )
"
DEPEND="${RDEPEND}"

src_prepare() {
	default
	cp "${DISTDIR}/pjproject-${PJCOMMIT}.tar.gz" "${S}/contrib/tarballs" || die
	mkdir "${S}/contrib/native"
}

src_configure() {
	cd "${S}/contrib/native" || die
	../bootstrap --disable-downloads --disable-all --enable-pjproject || die
	emake DEPS_pjproject=

	emesonargs=(
		$(meson_feature alsa)
		$(meson_feature jack)
		$(meson_feature natpmp)
		$(meson_feature portaudio)
		$(meson_feature pulseaudio)
		# $(meson_feature speex speex_ap)
		$(meson_feature upnp)
		$(meson_feature webrtc webrtc_ap)
		$(meson_use debug)
		$(meson_use hwaccel hw_acceleration)
		$(meson_use plugins)
		$(meson_use test tests)
		$(meson_use trace tracepoints)
		$(meson_use video)
	)

	export PKG_CONFIG_PATH="${S}/contrib/$(cc -dumpmachine)/lib/pkgconfig"
	meson_src_configure
}

src_compile() {
	export PATH="${PATH}:${S}/contrib/$(cc -dumpmachine)/bin"
	export PKG_CONFIG_PATH="${S}/contrib/$(cc -dumpmachine)/lib/pkgconfig"
	meson_src_compile
}