diff options
Diffstat (limited to 'recipes/libmatchbox')
-rw-r--r-- | recipes/libmatchbox/files/16bppfixes-2.patch | 258 | ||||
-rw-r--r-- | recipes/libmatchbox/files/16bppfixes.patch | 36 | ||||
-rw-r--r-- | recipes/libmatchbox/files/autofoo.patch | 19 | ||||
-rw-r--r-- | recipes/libmatchbox/files/check.m4 | 133 | ||||
-rw-r--r-- | recipes/libmatchbox/files/configure_fixes.patch | 79 | ||||
-rw-r--r-- | recipes/libmatchbox/files/fix-configure-for-1.9.patch | 14 | ||||
-rw-r--r-- | recipes/libmatchbox/files/reset-sigchld.patch | 15 | ||||
-rw-r--r-- | recipes/libmatchbox/files/svn-autofu-xsettings.patch | 132 | ||||
-rw-r--r-- | recipes/libmatchbox/files/svn-code-misc-xsettings.patch | 101 | ||||
-rw-r--r-- | recipes/libmatchbox/files/svn-explicit-types.patch | 363 | ||||
-rw-r--r-- | recipes/libmatchbox/libmatchbox.inc | 23 | ||||
-rw-r--r-- | recipes/libmatchbox/libmatchbox_1.9.bb | 14 |
12 files changed, 1187 insertions, 0 deletions
diff --git a/recipes/libmatchbox/files/16bppfixes-2.patch b/recipes/libmatchbox/files/16bppfixes-2.patch new file mode 100644 index 0000000000..ab9cdc74a5 --- /dev/null +++ b/recipes/libmatchbox/files/16bppfixes-2.patch @@ -0,0 +1,258 @@ +--- libmatchbox/libmb/mbpixbuf.c.orig 2007-05-04 14:41:55.000000000 +0100 ++++ libmatchbox/libmb/mbpixbuf.c 2007-05-04 14:41:55.000000000 +0100 +@@ -710,46 +710,19 @@ + return colnum; + } + +- +-static unsigned long +-mb_pixbuf_get_pixel(MBPixbuf *pb, int r, int g, int b, int a) ++/* ++ * Split the mb_pixbuf_get_pixel() function into several specialized ++ * functions which we will inline; this allows us to optimize ++ * mb_pixbuf_img_render_to_drawable_with_gc () by taking some of the ++ * decision taking outside of the double loop ++ */ ++ ++/* ++ * Get pixel value for rgb values and pixel depth <= 8 ++ */ ++static inline unsigned long ++mb_pixbuf_get_pixel_le8_rgb (MBPixbuf *pb, int r, int g, int b) + { +- if (pb->depth > 8) +- { +- switch (pb->depth) +- { +- case 15: +- return ((r & 0xf8) << 7) | ((g & 0xf8) << 2) | ((b & 0xf8) >> 3); +- case 16: +- return ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | ((b & 0xf8) >> 3); +- case 24: +- case 32: +- switch (pb->byte_order) +- { +- case BYTE_ORD_24_RGB: +- return ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); +- case BYTE_ORD_24_RBG: +- return ((r & 0xff) << 16) | ((b & 0xff) << 8) | (g & 0xff); +- case BYTE_ORD_24_BRG: +- return ((b & 0xff) << 16) | ((r & 0xff) << 8) | (g & 0xff); +- case BYTE_ORD_24_BGR: +- return ((b & 0xff) << 16) | ((g & 0xff) << 8) | (r & 0xff); +- case BYTE_ORD_24_GRB: +- return ((g & 0xff) << 16) | ((r & 0xff) << 8) | (b & 0xff); +- case BYTE_ORD_24_GBR: +- return ((g & 0xff) << 16) | ((b & 0xff) << 8) | (r & 0xff); +- case BYTE_ORD_32_ARGB: +- return (a << 24) | (r << 16) | (g << 8) | b; +- default: +- return 0; +- } +- default: +- return 0; +- } +- return 0; +- } +- +- /* pb->depth <= 8 */ + switch(pb->vis->class) + { + case PseudoColor: +@@ -794,6 +767,111 @@ + return 0; + } + ++/* ++ * Get pixel value from a pointer to 16bbp value for pixel depth <= 8 ++ * and advance the pointer ++ */ ++static inline unsigned long ++mb_pixbuf_get_pixel_le8_16bpp_advance (MBPixbuf *pb, unsigned char ** p) ++{ ++ unsigned short s = SHORT_FROM_2BYTES(*p); ++ int r, b, g; ++ ++ r = (s & 0xf800) >> 8; ++ g = (s & 0x07e0) >> 3; ++ b = (s & 0x001f) << 3; ++ ++ *p += 2; ++ ++ return mb_pixbuf_get_pixel_le8_rgb (pb, r, g, b); ++} ++ ++/* ++ * Get pixel value for rgba values and pixel depth > 8 ++ * ++ */ ++static inline unsigned long ++mb_pixbuf_get_pixel_gt8_rgba (MBPixbuf *pb, int r, int g, int b, int a) ++{ ++ switch (pb->depth) ++ { ++ case 15: ++ switch (pb->byte_order) ++ { ++ case BYTE_ORD_24_RGB: ++ return ((r & 0xf8) << 7) | ((g & 0xf8) << 2) | ((b & 0xf8) >> 3); ++ case BYTE_ORD_24_BGR: ++ return ((b & 0xf8) << 7) | ((g & 0xf8) << 2) | ((r & 0xf8) >> 3); ++ } ++ case 16: ++ switch (pb->byte_order) ++ { ++ case BYTE_ORD_24_RGB: ++ return ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | ((b & 0xf8) >> 3); ++ case BYTE_ORD_24_BGR: ++ return ((b & 0xf8) << 8) | ((g & 0xfc) << 3) | ((r & 0xf8) >> 3); ++ } ++ case 24: ++ case 32: ++ switch (pb->byte_order) ++ { ++ case BYTE_ORD_24_RGB: ++ return ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); ++ case BYTE_ORD_24_RBG: ++ return ((r & 0xff) << 16) | ((b & 0xff) << 8) | (g & 0xff); ++ case BYTE_ORD_24_BRG: ++ return ((b & 0xff) << 16) | ((r & 0xff) << 8) | (g & 0xff); ++ case BYTE_ORD_24_BGR: ++ return ((b & 0xff) << 16) | ((g & 0xff) << 8) | (r & 0xff); ++ case BYTE_ORD_24_GRB: ++ return ((g & 0xff) << 16) | ((r & 0xff) << 8) | (b & 0xff); ++ case BYTE_ORD_24_GBR: ++ return ((g & 0xff) << 16) | ((b & 0xff) << 8) | (r & 0xff); ++ case BYTE_ORD_32_ARGB: ++ return (a << 24) | (r << 16) | (g << 8) | b; ++ default: ++ return 0; ++ } ++ default: ++ return 0; ++ } ++} ++ ++/* ++ * Get pixel value from pointer to 16bpp data for pixel depth > 8 ++ * and advance the pointer ++ * ++ * TODO ? We could take the 32bit case out of here, which would allow ++ * to ignore the alpha value for <15, 24>, but we might not gain that ++ * much by this on arm due to the conditional execution. ++ */ ++static inline unsigned long ++mb_pixbuf_get_pixel_gt8_16bpp_advance (MBPixbuf *pb, unsigned char ** p, ++ int has_alpha) ++{ ++ unsigned short s = SHORT_FROM_2BYTES(*p); ++ int r, b, g, a; ++ ++ r = (s & 0xf800) >> 8; ++ g = (s & 0x07e0) >> 3; ++ b = (s & 0x001f) << 3; ++ ++ *p += 2; ++ ++ a = has_alpha ? *(*p)++ : 0xff; ++ ++ return mb_pixbuf_get_pixel_gt8_rgba (pb, r, g, b, a); ++} ++ ++static inline unsigned long ++mb_pixbuf_get_pixel(MBPixbuf *pb, int r, int g, int b, int a) ++{ ++ if (pb->depth > 8) ++ return mb_pixbuf_get_pixel_gt8_rgba (pb, r, g, b, a); ++ ++ return mb_pixbuf_get_pixel_le8_rgb (pb, r, g, b); ++} ++ + unsigned long + mb_pixbuf_lookup_x_pixel(MBPixbuf *pb, int r, int g, int b, int a) + { +@@ -1825,7 +1903,6 @@ + mb_pixbuf_img_render_to_drawable_with_gc(pb, img, drw, drw_x, drw_y, pb->gc); + } + +- + void + mb_pixbuf_img_render_to_drawable_with_gc(MBPixbuf *pb, + MBPixbufImage *img, +@@ -1883,31 +1960,57 @@ + + if (pb->internal_bytespp == 2) + { +- for(y=0; y<img->height; y++) +- for(x=0; x<img->width; x++) +- { +- /* Below is potentially dangerous. +- */ +- pixel = ( *p | (*(p+1) << 8)); +- +- p += ((img->has_alpha) ? 3 : 2); +- +- XPutPixel(img->ximg, x, y, pixel); +- } ++ if (pb->depth > 8) ++ { ++ for(y=0; y<img->height; y++) ++ for(x=0; x<img->width; x++) ++ { ++ pixel = mb_pixbuf_get_pixel_gt8_16bpp_advance(pb, &p, ++ img->has_alpha); ++ XPutPixel(img->ximg, x, y, pixel); ++ } ++ } ++ else ++ { ++ for(y=0; y<img->height; y++) ++ for(x=0; x<img->width; x++) ++ { ++ pixel = mb_pixbuf_get_pixel_le8_16bpp_advance(pb, &p); ++ XPutPixel(img->ximg, x, y, pixel); ++ } ++ } + } + else + { +- for(y=0; y<img->height; y++) ++ if (pb->depth > 8) + { +- for(x=0; x<img->width; x++) ++ for(y=0; y<img->height; y++) + { +- r = ( *p++ ); +- g = ( *p++ ); +- b = ( *p++ ); +- a = ((img->has_alpha) ? *p++ : 0xff); ++ for(x=0; x<img->width; x++) ++ { ++ r = ( *p++ ); ++ g = ( *p++ ); ++ b = ( *p++ ); ++ a = ((img->has_alpha) ? *p++ : 0xff); + +- pixel = mb_pixbuf_get_pixel(pb, r, g, b, a); +- XPutPixel(img->ximg, x, y, pixel); ++ pixel = mb_pixbuf_get_pixel_gt8_rgba(pb, r, g, b, a); ++ XPutPixel(img->ximg, x, y, pixel); ++ } ++ } ++ } ++ else ++ { ++ for(y=0; y<img->height; y++) ++ { ++ for(x=0; x<img->width; x++) ++ { ++ r = ( *p++ ); ++ g = ( *p++ ); ++ b = ( *p++ ); ++ ++ pixel = mb_pixbuf_get_pixel_le8_rgb(pb, r, g, b); ++ XPutPixel(img->ximg, x, y, pixel); ++ } + } + } + } diff --git a/recipes/libmatchbox/files/16bppfixes.patch b/recipes/libmatchbox/files/16bppfixes.patch new file mode 100644 index 0000000000..09a0347809 --- /dev/null +++ b/recipes/libmatchbox/files/16bppfixes.patch @@ -0,0 +1,36 @@ +Index: libmb/mbpixbuf.c +=================================================================== +--- libmatchbox/libmb.orig/mbpixbuf.c 2006-02-01 12:45:55.000000000 +0000 ++++ libmatchbox/libmb/mbpixbuf.c 2006-03-11 15:20:47.000000000 +0000 +@@ -716,7 +716,13 @@ + case 15: + return ((r & 0xf8) << 7) | ((g & 0xf8) << 2) | ((b & 0xf8) >> 3); + case 16: +- return ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | ((b & 0xf8) >> 3); ++ switch (pb->byte_order) ++ { ++ case BYTE_ORD_24_RGB: ++ return ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | ((b & 0xf8) >> 3); ++ case BYTE_ORD_24_BGR: ++ return ((b & 0xf8) << 8) | ((g & 0xfc) << 3) | ((r & 0xf8) >> 3); ++ } + case 24: + case 32: + switch (pb->byte_order) +@@ -1880,12 +1886,11 @@ + for(y=0; y<img->height; y++) + for(x=0; x<img->width; x++) + { +- /* Below is potentially dangerous. +- */ +- pixel = ( *p | (*(p+1) << 8)); ++ internal_16bpp_pixel_to_rgb(p, r, g, b); ++ internal_16bpp_pixel_next(p); ++ a = ((img->has_alpha) ? *p++ : 0xff); + +- p += ((img->has_alpha) ? 3 : 2); +- ++ pixel = mb_pixbuf_get_pixel(pb, r, g, b, a); + XPutPixel(img->ximg, x, y, pixel); + } + } diff --git a/recipes/libmatchbox/files/autofoo.patch b/recipes/libmatchbox/files/autofoo.patch new file mode 100644 index 0000000000..ad3be578e4 --- /dev/null +++ b/recipes/libmatchbox/files/autofoo.patch @@ -0,0 +1,19 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- libmatchbox-1.5/configure.ac~autofoo 2004-12-21 12:56:46.000000000 -0500 ++++ libmatchbox-1.5/configure.ac 2005-01-18 16:40:04.421179624 -0500 +@@ -1,10 +1,10 @@ + AC_PREREQ(2.53) + AC_INIT([libmatchbox], 1.5, [mallum@handhelds.org]) + AC_CONFIG_SRCDIR([libmb/mbtray.c]) ++AC_CONFIG_AUX_DIR(.) + + AM_INIT_AUTOMAKE() + AM_CONFIG_HEADER([config.h]) +-AC_CONFIG_AUX_DIR(.) + + # Checks for programs. + AC_GNU_SOURCE diff --git a/recipes/libmatchbox/files/check.m4 b/recipes/libmatchbox/files/check.m4 new file mode 100644 index 0000000000..97bfd9c478 --- /dev/null +++ b/recipes/libmatchbox/files/check.m4 @@ -0,0 +1,133 @@ +dnl AM_PATH_CHECK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for check, and define CHECK_CFLAGS and CHECK_LIBS +dnl + +AC_DEFUN(AM_PATH_CHECK, +[ + AC_ARG_WITH(check, + [ --with-check=PATH prefix where check is installed [default=auto]]) + + min_check_version=ifelse([$1], ,0.8.2,$1) + + AC_MSG_CHECKING(for check - version >= $min_check_version) + + if test x$with_check = xno; then + AC_MSG_RESULT(disabled) + ifelse([$3], , AC_MSG_ERROR([disabling check is not supported]), [$3]) + else + if test "x$with_check" != x; then + CHECK_CFLAGS="-I$with_check/include" + CHECK_LIBS="-L$with_check/lib -lcheck" + else + CHECK_CFLAGS="" + CHECK_LIBS="-lcheck" + fi + + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + + CFLAGS="$CFLAGS $CHECK_CFLAGS" + LIBS="$CHECK_LIBS $LIBS" + + rm -f conf.check-test + AC_TRY_RUN([ +#include <stdio.h> +#include <stdlib.h> + +#include <check.h> + +int main () +{ + int major, minor, micro; + char *tmp_version; + + system ("touch conf.check-test"); + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = strdup("$min_check_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_check_version"); + return 1; + } + + if ((CHECK_MAJOR_VERSION != check_major_version) || + (CHECK_MINOR_VERSION != check_minor_version) || + (CHECK_MICRO_VERSION != check_micro_version)) + { + printf("\n*** The check header file (version %d.%d.%d) does not match\n", + CHECK_MAJOR_VERSION, CHECK_MINOR_VERSION, CHECK_MICRO_VERSION); + printf("*** the check library (version %d.%d.%d).\n", + check_major_version, check_minor_version, check_micro_version); + return 1; + } + + if ((check_major_version > major) || + ((check_major_version == major) && (check_minor_version > minor)) || + ((check_major_version == major) && (check_minor_version == minor) && (check_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** An old version of check (%d.%d.%d) was found.\n", + check_major_version, check_minor_version, check_micro_version); + printf("*** You need a version of check being at least %d.%d.%d.\n", major, minor, micro); + printf("***\n"); + printf("*** If you have already installed a sufficiently new version, this error\n"); + printf("*** probably means that the wrong copy of the check library and header\n"); + printf("*** file is being found. Rerun configure with the --with-check=PATH option\n"); + printf("*** to specify the prefix where the correct version was installed.\n"); + } + + return 1; +} +],, no_check=yes, [echo $ac_n "cross compiling; assumed OK... $ac_c"]) + + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + + if test "x$no_check" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + AC_MSG_RESULT(no) + if test -f conf.check-test ; then + : + else + echo "*** Could not run check test program, checking why..." + CFLAGS="$CFLAGS $CHECK_CFLAGS" + LIBS="$CHECK_LIBS $LIBS" + AC_TRY_LINK([ +#include <stdio.h> +#include <stdlib.h> + +#include <check.h> +], , [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding check. You'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], + [ echo "*** The test program failed to compile or link. See the file config.log for" + echo "*** the exact error that occured." ]) + + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + + CHECK_CFLAGS="" + CHECK_LIBS="" + + rm -f conf.check-test + ifelse([$3], , AC_MSG_ERROR([check not found]), [$3]) + fi + + AC_SUBST(CHECK_CFLAGS) + AC_SUBST(CHECK_LIBS) + + rm -f conf.check-test + + fi +]) diff --git a/recipes/libmatchbox/files/configure_fixes.patch b/recipes/libmatchbox/files/configure_fixes.patch new file mode 100644 index 0000000000..083d32a04f --- /dev/null +++ b/recipes/libmatchbox/files/configure_fixes.patch @@ -0,0 +1,79 @@ +--- + configure.ac | 15 +++++++-------- + libmb.pc.in | 2 +- + 2 files changed, 8 insertions(+), 9 deletions(-) + +Index: libmatchbox-1.9/configure.ac +=================================================================== +--- libmatchbox-1.9.orig/configure.ac 2007-11-11 22:26:43.000000000 +0000 ++++ libmatchbox-1.9/configure.ac 2007-11-11 22:52:09.000000000 +0000 +@@ -84,6 +84,7 @@ if test $have_libx11pc = yes; then + xft_pkg=xft + SUPPORTS_XFT=1 + AC_DEFINE(USE_XFT, [1], [Use Xft]) ++ XFT_REQUIRED="xft" + fi + # XXX : xau is missing from x11.pc - workaround is too add here + PKG_CHECK_MODULES(XLIBS, x11 xext $xft_pkg) +@@ -108,6 +109,7 @@ if test x$enable_xft != xno; then + AC_DEFINE(USE_XFT, [1], [Use Xft]) + SUPPORTS_XFT=1 + AC_MSG_RESULT(yes) ++ XFT_REQUIRED="xft" + else + + AC_PATH_PROG(XFT_CONFIG, xft-config, no) +@@ -122,21 +124,17 @@ if test x$enable_xft != xno; then + AC_DEFINE(USE_XFT, [1], [Use Xft]) + SUPPORTS_XFT=1 + AC_MSG_RESULT(yes) ++ MB_EXTRA_CFLAGS="$MB_EXTRA_CFLAGS $XFT_CFLAGS" ++ MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XFT_LIBS" + fi + fi + fi + + XLIBS_CFLAGS="$XLIBS_CLAGS $XFT_CFLAGS" +-XLIBS_LIBS="$X_LIBS $XFT_LIBS -lX11 -lXext" +- +-MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XLIBS_LIBS" ++XLIBS_LIBS="$XLIBS_LIBS $XFT_LIBS -lX11 -lXext" + + fi + +-# do this here for freetype include +-MB_EXTRA_CFLAGS="$MB_EXTRA_CFLAGS $XLIBS_CFLAGS" +- +- + dnl ------ Check for Pango --------------------------------------------------- + + if test x$enable_pango != xno; then +@@ -172,7 +170,7 @@ if test x$enable_png != xno; then + AC_DEFINE(USE_PNG, [1], [Use Png]) + SUPPORTS_PNG=1 + PNG_LIBS="-lpng -lz" +- MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XLIBS_LIBS $PNG_LIBS" ++ MB_EXTRA_LIBS="$MB_EXTRA_LIBS $PNG_LIBS" + else + AC_MSG_WARN([*** Cannot find PNG, disabling support]) + enable_png=no +@@ -340,6 +338,7 @@ AC_SUBST(MB_EXTRA_CFLAGS) + AC_SUBST(XLIBS_REQUIRED) + AC_SUBST(PANGO_REQUIRED) + AC_SUBST(PNG_REQUIRED) ++AC_SUBST(XFT_REQUIRED) + + dnl ------ Below used for mbconfig.h ---------------------------------------- + +Index: libmatchbox-1.9/libmb.pc.in +=================================================================== +--- libmatchbox-1.9.orig/libmb.pc.in 2007-11-11 22:30:47.000000000 +0000 ++++ libmatchbox-1.9/libmb.pc.in 2007-11-11 22:31:01.000000000 +0000 +@@ -7,6 +7,6 @@ Name: libmb + Description: Utility Library used by Matchbox utilities. + Version: @VERSION@ + +-Requires: @XLIBS_REQUIRED@ @PANGO_REQUIRED@ @PNG_REQUIRED@ ++Requires: @XLIBS_REQUIRED@ @PANGO_REQUIRED@ @PNG_REQUIRED@ @XFT_REQUIRED@ + Libs: -L${libdir} -lmb @MB_EXTRA_LIBS@ + Cflags: -I${includedir} @MB_EXTRA_CFLAGS@ diff --git a/recipes/libmatchbox/files/fix-configure-for-1.9.patch b/recipes/libmatchbox/files/fix-configure-for-1.9.patch new file mode 100644 index 0000000000..990b738e66 --- /dev/null +++ b/recipes/libmatchbox/files/fix-configure-for-1.9.patch @@ -0,0 +1,14 @@ +diff -urNd ../libmatchbox-1.6-r1/libmatchbox-1.6/configure.ac libmatchbox-1.6/configure.ac +--- ../libmatchbox-1.6-r1/libmatchbox-1.6/configure.ac 2005-01-11 21:47:39 +00:00 ++++ libmatchbox-1.6/configure.ac 2005-03-14 03:06:25 +00:00 +@@ -2,9 +2,9 @@ + AC_INIT([libmatchbox], 1.6, [mallum@handhelds.org]) + AC_CONFIG_SRCDIR([libmb/mbtray.c]) + ++AC_CONFIG_AUX_DIR(.) + AM_INIT_AUTOMAKE() + AM_CONFIG_HEADER([config.h]) +-AC_CONFIG_AUX_DIR(.) + + # Checks for programs. + AC_GNU_SOURCE diff --git a/recipes/libmatchbox/files/reset-sigchld.patch b/recipes/libmatchbox/files/reset-sigchld.patch new file mode 100644 index 0000000000..5792385d27 --- /dev/null +++ b/recipes/libmatchbox/files/reset-sigchld.patch @@ -0,0 +1,15 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- libmatchbox-1.9/libmb/mbutil.c~reset-sigchld ++++ libmatchbox-1.9/libmb/mbutil.c +@@ -92,6 +92,7 @@ + } + + argv[nargs] = NULL; ++ signal(SIGCHLD, SIG_DFL); + rc = execvp (argv[0], argv); + + for (i = 0; i < nargs; i++) diff --git a/recipes/libmatchbox/files/svn-autofu-xsettings.patch b/recipes/libmatchbox/files/svn-autofu-xsettings.patch new file mode 100644 index 0000000000..a5df4301ff --- /dev/null +++ b/recipes/libmatchbox/files/svn-autofu-xsettings.patch @@ -0,0 +1,132 @@ +diff -urpN libmatchbox-1.7~orig/configure.ac libmatchbox-1.7/configure.ac +--- libmatchbox-1.7~orig/configure.ac 2005-04-08 08:53:20.000000000 -0500 ++++ libmatchbox-1.7/configure.ac 2006-02-23 00:08:20.000000000 -0600 +@@ -87,9 +87,13 @@ if test $have_libx11pc = yes; then + fi + # XXX : xau is missing from x11.pc - workaround is too add here + PKG_CHECK_MODULES(XLIBS, x11 xext $xft_pkg) ++ XLIBS_REQUIRED="x11 xext" + else + + AC_PATH_XTRA ++if test x"$no_x" = x"yes"; then ++ AC_MSG_ERROR([*** Required X11 Headers and libraries not found.***]) ++fi + + XFT_LIBS= + XFT_CFLAGS= +@@ -125,8 +129,12 @@ fi + XLIBS_CFLAGS="$XLIBS_CLAGS $XFT_CFLAGS" + XLIBS_LIBS="$X_LIBS $XFT_LIBS -lX11 -lXext" + ++MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XLIBS_LIBS" ++ + fi + ++# do this here for freetype include ++MB_EXTRA_CFLAGS="$MB_EXTRA_CFLAGS $XLIBS_CFLAGS" + + dnl ------ Check for Pango --------------------------------------------------- + +@@ -135,6 +143,7 @@ if test x$enable_pango != xno; then + if test x$have_pango=xyes; then + AC_DEFINE(USE_PANGO, [1], [Use Pango]) + SUPPORTS_PANGO=1 ++ PANGO_REQUIRED="pango pangoxft" + else + AC_MSG_WARN([*** Cannot find pango, disabling support]) + enable_pango=no +@@ -152,6 +161,7 @@ if test x$enable_png != xno; then + PNG_CFLAGS=`$PKG_CONFIG --cflags libpng12` + AC_DEFINE(USE_PNG, [1], [Use Png]) + SUPPORTS_PNG=1 ++ PNG_REQUIRED="libpng12" + else + AC_MSG_RESULT(no) + # AC_CHECK_HEADERS(png.h, [ have_png_h="yes" ], [ have_png_h="no" ] ) +@@ -161,6 +171,7 @@ if test x$enable_png != xno; then + AC_DEFINE(USE_PNG, [1], [Use Png]) + SUPPORTS_PNG=1 + PNG_LIBS="-lpng -lz" ++ MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XLIBS_LIBS $PNG_LIBS" + else + AC_MSG_WARN([*** Cannot find PNG, disabling support]) + enable_png=no +@@ -179,6 +190,7 @@ if test x$enable_jpeg != xno; then + AC_DEFINE(USE_JPG, [1], [Use JPEG]) + SUPPORTS_JPEG=1 + JPEG_LIBS="-ljpeg" ++ MB_EXTRA_LIBS="$MB_EXTRA_LIBS -ljpeg" + else + AC_MSG_WARN([*** Cannot find libjpeg, disabling support]) + enable_jpeg=no +@@ -231,6 +243,9 @@ if test x$enable_xsettings != xno; then + CPPFLAGS="$saved_CPPFLAGS" + LIBS="$saved_LIBS" + ++ MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XSET_LIBS" ++ MB_EXTRA_CFLAGS="$MB_EXTRA_CFLAGS $XSET_CFLAGS" ++ + AC_DEFINE(USE_XSETTINGS, [1], [Use XSettings Client]) + + AC_MSG_RESULT([yes]) +@@ -319,6 +334,12 @@ AC_SUBST(GCC_WARNINGS) + AC_SUBST(XSET_LIBS) + AC_SUBST(XSET_CFLAGS) + ++AC_SUBST(MB_EXTRA_LIBS) ++AC_SUBST(MB_EXTRA_CFLAGS) ++AC_SUBST(XLIBS_REQUIRED) ++AC_SUBST(PANGO_REQUIRED) ++AC_SUBST(PNG_REQUIRED) ++ + dnl ------ Below used for mbconfig.h ---------------------------------------- + + AC_SUBST(SUPPORTS_PNG) +diff -urpN libmatchbox-1.7~orig/libmb/Makefile.am libmatchbox-1.7/libmb/Makefile.am +--- libmatchbox-1.7~orig/libmb/Makefile.am 2005-04-08 08:53:11.000000000 -0500 ++++ libmatchbox-1.7/libmb/Makefile.am 2006-02-23 00:01:54.000000000 -0600 +@@ -18,11 +18,11 @@ source_c = mbmenu.c \ + + DATADIR=$(datadir) + +-AM_CFLAGS = @GCC_WARNINGS@ @XLIBS_CFLAGS@ @PANGO_CFLAGS@ @PNG_CFLAGS@ -DDATADIR=\"$(datadir)\" ++AM_CFLAGS = @GCC_WARNINGS@ @XLIBS_CFLAGS@ @PANGO_CFLAGS@ @PNG_CFLAGS@ @XSET_LIBS@ -DDATADIR=\"$(datadir)\" + + lib_LTLIBRARIES = libmb.la + libmb_la_SOURCES = $(source_c) $(source_h) +-libmb_la_LIBADD = @XLIBS_LIBS@ @PANGO_LIBS@ @JPEG_LIBS@ @PNG_LIBS@ ++libmb_la_LIBADD = @XLIBS_LIBS@ @PANGO_LIBS@ @JPEG_LIBS@ @PNG_LIBS@ @XSET_CFLAGS@ + + # http://sources.redhat.com/autobook/autobook/autobook_91.html#SEC91 + # current : revision : age +diff -urpN libmatchbox-1.7~orig/libmb/mbtray.c libmatchbox-1.7/libmb/mbtray.c +--- libmatchbox-1.7~orig/libmb/mbtray.c 2006-02-23 00:01:07.000000000 -0600 ++++ libmatchbox-1.7/libmb/mbtray.c 2006-02-23 00:09:45.000000000 -0600 +@@ -26,7 +26,13 @@ + + */ + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ ++#ifndef _GNU_SOURCE + #define _GNU_SOURCE ++#endif + + #include "mbtray.h" + +diff -urpN libmatchbox-1.7~orig/libmb.pc.in libmatchbox-1.7/libmb.pc.in +--- libmatchbox-1.7~orig/libmb.pc.in 2005-03-20 11:43:26.000000000 -0600 ++++ libmatchbox-1.7/libmb.pc.in 2006-02-23 00:11:18.000000000 -0600 +@@ -6,5 +6,7 @@ includedir=@includedir@ + Name: libmb + Description: Utility Library used by Matchbox utilities. + Version: @VERSION@ +-Libs: -L${libdir} -lmb @XLIBS_LIBS@ @PANGO_LIBS@ @JPEG_LIBS@ @PNG_LIBS@ @XSET_LIBS@ +-Cflags: -I${includedir} @XLIBS_CFLAGS@ @PANGO_CFLAGS@ @PNG_CFLAGS@ @XSET_CFLAGS@ ++ ++Requires: @XLIBS_REQUIRED@ @PANGO_REQUIRED@ @PNG_REQUIRED@ ++Libs: -L${libdir} -lmb @MB_EXTRA_LIBS@ ++Cflags: -I${includedir} @MB_EXTRA_CFLAGS@ diff --git a/recipes/libmatchbox/files/svn-code-misc-xsettings.patch b/recipes/libmatchbox/files/svn-code-misc-xsettings.patch new file mode 100644 index 0000000000..52b1507505 --- /dev/null +++ b/recipes/libmatchbox/files/svn-code-misc-xsettings.patch @@ -0,0 +1,101 @@ +diff -uprN libmatchbox-1.7~orig/libmb/mbexp.c libmatchbox-1.7/libmb/mbexp.c +--- libmatchbox-1.7~orig/libmb/mbexp.c 2006-02-23 00:33:19.000000000 -0600 ++++ libmatchbox-1.7/libmb/mbexp.c 2006-02-23 00:40:06.000000000 -0600 +@@ -406,6 +406,10 @@ mb_font_new(Display *dpy, + #endif + + font = malloc(sizeof(MBFont)); ++ ++ if (font == NULL) ++ return NULL; ++ + memset(font, 0, sizeof(MBFont)); + + if (family != NULL) +@@ -425,9 +429,12 @@ mb_font_new(Display *dpy, + font->pgo_fontmap = pango_xft_get_font_map (font->dpy, DefaultScreen(dpy)); + font->fontdes = pango_font_description_new (); + +- /* -- Needed ? +- pango_context_set_language (w->pgo, pango_language_from_string ("ar_AE")); +- */ ++ /* If Pango is mis-setup the above will fail */ ++ if (font->pgo_context == NULL || font->pgo_fontmap == NULL || font->fontdes == NULL) ++ { ++ free(font); ++ return NULL; ++ } + + #elif defined (USE_XFT) + +@@ -581,8 +588,11 @@ MBFont* + mb_font_new_from_string(Display *dpy, char *spec) + { + MBFont *font = mb_font_new(dpy, NULL); +- mb_font_set_from_string(font, spec); +- return font; ++ ++ if (font) ++ return mb_font_set_from_string(font, spec); ++ ++ return NULL; + } + + MBFont* +@@ -1091,7 +1101,13 @@ mb_font_render_simple (MBFont * + if (!len) { free(str); return 0; } + + if ((opts & MB_FONT_RENDER_OPTS_CLIP_TRAIL) && len > 3) ++ { ++ /* Avoid having a space before the elipsis */ ++ while (len-1 >= 0 && str[len-1] == ' ') ++ len--; ++ + want_dots = True; ++ } + } + else + { +diff -uprN libmatchbox-1.7~orig/libmb/mbmenu.c libmatchbox-1.7/libmb/mbmenu.c +--- libmatchbox-1.7~orig/libmb/mbmenu.c 2006-02-23 00:33:19.000000000 -0600 ++++ libmatchbox-1.7/libmb/mbmenu.c 2006-02-23 00:42:23.000000000 -0600 +@@ -19,6 +19,10 @@ + + #define _GNU_SOURCE + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ + #include "mbmenu.h" + + #define MBMAX(x,y) ((x>y)?(x):(y)) +@@ -664,7 +668,7 @@ mb_menu_check_scroll_button(MBMenu *mb,M + return WANT_SCROLL_DOWN; + } + +- /* ++#if 0 + for(tmpi = m->too_big_start_item; + tmpi != NULL; + tmpi = tmpi->next_item) +@@ -679,7 +683,7 @@ mb_menu_check_scroll_button(MBMenu *mb,M + MENUDBG("%s() retruning want scroll up\n", __func__); + return WANT_SCROLL_UP; + } +- */ ++#endif /* #if 0 */ + + if (m->too_big_end_item + && y_pos > (m->too_big_end_item->y+m->too_big_end_item->h)) +diff -uprN libmatchbox-1.7~orig/libmb/mbpixbuf.c libmatchbox-1.7/libmb/mbpixbuf.c +--- libmatchbox-1.7~orig/libmb/mbpixbuf.c 2006-02-23 00:33:19.000000000 -0600 ++++ libmatchbox-1.7/libmb/mbpixbuf.c 2006-02-23 00:43:02.000000000 -0600 +@@ -907,6 +907,7 @@ mb_pixbuf_new_extended(Display *dpy, + fprintf(stderr, "mbpixbuf: unable to use XShm. DISPLAY remote?\n"); + pb->have_shm = False; + } ++ else XShmDetach(pb->dpy, &shminfo); + + shmdt(shminfo.shmaddr); + shmctl(shminfo.shmid, IPC_RMID, 0); diff --git a/recipes/libmatchbox/files/svn-explicit-types.patch b/recipes/libmatchbox/files/svn-explicit-types.patch new file mode 100644 index 0000000000..3ec1295a6b --- /dev/null +++ b/recipes/libmatchbox/files/svn-explicit-types.patch @@ -0,0 +1,363 @@ +diff -bur libmatchbox-1.7~orig/libmb/hash.c libmatchbox-1.7/libmb/hash.c +--- libmatchbox-1.7~orig/libmb/hash.c 2005-03-20 11:43:25.000000000 -0600 ++++ libmatchbox-1.7/libmb/hash.c 2006-02-19 14:40:43.000000000 -0600 +@@ -68,7 +68,7 @@ + } else { + free((void *) np->value); + } +- if ((np->value = strdup(val)) == NULL) ++ if ((np->value = (unsigned char*)strdup(val)) == NULL) + return NULL; + return np; + } +diff -bur libmatchbox-1.7~orig/libmb/mbdotdesktop.c libmatchbox-1.7/libmb/mbdotdesktop.c +--- libmatchbox-1.7~orig/libmb/mbdotdesktop.c 2005-03-28 16:56:35.000000000 -0600 ++++ libmatchbox-1.7/libmb/mbdotdesktop.c 2006-02-19 14:44:05.000000000 -0600 +@@ -200,7 +200,7 @@ + /* Source iterator, destination iterator */ + char *s, *d; + +- s = source = mb_dotdesktop_get (dd, "Exec"); ++ s = source = (char*)mb_dotdesktop_get (dd, "Exec"); + if (source == NULL) + return NULL; + +@@ -348,7 +348,7 @@ + { + theme_name_cur = NULL; + strncpy(theme_name_cur, +- mb_dotdesktop_get(dd, "Inherits"), 512); ++ (char*)mb_dotdesktop_get(dd, "Inherits"), 512); + i = 2; + } + mb_dotdesktop_free(dd); +@@ -450,13 +450,13 @@ + } + memset(entry_cur, 0, sizeof(MBDotDesktopFolderEntry)); + +- entry_cur->name = strdup(mb_dotdesktop_get(dd, "Name")); +- entry_cur->match = strdup(mb_dotdesktop_get(dd, "Match")); ++ entry_cur->name = (unsigned char*)strdup((char*)mb_dotdesktop_get(dd, "Name")); ++ entry_cur->match = (unsigned char*)strdup((char*)mb_dotdesktop_get(dd, "Match")); + + if (mb_dotdesktop_get(dd, "Icon")) + { + entry_cur->icon +- = strdup(mb_dotdesktop_get(dd, "Icon")); ++ = (unsigned char*)strdup((char*)mb_dotdesktop_get(dd, "Icon")); + } + + folders->n_entries++; +diff -bur libmatchbox-1.7~orig/libmb/mbexp.c libmatchbox-1.7/libmb/mbexp.c +--- libmatchbox-1.7~orig/libmb/mbexp.c 2005-03-20 11:43:25.000000000 -0600 ++++ libmatchbox-1.7/libmb/mbexp.c 2006-02-19 14:50:42.000000000 -0600 +@@ -894,7 +894,7 @@ + int encoding, + int opts) + { +- int len = strlen(txt); ++ int len = strlen((char*)txt); + + /* we cant clip single char string */ + if (len < 2) return 0; +@@ -907,7 +907,7 @@ + memset(str, 0, len+5); + + /* len += 2; */ +- strcpy(str, txt); ++ strcpy((char*)str, (char*)txt); + + do { + /* go back a glyth */ +@@ -1066,12 +1066,12 @@ + if (!_mb_font_is_font_object_fresh (font)) + _mb_font_load(font); + +- orig_len = len = strlen(text); ++ orig_len = len = strlen((char*)text); + + str = malloc(len+3); + memset(str, 0, len+3); + +- strcpy(str, text); ++ strcpy((char*)str, (char*)text); + + render_w = mb_font_get_txt_width(font, str, len, encoding); + +@@ -1147,12 +1147,12 @@ + if (!_mb_font_is_font_object_fresh (font)) + _mb_font_load(font); + +- orig_len = len = strlen(text); ++ orig_len = len = strlen((char*)text); + + str = malloc(len+3); + memset(str, 0, len+3); + +- strcpy(str, text); ++ strcpy((char*)str, (char*)text); + + render_w = mb_font_get_txt_width(font, str, len, encoding); + +@@ -1257,7 +1257,7 @@ + { + if (layout->txt) free(layout->txt); + +- layout->txt = strdup(text); ++ layout->txt = (unsigned char*)strdup((char*)text); + layout->txt_encoding = encoding; + } + +@@ -1304,7 +1304,7 @@ + MBFontRenderOpts opts, + Bool do_render) + { +- unsigned char *orig_p, *p = strdup(layout->txt); ++ unsigned char *orig_p, *p = (unsigned char*)strdup((char*)layout->txt); + unsigned char *q = p; + unsigned char *backtrack = NULL; + int v_offset = 0; +@@ -1326,7 +1326,7 @@ + + /* XXX q should be current_line_start */ + +- cur_width = mb_font_get_txt_width(layout->font, q, strlen(q), ++ cur_width = mb_font_get_txt_width(layout->font, q, strlen((char*)q), + layout->txt_encoding) ; + + if (cur_width > layout->width ) +@@ -1405,7 +1405,7 @@ + + if (layout->_have_autocalc_size) /* Easy case */ + { +- unsigned char *str = strdup(layout->txt), *start = NULL, *orig = NULL; ++ char *str = strdup((char*)layout->txt), *start = NULL, *orig = NULL; + + orig = str; + +@@ -1426,7 +1426,7 @@ + x, + y, + layout->width, +- start, ++ (unsigned char*)start, + layout->txt_encoding, + 0 ); + +diff -bur libmatchbox-1.7~orig/libmb/mbexp.h libmatchbox-1.7/libmb/mbexp.h +--- libmatchbox-1.7~orig/libmb/mbexp.h 2005-03-20 11:43:25.000000000 -0600 ++++ libmatchbox-1.7/libmb/mbexp.h 2006-02-19 14:51:20.000000000 -0600 +@@ -92,7 +92,7 @@ + typedef struct MBFont + { + Display *dpy; +- unsigned char *family; ++ char *family; + int weight; + int slant; + int pt_size; +diff -bur libmatchbox-1.7~orig/libmb/mbmenu.c libmatchbox-1.7/libmb/mbmenu.c +--- libmatchbox-1.7~orig/libmb/mbmenu.c 2005-03-20 11:43:25.000000000 -0600 ++++ libmatchbox-1.7/libmb/mbmenu.c 2006-02-19 14:53:33.000000000 -0600 +@@ -726,25 +726,25 @@ + if (mb_dotdesktop_get(theme, "MenuBgColor")) + { + mb_menu_set_col(mb, MBMENU_SET_BG_COL, +- mb_dotdesktop_get(theme, "MenuBgColor")); ++ (char*)mb_dotdesktop_get(theme, "MenuBgColor")); + } + + if (mb_dotdesktop_get(theme, "MenuFont")) + { + mb_menu_set_font (mb, +- mb_dotdesktop_get(theme, "MenuFont")); ++ (char*)mb_dotdesktop_get(theme, "MenuFont")); + } + + if (mb_dotdesktop_get(theme, "MenuFgColor")) + { + mb_menu_set_col(mb, MBMENU_SET_FG_COL, +- mb_dotdesktop_get(theme, "MenuFgColor")); ++ (char*)mb_dotdesktop_get(theme, "MenuFgColor")); + } + + if (mb_dotdesktop_get(theme, "MenuHlColor")) + { + mb_menu_set_col(mb, MBMENU_SET_HL_COL, +- mb_dotdesktop_get(theme, "MenuHlColor")); ++ (char*)mb_dotdesktop_get(theme, "MenuHlColor")); + mb->have_highlight_col = True; + } + else mb->have_highlight_col = False; +@@ -752,7 +752,7 @@ + if (mb_dotdesktop_get(theme, "MenuBdColor")) + { + mb_menu_set_col(mb, MBMENU_SET_BD_COL, +- mb_dotdesktop_get(theme, "MenuBdColor")); ++ (char*)mb_dotdesktop_get(theme, "MenuBdColor")); + } + + /* xxx currently broke xxx +diff -bur libmatchbox-1.7~orig/libmb/mbpixbuf.c libmatchbox-1.7/libmb/mbpixbuf.c +--- libmatchbox-1.7~orig/libmb/mbpixbuf.c 2005-03-30 06:21:26.000000000 -0600 ++++ libmatchbox-1.7/libmb/mbpixbuf.c 2006-02-19 14:55:39.000000000 -0600 +@@ -418,7 +418,7 @@ + col[0] = 0; + s[0] = 0; + len = strlen(line); +- strncpy(cmap[j].str, line, cpp); ++ strncpy((char*)cmap[j].str, line, cpp); + cmap[j].str[cpp] = 0; + cmap[j].r = -1; + cmap[j].transp = 0; +@@ -537,7 +537,7 @@ + i--; + for (j = 0; j < ncolors; j++) + { +- if (!strcmp(col, cmap[j].str)) ++ if (!strcmp(col, (char*)cmap[j].str)) + { + if (transp && cmap[j].transp) + { +@@ -1086,7 +1086,8 @@ + int num_of_cols = 1 << pb->depth; + + Window chld; +- unsigned int rx, rw, rh, rb, rdepth; ++ int rx; ++ unsigned int rw, rh, rb, rdepth; + + XShmSegmentInfo shminfo; + +diff -bur libmatchbox-1.7~orig/libmb/mbtray.c libmatchbox-1.7/libmb/mbtray.c +--- libmatchbox-1.7~orig/libmb/mbtray.c 2005-03-20 11:43:25.000000000 -0600 ++++ libmatchbox-1.7/libmb/mbtray.c 2006-02-19 14:59:20.000000000 -0600 +@@ -204,7 +204,7 @@ + { + XEvent xevent; + Atom timestamp_atom = XInternAtom(dpy, "_MB_DOCK_TIMESTAMP", False); +- char c = 'a'; ++ unsigned char c = 'a'; + + XChangeProperty (dpy, RootWindow(dpy, DefaultScreen(dpy)), + timestamp_atom, timestamp_atom, +@@ -615,7 +615,7 @@ + + mb->tray_id = 0; + +- mb->app_name = app_name ? strdup(app_name) : strdup("unnamed"); ++ mb->app_name = (unsigned char*)(app_name ? strdup((char*)app_name) : strdup("unnamed")); + + mb->have_cached_bg = False; + mb->cached_bg = NULL; +@@ -638,7 +638,7 @@ + unsigned char *name) + { + if (mb->app_name) free(mb->app_name); +- mb->app_name = strdup(name); ++ mb->app_name = (unsigned char*)strdup((char*)name); + } + + void +@@ -649,7 +649,7 @@ + + if (mb->context_info) free(mb->context_info); + +- mb->context_info = strdup(info); ++ mb->context_info = (unsigned char*)strdup((char*)info); + + if (mb->win) _set_win_context_hint(mb); + +@@ -1055,7 +1055,7 @@ + mb->atoms[ATOM_NET_WM_NAME], + mb->atoms[ATOM_UTF8_STRING], + 8, +- PropModeReplace, mb->app_name, strlen(mb->app_name)); ++ PropModeReplace, mb->app_name, strlen((char*)mb->app_name)); + } + + static void +@@ -1068,7 +1068,7 @@ + mb->atoms[ATOM_UTF8_STRING], + 8, + PropModeReplace, +- mb->context_info, strlen(mb->context_info)); ++ mb->context_info, strlen((char*)mb->context_info)); + } + } + +@@ -1170,7 +1170,7 @@ + + TRAYDBG("%s() set w: %i, h: %i\n", __func__, mb->w, mb->h); + +- XSetStandardProperties(mb->dpy, mb->win, mb->app_name, ++ XSetStandardProperties(mb->dpy, mb->win, (char*)mb->app_name, + NULL, 0, NULL, 0, &size_hints); + + _set_win_utf8_name(mb); +@@ -1186,7 +1186,7 @@ + mb_tray_app_tray_send_message(MBTrayApp *mb, unsigned char* msg, int timeout) + { + unsigned char buf[20]; +- int msg_len = strlen(msg); ++ int msg_len = strlen((char*)msg); + int id = 12345; /* TODO id should unique */ + int bytes_sent = 0; + +diff -bur libmatchbox-1.7~orig/libmb/mbutil.c libmatchbox-1.7/libmb/mbutil.c +--- libmatchbox-1.7~orig/libmb/mbutil.c 2005-03-28 17:08:38.000000000 -0600 ++++ libmatchbox-1.7/libmb/mbutil.c 2006-02-19 15:02:19.000000000 -0600 +@@ -111,9 +111,8 @@ + + Atom type; + int format; +- long bytes_after; + unsigned char *data = NULL; +- long n_items; ++ unsigned long n_items, bytes_after; + int result; + + unsigned char *p, *key = NULL, *value = NULL; +@@ -153,9 +152,9 @@ + + *p = '\0'; + +- if (!strcmp(key, bin_name)) ++ if (!strcmp((char*)key, (char*)bin_name)) + { +- win_found = atoi(value); /* XXX should check window ID ++ win_found = atoi((char*)value); /* XXX should check window ID + actually exists */ + XFree (data); + return ( (win_found > 0) ? win_found : None ); +@@ -175,9 +174,8 @@ + + Atom type; + int format; +- long bytes_after; + unsigned char *data = NULL; +- long n_items; ++ unsigned long n_items, bytes_after; + int result; + + result = XGetWindowProperty (dpy, RootWindow(dpy, DefaultScreen(dpy)), +@@ -195,7 +193,7 @@ + + + +- if (strstr(data, bin_name) != NULL) ++ if (strstr((char*)data, (char*)bin_name) != NULL) + { + XFree(data); + return True; +@@ -282,9 +280,8 @@ + + Atom type; + int format; +- long bytes_after; + Pixmap *data = NULL; +- long n_items; ++ unsigned long n_items, bytes_after; + int result; + + result = XGetWindowProperty (dpy, RootWindow(dpy, DefaultScreen(dpy)), diff --git a/recipes/libmatchbox/libmatchbox.inc b/recipes/libmatchbox/libmatchbox.inc new file mode 100644 index 0000000000..71682b336a --- /dev/null +++ b/recipes/libmatchbox/libmatchbox.inc @@ -0,0 +1,23 @@ +SECTION = "x11/libs" +DESCRIPTION = "Matchbox window manager core library" +LICENSE = "GPL" +DEPENDS = "virtual/libx11 libxext expat libxft jpeg libpng zlib libxsettings-client" +PR = "r2" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--enable-jpeg --enable-expat --enable-xsettings" + +S = "${WORKDIR}/libmatchbox-${PV}" + +headers = "hash.h mbconfig.h mbdotdesktop.h mbexp.h \ + mb.h mbmenu.h mbpixbuf.h mbtray.h mbutil.h" + +do_stage () { + install -d ${STAGING_INCDIR}/libmb + for h in ${headers}; do + install -m 0644 ${S}/libmb/$h ${STAGING_INCDIR}/libmb/ + done + + oe_libinstall -a -so -C libmb libmb ${STAGING_LIBDIR} +} diff --git a/recipes/libmatchbox/libmatchbox_1.9.bb b/recipes/libmatchbox/libmatchbox_1.9.bb new file mode 100644 index 0000000000..b462dc5aca --- /dev/null +++ b/recipes/libmatchbox/libmatchbox_1.9.bb @@ -0,0 +1,14 @@ +require libmatchbox.inc +PR = "r6" + +SRC_URI = "\ + http://projects.o-hand.com/matchbox/sources/${PN}/${PV}/${PN}-${PV}.tar.gz \ + file://16bppfixes.patch;patch=1 \ + file://configure_fixes.patch;patch=1 \ + file://reset-sigchld.patch;patch=1 \ + file://check.m4\ +" + +do_configure_prepend () { + cp ${WORKDIR}/check.m4 ${S}/ +} |