summaryrefslogtreecommitdiffstats
path: root/package/matchbox-lib
diff options
context:
space:
mode:
Diffstat (limited to 'package/matchbox-lib')
-rw-r--r--package/matchbox-lib/0001-index-is-legacy.patch35
-rw-r--r--package/matchbox-lib/0002-libpng15.patch26
-rw-r--r--package/matchbox-lib/0003-include-setjmp-h.patch17
-rw-r--r--package/matchbox-lib/Config.in2
-rw-r--r--package/matchbox-lib/matchbox-lib.hash2
-rw-r--r--package/matchbox-lib/matchbox-lib.mk57
6 files changed, 139 insertions, 0 deletions
diff --git a/package/matchbox-lib/0001-index-is-legacy.patch b/package/matchbox-lib/0001-index-is-legacy.patch
new file mode 100644
index 0000000000..b486fb18d4
--- /dev/null
+++ b/package/matchbox-lib/0001-index-is-legacy.patch
@@ -0,0 +1,35 @@
+index() is a legacy function, not implemented in some uClibc
+configurations.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ libmb/mbexp.c | 2 +-
+ libmb/mbmenu.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+Index: libmatchbox-1.9/libmb/mbexp.c
+===================================================================
+--- libmatchbox-1.9.orig/libmb/mbexp.c
++++ libmatchbox-1.9/libmb/mbexp.c
+@@ -492,7 +492,7 @@
+
+ /* get the family */
+
+- if (index(spec, ',') != NULL || index(spec, '-') != NULL)
++ if (strchr(spec, ',') != NULL || strchr(spec, '-') != NULL)
+ has_comma_delim = True;
+
+ while (!got_family) {
+Index: libmatchbox-1.9/libmb/mbmenu.c
+===================================================================
+--- libmatchbox-1.9.orig/libmb/mbmenu.c
++++ libmatchbox-1.9/libmb/mbmenu.c
+@@ -433,7 +433,7 @@
+ {
+ s = p;
+ found = NULL;
+- while(index("/\0", *p) == NULL) p++;
++ while(strchr("/\0", *p) == NULL) p++;
+ if (*p != '\0') { *p = '\0'; p++; };
+
+ item = current->items;
diff --git a/package/matchbox-lib/0002-libpng15.patch b/package/matchbox-lib/0002-libpng15.patch
new file mode 100644
index 0000000000..3d68573b5f
--- /dev/null
+++ b/package/matchbox-lib/0002-libpng15.patch
@@ -0,0 +1,26 @@
+Support for libpng 1.5+ shamelessly taken from Gentoo.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+--- a/libmb/mbpixbuf.c
++++ b/libmb/mbpixbuf.c
+@@ -247,7 +247,7 @@
+ return NULL;
+ }
+
+- if ( setjmp( png_ptr->jmpbuf ) ) {
++ if ( setjmp( png_jmpbuf(png_ptr) ) ) {
+ png_destroy_read_struct( &png_ptr, &info_ptr, NULL);
+ fclose(fd);
+ return NULL;
+@@ -269,8 +269,8 @@
+ ( color_type == PNG_COLOR_TYPE_GRAY_ALPHA ))
+ png_set_gray_to_rgb(png_ptr);
+
+- if ( info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA
+- || info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA
++ if ( color_type == PNG_COLOR_TYPE_RGB_ALPHA
++ || color_type == PNG_COLOR_TYPE_GRAY_ALPHA
+ )
+ *has_alpha = 1;
+ else
diff --git a/package/matchbox-lib/0003-include-setjmp-h.patch b/package/matchbox-lib/0003-include-setjmp-h.patch
new file mode 100644
index 0000000000..72e1e45d8f
--- /dev/null
+++ b/package/matchbox-lib/0003-include-setjmp-h.patch
@@ -0,0 +1,17 @@
+matchbox-lib: include setjmp.h
+
+Based on this upstream patch:
+
+ http://git.yoctoproject.org/cgit/cgit.cgi/libmatchbox/commit/?id=9315bcce1f01e7d6c00161442d61d3c676794d9d
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+--- libmatchbox-1.9/libmb/mbpixbuf.c.orig 2014-02-21 12:45:46.867035956 +0000
++++ libmatchbox-1.9/libmb/mbpixbuf.c 2014-02-21 12:46:43.482949583 +0000
+@@ -22,6 +22,7 @@
+
+ #include <strings.h>
+ #include "mbpixbuf.h"
++#include <setjmp.h>
+
+ #define BYTE_ORD_24_RGB 0
+ #define BYTE_ORD_24_RBG 1
diff --git a/package/matchbox-lib/Config.in b/package/matchbox-lib/Config.in
new file mode 100644
index 0000000000..480e6fe4b2
--- /dev/null
+++ b/package/matchbox-lib/Config.in
@@ -0,0 +1,2 @@
+config BR2_PACKAGE_MATCHBOX_LIB
+ bool
diff --git a/package/matchbox-lib/matchbox-lib.hash b/package/matchbox-lib/matchbox-lib.hash
new file mode 100644
index 0000000000..6f3a6531ee
--- /dev/null
+++ b/package/matchbox-lib/matchbox-lib.hash
@@ -0,0 +1,2 @@
+# From http://downloads.yoctoproject.org/releases/matchbox/libmatchbox/1.9/libmatchbox-1.9.tar.bz2.md5
+md5 9f73e7515cc4679171a5db180dc1343b libmatchbox-1.9.tar.bz2
diff --git a/package/matchbox-lib/matchbox-lib.mk b/package/matchbox-lib/matchbox-lib.mk
new file mode 100644
index 0000000000..3b697bbc5f
--- /dev/null
+++ b/package/matchbox-lib/matchbox-lib.mk
@@ -0,0 +1,57 @@
+################################################################################
+#
+# matchbox-lib
+#
+################################################################################
+
+MATCHBOX_LIB_VERSION = 1.9
+MATCHBOX_LIB_SOURCE = libmatchbox-$(MATCHBOX_LIB_VERSION).tar.bz2
+MATCHBOX_LIB_SITE = http://downloads.yoctoproject.org/releases/matchbox/libmatchbox/$(MATCHBOX_LIB_VERSION)
+MATCHBOX_LIB_LICENSE = LGPLv2.1+
+MATCHBOX_LIB_LICENSE_FILES = COPYING
+MATCHBOX_LIB_INSTALL_STAGING = YES
+MATCHBOX_LIB_DEPENDENCIES = host-pkgconf expat xlib_libXext
+MATCHBOX_LIB_CONF_OPTS = --enable-expat --disable-doxygen-docs
+MATCHBOX_LIB_CONF_ENV = LIBS="-lX11"
+
+define MATCHBOX_LIB_POST_INSTALL_FIXES
+ $(SED) 's:-I[^$$].*/usr/include/freetype2:-I/usr/include/freetype2:' $(STAGING_DIR)/usr/lib/pkgconfig/libmb.pc
+endef
+
+MATCHBOX_LIB_POST_INSTALL_STAGING_HOOKS += MATCHBOX_LIB_POST_INSTALL_FIXES
+
+ifeq ($(BR2_PACKAGE_X11R7_LIBXCOMPOSITE),y)
+ifeq ($(BR2_PACKAGE_X11R7_LIBXPM),y)
+MATCHBOX_LIB_DEPENDENCIES += xlib_libXpm
+endif
+endif
+
+ifeq ($(BR2_PACKAGE_JPEG),y)
+MATCHBOX_LIB_CONF_OPTS += --enable-jpeg
+MATCHBOX_LIB_DEPENDENCIES += jpeg
+else
+MATCHBOX_LIB_CONF_OPTS += --disable-jpeg
+endif
+
+ifeq ($(BR2_PACKAGE_LIBPNG),y)
+MATCHBOX_LIB_CONF_OPTS += --enable-png
+MATCHBOX_LIB_DEPENDENCIES += libpng
+else
+MATCHBOX_LIB_CONF_OPTS += --disable-png
+endif
+
+ifeq ($(BR2_PACKAGE_PANGO)$(BR2_PACKAGE_XLIB_LIBXFT)$(BR2_PACKAGE_XLIB_LIBXRENDER),yyy)
+MATCHBOX_LIB_CONF_OPTS += --enable-pango
+MATCHBOX_LIB_DEPENDENCIES += pango
+else
+MATCHBOX_LIB_CONF_OPTS += --disable-pango
+endif
+
+ifeq ($(BR2_PACKAGE_XLIB_LIBXFT),y)
+MATCHBOX_LIB_CONF_OPTS += --enable-xft
+MATCHBOX_LIB_DEPENDENCIES += xlib_libXft
+else
+MATCHBOX_LIB_CONF_OPTS += --disable-xft
+endif
+
+$(eval $(autotools-package))
OpenPOWER on IntegriCloud