media-sound/lyvi: Remove last-rited pkg
[gentoo.git] / media-sound / murmur / murmur-1.3.1_rc1.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 inherit qmake-utils systemd readme.gentoo-r1
7
8 DESCRIPTION="Mumble is an open source, low-latency, high quality voice chat software"
9 HOMEPAGE="https://wiki.mumble.info"
10 if [[ "${PV}" == 9999 ]] ; then
11         inherit git-r3
12         EGIT_REPO_URI="https://github.com/mumble-voip/mumble.git"
13         EGIT_SUBMODULES=( '-*' )
14 else
15         MY_PN="mumble"
16         if [[ "${PV}" == *_pre* ]] ; then
17                 MY_P="${MY_PN}-${PV}"
18                 SRC_URI="https://dev.gentoo.org/~polynomial-c/dist/${MY_P}.tar.xz"
19                 S="${WORKDIR}/${MY_P}"
20         else
21                 MY_PV="${PV/_/-}"
22                 MY_P="${MY_PN}-${MY_PV}"
23                 SRC_URI="https://github.com/mumble-voip/mumble/releases/download/${MY_PV}/${MY_P}.tar.gz
24                         https://dl.mumble.info/${MY_P}.tar.gz"
25                 S="${WORKDIR}/${MY_PN}-${PV/_*}"
26         fi
27         KEYWORDS="~amd64 ~arm ~x86"
28 fi
29
30 LICENSE="BSD"
31 SLOT="0"
32 IUSE="+dbus debug +ice pch zeroconf"
33
34 RDEPEND="
35         acct-group/murmur
36         acct-user/murmur
37         >=dev-libs/openssl-1.0.0b:0=
38         >=dev-libs/protobuf-2.2.0:=
39         dev-qt/qtcore:5
40         dev-qt/qtnetwork:5
41         || (
42                 dev-qt/qtsql:5[sqlite]
43                 dev-qt/qtsql:5[mysql]
44         )
45         dev-qt/qtxml:5
46         sys-apps/lsb-release
47         >=sys-libs/libcap-2.15
48         dbus? ( dev-qt/qtdbus:5 )
49         ice? ( dev-libs/Ice:= )
50         zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
51 "
52
53 DEPEND="${RDEPEND}
54         >=dev-libs/boost-1.41.0
55 "
56 BDEPEND="
57         acct-group/murmur
58         acct-user/murmur
59         virtual/pkgconfig
60 "
61
62 if [[ "${PV}" == *9999 ]] ; then
63         # Required for the mkini.sh script which calls perl multiple times
64         BDEPEND+="
65                 dev-lang/perl
66         "
67 fi
68
69 DOC_CONTENTS="
70         Useful scripts are located in /usr/share/doc/${PF}/scripts.\n
71         Please execute:\n
72         murmurd -ini /etc/murmur/murmur.ini -supw <pw>\n
73         chown murmur:murmur /var/lib/murmur/murmur.sqlite\n
74         to set the build-in 'SuperUser' password before starting murmur.
75         Please restart dbus before starting murmur, or else dbus
76         registration will fail.
77 "
78
79 src_prepare() {
80         default
81
82         if [[ "${PV}" == *9999 ]] ; then
83                 pushd scripts &>/dev/null || die
84                 ./mkini.sh || die
85                 popd &>/dev/null || die
86         fi
87
88         sed \
89                 -e 's:mumble-server:murmur:g' \
90                 -e 's:/var/run:/run:g' \
91                 -i "${S}"/scripts/murmur.{conf,ini.system} || die
92
93         # Adjust systemd service file to our config location #689208
94         sed "s@/etc/${PN}\.ini@/etc/${PN}/${PN}.ini@" \
95                 -i scripts/${PN}.service || die
96 }
97
98 src_configure() {
99         myuse() {
100                 [[ -n "${1}" ]] || die "myconf: No use flag given."
101                 use ${1} || echo "no-${1}"
102         }
103         local conf_add=(
104                 no-client
105                 $(myuse dbus)
106                 $(usex debug 'symbols debug' release)
107                 $(myuse ice)
108                 $(myuse pch)
109                 $(usex zeroconf '' no-bonjour)
110         )
111
112         eqmake5 main.pro -recursive \
113                 CONFIG+="${conf_add[*]}"
114 }
115
116 src_install() {
117         dodoc README CHANGES
118
119         docinto scripts
120         dodoc -r scripts/server
121         docompress -x /usr/share/doc/${PF}/scripts
122
123         local dir="$(usex debug debug release)"
124         dobin "${dir}"/murmurd
125
126         local etcdir="/etc/murmur"
127         insinto ${etcdir}
128         newins scripts/${PN}.ini.system ${PN}.ini
129
130         insinto /etc/logrotate.d/
131         newins "${FILESDIR}"/murmur.logrotate murmur
132
133         insinto /etc/dbus-1/system.d/
134         doins scripts/murmur.conf
135
136         insinto /usr/share/murmur/
137         doins src/murmur/Murmur.ice
138
139         newinitd "${FILESDIR}"/murmur.initd-r1 murmur
140         newconfd "${FILESDIR}"/murmur.confd murmur
141
142         systemd_dounit scripts/${PN}.service
143         systemd_newtmpfilesd "${FILESDIR}"/murmurd-dbus.tmpfiles "${PN}".conf
144
145         keepdir /var/lib/murmur /var/log/murmur
146         fowners -R murmur /var/lib/murmur /var/log/murmur
147         fperms 750 /var/lib/murmur /var/log/murmur
148
149         # Fix permissions on config file as it might contain passwords.
150         # (bug #559362)
151         fowners root:murmur ${etcdir}/murmur.ini
152         fperms 640 ${etcdir}/murmur.ini
153
154         doman man/murmurd.1
155
156         readme.gentoo_create_doc
157 }
158
159 pkg_postinst() {
160         readme.gentoo_print_elog
161 }