#50703: ffmpeg port modifications to enable splitting off legacy port versions with minimal effort -------------------------+-------------------------------- Reporter: rjvbertin@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: has_patch | Port: ffmpeg -------------------------+-------------------------------- As announced elsewhere, I've implemented a proof of concept set of changes to the current (2.8.6) FFMpeg port so that it becomes trivial to support a legacy version installed in parallel to a current version. This would make it possible to keep the main `port:ffmpeg` at the latest/current release even if because of ABI changes certain dependent ports still require an older version. The principle is simple: use FFMpeg's configure options to build the binaries and libraries using an appropriate suffix (tentatively called `compat_version` in my draft) and accompanying options to ensure that items under ${prefix}/include and ${prefix}/share do not cause version conflicts. If the port is not configured in legacy mode, symlinks are used to make the relevant items available where they would be in a simple installation. Legacy mode is currently implemented as an inactive `port:ffmpeg-${compat_version}` subport, which means that dependents can request that compat_version explicitly. Thus: - dependents will find the main ffmpeg port and files as usual - dependents that need to use a legacy version only need to be patched so that they request the suffixed pkgconfig files (ports not using pkgconfig for this will take a bit more work) - currently installed dependents will continue to work thanks to the symlinks to (only) the runtime shared libraries (`libfoo.N.dylib`). This is a personal preference of mine; those symlinks could of course also be omitted in legacy mode too. Note that these modifications can be applied only to the v2.8.6 ffmpeg port; it should be able to co-exist peacefully with a v3.0.0 ffmpeg port built normally. I'd advise building all ffmpeg ports like this in the future though, if the possibility to keep a legacy version around is judged important enough. -- Ticket URL: <https://trac.macports.org/ticket/50703> MacPorts <https://www.macports.org/> Ports system for OS X