media-sound/alsa-utils: arm64 stable (bug #720810)
[gentoo.git] / media-sound / umurmur / umurmur-9999.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 autotools systemd readme.gentoo-r1
7
8 DESCRIPTION="Minimalistic Murmur (Mumble server)"
9 HOMEPAGE="https://github.com/umurmur/umurmur"
10 if [[ "${PV}" == 9999 ]] ; then
11         inherit git-r3
12         EGIT_REPO_URI="https://github.com/umurmur/umurmur.git"
13 else
14         SRC_URI="https://github.com/${PN}/${PN}/archive/${PV/_}.tar.gz -> ${P}.tar.gz"
15         KEYWORDS="~amd64 ~arm ~x86"
16 fi
17 LICENSE="BSD"
18 SLOT="0"
19 IUSE="gnutls libressl mbedtls shm"
20
21 # ssl-provider precendence: gnutls, mbedtls, libressl
22 # and openssl if none specified
23 DEPEND=">=dev-libs/protobuf-c-1.0.0_rc2
24         dev-libs/libconfig
25         gnutls? (
26                 dev-libs/nettle:=
27                 >=net-libs/gnutls-3.0.0
28         )
29         !gnutls? (
30                 mbedtls? ( net-libs/mbedtls:= )
31                 !mbedtls? (
32                         libressl? ( dev-libs/libressl:0= )
33                         !libressl? ( dev-libs/openssl:0= )
34                 )
35         )
36 "
37
38 RDEPEND="${DEPEND}
39         acct-group/murmur
40         acct-user/murmur
41 "
42
43 DOC_CONTENTS="
44         A configuration file has been installed at /etc/umurmur/umurmur.conf - you
45         may     want to review it. See also\n
46         https://github.com/umurmur/umurmur/wiki/Configuration "
47
48 S="${WORKDIR}/${P/_}"
49
50 get_ssl_impl() {
51         local ssl_provider=()
52
53         use gnutls && ssl_provider+=( gnutls )
54         use mbedtls && ssl_provider+=( mbedtls )
55         use libressl && ssl_provider+=( libressl )
56
57         if ! use gnutls && ! use mbedtls && ! use libressl ; then
58                 ssl_provider+=( openssl )
59         fi
60         echo ${ssl_provider[@]}
61 }
62
63 pkg_pretend() {
64         local ssl_provider=( $(get_ssl_impl) )
65
66         if [[ ${#ssl_provider[@]} -gt 1 ]] ; then
67                 ewarn "More than one ssl provider selected (${ssl_provider[@]})"
68                 ewarn "defaulting to ${ssl_provider[0]}."
69         fi
70 }
71
72 src_prepare() {
73         default
74         eautoreconf
75 }
76
77 src_configure() {
78         local ssl_provider=( $(sed 's@libressl@openssl@' <<< $(get_ssl_impl)) )
79
80         local myeconfargs=(
81                 --with-ssl="${ssl_provider[@]}"
82                 $(use_enable shm shmapi)
83         )
84         econf "${myeconfargs[@]}"
85 }
86
87 src_install() {
88         local confdir
89
90         emake DESTDIR="${D}" install
91
92         newinitd "${FILESDIR}"/umurmurd.initd umurmurd
93         newconfd "${FILESDIR}"/umurmurd.confd umurmurd
94         systemd_dounit "${FILESDIR}"/umurmurd.service
95
96         dodoc AUTHORS ChangeLog
97         newdoc README.md README
98
99         confdir="/etc/umurmur"
100         insinto "${confdir}"
101         doins "${FILESDIR}"/umurmur.conf
102
103         # Some permissions are adjusted as the config may contain a server
104         # password, and /etc/umurmur will typically contain the cert and the
105         # key used to sign it, which are read after priveleges are dropped.
106         fperms 0750 "${confdir}"
107         fowners -R root:murmur "${confdir}"
108         fperms 0640 "${confdir}"/umurmur.conf
109
110         readme.gentoo_create_doc
111 }
112
113 pkg_postinst() {
114         readme.gentoo_print_elog
115 }