diff options
Diffstat (limited to 'emulators')
145 files changed, 1812 insertions, 1276 deletions
diff --git a/emulators/86Box/Makefile b/emulators/86Box/Makefile index 6ed2545ec34e..b9d9eb97d46d 100644 --- a/emulators/86Box/Makefile +++ b/emulators/86Box/Makefile @@ -1,6 +1,6 @@ PORTNAME= 86Box DISTVERSIONPREFIX= v -DISTVERSION= 5.0 +DISTVERSION= 5.2 CATEGORIES= emulators MAINTAINER= tiga@FreeBSD.org @@ -23,38 +23,28 @@ LIB_DEPENDS= libevdev.so:devel/libevdev \ libsndfile.so:audio/libsndfile \ libxkbcommon.so:x11/libxkbcommon -FLAVORS= qt6 qt5 -FLAVOR?= qt6 -qt5_PKGNAMESUFFIX= -qt5 -qt6_PKGNAMESUFFIX= -qt6 - -USES= cmake compiler:c++11-lang gnome pkgconfig qmake sdl xorg +USES= cmake compiler:c++11-lang gl gnome pkgconfig qmake qt:6 sdl \ + xorg USE_GITHUB= yes +USE_GL= opengl USE_GNOME= glib20 +USE_QT= base tools:build USE_SDL= sdl2 USE_XORG= x11 xcb xext xi -.if ${FLAVOR} == qt5 -USES+= qt:5 -USE_QT= core gui network opengl widgets buildtools:build \ - linguisttools:build -.else BUILD_DEPENDS+= vulkan-headers>0:graphics/vulkan-headers -USES+= gl qt:6 -USE_GL= opengl -USE_QT= base tools:build CMAKE_ON= USE_QT6 -CXXFLAGS+= -I${LOCALBASE}/include/qt6/QtGui/`pkg-config --modversion Qt6Gui`/QtGui -.endif -CMAKE_ON+= RELEASE ${CMAKE_ON_${ARCH}} +CMAKE_ON+= ${CMAKE_ON_${ARCH}} RELEASE CMAKE_ON_aarch64= NEW_DYNAREC -CMAKE_OFF= DISCORD ${CMAKE_OFF_${ARCH}} +CMAKE_OFF= ${CMAKE_OFF_${ARCH}} DISCORD CMAKE_OFF_powerpc64le= DYNAREC -SUB_FILES= 86Box-install-roms.sh -SUB_LIST= DISTVERSION=${DISTVERSION} \ - DISTVERSIONPREFIX=${DISTVERSIONPREFIX} +CXXFLAGS+= -I${LOCALBASE}/include/qt6/QtGui/`pkg-config --modversion Qt6Gui`/QtGui + +SUB_FILES= 86Box-install-roms.sh +SUB_LIST= DISTVERSION=${DISTVERSION} \ + DISTVERSIONPREFIX=${DISTVERSIONPREFIX} OPTIONS_DEFINE= NLS WAYLAND OPTIONS_DEFAULT= WAYLAND @@ -64,7 +54,7 @@ NLS_CONFIGURE_ENABLE= nls WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland WAYLAND_USES= kde:5 -WAYLAND_USE= kde=ecm:build +WAYLAND_USE= KDE=ecm:build WAYLAND_CMAKE_OFF= -DCMAKE_DISABLE_FIND_PACKAGE_Wayland:BOOL=ON ICON_RESOLUTIONS= 128x128 192x192 256x256 48x48 512x512 64x64 72x72 96x96 diff --git a/emulators/86Box/distinfo b/emulators/86Box/distinfo index a08ab5ac5399..ca8e7d02684b 100644 --- a/emulators/86Box/distinfo +++ b/emulators/86Box/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1756060000 -SHA256 (86Box-86Box-v5.0_GH0.tar.gz) = 00899cb06eb5591df57756d13929a470e50d5d87bc219d1d1d36ae7bbe83a4bf -SIZE (86Box-86Box-v5.0_GH0.tar.gz) = 13880473 +TIMESTAMP = 1761772842 +SHA256 (86Box-86Box-v5.2_GH0.tar.gz) = 0cdc51993563f88c1b586429207f004cdb08917887008d6b224d3cc2779559a3 +SIZE (86Box-86Box-v5.2_GH0.tar.gz) = 13933308 diff --git a/emulators/86Box/files/patch-cmake_flags-gcc-aarch64.cmake b/emulators/86Box/files/patch-cmake_flags-gcc-aarch64.cmake deleted file mode 100644 index 3a58a593294f..000000000000 --- a/emulators/86Box/files/patch-cmake_flags-gcc-aarch64.cmake +++ /dev/null @@ -1,10 +0,0 @@ ---- cmake/flags-gcc-aarch64.cmake.orig 2024-07-26 18:14:45 UTC -+++ cmake/flags-gcc-aarch64.cmake -@@ -14,7 +14,4 @@ - # Copyright 2021 David Hrdlička. - # - --string(APPEND CMAKE_C_FLAGS_INIT " -march=armv8-a") --string(APPEND CMAKE_CXX_FLAGS_INIT " -march=armv8-a") -- - include(${CMAKE_CURRENT_LIST_DIR}/flags-gcc.cmake) diff --git a/emulators/86Box/files/patch-cmake_flags-gcc-armv7.cmake b/emulators/86Box/files/patch-cmake_flags-gcc-armv7.cmake deleted file mode 100644 index 5809748fa55e..000000000000 --- a/emulators/86Box/files/patch-cmake_flags-gcc-armv7.cmake +++ /dev/null @@ -1,10 +0,0 @@ ---- cmake/flags-gcc-armv7.cmake.orig 2024-07-26 18:16:08 UTC -+++ cmake/flags-gcc-armv7.cmake -@@ -14,7 +14,4 @@ - # Copyright 2021 David Hrdlička. - # - --string(APPEND CMAKE_C_FLAGS_INIT " -march=armv7-a+fp -mfloat-abi=hard") --string(APPEND CMAKE_CXX_FLAGS_INIT " -march=armv7-a+fp -mfloat-abi=hard") -- - include(${CMAKE_CURRENT_LIST_DIR}/flags-gcc.cmake) diff --git a/emulators/86Box/files/patch-cmake_flags-gcc-x86__64.cmake b/emulators/86Box/files/patch-cmake_flags-gcc-x86__64.cmake deleted file mode 100644 index 100bdd0cb47c..000000000000 --- a/emulators/86Box/files/patch-cmake_flags-gcc-x86__64.cmake +++ /dev/null @@ -1,12 +0,0 @@ ---- cmake/flags-gcc-x86_64.cmake.orig 2024-07-26 18:16:26 UTC -+++ cmake/flags-gcc-x86_64.cmake -@@ -14,7 +14,7 @@ - # Copyright 2021 David Hrdlička. - # - --string(APPEND CMAKE_C_FLAGS_INIT " -m64 -march=x86-64 -msse2 -mfpmath=sse -mstackrealign") --string(APPEND CMAKE_CXX_FLAGS_INIT " -m64 -march=x86-64 -msse2 -mfpmath=sse -mstackrealign") -+string(APPEND CMAKE_C_FLAGS_INIT " -mstackrealign") -+string(APPEND CMAKE_CXX_FLAGS_INIT " -mstackrealign") - - include(${CMAKE_CURRENT_LIST_DIR}/flags-gcc.cmake) diff --git a/emulators/86Box/files/patch-cmake_flags-gcc.cmake b/emulators/86Box/files/patch-cmake_flags-gcc.cmake deleted file mode 100644 index d9b56c9c71ed..000000000000 --- a/emulators/86Box/files/patch-cmake_flags-gcc.cmake +++ /dev/null @@ -1,11 +0,0 @@ ---- cmake/flags-gcc.cmake.orig 2024-07-26 18:17:03 UTC -+++ cmake/flags-gcc.cmake -@@ -16,8 +16,6 @@ string(APPEND CMAKE_CXX_FLAGS_INIT " -fom - # Define our flags - string(APPEND CMAKE_C_FLAGS_INIT " -fomit-frame-pointer -Wall -fno-strict-aliasing -Werror=implicit-int -Werror=implicit-function-declaration -Werror=int-conversion -Werror=strict-prototypes -Werror=old-style-definition") - string(APPEND CMAKE_CXX_FLAGS_INIT " -fomit-frame-pointer -Wall -fno-strict-aliasing") --string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -g0 -O3") --string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " -g0 -O3") - string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " -ggdb -Og") - string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " -ggdb -Og") - string(APPEND CMAKE_C_FLAGS_OPTIMIZED_INIT " -march=native -mtune=native -O3 -ffp-contract=fast -flto") diff --git a/emulators/86Box/files/patch-src_cdrom_CMakeLists.txt b/emulators/86Box/files/patch-src_cdrom_CMakeLists.txt deleted file mode 100644 index c02dd2399e58..000000000000 --- a/emulators/86Box/files/patch-src_cdrom_CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ ---- src/cdrom/CMakeLists.txt.orig 2025-08-24 18:40:59 UTC -+++ src/cdrom/CMakeLists.txt -@@ -26,6 +26,7 @@ target_link_libraries(86Box PkgConfig::SNDFILE) - cdrom_mke.c - ) - target_link_libraries(86Box PkgConfig::SNDFILE) -+target_include_directories(cdrom PRIVATE /usr/local/include) - - if(CDROM_MITSUMI) - target_compile_definitions(cdrom PRIVATE USE_CDROM_MITSUMI) diff --git a/emulators/86Box/files/patch-src_network_CMakeLists.txt b/emulators/86Box/files/patch-src_network_CMakeLists.txt deleted file mode 100644 index 6009eef2e7cb..000000000000 --- a/emulators/86Box/files/patch-src_network_CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ ---- src/network/CMakeLists.txt.orig 2025-08-24 18:50:29 UTC -+++ src/network/CMakeLists.txt -@@ -71,6 +71,7 @@ if (UNIX) - endif() - - if (UNIX) -+ set_source_files_properties(net_slirp.c PROPERTIES COMPILE_FLAGS "-I/usr/local/include") - find_path(HAS_VDE "libvdeplug.h" PATHS ${VDE_INCLUDE_DIR} "/usr/include /usr/local/include" "/opt/homebrew/include" ) - if(HAS_VDE) - find_library(VDE_LIB vdeplug) diff --git a/emulators/86Box/files/patch-src_printer_CMakeLists.txt b/emulators/86Box/files/patch-src_printer_CMakeLists.txt deleted file mode 100644 index a07e28d70427..000000000000 --- a/emulators/86Box/files/patch-src_printer_CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ ---- src/printer/CMakeLists.txt.orig 2025-08-24 12:26:31 UTC -+++ src/printer/CMakeLists.txt -@@ -37,6 +37,7 @@ target_link_libraries(86Box PkgConfig::FREETYPE) - find_package(PkgConfig REQUIRED) - pkg_check_modules(FREETYPE REQUIRED IMPORTED_TARGET freetype2) - target_link_libraries(86Box PkgConfig::FREETYPE) -+target_include_directories(print PRIVATE ${FREETYPE_INCLUDE_DIRS}) - if(STATIC_BUILD) - # if(QT) - # Qt provides its own version of harfbuzz which leads to duplicated symbols. diff --git a/emulators/86Box/files/patch-src_qt_qt__mainwindow.cpp b/emulators/86Box/files/patch-src_qt_qt__mainwindow.cpp deleted file mode 100644 index 89635e4db214..000000000000 --- a/emulators/86Box/files/patch-src_qt_qt__mainwindow.cpp +++ /dev/null @@ -1,10 +0,0 @@ ---- src/qt/qt_mainwindow.cpp.orig 2025-08-24 12:26:31 UTC -+++ src/qt/qt_mainwindow.cpp -@@ -469,6 +469,7 @@ MainWindow::MainWindow(QWidget *parent) - - #if QT_CONFIG(vulkan) - bool vulkanAvailable = false; -+ if (0) - { - QVulkanInstance instance; - instance.setApiVersion(QVersionNumber(1, 0)); diff --git a/emulators/86Box/files/patch-src_qt_qt__vmmanager__details.cpp b/emulators/86Box/files/patch-src_qt_qt__vmmanager__details.cpp deleted file mode 100644 index 6386154d5c15..000000000000 --- a/emulators/86Box/files/patch-src_qt_qt__vmmanager__details.cpp +++ /dev/null @@ -1,79 +0,0 @@ ---- src/qt/qt_vmmanager_details.cpp.orig 2025-08-24 19:07:21 UTC -+++ src/qt/qt_vmmanager_details.cpp -@@ -248,52 +248,52 @@ VMManagerDetails::updateConfig(VMManagerSystem *passed - - // System - systemSection->clear(); -- systemSection->addSection("Machine", passed_sysconfig->getDisplayValue(Display::Name::Machine)); -- systemSection->addSection("CPU", passed_sysconfig->getDisplayValue(Display::Name::CPU)); -- systemSection->addSection("Memory", passed_sysconfig->getDisplayValue(Display::Name::Memory)); -+ systemSection->addSection("Machine", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Machine)); -+ systemSection->addSection("CPU", passed_sysconfig->getDisplayValue(VMManager::Display::Name::CPU)); -+ systemSection->addSection("Memory", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Memory)); - - // Video - videoSection->clear(); -- videoSection->addSection("Video", passed_sysconfig->getDisplayValue(Display::Name::Video)); -- if(!passed_sysconfig->getDisplayValue(Display::Name::Voodoo).isEmpty()) { -- videoSection->addSection("Voodoo", passed_sysconfig->getDisplayValue(Display::Name::Voodoo)); -+ videoSection->addSection("Video", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Video)); -+ if(!passed_sysconfig->getDisplayValue(VMManager::Display::Name::Voodoo).isEmpty()) { -+ videoSection->addSection("Voodoo", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Voodoo)); - } - - // Disks - storageSection->clear(); -- storageSection->addSection("Disks", passed_sysconfig->getDisplayValue(Display::Name::Disks)); -- storageSection->addSection("Floppy", passed_sysconfig->getDisplayValue(Display::Name::Floppy)); -- storageSection->addSection("CD-ROM", passed_sysconfig->getDisplayValue(Display::Name::CD)); -- storageSection->addSection("Removable disks", passed_sysconfig->getDisplayValue(Display::Name::RDisk)); -- storageSection->addSection("MO", passed_sysconfig->getDisplayValue(Display::Name::MO)); -- storageSection->addSection("SCSI", passed_sysconfig->getDisplayValue(Display::Name::SCSIController)); -- storageSection->addSection("Controllers", passed_sysconfig->getDisplayValue(Display::Name::StorageController)); -+ storageSection->addSection("Disks", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Disks)); -+ storageSection->addSection("Floppy", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Floppy)); -+ storageSection->addSection("CD-ROM", passed_sysconfig->getDisplayValue(VMManager::Display::Name::CD)); -+ storageSection->addSection("Removable disks", passed_sysconfig->getDisplayValue(VMManager::Display::Name::RDisk)); -+ storageSection->addSection("MO", passed_sysconfig->getDisplayValue(VMManager::Display::Name::MO)); -+ storageSection->addSection("SCSI", passed_sysconfig->getDisplayValue(VMManager::Display::Name::SCSIController)); -+ storageSection->addSection("Controllers", passed_sysconfig->getDisplayValue(VMManager::Display::Name::StorageController)); - - // Audio - audioSection->clear(); -- audioSection->addSection("Audio", passed_sysconfig->getDisplayValue(Display::Name::Audio)); -- audioSection->addSection("MIDI Out", passed_sysconfig->getDisplayValue(Display::Name::MidiOut)); -+ audioSection->addSection("Audio", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Audio)); -+ audioSection->addSection("MIDI Out", passed_sysconfig->getDisplayValue(VMManager::Display::Name::MidiOut)); - - // Network - networkSection->clear(); -- networkSection->addSection("NIC", passed_sysconfig->getDisplayValue(Display::Name::NIC)); -+ networkSection->addSection("NIC", passed_sysconfig->getDisplayValue(VMManager::Display::Name::NIC)); - - // Input - inputSection->clear(); -- inputSection->addSection("Keyboard", passed_sysconfig->getDisplayValue(Display::Name::Keyboard)); -- inputSection->addSection("Mouse", passed_sysconfig->getDisplayValue(Display::Name::Mouse)); -- inputSection->addSection("Joystick", passed_sysconfig->getDisplayValue(Display::Name::Joystick)); -+ inputSection->addSection("Keyboard", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Keyboard)); -+ inputSection->addSection("Mouse", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Mouse)); -+ inputSection->addSection("Joystick", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Joystick)); - - // Ports - portsSection->clear(); -- portsSection->addSection("Serial ports", passed_sysconfig->getDisplayValue(Display::Name::Serial)); -- portsSection->addSection("Parallel ports", passed_sysconfig->getDisplayValue(Display::Name::Parallel)); -+ portsSection->addSection("Serial ports", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Serial)); -+ portsSection->addSection("Parallel ports", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Parallel)); - - // Other devices - otherSection->clear(); -- otherSection->addSection("ISA RTC", passed_sysconfig->getDisplayValue(Display::Name::IsaRtc)); -- otherSection->addSection("ISA RAM", passed_sysconfig->getDisplayValue(Display::Name::IsaMem)); -- otherSection->addSection("ISA ROM", passed_sysconfig->getDisplayValue(Display::Name::IsaRom)); -+ otherSection->addSection("ISA RTC", passed_sysconfig->getDisplayValue(VMManager::Display::Name::IsaRtc)); -+ otherSection->addSection("ISA RAM", passed_sysconfig->getDisplayValue(VMManager::Display::Name::IsaMem)); -+ otherSection->addSection("ISA ROM", passed_sysconfig->getDisplayValue(VMManager::Display::Name::IsaRom)); - - systemSection->setSections(); - videoSection->setSections(); diff --git a/emulators/86Box/files/patch-src_qt_qt__vmmanager__detailsection.cpp b/emulators/86Box/files/patch-src_qt_qt__vmmanager__detailsection.cpp deleted file mode 100644 index 4b35ec0aa35b..000000000000 --- a/emulators/86Box/files/patch-src_qt_qt__vmmanager__detailsection.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/qt/qt_vmmanager_detailsection.cpp.orig 2025-08-24 19:05:30 UTC -+++ src/qt/qt_vmmanager_detailsection.cpp -@@ -145,7 +145,7 @@ void - } - - void --VMManagerDetailSection::addSection(const QString &name, const QString &value, Display::Name displayField) -+VMManagerDetailSection::addSection(const QString &name, const QString &value, VMManager::Display::Name displayField) - { - const auto new_section = DetailSection { name, value}; - sections.push_back(new_section); diff --git a/emulators/86Box/files/patch-src_qt_qt__vmmanager__system.cpp b/emulators/86Box/files/patch-src_qt_qt__vmmanager__system.cpp deleted file mode 100644 index aa94a21eab29..000000000000 --- a/emulators/86Box/files/patch-src_qt_qt__vmmanager__system.cpp +++ /dev/null @@ -1,219 +0,0 @@ ---- src/qt/qt_vmmanager_system.cpp.orig 2025-08-24 19:09:53 UTC -+++ src/qt/qt_vmmanager_system.cpp -@@ -557,7 +557,7 @@ VMManagerSystem::setupVars() { - } - } - } -- display_table[Display::Name::Machine] = machine_name; -+ display_table[VMManager::Display::Name::Machine] = machine_name; - - // CPU: Combine name with speed and FPU - QString cpu_name = "Unknown"; -@@ -592,34 +592,34 @@ VMManagerSystem::setupVars() { - // int speed_display = machine_config["cpu_speed"].toInt() / 1000000; - // cpu_name.append(QString::number(speed_display).prepend(" / ")); - // cpu_name.append(QCoreApplication::translate("", "MHz").prepend(' ')); -- display_table[Display::Name::CPU] = cpu_name; -+ display_table[VMManager::Display::Name::CPU] = cpu_name; - - // Memory - int divisor = (ram_granularity < 1024) ? 1 : 1024; - QString display_unit = (divisor == 1) ? "KB" : "MB"; - auto mem_display = QString::number(machine_config["mem_size"].toInt() / divisor); - mem_display.append(QCoreApplication::translate("", display_unit.toUtf8().constData()).prepend(' ')); -- display_table[Display::Name::Memory] = mem_display; -+ display_table[VMManager::Display::Name::Memory] = mem_display; - - // Video card - int video_int = video_get_video_from_internal_name(video_config["gfxcard"].toUtf8().data()); - const device_t* video_dev = video_card_getdevice(video_int); -- display_table[Display::Name::Video] = DeviceConfig::DeviceName(video_dev, video_get_internal_name(video_int), 1); -+ display_table[VMManager::Display::Name::Video] = DeviceConfig::DeviceName(video_dev, video_get_internal_name(video_int), 1); - - // Secondary video - if (video_config.contains("gfxcard_2")) { - int video2_int = video_get_video_from_internal_name(video_config["gfxcard_2"].toUtf8().data()); - const device_t* video2_dev = video_card_getdevice(video2_int); -- display_table[Display::Name::Video].append(DeviceConfig::DeviceName(video2_dev, video_get_internal_name(video2_int), 1).prepend(VMManagerDetailSection::sectionSeparator)); -+ display_table[VMManager::Display::Name::Video].append(DeviceConfig::DeviceName(video2_dev, video_get_internal_name(video2_int), 1).prepend(VMManagerDetailSection::sectionSeparator)); - } - - // Add-on video that's not Voodoo - if (video_config.contains("8514a") && (video_config["8514a"].toInt() != 0)) -- display_table[Display::Name::Video].append(tr("IBM 8514/A Graphics").prepend(VMManagerDetailSection::sectionSeparator)); -+ display_table[VMManager::Display::Name::Video].append(tr("IBM 8514/A Graphics").prepend(VMManagerDetailSection::sectionSeparator)); - if (video_config.contains("xga") && (video_config["xga"].toInt() != 0)) -- display_table[Display::Name::Video].append(tr("XGA Graphics").prepend(VMManagerDetailSection::sectionSeparator)); -+ display_table[VMManager::Display::Name::Video].append(tr("XGA Graphics").prepend(VMManagerDetailSection::sectionSeparator)); - if (video_config.contains("da2") && (video_config["da2"].toInt() != 0)) -- display_table[Display::Name::Video].append(tr("IBM PS/55 Display Adapter Graphics").prepend(VMManagerDetailSection::sectionSeparator)); -+ display_table[VMManager::Display::Name::Video].append(tr("IBM PS/55 Display Adapter Graphics").prepend(VMManagerDetailSection::sectionSeparator)); - - // Voodoo - QString voodoo_name = ""; -@@ -641,7 +641,7 @@ VMManagerSystem::setupVars() { - break; - } - } -- display_table[Display::Name::Voodoo] = voodoo_name; -+ display_table[VMManager::Display::Name::Voodoo] = voodoo_name; - - // Drives - // First the number of disks -@@ -666,7 +666,7 @@ VMManagerSystem::setupVars() { - if (disks.count()) { - disks_display.append(" / ").append(bus_types.keys().join(", ").toUpper()); - } --// display_table[Display::Name::Disks] = disks_display; -+// display_table[VMManager::Display::Name::Disks] = disks_display; - - // Drives - QString new_disk_display; -@@ -699,7 +699,7 @@ VMManagerSystem::setupVars() { - if(new_disk_display.isEmpty()) { - new_disk_display = tr("No disks"); - } -- display_table[Display::Name::Disks] = new_disk_display; -+ display_table[VMManager::Display::Name::Disks] = new_disk_display; - - // Floppy & CD-ROM - QStringList floppyDevices; -@@ -748,8 +748,8 @@ VMManagerSystem::setupVars() { - } - } - -- display_table[Display::Name::Floppy] = floppyDevices.join(VMManagerDetailSection::sectionSeparator); -- display_table[Display::Name::CD] = cdromDevices.join(VMManagerDetailSection::sectionSeparator); -+ display_table[VMManager::Display::Name::Floppy] = floppyDevices.join(VMManagerDetailSection::sectionSeparator); -+ display_table[VMManager::Display::Name::CD] = cdromDevices.join(VMManagerDetailSection::sectionSeparator); - - // Removable disks & MO - QStringList rdiskDevices; -@@ -786,8 +786,8 @@ VMManagerSystem::setupVars() { - } - } - -- display_table[Display::Name::RDisk] = rdiskDevices.join(VMManagerDetailSection::sectionSeparator); -- display_table[Display::Name::MO] = moDevices.join(VMManagerDetailSection::sectionSeparator); -+ display_table[VMManager::Display::Name::RDisk] = rdiskDevices.join(VMManagerDetailSection::sectionSeparator); -+ display_table[VMManager::Display::Name::MO] = moDevices.join(VMManagerDetailSection::sectionSeparator); - - - // SCSI controllers -@@ -805,7 +805,7 @@ VMManagerSystem::setupVars() { - } - } - } -- display_table[Display::Name::SCSIController] = scsiControllers.join(VMManagerDetailSection::sectionSeparator); -+ display_table[VMManager::Display::Name::SCSIController] = scsiControllers.join(VMManagerDetailSection::sectionSeparator); - - // Hard and floppy disk controllers - QStringList storageControllers; -@@ -864,7 +864,7 @@ VMManagerSystem::setupVars() { - if (storage_config.contains(ide_qua_internal_name) && (storage_config[ide_qua_internal_name].toInt() != 0)) - storageControllers.append(DeviceConfig::DeviceName(hdc_get_device(hdc_get_from_internal_name(ide_qua_internal_name.toUtf8().data())), ide_qua_internal_name.toUtf8().constData(), 1)); - -- display_table[Display::Name::StorageController] = storageControllers.join(VMManagerDetailSection::sectionSeparator); -+ display_table[VMManager::Display::Name::StorageController] = storageControllers.join(VMManagerDetailSection::sectionSeparator); - - // Audio - QStringList sndCards; -@@ -889,7 +889,7 @@ VMManagerSystem::setupVars() { - if(sndCards.isEmpty()) { - sndCards.append(tr("None")); - } -- display_table[Display::Name::Audio] = sndCards.join(VMManagerDetailSection::sectionSeparator); -+ display_table[VMManager::Display::Name::Audio] = sndCards.join(VMManagerDetailSection::sectionSeparator); - - // MIDI - QString midiOutDev; -@@ -901,7 +901,7 @@ VMManagerSystem::setupVars() { - midiOutDev = midiDevName; - } - } -- display_table[Display::Name::MidiOut] = midiOutDev; -+ display_table[VMManager::Display::Name::MidiOut] = midiOutDev; - - // midi_device = mt32 (output) - // mpu401_standalone = 1 -@@ -940,21 +940,21 @@ VMManagerSystem::setupVars() { - if(nicList.isEmpty()) { - nicList.append(tr("None")); - } -- display_table[Display::Name::NIC] = nicList.join(VMManagerDetailSection::sectionSeparator); -+ display_table[VMManager::Display::Name::NIC] = nicList.join(VMManagerDetailSection::sectionSeparator); - - // Input (Keyboard) - if (input_config.contains("keyboard_type")) { - auto keyboard_internal_name = input_config["keyboard_type"]; - auto keyboard_dev = keyboard_get_from_internal_name(keyboard_internal_name.toUtf8().data()); - auto keyboard_dev_name = DeviceConfig::DeviceName(keyboard_get_device(keyboard_dev), keyboard_get_internal_name(keyboard_dev), 0); -- display_table[Display::Name::Keyboard] = keyboard_dev_name; -+ display_table[VMManager::Display::Name::Keyboard] = keyboard_dev_name; - } - - // Input (Mouse) - auto mouse_internal_name = input_config["mouse_type"]; - auto mouse_dev = mouse_get_from_internal_name(mouse_internal_name.toUtf8().data()); - auto mouse_dev_name = DeviceConfig::DeviceName(mouse_get_device(mouse_dev), mouse_get_internal_name(mouse_dev), 0); -- display_table[Display::Name::Mouse] = mouse_dev_name; -+ display_table[VMManager::Display::Name::Mouse] = mouse_dev_name; - - // Input (joystick) - QString joystickDevice; -@@ -965,7 +965,7 @@ VMManagerSystem::setupVars() { - joystickDevice = joystickName; - } - } -- display_table[Display::Name::Joystick] = joystickDevice; -+ display_table[VMManager::Display::Name::Joystick] = joystickDevice; - - // # Ports - // Serial -@@ -1026,8 +1026,8 @@ VMManagerSystem::setupVars() { - if (portIndex == PARALLEL_MAX) - break; - } -- display_table[Display::Name::Serial] = (serialFinal.empty() ? tr("None") : serialFinal.join(", ")); -- display_table[Display::Name::Parallel] = (lptFinal.empty() ? tr("None") : lptFinal.join((hasLptDevices ? VMManagerDetailSection::sectionSeparator : ", "))); -+ display_table[VMManager::Display::Name::Serial] = (serialFinal.empty() ? tr("None") : serialFinal.join(", ")); -+ display_table[VMManager::Display::Name::Parallel] = (lptFinal.empty() ? tr("None") : lptFinal.join((hasLptDevices ? VMManagerDetailSection::sectionSeparator : ", "))); - - // ISA RTC - QString isartc_dev_name = ""; -@@ -1036,7 +1036,7 @@ VMManagerSystem::setupVars() { - auto isartc_dev = isartc_get_from_internal_name(isartc_internal_name.toUtf8().data()); - isartc_dev_name = DeviceConfig::DeviceName(isartc_get_device(isartc_dev), isartc_get_internal_name(isartc_dev), 0); - } -- display_table[Display::Name::IsaRtc] = isartc_dev_name; -+ display_table[VMManager::Display::Name::IsaRtc] = isartc_dev_name; - - // ISA RAM - QStringList IsaMemCards; -@@ -1053,7 +1053,7 @@ VMManagerSystem::setupVars() { - } - } - } -- display_table[Display::Name::IsaMem] = IsaMemCards.join(VMManagerDetailSection::sectionSeparator); -+ display_table[VMManager::Display::Name::IsaMem] = IsaMemCards.join(VMManagerDetailSection::sectionSeparator); - - // ISA ROM - QStringList IsaRomCards; -@@ -1070,7 +1070,7 @@ VMManagerSystem::setupVars() { - } - } - } -- display_table[Display::Name::IsaRom] = IsaRomCards.join(VMManagerDetailSection::sectionSeparator); -+ display_table[VMManager::Display::Name::IsaRom] = IsaRomCards.join(VMManagerDetailSection::sectionSeparator); - } - - bool -@@ -1119,7 +1119,7 @@ QString - processStatusChanged(); - } - QString --VMManagerSystem::getDisplayValue(Display::Name key) -+VMManagerSystem::getDisplayValue(VMManager::Display::Name key) - { - return (display_table.contains(key)) ? display_table[key] : ""; - } diff --git a/emulators/86Box/files/patch-src_video_CMakeLists.txt b/emulators/86Box/files/patch-src_video_CMakeLists.txt deleted file mode 100644 index 36e929c16c4b..000000000000 --- a/emulators/86Box/files/patch-src_video_CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ ---- src/video/CMakeLists.txt.orig 2025-08-24 18:56:26 UTC -+++ src/video/CMakeLists.txt -@@ -143,6 +143,8 @@ add_library(vid OBJECT - - ) - -+target_include_directories(vid PRIVATE /usr/local/include) -+ - if(G100) - target_compile_definitions(vid PRIVATE USE_G100) - endif() diff --git a/emulators/Makefile b/emulators/Makefile index dc3ed992a512..dfd04a82b365 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -17,8 +17,6 @@ SUBDIR += catapult SUBDIR += cemu SUBDIR += cingb - SUBDIR += citra - SUBDIR += citra-qt5 SUBDIR += cpmtools SUBDIR += cpmtools2 SUBDIR += darcnes @@ -161,8 +159,14 @@ SUBDIR += virtualbox-ose-71 SUBDIR += virtualbox-ose-72 SUBDIR += virtualbox-ose-additions + SUBDIR += virtualbox-ose-additions-70 + SUBDIR += virtualbox-ose-additions-71 + SUBDIR += virtualbox-ose-additions-72 SUBDIR += virtualbox-ose-additions-legacy SUBDIR += virtualbox-ose-additions-nox11 + SUBDIR += virtualbox-ose-additions-nox11-70 + SUBDIR += virtualbox-ose-additions-nox11-71 + SUBDIR += virtualbox-ose-additions-nox11-72 SUBDIR += virtualbox-ose-additions-nox11-legacy SUBDIR += virtualbox-ose-kmod SUBDIR += virtualbox-ose-kmod-70 diff --git a/emulators/Ymir/Makefile b/emulators/Ymir/Makefile index aaf5d4ed0a8c..f0c983419558 100644 --- a/emulators/Ymir/Makefile +++ b/emulators/Ymir/Makefile @@ -1,6 +1,7 @@ PORTNAME= Ymir DISTVERSIONPREFIX= v -DISTVERSION= 0.1.8 +DISTVERSION= 0.2.0 +PORTREVISION= 1 CATEGORIES= emulators MAINTAINER= bsdcode@disroot.org @@ -16,17 +17,23 @@ ONLY_FOR_ARCHS_REASON= upstream only supports aarch64 and amd64 BUILD_DEPENDS= cereal>0:devel/cereal \ concurrentqueue>0:devel/concurrentqueue \ cxxopts>0:devel/cxxopts \ + date>0:devel/date \ glslangValidator:graphics/glslang \ glslc:graphics/shaderc \ + libnghttp3>0:www/libnghttp3 \ + libngtcp2>0:net/libngtcp2 \ + nlohmann-json>0:devel/nlohmann-json \ + semver>0:devel/semver \ stb>0:devel/stb \ - tomlplusplus>0:devel/tomlplusplus \ vulkan-headers>0:graphics/vulkan-headers LIB_DEPENDS= libchdr.so:devel/libchdr \ + libcurl.so:ftp/curl \ libfmt.so:devel/libfmt \ libglfw.so:graphics/glfw \ libimgui.so:x11-toolkits/imgui \ liblz4.so:archivers/liblz4 \ librtmidi.so:audio/rtmidi \ + libtomlplusplus.so:devel/tomlplusplus \ libvulkan.so:graphics/vulkan-loader \ libxxhash.so:devel/xxhash @@ -39,11 +46,11 @@ ${FLAVOR}_BUILD_DEPENDS= ${_${FLAVOR}_BR_DEPENDS} ${FLAVOR}_RUN_DEPENDS= ${_${FLAVOR}_BR_DEPENDS} USES= cmake compiler:c++20-lang desktop-file-utils gl \ - llvm${_LLVM_${ARCH}} pkgconfig sdl xorg + llvm${_LLVM_${ARCH}} localbase pkgconfig sdl xorg _LLVM_aarch64= :min=21 USE_GITHUB= yes GH_ACCOUNT= StrikerX3 -GH_TUPLE= StrikerX3:mio:c9dbe3a6f74b2c2c4a6c9621005c3df213a33eaa:mio/vendor/mio +GH_TUPLE= StrikerX3:mio:4e4cdc711d73d9dc96c0cb9475e6951f476218e6:mio/vendor/mio USE_GL= glut USE_SDL= sdl3 USE_XORG= xi xmu @@ -52,8 +59,7 @@ CMAKE_OFF= Ymir_DEV_BUILD \ Ymir_ENABLE_IMGUI_DEMO \ Ymir_ENABLE_SANDBOX \ Ymir_ENABLE_TESTS \ - Ymir_INCLUDE_PACKAGING \ - Ymir_SHARED_LIBS + Ymir_INCLUDE_PACKAGING CFLAGS+= -I${LOCALBASE}/include/concurrentqueue/moodycamel \ -I${LOCALBASE}/include/stb \ @@ -80,7 +86,7 @@ post-install: ${INSTALL_DATA} ${WRKSRC}/apps/ymir-sdl3/res/io.github.strikerx3.ymir.desktop \ ${STAGEDIR}${DESKTOPDIR} ${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps \ - ${STAGEDIR}${PREFIX}/share/metainfo + ${STAGEDIR}${PREFIX}/share/metainfo ${INSTALL_DATA} ${WRKSRC}/apps/ymir-sdl3/res/ymir.png \ ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps ${INSTALL_DATA} ${WRKSRC}/apps/ymir-sdl3/res/io.github.strikerx3.ymir.xml \ diff --git a/emulators/Ymir/distinfo b/emulators/Ymir/distinfo index ea0e78976f0f..26b0995b0a76 100644 --- a/emulators/Ymir/distinfo +++ b/emulators/Ymir/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1757486628 -SHA256 (StrikerX3-Ymir-v0.1.8_GH0.tar.gz) = 6a5951c25a4a1796c0643aacdced3f31099014e4f89412c5eb11bb385c0218d3 -SIZE (StrikerX3-Ymir-v0.1.8_GH0.tar.gz) = 5477804 -SHA256 (StrikerX3-mio-c9dbe3a6f74b2c2c4a6c9621005c3df213a33eaa_GH0.tar.gz) = 384d3a3ee249ebda0766fa5dc9f8bc5a871c8b2e3d3eedf46f330e6350058738 -SIZE (StrikerX3-mio-c9dbe3a6f74b2c2c4a6c9621005c3df213a33eaa_GH0.tar.gz) = 34871 +TIMESTAMP = 1760363610 +SHA256 (StrikerX3-Ymir-v0.2.0_GH0.tar.gz) = 82270cd8cb0694d7575e1437e9a378e925d85c02cdb2c7eb7557eb8870fd5894 +SIZE (StrikerX3-Ymir-v0.2.0_GH0.tar.gz) = 6306947 +SHA256 (StrikerX3-mio-4e4cdc711d73d9dc96c0cb9475e6951f476218e6_GH0.tar.gz) = 5da72ba39d70edab8cc42075c40895758c4a4ad905f9254ed5fd216757331773 +SIZE (StrikerX3-mio-4e4cdc711d73d9dc96c0cb9475e6951f476218e6_GH0.tar.gz) = 34878 diff --git a/emulators/Ymir/files/patch-apps_ymir-sdl3_CMakeLists.txt b/emulators/Ymir/files/patch-apps_ymir-sdl3_CMakeLists.txt index e18e7f768ee3..8ba4d51260aa 100644 --- a/emulators/Ymir/files/patch-apps_ymir-sdl3_CMakeLists.txt +++ b/emulators/Ymir/files/patch-apps_ymir-sdl3_CMakeLists.txt @@ -1,11 +1,18 @@ ---- apps/ymir-sdl3/CMakeLists.txt.orig 2025-07-20 22:35:27 UTC +--- apps/ymir-sdl3/CMakeLists.txt.orig 2025-10-12 17:41:59 UTC +++ apps/ymir-sdl3/CMakeLists.txt -@@ -256,7 +256,7 @@ target_link_libraries(ymir-sdl3 PRIVATE - fmt - cxxopts - imgui::imgui -- tomlplusplus::tomlplusplus -+# tomlplusplus::tomlplusplus - cereal::cereal - lz4::lz4 - stb::stb +@@ -352,12 +352,12 @@ find_package(date CONFIG REQUIRED) + find_package(cereal CONFIG REQUIRED) + find_package(cxxopts CONFIG REQUIRED) + find_package(date CONFIG REQUIRED) +-find_package(OpenSSL CONFIG REQUIRED) + find_package(CURL REQUIRED) ++add_library(CURL::libcurl_static ALIAS CURL::libcurl) + find_package(fmt CONFIG REQUIRED) +-find_package(rtmidi CONFIG REQUIRED) ++pkg_check_modules(rtmidi REQUIRED IMPORTED_TARGET rtmidi) ++add_library(RtMidi::rtmidi ALIAS PkgConfig::rtmidi) + find_package(SDL3 CONFIG REQUIRED) +-find_package(Stb REQUIRED) + find_package(tomlplusplus CONFIG REQUIRED) + + target_include_directories(ymir-sdl3 diff --git a/emulators/Ymir/files/patch-apps_ymir-sdl3_src_app_ui_views_settings_cdblock__settings__view.cpp b/emulators/Ymir/files/patch-apps_ymir-sdl3_src_app_ui_views_settings_cdblock__settings__view.cpp new file mode 100644 index 000000000000..b9ecadb667d6 --- /dev/null +++ b/emulators/Ymir/files/patch-apps_ymir-sdl3_src_app_ui_views_settings_cdblock__settings__view.cpp @@ -0,0 +1,11 @@ +--- apps/ymir-sdl3/src/app/ui/views/settings/cdblock_settings_view.cpp.orig 2025-10-13 11:40:42 UTC ++++ apps/ymir-sdl3/src/app/ui/views/settings/cdblock_settings_view.cpp +@@ -6,7 +6,7 @@ + + #include <util/sdl_file_dialog.hpp> + +-#include <misc/cpp/imgui_stdlib.h> ++#include <imgui_stdlib.h> + + #include <SDL3/SDL_misc.h> + diff --git a/emulators/Ymir/files/patch-apps_ymir-sdl3_src_app_ui_windows_about__window.cpp b/emulators/Ymir/files/patch-apps_ymir-sdl3_src_app_ui_windows_about__window.cpp new file mode 100644 index 000000000000..a42fe54d23b6 --- /dev/null +++ b/emulators/Ymir/files/patch-apps_ymir-sdl3_src_app_ui_windows_about__window.cpp @@ -0,0 +1,14 @@ +--- apps/ymir-sdl3/src/app/ui/windows/about_window.cpp.orig 2025-10-14 17:56:52 UTC ++++ apps/ymir-sdl3/src/app/ui/windows/about_window.cpp +@@ -48,6 +48,11 @@ + #define ZLIB_VERSION "1.3.1" // Private dependency of libchdr + #define ZSTD_VERSION "1.5.6" // Private dependency of libchdr + ++// Needed on 13.5, openssl in base is too old ++#ifndef OPENSSL_FULL_VERSION_STR ++#define OPENSSL_FULL_VERSION_STR OPENSSL_VERSION_TEXT ++#endif ++ + static const std::string fmtVersion = std::to_string(FMT_VERSION / 10000) + "." + + std::to_string(FMT_VERSION / 100 % 100) + "." + std::to_string(FMT_VERSION % 100); + diff --git a/emulators/Ymir/files/patch-libs_ymir-core_CMakeLists.txt b/emulators/Ymir/files/patch-libs_ymir-core_CMakeLists.txt index 2c971a407b7a..607ae6341003 100644 --- a/emulators/Ymir/files/patch-libs_ymir-core_CMakeLists.txt +++ b/emulators/Ymir/files/patch-libs_ymir-core_CMakeLists.txt @@ -1,13 +1,15 @@ ---- libs/ymir-core/CMakeLists.txt.orig 2025-07-20 22:35:27 UTC +--- libs/ymir-core/CMakeLists.txt.orig 2025-10-13 12:04:15 UTC +++ libs/ymir-core/CMakeLists.txt -@@ -239,7 +239,10 @@ target_compile_features(ymir-core PUBLIC cxx_std_20) +@@ -289,10 +289,12 @@ target_compile_features(ymir-core PUBLIC cxx_std_20) + ) target_compile_features(ymir-core PUBLIC cxx_std_20) - ## Add dependencies +find_package(Threads REQUIRED) -+ + find_package(fmt CONFIG REQUIRED) + + ## Add dependencies target_link_libraries(ymir-core PUBLIC + Threads::Threads - fmt + fmt::fmt mio concurrentqueue diff --git a/emulators/Ymir/files/patch-vendor_CMakeLists.txt b/emulators/Ymir/files/patch-vendor_CMakeLists.txt index c6c095066435..7b6c480df4a9 100644 --- a/emulators/Ymir/files/patch-vendor_CMakeLists.txt +++ b/emulators/Ymir/files/patch-vendor_CMakeLists.txt @@ -1,100 +1,40 @@ ---- vendor/CMakeLists.txt.orig 2025-07-20 22:35:27 UTC +--- vendor/CMakeLists.txt.orig 2025-10-12 17:41:59 UTC +++ vendor/CMakeLists.txt -@@ -22,9 +22,12 @@ message(STATUS "Adding vendored libraries") - - message(STATUS "Adding vendored libraries") - -+find_package(PkgConfig REQUIRED) -+ - # {fmt} - https://github.com/fmtlib/fmt - message(STATUS "==> {fmt}") --add_subdirectory(fmt EXCLUDE_FROM_ALL) -+pkg_check_modules(fmt REQUIRED IMPORTED_TARGET GLOBAL fmt) -+add_library(fmt ALIAS PkgConfig::fmt) - - # mio - https://github.com/vimpunk/mio - # Notes: -@@ -36,65 +39,55 @@ message(STATUS "==> SDL") - - # SDL - https://github.com/libsdl-org/SDL - message(STATUS "==> SDL") --set(SDL_DISABLE_UNINSTALL ON) --set(SDL_TEST_LIBRARY OFF) --set(SDL_TESTS OFF) --set(SDL_EXAMPLES OFF) --if (BUILD_SHARED_LIBS) -- set(SDL_SHARED ON) -- set(SDL_STATIC OFF) --else () -- set(SDL_SHARED OFF) -- set(SDL_STATIC ON) --endif () --add_subdirectory_quiet(SDL EXCLUDE_FROM_ALL) -+find_package(SDL3 REQUIRED GLOBAL) - - # cxxopts - https://github.com/jarro2783/cxxopts - message(STATUS "==> cxxopts") --add_subdirectory(cxxopts EXCLUDE_FROM_ALL) -+find_package(cxxopts REQUIRED GLOBAL) -+add_library(cxxopts ALIAS cxxopts::cxxopts) - +@@ -36,28 +36,31 @@ message(STATUS "==> concurrentqueue") # concurrentqueue - https://github.com/cameron314/concurrentqueue + # - Not available as a vcpkg port message(STATUS "==> concurrentqueue") -add_subdirectory(concurrentqueue EXCLUDE_FROM_ALL) +find_package(concurrentqueue REQUIRED GLOBAL) +add_library(concurrentqueue ALIAS concurrentqueue::concurrentqueue) # dear ImGui - https://github.com/ocornut/imgui - # docking branch + # - Using the docking branch message(STATUS "==> dear ImGui") -add_subdirectory(imgui EXCLUDE_FROM_ALL) +find_package(imgui REQUIRED GLOBAL) - # toml++ - https://github.com/marzer/tomlplusplus - message(STATUS "==> toml++") --add_subdirectory(tomlplusplus EXCLUDE_FROM_ALL) -+find_package(tomlplusplus REQUIRED GLOBAL) - # xxHash - https://github.com/Cyan4973/xxHash + # - Unable to configure AVX2 support message(STATUS "==> xxHash") -add_subdirectory(xxHash EXCLUDE_FROM_ALL) +pkg_check_modules(libxxhash REQUIRED IMPORTED_TARGET GLOBAL libxxhash) +add_library(xxHash::xxHash ALIAS PkgConfig::libxxhash) # lz4 - https://github.com/lz4/lz4 + # - Unable to configure AVX2 support message(STATUS "==> lz4") -add_subdirectory(lz4 EXCLUDE_FROM_ALL) +pkg_check_modules(liblz4 REQUIRED IMPORTED_TARGET GLOBAL liblz4) +add_library(lz4::lz4 ALIAS PkgConfig::liblz4) - # cereal - https://github.com/USCiLab/cereal - message(STATUS "==> cereal") --set(BUILD_DOC OFF) --set(BUILD_SANDBOX OFF) --set(JUST_INSTALL_CEREAL ON) --add_subdirectory(cereal EXCLUDE_FROM_ALL) -+find_package(cereal REQUIRED GLOBAL) - - # stb - https://github.com/nothings/stb - message(STATUS "==> stb") --add_subdirectory(stb) -+add_library(stb INTERFACE) -+add_library(stb::stb ALIAS stb) - # libchdr - https://github.com/rtissera/libchdr + # - Not available as a vcpkg port message(STATUS "==> libchdr") -set(BUILD_FUZZER OFF) -add_subdirectory(libchdr) +pkg_check_modules(libchdr REQUIRED IMPORTED_TARGET GLOBAL libchdr) +add_library(chdr-static ALIAS PkgConfig::libchdr) - # rtmidi - https://github.com/thestk/rtmidi - message(STATUS "==> rtmidi") --set(RTMIDI_BUILD_STATIC_LIBS ON) --set(RTMIDI_BUILD_TESTING OFF) --add_subdirectory(rtmidi) -+pkg_check_modules(rtmidi REQUIRED IMPORTED_TARGET GLOBAL rtmidi) -+add_library(rtmidi ALIAS PkgConfig::rtmidi) - - # -------------------------------------------------------------------------------------------------- - # Test dependencies + # Place vendored library projects under a Vendored folder in Visual Studio solutions + if (MSVC) diff --git a/emulators/Ymir/files/patch-vendor_mio_include_mio_detail_mmap.ipp b/emulators/Ymir/files/patch-vendor_mio_include_mio_detail_mmap.ipp deleted file mode 100644 index cf610729c0d1..000000000000 --- a/emulators/Ymir/files/patch-vendor_mio_include_mio_detail_mmap.ipp +++ /dev/null @@ -1,13 +0,0 @@ -https://github.com/vimpunk/mio/issues/110 - ---- vendor/mio/include/mio/detail/mmap.ipp.orig 2025-02-12 00:14:41 UTC -+++ vendor/mio/include/mio/detail/mmap.ipp -@@ -208,7 +208,7 @@ inline mmap_context memory_map(const file_handle_type - char* mapping_start = static_cast<char*>(::mmap( - 0, // Don't give hint as to where to map. - length_to_map, -- mode == access_mode::read ? PROT_READ : PROT_WRITE, -+ mode == access_mode::read ? PROT_READ : PROT_READ | PROT_WRITE, - mode == access_mode::copy_on_write ? MAP_PRIVATE : MAP_SHARED, - file_handle, - aligned_offset)); diff --git a/emulators/Ymir/pkg-descr b/emulators/Ymir/pkg-descr index 2eae362fc391..907adbc7aaba 100644 --- a/emulators/Ymir/pkg-descr +++ b/emulators/Ymir/pkg-descr @@ -3,14 +3,16 @@ Ymir is a Sega Saturn emulator with the following features: - Load games from MAME CHD, BIN+CUE, IMG+CCD, MDF+MDS or ISO files - Automatic IPL (BIOS) ROM detection - Automatic region switching -- Up to two players with standard Control Pads or 3D Control Pads on both ports +- Up to two players with a variety of controllers on both ports - Fully customizable keybindings -- Backup RAM, DRAM and ROM cartridges +- Backup RAM, DRAM and ROM cartridges (more to come) - Integrated backup memory manager to import and export saves, and transfer between internal and cartridge RAM -- Save states +- Forwards-compatible save states - Rewinding (up to one minute at 60 fps), turbo speed, frame step (forwards and backwards) - Full screen mode with VRR support and low input lag -- Optional deinterlaced/progressive rendering of high resolution modes +- Graphics enhancements such as optional deinterlaced/progressive rendering of + high resolution modes and transparent mesh polygon rendering +- Optional low level CD block emulation - A feature-rich debugger diff --git a/emulators/adamem/Makefile b/emulators/adamem/Makefile index edb52404816e..efec258bfcad 100644 --- a/emulators/adamem/Makefile +++ b/emulators/adamem/Makefile @@ -9,10 +9,6 @@ MAINTAINER= ports@FreeBSD.org COMMENT= Portable Coleco ADAM and ColecoVision emulator WWW= https://www.komkon.org/~dekogel/adamem.html -BROKEN_aarch64= fails to build: regparm is not valid on this platform -BROKEN_armv6= fails to build: regparm is not valid on this platform -BROKEN_armv7= fails to build: regparm is not valid on this platform - NO_WRKSUBDIR= yes USES= xorg USE_XORG= sm x11 xau xext xfixes xi xrandr diff --git a/emulators/ares/Makefile b/emulators/ares/Makefile index 0ce6c3aaf5c9..82c1c0a2a4de 100644 --- a/emulators/ares/Makefile +++ b/emulators/ares/Makefile @@ -1,6 +1,7 @@ PORTNAME= ares DISTVERSIONPREFIX= v DISTVERSION= 146 +PORTREVISION= 1 CATEGORIES= emulators MASTER_SITES= https://github.com/${PORTNAME}-emulator/${PORTNAME}/releases/download/${DISTVERSIONFULL}/ DISTNAME= ${PORTNAME}-source diff --git a/emulators/citra-qt5/Makefile b/emulators/citra-qt5/Makefile deleted file mode 100644 index b8bf5b627550..000000000000 --- a/emulators/citra-qt5/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -PORTREVISION= 2 -PKGNAMESUFFIX= -qt5 - -MASTERDIR= ${.CURDIR}/../citra - -OPTIONS_SLAVE= QT5 - -.include "${MASTERDIR}/Makefile" diff --git a/emulators/citra/Makefile b/emulators/citra/Makefile deleted file mode 100644 index 56bae20fca16..000000000000 --- a/emulators/citra/Makefile +++ /dev/null @@ -1,112 +0,0 @@ -PORTNAME= citra -PORTVERSION= s20220902 -PORTREVISION?= 4 -CATEGORIES= emulators -.if make(makesum) -MASTER_SITES= https://api.citra-emu.org/gamedb/?dummy=/:gamedb -.else -MASTER_SITES= LOCAL/jbeich:gamedb -.endif -DISTFILES= ${PORTNAME}-${DISTVERSIONFULL}/compatibility_list.json:gamedb -EXTRACT_ONLY= ${DISTFILES:N*\:gamedb:C/\:.*//} - -MAINTAINER= ports@FreeBSD.org -COMMENT= Nintendo 3DS emulator/debugger -WWW= https://citra-emu.org - -LICENSE= BSD2CLAUSE BSD3CLAUSE BSL GPLv2+ ISCL LGPL21+ MIT OpenSSL UNLICENSE -LICENSE_COMB= multi -LICENSE_FILE_BSD2CLAUSE=${WRKSRC}/externals/fmt/LICENSE.rst -LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/externals/inih/inih/LICENSE.txt -LICENSE_FILE_BSL= ${WRKSRC}/externals/catch/LICENSE.txt -LICENSE_FILE_GPLv2+ = ${WRKSRC}/license.txt -LICENSE_FILE_ISCL= ${WRKSRC}/externals/cubeb/LICENSE -LICENSE_FILE_LGPL21+ = ${_LICENSE_STORE}/LGPL21 # soundtouch -LICENSE_FILE_MIT= ${WRKSRC}/externals/enet/LICENSE -LICENSE_FILE_OpenSSL= ${WRKSRC}/externals/libressl/COPYING - -DEPRECATED= project has been discontinued and build fails with FFmpeg >7 -EXPIRATION_DATE= 2025-10-31 -BROKEN_aarch64= https://github.com/citra-emu/citra/issues/5921 - -BUILD_DEPENDS= boost-libs>0:devel/boost-libs - -USE_GITHUB= yes -GH_ACCOUNT= citra-emu -GH_TAGNAME= 746609f35 -GH_TUPLE= citra-emu:ext-boost:36603a1:boost/externals/boost \ - citra-emu:ext-libressl-portable:8929f81:libressl/externals/libressl \ - citra-emu:ext-soundtouch:060181e:soundtouch/externals/soundtouch \ - MerryMage:dynarmic:r3-223-g9f88f234:dynarmic/externals/dynarmic \ - arsenm:sanitizers-cmake:aab6948:sanitizers_cmake/externals/cubeb/cmake/sanitizers-cmake \ - arun11299:cpp-jwt:v1.4-14-ge12ef06:cpp_jwt/externals/cpp-jwt \ - benhoyt:inih:r52:inih/externals/inih/inih \ - catchorg:Catch2:v2.13.7:catch/externals/catch \ - facebook:zstd:v1.4.8:zstd/externals/zstd \ - fmtlib:fmt:7.1.2:fmt/externals/fmt \ - herumi:xbyak:v5.96:xbyak/externals/xbyak \ - kinetiknz:cubeb:cubeb-0.2-1350-gf79e0cf:cubeb/externals/cubeb \ - lsalzman:enet:v1.3.17-8-g498b9e3:enet/externals/enet \ - lvandeve:lodepng:31d9704:lodepng/externals/lodepng/lodepng \ - neobrain:nihstro:fd69de1:nihstro/externals/nihstro \ - weidai11:cryptopp:CRYPTOPP_8_5_0:cryptopp/externals/cryptopp/cryptopp \ - wwylele:teakra:01db7cd:teakra/externals/teakra - -USES= cmake:testing compiler:c++17-lang localbase:ldflags sdl -USE_SDL= sdl2 -CMAKE_ON= USE_SYSTEM_BOOST Boost_USE_STATIC_LIBS -LDFLAGS+= -Wl,--as-needed # Qt5Network - -OPTIONS_DEFINE= ALSA FFMPEG PULSEAUDIO JACK SNDIO -OPTIONS_DEFAULT=FFMPEG PULSEAUDIO JACK SNDIO -OPTIONS_MULTI= GUI -OPTIONS_MULTI_GUI= QT5 SDL -OPTIONS_SLAVE?= SDL -OPTIONS_EXCLUDE:= ${OPTIONS_MULTI_GUI} - -ALSA_BUILD_DEPENDS= alsa-lib>0:audio/alsa-lib -ALSA_CMAKE_BOOL= USE_ALSA - -FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg -FFMPEG_CMAKE_BOOL= ENABLE_FFMPEG_AUDIO_DECODER ENABLE_FFMPEG_VIDEO_DUMPER - -JACK_BUILD_DEPENDS= jackit>0:audio/jack -JACK_CMAKE_BOOL= USE_JACK - -PULSEAUDIO_BUILD_DEPENDS=pulseaudio>0:audio/pulseaudio -PULSEAUDIO_CMAKE_BOOL= USE_PULSE - -SNDIO_BUILD_DEPENDS= sndio>0:audio/sndio -SNDIO_CMAKE_BOOL= USE_SNDIO - -SDL_CMAKE_BOOL= ENABLE_SDL2 -SDL_PLIST_FILES=bin/${PORTNAME} \ - bin/${PORTNAME}-room \ - share/man/man6/${PORTNAME}.6.gz - -QT5_USES= desktop-file-utils qt:5 shared-mime-info -QT5_USE= QT=qmake:build,buildtools:build,linguisttools:build,concurrent:build,core,gui,multimedia,widgets -QT5_CMAKE_BOOL= ENABLE_QT ENABLE_QT_TRANSLATION -QT5_PLIST_FILES=bin/${PORTNAME}-qt \ - "@comment bin/${PORTNAME}-room" \ - share/applications/${PORTNAME}.desktop \ - share/icons/hicolor/scalable/apps/${PORTNAME}.svg \ - share/man/man6/${PORTNAME}-qt.6.gz \ - share/mime/packages/${PORTNAME}.xml - -.include <bsd.port.pre.mk> - -post-patch: - @${REINPLACE_CMD} -e 's/@GIT_BRANCH@/master/' \ - -e 's/@GIT_DESC@/${GH_TAGNAME}/' \ - ${WRKSRC}/src/common/scm_rev.cpp.in -.if ${COMPILER_TYPE} == clang - @${REINPLACE_CMD} -e 's|std::unary_function|std::__unary_function|' \ - ${WRKSRC}/externals/boost/boost/container_hash/hash.hpp -.endif - -post-configure: - @${CP} ${DISTFILES:M*\:gamedb:C/\:.*//:S,^,${DISTDIR}/,} \ - ${BUILD_WRKSRC}/dist/compatibility_list/ - -.include <bsd.port.post.mk> diff --git a/emulators/citra/distinfo b/emulators/citra/distinfo deleted file mode 100644 index 28eaf6147024..000000000000 --- a/emulators/citra/distinfo +++ /dev/null @@ -1,39 +0,0 @@ -TIMESTAMP = 1662057466 -SHA256 (citra-s20220902/compatibility_list.json) = 6e5225698694423c3b033820f8377b64f1107fe75d64c3bef98c629f07be546d -SIZE (citra-s20220902/compatibility_list.json) = 327573 -SHA256 (citra-emu-citra-s20220902-746609f35_GH0.tar.gz) = 00fa01f1daa46ff4371ba72b4f7bbf8f27a64185cf0958b1c766c65d833ba38a -SIZE (citra-emu-citra-s20220902-746609f35_GH0.tar.gz) = 7582369 -SHA256 (citra-emu-ext-boost-36603a1_GH0.tar.gz) = a1885cf0f7b1c790f8a83e963fec591bad1232e6b824e64d8db136920ec1b67d -SIZE (citra-emu-ext-boost-36603a1_GH0.tar.gz) = 2351603 -SHA256 (citra-emu-ext-libressl-portable-8929f81_GH0.tar.gz) = 90b580a6ce6686dfdc16528c9c3b50468540d955456f096652317a333e21a160 -SIZE (citra-emu-ext-libressl-portable-8929f81_GH0.tar.gz) = 2370673 -SHA256 (citra-emu-ext-soundtouch-060181e_GH0.tar.gz) = a593ab188e4feaeef8376c27b554cc413986efc777c195e44c6d3d223de9a63c -SIZE (citra-emu-ext-soundtouch-060181e_GH0.tar.gz) = 59514 -SHA256 (MerryMage-dynarmic-r3-223-g9f88f234_GH0.tar.gz) = cf2fedd00d689ae118bdb76680d2621ea7b4db5d67a5d9a1910eac35e3f848d4 -SIZE (MerryMage-dynarmic-r3-223-g9f88f234_GH0.tar.gz) = 1709689 -SHA256 (arsenm-sanitizers-cmake-aab6948_GH0.tar.gz) = d9009e17948aff769a6f6e16b52d4d8752c5cc2cab1e9c381d3a31fd1a680b58 -SIZE (arsenm-sanitizers-cmake-aab6948_GH0.tar.gz) = 7240 -SHA256 (arun11299-cpp-jwt-v1.4-14-ge12ef06_GH0.tar.gz) = 0409fa5413800fb291251cf3142e07a43fd4064996fee0e793323d3a74dd33b8 -SIZE (arun11299-cpp-jwt-v1.4-14-ge12ef06_GH0.tar.gz) = 1246634 -SHA256 (benhoyt-inih-r52_GH0.tar.gz) = 439cff9ce9a8afc52d08772ac3e93b3cecd79c7707f871fb4534fb3a48201880 -SIZE (benhoyt-inih-r52_GH0.tar.gz) = 16808 -SHA256 (catchorg-Catch2-v2.13.7_GH0.tar.gz) = 3cdb4138a072e4c0290034fe22d9f0a80d3bcfb8d7a8a5c49ad75d3a5da24fae -SIZE (catchorg-Catch2-v2.13.7_GH0.tar.gz) = 661014 -SHA256 (facebook-zstd-v1.4.8_GH0.tar.gz) = f176f0626cb797022fbf257c3c644d71c1c747bb74c32201f9203654da35e9fa -SIZE (facebook-zstd-v1.4.8_GH0.tar.gz) = 1816546 -SHA256 (fmtlib-fmt-7.1.2_GH0.tar.gz) = 4119a1c34dff91631e1d0a3707428f764f1ea22fe3cd5e70af5b4ccd5513831c -SIZE (fmtlib-fmt-7.1.2_GH0.tar.gz) = 769401 -SHA256 (herumi-xbyak-v5.96_GH0.tar.gz) = 727f15d3ed786cae255ebfed1829a84a357c0e4856c6304456d77f1b56c3d2c6 -SIZE (herumi-xbyak-v5.96_GH0.tar.gz) = 226999 -SHA256 (kinetiknz-cubeb-cubeb-0.2-1350-gf79e0cf_GH0.tar.gz) = 8629757290774a34ed3fcd53b6491e9ccc96231018406c58c493f336b3ced908 -SIZE (kinetiknz-cubeb-cubeb-0.2-1350-gf79e0cf_GH0.tar.gz) = 220847 -SHA256 (lsalzman-enet-v1.3.17-8-g498b9e3_GH0.tar.gz) = d8b51de11421bc38909977ece11e35bff656ef15a5838c218c87314d76e757a6 -SIZE (lsalzman-enet-v1.3.17-8-g498b9e3_GH0.tar.gz) = 79921 -SHA256 (lvandeve-lodepng-31d9704_GH0.tar.gz) = 86e140a13d1f425d45f891a082111435d3333385d36b66c94a031c029f4422c1 -SIZE (lvandeve-lodepng-31d9704_GH0.tar.gz) = 161881 -SHA256 (neobrain-nihstro-fd69de1_GH0.tar.gz) = cebeb307aad4b9fbc4d26eb54c01c90e118bc6287ab65688a50303a59272be5a -SIZE (neobrain-nihstro-fd69de1_GH0.tar.gz) = 110417 -SHA256 (weidai11-cryptopp-CRYPTOPP_8_5_0_GH0.tar.gz) = 8f64cf09cf4f61d5d74bca53574b8cc9959186cc0f072a2e6597e4999d6ad5db -SIZE (weidai11-cryptopp-CRYPTOPP_8_5_0_GH0.tar.gz) = 8998459 -SHA256 (wwylele-teakra-01db7cd_GH0.tar.gz) = 82f6c373ab0eacfcf376ab7270d5788177df7d79bd86bfa5a5eb6c66801c8c73 -SIZE (wwylele-teakra-01db7cd_GH0.tar.gz) = 983116 diff --git a/emulators/citra/files/patch-CMakeLists.txt b/emulators/citra/files/patch-CMakeLists.txt deleted file mode 100644 index 57c9d442a244..000000000000 --- a/emulators/citra/files/patch-CMakeLists.txt +++ /dev/null @@ -1,36 +0,0 @@ -citra-qt currently needs SDL for audio and input - ---- CMakeLists.txt.orig 2022-09-01 18:37:46 UTC -+++ CMakeLists.txt -@@ -71,7 +71,6 @@ endfunction() - endif() - endforeach() - endfunction() --check_submodules_present() - - configure_file(${PROJECT_SOURCE_DIR}/dist/compatibility_list/compatibility_list.qrc - ${PROJECT_BINARY_DIR}/dist/compatibility_list/compatibility_list.qrc -@@ -168,15 +167,15 @@ if (ENABLE_SDL2) - else() - find_package(SDL2 REQUIRED) - endif() -- -- if (SDL2_FOUND) -- # TODO(yuriks): Make FindSDL2.cmake export an IMPORTED library instead -- add_library(SDL2 INTERFACE) -- target_link_libraries(SDL2 INTERFACE "${SDL2_LIBRARY}") -- target_include_directories(SDL2 INTERFACE "${SDL2_INCLUDE_DIR}") -- endif() - else() -- set(SDL2_FOUND NO) -+ find_package(SDL2) -+endif() -+ -+if (SDL2_FOUND) -+ # TODO(yuriks): Make FindSDL2.cmake export an IMPORTED library instead -+ add_library(SDL2 INTERFACE) -+ target_link_libraries(SDL2 INTERFACE "${SDL2_LIBRARY}") -+ target_include_directories(SDL2 INTERFACE "${SDL2_INCLUDE_DIR}") - endif() - - if (ENABLE_QT) diff --git a/emulators/citra/files/patch-externals_teakra_src_test.h b/emulators/citra/files/patch-externals_teakra_src_test.h deleted file mode 100644 index 96ceb0b0b4af..000000000000 --- a/emulators/citra/files/patch-externals_teakra_src_test.h +++ /dev/null @@ -1,13 +0,0 @@ -https://github.com/wwylele/teakra/pull/35 - ---- externals/teakra/src/test.h.orig 2018-12-21 16:34:51 UTC -+++ externals/teakra/src/test.h -@@ -31,7 +31,7 @@ static_assert(std::is_trivially_copyable_v<State>); - - struct TestCase { - State before, after; -- u16 opcode, expand; -+ u16 opcode, expand, unused; - }; - - static_assert(sizeof(TestCase) == 4312); diff --git a/emulators/citra/files/patch-src_input__common_udp_client.cpp b/emulators/citra/files/patch-src_input__common_udp_client.cpp deleted file mode 100644 index 111f6bc85c46..000000000000 --- a/emulators/citra/files/patch-src_input__common_udp_client.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/input_common/udp/client.cpp.orig 2025-02-16 22:55:21 UTC -+++ src/input_common/udp/client.cpp -@@ -109,7 +109,7 @@ class Socket { (private) - } - - SocketCallback callback; -- boost::asio::io_service io_service; -+ boost::asio::io_context io_service; - boost::asio::basic_waitable_timer<clock> timer; - udp::socket socket; - diff --git a/emulators/citra/pkg-descr b/emulators/citra/pkg-descr deleted file mode 100644 index 945b12a62228..000000000000 --- a/emulators/citra/pkg-descr +++ /dev/null @@ -1,8 +0,0 @@ -Citra is an experimental open-source Nintendo 3DS emulator/debugger -written in C++. It is written with portability in mind, with builds -actively maintained for Windows, Linux and OS X. Citra only emulates a -subset of 3DS hardware, and therefore is generally only useful for -running/debugging homebrew applications. At this time, Citra is even -able to boot several commercial games! Most of these do not run to a -playable state, but we are working every day to advance the project -forward. diff --git a/emulators/dolphin-emu/Makefile b/emulators/dolphin-emu/Makefile index ccf8ae0eb0a5..6db2e24031ca 100644 --- a/emulators/dolphin-emu/Makefile +++ b/emulators/dolphin-emu/Makefile @@ -1,5 +1,6 @@ PORTNAME= dolphin-emu PORTVERSION= 2509 +PORTREVISION= 2 CATEGORIES= emulators MAINTAINER= martymac@FreeBSD.org diff --git a/emulators/dosbox-x/Makefile b/emulators/dosbox-x/Makefile index 03c0416c7b26..9d8ae42d2c01 100644 --- a/emulators/dosbox-x/Makefile +++ b/emulators/dosbox-x/Makefile @@ -1,6 +1,6 @@ PORTNAME= dosbox-x DISTVERSIONPREFIX= ${PORTNAME}-v -DISTVERSION= 2025.05.03 +DISTVERSION= 2025.10.07 CATEGORIES= emulators MAINTAINER= eduardo@FreeBSD.org diff --git a/emulators/dosbox-x/distinfo b/emulators/dosbox-x/distinfo index 219e59f0ef95..4897e7dc05d4 100644 --- a/emulators/dosbox-x/distinfo +++ b/emulators/dosbox-x/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1746305468 -SHA256 (joncampbell123-dosbox-x-dosbox-x-v2025.05.03_GH0.tar.gz) = b29a2c9c38bfe1d1c1f2420d546b8c2456ae2ddce4c1f6b4d19f258841ce1581 -SIZE (joncampbell123-dosbox-x-dosbox-x-v2025.05.03_GH0.tar.gz) = 122834930 +TIMESTAMP = 1759852684 +SHA256 (joncampbell123-dosbox-x-dosbox-x-v2025.10.07_GH0.tar.gz) = fed630dba74f1ad1552bc5ec94cb68f70737e67a7ca1768f6071b255426ce117 +SIZE (joncampbell123-dosbox-x-dosbox-x-v2025.10.07_GH0.tar.gz) = 124274305 diff --git a/emulators/dosbox-x/files/patch-configure.ac b/emulators/dosbox-x/files/patch-configure.ac index cfdc8b7bb563..a0fe5a986c29 100644 --- a/emulators/dosbox-x/files/patch-configure.ac +++ b/emulators/dosbox-x/files/patch-configure.ac @@ -1,6 +1,6 @@ ---- configure.ac.orig 2024-10-02 06:16:36 UTC +--- configure.ac.orig 2025-10-07 15:49:14 UTC +++ configure.ac -@@ -672,7 +672,10 @@ dnl LIBRARY TEST: ALSA +@@ -728,7 +728,10 @@ dnl LIBRARY TEST: ALSA dnl TODO: Need GCC to know this code is using C++ lambda functions dnl LIBRARY TEST: ALSA diff --git a/emulators/dosbox-x/files/patch-fix-ffmpeg8 b/emulators/dosbox-x/files/patch-fix-ffmpeg8 deleted file mode 100644 index 7c1782a7b3bd..000000000000 --- a/emulators/dosbox-x/files/patch-fix-ffmpeg8 +++ /dev/null @@ -1,88 +0,0 @@ -Fix build with FFmpeg 8 -https://github.com/joncampbell123/dosbox-x/issues/5803 - ---- src/hardware/hardware.cpp.orig 2025-08-25 08:00:00 UTC -+++ src/hardware/hardware.cpp -@@ -123,20 +123,18 @@ void ffmpeg_closeall() { - ffmpeg_avformat_began = false; - } - avio_close(ffmpeg_fmt_ctx->pb); -- if (ffmpeg_vid_ctx != NULL) avcodec_close(ffmpeg_vid_ctx); -- if (ffmpeg_aud_ctx != NULL) avcodec_close(ffmpeg_aud_ctx); -+ if (ffmpeg_vid_ctx != NULL) avcodec_free_context(&ffmpeg_vid_ctx); -+ if (ffmpeg_aud_ctx != NULL) avcodec_free_context(&ffmpeg_aud_ctx); - avformat_free_context(ffmpeg_fmt_ctx); - ffmpeg_fmt_ctx = NULL; - ffmpeg_vid_ctx = NULL; // NTS: avformat_free_context() freed this for us, don't free again - ffmpeg_aud_ctx = NULL; // NTS: avformat_free_context() freed this for us, don't free again - } - if (ffmpeg_vid_ctx != NULL) { -- avcodec_close(ffmpeg_vid_ctx); - avcodec_free_context(&ffmpeg_vid_ctx); - ffmpeg_vid_ctx = NULL; - } - if (ffmpeg_aud_ctx != NULL) { -- avcodec_close(ffmpeg_aud_ctx); - avcodec_free_context(&ffmpeg_aud_ctx); - ffmpeg_aud_ctx = NULL; - } -@@ -171,7 +169,6 @@ void ffmpeg_audio_frame_send() { - - if (!pkt) E_Exit("Error: Unable to alloc packet"); - -- ffmpeg_aud_frame->key_frame = 1; - ffmpeg_aud_frame->pts = (int64_t)ffmpeg_audio_sample_counter; - r=avcodec_send_frame(ffmpeg_aud_ctx,ffmpeg_aud_frame); - if (r < 0 && r != AVERROR(EAGAIN)) -@@ -426,7 +423,6 @@ void ffmpeg_reopen_video(double fps,const int bpp) { - - void ffmpeg_reopen_video(double fps,const int bpp) { - if (ffmpeg_vid_ctx != NULL) { -- avcodec_close(ffmpeg_vid_ctx); - avcodec_free_context(&ffmpeg_vid_ctx); - ffmpeg_vid_ctx = NULL; - } -@@ -1271,7 +1267,7 @@ skip_shot: - ffmpeg_aud_ctx->sample_rate = (int)capture.video.audiorate; - ffmpeg_aud_ctx->flags = 0; // do not use global headers - ffmpeg_aud_ctx->bit_rate = 320000; -- ffmpeg_aud_ctx->profile = FF_PROFILE_AAC_LOW; -+ // ffmpeg_aud_ctx->profile = FF_PROFILE_AAC_LOW; - - #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(59,24,100) - ffmpeg_aud_ctx->channels = 2; -@@ -1531,7 +1527,6 @@ skip_shot: - - // encode it - ffmpeg_vid_frame->pts = (int64_t)capture.video.frames; // or else libx264 complains about non-monotonic timestamps -- ffmpeg_vid_frame->key_frame = ((capture.video.frames % 15) == 0)?1:0; - - r=avcodec_send_frame(ffmpeg_vid_ctx,ffmpeg_vid_frame); - if (r < 0 && r != AVERROR(EAGAIN)) -@@ -1768,7 +1763,7 @@ skip_mt_wav: - } - - #pragma pack(push,1) --typedef struct pcap_hdr_struct_t { -+typedef struct { - uint32_t magic_number; /* magic number */ - uint16_t version_major; /* major version number */ - uint16_t version_minor; /* minor version number */ -@@ -1776,14 +1771,14 @@ typedef struct pcap_hdr_struct_t { - uint32_t sigfigs; /* accuracy of timestamps */ - uint32_t snaplen; /* max length of captured packets, in octets */ - uint32_t network; /* data link type */ --}; -+} pcap_hdr_struct_t; - --typedef struct pcaprec_hdr_struct_t { -+typedef struct { - uint32_t ts_sec; /* timestamp seconds */ - uint32_t ts_usec; /* timestamp microseconds */ - uint32_t incl_len; /* number of octets of packet saved in file */ - uint32_t orig_len; /* actual length of packet */ --}; -+} pcaprec_hdr_struct_t; - #pragma pack(pop) - - void Capture_WritePacket(bool /*send*/,const unsigned char *buf,size_t len) { diff --git a/emulators/dosbox-x/files/patch-src_gui_sdl__gui.cpp b/emulators/dosbox-x/files/patch-src_gui_sdl__gui.cpp index 80b3eeb0c45a..29dc9baa8070 100644 --- a/emulators/dosbox-x/files/patch-src_gui_sdl__gui.cpp +++ b/emulators/dosbox-x/files/patch-src_gui_sdl__gui.cpp @@ -1,6 +1,6 @@ ---- src/gui/sdl_gui.cpp.orig 2024-10-02 06:16:36 UTC +--- src/gui/sdl_gui.cpp.orig 2025-10-07 15:49:14 UTC +++ src/gui/sdl_gui.cpp -@@ -3888,6 +3888,7 @@ void GUI_Shortcut(int select) { +@@ -3886,6 +3886,7 @@ void GUI_Shortcut(int select) { shortcutid=select; shortcut=true; sel = select; @@ -8,7 +8,7 @@ #if defined(USE_TTF) if (ttf.inUse && !confres) { ttf_switch_off(); -@@ -3897,12 +3898,14 @@ void GUI_Shortcut(int select) { +@@ -3895,12 +3896,14 @@ void GUI_Shortcut(int select) { } else #endif RunCfgTool(0); @@ -23,7 +23,7 @@ #if defined(USE_TTF) if (ttf.inUse) { ttf_switch_off(); -@@ -3912,4 +3915,5 @@ void GUI_Run(bool pressed) { +@@ -3910,4 +3913,5 @@ void GUI_Run(bool pressed) { } else #endif RunCfgTool(0); diff --git a/emulators/emu64/Makefile b/emulators/emu64/Makefile index 4d7d2f826330..d27594aa11a2 100644 --- a/emulators/emu64/Makefile +++ b/emulators/emu64/Makefile @@ -3,7 +3,7 @@ DISTVERSION= 5.1.0 PORTREVISION= 1 CATEGORIES= emulators -MAINTAINER= zirias@FreeBSD.org +MAINTAINER= ports@FreeBSD.org COMMENT= Commodore 64 emulator WWW= https://github.com/ThKattanek/emu64 diff --git a/emulators/emulationstation/Makefile b/emulators/emulationstation/Makefile index a27f69efbbf9..e7184087ac91 100644 --- a/emulators/emulationstation/Makefile +++ b/emulators/emulationstation/Makefile @@ -1,7 +1,7 @@ PORTNAME= emulationstation DISTVERSIONPREFIX= v DISTVERSION= 2.11.2 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= emulators MAINTAINER= freebsd@coombscloud.com @@ -18,7 +18,7 @@ BUILD_DEPENDS= ${LOCALBASE}/include/rapidjson/document.h:devel/rapidjson \ LIB_DEPENDS= libboost_date_time.so:devel/boost-libs \ libboost_filesystem.so:devel/boost-libs \ libboost_locale.so:devel/boost-libs \ - libboost_system.so:devel/boost-libs \ + libboost_thread.so:devel/boost-libs \ libcurl.so:ftp/curl \ libfreeimage.so:graphics/freeimage \ libfreetype.so:print/freetype2 \ diff --git a/emulators/flycast/Makefile b/emulators/flycast/Makefile index 770d580c03ca..d6efc271a1a4 100644 --- a/emulators/flycast/Makefile +++ b/emulators/flycast/Makefile @@ -1,7 +1,7 @@ PORTNAME= flycast DISTVERSIONPREFIX= v DISTVERSION= 2.5 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= emulators MAINTAINER= bsdcode@disroot.org diff --git a/emulators/libc6-shim/Makefile b/emulators/libc6-shim/Makefile index f405dbf7db77..fd4e553e7902 100644 --- a/emulators/libc6-shim/Makefile +++ b/emulators/libc6-shim/Makefile @@ -1,5 +1,5 @@ PORTNAME= libc6-shim -DISTVERSION= 20250323 +DISTVERSION= 20251025 CATEGORIES= emulators MAINTAINER= iwtcex@gmail.com diff --git a/emulators/libc6-shim/distinfo b/emulators/libc6-shim/distinfo index 9ab2fdd543a9..4cfa23a50348 100644 --- a/emulators/libc6-shim/distinfo +++ b/emulators/libc6-shim/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1742733124 -SHA256 (shkhln-libc6-shim-20250323_GH0.tar.gz) = 600f0b25ae419f79e6a663dbc22e74d2c10f142e770044ff4744d8b04922e5fa -SIZE (shkhln-libc6-shim-20250323_GH0.tar.gz) = 105087 +TIMESTAMP = 1761432145 +SHA256 (shkhln-libc6-shim-20251025_GH0.tar.gz) = ca83120384be7af526d63aafddaf617d7bb3c63da957950536740aa2c0d38ab3 +SIZE (shkhln-libc6-shim-20251025_GH0.tar.gz) = 105640 diff --git a/emulators/magia/Makefile b/emulators/magia/Makefile index 67772e93cc50..17431bef420d 100644 --- a/emulators/magia/Makefile +++ b/emulators/magia/Makefile @@ -1,7 +1,7 @@ PORTNAME= magia DISTVERSIONPREFIX= v DISTVERSION= 0.2.0 -PORTREVISION= 30 +PORTREVISION= 33 CATEGORIES= emulators MAINTAINER= ports@FreeBSD.org diff --git a/emulators/mame/Makefile b/emulators/mame/Makefile index c4cda0872bf7..201d86d0034c 100644 --- a/emulators/mame/Makefile +++ b/emulators/mame/Makefile @@ -1,12 +1,8 @@ PORTNAME= mame -DISTVERSION= 0.277 -PORTREVISION= 2 +DISTVERSION= 0.281 CATEGORIES= emulators games -PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ -PATCHFILES= b4e1f5f1b50fd3402232dd0385cac021ba488db6.patch:-p1 # Only link asmjit if native DRCs are built. - -MAINTAINER= ports@FreeBSD.org +MAINTAINER= laurent.chardon@gmail.com COMMENT= MAME: a multi-purpose emulation framework WWW= https://mamedev.org/ @@ -25,7 +21,8 @@ ONLY_FOR_ARCHS= aarch64 amd64 armv7 i386 powerpc powerpc64 powerpc64le ONLY_FOR_ARCHS_REASON= not yet ported to any architecture other than armv7, arm64, x86, and powerpc* BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-svg2pdfconverter>0:textproc/py-sphinxcontrib-svg2pdfconverter@${PY_FLAVOR} \ - asio>0:net/asio \ + ${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx@${PY_FLAVOR} \ + asio130>0:net/asio130 \ genie:devel/genie \ glm>0:math/glm \ rapidjson>0:devel/rapidjson @@ -35,8 +32,8 @@ LIB_DEPENDS= libexpat.so:textproc/expat2 \ libutf8proc.so:textproc/utf8proc \ libzstd.so:archivers/zstd -USES= compiler:c++17-lang gmake jpeg llvm:min=16 localbase pkgconfig \ - python:build sdl shebangfix sqlite:3 xorg +USES= compiler:c++17-lang gmake jpeg llvm:min=16 localbase \ + pkgconfig python:build sdl sqlite:3 xorg USE_GITHUB= yes GH_ACCOUNT= mamedev @@ -82,6 +79,7 @@ PORTDOCS= * OPTIONS_DEFINE= DOCS OPTIONS_DEFAULT= MAME +OPTIONS_DEFAULT+= ${ARCH:Mamd64:C/.+/SSE2/} OPTIONS_GROUP= EMULATORS EXTRATOOLS HARDWARE OPTIONS_GROUP_EMULATORS= MAME MAMENL MAMEVIRTUAL NLS QTDEBUGGER OPTIONS_GROUP_EXTRATOOLS= TOOLS @@ -89,9 +87,7 @@ OPTIONS_GROUP_HARDWARE= OPENMP SSE2 OPTIONS_RADIO= BUILDTYPE OPTIONS_RADIO_BUILDTYPE= DEBUG SIZE_OPTIMIZED_CFLAGS \ SPEED_OPTIMIZED_CFLAGS -.if !exists(/usr/include/omp.h) -OPTIONS_EXCLUDE= OPENMP -.endif +OPTIONS_EXCLUDE+= ${ARCH:Namd64:Ni386:C/.+/SSE2/} OPTIONS_SUB= yes BUILDTYPE_DESC= Application production type @@ -139,6 +135,7 @@ MAME_MAKE_ENV= ${_EMULATORS_MAKE_ENV} MAME_PLIST_SUB= MAMEDATA="" MAME_PLIST_SUB_OFF= MAMEDATA="@comment " NLS_USES= gettext-runtime +OPENMP_USES= compiler:openmp OPENMP_MAKE_ENV= OPENMP=1 OPENMP_MAKE_ENV_OFF= OPENMP=0 QTDEBUGGER_USES= qt:6 @@ -192,25 +189,25 @@ _TOOLS_MANUALS= -name *.1 -depth 1 -type f -and -not -type d -and -not \ .include <bsd.port.options.mk> .if ${ARCH:Maarch64} || ${ARCH:Mamd64} || ${ARCH:Mpowerpc64*} -MAKE_ENV+= PTR64=1 +MAKE_ENV+= PTR64=1 .endif .if ${ARCH} == aarch64 || ${ARCH} == armv7 -EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-3rdparty_lzma_C_AesOpt.c +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-3rdparty_lzma_C_AesOpt.c .endif # Compiling with -pg (PROFILE) causes the linker to run out of memory on i386, # build with less profiling data: .if ${ARCH:Mi386} -DEBUG_MAKE_ENV= PROFILER=1 +DEBUG_MAKE_ENV= PROFILER=1 .else -DEBUG_MAKE_ENV= PROFILE=1 +DEBUG_MAKE_ENV= PROFILE=1 .endif .if empty(PORT_OPTIONS:MMAME) && empty(PORT_OPTIONS:MMAMENL) && \ empty(PORT_OPTIONS:MMAMEVIRTUAL) -MAKE_ENV+= EMULATOR=0 -PLIST_SUB+= MAMEDATA="@comment " +MAKE_ENV+= EMULATOR=0 +PLIST_SUB+= MAMEDATA="@comment " .endif post-extract: diff --git a/emulators/mame/distinfo b/emulators/mame/distinfo index 7a33b39a0b9d..0f735deaf410 100644 --- a/emulators/mame/distinfo +++ b/emulators/mame/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1748505208 -SHA256 (mamedev-mame-0.277-mame0277_GH0.tar.gz) = 60055b19fc96306927257c5ffc265ecebcbe5c944cf98113d4d78f6304556c67 -SIZE (mamedev-mame-0.277-mame0277_GH0.tar.gz) = 209399226 +TIMESTAMP = 1759055187 +SHA256 (mamedev-mame-0.281-mame0281_GH0.tar.gz) = 8d648b43b0072b3efabc30290c1767a3c22a46ca3c4111a2f456b9f5d2a08319 +SIZE (mamedev-mame-0.281-mame0281_GH0.tar.gz) = 210289013 SHA256 (b4e1f5f1b50fd3402232dd0385cac021ba488db6.patch) = 431ce0bf9dff15632f8ed176b6ea8245c74089439f1af766a26ea4a140db1f92 SIZE (b4e1f5f1b50fd3402232dd0385cac021ba488db6.patch) = 2652 diff --git a/emulators/mame/files/patch-3rdparty_lzma_C_CpuArch.c b/emulators/mame/files/patch-3rdparty_lzma_C_CpuArch.c index 0845a73832cb..96e75eb9da56 100644 --- a/emulators/mame/files/patch-3rdparty_lzma_C_CpuArch.c +++ b/emulators/mame/files/patch-3rdparty_lzma_C_CpuArch.c @@ -1,6 +1,6 @@ ---- 3rdparty/lzma/C/CpuArch.c.orig 2023-05-30 17:50:57 UTC +--- 3rdparty/lzma/C/CpuArch.c.orig 2025-09-24 14:56:11 UTC +++ 3rdparty/lzma/C/CpuArch.c -@@ -417,6 +417,31 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP +@@ -762,6 +762,31 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP #include <sys/auxv.h> @@ -32,7 +32,7 @@ #define USE_HWCAP #ifdef USE_HWCAP -@@ -450,6 +475,7 @@ MY_HWCAP_CHECK_FUNC (SHA1) +@@ -795,6 +820,7 @@ MY_HWCAP_CHECK_FUNC (AES) MY_HWCAP_CHECK_FUNC (SHA2) MY_HWCAP_CHECK_FUNC (AES) diff --git a/emulators/mame/files/patch-3rdparty_lzma_C_Sha256Opt.c b/emulators/mame/files/patch-3rdparty_lzma_C_Sha256Opt.c index 525d4f9e96e0..eeafd8402ec6 100644 --- a/emulators/mame/files/patch-3rdparty_lzma_C_Sha256Opt.c +++ b/emulators/mame/files/patch-3rdparty_lzma_C_Sha256Opt.c @@ -1,6 +1,6 @@ ---- 3rdparty/lzma/C/Sha256Opt.c.orig 2023-05-30 17:50:57 UTC +--- 3rdparty/lzma/C/Sha256Opt.c.orig 2025-09-24 14:56:11 UTC +++ 3rdparty/lzma/C/Sha256Opt.c -@@ -212,7 +212,7 @@ void MY_FAST_CALL Sha256_UpdateBlocks_HW(UInt32 state[ +@@ -202,7 +202,7 @@ void Z7_FASTCALL Sha256_UpdateBlocks_HW(UInt32 state[8 #endif // USE_HW_SHA diff --git a/emulators/mame/files/patch-makefile b/emulators/mame/files/patch-makefile index 5c87b1f66af7..53f4858b0d29 100644 --- a/emulators/mame/files/patch-makefile +++ b/emulators/mame/files/patch-makefile @@ -1,9 +1,9 @@ Remove redefinitions of toolchain, and hardcoded optimisations. Replace GENie build target with devel/genie binary. Add Clang ARM64 support. ---- makefile.orig 2023-10-23 15:53:41 UTC +--- makefile.orig 2025-09-24 14:56:11 UTC +++ makefile -@@ -448,9 +448,9 @@ ifneq ($(TARGETOS),asmjs) +@@ -430,9 +430,9 @@ ifneq ($(TARGETOS),asmjs) endif ifneq ($(TARGETOS),asmjs) @@ -16,7 +16,7 @@ endif #------------------------------------------------- -@@ -620,11 +620,6 @@ endif +@@ -578,11 +578,6 @@ endif SYMBOLS = 1 endif @@ -28,7 +28,7 @@ # set the symbols level ifdef SYMBOLS PARAMS += --SYMBOLS='$(SYMBOLS)' -@@ -1078,7 +1073,7 @@ endif +@@ -1042,7 +1037,7 @@ endif NEW_GIT_VERSION := unknown endif @@ -37,7 +37,7 @@ ifeq ($(TARGET),$(SUBTARGET_FULL)) FULLTARGET := $(TARGET) -@@ -1412,6 +1407,11 @@ $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile: make +@@ -1376,6 +1371,11 @@ $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile: make $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile: makefile $(SCRIPTS) $(GENIE) $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=freebsd-clang --gcc_version=$(CLANG_VERSION) $(MAKETYPE) diff --git a/emulators/mame/files/patch-scripts_genie.lua b/emulators/mame/files/patch-scripts_genie.lua deleted file mode 100644 index 857219cdad87..000000000000 --- a/emulators/mame/files/patch-scripts_genie.lua +++ /dev/null @@ -1,34 +0,0 @@ - Reduce noise from build logs, and remove duplicate use of - -fno-strict-aliasing. Move a hard coded linktime optimisation to be covered by - the same OPTIMIZE conditional used elsewhere. - ---- scripts/genie.lua.orig 2023-11-15 01:11:29 UTC -+++ scripts/genie.lua -@@ -804,7 +804,6 @@ if _OPTIONS["OPTIMIZE"] then - if _OPTIONS["OPTIMIZE"] then - buildoptions { - "-O".. _OPTIONS["OPTIMIZE"], -- "-fno-strict-aliasing" - } - if _OPTIONS["OPT_FLAGS"] then - buildoptions { -@@ -1168,7 +1167,6 @@ configuration { "asmjs" } - } - linkoptions { - "-Wl,--start-group", -- "-O" .. _OPTIONS["OPTIMIZE"], - "-s USE_SDL=2", - "-s USE_SDL_TTF=2", - "--memory-init-file 0", -@@ -1187,6 +1185,11 @@ configuration { "asmjs" } - "--embed-file " .. _MAKE.esc(MAME_DIR) .. "artwork/bgfx@artwork/bgfx", - "--embed-file " .. _MAKE.esc(MAME_DIR) .. "artwork/slot-mask.png@artwork/slot-mask.png", - } -+ if _OPTIONS["OPTIMIZE"] then -+ linkoptions { -+ "-O".. _OPTIONS["OPTIMIZE"], -+ } -+ end - if _OPTIONS["SYMBOLS"]~=nil and _OPTIONS["SYMBOLS"]~="0" then - linkoptions { - "-g" .. _OPTIONS["SYMLEVEL"], diff --git a/emulators/mame/files/patch-scripts_src_main.lua b/emulators/mame/files/patch-scripts_src_main.lua index 391ffc7f10fb..0bb6d887d409 100644 --- a/emulators/mame/files/patch-scripts_src_main.lua +++ b/emulators/mame/files/patch-scripts_src_main.lua @@ -1,8 +1,8 @@ Remove suffixes from mame binary for debug/profile builds. ---- scripts/src/main.lua.orig 2023-11-14 03:17:20 UTC +--- scripts/src/main.lua.orig 2025-09-24 14:56:11 UTC +++ scripts/src/main.lua -@@ -58,13 +58,13 @@ end +@@ -71,13 +71,13 @@ end configuration { "Release" } targetsuffix "" if _OPTIONS["PROFILE"] then diff --git a/emulators/mame/files/patch-scripts_src_osd_modules.lua b/emulators/mame/files/patch-scripts_src_osd_modules.lua index 2d5699969a93..c752c9d1668b 100644 --- a/emulators/mame/files/patch-scripts_src_osd_modules.lua +++ b/emulators/mame/files/patch-scripts_src_osd_modules.lua @@ -1,26 +1,26 @@ Enable the build to find Qt-6. ---- scripts/src/osd/modules.lua.orig 2023-10-23 15:53:41 UTC +--- scripts/src/osd/modules.lua.orig 2025-09-24 14:56:11 UTC +++ scripts/src/osd/modules.lua -@@ -378,7 +378,7 @@ function qtdebuggerbuild() +@@ -405,7 +405,7 @@ function qtdebuggerbuild() MOC = "moc" else if _OPTIONS["QT_HOME"]~=nil then -- MOCTST = backtick(_OPTIONS["QT_HOME"] .. "/bin/moc --version 2>/dev/null") -+ MOCTST = backtick(_OPTIONS["QT_HOME"] .. "/libexec/qt6/moc --version 2>/dev/null") - if (MOCTST=='') then - MOCTST = backtick(_OPTIONS["QT_HOME"] .. "/libexec/moc --version 2>/dev/null") - if (MOCTST=='') then -@@ -388,7 +388,7 @@ function qtdebuggerbuild() - MOC = _OPTIONS["QT_HOME"] .. "/libexec/moc" +- local MOCTST = backtick(_OPTIONS["QT_HOME"] .. "/bin/moc --version 2>/dev/null") ++ local MOCTST = backtick(_OPTIONS["QT_HOME"] .. "/libexec/qt6/moc --version 2>/dev/null") + if MOCTST=='' then + local qt_host_libexecs = backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_HOST_LIBEXECS") + if not string.starts(qt_host_libexecs,"/") then +@@ -419,7 +419,7 @@ function qtdebuggerbuild() + MOC = qt_host_libexecs .. "/moc" end else - MOC = _OPTIONS["QT_HOME"] .. "/bin/moc" + MOC = _OPTIONS["QT_HOME"] .. "/libexec/qt6/moc" end else - MOCTST = backtick("which moc-qt5 2>/dev/null") -@@ -430,7 +430,7 @@ function qtdebuggerbuild() + local MOCTST = backtick("which moc-qt5 2>/dev/null") +@@ -461,7 +461,7 @@ function qtdebuggerbuild() else if _OPTIONS["QT_HOME"]~=nil then buildoptions { @@ -29,8 +29,8 @@ } else buildoptions { -@@ -500,9 +500,9 @@ function osdmodulestargetconf() - } +@@ -540,9 +540,9 @@ function osdmodulestargetconf() + end else if _OPTIONS["QT_HOME"]~=nil then - local qt_version = str_to_version(backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_VERSION")) diff --git a/emulators/mame/pkg-plist b/emulators/mame/pkg-plist index 7236f88f8a3e..5ab30d4a8657 100644 --- a/emulators/mame/pkg-plist +++ b/emulators/mame/pkg-plist @@ -879,6 +879,7 @@ share/man/man1/MAME.1.gz %%MAMEDATA%%%%DATADIR%%/hash/b2m.xml %%MAMEDATA%%%%DATADIR%%/hash/basf7100.xml %%MAMEDATA%%%%DATADIR%%/hash/bbc_cass.xml +%%MAMEDATA%%%%DATADIR%%/hash/bbc_vsm.xml %%MAMEDATA%%%%DATADIR%%/hash/bbc_flop_32016.xml %%MAMEDATA%%%%DATADIR%%/hash/bbc_flop_6502.xml %%MAMEDATA%%%%DATADIR%%/hash/bbc_flop_68000.xml @@ -975,6 +976,7 @@ share/man/man1/MAME.1.gz %%MAMEDATA%%%%DATADIR%%/hash/dragon_flex.xml %%MAMEDATA%%%%DATADIR%%/hash/dragon_flop.xml %%MAMEDATA%%%%DATADIR%%/hash/dragon_os9.xml +%%MAMEDATA%%%%DATADIR%%/hash/duelmast_cart.xml %%MAMEDATA%%%%DATADIR%%/hash/e01_flop.xml %%MAMEDATA%%%%DATADIR%%/hash/easy_karaoke_cart.xml %%MAMEDATA%%%%DATADIR%%/hash/ec1841.xml @@ -1010,6 +1012,7 @@ share/man/man1/MAME.1.gz %%MAMEDATA%%%%DATADIR%%/hash/fmtowns_flop_misc.xml %%MAMEDATA%%%%DATADIR%%/hash/fmtowns_flop_orig.xml %%MAMEDATA%%%%DATADIR%%/hash/fp1100_cass.xml +%%MAMEDATA%%%%DATADIR%%/hash/gaelco_ds5002fp_rom.xml %%MAMEDATA%%%%DATADIR%%/hash/galaxy.xml %%MAMEDATA%%%%DATADIR%%/hash/gamate.xml %%MAMEDATA%%%%DATADIR%%/hash/gameboy.xml @@ -1022,6 +1025,7 @@ share/man/man1/MAME.1.gz %%MAMEDATA%%%%DATADIR%%/hash/gba_ereader.xml %%MAMEDATA%%%%DATADIR%%/hash/gbcolor.xml %%MAMEDATA%%%%DATADIR%%/hash/gcslottv.xml +%%MAMEDATA%%%%DATADIR%%/hash/generic_flop_525.xml %%MAMEDATA%%%%DATADIR%%/hash/ggm.xml %%MAMEDATA%%%%DATADIR%%/hash/gimix.xml %%MAMEDATA%%%%DATADIR%%/hash/gj4000.xml @@ -1070,6 +1074,7 @@ share/man/man1/MAME.1.gz %%MAMEDATA%%%%DATADIR%%/hash/ibm6580.xml %%MAMEDATA%%%%DATADIR%%/hash/ibmpcjr_cart.xml %%MAMEDATA%%%%DATADIR%%/hash/ibmpcjr_flop.xml +%%MAMEDATA%%%%DATADIR%%/hash/ibmpcjx.xml %%MAMEDATA%%%%DATADIR%%/hash/icanguit.xml %%MAMEDATA%%%%DATADIR%%/hash/icanpian.xml %%MAMEDATA%%%%DATADIR%%/hash/intellect02.xml @@ -1207,9 +1212,11 @@ share/man/man1/MAME.1.gz %%MAMEDATA%%%%DATADIR%%/hash/myvision.xml %%MAMEDATA%%%%DATADIR%%/hash/mz2000_cass.xml %%MAMEDATA%%%%DATADIR%%/hash/mz2000_flop.xml -%%MAMEDATA%%%%DATADIR%%/hash/mz2200_cass.xml -%%MAMEDATA%%%%DATADIR%%/hash/mz2500.xml +%%MAMEDATA%%%%DATADIR%%/hash/mz2500_flop.xml +%%MAMEDATA%%%%DATADIR%%/hash/mz5500_flop.xml %%MAMEDATA%%%%DATADIR%%/hash/mz700_cass.xml +%%MAMEDATA%%%%DATADIR%%/hash/mz80b_cass.xml +%%MAMEDATA%%%%DATADIR%%/hash/mz80b_flop.xml %%MAMEDATA%%%%DATADIR%%/hash/mz800_cass.xml %%MAMEDATA%%%%DATADIR%%/hash/n64.xml %%MAMEDATA%%%%DATADIR%%/hash/n64_lodgenet.xml @@ -1248,8 +1255,10 @@ share/man/man1/MAME.1.gz %%MAMEDATA%%%%DATADIR%%/hash/partner_cass.xml %%MAMEDATA%%%%DATADIR%%/hash/partner_flop.xml %%MAMEDATA%%%%DATADIR%%/hash/pasogo.xml +%%MAMEDATA%%%%DATADIR%%/hash/pasopia7_cass.xml %%MAMEDATA%%%%DATADIR%%/hash/pasopia_cass.xml %%MAMEDATA%%%%DATADIR%%/hash/pb2000c.xml +%%MAMEDATA%%%%DATADIR%%/hash/pc100_flop.xml %%MAMEDATA%%%%DATADIR%%/hash/pc1000.xml %%MAMEDATA%%%%DATADIR%%/hash/pc1512_flop.xml %%MAMEDATA%%%%DATADIR%%/hash/pc1512_hdd.xml @@ -1368,6 +1377,7 @@ share/man/man1/MAME.1.gz %%MAMEDATA%%%%DATADIR%%/hash/sgx.xml %%MAMEDATA%%%%DATADIR%%/hash/singingstarkaraoke_cart.xml %%MAMEDATA%%%%DATADIR%%/hash/sitcom.xml +%%MAMEDATA%%%%DATADIR%%/hash/smartcycle_cart.xml %%MAMEDATA%%%%DATADIR%%/hash/smarttv_cart.xml %%MAMEDATA%%%%DATADIR%%/hash/smc777.xml %%MAMEDATA%%%%DATADIR%%/hash/sms.xml @@ -1427,6 +1437,7 @@ share/man/man1/MAME.1.gz %%MAMEDATA%%%%DATADIR%%/hash/tdv2324.xml %%MAMEDATA%%%%DATADIR%%/hash/tek4052_cart.xml %%MAMEDATA%%%%DATADIR%%/hash/telestory_cart.xml +%%MAMEDATA%%%%DATADIR%%/hash/teradrive_flop.xml %%MAMEDATA%%%%DATADIR%%/hash/tg16.xml %%MAMEDATA%%%%DATADIR%%/hash/thinkpad8xx.xml %%MAMEDATA%%%%DATADIR%%/hash/ti74_cart.xml @@ -1669,8 +1680,6 @@ share/man/man1/MAME.1.gz %%MAMEDATA%%%%DATADIR%%/plugins/xml/init.lua %%MAMEDATA%%%%DATADIR%%/plugins/xml/plugin.json %%MAMEDATA%%%%DATADIR%%/samples/LICENSE -%%MAMEDATA%%%%DATADIR%%/samples/MM1_keyboard/beep.wav -%%MAMEDATA%%%%DATADIR%%/samples/MM1_keyboard/power_switch.wav %%MAMEDATA%%%%DATADIR%%/samples/README.md %%MAMEDATA%%%%DATADIR%%/samples/dir.txt %%MAMEDATA%%%%DATADIR%%/samples/floppy/35_seek_12ms.wav diff --git a/emulators/mupen64plus-video-glide64mk2/Makefile b/emulators/mupen64plus-video-glide64mk2/Makefile index f07402c75ce3..ba0f56e66113 100644 --- a/emulators/mupen64plus-video-glide64mk2/Makefile +++ b/emulators/mupen64plus-video-glide64mk2/Makefile @@ -1,4 +1,4 @@ -PORTREVISION= 4 +PORTREVISION= 5 PKGNAMESUFFIX= -video-glide64mk2 COMMENT= Glide64mk2 video plugin for Mupen64Plus diff --git a/emulators/nemu/Makefile b/emulators/nemu/Makefile index e8a4917abe13..6f70ad0dfaa7 100644 --- a/emulators/nemu/Makefile +++ b/emulators/nemu/Makefile @@ -1,7 +1,6 @@ PORTNAME= nemu DISTVERSIONPREFIX= v -DISTVERSION= 3.3.1 -PORTREVISION= 1 +DISTVERSION= 3.4.0 CATEGORIES= emulators MAINTAINER= arrowd@FreeBSD.org diff --git a/emulators/nemu/distinfo b/emulators/nemu/distinfo index 2165ecd2478c..1434b692581d 100644 --- a/emulators/nemu/distinfo +++ b/emulators/nemu/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1709378812 -SHA256 (nemuTUI-nemu-v3.3.1_GH0.tar.gz) = 7cdb27cbf5df1957d0f0a258fc334f15d9e2d06a450a982bb796094efc3960c0 -SIZE (nemuTUI-nemu-v3.3.1_GH0.tar.gz) = 174868 +TIMESTAMP = 1761325528 +SHA256 (nemuTUI-nemu-v3.4.0_GH0.tar.gz) = e272b3e80623f8aef66c3ecb5e2d8846ac89b2514a4bbb5026e74f51c1a5ef42 +SIZE (nemuTUI-nemu-v3.4.0_GH0.tar.gz) = 177146 diff --git a/emulators/nestopia/Makefile b/emulators/nestopia/Makefile index 64dfc49d3821..99d97a1d7a45 100644 --- a/emulators/nestopia/Makefile +++ b/emulators/nestopia/Makefile @@ -1,5 +1,5 @@ PORTNAME= nestopia -DISTVERSION= 1.53.1 +DISTVERSION= 1.53.2 CATEGORIES= emulators MAINTAINER= mclay@astate.edu @@ -18,14 +18,15 @@ LIB_DEPENDS= libepoxy.so:graphics/libepoxy \ libsamplerate.so:audio/libsamplerate USES= autoreconf gl gnome jpeg libarchive \ - localbase:ldflags pkgconfig sdl + localbase:ldflags pkgconfig sdl xorg USE_CXXSTD= c++17 USE_GITHUB= yes GH_ACCOUNT= 0ldsk00l -GNU_CONFIGURE= yes USE_GL= gl glu USE_SDL= sdl2 -USE_XORG= xrender xcursor xfixes xext xft xinerama x11 +USE_XORG= x11 xcursor xext xfixes xft xinerama xrender + +GNU_CONFIGURE= yes OPTIONS_DEFINE= DOCS JACK diff --git a/emulators/nestopia/distinfo b/emulators/nestopia/distinfo index b846fbdcf39b..045ff911d53c 100644 --- a/emulators/nestopia/distinfo +++ b/emulators/nestopia/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1742944821 -SHA256 (0ldsk00l-nestopia-1.53.1_GH0.tar.gz) = 21aa45f6c608fe290d73fdec0e6f362538a975455b16a4cc54bcdd10962fff3e -SIZE (0ldsk00l-nestopia-1.53.1_GH0.tar.gz) = 1704326 +TIMESTAMP = 1756411038 +SHA256 (0ldsk00l-nestopia-1.53.2_GH0.tar.gz) = 7783d2673ad496109e7dd3d75756cfef30c5b400409131b83b45c2fa3ddd735b +SIZE (0ldsk00l-nestopia-1.53.2_GH0.tar.gz) = 1709367 diff --git a/emulators/open-vm-tools/files/patch-Makefile.am b/emulators/open-vm-tools/files/patch-Makefile.am index 7bee47e68728..acda99766f9f 100644 --- a/emulators/open-vm-tools/files/patch-Makefile.am +++ b/emulators/open-vm-tools/files/patch-Makefile.am @@ -7,5 +7,5 @@ - $(INSTALL) -d $(DESTDIR)/etc/vmware-tools/ - $(INSTALL) -m 644 $(srcdir)/tools.conf $(DESTDIR)/etc/vmware-tools/tools.conf.example + $(INSTALL) -d $(DESTDIR)%%PREFIX%%/etc/vmware-tools/ -+ $(INSTALL) -m 644 $(srcdir)/tools.conf $(DESTDIR)%%PREFIX%%/etc/vmware-tools/tools.conf.example ++ $(INSTALL) -m 644 $(srcdir)/tools.conf $(DESTDIR)%%PREFIX%%/etc/vmware-tools/tools.conf.sample diff --git a/emulators/open-vm-tools/pkg-plist b/emulators/open-vm-tools/pkg-plist index d8cd7adcfaee..a5a9f3428e99 100644 --- a/emulators/open-vm-tools/pkg-plist +++ b/emulators/open-vm-tools/pkg-plist @@ -11,7 +11,7 @@ bin/vmware-toolbox-cmd %%FUSE%%bin/vmware-vmblock-fuse bin/vmware-xferlogs etc/pam.d/vmtoolsd -@sample etc/vmware-tools/tools.conf.example +@sample etc/vmware-tools/tools.conf.sample %%X11%%etc/xdg/autostart/vmware-user.desktop %%DEPLOYPKG%%include/libDeployPkg/deployPkgFormat.h %%DEPLOYPKG%%include/libDeployPkg/deploypkg.h diff --git a/emulators/pcsx2/Makefile b/emulators/pcsx2/Makefile index 4affe0e991ad..2a27df254f49 100644 --- a/emulators/pcsx2/Makefile +++ b/emulators/pcsx2/Makefile @@ -1,6 +1,5 @@ PORTNAME= pcsx2 -PORTVERSION= 2.3.439 -PORTREVISION= 3 +PORTVERSION= 2.4.0 DISTVERSIONPREFIX= v CATEGORIES= emulators @@ -75,6 +74,9 @@ CMAKE_ARGS+= \ OPTIONS_DEFINE= DOCS PORTDOCS= Debugger.pdf GameIndex.pdf +# Stable releases use an even minor number +PORTSCOUT= limit:^v[0-9]+.[02468]. + # - Program and resources are copied from target dir ${CONFIGURE_WRKSRC}/bin # because only necessary resources are installed there (e.g. no dx11 stuff) do-install: diff --git a/emulators/pcsx2/distinfo b/emulators/pcsx2/distinfo index 742e5ac06800..fc07e9b05e9d 100644 --- a/emulators/pcsx2/distinfo +++ b/emulators/pcsx2/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1750709445 -SHA256 (pcsx2-pcsx2-v2.3.439_GH0.tar.gz) = ed75141b426964a63b87b19ddfdd7b3659d3652254de4e694eea1784cf3ace3f -SIZE (pcsx2-pcsx2-v2.3.439_GH0.tar.gz) = 19851256 +TIMESTAMP = 1760465569 +SHA256 (pcsx2-pcsx2-v2.4.0_GH0.tar.gz) = b18f0f4c28e482e7f88c5f428bd445fd511facabbb426dfd72d55ee904cc74c1 +SIZE (pcsx2-pcsx2-v2.4.0_GH0.tar.gz) = 20096340 diff --git a/emulators/ppsspp/Makefile b/emulators/ppsspp/Makefile index 18747dd52b1d..532d819af086 100644 --- a/emulators/ppsspp/Makefile +++ b/emulators/ppsspp/Makefile @@ -1,6 +1,7 @@ PORTNAME= ppsspp DISTVERSIONPREFIX= v DISTVERSION?= 1.19.3 +PORTREVISION= 1 CATEGORIES= emulators MAINTAINER= kreinholz@gmail.com diff --git a/emulators/qemu/Makefile b/emulators/qemu/Makefile index f6eff65b8ff2..db43eab2d357 100644 --- a/emulators/qemu/Makefile +++ b/emulators/qemu/Makefile @@ -1,5 +1,6 @@ PORTNAME= qemu -DISTVERSION= 10.1.0 +DISTVERSION= 10.1.2 +PORTREVISION= 1 CATEGORIES= emulators MASTER_SITES= https://download.qemu.org/ DIST_SUBDIR= qemu/${PORTVERSION} diff --git a/emulators/qemu/distinfo b/emulators/qemu/distinfo index da4eef02182e..5e2a252aab2a 100644 --- a/emulators/qemu/distinfo +++ b/emulators/qemu/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1756287018 -SHA256 (qemu/10.1.0/qemu-10.1.0.tar.xz) = e0517349b50ca73ebec2fa85b06050d5c463ca65c738833bd8fc1f15f180be51 -SIZE (qemu/10.1.0/qemu-10.1.0.tar.xz) = 141999456 +TIMESTAMP = 1761563277 +SHA256 (qemu/10.1.2/qemu-10.1.2.tar.xz) = 9d75f331c1a5cb9b6eb8fd9f64f563ec2eab346c822cb97f8b35cd82d3f11479 +SIZE (qemu/10.1.2/qemu-10.1.2.tar.xz) = 142050300 diff --git a/emulators/rpcs3/Makefile b/emulators/rpcs3/Makefile index 1ddffd7839de..0aeae0be30c0 100644 --- a/emulators/rpcs3/Makefile +++ b/emulators/rpcs3/Makefile @@ -1,6 +1,7 @@ PORTNAME= rpcs3 DISTVERSIONPREFIX= v DISTVERSION= 0.0.38 # git rev-list --count HEAD +PORTREVISION= 1 DISTVERSIONSUFFIX= -18170-g23b339d410 CATEGORIES= emulators wayland diff --git a/emulators/virtualbox-ose-70/Makefile b/emulators/virtualbox-ose-70/Makefile index 14e02f5abe9e..7371a4528b90 100644 --- a/emulators/virtualbox-ose-70/Makefile +++ b/emulators/virtualbox-ose-70/Makefile @@ -96,7 +96,7 @@ 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 from audio/libogg instead of bundled one -QT5_DESC= Build with QT5 frontend (requires X11) +QT5_DESC= Build with Qt5 frontend (requires X11) R0LOGGING_DESC= Enable R0 logging (requires DEBUG) TPM_DESC= Enable TPM device emulation using sysutils/libtpms UDPTUNNEL_DESC= Build with UDP tunnel support diff --git a/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c index e790f372f95f..5ac0dc7e17c8 100644 --- a/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c +++ b/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c @@ -1,5 +1,5 @@ ---- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2022-10-06 19:03:06.000000000 +0200 -+++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c 2024-12-26 15:28:38.066230000 +0100 +--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2025-04-11 12:02:54 UTC ++++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c @@ -55,6 +55,7 @@ #include <sys/uio.h> #include <sys/bus.h> @@ -16,7 +16,7 @@ #include <iprt/initterm.h> #include <iprt/process.h> #include <iprt/string.h> -@@ -112,8 +114,6 @@ +@@ -112,8 +114,6 @@ struct VBoxGuestDeviceState struct resource *pIrqRes; /** Pointer to the IRQ handler. */ void *pfnIrqHandler; @@ -25,7 +25,7 @@ }; -@@ -123,8 +123,7 @@ +@@ -123,8 +123,7 @@ struct VBoxGuestDeviceState /* * Character device file handlers. */ @@ -35,7 +35,7 @@ static d_ioctl_t vgdrvFreeBSDIOCtl; static int vgdrvFreeBSDIOCtlSlow(PVBOXGUESTSESSION pSession, u_long ulCmd, caddr_t pvData, struct thread *pTd); static d_write_t vgdrvFreeBSDWrite; -@@ -155,8 +154,7 @@ +@@ -155,8 +154,7 @@ static struct cdevsw g_vgdrvFreeBSDChrDevSW = { .d_version = D_VERSION, .d_flags = D_TRACKCLOSE | D_NEEDMINOR, @@ -45,7 +45,7 @@ .d_ioctl = vgdrvFreeBSDIOCtl, .d_read = vgdrvFreeBSDRead, .d_write = vgdrvFreeBSDWrite, -@@ -164,81 +162,28 @@ +@@ -164,81 +162,28 @@ static struct cdevsw g_vgdrvFreeBSDChrDevSW = .d_name = "vboxguest" }; @@ -134,7 +134,7 @@ { int rc; PVBOXGUESTSESSION pSession; -@@ -250,12 +195,6 @@ +@@ -250,12 +195,6 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp LogFlow(("vgdrvFreeBSDOpen:\n")); /* @@ -147,7 +147,7 @@ * Create a new session. */ fRequestor = VMMDEV_REQUESTOR_USERMODE | VMMDEV_REQUESTOR_TRUST_NOT_GIVEN; -@@ -272,47 +211,20 @@ +@@ -272,14 +211,13 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp rc = VGDrvCommonCreateUserSession(&g_DevExt, fRequestor, &pSession); if (RT_SUCCESS(rc)) { @@ -168,10 +168,10 @@ } LogRel(("vgdrvFreeBSDOpen: failed. rc=%d\n", rc)); - return RTErrConvertToErrno(rc); +@@ -287,33 +225,6 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp } --/** + /** - * File close handler - * - */ @@ -179,7 +179,7 @@ -{ - PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1; - Log(("vgdrvFreeBSDClose: fFile=%#x pSession=%p\n", fFile, pSession)); - +- - /* - * Close the session if it's still hanging on to the device... - */ @@ -198,10 +198,11 @@ -} - - - /** +-/** * I/O control request. * -@@ -326,8 +238,12 @@ + * @returns depends... +@@ -326,8 +237,12 @@ static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long ulCmd, caddr_t pvData, int fFile, struct thread *pTd) { PVBOXGUESTSESSION pSession; @@ -215,20 +216,25 @@ /* * Deal with the fast ioctl path first. */ -@@ -526,8 +442,10 @@ +@@ -522,12 +437,14 @@ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEv + + static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEvents, struct thread *td) + { +- int fEventsProcessed; ++ PVBOXGUESTSESSION pSession; ++ int fEventsProcessed, rc; LogFlow(("vgdrvFreeBSDPoll: fEvents=%d\n", fEvents)); - PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1; - if (RT_UNLIKELY(!RT_VALID_PTR(pSession))) { -+ + rc = devfs_get_cdevpriv((void **)&pSession); + if (rc) -+ { ++ { Log(("vgdrvFreeBSDPoll: no state data for %s\n", devtoname(pDev))); return (fEvents & (POLLHUP|POLLIN|POLLRDNORM|POLLOUT|POLLWRNORM)); } -@@ -568,11 +486,8 @@ +@@ -568,11 +485,8 @@ static int vgdrvFreeBSDDetach(device_t pDevice) /* * Reverse what we did in vgdrvFreeBSDAttach. */ @@ -241,7 +247,7 @@ vgdrvFreeBSDRemoveIRQ(pDevice, pState); if (pState->pVMMDevMemRes) -@@ -737,18 +652,21 @@ +@@ -737,18 +651,21 @@ static int vgdrvFreeBSDAttach(device_t pDevice) VGDrvCommonProcessOptionsFromHost(&g_DevExt); /* @@ -269,7 +275,7 @@ vgdrvFreeBSDRemoveIRQ(pDevice, pState); } else -@@ -792,8 +710,12 @@ +@@ -792,8 +709,12 @@ static driver_t vgdrvFreeBSDDriver = sizeof(struct VBoxGuestDeviceState), }; diff --git a/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile b/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile index 476346a59b13..37c1596cfe87 100644 --- a/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile +++ b/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile @@ -1,15 +1,17 @@ ---- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2019-04-16 10:09:09 UTC +--- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2025-10-16 14:25:29 UTC +++ src/VBox/Additions/common/VBoxGuest/freebsd/Makefile -@@ -25,7 +25,7 @@ +@@ -34,9 +34,8 @@ KMOD = vboxguest + # SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0 # KMOD = vboxguest - --CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS +CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_GUEST -DIN_GUEST_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS +-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS +- .if (${MACHINE_ARCH} == "i386") CFLAGS += -DRT_ARCH_X86 -@@ -80,6 +80,7 @@ SRCS += \ + .elif (${MACHINE_ARCH} == "amd64") +@@ -91,6 +90,7 @@ SRCS += \ handletable.c \ handletablectx.c \ once.c \ @@ -17,7 +19,7 @@ thread.c .PATH: ${.CURDIR}/common/string -@@ -147,6 +148,7 @@ SRCS += \ +@@ -163,6 +163,7 @@ SRCS += \ .PATH: ${.CURDIR}/r0drv SRCS += \ @@ -25,3 +27,12 @@ alloc-r0drv.c \ initterm-r0drv.c \ memobj-r0drv.c \ +@@ -196,7 +197,7 @@ SRCS += \ + SRCS += \ + log-vbox.c \ + logbackdoor.c \ +- RTLogWriteVmm-amd64-x86. ++ RTLogWriteVmm-amd64-x86.c + + .include <bsd.kmod.mk> + diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk index 270472c045e3..796aecabac8f 100644 --- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk +++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk @@ -1,4 +1,4 @@ ---- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-05-11 03:54:13 UTC +--- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-10-24 13:49:31 UTC +++ src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk @@ -0,0 +1,28 @@ +# $Id: Makefile.kmk $ @@ -18,7 +18,7 @@ +CFLAGS+=-I$(MOUNT) + +PROGRAMS += mount_vboxvfs -+mount_vboxvfs_TEMPLATE = NewVBoxGuestR3Exe ++mount_vboxvfs_TEMPLATE = VBoxGuestR3Exe +mount_vboxvfs_SOURCES = mount_vboxvfs.c + +ifdef HAVE_MNTOPTS_IN_LIBUTIL diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk new file mode 100644 index 000000000000..679778e60181 --- /dev/null +++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk @@ -0,0 +1,50 @@ +--- src/VBox/Additions/freebsd/vboxvfs/Makefile.kmk.orig 2025-10-22 19:18:12 UTC ++++ src/VBox/Additions/freebsd/vboxvfs/Makefile.kmk +@@ -43,32 +43,37 @@ vboxvfs_SOURCES = \ + $(vboxvfs_0_OUTDIR) + vboxvfs_SOURCES = \ + vboxvfs_vfsops.c \ +- vboxvfs_vnops.c ++ bcmp.c \ ++ vboxvfs_vnops.c \ ++ vboxvfs_prov.c + vboxvfs_LIBS = \ + $(VBOX_LIB_VBGL_R0) \ + $(VBOX_LIB_IPRT_GUEST_R0) + vboxvfs_DEPS = \ +- $$(vboxvfs_0_OUTDIR)/vnode_if.h \ +- $$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h \ +- $$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h ++ $(vboxvfs_0_OUTDIR)/vnode_if.h \ ++ $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h \ ++ $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h + vboxvfs_CLEAN += $(vboxvfs_DEPS) + + VBOX_AWK := /usr/bin/awk + +-$$(vboxvfs_0_OUTDIR)/vnode_if.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src ++$$(vboxvfs_0_OUTDIR): ++ $(QUIET)$(MKDIR) -p $(vboxvfs_0_OUTDIR) ++ ++$$(vboxvfs_0_OUTDIR)/vnode_if.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src + $(call MSG_TOOL,awk,VBoxGuest,$<,$@) + $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -h +- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if.h $(vboxvfs_0_OUTDIR)/vnode_if.h ++ $(QUIET)$(MV) vnode_if.h $(vboxvfs_0_OUTDIR)/vnode_if.h + +-$$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src ++$$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src + $(call MSG_TOOL,awk,VBoxGuest,$<,$@) + $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -p +- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h ++ $(QUIET)$(MV) vnode_if_newproto.h $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h + +-$$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src ++$$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src + $(call MSG_TOOL,awk,VBoxGuest,$<,$@) + $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -q +- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h ++ $(QUIET)$(MV) vnode_if_typedef.h $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h + + include $(FILE_KBUILD_SUB_FOOTER) + diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk index afb19c804d7a..2d0377fb3e40 100644 --- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk +++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk @@ -1,6 +1,6 @@ ---- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2019-01-25 18:24:30 UTC +--- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2025-10-16 14:25:37 UTC +++ src/VBox/Additions/x11/vboxmouse/Makefile.kmk -@@ -227,10 +227,22 @@ endif # neq ($(KBUILD_TARGET),linux) +@@ -237,10 +237,22 @@ ifdef VBOX_USE_SYSTEM_XORG_HEADERS ifdef VBOX_USE_SYSTEM_XORG_HEADERS @@ -10,7 +10,7 @@ - SYSMODS := $(filter-out vboxmouse_drv%,$(SYSMODS)) + ifeq ($(KBUILD_TARGET),freebsd) + DLLS += vboxmouse_drv_system -+ vboxmouse_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD ++ vboxmouse_drv_system_TEMPLATE = VBoxGuestR3XOrgMod + vboxmouse_drv_system_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + vboxmouse_drv_system_INCS := \ + /usr/local/include/pixman-1 \ diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk new file mode 100644 index 000000000000..38ef1ac68f9e --- /dev/null +++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk @@ -0,0 +1,15 @@ +--- src/VBox/Additions/x11/vboxvideo/Makefile.kmk.orig 2025-10-22 19:22:45 UTC ++++ src/VBox/Additions/x11/vboxvideo/Makefile.kmk +@@ -415,9 +415,10 @@ ifdef VBOX_USE_SYSTEM_XORG_HEADERS + vboxvideo_drv_system_INCS += \ + $(PATH_ROOT)/src/VBox/Runtime/include \ + $(VBOX_GRAPHICS_INCS) \ +- /usr/include/xorg \ +- /usr/include/pixman-1 ++ /usr/local/include/xorg \ ++ /usr/local/include/pixman-1 + vboxvideo_drv_system_SOURCES := $(vboxvideo_drv_17_SOURCES) ++ vboxvideo_drv_system_LIBS += $(vboxvideo_drv_70_LIBS) + endif + + diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c index cbdcb490764f..86e5984d6b82 100644 --- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c +++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c @@ -11,16 +11,26 @@ switch (pMemFreeBSD->Core.enmType) { -@@ -155,8 +157,6 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) +@@ -155,9 +157,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) case RTR0MEMOBJTYPE_LOCK: { - vm_map_t pMap = kernel_map; - - if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) +- if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) ++ if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) { pMap = &((struct proc *)pMemFreeBSD->Core.u.Lock.R0Process)->p_vmspace->vm_map; -@@ -197,6 +197,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) + rc = vm_map_unwire(pMap, +@@ -165,6 +165,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) + (vm_offset_t)pMemFreeBSD->Core.pv + pMemFreeBSD->Core.cb, + VM_MAP_WIRE_SYSTEM | VM_MAP_WIRE_NOHOLES); + AssertMsg(rc == KERN_SUCCESS, ("%#x", rc)); ++ } + break; + } + +@@ -197,6 +198,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) case RTR0MEMOBJTYPE_PHYS_NC: { VM_OBJECT_WLOCK(pMemFreeBSD->pObject); @@ -28,7 +38,7 @@ vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0); #if __FreeBSD_version < 1000000 vm_page_lock_queues(); -@@ -210,6 +211,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) +@@ -210,6 +212,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) #if __FreeBSD_version < 1000000 vm_page_unlock_queues(); #endif @@ -43,7 +53,7 @@ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); vm_object_deallocate(pMemFreeBSD->pObject); break; -@@ -220,6 +229,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) +@@ -220,6 +230,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) return VERR_INTERNAL_ERROR; } @@ -51,7 +61,7 @@ return VINF_SUCCESS; } -@@ -329,7 +339,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE +@@ -329,7 +340,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE size_t cPages = atop(pMemFreeBSD->Core.cb); int rc; @@ -61,7 +71,7 @@ /* No additional object reference for auto-deallocation upon unmapping. */ #if __FreeBSD_version >= 1000055 -@@ -371,6 +382,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ +@@ -371,6 +383,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag) { @@ -69,7 +79,7 @@ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PAGE, NULL, cb, pszTag); if (pMemFreeBSD) -@@ -380,8 +392,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ +@@ -380,8 +393,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ *ppMem = &pMemFreeBSD->Core; else rtR0MemObjDelete(&pMemFreeBSD->Core); @@ -80,7 +90,7 @@ return VERR_NO_MEMORY; } -@@ -395,6 +409,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI +@@ -395,6 +410,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag) { @@ -88,7 +98,7 @@ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_LOW, NULL, cb, pszTag); if (pMemFreeBSD) { -@@ -403,14 +418,17 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI +@@ -403,14 +419,17 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI *ppMem = &pMemFreeBSD->Core; else rtR0MemObjDelete(&pMemFreeBSD->Core); @@ -106,7 +116,7 @@ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_CONT, NULL, cb, pszTag); if (pMemFreeBSD) -@@ -423,8 +441,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ +@@ -423,8 +442,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ } else rtR0MemObjDelete(&pMemFreeBSD->Core); @@ -117,7 +127,7 @@ return VERR_NO_MEMORY; } -@@ -432,6 +452,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB +@@ -432,6 +453,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJTYPE enmType, size_t cb, RTHCPHYS PhysHighest, size_t uAlignment, bool fContiguous, int rcNoMem, const char *pszTag) { @@ -125,7 +135,7 @@ /* create the object. */ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), enmType, NULL, cb, pszTag); if (pMemFreeBSD) -@@ -439,7 +460,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB +@@ -439,7 +461,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB vm_paddr_t const VmPhysAddrHigh = PhysHighest != NIL_RTHCPHYS ? PhysHighest : ~(vm_paddr_t)0; u_long const cPages = atop(cb); @@ -135,7 +145,7 @@ int rc = rtR0MemObjFreeBSDPhysAllocHelper(pMemFreeBSD->pObject, cPages, VmPhysAddrHigh, uAlignment, fContiguous, true, rcNoMem); -@@ -449,7 +471,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB +@@ -449,7 +472,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB { Assert(enmType == RTR0MEMOBJTYPE_PHYS); VM_OBJECT_WLOCK(pMemFreeBSD->pObject); @@ -144,7 +154,7 @@ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); pMemFreeBSD->Core.u.Phys.fAllocated = true; } -@@ -462,8 +484,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB +@@ -462,8 +485,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB vm_object_deallocate(pMemFreeBSD->pObject); rtR0MemObjDelete(&pMemFreeBSD->Core); } @@ -155,7 +165,7 @@ return VERR_NO_MEMORY; } -@@ -486,6 +510,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ +@@ -486,6 +511,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ const char *pszTag) { AssertReturn(uCachePolicy == RTMEM_CACHE_POLICY_DONT_CARE, VERR_NOT_SUPPORTED); @@ -163,7 +173,7 @@ /* create the object. */ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PHYS, -@@ -497,8 +522,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ +@@ -497,8 +523,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ pMemFreeBSD->Core.u.Phys.PhysBase = Phys; pMemFreeBSD->Core.u.Phys.uCachePolicy = uCachePolicy; *ppMem = &pMemFreeBSD->Core; @@ -174,7 +184,7 @@ return VERR_NO_MEMORY; } -@@ -510,6 +537,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER +@@ -510,6 +538,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER vm_offset_t AddrStart, size_t cb, uint32_t fAccess, RTR0PROCESS R0Process, int fFlags, const char *pszTag) { @@ -182,7 +192,7 @@ int rc; NOREF(fAccess); -@@ -519,21 +547,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER +@@ -519,21 +548,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER if (!pMemFreeBSD) return VERR_NO_MEMORY; @@ -219,7 +229,7 @@ return VERR_NO_MEMORY;/** @todo fix mach -> vbox error conversion for freebsd. */ } -@@ -573,6 +608,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN +@@ -573,6 +609,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJINTERNAL ppMem, void *pvFixed, size_t cb, size_t uAlignment, RTR0PROCESS R0Process, vm_map_t pMap, const char *pszTag) { @@ -227,7 +237,7 @@ int rc; /* -@@ -631,11 +667,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN +@@ -631,11 +668,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN pMemFreeBSD->Core.pv = (void *)MapAddress; pMemFreeBSD->Core.u.ResVirt.R0Process = R0Process; *ppMem = &pMemFreeBSD->Core; @@ -241,7 +251,7 @@ return rc; } -@@ -659,6 +697,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ +@@ -659,6 +698,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, void *pvFixed, size_t uAlignment, unsigned fProt, size_t offSub, size_t cbSub, const char *pszTag) { @@ -250,7 +260,7 @@ // AssertMsgReturn(!offSub && !cbSub, ("%#x %#x\n", offSub, cbSub), VERR_NOT_SUPPORTED); AssertMsgReturn(pvFixed == (void *)-1, ("%p\n", pvFixed), VERR_NOT_SUPPORTED); -@@ -713,6 +753,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ +@@ -713,6 +754,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ Assert((vm_offset_t)pMemFreeBSD->Core.pv == Addr); pMemFreeBSD->Core.u.Mapping.R0Process = NIL_RTR0PROCESS; *ppMem = &pMemFreeBSD->Core; @@ -258,7 +268,7 @@ return VINF_SUCCESS; } rc = vm_map_remove(kernel_map, Addr, Addr + cbSub); -@@ -721,6 +762,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ +@@ -721,6 +763,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ else vm_object_deallocate(pMemToMapFreeBSD->pObject); @@ -266,7 +276,7 @@ return VERR_NO_MEMORY; } -@@ -728,6 +770,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN +@@ -728,6 +771,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, RTR3PTR R3PtrFixed, size_t uAlignment, unsigned fProt, RTR0PROCESS R0Process, size_t offSub, size_t cbSub, const char *pszTag) { @@ -275,7 +285,7 @@ /* * Check for unsupported stuff. */ -@@ -785,44 +829,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN +@@ -785,44 +830,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN if (rc == KERN_SUCCESS) { @@ -330,7 +340,7 @@ if ((fProt & RTMEM_PROT_NONE) == RTMEM_PROT_NONE) ProtectionFlags = VM_PROT_NONE; -@@ -833,7 +883,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT +@@ -833,7 +884,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT if ((fProt & RTMEM_PROT_EXEC) == RTMEM_PROT_EXEC) ProtectionFlags |= VM_PROT_EXECUTE; @@ -343,7 +353,7 @@ if (krc == KERN_SUCCESS) return VINF_SUCCESS; -@@ -858,11 +913,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P +@@ -858,11 +914,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P vm_offset_t pb = (vm_offset_t)pMemFreeBSD->Core.pv + ptoa(iPage); @@ -367,7 +377,7 @@ } case RTR0MEMOBJTYPE_MAPPING: -@@ -871,11 +934,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P +@@ -871,11 +935,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS) { @@ -384,7 +394,7 @@ } return vtophys(pb); } -@@ -886,9 +953,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P +@@ -886,9 +954,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P { RTHCPHYS addr; diff --git a/emulators/virtualbox-ose-70/files/vboxinit.in b/emulators/virtualbox-ose-70/files/vboxinit.in index 9895da9e362e..9574d7d6295e 100644 --- a/emulators/virtualbox-ose-70/files/vboxinit.in +++ b/emulators/virtualbox-ose-70/files/vboxinit.in @@ -16,7 +16,7 @@ # vboxinit_stop (str): Default stop cmd for VBoxManage controlvm. # (default: savestate) # vboxinit_start_delay (int): Default startup delay in seconds. -# (default: 0) +# (default: 1) # vboxinit_stop_delay (int): Default shutdown delay in seconds. # (default: 0) # diff --git a/emulators/virtualbox-ose-71/Makefile b/emulators/virtualbox-ose-71/Makefile index 390f4ffa655b..f0ee8e8fe57e 100644 --- a/emulators/virtualbox-ose-71/Makefile +++ b/emulators/virtualbox-ose-71/Makefile @@ -1,6 +1,6 @@ PORTNAME= virtualbox-ose -DISTVERSION= 7.1.12 -PORTREVISION?= 1 +DISTVERSION= 7.1.14 +PORTREVISION?= 0 CATEGORIES= emulators MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \ LOCAL/vvd:docs @@ -95,7 +95,7 @@ DEBUG_DESC= Debug symbols, additional logs and assertions GUESTADDITIONS_DESC= Build with Guest Additions NLS_DESC= Native language support (requires QT6) OGG_DESC= Use libogg from audio/libogg instead of bundled one -QT6_DESC= Build with QT6 frontend (requires X11) +QT6_DESC= Build with Qt6 frontend (requires X11) R0LOGGING_DESC= Enable R0 logging (requires DEBUG) TPM_DESC= Enable TPM device emulation using sysutils/libtpms UDPTUNNEL_DESC= Build with UDP tunnel support diff --git a/emulators/virtualbox-ose-71/distinfo b/emulators/virtualbox-ose-71/distinfo index e7b992b0b10c..c6cabfd397f1 100644 --- a/emulators/virtualbox-ose-71/distinfo +++ b/emulators/virtualbox-ose-71/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1752700000 -SHA256 (VirtualBox-7.1.12.tar.bz2) = 6f9618f39168898134975f51df7c2d6d5129c0aa82b6ae11cf47f920c70df276 -SIZE (VirtualBox-7.1.12.tar.bz2) = 214691769 -SHA256 (VirtualBox-docs-7.1.12.tar.bz2) = ba48f2da2593d8cae56fcf601c132d77dbf1d16b1e26db162c89449250c269bd -SIZE (VirtualBox-docs-7.1.12.tar.bz2) = 10109084 -SHA256 (VBoxGuestAdditions_7.1.12.iso) = 256883e2eabf7ab5c10fb3b6831c294942ce34bc615807f9d0cf6c3d2e882236 -SIZE (VBoxGuestAdditions_7.1.12.iso) = 61331456 +TIMESTAMP = 1761088888 +SHA256 (VirtualBox-7.1.14.tar.bz2) = 6a4eea884cd98049a5357133b718078d8aaae68047836a3f86cd5904336d6218 +SIZE (VirtualBox-7.1.14.tar.bz2) = 216819853 +SHA256 (VirtualBox-docs-7.1.14.tar.bz2) = f0b683626a41a8aad1054e6c215c2b0f917a87a200a661a1e1a142b051a8a778 +SIZE (VirtualBox-docs-7.1.14.tar.bz2) = 10110959 +SHA256 (VBoxGuestAdditions_7.1.14.iso) = 3c22ab6fe1acadf1ac522a6fb53984a8bd236862a490ab5cc9e0e3bcc521aae6 +SIZE (VBoxGuestAdditions_7.1.14.iso) = 61343744 diff --git a/emulators/virtualbox-ose-71/files/patch-configure b/emulators/virtualbox-ose-71/files/patch-configure index 3645d1236ea8..ce88f3f17087 100644 --- a/emulators/virtualbox-ose-71/files/patch-configure +++ b/emulators/virtualbox-ose-71/files/patch-configure @@ -1,6 +1,6 @@ ---- configure.orig 2025-04-14 17:41:37 UTC +--- configure.orig 2025-10-16 14:17:04 UTC +++ configure -@@ -158,10 +158,14 @@ if [ "$OS" = "freebsd" ]; then +@@ -156,10 +156,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" -@@ -1211,6 +1215,9 @@ extern "C" int main(int argc, char** argv) +@@ -1179,6 +1183,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 -@@ -1295,7 +1302,7 @@ EOF +@@ -1263,7 +1270,7 @@ EOF #endif } EOF @@ -34,7 +34,7 @@ test_execute fi } -@@ -1599,6 +1606,7 @@ EOF +@@ -1567,6 +1574,7 @@ EOF SDKQT6=$PATH_SDK_QT6 fi FLGQT6="-framework QtCore -std=c++17 -Wl,-rpath,`L_to_PATH "$LIBQT6"`" @@ -42,28 +42,7 @@ else log_failure "Qt6 framework not found (can be disabled using --disable-qt)" fail -@@ -1875,9 +1883,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> -@@ -1927,7 +1935,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" -@@ -2194,8 +2202,8 @@ EOF +@@ -2133,8 +2141,8 @@ EOF echo "compiling the following source file:" >> $LOG cat $ODIR.tmp_src.cc >> $LOG echo "using the following command line:" >> $LOG @@ -74,7 +53,7 @@ if [ $? -eq 0 ]; then found=1 break -@@ -2311,7 +2319,7 @@ check_gsoap() +@@ -2250,7 +2258,7 @@ check_gsoap() else cnf_append "VBOX_GSOAP_CXX_SOURCES" "" fi @@ -83,7 +62,7 @@ gsoap_version=`pkg-config gsoapssl++ --modversion` log_success "found version $gsoap_version" return -@@ -2687,7 +2695,7 @@ for option in "$@"; do +@@ -2624,7 +2632,7 @@ for option in "$@"; do --with-openssl-dir=*) OPENSSLDIR=`echo $option | cut -d'=' -f2` INCCRYPTO="-I${OPENSSLDIR}/include" @@ -92,7 +71,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. -@@ -3054,12 +3062,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then +@@ -2988,12 +2996,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then [ $WITH_JAVA -eq 1 ] && check_java # PulseAudio @@ -121,7 +100,7 @@ fi fi -@@ -3075,14 +3093,6 @@ if [ "$OS" = "linux" ]; then +@@ -3009,14 +3027,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-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c index e790f372f95f..204f6525ba77 100644 --- a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c @@ -1,5 +1,5 @@ ---- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2022-10-06 19:03:06.000000000 +0200 -+++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c 2024-12-26 15:28:38.066230000 +0100 +--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2025-10-16 14:25:28 UTC ++++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c @@ -55,6 +55,7 @@ #include <sys/uio.h> #include <sys/bus.h> @@ -16,7 +16,7 @@ #include <iprt/initterm.h> #include <iprt/process.h> #include <iprt/string.h> -@@ -112,8 +114,6 @@ +@@ -112,8 +114,6 @@ struct VBoxGuestDeviceState struct resource *pIrqRes; /** Pointer to the IRQ handler. */ void *pfnIrqHandler; @@ -25,7 +25,7 @@ }; -@@ -123,8 +123,7 @@ +@@ -123,8 +123,7 @@ struct VBoxGuestDeviceState /* * Character device file handlers. */ @@ -35,7 +35,7 @@ static d_ioctl_t vgdrvFreeBSDIOCtl; static int vgdrvFreeBSDIOCtlSlow(PVBOXGUESTSESSION pSession, u_long ulCmd, caddr_t pvData, struct thread *pTd); static d_write_t vgdrvFreeBSDWrite; -@@ -155,8 +154,7 @@ +@@ -155,8 +154,7 @@ static struct cdevsw g_vgdrvFreeBSDChrDevSW = { .d_version = D_VERSION, .d_flags = D_TRACKCLOSE | D_NEEDMINOR, @@ -45,7 +45,7 @@ .d_ioctl = vgdrvFreeBSDIOCtl, .d_read = vgdrvFreeBSDRead, .d_write = vgdrvFreeBSDWrite, -@@ -164,81 +162,28 @@ +@@ -164,81 +162,28 @@ static struct cdevsw g_vgdrvFreeBSDChrDevSW = .d_name = "vboxguest" }; @@ -134,7 +134,7 @@ { int rc; PVBOXGUESTSESSION pSession; -@@ -250,12 +195,6 @@ +@@ -250,12 +195,6 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp LogFlow(("vgdrvFreeBSDOpen:\n")); /* @@ -147,7 +147,7 @@ * Create a new session. */ fRequestor = VMMDEV_REQUESTOR_USERMODE | VMMDEV_REQUESTOR_TRUST_NOT_GIVEN; -@@ -272,47 +211,20 @@ +@@ -272,14 +211,13 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp rc = VGDrvCommonCreateUserSession(&g_DevExt, fRequestor, &pSession); if (RT_SUCCESS(rc)) { @@ -168,10 +168,10 @@ } LogRel(("vgdrvFreeBSDOpen: failed. rc=%d\n", rc)); - return RTErrConvertToErrno(rc); +@@ -287,33 +225,6 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp } --/** + /** - * File close handler - * - */ @@ -179,7 +179,7 @@ -{ - PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1; - Log(("vgdrvFreeBSDClose: fFile=%#x pSession=%p\n", fFile, pSession)); - +- - /* - * Close the session if it's still hanging on to the device... - */ @@ -198,10 +198,11 @@ -} - - - /** +-/** * I/O control request. * -@@ -326,8 +238,12 @@ + * @returns depends... +@@ -326,8 +237,12 @@ static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long ulCmd, caddr_t pvData, int fFile, struct thread *pTd) { PVBOXGUESTSESSION pSession; @@ -215,20 +216,25 @@ /* * Deal with the fast ioctl path first. */ -@@ -526,8 +442,10 @@ +@@ -522,12 +437,14 @@ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEv + + static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEvents, struct thread *td) + { +- int fEventsProcessed; ++ PVBOXGUESTSESSION pSession; ++ int fEventsProcessed, rc; LogFlow(("vgdrvFreeBSDPoll: fEvents=%d\n", fEvents)); - PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1; - if (RT_UNLIKELY(!RT_VALID_PTR(pSession))) { -+ + rc = devfs_get_cdevpriv((void **)&pSession); + if (rc) -+ { ++ { Log(("vgdrvFreeBSDPoll: no state data for %s\n", devtoname(pDev))); return (fEvents & (POLLHUP|POLLIN|POLLRDNORM|POLLOUT|POLLWRNORM)); } -@@ -568,11 +486,8 @@ +@@ -568,11 +485,8 @@ static int vgdrvFreeBSDDetach(device_t pDevice) /* * Reverse what we did in vgdrvFreeBSDAttach. */ @@ -241,7 +247,7 @@ vgdrvFreeBSDRemoveIRQ(pDevice, pState); if (pState->pVMMDevMemRes) -@@ -737,18 +652,21 @@ +@@ -738,18 +652,21 @@ static int vgdrvFreeBSDAttach(device_t pDevice) VGDrvCommonProcessOptionsFromHost(&g_DevExt); /* @@ -269,7 +275,7 @@ vgdrvFreeBSDRemoveIRQ(pDevice, pState); } else -@@ -792,8 +710,12 @@ +@@ -793,8 +710,12 @@ static driver_t vgdrvFreeBSDDriver = sizeof(struct VBoxGuestDeviceState), }; diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile index 476346a59b13..37c1596cfe87 100644 --- a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile +++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile @@ -1,15 +1,17 @@ ---- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2019-04-16 10:09:09 UTC +--- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2025-10-16 14:25:29 UTC +++ src/VBox/Additions/common/VBoxGuest/freebsd/Makefile -@@ -25,7 +25,7 @@ +@@ -34,9 +34,8 @@ KMOD = vboxguest + # SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0 # KMOD = vboxguest - --CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS +CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_GUEST -DIN_GUEST_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS +-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS +- .if (${MACHINE_ARCH} == "i386") CFLAGS += -DRT_ARCH_X86 -@@ -80,6 +80,7 @@ SRCS += \ + .elif (${MACHINE_ARCH} == "amd64") +@@ -91,6 +90,7 @@ SRCS += \ handletable.c \ handletablectx.c \ once.c \ @@ -17,7 +19,7 @@ thread.c .PATH: ${.CURDIR}/common/string -@@ -147,6 +148,7 @@ SRCS += \ +@@ -163,6 +163,7 @@ SRCS += \ .PATH: ${.CURDIR}/r0drv SRCS += \ @@ -25,3 +27,12 @@ alloc-r0drv.c \ initterm-r0drv.c \ memobj-r0drv.c \ +@@ -196,7 +197,7 @@ SRCS += \ + SRCS += \ + log-vbox.c \ + logbackdoor.c \ +- RTLogWriteVmm-amd64-x86. ++ RTLogWriteVmm-amd64-x86.c + + .include <bsd.kmod.mk> + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk index 270472c045e3..796aecabac8f 100644 --- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk @@ -1,4 +1,4 @@ ---- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-05-11 03:54:13 UTC +--- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-10-24 13:49:31 UTC +++ src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk @@ -0,0 +1,28 @@ +# $Id: Makefile.kmk $ @@ -18,7 +18,7 @@ +CFLAGS+=-I$(MOUNT) + +PROGRAMS += mount_vboxvfs -+mount_vboxvfs_TEMPLATE = NewVBoxGuestR3Exe ++mount_vboxvfs_TEMPLATE = VBoxGuestR3Exe +mount_vboxvfs_SOURCES = mount_vboxvfs.c + +ifdef HAVE_MNTOPTS_IN_LIBUTIL diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk new file mode 100644 index 000000000000..679778e60181 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk @@ -0,0 +1,50 @@ +--- src/VBox/Additions/freebsd/vboxvfs/Makefile.kmk.orig 2025-10-22 19:18:12 UTC ++++ src/VBox/Additions/freebsd/vboxvfs/Makefile.kmk +@@ -43,32 +43,37 @@ vboxvfs_SOURCES = \ + $(vboxvfs_0_OUTDIR) + vboxvfs_SOURCES = \ + vboxvfs_vfsops.c \ +- vboxvfs_vnops.c ++ bcmp.c \ ++ vboxvfs_vnops.c \ ++ vboxvfs_prov.c + vboxvfs_LIBS = \ + $(VBOX_LIB_VBGL_R0) \ + $(VBOX_LIB_IPRT_GUEST_R0) + vboxvfs_DEPS = \ +- $$(vboxvfs_0_OUTDIR)/vnode_if.h \ +- $$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h \ +- $$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h ++ $(vboxvfs_0_OUTDIR)/vnode_if.h \ ++ $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h \ ++ $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h + vboxvfs_CLEAN += $(vboxvfs_DEPS) + + VBOX_AWK := /usr/bin/awk + +-$$(vboxvfs_0_OUTDIR)/vnode_if.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src ++$$(vboxvfs_0_OUTDIR): ++ $(QUIET)$(MKDIR) -p $(vboxvfs_0_OUTDIR) ++ ++$$(vboxvfs_0_OUTDIR)/vnode_if.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src + $(call MSG_TOOL,awk,VBoxGuest,$<,$@) + $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -h +- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if.h $(vboxvfs_0_OUTDIR)/vnode_if.h ++ $(QUIET)$(MV) vnode_if.h $(vboxvfs_0_OUTDIR)/vnode_if.h + +-$$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src ++$$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src + $(call MSG_TOOL,awk,VBoxGuest,$<,$@) + $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -p +- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h ++ $(QUIET)$(MV) vnode_if_newproto.h $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h + +-$$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src ++$$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src + $(call MSG_TOOL,awk,VBoxGuest,$<,$@) + $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -q +- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h ++ $(QUIET)$(MV) vnode_if_typedef.h $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h + + include $(FILE_KBUILD_SUB_FOOTER) + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk index afb19c804d7a..2d0377fb3e40 100644 --- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk @@ -1,6 +1,6 @@ ---- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2019-01-25 18:24:30 UTC +--- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2025-10-16 14:25:37 UTC +++ src/VBox/Additions/x11/vboxmouse/Makefile.kmk -@@ -227,10 +227,22 @@ endif # neq ($(KBUILD_TARGET),linux) +@@ -237,10 +237,22 @@ ifdef VBOX_USE_SYSTEM_XORG_HEADERS ifdef VBOX_USE_SYSTEM_XORG_HEADERS @@ -10,7 +10,7 @@ - SYSMODS := $(filter-out vboxmouse_drv%,$(SYSMODS)) + ifeq ($(KBUILD_TARGET),freebsd) + DLLS += vboxmouse_drv_system -+ vboxmouse_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD ++ vboxmouse_drv_system_TEMPLATE = VBoxGuestR3XOrgMod + vboxmouse_drv_system_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + vboxmouse_drv_system_INCS := \ + /usr/local/include/pixman-1 \ diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk new file mode 100644 index 000000000000..38ef1ac68f9e --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk @@ -0,0 +1,15 @@ +--- src/VBox/Additions/x11/vboxvideo/Makefile.kmk.orig 2025-10-22 19:22:45 UTC ++++ src/VBox/Additions/x11/vboxvideo/Makefile.kmk +@@ -415,9 +415,10 @@ ifdef VBOX_USE_SYSTEM_XORG_HEADERS + vboxvideo_drv_system_INCS += \ + $(PATH_ROOT)/src/VBox/Runtime/include \ + $(VBOX_GRAPHICS_INCS) \ +- /usr/include/xorg \ +- /usr/include/pixman-1 ++ /usr/local/include/xorg \ ++ /usr/local/include/pixman-1 + vboxvideo_drv_system_SOURCES := $(vboxvideo_drv_17_SOURCES) ++ vboxvideo_drv_system_LIBS += $(vboxvideo_drv_70_LIBS) + endif + + diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp new file mode 100644 index 000000000000..f8fe5b1a7ba3 --- /dev/null +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp @@ -0,0 +1,24 @@ +--- src/VBox/Runtime/common/misc/handletablectx.cpp.orig 2025-10-16 14:35:39 UTC ++++ src/VBox/Runtime/common/misc/handletablectx.cpp +@@ -48,7 +48,9 @@ + #include <iprt/param.h> + #include <iprt/string.h> + #include <iprt/asm.h> ++#ifndef IN_GUEST + #include <iprt/system.h> ++#endif + #include "internal/magics.h" + #include "handletable.h" + +@@ -118,7 +120,11 @@ RTDECL(int) RTHandleTableAllocWithCtx(RTHANDLETABL + */ + uint32_t const iLevel1 = pThis->cCur / RTHT_LEVEL2_ENTRIES; + uint32_t cLevel1 = iLevel1 >= pThis->cLevel1 ++#ifndef IN_GUEST + ? pThis->cLevel1 + RTSystemGetPageSize() / sizeof(void *) ++#else ++ ? pThis->cLevel1 + PAGE_SIZE / sizeof(void *) ++#endif + : 0; + if (cLevel1 > pThis->cMax / RTHT_LEVEL2_ENTRIES) + cLevel1 = pThis->cMax / RTHT_LEVEL2_ENTRIES; diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c index 4c0ed355709c..2ae9e1f34147 100644 --- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c +++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c @@ -1,4 +1,4 @@ ---- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2025-04-14 17:59:13 UTC +--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2025-10-16 14:35:51 UTC +++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c @@ -140,8 +140,10 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) @@ -11,16 +11,26 @@ switch (pMemFreeBSD->Core.enmType) { -@@ -156,8 +158,6 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) +@@ -156,9 +158,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) case RTR0MEMOBJTYPE_LOCK: { - vm_map_t pMap = kernel_map; - - if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) +- if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) ++ if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) { pMap = &((struct proc *)pMemFreeBSD->Core.u.Lock.R0Process)->p_vmspace->vm_map; -@@ -198,6 +198,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) + rc = vm_map_unwire(pMap, +@@ -166,6 +166,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) + (vm_offset_t)pMemFreeBSD->Core.pv + pMemFreeBSD->Core.cb, + VM_MAP_WIRE_SYSTEM | VM_MAP_WIRE_NOHOLES); + AssertMsg(rc == KERN_SUCCESS, ("%#x", rc)); ++ } + break; + } + +@@ -198,6 +199,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) case RTR0MEMOBJTYPE_PHYS_NC: { VM_OBJECT_WLOCK(pMemFreeBSD->pObject); @@ -28,7 +38,7 @@ vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0); #if __FreeBSD_version < 1000000 vm_page_lock_queues(); -@@ -211,6 +212,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) +@@ -211,6 +213,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) #if __FreeBSD_version < 1000000 vm_page_unlock_queues(); #endif @@ -43,7 +53,7 @@ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); vm_object_deallocate(pMemFreeBSD->pObject); break; -@@ -221,6 +230,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) +@@ -221,6 +231,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) return VERR_INTERNAL_ERROR; } @@ -51,7 +61,7 @@ return VINF_SUCCESS; } -@@ -330,7 +340,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE +@@ -330,7 +341,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE size_t cPages = atop(pMemFreeBSD->Core.cb); int rc; @@ -61,7 +71,7 @@ /* No additional object reference for auto-deallocation upon unmapping. */ #if __FreeBSD_version >= 1000055 -@@ -372,6 +383,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ +@@ -372,6 +384,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag) { @@ -69,7 +79,7 @@ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PAGE, NULL, cb, pszTag); if (pMemFreeBSD) -@@ -381,8 +393,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ +@@ -381,8 +394,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ *ppMem = &pMemFreeBSD->Core; else rtR0MemObjDelete(&pMemFreeBSD->Core); @@ -80,7 +90,7 @@ return VERR_NO_MEMORY; } -@@ -396,6 +410,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI +@@ -396,6 +411,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag) { @@ -88,7 +98,7 @@ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_LOW, NULL, cb, pszTag); if (pMemFreeBSD) { -@@ -404,8 +419,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI +@@ -404,8 +420,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI *ppMem = &pMemFreeBSD->Core; else rtR0MemObjDelete(&pMemFreeBSD->Core); @@ -99,7 +109,7 @@ return VERR_NO_MEMORY; } -@@ -413,6 +430,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ +@@ -413,6 +431,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, RTHCPHYS PhysHigest, bool fExecutable, const char *pszTag) { @@ -107,7 +117,7 @@ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_CONT, NULL, cb, pszTag); if (pMemFreeBSD) -@@ -425,8 +443,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ +@@ -425,8 +444,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ } else rtR0MemObjDelete(&pMemFreeBSD->Core); @@ -118,7 +128,7 @@ return VERR_NO_MEMORY; } -@@ -434,6 +454,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB +@@ -434,6 +455,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJTYPE enmType, size_t cb, RTHCPHYS PhysHighest, size_t uAlignment, bool fContiguous, int rcNoMem, const char *pszTag) { @@ -126,7 +136,7 @@ /* create the object. */ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), enmType, NULL, cb, pszTag); if (pMemFreeBSD) -@@ -441,7 +462,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB +@@ -441,7 +463,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB vm_paddr_t const VmPhysAddrHigh = PhysHighest != NIL_RTHCPHYS ? PhysHighest : ~(vm_paddr_t)0; u_long const cPages = atop(cb); @@ -136,7 +146,7 @@ int rc = rtR0MemObjFreeBSDPhysAllocHelper(pMemFreeBSD->pObject, cPages, VmPhysAddrHigh, uAlignment, fContiguous, true, rcNoMem); -@@ -451,7 +473,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB +@@ -451,7 +474,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB { Assert(enmType == RTR0MEMOBJTYPE_PHYS); VM_OBJECT_WLOCK(pMemFreeBSD->pObject); @@ -145,7 +155,7 @@ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); pMemFreeBSD->Core.u.Phys.fAllocated = true; } -@@ -464,8 +486,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB +@@ -464,8 +487,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB vm_object_deallocate(pMemFreeBSD->pObject); rtR0MemObjDelete(&pMemFreeBSD->Core); } @@ -156,7 +166,7 @@ return VERR_NO_MEMORY; } -@@ -488,6 +512,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ +@@ -488,6 +513,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ const char *pszTag) { AssertReturn(uCachePolicy == RTMEM_CACHE_POLICY_DONT_CARE, VERR_NOT_SUPPORTED); @@ -164,7 +174,7 @@ /* create the object. */ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PHYS, -@@ -499,8 +524,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ +@@ -499,8 +525,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ pMemFreeBSD->Core.u.Phys.PhysBase = Phys; pMemFreeBSD->Core.u.Phys.uCachePolicy = uCachePolicy; *ppMem = &pMemFreeBSD->Core; @@ -175,7 +185,7 @@ return VERR_NO_MEMORY; } -@@ -512,6 +539,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER +@@ -512,6 +540,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER vm_offset_t AddrStart, size_t cb, uint32_t fAccess, RTR0PROCESS R0Process, int fFlags, const char *pszTag) { @@ -183,7 +193,7 @@ int rc; NOREF(fAccess); -@@ -521,21 +549,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER +@@ -521,21 +550,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER if (!pMemFreeBSD) return VERR_NO_MEMORY; @@ -220,7 +230,7 @@ return VERR_NO_MEMORY;/** @todo fix mach -> vbox error conversion for freebsd. */ } -@@ -575,6 +610,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN +@@ -575,6 +611,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJINTERNAL ppMem, void *pvFixed, size_t cb, size_t uAlignment, RTR0PROCESS R0Process, vm_map_t pMap, const char *pszTag) { @@ -228,7 +238,7 @@ int rc; /* -@@ -633,11 +669,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN +@@ -633,11 +670,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN pMemFreeBSD->Core.pv = (void *)MapAddress; pMemFreeBSD->Core.u.ResVirt.R0Process = R0Process; *ppMem = &pMemFreeBSD->Core; @@ -242,7 +252,7 @@ return rc; } -@@ -661,6 +699,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ +@@ -661,6 +700,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, void *pvFixed, size_t uAlignment, unsigned fProt, size_t offSub, size_t cbSub, const char *pszTag) { @@ -251,7 +261,7 @@ // AssertMsgReturn(!offSub && !cbSub, ("%#x %#x\n", offSub, cbSub), VERR_NOT_SUPPORTED); AssertMsgReturn(pvFixed == (void *)-1, ("%p\n", pvFixed), VERR_NOT_SUPPORTED); -@@ -715,6 +755,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ +@@ -715,6 +756,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ Assert((vm_offset_t)pMemFreeBSD->Core.pv == Addr); pMemFreeBSD->Core.u.Mapping.R0Process = NIL_RTR0PROCESS; *ppMem = &pMemFreeBSD->Core; @@ -259,7 +269,7 @@ return VINF_SUCCESS; } rc = vm_map_remove(kernel_map, Addr, Addr + cbSub); -@@ -723,6 +764,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ +@@ -723,6 +765,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ else vm_object_deallocate(pMemToMapFreeBSD->pObject); @@ -267,7 +277,7 @@ return VERR_NO_MEMORY; } -@@ -730,6 +772,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN +@@ -730,6 +773,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, RTR3PTR R3PtrFixed, size_t uAlignment, unsigned fProt, RTR0PROCESS R0Process, size_t offSub, size_t cbSub, const char *pszTag) { @@ -276,7 +286,7 @@ /* * Check for unsupported stuff. */ -@@ -787,44 +831,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN +@@ -787,44 +832,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN if (rc == KERN_SUCCESS) { @@ -331,7 +341,7 @@ if ((fProt & RTMEM_PROT_NONE) == RTMEM_PROT_NONE) ProtectionFlags = VM_PROT_NONE; -@@ -835,7 +885,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT +@@ -835,7 +886,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT if ((fProt & RTMEM_PROT_EXEC) == RTMEM_PROT_EXEC) ProtectionFlags |= VM_PROT_EXECUTE; @@ -344,7 +354,7 @@ if (krc == KERN_SUCCESS) return VINF_SUCCESS; -@@ -860,11 +915,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P +@@ -860,11 +916,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P vm_offset_t pb = (vm_offset_t)pMemFreeBSD->Core.pv + ptoa(iPage); @@ -368,7 +378,7 @@ } case RTR0MEMOBJTYPE_MAPPING: -@@ -873,11 +936,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P +@@ -873,11 +937,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS) { @@ -385,7 +395,7 @@ } return vtophys(pb); } -@@ -888,9 +955,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P +@@ -888,9 +956,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P { RTHCPHYS addr; @@ -397,7 +407,7 @@ return addr; } -@@ -910,7 +979,7 @@ DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping +@@ -910,7 +980,7 @@ DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping(PRTR0MEMOBJINTERNAL pMem) { PRTR0MEMOBJFREEBSD const pMemFreeBsd = (PRTR0MEMOBJFREEBSD)pMem; diff --git a/emulators/virtualbox-ose-71/files/vboxinit.in b/emulators/virtualbox-ose-71/files/vboxinit.in index 9895da9e362e..9574d7d6295e 100644 --- a/emulators/virtualbox-ose-71/files/vboxinit.in +++ b/emulators/virtualbox-ose-71/files/vboxinit.in @@ -16,7 +16,7 @@ # vboxinit_stop (str): Default stop cmd for VBoxManage controlvm. # (default: savestate) # vboxinit_start_delay (int): Default startup delay in seconds. -# (default: 0) +# (default: 1) # vboxinit_stop_delay (int): Default shutdown delay in seconds. # (default: 0) # diff --git a/emulators/virtualbox-ose-72/Makefile b/emulators/virtualbox-ose-72/Makefile index 8366e55ae779..45bd8b9a18a5 100644 --- a/emulators/virtualbox-ose-72/Makefile +++ b/emulators/virtualbox-ose-72/Makefile @@ -1,6 +1,6 @@ PORTNAME= virtualbox-ose -DISTVERSION= 7.2.2 -PORTREVISION?= 1 +DISTVERSION= 7.2.4 +PORTREVISION?= 0 CATEGORIES= emulators MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \ LOCAL/vvd:docs @@ -96,7 +96,7 @@ DEBUG_DESC= Debug symbols, additional logs and assertions GUESTADDITIONS_DESC= Build with Guest Additions NLS_DESC= Native language support (requires QT6) OGG_DESC= Use libogg from audio/libogg instead of bundled one -QT6_DESC= Build with QT6 frontend (requires X11) +QT6_DESC= Build with Qt6 frontend (requires X11) R0LOGGING_DESC= Enable R0 logging (requires DEBUG) TPM_DESC= Enable TPM device emulation using sysutils/libtpms UDPTUNNEL_DESC= Build with UDP tunnel support diff --git a/emulators/virtualbox-ose-72/distinfo b/emulators/virtualbox-ose-72/distinfo index 48ed99a441f9..e657c539342b 100644 --- a/emulators/virtualbox-ose-72/distinfo +++ b/emulators/virtualbox-ose-72/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1759400000 -SHA256 (VirtualBox-7.2.2.tar.bz2) = b0e63bfb855327aecf1122cda33390c33734e5ffed72f123f5edf786a8ce1393 -SIZE (VirtualBox-7.2.2.tar.bz2) = 206992991 -SHA256 (VirtualBox-docs-7.2.2.tar.bz2) = 5784f7ccb0cd28f1e4647771301c51cbd2427ec84e071d3dd92c9f0e12690f8c -SIZE (VirtualBox-docs-7.2.2.tar.bz2) = 9134609 -SHA256 (VBoxGuestAdditions_7.2.2.iso) = 42457487fb5f117265fe41bf8b2a521449c2cff75c95029d8f667f7dab5a4409 -SIZE (VBoxGuestAdditions_7.2.2.iso) = 53135360 +TIMESTAMP = 1761088888 +SHA256 (VirtualBox-7.2.4.tar.bz2) = d281ec981b5f580211a0cedd1b75a1adcb0fbfcbb768d8c2bf4429f4763e8bbd +SIZE (VirtualBox-7.2.4.tar.bz2) = 207084201 +SHA256 (VirtualBox-docs-7.2.4.tar.bz2) = d9639bdee32d36c05436485b1dfd7d0c08736e53a6fcf8bda0c708681cf211e5 +SIZE (VirtualBox-docs-7.2.4.tar.bz2) = 9134788 +SHA256 (VBoxGuestAdditions_7.2.4.iso) = 66fa60b041fcda5d8b2ed22ba91bfafafaa3a5ff05c7d8ba01fbbe639669e153 +SIZE (VBoxGuestAdditions_7.2.4.iso) = 53153792 diff --git a/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c index 5344a7ab812f..204f6525ba77 100644 --- a/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c +++ b/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c @@ -1,4 +1,4 @@ ---- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2025-08-13 19:41:14 UTC +--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2025-10-16 14:25:28 UTC +++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c @@ -55,6 +55,7 @@ #include <sys/uio.h> @@ -147,7 +147,7 @@ * Create a new session. */ fRequestor = VMMDEV_REQUESTOR_USERMODE | VMMDEV_REQUESTOR_TRUST_NOT_GIVEN; -@@ -272,47 +211,20 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp +@@ -272,14 +211,13 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp rc = VGDrvCommonCreateUserSession(&g_DevExt, fRequestor, &pSession); if (RT_SUCCESS(rc)) { @@ -168,10 +168,10 @@ } LogRel(("vgdrvFreeBSDOpen: failed. rc=%d\n", rc)); - return RTErrConvertToErrno(rc); +@@ -287,33 +225,6 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp } --/** + /** - * File close handler - * - */ @@ -179,7 +179,7 @@ -{ - PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1; - Log(("vgdrvFreeBSDClose: fFile=%#x pSession=%p\n", fFile, pSession)); - +- - /* - * Close the session if it's still hanging on to the device... - */ @@ -198,10 +198,11 @@ -} - - - /** +-/** * I/O control request. * -@@ -326,8 +238,12 @@ static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long + * @returns depends... +@@ -326,8 +237,12 @@ static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long ulCmd, caddr_t pvData, int fFile, struct thread *pTd) { PVBOXGUESTSESSION pSession; @@ -215,20 +216,25 @@ /* * Deal with the fast ioctl path first. */ -@@ -526,8 +442,10 @@ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEv +@@ -522,12 +437,14 @@ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEv + + static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEvents, struct thread *td) + { +- int fEventsProcessed; ++ PVBOXGUESTSESSION pSession; ++ int fEventsProcessed, rc; LogFlow(("vgdrvFreeBSDPoll: fEvents=%d\n", fEvents)); - PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1; - if (RT_UNLIKELY(!RT_VALID_PTR(pSession))) { -+ + rc = devfs_get_cdevpriv((void **)&pSession); + if (rc) -+ { ++ { Log(("vgdrvFreeBSDPoll: no state data for %s\n", devtoname(pDev))); return (fEvents & (POLLHUP|POLLIN|POLLRDNORM|POLLOUT|POLLWRNORM)); } -@@ -568,11 +486,8 @@ static int vgdrvFreeBSDDetach(device_t pDevice) +@@ -568,11 +485,8 @@ static int vgdrvFreeBSDDetach(device_t pDevice) /* * Reverse what we did in vgdrvFreeBSDAttach. */ @@ -241,7 +247,7 @@ vgdrvFreeBSDRemoveIRQ(pDevice, pState); if (pState->pVMMDevMemRes) -@@ -738,18 +653,21 @@ static int vgdrvFreeBSDAttach(device_t pDevice) +@@ -738,18 +652,21 @@ static int vgdrvFreeBSDAttach(device_t pDevice) VGDrvCommonProcessOptionsFromHost(&g_DevExt); /* @@ -269,7 +275,7 @@ vgdrvFreeBSDRemoveIRQ(pDevice, pState); } else -@@ -793,8 +711,12 @@ static driver_t vgdrvFreeBSDDriver = +@@ -793,8 +710,12 @@ static driver_t vgdrvFreeBSDDriver = sizeof(struct VBoxGuestDeviceState), }; diff --git a/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile b/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile index 1430dbb721fb..37c1596cfe87 100644 --- a/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile +++ b/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile @@ -1,15 +1,17 @@ ---- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2025-08-13 19:41:14 UTC +--- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2025-10-16 14:25:29 UTC +++ src/VBox/Additions/common/VBoxGuest/freebsd/Makefile -@@ -35,7 +35,7 @@ KMOD = vboxguest +@@ -34,9 +34,8 @@ KMOD = vboxguest + # SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0 # KMOD = vboxguest - --CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS +CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_GUEST -DIN_GUEST_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS +-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS +- .if (${MACHINE_ARCH} == "i386") CFLAGS += -DRT_ARCH_X86 -@@ -91,6 +91,7 @@ SRCS += \ + .elif (${MACHINE_ARCH} == "amd64") +@@ -91,6 +90,7 @@ SRCS += \ handletable.c \ handletablectx.c \ once.c \ @@ -17,7 +19,7 @@ thread.c .PATH: ${.CURDIR}/common/string -@@ -163,6 +164,7 @@ SRCS += \ +@@ -163,6 +163,7 @@ SRCS += \ .PATH: ${.CURDIR}/r0drv SRCS += \ @@ -25,3 +27,12 @@ alloc-r0drv.c \ initterm-r0drv.c \ memobj-r0drv.c \ +@@ -196,7 +197,7 @@ SRCS += \ + SRCS += \ + log-vbox.c \ + logbackdoor.c \ +- RTLogWriteVmm-amd64-x86. ++ RTLogWriteVmm-amd64-x86.c + + .include <bsd.kmod.mk> + diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk index 270472c045e3..796aecabac8f 100644 --- a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk +++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk @@ -1,4 +1,4 @@ ---- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-05-11 03:54:13 UTC +--- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-10-24 13:49:31 UTC +++ src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk @@ -0,0 +1,28 @@ +# $Id: Makefile.kmk $ @@ -18,7 +18,7 @@ +CFLAGS+=-I$(MOUNT) + +PROGRAMS += mount_vboxvfs -+mount_vboxvfs_TEMPLATE = NewVBoxGuestR3Exe ++mount_vboxvfs_TEMPLATE = VBoxGuestR3Exe +mount_vboxvfs_SOURCES = mount_vboxvfs.c + +ifdef HAVE_MNTOPTS_IN_LIBUTIL diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk new file mode 100644 index 000000000000..679778e60181 --- /dev/null +++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk @@ -0,0 +1,50 @@ +--- src/VBox/Additions/freebsd/vboxvfs/Makefile.kmk.orig 2025-10-22 19:18:12 UTC ++++ src/VBox/Additions/freebsd/vboxvfs/Makefile.kmk +@@ -43,32 +43,37 @@ vboxvfs_SOURCES = \ + $(vboxvfs_0_OUTDIR) + vboxvfs_SOURCES = \ + vboxvfs_vfsops.c \ +- vboxvfs_vnops.c ++ bcmp.c \ ++ vboxvfs_vnops.c \ ++ vboxvfs_prov.c + vboxvfs_LIBS = \ + $(VBOX_LIB_VBGL_R0) \ + $(VBOX_LIB_IPRT_GUEST_R0) + vboxvfs_DEPS = \ +- $$(vboxvfs_0_OUTDIR)/vnode_if.h \ +- $$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h \ +- $$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h ++ $(vboxvfs_0_OUTDIR)/vnode_if.h \ ++ $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h \ ++ $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h + vboxvfs_CLEAN += $(vboxvfs_DEPS) + + VBOX_AWK := /usr/bin/awk + +-$$(vboxvfs_0_OUTDIR)/vnode_if.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src ++$$(vboxvfs_0_OUTDIR): ++ $(QUIET)$(MKDIR) -p $(vboxvfs_0_OUTDIR) ++ ++$$(vboxvfs_0_OUTDIR)/vnode_if.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src + $(call MSG_TOOL,awk,VBoxGuest,$<,$@) + $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -h +- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if.h $(vboxvfs_0_OUTDIR)/vnode_if.h ++ $(QUIET)$(MV) vnode_if.h $(vboxvfs_0_OUTDIR)/vnode_if.h + +-$$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src ++$$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src + $(call MSG_TOOL,awk,VBoxGuest,$<,$@) + $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -p +- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h ++ $(QUIET)$(MV) vnode_if_newproto.h $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h + +-$$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src ++$$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src + $(call MSG_TOOL,awk,VBoxGuest,$<,$@) + $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -q +- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h ++ $(QUIET)$(MV) vnode_if_typedef.h $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h + + include $(FILE_KBUILD_SUB_FOOTER) + diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk index bd5e626ecea2..2d0377fb3e40 100644 --- a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk +++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk @@ -1,4 +1,4 @@ ---- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2025-08-13 19:41:22 UTC +--- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2025-10-16 14:25:37 UTC +++ src/VBox/Additions/x11/vboxmouse/Makefile.kmk @@ -237,10 +237,22 @@ ifdef VBOX_USE_SYSTEM_XORG_HEADERS @@ -10,7 +10,7 @@ - SYSMODS := $(filter-out vboxmouse_drv%,$(SYSMODS)) + ifeq ($(KBUILD_TARGET),freebsd) + DLLS += vboxmouse_drv_system -+ vboxmouse_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD ++ vboxmouse_drv_system_TEMPLATE = VBoxGuestR3XOrgMod + vboxmouse_drv_system_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + vboxmouse_drv_system_INCS := \ + /usr/local/include/pixman-1 \ diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk new file mode 100644 index 000000000000..38ef1ac68f9e --- /dev/null +++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk @@ -0,0 +1,15 @@ +--- src/VBox/Additions/x11/vboxvideo/Makefile.kmk.orig 2025-10-22 19:22:45 UTC ++++ src/VBox/Additions/x11/vboxvideo/Makefile.kmk +@@ -415,9 +415,10 @@ ifdef VBOX_USE_SYSTEM_XORG_HEADERS + vboxvideo_drv_system_INCS += \ + $(PATH_ROOT)/src/VBox/Runtime/include \ + $(VBOX_GRAPHICS_INCS) \ +- /usr/include/xorg \ +- /usr/include/pixman-1 ++ /usr/local/include/xorg \ ++ /usr/local/include/pixman-1 + vboxvideo_drv_system_SOURCES := $(vboxvideo_drv_17_SOURCES) ++ vboxvideo_drv_system_LIBS += $(vboxvideo_drv_70_LIBS) + endif + + diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp b/emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp new file mode 100644 index 000000000000..f8fe5b1a7ba3 --- /dev/null +++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp @@ -0,0 +1,24 @@ +--- src/VBox/Runtime/common/misc/handletablectx.cpp.orig 2025-10-16 14:35:39 UTC ++++ src/VBox/Runtime/common/misc/handletablectx.cpp +@@ -48,7 +48,9 @@ + #include <iprt/param.h> + #include <iprt/string.h> + #include <iprt/asm.h> ++#ifndef IN_GUEST + #include <iprt/system.h> ++#endif + #include "internal/magics.h" + #include "handletable.h" + +@@ -118,7 +120,11 @@ RTDECL(int) RTHandleTableAllocWithCtx(RTHANDLETABL + */ + uint32_t const iLevel1 = pThis->cCur / RTHT_LEVEL2_ENTRIES; + uint32_t cLevel1 = iLevel1 >= pThis->cLevel1 ++#ifndef IN_GUEST + ? pThis->cLevel1 + RTSystemGetPageSize() / sizeof(void *) ++#else ++ ? pThis->cLevel1 + PAGE_SIZE / sizeof(void *) ++#endif + : 0; + if (cLevel1 > pThis->cMax / RTHT_LEVEL2_ENTRIES) + cLevel1 = pThis->cMax / RTHT_LEVEL2_ENTRIES; diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c index 4c0ed355709c..2ae9e1f34147 100644 --- a/emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c +++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c @@ -1,4 +1,4 @@ ---- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2025-04-14 17:59:13 UTC +--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2025-10-16 14:35:51 UTC +++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c @@ -140,8 +140,10 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) @@ -11,16 +11,26 @@ switch (pMemFreeBSD->Core.enmType) { -@@ -156,8 +158,6 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) +@@ -156,9 +158,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) case RTR0MEMOBJTYPE_LOCK: { - vm_map_t pMap = kernel_map; - - if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) +- if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) ++ if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) { pMap = &((struct proc *)pMemFreeBSD->Core.u.Lock.R0Process)->p_vmspace->vm_map; -@@ -198,6 +198,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) + rc = vm_map_unwire(pMap, +@@ -166,6 +166,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) + (vm_offset_t)pMemFreeBSD->Core.pv + pMemFreeBSD->Core.cb, + VM_MAP_WIRE_SYSTEM | VM_MAP_WIRE_NOHOLES); + AssertMsg(rc == KERN_SUCCESS, ("%#x", rc)); ++ } + break; + } + +@@ -198,6 +199,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) case RTR0MEMOBJTYPE_PHYS_NC: { VM_OBJECT_WLOCK(pMemFreeBSD->pObject); @@ -28,7 +38,7 @@ vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0); #if __FreeBSD_version < 1000000 vm_page_lock_queues(); -@@ -211,6 +212,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) +@@ -211,6 +213,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) #if __FreeBSD_version < 1000000 vm_page_unlock_queues(); #endif @@ -43,7 +53,7 @@ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); vm_object_deallocate(pMemFreeBSD->pObject); break; -@@ -221,6 +230,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) +@@ -221,6 +231,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) return VERR_INTERNAL_ERROR; } @@ -51,7 +61,7 @@ return VINF_SUCCESS; } -@@ -330,7 +340,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE +@@ -330,7 +341,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE size_t cPages = atop(pMemFreeBSD->Core.cb); int rc; @@ -61,7 +71,7 @@ /* No additional object reference for auto-deallocation upon unmapping. */ #if __FreeBSD_version >= 1000055 -@@ -372,6 +383,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ +@@ -372,6 +384,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag) { @@ -69,7 +79,7 @@ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PAGE, NULL, cb, pszTag); if (pMemFreeBSD) -@@ -381,8 +393,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ +@@ -381,8 +394,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ *ppMem = &pMemFreeBSD->Core; else rtR0MemObjDelete(&pMemFreeBSD->Core); @@ -80,7 +90,7 @@ return VERR_NO_MEMORY; } -@@ -396,6 +410,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI +@@ -396,6 +411,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag) { @@ -88,7 +98,7 @@ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_LOW, NULL, cb, pszTag); if (pMemFreeBSD) { -@@ -404,8 +419,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI +@@ -404,8 +420,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI *ppMem = &pMemFreeBSD->Core; else rtR0MemObjDelete(&pMemFreeBSD->Core); @@ -99,7 +109,7 @@ return VERR_NO_MEMORY; } -@@ -413,6 +430,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ +@@ -413,6 +431,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, RTHCPHYS PhysHigest, bool fExecutable, const char *pszTag) { @@ -107,7 +117,7 @@ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_CONT, NULL, cb, pszTag); if (pMemFreeBSD) -@@ -425,8 +443,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ +@@ -425,8 +444,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ } else rtR0MemObjDelete(&pMemFreeBSD->Core); @@ -118,7 +128,7 @@ return VERR_NO_MEMORY; } -@@ -434,6 +454,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB +@@ -434,6 +455,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJTYPE enmType, size_t cb, RTHCPHYS PhysHighest, size_t uAlignment, bool fContiguous, int rcNoMem, const char *pszTag) { @@ -126,7 +136,7 @@ /* create the object. */ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), enmType, NULL, cb, pszTag); if (pMemFreeBSD) -@@ -441,7 +462,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB +@@ -441,7 +463,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB vm_paddr_t const VmPhysAddrHigh = PhysHighest != NIL_RTHCPHYS ? PhysHighest : ~(vm_paddr_t)0; u_long const cPages = atop(cb); @@ -136,7 +146,7 @@ int rc = rtR0MemObjFreeBSDPhysAllocHelper(pMemFreeBSD->pObject, cPages, VmPhysAddrHigh, uAlignment, fContiguous, true, rcNoMem); -@@ -451,7 +473,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB +@@ -451,7 +474,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB { Assert(enmType == RTR0MEMOBJTYPE_PHYS); VM_OBJECT_WLOCK(pMemFreeBSD->pObject); @@ -145,7 +155,7 @@ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); pMemFreeBSD->Core.u.Phys.fAllocated = true; } -@@ -464,8 +486,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB +@@ -464,8 +487,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB vm_object_deallocate(pMemFreeBSD->pObject); rtR0MemObjDelete(&pMemFreeBSD->Core); } @@ -156,7 +166,7 @@ return VERR_NO_MEMORY; } -@@ -488,6 +512,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ +@@ -488,6 +513,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ const char *pszTag) { AssertReturn(uCachePolicy == RTMEM_CACHE_POLICY_DONT_CARE, VERR_NOT_SUPPORTED); @@ -164,7 +174,7 @@ /* create the object. */ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PHYS, -@@ -499,8 +524,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ +@@ -499,8 +525,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ pMemFreeBSD->Core.u.Phys.PhysBase = Phys; pMemFreeBSD->Core.u.Phys.uCachePolicy = uCachePolicy; *ppMem = &pMemFreeBSD->Core; @@ -175,7 +185,7 @@ return VERR_NO_MEMORY; } -@@ -512,6 +539,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER +@@ -512,6 +540,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER vm_offset_t AddrStart, size_t cb, uint32_t fAccess, RTR0PROCESS R0Process, int fFlags, const char *pszTag) { @@ -183,7 +193,7 @@ int rc; NOREF(fAccess); -@@ -521,21 +549,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER +@@ -521,21 +550,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER if (!pMemFreeBSD) return VERR_NO_MEMORY; @@ -220,7 +230,7 @@ return VERR_NO_MEMORY;/** @todo fix mach -> vbox error conversion for freebsd. */ } -@@ -575,6 +610,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN +@@ -575,6 +611,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJINTERNAL ppMem, void *pvFixed, size_t cb, size_t uAlignment, RTR0PROCESS R0Process, vm_map_t pMap, const char *pszTag) { @@ -228,7 +238,7 @@ int rc; /* -@@ -633,11 +669,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN +@@ -633,11 +670,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN pMemFreeBSD->Core.pv = (void *)MapAddress; pMemFreeBSD->Core.u.ResVirt.R0Process = R0Process; *ppMem = &pMemFreeBSD->Core; @@ -242,7 +252,7 @@ return rc; } -@@ -661,6 +699,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ +@@ -661,6 +700,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, void *pvFixed, size_t uAlignment, unsigned fProt, size_t offSub, size_t cbSub, const char *pszTag) { @@ -251,7 +261,7 @@ // AssertMsgReturn(!offSub && !cbSub, ("%#x %#x\n", offSub, cbSub), VERR_NOT_SUPPORTED); AssertMsgReturn(pvFixed == (void *)-1, ("%p\n", pvFixed), VERR_NOT_SUPPORTED); -@@ -715,6 +755,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ +@@ -715,6 +756,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ Assert((vm_offset_t)pMemFreeBSD->Core.pv == Addr); pMemFreeBSD->Core.u.Mapping.R0Process = NIL_RTR0PROCESS; *ppMem = &pMemFreeBSD->Core; @@ -259,7 +269,7 @@ return VINF_SUCCESS; } rc = vm_map_remove(kernel_map, Addr, Addr + cbSub); -@@ -723,6 +764,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ +@@ -723,6 +765,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ else vm_object_deallocate(pMemToMapFreeBSD->pObject); @@ -267,7 +277,7 @@ return VERR_NO_MEMORY; } -@@ -730,6 +772,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN +@@ -730,6 +773,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, RTR3PTR R3PtrFixed, size_t uAlignment, unsigned fProt, RTR0PROCESS R0Process, size_t offSub, size_t cbSub, const char *pszTag) { @@ -276,7 +286,7 @@ /* * Check for unsupported stuff. */ -@@ -787,44 +831,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN +@@ -787,44 +832,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN if (rc == KERN_SUCCESS) { @@ -331,7 +341,7 @@ if ((fProt & RTMEM_PROT_NONE) == RTMEM_PROT_NONE) ProtectionFlags = VM_PROT_NONE; -@@ -835,7 +885,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT +@@ -835,7 +886,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT if ((fProt & RTMEM_PROT_EXEC) == RTMEM_PROT_EXEC) ProtectionFlags |= VM_PROT_EXECUTE; @@ -344,7 +354,7 @@ if (krc == KERN_SUCCESS) return VINF_SUCCESS; -@@ -860,11 +915,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P +@@ -860,11 +916,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P vm_offset_t pb = (vm_offset_t)pMemFreeBSD->Core.pv + ptoa(iPage); @@ -368,7 +378,7 @@ } case RTR0MEMOBJTYPE_MAPPING: -@@ -873,11 +936,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P +@@ -873,11 +937,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS) { @@ -385,7 +395,7 @@ } return vtophys(pb); } -@@ -888,9 +955,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P +@@ -888,9 +956,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P { RTHCPHYS addr; @@ -397,7 +407,7 @@ return addr; } -@@ -910,7 +979,7 @@ DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping +@@ -910,7 +980,7 @@ DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping(PRTR0MEMOBJINTERNAL pMem) { PRTR0MEMOBJFREEBSD const pMemFreeBsd = (PRTR0MEMOBJFREEBSD)pMem; diff --git a/emulators/virtualbox-ose-72/files/vboxinit.in b/emulators/virtualbox-ose-72/files/vboxinit.in index 9895da9e362e..9574d7d6295e 100644 --- a/emulators/virtualbox-ose-72/files/vboxinit.in +++ b/emulators/virtualbox-ose-72/files/vboxinit.in @@ -16,7 +16,7 @@ # vboxinit_stop (str): Default stop cmd for VBoxManage controlvm. # (default: savestate) # vboxinit_start_delay (int): Default startup delay in seconds. -# (default: 0) +# (default: 1) # vboxinit_stop_delay (int): Default shutdown delay in seconds. # (default: 0) # diff --git a/emulators/virtualbox-ose-additions-70/Makefile b/emulators/virtualbox-ose-additions-70/Makefile new file mode 100644 index 000000000000..855c3f405b8e --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/Makefile @@ -0,0 +1,174 @@ +PORTNAME= virtualbox-ose +DISTVERSION= 7.0.26 +PORTREVISION?= 0 +CATEGORIES= emulators +MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/ +PKGNAMESUFFIX?= -additions-70 +DISTNAME= VirtualBox-${DISTVERSION} + +MAINTAINER= vbox@FreeBSD.org +COMMENT= VirtualBox additions for FreeBSD guests +WWW= https://www.virtualbox.org/ + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYING + +ONLY_FOR_ARCHS= amd64 + +BUILD_DEPENDS= yasm:devel/yasm \ + kmk:devel/kBuild \ + xsltproc:textproc/libxslt + +USES= compiler:c++14-lang cpe iconv kmod tar:bzip2 +CPE_VENDOR= oracle +CPE_PRODUCT= vm_virtualbox +USE_RC_SUBR= vboxguest vboxservice + +HAS_CONFIGURE= yes +CONFIGURE_ARGS+= --disable-alsa \ + --disable-docs \ + --disable-libvpx \ + --disable-opengl \ + --disable-pulse \ + --disable-python \ + --disable-sdl-ttf \ + --disable-xpcom +CONFIGURE_ARGS+= --nofatal --with-gcc="${CC}" --with-g++="${CXX}" + +MAKE_JOBS_UNSAFE= yes + +CONFLICTS_INSTALL= virtualbox-ose-additions-legacy \ + virtualbox-ose-additions-nox11-legacy \ + virtualbox-ose-additions \ + virtualbox-ose-additions-nox11 \ + virtualbox-ose-additions-71 \ + virtualbox-ose-additions-nox11-71 \ + virtualbox-ose-additions-72 \ + virtualbox-ose-additions-nox11-72 + +PATCHDIR= ${.CURDIR}/../${PORTNAME}-70/files +EXTRACT_AFTER_ARGS= --exclude tools/*.x86 --exclude tools/*.amd64 --exclude Firmware +PORTSCOUT= limit:^7\.0\. + +WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION} + +OPTIONS_DEFINE= DBUS DEBUG X11 +OPTIONS_DEFAULT= DBUS X11 +OPTIONS_SUB= yes + +DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus +DBUS_CONFIGURE_OFF= --disable-dbus +DEBUG_CONFIGURE_ON= --build-debug +DEBUG_VARS= KMK_BUILDTYPE=debug +DEBUG_VARS_OFF= KMK_BUILDTYPE=release +X11_BUILD_DEPENDS= ${LOCALBASE}/include/xorg/compiler.h:x11-servers/xorg-server +X11_RUN_DEPENDS= xrandr:x11/xrandr +X11_USES= pkgconfig xorg +X11_USE= XORG=x11,xcursor,xext,xorgproto,xmu,xrandr,xt +X11_VARS= VBOX_WITH_X11=1 + +.include <bsd.port.options.mk> + +.if ${SLAVE_PORT} == no +CONFLICTS_INSTALL+= virtualbox-ose-additions-nox11-70 +.else +CONFLICTS_INSTALL+= virtualbox-ose-additions-70 +.endif + +VIDEODIR= ${PREFIX}/lib/xorg/modules/drivers +INPUTDIR= ${PREFIX}/lib/xorg/modules/input + +VBOX_BIN= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/additions +VBOX_SBINS= VBoxControl \ + VBoxService \ + mount_vboxvfs + +BUILD_WRKSRC= ${VBOX_BIN}/src + +KMK_ARCH= freebsd.${ARCH:S/i386/x86/} +KMK_CONFIG+= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys VBOX_ONLY_ADDITIONS=1 + +.if ${PORT_OPTIONS:MX11} +.else +VBOX_WITH_X11= +.endif + +.include <bsd.port.pre.mk> + +post-patch: + @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP = ${VBOX_WITH_X11}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP_GH = ${VBOX_WITH_X11}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_X11_ADDITIONS = ${VBOX_WITH_X11}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_GCC_std = -std=c++11' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'CXXDEFS += _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR' >> \ + ${WRKSRC}/LocalConfig.kmk +.if ${COMPILER_TYPE} == clang + @${REINPLACE_CMD} -e 's| -finline-limit=8000||' \ + -e 's| -fno-merge-constants||' \ + -e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk +.endif + @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ + ${WRKSRC}/Config.kmk ${WRKSRC}/configure \ + ${WRKSRC}/kBuild/header.kmk ${WRKSRC}/kBuild/units/qt4.kmk \ + ${WRKSRC}/kBuild/units/qt5.kmk ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + ${WRKSRC}/src/VBox/Additions/x11/vboxmouse/Makefile.kmk \ + ${WRKSRC}/src/VBox/Additions/x11/vboxvideo/Makefile.kmk + @${REINPLACE_CMD} \ + -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ + ${WRKSRC}/configure +.if empty(ICONV_LIB) + @${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk \ + ${WRKSRC}/src/VBox/Runtime/Makefile.kmk \ + ${WRKSRC}/src/VBox/Additions/x11/VBoxClient/Makefile.kmk + @${ECHO_CMD} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk +.endif +.if ${OSVERSION} >= 1500038 + @${ECHO_CMD} 'HAVE_MNTOPTS_IN_LIBUTIL = 1' >> \ + ${WRKSRC}/LocalConfig.kmk +.endif + +post-patch-X11-on: + @${ECHO_CMD} 'VBOX_USE_SYSTEM_XORG_HEADERS = 1' >> \ + ${WRKSRC}/LocalConfig.kmk + +pre-build: + cd ${WRKSRC} && ${SH} -c \ + ". env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk" + +do-install: + ${MKDIR} ${STAGEDIR}${KMODDIR} + ${INSTALL_KLD} ${VBOX_BIN}/src/vboxguest/vboxguest.ko \ + ${STAGEDIR}${KMODDIR} + ${INSTALL_KLD} ${VBOX_BIN}/vboxvfs.ko ${STAGEDIR}${KMODDIR} + ${INSTALL_LIB} ${VBOX_BIN}/pam_vbox.so ${STAGEDIR}${PREFIX}/lib + ${INSTALL_PROGRAM} ${VBOX_SBINS:S|^|${VBOX_BIN}/|} \ + ${STAGEDIR}${PREFIX}/sbin/ + +do-install-X11-on: + ${INSTALL_PROGRAM} ${VBOX_BIN}/VBoxClient ${STAGEDIR}${PREFIX}/bin/ + ${INSTALL_SCRIPT} \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + ${STAGEDIR}${PREFIX}/bin/VBoxClient-all + # X11 autostart + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/xdg/autostart/ + ${INSTALL_DATA} \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + ${STAGEDIR}${PREFIX}/etc/xdg/autostart/ + # KDE autostart + ${MKDIR} ${STAGEDIR}${PREFIX}/share/autostart/ + ${INSTALL_DATA} \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + ${STAGEDIR}${PREFIX}/share/autostart/ + ${MKDIR} ${STAGEDIR}${VIDEODIR} + ${INSTALL_LIB} ${VBOX_BIN}/vboxvideo_drv_system.so \ + ${STAGEDIR}${VIDEODIR}/vboxvideo_drv.so + ${MKDIR} ${STAGEDIR}${INPUTDIR} + ${INSTALL_LIB} ${VBOX_BIN}/vboxmouse_drv_system.so \ + ${STAGEDIR}${INPUTDIR}/vboxmouse_drv.so + +.include <bsd.port.post.mk> diff --git a/emulators/virtualbox-ose-additions-70/distinfo b/emulators/virtualbox-ose-additions-70/distinfo new file mode 100644 index 000000000000..644d77cfbd21 --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1745631388 +SHA256 (VirtualBox-7.0.26.tar.bz2) = 8a6a83dd09e65a4aff85ba0df6bb1ba22c22f7f0923d86e4b130813d4a28c5db +SIZE (VirtualBox-7.0.26.tar.bz2) = 174650718 diff --git a/emulators/virtualbox-ose-additions-70/files/vboxguest.in b/emulators/virtualbox-ose-additions-70/files/vboxguest.in new file mode 100644 index 000000000000..707fedf94a88 --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/files/vboxguest.in @@ -0,0 +1,64 @@ +#!/bin/sh + +# PROVIDE: vboxguest +# REQUIRE: FILESYSTEMS +# BEFORE: netif +# KEYWORD: nojail + +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# vboxguest_enable (bool): Set to NO by default. +# Set it to YES to enable vboxguest on startup + +. /etc/rc.subr + +name="vboxguest" +rcvar=vboxguest_enable +start_cmd="vboxguest_start" +stop_cmd="vboxguest_stop" + +vboxguest_modules="vboxguest:pci/vboxguest" + +vboxguest_start() +{ + local _k _m + + for _m in ${vboxguest_modules}; do + _k=${_m%:*} + _m=${_m#*:} + if ! kldstat -q -m ${_m}; then + if ! kldload ${_k} > /dev/null 2>&1; then + warn "Can't load ${_k} module." + return 1 + fi + fi + done +} + +vboxguest_stop() +{ + local _k _m _r + + _r= + for _m in ${vboxguest_modules}; do + _r="${_m} ${_r}" + done + for _m in ${_r}; do + _k=${_m%:*} + _m=${_m#*:} + if kldstat -q -m ${_m}; then + if ! kldunload ${_k} > /dev/null 2>&1; then + warn "Can't unload ${_k} module." + return 1 + fi + fi + done +} + +load_rc_config $name + +: ${vboxguest_enable="NO"} + +run_rc_command "$1" diff --git a/emulators/virtualbox-ose-additions-70/files/vboxservice.in b/emulators/virtualbox-ose-additions-70/files/vboxservice.in new file mode 100644 index 000000000000..2a46dbc188ef --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/files/vboxservice.in @@ -0,0 +1,23 @@ +#!/bin/sh + +# PROVIDE: vboxservice +# REQUIRE: DAEMON vboxguest +# BEFORE: LOGIN +# KEYWORD: shutdown + +# Define vboxservice_enable in /etc/rc.conf[.local] to enable it. +# +# vboxservice_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable VBoxService. + +. /etc/rc.subr + +name="vboxservice" +rcvar=vboxservice_enable +command="%%PREFIX%%/sbin/VBoxService" + +load_rc_config $name + +: ${vboxservice_enable="NO"} + +run_rc_command "$1" diff --git a/emulators/virtualbox-ose-additions-70/files/vboxvideo.conf b/emulators/virtualbox-ose-additions-70/files/vboxvideo.conf new file mode 100644 index 000000000000..dd6626429703 --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/files/vboxvideo.conf @@ -0,0 +1,5 @@ +libEGL.so.1 VBoxEGL.so +libGL.so.1 VBoxOGL.so + +[libglx.so] +libGL.so.1 libGL.so.1 diff --git a/emulators/virtualbox-ose-additions-70/pkg-descr b/emulators/virtualbox-ose-additions-70/pkg-descr new file mode 100644 index 000000000000..d06e1a04878c --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/pkg-descr @@ -0,0 +1,6 @@ +VirtualBox Guest Additions provide closer integration between host and +guest, and improve the performance of guest systems. + +This FreeBSD provided package can be installed in FreeBSD guest machines. + +Additions are not intended for use on Host machines. diff --git a/emulators/virtualbox-ose-additions-70/pkg-message b/emulators/virtualbox-ose-additions-70/pkg-message new file mode 100644 index 000000000000..9b858849abdb --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/pkg-message @@ -0,0 +1,36 @@ +[ +{ type: install + message: <<EOM +VirtualBox Guest Additions are installed. + +To enable and start the required services: + +# sysrc vboxguest_enable="YES" +# sysrc vboxservice_enable="YES" + +To start the services, restart the system. + +In some situations, a panic will occur when the kernel module loads. +Having no more than one virtual CPU might mitigate the issue. + +For features such as window scaling and clipboard sharing, membership of +the wheel group is required. With username "jerry" as an example: + +# pw groupmod wheel -m jerry + +The settings dialogue for FreeBSD guests encourages use of the VMSVGA +graphics controller. Whilst this might suit installations of FreeBSD +without a desktop environment (a common use case), it is not appropriate +where Guest Additions are installed. + +Where Guest Additions are installed: + +1. prefer VBoxSVGA + +2. do not enable 3D acceleration (doing so will invisibly + lose the preference for VBoxSVGA) + +You may ignore the yellow alert that encourages use of VMSVGA. +EOM +} +] diff --git a/emulators/virtualbox-ose-additions-70/pkg-plist b/emulators/virtualbox-ose-additions-70/pkg-plist new file mode 100644 index 000000000000..dac84dc22bcc --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/pkg-plist @@ -0,0 +1,12 @@ +%%X11%%bin/VBoxClient +%%X11%%bin/VBoxClient-all +%%X11%%etc/xdg/autostart/vboxclient.desktop +lib/pam_vbox.so +%%X11%%lib/xorg/modules/drivers/vboxvideo_drv.so +%%X11%%lib/xorg/modules/input/vboxmouse_drv.so +sbin/VBoxControl +sbin/VBoxService +sbin/mount_vboxvfs +%%X11%%share/autostart/vboxclient.desktop +/%%KMODDIR%%/vboxguest.ko +/%%KMODDIR%%/vboxvfs.ko diff --git a/emulators/virtualbox-ose-additions-71/Makefile b/emulators/virtualbox-ose-additions-71/Makefile new file mode 100644 index 000000000000..3a252cd3362b --- /dev/null +++ b/emulators/virtualbox-ose-additions-71/Makefile @@ -0,0 +1,174 @@ +PORTNAME= virtualbox-ose +DISTVERSION= 7.1.14 +PORTREVISION?= 0 +CATEGORIES= emulators +MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/ +PKGNAMESUFFIX?= -additions-71 +DISTNAME= VirtualBox-${DISTVERSION} + +MAINTAINER= vbox@FreeBSD.org +COMMENT= VirtualBox additions for FreeBSD guests +WWW= https://www.virtualbox.org/ + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYING + +ONLY_FOR_ARCHS= amd64 + +BUILD_DEPENDS= yasm:devel/yasm \ + kmk:devel/kBuild \ + xsltproc:textproc/libxslt + +USES= compiler:c++17-lang cpe iconv kmod tar:bzip2 +CPE_VENDOR= oracle +CPE_PRODUCT= vm_virtualbox +USE_RC_SUBR= vboxguest vboxservice + +HAS_CONFIGURE= yes +CONFIGURE_ARGS+= --disable-alsa \ + --disable-docs \ + --disable-libvpx \ + --disable-opengl \ + --disable-pulse \ + --disable-python \ + --disable-sdl-ttf \ + --disable-xpcom +CONFIGURE_ARGS+= --nofatal --with-gcc="${CC}" --with-g++="${CXX}" + +MAKE_JOBS_UNSAFE= yes + +CONFLICTS_INSTALL= virtualbox-ose-additions-legacy \ + virtualbox-ose-additions-nox11-legacy \ + virtualbox-ose-additions \ + virtualbox-ose-additions-nox11 \ + virtualbox-ose-additions-70 \ + virtualbox-ose-additions-nox11-70 \ + virtualbox-ose-additions-72 \ + virtualbox-ose-additions-nox11-72 + +PATCHDIR= ${.CURDIR}/../${PORTNAME}-71/files +EXTRACT_AFTER_ARGS= --exclude tools/*.x86 --exclude tools/*.amd64 --exclude Firmware +PORTSCOUT= limit:^7\.1\. + +WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION} + +OPTIONS_DEFINE= DBUS DEBUG X11 +OPTIONS_DEFAULT= DBUS X11 +OPTIONS_SUB= yes + +DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus +DBUS_CONFIGURE_OFF= --disable-dbus +DEBUG_CONFIGURE_ON= --build-debug +DEBUG_VARS= KMK_BUILDTYPE=debug +DEBUG_VARS_OFF= KMK_BUILDTYPE=release +X11_BUILD_DEPENDS= ${LOCALBASE}/include/xorg/compiler.h:x11-servers/xorg-server +X11_RUN_DEPENDS= xrandr:x11/xrandr +X11_USES= pkgconfig xorg +X11_USE= XORG=x11,xcursor,xext,xorgproto,xmu,xrandr,xt +X11_VARS= VBOX_WITH_X11=1 + +.include <bsd.port.options.mk> + +.if ${SLAVE_PORT} == no +CONFLICTS_INSTALL+= virtualbox-ose-additions-nox11-71 +.else +CONFLICTS_INSTALL+= virtualbox-ose-additions-71 +.endif + +VIDEODIR= ${PREFIX}/lib/xorg/modules/drivers +INPUTDIR= ${PREFIX}/lib/xorg/modules/input + +VBOX_BIN= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/additions +VBOX_SBINS= VBoxControl \ + VBoxService \ + mount_vboxvfs + +BUILD_WRKSRC= ${VBOX_BIN}/src + +KMK_ARCH= freebsd.${ARCH:S/i386/x86/} +KMK_CONFIG+= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys VBOX_ONLY_ADDITIONS=1 + +.if ${PORT_OPTIONS:MX11} +.else +VBOX_WITH_X11= +.endif + +.include <bsd.port.pre.mk> + +post-patch: + @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP = ${VBOX_WITH_X11}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP_GH = ${VBOX_WITH_X11}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_X11_ADDITIONS = ${VBOX_WITH_X11}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_GCC_std = -std=c++11' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'CXXDEFS += _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR' >> \ + ${WRKSRC}/LocalConfig.kmk +.if ${COMPILER_TYPE} == clang + @${REINPLACE_CMD} -e 's| -finline-limit=8000||' \ + -e 's| -fno-merge-constants||' \ + -e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk +.endif + @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ + ${WRKSRC}/Config.kmk ${WRKSRC}/configure \ + ${WRKSRC}/kBuild/header.kmk ${WRKSRC}/kBuild/units/qt4.kmk \ + ${WRKSRC}/kBuild/units/qt5.kmk ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + ${WRKSRC}/src/VBox/Additions/x11/vboxmouse/Makefile.kmk \ + ${WRKSRC}/src/VBox/Additions/x11/vboxvideo/Makefile.kmk + @${REINPLACE_CMD} \ + -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ + ${WRKSRC}/configure +.if empty(ICONV_LIB) + @${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk \ + ${WRKSRC}/src/VBox/Runtime/Makefile.kmk \ + ${WRKSRC}/src/VBox/Additions/x11/VBoxClient/Makefile.kmk + @${ECHO_CMD} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk +.endif +.if ${OSVERSION} >= 1500038 + @${ECHO_CMD} 'HAVE_MNTOPTS_IN_LIBUTIL = 1' >> \ + ${WRKSRC}/LocalConfig.kmk +.endif + +post-patch-X11-on: + @${ECHO_CMD} 'VBOX_USE_SYSTEM_XORG_HEADERS = 1' >> \ + ${WRKSRC}/LocalConfig.kmk + +pre-build: + cd ${WRKSRC} && ${SH} -c \ + ". env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk" + +do-install: + ${MKDIR} ${STAGEDIR}${KMODDIR} + ${INSTALL_KLD} ${VBOX_BIN}/src/vboxguest/vboxguest.ko \ + ${STAGEDIR}${KMODDIR} + ${INSTALL_KLD} ${VBOX_BIN}/vboxvfs.ko ${STAGEDIR}${KMODDIR} + ${INSTALL_LIB} ${VBOX_BIN}/pam_vbox.so ${STAGEDIR}${PREFIX}/lib + ${INSTALL_PROGRAM} ${VBOX_SBINS:S|^|${VBOX_BIN}/|} \ + ${STAGEDIR}${PREFIX}/sbin/ + +do-install-X11-on: + ${INSTALL_PROGRAM} ${VBOX_BIN}/VBoxClient ${STAGEDIR}${PREFIX}/bin/ + ${INSTALL_SCRIPT} \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + ${STAGEDIR}${PREFIX}/bin/VBoxClient-all + # X11 autostart + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/xdg/autostart/ + ${INSTALL_DATA} \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + ${STAGEDIR}${PREFIX}/etc/xdg/autostart/ + # KDE autostart + ${MKDIR} ${STAGEDIR}${PREFIX}/share/autostart/ + ${INSTALL_DATA} \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + ${STAGEDIR}${PREFIX}/share/autostart/ + ${MKDIR} ${STAGEDIR}${VIDEODIR} + ${INSTALL_LIB} ${VBOX_BIN}/vboxvideo_drv_system.so \ + ${STAGEDIR}${VIDEODIR}/vboxvideo_drv.so + ${MKDIR} ${STAGEDIR}${INPUTDIR} + ${INSTALL_LIB} ${VBOX_BIN}/vboxmouse_drv_system.so \ + ${STAGEDIR}${INPUTDIR}/vboxmouse_drv.so + +.include <bsd.port.post.mk> diff --git a/emulators/virtualbox-ose-additions-71/distinfo b/emulators/virtualbox-ose-additions-71/distinfo new file mode 100644 index 000000000000..904760a18c0f --- /dev/null +++ b/emulators/virtualbox-ose-additions-71/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1761146098 +SHA256 (VirtualBox-7.1.14.tar.bz2) = 6a4eea884cd98049a5357133b718078d8aaae68047836a3f86cd5904336d6218 +SIZE (VirtualBox-7.1.14.tar.bz2) = 216819853 diff --git a/emulators/virtualbox-ose-additions-71/files/vboxguest.in b/emulators/virtualbox-ose-additions-71/files/vboxguest.in new file mode 100644 index 000000000000..707fedf94a88 --- /dev/null +++ b/emulators/virtualbox-ose-additions-71/files/vboxguest.in @@ -0,0 +1,64 @@ +#!/bin/sh + +# PROVIDE: vboxguest +# REQUIRE: FILESYSTEMS +# BEFORE: netif +# KEYWORD: nojail + +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# vboxguest_enable (bool): Set to NO by default. +# Set it to YES to enable vboxguest on startup + +. /etc/rc.subr + +name="vboxguest" +rcvar=vboxguest_enable +start_cmd="vboxguest_start" +stop_cmd="vboxguest_stop" + +vboxguest_modules="vboxguest:pci/vboxguest" + +vboxguest_start() +{ + local _k _m + + for _m in ${vboxguest_modules}; do + _k=${_m%:*} + _m=${_m#*:} + if ! kldstat -q -m ${_m}; then + if ! kldload ${_k} > /dev/null 2>&1; then + warn "Can't load ${_k} module." + return 1 + fi + fi + done +} + +vboxguest_stop() +{ + local _k _m _r + + _r= + for _m in ${vboxguest_modules}; do + _r="${_m} ${_r}" + done + for _m in ${_r}; do + _k=${_m%:*} + _m=${_m#*:} + if kldstat -q -m ${_m}; then + if ! kldunload ${_k} > /dev/null 2>&1; then + warn "Can't unload ${_k} module." + return 1 + fi + fi + done +} + +load_rc_config $name + +: ${vboxguest_enable="NO"} + +run_rc_command "$1" diff --git a/emulators/virtualbox-ose-additions-71/files/vboxservice.in b/emulators/virtualbox-ose-additions-71/files/vboxservice.in new file mode 100644 index 000000000000..2a46dbc188ef --- /dev/null +++ b/emulators/virtualbox-ose-additions-71/files/vboxservice.in @@ -0,0 +1,23 @@ +#!/bin/sh + +# PROVIDE: vboxservice +# REQUIRE: DAEMON vboxguest +# BEFORE: LOGIN +# KEYWORD: shutdown + +# Define vboxservice_enable in /etc/rc.conf[.local] to enable it. +# +# vboxservice_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable VBoxService. + +. /etc/rc.subr + +name="vboxservice" +rcvar=vboxservice_enable +command="%%PREFIX%%/sbin/VBoxService" + +load_rc_config $name + +: ${vboxservice_enable="NO"} + +run_rc_command "$1" diff --git a/emulators/virtualbox-ose-additions-71/files/vboxvideo.conf b/emulators/virtualbox-ose-additions-71/files/vboxvideo.conf new file mode 100644 index 000000000000..dd6626429703 --- /dev/null +++ b/emulators/virtualbox-ose-additions-71/files/vboxvideo.conf @@ -0,0 +1,5 @@ +libEGL.so.1 VBoxEGL.so +libGL.so.1 VBoxOGL.so + +[libglx.so] +libGL.so.1 libGL.so.1 diff --git a/emulators/virtualbox-ose-additions-71/pkg-descr b/emulators/virtualbox-ose-additions-71/pkg-descr new file mode 100644 index 000000000000..d06e1a04878c --- /dev/null +++ b/emulators/virtualbox-ose-additions-71/pkg-descr @@ -0,0 +1,6 @@ +VirtualBox Guest Additions provide closer integration between host and +guest, and improve the performance of guest systems. + +This FreeBSD provided package can be installed in FreeBSD guest machines. + +Additions are not intended for use on Host machines. diff --git a/emulators/virtualbox-ose-additions-71/pkg-message b/emulators/virtualbox-ose-additions-71/pkg-message new file mode 100644 index 000000000000..9b858849abdb --- /dev/null +++ b/emulators/virtualbox-ose-additions-71/pkg-message @@ -0,0 +1,36 @@ +[ +{ type: install + message: <<EOM +VirtualBox Guest Additions are installed. + +To enable and start the required services: + +# sysrc vboxguest_enable="YES" +# sysrc vboxservice_enable="YES" + +To start the services, restart the system. + +In some situations, a panic will occur when the kernel module loads. +Having no more than one virtual CPU might mitigate the issue. + +For features such as window scaling and clipboard sharing, membership of +the wheel group is required. With username "jerry" as an example: + +# pw groupmod wheel -m jerry + +The settings dialogue for FreeBSD guests encourages use of the VMSVGA +graphics controller. Whilst this might suit installations of FreeBSD +without a desktop environment (a common use case), it is not appropriate +where Guest Additions are installed. + +Where Guest Additions are installed: + +1. prefer VBoxSVGA + +2. do not enable 3D acceleration (doing so will invisibly + lose the preference for VBoxSVGA) + +You may ignore the yellow alert that encourages use of VMSVGA. +EOM +} +] diff --git a/emulators/virtualbox-ose-additions-71/pkg-plist b/emulators/virtualbox-ose-additions-71/pkg-plist new file mode 100644 index 000000000000..dac84dc22bcc --- /dev/null +++ b/emulators/virtualbox-ose-additions-71/pkg-plist @@ -0,0 +1,12 @@ +%%X11%%bin/VBoxClient +%%X11%%bin/VBoxClient-all +%%X11%%etc/xdg/autostart/vboxclient.desktop +lib/pam_vbox.so +%%X11%%lib/xorg/modules/drivers/vboxvideo_drv.so +%%X11%%lib/xorg/modules/input/vboxmouse_drv.so +sbin/VBoxControl +sbin/VBoxService +sbin/mount_vboxvfs +%%X11%%share/autostart/vboxclient.desktop +/%%KMODDIR%%/vboxguest.ko +/%%KMODDIR%%/vboxvfs.ko diff --git a/emulators/virtualbox-ose-additions-72/Makefile b/emulators/virtualbox-ose-additions-72/Makefile new file mode 100644 index 000000000000..6196899a7ad8 --- /dev/null +++ b/emulators/virtualbox-ose-additions-72/Makefile @@ -0,0 +1,174 @@ +PORTNAME= virtualbox-ose +DISTVERSION= 7.2.4 +PORTREVISION?= 0 +CATEGORIES= emulators +MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/ +PKGNAMESUFFIX?= -additions-72 +DISTNAME= VirtualBox-${DISTVERSION} + +MAINTAINER= vbox@FreeBSD.org +COMMENT= VirtualBox additions for FreeBSD guests +WWW= https://www.virtualbox.org/ + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYING + +ONLY_FOR_ARCHS= amd64 + +BUILD_DEPENDS= yasm:devel/yasm \ + kmk:devel/kBuild \ + xsltproc:textproc/libxslt + +USES= compiler:c++17-lang cpe iconv kmod tar:bzip2 +CPE_VENDOR= oracle +CPE_PRODUCT= vm_virtualbox +USE_RC_SUBR= vboxguest vboxservice + +HAS_CONFIGURE= yes +CONFIGURE_ARGS+= --disable-alsa \ + --disable-docs \ + --disable-libvpx \ + --disable-opengl \ + --disable-pulse \ + --disable-python \ + --disable-sdl-ttf \ + --disable-xpcom +CONFIGURE_ARGS+= --nofatal --with-gcc="${CC}" --with-g++="${CXX}" + +MAKE_JOBS_UNSAFE= yes + +CONFLICTS_INSTALL= virtualbox-ose-additions-legacy \ + virtualbox-ose-additions-nox11-legacy \ + virtualbox-ose-additions \ + virtualbox-ose-additions-nox11 \ + virtualbox-ose-additions-70 \ + virtualbox-ose-additions-nox11-70 \ + virtualbox-ose-additions-71 \ + virtualbox-ose-additions-nox11-71 + +PATCHDIR= ${.CURDIR}/../${PORTNAME}-72/files +EXTRACT_AFTER_ARGS= --exclude tools/*.x86 --exclude tools/*.amd64 --exclude Firmware +PORTSCOUT= limit:^7\.2\. + +WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION} + +OPTIONS_DEFINE= DBUS DEBUG X11 +OPTIONS_DEFAULT= DBUS X11 +OPTIONS_SUB= yes + +DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus +DBUS_CONFIGURE_OFF= --disable-dbus +DEBUG_CONFIGURE_ON= --build-debug +DEBUG_VARS= KMK_BUILDTYPE=debug +DEBUG_VARS_OFF= KMK_BUILDTYPE=release +X11_BUILD_DEPENDS= ${LOCALBASE}/include/xorg/compiler.h:x11-servers/xorg-server +X11_RUN_DEPENDS= xrandr:x11/xrandr +X11_USES= pkgconfig xorg +X11_USE= XORG=x11,xcursor,xext,xorgproto,xmu,xrandr,xt +X11_VARS= VBOX_WITH_X11=1 + +.include <bsd.port.options.mk> + +.if ${SLAVE_PORT} == no +CONFLICTS_INSTALL+= virtualbox-ose-additions-nox11-72 +.else +CONFLICTS_INSTALL+= virtualbox-ose-additions-72 +.endif + +VIDEODIR= ${PREFIX}/lib/xorg/modules/drivers +INPUTDIR= ${PREFIX}/lib/xorg/modules/input + +VBOX_BIN= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/additions +VBOX_SBINS= VBoxControl \ + VBoxService \ + mount_vboxvfs + +BUILD_WRKSRC= ${VBOX_BIN}/src + +KMK_ARCH= freebsd.${ARCH:S/i386/x86/} +KMK_CONFIG+= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys VBOX_ONLY_ADDITIONS=1 + +.if ${PORT_OPTIONS:MX11} +.else +VBOX_WITH_X11= +.endif + +.include <bsd.port.pre.mk> + +post-patch: + @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP = ${VBOX_WITH_X11}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP_GH = ${VBOX_WITH_X11}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_X11_ADDITIONS = ${VBOX_WITH_X11}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_GCC_std = -std=c++11' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'CXXDEFS += _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR' >> \ + ${WRKSRC}/LocalConfig.kmk +.if ${COMPILER_TYPE} == clang + @${REINPLACE_CMD} -e 's| -finline-limit=8000||' \ + -e 's| -fno-merge-constants||' \ + -e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk +.endif + @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ + ${WRKSRC}/Config.kmk ${WRKSRC}/configure \ + ${WRKSRC}/kBuild/header.kmk ${WRKSRC}/kBuild/units/qt4.kmk \ + ${WRKSRC}/kBuild/units/qt5.kmk ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + ${WRKSRC}/src/VBox/Additions/x11/vboxmouse/Makefile.kmk \ + ${WRKSRC}/src/VBox/Additions/x11/vboxvideo/Makefile.kmk + @${REINPLACE_CMD} \ + -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ + ${WRKSRC}/configure +.if empty(ICONV_LIB) + @${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk \ + ${WRKSRC}/src/VBox/Runtime/Makefile.kmk \ + ${WRKSRC}/src/VBox/Additions/x11/VBoxClient/Makefile.kmk + @${ECHO_CMD} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk +.endif +.if ${OSVERSION} >= 1500038 + @${ECHO_CMD} 'HAVE_MNTOPTS_IN_LIBUTIL = 1' >> \ + ${WRKSRC}/LocalConfig.kmk +.endif + +post-patch-X11-on: + @${ECHO_CMD} 'VBOX_USE_SYSTEM_XORG_HEADERS = 1' >> \ + ${WRKSRC}/LocalConfig.kmk + +pre-build: + cd ${WRKSRC} && ${SH} -c \ + ". env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk" + +do-install: + ${MKDIR} ${STAGEDIR}${KMODDIR} + ${INSTALL_KLD} ${VBOX_BIN}/src/vboxguest/vboxguest.ko \ + ${STAGEDIR}${KMODDIR} + ${INSTALL_KLD} ${VBOX_BIN}/vboxvfs.ko ${STAGEDIR}${KMODDIR} + ${INSTALL_LIB} ${VBOX_BIN}/pam_vbox.so ${STAGEDIR}${PREFIX}/lib + ${INSTALL_PROGRAM} ${VBOX_SBINS:S|^|${VBOX_BIN}/|} \ + ${STAGEDIR}${PREFIX}/sbin/ + +do-install-X11-on: + ${INSTALL_PROGRAM} ${VBOX_BIN}/VBoxClient ${STAGEDIR}${PREFIX}/bin/ + ${INSTALL_SCRIPT} \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + ${STAGEDIR}${PREFIX}/bin/VBoxClient-all + # X11 autostart + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/xdg/autostart/ + ${INSTALL_DATA} \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + ${STAGEDIR}${PREFIX}/etc/xdg/autostart/ + # KDE autostart + ${MKDIR} ${STAGEDIR}${PREFIX}/share/autostart/ + ${INSTALL_DATA} \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + ${STAGEDIR}${PREFIX}/share/autostart/ + ${MKDIR} ${STAGEDIR}${VIDEODIR} + ${INSTALL_LIB} ${VBOX_BIN}/vboxvideo_drv_system.so \ + ${STAGEDIR}${VIDEODIR}/vboxvideo_drv.so + ${MKDIR} ${STAGEDIR}${INPUTDIR} + ${INSTALL_LIB} ${VBOX_BIN}/vboxmouse_drv_system.so \ + ${STAGEDIR}${INPUTDIR}/vboxmouse_drv.so + +.include <bsd.port.post.mk> diff --git a/emulators/virtualbox-ose-additions-72/distinfo b/emulators/virtualbox-ose-additions-72/distinfo new file mode 100644 index 000000000000..729b45a32abd --- /dev/null +++ b/emulators/virtualbox-ose-additions-72/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1761088888 +SHA256 (VirtualBox-7.2.4.tar.bz2) = d281ec981b5f580211a0cedd1b75a1adcb0fbfcbb768d8c2bf4429f4763e8bbd +SIZE (VirtualBox-7.2.4.tar.bz2) = 207084201 diff --git a/emulators/virtualbox-ose-additions-72/files/vboxguest.in b/emulators/virtualbox-ose-additions-72/files/vboxguest.in new file mode 100644 index 000000000000..707fedf94a88 --- /dev/null +++ b/emulators/virtualbox-ose-additions-72/files/vboxguest.in @@ -0,0 +1,64 @@ +#!/bin/sh + +# PROVIDE: vboxguest +# REQUIRE: FILESYSTEMS +# BEFORE: netif +# KEYWORD: nojail + +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# vboxguest_enable (bool): Set to NO by default. +# Set it to YES to enable vboxguest on startup + +. /etc/rc.subr + +name="vboxguest" +rcvar=vboxguest_enable +start_cmd="vboxguest_start" +stop_cmd="vboxguest_stop" + +vboxguest_modules="vboxguest:pci/vboxguest" + +vboxguest_start() +{ + local _k _m + + for _m in ${vboxguest_modules}; do + _k=${_m%:*} + _m=${_m#*:} + if ! kldstat -q -m ${_m}; then + if ! kldload ${_k} > /dev/null 2>&1; then + warn "Can't load ${_k} module." + return 1 + fi + fi + done +} + +vboxguest_stop() +{ + local _k _m _r + + _r= + for _m in ${vboxguest_modules}; do + _r="${_m} ${_r}" + done + for _m in ${_r}; do + _k=${_m%:*} + _m=${_m#*:} + if kldstat -q -m ${_m}; then + if ! kldunload ${_k} > /dev/null 2>&1; then + warn "Can't unload ${_k} module." + return 1 + fi + fi + done +} + +load_rc_config $name + +: ${vboxguest_enable="NO"} + +run_rc_command "$1" diff --git a/emulators/virtualbox-ose-additions-72/files/vboxservice.in b/emulators/virtualbox-ose-additions-72/files/vboxservice.in new file mode 100644 index 000000000000..2a46dbc188ef --- /dev/null +++ b/emulators/virtualbox-ose-additions-72/files/vboxservice.in @@ -0,0 +1,23 @@ +#!/bin/sh + +# PROVIDE: vboxservice +# REQUIRE: DAEMON vboxguest +# BEFORE: LOGIN +# KEYWORD: shutdown + +# Define vboxservice_enable in /etc/rc.conf[.local] to enable it. +# +# vboxservice_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable VBoxService. + +. /etc/rc.subr + +name="vboxservice" +rcvar=vboxservice_enable +command="%%PREFIX%%/sbin/VBoxService" + +load_rc_config $name + +: ${vboxservice_enable="NO"} + +run_rc_command "$1" diff --git a/emulators/virtualbox-ose-additions-72/files/vboxvideo.conf b/emulators/virtualbox-ose-additions-72/files/vboxvideo.conf new file mode 100644 index 000000000000..dd6626429703 --- /dev/null +++ b/emulators/virtualbox-ose-additions-72/files/vboxvideo.conf @@ -0,0 +1,5 @@ +libEGL.so.1 VBoxEGL.so +libGL.so.1 VBoxOGL.so + +[libglx.so] +libGL.so.1 libGL.so.1 diff --git a/emulators/virtualbox-ose-additions-72/pkg-descr b/emulators/virtualbox-ose-additions-72/pkg-descr new file mode 100644 index 000000000000..d06e1a04878c --- /dev/null +++ b/emulators/virtualbox-ose-additions-72/pkg-descr @@ -0,0 +1,6 @@ +VirtualBox Guest Additions provide closer integration between host and +guest, and improve the performance of guest systems. + +This FreeBSD provided package can be installed in FreeBSD guest machines. + +Additions are not intended for use on Host machines. diff --git a/emulators/virtualbox-ose-additions-72/pkg-message b/emulators/virtualbox-ose-additions-72/pkg-message new file mode 100644 index 000000000000..9b858849abdb --- /dev/null +++ b/emulators/virtualbox-ose-additions-72/pkg-message @@ -0,0 +1,36 @@ +[ +{ type: install + message: <<EOM +VirtualBox Guest Additions are installed. + +To enable and start the required services: + +# sysrc vboxguest_enable="YES" +# sysrc vboxservice_enable="YES" + +To start the services, restart the system. + +In some situations, a panic will occur when the kernel module loads. +Having no more than one virtual CPU might mitigate the issue. + +For features such as window scaling and clipboard sharing, membership of +the wheel group is required. With username "jerry" as an example: + +# pw groupmod wheel -m jerry + +The settings dialogue for FreeBSD guests encourages use of the VMSVGA +graphics controller. Whilst this might suit installations of FreeBSD +without a desktop environment (a common use case), it is not appropriate +where Guest Additions are installed. + +Where Guest Additions are installed: + +1. prefer VBoxSVGA + +2. do not enable 3D acceleration (doing so will invisibly + lose the preference for VBoxSVGA) + +You may ignore the yellow alert that encourages use of VMSVGA. +EOM +} +] diff --git a/emulators/virtualbox-ose-additions-72/pkg-plist b/emulators/virtualbox-ose-additions-72/pkg-plist new file mode 100644 index 000000000000..dac84dc22bcc --- /dev/null +++ b/emulators/virtualbox-ose-additions-72/pkg-plist @@ -0,0 +1,12 @@ +%%X11%%bin/VBoxClient +%%X11%%bin/VBoxClient-all +%%X11%%etc/xdg/autostart/vboxclient.desktop +lib/pam_vbox.so +%%X11%%lib/xorg/modules/drivers/vboxvideo_drv.so +%%X11%%lib/xorg/modules/input/vboxmouse_drv.so +sbin/VBoxControl +sbin/VBoxService +sbin/mount_vboxvfs +%%X11%%share/autostart/vboxclient.desktop +/%%KMODDIR%%/vboxguest.ko +/%%KMODDIR%%/vboxvfs.ko diff --git a/emulators/virtualbox-ose-additions-nox11-70/Makefile b/emulators/virtualbox-ose-additions-nox11-70/Makefile new file mode 100644 index 000000000000..a9a2be2575ba --- /dev/null +++ b/emulators/virtualbox-ose-additions-nox11-70/Makefile @@ -0,0 +1,8 @@ +PORTREVISION= 0 +PKGNAMESUFFIX= -additions-nox11-70 + +MASTERDIR= ${.CURDIR}/../virtualbox-ose-additions-70 + +OPTIONS_EXCLUDE= DBUS DEBUG OPENGL X11 + +.include "${MASTERDIR}/Makefile" diff --git a/emulators/virtualbox-ose-additions-nox11-71/Makefile b/emulators/virtualbox-ose-additions-nox11-71/Makefile new file mode 100644 index 000000000000..ef057aa1f5f2 --- /dev/null +++ b/emulators/virtualbox-ose-additions-nox11-71/Makefile @@ -0,0 +1,8 @@ +PORTREVISION= 0 +PKGNAMESUFFIX= -additions-nox11-71 + +MASTERDIR= ${.CURDIR}/../virtualbox-ose-additions-71 + +OPTIONS_EXCLUDE= DBUS DEBUG OPENGL X11 + +.include "${MASTERDIR}/Makefile" diff --git a/emulators/virtualbox-ose-additions-nox11-72/Makefile b/emulators/virtualbox-ose-additions-nox11-72/Makefile new file mode 100644 index 000000000000..ed7edcf49366 --- /dev/null +++ b/emulators/virtualbox-ose-additions-nox11-72/Makefile @@ -0,0 +1,8 @@ +PORTREVISION= 0 +PKGNAMESUFFIX= -additions-nox11-72 + +MASTERDIR= ${.CURDIR}/../virtualbox-ose-additions-72 + +OPTIONS_EXCLUDE= DBUS DEBUG OPENGL X11 + +.include "${MASTERDIR}/Makefile" diff --git a/emulators/virtualbox-ose-kmod-71/Makefile b/emulators/virtualbox-ose-kmod-71/Makefile index 75f20dc887fc..88f593c525fc 100644 --- a/emulators/virtualbox-ose-kmod-71/Makefile +++ b/emulators/virtualbox-ose-kmod-71/Makefile @@ -1,5 +1,5 @@ PORTNAME= virtualbox-ose -DISTVERSION= 7.1.12 +DISTVERSION= 7.1.14 CATEGORIES= emulators MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/ PKGNAMESUFFIX= -kmod-71 diff --git a/emulators/virtualbox-ose-kmod-71/distinfo b/emulators/virtualbox-ose-kmod-71/distinfo index fb7394d7745c..440b2b8ba4f1 100644 --- a/emulators/virtualbox-ose-kmod-71/distinfo +++ b/emulators/virtualbox-ose-kmod-71/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1752700000 -SHA256 (VirtualBox-7.1.12.tar.bz2) = 6f9618f39168898134975f51df7c2d6d5129c0aa82b6ae11cf47f920c70df276 -SIZE (VirtualBox-7.1.12.tar.bz2) = 214691769 +TIMESTAMP = 1761088888 +SHA256 (VirtualBox-7.1.14.tar.bz2) = 6a4eea884cd98049a5357133b718078d8aaae68047836a3f86cd5904336d6218 +SIZE (VirtualBox-7.1.14.tar.bz2) = 216819853 diff --git a/emulators/virtualbox-ose-kmod-72/Makefile b/emulators/virtualbox-ose-kmod-72/Makefile index 40c529cae48a..1fbfaa53f6df 100644 --- a/emulators/virtualbox-ose-kmod-72/Makefile +++ b/emulators/virtualbox-ose-kmod-72/Makefile @@ -1,5 +1,5 @@ PORTNAME= virtualbox-ose -DISTVERSION= 7.2.2 +DISTVERSION= 7.2.4 CATEGORIES= emulators MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/ PKGNAMESUFFIX= -kmod-72 diff --git a/emulators/virtualbox-ose-kmod-72/distinfo b/emulators/virtualbox-ose-kmod-72/distinfo index 41bf0f3a16ac..729b45a32abd 100644 --- a/emulators/virtualbox-ose-kmod-72/distinfo +++ b/emulators/virtualbox-ose-kmod-72/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1759400000 -SHA256 (VirtualBox-7.2.2.tar.bz2) = b0e63bfb855327aecf1122cda33390c33734e5ffed72f123f5edf786a8ce1393 -SIZE (VirtualBox-7.2.2.tar.bz2) = 206992991 +TIMESTAMP = 1761088888 +SHA256 (VirtualBox-7.2.4.tar.bz2) = d281ec981b5f580211a0cedd1b75a1adcb0fbfcbb768d8c2bf4429f4763e8bbd +SIZE (VirtualBox-7.2.4.tar.bz2) = 207084201 diff --git a/emulators/virtualbox-ose-legacy/Makefile b/emulators/virtualbox-ose-legacy/Makefile index 2040fa8bf3e0..bde4ee8743f8 100644 --- a/emulators/virtualbox-ose-legacy/Makefile +++ b/emulators/virtualbox-ose-legacy/Makefile @@ -87,7 +87,7 @@ OPTIONS_SUB= yes DEBUG_DESC= Debug symbols, additional logs and assertions GUESTADDITIONS_DESC= Build with Guest Additions NLS_DESC= Native language support (requires QT5) -QT5_DESC= Build with QT5 frontend (requires X11) +QT5_DESC= Build with Qt5 frontend (requires X11) R0LOGGING_DESC= Enable R0 logging (requires DEBUG) UDPTUNNEL_DESC= Build with UDP tunnel support VDE_DESC= Build with VDE support diff --git a/emulators/virtualbox-ose-legacy/files/vboxinit.in b/emulators/virtualbox-ose-legacy/files/vboxinit.in index 9895da9e362e..9574d7d6295e 100644 --- a/emulators/virtualbox-ose-legacy/files/vboxinit.in +++ b/emulators/virtualbox-ose-legacy/files/vboxinit.in @@ -16,7 +16,7 @@ # vboxinit_stop (str): Default stop cmd for VBoxManage controlvm. # (default: savestate) # vboxinit_start_delay (int): Default startup delay in seconds. -# (default: 0) +# (default: 1) # vboxinit_stop_delay (int): Default shutdown delay in seconds. # (default: 0) # diff --git a/emulators/virtualbox-ose-nox11-71/Makefile b/emulators/virtualbox-ose-nox11-71/Makefile index 66d0c82c9bc9..bd1a0035d424 100644 --- a/emulators/virtualbox-ose-nox11-71/Makefile +++ b/emulators/virtualbox-ose-nox11-71/Makefile @@ -1,4 +1,4 @@ -PORTREVISION= 1 +PORTREVISION= 0 PKGNAMESUFFIX= -nox11-71 MASTERDIR= ${.CURDIR}/../virtualbox-ose-71 diff --git a/emulators/virtualbox-ose-nox11-72/Makefile b/emulators/virtualbox-ose-nox11-72/Makefile index bd2cd188d048..d415932ea096 100644 --- a/emulators/virtualbox-ose-nox11-72/Makefile +++ b/emulators/virtualbox-ose-nox11-72/Makefile @@ -1,4 +1,4 @@ -PORTREVISION= 1 +PORTREVISION= 0 PKGNAMESUFFIX= -nox11-72 MASTERDIR= ${.CURDIR}/../virtualbox-ose-72 diff --git a/emulators/virtualbox-ose/Makefile b/emulators/virtualbox-ose/Makefile index 0090c98652d1..746956b89905 100644 --- a/emulators/virtualbox-ose/Makefile +++ b/emulators/virtualbox-ose/Makefile @@ -92,7 +92,7 @@ DEBUG_DESC= Debug symbols, additional logs and assertions GUESTADDITIONS_DESC= Build with Guest Additions NLS_DESC= Native language support (requires QT5) OPUS_DESC= Use libvpx for audio recording (requires VPX) -QT5_DESC= Build with QT5 frontend (requires X11) +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) diff --git a/emulators/virtualbox-ose/files/vboxinit.in b/emulators/virtualbox-ose/files/vboxinit.in index 9895da9e362e..9574d7d6295e 100644 --- a/emulators/virtualbox-ose/files/vboxinit.in +++ b/emulators/virtualbox-ose/files/vboxinit.in @@ -16,7 +16,7 @@ # vboxinit_stop (str): Default stop cmd for VBoxManage controlvm. # (default: savestate) # vboxinit_start_delay (int): Default startup delay in seconds. -# (default: 0) +# (default: 1) # vboxinit_stop_delay (int): Default shutdown delay in seconds. # (default: 0) # diff --git a/emulators/wine-devel/Makefile b/emulators/wine-devel/Makefile index 904dc99b83f7..b1d51d5546f1 100644 --- a/emulators/wine-devel/Makefile +++ b/emulators/wine-devel/Makefile @@ -1,5 +1,6 @@ PORTNAME= wine -DISTVERSION= 10.16 +DISTVERSION= 10.18 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= emulators MASTER_SITES= https://dl.winehq.org/wine/source/10.x/ @@ -16,6 +17,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE ONLY_FOR_ARCHS= amd64 i386 BUILD_DEPENDS= ${LOCALBASE}/bin/flex:textproc/flex +LIB_DEPENDS= libhwloc.so:devel/hwloc2 # Only devel/llvm17 and later come with necessary include files - PR274542 USES= bison cpe desktop-file-utils gmake llvm:min=17,build,noexport \ @@ -38,10 +40,10 @@ CONFIGURE_ARGS= --verbose \ --without-capi \ --without-coreaudio \ --without-dbus \ - --without-ffmpeg \ --without-gettext --without-gettextpo \ --without-gphoto \ --without-gssapi \ + --with-hwloc \ --without-inotify \ --without-krb5 \ --with-mingw CROSSCC="clang" \ @@ -69,13 +71,14 @@ SUB_FILES= pkg-message PORTDATA= wine.inf -OPTIONS_DEFINE= CUPS DOCS DOSBOX GECKO GNUTLS MONO V4L WAYLAND X11 -OPTIONS_DEFAULT= ALSA GNUTLS WAYLAND X11 +OPTIONS_DEFINE= CUPS DOCS DOSBOX FFMPEG GECKO GNUTLS MONO V4L WAYLAND X11 +OPTIONS_DEFAULT= ALSA FFMPEG GNUTLS WAYLAND X11 OPTIONS_RADIO= AUDIO OPTIONS_RADIO_AUDIO= ALSA OSS OPTIONS_SUB= yes DOSBOX_DESC= Use DOSBox to run MS-DOS programs +FFMPEG_DESC= FFMPEG support GECKO_DESC= Bundle Gecko MSI package for Wine MONO_DESC= Bundle Mono MSI package for Wine WAYLAND_DESC= Wayland Support @@ -91,6 +94,9 @@ CUPS_CONFIGURE_WITH= cups DOSBOX_RUN_DEPENDS= dosbox:emulators/dosbox +FFMPEG_LIB_DEPENDS= libavutil.so:multimedia/ffmpeg +FFMPEG_CONFIGURE_WITH= ffmpeg + GECKO_RUN_DEPENDS= wine-gecko-devel>0:emulators/wine-gecko-devel GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls diff --git a/emulators/wine-devel/distinfo b/emulators/wine-devel/distinfo index 16223d1de1f3..930ce6712983 100644 --- a/emulators/wine-devel/distinfo +++ b/emulators/wine-devel/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1759596682 -SHA256 (wine-10.16.tar.xz) = c5ed2742bff208c63b005bcfb91a2fc6cc49af6c6695bc8c0cf0fe6f4da60446 -SIZE (wine-10.16.tar.xz) = 32840688 +TIMESTAMP = 1761986980 +SHA256 (wine-10.18.tar.xz) = 51fb7273d65d09dea032c4a5e2197b12724b27ca360e1a622b2373d1ee50ad7b +SIZE (wine-10.18.tar.xz) = 32970828 diff --git a/emulators/wine-devel/files/pkg-message.in b/emulators/wine-devel/files/pkg-message.in index 18639d47533e..46bbc14aacc2 100644 --- a/emulators/wine-devel/files/pkg-message.in +++ b/emulators/wine-devel/files/pkg-message.in @@ -18,4 +18,15 @@ EOF $ wine64 regedit wayland.reg EOM } +{ type: upgrade + maximum_version: "10.17" + message: <<EOM +Since the version 10.17, wine require hwloc2 as an additional +dependency. If it was not automatically installed, then install it +for the 64bit part with: +# pkg install hwloc2 +And for the 32bit part do as the user that would use wine: +$ %%PREFIX%%/share/wine/pkg32.sh install hwloc2 +EOM +} ] diff --git a/emulators/wine-devel/pkg-plist b/emulators/wine-devel/pkg-plist index 9e0a8606ff60..cbbfdee6007e 100644 --- a/emulators/wine-devel/pkg-plist +++ b/emulators/wine-devel/pkg-plist @@ -908,6 +908,8 @@ include/wine/windows/robuffer.h include/wine/windows/robuffer.idl include/wine/windows/roerrorapi.h include/wine/windows/rometadata.h +include/wine/windows/rometadataapi.h +include/wine/windows/rometadataapi.idl include/wine/windows/rometadataresolution.h include/wine/windows/roparameterizediid.h include/wine/windows/roparameterizediid.idl @@ -1019,6 +1021,7 @@ include/wine/windows/tbs.h include/wine/windows/tchar.h include/wine/windows/tcpestats.h include/wine/windows/tcpmib.h +include/wine/windows/tdh.h include/wine/windows/textserv.h include/wine/windows/textstor.h include/wine/windows/textstor.idl @@ -1625,6 +1628,7 @@ lib/wine/%%WINEARCH%%-unix/libstrmiids.a lib/wine/%%WINEARCH%%-unix/libsxs.a lib/wine/%%WINEARCH%%-unix/libt2embed.a lib/wine/%%WINEARCH%%-unix/libtapi32.a +lib/wine/%%WINEARCH%%-unix/libtdh.a lib/wine/%%WINEARCH%%-unix/libucrtbase.a lib/wine/%%WINEARCH%%-unix/libuiautomationcore.a lib/wine/%%WINEARCH%%-unix/libunicows.a @@ -1752,6 +1756,7 @@ lib/wine/%%WINEARCH%%-windows/colorcnv.dll lib/wine/%%WINEARCH%%-windows/combase.dll lib/wine/%%WINEARCH%%-windows/comcat.dll lib/wine/%%WINEARCH%%-windows/comctl32.dll +lib/wine/%%WINEARCH%%-windows/comctl32_v6.dll lib/wine/%%WINEARCH%%-windows/comdlg32.dll lib/wine/%%WINEARCH%%-windows/coml2.dll %%WINE32%%lib/wine/%%WINEARCH%%-windows/comm.drv16 @@ -2188,6 +2193,7 @@ lib/wine/%%WINEARCH%%-windows/libstrmiids.a lib/wine/%%WINEARCH%%-windows/libsxs.a lib/wine/%%WINEARCH%%-windows/libt2embed.a lib/wine/%%WINEARCH%%-windows/libtapi32.a +lib/wine/%%WINEARCH%%-windows/libtdh.a lib/wine/%%WINEARCH%%-windows/libucrtbase.a lib/wine/%%WINEARCH%%-windows/libuiautomationcore.a lib/wine/%%WINEARCH%%-windows/libunicows.a @@ -2612,6 +2618,7 @@ lib/wine/%%WINEARCH%%-windows/win32u.dll %%WINE32%%lib/wine/%%WINEARCH%%-windows/win87em.dll16 %%WINE32%%lib/wine/%%WINEARCH%%-windows/winaspi.dll16 lib/wine/%%WINEARCH%%-windows/winbio.dll +lib/wine/%%WINEARCH%%-windows/winbrand.dll %%WINE32%%lib/wine/%%WINEARCH%%-windows/windebug.dll16 lib/wine/%%WINEARCH%%-windows/windows.applicationmodel.dll lib/wine/%%WINEARCH%%-windows/windows.devices.bluetooth.dll @@ -2636,6 +2643,7 @@ lib/wine/%%WINEARCH%%-windows/windows.storage.applicationdata.dll lib/wine/%%WINEARCH%%-windows/windows.storage.dll lib/wine/%%WINEARCH%%-windows/windows.system.profile.systemid.dll lib/wine/%%WINEARCH%%-windows/windows.system.profile.systemmanufacturers.dll +lib/wine/%%WINEARCH%%-windows/windows.ui.core.textinput.dll lib/wine/%%WINEARCH%%-windows/windows.ui.dll lib/wine/%%WINEARCH%%-windows/windows.ui.xaml.dll lib/wine/%%WINEARCH%%-windows/windows.web.dll diff --git a/emulators/wine-gecko-devel/Makefile b/emulators/wine-gecko-devel/Makefile index 8bce71815f82..5abee52c5833 100644 --- a/emulators/wine-gecko-devel/Makefile +++ b/emulators/wine-gecko-devel/Makefile @@ -1,9 +1,9 @@ PORTNAME= wine-gecko DISTVERSION= 2.47.4 +DISTVERSIONSUFFIX=-x86 CATEGORIES= emulators MASTER_SITES= http://dl.winehq.org/wine/wine-gecko/${DISTVERSION}/ PKGNAMESUFFIX= -devel -DISTNAME= wine-gecko-${DISTVERSION}-x86 EXTRACT_SUFX= .msi EXTRACT_ONLY= diff --git a/emulators/wine-mono-devel/Makefile b/emulators/wine-mono-devel/Makefile index 961040290d8a..8321b31ce6d6 100644 --- a/emulators/wine-mono-devel/Makefile +++ b/emulators/wine-mono-devel/Makefile @@ -1,5 +1,5 @@ PORTNAME= wine-mono -DISTVERSION= 10.2.0 +DISTVERSION= 10.3.0 DISTVERSIONSUFFIX=-x86 CATEGORIES= emulators MASTER_SITES= http://dl.winehq.org/wine/wine-mono/${DISTVERSION}/ diff --git a/emulators/wine-mono-devel/distinfo b/emulators/wine-mono-devel/distinfo index c473cd4bba39..1ff6488fae14 100644 --- a/emulators/wine-mono-devel/distinfo +++ b/emulators/wine-mono-devel/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1755797604 -SHA256 (wine-mono-10.2.0-x86.msi) = 4e1ed3f02e92d053133d03ddfbefcf6db4a4dc231a9aed3367b17117a88847d8 -SIZE (wine-mono-10.2.0-x86.msi) = 85497856 +TIMESTAMP = 1760804584 +SHA256 (wine-mono-10.3.0-x86.msi) = cece5c63180094dffdf01d0fbe362a4b606e5280b98cdfd1b8568cdf9b572f98 +SIZE (wine-mono-10.3.0-x86.msi) = 85515264 diff --git a/emulators/wine/Makefile b/emulators/wine/Makefile index 2dd3035e125d..8de3d4f3ba01 100644 --- a/emulators/wine/Makefile +++ b/emulators/wine/Makefile @@ -21,13 +21,13 @@ BUILD_DEPENDS= ${LOCALBASE}/bin/flex:textproc/flex USES= bison cpe desktop-file-utils gmake \ llvm:min=17,build,noexport localbase \ pkgconfig sdl shebangfix tar:xz +CPE_VENDOR= winehq USE_GCC= yes +USE_LDCONFIG= ${PREFIX}/lib ${PREFIX}/lib/wine USE_SDL= sdl2 -CPE_VENDOR= winehq - -CONFLICTS_INSTALL= wine-devel - +SHEBANG_FILES= tools/make_requests tools/winemaker/winemaker \ + tools/winedump/function_grep.pl GNU_CONFIGURE= yes CONFIGURE_ARGS+=--verbose \ --disable-kerberos \ @@ -55,20 +55,17 @@ CONFIGURE_ARGS+=--verbose \ --without-unwind \ --without-usb CONFIGURE_ENV= CPPBIN="${CPP}" FLEX="${LOCALBASE}/bin/flex" -WINELIBDIR= ${PREFIX}/lib -.if !defined(USE_LDCONFIG32) -USE_LDCONFIG= ${WINELIBDIR} ${WINELIBDIR}/wine -.endif -SHEBANG_FILES= tools/make_requests tools/winemaker/winemaker \ - tools/winedump/function_grep.pl + +PIE_UNSAFE= yes + +CONFLICTS_INSTALL= wine-devel BINARY_ALIAS+= clang=${LOCALBASE}/bin/clang${LLVM_VERSION} \ lld-link=${LOCALBASE}/bin/lld-link${LLVM_VERSION} +PORTSCOUT= limit:^10\.0 SUB_FILES= pkg-message -PIE_UNSAFE= yes - PORTDATA= wine.inf OPTIONS_DEFINE= CUPS DOCS DOSBOX GNUTLS V4L WAYLAND X11 GECKO MONO @@ -82,45 +79,43 @@ GECKO_DESC= Bundle Gecko MSI package for Wine MONO_DESC= Bundle Mono MSI package for Wine WAYLAND_DESC= Wayland Support -PORTSCOUT= limit:^10\.0 - -ALSA_CONFIGURE_WITH= alsa -ALSA_USES= gnome gstreamer -ALSA_USE= GNOME=glib20 ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_RUN_DEPENDS= alsa-plugins>0:audio/alsa-plugins +ALSA_USES= gnome gstreamer +ALSA_USE= GNOME=glib20 +ALSA_CONFIGURE_WITH= alsa -CUPS_CONFIGURE_WITH= cups CUPS_LIB_DEPENDS= libcups.so:print/cups +CUPS_CONFIGURE_WITH= cups DOSBOX_RUN_DEPENDS= dosbox:emulators/dosbox GECKO_RUN_DEPENDS= wine-gecko>0:emulators/wine-gecko -GNUTLS_CONFIGURE_WITH= gnutls GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls +GNUTLS_CONFIGURE_WITH= gnutls MONO_RUN_DEPENDS= wine-mono>0:emulators/wine-mono -OSS_CONFIGURE_WITH= oss OSS_USES= gnome gstreamer OSS_USE= GNOME=glib20 +OSS_CONFIGURE_WITH= oss -V4L_CONFIGURE_WITH= v4l2 V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat V4L_LIB_DEPENDS= libv4l2.so:multimedia/libv4l +V4L_CONFIGURE_WITH= v4l2 -WAYLAND_CONFIGURE_WITH= wayland WAYLAND_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \ libxkbcommon.so:x11/libxkbcommon +WAYLAND_CONFIGURE_WITH= wayland -X11_CONFIGURE_WITH= x fontconfig freetype opengl xinerama xinput2 xrandr xrender -X11_USES= gl xorg -X11_USE= GL=glu XORG=x11,xext,xcomposite,xcursor,xi,xinerama,xrandr,xrender X11_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libvulkan.so:graphics/vulkan-loader +X11_USES= gl xorg +X11_USE= GL=glu XORG=x11,xcomposite,xcursor,xext,xi,xinerama,xrandr,xrender +X11_CONFIGURE_WITH= fontconfig freetype opengl x xinerama xinput2 xrandr xrender .include <bsd.port.pre.mk> diff --git a/emulators/yuzu/Makefile b/emulators/yuzu/Makefile index 4d6c9dadcb8a..6d86652c9b63 100644 --- a/emulators/yuzu/Makefile +++ b/emulators/yuzu/Makefile @@ -1,6 +1,6 @@ PORTNAME= yuzu PORTVERSION= s20240301 -PORTREVISION= 9 +PORTREVISION= 10 CATEGORIES= emulators wayland .if make(makesum) MASTER_SITES= https://api.yuzu-emu.org/gamedb/?dummy=/:gamedb |
