summaryrefslogtreecommitdiff
path: root/media-sound/mumble/mumble-scm.ebuild
blob: 4746fc75c97bc23ac268da0fbad29e12cb99ad8f (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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-sound/mumble/mumble-1.2.5.ebuild,v 1.3 2014/02/15 21:28:10 ago Exp $

EAPI="6"

QT_MINIMAL="5"

inherit eutils toolchain-funcs flag-o-matic libtool git-r3 qmake-utils

#MY_P="${PN}-${PV/_/~}"

DESCRIPTION="Mumble is an open source, low-latency, high quality voice chat software"
HOMEPAGE="http://mumble.sourceforge.net/"
SRC_URI=""

EGIT_REPO_URI="https://github.com/mumble-voip/mumble.git"


LICENSE="BSD MIT"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="+alsa +dbus debug g15 libressl oss pch portaudio pulseaudio speech zeroconf -plugins -overlay"

RDEPEND=">=dev-libs/boost-1.41.0
	!libressl? ( dev-libs/openssl:0[static-libs(+)?] )
	libressl? ( dev-libs/libressl[static-libs(+)?] )
	>=dev-libs/protobuf-2.2.0
	>=media-libs/libsndfile-1.0.20[-minimal]
	>=media-libs/opus-1.0.1
	>=media-libs/speex-1.2_rc1
	sys-apps/lsb-release
	>=media-libs/speexdsp-1.2_rc1
	x11-libs/libX11
	x11-libs/libXi
	dev-qt/qtcore:5
	dev-qt/qtgui:5
	dev-qt/qtopengl:5
	dev-qt/qtsql:5
	dev-qt/qtsvg:5
	dev-qt/qtxmlpatterns:5
	dev-qt/linguist-tools:5
	x11-proto/inputproto
	alsa? ( media-libs/alsa-lib )
	dbus? ( dev-qt/qtdbus:5 )
	g15? ( app-misc/g15daemon )
	portaudio? ( media-libs/portaudio )
	pulseaudio? ( media-sound/pulseaudio )
	speech? ( app-accessibility/speech-dispatcher )
	zeroconf? ( net-dns/avahi[mdnsresponder-compat] )"
DEPEND="${RDEPEND}
	virtual/pkgconfig"

PATCHES=(
	"${FILESDIR}"/gcc.patch
	"${FILESDIR}"/tls12_strong_ciphers.patch
	"${FILESDIR}"/higher_opus_complexity.patch
	"${FILESDIR}"/allow_higher_bitrate_and_frame_size.patch
	"${FILESDIR}"/pinger_fix.patch
)

#S="${WORKDIR}/${MY_P}"

src_unpack() {
	git-r3_src_unpack
}

src_configure() {
	local conf_add

	if has_version '<=sys-devel/gcc-4.2'; then
		conf_add="${conf_add} no-pch"
	else
		use pch || conf_add="${conf_add} no-pch"
	fi

	use alsa || conf_add="${conf_add} no-alsa"
	use dbus || conf_add="${conf_add} no-dbus"
	use debug && conf_add="${conf_add} symbols debug" || conf_add="${conf_add} release"
	use g15 || conf_add="${conf_add} no-g15"
	use oss || conf_add="${conf_add} no-oss"
	use portaudio || conf_add="${conf_add} no-portaudio"
	use pulseaudio || conf_add="${conf_add} no-pulseaudio"
	use speech || conf_add="${conf_add} no-speechd"
	use zeroconf || conf_add="${conf_add} no-bonjour"
	use plugins || conf_add="${conf_add} no-plugins"
	use overlay || conf_add="${conf_add} no-overlay"

	eqmake5 "${WORKDIR}/mumble-scm/main.pro" -recursive \
		CONFIG+="${conf_add} \
			bundled-celt \
			no-bundled-opus \
			no-bundled-speex \
			no-embed-qt-translations \
			no-server \
			no-warnings-as-errors \
			no-update \
			c++11" \
		DEFINES+="PLUGIN_PATH=/usr/$(get_libdir)/mumble"
}

src_compile() {
	# parallel make workaround, bug #445960
	emake
}

src_install() {
	newdoc README.Linux README
	dodoc CHANGES

	local dir
	if use debug; then
		dir=debug
	else
		dir=release
	fi

	dobin "${dir}"/mumble
	dobin scripts/mumble-overlay

	insinto /usr/share/services
	doins scripts/mumble.protocol

	domenu scripts/mumble.desktop

	insinto /usr/share/icons/hicolor/scalable/apps
	doins icons/mumble.svg

	doman man/mumble-overlay.1
	doman man/mumble.1

	insopts -o root -g root -m 0755
	insinto "/usr/$(get_libdir)/mumble"
	#doins "${dir}"/libmumble.so*
	#dosym libmumble.so.1.2.5 /usr/$(get_libdir)/mumble/libmumble.so.1
	#doins "${dir}"/libcelt0.so.0.{7,11}.0
	use plugins && doins "${dir}"/plugins/lib*.so*
}