emulators/86Box: Update 4.2.1 => 5.0

Release notes and changelog:
https://86box.net/2025/08/24/86box-v5-0.html

PR:	289087
This commit is contained in:
gatekeeper 2025-08-25 22:18:11 +03:00 committed by Vladimir Druzenko
parent 5ecb69f0a3
commit fa13682e06
11 changed files with 349 additions and 11 deletions

View File

@ -1,6 +1,6 @@
PORTNAME= 86Box
DISTVERSIONPREFIX= v
DISTVERSION= 4.2.1
DISTVERSION= 5.0
CATEGORIES= emulators
MAINTAINER= tiago.gasiba@gmail.com
@ -72,8 +72,6 @@ ICON_RESOLUTIONS= 128x128 192x192 256x256 48x48 512x512 64x64 72x72 96x96
do-install:
${INSTALL_PROGRAM} ${WRKDIR}/.build/src/86Box ${STAGEDIR}${PREFIX}/bin
${INSTALL_SCRIPT} ${WRKDIR}/86Box-install-roms.sh ${STAGEDIR}${PREFIX}/bin
${REINPLACE_CMD} -e 's|Exec=86Box|Exec=/bin/sh -c "${PREFIX}/bin/86Box -C $${HOME}/.config/86Box.cfg"|' \
${WRKSRC}/src/unix/assets/net.86box.86Box.desktop
${INSTALL_DATA} ${WRKSRC}/src/unix/assets/net.86box.86Box.desktop \
${STAGEDIR}${DESKTOPDIR}
.for F in ${ICON_RESOLUTIONS}

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1728389339
SHA256 (86Box-86Box-v4.2.1_GH0.tar.gz) = 9d5627ef96feb815e66b87f167a1b26f4615fccd730334053293eb038f5ec3a9
SIZE (86Box-86Box-v4.2.1_GH0.tar.gz) = 5320110
TIMESTAMP = 1756060000
SHA256 (86Box-86Box-v5.0_GH0.tar.gz) = 00899cb06eb5591df57756d13929a470e50d5d87bc219d1d1d36ae7bbe83a4bf
SIZE (86Box-86Box-v5.0_GH0.tar.gz) = 13880473

View File

@ -5,7 +5,7 @@ DEFAULT_TARGET_DIR="$HOME/.local/share/86Box/"
TARGET_DIR=${TARGET_DIR:-$DEFAULT_TARGET_DIR}
install_roms() {
if [ -d "$TARGET_DIR" ] && [ "$(ls -A $TARGET_DIR)" ]; then
if [ -d "$TARGET_DIR/roms" ] && [ "$(ls -A $TARGET_DIR/roms)" ]; then
echo "ROMs already installed in $TARGET_DIR"
echo "To (re)install, please first remove ROMs with -r parameter"
exit 1

View File

@ -0,0 +1,10 @@
--- 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)

View File

@ -0,0 +1,10 @@
--- 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)

View File

@ -1,6 +1,6 @@
--- src/printer/CMakeLists.txt.orig 2024-08-02 00:15:09 UTC
--- src/printer/CMakeLists.txt.orig 2025-08-24 12:26:31 UTC
+++ src/printer/CMakeLists.txt
@@ -29,6 +29,7 @@ target_link_libraries(86Box PkgConfig::FREETYPE)
@@ -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)

View File

@ -1,6 +1,6 @@
--- src/qt/qt_mainwindow.cpp.orig 2024-08-02 00:15:09 UTC
--- src/qt/qt_mainwindow.cpp.orig 2025-08-24 12:26:31 UTC
+++ src/qt/qt_mainwindow.cpp
@@ -378,6 +378,7 @@ MainWindow::MainWindow(QWidget *parent)
@@ -469,6 +469,7 @@ MainWindow::MainWindow(QWidget *parent)
#if QT_CONFIG(vulkan)
bool vulkanAvailable = false;

View File

@ -0,0 +1,79 @@
--- 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();

View File

@ -0,0 +1,11 @@
--- 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);

View File

@ -0,0 +1,219 @@
--- 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] : "";
}

View File

@ -0,0 +1,11 @@
--- 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()