commit:     278f521120794ec54f3828f4ad20a3487d50202c
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 29 16:04:44 2019 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon Apr 29 16:06:18 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=278f5211

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 <AT> gentoo.org>

 media-sound/umurmur/metadata.xml        |   1 +
 media-sound/umurmur/umurmur-9999.ebuild | 114 ++++++++++++++++++++++++++++++++
 2 files changed, 115 insertions(+)

diff --git a/media-sound/umurmur/metadata.xml b/media-sound/umurmur/metadata.xml
index adb73f1fed5..e7684f6b35d 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 00000000000..cf1ac28351f
--- /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
+}

Reply via email to