Opened 13 days ago
Closed 4 days ago
#69764 closed defect (fixed)
mpv @0.37.0: ERROR: Program 'rst2man rst2man-3.12.py' not found or not executable
Reported by: | eirnym (Eir Nym) | Owned by: | Ionic (Mihai Moldovan) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | i0ntempest, jmroot (Joshua Root), lukaso (Lukas Oberhuber), mascguy (Christopher Nielsen) | |
Port: | mpv, py-docutils |
Description
I did a clean install today and found that mpv doesn't recognize rst2man installed py312-docutils. Quick look in logs and contents of py312-docutils revials the reason of this problem.
I put relevant logs below where it's clearly shown that mpv looks for rst2man or rst2man-3.12.py while py312-docutils installs rst2man-3.12.
I see a very small patch to solve this issue: add rst2man-3.12 to a search list in meson configuration file.
It's very annoyng for me to have to select py312-docutils then deselect it to uninstall
relevant log file:
:info:configure Message: Detected Swift library directory: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx :info:configure Has header "AppKit/NSTouchBar.h" : YES :info:configure Program rst2man rst2man-3.12.py found: NO :info:configure meson.build:1567:10: ERROR: Program 'rst2man rst2man-3.12.py' not found or not executable :info:configure A full log can be found at /opt/local/var/macports/build/_opt_macports_ports_multimedia_mpv/mpv/work/build/meson-logs/meson-log.txt :info:configure Command failed: cd "/opt/local/var/macports/build/_opt_macports_ports_multimedia_mpv/mpv/work/mpv-0.37.0" && /opt/local/bin/meson setup --prefix=/opt/local --buildtype=release -Dmanpage-build=enabled -Dcoreaudio=enabled -Dcocoa=enabled -Dcplugins=enabled -Dzlib=enabled -Dswift-build=enabled -Dhtml-build=disabled -Dvideotoolbox-gl=enabled -Dcuda-hwaccel=disabled -Dopensles=disabled -Degl-drm=disabled -Degl-angle-lib=disabled -Degl-angle-win32=disabled -Daudiounit=disabled -Dios-gl=disabled -Ddirect3d=disabled -Dandroid-media-ndk=disabled -Drpi=disabled -Ddvbin=disabled -Dlibmpv=false -Dcaca=disabled -Dcdda=enabled -Dpthread-debug=disabled -Ddvdnav=enabled -Degl-x11=disabled -Dgl=enabled -Dgl-cocoa=enabled -Dvulkan=enabled -Dgl-x11=disabled -Djack=disabled -Djavascript=disabled -Djpeg=enabled -Dlibarchive=enabled -Dlibbluray=enabled -Dlua=lua5.2 -Dopenal=disabled -Dpdf-build=disabled -Dpulse=disabled -Drubberband=disabled -Duchardet=disabled -Dvapoursynth=disabled -Dx11=disabled -Dxv=disabled /opt/local/var/macports/build/_opt_macports_ports_multimedia_mpv/mpv/work/mpv-0.37.0 /opt/local/var/macports/build/_opt_macports_ports_multimedia_mpv/mpv/work/build --wrap-mode=default :info:configure Exit code: 1
Change History (9)
comment:1 Changed 13 days ago by ryandesign (Ryan Carsten Schmidt)
Cc: | i0ntempest added |
---|---|
Keywords: | mpv rst2man removed |
Owner: | set to Ionic |
Status: | new → assigned |
Summary: | Mpv doesn't recognized rst2man installed by py312-docutils if it's not default → mpv @0.37.0: ERROR: Program 'rst2man rst2man-3.12.py' not found or not executable |
comment:2 Changed 13 days ago by ryandesign (Ryan Carsten Schmidt)
Cc: | jmroot added |
---|---|
Port: | py-docutils added |
Replying to eirnym:
I put relevant logs below where it's clearly shown that mpv looks for rst2man or rst2man-3.12.py while py312-docutils installs rst2man-3.12.
Note that this is a new problem as of the update of py-docutils to 0.21.1 four days ago. Prior to that, it installed binaries named rst2man-$V.py; now it installs rst2man-$V. This probably affects every port that needs rst2man. Josh, did this have to change? Maybe compatibility symlinks should be put in place?
comment:3 Changed 13 days ago by jmroot (Joshua Root)
This is an upstream change. https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-21-2024-04-09
comment:4 follow-up: 5 Changed 13 days ago by ryandesign (Ryan Carsten Schmidt)
Ok. But it breaks all (?) ports using rst2man, so what do you think about compatibility symlinks? Fixing it once in py-docutils is easier than fixing it in all the other ports.
comment:5 Changed 13 days ago by mascguy (Christopher Nielsen)
Cc: | lukaso added |
---|
Replying to ryandesign:
Ok. But it breaks all (?) ports using rst2man, so what do you think about compatibility symlinks? Fixing it once in py-docutils is easier than fixing it in all the other ports.
I strongly second that idea, as this is also broken in other ports. For example, gdk-pixbuf2
, via issue:69747.
comment:6 Changed 13 days ago by mascguy (Christopher Nielsen)
Cc: | mascguy added |
---|
comment:7 Changed 13 days ago by i0ntempest
comment:8 Changed 13 days ago by i0ntempest
And upstream just dropped 0.38.0. I did change how the patching is done but I'll leave this open until a conclusion is reached here.
comment:9 Changed 4 days ago by i0ntempest
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
As shipped from its developers, mpv looks for rst2man this way:
https://github.com/mpv-player/mpv/blob/818ce7c51a6b9179307950e919983e0909942098/meson.build#L1567
The portfile patches this, replacing
rst2man.py
withrst2man-3.12.py
:https://github.com/macports/macports-ports/blob/9425b39f9e6c8a20004c94bb6f33b7080d8395e6/multimedia/mpv/Portfile#L288-L291
Instead of patching, the port might use the new
meson.native.binaries
feature:https://github.com/macports/macports-ports/pull/23572