Gstreamer-plugins splitting ports .. needs testing and feed
back ?
Michael Johnson
ahze at ahze.net
Tue Oct 5 23:43:25 PDT 2004
On Oct 6, 2004, at 2:17 AM, Jose M Rodriguez wrote:
> El Miércoles, 6 de Octubre de 2004 02:51, Joe Marcus Clarke escribió:
>> On Tue, 2004-10-05 at 08:04, Jose M Rodriguez wrote:
>>> On Tuesday 05 October 2004 04:07, Joe Marcus Clarke wrote:
>>>> On Mon, 2004-10-04 at 21:51, Adam Weinberger wrote:
>>>>>>> (10.04.2004 @ 2143 PST): Michael Johnson said, in 2.0K: <<
>>>>>>
>>>>>> - Figure out which ports use gstreamer-plugins and which
>>>>>> plugins each needs
>>>>>>
>>>>>>> end of "Gstreamer-plugins splitting ports .. needs testing
>>>>>>> and feed back ?" from Michael Johnson <<
>>>>>
>>>>> I'd be interested in seeing the results of this sooner rather
>>>>> than later; I still don't understand why this is necessary. For
>>>>> anything that requires a libmad backend to gstreamer, we could
>>>>> just test for something and make a ${BROKEN} error or
>>>>> something.
>>>>
>>>> That works when ports are being install interactively. However,
>>>> when doing package building, we don't have that luxury. We could
>>>> mark a port BROKEN if gstreamer-plugins was built without MAD
>>>> support (the default), but that would mean we couldn't package
>>>> it.
>>>
>>> If gstreamer-plugins becomes a metaport selector, no port may
>>> depend on this. They must depends on a gstreamer-plugins-base and
>>> the plugins it really needs.
>>>
>>> I think it must detect PACKAGE_BUILDING and only depends on
>>> gstreamer-plugins-base in that case.
>>>
>>> This is a real big 'logistic' effort. It isn't by any means
>>> 'easy'.
>>
>> I don't really think we need a selector port, though that's certainly
>> a possibility. These plug-ins are pretty useless by themselves.
>> They're really only useful if another application will load them
>> (yes, you can use the GST command line tools, but how many users
>> really do that?).
>>
>
> Any way you choose, what you can't do is depend on a port with variable
> content by the presence of a file/library. This is the real thread.
>
> If this is a real plugin architecture, the ports may detect just what
> is
> installed.
>
> I also think that a port selector isn't needed.
>
> At last here, the safest and easy path seems:
>
> - Convert multimedia/gstreamer-plugin in a base plugin port with fixed
> content.
> * All that 'you really want' in the most basic install.
> The actual bento build must be a good base.
> * All that is critical enough to not safe build out of this.
> * Take off auto detection.
>
> - Add external ports to the rest.
What should the "most basic install" be? which plugins should it be
built with?
I've got most of the ports that work with gstreamer-plugins patched for
the new gstreamer-plugins and none want the exact same plugins.
Here's what I have so far..
gnomemedia2/Makefile:USE_GSTREAMER= cdparanoia
jamboree/Makefile:USE_GSTREAMER+= esound
jamboree/Makefile:USE_GSTREAMER+= mad vorbis
marlin/Makefile:USE_GSTREAMER= cdparanoia
rhythmbox/Makefile:GST_PLUGINS= musicbrainz gnomevfs flac mad
rhythmbox/Makefile:USE_GSTREAMER+= faad
rhythmbox/Makefile:USE_GSTREAMER+= ${GST_PLUGINS}
rhythmbox/Makefile:USE_GSTREAMER+= ${GST_PLUGINS}
rhythmbox/Makefile:USE_GSTREAMER+= vorbis
sound-juicer/Makefile:USE_GSTREAMER= cdparanoia vorbis flac lame
tunesbrowser/Makefile:USE_GSTREAMER= mad
tunesbrowser/Makefile:USE_GSTREAMER+= esound
nautilus-media/Makefile:USE_GSTREAMER= gnomevfs libpng vorbis mad flac
Michael
>>>> Splitting the port into multiple ports would give us the ability
>>>> to package any port. An obvious example of this is the upcoming
>>>> gnomemedia2 which will require CD Paranoia support in gst.
>>>>
>>>> The major disadvantage to this approach is the overwhelming
>>>> administrative burden it adds. It's a pain to test [py-]libxml2
>>>> and [py-]libxslt. I can't imagine what a gstreamer-plugins
>>>> update will do. For that reason, it might be nice to still have
>>>> the ability to test-build all plug-ins in a monolithic way
More information about the freebsd-gnome
mailing list