summaryrefslogtreecommitdiff
path: root/meta/packages/libmatchbox
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/libmatchbox')
-rw-r--r--meta/packages/libmatchbox/files/16bppfixes.patch36
-rw-r--r--meta/packages/libmatchbox/files/autofoo.patch19
-rw-r--r--meta/packages/libmatchbox/files/check.m4133
-rw-r--r--meta/packages/libmatchbox/files/fix-configure-for-1.9.patch14
-rw-r--r--meta/packages/libmatchbox/libmatchbox.inc23
-rw-r--r--meta/packages/libmatchbox/libmatchbox_1.7.bb8
-rw-r--r--meta/packages/libmatchbox/libmatchbox_svn.bb13
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 0000000000..09a0347809
--- /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 0000000000..ad3be578e4
--- /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 0000000000..97bfd9c478
--- /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, &micro) != 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 0000000000..990b738e66
--- /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 0000000000..b5618315a0
--- /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 0000000000..afcf058663
--- /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 0000000000..aa3bfcd444
--- /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}/
+}