GStreamer Ports - Upgrade to Version 1.x, Add Fallback/Legacy Version 0.10.x

Ryan Schmidt ryandesign at macports.org
Sun Jan 27 22:22:36 PST 2013


On Jan 27, 2013, at 23:58, Ryan Stonecipher wrote:

> Adam, Dave, Eric, Jeremy, Jyrki, Kimura, Leo, Mike, Ryan Schmidt, and "NoDamage",
> Each of you maintains at least one port which depends on the currently-ported 0.10.x versions of GStreamer and its extensions.
> Version 1.0 of GStreamer was released on 2012-09-24 and since that date bugfixes up to version 1.0.5 have been released.
> There are several tickets about this potential upgrade (#37077-37082 and #37545) on the bug tracker.
> Both versions can be installed in parallel and some dependent projects may not yet support the new API, so I believe port names should be changed to allow such parallel installation.
> Below are revised names in the following format:
> current port -> replacement port (legacy port)
> 
> gnonlin -> gstreamer01-gnonlin ()
> gst-ffmpeg -> gstreamer1-gst-libav (gstreamer01-gst-ffmpeg)
> gst-plugins-bad -> gstreamer1-gst-plugins-bad (gstreamer01-gst-plugins-bad)
> gst-plugins-base -> gstreamer1-gst-plugins-base (gstreamer01-gst-plugins-base)
> gst-plugins-gl -> gstreamer01-gst-plugins-gl ()
> gst-plugins-good -> gstreamer1-gst-plugins-good (gstreamer01-gst-plugins-good)
> gst-plugins-ugly -> gstreamer1-gst-plugins-ugly (gstreamer01-gst-plugins-ugly)
> gst-rtsp-server -> gstreamer01-gst-rtsp ()
> gstreamer -> gstreamer1 (gstreamer01)

Since the current version in MacPorts is 0.10.x the legacy ports should have the prefix gstreamer010 rather than gstreamer01.


> Attached is a diff of changes in trunk/dports/gnome required to implement this transition as of r102101.
> I believe the use of 'replaced_by' and incrementing the epoch of each old port will trigger the necessary changes/upgrades.

It should. I'd be inclined to prefer increasing the revision or the version instead though, since that's what we've done with replaced ports before.


> -dev list,
> If you see anything unusual or poorly-implemented in the attached .diff please let me know.

Note that you can use the variable ${replaced_by} in the ui_error instead of calling out the replacement port name manually. This makes it easier to copy-paste the whole pre-configure block without having to change anything in it afterward. Of course this is not much use to you now that you've already done it manually but you can use it next time.

It seems that since the old gst-* ports provide version 0.10.x, they should be replaced_by the corresponding gstreamer010-gst-* ports, instead of sometimes the gstreamer1-gst-* ports (when available) or otherwise the gstreamer010-gst-* ports.

At the same time that you commit this change to the gstreamer ports, you can change the dependencies of all ports that use them to the corresponding gstreamer010 ports and increase their revisions; they should continue to function as they did before.

Then at everyone's leisure and as it becomes possible to do so, individual ports can upgrade to the gstreamer1 ports.



More information about the macports-dev mailing list