Opened 13 years ago
Last modified 13 years ago
#33489 closed defect
MPlayer @1.0rc4 - hidden dependencies — at Initial Version
Reported by: | janstary (Jan Starý) | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.4 |
Keywords: | Cc: | ||
Port: | MPlayer |
Description
MPlayer has hidden dependencies. At least, it silently picks up audio/opencore-amr and multimedia/ffmpeg.
That is not exactly a surprise, given that the Portfile contains the following misguided comment:
# MPlayer autodetects many support libs. To prevent undeclared # dependencies, explicitly disable everything optional first. # Later, let autodetect do its magic not explicit --enable
Letting autodetect "do its magic" without explicitly --enabling the stuff AND explicitly mentioning it in depends_lib is exactly how undeclared dependencies are created!
For example, I just "port uninstall"ed ffmpeg and opencore-amr
- the installed MPlayer port didn't object, but running mplayer
of course crashed immediately, as mplayer silently depends on those (and most probably many others).
Attached is a diff to the Portfile which --disables the opencore-amr functionality, and adds an explicit dependency on ffmpeg.
I did only this, as I maintain opencore-amr and use ffmpeg, so I stumbled upon this iceberg tip. I leave it to the maintainers of MPlayer to go through all the enable/disable options of MPlayer's ./configure, explicitly enable those that they want, explicitly name them as a library dependency once enabled, and explicitly disabling those they do not want (without having that --disables be later overriden by automagic silent detection).