mxcl/homebrew — pull request #14240 by chrisko (2012-08-16 19:45:53+00:00)
Title: Add formulas: libsoup, glib-networking, gsettings-desktop-schemas

Add [libsoup](https://live.gnome.org/LibSoup/) and two library dependencies, [glib-networking](http://git.gnome.org/browse/glib-networking/) and [gsettings-desktop-schemas](https://launchpad.net/gsettings-desktop-schemas/).
Also makes libsoup an optional dependency of gst-plugins-good, adding two additional Gstreamer plugins.

This is meant to address @jacknagel's concerns on #9729. Namely, it adheres to "one commit per formula, one formula per commit". A few earlier attempts at a libsoup formula (included here for reference) are #4778 and #10221.

### Background ###
[Gstreamer](http://gstreamer.freedesktop.org/) is an open source multimedia framework, offering a variety of [plugins](http://gstreamer.freedesktop.org/documentation/plugins.html) for the input, processing, and output of (mostly) audio and video data.

Many of the plugins (available in the gst-plugins-* formulas) work well on OS X, but so far there's no http source plugin (which would allow for direct input of media files hosted over HTTP). The best option is the [souphttpsrc plugin](http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-plugin-soup.html) in gst-plugins-good, which requires libsoup.

### Testing ###
All testing was done in Mountain Lion.
I use [this script](https://gist.github.com/3372843 "gst-http-source-test.rb") below to illustrate the application-level change.

*Before:*
`> brew install gstreamer gst-plugins-good`
`...`
`> gst-inspect | egrep "(http|Total)"`
`Total count: 104 plugins, 450 features`
`> ./gst-http-source-test.rb`
`Error: [#,`
`"gsturidecodebin.c(1285): GstElement *gen_source_element(GstURIDecodeBin *) ():`
`/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0"]`

*After:*
`> brew install gstreamer gst-plugins-good`
`...`
`> # (Notice how that command now installs libsoup.)`
`> gst-inspect | egrep "(http|Total)"`
`soup: souphttpsrc: HTTP client source`
`soup: souphttpclientsink: HTTP client sink`
`Total count: 105 plugins, 452 features`
`> ./gst-http-source-test.rb`
`Playing...`
`Done playing!`