mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 17:59:20 -04:00
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
This commit is contained in:
parent
3e78ac41f1
commit
08c1696fb1
5 changed files with 106 additions and 97 deletions
|
@ -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_LDCONFIG= yes
|
||||
|
||||
USE_XORG= x11 xext xi
|
||||
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
|
||||
|
||||
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.options.mk>
|
||||
|
||||
.include <bsd.port.pre.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
|
||||
|
||||
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.mk>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
16
audio/mumble/files/patch-overlay__gl_CMakeLists.txt
Normal file
16
audio/mumble/files/patch-overlay__gl_CMakeLists.txt
Normal file
|
@ -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()
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue