summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/libmatchbox
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-graphics/libmatchbox
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadpoky-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
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}