diff options
-rw-r--r-- | packages/gail/gail_1.8.5.bb | 17 | ||||
-rw-r--r-- | packages/gnome/gnome-keyring_0.4.4.bb | 21 | ||||
-rw-r--r-- | packages/gnome/gnome-vfs-2.12.0/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/gnome/gnome-vfs-2.12.0/gconftool-lossage.patch | 11 | ||||
-rw-r--r-- | packages/gnome/gnome-vfs_2.12.0.bb | 88 | ||||
-rw-r--r-- | packages/gnome/libgnome_2.12.0.1.bb | 15 | ||||
-rw-r--r-- | packages/gnome/libgnomecanvas_2.12.0.bb | 16 | ||||
-rw-r--r-- | packages/gnome/libgnomeui_2.12.0.bb | 23 | ||||
-rw-r--r-- | packages/libglade/libglade-2.5.1/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/libglade/libglade-2.5.1/glade-cruft.patch | 100 | ||||
-rw-r--r-- | packages/libglade/libglade-2.5.1/no-xml2.patch | 499 | ||||
-rw-r--r-- | packages/libglade/libglade_2.5.1.bb | 33 | ||||
-rw-r--r-- | packages/libidl/libidl-native_0.8.6.bb | 5 | ||||
-rw-r--r-- | packages/libidl/libidl_0.8.6.bb | 23 | ||||
-rw-r--r-- | packages/libxslt/libxslt_1.1.8.bb | 45 |
15 files changed, 896 insertions, 0 deletions
diff --git a/packages/gail/gail_1.8.5.bb b/packages/gail/gail_1.8.5.bb new file mode 100644 index 0000000000..4bbd827da1 --- /dev/null +++ b/packages/gail/gail_1.8.5.bb @@ -0,0 +1,17 @@ +LICENSE = "LGPL" +SECTION = "x11/libs" +PR = "r0" +DESCRIPTION = "GNOME Accessibility Implementation Library" +DEPENDS = "gtk+ libgnomecanvas" + +inherit gnome + +EXTRA_OECONF = "--disable-gtk-doc" + +FILES_${PN} += "${libdir}/gtk+-2.0/modules/*.so" + +do_stage() { + gnome_stage_includes + oe_libinstall -C gail -so libgail ${STAGING_LIBDIR} + oe_libinstall -C libgail-util -so libgailutil ${STAGING_LIBDIR} +} diff --git a/packages/gnome/gnome-keyring_0.4.4.bb b/packages/gnome/gnome-keyring_0.4.4.bb new file mode 100644 index 0000000000..366e450c1d --- /dev/null +++ b/packages/gnome/gnome-keyring_0.4.4.bb @@ -0,0 +1,21 @@ +LICENSE = "GPL" +SECTION = "x11/gnome" +SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${PN}/0.4/${PN}-${PV}.tar.bz2" + +inherit autotools pkgconfig + +DEPENDS = "" + +EXTRA_OECONF = "--disable-gtk-doc" + +HEADERS = " \ +gnome-keyring.h \ +" + +do_stage() { + install -d ${STAGING_INCDIR}/gnome-keyring-1 + for i in ${HEADERS}; do + install -m 0644 $i ${STAGING_INCDIR}/gnome-keyring-1/$i + done + oe_libinstall -so libgnome-keyring ${STAGING_LIBDIR} +} diff --git a/packages/gnome/gnome-vfs-2.12.0/.mtn2git_empty b/packages/gnome/gnome-vfs-2.12.0/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/gnome/gnome-vfs-2.12.0/.mtn2git_empty diff --git a/packages/gnome/gnome-vfs-2.12.0/gconftool-lossage.patch b/packages/gnome/gnome-vfs-2.12.0/gconftool-lossage.patch new file mode 100644 index 0000000000..3dbc130ddc --- /dev/null +++ b/packages/gnome/gnome-vfs-2.12.0/gconftool-lossage.patch @@ -0,0 +1,11 @@ +--- gnome-vfs-2.6.0/configure.in~ 2004-03-22 12:36:23.000000000 +0000 ++++ gnome-vfs-2.6.0/configure.in 2004-06-07 16:04:34.000000000 +0100 +@@ -154,7 +154,7 @@ + AC_PATH_PROG(GCONFTOOL, gconftool-2, no) + + if test x"$GCONFTOOL" = xno; then +- AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf]) ++ AC_MSG_WARN([gconftool-2 executable not found in your path - should be installed with GConf]) + fi + + AM_GCONF_SOURCE_2 diff --git a/packages/gnome/gnome-vfs_2.12.0.bb b/packages/gnome/gnome-vfs_2.12.0.bb new file mode 100644 index 0000000000..bdc159302a --- /dev/null +++ b/packages/gnome/gnome-vfs_2.12.0.bb @@ -0,0 +1,88 @@ +LICENSE = "GPL" +PR = "r2" + +inherit gnome + +DEPENDS = "libxml2 gconf libbonobo bzip2 gnome-mime-data orbit2 zlib samba-3.0.14a" +RRECOMMENDS = "gnome-vfs-plugin-file gnome-mime-data shared-mime-info" + +SRC_URI += "file://gconftool-lossage.patch;patch=1;pnum=1" + +ORBIT_IDL_SRC = "${STAGING_BINDIR}/orbit-idl-2" + +FILES_${PN} += " ${libdir}/bonobo/servers ${libdir}/bonobo/monikers/*.so ${libdir}/vfs" +FILES_${PN}-dev += " ${libdir}/gnome-vfs-2.0/modules/*.a ${libdir}/gnome-vfs-2.0/modules/*.la ${libdir}/gnome-vfs-2.0/include ${libdir}/bonobo/monikers/*.a ${libdir}/bonobo/monikers/*.la" +FILES_${PN}-doc += " ${datadir}/gtk-doc" + +GNOME_VFS_HEADERS = " \ +gnome-vfs-mime-deprecated.h \ +gnome-vfs-address.h \ +gnome-vfs-dns-sd.h \ +gnome-vfs-mime-info-cache.h \ +gnome-vfs-resolve.h \ +gnome-vfs-utils.h \ +gnome-vfs-application-registry.h \ +gnome-vfs-async-ops.h \ +gnome-vfs-ops.h \ +gnome-vfs-uri.h \ +gnome-vfs-standard-callbacks.h \ +gnome-vfs-module-callback.h \ +gnome-vfs-context.h \ +gnome-vfs-file-info.h \ +gnome-vfs-directory.h \ +gnome-vfs-mime-monitor.h \ +gnome-vfs-mime-handlers.h \ +gnome-vfs-result.h \ +gnome-vfs-job-limit.h \ +gnome-vfs-file-size.h \ +gnome-vfs-mime-utils.h \ +gnome-vfs-find-directory.h \ +gnome-vfs-init.h \ +gnome-vfs-handle.h \ +gnome-vfs.h \ +gnome-vfs-cancellation.h \ +gnome-vfs-xfer.h \ +gnome-vfs-monitor.h \ +gnome-vfs-types.h \ +gnome-vfs-volume-monitor.h \ +gnome-vfs-drive.h \ +gnome-vfs-volume.h \ +gnome-vfs-enum-types.h" + +GNOME_VFS_MODULE_HEADERS = " \ +gnome-vfs-mime-info.h \ +gnome-vfs-transform.h \ +gnome-vfs-ssl.h \ +gnome-vfs-inet-connection.h \ +gnome-vfs-socket.h \ +gnome-vfs-parse-ls.h \ +gnome-vfs-method.h \ +gnome-vfs-cancellable-ops.h \ +gnome-vfs-module.h \ +gnome-vfs-module-shared.h \ +gnome-vfs-module-callback-module-api.h \ +gnome-vfs-mime.h \ +gnome-vfs-socket-buffer.h" + +do_compile() { + oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}" +} + +do_stage() { + oe_libinstall -so -C libgnomevfs libgnomevfs-2 ${STAGING_LIBDIR} + install -d ${STAGING_INCDIR}/gnome-vfs-2.0/libgnomevfs + for i in ${GNOME_VFS_HEADERS}; do install -m 0644 libgnomevfs/$i ${STAGING_INCDIR}/gnome-vfs-2.0/libgnomevfs/; done + install -d ${STAGING_INCDIR}/gnome-vfs-module-2.0/libgnomevfs + for i in ${GNOME_VFS_MODULE_HEADERS}; do install -m 0644 libgnomevfs/$i ${STAGING_INCDIR}/gnome-vfs-module-2.0/libgnomevfs/; done +} + +do_install() { + oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}" DESTDIR="${D}" install +} + +python populate_packages_prepend () { + print bb.data.getVar('FILES_gnome-vfs', d, 1) + + plugindir = bb.data.expand('${libdir}/gnome-vfs-2.0/modules/', d) + do_split_packages(d, plugindir, '^lib(.*)\.so$', 'gnome-vfs-plugin-%s', 'GNOME VFS plugin for %s') +} diff --git a/packages/gnome/libgnome_2.12.0.1.bb b/packages/gnome/libgnome_2.12.0.1.bb new file mode 100644 index 0000000000..0866b426c0 --- /dev/null +++ b/packages/gnome/libgnome_2.12.0.1.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "Gnome application programming libraries" +LICENSE = "GPL" +SECTION = "x11/gnome/libs" +PR = "r1" + +inherit gnome + +DEPENDS = "gconf-native gnome-vfs libbonobo" + +EXTRA_OECONF = "--disable-gtk-doc" + +do_stage() { + oe_libinstall -C libgnome -a -so libgnome-2 ${STAGING_LIBDIR} + gnome_stage_includes +} diff --git a/packages/gnome/libgnomecanvas_2.12.0.bb b/packages/gnome/libgnomecanvas_2.12.0.bb new file mode 100644 index 0000000000..36ee1aa67f --- /dev/null +++ b/packages/gnome/libgnomecanvas_2.12.0.bb @@ -0,0 +1,16 @@ +LICENSE = "GPL" +SECTION = "x11/gnome/libs" +PR = "r1" +DESCRIPTION = "A powerful object-oriented display" +inherit gnome + +DEPENDS = "gnome-vfs libbonobo libglade libart-lgpl" + +EXTRA_OECONF = "--disable-gtk-doc" + +FILES_${PN} += "${libdir}/libglade/*/libcanvas.so" + +do_stage() { + gnome_stage_includes + oe_libinstall -C libgnomecanvas -a -so libgnomecanvas-2 ${STAGING_LIBDIR} +} diff --git a/packages/gnome/libgnomeui_2.12.0.bb b/packages/gnome/libgnomeui_2.12.0.bb new file mode 100644 index 0000000000..844d91b1fd --- /dev/null +++ b/packages/gnome/libgnomeui_2.12.0.bb @@ -0,0 +1,23 @@ +LICENSE = "GPL" +SECTION = "x11/gnome/libs" +PR = "r1" +DEPENDS = "libgnome libgnomecanvas libbonoboui gnome-keyring" +DESCRIPTION = "GNOME User Interface Library" + +FILES_${PN} += "${libdir}/gtk-2.0/*/filesystems/lib*.so \ + ${libdir}/libglade/*/lib*.so" + +inherit gnome + +SRC_URI += "file://gnome-stock-pixbufs.h file://no-pixbuf-csource.patch;patch=1" + +EXTRA_OECONF = "--disable-gtk-doc" + +do_configure_prepend() { + install -m 0644 ${WORKDIR}/gnome-stock-pixbufs.h ${S}/libgnomeui/pixmaps/gnome-stock-pixbufs.h +} + +do_stage() { + gnome_stage_includes + oe_libinstall -C libgnomeui -a -so libgnomeui-2 ${STAGING_LIBDIR} +} diff --git a/packages/libglade/libglade-2.5.1/.mtn2git_empty b/packages/libglade/libglade-2.5.1/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/libglade/libglade-2.5.1/.mtn2git_empty diff --git a/packages/libglade/libglade-2.5.1/glade-cruft.patch b/packages/libglade/libglade-2.5.1/glade-cruft.patch new file mode 100644 index 0000000000..0fceccf0c4 --- /dev/null +++ b/packages/libglade/libglade-2.5.1/glade-cruft.patch @@ -0,0 +1,100 @@ +diff -ur libglade-2.4.0~/configure.in libglade-2.4.0/configure.in +--- libglade-2.4.0~/configure.in 2004-05-17 12:38:31.000000000 +0100 ++++ libglade-2.4.0/configure.in 2004-07-28 16:53:09.000000000 +0100 +@@ -147,6 +147,18 @@ + AM_CONDITIONAL(HAVE_PYTHON, $have_python) + AC_SUBST(PYTHON) + ++AC_MSG_CHECKING([for cruft in libgtk]) ++AC_TRY_LINK([ ++#include <gtk/gtk.h> ++#include <stdio.h> ++], [ gtk_tree_get_type (); return 0; ], ++ [ AC_MSG_RESULT(yes) ++ have_cruft=yes ], ++ [ AC_MSG_RESULT(no) ++ AC_DEFINE(DISABLE_CRUFT,,[leave out support for old, broken widgets]) ++ have_cruft=no ]) ++AC_SUBST(DISABLE_CRUFT) ++ + dnl add debugging options ... + changequote(,)dnl + if test "x$GCC" = xyes; then +Only in libglade-2.4.0: configure.in.orig +diff -ur libglade-2.4.0~/glade/glade-gtk.c libglade-2.4.0/glade/glade-gtk.c +--- libglade-2.4.0~/glade/glade-gtk.c 2004-03-13 13:47:35.000000000 +0000 ++++ libglade-2.4.0/glade/glade-gtk.c 2004-07-28 16:53:52.000000000 +0100 +@@ -213,6 +213,8 @@ + gtk_clist_column_titles_hide (GTK_CLIST (w)); + } + ++#ifndef DISABLE_CRUFT ++ + static void + tree_set_selection_mode (GladeXML *xml, GtkWidget *w, + const char *name, const char *value) +@@ -238,6 +240,8 @@ + gtk_tree_set_view_lines (GTK_TREE (w), BOOL (value)); + } + ++#endif ++ + static void + list_set_selection_mode (GladeXML *xml, GtkWidget *w, + const char *name, const char *value) +@@ -254,6 +258,7 @@ + gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (w), BOOL (value)); + } + ++#ifndef DISABLE_CRUFT + static void + text_set_text (GladeXML *xml, GtkWidget *w, + const char *name, const char *value) +@@ -262,6 +267,7 @@ + + gtk_editable_insert_text (GTK_EDITABLE (w), value, -1, &pos); + } ++#endif + + static void + radio_menu_item_set_group (GladeXML *xml, GtkWidget *w, +@@ -1125,13 +1131,17 @@ + glade_register_custom_prop (GTK_TYPE_CLIST, "selection_mode", clist_set_selection_mode); + glade_register_custom_prop (GTK_TYPE_CLIST, "shadow_type", clist_set_shadow_type); + glade_register_custom_prop (GTK_TYPE_CLIST, "show_titles", clist_set_show_titles); ++#ifndef DISABLE_CRUFT + glade_register_custom_prop (GTK_TYPE_TREE, "selection_mode", tree_set_selection_mode); + glade_register_custom_prop (GTK_TYPE_TREE, "view_mode", tree_set_view_mode); + glade_register_custom_prop (GTK_TYPE_TREE, "view_line", tree_set_view_line); ++#endif + glade_register_custom_prop (GTK_TYPE_LIST, "selection_mode", list_set_selection_mode); + glade_register_custom_prop (GTK_TYPE_CHECK_MENU_ITEM, "always_show_toggle", + check_menu_item_set_always_show_toggle); ++#ifndef DISABLE_CRUFT + glade_register_custom_prop (GTK_TYPE_TEXT, "text", text_set_text); ++#endif + glade_register_custom_prop (GTK_TYPE_RADIO_MENU_ITEM, "group", + radio_menu_item_set_group); + glade_register_custom_prop (GTK_TYPE_TOOLBAR, "tooltips", toolbar_set_tooltips); +@@ -1288,8 +1298,10 @@ + glade_standard_build_children, NULL); + glade_register_widget (GTK_TYPE_TEAROFF_MENU_ITEM, glade_standard_build_widget, + NULL, NULL); ++#ifndef DISABLE_CRUFT + glade_register_widget (GTK_TYPE_TEXT, glade_standard_build_widget, + NULL, NULL); ++#endif + glade_register_widget (GTK_TYPE_TEXT_VIEW, glade_standard_build_widget, + NULL, NULL); + glade_register_widget (GTK_TYPE_TIPS_QUERY, glade_standard_build_widget, +@@ -1304,8 +1316,10 @@ + glade_standard_build_children, NULL); + glade_register_widget (GTK_TYPE_TOOL_BUTTON, glade_standard_build_widget, + NULL, NULL); ++#ifndef DISABLE_CRUFT + glade_register_widget (GTK_TYPE_TREE, glade_standard_build_widget, + NULL, NULL); ++#endif + glade_register_widget (GTK_TYPE_TREE_VIEW, glade_standard_build_widget, + NULL, NULL); + glade_register_widget (GTK_TYPE_VBUTTON_BOX, glade_standard_build_widget, diff --git a/packages/libglade/libglade-2.5.1/no-xml2.patch b/packages/libglade/libglade-2.5.1/no-xml2.patch new file mode 100644 index 0000000000..1c2e215b8d --- /dev/null +++ b/packages/libglade/libglade-2.5.1/no-xml2.patch @@ -0,0 +1,499 @@ +diff -urN libglade-2.4.2.orig/configure.in libglade-2.4.2/configure.in +--- libglade-2.4.2.orig/configure.in 2005-02-11 12:42:58.000000000 +0100 ++++ libglade-2.4.2/configure.in 2005-03-22 01:22:00.000000000 +0100 +@@ -52,11 +52,33 @@ + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + + PKG_CHECK_MODULES(LIBGLADE, [dnl +- libxml-2.0 >= required_libxml_version dnl + atk >= required_atk_version dnl + gtk+-2.0 >= required_gtk_version dnl + glib-2.0 >= required_glib_version]) + ++disable_xml2=no ++AC_ARG_WITH([libxml2], ++ AC_HELP_STRING([--without-libxml2], [Don't use libxml2, use Glib's GMarkupParser instead]), ++ [disable_xml2=yes], ++ [disable_xml2=no]) ++ ++AC_MSG_CHECKING([if we are using libxml2]) ++if test "x$disable_xml2" == "xno"; then ++ AC_MSG_RESULT(yes) ++ PKG_CHECK_MODULES(XML2, libxml-2.0 >= 2.4.10) ++ PKGCFG_REQUIRE_LIBXML2="libxml-2.0" ++ LIBGLADE_CFLAGS="$LIBGLADE_CFLAGS $XML2_CFLAGS" ++ LIBGLADE_LIBS="$LIBGLADE_LIBS $XML2_LIBS" ++else ++ LIBGLADE_CFLAGS="$LIBGLADE_CFLAGS -DUSE_GMARKUP_PARSER" ++ PKGCFG_REQUIRE_LIBXML2="" ++ AC_MSG_RESULT(no) ++fi ++ ++AC_SUBST(XML2_LIBS) ++AC_SUBST(XML2_CFLAGS) ++AC_SUBST(PKGCFG_REQUIRE_LIBXML2) ++ + AC_MSG_CHECKING([for native Win32]) + case "$host" in + *-*-mingw*) +@@ -116,6 +138,21 @@ + fi + fi + ++if test "x$disable_xml2" == "xyes"; then ++ echo "*****************************************************" ++ echo " You chose to disable libxml2 and use Glib's" ++ echo " GMarkupParser instead." ++ echo ++ echo " Please bear in mind that using libglade with" ++ echo " GMarkupParser is an experimental feature only." ++ echo ++ echo " Please post problems or success stories to" ++ echo " the glade-devel mailing list. Thank you." ++ echo "*****************************************************" ++fi ++ ++ ++ + GTK_DOC_CHECK(1.0) + + dnl gettext stuff ... there is no message catalog for libglade -- libglade +diff -urN libglade-2.4.2.orig/glade/glade-parser.c libglade-2.4.2/glade/glade-parser.c +--- libglade-2.4.2.orig/glade/glade-parser.c 2004-11-11 11:56:13.000000000 +0100 ++++ libglade-2.4.2/glade/glade-parser.c 2005-03-22 01:20:00.000000000 +0100 +@@ -34,7 +34,15 @@ + # define dgettext(Domain, String) (String) + #endif + +-#include <libxml/parser.h> ++#ifdef USE_GMARKUP_PARSER ++# include <zlib.h> ++#else ++# include <libxml/parser.h> ++#endif ++ ++#ifdef USE_GMARKUP_PARSER ++# define xmlChar gchar ++#endif + + #include "glade-parser.h" + #include "glade-private.h" +@@ -508,7 +516,9 @@ + case PARSER_START: + if (!strcmp(name, "glade-interface")) { + state->state = PARSER_GLADE_INTERFACE; +-#if 0 ++ ++#ifndef USE_GMARKUP_PARSER ++ #if 0 + /* check for correct XML namespace */ + for (i = 0; attrs && attrs[i] != NULL; i += 2) { + if (!strcmp(attrs[i], "xmlns") && +@@ -518,7 +528,9 @@ + g_warning("unknown attribute `%s' for <glade-interface>", + attrs[i]); + } ++ #endif + #endif ++ + } else { + g_warning("Expected <glade-interface>. Got <%s>.", name); + state->prev_state = state->state; +@@ -1063,12 +1075,18 @@ + } + } + ++#ifndef USE_GMARKUP_PARSER ++ + static xmlEntityPtr + glade_parser_get_entity(GladeParseState *state, const xmlChar *name) + { + return xmlGetPredefinedEntity(name); + } + ++#endif /* !defined(USE_GMARKUP_PARSER) */ ++ ++#ifndef USE_GMARKUP_PARSER ++ + static void + glade_parser_warning(GladeParseState *state, const char *msg, ...) + { +@@ -1079,6 +1097,10 @@ + va_end(args); + } + ++#endif /* !defined(USE_GMARKUP_PARSER) */ ++ ++#ifndef USE_GMARKUP_PARSER ++ + static void + glade_parser_error(GladeParseState *state, const char *msg, ...) + { +@@ -1089,6 +1111,10 @@ + va_end(args); + } + ++#endif /* !defined(USE_GMARKUP_PARSER) */ ++ ++#ifndef USE_GMARKUP_PARSER ++ + static void + glade_parser_fatal_error(GladeParseState *state, const char *msg, ...) + { +@@ -1099,6 +1125,10 @@ + va_end(args); + } + ++#endif /* !defined(USE_GMARKUP_PARSER) */ ++ ++#ifndef USE_GMARKUP_PARSER ++ + static xmlSAXHandler glade_parser = { + (internalSubsetSAXFunc)NULL, /* internalSubset */ + (isStandaloneSAXFunc)NULL, /* isStandalone */ +@@ -1126,6 +1156,82 @@ + (fatalErrorSAXFunc)glade_parser_fatal_error, /* fatalError */ + }; + ++#else /* USE_GMARKUP_PARSER */ ++ ++static void ++glade_parser_start_element_wrapper(GMarkupParseContext *context, ++ const gchar *name, ++ const gchar **attr_names, ++ const gchar **attr_values, ++ gpointer state, ++ GError **error) ++{ ++ guint i = 0; ++ ++ /* Pack attribute names/values from two separate ++ * arrays (GMarkupParser style) into one single ++ * array (libxml SAXParser style). This is not ++ * very efficient, but we do it to make the ++ * GMarkupParser code as little invasive as ++ * possible. */ ++ ++ while (attr_names[i] != NULL) { ++ ++i; ++ } ++ ++ if (1) ++ { ++ const gchar *attr[(i*2)+1]; ++ guint j, k; ++ ++ for (j=0, k=0; k < i; j += 2) ++ { ++ attr[j] = attr_names[k]; ++ attr[j+1] = attr_values[k]; ++ ++k; ++ } ++ attr[i*2] = NULL; ++ ++ glade_parser_start_element((GladeParseState*)state, name, attr); ++ } ++} ++ ++static void ++glade_parser_end_element_wrapper(GMarkupParseContext *context, ++ const gchar *name, ++ gpointer state, ++ GError **err) ++{ ++ glade_parser_end_element((GladeParseState*)state, name); ++} ++ ++static void ++glade_parser_characters_wrapper(GMarkupParseContext *context, ++ const gchar *chars, ++ gsize len, ++ gpointer state, ++ GError **err) ++{ ++ glade_parser_characters((GladeParseState*)state, chars, (int) len); ++} ++ ++static void ++glade_parser_error(GMarkupParseContext *context, GError *err, gpointer data) ++{ ++ g_log("Glade-Parser", G_LOG_LEVEL_CRITICAL, "%s", err->message); ++} ++ ++static const GMarkupParser glade_parser = { ++ glade_parser_start_element_wrapper, /* element open */ ++ glade_parser_end_element_wrapper, /* element close */ ++ glade_parser_characters_wrapper, /* text content */ ++ NULL, /* passthrough */ ++ glade_parser_error, /* parse error */ ++}; ++ ++#endif /* USE_GMARKUP_PARSER */ ++ ++ + static void + widget_info_free(GladeWidgetInfo *info) + { +@@ -1191,6 +1297,9 @@ + * + * Returns: the GladeInterface structure for the XML file. + */ ++ ++#ifndef USE_GMARKUP_PARSER ++ + GladeInterface * + glade_parser_parse_file(const gchar *file, const gchar *domain) + { +@@ -1222,6 +1331,31 @@ + return state.interface; + } + ++#else /* defined(USE_GMARKUP_PARSER) */ ++ ++GladeInterface * ++glade_parser_parse_file(const gchar *file, const gchar *domain) ++{ ++ GladeInterface *interface; ++ GError *err = NULL; ++ gchar *content = NULL; ++ gsize clen; ++ ++ if (!g_file_get_contents(file, &content, &clen, &err)) { ++ g_warning("could not load glade file: %s", err->message); ++ g_error_free(err); ++ return NULL; ++ } ++ ++ interface = glade_parser_parse_buffer(content, (gint) clen, domain); ++ ++ g_free(content); ++ ++ return interface; ++} ++ ++#endif /* USE_GMARKUP_PARSER */ ++ + /** + * glade_parser_parse_buffer + * @buffer: a buffer in memory containing XML data. +@@ -1237,6 +1371,9 @@ + * + * Returns: the GladeInterface structure for the XML buffer. + */ ++ ++#ifndef USE_GMARKUP_PARSER ++ + GladeInterface * + glade_parser_parse_buffer(const gchar *buffer, gint len, const gchar *domain) + { +@@ -1263,6 +1400,161 @@ + return state.interface; + } + ++#else /* defined(USE_GMARKUP_PARSER) */ ++ ++ ++static GladeInterface * ++glade_parser_parse_buffer_internal(const gchar *buffer, gint len, const gchar *domain) ++{ ++ GMarkupParseContext *context; ++ GladeParseState state = { 0 }; ++ GError *err = NULL; ++ ++ state.interface = NULL; ++ if (domain) ++ state.domain = domain; ++ else ++ state.domain = textdomain(NULL); ++ ++ /* FIXME: This strstr() is not safe, as it ignores the len ++ * argument and assumes the buffer is NUL-terminated */ ++ if (strstr(buffer, "<?xml") == NULL) { ++ g_warning("No XML header found in document!"); ++ return NULL; ++ } ++ ++ context = g_markup_parse_context_new(&glade_parser, (GMarkupParseFlags) 0, &state, NULL); ++ ++ glade_parser_start_document(&state); ++ ++ if (!g_markup_parse_context_parse(context, buffer, (gssize) len, &err)) { ++ g_warning("document not well formed: %s", err->message); ++ g_error_free(err); ++ if (state.interface) ++ glade_interface_destroy (state.interface); ++ return NULL; ++ } ++ ++ glade_parser_end_document(&state); ++ ++ if (state.state != PARSER_FINISH) { ++ g_warning("did not finish in PARSER_FINISH state!"); ++ ++ if (state.interface) ++ glade_interface_destroy(state.interface); ++ ++ return NULL; ++ } ++ ++ return state.interface; ++} ++ ++struct _gzip_rfc1952_hdr ++{ ++ guint8 id1, id2, cm, flags; ++ guint32 mtime; ++ guint8 xflags; ++ guint8 os; ++}; ++ ++static GladeInterface * ++glade_parser_parse_gzipped_buffer(const gchar *buffer, gint len, const gchar *domain) ++{ ++ struct _gzip_rfc1952_hdr *hdr = (struct _gzip_rfc1952_hdr*)buffer; ++ struct z_stream_s zstream; ++ GladeInterface *interface; ++ const guint8 *cbuf; /* start of compressed data */ ++ guint8 *decompress_buf; ++ gulong decompress_len = 0; ++ gint ret; ++ ++ g_assert(hdr != NULL && hdr->id1 == 0x1f && hdr->id2 == 0x8b); ++ ++ if (hdr->cm != Z_DEFLATED) { ++ g_warning("Unknown decompression method %u", (guint) hdr->cm); ++ return NULL; ++ } ++ ++ /* Uncompressed size (modulo 2^32) is last ++ * 4 bytes of gzipped file, and little endian. ++ * See RFC 1952 */ ++ decompress_len = GUINT32_FROM_LE(*((guint32*)(((guint8*)buffer) + len - 4))); ++ ++ /* paranoid mode: glade files > 5MB are unlikely */ ++ g_return_val_if_fail(decompress_len < 5*1024*1024, NULL); ++ ++ decompress_buf = g_malloc0(decompress_len + 1); /* +1 for NUL-terminator */ ++ ++ /* find start of compressed data, skipping header stuff */ ++ cbuf = (guint8*)buffer + 10; ++ if (hdr->flags & 0x04) { ++ guint16 xlen = GUINT16_FROM_LE(*((guint16*)cbuf)); ++ cbuf += xlen + 2; ++ } ++ if (hdr->flags & 0x08) { ++ guint16 onamelen = strlen(cbuf); ++ cbuf += onamelen + 1; ++ } ++ if (hdr->flags & 0x10) { ++ guint16 commentlen = strlen(cbuf); ++ cbuf += commentlen + 1; ++ } ++ if (hdr->flags & 0x02) ++ { ++ cbuf += 2; /* skip header CRC16 */ ++ } ++ ++ zstream.next_in = (void*)cbuf; ++ zstream.avail_in = (uLongf) len - ((void*)cbuf-(void*)buffer) - 4 - 4 +1; ++ zstream.next_out = decompress_buf; ++ zstream.avail_out= decompress_len; ++ zstream.zalloc = Z_NULL; ++ zstream.zfree = Z_NULL; ++ zstream.opaque = Z_NULL; ++ ++ ret = inflateInit2(&zstream, -MAX_WBITS); ++ ++ if (ret != Z_OK) { ++ g_warning("inflateInit2() failed. zlib error code: %d", ret); ++ g_free(decompress_buf); ++ return NULL; ++ } ++ ++ ret = inflate(&zstream, Z_FINISH); ++ ++ if (ret != Z_STREAM_END) { ++ g_warning("zlib decompression failed. zlib error code: %d", ret); ++ g_free(decompress_buf); ++ return NULL; ++ } ++ ++ interface = glade_parser_parse_buffer_internal(decompress_buf, decompress_len, domain); ++ ++ g_free(decompress_buf); ++ ++ return interface; ++} ++ ++GladeInterface * ++glade_parser_parse_buffer(const gchar *buffer, gint len, const gchar *domain) ++{ ++ g_return_val_if_fail(buffer != NULL, NULL); ++ g_return_val_if_fail(len > 0, NULL); ++ ++ /* Check if buffer is gzipped */ ++ if (buffer[0] == 0x1f && buffer[1] == (gchar)0x8b) { ++ return glade_parser_parse_gzipped_buffer(buffer, len, domain); ++ } ++ ++ /* Buffer is cleartext. */ ++ return glade_parser_parse_buffer_internal(buffer, len, domain); ++} ++ ++#endif /* USE_GMARKUP_PARSER */ ++ ++ ++#ifndef USE_GMARKUP_PARSER ++ + static void + dump_widget(xmlNode *parent, GladeWidgetInfo *info, gint indent) + { +@@ -1382,6 +1674,8 @@ + xmlNodeAddContent(widget, " "); + } + ++#endif /* !defined(USE_GMARKUP_PARSER) */ ++ + /** + * glade_interface_dump + * @interface: the GladeInterface +@@ -1390,6 +1684,9 @@ + * This function dumps the contents of a GladeInterface into a file as + * XML. It is intended mainly as a debugging tool. + */ ++ ++#ifndef USE_GMARKUP_PARSER ++ + void + glade_interface_dump(GladeInterface *interface, const gchar *filename) + { +@@ -1428,6 +1725,17 @@ + xmlFreeDoc(doc); + } + ++#else /* defined(USE_GMARKUP_PARSER) */ ++ ++void ++glade_interface_dump(GladeInterface *interface, const gchar *filename) ++{ ++ g_warning("glade_interface_dump() is only available with libxml2."); ++} ++ ++#endif /* USE_GMARKUP_PARSER */ ++ ++ + #if 0 + int + main(int argc, char **argv) { +diff -urN libglade-2.4.2.orig/libglade-2.0.pc.in libglade-2.4.2/libglade-2.0.pc.in +--- libglade-2.4.2.orig/libglade-2.0.pc.in 2001-12-12 15:28:23.000000000 +0100 ++++ libglade-2.4.2/libglade-2.0.pc.in 2005-03-22 01:20:00.000000000 +0100 +@@ -11,7 +11,7 @@ + Name: Libglade + Description: a library for dynamically loading GLADE interface files + Version: @VERSION@ +-Requires: gtk+-2.0 libxml-2.0 ++Requires: gtk+-2.0 @PKGCFG_REQUIRE_LIBXML2@ + Libs: -L${libdir} -lglade-2.0 + Cflags: -I${includedir}/libglade-2.0 + diff --git a/packages/libglade/libglade_2.5.1.bb b/packages/libglade/libglade_2.5.1.bb new file mode 100644 index 0000000000..f7f75e501d --- /dev/null +++ b/packages/libglade/libglade_2.5.1.bb @@ -0,0 +1,33 @@ +LICENSE = "LGPL" +DESCRIPTION = "Runtime support for GTK interface builder" +SECTION = "libs" +PRIORITY = "optional" +DEPENDS = "gtk+ gtk-doc" +MAINTAINER = "Phil Blundell <pb@handhelds.org>" + +inherit autotools pkgconfig gnome + +PR = "r0" + +SRC_URI += "file://glade-cruft.patch;patch=1 file://no-xml2.patch;patch=1" + +EXTRA_OECONF += "--without-libxml2" + +CFLAGS += "-lz" + +PACKAGES += " ${PN}-data" +FILES_${PN} = "${libdir}/lib*.so.*" +FILES_${PN}-data = "${datadir}/xml/libglade/glade-2.0.dtd" +FILES_${PN}-dev += "${bindir}/libglade-convert" +#RDEPENDS_${PN} = "${PN}-data" + +headers = "glade-build.h glade-init.h glade-parser.h glade-xml.h glade.h" + +do_stage () { + oe_libinstall -a -so -C glade libglade-2.0 ${STAGING_LIBDIR} + + mkdir -p ${STAGING_INCDIR}/libglade-2.0/glade + for i in ${headers}; do + install -m 0644 ${S}/glade/$i ${STAGING_INCDIR}/libglade-2.0/glade/$i + done +} diff --git a/packages/libidl/libidl-native_0.8.6.bb b/packages/libidl/libidl-native_0.8.6.bb new file mode 100644 index 0000000000..bcc1ec61a8 --- /dev/null +++ b/packages/libidl/libidl-native_0.8.6.bb @@ -0,0 +1,5 @@ +SECTION = "libs" +include libidl_${PV}.bb +inherit native + +DEPENDS = "glib-2.0-native" diff --git a/packages/libidl/libidl_0.8.6.bb b/packages/libidl/libidl_0.8.6.bb new file mode 100644 index 0000000000..5a6f5800d6 --- /dev/null +++ b/packages/libidl/libidl_0.8.6.bb @@ -0,0 +1,23 @@ +LICENSE = "LGPL" +DESCRIPTION = "Library for parsing CORBA IDL files" +SECTION = "gnome/libs" +DEPENDS = "glib-2.0" +PR = "r1" + +SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libIDL/0.8/libIDL-${PV}.tar.bz2" +S = "${WORKDIR}/libIDL-${PV}" + +inherit autotools pkgconfig + +do_stage() { + oe_runmake install \ + prefix=${STAGING_DIR} \ + bindir=${STAGING_BINDIR} \ + includedir=${STAGING_INCDIR} \ + libdir=${STAGING_LIBDIR} \ + datadir=${STAGING_DATADIR} \ + infodir=${STAGING_INFODIR} +} + +FILES_${PN} = "${libdir}/*.so.*" +FILES_${PN}-dev += " ${bindir}" diff --git a/packages/libxslt/libxslt_1.1.8.bb b/packages/libxslt/libxslt_1.1.8.bb new file mode 100644 index 0000000000..81d4fddead --- /dev/null +++ b/packages/libxslt/libxslt_1.1.8.bb @@ -0,0 +1,45 @@ +PR = "r1" +DESCRIPTION = "GNOME XSLT library" +SECTION = "libs" +PRIORITY = "optional" +MAINTAINER = "Chris Larson <kergoth@handhelds.org>" +DEPENDS = "libxml2" +LICENSE = "MIT" +PACKAGES = "${PN}-dev ${PN}-utils ${PN} ${PN}-doc ${PN}-locale" + +FILES_${PN}-dev += "${bindir}/xslt-config" +FILES_${PN}-utils += "${bindir}" + +SRC_URI = "http://xmlsoft.org/sources/old/libxslt-${PV}.tar.gz" +S = "${WORKDIR}/libxslt-${PV}" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--without-python --without-debug --without-mem-debug" + +xsltheaders = "attributes.h documents.h extensions.h extra.h functions.h imports.h \ + keys.h namespaces.h numbersInternals.h pattern.h preproc.h security.h \ + templates.h transform.h variables.h xslt.h xsltInternals.h xsltconfig.h \ + xsltexports.h xsltutils.h" +exsltheaders = "exslt.h exsltconfig.h exsltexports.h" + +do_stage () { + oe_libinstall -C libxslt -so -a libxslt ${STAGING_LIBDIR} + oe_libinstall -C libexslt -so -a libexslt ${STAGING_LIBDIR} + + mkdir -p ${STAGING_INCDIR}/libxslt + for i in ${xsltheaders}; do + install -m 0644 ${S}/libxslt/$i ${STAGING_INCDIR}/libxslt/$i + done + mkdir -p ${STAGING_INCDIR}/libexslt + for i in ${exsltheaders}; do + install -m 0644 ${S}/libexslt/$i ${STAGING_INCDIR}/libexslt/$i + done + + cat xslt-config | sed -e "s,^prefix=.*,prefix=${STAGING_BINDIR}/..," \ + -e "s,^exec_prefix=.*,exec_prefix=${STAGING_BINDIR}/..," \ + -e "s,^includedir=.*,includedir=${STAGING_INCDIR}," \ + -e "s,^libdir=.*,libdir=${STAGING_LIBDIR}," > ${STAGING_BINDIR}/xslt-config + chmod a+rx ${STAGING_BINDIR}/xslt-config + install -m 0644 libxslt.m4 ${STAGING_DATADIR}/aclocal/ +} |