diff options
author | Zaheer Abbas Merali <zaheerm@gentoo.org> | 2005-04-30 10:26:13 +0000 |
---|---|---|
committer | Zaheer Abbas Merali <zaheerm@gentoo.org> | 2005-04-30 10:26:13 +0000 |
commit | 87781c9e34346573596c3ded274e26b07f67dc16 (patch) | |
tree | 2eccbee9d788199175c1bcd2f9b07f944ad9b271 /media-libs | |
parent | Added to ~ppc (diff) | |
download | gentoo-2-87781c9e34346573596c3ded274e26b07f67dc16.tar.gz gentoo-2-87781c9e34346573596c3ded274e26b07f67dc16.tar.bz2 gentoo-2-87781c9e34346573596c3ded274e26b07f67dc16.zip |
mark ~ppc-macos with plugin loading fix just for os x
(Portage version: 2.0.51.19)
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/gstreamer/ChangeLog | 7 | ||||
-rw-r--r-- | media-libs/gstreamer/Manifest | 13 | ||||
-rw-r--r-- | media-libs/gstreamer/files/gstreamer-0.8.9-fixpluginload.patch | 134 | ||||
-rw-r--r-- | media-libs/gstreamer/gstreamer-0.8.9-r3.ebuild | 7 |
4 files changed, 147 insertions, 14 deletions
diff --git a/media-libs/gstreamer/ChangeLog b/media-libs/gstreamer/ChangeLog index 9f7371379a5f..a57761367811 100644 --- a/media-libs/gstreamer/ChangeLog +++ b/media-libs/gstreamer/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for media-libs/gstreamer # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/gstreamer/ChangeLog,v 1.102 2005/04/29 22:52:34 gustavoz Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/gstreamer/ChangeLog,v 1.103 2005/04/30 10:26:13 zaheerm Exp $ + + 30 Apr 2005; Zaheer Abbas Merali <zaheerm@gentoo.org> + +files/gstreamer-0.8.9-fixpluginload.patch, gstreamer-0.8.9-r3.ebuild: + mark ~ppc-macos with plugin loading fix just for os x...works for all + platforms but only needed on os x 29 Apr 2005; Gustavo Zacarias <gustavoz@gentoo.org> gstreamer-0.8.9-r3.ebuild: diff --git a/media-libs/gstreamer/Manifest b/media-libs/gstreamer/Manifest index af96367947bd..e77f0b34d4a9 100644 --- a/media-libs/gstreamer/Manifest +++ b/media-libs/gstreamer/Manifest @@ -1,10 +1,7 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - MD5 ac832308ff65da62e5106207d991c87c gstreamer-0.8.1.ebuild 2182 MD5 fba41fba3e573b788bab61d24c36af1f gstreamer-0.8.9-r1.ebuild 2808 MD5 648d0d2817efa61471dc0c28ee7a27d9 gstreamer-0.8.8.ebuild 2193 -MD5 1ebae132c765e0ec3ae8b2f3bc2983f4 gstreamer-0.8.9-r3.ebuild 3010 +MD5 8827e8a5e013c2b5fbaa10edc24fcf6a gstreamer-0.8.9-r3.ebuild 3123 MD5 5e025d896f851f83d6fb44b6658b74a4 gstreamer-0.8.5.ebuild 2191 MD5 abf62d66d038341af9fd3f7baae1003a gstreamer-0.8.7.ebuild 2156 MD5 898c7bf46170e72b9e6945a6401aebab gstreamer-0.8.3-r1.ebuild 2287 @@ -24,10 +21,4 @@ MD5 3abab202e8f94756a8828e3af3bb7be5 files/digest-gstreamer-0.8.1 69 MD5 26c3b4e584edb9b835fbe421dc950ea3 files/digest-gstreamer-0.8.5 69 MD5 b37a41b09ac79fad924ab6233b4724f5 files/digest-gstreamer-0.8.7 69 MD5 825ffa19cfde6dde54aca626be3a8b11 files/digest-gstreamer-0.8.8 69 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.1 (GNU/Linux) - -iD8DBQFCcrq7KRy60XGEcJIRArMGAJ93+oeqrqDf0bZffByebcqsvfH+UACgmapj -eDu45uYuK5vFbrrlibih96I= -=OVKj ------END PGP SIGNATURE----- +MD5 5adc10998a8ad71887996272e5775022 files/gstreamer-0.8.9-fixpluginload.patch 3982 diff --git a/media-libs/gstreamer/files/gstreamer-0.8.9-fixpluginload.patch b/media-libs/gstreamer/files/gstreamer-0.8.9-fixpluginload.patch new file mode 100644 index 000000000000..e62488469b48 --- /dev/null +++ b/media-libs/gstreamer/files/gstreamer-0.8.9-fixpluginload.patch @@ -0,0 +1,134 @@ +--- gstreamer0.8-0.8.9/gst/gstplugin.c 2005-04-23 08:21:59.000000000 +1000 ++++ gstreamer0.8-0.8.9-patched/gst/gstplugin.c 2005-04-23 08:22:11.000000000 +1000 +@@ -302,6 +302,45 @@ + static void _gst_plugin_fault_handler_setup (); + + /** ++ * gst_plugin_check_module: ++ * @module: GModule handle to check for pluginness ++ * @error: pointer to a NULL-valued GError ++ * @pptr: pointer to a gpointer used to return the gst_plugin_desc symbol ++ * (can be NULL) ++ * ++ * Checks if the given module is a GStreamer plugin ++ * ++ * Returns: TRUE if the given module is a GStreamer plugin ++ */ ++static gboolean ++gst_plugin_check_module (GModule *module, const char *filename, GError **error, gpointer *pptr) ++{ ++ gpointer ptr; ++ ++ if (pptr == NULL) ++ pptr = &ptr; ++ ++ if (module == NULL) { ++ GST_DEBUG ("Error loading plugin %s, reason: %s", filename, ++ g_module_error ()); ++ g_set_error (error, GST_PLUGIN_ERROR, GST_PLUGIN_ERROR_MODULE, ++ "Error loading plugin %s, reason: %s", filename, g_module_error ()); ++ return FALSE; ++ } ++ ++ if (!g_module_symbol (module, "gst_plugin_desc", pptr)) { ++ GST_DEBUG ("Could not find plugin entry point in \"%s\"", filename); ++ g_set_error (error, ++ GST_PLUGIN_ERROR, ++ GST_PLUGIN_ERROR_MODULE, ++ "Could not find plugin entry point in \"%s\"", filename); ++ return FALSE; ++ } ++ ++ return TRUE; ++} ++ ++/** + * gst_plugin_check_file: + * @filename: the plugin filename to check for pluginness + * @error: pointer to a NULL-valued GError +@@ -315,7 +354,7 @@ + { + GModule *module; + struct stat file_status; +- gpointer ptr; ++ gboolean check; + + g_return_val_if_fail (filename != NULL, FALSE); + +@@ -335,28 +374,11 @@ + } + + module = g_module_open (filename, G_MODULE_BIND_LAZY); +- +- if (module == NULL) { +- GST_DEBUG ("Error loading plugin %s, reason: %s\n", filename, +- g_module_error ()); +- g_set_error (error, GST_PLUGIN_ERROR, GST_PLUGIN_ERROR_MODULE, +- "Error loading plugin %s, reason: %s\n", filename, g_module_error ()); +- return FALSE; +- } +- +- if (!g_module_symbol (module, "gst_plugin_desc", &ptr)) { +- GST_DEBUG ("Could not find plugin entry point in \"%s\"", filename); +- g_set_error (error, +- GST_PLUGIN_ERROR, +- GST_PLUGIN_ERROR_MODULE, +- "Could not find plugin entry point in \"%s\"", filename); +- g_module_close (module); +- return FALSE; +- } +- /* it's a plugin */ +- GST_INFO ("looks like a gst plugin \"%s\"", filename); ++ check = gst_plugin_check_module (module, filename, error, NULL); + g_module_close (module); +- return TRUE; ++ ++ GST_INFO ("file \"%s\" %s look like a gst plugin", filename, check ? "does" : "doesn't"); ++ return check; + } + + /** +@@ -382,16 +404,11 @@ + GST_CAT_DEBUG (GST_CAT_PLUGIN_LOADING, "attempt to load plugin \"%s\"", + filename); + +- if (!gst_plugin_check_file (filename, error)) +- return NULL; + + module = g_module_open (filename, G_MODULE_BIND_LAZY); + +- if (module == NULL) +- goto load_error; +- +- if (!g_module_symbol (module, "gst_plugin_desc", &ptr)) +- goto load_error; ++ if (!gst_plugin_check_module (module, filename, error, &ptr)) /* handles module == NULL case */ ++ return NULL; + + desc = (GstPluginDesc *) ptr; + +@@ -404,6 +421,7 @@ + } else { + free_plugin = FALSE; + if (gst_plugin_is_loaded (plugin)) { ++ g_module_close (module); + if (plugin->filename && strcmp (plugin->filename, filename) != 0) { + GST_WARNING + ("plugin %p from file \"%s\" with same name %s is already " +@@ -456,15 +474,11 @@ + GST_PLUGIN_ERROR, + GST_PLUGIN_ERROR_MODULE, + "gst_plugin_register_func failed for plugin \"%s\"", filename); ++ g_module_close (module); + if (free_plugin) + g_free (plugin); + return NULL; + } +-load_error: +- g_set_error (error, +- GST_PLUGIN_ERROR, +- GST_PLUGIN_ERROR_MODULE, "generic load error for \"%s\"", filename); +- return NULL; + } + + static void diff --git a/media-libs/gstreamer/gstreamer-0.8.9-r3.ebuild b/media-libs/gstreamer/gstreamer-0.8.9-r3.ebuild index 96864bb8645e..d339d14c845f 100644 --- a/media-libs/gstreamer/gstreamer-0.8.9-r3.ebuild +++ b/media-libs/gstreamer/gstreamer-0.8.9-r3.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/gstreamer/gstreamer-0.8.9-r3.ebuild,v 1.6 2005/04/29 22:52:34 gustavoz Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/gstreamer/gstreamer-0.8.9-r3.ebuild,v 1.7 2005/04/30 10:26:13 zaheerm Exp $ inherit eutils flag-o-matic libtool gnome2 flag-o-matic @@ -14,7 +14,7 @@ SRC_URI="http://gstreamer.freedesktop.org/src/gstreamer/${P}.tar.bz2" LICENSE="LGPL-2" SLOT=${PV_MAJ_MIN} -KEYWORDS="x86 ppc sparc ~alpha ~hppa amd64 ~ia64 ~mips ppc64 ~arm" +KEYWORDS="x86 ppc sparc ~alpha ~hppa amd64 ~ia64 ~mips ppc64 ~arm ~ppc-macos" IUSE="doc" RDEPEND=">=dev-libs/glib-2.2 @@ -40,6 +40,9 @@ src_unpack() { # fix queue locking bug - fixes bug #84864 cd ${S}/gst epatch ${FILESDIR}/${P}-gstqueue_lock.patch + # fix plugin loading on macos + cd ${S} + use ppc-macos && epatch ${FILESDIR}/${P}-fixpluginload.patch } |