Opened 7 months ago
Closed 7 months 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 7 months 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 7 months 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 7 months 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 7 months 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 7 months 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 7 months ago by mascguy (Christopher Nielsen)
Cc: | mascguy added |
---|
comment:7 Changed 7 months ago by i0ntempest
comment:8 Changed 7 months 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 7 months 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