Convert the solitary Python file with 2to3 and add a few more tweaks so it
works under Python 3.
This removes Python 2 as a dep from one more port.
ok bentley@ (MAINTAINER)
This brings in some build fixes for ASIO for long deprecated function use,
which are required for building with the upcoming asio 1.36 update.
From Brad.
Major update from 3.31.8 to 4.1.2.
CMake 4.0 introduces a breaking change: compatibility with versions older than
3.5 has been removed. Projects calling cmake_minimum_required() or
cmake_policy() with versions < 3.5 now error out.
To maintain compatibility with existing ports during the transition, the cmake
module now provides MODCMAKE_POLICY_VERSION_OVERRIDE (idea from sthen@)
support:
- MODCMAKE_POLICY_VERSION_OVERRIDE ?= No
- MODCMAKE_POLICY_VERSION_OVERRIDE_VER ?= 3.5
When MODCMAKE_POLICY_VERSION_OVERRIDE is set to "yes", CMake is instructed to
accept policy versions down to the specified minimum (default 3.5) via
-DCMAKE_POLICY_VERSION_MINIMUM. This allows older ports to build while
acknowledging they may use deprecated features.
https://cmake.org/cmake/help/latest/release/4.0.htmlhttps://cmake.org/cmake/help/latest/release/4.1.html
OK sthen@
Add ffmpeg libs to WANTLIB and add the dlopen comment above it. While I'm here,
regen WANTLIB correct wrong "\" and finally remove obsolete CXXFLAGS entry.
OK tb
Although pledge(2) was only called at the last possible moment, after
nearly all initialization had been done, it turns out there was one case
I missed: if the user is playing with a ujoy(4) gamepad, then SDL will
call ioctl(2) with USB_GET_REPORT_DESC. No pledge(2) promise allows this.
Due to mupen64plus's design, pledge(2) cannot be moved any later. The
USB initialization takes place in a .so plugin with a documented public
API. Calling pledge(2) inside the plugin would certainly break other
mupen64plus frontends.
It may be possible to reintroduce pledge(2) in mupen64plus, by hoisting
joystick initialization to a place that gets executed earlier. However,
this too might not be possible without breaking other frontends.
Other alternatives could be to modify SDL's joystick initialization to
not require USB_GET_REPORT_DESC, or perhaps to add a new "ujoy" promise.
Either of these would benefit other SDL/ujoy(4)/pledge-using programs
(e.g., mgba). But research needs to be done to see how much of a benefit
this would actually provide.
To be honest, complete removal of pledge(2) from mupen64plus would not
be a great loss. mupen64plus initializes things late and reinitializes
things often. That meant the tightest pledge(2) promise still required
filesystem access *and* network access *and* exec. A better-designed
program would perform initialization earlier and use privilege separation.
Even other non-privilege-separated programs usually lend themselves
better to pledge(2) than mupen64plus.
Wrong pledge(2) promise reported by Fabien Romano.