summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2019-04-29 18:04:44 +0200
committerLars Wendler <polynomial-c@gentoo.org>2019-04-29 18:06:18 +0200
commit278f521120794ec54f3828f4ad20a3487d50202c (patch)
tree0530cae678f4e17d85395fa196eb47ee28033b6f /media-sound/umurmur
parentdev-python/pandas: remove old (diff)
downloadgentoo-278f521120794ec54f3828f4ad20a3487d50202c.tar.gz
gentoo-278f521120794ec54f3828f4ad20a3487d50202c.tar.bz2
gentoo-278f521120794ec54f3828f4ad20a3487d50202c.zip
media-sound/umurmur: Added live ebuild with mbedtls support.
Bug: https://bugs.gentoo.org/647656 Package-Manager: Portage-2.3.65, Repoman-2.3.12 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'media-sound/umurmur')
-rw-r--r--media-sound/umurmur/metadata.xml1
-rw-r--r--media-sound/umurmur/umurmur-9999.ebuild114
2 files changed, 115 insertions, 0 deletions
diff --git a/media-sound/umurmur/metadata.xml b/media-sound/umurmur/metadata.xml
index adb73f1fed5d..e7684f6b35d1 100644
--- a/media-sound/umurmur/metadata.xml
+++ b/media-sound/umurmur/metadata.xml
@@ -11,6 +11,7 @@
of Mumble is called Murmur, hence the name uMurmur.
</longdescription>
<use>
+ <flag name="mbedtls">Use <pkg>net-libs/mbedtls</pkg> as TLS provider</flag>
<flag name="shm">Enable shared memory support</flag>
</use>
<upstream>
diff --git a/media-sound/umurmur/umurmur-9999.ebuild b/media-sound/umurmur/umurmur-9999.ebuild
new file mode 100644
index 000000000000..cf1ac28351f5
--- /dev/null
+++ b/media-sound/umurmur/umurmur-9999.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools systemd readme.gentoo-r1 user
+
+DESCRIPTION="Minimalistic Murmur (Mumble server)"
+HOMEPAGE="https://github.com/umurmur/umurmur"
+if [[ "${PV}" == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/umurmur/umurmur.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/${PV/_}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+fi
+LICENSE="BSD"
+SLOT="0"
+IUSE="gnutls libressl mbedtls shm"
+
+# ssl-provider precendence: gnutls, mbedtls, libressl
+# and openssl if none specified
+DEPEND=">=dev-libs/protobuf-c-1.0.0_rc2
+ dev-libs/libconfig
+ gnutls? ( >=net-libs/gnutls-3.0.0 )
+ !gnutls? (
+ mbedtls? ( net-libs/mbedtls )
+ !mbedtls? (
+ libressl? ( dev-libs/libressl:0= )
+ !libressl? ( dev-libs/openssl:0= )
+ )
+ )
+"
+
+RDEPEND="${DEPEND}"
+
+DOC_CONTENTS="
+ A configuration file has been installed at /etc/umurmur/umurmur.conf - you
+ may want to review it. See also\n
+ https://github.com/umurmur/umurmur/wiki/Configuration "
+
+S="${WORKDIR}/${P/_}"
+
+get_ssl_impl() {
+ local ssl_provider=()
+
+ use gnutls && ssl_provider+=( gnutls )
+ use mbedtls && ssl_provider+=( mbedtls )
+ use libressl && ssl_provider+=( libressl )
+
+ if ! use gnutls && ! use mbedtls && ! use libressl ; then
+ ssl_provider+=( openssl )
+ fi
+ echo ${ssl_provider[@]}
+}
+
+pkg_pretend() {
+ local ssl_provider=( $(get_ssl_impl) )
+
+ if [[ ${#ssl_provider[@]} -gt 1 ]] ; then
+ ewarn "More than one ssl provider selected (${ssl_provider[@]})"
+ ewarn "defaulting to ${ssl_provider[0]}."
+ fi
+}
+
+pkg_setup() {
+ enewgroup murmur
+ enewuser murmur "" "" "" murmur
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local ssl_provider=( $(get_ssl_impl) )
+
+ local myeconfargs=(
+ --with-ssl="${ssl_provider[@]}"
+ $(use_enable shm shmapi)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ local confdir
+
+ emake DESTDIR="${D}" install
+
+ newinitd "${FILESDIR}"/umurmurd.initd umurmurd
+ newconfd "${FILESDIR}"/umurmurd.confd umurmurd
+ systemd_dounit "${FILESDIR}"/umurmurd.service
+
+ dodoc AUTHORS ChangeLog
+ newdoc README.md README
+
+ confdir="/etc/umurmur"
+ insinto "${confdir}"
+ doins "${FILESDIR}"/umurmur.conf
+
+ # Some permissions are adjusted as the config may contain a server
+ # password, and /etc/umurmur will typically contain the cert and the
+ # key used to sign it, which are read after priveleges are dropped.
+ fperms 0750 "${confdir}"
+ fowners -R root:murmur "${confdir}"
+ fperms 0640 "${confdir}"/umurmur.conf
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}