summaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
Diffstat (limited to 'audio')
-rw-r--r--audio/baresip/Makefile5
-rw-r--r--audio/baresip/pkg-plist1
-rw-r--r--audio/cardinal/Makefile1
-rw-r--r--audio/chromaprint/Makefile27
-rw-r--r--audio/chromaprint/distinfo6
-rw-r--r--audio/chromaprint/files/patch-tests_CMakeLists.txt14
-rw-r--r--audio/chromaprint/pkg-plist6
-rw-r--r--audio/headsetcontrol/Makefile4
-rw-r--r--audio/headsetcontrol/distinfo6
-rw-r--r--audio/mac/Makefile2
-rw-r--r--audio/mac/distinfo6
-rw-r--r--audio/mac/files/patch-Source_Console_Console.cpp13
-rw-r--r--audio/minimp3/Makefile22
-rw-r--r--audio/minimp3/distinfo10
-rw-r--r--audio/pt2-clone/Makefile2
-rw-r--r--audio/pt2-clone/distinfo6
-rw-r--r--audio/sayonara/Makefile3
-rw-r--r--audio/sayonara/distinfo6
-rw-r--r--audio/sayonara/files/patch-cpp-compile109
-rw-r--r--audio/sayonara/files/patch-python-compatible74
-rw-r--r--audio/sayonara/files/patch-src_Components_Covers_Fetcher_Audioscrobbler.cpp20
-rw-r--r--audio/sayonara/files/patch-src_Components_Lyrics_LyricWebpageParser.cpp11
-rw-r--r--audio/sayonara/files/patch-src_Components_Playlist_PlaylistModifiers.cpp11
-rw-r--r--audio/sayonara/files/patch-src_DBus_sayonara-ctl20
-rw-r--r--audio/sayonara/files/patch-src_DBus_sayonara-query20
-rw-r--r--audio/sayonara/files/patch-src_Gui_InfoDialog_GUI__InfoDialog.cpp11
-rw-r--r--audio/sayonara/files/patch-src_Utils_Tagging_MP4_PopularimeterFrame.cpp18
-rw-r--r--audio/sonicradio/Makefile2
-rw-r--r--audio/sonicradio/distinfo10
-rw-r--r--audio/spotify-tui/Makefile3
-rw-r--r--audio/strawberry/Makefile1
31 files changed, 257 insertions, 193 deletions
diff --git a/audio/baresip/Makefile b/audio/baresip/Makefile
index 29637451f2c7..c251d7258e3a 100644
--- a/audio/baresip/Makefile
+++ b/audio/baresip/Makefile
@@ -18,10 +18,9 @@ USE_GITHUB= yes
GH_ACCOUNT= baresip
OPTIONS_DEFINE= ALSA AV1 AVCODEC AVFILTER AVFORMAT CTRL_DBUS DOCS \
- EXAMPLES G711 G722 G726 GST MQTT OPUS OPUS_MS PLC \
+ EXAMPLES G711 G722 G726 GST GTK3 MQTT OPUS OPUS_MS PLC \
PORTAUDIO PULSEAUDIO SDL SNAPSHOT SNDFILE SWSCALE V4L2 \
VPX X11
-OPTIONS_DEFAULT= DOCS EXAMPLES
OPTIONS_SUB= yes
ALSA_DESC= ALSA audio driver
@@ -70,6 +69,8 @@ G726_LIB_DEPENDS= libspandsp.so:comms/spandsp
G726_VARS= _MODULES_LIST+=g726
GST_USES= gnome gstreamer:1
GST_VARS= USE_GNOME+=glib20
+GTK3_USES= gnome
+GTK3_VARS= USE_GNOME+=gtk30 _MODULES_LIST+=gtk
MQTT_LIB_DEPENDS= libmosquitto.so:net/mosquitto
MQTT_VARS= _MODULES_LIST+=mqtt
OPUS_LIB_DEPENDS= libopus.so:audio/opus
diff --git a/audio/baresip/pkg-plist b/audio/baresip/pkg-plist
index a62d9daa7574..6f97b2fa24d0 100644
--- a/audio/baresip/pkg-plist
+++ b/audio/baresip/pkg-plist
@@ -22,6 +22,7 @@ lib/baresip/modules/fakevideo.so
%%G711%%lib/baresip/modules/g711.so
%%G722%%lib/baresip/modules/g722.so
%%G726%%lib/baresip/modules/g726.so
+%%GTK3%%lib/baresip/modules/gtk.so
lib/baresip/modules/httpd.so
lib/baresip/modules/httpreq.so
lib/baresip/modules/ice.so
diff --git a/audio/cardinal/Makefile b/audio/cardinal/Makefile
index 48ea05529fd2..afb8670f373c 100644
--- a/audio/cardinal/Makefile
+++ b/audio/cardinal/Makefile
@@ -14,6 +14,7 @@ WWW= https://cardinal.kx.studio/ \
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
+BROKEN_FreeBSD_13= compilation fails, error: static assertion failed due to requirement 'is_arithmetic<rack::simd::Vector<float, 4>>::value', see https://github.com/DISTRHO/Cardinal/issues/726
BROKEN_FreeBSD_15= compilation fails, error: static assertion failed due to requirement 'is_arithmetic<rack::simd::Vector<float, 4>>::value', see https://github.com/DISTRHO/Cardinal/issues/726
BROKEN_armv7= compilation fails due to the variable name conflict with base header, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279134
diff --git a/audio/chromaprint/Makefile b/audio/chromaprint/Makefile
index eaaa25dd57c1..5d80a0100ab3 100644
--- a/audio/chromaprint/Makefile
+++ b/audio/chromaprint/Makefile
@@ -1,8 +1,7 @@
PORTNAME= chromaprint
-DISTVERSION= 1.5.1.20221217
-PORTREVISION= 1
+DISTVERSION= 1.6.0
CATEGORIES= audio
-#MASTER_SITES= https://github.com/acoustid/${PORTNAME}/releases/download/v${DISTVERSION}/
+MASTER_SITES= https://github.com/acoustid/${PORTNAME}/releases/download/v${DISTVERSION}/
MAINTAINER= jhale@FreeBSD.org
COMMENT= AcoustID audio fingerprinting library
@@ -14,27 +13,21 @@ LICENSE_FILE_MIT= ${WRKSRC}/LICENSE.md
LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
-USES= cmake compiler:c++11-lib
-USE_GITHUB= yes
-GH_ACCOUNT= acoustid
-GH_TAGNAME= aa67c95
+USES= cmake:testing compiler:c++14-lang
USE_LDCONFIG= yes
-CMAKE_ARGS= -DBUILD_TOOLS:BOOL=true \
- -DAUDIO_PROCESSOR_LIB=swresample \
- -DFFT_LIB:STRING=avfft
+CMAKE_ARGS= -DAUDIO_PROCESSOR_LIB:STRING=swresample \
+ -DFFT_LIB:STRING=`if [ -f ${LOCALBASE}/include/libavcodec/avfft.h ]; then ${ECHO_CMD} avfft; else ${ECHO_CMD} avtx; fi`
+CMAKE_ON= BUILD_TOOLS
+CMAKE_OFF= BUILD_TESTS
+CMAKE_TESTING_ON= BUILD_TESTS
-OPTIONS_DEFINE= DOCS DOXYGEN TEST
+OPTIONS_DEFINE= DOCS DOXYGEN
+DOXYGEN_IMPLIES= DOCS
DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen \
dot:graphics/graphviz
DOXYGEN_PORTDOCS= *
-DOXYGEN_IMPLIES= DOCS
-
-TEST_BUILD_DEPENDS= ${NONEXISTENT}:devel/googletest:patch
-TEST_CMAKE_BOOL= BUILD_TESTS
-TEST_CMAKE_ON= -DGTEST_ROOT:PATH=`${MAKE} -C ${PORTSDIR}/devel/googletest -VWRKSRC`/googletest
-TEST_TARGET= check
do-build-DOXYGEN-on:
@(cd ${BUILD_WRKSRC}; ${DO_MAKE_BUILD} docs)
diff --git a/audio/chromaprint/distinfo b/audio/chromaprint/distinfo
index 5f20e3b6fde7..999772c88563 100644
--- a/audio/chromaprint/distinfo
+++ b/audio/chromaprint/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1682952377
-SHA256 (acoustid-chromaprint-1.5.1.20221217-aa67c95_GH0.tar.gz) = 0893b7198121dd2add81aa1233e5312cbc7446bdd6b6418a5af6ab24e82cb6b3
-SIZE (acoustid-chromaprint-1.5.1.20221217-aa67c95_GH0.tar.gz) = 1581151
+TIMESTAMP = 1756531467
+SHA256 (chromaprint-1.6.0.tar.gz) = 9d33482e56a1389a37a0d6742c376139fa43e3b8a63d29003222b93db2cb40da
+SIZE (chromaprint-1.6.0.tar.gz) = 1577695
diff --git a/audio/chromaprint/files/patch-tests_CMakeLists.txt b/audio/chromaprint/files/patch-tests_CMakeLists.txt
deleted file mode 100644
index a34c06840c6b..000000000000
--- a/audio/chromaprint/files/patch-tests_CMakeLists.txt
+++ /dev/null
@@ -1,14 +0,0 @@
---- tests/CMakeLists.txt.orig 2016-12-23 11:50:27 UTC
-+++ tests/CMakeLists.txt
-@@ -36,6 +36,11 @@ set(SRCS
- if(BUILD_TOOLS)
- set(SRCS ${SRCS} ../src/audio/ffmpeg_audio_reader_test.cpp)
- link_libraries(fpcalc_libs)
-+ include_directories(
-+ ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS}
-+ ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}
-+ ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}
-+ )
- endif()
-
- add_executable(all_tests ${SRCS} $<TARGET_OBJECTS:chromaprint_objs>)
diff --git a/audio/chromaprint/pkg-plist b/audio/chromaprint/pkg-plist
index 4c8e307b35f0..baf18c35b148 100644
--- a/audio/chromaprint/pkg-plist
+++ b/audio/chromaprint/pkg-plist
@@ -1,6 +1,10 @@
bin/fpcalc
include/chromaprint.h
+lib/cmake/Chromaprint/ChromaprintConfig.cmake
+lib/cmake/Chromaprint/ChromaprintConfigVersion.cmake
+lib/cmake/Chromaprint/ChromaprintTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Chromaprint/ChromaprintTargets.cmake
lib/libchromaprint.so
lib/libchromaprint.so.1
-lib/libchromaprint.so.1.5.1
+lib/libchromaprint.so.1.6.0
libdata/pkgconfig/libchromaprint.pc
diff --git a/audio/headsetcontrol/Makefile b/audio/headsetcontrol/Makefile
index b8aaff70326b..8e1bc5f3a090 100644
--- a/audio/headsetcontrol/Makefile
+++ b/audio/headsetcontrol/Makefile
@@ -1,5 +1,5 @@
PORTNAME= headsetcontrol
-DISTVERSION= 3.0.0
+DISTVERSION= 3.1.0
CATEGORIES= audio
MAINTAINER= Alexander88207@protonmail.com
@@ -18,6 +18,6 @@ USE_GITHUB= yes
GH_ACCOUNT= Sapd
GH_PROJECT= HeadsetControl
-PLIST_FILES= ${LOCALBASE}/bin/headsetcontrol
+PLIST_FILES= bin/headsetcontrol
.include <bsd.port.mk>
diff --git a/audio/headsetcontrol/distinfo b/audio/headsetcontrol/distinfo
index 34fa4d14ab90..48fabcd4949d 100644
--- a/audio/headsetcontrol/distinfo
+++ b/audio/headsetcontrol/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1714237536
-SHA256 (Sapd-HeadsetControl-3.0.0_GH0.tar.gz) = 63bfd147c82277bfcf2314ad2b01ca4e4bf06e1d5516e01ee39232661f4d5144
-SIZE (Sapd-HeadsetControl-3.0.0_GH0.tar.gz) = 64565
+TIMESTAMP = 1756041005
+SHA256 (Sapd-HeadsetControl-3.1.0_GH0.tar.gz) = caba01afa69477f0a4fce1f8608a0c5e85e7032c350c1239bb4e1ecdfb171359
+SIZE (Sapd-HeadsetControl-3.1.0_GH0.tar.gz) = 76475
diff --git a/audio/mac/Makefile b/audio/mac/Makefile
index 2d9729dc35ba..50138efd93c6 100644
--- a/audio/mac/Makefile
+++ b/audio/mac/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mac
-PORTVERSION= 11.37
+PORTVERSION= 11.38
CATEGORIES= audio
MASTER_SITES= https://www.monkeysaudio.com/files/
DISTNAME= ${PORTNAME:tu}_${PORTVERSION:S|.||}_SDK
diff --git a/audio/mac/distinfo b/audio/mac/distinfo
index 80410af68f23..f579cb43ad28 100644
--- a/audio/mac/distinfo
+++ b/audio/mac/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1755237529
-SHA256 (MAC_1137_SDK.zip) = d578e193ca882474dba256d5d1f44d463a9f5cfa6a2191b741babbb1e8b026a2
-SIZE (MAC_1137_SDK.zip) = 1710217
+TIMESTAMP = 1756358910
+SHA256 (MAC_1138_SDK.zip) = 50fb286ef83fe739427610b7658d5d3422d0b5b636e1aa52ae14277c635ffcad
+SIZE (MAC_1138_SDK.zip) = 1710212
diff --git a/audio/mac/files/patch-Source_Console_Console.cpp b/audio/mac/files/patch-Source_Console_Console.cpp
index eb2f53fcb881..0033ecb30d5a 100644
--- a/audio/mac/files/patch-Source_Console_Console.cpp
+++ b/audio/mac/files/patch-Source_Console_Console.cpp
@@ -2,19 +2,6 @@ Unixify built-in help.
--- Source/Console/Console.cpp.orig 2025-08-15 06:11:17 UTC
+++ Source/Console/Console.cpp
-@@ -61,10 +61,10 @@ class CArguments (public)
- #ifdef _UNICODE
- rspString.Assign(m_argv[nArgument], true, false);
- #else
-- rspString.Assign(CAPECharacterHelper::GetUTF16FromANSI(m_argv[nArgument]), true);
-+ rspString.Assign(CAPECharacterHelper::GetUTFNFromANSI(m_argv[nArgument]), true);
- #endif
- #else
-- rspString.Assign(CAPECharacterHelper::GetUTF16FromUTF8((str_utf8 *) m_argv[nArgument]), true);
-+ rspString.Assign(CAPECharacterHelper::GetUTFNFromUTF8((str_utf8 *) m_argv[nArgument]), true);
- #endif
- }
- else
@@ -135,7 +135,7 @@ static void DisplayProperUsage(FILE * pFile)
**************************************************************************************************/
static void DisplayProperUsage(FILE * pFile)
diff --git a/audio/minimp3/Makefile b/audio/minimp3/Makefile
index 7ba47f6ee289..b13158ef1045 100644
--- a/audio/minimp3/Makefile
+++ b/audio/minimp3/Makefile
@@ -1,7 +1,13 @@
PORTNAME= minimp3
-PORTVERSION= g20211130
+DISTVERSION= g20211130
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= audio
+# Use direct link to 126KB files instead of 19+MB tarball:
+# https://github.com/${GH_ACCOUNT}/${PORTNAME}/tar.gz/${GH_TAGNAME}?dummy=/${GH_ACCOUNT}-${PORTNAME}-${DISTVERSION}-${GH_TAGNAME}_GH0.tar.gz
+MASTER_SITES= https://raw.githubusercontent.com/${GH_ACCOUNT}/${PORTNAME}/${GH_TAGNAME}/
+DISTFILES= LICENSE minimp3.h minimp3_ex.h
+DIST_SUBDIR= ${PORTNAME}-${DISTVERSION}
MAINTAINER= yuri@FreeBSD.org
COMMENT= C++ single-header, minimalistic library for decoding MP3
@@ -10,16 +16,22 @@ WWW= https://github.com/lieff/minimp3
LICENSE= CC0-1.0
LICENSE_FILE= ${WRKSRC}/LICENSE
-USE_GITHUB= yes
+USE_GITHUB= nodefault
GH_ACCOUNT= lieff
GH_TAGNAME= afb604c06bc8beb145fecd42c0ceb5bda8795144
-NO_BUILD= yes
+EXTRACT_CMD= ${CP}
+EXTRACT_BEFORE_ARGS= #
+EXTRACT_AFTER_ARGS= ${WRKSRC}
+
NO_ARCH= yes
+NO_BUILD= yes
+NO_WRKSUBDIR= yes
-PLIST_FILES= include/minimp3.h
+PLIST_FILES= ${DISTFILES:M*.h:C|^|include/|}
do-install:
- ${INSTALL_DATA} ${WRKSRC}/minimp3.h ${STAGEDIR}${PREFIX}/include
+ ${INSTALL_DATA} ${DISTFILES:M*.h:C|^|${WRKSRC}/|} \
+ ${STAGEDIR}${PREFIX}/include
.include <bsd.port.mk>
diff --git a/audio/minimp3/distinfo b/audio/minimp3/distinfo
index 54ff4607f8f2..131e3139c940 100644
--- a/audio/minimp3/distinfo
+++ b/audio/minimp3/distinfo
@@ -1,3 +1,7 @@
-TIMESTAMP = 1653982911
-SHA256 (lieff-minimp3-g20211130-afb604c06bc8beb145fecd42c0ceb5bda8795144_GH0.tar.gz) = 21672c32aaac29cf4b7e6f8e0154767080ae87faa79c682498453e5a9bc5e0d3
-SIZE (lieff-minimp3-g20211130-afb604c06bc8beb145fecd42c0ceb5bda8795144_GH0.tar.gz) = 19743923
+TIMESTAMP = 1755080808
+SHA256 (minimp3-g20211130/LICENSE) = 6a1ee543e5282cd9061881edf462e6fdab181f328da71fc2c9a6950a80e94d01
+SIZE (minimp3-g20211130/LICENSE) = 6556
+SHA256 (minimp3-g20211130/minimp3.h) = 5fb296a790734772b65a5514438cc06d14f24e539c13475ff2a7f737681c82c0
+SIZE (minimp3-g20211130/minimp3.h) = 76802
+SHA256 (minimp3-g20211130/minimp3_ex.h) = bb001301b8666ea7a45ae057b62b17074483213b0d410555d97cc4d076e110df
+SIZE (minimp3-g20211130/minimp3_ex.h) = 49511
diff --git a/audio/pt2-clone/Makefile b/audio/pt2-clone/Makefile
index 33a37e38c70f..2273ebea82b4 100644
--- a/audio/pt2-clone/Makefile
+++ b/audio/pt2-clone/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pt2-clone
-PORTVERSION= 1.75
+PORTVERSION= 1.76
DISTVERSIONPREFIX= v
CATEGORIES= audio
MASTER_SITES= LOCAL/ehaupt:extras
diff --git a/audio/pt2-clone/distinfo b/audio/pt2-clone/distinfo
index f62bc97696e9..15110eb54b7e 100644
--- a/audio/pt2-clone/distinfo
+++ b/audio/pt2-clone/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1747987384
+TIMESTAMP = 1756105975
SHA256 (pt2-clone-extras-2.tar.gz) = ddbac01034022f27860d85f4627b07223f9fd8f02a4ddefdc36467f2e3cacd0b
SIZE (pt2-clone-extras-2.tar.gz) = 742
-SHA256 (8bitbubsy-pt2-clone-v1.75_GH0.tar.gz) = 5876673ec09bc99661a623d2c995615f6f114d3dd4e69932dc8a175927473df2
-SIZE (8bitbubsy-pt2-clone-v1.75_GH0.tar.gz) = 9160021
+SHA256 (8bitbubsy-pt2-clone-v1.76_GH0.tar.gz) = 515eddc686ff0c44f425cd03f5440437f07bec5c79ef654a6ebb750238648373
+SIZE (8bitbubsy-pt2-clone-v1.76_GH0.tar.gz) = 9162353
diff --git a/audio/sayonara/Makefile b/audio/sayonara/Makefile
index 4b32eb7b16b3..3176b0944625 100644
--- a/audio/sayonara/Makefile
+++ b/audio/sayonara/Makefile
@@ -1,7 +1,6 @@
PORTNAME= sayonara
-DISTVERSION= 1.10.0
+DISTVERSION= 1.11.0
DISTVERSIONSUFFIX= -stable1
-PORTREVISION= 2
CATEGORIES= audio
MAINTAINER= adridg@FreeBSD.org
diff --git a/audio/sayonara/distinfo b/audio/sayonara/distinfo
index 5ae6b2a67185..dac485140202 100644
--- a/audio/sayonara/distinfo
+++ b/audio/sayonara/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1717362640
-SHA256 (sayonara-player-1.10.0-stable1.tar.bz2) = f4635796da02bfc67232459475806b0d52dc991b827fb11982a708504a500a6c
-SIZE (sayonara-player-1.10.0-stable1.tar.bz2) = 1740393
+TIMESTAMP = 1756203949
+SHA256 (sayonara-player-1.11.0-stable1.tar.bz2) = d554d01155181527d155fb3c625ef9560bb8a466aa4d55481dbf587a84daffaf
+SIZE (sayonara-player-1.11.0-stable1.tar.bz2) = 1890093
diff --git a/audio/sayonara/files/patch-cpp-compile b/audio/sayonara/files/patch-cpp-compile
new file mode 100644
index 000000000000..ae8975b87232
--- /dev/null
+++ b/audio/sayonara/files/patch-cpp-compile
@@ -0,0 +1,109 @@
+diff --git src/Components/Covers/Fetcher/Audioscrobbler.cpp src/Components/Covers/Fetcher/Audioscrobbler.cpp
+index 2490f8f4..7916ed16 100644
+--- src/Components/Covers/Fetcher/Audioscrobbler.cpp
++++ src/Components/Covers/Fetcher/Audioscrobbler.cpp
+@@ -30,6 +30,8 @@
+ #include <QStringList>
+ #include <QUrl>
+
++#include <array>
++
+ using Cover::Fetcher::Audioscrobbler;
+
+ namespace
+@@ -37,7 +39,7 @@ namespace
+ QStringList mapToStringList(const QMap<QString, QString>& map)
+ {
+ auto result = QStringList {};
+- const auto sizes = std::array {"mega", "extralarge", "large", "medium", "small"};
++ const auto sizes = std::array<const char *, 5> {"mega", "extralarge", "large", "medium", "small"};
+ for(const auto size: sizes)
+ {
+ result.push_back(map[size]);
+diff --git src/Components/Engine/PipelineExtensions/Changeable.cpp src/Components/Engine/PipelineExtensions/Changeable.cpp
+index 654a3c3c..2119e49d 100644
+--- src/Components/Engine/PipelineExtensions/Changeable.cpp
++++ src/Components/Engine/PipelineExtensions/Changeable.cpp
+@@ -306,6 +306,12 @@ namespace
+ }
+ }
+
++static Logger& operator<<(Logger& lhs, const EU::GStringAutoFree& s)
++{
++ const auto * p = s.data();
++ return lhs << (p ? p : "null");
++}
++
+ namespace PipelineExtensions::Changeable
+ {
+ // NOLINTNEXTLINE(*-make-member-function-const)
+@@ -360,11 +366,11 @@ namespace PipelineExtensions::Changeable
+ auto parent = EU::AutoUnref(gst_element_get_parent(elementA));
+ auto* parentElement = GST_ELEMENT(*parent);
+ const auto name = EU::GStringAutoFree(gst_element_get_name(element));
+-
+- spLog(Log::Debug, __FUNCTION__) << "Remove " << name.data() << " from pipeline";
++
++ spLog(Log::Debug, __FUNCTION__) << "Remove " << name << " from pipeline";
+ if(!EU::hasElement(GST_BIN(parentElement), element))
+ {
+- spLog(Log::Debug, __FUNCTION__) << "Element " << name.data() << " not in pipeline";
++ spLog(Log::Debug, __FUNCTION__) << "Element " << name << " not in pipeline";
+ return true;
+ }
+
+@@ -386,7 +392,7 @@ namespace PipelineExtensions::Changeable
+
+ if(!success)
+ {
+- spLog(Log::Debug, __FUNCTION__) << "Could not remove " << name.data();
++ spLog(Log::Debug, __FUNCTION__) << "Could not remove " << name;
+ }
+
+ return success;
+@@ -428,4 +434,4 @@ namespace PipelineExtensions::Changeable
+ return success;
+ }
+ }
+-#pragma clang diagnostic pop
+\ No newline at end of file
++#pragma clang diagnostic pop
+diff --git src/Components/Lyrics/LyricWebpageParser.cpp src/Components/Lyrics/LyricWebpageParser.cpp
+index b5297b21..53b3b2dc 100644
+--- src/Components/Lyrics/LyricWebpageParser.cpp
++++ src/Components/Lyrics/LyricWebpageParser.cpp
+@@ -27,6 +27,8 @@
+ #include <QTextBlock>
+ #include <QTextDocument>
+
++#include <array>
++
+ using namespace Lyrics;
+
+ namespace
+diff --git src/Gui/InfoDialog/GUI_InfoDialog.cpp src/Gui/InfoDialog/GUI_InfoDialog.cpp
+index 1752180a..709b8690 100644
+--- src/Gui/InfoDialog/GUI_InfoDialog.cpp
++++ src/Gui/InfoDialog/GUI_InfoDialog.cpp
+@@ -47,6 +47,8 @@
+ #include <QTabBar>
+ #include <QTableWidgetItem>
+
++#include <unordered_map>
++
+ namespace
+ {
+ enum StackedWidgetTab
+diff --git src/Gui/Plugins/Engine/GUI_LevelPainter.cpp src/Gui/Plugins/Engine/GUI_LevelPainter.cpp
+index 455051bb..98b3ee63 100644
+--- src/Gui/Plugins/Engine/GUI_LevelPainter.cpp
++++ src/Gui/Plugins/Engine/GUI_LevelPainter.cpp
+@@ -185,7 +185,7 @@ void GUI_LevelPainter::paint()
+
+ else
+ {
+- m->steps[c][r] = std::max(m->steps[c][r] - 1, 0);
++ m->steps[c][r] = std::max(int(m->steps[c][r]) - 1, 0);
+ }
+
+ if(m->steps[c][r] == 0)
diff --git a/audio/sayonara/files/patch-python-compatible b/audio/sayonara/files/patch-python-compatible
new file mode 100644
index 000000000000..9b48666a8e8b
--- /dev/null
+++ b/audio/sayonara/files/patch-python-compatible
@@ -0,0 +1,74 @@
+diff --git src/DBus/sayonara-ctl src/DBus/sayonara-ctl
+index 2fe80d48..3a5660a8 100755
+--- src/DBus/sayonara-ctl
++++ src/DBus/sayonara-ctl
+@@ -4,11 +4,20 @@
+ import sys
+ import argparse
+
++# Either pydbus or dbus modules will do, and wrap their API
++# to get a bus-object with dbus_get_object()
+ try:
+ from pydbus import SessionBus
++ def dbus_get_object(bus, name, path):
++ return bus.get(name, path)
+ except ImportError as e:
+- print("Cannot find pydbus module. Please install first")
+- sys.exit(1)
++ try:
++ from dbus import SessionBus
++ def dbus_get_object(bus, name, path):
++ return bus.get_object(name, path)
++ except ImportError as e:
++ print("Cannot find pydbus or dbus module. Please install first")
++ sys.exit(1)
+
+ def sgn(num):
+ if num > 0:
+@@ -38,7 +47,8 @@ def main():
+ bus = SessionBus()
+ try:
+ global gSayonaraInstance
+- gSayonaraInstance = bus.get(
++ gSayonaraInstance = dbus_get_object(
++ bus,
+ "org.mpris.MediaPlayer2.sayonara", # Bus name
+ "/org/mpris/MediaPlayer2" # Object path
+ )
+diff --git src/DBus/sayonara-query src/DBus/sayonara-query
+index f92a10e1..dcf7d735 100755
+--- src/DBus/sayonara-query
++++ src/DBus/sayonara-query
+@@ -3,11 +3,20 @@
+ import sys
+ import argparse
+
++# Either pydbus or dbus modules will do, and wrap their API
++# to get a bus-object with dbus_get_object()
+ try:
+ from pydbus import SessionBus
++ def dbus_get_object(bus, name, path):
++ return bus.get(name, path)
+ except ImportError as e:
+- print("Cannot find pydbus module. Please install first")
+- sys.exit(1)
++ try:
++ from dbus import SessionBus
++ def dbus_get_object(bus, name, path):
++ return bus.get_object(name, path)
++ except ImportError as e:
++ print("Cannot find pydbus or dbus module. Please install first")
++ sys.exit(1)
+
+ attributes = {
+ 'album': 'xesam:album',
+@@ -77,7 +86,8 @@ def main():
+ bus = SessionBus()
+
+ try:
+- sayonara = bus.get(
++ sayonara = dbus_get_object(
++ bus,
+ 'org.mpris.MediaPlayer2.sayonara', # Bus name
+ '/org/mpris/MediaPlayer2' # Object path
+ )
diff --git a/audio/sayonara/files/patch-src_Components_Covers_Fetcher_Audioscrobbler.cpp b/audio/sayonara/files/patch-src_Components_Covers_Fetcher_Audioscrobbler.cpp
deleted file mode 100644
index ab2ed553fb5d..000000000000
--- a/audio/sayonara/files/patch-src_Components_Covers_Fetcher_Audioscrobbler.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/Components/Covers/Fetcher/Audioscrobbler.cpp.orig 2024-06-04 15:10:26 UTC
-+++ src/Components/Covers/Fetcher/Audioscrobbler.cpp
-@@ -30,6 +30,8 @@
- #include <QStringList>
- #include <QUrl>
-
-+#include <array>
-+
- using Cover::Fetcher::Audioscrobbler;
-
- namespace
-@@ -37,7 +39,7 @@ namespace
- QStringList mapToStringList(const QMap<QString, QString>& map)
- {
- auto result = QStringList {};
-- const auto sizes = std::array {"mega", "extralarge", "large", "medium", "small"};
-+ const auto sizes = std::array<char *, 5> {"mega", "extralarge", "large", "medium", "small"};
- for(const auto size: sizes)
- {
- result.push_back(map[size]);
diff --git a/audio/sayonara/files/patch-src_Components_Lyrics_LyricWebpageParser.cpp b/audio/sayonara/files/patch-src_Components_Lyrics_LyricWebpageParser.cpp
deleted file mode 100644
index 10a01bc6aadd..000000000000
--- a/audio/sayonara/files/patch-src_Components_Lyrics_LyricWebpageParser.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/Components/Lyrics/LyricWebpageParser.cpp.orig 2024-06-04 15:17:38 UTC
-+++ src/Components/Lyrics/LyricWebpageParser.cpp
-@@ -27,6 +27,8 @@
- #include <QTextBlock>
- #include <QTextDocument>
-
-+#include <array>
-+
- using namespace Lyrics;
-
- namespace
diff --git a/audio/sayonara/files/patch-src_Components_Playlist_PlaylistModifiers.cpp b/audio/sayonara/files/patch-src_Components_Playlist_PlaylistModifiers.cpp
deleted file mode 100644
index 10724e9ced95..000000000000
--- a/audio/sayonara/files/patch-src_Components_Playlist_PlaylistModifiers.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/Components/Playlist/PlaylistModifiers.cpp.orig 2024-06-04 19:25:08 UTC
-+++ src/Components/Playlist/PlaylistModifiers.cpp
-@@ -179,7 +179,7 @@ namespace Playlist
- const auto& tracks = playlist.tracks();
- const auto durationMs =
- std::accumulate(tracks.begin(), tracks.end(), 0, [](const auto timeMs, const auto& track) {
-- return timeMs + std::max(0L, track.durationMs());
-+ return timeMs + std::max(MilliSeconds(0), track.durationMs());
- });
-
- return durationMs;
diff --git a/audio/sayonara/files/patch-src_DBus_sayonara-ctl b/audio/sayonara/files/patch-src_DBus_sayonara-ctl
deleted file mode 100644
index 9b7d1b1b198c..000000000000
--- a/audio/sayonara/files/patch-src_DBus_sayonara-ctl
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/DBus/sayonara-ctl.orig 2024-06-11 21:55:30 UTC
-+++ src/DBus/sayonara-ctl
-@@ -5,7 +5,7 @@ import sys
- import argparse
-
- try:
-- from pydbus import SessionBus
-+ from dbus import SessionBus
- except ImportError as e:
- print("Cannot find pydbus module. Please install first")
- sys.exit(1)
-@@ -38,7 +38,7 @@ def main():
- bus = SessionBus()
- try:
- global gSayonaraInstance
-- gSayonaraInstance = bus.get(
-+ gSayonaraInstance = bus.get_object(
- "org.mpris.MediaPlayer2.sayonara", # Bus name
- "/org/mpris/MediaPlayer2" # Object path
- )
diff --git a/audio/sayonara/files/patch-src_DBus_sayonara-query b/audio/sayonara/files/patch-src_DBus_sayonara-query
deleted file mode 100644
index 8f8baec0a714..000000000000
--- a/audio/sayonara/files/patch-src_DBus_sayonara-query
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/DBus/sayonara-query.orig 2024-06-11 21:55:30 UTC
-+++ src/DBus/sayonara-query
-@@ -4,7 +4,7 @@ import sys
- import argparse
-
- try:
-- from pydbus import SessionBus
-+ from dbus import SessionBus
- except ImportError as e:
- print("Cannot find pydbus module. Please install first")
- sys.exit(1)
-@@ -77,7 +77,7 @@ def main():
- bus = SessionBus()
-
- try:
-- sayonara = bus.get(
-+ sayonara = bus.get_object(
- 'org.mpris.MediaPlayer2.sayonara', # Bus name
- '/org/mpris/MediaPlayer2' # Object path
- )
diff --git a/audio/sayonara/files/patch-src_Gui_InfoDialog_GUI__InfoDialog.cpp b/audio/sayonara/files/patch-src_Gui_InfoDialog_GUI__InfoDialog.cpp
deleted file mode 100644
index ba71d01e6eeb..000000000000
--- a/audio/sayonara/files/patch-src_Gui_InfoDialog_GUI__InfoDialog.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/Gui/InfoDialog/GUI_InfoDialog.cpp.orig 2024-05-13 19:42:03 UTC
-+++ src/Gui/InfoDialog/GUI_InfoDialog.cpp
-@@ -47,6 +47,8 @@
- #include <QTabBar>
- #include <QTableWidgetItem>
-
-+#include <unordered_map>
-+
- namespace
- {
- enum StackedWidgetTab
diff --git a/audio/sayonara/files/patch-src_Utils_Tagging_MP4_PopularimeterFrame.cpp b/audio/sayonara/files/patch-src_Utils_Tagging_MP4_PopularimeterFrame.cpp
deleted file mode 100644
index 3184afe67d16..000000000000
--- a/audio/sayonara/files/patch-src_Utils_Tagging_MP4_PopularimeterFrame.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/Utils/Tagging/MP4/PopularimeterFrame.cpp.orig 2024-01-27 22:05:38 UTC
-+++ src/Utils/Tagging/MP4/PopularimeterFrame.cpp
-@@ -22,13 +22,14 @@
- #include <QString>
- #include "Tagging/TaggingUtils.h"
-
-+#include <array>
- #include <optional>
-
- namespace
- {
- [[nodiscard]] int fourBytesToInteger(const int32_t fourBytes)
- {
-- const auto chars = std::array {
-+ const auto chars = std::array<int32_t,3> {
- (fourBytes >> 16) & 0xFF,
- (fourBytes >> 8) & 0xFF,
- (fourBytes & 0xFF)
diff --git a/audio/sonicradio/Makefile b/audio/sonicradio/Makefile
index e8b71df33ffe..6a7161b1ecc5 100644
--- a/audio/sonicradio/Makefile
+++ b/audio/sonicradio/Makefile
@@ -1,6 +1,6 @@
PORTNAME= sonicradio
DISTVERSIONPREFIX= v
-DISTVERSION= 0.7.3
+DISTVERSION= 0.7.4
CATEGORIES= audio
MAINTAINER= nivit@FreeBSD.org
diff --git a/audio/sonicradio/distinfo b/audio/sonicradio/distinfo
index 417eeb8f7d4b..014589b3f259 100644
--- a/audio/sonicradio/distinfo
+++ b/audio/sonicradio/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1756124608
-SHA256 (go/audio_sonicradio/sonicradio-v0.7.3/v0.7.3.mod) = e13d7c88d2c94f14eec5b9f603bc5ded2e13d9baab8eab44849479c58f0bdd6d
-SIZE (go/audio_sonicradio/sonicradio-v0.7.3/v0.7.3.mod) = 1197
-SHA256 (go/audio_sonicradio/sonicradio-v0.7.3/v0.7.3.zip) = 9c5a0941a43a956fccdc845ac26b56081b35dcef1c395d4f87dac2f11bcefbfa
-SIZE (go/audio_sonicradio/sonicradio-v0.7.3/v0.7.3.zip) = 1264013
+TIMESTAMP = 1756220075
+SHA256 (go/audio_sonicradio/sonicradio-v0.7.4/v0.7.4.mod) = e13d7c88d2c94f14eec5b9f603bc5ded2e13d9baab8eab44849479c58f0bdd6d
+SIZE (go/audio_sonicradio/sonicradio-v0.7.4/v0.7.4.mod) = 1197
+SHA256 (go/audio_sonicradio/sonicradio-v0.7.4/v0.7.4.zip) = 8dee641e9d90a7d09ed095835fcd075c7cb6d080bd2139032a125589a5aa35fd
+SIZE (go/audio_sonicradio/sonicradio-v0.7.4/v0.7.4.zip) = 1264017
diff --git a/audio/spotify-tui/Makefile b/audio/spotify-tui/Makefile
index d63ae268cce1..9b4e76de7402 100644
--- a/audio/spotify-tui/Makefile
+++ b/audio/spotify-tui/Makefile
@@ -11,6 +11,9 @@ WWW= https://github.com/Rigellute/spotify-tui
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
+DEPRECATED= dead upstream and doesn't build
+EXPIRATION_DATE=2025-09-30
+
USES= cargo localbase:ldflags python:build ssl xorg
USE_GITHUB= yes
GH_ACCOUNT= Rigellute
diff --git a/audio/strawberry/Makefile b/audio/strawberry/Makefile
index 5091103519fc..33cae521585d 100644
--- a/audio/strawberry/Makefile
+++ b/audio/strawberry/Makefile
@@ -1,5 +1,6 @@
PORTNAME= strawberry
DISTVERSION= 1.2.12
+PORTREVISION= 1
CATEGORIES= audio
MASTER_SITES= https://github.com/strawberrymusicplayer/${PORTNAME}/releases/download/${DISTVERSION}/