Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Sep 2025 15:40:03 GMT
From:      Christos Margiolis <christos@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 2dcc66e8c6c4 - main - audio/virtual_oss_bluetooth: New port
Message-ID:  <202509301540.58UFe3IR071382@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by christos:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2dcc66e8c6c4b92a3278ea874b41e4b81ae441ed

commit 2dcc66e8c6c4b92a3278ea874b41e4b81ae441ed
Author:     Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2025-09-30 15:39:28 +0000
Commit:     Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2025-09-30 15:39:28 +0000

    audio/virtual_oss_bluetooth: New port
    
    src commit 9cab9fde5eda ("virtual_oss: Port to base") includes the
    bluetooth backend, however the backend also has a HAVE_LIBAV ifdef,
    which, if set, enables libav support, which depends on
    multimedia/gstreamer1-libav. While we could build the non-libav parts
    from base and the libav ones as a port, we instead build the whole
    backend as a port to avoid unnecessary complexity. The reason for that
    being that building from base would install the backend in
    /usr/lib/virtual_oss/voss_bt.so, and the port would install _another_
    voss_bt.so, but this time in /usr/local/lib/virtual_oss/voss_bt.so,
    which would create conflicts.
    
    The port simply builds the files from src, which is not ideal, as this
    means that the src repo needs to be present in the system in order for
    the port to build, but this way we can avoid version mismatches and
    ifdef hell as the project progresses.
    
    Note that this is an extension for the base system virtual_oss, and not
    audio/virtual_oss.
    
    Sponsored by:   The FreeBSD Foundation
    Reviewed by:    arrowd
    Differential Revision:  https://reviews.freebsd.org/D52426
---
 audio/Makefile                        |  1 +
 audio/virtual_oss_bluetooth/Makefile  | 41 +++++++++++++++++++++++++++++++++++
 audio/virtual_oss_bluetooth/pkg-descr |  6 +++++
 3 files changed, 48 insertions(+)

diff --git a/audio/Makefile b/audio/Makefile
index 9150bb4ceffd..7be5afcf10bd 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -832,6 +832,7 @@
     SUBDIR += vgmtools
     SUBDIR += vimpc
     SUBDIR += virtual_oss
+    SUBDIR += virtual_oss_bluetooth
     SUBDIR += virtual_oss_ctl
     SUBDIR += virtual_oss_equalizer
     SUBDIR += virtual_oss_sndio
diff --git a/audio/virtual_oss_bluetooth/Makefile b/audio/virtual_oss_bluetooth/Makefile
new file mode 100644
index 000000000000..09a4944614a4
--- /dev/null
+++ b/audio/virtual_oss_bluetooth/Makefile
@@ -0,0 +1,41 @@
+PORTNAME=	virtual_oss_bluetooth
+DISTVERSION=	${OSVERSION}
+CATEGORIES=	audio
+DISTFILES=
+
+MAINTAINER=	christos@FreeBSD.org
+COMMENT=	Bluetooth backend for virtual_oss
+WWW=		https://freebsd.org
+
+LICENSE=	BSD2CLAUSE
+
+USES=		pathfix uidfix
+USE_LDCONFIG=	yes
+
+OPTIONS_DEFINE=	LIBAV
+OPTIONS_DEFAULT=
+
+LIBAV_DESC=		Build with libav support for AAC audio
+LIBAV_LIB_DEPENDS=	libavdevice.so:multimedia/gstreamer1-libav \
+			libavutil.so:multimedia/gstreamer1-libav \
+			libavcodec.so:multimedia/gstreamer1-libav \
+			libavformat.so:multimedia/gstreamer1-libav
+LIBAV_MAKE_ENV=		HAVE_LIBAV=YES
+
+MAKE_ENV=	LIBDIR=${PREFIX}/lib \
+		MAKEOBJDIRPREFIX=${WRKDIR}
+
+WRKSRC=		${SRC_BASE}/lib/virtual_oss/bt
+
+PLIST_FILES=	lib/virtual_oss/voss_bt.so
+
+pre-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/lib/virtual_oss
+
+.include <bsd.port.pre.mk>
+
+.if !exists(${WRKSRC})
+IGNORE=		requires FreeBSD source files in ${SRC_BASE}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/audio/virtual_oss_bluetooth/pkg-descr b/audio/virtual_oss_bluetooth/pkg-descr
new file mode 100644
index 000000000000..46bb5e360b94
--- /dev/null
+++ b/audio/virtual_oss_bluetooth/pkg-descr
@@ -0,0 +1,6 @@
+Bluetooth backend virtual_oss.
+
+This is an extension for the base system version of virtual_oss. It enables
+bluetooth audio support, with the option of also including AAC audio support.
+The backend gets loaded dynamically only when a virtual_oss(8) invocation uses
+a bluetooth device.


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202509301540.58UFe3IR071382>