Date: Mon, 28 Aug 2023 18:56:00 GMT From: Vladimir Druzenko <vvd@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 08c1696fb18e - main - audio/mumble: switch from USE_GITHUB to pre-rolled release and fix build on ARCHes other than x86 Message-ID: <202308281856.37SIu0ZO011000@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by vvd: URL: https://cgit.FreeBSD.org/ports/commit/?id=08c1696fb18eac0edbbdc884b5c346e9699c27cc commit 08c1696fb18eac0edbbdc884b5c346e9699c27cc Author: Vladimir Druzenko <vvd@FreeBSD.org> AuthorDate: 2023-08-28 18:41:13 +0000 Commit: Vladimir Druzenko <vvd@FreeBSD.org> CommitDate: 2023-08-28 18:41:13 +0000 audio/mumble: switch from USE_GITHUB to pre-rolled release and fix build on ARCHes other than x86 1. Switch from USE_GITHUB to pre-rolled release. 2. Use CMake to install the files instead of using custom do-install target. 3. Unbundle devel/microsoft-gsl. 4. Fix build and keep possibility to build 32bit overlay on other ARCHes than x86. 5. "Pet portclippy". Ideas, patches and testing: fuz, jhale, pkubaj. PR: 273203 272881 Approved by: tcberner Differential Revision: https://reviews.freebsd.org/D41604 MFH: 2023Q3 --- audio/mumble/Makefile | 118 ++++++++------------- audio/mumble/distinfo | 20 +--- ...auxiliary__files_run__scripts_mumble-overlay.in | 32 ++++++ .../mumble/files/patch-overlay__gl_CMakeLists.txt | 16 +++ audio/mumble/pkg-plist | 19 ++-- 5 files changed, 107 insertions(+), 98 deletions(-) diff --git a/audio/mumble/Makefile b/audio/mumble/Makefile index e6692e1e70e4..548a820ab797 100644 --- a/audio/mumble/Makefile +++ b/audio/mumble/Makefile @@ -1,7 +1,12 @@ PORTNAME= mumble DISTVERSION= 1.5.517 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= audio +MASTER_SITES= https://github.com/${PORTNAME}-voip/${PORTNAME}/releases/download/v${DISTVERSION}/ + +PATCH_SITES= https://github.com/${PORTNAME}-voip/${PORTNAME}/commit/ +PATCHFILES= 952dfaf4983097d7b9c9b5d9f5b01ffeb6d3463d.patch:-p1 # Fix detection of unbundled GSL +#PATCHFILES+= 589bfbfd634925b47b3a812745bc5a423b7f4285.patch:-p1 # Install 32-bit lib on FreeBSD MAINTAINER= vvd@FreeBSD.org COMMENT= Voice chat software primarily intended for use while gaming @@ -11,6 +16,7 @@ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= boost-libs>0:devel/boost-libs \ + microsoft-gsl>=3.0.0:devel/microsoft-gsl \ ${LOCALBASE}/include/nlohmann/json.hpp:devel/nlohmann-json LIB_DEPENDS= libsndfile.so:audio/libsndfile \ libopus.so:audio/opus \ @@ -22,119 +28,85 @@ LIB_DEPENDS= libsndfile.so:audio/libsndfile \ libexpat.so:textproc/expat2 USES= cmake compiler:c++14-lang cpe desktop-file-utils gl \ - pkgconfig python:build qmake qt:5 ssl xorg - -PATCHVERSION= ${DISTVERSION} -MINORVERSION= ${DISTVERSION:R} -MAJORVERSION= ${DISTVERSION:R:R} - -PLIST_SUB+= PATCHVERSION="${PATCHVERSION}" -PLIST_SUB+= MINORVERSION="${MINORVERSION}" -PLIST_SUB+= MAJORVERSION="${MAJORVERSION}" - + pkgconfig python:build qt:5 ssl xorg USE_CXXSTD= c++14 -USE_GITHUB= yes -GH_TUPLE= mumble-voip:mumble:v${DISTVERSION} \ - Krzmbrzl:FindPythonInterpreter:bb4d3ea:mumble_FindPythonInterpreter/3rdparty/FindPythonInterpreter \ - microsoft:GSL:0f6dbc9:mumble_gsl/3rdparty/gsl \ - mumble-voip:mach_override:919148f:mumble_mach_override/3rdparty/mach-override-src \ - mumble-voip:minhook:5e338f8:mumble_minhook/3rdparty/minhook \ - mumble-voip:speexdsp:6e4634f:mumble_speexdsp/3rdparty/speexdsp \ - wolfpld:tracy:1a4f369:mumble_tracy/3rdparty/tracy - -USE_QT= buildtools:build concurrent core gui l10n linguist:build network \ - sql sql-sqlite3:run svg widgets xml +USE_GL= gl USE_LDCONFIG= yes - +USE_QT= buildtools:build concurrent core gui l10n linguist:build network \ + qmake:build sql sql-sqlite3:run svg widgets xml USE_XORG= x11 xext xi -USE_GL= gl -CMAKE_ON= bundled-gsl client oss overlay overlay-xcompile plugins \ - translations xinput2 -CMAKE_OFF= bundled-json bundle-qt-translations bundled-speex crash-report \ - g15 server tracy update +CMAKE_ON= client oss overlay plugins translations xinput2 +CMAKE_OFF= bundled-gsl bundled-json bundle-qt-translations bundled-speex \ + crash-report g15 server tracy update + +CONFIGURE_ENV= MUMBLE_PYTHON=${PYTHON_CMD} + +PLIST_SUB= MUMBLE_VERSION="${DISTVERSION:R}" OPTIONS_DEFINE= ALSA AVAHI DBUS JACK LTO PIPEWIRE PORTAUDIO PULSEAUDIO RNNOISE +OPTIONS_DEFINE_amd64= OVERLAY_32BIT OPTIONS_DEFAULT= DBUS +OPTIONS_DEFAULT_amd64= OVERLAY_32BIT OPTIONS_RADIO= SPEECH OPTIONS_RADIO_SPEECH= QTSPEECH SPEECHD +OVERLAY_32BIT_DESC= Build and install 32bit overlay module QTSPEECH_DESC= Use Qt's text-to-speech system RNNOISE_DESC= Use RNNoise for machine learning noise reduction SPEECH_DESC= Support text-to-speech SPEECHD_DESC= Support for Speech Dispatcher -ALSA_CMAKE_BOOL= alsa ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib +ALSA_CMAKE_BOOL= alsa -AVAHI_CMAKE_BOOL= zeroconf AVAHI_LIB_DEPENDS= libdns_sd.so:net/avahi-libdns +AVAHI_CMAKE_BOOL= zeroconf -DBUS_USES= qt:5 DBUS_USE= QT=dbus DBUS_CMAKE_BOOL= dbus -JACK_CMAKE_BOOL= jackaudio JACK_LIB_DEPENDS= libjack.so:audio/jack +JACK_CMAKE_BOOL= jackaudio LTO_BROKEN= "QWidget: Cannot create a QWidget without QApplication": \ https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273078 LTO_CMAKE_BOOL= lto -PIPEWIRE_CMAKE_BOOL= pipewire +OVERLAY_32BIT_CMAKE_BOOL= overlay-xcompile + PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire +PIPEWIRE_CMAKE_BOOL= pipewire -PORTAUDIO_CMAKE_BOOL= portaudio PORTAUDIO_LIB_DEPENDS= libportaudio.so:audio/portaudio +PORTAUDIO_CMAKE_BOOL= portaudio -PULSEAUDIO_CMAKE_BOOL= pulseaudio PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio +PULSEAUDIO_CMAKE_BOOL= pulseaudio -QTSPEECH_USES= qt:5 QTSPEECH_USE= QT=speech QTSPEECH_CMAKE_BOOL= qtspeech +RNNOISE_LIB_DEPENDS= librnnoise.so:audio/rnnoise RNNOISE_CMAKE_BOOL= rnnoise RNNOISE_CMAKE_ON= -Dbundled-rnnoise:BOOL=off -RNNOISE_LIB_DEPENDS= librnnoise.so:audio/rnnoise +SPEECHD_LIB_DEPENDS= libspeechd.so:accessibility/speech-dispatcher SPEECHD_USES= gettext-runtime gnome SPEECHD_USE= GNOME=glib20 SPEECHD_CMAKE_BOOL= speechd -SPEECHD_LIB_DEPENDS= libspeechd.so:accessibility/speech-dispatcher -CONFIGURE_ENV+= MUMBLE_PYTHON=${PYTHON_CMD} - -.include <bsd.port.pre.mk> - -do-install: - ${INSTALL_PROGRAM} ${WRKDIR}/.build/mumble ${STAGEDIR}${PREFIX}/bin - ${INSTALL_LIB} ${WRKDIR}/.build/libmumbleoverlay.x86_64.so.${MINORVERSION}.0 \ - ${STAGEDIR}${PREFIX}/lib/libmumbleoverlay.x86_64.so.${PATCHVERSION} - ${RLN} ${STAGEDIR}${PREFIX}/lib/libmumbleoverlay.x86_64.so.${PATCHVERSION} \ - ${STAGEDIR}${PREFIX}/lib/libmumbleoverlay.x86_64.so - ${RLN} ${STAGEDIR}${PREFIX}/lib/libmumbleoverlay.x86_64.so.${PATCHVERSION} \ - ${STAGEDIR}${PREFIX}/lib/libmumbleoverlay.x86_64.so.${MAJORVERSION} - ${RLN} ${STAGEDIR}${PREFIX}/lib/libmumbleoverlay.x86_64.so.${PATCHVERSION} \ - ${STAGEDIR}${PREFIX}/lib/libmumbleoverlay.x86_64.so.${MINORVERSION} - ${INSTALL_LIB} ${WRKDIR}/.build/libmumbleoverlay.x86.so.${MINORVERSION}.0 \ - ${STAGEDIR}${PREFIX}/lib/libmumbleoverlay.x86.so.${PATCHVERSION} - ${RLN} ${STAGEDIR}${PREFIX}/lib/libmumbleoverlay.x86.so.${PATCHVERSION} \ - ${STAGEDIR}${PREFIX}/lib/libmumbleoverlay.x86.so - ${RLN} ${STAGEDIR}${PREFIX}/lib/libmumbleoverlay.x86.so.${PATCHVERSION} \ - ${STAGEDIR}${PREFIX}/lib/libmumbleoverlay.x86.so.${MAJORVERSION} - ${RLN} ${STAGEDIR}${PREFIX}/lib/libmumbleoverlay.x86.so.${PATCHVERSION} \ - ${STAGEDIR}${PREFIX}/lib/libmumbleoverlay.x86.so.${MINORVERSION} - ${INSTALL_DATA} ${WRKDIR}/.build/auxiliary_files/info.mumble.Mumble.desktop \ - ${STAGEDIR}${PREFIX}/share/applications/mumble.desktop - ${INSTALL_DATA} ${WRKSRC}/icons/mumble.xpm ${STAGEDIR}${PREFIX}/share/pixmaps - ${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps \ - ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps - ${INSTALL_DATA} ${WRKSRC}/icons/mumble.svg \ - ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps - ${INSTALL_DATA} ${WRKSRC}/icons/mumble_256x256.png \ - ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps/mumble.png - ${INSTALL_MAN} ${WRKSRC}/auxiliary_files/man_files/mumble.1 \ - ${STAGEDIR}${MANPREFIX}/share/man/man1/mumble.1 - -.include <bsd.port.post.mk> +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MOVERLAY_32BIT} +. if ${ARCH} == amd64 +PLIST_SUB+= OVERLAY_32BIT="" +PLIST_SUB+= OVERLAY_32BIT_SUFFIX=.x86 +PLIST_SUB+= OVERLAY_NATIVE_SUFFIX=.x86_64 +. endif +.else +PLIST_SUB+= OVERLAY_32BIT="@comment " +PLIST_SUB+= OVERLAY_NATIVE_SUFFIX="" +.endif + +.include <bsd.port.mk> diff --git a/audio/mumble/distinfo b/audio/mumble/distinfo index 38986e9722ca..b116fe3219f5 100644 --- a/audio/mumble/distinfo +++ b/audio/mumble/distinfo @@ -1,15 +1,5 @@ -TIMESTAMP = 1690555998 -SHA256 (mumble-voip-mumble-1.5.517-v1.5.517_GH0.tar.gz) = f7ea7c8f5267fa8f744a7622bb96ad373ee40c6458b9ce01d81d071898f6a6da -SIZE (mumble-voip-mumble-1.5.517-v1.5.517_GH0.tar.gz) = 6120684 -SHA256 (Krzmbrzl-FindPythonInterpreter-bb4d3ea_GH0.tar.gz) = 8439bfe7daeb478d8e8aa09b3c111c3dc360064144d181fc5dcfef950e8eaa05 -SIZE (Krzmbrzl-FindPythonInterpreter-bb4d3ea_GH0.tar.gz) = 4817 -SHA256 (microsoft-GSL-0f6dbc9_GH0.tar.gz) = 63d53ed611862f90517048db57617d8264200810a1e9fbb7ff9a524747f8dab3 -SIZE (microsoft-GSL-0f6dbc9_GH0.tar.gz) = 78207 -SHA256 (mumble-voip-mach_override-919148f_GH0.tar.gz) = 81b2e705a7cce1e3a9eb440cb2bca2f14fd83db162123f44faf17f0bf45da1bd -SIZE (mumble-voip-mach_override-919148f_GH0.tar.gz) = 66278 -SHA256 (mumble-voip-minhook-5e338f8_GH0.tar.gz) = bc675c5b9def1fcef4b58c62e6d69eaa6e76d2fed89ace681059a7648e808033 -SIZE (mumble-voip-minhook-5e338f8_GH0.tar.gz) = 27651 -SHA256 (mumble-voip-speexdsp-6e4634f_GH0.tar.gz) = f596d946feeffc66ad2f8a5886945019d79a1a45f3e9c1a1191b4faabb0e84ea -SIZE (mumble-voip-speexdsp-6e4634f_GH0.tar.gz) = 895204 -SHA256 (wolfpld-tracy-1a4f369_GH0.tar.gz) = b1fbb7b8ec38c58addd97f9cd6d17e879ecab9bfc184751297ce2162a6b8d008 -SIZE (wolfpld-tracy-1a4f369_GH0.tar.gz) = 4633541 +TIMESTAMP = 1692992913 +SHA256 (mumble-1.5.517.tar.gz) = 8efd06a0f47ebfe27735f7575ba0becfb21d0f400a5082202dbbd998ab8351de +SIZE (mumble-1.5.517.tar.gz) = 12091432 +SHA256 (952dfaf4983097d7b9c9b5d9f5b01ffeb6d3463d.patch) = 3316fd3cab0d797d78fa34df358892699db0bde6c45c61a87f095e514c2e5575 +SIZE (952dfaf4983097d7b9c9b5d9f5b01ffeb6d3463d.patch) = 1138 diff --git a/audio/mumble/files/patch-auxiliary__files_run__scripts_mumble-overlay.in b/audio/mumble/files/patch-auxiliary__files_run__scripts_mumble-overlay.in new file mode 100644 index 000000000000..408ceb723a9d --- /dev/null +++ b/audio/mumble/files/patch-auxiliary__files_run__scripts_mumble-overlay.in @@ -0,0 +1,32 @@ +Remove bashism that doesn't seem to serve a purpose. +${var/old_str/new_str} in bash replaces the first match of "old_str" +with "new_str" within ${var} [1]. There doesn't seem to be a point in +removing the first match of the escape character within ${var} only to +compare it with itself, unless it was a workaround for some ancient +bash bug, as this test was committed 15 years ago [2]. According to [3], +the escaping backslash is discarded in pattern matching. Works in bash +with and without this test, but sh(1) has no concept of this syntax. + +[1] https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html +[2] https://github.com/mumble-voip/mumble/commit/048343f81e4f6b8e0514380e88fef55a3781563f +[3] https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html + +--- auxiliary_files/run_scripts/mumble-overlay.in.orig 2023-08-15 16:48:56 UTC ++++ auxiliary_files/run_scripts/mumble-overlay.in +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # + # Copyright 2005-@MUMBLE_BUILD_YEAR@ The Mumble Developers. All rights reserved. + # Use of this source code is governed by a BSD-style license +@@ -27,9 +27,7 @@ + fi + + binary="$1" +-if [ "${binary/\/}" = "$binary" ]; then +- binary=$(which "$binary") +-fi ++binary=$(which "$binary") + if [ ! -x "$binary" ]; then + echo "$1 not found" >&2 + exit 1 diff --git a/audio/mumble/files/patch-overlay__gl_CMakeLists.txt b/audio/mumble/files/patch-overlay__gl_CMakeLists.txt new file mode 100644 index 000000000000..a6fa6fafdf06 --- /dev/null +++ b/audio/mumble/files/patch-overlay__gl_CMakeLists.txt @@ -0,0 +1,16 @@ +Install the 32-bit overlay library on FreeBSD-amd64 + +--- overlay_gl/CMakeLists.txt.orig ++++ overlay_gl/CMakeLists.txt +@@ -96,6 +96,11 @@ if(NOT APPLE) + "-ldl" + "-lrt" + ) ++ endif() ++ endif() ++ ++ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") ++ if(TARGET overlay_gl_x86) + # install 32bit overlay library + install(TARGETS overlay_gl_x86 LIBRARY DESTINATION "${MUMBLE_INSTALL_LIBDIR}") + endif() diff --git a/audio/mumble/pkg-plist b/audio/mumble/pkg-plist index 752646ef3d9a..ce360f1e5aef 100644 --- a/audio/mumble/pkg-plist +++ b/audio/mumble/pkg-plist @@ -1,14 +1,13 @@ bin/mumble -lib/libmumbleoverlay.x86_64.so -lib/libmumbleoverlay.x86_64.so.%%MAJORVERSION%% -lib/libmumbleoverlay.x86_64.so.%%MINORVERSION%% -lib/libmumbleoverlay.x86_64.so.%%PATCHVERSION%% -lib/libmumbleoverlay.x86.so -lib/libmumbleoverlay.x86.so.%%MAJORVERSION%% -lib/libmumbleoverlay.x86.so.%%MINORVERSION%% -lib/libmumbleoverlay.x86.so.%%PATCHVERSION%% -share/applications/mumble.desktop +bin/mumble-overlay +%%OVERLAY_32BIT%%lib/mumble/libmumbleoverlay%%OVERLAY_32BIT_SUFFIX%%.so +%%OVERLAY_32BIT%%lib/mumble/libmumbleoverlay%%OVERLAY_32BIT_SUFFIX%%.so.%%MUMBLE_VERSION%%.0 +lib/mumble/libmumbleoverlay%%OVERLAY_NATIVE_SUFFIX%%.so +lib/mumble/libmumbleoverlay%%OVERLAY_NATIVE_SUFFIX%%.so.%%MUMBLE_VERSION%%.0 +lib/mumble/plugins/liblink.so +share/applications/info.mumble.Mumble.desktop share/icons/hicolor/256x256/apps/mumble.png share/icons/hicolor/scalable/apps/mumble.svg share/man/man1/mumble.1.gz -share/pixmaps/mumble.xpm +share/man/man1/mumble-overlay.1.gz +share/metainfo/info.mumble.Mumble.appdata.xml
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202308281856.37SIu0ZO011000>