summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/libmatchbox
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-graphics/libmatchbox')
-rw-r--r--meta/recipes-graphics/libmatchbox/files/16bppfixes-2.patch258
-rw-r--r--meta/recipes-graphics/libmatchbox/files/16bppfixes.patch36
-rw-r--r--meta/recipes-graphics/libmatchbox/files/autofoo.patch19
-rw-r--r--meta/recipes-graphics/libmatchbox/files/check.m4133
-rw-r--r--meta/recipes-graphics/libmatchbox/files/configure_fixes.patch79
-rw-r--r--meta/recipes-graphics/libmatchbox/files/fix-configure-for-1.9.patch14
-rw-r--r--meta/recipes-graphics/libmatchbox/libmatchbox.inc17
-rw-r--r--meta/recipes-graphics/libmatchbox/libmatchbox_1.9.bb12
-rw-r--r--meta/recipes-graphics/libmatchbox/libmatchbox_svn.bb16
9 files changed, 584 insertions, 0 deletions
diff --git a/meta/recipes-graphics/libmatchbox/files/16bppfixes-2.patch b/meta/recipes-graphics/libmatchbox/files/16bppfixes-2.patch
new file mode 100644
index 0000000000..ab9cdc74a5
--- /dev/null
+++ b/meta/recipes-graphics/libmatchbox/files/16bppfixes-2.patch
@@ -0,0 +1,258 @@
1--- libmatchbox/libmb/mbpixbuf.c.orig 2007-05-04 14:41:55.000000000 +0100
2+++ libmatchbox/libmb/mbpixbuf.c 2007-05-04 14:41:55.000000000 +0100
3@@ -710,46 +710,19 @@
4 return colnum;
5 }
6
7-
8-static unsigned long
9-mb_pixbuf_get_pixel(MBPixbuf *pb, int r, int g, int b, int a)
10+/*
11+ * Split the mb_pixbuf_get_pixel() function into several specialized
12+ * functions which we will inline; this allows us to optimize
13+ * mb_pixbuf_img_render_to_drawable_with_gc () by taking some of the
14+ * decision taking outside of the double loop
15+ */
16+
17+/*
18+ * Get pixel value for rgb values and pixel depth <= 8
19+ */
20+static inline unsigned long
21+mb_pixbuf_get_pixel_le8_rgb (MBPixbuf *pb, int r, int g, int b)
22 {
23- if (pb->depth > 8)
24- {
25- switch (pb->depth)
26- {
27- case 15:
28- return ((r & 0xf8) << 7) | ((g & 0xf8) << 2) | ((b & 0xf8) >> 3);
29- case 16:
30- return ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | ((b & 0xf8) >> 3);
31- case 24:
32- case 32:
33- switch (pb->byte_order)
34- {
35- case BYTE_ORD_24_RGB:
36- return ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff);
37- case BYTE_ORD_24_RBG:
38- return ((r & 0xff) << 16) | ((b & 0xff) << 8) | (g & 0xff);
39- case BYTE_ORD_24_BRG:
40- return ((b & 0xff) << 16) | ((r & 0xff) << 8) | (g & 0xff);
41- case BYTE_ORD_24_BGR:
42- return ((b & 0xff) << 16) | ((g & 0xff) << 8) | (r & 0xff);
43- case BYTE_ORD_24_GRB:
44- return ((g & 0xff) << 16) | ((r & 0xff) << 8) | (b & 0xff);
45- case BYTE_ORD_24_GBR:
46- return ((g & 0xff) << 16) | ((b & 0xff) << 8) | (r & 0xff);
47- case BYTE_ORD_32_ARGB:
48- return (a << 24) | (r << 16) | (g << 8) | b;
49- default:
50- return 0;
51- }
52- default:
53- return 0;
54- }
55- return 0;
56- }
57-
58- /* pb->depth <= 8 */
59 switch(pb->vis->class)
60 {
61 case PseudoColor:
62@@ -794,6 +767,111 @@
63 return 0;
64 }
65
66+/*
67+ * Get pixel value from a pointer to 16bbp value for pixel depth <= 8
68+ * and advance the pointer
69+ */
70+static inline unsigned long
71+mb_pixbuf_get_pixel_le8_16bpp_advance (MBPixbuf *pb, unsigned char ** p)
72+{
73+ unsigned short s = SHORT_FROM_2BYTES(*p);
74+ int r, b, g;
75+
76+ r = (s & 0xf800) >> 8;
77+ g = (s & 0x07e0) >> 3;
78+ b = (s & 0x001f) << 3;
79+
80+ *p += 2;
81+
82+ return mb_pixbuf_get_pixel_le8_rgb (pb, r, g, b);
83+}
84+
85+/*
86+ * Get pixel value for rgba values and pixel depth > 8
87+ *
88+ */
89+static inline unsigned long
90+mb_pixbuf_get_pixel_gt8_rgba (MBPixbuf *pb, int r, int g, int b, int a)
91+{
92+ switch (pb->depth)
93+ {
94+ case 15:
95+ switch (pb->byte_order)
96+ {
97+ case BYTE_ORD_24_RGB:
98+ return ((r & 0xf8) << 7) | ((g & 0xf8) << 2) | ((b & 0xf8) >> 3);
99+ case BYTE_ORD_24_BGR:
100+ return ((b & 0xf8) << 7) | ((g & 0xf8) << 2) | ((r & 0xf8) >> 3);
101+ }
102+ case 16:
103+ switch (pb->byte_order)
104+ {
105+ case BYTE_ORD_24_RGB:
106+ return ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | ((b & 0xf8) >> 3);
107+ case BYTE_ORD_24_BGR:
108+ return ((b & 0xf8) << 8) | ((g & 0xfc) << 3) | ((r & 0xf8) >> 3);
109+ }
110+ case 24:
111+ case 32:
112+ switch (pb->byte_order)
113+ {
114+ case BYTE_ORD_24_RGB:
115+ return ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff);
116+ case BYTE_ORD_24_RBG:
117+ return ((r & 0xff) << 16) | ((b & 0xff) << 8) | (g & 0xff);
118+ case BYTE_ORD_24_BRG:
119+ return ((b & 0xff) << 16) | ((r & 0xff) << 8) | (g & 0xff);
120+ case BYTE_ORD_24_BGR:
121+ return ((b & 0xff) << 16) | ((g & 0xff) << 8) | (r & 0xff);
122+ case BYTE_ORD_24_GRB:
123+ return ((g & 0xff) << 16) | ((r & 0xff) << 8) | (b & 0xff);
124+ case BYTE_ORD_24_GBR:
125+ return ((g & 0xff) << 16) | ((b & 0xff) << 8) | (r & 0xff);
126+ case BYTE_ORD_32_ARGB:
127+ return (a << 24) | (r << 16) | (g << 8) | b;
128+ default:
129+ return 0;
130+ }
131+ default:
132+ return 0;
133+ }
134+}
135+
136+/*
137+ * Get pixel value from pointer to 16bpp data for pixel depth > 8
138+ * and advance the pointer
139+ *
140+ * TODO ? We could take the 32bit case out of here, which would allow
141+ * to ignore the alpha value for <15, 24>, but we might not gain that
142+ * much by this on arm due to the conditional execution.
143+ */
144+static inline unsigned long
145+mb_pixbuf_get_pixel_gt8_16bpp_advance (MBPixbuf *pb, unsigned char ** p,
146+ int has_alpha)
147+{
148+ unsigned short s = SHORT_FROM_2BYTES(*p);
149+ int r, b, g, a;
150+
151+ r = (s & 0xf800) >> 8;
152+ g = (s & 0x07e0) >> 3;
153+ b = (s & 0x001f) << 3;
154+
155+ *p += 2;
156+
157+ a = has_alpha ? *(*p)++ : 0xff;
158+
159+ return mb_pixbuf_get_pixel_gt8_rgba (pb, r, g, b, a);
160+}
161+
162+static inline unsigned long
163+mb_pixbuf_get_pixel(MBPixbuf *pb, int r, int g, int b, int a)
164+{
165+ if (pb->depth > 8)
166+ return mb_pixbuf_get_pixel_gt8_rgba (pb, r, g, b, a);
167+
168+ return mb_pixbuf_get_pixel_le8_rgb (pb, r, g, b);
169+}
170+
171 unsigned long
172 mb_pixbuf_lookup_x_pixel(MBPixbuf *pb, int r, int g, int b, int a)
173 {
174@@ -1825,7 +1903,6 @@
175 mb_pixbuf_img_render_to_drawable_with_gc(pb, img, drw, drw_x, drw_y, pb->gc);
176 }
177
178-
179 void
180 mb_pixbuf_img_render_to_drawable_with_gc(MBPixbuf *pb,
181 MBPixbufImage *img,
182@@ -1883,31 +1960,57 @@
183
184 if (pb->internal_bytespp == 2)
185 {
186- for(y=0; y<img->height; y++)
187- for(x=0; x<img->width; x++)
188- {
189- /* Below is potentially dangerous.
190- */
191- pixel = ( *p | (*(p+1) << 8));
192-
193- p += ((img->has_alpha) ? 3 : 2);
194-
195- XPutPixel(img->ximg, x, y, pixel);
196- }
197+ if (pb->depth > 8)
198+ {
199+ for(y=0; y<img->height; y++)
200+ for(x=0; x<img->width; x++)
201+ {
202+ pixel = mb_pixbuf_get_pixel_gt8_16bpp_advance(pb, &p,
203+ img->has_alpha);
204+ XPutPixel(img->ximg, x, y, pixel);
205+ }
206+ }
207+ else
208+ {
209+ for(y=0; y<img->height; y++)
210+ for(x=0; x<img->width; x++)
211+ {
212+ pixel = mb_pixbuf_get_pixel_le8_16bpp_advance(pb, &p);
213+ XPutPixel(img->ximg, x, y, pixel);
214+ }
215+ }
216 }
217 else
218 {
219- for(y=0; y<img->height; y++)
220+ if (pb->depth > 8)
221 {
222- for(x=0; x<img->width; x++)
223+ for(y=0; y<img->height; y++)
224 {
225- r = ( *p++ );
226- g = ( *p++ );
227- b = ( *p++ );
228- a = ((img->has_alpha) ? *p++ : 0xff);
229+ for(x=0; x<img->width; x++)
230+ {
231+ r = ( *p++ );
232+ g = ( *p++ );
233+ b = ( *p++ );
234+ a = ((img->has_alpha) ? *p++ : 0xff);
235
236- pixel = mb_pixbuf_get_pixel(pb, r, g, b, a);
237- XPutPixel(img->ximg, x, y, pixel);
238+ pixel = mb_pixbuf_get_pixel_gt8_rgba(pb, r, g, b, a);
239+ XPutPixel(img->ximg, x, y, pixel);
240+ }
241+ }
242+ }
243+ else
244+ {
245+ for(y=0; y<img->height; y++)
246+ {
247+ for(x=0; x<img->width; x++)
248+ {
249+ r = ( *p++ );
250+ g = ( *p++ );
251+ b = ( *p++ );
252+
253+ pixel = mb_pixbuf_get_pixel_le8_rgb(pb, r, g, b);
254+ XPutPixel(img->ximg, x, y, pixel);
255+ }
256 }
257 }
258 }
diff --git a/meta/recipes-graphics/libmatchbox/files/16bppfixes.patch b/meta/recipes-graphics/libmatchbox/files/16bppfixes.patch
new file mode 100644
index 0000000000..09a0347809
--- /dev/null
+++ b/meta/recipes-graphics/libmatchbox/files/16bppfixes.patch
@@ -0,0 +1,36 @@
1Index: libmb/mbpixbuf.c
2===================================================================
3--- libmatchbox/libmb.orig/mbpixbuf.c 2006-02-01 12:45:55.000000000 +0000
4+++ libmatchbox/libmb/mbpixbuf.c 2006-03-11 15:20:47.000000000 +0000
5@@ -716,7 +716,13 @@
6 case 15:
7 return ((r & 0xf8) << 7) | ((g & 0xf8) << 2) | ((b & 0xf8) >> 3);
8 case 16:
9- return ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | ((b & 0xf8) >> 3);
10+ switch (pb->byte_order)
11+ {
12+ case BYTE_ORD_24_RGB:
13+ return ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | ((b & 0xf8) >> 3);
14+ case BYTE_ORD_24_BGR:
15+ return ((b & 0xf8) << 8) | ((g & 0xfc) << 3) | ((r & 0xf8) >> 3);
16+ }
17 case 24:
18 case 32:
19 switch (pb->byte_order)
20@@ -1880,12 +1886,11 @@
21 for(y=0; y<img->height; y++)
22 for(x=0; x<img->width; x++)
23 {
24- /* Below is potentially dangerous.
25- */
26- pixel = ( *p | (*(p+1) << 8));
27+ internal_16bpp_pixel_to_rgb(p, r, g, b);
28+ internal_16bpp_pixel_next(p);
29+ a = ((img->has_alpha) ? *p++ : 0xff);
30
31- p += ((img->has_alpha) ? 3 : 2);
32-
33+ pixel = mb_pixbuf_get_pixel(pb, r, g, b, a);
34 XPutPixel(img->ximg, x, y, pixel);
35 }
36 }
diff --git a/meta/recipes-graphics/libmatchbox/files/autofoo.patch b/meta/recipes-graphics/libmatchbox/files/autofoo.patch
new file mode 100644
index 0000000000..ad3be578e4
--- /dev/null
+++ b/meta/recipes-graphics/libmatchbox/files/autofoo.patch
@@ -0,0 +1,19 @@
1
2#
3# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
4#
5
6--- libmatchbox-1.5/configure.ac~autofoo 2004-12-21 12:56:46.000000000 -0500
7+++ libmatchbox-1.5/configure.ac 2005-01-18 16:40:04.421179624 -0500
8@@ -1,10 +1,10 @@
9 AC_PREREQ(2.53)
10 AC_INIT([libmatchbox], 1.5, [mallum@handhelds.org])
11 AC_CONFIG_SRCDIR([libmb/mbtray.c])
12+AC_CONFIG_AUX_DIR(.)
13
14 AM_INIT_AUTOMAKE()
15 AM_CONFIG_HEADER([config.h])
16-AC_CONFIG_AUX_DIR(.)
17
18 # Checks for programs.
19 AC_GNU_SOURCE
diff --git a/meta/recipes-graphics/libmatchbox/files/check.m4 b/meta/recipes-graphics/libmatchbox/files/check.m4
new file mode 100644
index 0000000000..97bfd9c478
--- /dev/null
+++ b/meta/recipes-graphics/libmatchbox/files/check.m4
@@ -0,0 +1,133 @@
1dnl AM_PATH_CHECK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
2dnl Test for check, and define CHECK_CFLAGS and CHECK_LIBS
3dnl
4
5AC_DEFUN(AM_PATH_CHECK,
6[
7 AC_ARG_WITH(check,
8 [ --with-check=PATH prefix where check is installed [default=auto]])
9
10 min_check_version=ifelse([$1], ,0.8.2,$1)
11
12 AC_MSG_CHECKING(for check - version >= $min_check_version)
13
14 if test x$with_check = xno; then
15 AC_MSG_RESULT(disabled)
16 ifelse([$3], , AC_MSG_ERROR([disabling check is not supported]), [$3])
17 else
18 if test "x$with_check" != x; then
19 CHECK_CFLAGS="-I$with_check/include"
20 CHECK_LIBS="-L$with_check/lib -lcheck"
21 else
22 CHECK_CFLAGS=""
23 CHECK_LIBS="-lcheck"
24 fi
25
26 ac_save_CFLAGS="$CFLAGS"
27 ac_save_LIBS="$LIBS"
28
29 CFLAGS="$CFLAGS $CHECK_CFLAGS"
30 LIBS="$CHECK_LIBS $LIBS"
31
32 rm -f conf.check-test
33 AC_TRY_RUN([
34#include <stdio.h>
35#include <stdlib.h>
36
37#include <check.h>
38
39int main ()
40{
41 int major, minor, micro;
42 char *tmp_version;
43
44 system ("touch conf.check-test");
45
46 /* HP/UX 9 (%@#!) writes to sscanf strings */
47 tmp_version = strdup("$min_check_version");
48 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
49 printf("%s, bad version string\n", "$min_check_version");
50 return 1;
51 }
52
53 if ((CHECK_MAJOR_VERSION != check_major_version) ||
54 (CHECK_MINOR_VERSION != check_minor_version) ||
55 (CHECK_MICRO_VERSION != check_micro_version))
56 {
57 printf("\n*** The check header file (version %d.%d.%d) does not match\n",
58 CHECK_MAJOR_VERSION, CHECK_MINOR_VERSION, CHECK_MICRO_VERSION);
59 printf("*** the check library (version %d.%d.%d).\n",
60 check_major_version, check_minor_version, check_micro_version);
61 return 1;
62 }
63
64 if ((check_major_version > major) ||
65 ((check_major_version == major) && (check_minor_version > minor)) ||
66 ((check_major_version == major) && (check_minor_version == minor) && (check_micro_version >= micro)))
67 {
68 return 0;
69 }
70 else
71 {
72 printf("\n*** An old version of check (%d.%d.%d) was found.\n",
73 check_major_version, check_minor_version, check_micro_version);
74 printf("*** You need a version of check being at least %d.%d.%d.\n", major, minor, micro);
75 printf("***\n");
76 printf("*** If you have already installed a sufficiently new version, this error\n");
77 printf("*** probably means that the wrong copy of the check library and header\n");
78 printf("*** file is being found. Rerun configure with the --with-check=PATH option\n");
79 printf("*** to specify the prefix where the correct version was installed.\n");
80 }
81
82 return 1;
83}
84],, no_check=yes, [echo $ac_n "cross compiling; assumed OK... $ac_c"])
85
86 CFLAGS="$ac_save_CFLAGS"
87 LIBS="$ac_save_LIBS"
88
89 if test "x$no_check" = x ; then
90 AC_MSG_RESULT(yes)
91 ifelse([$2], , :, [$2])
92 else
93 AC_MSG_RESULT(no)
94 if test -f conf.check-test ; then
95 :
96 else
97 echo "*** Could not run check test program, checking why..."
98 CFLAGS="$CFLAGS $CHECK_CFLAGS"
99 LIBS="$CHECK_LIBS $LIBS"
100 AC_TRY_LINK([
101#include <stdio.h>
102#include <stdlib.h>
103
104#include <check.h>
105], , [ echo "*** The test program compiled, but did not run. This usually means"
106 echo "*** that the run-time linker is not finding check. You'll need to set your"
107 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
108 echo "*** to the installed location Also, make sure you have run ldconfig if that"
109 echo "*** is required on your system"
110 echo "***"
111 echo "*** If you have an old version installed, it is best to remove it, although"
112 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
113 [ echo "*** The test program failed to compile or link. See the file config.log for"
114 echo "*** the exact error that occured." ])
115
116 CFLAGS="$ac_save_CFLAGS"
117 LIBS="$ac_save_LIBS"
118 fi
119
120 CHECK_CFLAGS=""
121 CHECK_LIBS=""
122
123 rm -f conf.check-test
124 ifelse([$3], , AC_MSG_ERROR([check not found]), [$3])
125 fi
126
127 AC_SUBST(CHECK_CFLAGS)
128 AC_SUBST(CHECK_LIBS)
129
130 rm -f conf.check-test
131
132 fi
133])
diff --git a/meta/recipes-graphics/libmatchbox/files/configure_fixes.patch b/meta/recipes-graphics/libmatchbox/files/configure_fixes.patch
new file mode 100644
index 0000000000..083d32a04f
--- /dev/null
+++ b/meta/recipes-graphics/libmatchbox/files/configure_fixes.patch
@@ -0,0 +1,79 @@
1---
2 configure.ac | 15 +++++++--------
3 libmb.pc.in | 2 +-
4 2 files changed, 8 insertions(+), 9 deletions(-)
5
6Index: libmatchbox-1.9/configure.ac
7===================================================================
8--- libmatchbox-1.9.orig/configure.ac 2007-11-11 22:26:43.000000000 +0000
9+++ libmatchbox-1.9/configure.ac 2007-11-11 22:52:09.000000000 +0000
10@@ -84,6 +84,7 @@ if test $have_libx11pc = yes; then
11 xft_pkg=xft
12 SUPPORTS_XFT=1
13 AC_DEFINE(USE_XFT, [1], [Use Xft])
14+ XFT_REQUIRED="xft"
15 fi
16 # XXX : xau is missing from x11.pc - workaround is too add here
17 PKG_CHECK_MODULES(XLIBS, x11 xext $xft_pkg)
18@@ -108,6 +109,7 @@ if test x$enable_xft != xno; then
19 AC_DEFINE(USE_XFT, [1], [Use Xft])
20 SUPPORTS_XFT=1
21 AC_MSG_RESULT(yes)
22+ XFT_REQUIRED="xft"
23 else
24
25 AC_PATH_PROG(XFT_CONFIG, xft-config, no)
26@@ -122,21 +124,17 @@ if test x$enable_xft != xno; then
27 AC_DEFINE(USE_XFT, [1], [Use Xft])
28 SUPPORTS_XFT=1
29 AC_MSG_RESULT(yes)
30+ MB_EXTRA_CFLAGS="$MB_EXTRA_CFLAGS $XFT_CFLAGS"
31+ MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XFT_LIBS"
32 fi
33 fi
34 fi
35
36 XLIBS_CFLAGS="$XLIBS_CLAGS $XFT_CFLAGS"
37-XLIBS_LIBS="$X_LIBS $XFT_LIBS -lX11 -lXext"
38-
39-MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XLIBS_LIBS"
40+XLIBS_LIBS="$XLIBS_LIBS $XFT_LIBS -lX11 -lXext"
41
42 fi
43
44-# do this here for freetype include
45-MB_EXTRA_CFLAGS="$MB_EXTRA_CFLAGS $XLIBS_CFLAGS"
46-
47-
48 dnl ------ Check for Pango ---------------------------------------------------
49
50 if test x$enable_pango != xno; then
51@@ -172,7 +170,7 @@ if test x$enable_png != xno; then
52 AC_DEFINE(USE_PNG, [1], [Use Png])
53 SUPPORTS_PNG=1
54 PNG_LIBS="-lpng -lz"
55- MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XLIBS_LIBS $PNG_LIBS"
56+ MB_EXTRA_LIBS="$MB_EXTRA_LIBS $PNG_LIBS"
57 else
58 AC_MSG_WARN([*** Cannot find PNG, disabling support])
59 enable_png=no
60@@ -340,6 +338,7 @@ AC_SUBST(MB_EXTRA_CFLAGS)
61 AC_SUBST(XLIBS_REQUIRED)
62 AC_SUBST(PANGO_REQUIRED)
63 AC_SUBST(PNG_REQUIRED)
64+AC_SUBST(XFT_REQUIRED)
65
66 dnl ------ Below used for mbconfig.h ----------------------------------------
67
68Index: libmatchbox-1.9/libmb.pc.in
69===================================================================
70--- libmatchbox-1.9.orig/libmb.pc.in 2007-11-11 22:30:47.000000000 +0000
71+++ libmatchbox-1.9/libmb.pc.in 2007-11-11 22:31:01.000000000 +0000
72@@ -7,6 +7,6 @@ Name: libmb
73 Description: Utility Library used by Matchbox utilities.
74 Version: @VERSION@
75
76-Requires: @XLIBS_REQUIRED@ @PANGO_REQUIRED@ @PNG_REQUIRED@
77+Requires: @XLIBS_REQUIRED@ @PANGO_REQUIRED@ @PNG_REQUIRED@ @XFT_REQUIRED@
78 Libs: -L${libdir} -lmb @MB_EXTRA_LIBS@
79 Cflags: -I${includedir} @MB_EXTRA_CFLAGS@
diff --git a/meta/recipes-graphics/libmatchbox/files/fix-configure-for-1.9.patch b/meta/recipes-graphics/libmatchbox/files/fix-configure-for-1.9.patch
new file mode 100644
index 0000000000..990b738e66
--- /dev/null
+++ b/meta/recipes-graphics/libmatchbox/files/fix-configure-for-1.9.patch
@@ -0,0 +1,14 @@
1diff -urNd ../libmatchbox-1.6-r1/libmatchbox-1.6/configure.ac libmatchbox-1.6/configure.ac
2--- ../libmatchbox-1.6-r1/libmatchbox-1.6/configure.ac 2005-01-11 21:47:39 +00:00
3+++ libmatchbox-1.6/configure.ac 2005-03-14 03:06:25 +00:00
4@@ -2,9 +2,9 @@
5 AC_INIT([libmatchbox], 1.6, [mallum@handhelds.org])
6 AC_CONFIG_SRCDIR([libmb/mbtray.c])
7
8+AC_CONFIG_AUX_DIR(.)
9 AM_INIT_AUTOMAKE()
10 AM_CONFIG_HEADER([config.h])
11-AC_CONFIG_AUX_DIR(.)
12
13 # Checks for programs.
14 AC_GNU_SOURCE
diff --git a/meta/recipes-graphics/libmatchbox/libmatchbox.inc b/meta/recipes-graphics/libmatchbox/libmatchbox.inc
new file mode 100644
index 0000000000..fdc866fe02
--- /dev/null
+++ b/meta/recipes-graphics/libmatchbox/libmatchbox.inc
@@ -0,0 +1,17 @@
1DESCRIPTION = "Matchbox window manager core library"
2HOMEPAGE = "http://matchbox-project.org/"
3BUGTRACKER = "http://bugzilla.openedhand.com/"
4
5LICENSE = "LGPLv2+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \
7 file://libmb/mbexp.c;endline=20;md5=28c0aef3b23e308464f5dae6a11b0d2f \
8 file://libmb/mbdotdesktop.c;endline=21;md5=5a287156b3207e851c1d68d09c439b51"
9
10SECTION = "x11/libs"
11DEPENDS = "virtual/libx11 libxext expat libxft jpeg libpng zlib libxsettings-client startup-notification"
12
13inherit autotools pkgconfig
14
15EXTRA_OECONF = "--enable-jpeg --enable-expat --enable-xsettings --enable-startup-notification"
16
17S = "${WORKDIR}/libmatchbox-${PV}"
diff --git a/meta/recipes-graphics/libmatchbox/libmatchbox_1.9.bb b/meta/recipes-graphics/libmatchbox/libmatchbox_1.9.bb
new file mode 100644
index 0000000000..1d7d9c8f44
--- /dev/null
+++ b/meta/recipes-graphics/libmatchbox/libmatchbox_1.9.bb
@@ -0,0 +1,12 @@
1require libmatchbox.inc
2
3PR = "r7"
4
5SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/${PV}/${PN}-${PV}.tar.gz \
6 file://16bppfixes.patch;patch=1 \
7 file://configure_fixes.patch;patch=1 \
8 file://check.m4"
9
10do_configure_prepend () {
11 cp ${WORKDIR}/check.m4 ${S}/
12}
diff --git a/meta/recipes-graphics/libmatchbox/libmatchbox_svn.bb b/meta/recipes-graphics/libmatchbox/libmatchbox_svn.bb
new file mode 100644
index 0000000000..3cdcd324f4
--- /dev/null
+++ b/meta/recipes-graphics/libmatchbox/libmatchbox_svn.bb
@@ -0,0 +1,16 @@
1require libmatchbox.inc
2
3PV = "1.7+svnr${SRCREV}"
4PR = "r4"
5DEFAULT_PREFERENCE = "-1"
6
7SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
8 file://configure_fixes.patch;patch=1 \
9 file://check.m4 \
10 file://16bppfixes.patch;patch=1"
11
12S = "${WORKDIR}/libmatchbox"
13
14do_configure_prepend () {
15 cp ${WORKDIR}/check.m4 ${S}/
16}