git: 9444a5812b7b - 2025Q2 - emulators/virtualbox-ose{,-nox11}-70: Add options OGG and VORBIS

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Tue, 13 May 2025 18:40:48 UTC
The branch 2025Q2 has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9444a5812b7b1311c3f0d2d41e313169e99077a8

commit 9444a5812b7b1311c3f0d2d41e313169e99077a8
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2025-05-11 20:43:18 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-05-13 18:38:27 +0000

    emulators/virtualbox-ose{,-nox11}-70: Add options OGG and VORBIS
    
    For audio recording.
    
    MFH:    2025Q2
    (cherry picked from commit 6e8f51b83f2febd2eefd770d7ad7877a15f78572)
---
 emulators/virtualbox-ose-70/Makefile              | 14 ++++++--
 emulators/virtualbox-ose-70/files/patch-configure | 43 +++++++++++++++++------
 emulators/virtualbox-ose-nox11-70/Makefile        |  6 ++--
 3 files changed, 46 insertions(+), 17 deletions(-)

diff --git a/emulators/virtualbox-ose-70/Makefile b/emulators/virtualbox-ose-70/Makefile
index e785466e8721..eb3ca2311040 100644
--- a/emulators/virtualbox-ose-70/Makefile
+++ b/emulators/virtualbox-ose-70/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	virtualbox-ose
 DISTVERSION=	7.0.26
-PORTREVISION?=	0
+PORTREVISION?=	1
 CATEGORIES=	emulators
 MASTER_SITES=	https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \
 		LOCAL/vvd:docs
@@ -77,8 +77,9 @@ PLIST_SUB=	GUEST_VER=${DISTVERSION} \
 
 SLAVE_PORT?=	no
 
-OPTIONS_DEFINE=		AIO ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS PULSEAUDIO \
-			PYTHON QT5 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC WEBSERVICE VPX X11
+OPTIONS_DEFINE=		AIO ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS OGG PULSEAUDIO \
+			PYTHON QT5 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC VORBIS VPX \
+			WEBSERVICE X11
 OPTIONS_DEFAULT=	AIO DBUS QT5 UDPTUNNEL VNC WEBSERVICE X11
 .if ${SLAVE_PORT} == no
 OPTIONS_DEFAULT+=	PYTHON
@@ -92,12 +93,14 @@ AIO_DESC=		Enable Asyncronous IO support (check pkg-message)
 DEBUG_DESC=		Debug symbols, additional logs and assertions
 GUESTADDITIONS_DESC=	Build with Guest Additions
 NLS_DESC=		Native language support (requires QT5)
+OGG_DESC=		Use libogg for audio recording
 QT5_DESC=		Build with QT5 frontend (requires X11)
 R0LOGGING_DESC=		Enable R0 logging (requires DEBUG)
 UDPTUNNEL_DESC=		Build with UDP tunnel support
 VBOXIMG_DESC=		Build vboximg-mount (requires fuse-libs)
 VDE_DESC=		Build with VDE support
 VNC_DESC=		Build with VNC support
+VORBIS_DESC=		Use libvorbis for audio recording
 VPX_DESC=		Use libvpx for video recording
 WEBSERVICE_DESC=	Build Webservice
 
@@ -107,6 +110,8 @@ DBUS_LIB_DEPENDS=	libdbus-1.so:devel/dbus
 DBUS_CONFIGURE_OFF=	--disable-dbus
 DEBUG_CONFIGURE_ON=	--build-debug
 NLS_IMPLIES=		QT5
+OGG_LIB_DEPENDS=	libogg.so:audio/libogg
+OGG_CONFIGURE_ON=	--enable-libogg
 PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
 PULSEAUDIO_CONFIGURE_OFF=	--disable-pulse
 PYTHON_USES=		python
@@ -127,6 +132,9 @@ VDE_RUN_DEPENDS=	vde_switch:net/vde2
 VDE_CONFIGURE_ON=	--enable-vde
 VNC_LIB_DEPENDS=	libvncserver.so:net/libvncserver
 VNC_CONFIGURE_ON=	--enable-vnc
+VORBIS_LIB_DEPENDS=	libvorbis.so:audio/libvorbis \
+			libvorbisenc.so:audio/libvorbis
+VORBIS_CONFIGURE_ON=	--enable-libvorbis
 VPX_LIB_DEPENDS=	libvpx.so:multimedia/libvpx
 VPX_CONFIGURE_OFF=	--disable-libvpx
 WEBSERVICE_BUILD_DEPENDS=	soapcpp2:devel/gsoap
diff --git a/emulators/virtualbox-ose-70/files/patch-configure b/emulators/virtualbox-ose-70/files/patch-configure
index fe0f4247089b..992770166b0f 100644
--- a/emulators/virtualbox-ose-70/files/patch-configure
+++ b/emulators/virtualbox-ose-70/files/patch-configure
@@ -1,6 +1,6 @@
---- configure.orig	2024-10-10 20:19:24.000000000 +0200
-+++ configure	2024-12-27 13:12:46.010746000 +0100
-@@ -154,10 +154,14 @@
+--- configure.orig	2025-04-11 11:59:42 UTC
++++ configure
+@@ -154,10 +154,14 @@ if [ "$OS" = "freebsd" ]; then
  if [ "$OS" = "freebsd" ]; then
    INCCURL="-I/usr/local/include"
    LIBCURL="-L/usr/local/lib -lcurl"
@@ -15,7 +15,7 @@
  else
    INCCURL=""
    LIBCURL="-lcurl"
-@@ -1207,6 +1211,9 @@
+@@ -1207,6 +1211,9 @@ extern "C" int main(int argc, char** argv)
    printf("found version %d.%d.%d",
           SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL);
  #if SDL_VERSION_ATLEAST(1,2,7)
@@ -25,7 +25,7 @@
    printf(", OK.\n");
    return 0;
  #else
-@@ -1291,7 +1298,7 @@
+@@ -1291,7 +1298,7 @@ EOF
  #endif
  }
  EOF
@@ -34,7 +34,7 @@
      test_execute
    fi
  }
-@@ -1605,6 +1612,7 @@
+@@ -1605,6 +1612,7 @@ EOF
            FLGQT5=`pkg-config Qt5Core --cflags`
            # gcc 4.8 is able to compile with C++11 (see also VBOX_GCC_std in Config.kmk)
            [ $(($cc_maj * 100 + $cc_min)) -ge 408 ] && FLGQT5="$FLGQT5 -std=c++11"
@@ -42,7 +42,28 @@
            INCQT5=`strip_I "$FLGQT5"`
            LIBDIR5=`pkg-config Qt5Core --variable=libdir`
            LIBQT5=`pkg-config Qt5Core Qt5Gui --libs`
-@@ -2180,8 +2188,8 @@
+@@ -1861,9 +1869,9 @@ check_libvorbis()
+   if which_wrapper pkg-config > /dev/null; then
+     libvorbis_ver=`pkg-config vorbis --modversion 2>> $LOG`
+     if [ $? -eq 0 ]; then
+-      FLGVRB=`pkg-config vorbis --cflags`
++      FLGVRB=`pkg-config vorbis vorbisenc --cflags`
+       INCVRB=`strip_I "$FLGVRB"`
+-      LIBVRB=`pkg-config vorbis --libs`
++      LIBVRB=`pkg-config vorbis vorbisenc --libs`
+     fi
+     cat > $ODIR.tmp_src.cc << EOF
+ #include <cstdio>
+@@ -1913,7 +1921,7 @@ EOF
+   return 0;
+ }
+ EOF
+-    [ -n "$INCOGG" ] && I_INCVRB=`prefix_I "$INCOGG"`
++    [ -n "$INCOGG" ] && I_INCOGG=`prefix_I "$INCOGG"`
+     if test_compile "$LIBOGG $I_INCOGG" ogg ogg nofatal; then
+       if test_execute; then
+         cnf_append "SDK_VBoxLibOgg_INCS" "$INCOGG"
+@@ -2180,8 +2188,8 @@ EOF
          echo "compiling the following source file:" >> $LOG
          cat $ODIR.tmp_src.cc >> $LOG
          echo "using the following command line:" >> $LOG
@@ -53,7 +74,7 @@
          if [ $? -eq 0 ]; then
            found=1
            break
-@@ -2297,7 +2305,7 @@
+@@ -2297,7 +2305,7 @@ check_gsoap()
          else
            cnf_append "VBOX_GSOAP_CXX_SOURCES" ""
          fi
@@ -62,7 +83,7 @@
          gsoap_version=`pkg-config gsoapssl++ --modversion`
          log_success "found version $gsoap_version"
          return
-@@ -2661,7 +2669,7 @@
+@@ -2661,7 +2669,7 @@ for option in "$@"; do
      --with-openssl-dir=*)
        OPENSSLDIR=`echo $option | cut -d'=' -f2`
        INCCRYPTO="-I${OPENSSLDIR}/include"
@@ -71,7 +92,7 @@
        # On Darwin (at least for macports) static OpenSSL also needs zlib.
        [ "$OS" = "darwin" ] && LIBCRYPTO="$LIBCRYPTO ${OPENSSLDIR}/lib/libz.a"
        # On Linux static OpenSSL typically needs a few additional libraries.
-@@ -3028,12 +3036,22 @@
+@@ -3028,12 +3036,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then
    [ $WITH_JAVA   -eq 1 ] && check_java
  
    # PulseAudio
@@ -100,7 +121,7 @@
    fi
  fi
  
-@@ -3049,14 +3067,6 @@
+@@ -3049,14 +3067,6 @@ if [ "$OS" = "linux" ]; then
      cnf_append "VBOX_WITHOUT_LINUX_TEST_BUILDS" "1"
    fi
    if [ $ONLY_ADDITIONS -eq 0 ]; then
diff --git a/emulators/virtualbox-ose-nox11-70/Makefile b/emulators/virtualbox-ose-nox11-70/Makefile
index b1f9189a1bd4..ae6cac9a31c3 100644
--- a/emulators/virtualbox-ose-nox11-70/Makefile
+++ b/emulators/virtualbox-ose-nox11-70/Makefile
@@ -1,10 +1,10 @@
-PORTREVISION=	0
+PORTREVISION=	1
 PKGNAMESUFFIX=	-nox11-70
 
 MASTERDIR=	${.CURDIR}/../virtualbox-ose-70
 
-OPTIONS_EXCLUDE=	ALSA DBUS DEBUG GUESTADDITIONS DOCS NLS PULSEAUDIO \
-			QT5 VPX X11
+OPTIONS_EXCLUDE=	ALSA DBUS DEBUG GUESTADDITIONS DOCS NLS OGG PULSEAUDIO \
+			QT5 VORBIS VPX X11
 
 SLAVE_PORT=	yes