Opened 12 years ago

Last modified 12 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).

Change History (1)

Changed 12 years ago by janstary (Jan Starý)

Attachment: Portfile.diff added
Note: See TracTickets for help on using tickets.