diff options
Diffstat (limited to 'meta/packages/libmatchbox')
-rw-r--r-- | meta/packages/libmatchbox/files/16bppfixes.patch | 36 | ||||
-rw-r--r-- | meta/packages/libmatchbox/files/autofoo.patch | 19 | ||||
-rw-r--r-- | meta/packages/libmatchbox/files/check.m4 | 133 | ||||
-rw-r--r-- | meta/packages/libmatchbox/files/fix-configure-for-1.9.patch | 14 | ||||
-rw-r--r-- | meta/packages/libmatchbox/libmatchbox.inc | 23 | ||||
-rw-r--r-- | meta/packages/libmatchbox/libmatchbox_1.7.bb | 8 | ||||
-rw-r--r-- | meta/packages/libmatchbox/libmatchbox_svn.bb | 13 |
7 files changed, 246 insertions, 0 deletions
diff --git a/meta/packages/libmatchbox/files/16bppfixes.patch b/meta/packages/libmatchbox/files/16bppfixes.patch new file mode 100644 index 000000000..09a034780 --- /dev/null +++ b/meta/packages/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/meta/packages/libmatchbox/files/autofoo.patch b/meta/packages/libmatchbox/files/autofoo.patch new file mode 100644 index 000000000..ad3be578e --- /dev/null +++ b/meta/packages/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/meta/packages/libmatchbox/files/check.m4 b/meta/packages/libmatchbox/files/check.m4 new file mode 100644 index 000000000..97bfd9c47 --- /dev/null +++ b/meta/packages/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/meta/packages/libmatchbox/files/fix-configure-for-1.9.patch b/meta/packages/libmatchbox/files/fix-configure-for-1.9.patch new file mode 100644 index 000000000..990b738e6 --- /dev/null +++ b/meta/packages/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/meta/packages/libmatchbox/libmatchbox.inc b/meta/packages/libmatchbox/libmatchbox.inc new file mode 100644 index 000000000..b5618315a --- /dev/null +++ b/meta/packages/libmatchbox/libmatchbox.inc @@ -0,0 +1,23 @@ +SECTION = "x11/libs" +DESCRIPTION = "Matchbox window manager core library" +LICENSE = "GPL" +DEPENDS = "libx11 libxext expat libxft jpeg libpng zlib libxsettings-client startup-notification" +PR="r3" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--enable-jpeg --enable-expat --enable-xsettings --enable-startup-notification" + +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/meta/packages/libmatchbox/libmatchbox_1.7.bb b/meta/packages/libmatchbox/libmatchbox_1.7.bb new file mode 100644 index 000000000..afcf05866 --- /dev/null +++ b/meta/packages/libmatchbox/libmatchbox_1.7.bb @@ -0,0 +1,8 @@ +include libmatchbox.inc + +SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/${PV}/${PN}-${PV}.tar.gz \ + file://check.m4" + +do_configure_prepend () { + mv ${WORKDIR}/check.m4 ${S}/ +} diff --git a/meta/packages/libmatchbox/libmatchbox_svn.bb b/meta/packages/libmatchbox/libmatchbox_svn.bb new file mode 100644 index 000000000..aa3bfcd44 --- /dev/null +++ b/meta/packages/libmatchbox/libmatchbox_svn.bb @@ -0,0 +1,13 @@ +include libmatchbox.inc + +PV = "1.7+svn${SRCDATE}" +DEFAULT_PREFERENCE = "-1" + +SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http\ + file://check.m4 \ + file://16bppfixes.patch;patch=1" +S = "${WORKDIR}/libmatchbox" + +do_configure_prepend () { + mv ${WORKDIR}/check.m4 ${S}/ +} |