From nobody Mon Jan 22 19:07:09 2024 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TJfq13wQfz581kW; Mon, 22 Jan 2024 19:07:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TJfq13DyGz41D1; Mon, 22 Jan 2024 19:07:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705950429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ufeqHvrntzm0ihfYT+Q0Zo9whelsZfoyQte0eAGjjq0=; b=aXA46zySvajH81YqfGpo65MBch/9SVsnPKYgyE0y2d03+XcWZBvm/N1YtJvnLre98iPCr6 FYMj2+nDKCeoDAm71jSud7j4Dx22XMCth5RMCh77SaVWvG4XFnw/ZBtRpnJtOggD+6hYkl xo8JTYoAI1FMnhUYqNRdBxt6lJh4ekQS/Uy9KMQoWVy2p/ocjsmdUhRtGXKP7VyFgxEVmE K4jYCVLJKO5gcHI+XWIBe2ykq1TahYz7Hlhdon8l5jPTqIGj09d2fOW7WWrmkfPrVnqqzf WvzcTTdrtU7nrvEAIfuraHGaz8s0li3sVNBUQNlZc+rmoWoC3tTfv4Ph8p0j0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705950429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ufeqHvrntzm0ihfYT+Q0Zo9whelsZfoyQte0eAGjjq0=; b=w6lCOeB5o3HzGV5HXLcy0b/7VGzphzK2/qn3lcgnrP+/G8RL6wZPAIftlDn5HuwX/4x3cW ebYGynBc7dVhKUzIj6AbbDBP1SA0N0J9r9PRzXL/NJi7z/lzNqe28nJH5TplX1s3tGkFTY XrBAJWxNujtNKoLOTk3g9dLnr7s+kN7ayoIAiEQUbVq+WxoqlUvKozP+7JgkWIujNiotuy 8zOloPju8WXsbf/7GWB7J4we+eQR++n0ZI7xkiBJyBFTQMTVzyCBNvRd2KpSyACGCMIhXA h8fHRpav+mHSl3bz3WTBreWvdLB4scnK9jDZc1PfxrxE8acj9fZrx+ZB0YCJnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1705950429; a=rsa-sha256; cv=none; b=dEK2qdra1pgzu0nu62XH69uxQyqKX604rPMI1b5LbAxvBQO71OuidT8IJ7Z1LD9LbotB5V UVS/VKktiq/PuO6ohde+ccbahgyDWlWPIfqghlNrqFqcW4wiu2Fb+jk7MkXlLTOAXjiGeW CCN1ac9H5yrzv/EMwtJvpsKgq3xOoRaIUD8w9u6DBxz/eWGzofEBNDFpp6aQ2H6hS1Yw2U Cf2scS8kHhUAiQXsT2wOcXTsDwlLkHVU8iQ/AH1sLCoreBO1qgBqfj5dLG1Lx41kf7g3dY DE/mSkenjwrMEj6G+hQYgSyZSqMqIiKBlyhodTuOT6wdtEh2Q6Cs1q+Pk58KcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TJfq12HhJz1CxZ; Mon, 22 Jan 2024 19:07:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40MJ79Rm077985; Mon, 22 Jan 2024 19:07:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40MJ79Ol077983; Mon, 22 Jan 2024 19:07:09 GMT (envelope-from git) Date: Mon, 22 Jan 2024 19:07:09 GMT Message-Id: <202401221907.40MJ79Ol077983@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Vladimir Druzenko Subject: git: 77aa89de8608 - main - audio/mumble-server: bootstrap from audio/murmur List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vvd X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 77aa89de8608583ed22a4b54d54559b4d363ea03 Auto-Submitted: auto-generated The branch main has been updated by vvd: URL: https://cgit.FreeBSD.org/ports/commit/?id=77aa89de8608583ed22a4b54d54559b4d363ea03 commit 77aa89de8608583ed22a4b54d54559b4d363ea03 Author: Vladimir Druzenko AuthorDate: 2024-01-22 13:14:47 +0000 Commit: Vladimir Druzenko CommitDate: 2024-01-22 18:57:05 +0000 audio/mumble-server: bootstrap from audio/murmur Copy audio/murmur unchanged except for the rename rc.d script from murmur.in to mumble_server.in. This aids diffing to the previous version. PR: 261395 Approved by: arrowd (mentor) Differential Revision: https://reviews.freebsd.org/D41048 --- audio/mumble-server/Makefile | 85 ++++++++++++++++++++++ audio/mumble-server/distinfo | 3 + audio/mumble-server/files/mumble_server.in | 41 +++++++++++ audio/mumble-server/files/patch-initialize-SSL | 34 +++++++++ audio/mumble-server/files/patch-scripts_murmur.ini | 18 +++++ .../files/patch-src_SelfSignedCertificate.cpp | 15 ++++ audio/mumble-server/pkg-descr | 2 + audio/mumble-server/pkg-plist | 7 ++ 8 files changed, 205 insertions(+) diff --git a/audio/mumble-server/Makefile b/audio/mumble-server/Makefile new file mode 100644 index 000000000000..ebb2fb8584ef --- /dev/null +++ b/audio/mumble-server/Makefile @@ -0,0 +1,85 @@ +PORTNAME= murmur +PORTVERSION= 1.3.4 +CATEGORIES= audio net + +MAINTAINER= vvd@FreeBSD.org +COMMENT= Server component of Mumble +WWW= https://www.mumble.info/ + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${LOCALBASE}/include/boost/function.hpp:devel/boost-libs +LIB_DEPENDS= libabsl_base.so:devel/abseil \ + libprotobuf.so:devel/protobuf + +USES= compiler:c++11-lang qmake pkgconfig python:build qt:5 ssl +BROKEN_SSL= openssl openssl31 +BROKEN_SSL_REASON= Requires OpenSSL 3.0.0 deprecated CRYPTO_MEM_CHECK_ON +USE_CXXSTD= c++11 +USE_QT= buildtools:build core network sql xml + +USE_GITHUB= YES +GH_ACCOUNT= mumble-voip +GH_PROJECT= mumble + +CONFIG= no-client +QMAKE_ARGS= "CONFIG+=${CONFIG}" +QMAKE_ENV+= "MUMBLE_PYTHON=${PYTHON_CMD}" + +USE_RC_SUBR= murmur +SUB_LIST+= USERS="${USERS}" GROUPS="${GROUPS}" + +OPTIONS_DEFINE= BONJOUR DBUS DOCS ICE +OPTIONS_DEFAULT= BONJOUR MYSQL SQLITE +OPTIONS_MULTI= SQL +OPTIONS_MULTI_SQL= MYSQL SQLITE + +BONJOUR_DESC= Bonjour Support +BONJOUR_VARS_OFF= CONFIG+=no-bonjour +BONJOUR_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder + +DBUS_VARS_OFF= CONFIG+=no-dbus +DBUS_USE= QT=dbus + +ICE_DESC= Ice Support +ICE_VARS_OFF= CONFIG+=no-ice +ICE_LIB_DEPENDS= libIce.so:devel/ice + +MYSQL_VARS_OFF= CONFIG+=no-sql-mysql +MYSQL_USE= QT=sql-mysql + +SQLITE_VARS_OFF= CONFIG+=no-sqlite3_run +SQLITE_USE= QT=sql-sqlite3:run + +USERS= murmur +GROUPS= murmur + +.include +# PCH is broken on GCC +.if ${CHOSEN_COMPILER_TYPE} == gcc +CONFIG+= no-pch +.endif + +post-patch: + @${REINPLACE_CMD} -e 's|--no-add-needed|--no-copy-dt-needed-entries|' ${WRKSRC}/qmake/compiler.pri + @${ECHO_CMD} 'QMAKE_LFLAGS += -fstack-protector' >> ${WRKSRC}/src/murmur/murmur.pro + +pre-install: + ${SED} -i '' -e 's|database=.*|database=/var/db/murmur/murmur.sqlite|' ${WRKSRC}/scripts/murmur.ini + ${SED} -i '' -e 's|#pidfile=.*|pidfile=/var/run/murmur/murmur.pid|' ${WRKSRC}/scripts/murmur.ini + ${SED} -i '' -e 's|#logfile=.*|logfile=/var/log/murmur/murmur.log|' ${WRKSRC}/scripts/murmur.ini + ${SED} -i '' -e 's|#host=.*|host=0.0.0.0|' ${WRKSRC}/scripts/murmur.ini + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/release/murmurd ${STAGEDIR}${PREFIX}/sbin + ${INSTALL_DATA} ${WRKSRC}/scripts/murmur.ini ${STAGEDIR}${PREFIX}/etc/murmur.ini.sample + ${CP} ${WRKSRC}/man/murmurd.1 ${STAGEDIR}${PREFIX}/share/man/man1 + +do-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} +.for f in CHANGES INSTALL README README.Linux + ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR} +.endfor + +.include diff --git a/audio/mumble-server/distinfo b/audio/mumble-server/distinfo new file mode 100644 index 000000000000..b5c6420567b2 --- /dev/null +++ b/audio/mumble-server/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1705575971 +SHA256 (mumble-voip-mumble-1.3.4_GH0.tar.gz) = a692840423ddbd00ecca1ce174e4279c753acf58278579f603e56b644eae6f8e +SIZE (mumble-voip-mumble-1.3.4_GH0.tar.gz) = 4896282 diff --git a/audio/mumble-server/files/mumble_server.in b/audio/mumble-server/files/mumble_server.in new file mode 100644 index 000000000000..9767d41513e7 --- /dev/null +++ b/audio/mumble-server/files/mumble_server.in @@ -0,0 +1,41 @@ +#!/bin/sh + +# PROVIDE: murmur +# REQUIRE: DAEMON +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# murmur_enable (bool): Set to NO by default. +# Set it to YES to enable murmur. +# murmur_flags (str): Set to "" by default. +# Extra flags passed to start command. +# + +. /etc/rc.subr + +name=murmur +rcvar=murmur_enable +load_rc_config $name + +# Set some defaults +: ${murmur_enable:=NO} +: ${murmur_user=%%USERS%%} + +command="%%PREFIX%%/sbin/murmurd" +command_args="-ini %%PREFIX%%/etc/murmur.ini" +pidfile=/var/run/murmur/murmur.pid +start_precmd=murmur_prestart +extra_commands="reload" +sig_reload="USR1" + +murmur_prestart() { + for i in /var/log/murmur /var/run/murmur /var/db/murmur; do + if [ ! -d ${i} ]; then + install -d -o %%USERS%% -g %%GROUPS%% ${i} + fi + done +} + +run_rc_command "$1" diff --git a/audio/mumble-server/files/patch-initialize-SSL b/audio/mumble-server/files/patch-initialize-SSL new file mode 100644 index 000000000000..00687b8ebed3 --- /dev/null +++ b/audio/mumble-server/files/patch-initialize-SSL @@ -0,0 +1,34 @@ +Description: the SSL library must be initialized, otherwise mumble and + mumble-server both fail to find the available ciphers after a rebuild + with openssl_1.0.2d-3. The two calls used are based on: + https://wiki.openssl.org/index.php/SSL/TLS_Client#Initialization +Author: Colomban Wendling + Christohper Knadle +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=804363 +Bug-Mumble: https://github.com/mumble-voip/mumble/issues/1876 +Last-Updated: 2015-11-10 + +--- src/mumble/main.cpp.orig 2019-08-30 01:01:56 UTC ++++ src/mumble/main.cpp +@@ -132,6 +132,9 @@ int main(int argc, char **argv) { + + os_init(); + ++ SSL_library_init(); ++ SSL_load_error_strings(); ++ + bool bAllowMultiple = false; + bool suppressIdentity = false; + bool customJackClientName = false; +--- src/murmur/main.cpp.orig 2019-08-30 01:01:56 UTC ++++ src/murmur/main.cpp +@@ -205,6 +205,9 @@ int main(int argc, char **argv) { + QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); + #endif + ++ SSL_library_init(); ++ SSL_load_error_strings(); ++ + #ifdef Q_OS_WIN + // By default, windbus expects the path to dbus-daemon to be in PATH, and the path + // should contain bin\\, and the path to the config is hardcoded as ..\etc diff --git a/audio/mumble-server/files/patch-scripts_murmur.ini b/audio/mumble-server/files/patch-scripts_murmur.ini new file mode 100644 index 000000000000..af12a75bf106 --- /dev/null +++ b/audio/mumble-server/files/patch-scripts_murmur.ini @@ -0,0 +1,18 @@ +--- scripts/murmur.ini.orig 2020-09-04 21:33:39 UTC ++++ scripts/murmur.ini +@@ -93,13 +93,13 @@ icesecretwrite= + ; logs to the file 'murmur.log'. If you leave this field blank + ; on Unix-like systems, Murmur will force itself into foreground + ; mode which logs to the console. +-;logfile=murmur.log ++logfile=/var/log/murmur/murmur.log + + ; If set, Murmur will write its process ID to this file + ; when running in daemon mode (when the -fg flag is not + ; specified on the command line). Only available on + ; Unix-like systems. +-;pidfile= ++pidfile=/var/run/murmur/murmur.pid + + ; The below will be used as defaults for new configured servers. + ; If you're just running one server (the default), it's easier to diff --git a/audio/mumble-server/files/patch-src_SelfSignedCertificate.cpp b/audio/mumble-server/files/patch-src_SelfSignedCertificate.cpp new file mode 100644 index 000000000000..b5725633ae9d --- /dev/null +++ b/audio/mumble-server/files/patch-src_SelfSignedCertificate.cpp @@ -0,0 +1,15 @@ +--- src/SelfSignedCertificate.cpp.orig 2023-06-11 17:43:07 UTC ++++ src/SelfSignedCertificate.cpp +@@ -45,10 +45,12 @@ bool SelfSignedCertificate::generate(CertificateType c + QString commonName; + bool isServerCert = certificateType == CertificateTypeServerCertificate; + ++#ifdef CRYPTO_MEM_CHECK_ON + if (CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON) == -1) { + ok = false; + goto out; + } ++#endif + + x509 = X509_new(); + if (x509 == NULL) { diff --git a/audio/mumble-server/pkg-descr b/audio/mumble-server/pkg-descr new file mode 100644 index 000000000000..a9b0e073fe7d --- /dev/null +++ b/audio/mumble-server/pkg-descr @@ -0,0 +1,2 @@ +Murmur is the server component of Mumble, a low-latency, high quality +VoIP application. diff --git a/audio/mumble-server/pkg-plist b/audio/mumble-server/pkg-plist new file mode 100644 index 000000000000..ebea70067760 --- /dev/null +++ b/audio/mumble-server/pkg-plist @@ -0,0 +1,7 @@ +@sample etc/murmur.ini.sample +share/man/man1/murmurd.1.gz +sbin/murmurd +%%PORTDOCS%%%%DOCSDIR%%/CHANGES +%%PORTDOCS%%%%DOCSDIR%%/INSTALL +%%PORTDOCS%%%%DOCSDIR%%/README +%%PORTDOCS%%%%DOCSDIR%%/README.Linux