diff options
Diffstat (limited to 'meta/recipes-graphics')
421 files changed, 17591 insertions, 0 deletions
diff --git a/meta/recipes-graphics/builder/builder_0.1.bb b/meta/recipes-graphics/builder/builder_0.1.bb new file mode 100644 index 000000000..cb5f440c8 --- /dev/null +++ b/meta/recipes-graphics/builder/builder_0.1.bb @@ -0,0 +1,30 @@ +SUMMARY = "New user to do specific job" +DESCRIPTION = "This recipe create a new user named ${PN}, who is used for specific jobs like building. The task can be auto started via mini X" +SECTION = "x11" +PR = "r3" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://builder_hob_start.sh;endline=5;md5=84796c3c41785d86100fdabcbdade00e" + +SRC_URI = "file://builder_hob_start.sh \ + file://please_wait_dialog.py \ + " + +S = "${WORKDIR}" + +RDEPENDS_${PN} = "mini-x-session" + +inherit useradd + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --create-home \ + --groups video,tty,audio \ + --user-group ${PN}" + +do_install () { + install -d -m 755 ${D}/etc/mini_x/session.d + install -p -m 755 builder_hob_start.sh ${D}/etc/mini_x/session.d/ + + chown ${PN}.${PN} ${D}/etc/mini_x/session.d/builder_hob_start.sh + install -p -m 755 please_wait_dialog.py ${D}/etc/mini_x +} + diff --git a/meta/recipes-graphics/builder/files/builder_hob_start.sh b/meta/recipes-graphics/builder/files/builder_hob_start.sh new file mode 100644 index 000000000..883535b0c --- /dev/null +++ b/meta/recipes-graphics/builder/files/builder_hob_start.sh @@ -0,0 +1,22 @@ +#!/bin/sh +#This script will be called via mini X session on behalf of file owner, after +#installed in /etc/mini_x/session.d/. Any auto start jobs including X apps can +#be put here + +# start hob here +export PSEUDO_PREFIX=/usr +export PSEUDO_LOCALSTATEDIR=/home/builder/pseudo +export PSEUDO_LIBDIR=/usr/lib/pseudo/lib64 + +cd /home/builder/poky +. ./oe-init-build-env + +#uncomment the settings for BB_NUMBER_THREADS and PARALLEL_MAKE +sed -i 's/^#BB_NUMBER_THREADS =/BB_NUMBER_THREADS =/g' conf/local.conf +sed -i 's/^#PARALLEL_MAKE =/PARALLEL_MAKE =/g' conf/local.conf + +hob & + +matchbox-terminal& + +/etc/mini_x/please_wait_dialog.py & diff --git a/meta/recipes-graphics/builder/files/please_wait_dialog.py b/meta/recipes-graphics/builder/files/please_wait_dialog.py new file mode 100644 index 000000000..fd2381bc8 --- /dev/null +++ b/meta/recipes-graphics/builder/files/please_wait_dialog.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python +import glib +import gtk + +def destroy_window_cb(widget, event): + gtk.main_quit() + +def all_done_cb(): + gtk.main_quit() + +def dialogue_ui(): + window = gtk.Window() + window.set_title("Please wait...") + window.connect("delete-event", destroy_window_cb) + window.show() + window.set_border_width(12) + + msg = "Please wait while BitBake initializes Hob" + label = gtk.Label(msg) + label.show() + window.add(label) + + glib.timeout_add_seconds(10, all_done_cb) + +if __name__ == "__main__": + dialogue_ui() + gtk.main() + diff --git a/meta/recipes-graphics/cairo/cairo-fpu.inc b/meta/recipes-graphics/cairo/cairo-fpu.inc new file mode 100644 index 000000000..bf5a1b01e --- /dev/null +++ b/meta/recipes-graphics/cairo/cairo-fpu.inc @@ -0,0 +1,6 @@ + +def get_cairo_fpu_setting(bb, d): + if d.getVar('TARGET_FPU', True) in [ 'soft' ]: + return "--disable-some-floating-point" + return "" + diff --git a/meta/recipes-graphics/cairo/cairo.inc b/meta/recipes-graphics/cairo/cairo.inc new file mode 100644 index 000000000..3059faeed --- /dev/null +++ b/meta/recipes-graphics/cairo/cairo.inc @@ -0,0 +1,31 @@ +SUMMARY = "The Cairo 2D vector graphics library" +DESCRIPTION = "Cairo is a multi-platform library providing anti-aliased \ +vector-based rendering for multiple target backends. Paths consist \ +of line segments and cubic splines and can be rendered at any width \ +with various join and cap styles. All colors may be specified with \ +optional translucence (opacity/alpha) and combined using the \ +extended Porter/Duff compositing algebra as found in the X Render \ +Extension." +HOMEPAGE = "http://cairographics.org" +BUGTRACKER = "http://bugs.freedesktop.org" +SECTION = "libs" +LICENSE = "MPL-1 & LGPLv2.1" +X11DEPENDS = "virtual/libx11 libsm libxrender" +DEPENDS = "libpng fontconfig pixman glib-2.0" +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'gtk-directfb', 'gtk-directfb', '', d)}" +PACKAGECONFIG[x11] = "--with-x=yes,--without-x,${X11DEPENDS}" +PACKAGECONFIG[gtk-directfb] = "--enable-directfb=yes,,directfb" +BBCLASSEXTEND = "native" + +#check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points +require cairo-fpu.inc +EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} \ + --enable-tee \ + " + + +inherit autotools pkgconfig + +# We don't depend on binutils so we need to disable this +export ac_cv_lib_bfd_bfd_openr="no" diff --git a/meta/recipes-graphics/cairo/cairo_1.12.2.bb b/meta/recipes-graphics/cairo/cairo_1.12.2.bb new file mode 100644 index 000000000..c2e7cc605 --- /dev/null +++ b/meta/recipes-graphics/cairo/cairo_1.12.2.bb @@ -0,0 +1,47 @@ +require cairo.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77" + +PR = "r0" + +SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz" + +SRC_URI[md5sum] = "87649eb75789739d517c743e94879e51" +SRC_URI[sha256sum] = "b786bc4a70542bcb09f2d9d13e5e6a0c86408cbf6d1edde5f0de807eecf93f96" + +PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils" + +SUMMARY_${PN} = "The Cairo 2D vector graphics library" +DESCRIPTION_${PN} = "Cairo is a multi-platform library providing anti-aliased \ +vector-based rendering for multiple target backends. Paths consist \ +of line segments and cubic splines and can be rendered at any width \ +with various join and cap styles. All colors may be specified with \ +optional translucence (opacity/alpha) and combined using the \ +extended Porter/Duff compositing algebra as found in the X Render \ +Extension." + +SUMMARY_cairo-gobject = "The Cairo library GObject wrapper library" +DESCRIPTION_cairo-gobject = "A GObject wrapper library for the Cairo API." + +SUMMARY_cairo-script-interpreter = "The Cairo library script interpreter" +DESCRIPTION_cairo-script-interpreter = "The Cairo script interpreter implements \ +CairoScript. CairoScript is used by tracing utilities to enable the ability \ +to replay rendering." + +DESCRIPTION_cairo-perf-utils = "The Cairo library performance utilities" + +FILES_${PN} = "${libdir}/libcairo.so.*" +FILES_${PN}-dev += "${libdir}/cairo/*.la ${libdir}/cairo/*.so" +#FILES_${PN}-dbg += "${libdir}/cairo/.debug" +#FILES_${PN}-staticdev += "${libdir}/cairo/*.a" +FILES_cairo-gobject = "${libdir}/libcairo-gobject.so.*" +FILES_cairo-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*" +FILES_cairo-perf-utils = "${bindir}/cairo-trace ${libdir}/cairo/libcairo-trace.so.*" + +do_install_append () { + rm -rf ${D}${bindir}/cairo-sphinx + rm -rf ${D}${libdir}/cairo/cairo-fdr* + rm -rf ${D}${libdir}/cairo/cairo-sphinx* + rm -rf ${D}${libdir}/cairo/.debug/cairo-fdr* + rm -rf ${D}${libdir}/cairo/.debug/cairo-sphinx* +} diff --git a/meta/recipes-graphics/clutter/clutter-1.8_1.8.4.bb b/meta/recipes-graphics/clutter/clutter-1.8_1.8.4.bb new file mode 100644 index 000000000..378b6fe32 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-1.8_1.8.4.bb @@ -0,0 +1,26 @@ +require recipes-graphics/clutter/clutter.inc +require recipes-graphics/clutter/clutter-package.inc + +# We're API/ABI compatible and this may make things easier for layers +PROVIDES += "clutter-1.6" + +PACKAGES =+ "${PN}-examples" +FILES_${PN}-examples = "${bindir}/test-* ${pkgdatadir}/redhand.png" + +SRC_URI = "http://source.clutter-project.org/sources/clutter/1.8/clutter-${PV}.tar.bz2 \ + file://enable_tests-1.4.patch \ + file://update_gettext_macro_version.patch" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" +# because we've namespaced PN to clutter-1.8 +S = "${WORKDIR}/clutter-${PV}" + +BASE_CONF += "--disable-introspection" + +do_configure_prepend () { + # Disable DOLT + sed -i -e 's/^DOLT//' ${S}/configure.ac +} + +SRC_URI[md5sum] = "487f70f9b59e1328b47f1db4094ab662" +SRC_URI[sha256sum] = "0d567177facd6913ac9c894e230ae48933125f02354ef965bbbf0586f1f0df91" diff --git a/meta/recipes-graphics/clutter/clutter-1.8_git.bb b/meta/recipes-graphics/clutter/clutter-1.8_git.bb new file mode 100644 index 000000000..9f7b048a9 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-1.8_git.bb @@ -0,0 +1,25 @@ +require clutter.inc +require clutter-package.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +# the 1.8.4 tag +SRCREV = "f2183fa8df3d173afbee09cc4230ab8f4e03f459" +PV = "1.8.4+git${SRCPV}" +PR = "r0" + +DEFAULT_PREFERENCE = "-1" + +SRC_URI = "git://git.gnome.org/clutter;protocol=git;branch=master \ + file://enable_tests-654c26a1301c9bc5f8e3e5e3b68af5eb1b2e0673.patch;rev=654c26a1301c9bc5f8e3e5e3b68af5eb1b2e0673 \ + file://enable_tests.patch;notrev=654c26a1301c9bc5f8e3e5e3b68af5eb1b2e0673 " +S = "${WORKDIR}/git" + +BASE_CONF += "--disable-introspection" + +AUTOTOOLS_AUXDIR = "${S}/build" + +do_configure_prepend () { + # Disable DOLT + sed -i -e 's/^DOLT//' ${S}/configure.ac +} diff --git a/meta/recipes-graphics/clutter/clutter-box2d.inc b/meta/recipes-graphics/clutter/clutter-box2d.inc new file mode 100644 index 000000000..056b09184 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-box2d.inc @@ -0,0 +1,15 @@ +DESCRIPTION = "Clutter Box2D" +HOMEPAGE = "http://www.clutter-project.org/" +LICENSE = "LGPLv2.1+" + +# The main clutter lib is machine specific so we need to be too +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit autotools pkgconfig gtk-doc + +do_install_append () { + install -d ${D}${bindir} + install ${S}/examples/.libs/blockbox ${D}${bindir} +} + +FILESPATH = "${FILE_DIRNAME}/clutter-box2d" diff --git a/meta/recipes-graphics/clutter/clutter-box2d_git.bb b/meta/recipes-graphics/clutter/clutter-box2d_git.bb new file mode 100644 index 000000000..d256a285c --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-box2d_git.bb @@ -0,0 +1,14 @@ +require clutter-box2d.inc + +LIC_FILES_CHKSUM = "file://box2d/License.txt;md5=e5d39ad91f7dc4692dcdb1d85139ec6b" + +SRCREV = "de5452e56b537a11fd7f9453d048ff4b4793b5a2" +PV = "0.12.1+git${SRCPV}" +PR = "r1" + +SRC_URI = "git://git.gnome.org/clutter-box2d.git" + +S = "${WORKDIR}/git" + +DEPENDS += "clutter-1.8" +PROVIDES = "clutter-box2d-1.6" diff --git a/meta/recipes-graphics/clutter/clutter-fpu.inc b/meta/recipes-graphics/clutter/clutter-fpu.inc new file mode 100644 index 000000000..7b5dc68e3 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-fpu.inc @@ -0,0 +1,6 @@ + +def get_clutter_fpu_setting(bb, d): + if d.getVar('TARGET_FPU', True) in [ 'soft' ]: + return "--without-fpu" + return "" + diff --git a/meta/recipes-graphics/clutter/clutter-gst-1.8_1.4.6.bb b/meta/recipes-graphics/clutter/clutter-gst-1.8_1.4.6.bb new file mode 100644 index 000000000..facb0a1ee --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-gst-1.8_1.4.6.bb @@ -0,0 +1,22 @@ +require recipes-graphics/clutter/clutter-gst.inc + +PR = "r0" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ + file://clutter-gst/clutter-gst.h;beginline=1;endline=24;md5=95baacba194e814c110ea3bdf25ddbf4" + +DEPENDS += "clutter-1.8 gstreamer" +RDEPENDS_${PN} += "gst-meta-base" + +SRC_URI = "http://source.clutter-project.org/sources/clutter-gst/1.4/clutter-gst-${PV}.tar.bz2 \ + file://enable_tests-1.8.patch" + +S = "${WORKDIR}/clutter-gst-${PV}" + +SRC_URI[md5sum] = "98aeed6baa7b3a80f10e7733080eb088" +SRC_URI[sha256sum] = "54e2966e507563bd3f123a4e25780c2487f854c6cc3df3bedc8c6b5eb45e9769" + +do_configure_prepend () { + # Disable DOLT + sed -i -e 's/^DOLT//' ${S}/configure.ac +} diff --git a/meta/recipes-graphics/clutter/clutter-gst.inc b/meta/recipes-graphics/clutter/clutter-gst.inc new file mode 100644 index 000000000..702424b4e --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-gst.inc @@ -0,0 +1,13 @@ +DESCRIPTION = "Clutter GStreamer" +HOMEPAGE = "http://www.clutter-project.org/" +LICENSE = "LGPLv2+" + +DEPENDS = "gstreamer gst-plugins-base" + +FILESPATH = "${FILE_DIRNAME}/clutter-gst" + +PACKAGES =+ "${PN}-examples" +FILES_${PN}-examples = "${bindir}/video-player ${bindir}/video-sink" + +inherit autotools pkgconfig gtk-doc + diff --git a/meta/recipes-graphics/clutter/clutter-gst/enable_tests-1.4.patch b/meta/recipes-graphics/clutter/clutter-gst/enable_tests-1.4.patch new file mode 100644 index 000000000..3fc1378a7 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-gst/enable_tests-1.4.patch @@ -0,0 +1,18 @@ +Install example binary needed for core-image-clutter + +Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> + +Upstream-Status: Inappropriate [configuration] + +Index: git/examples/Makefile.am +=================================================================== +--- git.orig/examples/Makefile.am 2011-05-04 14:07:21.000000000 -0700 ++++ git/examples/Makefile.am 2011-05-04 14:24:38.625984314 -0700 +@@ -1,6 +1,6 @@ + NULL = # + +-noinst_PROGRAMS = video-player video-sink audio-player ++bin_PROGRAMS = video-player video-sink audio-player + + INCLUDES = -I$(top_srcdir) \ + $(MAINTAINER_CFLAGS) \ diff --git a/meta/recipes-graphics/clutter/clutter-gst/enable_tests-1.8.patch b/meta/recipes-graphics/clutter/clutter-gst/enable_tests-1.8.patch new file mode 100644 index 000000000..de1dcc2ad --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-gst/enable_tests-1.8.patch @@ -0,0 +1,17 @@ +Upstream-Status: Inappropriate [embedded specific] + +Install example binary needed for poky-image-clutter + +Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> +Index: clutter-gst-1.3.8/examples/Makefile.am +=================================================================== +--- clutter-gst-1.3.8.orig/examples/Makefile.am ++++ clutter-gst-1.3.8/examples/Makefile.am +@@ -1,6 +1,6 @@ + NULL = # + +-noinst_PROGRAMS = video-player video-sink video-sink-navigation ++bin_PROGRAMS = video-player video-sink video-sink-navigation + + INCLUDES = -I$(top_srcdir) \ + $(MAINTAINER_CFLAGS) \ diff --git a/meta/recipes-graphics/clutter/clutter-gst/enable_tests.patch b/meta/recipes-graphics/clutter/clutter-gst/enable_tests.patch new file mode 100644 index 000000000..6175a521d --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-gst/enable_tests.patch @@ -0,0 +1,18 @@ +Install example binary needed for core-image-clutter + +Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> + +Upstream-Status: Inappropriate [configuration] + +Index: git/examples/Makefile.am +=================================================================== +--- git.orig/examples/Makefile.am 2011-01-31 10:14:23.000000000 +0800 ++++ git/examples/Makefile.am 2011-01-31 10:14:34.000000000 +0800 +@@ -1,6 +1,6 @@ + NULL = # + +-noinst_PROGRAMS = video-player video-sink ++bin_PROGRAMS = video-player video-sink + + INCLUDES = -I$(top_srcdir) \ + $(MAINTAINER_CFLAGS) \ diff --git a/meta/recipes-graphics/clutter/clutter-gtk-1.8_0.11.4.bb b/meta/recipes-graphics/clutter/clutter-gtk-1.8_0.11.4.bb new file mode 100644 index 000000000..0885ce15c --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-gtk-1.8_0.11.4.bb @@ -0,0 +1,11 @@ +require recipes-graphics/clutter/clutter-gtk.inc + +SRC_URI = "http://source.clutter-project.org/sources/clutter-gtk/0.11/clutter-gtk-${PV}.tar.bz2" +SRC_URI[md5sum] = "8b88cfcb0358ecfe3e9228efd55f7ebc" +SRC_URI[sha256sum] = "58d5b027c4589ff442d820f624d7991e25cbeaab795b05f2df2e4c7bc1af2cf6" + +DEPENDS += "clutter-1.8" + +inherit gettext + +S = "${WORKDIR}/clutter-gtk-${PV}"
\ No newline at end of file diff --git a/meta/recipes-graphics/clutter/clutter-gtk.inc b/meta/recipes-graphics/clutter/clutter-gtk.inc new file mode 100644 index 000000000..e8d9e1034 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-gtk.inc @@ -0,0 +1,14 @@ +DESCRIPTION = "Clutter GTK+" +HOMEPAGE = "http://www.clutter-project.org/" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" + +DEPENDS = "gtk+" + +FILESPATH = "${FILE_DIRNAME}/clutter-gtk" + +PACKAGES =+ "${PN}-examples" +FILES_${PN}-examples = "${bindir}/*" + +inherit autotools pkgconfig gtk-doc + diff --git a/meta/recipes-graphics/clutter/clutter-gtk/disable_deprecated.patch b/meta/recipes-graphics/clutter/clutter-gtk/disable_deprecated.patch new file mode 100644 index 000000000..f44755b3a --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-gtk/disable_deprecated.patch @@ -0,0 +1,21 @@ +Enable GTK_WIDGET macros + +This patch enables the macros that clutter-gtk is still using + +Signed-off-by: Saul Wold <sgw@linux.intel.com> + +Upstream-Status: Inappropriate [configuration] + +Index: git/clutter-gtk/Makefile.am +=================================================================== +--- git.orig/clutter-gtk/Makefile.am 2011-05-04 14:07:20.000000000 -0700 ++++ git/clutter-gtk/Makefile.am 2011-05-04 14:25:34.013984328 -0700 +@@ -8,8 +8,6 @@ + -DCLUTTER_GTK_COMPILATION \ + -DG_DISABLE_DEPRECATED \ + -DGDK_PIXBUF_DISABLE_DEPRECATED \ +- -DGDK_DISABLE_DEPRECATED \ +- -DGTK_DISABLE_DEPRECATED \ + -DCLUTTER_DISABLE_DEPRECATED + + AM_CPPFLAGS = \ diff --git a/meta/recipes-graphics/clutter/clutter-gtk/enable_tests.patch b/meta/recipes-graphics/clutter/clutter-gtk/enable_tests.patch new file mode 100644 index 000000000..bedf80e19 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-gtk/enable_tests.patch @@ -0,0 +1,18 @@ +Install the test binary needed for core-image-clutter + +Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> + +Upstream-Status: Inappropriate [configuration] + +Index: git/examples/Makefile.am +=================================================================== +--- git.orig/examples/Makefile.am 2011-05-04 14:07:20.000000000 -0700 ++++ git/examples/Makefile.am 2011-05-04 14:38:29.785984519 -0700 +@@ -1,6 +1,6 @@ + NULL = + +-noinst_PROGRAMS = \ ++bin_PROGRAMS = \ + gtk-clutter-events \ + gtk-clutter-multistage \ + gtk-clutter-test \ diff --git a/meta/recipes-graphics/clutter/clutter-package.inc b/meta/recipes-graphics/clutter/clutter-package.inc new file mode 100644 index 000000000..22993ffd0 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter-package.inc @@ -0,0 +1,2 @@ +PACKAGES =+ "clutter-examples" +FILES_clutter-examples = "${bindir}/test-* ${pkgdatadir}/redhand.png" diff --git a/meta/recipes-graphics/clutter/clutter.inc b/meta/recipes-graphics/clutter/clutter.inc new file mode 100644 index 000000000..9d7760f01 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter.inc @@ -0,0 +1,23 @@ +DESCRIPTION = "Clutter graphics library" +HOMEPAGE = "http://www.clutter-project.org/" +LICENSE = "LGPLv2.1+" + +# Internal json-glib was removed in Clutter 1.5.2, cogl was removed in 1.8, atk required since 1.8 +STDDEPENDS = "virtual/libx11 gtk-doc-native pango glib-2.0 libxfixes libxi json-glib cogl atk" +BASE_CONF = "--disable-gtk-doc ${@get_clutter_fpu_setting(bb, d)}" + +DEPENDS = "${STDDEPENDS} virtual/libgl" +EXTRA_OECONF = "${BASE_CONF} --with-flavour=glx" + +FILESPATH = "${FILE_DIRNAME}/clutter" + +inherit autotools pkgconfig gtk-doc gettext + +#check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points +require clutter-fpu.inc + +#Fix up some weirdness in the docs +do_configure_prepend() { + sed -i s:doc/reference/Makefile::g ${S}/configure.ac + sed -i s:doc::g ${S}/Makefile.am +} diff --git a/meta/recipes-graphics/clutter/clutter/build-fix.patch b/meta/recipes-graphics/clutter/clutter/build-fix.patch new file mode 100644 index 000000000..08c1845df --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter/build-fix.patch @@ -0,0 +1,18 @@ +Installing the same file twice causes an error in Automake 1.11 + +JL 19/03/10 + +Upstream-Status: Pending + +Index: git/clutter/Makefile.am +=================================================================== +--- git.orig/clutter/Makefile.am 2010-03-19 11:37:51.000000000 +0000 ++++ git/clutter/Makefile.am 2010-03-19 11:50:46.744042007 +0000 +@@ -219,7 +219,6 @@ + $(source_h) \ + clutter-json.h \ + clutter-enum-types.h \ +- clutter-version.h \ + clutter.h + + DISTCLEANFILES = \ diff --git a/meta/recipes-graphics/clutter/clutter/enable_tests-0.6.patch b/meta/recipes-graphics/clutter/clutter/enable_tests-0.6.patch new file mode 100644 index 000000000..8cff0c5fe --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter/enable_tests-0.6.patch @@ -0,0 +1,42 @@ +--- + tests/Makefile.am | 7 ++++++- + tests/test-actors.c | 2 +- + tests/test-text.c | 2 +- + 3 files changed, 8 insertions(+), 3 deletions(-) + +Upstream-Status: Inappropriate [configuration] + +Index: clutter-0-6/tests/Makefile.am +=================================================================== +--- clutter.orig/tests/Makefile.am 2007-11-06 12:29:17.000000000 +0000 ++++ clutter-0-6/tests/Makefile.am 2007-11-06 12:30:11.000000000 +0000 +@@ -1,4 +1,4 @@ +-noinst_PROGRAMS = test-textures test-events test-offscreen test-scale \ ++bin_PROGRAMS = test-textures test-events test-offscreen test-scale \ + test-actors test-behave test-text test-entry test-project \ + test-boxes test-perspective test-rotate test-depth \ + test-threads test-timeline test-score test-script +@@ -26,4 +26,9 @@ test_timeline_SOURCES = test-timeline.c + test_score_SOURCES = test-score.c + test_script_SOURCES = test-script.c + ++test_textdir = $(pkgdatadir) ++test_text_DATA = test-text.c ++test_actorsdir = $(pkgdatadir) ++test_actors_DATA = redhand.png ++ + EXTRA_DIST = redhand.png test-script.json +Index: clutter-0-6/tests/test-actors.c +=================================================================== +--- clutter.orig/tests/test-actors.c 2007-11-06 12:29:17.000000000 +0000 ++++ clutter-0-6/tests/test-actors.c 2007-11-06 12:29:21.000000000 +0000 +@@ -143,7 +143,7 @@ main (int argc, char *argv[]) + stage = clutter_stage_get_default (); + clutter_actor_set_size (stage, 800, 600); + +- pixbuf = gdk_pixbuf_new_from_file ("redhand.png", NULL); ++ pixbuf = gdk_pixbuf_new_from_file ("/usr/share/clutter/redhand.png", NULL); + + if (!pixbuf) + g_error("pixbuf load failed"); + diff --git a/meta/recipes-graphics/clutter/clutter/enable_tests-0.8.patch b/meta/recipes-graphics/clutter/clutter/enable_tests-0.8.patch new file mode 100644 index 000000000..d3c196fd8 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter/enable_tests-0.8.patch @@ -0,0 +1,52 @@ +--- + tests/Makefile.am | 7 ++++++- + tests/test-actors.c | 2 +- + tests/test-text.c | 2 +- + 3 files changed, 8 insertions(+), 3 deletions(-) + +Upstream-Status: Inappropriate [configuration] + +Index: clutter/tests/Makefile.am +=================================================================== +--- clutter.orig/tests/Makefile.am 2008-06-26 16:46:26.000000000 +0100 ++++ clutter/tests/Makefile.am 2008-06-26 16:46:50.000000000 +0100 +@@ -1,4 +1,4 @@ +-noinst_PROGRAMS = test-textures test-events test-offscreen test-scale \ ++bin_PROGRAMS = test-textures test-events test-offscreen test-scale \ + test-actors test-behave test-text test-entry test-project \ + test-perspective test-rotate test-depth \ + test-threads test-timeline test-timeline-dup-frames \ +@@ -17,8 +17,8 @@ + test-invariants + + if X11_TESTS +-noinst_PROGRAMS += test-pixmap +-noinst_PROGRAMS += test-devices ++bin_PROGRAMS += test-pixmap ++bin_PROGRAMS += test-devices + endif + + INCLUDES = -I$(top_srcdir)/ -I$(top_srcdir)/clutter -I$(top_builddir)/clutter +@@ -73,4 +73,9 @@ + test_invariants_SOURCES = test-invariants.c + test_devices_SOURCES = test-devices.c + ++test_textdir = $(pkgdatadir) ++test_text_DATA = test-text.c ++test_actorsdir = $(pkgdatadir) ++test_actors_DATA = redhand.png ++ + EXTRA_DIST = redhand.png test-script.json +Index: clutter/tests/test-actors.c +=================================================================== +--- clutter.orig/tests/test-actors.c 2008-06-26 16:46:26.000000000 +0100 ++++ clutter/tests/test-actors.c 2008-06-26 16:46:31.000000000 +0100 +@@ -195,7 +195,7 @@ + /* Create a texture from file, then clone in to same resources */ + if (i == 0) + { +- if ((oh->hand[i] = clutter_texture_new_from_file ("redhand.png", ++ if ((oh->hand[i] = clutter_texture_new_from_file ("/usr/share/clutter/redhand.png", + &error)) == NULL) + { + g_error ("image load failed: %s", error->message); diff --git a/meta/recipes-graphics/clutter/clutter/enable_tests-1.0.patch b/meta/recipes-graphics/clutter/clutter/enable_tests-1.0.patch new file mode 100644 index 000000000..16460b1a1 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter/enable_tests-1.0.patch @@ -0,0 +1,34 @@ +--- + tests/Makefile.am | 7 ++++++- + tests/test-actors.c | 2 +- + tests/test-text.c | 2 +- + 3 files changed, 8 insertions(+), 3 deletions(-) + +Upstream-Status: Inappropriate [configuration] + +Index: git/tests/interactive/Makefile.am +=================================================================== +--- git.orig/tests/interactive/Makefile.am 2009-03-12 11:01:36.000000000 +0000 ++++ git/tests/interactive/Makefile.am 2009-03-12 11:04:12.000000000 +0000 +@@ -77,7 +77,7 @@ + AM_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS) + AM_LDFLAGS = $(CLUTTER_LIBS) + +-noinst_PROGRAMS = test-interactive ++bin_PROGRAMS = test-interactive + + test_interactive_SOURCES = \ + test-main.c \ +Index: git/tests/interactive/test-actors.c +=================================================================== +--- git.orig/tests/interactive/test-actors.c 2009-03-12 11:01:36.000000000 +0000 ++++ git/tests/interactive/test-actors.c 2009-03-12 11:06:32.000000000 +0000 +@@ -182,7 +182,7 @@ + oh->scaler_1 = clutter_behaviour_scale_new (alpha, 0.5, 0.5, 1.0, 1.0); + oh->scaler_2 = clutter_behaviour_scale_new (alpha, 1.0, 1.0, 0.5, 0.5); + +- real_hand = clutter_texture_new_from_file ("redhand.png", &error); ++ real_hand = clutter_texture_new_from_file ("/usr/share/clutter/redhand.png", &error); + if (real_hand == NULL) + { + g_error ("image load failed: %s", error->message); diff --git a/meta/recipes-graphics/clutter/clutter/enable_tests-1.4.patch b/meta/recipes-graphics/clutter/clutter/enable_tests-1.4.patch new file mode 100644 index 000000000..2ff76976f --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter/enable_tests-1.4.patch @@ -0,0 +1,15 @@ +Upstream-Status: Inappropriate [configuration] + +Index: git/tests/interactive/Makefile.am +=================================================================== +--- git.orig/tests/interactive/Makefile.am 2011-01-28 14:06:29.000000000 +0800 ++++ git/tests/interactive/Makefile.am 2011-01-28 14:26:59.000000000 +0800 +@@ -107,7 +107,7 @@ + + common_ldadd = $(top_builddir)/clutter/libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la + +-noinst_PROGRAMS = test-interactive ++bin_PROGRAMS = test-interactive + + test_interactive_SOURCES = test-main.c $(UNIT_TESTS) + test_interactive_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS) diff --git a/meta/recipes-graphics/clutter/clutter/enable_tests-654c26a1301c9bc5f8e3e5e3b68af5eb1b2e0673.patch b/meta/recipes-graphics/clutter/clutter/enable_tests-654c26a1301c9bc5f8e3e5e3b68af5eb1b2e0673.patch new file mode 100644 index 000000000..16460b1a1 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter/enable_tests-654c26a1301c9bc5f8e3e5e3b68af5eb1b2e0673.patch @@ -0,0 +1,34 @@ +--- + tests/Makefile.am | 7 ++++++- + tests/test-actors.c | 2 +- + tests/test-text.c | 2 +- + 3 files changed, 8 insertions(+), 3 deletions(-) + +Upstream-Status: Inappropriate [configuration] + +Index: git/tests/interactive/Makefile.am +=================================================================== +--- git.orig/tests/interactive/Makefile.am 2009-03-12 11:01:36.000000000 +0000 ++++ git/tests/interactive/Makefile.am 2009-03-12 11:04:12.000000000 +0000 +@@ -77,7 +77,7 @@ + AM_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS) + AM_LDFLAGS = $(CLUTTER_LIBS) + +-noinst_PROGRAMS = test-interactive ++bin_PROGRAMS = test-interactive + + test_interactive_SOURCES = \ + test-main.c \ +Index: git/tests/interactive/test-actors.c +=================================================================== +--- git.orig/tests/interactive/test-actors.c 2009-03-12 11:01:36.000000000 +0000 ++++ git/tests/interactive/test-actors.c 2009-03-12 11:06:32.000000000 +0000 +@@ -182,7 +182,7 @@ + oh->scaler_1 = clutter_behaviour_scale_new (alpha, 0.5, 0.5, 1.0, 1.0); + oh->scaler_2 = clutter_behaviour_scale_new (alpha, 1.0, 1.0, 0.5, 0.5); + +- real_hand = clutter_texture_new_from_file ("redhand.png", &error); ++ real_hand = clutter_texture_new_from_file ("/usr/share/clutter/redhand.png", &error); + if (real_hand == NULL) + { + g_error ("image load failed: %s", error->message); diff --git a/meta/recipes-graphics/clutter/clutter/enable_tests.patch b/meta/recipes-graphics/clutter/clutter/enable_tests.patch new file mode 100644 index 000000000..480b208cc --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter/enable_tests.patch @@ -0,0 +1,34 @@ +--- + tests/Makefile.am | 7 ++++++- + tests/test-actors.c | 2 +- + tests/test-text.c | 2 +- + 3 files changed, 8 insertions(+), 3 deletions(-) + +Upstream-Status: Inappropriate [configuration] + +Index: git/tests/interactive/Makefile.am +=================================================================== +--- git.orig/tests/interactive/Makefile.am 2009-11-30 17:39:46.000000000 +0000 ++++ git/tests/interactive/Makefile.am 2009-11-30 17:42:30.000000000 +0000 +@@ -88,7 +88,7 @@ + + common_ldadd = $(top_builddir)/clutter/libclutter-@CLUTTER_WINSYS@-@CLUTTER_API_VERSION@.la + +-noinst_PROGRAMS = test-interactive ++bin_PROGRAMS = test-interactive + + test_interactive_SOURCES = test-main.c $(UNIT_TESTS) + test_interactive_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS) +Index: git/tests/interactive/test-actors.c +=================================================================== +--- git.orig/tests/interactive/test-actors.c 2009-11-30 17:39:46.000000000 +0000 ++++ git/tests/interactive/test-actors.c 2009-11-30 17:43:03.000000000 +0000 +@@ -178,7 +178,7 @@ + oh->scaler_1 = clutter_behaviour_scale_new (alpha, 0.5, 0.5, 1.0, 1.0); + oh->scaler_2 = clutter_behaviour_scale_new (alpha, 1.0, 1.0, 0.5, 0.5); + +- file = g_build_filename (TESTS_DATADIR, "redhand.png", NULL); ++ file = g_build_filename (TESTS_DATADIR, "/usr/share/clutter/redhand.png", NULL); + real_hand = clutter_texture_new_from_file (file, &error); + if (real_hand == NULL) + g_error ("image load failed: %s", error->message); diff --git a/meta/recipes-graphics/clutter/clutter/symconflict.patch b/meta/recipes-graphics/clutter/clutter/symconflict.patch new file mode 100644 index 000000000..05f3d2750 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter/symconflict.patch @@ -0,0 +1,33 @@ +Upstream-Status: Pending + +Index: git/tests/test-depth.c +=================================================================== +--- git.orig/tests/test-depth.c 2009-05-24 14:54:40.000000000 +0100 ++++ git/tests/test-depth.c 2009-05-24 14:55:13.000000000 +0100 +@@ -11,13 +11,13 @@ + clutter_timeline_start (timeline); + } + +-static ClutterActor *raise[2]; ++static ClutterActor *clutterraise[2]; + static gboolean raise_no = 0; + + static gboolean + raise_top (gpointer ignored) + { +- clutter_actor_raise_top (raise[raise_no]); ++ clutter_actor_raise_top (clutterraise[raise_no]); + raise_no = !raise_no; + return TRUE; + } +@@ -202,8 +202,8 @@ + + clutter_timeline_start (timeline); + +- raise[0] = rect; +- raise[1] = hand; ++ clutterraise[0] = rect; ++ clutterraise[1] = hand; + g_timeout_add (2000, raise_top, NULL); + + clutter_main (); diff --git a/meta/recipes-graphics/clutter/clutter/test-conformance-fix.patch b/meta/recipes-graphics/clutter/clutter/test-conformance-fix.patch new file mode 100644 index 000000000..ccc6c2a32 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter/test-conformance-fix.patch @@ -0,0 +1,68 @@ +Compiling conformance test leads running test-conformance target binary, and +gets failure in cross-compile environment. Introduce this commit from upstream +to fix it. + +Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> + + +commit 7fd6273c25569fe4f37ad371532d93e5170e51f7 +Author: Neil Roberts <neil@linux.intel.com> +Date: Mon Oct 11 16:16:45 2010 +0100 + + tests: Generate the stub scripts using sed + + Instead of trying to run ./test-conformance with the -l option to + generate a list of available tests it now runs sed on the + test-conform-main.c file instead. Running the generated executable is + a pain for cross-compiling so it would be nice to avoid it unless it's + absolutely necessary. Although you could tell people who are cross + compiling to just disable the conformance tests, this seems a shame + because they could still be useful along with the wrappers for example + if the cross compile is built to a shared network folder where the + tests can be run on the actual device. + + The sed script is a little more ugly than it could be because it tries + to avoid using the GNU extensions '\+' and '\|'. + + The script ends up placing restrictions on the format of the C file + because the tests must all be listed on one line each. There is now a + comment to explain this. Hopefully the trade off is worth it. + + http://bugzilla.clutter-project.org/show_bug.cgi?id=2363 + +Upstream-Status: Backport + +diff --git a/tests/conform/Makefile.am b/tests/conform/Makefile.am +index 3036639..1e723e7 100644 +--- a/tests/conform/Makefile.am ++++ b/tests/conform/Makefile.am +@@ -89,9 +89,11 @@ test_conformance_SOURCES = $(common_sources) $(units_sources) + + wrappers: stamp-test-conformance + @true +-stamp-test-conformance: Makefile test-conformance$(EXEEXT) ++stamp-test-conformance: Makefile $(srcdir)/test-conform-main.c + @mkdir -p wrappers +- @( $(abs_builddir)/test-conformance$(EXEEXT) -l -m thorough | $(GREP) '^/' ) > unit-tests ++ @sed -n -e 's/^ \{1,\}TEST_CONFORM_SIMPLE *(.*"\([^",]\{1,\}\)", *\([a-zA-Z0-9_]\{1,\}\).*/\/conform\1\/\2/p' \ ++ -e 's/^ \{1,\}TEST_CONFORM_SKIP *(.*"\([^",]\{1,\}\)", *\([a-zA-Z0-9_]\{1,\}\).*/\/conform\1\/\2/p' \ ++ $(srcdir)/test-conform-main.c > unit-tests + @chmod +x test-launcher.sh + @( echo "/stamp-test-conformance" ; \ + echo "/test-conformance" ; \ +diff --git a/tests/conform/test-conform-main.c b/tests/conform/test-conform-main.c +index a8b3cf8..2ae7a04 100644 +--- a/tests/conform/test-conform-main.c ++++ b/tests/conform/test-conform-main.c +@@ -92,6 +92,11 @@ main (int argc, char **argv) + { + clutter_test_init (&argc, &argv); + ++ /* This file is run through a sed script during the make step so the ++ lines containing the tests need to be formatted on a single line ++ each. To comment out a test use the SKIP or TODO macros. Using ++ #if 0 would break the script. */ ++ + TEST_CONFORM_SIMPLE ("/timeline", test_timeline); + TEST_CONFORM_SKIP (!g_test_slow (), "/timeline", test_timeline_interpolate); + TEST_CONFORM_SKIP (!g_test_slow (), "/timeline", test_timeline_rewind); diff --git a/meta/recipes-graphics/clutter/clutter/update_gettext_macro_version.patch b/meta/recipes-graphics/clutter/clutter/update_gettext_macro_version.patch new file mode 100644 index 000000000..667109890 --- /dev/null +++ b/meta/recipes-graphics/clutter/clutter/update_gettext_macro_version.patch @@ -0,0 +1,32 @@ +Upstream-Status: Pending + +Signed-off-by: Saul Wold <sgw@linux.intel.com> + +Index: clutter-1.6.14/build/autotools/po.m4 +=================================================================== +--- clutter-1.6.14.orig/build/autotools/po.m4 2011-05-31 22:39:55.000000000 -0700 ++++ clutter-1.6.14/build/autotools/po.m4 2011-05-31 22:40:36.898833113 -0700 +@@ -29,7 +29,7 @@ + + dnl Release version of the gettext macros. This is used to ensure that + dnl the gettext macros and po/Makefile.in.in are in sync. +- AC_SUBST([GETTEXT_MACRO_VERSION], [0.17]) ++ AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for "make dist" to work. +Index: clutter-1.6.14/po/Makefile.in.in +=================================================================== +--- clutter-1.6.14.orig/po/Makefile.in.in 2011-05-31 22:40:05.000000000 -0700 ++++ clutter-1.6.14/po/Makefile.in.in 2011-05-31 22:40:21.030833109 -0700 +@@ -8,8 +8,8 @@ + # Please note that the actual code of GNU gettext is covered by the GNU + # General Public License and is *not* in the public domain. + # +-# Origin: gettext-0.17 +-GETTEXT_MACRO_VERSION = 0.17 ++# Origin: gettext-0.18 ++GETTEXT_MACRO_VERSION = 0.18 + + PACKAGE = @PACKAGE@ + VERSION = @VERSION@ diff --git a/meta/recipes-graphics/clutter/cogl.inc b/meta/recipes-graphics/clutter/cogl.inc new file mode 100644 index 000000000..f2ad6d126 --- /dev/null +++ b/meta/recipes-graphics/clutter/cogl.inc @@ -0,0 +1,22 @@ +DESCRIPTION = "a modern 3D graphics API with associated utility APIs" +HOMEPAGE = "http://wiki.clutter-project.org/wiki/Cogl" +LICENSE = "LGPLv2.1+" + +STDDEPENDS = "virtual/libx11 gtk-doc-native pango glib-2.0 libxfixes gdk-pixbuf libxi" +BASE_CONF = "--disable-gtk-doc ${@get_clutter_fpu_setting(bb, d)}" + +DEPENDS = "${STDDEPENDS} virtual/libgl libxcomposite" +EXTRA_OECONF = "${BASE_CONF} --with-flavour=glx" + +FILESPATH = "${FILE_DIRNAME}/cogl" + +inherit autotools pkgconfig gtk-doc gettext + +#check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points +require clutter-fpu.inc + +#Fix up some weirdness in the docs +do_configure_prepend() { + sed -i s:doc/reference/Makefile::g ${S}/configure.ac + sed -i s:doc::g ${S}/Makefile.am +} diff --git a/meta/recipes-graphics/clutter/cogl/build_for_armv4t.patch b/meta/recipes-graphics/clutter/cogl/build_for_armv4t.patch new file mode 100644 index 000000000..003e9ff5f --- /dev/null +++ b/meta/recipes-graphics/clutter/cogl/build_for_armv4t.patch @@ -0,0 +1,23 @@ +GCC will define __ARM_ARCH_4T__ when building with "-march=armv4t" so we can +check this to turn off the use of 'clz' instructions, which otherwise would +cause compile errors like "selected processor does not support ARM mode +`clz r3,r0'". + +Upstream-Status: Accepted (should be in the next cogl stable release) + +Signed-off-by: Wolfgang Denk <wd@denx.de> +Signed-off-by: Joshua Lock <josh@linux.intel.com> + +Index: cogl-1.8.2/cogl/cogl-fixed.c +=================================================================== +--- cogl-1.8.2.orig/cogl/cogl-fixed.c ++++ cogl-1.8.2/cogl/cogl-fixed.c +@@ -626,7 +626,7 @@ cogl_fixed_sqrt (CoglFixed x) + /* + * Find the highest bit set + */ +-#if defined (__arm__) ++#if defined (__arm__) && !defined(__ARM_ARCH_4T__) + /* This actually requires at least arm v5, but gcc does not seem + * to set the architecture defines correctly, and it is I think + * very unlikely that anyone will want to use clutter on anything diff --git a/meta/recipes-graphics/clutter/cogl/macro-versions.patch b/meta/recipes-graphics/clutter/cogl/macro-versions.patch new file mode 100644 index 000000000..2dcdd8e80 --- /dev/null +++ b/meta/recipes-graphics/clutter/cogl/macro-versions.patch @@ -0,0 +1,28 @@ +Upstream-Status: Inappropriate [configuration] + +Index: cogl-1.8.0/configure.ac +=================================================================== +--- cogl-1.8.0.orig/configure.ac ++++ cogl-1.8.0/configure.ac +@@ -833,7 +833,7 @@ LT_INIT([disable-static]) + dnl ================================================================ + dnl I18n stuff. + dnl ================================================================ +-AM_GNU_GETTEXT_VERSION([0.17]) ++AM_GNU_GETTEXT_VERSION([0.18]) + AM_GNU_GETTEXT([external]) + + GETTEXT_PACKAGE="cogl" +Index: cogl-1.8.0/po/Makefile.in.in +=================================================================== +--- cogl-1.8.0.orig/po/Makefile.in.in ++++ cogl-1.8.0/po/Makefile.in.in +@@ -9,7 +9,7 @@ + # General Public License and is *not* in the public domain. + # + # Origin: gettext-0.17 +-GETTEXT_MACRO_VERSION = 0.17 ++GETTEXT_MACRO_VERSION = 0.18 + + PACKAGE = @PACKAGE@ + VERSION = @VERSION@ diff --git a/meta/recipes-graphics/clutter/cogl_1.8.2.bb b/meta/recipes-graphics/clutter/cogl_1.8.2.bb new file mode 100644 index 000000000..25875f344 --- /dev/null +++ b/meta/recipes-graphics/clutter/cogl_1.8.2.bb @@ -0,0 +1,12 @@ +require cogl.inc + +PR = "r1" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "http://source.clutter-project.org/sources/cogl/1.8/${BPN}-${PV}.tar.bz2 \ + file://macro-versions.patch \ + file://build_for_armv4t.patch" + +SRC_URI[md5sum] = "3145cbf7ff162c33065ea4421c047e2f" +SRC_URI[sha256sum] = "8b647b51a4fa93034fcd74ffe86b3d4c919b0e54789108f6d065414e6162ab73" diff --git a/meta/recipes-graphics/clutter/cogl_git.bb b/meta/recipes-graphics/clutter/cogl_git.bb new file mode 100644 index 000000000..689b96528 --- /dev/null +++ b/meta/recipes-graphics/clutter/cogl_git.bb @@ -0,0 +1,21 @@ +require cogl.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +# the 1.8.2 tag +SRCREV = "e398e374e2ff0e88bc1d63577a192f8ca04a1cb5" +PV = "1.8.2+git${SRCPV}" +PR = "r1" + +DEFAULT_PREFERENCE = "-1" + +SRC_URI = "git://git.gnome.org/cogl;protocol=git;branch=master \ + file://build_for_armv4t.patch" +S = "${WORKDIR}/git" + +AUTOTOOLS_AUXDIR = "${S}/build" + +do_configure_prepend () { + # Disable DOLT + sed -i -e 's/^DOLT//' ${S}/configure.ac +} diff --git a/meta/recipes-graphics/directfb/directfb-examples_1.2.0.bb b/meta/recipes-graphics/directfb/directfb-examples_1.2.0.bb new file mode 100644 index 000000000..215426e3e --- /dev/null +++ b/meta/recipes-graphics/directfb/directfb-examples_1.2.0.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "The DirectFB-examples package contains a set of simple DirectFB \ + applications that can be used to test and demonstrate various DirectFB \ + features" +DEPENDS = "directfb" +SECTION = "libs" +LICENSE = "MIT" +PR = "r0" + +SRC_URI = " \ + http://www.directfb.org/downloads/Extras/DirectFB-examples-${PV}.tar.gz \ + " + +LIC_FILES_CHKSUM = "file://COPYING;md5=ecf6fd2b19915afc4da56043926ca18f" + +S = "${WORKDIR}/DirectFB-examples-${PV}" + +inherit autotools + +SRC_URI[md5sum] = "ce018f681b469a1d72ffc32650304b98" +SRC_URI[sha256sum] = "830a1bd6775d8680523596a88a72fd8e4c6a74bf886d3e169b06d234a5cf7e3e" diff --git a/meta/recipes-graphics/directfb/directfb.inc b/meta/recipes-graphics/directfb/directfb.inc new file mode 100644 index 000000000..515d19f4b --- /dev/null +++ b/meta/recipes-graphics/directfb/directfb.inc @@ -0,0 +1,64 @@ +SUMMARY = "Graphics abstraction library for the Linux Framebuffer Device" +DESCRIPTION = "DirectFB is a thin library that provides developers \ +with hardware graphics acceleration, input device handling and \ +abstraction, an integrated windowing system with support for \ +translucent windows and multiple display layers on top of the \ +Linux framebuffer device." +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589" + +HOMEPAGE = "http://directfb.org" +DEPENDS = "jpeg libpng freetype zlib tslib" + +SRC_URI = "http://directfb.org/downloads/Core/DirectFB-1.4/DirectFB-${PV}.tar.gz \ + file://directfb-1.2.x-fix-pkgconfig-cflags.patch \ + file://configurefix.patch" + +S = "${WORKDIR}/DirectFB-${PV}" + +LDFLAGS_append =" -lts -lm" + +inherit autotools binconfig pkgconfig + +EXTRA_OECONF = "\ + --with-gfxdrivers=none \ + --enable-libmpeg3=no \ + --enable-freetype=yes \ + --enable-sdl=no \ + --enable-vnc=no \ + --disable-x11 \ +" + +#PACKAGES_DYNAMIC = "directfb-inputdrivers-*" +# +#python populate_packages_prepend () { +# import os.path +# inputdrivers_libdir = d.expand('${libdir}/directfb-${RV}/inputdrivers') +# do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s') +#} + +# NOTE: monolithic packaging for now, should improve that eventually + + + +FILES_${PN}-dbg += "\ + ${libdir}/directfb-${RV}/*/*/.debug/*.so \ + ${libdir}/directfb-${RV}/*/.debug/*.so \ +" + +FILES_${PN}-dev += "\ + ${bindir}/directfb-config \ + ${libdir}/directfb-${RV}/systems/*.la \ + ${libdir}/directfb-${RV}/inputdrivers/*.la \ + ${libdir}/directfb-${RV}/interfaces/*/*.la \ + ${libdir}/directfb-${RV}/wm/*.la \ +" + +FILES_${PN} += "\ + ${libdir}/directfb-${RV}/systems/*.so \ + ${libdir}/directfb-${RV}/inputdrivers/*.so \ + ${libdir}/directfb-${RV}/interfaces/*/*.so \ + ${libdir}/directfb-${RV}/wm/*.so \ + ${datadir}/directfb-${PV} \ +" diff --git a/meta/recipes-graphics/directfb/directfb/configurefix.patch b/meta/recipes-graphics/directfb/directfb/configurefix.patch new file mode 100644 index 000000000..dd8c01905 --- /dev/null +++ b/meta/recipes-graphics/directfb/directfb/configurefix.patch @@ -0,0 +1,60 @@ +Libtool needs these set correctly else we end up with pointless rpaths +such as the QA warnings: + +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfblayer contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbmaster contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgifft contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbdump contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinput contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbfx contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbscreen contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgiff contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinspector contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdfiff contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinfo contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbpenmount contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbg contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6 contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6.0.9 contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6 contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6.0.9 contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_fbdev.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_devmem.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_dummy.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/ICoreResourceManager/libicoreresourcemanager_test.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_ft2.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/wm/libdirectfbwm_default.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_zytronic.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_penmount.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_linux_input.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_serialmouse.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_mutouch.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_tslib.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_joystick.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_sonypi.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_lirc.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_wm97xx_ts.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_ps2mouse.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_keyboard.so contains probably-redundant RPATH /usr/lib + +Upstream-Status: Pending + +RP 2012/03/16 + +Index: DirectFB-1.4.15/configure.in +=================================================================== +--- DirectFB-1.4.15.orig/configure.in 2012-03-16 13:32:23.692402879 +0000 ++++ DirectFB-1.4.15/configure.in 2012-03-16 13:33:22.312400960 +0000 +@@ -97,13 +97,6 @@ + AC_CHECK_SIZEOF(long long) + AC_CHECK_FUNCS(fork) + +- +-## Work around libstuhl during cross build... +-if test "$host" != "$build"; then +- sys_lib_dlsearch_path_spec="" +- sys_lib_search_path_spec="" +-fi +- + AC_PATH_PROGS(PERL, perl5 perl) + + AC_PATH_PROG(MAN2HTML, man2html, no) diff --git a/meta/recipes-graphics/directfb/directfb/directfb-1.2.x-fix-pkgconfig-cflags.patch b/meta/recipes-graphics/directfb/directfb/directfb-1.2.x-fix-pkgconfig-cflags.patch new file mode 100644 index 000000000..ee60718f1 --- /dev/null +++ b/meta/recipes-graphics/directfb/directfb/directfb-1.2.x-fix-pkgconfig-cflags.patch @@ -0,0 +1,48 @@ +directfb: Get this patch from Openembedded + +Upstream-Status: Inappropriate [configuration] +Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> + +diff -Nur DirectFB-1.4.15/directfb-internal.pc.in DirectFB-1.4.15.new//directfb-internal.pc.in +--- DirectFB-1.4.15/directfb-internal.pc.in 2011-09-29 17:51:21.000000000 +0800 ++++ DirectFB-1.4.15.new//directfb-internal.pc.in 2011-11-03 15:14:37.000000000 +0800 +@@ -2,10 +2,10 @@ + exec_prefix=@exec_prefix@ + moduledir=@MODULEDIR@ + moduledirname=@MODULEDIRNAME@ +-includedir=@INTERNALINCLUDEDIR@ ++includedir=@includedir@ + + Name: DirectFB-Internal + Description: Third party module support package for DirectFB. + Version: @VERSION@ + Requires: directfb = @VERSION@ +-Cflags: @DFB_INTERNAL_CFLAGS@ -I@INTERNALINCLUDEDIR@ ++Cflags: @DFB_INTERNAL_CFLAGS@ -I${includedir}/directfb -I${includedir} +diff -Nur DirectFB-1.4.15/directfb.pc.in DirectFB-1.4.15.new//directfb.pc.in +--- DirectFB-1.4.15/directfb.pc.in 2011-09-29 17:51:21.000000000 +0800 ++++ DirectFB-1.4.15.new//directfb.pc.in 2011-11-03 15:15:55.000000000 +0800 +@@ -9,4 +9,4 @@ + Requires: @DEP_VOODOO@ fusion direct + Libs: -L${libdir} -ldirectfb @THREADLIB@ @OSX_LIBS@ + Libs.private: -L${libdir} @LIBM@ @DYNLIB@ @ZLIB_LIBS@ +-Cflags: @THREADFLAGS@ -I@INCLUDEDIR@ ++Cflags: @THREADFLAGS@ -I${includedir}/directfb +diff -Nur DirectFB-1.4.15/lib/fusion/fusion.pc.in DirectFB-1.4.15.new//lib/fusion/fusion.pc.in +--- DirectFB-1.4.15/lib/fusion/fusion.pc.in 2011-09-29 17:51:21.000000000 +0800 ++++ DirectFB-1.4.15.new//lib/fusion/fusion.pc.in 2011-11-03 15:16:46.000000000 +0800 +@@ -8,4 +8,4 @@ + Version: @VERSION@ + Requires: direct + Libs: -L${libdir} -lfusion +-Cflags: -I@INCLUDEDIR@ ++Cflags: -I${includedir}/directfb -I${includedir} +diff -Nur DirectFB-1.4.15/lib/voodoo/voodoo.pc.in DirectFB-1.4.15.new//lib/voodoo/voodoo.pc.in +--- DirectFB-1.4.15/lib/voodoo/voodoo.pc.in 2011-09-29 17:51:21.000000000 +0800 ++++ DirectFB-1.4.15.new//lib/voodoo/voodoo.pc.in 2011-11-03 15:17:34.000000000 +0800 +@@ -8,4 +8,4 @@ + Version: @VERSION@ + Requires: direct + Libs: -L${libdir} -lvoodoo +-Cflags: -I@INCLUDEDIR@ ++Cflags: -I${includedir}/directfb -I${includedir} diff --git a/meta/recipes-graphics/directfb/directfb_1.4.15.bb b/meta/recipes-graphics/directfb/directfb_1.4.15.bb new file mode 100644 index 000000000..98d6b82a5 --- /dev/null +++ b/meta/recipes-graphics/directfb/directfb_1.4.15.bb @@ -0,0 +1,20 @@ +require directfb.inc + +RV = "1.4-6" +PR = "r2" + +DEPENDS += "sysfsutils" + +EXTRA_OECONF = "\ + --enable-freetype=yes \ + --enable-zlib \ + --with-gfxdrivers=none \ + --disable-sdl \ + --disable-vnc \ + --disable-x11 \ +" + +LEAD_SONAME = "libdirectfb-1.4.so.6" + +SRC_URI[md5sum] = "9b2b90b81d7ded2a4a5caa22daeb81ef" +SRC_URI[sha256sum] = "a40e640b53da9b2b155d98bf8cb1d173b01418c04b176768307adebefa0b78a8" diff --git a/meta/recipes-graphics/drm/libdrm.inc b/meta/recipes-graphics/drm/libdrm.inc new file mode 100644 index 000000000..20d7f1fc9 --- /dev/null +++ b/meta/recipes-graphics/drm/libdrm.inc @@ -0,0 +1,22 @@ +SUMMARY = "Userspace interface to the kernel DRM services" +DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \ +stands for \"Direct Rendering Manager\", which is the kernel portion of the \ +\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \ +accelerated OpenGL drivers." +HOMEPAGE = "http://dri.freedesktop.org" +SECTION = "x11/base" +LICENSE = "MIT" +SRC_URI = "http://dri.freedesktop.org/libdrm/libdrm-${PV}.tar.bz2" +PROVIDES = "drm" +DEPENDS = "libpthread-stubs udev cairo virtual/libx11" + +#libpciaccess is required starting from libdrm 2.4.26 +DEPENDS += " libpciaccess" + +inherit autotools pkgconfig + +PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-kms" +FILES_${PN}-tests = "${bindir}/dr* ${bindir}/mode*" +FILES_${PN}-drivers = "${libdir}/libdrm_*.so.*" +FILES_${PN}-kms = "${libdir}/libkms*.so.*" + diff --git a/meta/recipes-graphics/drm/libdrm/GNU_SOURCE_definition.patch b/meta/recipes-graphics/drm/libdrm/GNU_SOURCE_definition.patch new file mode 100644 index 000000000..8eb1d5e1e --- /dev/null +++ b/meta/recipes-graphics/drm/libdrm/GNU_SOURCE_definition.patch @@ -0,0 +1,30 @@ +uclibc headers need to know if _GNU_SOURCE is defined or not and its defined +in config.h so include it first to get the definition if its there fixed build +problems on uclibc + +test_decode.c:107:2: error: implicit declaration of function 'open_memstream' [-Werror=implicit-function-declaration] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +Index: libdrm-2.4.30/intel/test_decode.c +=================================================================== +--- libdrm-2.4.30.orig/intel/test_decode.c 2012-02-03 14:28:46.409355918 -0800 ++++ libdrm-2.4.30/intel/test_decode.c 2012-02-03 14:29:02.357356689 -0800 +@@ -21,6 +21,8 @@ + * IN THE SOFTWARE. + */ + ++#include "config.h" ++ + #include <string.h> + #include <stdlib.h> + #include <stdio.h> +@@ -31,7 +33,6 @@ + #include <sys/mman.h> + #include <err.h> + +-#include "config.h" + #include "intel_bufmgr.h" + #include "intel_chipset.h" + diff --git a/meta/recipes-graphics/drm/libdrm/installtests.patch b/meta/recipes-graphics/drm/libdrm/installtests.patch new file mode 100644 index 000000000..1f39719a0 --- /dev/null +++ b/meta/recipes-graphics/drm/libdrm/installtests.patch @@ -0,0 +1,49 @@ +tests: also install tests app + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index bf1987f..d909e19 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -6,10 +6,11 @@ AM_CPPFLAGS = \ + + LDADD = $(top_builddir)/libdrm.la + +-check_PROGRAMS = \ ++bin_PROGRAMS = \ + dristat \ + drmstat + ++check_PROGRAMS = + SUBDIRS = modeprint + + if HAVE_LIBKMS +diff --git a/tests/modeprint/Makefile.am b/tests/modeprint/Makefile.am +index c4862ac..7db76ea 100644 +--- a/tests/modeprint/Makefile.am ++++ b/tests/modeprint/Makefile.am +@@ -2,7 +2,7 @@ AM_CFLAGS = \ + -I$(top_srcdir)/include/drm \ + -I$(top_srcdir) + +-noinst_PROGRAMS = \ ++bin_PROGRAMS = \ + modeprint + + modeprint_SOURCES = \ +diff --git a/tests/modetest/Makefile.am b/tests/modetest/Makefile.am +index 2191242..1d2c1b0 100644 +--- a/tests/modetest/Makefile.am ++++ b/tests/modetest/Makefile.am +@@ -4,7 +4,7 @@ AM_CFLAGS = \ + -I$(top_srcdir) \ + $(CAIRO_CFLAGS) + +-noinst_PROGRAMS = \ ++bin_PROGRAMS = \ + modetest + + modetest_SOURCES = \ diff --git a/meta/recipes-graphics/drm/libdrm_2.4.31.bb b/meta/recipes-graphics/drm/libdrm_2.4.31.bb new file mode 100644 index 000000000..6aa054292 --- /dev/null +++ b/meta/recipes-graphics/drm/libdrm_2.4.31.bb @@ -0,0 +1,12 @@ +require libdrm.inc + +LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71" + +PR = "r0" + +SRC_URI += "file://installtests.patch \ + file://GNU_SOURCE_definition.patch \ + " + +SRC_URI[md5sum] = "b8cf744ec113c6028fe0975b1133b649" +SRC_URI[sha256sum] = "8fc7e0e5b2f9bf493447a4ef7adc49174a700824457774cb53c1b8f2da866af4" diff --git a/meta/recipes-graphics/drm/libdrm_git.bb b/meta/recipes-graphics/drm/libdrm_git.bb new file mode 100644 index 000000000..c2f9855d3 --- /dev/null +++ b/meta/recipes-graphics/drm/libdrm_git.bb @@ -0,0 +1,9 @@ +require libdrm.inc + +SRC_URI = "git://anongit.freedesktop.org/git/mesa/drm;protocol=git" + +S = "${WORKDIR}/git" + +SRCREV = "3f3c5be6f908272199ccf53f108b1124bfe0a00e" +PV = "2.4.15+git${SRCPV}" +PR = "r1" diff --git a/meta/recipes-graphics/fontconfig/fontconfig-2.8.0/97_fontconfig b/meta/recipes-graphics/fontconfig/fontconfig-2.8.0/97_fontconfig new file mode 100644 index 000000000..2993959db --- /dev/null +++ b/meta/recipes-graphics/fontconfig/fontconfig-2.8.0/97_fontconfig @@ -0,0 +1 @@ +d root root 0755 /var/cache/fontconfig none diff --git a/meta/recipes-graphics/fontconfig/fontconfig-2.8.0/fix-pkgconfig.patch b/meta/recipes-graphics/fontconfig/fontconfig-2.8.0/fix-pkgconfig.patch new file mode 100644 index 000000000..30415fce7 --- /dev/null +++ b/meta/recipes-graphics/fontconfig/fontconfig-2.8.0/fix-pkgconfig.patch @@ -0,0 +1,15 @@ +Upstream-Status: Inappropriate [configuration] + +--- + fontconfig.pc.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- fontconfig-2.8.0.orig/fontconfig.pc.in ++++ fontconfig-2.8.0/fontconfig.pc.in +@@ -7,5 +7,5 @@ + Description: Font configuration and customization library + Version: @VERSION@ + Libs: -L${libdir} -lfontconfig +-Libs.private: @LIBXML2_LIBS@ @EXPAT_LIBS@ @FREETYPE_LIBS@ @ICONV_LIBS@ ++Libs.private: @LIBXML2_LIBS@ @EXPAT_LIBS@ -L${libdir} -lfreetype @ICONV_LIBS@ + Cflags: -I${includedir} diff --git a/meta/recipes-graphics/fontconfig/fontconfig-native_2.8.0.bb b/meta/recipes-graphics/fontconfig/fontconfig-native_2.8.0.bb new file mode 100644 index 000000000..a2fd409c4 --- /dev/null +++ b/meta/recipes-graphics/fontconfig/fontconfig-native_2.8.0.bb @@ -0,0 +1,12 @@ +require fontconfig_${PV}.bb +inherit native +DEPENDS = "freetype-native expat-native zlib-native" + +EXTRA_OEMAKE = "" +EXTRA_OECONF = "${@[' --disable-docs',' --disable-docs --with-freetype-config=%s/freetype-config' % d.getVar('STAGING_BINDIR', True)][os.path.isfile('%s/freetype-config' % d.getVar('STAGING_BINDIR', True))]}" + +do_install_append () { + install -d ${D}${bindir}/ + install fc-lang/fc-lang ${D}${bindir}/ + install fc-glyphname/fc-glyphname ${D}${bindir}/ +} diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.8.0.bb b/meta/recipes-graphics/fontconfig/fontconfig_2.8.0.bb new file mode 100644 index 000000000..55c04cc90 --- /dev/null +++ b/meta/recipes-graphics/fontconfig/fontconfig_2.8.0.bb @@ -0,0 +1,93 @@ +SUMMARY = "Generic font configuration library" +DESCRIPTION = "Fontconfig is a font configuration and customization library, which \ +does not depend on the X Window System. It is designed to locate \ +fonts within the system and select them according to requirements \ +specified by applications. \ +Fontconfig is not a rasterization library, nor does it impose a \ +particular rasterization library on the application. The X-specific \ +library 'Xft' uses fontconfig along with freetype to specify and \ +rasterize fonts." + +HOMEPAGE = "http://www.fontconfig.org" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig" + +LICENSE = "MIT-style & MIT & PD" +LIC_FILES_CHKSUM = "file://COPYING;md5=f3ad4145dea6ca7efa2f1bee8165a7a1 \ + file://src/fcfreetype.c;endline=45;md5=bc3dd139e2f7245a02fde5545b203a6f \ + file://src/fccache.c;beginline=1020;endline=1035;md5=0326cfeb4a7333dd4dd25fbbc4b9f27f" + +SECTION = "libs" + +DEPENDS = "expat freetype zlib" + +PR = "r4" + +SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \ + file://fix-pkgconfig.patch \ + file://97_fontconfig" + +SRC_URI[md5sum] = "77e15a92006ddc2adbb06f840d591c0e" +SRC_URI[sha256sum] = "fa2a1c6eea654d9fce7a4b1220f10c99cdec848dccaf1625c01f076b31382335" + +PACKAGES =+ "fontconfig-utils-dbg fontconfig-utils " +FILES_fontconfig-utils-dbg = "${bindir}/*.dbg" +FILES_fontconfig-utils = "${bindir}/*" + +# Work around past breakage in debian.bbclass +RPROVIDES_fontconfig-utils = "libfontconfig-utils" +RREPLACES_fontconfig-utils = "libfontconfig-utils" +RCONFLICTS_fontconfig-utils = "libfontconfig-utils" +DEBIAN_NOAUTONAME_fontconfig-utils = "1" + +PARALLEL_MAKE = "" + +inherit autotools pkgconfig + +export HASDOCBOOK="no" + +EXTRA_OECONF = " --disable-docs --with-arch=${HOST_ARCH} --with-default-fonts=${datadir}/fonts" +EXTRA_OEMAKE = "FC_LANG=fc-lang FC_GLYPHNAME=fc-glyphname" + +# The tarball has some of the patched files as read only, which +# patch doesn't like at all + +fontconfig_do_unpack() { + chmod -R u+rw ${S} +} + +python do_unpack () { + bb.build.exec_func('base_do_unpack', d) + bb.build.exec_func('fontconfig_do_unpack', d) +} + +BUILD_CFLAGS += " -I${STAGING_INCDIR}/freetype2" + +do_configure_append () { + sed -i 's|LDFLAGS =.*|LDFLAGS =|' fc-case/Makefile + sed -i 's|LDFLAGS =.*|LDFLAGS =|' fc-glyphname/Makefile + sed -i 's|LDFLAGS =.*|LDFLAGS =|' fc-lang/Makefile + sed -i 's|LDFLAGS =.*|LDFLAGS =|' fc-arch/Makefile + + sed -i 's|CFLAGS =.*|CFLAGS =${BUILD_CFLAGS}|' fc-case/Makefile + sed -i 's|CFLAGS =.*|CFLAGS =${BUILD_CFLAGS}|' fc-glyphname/Makefile + sed -i 's|CFLAGS =.*|CFLAGS =${BUILD_CFLAGS}|' fc-lang/Makefile + sed -i 's|CFLAGS =.*|CFLAGS =${BUILD_CFLAGS}|' fc-arch/Makefile + + sed -i 's|CPPFLAGS =.*|CPPFLAGS =${BUILD_CPPFLAGS}|' fc-case/Makefile + sed -i 's|CPPFLAGS =.*|CPPFLAGS =${BUILD_CPPFLAGS}|' fc-glyphname/Makefile + sed -i 's|CPPFLAGS =.*|CPPFLAGS =${BUILD_CPPFLAGS}|' fc-lang/Makefile + sed -i 's|CPPFLAGS =.*|CPPFLAGS =${BUILD_CPPFLAGS}|' fc-arch/Makefile + + sed -i 's|CXXFLAGS =.*|CFLAGS =${BUILD_CXXFLAGS}|' fc-case/Makefile + sed -i 's|CXXFLAGS =.*|CFLAGS =${BUILD_CXXFLAGS}|' fc-glyphname/Makefile + sed -i 's|CXXFLAGS =.*|CFLAGS =${BUILD_CXXFLAGS}|' fc-lang/Makefile + sed -i 's|CXXFLAGS =.*|CFLAGS =${BUILD_CXXFLAGS}|' fc-arch/Makefile + +} + +do_install_append() { + install -d ${D}${sysconfdir}/default/volatiles + install -m 0644 ${WORKDIR}/97_fontconfig ${D}${sysconfdir}/default/volatiles + rmdir ${D}${localstatedir}/cache/fontconfig + rmdir ${D}${localstatedir}/cache/ +} diff --git a/meta/recipes-graphics/freetype/freetype-2.4.8/no-hardcode.patch b/meta/recipes-graphics/freetype/freetype-2.4.8/no-hardcode.patch new file mode 100644 index 000000000..0f21d1ff2 --- /dev/null +++ b/meta/recipes-graphics/freetype/freetype-2.4.8/no-hardcode.patch @@ -0,0 +1,13 @@ +Upstream-Status: Inappropriate [configuration] + +--- freetype-2.1.10/builds/unix/freetype-config.in.old 2006-05-01 12:39:20.000000000 +0100 ++++ freetype-2.1.10/builds/unix/freetype-config.in 2006-05-01 12:39:34.000000000 +0100 +@@ -16,7 +16,7 @@ + libdir=@libdir@ + enable_shared=@enable_shared@ + wl=@wl@ +-hardcode_libdir_flag_spec='@hardcode_libdir_flag_spec@' ++hardcode_libdir_flag_spec='' + + usage() + { diff --git a/meta/recipes-graphics/freetype/freetype_2.4.8.bb b/meta/recipes-graphics/freetype/freetype_2.4.8.bb new file mode 100644 index 000000000..bce01cf21 --- /dev/null +++ b/meta/recipes-graphics/freetype/freetype_2.4.8.bb @@ -0,0 +1,56 @@ +SUMMARY = "Freetype font rendering library" +DESCRIPTION = "FreeType is a software font engine that is designed to be small, efficient, \ +highly customizable, and portable while capable of producing high-quality output (glyph \ +images). It can be used in graphics libraries, display servers, font conversion tools, text \ +image generation tools, and many other products as well." +HOMEPAGE = "http://www.freetype.org/" +BUGTRACKER = "https://savannah.nongnu.org/bugs/?group=freetype" + +LICENSE = "FreeType | GPLv2+" +LIC_FILES_CHKSUM = "file://docs/LICENSE.TXT;md5=28d5381b1bef2649c59f20c20bae4f39 \ + file://docs/FTL.TXT;md5=d479e83797f699fe873b38dadd0fcd4c \ + file://docs/GPLv2.TXT;md5=8ef380476f642c20ebf40fecb0add2ec" + +SECTION = "libs" + +PR = "r0" + +SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \ + file://no-hardcode.patch" + +SRC_URI[md5sum] = "dbf2caca1d3afd410a29217a9809d397" +SRC_URI[sha256sum] = "a9eb7da3875fcb2f022a9c280c01b94ae45ac83d8102838c05dce1277948fb71" + +S = "${WORKDIR}/freetype-${PV}" + +inherit autotools pkgconfig binconfig + +LIBTOOL = "${S}/builds/unix/${HOST_SYS}-libtool" +EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'" +EXTRA_OEMAKE_virtclass-native = "" +EXTRA_OECONF = "--without-zlib --without-bzip2" + +do_configure() { + cd builds/unix + libtoolize --force --copy + aclocal -I . + gnu-configize --force + autoconf + cd ${S} + oe_runconf +} + +do_configure_virtclass-native() { + (cd builds/unix && gnu-configize) || die "failure running gnu-configize" + oe_runconf +} + +do_compile_prepend() { + ${BUILD_CC} -o objs/apinames src/tools/apinames.c +} + +FILES_${PN} = "${libdir}/lib*${SOLIBS}" +FILES_${PN}-dev += "${bindir}" + +BBCLASSEXTEND = "native" + diff --git a/meta/recipes-graphics/fstests/files/dso_linking_change_build_fix.patch b/meta/recipes-graphics/fstests/files/dso_linking_change_build_fix.patch new file mode 100644 index 000000000..37a1f327a --- /dev/null +++ b/meta/recipes-graphics/fstests/files/dso_linking_change_build_fix.patch @@ -0,0 +1,74 @@ +Upstream-Status: Pending + +after gcc linking has changed, all the libraries must be explicitely specified +This patch avoids these linking errors: + + +| make[1]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/fstests-0.0+svnr426-r0/fstests/tests'^M +| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o test-gtk-layout test_gtk_layout-test-gtk-layout.o -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -pthread -lpangoxft-1.0 -lpangoft2-1.0 -lXft -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0^M +| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: t^A: invalid DSO for symbol `XSync' definition^M +| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so.6: could not read symbols: Bad value^M +| collect2: ld returned 1 exit status^M +| make[1]: *** [test-gtk-layout] Error 1 + + +|ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o test-pango test_pango-test-pango.o -pthread -lpangoxft-1.0 -lpangoft2-1.0 -lXft -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 +| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: �: invalid DSO for symbol `XOpenDisplay' definition +| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so.6: could not read symbols: Bad value +| collect2: ld returned 1 exit status +| make[1]: *** [test-pango] Error 1 + + +| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o test-pango-gdk test_pango_gdk-test-pango-gdk.o -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -pthread -lpangoxft-1.0 -lpangoft2-1.0 -lXft -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 +| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: t: invalid DSO for symbol `XSync' definition +| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so.6: could not read symbols: Bad value +| collect2: ld returned 1 exit status +| make[1]: *** [test-pango-gdk] Error 1 + + +| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o test-pango-gtk test_pango_gtk-test-pango-gtk.o -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -pthread -lpangoxft-1.0 -lpangoft2-1.0 -lXft -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 +| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: t: invalid DSO for symbol `XSync' definition +| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so.6: could not read symbols: Bad value +| collect2: ld returned 1 exit status +| make[1]: *** [test-pango-gtk] Error 1 + + +Nitin A Kamble <nitin.a.kamble@intel.com> +Date: 2011/01/11 + +Index: tests/Makefile.am +=================================================================== +--- tests.orig/Makefile.am ++++ tests/Makefile.am +@@ -48,19 +48,19 @@ test_xft_CFLAGS = @XLIBS_CFLAGS@ @PANGO_ + + # draws pango strings with just x + test_pango_SOURCES = test-pango.c +-test_pango_LDADD = @PANGO_LIBS@ ++test_pango_LDADD = @PANGO_LIBS@ @XLIBS_LIBS@ + test_pango_CFLAGS = @PANGO_CFLAGS@ + + #below are as above but on + + # Draws a list of Pango glyphs onto a GtkWindow with pango_xft_render + test_pango_gdk_SOURCES = test-pango-gdk.c +-test_pango_gdk_LDADD = @GTK_LIBS@ @PANGO_LIBS@ ++test_pango_gdk_LDADD = @GTK_LIBS@ @PANGO_LIBS@ @XLIBS_LIBS@ + test_pango_gdk_CFLAGS = @GTK_CFLAGS@ @PANGO_CFLAGS@ + + # Draws a list of Pango glyphs onto a GtkDrawingArea with pango_xft_render + test_pango_gtk_SOURCES = test-pango-gtk.c +-test_pango_gtk_LDADD = @GTK_LIBS@ @PANGO_LIBS@ ++test_pango_gtk_LDADD = @GTK_LIBS@ @PANGO_LIBS@ @XLIBS_LIBS@ + test_pango_gtk_CFLAGS = @GTK_CFLAGS@ @PANGO_CFLAGS@ + + # Draws a list of Pango glyphs onto a GtkWindow with gdk_draw_glyphs +@@ -76,7 +76,7 @@ test_pango_layout_CFLAGS = @GTK_CFLAGS@ + + # As above PangoLayout onto a GtkWindow with gdk_draw_layout XXX TOGO ? + test_gtk_layout_SOURCES = test-gtk-layout.c +-test_gtk_layout_LDADD = @GTK_LIBS@ @PANGO_LIBS@ ++test_gtk_layout_LDADD = @GTK_LIBS@ @PANGO_LIBS@ @XLIBS_LIBS@ + test_gtk_layout_CFLAGS = @GTK_CFLAGS@ @PANGO_CFLAGS@ + + diff --git a/meta/recipes-graphics/fstests/fstests_git.bb b/meta/recipes-graphics/fstests/fstests_git.bb new file mode 100644 index 000000000..e1623f493 --- /dev/null +++ b/meta/recipes-graphics/fstests/fstests_git.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Various benchmarning tests for X" +HOMEPAGE = "http://www.o-hand.com" +SECTION = "devel" +LICENSE = "Zlib" +DEPENDS = "pango libxext libxft virtual/libx11 gtk+" + +SRCREV = "218b99d82b56011e3f1b909e6baf22ce25af6334" +PV = "0.1+git${SRCPV}" +PR = "r0" + + +SRC_URI = "git://git.yoctoproject.org/${BPN};protocol=git \ + file://dso_linking_change_build_fix.patch" + +S = "${WORKDIR}/git/tests" + +inherit autotools + +do_install() { + install -d ${D}${bindir} + find . -name "test-*" -type f -perm -755 -exec install -m 0755 {} ${D}${bindir} \; +} + + +LIC_FILES_CHKSUM = "file://test-pango-gdk.c;endline=24;md5=1ee74ec851ecda57eb7ac6cc180f7655" diff --git a/meta/recipes-graphics/glew/files/autotools.patch b/meta/recipes-graphics/glew/files/autotools.patch new file mode 100644 index 000000000..e49959413 --- /dev/null +++ b/meta/recipes-graphics/glew/files/autotools.patch @@ -0,0 +1,149 @@ + +Upstream-Status: Inappropriate [configuration] + +Index: glew/Makefile.am +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ glew/Makefile.am 2009-12-02 00:30:23.296641663 +0100 +@@ -0,0 +1,5 @@ ++ ++ACLOCAL_AMFLAGS = -I m4 --install ++ ++SUBDIRS = include src ++ +Index: glew/configure.ac +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ glew/configure.ac 2009-12-02 00:30:23.296641663 +0100 +@@ -0,0 +1,67 @@ ++# -*- Autoconf -*- ++# Process this file with autoconf to produce a configure script. ++ ++AC_PREREQ([2.62]) ++AC_INIT([glew], [1.5.7], [BUG-REPORT-ADDRESS]) ++AC_CONFIG_SRCDIR([src/glew.c]) ++AC_CONFIG_HEADERS([config.h]) ++AM_INIT_AUTOMAKE([-Wall -Werror foreign]) ++AC_CONFIG_MACRO_DIR([m4]) ++ ++LT_INIT ++ ++# Checks for programs. ++AC_PROG_CC ++AC_PROG_INSTALL ++AC_PROG_LN_S ++ ++# Checks for libraries. ++ ++# Checks for header files. ++AC_CHECK_HEADERS([inttypes.h stddef.h stdint.h stdlib.h string.h]) ++ ++# Checks for typedefs, structures, and compiler characteristics. ++AC_TYPE_INT32_T ++AC_TYPE_INT64_T ++AC_TYPE_UINT64_T ++AC_CHECK_TYPES([ptrdiff_t]) ++ ++# Checks for library functions. ++AC_FUNC_MALLOC ++AC_CHECK_FUNCS([strtol]) ++ ++# Check for pkgconfig libs ++ ++PKG_CHECK_MODULES([X11], [x11]) ++AC_SUBST([X11_LIBS]) ++AC_SUBST([X11_CFLAGS]) ++ ++PKG_CHECK_MODULES([XMU], [xmu]) ++AC_SUBST([XMU_LIBS]) ++AC_SUBST([XMU_CFLAGS]) ++ ++PKG_CHECK_MODULES([XI], [xi]) ++AC_SUBST([XI_LIBS]) ++AC_SUBST([XI_CFLAGS]) ++ ++PKG_CHECK_MODULES([XEXT], [xext]) ++AC_SUBST([XEXT_LIBS]) ++AC_SUBST([XEXT_CFLAGS]) ++ ++# Check for GLU is enough and imples gl so no doubled -lGL in LDFLAGS ++PKG_CHECK_MODULES([GLU], [glu]) ++AC_SUBST([GLU_LIBS]) ++AC_SUBST([GLU_CFLAGS]) ++ ++# ENABLE option for Multiple Rendering Contexts support ++AC_CHECK_ENABLE_GLEWMX ++ ++# for now we use the same version as the package, but that should be avoided ++# in the future ++ ++AC_SUBST([LIBGLEW_SO_VERSION], [1:5:7]) ++ ++AC_CONFIG_FILES([Makefile ++ include/Makefile ++ src/Makefile]) ++AC_OUTPUT +Index: glew/src/Makefile.am +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ glew/src/Makefile.am 2009-12-02 00:33:48.690786110 +0100 +@@ -0,0 +1,35 @@ ++ ++AM_CPPFLAGS = -I$(top_srcdir)/include ++ ++if ENABLE_GLEWMX ++AM_CPPFLAGS += -DGLEW_MX ++endif ++ ++AM_CFLAGS = @X11_CFLAGS@ \ ++ @XMU_CFLAGS@ \ ++ @XI_CFLAGS@ \ ++ @XEXT_CFLAGS@ \ ++ @GLU_CFLAGS@ ++ ++lib_LTLIBRARIES = libGLEW.la ++ ++libGLEW_la_SOURCES = glew.c ++ ++libGLEW_la_LIBADD = @X11_LIBS@ \ ++ @XMU_LIBS@ \ ++ @XI_LIBS@ \ ++ @XEXT_LIBS@ \ ++ @GLU_LIBS@ ++ ++libGLEW_la_LDFLAGS = -version-number @LIBGLEW_SO_VERSION@ ++ ++bin_PROGRAMS = glewinfo visualinfo ++ ++glewinfo_SOURCES = glewinfo.c ++ ++glewinfo_LDADD = libGLEW.la ++ ++visualinfo_SOURCES = visualinfo.c ++ ++visualinfo_LDADD = libGLEW.la ++ +Index: glew/m4/glewmx.m4 +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ glew/m4/glewmx.m4 2009-12-02 00:30:23.296641663 +0100 +@@ -0,0 +1,11 @@ ++ ++AC_DEFUN([AC_CHECK_ENABLE_GLEWMX],[ ++AC_MSG_CHECKING([whether to include Multiple Rendering Contexts support]) ++AC_ARG_ENABLE([glewmx], ++ [AS_HELP_STRING([--enable-glewmx], [enable GLEW Multiple Rendering Contexts (default is no)])], ++ [ENABLE_GLEWMX="$enableval"], ++ [ENABLE_GLEWMX="no"]) ++AC_MSG_RESULT([${ENABLE_GLEWMX}]) ++AM_CONDITIONAL([ENABLE_GLEWMX], [test x"${ENABLE_GLEWMX}" = "xyes"]) ++]) ++ +Index: glew/include/Makefile.am +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ glew/include/Makefile.am 2009-12-02 00:30:23.296641663 +0100 +@@ -0,0 +1,3 @@ ++ ++nobase_include_HEADERS = GL/glew.h GL/glxew.h GL/wglew.h ++ diff --git a/meta/recipes-graphics/glew/glew_1.7.0.bb b/meta/recipes-graphics/glew/glew_1.7.0.bb new file mode 100644 index 000000000..e65663d54 --- /dev/null +++ b/meta/recipes-graphics/glew/glew_1.7.0.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library." +HOMEPAGE = "http://glew.sourceforge.net/" +BUGTRACKER = "http://sourceforge.net/tracker/?group_id=67586" +SECTION = "x11" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ac251558de685c6b9478d89be3149c2" + +DEPENDS = "virtual/libx11 virtual/libgl libxext libxi libxmu" + +PR = "r0" + +SRC_URI = "${SOURCEFORGE_MIRROR}/project/glew/glew/${PV}/glew-${PV}.tgz \ + file://autotools.patch \ + " + +SRC_URI[md5sum] = "fb7a8bb79187ac98a90b57f0f27a3e84" +SRC_URI[sha256sum] = "1653a63fb1e1a518c4b5ccbaf1a617f1a0b4c1c29d39ae4e2583844d98365c09" + +inherit autotools lib_package diff --git a/meta/recipes-graphics/images/core-image-clutter.bb b/meta/recipes-graphics/images/core-image-clutter.bb new file mode 100644 index 000000000..6c49a0262 --- /dev/null +++ b/meta/recipes-graphics/images/core-image-clutter.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "An image with support for the Open GL-based toolkit Clutter, \ +which enables development of rich and animated graphical user interfaces." + +IMAGE_FEATURES += "apps-console-core ${SATO_IMAGE_FEATURES}" + +LICENSE = "MIT" + +IMAGE_INSTALL = "\ + ${CORE_IMAGE_BASE_INSTALL} \ + task-core-clutter-core \ + task-core-clutter-tests \ + task-core-clutter-apps" + +inherit core-image diff --git a/meta/recipes-graphics/images/core-image-gtk-directfb.bb b/meta/recipes-graphics/images/core-image-gtk-directfb.bb new file mode 100644 index 000000000..a5fba17f8 --- /dev/null +++ b/meta/recipes-graphics/images/core-image-gtk-directfb.bb @@ -0,0 +1,28 @@ +LICENSE = "MIT" +PR="r0" + + +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + + +DEPENDS += "task-core-gtk-directfb" + +RDEPENDS_${PN} += " \ + task-core-gtk-directfb-base \ + " + +inherit core-image + +IMAGE_INSTALL += "\ + ${CORE_IMAGE_BASE_INSTALL} \ + task-core-basic \ + module-init-tools \ + task-core-gtk-directfb-base \ +" + +python __anonymous () { + packages = d.getVar('DISTRO_FEATURES', True).split() + if "x11" in packages: + raise bb.parse.SkipPackage("FEATURE \"x11\" is in DISTRO_FEATURES, Please remove \"x11\" from DISTRO_FEATURES, use \"gtk-directfb\" instead of it\n") +} diff --git a/meta/recipes-graphics/libfakekey/libfakekey_git.bb b/meta/recipes-graphics/libfakekey/libfakekey_git.bb new file mode 100644 index 000000000..6109ea0fe --- /dev/null +++ b/meta/recipes-graphics/libfakekey/libfakekey_git.bb @@ -0,0 +1,21 @@ +SUMMARY = "Library for converting characters to X key-presses" +DESCRIPTION = "libfakekey is a simple library for converting UTF-8 characters into 'fake' X \ +key-presses." +HOMEPAGE = "http://matchbox-project.org/" +BUGTRACKER = "http://bugzilla.openedhand.com/" + +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://src/libfakekey.c;endline=30;md5=602b5ccd48f64407510867f3373b448c" + +DEPENDS = "libxtst" +SECTION = "x11/wm" + +SRCREV = "e8c2e412ea4a417afc1f30e32cb7bdc508b1dccc" +PV = "0.0+git${SRCPV}" +PR = "r0" + +SRC_URI = "git://git.yoctoproject.org/${BPN};protocol=git" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig gettext 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 000000000..9bcd582e2 --- /dev/null +++ b/meta/recipes-graphics/libmatchbox/files/16bppfixes-2.patch @@ -0,0 +1,260 @@ +Upstream-Status: Pending + +--- libmatchbox/libmb/mbpixbuf.c.orig 2007-05-04 14:41:55.000000000 +0100 ++++ libmatchbox/libmb/mbpixbuf.c 2007-05-04 14:41:55.000000000 +0100 +@@ -710,46 +710,19 @@ + return colnum; + } + +- +-static unsigned long +-mb_pixbuf_get_pixel(MBPixbuf *pb, int r, int g, int b, int a) ++/* ++ * Split the mb_pixbuf_get_pixel() function into several specialized ++ * functions which we will inline; this allows us to optimize ++ * mb_pixbuf_img_render_to_drawable_with_gc () by taking some of the ++ * decision taking outside of the double loop ++ */ ++ ++/* ++ * Get pixel value for rgb values and pixel depth <= 8 ++ */ ++static inline unsigned long ++mb_pixbuf_get_pixel_le8_rgb (MBPixbuf *pb, int r, int g, int b) + { +- if (pb->depth > 8) +- { +- switch (pb->depth) +- { +- case 15: +- return ((r & 0xf8) << 7) | ((g & 0xf8) << 2) | ((b & 0xf8) >> 3); +- case 16: +- return ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | ((b & 0xf8) >> 3); +- case 24: +- case 32: +- switch (pb->byte_order) +- { +- case BYTE_ORD_24_RGB: +- return ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); +- case BYTE_ORD_24_RBG: +- return ((r & 0xff) << 16) | ((b & 0xff) << 8) | (g & 0xff); +- case BYTE_ORD_24_BRG: +- return ((b & 0xff) << 16) | ((r & 0xff) << 8) | (g & 0xff); +- case BYTE_ORD_24_BGR: +- return ((b & 0xff) << 16) | ((g & 0xff) << 8) | (r & 0xff); +- case BYTE_ORD_24_GRB: +- return ((g & 0xff) << 16) | ((r & 0xff) << 8) | (b & 0xff); +- case BYTE_ORD_24_GBR: +- return ((g & 0xff) << 16) | ((b & 0xff) << 8) | (r & 0xff); +- case BYTE_ORD_32_ARGB: +- return (a << 24) | (r << 16) | (g << 8) | b; +- default: +- return 0; +- } +- default: +- return 0; +- } +- return 0; +- } +- +- /* pb->depth <= 8 */ + switch(pb->vis->class) + { + case PseudoColor: +@@ -794,6 +767,111 @@ + return 0; + } + ++/* ++ * Get pixel value from a pointer to 16bbp value for pixel depth <= 8 ++ * and advance the pointer ++ */ ++static inline unsigned long ++mb_pixbuf_get_pixel_le8_16bpp_advance (MBPixbuf *pb, unsigned char ** p) ++{ ++ unsigned short s = SHORT_FROM_2BYTES(*p); ++ int r, b, g; ++ ++ r = (s & 0xf800) >> 8; ++ g = (s & 0x07e0) >> 3; ++ b = (s & 0x001f) << 3; ++ ++ *p += 2; ++ ++ return mb_pixbuf_get_pixel_le8_rgb (pb, r, g, b); ++} ++ ++/* ++ * Get pixel value for rgba values and pixel depth > 8 ++ * ++ */ ++static inline unsigned long ++mb_pixbuf_get_pixel_gt8_rgba (MBPixbuf *pb, int r, int g, int b, int a) ++{ ++ switch (pb->depth) ++ { ++ case 15: ++ switch (pb->byte_order) ++ { ++ case BYTE_ORD_24_RGB: ++ return ((r & 0xf8) << 7) | ((g & 0xf8) << 2) | ((b & 0xf8) >> 3); ++ case BYTE_ORD_24_BGR: ++ return ((b & 0xf8) << 7) | ((g & 0xf8) << 2) | ((r & 0xf8) >> 3); ++ } ++ case 16: ++ 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) ++ { ++ case BYTE_ORD_24_RGB: ++ return ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); ++ case BYTE_ORD_24_RBG: ++ return ((r & 0xff) << 16) | ((b & 0xff) << 8) | (g & 0xff); ++ case BYTE_ORD_24_BRG: ++ return ((b & 0xff) << 16) | ((r & 0xff) << 8) | (g & 0xff); ++ case BYTE_ORD_24_BGR: ++ return ((b & 0xff) << 16) | ((g & 0xff) << 8) | (r & 0xff); ++ case BYTE_ORD_24_GRB: ++ return ((g & 0xff) << 16) | ((r & 0xff) << 8) | (b & 0xff); ++ case BYTE_ORD_24_GBR: ++ return ((g & 0xff) << 16) | ((b & 0xff) << 8) | (r & 0xff); ++ case BYTE_ORD_32_ARGB: ++ return (a << 24) | (r << 16) | (g << 8) | b; ++ default: ++ return 0; ++ } ++ default: ++ return 0; ++ } ++} ++ ++/* ++ * Get pixel value from pointer to 16bpp data for pixel depth > 8 ++ * and advance the pointer ++ * ++ * TODO ? We could take the 32bit case out of here, which would allow ++ * to ignore the alpha value for <15, 24>, but we might not gain that ++ * much by this on arm due to the conditional execution. ++ */ ++static inline unsigned long ++mb_pixbuf_get_pixel_gt8_16bpp_advance (MBPixbuf *pb, unsigned char ** p, ++ int has_alpha) ++{ ++ unsigned short s = SHORT_FROM_2BYTES(*p); ++ int r, b, g, a; ++ ++ r = (s & 0xf800) >> 8; ++ g = (s & 0x07e0) >> 3; ++ b = (s & 0x001f) << 3; ++ ++ *p += 2; ++ ++ a = has_alpha ? *(*p)++ : 0xff; ++ ++ return mb_pixbuf_get_pixel_gt8_rgba (pb, r, g, b, a); ++} ++ ++static inline unsigned long ++mb_pixbuf_get_pixel(MBPixbuf *pb, int r, int g, int b, int a) ++{ ++ if (pb->depth > 8) ++ return mb_pixbuf_get_pixel_gt8_rgba (pb, r, g, b, a); ++ ++ return mb_pixbuf_get_pixel_le8_rgb (pb, r, g, b); ++} ++ + unsigned long + mb_pixbuf_lookup_x_pixel(MBPixbuf *pb, int r, int g, int b, int a) + { +@@ -1825,7 +1903,6 @@ + mb_pixbuf_img_render_to_drawable_with_gc(pb, img, drw, drw_x, drw_y, pb->gc); + } + +- + void + mb_pixbuf_img_render_to_drawable_with_gc(MBPixbuf *pb, + MBPixbufImage *img, +@@ -1883,31 +1960,57 @@ + + if (pb->internal_bytespp == 2) + { +- for(y=0; y<img->height; y++) +- for(x=0; x<img->width; x++) +- { +- /* Below is potentially dangerous. +- */ +- pixel = ( *p | (*(p+1) << 8)); +- +- p += ((img->has_alpha) ? 3 : 2); +- +- XPutPixel(img->ximg, x, y, pixel); +- } ++ if (pb->depth > 8) ++ { ++ for(y=0; y<img->height; y++) ++ for(x=0; x<img->width; x++) ++ { ++ pixel = mb_pixbuf_get_pixel_gt8_16bpp_advance(pb, &p, ++ img->has_alpha); ++ XPutPixel(img->ximg, x, y, pixel); ++ } ++ } ++ else ++ { ++ for(y=0; y<img->height; y++) ++ for(x=0; x<img->width; x++) ++ { ++ pixel = mb_pixbuf_get_pixel_le8_16bpp_advance(pb, &p); ++ XPutPixel(img->ximg, x, y, pixel); ++ } ++ } + } + else + { +- for(y=0; y<img->height; y++) ++ if (pb->depth > 8) + { +- for(x=0; x<img->width; x++) ++ for(y=0; y<img->height; y++) + { +- r = ( *p++ ); +- g = ( *p++ ); +- b = ( *p++ ); +- a = ((img->has_alpha) ? *p++ : 0xff); ++ for(x=0; x<img->width; x++) ++ { ++ r = ( *p++ ); ++ g = ( *p++ ); ++ b = ( *p++ ); ++ a = ((img->has_alpha) ? *p++ : 0xff); + +- pixel = mb_pixbuf_get_pixel(pb, r, g, b, a); +- XPutPixel(img->ximg, x, y, pixel); ++ pixel = mb_pixbuf_get_pixel_gt8_rgba(pb, r, g, b, a); ++ XPutPixel(img->ximg, x, y, pixel); ++ } ++ } ++ } ++ else ++ { ++ for(y=0; y<img->height; y++) ++ { ++ for(x=0; x<img->width; x++) ++ { ++ r = ( *p++ ); ++ g = ( *p++ ); ++ b = ( *p++ ); ++ ++ pixel = mb_pixbuf_get_pixel_le8_rgb(pb, r, g, b); ++ XPutPixel(img->ximg, x, y, pixel); ++ } + } + } + } diff --git a/meta/recipes-graphics/libmatchbox/files/16bppfixes.patch b/meta/recipes-graphics/libmatchbox/files/16bppfixes.patch new file mode 100644 index 000000000..ac22b9995 --- /dev/null +++ b/meta/recipes-graphics/libmatchbox/files/16bppfixes.patch @@ -0,0 +1,38 @@ +Upstream-Status: Accepted + +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/recipes-graphics/libmatchbox/files/autofoo.patch b/meta/recipes-graphics/libmatchbox/files/autofoo.patch new file mode 100644 index 000000000..78849a424 --- /dev/null +++ b/meta/recipes-graphics/libmatchbox/files/autofoo.patch @@ -0,0 +1,21 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +Upstream-Status: Inappropriate [configuration] + +--- 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/recipes-graphics/libmatchbox/files/check.m4 b/meta/recipes-graphics/libmatchbox/files/check.m4 new file mode 100644 index 000000000..97bfd9c47 --- /dev/null +++ b/meta/recipes-graphics/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/recipes-graphics/libmatchbox/files/configure_fixes.patch b/meta/recipes-graphics/libmatchbox/files/configure_fixes.patch new file mode 100644 index 000000000..30fd67b02 --- /dev/null +++ b/meta/recipes-graphics/libmatchbox/files/configure_fixes.patch @@ -0,0 +1,81 @@ +--- + configure.ac | 15 +++++++-------- + libmb.pc.in | 2 +- + 2 files changed, 8 insertions(+), 9 deletions(-) + +Upstream-Status: Inappropriate [configuration] + +Index: libmatchbox-1.9/configure.ac +=================================================================== +--- libmatchbox-1.9.orig/configure.ac 2007-11-11 22:26:43.000000000 +0000 ++++ libmatchbox-1.9/configure.ac 2007-11-11 22:52:09.000000000 +0000 +@@ -84,6 +84,7 @@ if test $have_libx11pc = yes; then + xft_pkg=xft + SUPPORTS_XFT=1 + AC_DEFINE(USE_XFT, [1], [Use Xft]) ++ XFT_REQUIRED="xft" + fi + # XXX : xau is missing from x11.pc - workaround is too add here + PKG_CHECK_MODULES(XLIBS, x11 xext $xft_pkg) +@@ -108,6 +109,7 @@ if test x$enable_xft != xno; then + AC_DEFINE(USE_XFT, [1], [Use Xft]) + SUPPORTS_XFT=1 + AC_MSG_RESULT(yes) ++ XFT_REQUIRED="xft" + else + + AC_PATH_PROG(XFT_CONFIG, xft-config, no) +@@ -122,21 +124,17 @@ if test x$enable_xft != xno; then + AC_DEFINE(USE_XFT, [1], [Use Xft]) + SUPPORTS_XFT=1 + AC_MSG_RESULT(yes) ++ MB_EXTRA_CFLAGS="$MB_EXTRA_CFLAGS $XFT_CFLAGS" ++ MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XFT_LIBS" + fi + fi + fi + + XLIBS_CFLAGS="$XLIBS_CLAGS $XFT_CFLAGS" +-XLIBS_LIBS="$X_LIBS $XFT_LIBS -lX11 -lXext" +- +-MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XLIBS_LIBS" ++XLIBS_LIBS="$XLIBS_LIBS $XFT_LIBS -lX11 -lXext" + + fi + +-# do this here for freetype include +-MB_EXTRA_CFLAGS="$MB_EXTRA_CFLAGS $XLIBS_CFLAGS" +- +- + dnl ------ Check for Pango --------------------------------------------------- + + if test x$enable_pango != xno; then +@@ -172,7 +170,7 @@ if test x$enable_png != xno; then + AC_DEFINE(USE_PNG, [1], [Use Png]) + SUPPORTS_PNG=1 + PNG_LIBS="-lpng -lz" +- MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XLIBS_LIBS $PNG_LIBS" ++ MB_EXTRA_LIBS="$MB_EXTRA_LIBS $PNG_LIBS" + else + AC_MSG_WARN([*** Cannot find PNG, disabling support]) + enable_png=no +@@ -340,6 +338,7 @@ AC_SUBST(MB_EXTRA_CFLAGS) + AC_SUBST(XLIBS_REQUIRED) + AC_SUBST(PANGO_REQUIRED) + AC_SUBST(PNG_REQUIRED) ++AC_SUBST(XFT_REQUIRED) + + dnl ------ Below used for mbconfig.h ---------------------------------------- + +Index: libmatchbox-1.9/libmb.pc.in +=================================================================== +--- libmatchbox-1.9.orig/libmb.pc.in 2007-11-11 22:30:47.000000000 +0000 ++++ libmatchbox-1.9/libmb.pc.in 2007-11-11 22:31:01.000000000 +0000 +@@ -7,6 +7,6 @@ Name: libmb + Description: Utility Library used by Matchbox utilities. + Version: @VERSION@ + +-Requires: @XLIBS_REQUIRED@ @PANGO_REQUIRED@ @PNG_REQUIRED@ ++Requires: @XLIBS_REQUIRED@ @PANGO_REQUIRED@ @PNG_REQUIRED@ @XFT_REQUIRED@ + Libs: -L${libdir} -lmb @MB_EXTRA_LIBS@ + 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 000000000..2f147eb26 --- /dev/null +++ b/meta/recipes-graphics/libmatchbox/files/fix-configure-for-1.9.patch @@ -0,0 +1,16 @@ +Upstream-Status: Inappropriate [configuration] + +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/recipes-graphics/libmatchbox/files/matchbox-start-fix.patch b/meta/recipes-graphics/libmatchbox/files/matchbox-start-fix.patch new file mode 100644 index 000000000..88f5d7091 --- /dev/null +++ b/meta/recipes-graphics/libmatchbox/files/matchbox-start-fix.patch @@ -0,0 +1,23 @@ +matchbox environment start fail on x86-64 target, while ok on x86 target. Root +cause is libmatchbox use "0"(int) as termination indicator when calling +XftFontOpen, which in turn called FcPatternVapBuild(in fontconfig). It try to +get the "0" as char* and fetch wrong value, as int and char* has different size +on x86-64. This patch forces a NULL pointer as terminator to fix it. + +Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> + +Upstream-Status: Accepted + +Index: libmatchbox-1.9/libmb/mbexp.c +=================================================================== +--- libmatchbox-1.9.orig/libmb/mbexp.c 2010-08-28 06:33:25.000000000 +0800 ++++ libmatchbox-1.9/libmb/mbexp.c 2010-08-28 06:30:05.000000000 +0800 +@@ -348,7 +348,7 @@ + XFT_SIZE, XftTypeDouble , (double)font->pt_size, + XFT_WEIGHT, XftTypeInteger, weight, + XFT_SLANT, XftTypeInteger , slant, +- 0); ++ NULL); + + if (font->font != NULL ) result = 2; + diff --git a/meta/recipes-graphics/libmatchbox/libmatchbox.inc b/meta/recipes-graphics/libmatchbox/libmatchbox.inc new file mode 100644 index 000000000..fdc866fe0 --- /dev/null +++ b/meta/recipes-graphics/libmatchbox/libmatchbox.inc @@ -0,0 +1,17 @@ +DESCRIPTION = "Matchbox window manager core library" +HOMEPAGE = "http://matchbox-project.org/" +BUGTRACKER = "http://bugzilla.openedhand.com/" + +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \ + file://libmb/mbexp.c;endline=20;md5=28c0aef3b23e308464f5dae6a11b0d2f \ + file://libmb/mbdotdesktop.c;endline=21;md5=5a287156b3207e851c1d68d09c439b51" + +SECTION = "x11/libs" +DEPENDS = "virtual/libx11 libxext expat libxft jpeg libpng zlib libxsettings-client startup-notification" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--enable-jpeg --enable-expat --enable-xsettings --enable-startup-notification" + +S = "${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 000000000..2fcd1b07b --- /dev/null +++ b/meta/recipes-graphics/libmatchbox/libmatchbox_1.9.bb @@ -0,0 +1,16 @@ +require libmatchbox.inc + +PR = "r10" + +SRC_URI = "http://downloads.yoctoproject.org/releases/matchbox/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ + file://16bppfixes.patch \ + file://configure_fixes.patch \ + file://check.m4 \ + file://matchbox-start-fix.patch" + +SRC_URI[md5sum] = "465fa15c43bf0091a3810e7702fe143f" +SRC_URI[sha256sum] = "f7054f93c57ba6b758d0e4f47d4d2dd96a7fe487e1157eb70a4d642910275aea" + +do_configure_prepend () { + cp ${WORKDIR}/check.m4 ${S}/ +} diff --git a/meta/recipes-graphics/libmatchbox/libmatchbox_git.bb b/meta/recipes-graphics/libmatchbox/libmatchbox_git.bb new file mode 100644 index 000000000..ac329e519 --- /dev/null +++ b/meta/recipes-graphics/libmatchbox/libmatchbox_git.bb @@ -0,0 +1,16 @@ +require libmatchbox.inc + +SRCREV = "d9dd0ac810de4f0b93cd813ce14aee34c722c2cf" +PV = "1.9+git${SRCPV}" +PR = "r0" +DEFAULT_PREFERENCE = "-1" + +SRC_URI = "git://git.yoctoproject.org/${BPN};protocol=git \ + file://configure_fixes.patch \ + file://check.m4" + +S = "${WORKDIR}/git" + +do_configure_prepend () { + cp ${WORKDIR}/check.m4 ${S}/ +} diff --git a/meta/recipes-graphics/libsdl/libsdl-1.2.15/configure_tweak.patch b/meta/recipes-graphics/libsdl/libsdl-1.2.15/configure_tweak.patch new file mode 100644 index 000000000..07bda6df0 --- /dev/null +++ b/meta/recipes-graphics/libsdl/libsdl-1.2.15/configure_tweak.patch @@ -0,0 +1,1146 @@ +Upstream-Status: Inappropriate [configuration] + +--- SDL-1.2.14/configure.in.orig 2011-10-18 14:51:32.044167004 +0800 ++++ SDL-1.2.14/configure.in 2011-10-18 14:51:42.374167009 +0800 +@@ -48,9 +48,9 @@ + dnl AC_CANONICAL_HOST + AC_C_BIGENDIAN + if test x$ac_cv_c_bigendian = xyes; then +- AC_DEFINE(SDL_BYTEORDER, 4321) ++ AC_DEFINE(SDL_BYTEORDER, 4321, "Byte Order") + else +- AC_DEFINE(SDL_BYTEORDER, 1234) ++ AC_DEFINE(SDL_BYTEORDER, 1234, "Byte Order") + fi + + dnl Check for tools +@@ -139,7 +139,7 @@ + AC_HELP_STRING([--enable-libc], [Use the system C library [[default=yes]]]), + , enable_libc=yes) + if test x$enable_libc = xyes; then +- AC_DEFINE(HAVE_LIBC) ++ AC_DEFINE(HAVE_LIBC,1,"") + + dnl Check for C library headers + AC_HEADER_STDC +@@ -150,7 +150,7 @@ + if test x$ac_cv_header_inttypes_h = xyes -o x$ac_cv_header_stdint_h = xyes; then + AC_CHECK_TYPE(int64_t) + if test x$ac_cv_type_int64_t = xyes; then +- AC_DEFINE(SDL_HAS_64BIT_TYPE) ++ AC_DEFINE(SDL_HAS_64BIT_TYPE,1,"") + fi + have_inttypes=yes + fi +@@ -166,11 +166,11 @@ + + AC_FUNC_MEMCMP + if test x$ac_cv_func_memcmp_working = xyes; then +- AC_DEFINE(HAVE_MEMCMP) ++ AC_DEFINE(HAVE_MEMCMP,1,"") + fi + AC_FUNC_STRTOD + if test x$ac_cv_func_strtod = xyes; then +- AC_DEFINE(HAVE_STRTOD) ++ AC_DEFINE(HAVE_STRTOD,1,"") + fi + AC_CHECK_FUNC(mprotect, + AC_TRY_COMPILE([ +@@ -194,40 +194,40 @@ + AC_CHECK_SIZEOF(long, 4) + AC_CHECK_SIZEOF(long long, 8) + if test x$ac_cv_sizeof_char = x1; then +- AC_DEFINE(int8_t, signed char) +- AC_DEFINE(uint8_t, unsigned char) ++ AC_DEFINE(int8_t, signed char,"") ++ AC_DEFINE(uint8_t, unsigned char,"") + fi + if test x$ac_cv_sizeof_short = x2; then +- AC_DEFINE(int16_t, signed short) +- AC_DEFINE(uint16_t, unsigned short) ++ AC_DEFINE(int16_t, signed short,"") ++ AC_DEFINE(uint16_t, unsigned short,"") + else + if test x$ac_cv_sizeof_int = x2; then +- AC_DEFINE(int16_t, signed int) +- AC_DEFINE(uint16_t, unsigned int) ++ AC_DEFINE(int16_t, signed int,"") ++ AC_DEFINE(uint16_t, unsigned int,"") + fi + fi + if test x$ac_cv_sizeof_int = x4; then +- AC_DEFINE(int32_t, signed int) +- AC_DEFINE(uint32_t, unsigned int) ++ AC_DEFINE(int32_t, signed int,"") ++ AC_DEFINE(uint32_t, unsigned int,"") + else + if test x$ac_cv_sizeof_long = x4; then +- AC_DEFINE(int32_t, signed long) +- AC_DEFINE(uint32_t, unsigned long) ++ AC_DEFINE(int32_t, signed long,"") ++ AC_DEFINE(uint32_t, unsigned long,"") + fi + fi + if test x$ac_cv_sizeof_long = x8; then +- AC_DEFINE(int64_t, signed long) +- AC_DEFINE(uint64_t, unsigned long) +- AC_DEFINE(SDL_HAS_64BIT_TYPE) ++ AC_DEFINE(int64_t, signed long,"") ++ AC_DEFINE(uint64_t, unsigned long,"") ++ AC_DEFINE(SDL_HAS_64BIT_TYPE,"") + else + if test x$ac_cv_sizeof_long_long = x8; then +- AC_DEFINE(int64_t, signed long long) +- AC_DEFINE(uint64_t, unsigned long long) +- AC_DEFINE(SDL_HAS_64BIT_TYPE) ++ AC_DEFINE(int64_t, signed long long,"") ++ AC_DEFINE(uint64_t, unsigned long long,"") ++ AC_DEFINE(SDL_HAS_64BIT_TYPE,"") + fi + fi +- AC_DEFINE(size_t, unsigned int) +- AC_DEFINE(uintptr_t, unsigned long) ++ AC_DEFINE(size_t, unsigned int,"") ++ AC_DEFINE(uintptr_t, unsigned long,"") + fi + + # Standard C sources +@@ -248,25 +248,25 @@ + AC_HELP_STRING([--enable-audio], [Enable the audio subsystem [[default=yes]]]), + , enable_audio=yes) + if test x$enable_audio != xyes; then +- AC_DEFINE(SDL_AUDIO_DISABLED) ++ AC_DEFINE(SDL_AUDIO_DISABLED,1,"") + fi + AC_ARG_ENABLE(video, + AC_HELP_STRING([--enable-video], [Enable the video subsystem [[default=yes]]]), + , enable_video=yes) + if test x$enable_video != xyes; then +- AC_DEFINE(SDL_VIDEO_DISABLED) ++ AC_DEFINE(SDL_VIDEO_DISABLED,1,"") + fi + AC_ARG_ENABLE(events, + AC_HELP_STRING([--enable-events], [Enable the events subsystem [[default=yes]]]), + , enable_events=yes) + if test x$enable_events != xyes; then +- AC_DEFINE(SDL_EVENTS_DISABLED) ++ AC_DEFINE(SDL_EVENTS_DISABLED,1,"") + fi + AC_ARG_ENABLE(joystick, + AC_HELP_STRING([--enable-joystick], [Enable the joystick subsystem [[default=yes]]]), + , enable_joystick=yes) + if test x$enable_joystick != xyes; then +- AC_DEFINE(SDL_JOYSTICK_DISABLED) ++ AC_DEFINE(SDL_JOYSTICK_DISABLED,1,"") + else + SOURCES="$SOURCES $srcdir/src/joystick/*.c" + fi +@@ -274,43 +274,43 @@ + AC_HELP_STRING([--enable-cdrom], [Enable the cdrom subsystem [[default=yes]]]), + , enable_cdrom=yes) + if test x$enable_cdrom != xyes; then +- AC_DEFINE(SDL_CDROM_DISABLED) ++ AC_DEFINE(SDL_CDROM_DISABLED,1,"") + fi + AC_ARG_ENABLE(threads, + AC_HELP_STRING([--enable-threads], [Enable the threading subsystem [[default=yes]]]), + , enable_threads=yes) + if test x$enable_threads != xyes; then +- AC_DEFINE(SDL_THREADS_DISABLED) ++ AC_DEFINE(SDL_THREADS_DISABLED,1,"") + fi + AC_ARG_ENABLE(timers, + AC_HELP_STRING([--enable-timers], [Enable the timer subsystem [[default=yes]]]), + , enable_timers=yes) + if test x$enable_timers != xyes; then +- AC_DEFINE(SDL_TIMERS_DISABLED) ++ AC_DEFINE(SDL_TIMERS_DISABLED,1,"") + fi + AC_ARG_ENABLE(file, + AC_HELP_STRING([--enable-file], [Enable the file subsystem [[default=yes]]]), + , enable_file=yes) + if test x$enable_file != xyes; then +- AC_DEFINE(SDL_FILE_DISABLED) ++ AC_DEFINE(SDL_FILE_DISABLED,1,"") + fi + AC_ARG_ENABLE(loadso, + AC_HELP_STRING([--enable-loadso], [Enable the shared object loading subsystem [[default=yes]]]), + , enable_loadso=yes) + if test x$enable_loadso != xyes; then +- AC_DEFINE(SDL_LOADSO_DISABLED) ++ AC_DEFINE(SDL_LOADSO_DISABLED,1,"") + fi + AC_ARG_ENABLE(cpuinfo, + AC_HELP_STRING([--enable-cpuinfo], [Enable the cpuinfo subsystem [[default=yes]]]), + , enable_cpuinfo=yes) + if test x$enable_cpuinfo != xyes; then +- AC_DEFINE(SDL_CPUINFO_DISABLED) ++ AC_DEFINE(SDL_CPUINFO_DISABLED,1,"") + fi + AC_ARG_ENABLE(assembly, + AC_HELP_STRING([--enable-assembly], [Enable assembly routines [[default=yes]]]), + , enable_assembly=yes) + if test x$enable_assembly = xyes; then +- AC_DEFINE(SDL_ASSEMBLY_ROUTINES) ++ AC_DEFINE(SDL_ASSEMBLY_ROUTINES,1,"") + fi + + dnl See if the OSS audio interface is supported +@@ -338,12 +338,12 @@ + int arg = SNDCTL_DSP_SETFRAGMENT; + ],[ + have_oss=yes +- AC_DEFINE(SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H) ++ AC_DEFINE(SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H,1,"") + ]) + fi + AC_MSG_RESULT($have_oss) + if test x$have_oss = xyes; then +- AC_DEFINE(SDL_AUDIO_DRIVER_OSS) ++ AC_DEFINE(SDL_AUDIO_DRIVER_OSS,1,"") + SOURCES="$SOURCES $srcdir/src/audio/dsp/*.c" + SOURCES="$SOURCES $srcdir/src/audio/dma/*.c" + have_audio=yes +@@ -363,35 +363,7 @@ + AC_ARG_ENABLE(alsa, + AC_HELP_STRING([--enable-alsa], [support the ALSA audio API [[default=yes]]]), + , enable_alsa=yes) +- if test x$enable_audio = xyes -a x$enable_alsa = xyes; then +- AM_PATH_ALSA(0.9.0, have_alsa=yes, have_alsa=no) +- # Restore all flags from before the ALSA detection runs +- CFLAGS="$alsa_save_CFLAGS" +- LDFLAGS="$alsa_save_LDFLAGS" +- LIBS="$alsa_save_LIBS" +- if test x$have_alsa = xyes; then +- AC_ARG_ENABLE(alsa-shared, +-AC_HELP_STRING([--enable-alsa-shared], [dynamically load ALSA audio support [[default=yes]]]), +- , enable_alsa_shared=yes) +- alsa_lib=[`find_lib "libasound.so.*" "$ALSA_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`] +- +- AC_DEFINE(SDL_AUDIO_DRIVER_ALSA) +- SOURCES="$SOURCES $srcdir/src/audio/alsa/*.c" +- EXTRA_CFLAGS="$EXTRA_CFLAGS $ALSA_CFLAGS" +- if test x$have_loadso != xyes && \ +- test x$enable_alsa_shared = xyes; then +- AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ALSA loading]) +- fi +- if test x$have_loadso = xyes && \ +- test x$enable_alsa_shared = xyes && test x$alsa_lib != x; then +- echo "-- dynamic libasound -> $alsa_lib" +- AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ALSA_DYNAMIC, "$alsa_lib") +- else +- EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ALSA_LIBS" +- fi +- have_audio=yes +- fi +- fi ++ enable_alsa=no + } + + dnl Check whether we want to use IRIX 6.5+ native audio or not +@@ -410,7 +382,7 @@ + AC_MSG_RESULT($have_dmedia) + # Set up files for the audio library + if test x$have_dmedia = xyes; then +- AC_DEFINE(SDL_AUDIO_DRIVER_DMEDIA) ++ AC_DEFINE(SDL_AUDIO_DRIVER_DMEDIA,1,"") + SOURCES="$SOURCES $srcdir/src/audio/dmedia/*.c" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -laudio" + have_audio=yes +@@ -447,7 +419,7 @@ + AC_MSG_RESULT($have_mme) + # Set up files for the audio library + if test x$have_mme = xyes; then +- AC_DEFINE(SDL_AUDIO_DRIVER_MMEAUDIO) ++ AC_DEFINE(SDL_AUDIO_DRIVER_MMEAUDIO,1,"") + SOURCES="$SOURCES $srcdir/src/audio/mme/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $MME_CFLAGS" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $MME_LIBS" +@@ -470,7 +442,7 @@ + , enable_esd_shared=yes) + esd_lib=[`find_lib "libesd.so.*" "$ESD_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`] + +- AC_DEFINE(SDL_AUDIO_DRIVER_ESD) ++ AC_DEFINE(SDL_AUDIO_DRIVER_ESD,1,"") + SOURCES="$SOURCES $srcdir/src/audio/esd/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $ESD_CFLAGS" + if test x$have_loadso != xyes && \ +@@ -480,7 +452,7 @@ + if test x$have_loadso = xyes && \ + test x$enable_esd_shared = xyes && test x$esd_lib != x; then + echo "-- dynamic libesd -> $esd_lib" +- AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ESD_DYNAMIC, "$esd_lib") ++ AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ESD_DYNAMIC, "$esd_lib", "") + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ESD_LIBS" + fi +@@ -567,7 +539,7 @@ + , enable_arts_shared=yes) + arts_lib=[`find_lib "libartsc.so.*" "$ARTS_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`] + +- AC_DEFINE(SDL_AUDIO_DRIVER_ARTS) ++ AC_DEFINE(SDL_AUDIO_DRIVER_ARTS,, "") + SOURCES="$SOURCES $srcdir/src/audio/arts/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $ARTS_CFLAGS" + if test x$have_loadso != xyes && \ +@@ -577,7 +549,7 @@ + if test x$have_loadso = xyes && \ + test x$enable_arts_shared = xyes && test x$arts_lib != x; then + echo "-- dynamic libartsc -> $arts_lib" +- AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ARTS_DYNAMIC, "$arts_lib") ++ AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ARTS_DYNAMIC, "$arts_lib",1,"") + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ARTS_LIBS" + fi +@@ -637,7 +609,7 @@ + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $NAS_LIBS" + fi + +- AC_DEFINE(SDL_AUDIO_DRIVER_NAS) ++ AC_DEFINE(SDL_AUDIO_DRIVER_NAS,1,"") + SOURCES="$SOURCES $srcdir/src/audio/nas/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $NAS_CFLAGS" + have_audio=yes +@@ -652,7 +624,7 @@ + AC_HELP_STRING([--enable-diskaudio], [support the disk writer audio driver [[default=yes]]]), + , enable_diskaudio=yes) + if test x$enable_audio = xyes -a x$enable_diskaudio = xyes; then +- AC_DEFINE(SDL_AUDIO_DRIVER_DISK) ++ AC_DEFINE(SDL_AUDIO_DRIVER_DISK,1,"") + SOURCES="$SOURCES $srcdir/src/audio/disk/*.c" + fi + } +@@ -664,7 +636,7 @@ + AC_HELP_STRING([--enable-dummyaudio], [support the dummy audio driver [[default=yes]]]), + , enable_dummyaudio=yes) + if test x$enable_audio = xyes -a x$enable_dummyaudio = xyes; then +- AC_DEFINE(SDL_AUDIO_DRIVER_DUMMY) ++ AC_DEFINE(SDL_AUDIO_DRIVER_DUMMY,1,"") + SOURCES="$SOURCES $srcdir/src/audio/dummy/*.c" + fi + } +@@ -680,7 +652,7 @@ + AC_CHECK_HEADER(mint/falcon.h, have_mint_falcon_hdr=yes) + if test x$have_mint_falcon_hdr = xyes; then + mintaudio=yes +- AC_DEFINE(SDL_AUDIO_DRIVER_MINT) ++ AC_DEFINE(SDL_AUDIO_DRIVER_MINT,1,"") + SOURCES="$SOURCES $srcdir/src/audio/mint/*.c" + SOURCES="$SOURCES $srcdir/src/audio/mint/*.S" + have_audio=yes +@@ -756,7 +728,7 @@ + AC_PATH_PROG(NASM, nasm) + fi + if test "x$NASM" != x -a "x$NASM" != x'"$NASM"'; then +- AC_DEFINE(SDL_HERMES_BLITTERS) ++ AC_DEFINE(SDL_HERMES_BLITTERS,1,"") + SOURCES="$SOURCES $srcdir/src/hermes/*.asm" + NASMFLAGS="$NASMFLAGS -I $srcdir/src/hermes/" + +@@ -850,9 +822,9 @@ + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_altivec = xyes; then +- AC_DEFINE(SDL_ALTIVEC_BLITTERS) ++ AC_DEFINE(SDL_ALTIVEC_BLITTERS,1,"") + if test x$have_altivec_h_hdr = xyes; then +- AC_DEFINE(HAVE_ALTIVEC_H) ++ AC_DEFINE(HAVE_ALTIVEC_H,1,"") + fi + EXTRA_CFLAGS="$EXTRA_CFLAGS $altivec_CFLAGS" + fi +@@ -895,7 +867,7 @@ + + if test x$enable_ipod = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS -DIPOD" +- AC_DEFINE(SDL_VIDEO_DRIVER_IPOD) ++ AC_DEFINE(SDL_VIDEO_DRIVER_IPOD,1,"") + SOURCES="$SOURCES $srcdir/src/video/ipod/*.c" + fi + } +@@ -929,7 +901,7 @@ + EXTRA_CFLAGS="$EXTRA_CFLAGS -DENABLE_NANOX_DIRECT_FB" + fi + +- AC_DEFINE(SDL_VIDEO_DRIVER_NANOX) ++ AC_DEFINE(SDL_VIDEO_DRIVER_NANOX,1,"") + SOURCES="$SOURCES $srcdir/src/video/nanox/*.c" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lnano-X" + have_video=yes +@@ -995,7 +967,7 @@ + CFLAGS="$CFLAGS $X_CFLAGS" + LDFLAGS="$LDFLAGS $X_LIBS" + +- AC_DEFINE(SDL_VIDEO_DRIVER_X11) ++ AC_DEFINE(SDL_VIDEO_DRIVER_X11,1,"") + SOURCES="$SOURCES $srcdir/src/video/x11/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $X_CFLAGS" + +@@ -1017,8 +989,8 @@ + test x$enable_x11_shared = xyes && test x$x11_lib != x && test x$x11ext_lib != x; then + echo "-- dynamic libX11 -> $x11_lib" + echo "-- dynamic libX11ext -> $x11ext_lib" +- AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC, "$x11_lib") +- AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT, "$x11ext_lib") ++ AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC, "$x11_lib","") ++ AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT, "$x11ext_lib","") + else + enable_x11_shared=no + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $X_LIBS -lX11 -lXext" +@@ -1035,20 +1007,20 @@ + AC_HELP_STRING([--enable-video-dga], [use DGA 2.0 video driver [[default=yes]]]), + , enable_video_dga=yes) + if test x$enable_dga = xyes -a x$enable_video_dga = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_DGA) ++ AC_DEFINE(SDL_VIDEO_DRIVER_DGA,1,"") + SOURCES="$SOURCES $srcdir/src/video/dga/*.c" + fi + AC_ARG_ENABLE(video-x11-dgamouse, + AC_HELP_STRING([--enable-video-x11-dgamouse], [use X11 DGA for mouse events [[default=yes]]]), + , enable_video_x11_dgamouse=yes) + if test x$enable_dga = xyes -a x$enable_video_x11_dgamouse = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_X11_DGAMOUSE) ++ AC_DEFINE(SDL_VIDEO_DRIVER_X11_DGAMOUSE,1,"") + fi + AC_ARG_ENABLE(video-x11-vm, + AC_HELP_STRING([--enable-video-x11-vm], [use X11 VM extension for fullscreen [[default=yes]]]), + , enable_video_x11_vm=yes) + if test x$enable_video_x11_vm = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_X11_VIDMODE) ++ AC_DEFINE(SDL_VIDEO_DRIVER_X11_VIDMODE,1,"") + SOURCES="$SOURCES $srcdir/src/video/Xext/Xxf86vm/*.c" + fi + AC_ARG_ENABLE(video-x11-xv, +@@ -1062,14 +1034,14 @@ + AC_HELP_STRING([--enable-video-x11-xinerama], [enable X11 Xinerama support [[default=yes]]]), + , enable_video_x11_xinerama=yes) + if test x$enable_video_x11_xinerama = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINERAMA) ++ AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINERAMA,1,"") + SOURCES="$SOURCES $srcdir/src/video/Xext/Xinerama/*.c" + fi + AC_ARG_ENABLE(video-x11-xme, + AC_HELP_STRING([--enable-video-x11-xme], [enable Xi Graphics XME for fullscreen [[default=yes]]]), + , enable_video_x11_xme=yes) + if test x$enable_video_x11_xme = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_X11_XME) ++ AC_DEFINE(SDL_VIDEO_DRIVER_X11_XME,1,"") + SOURCES="$SOURCES $srcdir/src/video/Xext/XME/*.c" + fi + AC_ARG_ENABLE(video-x11-xrandr, +@@ -1086,8 +1058,8 @@ + if test x$enable_x11_shared = xyes && test x$xrandr_lib != x ; then + echo "-- dynamic libXrender -> $xrender_lib" + echo "-- dynamic libXrandr -> $xrandr_lib" +- AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER, "$xrender_lib") +- AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR, "$xrandr_lib") ++ AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER, "$xrender_lib","") ++ AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR, "$xrandr_lib","") + definitely_enable_video_x11_xrandr=yes + else + AC_CHECK_LIB(Xrender, XRenderQueryExtension, have_xrender_lib=yes) +@@ -1100,7 +1072,7 @@ + fi + fi + if test x$definitely_enable_video_x11_xrandr = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_X11_XRANDR) ++ AC_DEFINE(SDL_VIDEO_DRIVER_X11_XRANDR,1,"") + fi + fi + fi +@@ -1127,7 +1099,7 @@ + ]) + AC_MSG_RESULT($video_photon) + if test x$video_photon = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_PHOTON) ++ AC_DEFINE(SDL_VIDEO_DRIVER_PHOTON,1,"") + SOURCES="$SOURCES $srcdir/src/video/photon/*.c" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lph" + have_video=yes +@@ -1141,7 +1113,7 @@ + CheckBWINDOW() + { + if test x$enable_video = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_BWINDOW) ++ AC_DEFINE(SDL_VIDEO_DRIVER_BWINDOW,1,"") + SOURCES="$SOURCES $srcdir/src/video/bwindow/*.cc" + have_video=yes + fi +@@ -1164,7 +1136,7 @@ + ]) + AC_MSG_RESULT($have_carbon) + if test x$have_carbon = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_TOOLBOX) ++ AC_DEFINE(SDL_VIDEO_DRIVER_TOOLBOX,1,"") + SOURCES="$SOURCES $srcdir/src/video/maccommon/*.c" + SOURCES="$SOURCES $srcdir/src/video/macrom/*.c" + have_video=yes +@@ -1193,7 +1165,7 @@ + AC_MSG_RESULT($have_cocoa) + CFLAGS="$save_CFLAGS" + if test x$have_cocoa = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_QUARTZ) ++ AC_DEFINE(SDL_VIDEO_DRIVER_QUARTZ,1,"") + SOURCES="$SOURCES $srcdir/src/video/quartz/*.m" + have_video=yes + fi +@@ -1220,7 +1192,7 @@ + AC_MSG_RESULT($video_fbcon) + if test x$video_fbcon = xyes; then + AC_CHECK_FUNCS(getpagesize) +- AC_DEFINE(SDL_VIDEO_DRIVER_FBCON) ++ AC_DEFINE(SDL_VIDEO_DRIVER_FBCON,1,"") + SOURCES="$SOURCES $srcdir/src/video/fbcon/*.c" + have_video=yes + fi +@@ -1271,7 +1243,7 @@ + AC_MSG_RESULT($video_directfb) + + if test x$video_directfb = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_DIRECTFB) ++ AC_DEFINE(SDL_VIDEO_DRIVER_DIRECTFB,1,"") + SOURCES="$SOURCES $srcdir/src/video/directfb/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $DIRECTFB_LIBS" +@@ -1298,7 +1270,7 @@ + ]) + AC_MSG_RESULT($video_ps2gs) + if test x$video_ps2gs = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_PS2GS) ++ AC_DEFINE(SDL_VIDEO_DRIVER_PS2GS,1,"") + SOURCES="$SOURCES $srcdir/src/video/ps2gs/*.c" + have_video=yes + fi +@@ -1350,7 +1322,7 @@ + ]) + AC_MSG_RESULT($video_ggi) + if test x$video_ggi = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_GGI) ++ AC_DEFINE(SDL_VIDEO_DRIVER_GGI,1,"") + SOURCES="$SOURCES $srcdir/src/video/ggi/*.c" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lggi -lgii -lgg" + have_video=yes +@@ -1380,7 +1352,7 @@ + ]) + AC_MSG_RESULT($video_svga) + if test x$video_svga = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_SVGALIB) ++ AC_DEFINE(SDL_VIDEO_DRIVER_SVGALIB,1,"") + SOURCES="$SOURCES $srcdir/src/video/svga/*.c" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvga" + have_video=yes +@@ -1412,7 +1384,7 @@ + ]) + AC_MSG_RESULT($video_vgl) + if test x$video_vgl = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_VGL) ++ AC_DEFINE(SDL_VIDEO_DRIVER_VGL,1,"") + SOURCES="$SOURCES $srcdir/src/video/vgl/*.c" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvgl" + have_video=yes +@@ -1440,7 +1412,7 @@ + ]) + AC_MSG_RESULT($video_wscons) + if test x$video_wscons = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_WSCONS) ++ AC_DEFINE(SDL_VIDEO_DRIVER_WSCONS,1,"") + SOURCES="$SOURCES $srcdir/src/video/wscons/*.c" + have_video=yes + fi +@@ -1465,7 +1437,7 @@ + ]) + AC_MSG_RESULT($video_aalib) + if test x$video_aalib = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_AALIB) ++ AC_DEFINE(SDL_VIDEO_DRIVER_AALIB,1,"") + SOURCES="$SOURCES $srcdir/src/video/aalib/*.c" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -laa" + have_video=yes +@@ -1527,7 +1499,7 @@ + CXXFLAGS="$OLD_CXX" + AC_MSG_RESULT($video_qtopia) + if test x$video_qtopia = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_QTOPIA) ++ AC_DEFINE(SDL_VIDEO_DRIVER_QTOPIA,1,"") + SOURCES="$SOURCES $srcdir/src/video/qtopia/*.cc" + SDLMAIN_SOURCES="$srcdir/src/main/qtopia/*.cc" + EXTRA_CFLAGS="$EXTRA_CFLAGS $QTOPIA_FLAGS" +@@ -1556,7 +1528,7 @@ + ]) + AC_MSG_RESULT($video_picogui) + if test x$video_picogui = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_PICOGUI) ++ AC_DEFINE(SDL_VIDEO_DRIVER_PICOGUI,1,"") + SOURCES="$SOURCES $srcdir/src/video/picogui/*.c" + SDL_LIBS="$SDL_LIBS -lpgui" + have_video=yes +@@ -1580,7 +1552,7 @@ + video_xbios=no + if test x$enable_video = xyes -a x$enable_video_xbios = xyes; then + video_xbios=yes +- AC_DEFINE(SDL_VIDEO_DRIVER_XBIOS) ++ AC_DEFINE(SDL_VIDEO_DRIVER_XBIOS,1,"") + SOURCES="$SOURCES $srcdir/src/video/xbios/*.c" + have_video=yes + fi +@@ -1598,7 +1570,7 @@ + AC_CHECK_LIB(gem, appl_init, have_gem_lib=yes) + if test x$have_gem_hdr = xyes -a x$have_gem_lib = xyes; then + video_gem=yes +- AC_DEFINE(SDL_VIDEO_DRIVER_GEM) ++ AC_DEFINE(SDL_VIDEO_DRIVER_GEM,1,"") + SOURCES="$SOURCES $srcdir/src/video/gem/*.c" + SDL_LIBS="$SDL_LIBS -lgem" + have_video=yes +@@ -1613,7 +1585,7 @@ + AC_HELP_STRING([--enable-video-dummy], [use dummy video driver [[default=yes]]]), + , enable_video_dummy=yes) + if test x$enable_video_dummy = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_DUMMY) ++ AC_DEFINE(SDL_VIDEO_DRIVER_DUMMY,1,"") + SOURCES="$SOURCES $srcdir/src/video/dummy/*.c" + have_video=yes + fi +@@ -1640,8 +1612,8 @@ + ]) + AC_MSG_RESULT($video_opengl) + if test x$video_opengl = xyes; then +- AC_DEFINE(SDL_VIDEO_OPENGL) +- AC_DEFINE(SDL_VIDEO_OPENGL_GLX) ++ AC_DEFINE(SDL_VIDEO_OPENGL,1,"") ++ AC_DEFINE(SDL_VIDEO_OPENGL_GLX,1,"") + fi + fi + } +@@ -1660,7 +1632,7 @@ + ]) + AC_MSG_RESULT($video_opengl) + if test x$video_opengl = xyes; then +- AC_DEFINE(SDL_VIDEO_OPENGL) ++ AC_DEFINE(SDL_VIDEO_OPENGL,1,"") + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lGL" + fi + fi +@@ -1670,8 +1642,8 @@ + CheckWIN32GL() + { + if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then +- AC_DEFINE(SDL_VIDEO_OPENGL) +- AC_DEFINE(SDL_VIDEO_OPENGL_WGL) ++ AC_DEFINE(SDL_VIDEO_OPENGL,1,"") ++ AC_DEFINE(SDL_VIDEO_OPENGL_WGL,1,"") + fi + } + +@@ -1679,7 +1651,7 @@ + CheckBeGL() + { + if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then +- AC_DEFINE(SDL_VIDEO_OPENGL) ++ AC_DEFINE(SDL_VIDEO_OPENGL,1,"") + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lGL" + fi + } +@@ -1688,7 +1660,7 @@ + CheckMacGL() + { + if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then +- AC_DEFINE(SDL_VIDEO_OPENGL) ++ AC_DEFINE(SDL_VIDEO_OPENGL,1,"") + case "$host" in + *-*-darwin*) + if test x$enable_video_cocoa = xyes; then +@@ -1720,8 +1692,8 @@ + OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags` + OSMESA_LIBS=`$OSMESA_CONFIG --libs` + fi +- AC_DEFINE(SDL_VIDEO_OPENGL) +- AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA) ++ AC_DEFINE(SDL_VIDEO_OPENGL,1,"") ++ AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA,1,"") + SDL_CFLAGS="$SDL_CFLAGS $OSMESA_CFLAGS" + SDL_LIBS="$SDL_LIBS $OSMESA_LIBS" + +@@ -1731,7 +1703,7 @@ + if test "x$enable_osmesa_shared" = "xyes" -a "x$enable_atari_ldg" = "xyes"; then + # Dynamic linking + if test "x$have_osmesa_hdr" = "xyes"; then +- AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA_DYNAMIC) ++ AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA_DYNAMIC,1,"") + fi + fi + fi +@@ -1765,7 +1737,7 @@ + ]) + AC_MSG_RESULT($use_input_events) + if test x$use_input_events = xyes; then +- AC_DEFINE(SDL_INPUT_LINUXEV) ++ AC_DEFINE(SDL_INPUT_LINUXEV,1,"") + fi + fi + } +@@ -1787,7 +1759,7 @@ + ]) + AC_MSG_RESULT($enable_input_tslib) + if test x$enable_input_tslib = xyes; then +- AC_DEFINE(SDL_INPUT_TSLIB) ++ AC_DEFINE(SDL_INPUT_TSLIB,1,"") + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lts" + fi + fi +@@ -1810,7 +1782,7 @@ + AC_MSG_CHECKING(pth) + AC_MSG_RESULT($use_pth) + if test "x$use_pth" = xyes; then +- AC_DEFINE(SDL_THREAD_PTH) ++ AC_DEFINE(SDL_THREAD_PTH,1,"") + SOURCES="$SOURCES $srcdir/src/thread/pth/*.c" + SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c" + SDL_CFLAGS="$SDL_CFLAGS `$PTH_CONFIG --cflags`" +@@ -1916,7 +1888,7 @@ + + # Do futher testing if we have pthread support... + if test x$use_pthreads = xyes; then +- AC_DEFINE(SDL_THREAD_PTHREAD) ++ AC_DEFINE(SDL_THREAD_PTHREAD,1,"") + EXTRA_CFLAGS="$EXTRA_CFLAGS $pthread_cflags" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $pthread_lib" + SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags" +@@ -1938,7 +1910,7 @@ + pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); + ],[ + has_recursive_mutexes=yes +- AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX) ++ AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX,1,"") + ]) + fi + if test x$has_recursive_mutexes = xno; then +@@ -1949,7 +1921,7 @@ + pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_RECURSIVE_NP); + ],[ + has_recursive_mutexes=yes +- AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP) ++ AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP,1,"") + ]) + fi + AC_MSG_RESULT($has_recursive_mutexes) +@@ -2024,7 +1996,7 @@ + fi + + if test x$enable_video = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_WINDIB) ++ AC_DEFINE(SDL_VIDEO_DRIVER_WINDIB,1,"") + SOURCES="$SOURCES $srcdir/src/video/wincommon/*.c" + SOURCES="$SOURCES $srcdir/src/video/windib/*.c" + have_video=yes +@@ -2046,7 +2018,7 @@ + have_directx=yes + fi + if test x$enable_video = xyes -a x$have_directx = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_DDRAW) ++ AC_DEFINE(SDL_VIDEO_DRIVER_DDRAW,1,"") + SOURCES="$SOURCES $srcdir/src/video/windx5/*.c" + have_video=yes + fi +@@ -2077,7 +2049,7 @@ + AC_CHECK_LIB(c, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS", + AC_CHECK_LIB(dl, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ldl", + AC_CHECK_LIB(ltdl, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lltdl"))) +- AC_DEFINE(SDL_LOADSO_DLOPEN) ++ AC_DEFINE(SDL_LOADSO_DLOPEN,1,"") + SOURCES="$SOURCES $srcdir/src/loadso/dlopen/*.c" + have_loadso=yes + fi +@@ -2094,7 +2066,7 @@ + AC_CHECK_HEADER(ldg.h, have_ldg_hdr=yes) + AC_CHECK_LIB(ldg, ldg_open, have_ldg_lib=yes, have_ldg_lib=no, -lgem) + if test x$have_ldg_hdr = xyes -a x$have_ldg_lib = xyes; then +- AC_DEFINE(SDL_LOADSO_LDG) ++ AC_DEFINE(SDL_LOADSO_LDG,1,"") + SOURCES="$SOURCES $srcdir/src/loadso/mint/*.c" + SDL_LIBS="$SDL_LIBS -lldg -lgem" + have_loadso=yes +@@ -2225,11 +2197,11 @@ + have_machine_joystick=yes + ]) + if test x$have_machine_joystick = xyes; then +- AC_DEFINE(SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H) ++ AC_DEFINE(SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H,1,"") + fi + AC_MSG_RESULT($have_machine_joystick) + +- AC_DEFINE(SDL_JOYSTICK_USBHID) ++ AC_DEFINE(SDL_JOYSTICK_USBHID,1,"") + SOURCES="$SOURCES $srcdir/src/joystick/bsd/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $USB_CFLAGS" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $USB_LIBS" +@@ -2248,7 +2220,7 @@ + if test x$enable_clock_gettime = xyes; then + AC_CHECK_LIB(rt, clock_gettime, have_clock_gettime=yes) + if test x$have_clock_gettime = xyes; then +- AC_DEFINE(HAVE_CLOCK_GETTIME) ++ AC_DEFINE(HAVE_CLOCK_GETTIME,1,"") + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lrt" + fi + fi +@@ -2279,7 +2251,7 @@ + CheckIPod + # Set up files for the timer library + if test x$enable_timers = xyes; then +- AC_DEFINE(SDL_TIMER_UNIX) ++ AC_DEFINE(SDL_TIMER_UNIX,1,"") + SOURCES="$SOURCES $srcdir/src/timer/unix/*.c" + have_timers=yes + fi +@@ -2345,17 +2317,17 @@ + if test x$enable_audio = xyes; then + case $ARCH in + sysv5|solaris|hpux) +- AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO) ++ AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO,1,"") + SOURCES="$SOURCES $srcdir/src/audio/sun/*.c" + have_audio=yes + ;; + netbsd|openbsd) +- AC_DEFINE(SDL_AUDIO_DRIVER_BSD) ++ AC_DEFINE(SDL_AUDIO_DRIVER_BSD,1,"") + SOURCES="$SOURCES $srcdir/src/audio/bsd/*.c" + have_audio=yes + ;; + aix) +- AC_DEFINE(SDL_AUDIO_DRIVER_PAUD) ++ AC_DEFINE(SDL_AUDIO_DRIVER_PAUD,1,"") + SOURCES="$SOURCES $srcdir/src/audio/paudio/*.c" + have_audio=yes + ;; +@@ -2365,7 +2337,7 @@ + if test x$enable_joystick = xyes; then + case $ARCH in + linux) +- AC_DEFINE(SDL_JOYSTICK_LINUX) ++ AC_DEFINE(SDL_JOYSTICK_LINUX,1,"") + SOURCES="$SOURCES $srcdir/src/joystick/linux/*.c" + have_joystick=yes + ;; +@@ -2375,32 +2347,32 @@ + if test x$enable_cdrom = xyes; then + case $ARCH in + linux|solaris) +- AC_DEFINE(SDL_CDROM_LINUX) ++ AC_DEFINE(SDL_CDROM_LINUX,1,"") + SOURCES="$SOURCES $srcdir/src/cdrom/linux/*.c" + have_cdrom=yes + ;; + *freebsd*) +- AC_DEFINE(SDL_CDROM_FREEBSD) ++ AC_DEFINE(SDL_CDROM_FREEBSD,1,"") + SOURCES="$SOURCES $srcdir/src/cdrom/freebsd/*.c" + have_cdrom=yes + ;; + *openbsd*|*netbsd*) +- AC_DEFINE(SDL_CDROM_OPENBSD) ++ AC_DEFINE(SDL_CDROM_OPENBSD,1,"") + SOURCES="$SOURCES $srcdir/src/cdrom/openbsd/*.c" + have_cdrom=yes + ;; + bsdi) +- AC_DEFINE(SDL_CDROM_BSDI) ++ AC_DEFINE(SDL_CDROM_BSDI,1,"") + SOURCES="$SOURCES $srcdir/src/cdrom/bsdi/*.c" + have_cdrom=yes + ;; + aix) +- AC_DEFINE(SDL_CDROM_AIX) ++ AC_DEFINE(SDL_CDROM_AIX,1,"") + SOURCES="$SOURCES $srcdir/src/cdrom/aix/*.c" + have_cdrom=yes + ;; + osf) +- AC_DEFINE(SDL_CDROM_OSF) ++ AC_DEFINE(SDL_CDROM_OSF,1,"") + SOURCES="$SOURCES $srcdir/src/cdrom/osf/*.c" + have_cdrom=yes + ;; +@@ -2408,7 +2380,7 @@ + fi + # Set up files for the thread library + if test x$enable_threads = xyes -a x$use_pthreads != xyes -a x$use_pth != xyes -a x$ARCH = xirix; then +- AC_DEFINE(SDL_THREAD_SPROC) ++ AC_DEFINE(SDL_THREAD_SPROC,1,"") + SOURCES="$SOURCES $srcdir/src/thread/irix/*.c" + SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c" + SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c" +@@ -2416,7 +2388,7 @@ + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then +- AC_DEFINE(SDL_TIMER_UNIX) ++ AC_DEFINE(SDL_TIMER_UNIX,1,"") + SOURCES="$SOURCES $srcdir/src/timer/unix/*.c" + have_timers=yes + fi +@@ -2435,20 +2407,20 @@ + CheckPTHREAD + # Set up files for the audio library + if test x$enable_audio = xyes; then +- AC_DEFINE(SDL_AUDIO_DRIVER_QNXNTO) ++ AC_DEFINE(SDL_AUDIO_DRIVER_QNXNTO,1,"") + SOURCES="$SOURCES $srcdir/src/audio/nto/*.c" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lasound" + have_audio=yes + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then +- AC_DEFINE(SDL_CDROM_QNX) ++ AC_DEFINE(SDL_CDROM_QNX,1,"") + SOURCES="$SOURCES $srcdir/src/cdrom/qnx/*.c" + have_cdrom=yes + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then +- AC_DEFINE(SDL_TIMER_UNIX) ++ AC_DEFINE(SDL_TIMER_UNIX,1,"") + SOURCES="$SOURCES $srcdir/src/timer/unix/*.c" + have_timers=yes + fi +@@ -2473,29 +2445,29 @@ + CheckNASM + # Set up files for the audio library + if test x$enable_audio = xyes; then +- AC_DEFINE(SDL_AUDIO_DRIVER_WAVEOUT) ++ AC_DEFINE(SDL_AUDIO_DRIVER_WAVEOUT,1,"") + SOURCES="$SOURCES $srcdir/src/audio/windib/*.c" + if test x$have_directx = xyes; then +- AC_DEFINE(SDL_AUDIO_DRIVER_DSOUND) ++ AC_DEFINE(SDL_AUDIO_DRIVER_DSOUND,1,"") + SOURCES="$SOURCES $srcdir/src/audio/windx5/*.c" + fi + have_audio=yes + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then +- AC_DEFINE(SDL_JOYSTICK_WINMM) ++ AC_DEFINE(SDL_JOYSTICK_WINMM,1,"") + SOURCES="$SOURCES $srcdir/src/joystick/win32/*.c" + have_joystick=yes + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then +- AC_DEFINE(SDL_CDROM_WIN32) ++ AC_DEFINE(SDL_CDROM_WIN32,1,"") + SOURCES="$SOURCES $srcdir/src/cdrom/win32/*.c" + have_cdrom=yes + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then +- AC_DEFINE(SDL_THREAD_WIN32) ++ AC_DEFINE(SDL_THREAD_WIN32,1,"") + SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_sysmutex.c" + SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_syssem.c" + SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_systhread.c" +@@ -2504,13 +2476,13 @@ + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then +- AC_DEFINE(SDL_TIMER_WIN32) ++ AC_DEFINE(SDL_TIMER_WIN32,1,"") + SOURCES="$SOURCES $srcdir/src/timer/win32/*.c" + have_timers=yes + fi + # Set up files for the shared object loading library + if test x$enable_loadso = xyes; then +- AC_DEFINE(SDL_LOADSO_WIN32) ++ AC_DEFINE(SDL_LOADSO_WIN32,1,"") + SOURCES="$SOURCES $srcdir/src/loadso/win32/*.c" + have_loadso=yes + fi +@@ -2579,25 +2551,25 @@ + CheckBeGL + # Set up files for the audio library + if test x$enable_audio = xyes; then +- AC_DEFINE(SDL_AUDIO_DRIVER_BAUDIO) ++ AC_DEFINE(SDL_AUDIO_DRIVER_BAUDIO,1,"") + SOURCES="$SOURCES $srcdir/src/audio/baudio/*.cc" + have_audio=yes + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then +- AC_DEFINE(SDL_JOYSTICK_BEOS) ++ AC_DEFINE(SDL_JOYSTICK_BEOS,1,"") + SOURCES="$SOURCES $srcdir/src/joystick/beos/*.cc" + have_joystick=yes + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then +- AC_DEFINE(SDL_CDROM_BEOS) ++ AC_DEFINE(SDL_CDROM_BEOS,1,"") + SOURCES="$SOURCES $srcdir/src/cdrom/beos/*.cc" + have_cdrom=yes + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then +- AC_DEFINE(SDL_THREAD_BEOS) ++ AC_DEFINE(SDL_THREAD_BEOS,1,"") + SOURCES="$SOURCES $srcdir/src/thread/beos/*.c" + SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c" + SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c" +@@ -2605,7 +2577,7 @@ + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then +- AC_DEFINE(SDL_TIMER_BEOS) ++ AC_DEFINE(SDL_TIMER_BEOS,1,"") + SOURCES="$SOURCES $srcdir/src/timer/beos/*.c" + have_timers=yes + fi +@@ -2613,11 +2585,11 @@ + if test x$enable_loadso = xyes; then + case "$host" in + *-*-beos*) +- AC_DEFINE(SDL_LOADSO_BEOS) ++ AC_DEFINE(SDL_LOADSO_BEOS,1,"") + SOURCES="$SOURCES $srcdir/src/loadso/beos/*.c" + ;; + *-*-haiku*) +- AC_DEFINE(SDL_LOADSO_DLOPEN) ++ AC_DEFINE(SDL_LOADSO_DLOPEN,1,"") + SOURCES="$SOURCES $srcdir/src/loadso/dlopen/*.c" + ;; + esac +@@ -2653,7 +2625,7 @@ + # Set up files for the shared object loading library + # (this needs to be done before the dynamic X11 check) + if test x$enable_loadso = xyes -a x$have_dlopen != xyes; then +- AC_DEFINE(SDL_LOADSO_DLCOMPAT) ++ AC_DEFINE(SDL_LOADSO_DLCOMPAT,1,"") + SOURCES="$SOURCES $srcdir/src/loadso/macosx/*.c" + have_loadso=yes + fi +@@ -2671,26 +2643,26 @@ + + # Set up files for the audio library + if test x$enable_audio = xyes; then +- AC_DEFINE(SDL_AUDIO_DRIVER_COREAUDIO) ++ AC_DEFINE(SDL_AUDIO_DRIVER_COREAUDIO,1,"") + SOURCES="$SOURCES $srcdir/src/audio/macosx/*.c" + have_audio=yes + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then +- AC_DEFINE(SDL_JOYSTICK_IOKIT) ++ AC_DEFINE(SDL_JOYSTICK_IOKIT,1,"") + SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c" + have_joystick=yes + need_iokit_framework=yes + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then +- AC_DEFINE(SDL_CDROM_MACOSX) ++ AC_DEFINE(SDL_CDROM_MACOSX,1,"") + SOURCES="$SOURCES $srcdir/src/cdrom/macosx/*.c" + have_cdrom=yes + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then +- AC_DEFINE(SDL_TIMER_UNIX) ++ AC_DEFINE(SDL_TIMER_UNIX,1,"") + SOURCES="$SOURCES $srcdir/src/timer/unix/*.c" + have_timers=yes + fi +@@ -2731,30 +2703,30 @@ + # Set up files for the audio library + if test x$enable_threads = xyes -a x$enable_pth = xyes; then + if test x$enable_audio = xyes; then +- AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO) ++ AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO,1,"") + SOURCES="$SOURCES $srcdir/src/audio/sun/*.c" + have_audio=yes + fi + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then +- AC_DEFINE(SDL_JOYSTICK_MINT) ++ AC_DEFINE(SDL_JOYSTICK_MINT,1,"") + SOURCES="$SOURCES $srcdir/src/joystick/mint/*.c" + have_joystick=yes + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then +- AC_DEFINE(SDL_CDROM_MINT) ++ AC_DEFINE(SDL_CDROM_MINT,1,"") + SOURCES="$SOURCES $srcdir/src/cdrom/mint/*.c" + have_cdrom=yes + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + if test x$enable_threads = xyes -a x$enable_pth = xyes; then +- AC_DEFINE(SDL_TIMER_UNIX) ++ AC_DEFINE(SDL_TIMER_UNIX,1,"") + SOURCES="$SOURCES $srcdir/src/timer/unix/*.c" + else +- AC_DEFINE(SDL_TIMER_MINT) ++ AC_DEFINE(SDL_TIMER_MIN,1,""T) + SOURCES="$SOURCES $srcdir/src/timer/mint/*.c" + SOURCES="$SOURCES $srcdir/src/timer/mint/*.S" + fi +@@ -2767,20 +2739,20 @@ + CheckPTHREAD + # Set up files for the video library + if test x$enable_video = xyes; then +- AC_DEFINE(SDL_VIDEO_DRIVER_RISCOS) ++ AC_DEFINE(SDL_VIDEO_DRIVER_RISCOS,1,"") + SOURCES="$SOURCES $srcdir/src/video/riscos/*.c" + SOURCES="$SOURCES $srcdir/src/video/riscos/*.S" + have_video=yes + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then +- AC_DEFINE(SDL_JOYSTICK_RISCOS) ++ AC_DEFINE(SDL_JOYSTICK_RISCOS,1,"") + SOURCES="$SOURCES $srcdir/src/joystick/riscos/*.c" + have_joystick=yes + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then +- AC_DEFINE(SDL_TIMER_RISCOS) ++ AC_DEFINE(SDL_TIMER_RISCOS,1,"") + SOURCES="$SOURCES $srcdir/src/timer/riscos/*.c" + have_timers=yes + fi +@@ -2799,31 +2771,31 @@ + if test x$enable_joystick = xyes; then + if test x$have_joystick != xyes; then + # Wants joystick subsystem, but doesn't have a platform-specific backend... +- AC_DEFINE(SDL_JOYSTICK_DUMMY) ++ AC_DEFINE(SDL_JOYSTICK_DUMMY,1,"") + SOURCES="$SOURCES $srcdir/src/joystick/dummy/*.c" + fi + fi + if test x$have_cdrom != xyes; then + if test x$enable_cdrom = xyes; then +- AC_DEFINE(SDL_CDROM_DISABLED) ++ AC_DEFINE(SDL_CDROM_DISABLED,1,"") + fi + SOURCES="$SOURCES $srcdir/src/cdrom/dummy/*.c" + fi + if test x$have_threads != xyes; then + if test x$enable_threads = xyes; then +- AC_DEFINE(SDL_THREADS_DISABLED) ++ AC_DEFINE(SDL_THREADS_DISABLED,1,"") + fi + SOURCES="$SOURCES $srcdir/src/thread/generic/*.c" + fi + if test x$have_timers != xyes; then + if test x$enable_timers = xyes; then +- AC_DEFINE(SDL_TIMERS_DISABLED) ++ AC_DEFINE(SDL_TIMERS_DISABLED,1,"") + fi + SOURCES="$SOURCES $srcdir/src/timer/dummy/*.c" + fi + if test x$have_loadso != xyes; then + if test x$enable_loadso = xyes; then +- AC_DEFINE(SDL_LOADSO_DISABLED) ++ AC_DEFINE(SDL_LOADSO_DISABLED,1,"") + fi + SOURCES="$SOURCES $srcdir/src/loadso/dummy/*.c" + fi diff --git a/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb b/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb new file mode 100644 index 000000000..8b394428d --- /dev/null +++ b/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb @@ -0,0 +1,65 @@ +SUMMARY = "Simple DirectMedia Layer" +DESCRIPTION = "Simple DirectMedia Layer is a cross-platform multimedia \ +library designed to provide low level access to audio, keyboard, mouse, \ +joystick, 3D hardware via OpenGL, and 2D video framebuffer." +HOMEPAGE = "http://www.libsdl.org" +BUGTRACKER = "http://bugzilla.libsdl.org/" + +SECTION = "libs" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=27818cd7fd83877a8e3ef82b82798ef4" + +PROVIDES = "virtual/libsdl" + +DEPENDS = "${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'opengl', 'virtual/libgl', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxext libxrandr libxrender', '', d)} \ + tslib" +DEPENDS_virtclass-nativesdk = "${@base_contains('DISTRO_FEATURES', 'x11', 'libx11-nativesdk libxrandr-nativesdk libxrender-nativesdk libxext-nativesdk', '', d)}" + +PR = "r0" + +SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \ + file://configure_tweak.patch \ + " + +S = "${WORKDIR}/SDL-${PV}" + +SRC_URI[md5sum] = "9d96df8417572a2afb781a7c4c811a85" +SRC_URI[sha256sum] = "d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00" + +inherit autotools lib_package binconfig pkgconfig + +EXTRA_OECONF = "--disable-static --disable-debug --enable-cdrom --enable-threads --enable-timers --enable-endian \ + --enable-file --disable-oss --disable-esd --disable-arts \ + --disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \ + --disable-mintaudio --disable-nasm --disable-video-dga \ + --disable-video-fbcon --disable-video-ps2gs --disable-video-ps3 \ + --disable-video-xbios --disable-video-gem --disable-video-dummy \ + --enable-input-events --enable-input-tslib --enable-pthreads \ + ${@base_contains('DISTRO_FEATURES', 'directfb', '--enable-video-directfb', '--disable-video-directfb', d)} \ + ${@base_contains('DISTRO_FEATURES', 'opengl', '--enable-video-opengl', '--disable-video-opengl', d)} \ + ${@base_contains('DISTRO_FEATURES', 'x11', '--enable-video-x11', '--disable-video-x11', d)} \ + --disable-video-svga \ + --disable-video-picogui --disable-video-qtopia --enable-dlopen \ + --disable-rpath \ + --disable-pulseaudio" + +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)}" +PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib," + +PARALLEL_MAKE = "" + +EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader" + +do_configure_prepend() { + # Remove old libtool macros. + MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" + for i in ${MACROS}; do + rm -f acinclude/$i + done + export SYSROOT=$PKG_CONFIG_SYSROOT_DIR +} + +BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-graphics/libxsettings-client/libxsettings-client/MIT-style-license b/meta/recipes-graphics/libxsettings-client/libxsettings-client/MIT-style-license new file mode 100644 index 000000000..628de9830 --- /dev/null +++ b/meta/recipes-graphics/libxsettings-client/libxsettings-client/MIT-style-license @@ -0,0 +1,22 @@ +/* + * Copyright © 2001 Red Hat, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Red Hat not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. Red Hat makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL RED HAT + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: Owen Taylor, Red Hat, Inc. + */ diff --git a/meta/recipes-graphics/libxsettings-client/libxsettings-client/disable_Os_option.patch b/meta/recipes-graphics/libxsettings-client/libxsettings-client/disable_Os_option.patch new file mode 100644 index 000000000..64b7efac2 --- /dev/null +++ b/meta/recipes-graphics/libxsettings-client/libxsettings-client/disable_Os_option.patch @@ -0,0 +1,19 @@ +Upstream-Status: Inappropriate [configuration] + +Do not set Os optimization in target APP CFLAGS, since it may have potential +error if "--enable-target-optspace" is not set when configuring GCC. + +Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> + +diff -ruN Xsettings-client-0.10-orig/configure.ac Xsettings-client-0.10/configure.ac +--- Xsettings-client-0.10-orig/configure.ac 2010-09-21 14:01:47.000000000 +0800 ++++ Xsettings-client-0.10/configure.ac 2010-09-21 14:02:01.000000000 +0800 +@@ -3,7 +3,7 @@ + AM_INIT_AUTOMAKE(Xsettings-client, 0.10) + AM_CONFIG_HEADER(config.h) + +-CFLAGS="-Os -Wall" ++CFLAGS="-O2 -Wall" + + # Checks for programs. + AC_PROG_CC diff --git a/meta/recipes-graphics/libxsettings-client/libxsettings-client/link-x11.patch b/meta/recipes-graphics/libxsettings-client/libxsettings-client/link-x11.patch new file mode 100644 index 000000000..d08d0d5b9 --- /dev/null +++ b/meta/recipes-graphics/libxsettings-client/libxsettings-client/link-x11.patch @@ -0,0 +1,13 @@ +Upstream-Status: Inappropriate [configuration] + +Index: Xsettings-client-0.10/Makefile.am +=================================================================== +--- Xsettings-client-0.10.orig/Makefile.am 2008-02-07 14:49:54.000000000 +0000 ++++ Xsettings-client-0.10/Makefile.am 2008-02-07 14:50:00.000000000 +0000 +@@ -9,4 +9,4 @@ + + libXsettings_client_la_SOURCES= $(source_c) $(source_h) + +-libXsettings_client_la_LIBADD = @X_LIBS@ +\ No newline at end of file ++libXsettings_client_la_LIBADD = @X_LIBS@ -lX11 diff --git a/meta/recipes-graphics/libxsettings-client/libxsettings-client_0.10.bb b/meta/recipes-graphics/libxsettings-client/libxsettings-client_0.10.bb new file mode 100644 index 000000000..a12b5e086 --- /dev/null +++ b/meta/recipes-graphics/libxsettings-client/libxsettings-client_0.10.bb @@ -0,0 +1,37 @@ +SUMMARY = "utility functions for the Xsettings protocol" +DESCRIPTION = "Libraries used for applications making use of the Xsettings configuration \ +setting propagation protocol. Controls setting of double click timeout, drag-and-drop \ +threshold, and default foreground and background colors for all applications running within a \ +desktop." +HOMEPAGE = "http://matchbox-project.org/sources/optional-dependencies/" +BUGTRACKER = "http://bugzilla.openedhand.com/" +SECTION = "x/libs" +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=7cfac9d2d4dc3694cc7eb605cf32a69b \ + file://xsettings-client.h;endline=22;md5=7cfac9d2d4dc3694cc7eb605cf32a69b \ + file://xsettings-common.h;endline=22;md5=7cfac9d2d4dc3694cc7eb605cf32a69b" +DEPENDS = "virtual/libx11" + +PR = "r4" + +headers = "xsettings-common.h xsettings-client.h" + +SRC_URI = "http://downloads.yoctoproject.org/releases/matchbox/optional-dependencies/Xsettings-client-0.10.tar.gz \ + file://MIT-style-license \ + file://link-x11.patch;apply=yes \ + file://disable_Os_option.patch" + +SRC_URI[md5sum] = "c14aa9db6c097e0306dac97fb7da1add" +SRC_URI[sha256sum] = "f274a4bc969ae192994a856b7f786c6fce96bae77f96c1c2b71dd97599e06e43" + +S = "${WORKDIR}/Xsettings-client-0.10" + +inherit autotools gettext + +do_configure_prepend() { + # This package doesn't ship with its own COPYING file and + # autotools will install a GPLv2 one instead of the actual MIT-style license here. + # Add the correct license here to avoid confusion. + cp -f ${WORKDIR}/MIT-style-license ${S}/COPYING +} + diff --git a/meta/recipes-graphics/matchbox-session/matchbox-session/matchbox-session b/meta/recipes-graphics/matchbox-session/matchbox-session/matchbox-session new file mode 100644 index 000000000..4d6caa0c5 --- /dev/null +++ b/meta/recipes-graphics/matchbox-session/matchbox-session/matchbox-session @@ -0,0 +1,24 @@ +#!/bin/sh +# +# Very simple session manager for matchbox tools +# + +# Uncomment below to enable parsing of debian menu entrys +# export MB_USE_DEB_MENUS=1 + +if [ -e $HOME/.matchbox/session ] +then +exec $HOME/.matchbox/session +fi + +if [ -e /etc/matchbox/session ] +then +exec /etc/matchbox/session +fi + +# Default files to run if $HOME/.matchbox/session or /etc/matchbox/session +# dont exist. + +matchbox-desktop & +matchbox-panel & +exec matchbox-window-manager $@ diff --git a/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb new file mode 100644 index 000000000..dc10031b3 --- /dev/null +++ b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "Custom MB session files for poky" +HOMEPAGE = "http://www.matchbox-project.org/" +BUGTRACKER = "http://bugzilla.openedhand.com/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://matchbox-session;endline=20;md5=180f1c169a15d059a56c30094f6fb5ea" + +SECTION = "x11" +RCONFLICTS = "matchbox-common" + +SRC_URI = "file://matchbox-session" +S = "${WORKDIR}" + +PR = "r1" + +inherit update-alternatives + +ALTERNATIVE_NAME = "x-session-manager" +ALTERNATIVE_LINK = "${bindir}/x-session-manager" +ALTERNATIVE_PATH = "${bindir}/matchbox-session" +ALTERNATIVE_PRIORITY = "10" + +do_install() { + install -d ${D}/${bindir} + install -m 0755 ${S}/matchbox-session ${D}/${bindir} +} diff --git a/meta/recipes-graphics/matchbox-wm-2/matchbox-wm-2/fix_makefile.patch b/meta/recipes-graphics/matchbox-wm-2/matchbox-wm-2/fix_makefile.patch new file mode 100644 index 000000000..1f877d76f --- /dev/null +++ b/meta/recipes-graphics/matchbox-wm-2/matchbox-wm-2/fix_makefile.patch @@ -0,0 +1,21 @@ +Upstream-Status: Accepted +Instead matchbox-window-manager-2, it is in libmatchboxwm2, which has build +failure as partial gtk-doc implementation. + +Nitin A Kamble <nitin.a.kamble@intel.com> 2011/05/10 +Fix following build error: +| Makefile:734: *** missing separator (did you mean TAB instead of 8 spaces?). Stop. +| ERROR: oe_runmake failed + +Index: matchbox-window-manager-2/Makefile.am +=================================================================== +--- matchbox-window-manager-2.orig/Makefile.am ++++ matchbox-window-manager-2/Makefile.am +@@ -3,6 +3,6 @@ SUBDIRS = matchbox data doc util + # Extra clean files so that maintainer-clean removes *everything* + + snapshot: +- $(MAKE) dist distdir=$(PACKAGE)-snapshot-`date +"%Y%m%d"` ++ $(MAKE) dist distdir=$(PACKAGE)-snapshot-`date +"%Y%m%d"` + + MAINTAINERCLEANFILES = aclocal.m4 compile config.guess config.sub configure depcomp install-sh ltmain.sh Makefile.in missing diff --git a/meta/recipes-graphics/matchbox-wm-2/matchbox-wm-2_git.bb b/meta/recipes-graphics/matchbox-wm-2/matchbox-wm-2_git.bb new file mode 100644 index 000000000..4aad3a956 --- /dev/null +++ b/meta/recipes-graphics/matchbox-wm-2/matchbox-wm-2_git.bb @@ -0,0 +1,46 @@ +SECTION = "x11/wm" +DESCRIPTION = "Matchbox window manager" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://matchbox/core/mb-wm.h;endline=21;md5=1b1d328a527906350ea7ce7ab1bb7564" + +DEPENDS = "virtual/libx11 libxext libxrender startup-notification expat gconf pango libxdamage libxcomposite gtk+" + +SRCREV = "01fa5465743c9ee43d040350f4405d35293e4869" +PV = "0.1+git${SRCPV}" +PR = "r1" + +SRC_URI = "git://git.yoctoproject.org/matchbox-window-manager-2;proto=git \ + file://fix_makefile.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig update-alternatives + +# Change this to x-session-manager->matchbox-session and put in +# matchbox-session, then change this to x-window-manager to +# matchbox-window-manager-2. +ALTERNATIVE_NAME = "x-window-manager" +ALTERNATIVE_LINK = "${bindir}/x-window-manager" +ALTERNATIVE_PATH = "${bindir}/matchbox-window-manager" +ALTERNATIVE_PRIORITY = "10" + +PACKAGES =+ "libmatchbox2" + +FILES_libmatchbox2 = "${libdir}/*${SOLIBS}" + +FILES_${PN} += "${datadir}/matchbox-2 \ + ${sysconfdir}/matchbox-2 \ + ${datadir}/themes/*" + +EXTRA_OECONF = "--enable-debug \ + --enable-simple-manager \ + --enable-compositing-manager \ + --enable-libmatchbox \ + --enable-png-theme \ + " + +do_install_append () { + cd ${D}${bindir} + ln -s matchbox-window-manager-2-simple matchbox-window-manager +} diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm/configure_fix.patch b/meta/recipes-graphics/matchbox-wm/matchbox-wm/configure_fix.patch new file mode 100644 index 000000000..800bf3b55 --- /dev/null +++ b/meta/recipes-graphics/matchbox-wm/matchbox-wm/configure_fix.patch @@ -0,0 +1,15 @@ +Upstream-Status: Inappropriate [configuration] + +Index: matchbox-window-manager/configure.ac +=================================================================== +--- matchbox-window-manager.orig/configure.ac 2007-11-14 12:02:28.000000000 +0000 ++++ matchbox-window-manager/configure.ac 2007-11-14 12:18:55.000000000 +0000 +@@ -283,7 +283,7 @@ + yes) + + case "$expat" in +- yes) ++ yes|"") + EXPAT_LIBS="-lexpat" + ;; + *) diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm/gconf-2.m4 b/meta/recipes-graphics/matchbox-wm/matchbox-wm/gconf-2.m4 new file mode 100644 index 000000000..aca7c7da4 --- /dev/null +++ b/meta/recipes-graphics/matchbox-wm/matchbox-wm/gconf-2.m4 @@ -0,0 +1,39 @@ +dnl AM_GCONF_SOURCE_2 +dnl Defines GCONF_SCHEMA_CONFIG_SOURCE which is where you should install schemas +dnl (i.e. pass to gconftool-2 +dnl Defines GCONF_SCHEMA_FILE_DIR which is a filesystem directory where +dnl you should install foo.schemas files +dnl + +AC_DEFUN([AM_GCONF_SOURCE_2], +[ + if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then + GCONF_SCHEMA_CONFIG_SOURCE=`gconftool-2 --get-default-source` + else + GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE + fi + + AC_ARG_WITH(gconf-source, + [ --with-gconf-source=sourceaddress Config database for installing schema files.],GCONF_SCHEMA_CONFIG_SOURCE="$withval",) + + AC_SUBST(GCONF_SCHEMA_CONFIG_SOURCE) + AC_MSG_RESULT([Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation]) + + if test "x$GCONF_SCHEMA_FILE_DIR" = "x"; then + GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas' + fi + + AC_ARG_WITH(gconf-schema-file-dir, + [ --with-gconf-schema-file-dir=dir Directory for installing schema files.],GCONF_SCHEMA_FILE_DIR="$withval",) + + AC_SUBST(GCONF_SCHEMA_FILE_DIR) + AC_MSG_RESULT([Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files]) + + AC_ARG_ENABLE(schemas-install, + [ --disable-schemas-install Disable the schemas installation], + [case ${enableval} in + yes|no) ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-schemas-install) ;; + esac]) + AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL], [test "$enable_schemas_install" != no]) +]) diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm/kbdconfig b/meta/recipes-graphics/matchbox-wm/matchbox-wm/kbdconfig new file mode 100644 index 000000000..239da8f57 --- /dev/null +++ b/meta/recipes-graphics/matchbox-wm/matchbox-wm/kbdconfig @@ -0,0 +1,42 @@ +# +# This is an example keyboard config file for matchbox +# +# You can edit this file or change per user by copying to +# ~/.matchbox/kbdconfig +# +# Se the matchbox manual for more info ( http://projects.o-hand.com/matchbox ) + +### Window operation short cuts + +<Alt>n=next +<Alt>p=prev +<Alt>c=close +<Alt>d=desktop +<Alt>m=!matchbox-remote -mbmenu + +### App launching. + +<ctrl><alt>x=!xterm +<ctrl><alt>r=!rxvt + +### poky additions + +XF86Calendar=!$contacts +telephone=!$dates +XF86Start=!matchbox-remote -desktop +F2=!matchbox-remote -mbmenu + +#XF86Mail=!$tasks +#Escape=close + +### windows style key shortcuts + +<alt>Tab=next +<alt><shift>Tab=prev + +<alt>space=taskmenu +<alt>escape=!matchbox-remote -mbmenu +<alt>f4=close + +f11=fullscreen + diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.bb b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.bb new file mode 100644 index 000000000..26283266a --- /dev/null +++ b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.bb @@ -0,0 +1,36 @@ +SECTION = "x11/wm" +DESCRIPTION = "Matchbox window manager" +LICENSE = "GPLv2.0+" +DEPENDS = "libmatchbox virtual/libx11 libxext libxcomposite libxfixes xdamage libxrender startup-notification expat" +PR = "r5" + +SRC_URI = "http://matchbox-project.org/sources/matchbox-window-manager/1.2/matchbox-window-manager-${PV}.tar.bz2 \ + file://configure_fix.patch \ + file://kbdconfig \ + file://gconf-2.m4" + +S = "${WORKDIR}/matchbox-window-manager-${PV}" + +inherit autotools pkgconfig + +FILES_${PN} = "${bindir}/* \ + ${datadir}/matchbox \ + ${sysconfdir}/matchbox \ + ${datadir}/themes/blondie/matchbox \ + ${datadir}/themes/Default/matchbox \ + ${datadir}/themes/MBOpus/matchbox" + +EXTRA_OECONF = " --enable-startup-notification \ + --disable-xrm \ + --enable-expat \ + --with-expat-lib=${STAGING_LIBDIR} \ + --with-expat-includes=${STAGING_INCDIR}" + + +do_configure_prepend () { + cp ${WORKDIR}/gconf-2.m4 ${S}/ +} + +do_install_prepend() { + install ${WORKDIR}/kbdconfig ${S}/data/kbdconfig +} diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm_git.bb b/meta/recipes-graphics/matchbox-wm/matchbox-wm_git.bb new file mode 100644 index 000000000..ef9cf761f --- /dev/null +++ b/meta/recipes-graphics/matchbox-wm/matchbox-wm_git.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "Matchbox window manager" +HOMEPAGE = "http://matchbox-project.org" +BUGTRACKER = "http://bugzilla.openedhand.com/" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://src/wm.h;endline=21;md5=a7e844465edbcf79c282369f93caa835 \ + file://src/main.c;endline=21;md5=3e5d9f832b527b0d72dbe8e3c4c60b95 \ + file://src/wm.c;endline=21;md5=8dc9d24477d87ef5dfbc2e4927146aab" + +SECTION = "x11/wm" +DEPENDS = "libmatchbox virtual/libx11 libxext libxrender startup-notification expat gconf" + +SRCREV = "f4394eaed475de6e627d373c5b35ee2cf87072e3" +PV = "1.2+git${SRCPV}" +PR = "r1" + +SRC_URI = "git://git.yoctoproject.org/matchbox-window-manager;protocol=git \ + file://configure_fix.patch;maxrev=1818 \ + file://kbdconfig" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +FILES_${PN} = "${bindir}/* \ + ${datadir}/matchbox \ + ${sysconfdir}/matchbox \ + ${datadir}/themes/blondie/matchbox \ + ${datadir}/themes/Default/matchbox \ + ${datadir}/themes/MBOpus/matchbox" + +EXTRA_OECONF = " --enable-startup-notification \ + --disable-xrm \ + --enable-expat \ + --with-expat-lib=${STAGING_LIBDIR} \ + --with-expat-includes=${STAGING_INCDIR}" + +do_install_prepend() { + install ${WORKDIR}/kbdconfig ${S}/data/kbdconfig +} diff --git a/meta/recipes-graphics/menu-cache/menu-cache_0.3.2.bb b/meta/recipes-graphics/menu-cache/menu-cache_0.3.2.bb new file mode 100644 index 000000000..b8f9d979d --- /dev/null +++ b/meta/recipes-graphics/menu-cache/menu-cache_0.3.2.bb @@ -0,0 +1,21 @@ +SUMMARY = "Library for caching application menus" +DESCRIPTION = "A library creating and utilizing caches to speed up freedesktop.org application menus" +HOMEPAGE = "http://lxde.sourceforge.net/" +BUGTRACKER = "" + +LICENSE = "GPLv2 & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://libmenu-cache/menu-cache.h;endline=29;md5=ca0101a419b3584963e0c45f2b6b55ef \ + file://menu-cache-daemon/menu-cached.c;endline=22;md5=fcecb7d315c57ef804103fa9cdab7111" + +SECTION = "x11/libs" +DEPENDS = "glib-2.0 zlib" + +SRC_URI = "${SOURCEFORGE_MIRROR}/lxde/menu-cache-${PV}.tar.gz" + +SRC_URI[md5sum] = "ac4a9ea77db68d3db3f9f53cc75af66a" +SRC_URI[sha256sum] = "6b7c1627b5102d8301a8a3e845f673a7181a71dde32f6455abf22d03e392b89f" + +PR = "r2" + +inherit autotools pkgconfig diff --git a/meta/recipes-graphics/mesa/mesa-7.11.inc b/meta/recipes-graphics/mesa/mesa-7.11.inc new file mode 100644 index 000000000..7c4a6904d --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-7.11.inc @@ -0,0 +1,20 @@ +DEPENDS += "mesa-dri-glsl-native" + + +SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \ + file://uclibc.patch \ + file://crossfix.patch \ + file://crossfix-mklib.patch \ + file://mesa_fix_for_x32.patch \ + " +S = "${WORKDIR}/Mesa-${PV}" + +SRC_URI[md5sum] = "ff03aca82d0560009a076a87c888cf13" +SRC_URI[sha256sum] = "f8bf37a00882840a3e3d327576bc26a79ae7f4e18fe1f7d5f17a5b1c80dd7acf" + +do_configure_prepend() { + #check for python not python2, because python-native does not stage python2 binary/link + sed -i 's/AC_CHECK_PROGS(\[PYTHON2\], \[python2 python\])/AC_CHECK_PROGS(\[PYTHON2\], \[python python\])/g' ${S}/configure.ac + # We need builtin_compiler built for buildhost arch instead of target (is provided by mesa-dri-glsl-native)" + sed -i "s#\./builtin_compiler#${STAGING_BINDIR_NATIVE}/glsl/builtin_compiler#g" ${S}/src/glsl/Makefile +} diff --git a/meta/recipes-graphics/mesa/mesa-common.inc b/meta/recipes-graphics/mesa/mesa-common.inc new file mode 100644 index 000000000..f697e673e --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-common.inc @@ -0,0 +1,54 @@ +SUMMARY = "A free implementation of the OpenGL API" +DESCRIPTION = "Mesa is an open-source implementation of the OpenGL specification - \ +a system for rendering interactive 3D graphics. \ +A variety of device drivers allows Mesa to be used in many different environments \ +ranging from software emulation to complete hardware acceleration for modern GPUs. \ +Mesa is used as part of the overall Direct Rendering Infrastructure and X.org \ +environment." + +HOMEPAGE = "http://mesa3d.org" +BUGTRACKER = "https://bugs.freedesktop.org" +SECTION = "x11" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://docs/license.html;md5=7a3373c039b6b925c427755a4f779c1d" + +INC_PR = "r14" +PE = "2" + + +PROTO_DEPS = "xf86driproto glproto" +LIB_DEPS = "virtual/libx11 libxext libxxf86vm libxdamage libxfixes libxml2-native" + +DEPENDS = "makedepend-native python-native flex-native bison-native ${PROTO_DEPS} ${LIB_DEPS}" + +PROVIDES = "virtual/libgl" + +# for mesa-dri and mesa-xlib +FILESEXTRAPATHS_append := "${THISDIR}/mesa:" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--enable-glu \ + --disable-glw \ + --disable-glut \ + --enable-glx-tls" + +# Multiple virtual/gl providers being built breaks staging +EXCLUDE_FROM_WORLD = "1" + +# ie mesa-dri could be empty and mesa-dri-dev RDEPENDS on it +ALLOW_EMPTY_${PN} = "1" + +PACKAGES =+ "libegl libegl-dev libegl-dbg libglu libglu-dev libosmesa libosmesa-dev libgl libgl-dev" +FILES_libegl = "${libdir}/libEGL.so.* ${libdir}/egl/*.so" +FILES_libgl = "${libdir}/libGL.so.*" +FILES_libglu = "${libdir}/libGLU.so.*" +FILES_libosmesa = "${libdir}/libOSMesa.so.*" + +FILES_libegl-dev = "${libdir}/libEGL.* ${includedir}/EGL" +FILES_libgl-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc" +FILES_libglu-dev = "${libdir}/libGLU.* ${includedir}/GL/glu*.h" +FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/osmesa.h" + +FILES_${PN}-dbg += "${libdir}/dri/.debug/*" +FILES_libegl-dbg += "${libdir}/egl/.debug/*" diff --git a/meta/recipes-graphics/mesa/mesa-demos/dso_linking_change_build_fix.patch b/meta/recipes-graphics/mesa/mesa-demos/dso_linking_change_build_fix.patch new file mode 100644 index 000000000..9b5e95218 --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-demos/dso_linking_change_build_fix.patch @@ -0,0 +1,24 @@ +after gcc linking has changed, all the libraries must be explicitely specified +This patch avoids these linking errors: + +| CCLD xeglgears +| /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/libexec/armv5te-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.5.1/ld: xeglthreads.o: undefined reference to symbol 'pthread_join@@GLIBC_2.4' +| /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/libexec/armv5te-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.5.1/ld: note: 'pthread_join@@GLIBC_2.4' is defined in DSO /build_disk/poky_build/build0/tmp/sysroots/qemuarm/lib/libpthread.so.0 so try adding it to the linker command line +| /build_disk/poky_build/build0/tmp/sysroots/qemuarm/lib/libpthread.so.0: could not read symbols: Invalid operation +| collect2: ld returned 1 exit status + + +Nitin A Kamble <nitin.a.kamble@intel.com> +Date: 2011/02/03 + +Upstream-Status: Pending + +Index: mesa-demos-8.0.1/src/egl/opengl/Makefile.am +=================================================================== +--- mesa-demos-8.0.1.orig/src/egl/opengl/Makefile.am 2010-07-07 10:57:15.000000000 -0700 ++++ mesa-demos-8.0.1/src/egl/opengl/Makefile.am 2011-02-03 14:30:13.928486381 -0800 +@@ -67,3 +67,4 @@ + + eglgears_x11_LDADD = ../eglut/libeglut_x11.la + egltri_x11_LDADD = ../eglut/libeglut_x11.la ++xeglthreads_LDADD = -lpthread diff --git a/meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb b/meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb new file mode 100644 index 000000000..bfc62c585 --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "Mesa demo applications" +DESCRIPTION = "This package includes the demonstration application, such as glxgears. \ +These applications can be used for Mesa validation and benchmarking." +HOMEPAGE = "http://mesa3d.org" +BUGTRACKER = "https://bugs.freedesktop.org" +SECTION = "x11" + +LICENSE = "MIT & PD" +LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \ + file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06" + +DEPENDS = "virtual/libx11 virtual/libgl glew" + +PR = "r2" + +SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/demos/${PV}/${BPN}-${PV}.tar.bz2 \ + file://dso_linking_change_build_fix.patch" + +inherit autotools pkgconfig + +SRC_URI[md5sum] = "320c2a4b6edc6faba35d9cb1e2a30bf4" +SRC_URI[sha256sum] = "4bc7f2b20d17e3eebfec288f2367a435cd2db71fc5ac9ece2c14827e290d77d1" diff --git a/meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.11.bb b/meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.11.bb new file mode 100644 index 000000000..91945956b --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.11.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "gl shader language specific build from mesa-dri" +HOMEPAGE = "http://mesa3d.org" +BUGTRACKER = "https://bugs.freedesktop.org" +SECTION = "x11" +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://glsl_parser.cpp;beginline=3;endline=33;md5=d078f1cddc2fc355719c090482254bd9" + +DEPENDS = "makedepend-native" + +SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2" +SRC_URI[md5sum] = "ff03aca82d0560009a076a87c888cf13" +SRC_URI[sha256sum] = "f8bf37a00882840a3e3d327576bc26a79ae7f4e18fe1f7d5f17a5b1c80dd7acf" + +S = "${WORKDIR}/Mesa-${PV}/src/glsl/" + +inherit native + +# use default config for native build +do_configure_prepend() { + ln -sf ${S}/../../configs/default ${S}/../../configs/current +} + +do_install() { + install -d ${D}/${bindir}/glsl + install -m 755 ${S}/builtin_compiler ${D}/${bindir}/glsl/builtin_compiler + install -m 755 ${S}/glsl_compiler ${D}/${bindir}/glsl/glsl_compiler +} diff --git a/meta/recipes-graphics/mesa/mesa-dri.inc b/meta/recipes-graphics/mesa/mesa-dri.inc new file mode 100644 index 000000000..480672fd0 --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-dri.inc @@ -0,0 +1,24 @@ +PROTO_DEPS += "dri2proto" +LIB_DEPS += "libdrm expat" + +# most of our targets do not have DRI so will use mesa-xlib +DEFAULT_PREFERENCE = "-1" + +DRIDRIVERS = "swrast" +DRIDRIVERS_append_x86 = ",i915,i965" +DRIDRIVERS_append_x86-64 = ",i915,i965" + +EXTRA_OECONF += "--with-driver=dri --disable-egl --disable-gallium --without-gallium-drivers --with-dri-drivers=${DRIDRIVERS}" + +python populate_packages_prepend() { + import os.path + + dri_drivers_root = os.path.join(d.getVar('libdir', True), "dri") + + do_split_packages(d, dri_drivers_root, '^(.*)_dri\.so$', 'mesa-dri-driver-%s', 'Mesa %s DRI driver', extra_depends='') +} + +PACKAGES_DYNAMIC = "mesa-dri-driver-*" + +FILES_${PN}-dbg += "${libdir}/dri/.debug/*" + diff --git a/meta/recipes-graphics/mesa/mesa-dri_7.11.bb b/meta/recipes-graphics/mesa/mesa-dri_7.11.bb new file mode 100644 index 000000000..219e55517 --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-dri_7.11.bb @@ -0,0 +1,4 @@ +include mesa-common.inc +include mesa-${PV}.inc +include mesa-dri.inc +PR = "${INC_PR}.1" diff --git a/meta/recipes-graphics/mesa/mesa-dri_git.bb b/meta/recipes-graphics/mesa/mesa-dri_git.bb new file mode 100644 index 000000000..a0e19459f --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-dri_git.bb @@ -0,0 +1,9 @@ +include mesa-common.inc +include mesa-git.inc +include mesa-dri.inc + +# this needs to be lower than -1 because all mesa-dri have -1 and git version has highest PV, but shouldn't be default +DEFAULT_PREFERENCE = "-2" + +PR = "${INC_PR}.0" + diff --git a/meta/recipes-graphics/mesa/mesa-git.inc b/meta/recipes-graphics/mesa/mesa-git.inc new file mode 100644 index 000000000..1b4c0a69b --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-git.inc @@ -0,0 +1,20 @@ +DEPENDS += "mesa-dri-glsl-native" + +SRCREV = "983fa4ad523535debf2e94cf6ac1fd4c5630c0d2" +PV = "7.11+gitr${SRCPV}" + +LIC_FILES_CHKSUM = "file://docs/license.html;md5=03ccdc4c379c4289aecfb8892c546f67" +FILESEXTRAPATHS_prepend := "${THISDIR}/mesa-git:" + +SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;protocol=git \ + file://uclibc.patch \ + file://crossfix.patch \ + " +S = "${WORKDIR}/git" + +do_configure_prepend() { + #check for python not python2, because python-native does not stage python2 binary/link + sed -i 's/AC_CHECK_PROGS(\[PYTHON2\], \[python2 python\])/AC_CHECK_PROGS(\[PYTHON2\], \[python python\])/g' ${S}/configure.ac + # We need builtin_compiler built for buildhost arch instead of target (is provided by mesa-dri-glsl-native)" + sed -i "s#\./builtin_compiler#${STAGING_BINDIR_NATIVE}/glsl/builtin_compiler#g" ${S}/src/glsl/Makefile +} diff --git a/meta/recipes-graphics/mesa/mesa-git/uclibc.patch b/meta/recipes-graphics/mesa/mesa-git/uclibc.patch new file mode 100644 index 000000000..0b031f9c3 --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-git/uclibc.patch @@ -0,0 +1,57 @@ +Upstream-Status: Pending + +From 904bd5127bd88f45abf4a376676e0a487cfb018a Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Thu, 13 Oct 2011 12:46:53 +0200 +Subject: [PATCH] configure: add check HAVE_NEWLOCALE to fix build with uclibc + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + configure.ac | 3 +++ + src/glsl/strtod.c | 2 +- + src/mesa/main/imports.c | 2 +- + 3 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 49e81ad..468cfd7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -507,6 +507,9 @@ AC_SUBST([DLOPEN_LIBS]) + dnl See if posix_memalign is available + AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"]) + ++dnl See if newlocale is available ++AC_CHECK_FUNCS_ONCE(newlocale) ++ + dnl SELinux awareness. + AC_ARG_ENABLE([selinux], + [AS_HELP_STRING([--enable-selinux], +diff --git a/src/glsl/strtod.c b/src/glsl/strtod.c +index ff34591..88aa5ef 100644 +--- a/src/glsl/strtod.c ++++ b/src/glsl/strtod.c +@@ -44,7 +44,7 @@ + double + glsl_strtod(const char *s, char **end) + { +-#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) ++#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && defined (HAVE_NEWLOCALE) + static locale_t loc = NULL; + if (!loc) { + loc = newlocale(LC_CTYPE_MASK, "C", NULL); +diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c +index 345a1c5..493e0fb 100644 +--- a/src/mesa/main/imports.c ++++ b/src/mesa/main/imports.c +@@ -767,7 +767,7 @@ float + _mesa_strtof( const char *s, char **end ) + { + #if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && \ +- !defined(ANDROID) ++ !defined(ANDROID) && defined (HAVE_NEWLOCALE) + static locale_t loc = NULL; + if (!loc) { + loc = newlocale(LC_CTYPE_MASK, "C", NULL); +-- +1.7.7 + diff --git a/meta/recipes-graphics/mesa/mesa-xlib.inc b/meta/recipes-graphics/mesa/mesa-xlib.inc new file mode 100644 index 000000000..b720e140f --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-xlib.inc @@ -0,0 +1 @@ +EXTRA_OECONF += " --with-driver=xlib --without-gallium-drivers" diff --git a/meta/recipes-graphics/mesa/mesa-xlib_7.11.bb b/meta/recipes-graphics/mesa/mesa-xlib_7.11.bb new file mode 100644 index 000000000..7547b22cc --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-xlib_7.11.bb @@ -0,0 +1,5 @@ +include mesa-common.inc +include mesa-${PV}.inc +include mesa-xlib.inc +PR = "${INC_PR}.2" + diff --git a/meta/recipes-graphics/mesa/mesa-xlib_git.bb b/meta/recipes-graphics/mesa/mesa-xlib_git.bb new file mode 100644 index 000000000..be2f5d3cf --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-xlib_git.bb @@ -0,0 +1,8 @@ +include mesa-common.inc +include mesa-git.inc +include mesa-xlib.inc + +# this needs to be lower than -1 because all mesa-dri have -1 and git version has highest PV, but shouldn't be default +DEFAULT_PREFERENCE = "-2" + +PR = "${INC_PR}.1" diff --git a/meta/recipes-graphics/mesa/mesa/crossfix-mklib.patch b/meta/recipes-graphics/mesa/mesa/crossfix-mklib.patch new file mode 100644 index 000000000..dc0822891 --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa/crossfix-mklib.patch @@ -0,0 +1,71 @@ +This patch is ported from WindRiver linux and to fix cross compile failure. + +And original commits are: +commit 8d5ccc8113e1b51b0529a00c18a4aba956247e1b +commit 5c4212084b871a0c0fb7d174280ec9a634637deb + +Upstream-Status: Pending + +Signed-off-by: Kang Kai <kai.kang@windriver.com> + +--- Mesa-7.10.2/bin/mklib.orig 2011-09-28 16:15:34.170000074 +0800 ++++ Mesa-7.10.2/bin/mklib 2011-09-28 16:15:42.370000073 +0800 +@@ -49,8 +49,8 @@ + /*) ;; + *) FILE="$ORIG_DIR/$FILE" ;; + esac +- MEMBERS=`ar t $FILE` +- ar x $FILE ++ MEMBERS=`${AR} t $FILE` ++ ${AR} x $FILE + for MEMBER in $MEMBERS ; do + NEWFILES="$NEWFILES $DIR/$MEMBER" + done +@@ -77,7 +77,7 @@ + make_ar_static_lib() { + OPTS=$1 + shift; +- RANLIB=$1 ++ USE_RANLIB=$1 + shift; + LIBNAME=$1 + shift; +@@ -87,11 +87,11 @@ + rm -f ${LIBNAME} + + # make static lib +- ar ${OPTS} ${LIBNAME} ${OBJECTS} ++ ${AR} ${OPTS} ${LIBNAME} ${OBJECTS} + + # run ranlib +- if [ ${RANLIB} = 1 ] ; then +- ranlib ${LIBNAME} ++ if [ ${USE_RANLIB} = 1 ] ; then ++ ${RANLIB} ${LIBNAME} + fi + + echo ${LIBNAME} +@@ -313,9 +313,9 @@ + if [ "x$LINK" = "x" ] ; then + # -linker was not specified so set default link command now + if [ $CPLUSPLUS = 1 ] ; then +- LINK=g++ ++ LINK=$CXX + else +- LINK=gcc ++ LINK=$CC + fi + fi + +@@ -531,9 +531,9 @@ + if [ "x$LINK" = "x" ] ; then + # -linker was not specified so set default link command now + if [ $CPLUSPLUS = 1 ] ; then +- LINK=g++ ++ LINK=${CXX} + else +- LINK=gcc ++ LINK=${CC} + fi + fi + diff --git a/meta/recipes-graphics/mesa/mesa/crossfix.patch b/meta/recipes-graphics/mesa/mesa/crossfix.patch new file mode 100644 index 000000000..d300e2f1b --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa/crossfix.patch @@ -0,0 +1,18 @@ +Upstream-Status: Pending + +Index: Mesa-7.5/bin/mklib +=================================================================== +--- Mesa-7.5.orig/bin/mklib 2009-08-12 13:01:34.000000000 +0100 ++++ Mesa-7.5/bin/mklib 2009-08-12 13:04:19.000000000 +0100 +@@ -234,9 +234,9 @@ + if [ "x$LINK" = "x" ] ; then + # -linker was not specified so set default link command now + if [ $CPLUSPLUS = 1 ] ; then +- LINK=g++ ++ LINK=$CXX + else +- LINK=gcc ++ LINK=$CC + fi + fi + diff --git a/meta/recipes-graphics/mesa/mesa/mesa_fix_for_x32.patch b/meta/recipes-graphics/mesa/mesa/mesa_fix_for_x32.patch new file mode 100644 index 000000000..f072c34f7 --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa/mesa_fix_for_x32.patch @@ -0,0 +1,40 @@ +Upstream-Status: Pending + +Using uname like this when cross compiling is a really bad idea. We +provide the correct linker flags, lets just assume we can get this +right ourselves. + +RP 2012/04/26 + +Index: Mesa-7.11/bin/mklib +=================================================================== +--- Mesa-7.11.orig/bin/mklib 2012-04-26 19:43:20.729150109 +0000 ++++ Mesa-7.11/bin/mklib 2012-04-26 20:30:22.421086163 +0000 +@@ -330,13 +330,7 @@ + ;; + esac + +- # Check if objects are 32-bit and we're running in 64-bit +- # environment. If so, pass -m32 flag to linker. + set ${OBJECTS} +- ABI32=`file $1 | grep 32-bit` +- if [ "${ABI32}" -a `uname -m` = "x86_64" ] ; then +- OPTS="-m32 ${OPTS}" +- fi + + if [ "${ALTOPTS}" ] ; then + OPTS=${ALTOPTS} +@@ -387,13 +381,7 @@ + # exptmp is removed below + fi + +- # Check if objects are 32-bit and we're running in 64-bit +- # environment. If so, pass -m32 flag to linker. + set ${OBJECTS} +- ABI32=`file $1 | grep 32-bit` +- if [ "${ABI32}" -a `uname -m` = "x86_64" ] ; then +- OPTS="-m32 ${OPTS}" +- fi + if [ "${ALTOPTS}" ] ; then + OPTS=${ALTOPTS} + fi diff --git a/meta/recipes-graphics/mesa/mesa/uclibc.patch b/meta/recipes-graphics/mesa/mesa/uclibc.patch new file mode 100644 index 000000000..49d0234ec --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa/uclibc.patch @@ -0,0 +1,42 @@ +Upstream-Status: Pending + +Index: Mesa-7.10.2/src/mesa/main/imports.c +=================================================================== +--- Mesa-7.10.2.orig/src/mesa/main/imports.c 2011-03-01 12:57:29.000000000 -0800 ++++ Mesa-7.10.2/src/mesa/main/imports.c 2011-07-20 19:08:49.441785510 -0700 +@@ -757,7 +757,7 @@ + float + _mesa_strtof( const char *s, char **end ) + { +-#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) ++#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && defined (HAVE_NEWLOCALE) + static locale_t loc = NULL; + if (!loc) { + loc = newlocale(LC_CTYPE_MASK, "C", NULL); +Index: Mesa-7.10.2/src/glsl/strtod.c +=================================================================== +--- Mesa-7.10.2.orig/src/glsl/strtod.c 2011-01-03 16:45:51.000000000 -0800 ++++ Mesa-7.10.2/src/glsl/strtod.c 2011-07-20 19:10:21.441785488 -0700 +@@ -44,7 +44,7 @@ + double + glsl_strtod(const char *s, char **end) + { +-#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) ++#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && defined (HAVE_NEWLOCALE) + static locale_t loc = NULL; + if (!loc) { + loc = newlocale(LC_CTYPE_MASK, "C", NULL); +Index: Mesa-7.10.2/configure.ac +=================================================================== +--- Mesa-7.10.2.orig/configure.ac 2011-07-20 19:09:02.000000000 -0700 ++++ Mesa-7.10.2/configure.ac 2011-07-20 19:09:57.121785492 -0700 +@@ -450,6 +450,9 @@ + dnl See if posix_memalign is available + AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"]) + ++dnl See if newlocale is available ++AC_CHECK_FUNCS_ONCE(newlocale) ++ + dnl SELinux awareness. + AC_ARG_ENABLE([selinux], + [AS_HELP_STRING([--enable-selinux], diff --git a/meta/recipes-graphics/mesa/qemugl/call_opengl_fix.patch b/meta/recipes-graphics/mesa/qemugl/call_opengl_fix.patch new file mode 100644 index 000000000..342f49b71 --- /dev/null +++ b/meta/recipes-graphics/mesa/qemugl/call_opengl_fix.patch @@ -0,0 +1,94 @@ +Save registers via local variables instead of simple "push", so that gcc become +aware of this operation and avoid stack disorder. + +opengl calling (in call_opengl_qemu) includes 4 steps: +1. prepare opengl parameters on stack +2. save some "input" register by push +3. load "input" register with parameters on stack via same index as step 1 +4. issue "int 0x99" to trap into qemu, who will get parameter in the registers + +New gcc uses "%esp" rather than "%ebp" to index local variable in stack, which +leads wrong index in step 3, as push decrease "%esp" automatically. Saving +registers via local variables to fix it. + +Upstream-Status: Pending + +Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> +Index: git/opengl_client.c +=================================================================== +--- git.orig/opengl_client.c 2012-02-28 15:26:28.000000000 +0800 ++++ git/opengl_client.c 2012-02-28 15:29:18.000000000 +0800 +@@ -1076,23 +1076,29 @@ + { + #if defined(__i386__) + int ret; ++ int bx, cx, dx, si; + #ifdef WIN32 + __asm__ ("pushl %0;pushl %%fs:0;movl %%esp,%%fs:0;" : : "g" (win32_sigsegv_handler)); + #endif +- __asm__ ("push %ebx"); +- __asm__ ("push %ecx"); +- __asm__ ("push %edx"); +- __asm__ ("push %esi"); ++ /* save registers before opengl call */ ++ __asm__ ("mov %%ebx, %0"::"m"(bx)); ++ __asm__ ("mov %%ecx, %0"::"m"(cx)); ++ __asm__ ("mov %%edx, %0"::"m"(dx)); ++ __asm__ ("mov %%esi, %0"::"m"(si)); ++ + __asm__ ("mov %0, %%eax"::"m"(func_number)); + __asm__ ("mov %0, %%ebx"::"m"(pid)); + __asm__ ("mov %0, %%ecx"::"m"(ret_string)); + __asm__ ("mov %0, %%edx"::"m"(args)); + __asm__ ("mov %0, %%esi"::"m"(args_size)); + __asm__ ("int $0x99"); +- __asm__ ("pop %esi"); +- __asm__ ("pop %edx"); +- __asm__ ("pop %ecx"); +- __asm__ ("pop %ebx"); ++ ++ /* restore registers */ ++ __asm__ ("mov %0, %%ebx"::"m"(bx)); ++ __asm__ ("mov %0, %%ecx"::"m"(cx)); ++ __asm__ ("mov %0, %%edx"::"m"(dx)); ++ __asm__ ("mov %0, %%esi"::"m"(si)); ++ + __asm__ ("mov %%eax, %0"::"m"(ret)); + #ifdef WIN32 + __asm__ ("movl (%%esp),%%ecx;movl %%ecx,%%fs:0;addl $8,%%esp;" : : : "%ecx"); +@@ -1100,20 +1106,27 @@ + return ret; + #elif defined(__x86_64__) + int ret; +- __asm__ ("push %rbx"); +- __asm__ ("push %rcx"); +- __asm__ ("push %rdx"); +- __asm__ ("push %rsi"); ++ long bx, cx, dx, si; ++ ++ /* save registers before opengl call */ ++ __asm__ ("mov %%rbx, %0"::"m"(bx)); ++ __asm__ ("mov %%rcx, %0"::"m"(cx)); ++ __asm__ ("mov %%rdx, %0"::"m"(dx)); ++ __asm__ ("mov %%rsi, %0"::"m"(si)); ++ + __asm__ ("mov %0, %%eax"::"m"(func_number)); + __asm__ ("mov %0, %%ebx"::"m"(pid)); + __asm__ ("mov %0, %%rcx"::"m"(ret_string)); + __asm__ ("mov %0, %%rdx"::"m"(args)); + __asm__ ("mov %0, %%rsi"::"m"(args_size)); + __asm__ ("int $0x99"); +- __asm__ ("pop %rsi"); +- __asm__ ("pop %rdx"); +- __asm__ ("pop %rcx"); +- __asm__ ("pop %rbx"); ++ ++ /* restore registers */ ++ __asm__ ("mov %0, %%rbx"::"m"(bx)); ++ __asm__ ("mov %0, %%rcx"::"m"(cx)); ++ __asm__ ("mov %0, %%rdx"::"m"(dx)); ++ __asm__ ("mov %0, %%rsi"::"m"(si)); ++ + __asm__ ("mov %%eax, %0"::"m"(ret)); + return ret; + #else diff --git a/meta/recipes-graphics/mesa/qemugl/extensions_emulation.patch b/meta/recipes-graphics/mesa/qemugl/extensions_emulation.patch new file mode 100644 index 000000000..08418c2f4 --- /dev/null +++ b/meta/recipes-graphics/mesa/qemugl/extensions_emulation.patch @@ -0,0 +1,34 @@ +Hide some GLX extensions by default to avoid guest call missing GLX API. It's +hacky to implement these APIs, so hide these extensions as fix. + +Upstream-Status: Pending + +Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> + +Index: git/opengl_client.c +=================================================================== +--- git.orig/opengl_client.c 2012-03-16 18:22:27.000000000 +0800 ++++ git/opengl_client.c 2012-03-16 18:52:06.000000000 +0800 +@@ -105,6 +105,12 @@ + "NO_MOVE", /* default : set if TCP/IP communication */ + }; + ++/* Hiding some GLX extensions from guest */ ++static const char* hiding_extensions = ++ "GLX_MESA_copy_sub_buffer,\ ++ GLX_MESA_multithread_makecurrent,\ ++ GLX_MESA_swap_control,\ ++ "; + + #ifdef WIN32 + +@@ -3516,7 +3522,8 @@ + static void removeUnwantedExtensions(char* ret) + { + char* toBeRemoved = getenv("GL_REMOVE_EXTENSIONS"); +- if (toBeRemoved == NULL) return; ++ if (toBeRemoved == NULL) ++ toBeRemoved = hiding_extensions; + toBeRemoved = strdup(toBeRemoved); + char* iterToBeRemoved = toBeRemoved; + while(*iterToBeRemoved) diff --git a/meta/recipes-graphics/mesa/qemugl/remove-x11r6-lib-dir.patch b/meta/recipes-graphics/mesa/qemugl/remove-x11r6-lib-dir.patch new file mode 100644 index 000000000..d24d0455d --- /dev/null +++ b/meta/recipes-graphics/mesa/qemugl/remove-x11r6-lib-dir.patch @@ -0,0 +1,21 @@ +Remove X11R6 lib directory + +"-L/usr/X11R6/lib" is obsolate in poky. Poky currently use Xserver from X.org (X11R7.x), which puts lib in standard /usr/lib, so no need to specify the extra -L/usr/X11R6/lib. Meanwhile, the -L/usr/X11R6/lib will cause warning: library search path "/usr/X11R6/lib" is unsafe for cross-compilation. so better to remove it. + +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +diff --git a/Makefile b/Makefile +index 9e5a8ea..f3a082a 100644 +--- a/Makefile ++++ b/Makefile +@@ -3,7 +3,7 @@ GL_CFLAGS := -Wall -g -O2 -fno-strict-aliasing + all: libGL.so.1.2 + + libGL.so.1.2: client_stub.c opengl_client.c glgetv_cst.h opengl_func.h opengl_utils.h opengl_client_xfonts.c mesa_gl.h mesa_glext.h mesa_glx.h mesa_glxext.h +- $(CC) -fPIC $(GL_CFLAGS) opengl_client.c -shared -o libGL.so.1.2 -lX11 -lXfixes -lm -L$(D)/usr/X11R6/lib -lpthread -I. ++ $(CC) -fPIC $(GL_CFLAGS) opengl_client.c -shared -o libGL.so.1.2 -lX11 -lXfixes -lm -lpthread -I. + + opengl_func.h: gl_func.h + diff --git a/meta/recipes-graphics/mesa/qemugl/versionfix.patch b/meta/recipes-graphics/mesa/qemugl/versionfix.patch new file mode 100644 index 000000000..614b816d1 --- /dev/null +++ b/meta/recipes-graphics/mesa/qemugl/versionfix.patch @@ -0,0 +1,32 @@ +Upstream-Status: Pending + +Index: git/Makefile +=================================================================== +--- git.orig/Makefile 2009-01-19 23:37:36.000000000 +0000 ++++ git/Makefile 2009-06-09 20:30:37.000000000 +0100 +@@ -1,9 +1,9 @@ + GL_CFLAGS := -Wall -g -O2 -fno-strict-aliasing + +-all: libGL.so ++all: libGL.so.1.2 + +-libGL.so: client_stub.c opengl_client.c glgetv_cst.h opengl_func.h opengl_utils.h opengl_client_xfonts.c mesa_gl.h mesa_glext.h mesa_glx.h mesa_glxext.h +- $(CC) -fPIC $(GL_CFLAGS) opengl_client.c -shared -o libGL.so -lX11 -lXfixes -lm -L$(D)/usr/X11R6/lib -lpthread -I. ++libGL.so.1.2: client_stub.c opengl_client.c glgetv_cst.h opengl_func.h opengl_utils.h opengl_client_xfonts.c mesa_gl.h mesa_glext.h mesa_glx.h mesa_glxext.h ++ $(CC) -fPIC $(GL_CFLAGS) opengl_client.c -shared -o libGL.so.1.2 -lX11 -lXfixes -lm -L$(D)/usr/X11R6/lib -lpthread -I. + + opengl_func.h: gl_func.h + +Index: git/opengl_client.c +=================================================================== +--- git.orig/opengl_client.c 2009-06-09 21:07:15.000000000 +0100 ++++ git/opengl_client.c 2009-06-09 21:07:33.000000000 +0100 +@@ -11578,7 +11578,7 @@ + tab_assoc = calloc(tabSize, sizeof(AssocProcAdress)); + + #ifndef WIN32 +- handle = dlopen(getenv("REAL_LIBGL") ? getenv("REAL_LIBGL") : "libGL.so" ,RTLD_LAZY); ++ handle = dlopen(getenv("REAL_LIBGL") ? getenv("REAL_LIBGL") : "libGL.so.1.2" ,RTLD_LAZY); + if (!handle) { + log_gl("%s\n", dlerror()); + exit(1); diff --git a/meta/recipes-graphics/mesa/qemugl_git.bb b/meta/recipes-graphics/mesa/qemugl_git.bb new file mode 100644 index 000000000..32980d319 --- /dev/null +++ b/meta/recipes-graphics/mesa/qemugl_git.bb @@ -0,0 +1,50 @@ +DESCRIPTION = "QEMU i386 OpenGL passtrough" +HOMEPAGE = "http://savannah.nongnu.org/projects/qemugl" +SECTION = "x11/drivers" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://opengl_client.c;beginline=4;endline=23;md5=a7dbe915be5fb5df8fd496f348ed9a05 \ + file://parse_mesa_get_c.c;befinline=4;endline=23;md5=a55f258f32720c9565a425a3956bcb5e" + +DEPENDS = "virtual/libx11 xproto glproto libxfixes" + +COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)' + +SRC_URI = "git://git.yoctoproject.org/qemugl;protocol=git \ + file://versionfix.patch \ + file://remove-x11r6-lib-dir.patch \ + file://call_opengl_fix.patch \ + file://extensions_emulation.patch" +S = "${WORKDIR}/git" + +SRCREV = "d888bbc723c00d197d34a39b5b7448660ec1b1c0" + +PV = "0.0+git${SRCPV}" +PR = "r11" + +DEFAULT_PREFERENCE = "-1" + +do_install () { + install -d ${D}${libdir}/ + if [ "${PN}" != "qemugl-nativesdk" ]; then + install -m 0755 ${S}/libGL.so.1.2 ${D}${libdir}/libGL-qemu.so.1.2 + else + install -m 0755 ${S}/libGL.so.1.2 ${D}${libdir}/libGL.so.1.2 + ln -s libGL.so.1.2 ${D}${libdir}/libGL.so.1 + ln -s libGL.so.1 ${D}${libdir}/libGL.so + fi +} + +# This cannot be converted to run at pacakge install time, because +# it depends on being run after the libgl1 package is installed, +# and RPM cannot guarantee the order of pacakge insallation. +pkg_postinst_${PN} () { +#!/bin/sh -e +if [ x"$D" = "x" ]; then + rm -f ${libdir}/libGL.so.1.2 + ln -s libGL-qemu.so.1.2 ${libdir}/libGL.so.1.2 +else + exit 1 +fi +} + +BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-graphics/mini-x-session/files/mini-x-session b/meta/recipes-graphics/mini-x-session/files/mini-x-session new file mode 100644 index 000000000..f7d6c3bdb --- /dev/null +++ b/meta/recipes-graphics/mini-x-session/files/mini-x-session @@ -0,0 +1,36 @@ +#!/bin/sh +# +# Very simple session manager for Mini X +# + +# Uncomment below to enable parsing of debian menu entrys +# export MB_USE_DEB_MENUS=1 + +if [ -e $HOME/.mini_x/session ] +then +exec $HOME/.mini_x/session +fi + +if [ -e /etc/mini_x/session ] +then +exec /etc/mini_x/session +fi + +MINI_X_SESSION_DIR=/etc/mini_x/session.d + +# Execute session file on behalf of file owner +for SESSIONFILE in $MINI_X_SESSION_DIR/*; do + set +e + USERNAME=`stat -c %U $SESSIONFILE` + sudo -b -i -u $USERNAME $SESSIONFILE& + set -e +done + +# This resolution is big enough for hob2's max window size. +xrandr -s 1024x768 + +# Default files to run if $HOME/.mini_x/session or /etc/mini_x/session +# dont exist. + +matchbox-terminal& +exec matchbox-window-manager diff --git a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb new file mode 100644 index 000000000..8f28d030a --- /dev/null +++ b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "Mini X session files for poky" +HOMEPAGE = "http://www.yoctoproject.org" +BUGTRACKER = "http://bugzilla.pokylinux.org" + +PR = "r1" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://mini-x-session;endline=5;md5=b6430bffbcf05f9760e72938826b7487" + +SECTION = "x11" +RCONFLICTS = "matchbox-common" + +SRC_URI = "file://mini-x-session" +S = "${WORKDIR}" + +inherit update-alternatives + +ALTERNATIVE_NAME = "x-session-manager" +ALTERNATIVE_LINK = "${bindir}/x-session-manager" +ALTERNATIVE_PATH = "${bindir}/mini-x-session" +ALTERNATIVE_PRIORITY = "50" + +do_install() { + install -d ${D}/${bindir} + install -m 0755 ${S}/mini-x-session ${D}/${bindir} +} diff --git a/meta/recipes-graphics/mutter/mutter.inc b/meta/recipes-graphics/mutter/mutter.inc new file mode 100644 index 000000000..4b73d97b5 --- /dev/null +++ b/meta/recipes-graphics/mutter/mutter.inc @@ -0,0 +1,43 @@ +SECTION = "x11/wm" +DESCRIPTION = "Metacity is the boring window manager for the adult in you. Mutter is metacity + clutter." +LICENSE = "GPLv2" +DEPENDS = "startup-notification gtk+ gconf clutter-1.8 gdk-pixbuf-native intltool glib-2.0-native" +# gobject-introspection +inherit gnome update-alternatives + +ALTERNATIVE_NAME = "x-window-manager" +ALTERNATIVE_LINK = "${bindir}/x-window-manager" +ALTERNATIVE_PATH = "${bindir}/mutter" +ALTERNATIVE_PRIORITY = "11" + +EXTRA_OECONF += "--disable-verbose \ + --disable-xinerama \ + --without-introspection \ + --with-clutter" + +#RDEPENDS_${PN} = "zenity" + +FILES_${PN} += "${datadir}/themes ${libdir}/mutter/plugins/*.so ${datadir}/gnome/wm-properties/" +FILES_${PN}-dbg += "${libdir}/mutter/plugins/.debug/*" + +export CC_FOR_BUILD = "${BUILD_CC}" +export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS} -I${STAGING_INCDIR_NATIVE}/glib-2.0 -I${STAGING_INCDIR_NATIVE}/glib-2.0/include" +export LDFLAGS_FOR_BUILD = "${BUILD_LDFLAGS} -L${STAGING_LIBDIR_NATIVE} -lglib-2.0" + +do_configure_prepend () { + echo "EXTRA_DIST=" > ${S}/gnome-doc-utils.make +} + +pkg_postinst_${PN} () { +#!/bin/sh -e +if [ "x$D" != "x" ]; then + exit 1 +fi + +. ${sysconfdir}/init.d/functions + +gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type list --list-type string --set /apps/mutter/general/clutter_plugins '[default]' + +gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type bool --set /apps/mutter/general/compositing_manager true +} + diff --git a/meta/recipes-graphics/mutter/mutter/crosscompile.patch b/meta/recipes-graphics/mutter/mutter/crosscompile.patch new file mode 100644 index 000000000..da73e7b28 --- /dev/null +++ b/meta/recipes-graphics/mutter/mutter/crosscompile.patch @@ -0,0 +1,57 @@ +Upstream-Status: Inappropriate [embedded specific] + +Index: git/configure.in +=================================================================== +--- git.orig/configure.in 2009-01-27 14:49:10.000000000 +0000 ++++ git/configure.in 2009-01-27 15:29:41.000000000 +0000 +@@ -46,6 +46,32 @@ + AC_LIBTOOL_WIN32_DLL + AM_PROG_LIBTOOL + ++if test x"$CC_FOR_BUILD" = x; then ++ if test x"$cross_compiling" = xyes; then ++ AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc) ++ else ++ CC_FOR_BUILD="$CC" ++ fi ++fi ++AC_SUBST([CC_FOR_BUILD]) ++if test x"$CFLAGS_FOR_BUILD" = x; then ++ if test x"$cross_compiling" = xyes; then ++ AC_CHECK_PROGS(CFLAGS_FOR_BUILD, gcc cc) ++ else ++ CFLAGS_FOR_BUILD="$CFLAGS" ++ fi ++fi ++AC_SUBST([CFLAGS_FOR_BUILD]) ++if test x"$LDFLAGS_FOR_BUILD" = x; then ++ if test x"$cross_compiling" = xyes; then ++ AC_CHECK_PROGS(LDFLAGS_FOR_BUILD, gcc cc) ++ else ++ LDFLAGS_FOR_BUILD="$LDFLAGS" ++ fi ++fi ++AC_SUBST([LDFLAGS_FOR_BUILD]) ++ ++ + #### Integer sizes + + AC_CHECK_SIZEOF(char) +Index: git/src/Makefile.am +=================================================================== +--- git.orig/src/Makefile.am 2009-01-27 15:25:31.000000000 +0000 ++++ git/src/Makefile.am 2009-01-27 15:39:54.000000000 +0000 +@@ -168,11 +168,9 @@ + metacity_dialog_SOURCES= \ + ui/metacity-dialog.c + +-schema_bindings_SOURCES = \ +- core/schema-bindings.c \ +- metacity.schemas.in.in ++schema_bindings: ++ @CC_FOR_BUILD@ core/schema-bindings.c -I./include -I ../ @CFLAGS_FOR_BUILD@ @LDFLAGS_FOR_BUILD@ -o schema_bindings + +-schema_bindings_LDADD = @METACITY_LIBS@ + metacity.schemas.in: schema_bindings ${srcdir}/metacity.schemas.in.in + @echo Generating keybinding schemas... ${srcdir}/metacity.schemas.in.in + ${builddir}/schema_bindings ${srcdir}/metacity.schemas.in.in ${builddir}/metacity.schemas.in diff --git a/meta/recipes-graphics/mutter/mutter/fix_CGL_TEXTURE_RECTANGLE_ARB.patch b/meta/recipes-graphics/mutter/mutter/fix_CGL_TEXTURE_RECTANGLE_ARB.patch new file mode 100644 index 000000000..13197e570 --- /dev/null +++ b/meta/recipes-graphics/mutter/mutter/fix_CGL_TEXTURE_RECTANGLE_ARB.patch @@ -0,0 +1,47 @@ +Update the usage of CGL_TEXTURE_RECTANGLE_ARB to GL_TEXTURE_RECTANGLE_ARB + +Upstream-Status: Pending + +Signed-off-by: Saul Wold <sgw@linux.intel.com> + +Index: mutter-2.28.1_0.0/src/compositor/mutter-shaped-texture.c +=================================================================== +--- mutter-2.28.1_0.0.orig/src/compositor/mutter-shaped-texture.c ++++ mutter-2.28.1_0.0/src/compositor/mutter-shaped-texture.c +@@ -151,7 +151,7 @@ mutter_shaped_texture_dirty_mask (Mutter + cogl_texture_get_gl_texture (priv->mask_texture, + &mask_gl_tex, &mask_gl_target); + +- if (mask_gl_target == CGL_TEXTURE_RECTANGLE_ARB) ++ if (mask_gl_target == GL_TEXTURE_RECTANGLE_ARB) + glDeleteTextures (1, &mask_gl_tex); + + cogl_texture_unref (priv->mask_texture); +@@ -214,23 +214,23 @@ mutter_shaped_texture_ensure_mask (Mutte + + cogl_texture_get_gl_texture (paint_tex, NULL, &paint_gl_target); + +- if (paint_gl_target == CGL_TEXTURE_RECTANGLE_ARB) ++ if (paint_gl_target == GL_TEXTURE_RECTANGLE_ARB) + { + GLuint tex; + + glGenTextures (1, &tex); +- glBindTexture (CGL_TEXTURE_RECTANGLE_ARB, tex); ++ glBindTexture (GL_TEXTURE_RECTANGLE_ARB, tex); + glPixelStorei (GL_UNPACK_ROW_LENGTH, tex_width); + glPixelStorei (GL_UNPACK_ALIGNMENT, 1); + glPixelStorei (GL_UNPACK_SKIP_ROWS, 0); + glPixelStorei (GL_UNPACK_SKIP_PIXELS, 0); +- glTexImage2D (CGL_TEXTURE_RECTANGLE_ARB, 0, ++ glTexImage2D (GL_TEXTURE_RECTANGLE_ARB, 0, + GL_ALPHA, tex_width, tex_height, + 0, GL_ALPHA, GL_UNSIGNED_BYTE, mask_data); + + priv->mask_texture + = cogl_texture_new_from_foreign (tex, +- CGL_TEXTURE_RECTANGLE_ARB, ++ GL_TEXTURE_RECTANGLE_ARB, + tex_width, tex_height, + 0, 0, + COGL_PIXEL_FORMAT_A_8); diff --git a/meta/recipes-graphics/mutter/mutter/fix_pkgconfig-7adb574bb3fa3880eb85dbc86e580cf3452d57c4.patch b/meta/recipes-graphics/mutter/mutter/fix_pkgconfig-7adb574bb3fa3880eb85dbc86e580cf3452d57c4.patch new file mode 100644 index 000000000..695f94c62 --- /dev/null +++ b/meta/recipes-graphics/mutter/mutter/fix_pkgconfig-7adb574bb3fa3880eb85dbc86e580cf3452d57c4.patch @@ -0,0 +1,12 @@ +Upstream-Status: Inappropriate [configuration] + +Index: git/src/metacity-plugins.pc.in +=================================================================== +--- git.orig/src/metacity-plugins.pc.in 2008-12-17 22:42:19.000000000 +0000 ++++ git/src/metacity-plugins.pc.in 2008-12-17 22:42:25.000000000 +0000 +@@ -14,4 +14,4 @@ + Requires: @CLUTTER_PACKAGE@ + Version: @VERSION@ + Libs: @CLUTTER_LIBS@ +-Cflags: @CLUTTER_CFLAGS@ -DWITH_CLUTTER -I${includedir}/metacity-1/metacity-private -DMETACITY_MAJOR_VERSION=${metacity_major_version} -DMETACITY_MINOR_VERSION=${metacity_minor_version} -DMETACITY_MICRO_VERSION=${metacity_micro_version} -DMETACITY_CLUTTER_PLUGIN_API_VERSION=${metacity_clutter_plugin_api_version} -DMUTTER_PLUGIN_DIR=\"${mutterplugindir}\" ++Cflags: -DWITH_CLUTTER -I${includedir}/metacity-1/metacity-private -DMETACITY_MAJOR_VERSION=${metacity_major_version} -DMETACITY_MINOR_VERSION=${metacity_minor_version} -DMETACITY_MICRO_VERSION=${metacity_micro_version} -DMETACITY_CLUTTER_PLUGIN_API_VERSION=${metacity_clutter_plugin_api_version} -DMUTTER_PLUGIN_DIR=\"${mutterplugindir}\" diff --git a/meta/recipes-graphics/mutter/mutter/fix_pkgconfig.patch b/meta/recipes-graphics/mutter/mutter/fix_pkgconfig.patch new file mode 100644 index 000000000..de0dded95 --- /dev/null +++ b/meta/recipes-graphics/mutter/mutter/fix_pkgconfig.patch @@ -0,0 +1,12 @@ +Upstream-Status: Inappropriate [configuration] + +Index: git/src/mutter-plugins.pc.in +=================================================================== +--- git.orig/src/mutter-plugins.pc.in 2009-07-03 17:30:39.000000000 +0100 ++++ git/src/mutter-plugins.pc.in 2009-07-03 18:03:09.000000000 +0100 +@@ -14,4 +14,4 @@ + Requires: @CLUTTER_PACKAGE@ + Version: @VERSION@ + Libs: @CLUTTER_LIBS@ +-Cflags: @CLUTTER_CFLAGS@ -DWITH_CLUTTER -I${includedir}/mutter/mutter-private -DMUTTER_MAJOR_VERSION=${mutter_major_version} -DMUTTER_MINOR_VERSION=${mutter_minor_version} -DMUTTER_MICRO_VERSION=${mutter_micro_version} -DMUTTER_PLUGIN_API_VERSION=${mutter_plugin_api_version} -DMUTTER_PLUGIN_DIR=\"${plugindir}\" ++Cflags: -DWITH_CLUTTER -I${includedir}/mutter/mutter-private -DMUTTER_MAJOR_VERSION=${mutter_major_version} -DMUTTER_MINOR_VERSION=${mutter_minor_version} -DMUTTER_MICRO_VERSION=${mutter_micro_version} -DMUTTER_PLUGIN_API_VERSION=${mutter_plugin_api_version} -DMUTTER_PLUGIN_DIR=\"${plugindir}\" diff --git a/meta/recipes-graphics/mutter/mutter/nodocs.patch b/meta/recipes-graphics/mutter/mutter/nodocs.patch new file mode 100644 index 000000000..ceb06090b --- /dev/null +++ b/meta/recipes-graphics/mutter/mutter/nodocs.patch @@ -0,0 +1,31 @@ +Upstream-Status: Inappropriate [configuration] + +Index: git/Makefile.am +=================================================================== +--- git.orig/Makefile.am 2009-01-27 13:26:12.000000000 +0000 ++++ git/Makefile.am 2009-01-27 14:07:13.000000000 +0000 +@@ -1,5 +1,5 @@ + +-SUBDIRS=src po doc ++SUBDIRS=src po + + EXTRA_DIST = HACKING MAINTAINERS rationales.txt \ + intltool-extract.in intltool-merge.in intltool-update.in +Index: git/configure.in +=================================================================== +--- git.orig/configure.in 2009-01-27 13:26:12.000000000 +0000 ++++ git/configure.in 2009-01-27 14:11:16.000000000 +0000 +@@ -538,12 +538,9 @@ + + # Warnings are there for a reason + if test "x$GCC" = "xyes"; then +- CFLAGS="$CFLAGS -Wall -Werror -ansi" ++ CFLAGS="$CFLAGS -Wall -ansi" + fi + +-# Use gnome-doc-utils: +-GNOME_DOC_INIT([0.8.0]) +- + AC_CONFIG_FILES([ + Makefile + doc/Makefile diff --git a/meta/recipes-graphics/mutter/mutter/nozenity.patch b/meta/recipes-graphics/mutter/mutter/nozenity.patch new file mode 100644 index 000000000..fa32b6346 --- /dev/null +++ b/meta/recipes-graphics/mutter/mutter/nozenity.patch @@ -0,0 +1,18 @@ +Upstream-Status: Inappropriate [configuration] + +Index: git/configure.in +=================================================================== +--- git.orig/configure.in 2009-06-16 13:12:17.000000000 +0100 ++++ git/configure.in 2009-06-16 13:12:33.000000000 +0100 +@@ -575,11 +575,6 @@ + GCONF_SCHEMAS_INSTALL_FALSE= + fi + +-AC_PATH_PROG(ZENITY, zenity, no) +-if test x"$ZENITY" = xno; then +- AC_MSG_ERROR([zenity not found in your path - needed for dialogs]) +-fi +- + AC_ARG_ENABLE(debug, + [ --enable-debug enable debugging],, + enable_debug=no) diff --git a/meta/recipes-graphics/mutter/mutter_2.29.1.bb b/meta/recipes-graphics/mutter/mutter_2.29.1.bb new file mode 100644 index 000000000..5d031f673 --- /dev/null +++ b/meta/recipes-graphics/mutter/mutter_2.29.1.bb @@ -0,0 +1,13 @@ +require mutter.inc + +PR = "r0" + +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +SRC_URI += "file://nodocs.patch \ + file://nozenity.patch \ + file://fix_pkgconfig.patch \ + " +SRC_URI[archive.md5sum] = "ebe3c04751741fb2a028a3c6c4f1c2d7" +SRC_URI[archive.sha256sum] = "175f3adcc5ad5c6f23772ca15c862f275fc3d9a9c3104e9146cf265847a4a10a" + diff --git a/meta/recipes-graphics/mutter/mutter_git.bb b/meta/recipes-graphics/mutter/mutter_git.bb new file mode 100644 index 000000000..94cb17d33 --- /dev/null +++ b/meta/recipes-graphics/mutter/mutter_git.bb @@ -0,0 +1,21 @@ +require mutter.inc + +SRCREV = "01d3bebe24d2a56bdf2d82c4a71923e1573f7b7c" +PV = "2.29.1+git${SRCPV}" +PR = "r0" + +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +# Gnome is the upstream but moblin is under more active development atm +# git://git.gnome.org/mutter.git;protocol=git;branch=master +# +SRC_URI = "git://git.moblin.org/mutter.git;protocol=git;branch=master \ + file://nodocs.patch \ + file://nozenity.patch \ + file://crosscompile.patch;rev=7adb574bb3fa3880eb85dbc86e580cf3452d57c4 \ + file://fix_pkgconfig-7adb574bb3fa3880eb85dbc86e580cf3452d57c4.patch;rev=7adb574bb3fa3880eb85dbc86e580cf3452d57c4 \ + file://fix_pkgconfig.patch;notrev=7adb574bb3fa3880eb85dbc86e580cf3452d57c4 \ + " +S = "${WORKDIR}/git" + +DEFAULT_PREFERENCE = "-1" diff --git a/meta/recipes-graphics/mx/files/introspection-m4.patch b/meta/recipes-graphics/mx/files/introspection-m4.patch new file mode 100644 index 000000000..2dcb62abe --- /dev/null +++ b/meta/recipes-graphics/mx/files/introspection-m4.patch @@ -0,0 +1,106 @@ +A copy of introspection.m4 from upstream gobject-introspection so that +we can use the GOBJECT_INTROSPECTION_CHECK([0.6.4]) and --disable-introspection + +Signed-off-by: Joshua Lock <josh@linux.intel.com> + +Upstream-Status: Inappropriate (build system specific). + +Index: mx-1.4.2/m4/introspection.m4 +=================================================================== +--- /dev/null ++++ mx-1.4.2/m4/introspection.m4 +@@ -0,0 +1,94 @@ ++dnl -*- mode: autoconf -*- ++dnl Copyright 2009 Johan Dahlin ++dnl ++dnl This file is free software; the author(s) gives unlimited ++dnl permission to copy and/or distribute it, with or without ++dnl modifications, as long as this notice is preserved. ++dnl ++ ++# serial 1 ++ ++m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL], ++[ ++ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first ++ AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first ++ AC_BEFORE([LT_INIT],[$0])dnl setup libtool first ++ ++ dnl enable/disable introspection ++ m4_if([$2], [require], ++ [dnl ++ enable_introspection=yes ++ ],[dnl ++ AC_ARG_ENABLE(introspection, ++ AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]], ++ [Enable introspection for this build]),, ++ [enable_introspection=auto]) ++ ])dnl ++ ++ AC_MSG_CHECKING([for gobject-introspection]) ++ ++ dnl presence/version checking ++ AS_CASE([$enable_introspection], ++ [no], [dnl ++ found_introspection="no (disabled, use --enable-introspection to enable)" ++ ],dnl ++ [yes],[dnl ++ PKG_CHECK_EXISTS([gobject-introspection-1.0],, ++ AC_MSG_ERROR([gobject-introspection-1.0 is not installed])) ++ PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], ++ found_introspection=yes, ++ AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME])) ++ ],dnl ++ [auto],[dnl ++ PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no) ++ ],dnl ++ [dnl ++ AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@]) ++ ])dnl ++ ++ AC_MSG_RESULT([$found_introspection]) ++ ++ INTROSPECTION_SCANNER= ++ INTROSPECTION_COMPILER= ++ INTROSPECTION_GENERATE= ++ INTROSPECTION_GIRDIR= ++ INTROSPECTION_TYPELIBDIR= ++ if test "x$found_introspection" = "xyes"; then ++ INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` ++ INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` ++ INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` ++ INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` ++ INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" ++ INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` ++ INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` ++ INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection ++ fi ++ AC_SUBST(INTROSPECTION_SCANNER) ++ AC_SUBST(INTROSPECTION_COMPILER) ++ AC_SUBST(INTROSPECTION_GENERATE) ++ AC_SUBST(INTROSPECTION_GIRDIR) ++ AC_SUBST(INTROSPECTION_TYPELIBDIR) ++ AC_SUBST(INTROSPECTION_CFLAGS) ++ AC_SUBST(INTROSPECTION_LIBS) ++ AC_SUBST(INTROSPECTION_MAKEFILE) ++ ++ AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes") ++]) ++ ++ ++dnl Usage: ++dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version]) ++ ++AC_DEFUN([GOBJECT_INTROSPECTION_CHECK], ++[ ++ _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1]) ++]) ++ ++dnl Usage: ++dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version]) ++ ++ ++AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE], ++[ ++ _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require]) ++]) diff --git a/meta/recipes-graphics/mx/mx_1.4.2.bb b/meta/recipes-graphics/mx/mx_1.4.2.bb new file mode 100644 index 000000000..bee65f6e4 --- /dev/null +++ b/meta/recipes-graphics/mx/mx_1.4.2.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Clutter based widget library" +LICENSE = "LGPLv2.1" + +PR = "r1" + +DEPENDS = "clutter-1.8 dbus-glib libxrandr gdk-pixbuf startup-notification" + +inherit autotools gettext + +SRC_URI = "http://source.clutter-project.org/sources/mx/1.4/mx-${PV}.tar.bz2 \ + file://introspection-m4.patch" + +SRC_URI[md5sum] = "faf8d97ad9995f54cc91f90bc90c8f9d" +SRC_URI[sha256sum] = "9d40dd48a8e3d098cc75c05163f77305ffb83439783dc91be50681c9502660ce" + +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \ + file://mx/mx-widget.c;beginline=8;endline=20;md5=13bba3c973a72414a701e1e87b5ee879" + +EXTRA_OECONF = "--disable-introspection --disable-gtk-widgets --with-dbus" + diff --git a/meta/recipes-graphics/pango/pango-1.28.4/multilib-fix-clean.patch b/meta/recipes-graphics/pango/pango-1.28.4/multilib-fix-clean.patch new file mode 100644 index 000000000..addda5f90 --- /dev/null +++ b/meta/recipes-graphics/pango/pango-1.28.4/multilib-fix-clean.patch @@ -0,0 +1,40 @@ +Index: pango-1.28.4/configure.in +=================================================================== +--- pango-1.28.4.orig/configure.in 2011-04-05 04:29:16.000000000 +0800 ++++ pango-1.28.4/configure.in 2012-05-08 21:32:17.000000000 +0800 +@@ -205,6 +205,11 @@ + + AC_SUBST(PANGO_DEBUG_FLAGS) + ++AC_ARG_WITH(mlprefix, ++ AC_HELP_STRING([--with-mlprefix=<ARG>], [multilib prefix]), ++ mlprefix_str=$withval, mlprefix_str="") ++AC_DEFINE_UNQUOTED([MLPREFIX], ["$mlprefix_str"], [multilib prefix.]) ++ + AC_ARG_ENABLE(rebuilds, + [AC_HELP_STRING([--disable-rebuilds], + [disable all source autogeneration rules])],, +Index: pango-1.28.4/pango/modules.c +=================================================================== +--- pango-1.28.4.orig/pango/modules.c 2010-09-22 03:37:01.000000000 +0800 ++++ pango-1.28.4/pango/modules.c 2012-05-08 21:21:02.000000000 +0800 +@@ -529,7 +529,8 @@ + + if (!file_str) + file_str = g_build_filename (pango_get_sysconf_subdirectory (), +- "pango.modules", ++/* For multilib case, keep multiple config file for different libs */ ++ MLPREFIX "pango.modules", + NULL); + + files = pango_split_file_list (file_str); +@@ -640,7 +641,8 @@ + if (!no_module_warning) + { + gchar *filename = g_build_filename (pango_get_sysconf_subdirectory (), +- "pango.modules", ++/* For multilib case, keep multiple config file for different libs */ ++ MLPREFIX "pango.modules", + NULL); + g_critical ("No modules found:\n" + "No builtin or dynamically loaded modules were found.\n" diff --git a/meta/recipes-graphics/pango/pango-1.28.4/no-tests.patch b/meta/recipes-graphics/pango/pango-1.28.4/no-tests.patch new file mode 100644 index 000000000..6d9e74bfc --- /dev/null +++ b/meta/recipes-graphics/pango/pango-1.28.4/no-tests.patch @@ -0,0 +1,16 @@ +Upstream-Status: Inappropriate [ disable tests make sense in embedded, but not appropriate for upstream] + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +Index: pango-1.22.2/Makefile.am +=================================================================== +--- pango-1.22.2.orig/Makefile.am ++++ pango-1.22.2/Makefile.am +@@ -1,6 +1,6 @@ + ## Process this file with automake to create Makefile.in. + +-SUBDIRS= pango modules pango-view examples docs tools tests ++SUBDIRS= pango modules pango-view examples docs tools + + EXTRA_DIST = \ + autogen.sh \ diff --git a/meta/recipes-graphics/pango/pango-1.28.4/noconst.patch b/meta/recipes-graphics/pango/pango-1.28.4/noconst.patch new file mode 100644 index 000000000..d4832a504 --- /dev/null +++ b/meta/recipes-graphics/pango/pango-1.28.4/noconst.patch @@ -0,0 +1,408 @@ +G_CONST_RETURN is deprecated in glib 2.30 so remove to to avoid +build failures. + +RP 2011/10/12 + +Upstream-Status: Pending + +Index: pango-1.28.4/pango/fonts.c +=================================================================== +--- pango-1.28.4.orig/pango/fonts.c 2011-10-12 01:32:09.372046342 +0100 ++++ pango-1.28.4/pango/fonts.c 2011-10-12 01:32:34.512036630 +0100 +@@ -165,7 +165,7 @@ + * %NULL if not previously set. This has the same life-time + * as the font description itself and should not be freed. + **/ +-G_CONST_RETURN char * ++const char * + pango_font_description_get_family (const PangoFontDescription *desc) + { + g_return_val_if_fail (desc != NULL, NULL); +@@ -1927,7 +1927,7 @@ + * Return value: the name of the family. This string is owned + * by the family object and must not be modified or freed. + **/ +-G_CONST_RETURN char * ++const char * + pango_font_family_get_name (PangoFontFamily *family) + { + g_return_val_if_fail (PANGO_IS_FONT_FAMILY (family), NULL); +@@ -2060,7 +2060,7 @@ + * Return value: the face name for the face. This string is + * owned by the face object and must not be modified or freed. + **/ +-G_CONST_RETURN char * ++const char * + pango_font_face_get_face_name (PangoFontFace *face) + { + g_return_val_if_fail (PANGO_IS_FONT_FACE (face), NULL); +Index: pango-1.28.4/pango/pango-attributes.c +=================================================================== +--- pango-1.28.4.orig/pango/pango-attributes.c 2011-10-12 01:32:09.552046155 +0100 ++++ pango-1.28.4/pango/pango-attributes.c 2011-10-12 01:32:34.522037975 +0100 +@@ -97,7 +97,7 @@ + * + * Since: 1.22 + **/ +-G_CONST_RETURN char * ++const char * + pango_attr_type_get_name (PangoAttrType type) + { + const char *result = NULL; +Index: pango-1.28.4/pango/pango-attributes.h +=================================================================== +--- pango-1.28.4.orig/pango/pango-attributes.h 2011-10-12 01:32:12.712046218 +0100 ++++ pango-1.28.4/pango/pango-attributes.h 2011-10-12 01:32:36.342045777 +0100 +@@ -180,7 +180,7 @@ + }; + + PangoAttrType pango_attr_type_register (const gchar *name); +-G_CONST_RETURN char * pango_attr_type_get_name (PangoAttrType type) G_GNUC_CONST; ++const char * pango_attr_type_get_name (PangoAttrType type) G_GNUC_CONST; + + void pango_attribute_init (PangoAttribute *attr, + const PangoAttrClass *klass); +Index: pango-1.28.4/pango/pango-context.c +=================================================================== +--- pango-1.28.4.orig/pango/pango-context.c 2011-10-12 01:32:09.782046152 +0100 ++++ pango-1.28.4/pango/pango-context.c 2011-10-12 01:32:34.532039187 +0100 +@@ -188,7 +188,7 @@ + * + * Since: 1.6 + **/ +-G_CONST_RETURN PangoMatrix * ++const PangoMatrix * + pango_context_get_matrix (PangoContext *context) + { + g_return_val_if_fail (PANGO_IS_CONTEXT (context), NULL); +Index: pango-1.28.4/pango/pango-context.h +=================================================================== +--- pango-1.28.4.orig/pango/pango-context.h 2011-10-12 01:32:12.892046153 +0100 ++++ pango-1.28.4/pango/pango-context.h 2011-10-12 01:32:36.352046105 +0100 +@@ -86,7 +86,7 @@ + + void pango_context_set_matrix (PangoContext *context, + const PangoMatrix *matrix); +-G_CONST_RETURN PangoMatrix *pango_context_get_matrix (PangoContext *context); ++const PangoMatrix *pango_context_get_matrix (PangoContext *context); + + /* Break a string of Unicode characters into segments with + * consistent shaping/language engine and bidrectional level. +Index: pango-1.28.4/pango/pango-font.h +=================================================================== +--- pango-1.28.4.orig/pango/pango-font.h 2011-10-12 01:32:13.072046150 +0100 ++++ pango-1.28.4/pango/pango-font.h 2011-10-12 01:32:36.362046243 +0100 +@@ -117,7 +117,7 @@ + const char *family); + void pango_font_description_set_family_static (PangoFontDescription *desc, + const char *family); +-G_CONST_RETURN char *pango_font_description_get_family (const PangoFontDescription *desc) G_GNUC_PURE; ++const char *pango_font_description_get_family (const PangoFontDescription *desc) G_GNUC_PURE; + void pango_font_description_set_style (PangoFontDescription *desc, + PangoStyle style); + PangoStyle pango_font_description_get_style (const PangoFontDescription *desc) G_GNUC_PURE; +@@ -212,7 +212,7 @@ + void pango_font_family_list_faces (PangoFontFamily *family, + PangoFontFace ***faces, + int *n_faces); +-G_CONST_RETURN char *pango_font_family_get_name (PangoFontFamily *family) G_GNUC_PURE; ++const char *pango_font_family_get_name (PangoFontFamily *family) G_GNUC_PURE; + gboolean pango_font_family_is_monospace (PangoFontFamily *family) G_GNUC_PURE; + + #ifdef PANGO_ENABLE_BACKEND +@@ -261,7 +261,7 @@ + GType pango_font_face_get_type (void) G_GNUC_CONST; + + PangoFontDescription *pango_font_face_describe (PangoFontFace *face); +-G_CONST_RETURN char *pango_font_face_get_face_name (PangoFontFace *face) G_GNUC_PURE; ++const char *pango_font_face_get_face_name (PangoFontFace *face) G_GNUC_PURE; + void pango_font_face_list_sizes (PangoFontFace *face, + int **sizes, + int *n_sizes); +Index: pango-1.28.4/pango/pango-fontmap.c +=================================================================== +--- pango-1.28.4.orig/pango/pango-fontmap.c 2011-10-12 01:32:09.912046152 +0100 ++++ pango-1.28.4/pango/pango-fontmap.c 2011-10-12 01:32:34.542040267 +0100 +@@ -290,7 +290,7 @@ + * + * Since: 1.4 + **/ +-G_CONST_RETURN char * ++const char * + pango_font_map_get_shape_engine_type (PangoFontMap *fontmap) + { + g_return_val_if_fail (PANGO_IS_FONT_MAP (fontmap), NULL); +Index: pango-1.28.4/pango/pango-language.c +=================================================================== +--- pango-1.28.4.orig/pango/pango-language.c 2011-10-12 01:32:10.052046151 +0100 ++++ pango-1.28.4/pango/pango-language.c 2011-10-12 01:32:34.542040267 +0100 +@@ -319,7 +319,7 @@ + * Returns: a string representing the language tag. This is owned by + * Pango and should not be freed. + */ +-G_CONST_RETURN char * ++const char * + (pango_language_to_string) (PangoLanguage *language) + { + return pango_language_to_string (language); +@@ -531,7 +531,7 @@ + * Return value: the sample string. This value is owned by Pango + * and should not be freed. + **/ +-G_CONST_RETURN char * ++const char * + pango_language_get_sample_string (PangoLanguage *language) + { + const LangInfo *lang_info; +@@ -592,7 +592,7 @@ + + * Since: 1.22 + **/ +-G_CONST_RETURN PangoScript * ++const PangoScript * + pango_language_get_scripts (PangoLanguage *language, + int *num_scripts) + { +Index: pango-1.28.4/pango/pango-language.h +=================================================================== +--- pango-1.28.4.orig/pango/pango-language.h 2011-10-12 01:32:13.262046150 +0100 ++++ pango-1.28.4/pango/pango-language.h 2011-10-12 01:32:36.362046243 +0100 +@@ -34,11 +34,11 @@ + GType pango_language_get_type (void) G_GNUC_CONST; + PangoLanguage *pango_language_from_string (const char *language); + +-G_CONST_RETURN char *pango_language_to_string (PangoLanguage *language) G_GNUC_CONST; ++const char *pango_language_to_string (PangoLanguage *language) G_GNUC_CONST; + /* For back compat. Will have to keep indefinitely. */ + #define pango_language_to_string(language) ((const char *)language) + +-G_CONST_RETURN char *pango_language_get_sample_string (PangoLanguage *language) G_GNUC_CONST; ++const char *pango_language_get_sample_string (PangoLanguage *language) G_GNUC_CONST; + PangoLanguage *pango_language_get_default (void) G_GNUC_CONST; + + gboolean pango_language_matches (PangoLanguage *language, +@@ -48,7 +48,7 @@ + + gboolean pango_language_includes_script (PangoLanguage *language, + PangoScript script) G_GNUC_PURE; +-G_CONST_RETURN PangoScript *pango_language_get_scripts (PangoLanguage *language, ++const PangoScript *pango_language_get_scripts (PangoLanguage *language, + int *num_scripts); + + G_END_DECLS +Index: pango-1.28.4/pango/pango-layout.c +=================================================================== +--- pango-1.28.4.orig/pango/pango-layout.c 2011-10-12 01:32:10.072046151 +0100 ++++ pango-1.28.4/pango/pango-layout.c 2011-10-12 01:32:34.552041215 +0100 +@@ -677,7 +677,7 @@ + * + * Since: 1.8 + **/ +-G_CONST_RETURN PangoFontDescription * ++const PangoFontDescription * + pango_layout_get_font_description (PangoLayout *layout) + { + g_return_val_if_fail (PANGO_IS_LAYOUT (layout), NULL); +@@ -1087,7 +1087,7 @@ + * + * Return value: the text in the @layout. + **/ +-G_CONST_RETURN char* ++const char* + pango_layout_get_text (PangoLayout *layout) + { + g_return_val_if_fail (PANGO_IS_LAYOUT (layout), NULL); +Index: pango-1.28.4/pango/pango-layout.h +=================================================================== +--- pango-1.28.4.orig/pango/pango-layout.h 2011-10-12 01:32:13.302046150 +0100 ++++ pango-1.28.4/pango/pango-layout.h 2011-10-12 01:32:36.362046243 +0100 +@@ -116,7 +116,7 @@ + void pango_layout_set_font_description (PangoLayout *layout, + const PangoFontDescription *desc); + +-G_CONST_RETURN PangoFontDescription *pango_layout_get_font_description (PangoLayout *layout); ++const PangoFontDescription *pango_layout_get_font_description (PangoLayout *layout); + + void pango_layout_set_width (PangoLayout *layout, + int width); +Index: pango-1.28.4/pango/pango-ot-ruleset.c +=================================================================== +--- pango-1.28.4.orig/pango/pango-ot-ruleset.c 2011-10-12 01:32:10.152046150 +0100 ++++ pango-1.28.4/pango/pango-ot-ruleset.c 2011-10-12 01:32:34.552041215 +0100 +@@ -107,7 +107,7 @@ + * + * Since: 1.18 + **/ +-G_CONST_RETURN PangoOTRuleset * ++const PangoOTRuleset * + pango_ot_ruleset_get_for_description (PangoOTInfo *info, + const PangoOTRulesetDescription *desc) + { +Index: pango-1.28.4/pango/pango-renderer.c +=================================================================== +--- pango-1.28.4.orig/pango/pango-renderer.c 2011-10-12 01:32:10.192046151 +0100 ++++ pango-1.28.4/pango/pango-renderer.c 2011-10-12 01:32:34.562041682 +0100 +@@ -1352,7 +1352,7 @@ + * + * Since: 1.8 + **/ +-G_CONST_RETURN PangoMatrix * ++const PangoMatrix * + pango_renderer_get_matrix (PangoRenderer *renderer) + { + g_return_val_if_fail (PANGO_IS_RENDERER (renderer), NULL); +Index: pango-1.28.4/pango/pango-renderer.h +=================================================================== +--- pango-1.28.4.orig/pango/pango-renderer.h 2011-10-12 01:32:13.402046150 +0100 ++++ pango-1.28.4/pango/pango-renderer.h 2011-10-12 01:32:36.362046243 +0100 +@@ -249,7 +249,7 @@ + + void pango_renderer_set_matrix (PangoRenderer *renderer, + const PangoMatrix *matrix); +-G_CONST_RETURN PangoMatrix *pango_renderer_get_matrix (PangoRenderer *renderer); ++const PangoMatrix *pango_renderer_get_matrix (PangoRenderer *renderer); + + PangoLayout *pango_renderer_get_layout (PangoRenderer *renderer); + PangoLayoutLine *pango_renderer_get_layout_line (PangoRenderer *renderer); +Index: pango-1.28.4/pango/pango-script.c +=================================================================== +--- pango-1.28.4.orig/pango/pango-script.c 2011-10-12 01:32:10.212046151 +0100 ++++ pango-1.28.4/pango/pango-script.c 2011-10-12 01:32:34.562041682 +0100 +@@ -165,8 +165,8 @@ + **/ + void + pango_script_iter_get_range (PangoScriptIter *iter, +- G_CONST_RETURN char **start, +- G_CONST_RETURN char **end, ++ const char **start, ++ const char **end, + PangoScript *script) + { + if (start) +Index: pango-1.28.4/pango/pango-script.h +=================================================================== +--- pango-1.28.4.orig/pango/pango-script.h 2011-10-12 01:32:13.422046150 +0100 ++++ pango-1.28.4/pango/pango-script.h 2011-10-12 01:32:36.362046243 +0100 +@@ -129,8 +129,8 @@ + PangoScriptIter *pango_script_iter_new (const char *text, + int length); + void pango_script_iter_get_range (PangoScriptIter *iter, +- G_CONST_RETURN char **start, +- G_CONST_RETURN char **end, ++ const char **start, ++ const char **end, + PangoScript *script); + gboolean pango_script_iter_next (PangoScriptIter *iter); + void pango_script_iter_free (PangoScriptIter *iter); +Index: pango-1.28.4/pango/pango-utils.c +=================================================================== +--- pango-1.28.4.orig/pango/pango-utils.c 2011-10-12 01:32:10.242046149 +0100 ++++ pango-1.28.4/pango/pango-utils.c 2011-10-12 01:32:34.562041682 +0100 +@@ -689,7 +689,7 @@ + * Return value: the Pango sysconf directory. The returned string should + * not be freed. + */ +-G_CONST_RETURN char * ++const char * + pango_get_sysconf_subdirectory (void) + { + #ifdef G_OS_WIN32 +@@ -718,7 +718,7 @@ + * Return value: the Pango lib directory. The returned string should + * not be freed. + */ +-G_CONST_RETURN char * ++const char * + pango_get_lib_subdirectory (void) + { + #ifdef G_OS_WIN32 +Index: pango-1.28.4/pango/pango-utils.h +=================================================================== +--- pango-1.28.4.orig/pango/pango-utils.h 2011-10-12 01:32:13.512046149 +0100 ++++ pango-1.28.4/pango/pango-utils.h 2011-10-12 01:32:36.362046243 +0100 +@@ -82,13 +82,13 @@ + * stored in the registry). The returned string should not be + * g_free'd. + */ +-G_CONST_RETURN char * pango_get_sysconf_subdirectory (void) G_GNUC_PURE; ++const char * pango_get_sysconf_subdirectory (void) G_GNUC_PURE; + + /* Ditto for LIBDIR/pango. On Win32, use the same Pango + * installation directory. This returned string should not be + * g_free'd either. + */ +-G_CONST_RETURN char * pango_get_lib_subdirectory (void) G_GNUC_PURE; ++const char * pango_get_lib_subdirectory (void) G_GNUC_PURE; + + #endif /* PANGO_ENABLE_BACKEND */ + +@@ -131,10 +131,10 @@ + int pango_version (void) G_GNUC_CONST; + + /* Return run-time Pango version as an string */ +-G_CONST_RETURN char * pango_version_string (void) G_GNUC_CONST; ++const char * pango_version_string (void) G_GNUC_CONST; + + /* Check that run-time Pango is as new as required */ +-G_CONST_RETURN char * pango_version_check (int required_major, ++const char * pango_version_check (int required_major, + int required_minor, + int required_micro) G_GNUC_CONST; + +Index: pango-1.28.4/pango/pangocairo-context.c +=================================================================== +--- pango-1.28.4.orig/pango/pangocairo-context.c 2011-10-12 01:32:09.622046154 +0100 ++++ pango-1.28.4/pango/pangocairo-context.c 2011-10-12 01:32:34.522037975 +0100 +@@ -260,7 +260,7 @@ + * + * Since: 1.10 + **/ +-G_CONST_RETURN cairo_font_options_t * ++const cairo_font_options_t * + pango_cairo_context_get_font_options (PangoContext *context) + { + PangoCairoContextInfo *info; +@@ -286,7 +286,7 @@ + * Return value: the combined set of font options. This value is owned + * by the context and must not be modified or freed. + **/ +-G_CONST_RETURN cairo_font_options_t * ++const cairo_font_options_t * + _pango_cairo_context_get_merged_font_options (PangoContext *context) + { + PangoCairoContextInfo *info = get_context_info (context, TRUE); +Index: pango-1.28.4/pango/pangoft2.c +=================================================================== +--- pango-1.28.4.orig/pango/pangoft2.c 2011-10-12 01:32:09.942046152 +0100 ++++ pango-1.28.4/pango/pangoft2.c 2011-10-12 01:32:34.542040267 +0100 +@@ -520,7 +520,7 @@ + return ((ft_error_description *) pkey)->code - ((ft_error_description *) pbase)->code; + } + +-G_CONST_RETURN char * ++const char * + _pango_ft2_ft_strerror (FT_Error error) + { + #undef __FTERRORS_H__ +Index: pango-1.28.4/pango/pangox-fontmap.c +=================================================================== +--- pango-1.28.4.orig/pango/pangox-fontmap.c 2011-10-12 01:32:10.352046151 +0100 ++++ pango-1.28.4/pango/pangox-fontmap.c 2011-10-12 01:32:34.572042704 +0100 +@@ -1441,7 +1441,7 @@ + } + + +-G_CONST_RETURN char * ++const char * + pango_x_fontmap_name_from_atom (PangoFontMap *fontmap, + Atom atom) + { +@@ -1645,7 +1645,7 @@ + } + } + +-static G_CONST_RETURN char * ++static const char * + pango_x_family_get_name (PangoFontFamily *family) + { + PangoXFamily *xfamily = PANGO_X_FAMILY (family); diff --git a/meta/recipes-graphics/pango/pango.inc b/meta/recipes-graphics/pango/pango.inc new file mode 100644 index 000000000..fbf5027db --- /dev/null +++ b/meta/recipes-graphics/pango/pango.inc @@ -0,0 +1,73 @@ +SUMMARY = "Framework for layout and rendering of internationalized text" +DESCRIPTION = "Pango is a library for laying out and rendering of text, \ +with an emphasis on internationalization. Pango can be used anywhere \ +that text layout is needed, though most of the work on Pango so far has \ +been done in the context of the GTK+ widget toolkit. Pango forms the \ +core of text and font handling for GTK+-2.x." +HOMEPAGE = "http://www.pango.org/" +BUGTRACKER = "http://bugzilla.gnome.org" +SECTION = "libs" +LICENSE = "LGPLv2.0+" + +X11DEPENDS = "virtual/libx11 libxft" +DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv gtk-doc-native cairo " + +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" +PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}" + +BBCLASSEXTEND = "native" +DEPENDS_virtclass-native = "glib-2.0-native cairo-native" + +PACKAGES_DYNAMIC = "pango-module-*" + +RRECOMMENDS_${PN} = "${@base_contains('DISTRO_FEATURES', 'x11', 'pango-module-basic-x', '', d)} pango-module-basic-fc" + +inherit gnomebase +# Create a pango-modules package +ALLOW_EMPTY_${BPN}-modules = "1" +PACKAGES += "${BPN}-modules" +RRECOMMENDS_${BPN}-modules = "${@" ".join([p for p in d.getVar('PACKAGES', True).split() if p.find("pango-module") != -1])}" + + +EXTRA_AUTORECONF = "" + +# seems to go wrong with default cflags +FULL_OPTIMIZATION_arm = "-O2" + +EXTRA_OECONF = "--disable-glibtest \ + --disable-introspection \ + --enable-explicit-deps=no \ + --disable-debug \ + --with-mlprefix=${MLPREFIX}" + +LEAD_SONAME = "libpango-1.0*" +LIBV = "1.6.0" + +postinst_prologue() { +if [ "x$D" != "x" ]; then + exit 1 +fi + +if ! [ -e $D${sysconfdir}/pango ] ; then + mkdir -p $D${sysconfdir}/pango +fi +} + +do_install_append () { + if [ "${MLPREFIX}" != "" ]; then + mv ${D}/${bindir}/pango-querymodules ${D}/${bindir}/${MLPREFIX}pango-querymodules + fi +} + + +python populate_packages_prepend () { + prologue = d.getVar("postinst_prologue", True) + + modules_root = d.expand('${libdir}/pango/${LIBV}/modules') + + do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + '${bindir}/${MLPREFIX}pango-querymodules > /etc/pango/${MLPREFIX}pango.modules') +} + +FILES_${PN} = "${sysconfdir}/pango/* ${bindir}/* ${libdir}/libpango*${SOLIBS}" +FILES_${PN}-dbg += "${libdir}/pango/${LIBV}/modules/.debug" +FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la" diff --git a/meta/recipes-graphics/pango/pango_1.28.4.bb b/meta/recipes-graphics/pango/pango_1.28.4.bb new file mode 100644 index 000000000..705515819 --- /dev/null +++ b/meta/recipes-graphics/pango/pango_1.28.4.bb @@ -0,0 +1,14 @@ +require pango.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" + +PR = "r8" + +SRC_URI += "file://no-tests.patch \ + file://noconst.patch \ + file://multilib-fix-clean.patch" + +SRC_URI[archive.md5sum] = "3f3989700f04e9117d30544a9078b3a0" +SRC_URI[archive.sha256sum] = "7eb035bcc10dd01569a214d5e2bc3437de95d9ac1cfa9f50035a687c45f05a9f" + +#PARALLEL_MAKE = "" diff --git a/meta/recipes-graphics/pong-clock/pong-clock/pong-clock-no-flicker.c b/meta/recipes-graphics/pong-clock/pong-clock/pong-clock-no-flicker.c new file mode 100644 index 000000000..41cebc58a --- /dev/null +++ b/meta/recipes-graphics/pong-clock/pong-clock/pong-clock-no-flicker.c @@ -0,0 +1,410 @@ +/* + * Pong Clock - A clock that plays pong. + * See http://mocoloco.com/archives/001766.php for the inspiration. + * + * Copyright (C) 2005 Matthew Allum + * + * Author: Matthew Allum mallum@openedhand.com + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +#include <stdlib.h> +#include <time.h> +#include <sys/time.h> +#include <sys/types.h> +#include <string.h> +#include <stdio.h> +#include <unistd.h> +#include <signal.h> + +#include <X11/Xlib.h> +#include <X11/Xutil.h> +#include <X11/Xatom.h> + +/* Tweak values for different hw setups */ + +#define FPS 50 +#define RESX 40 +#define RESY 40 +#define TO_MISS_SECS 55 +#define BALLDX 16 +#define BALLDY 4 + + +typedef struct PongClock +{ + Display *xdpy; + int xscreen; + Window xwin, xwin_root; + Pixmap backbuffer; + GC xgc; + int xwin_width, xwin_height; + int pixelw, pixelh; + + int ball_x, ball_y, ball_dx, ball_dy; + int bata_y, batb_y; + Bool bata_to_miss, batb_to_miss; + +} +PongClock; + +void +get_time(int *hour, int *min, int *sec) +{ + struct timeval tv; + struct tm *localTime = NULL; + time_t actualTime; + + gettimeofday(&tv, 0); + actualTime = tv.tv_sec; + localTime = localtime(&actualTime); + + if (hour) + *hour = localTime->tm_hour; + + if (min) + *min = localTime->tm_min; + + if (sec) + *sec = localTime->tm_sec; +} + +void +draw_rect (PongClock *pong_clock, + int x, + int y, + int width, + int height) +{ + XFillRectangle (pong_clock->xdpy, + pong_clock->backbuffer, + pong_clock->xgc, + x * pong_clock->pixelw, + y * pong_clock->pixelh, + width * pong_clock->pixelw, + height * pong_clock->pixelh); +} + +void +draw_field (PongClock *pong_clock) +{ + int i; + + draw_rect (pong_clock, 0, 0, RESX+1, 1); + draw_rect (pong_clock, 0, RESY-1, RESX+1, 1); + + for (i=0; i < RESY/2; i++) + draw_rect (pong_clock, (RESX/2)-1, i*2, 2, 1); +} + +void +draw_digit (PongClock *pong_clock, + int x, + int y, + int digit) +{ + int digits[] = { 0x1f8c63f, 0x1f21086, 0x1f0fe1f, 0x1f87e1f, 0x1087e31, + 0x1f87c3f, 0x1f8fc3f, 0x84421f, 0x1f8fe3f, 0x1087e3f }; + + XRectangle rects[5*5]; + int i,j,k; + + i = 0; + + for (k=0; k<5; k++) + for (j=0; j<5; j++) + if (digits[digit] & (1 << ((k*5)+j))) + { + rects[i].x = (x + j) * pong_clock->pixelw; + rects[i].y = (y + k) * pong_clock->pixelh; + rects[i].width = pong_clock->pixelw; + rects[i].height = pong_clock->pixelh; + i++; + } + + XFillRectangles (pong_clock->xdpy, + pong_clock->backbuffer, + pong_clock->xgc, + rects, i); +} + +void +draw_time (PongClock *pong_clock) +{ + int hour, min; + + get_time(&hour, &min, NULL); + + draw_digit (pong_clock, + (RESX/2) - 14, + 5, + hour / 10 ); + + draw_digit (pong_clock, + (RESX/2) - 8, + 5, + hour % 10 ); + + draw_digit (pong_clock, + (RESX/2) + 3, + 5, + min / 10 ); + + draw_digit (pong_clock, + (RESX/2) + 9, + 5, + min % 10 ); +} + +void +draw_bat_and_ball (PongClock *pong_clock) +{ + /* ball */ + + XFillRectangle (pong_clock->xdpy, + pong_clock->backbuffer, + pong_clock->xgc, + pong_clock->ball_x, + pong_clock->ball_y, + pong_clock->pixelw, + pong_clock->pixelh); + + /* bat a */ + + XFillRectangle (pong_clock->xdpy, + pong_clock->backbuffer, + pong_clock->xgc, + 0, + pong_clock->bata_y - (2 * pong_clock->pixelh), + pong_clock->pixelw, + pong_clock->pixelh * 5); + + /* bat b */ + + XFillRectangle (pong_clock->xdpy, + pong_clock->backbuffer, + pong_clock->xgc, + (pong_clock->xwin_width - pong_clock->pixelw), + pong_clock->batb_y - (2 * pong_clock->pixelh), + pong_clock->pixelw, + pong_clock->pixelh * 5); + +} + +void +update_state (PongClock *pong_clock) +{ + int sec, min, hour; + + get_time(&hour, &min, &sec); + + /* Check ball is on field and no ones dues to miss a shot. + */ + if ( (pong_clock->ball_x < 0 && !pong_clock->bata_to_miss) + || (pong_clock->ball_x > (pong_clock->xwin_width - pong_clock->pixelw) + && !pong_clock->batb_to_miss) ) + pong_clock->ball_dx *= -1; + + if ((pong_clock->ball_y < pong_clock->pixelh) + || pong_clock->ball_y > (pong_clock->xwin_height - (2*pong_clock->pixelh))) + pong_clock->ball_dy *= -1; + + pong_clock->ball_x += pong_clock->ball_dx; + pong_clock->ball_y += pong_clock->ball_dy; + + /* Set up someone to miss if we getting close to an hour or min. + */ + if (sec > TO_MISS_SECS) + { + if (min == 59) + pong_clock->batb_to_miss = True; + else + pong_clock->bata_to_miss = True; + } + else + { + /* Reset the game */ + if (pong_clock->bata_to_miss) + { + pong_clock->bata_to_miss = False; + pong_clock->ball_y = pong_clock->bata_y; + pong_clock->ball_x = pong_clock->pixelw; + pong_clock->ball_dx *= -1; + } + + if (pong_clock->batb_to_miss) + { + pong_clock->batb_to_miss = False; + pong_clock->ball_y = pong_clock->batb_y; + pong_clock->ball_x = pong_clock->xwin_width - pong_clock->pixelw; + pong_clock->ball_dx *= -1; + } + } + + /* Keep bats on field and only move in not setup to miss */ + if (pong_clock->ball_y >= (3*pong_clock->pixelh) + && pong_clock->ball_y <= (pong_clock->xwin_height - (5*pong_clock->pixelh))) + { + if (!pong_clock->batb_to_miss) + pong_clock->batb_y = pong_clock->ball_y; + + if (!pong_clock->bata_to_miss) + pong_clock->bata_y = pong_clock->ball_y; + } +} + +void +draw_frame (PongClock *pong_clock) +{ + update_state (pong_clock); + + /* Clear playfield */ + XSetForeground (pong_clock->xdpy, + pong_clock->xgc, + BlackPixel(pong_clock->xdpy, + pong_clock->xscreen)); + + XFillRectangle (pong_clock->xdpy, + pong_clock->backbuffer, + pong_clock->xgc, + 0, 0, + pong_clock->xwin_width, + pong_clock->xwin_height); + + XSetForeground (pong_clock->xdpy, + pong_clock->xgc, + WhitePixel(pong_clock->xdpy, + pong_clock->xscreen)); + + draw_field (pong_clock); + + draw_time (pong_clock); + + draw_bat_and_ball (pong_clock); + + /* flip 'backbuffer' */ + XSetWindowBackgroundPixmap (pong_clock->xdpy, + pong_clock->xwin, + pong_clock->backbuffer); + XClearWindow(pong_clock->xdpy, pong_clock->xwin); + + XSync(pong_clock->xdpy, False); +} + +int +main (int argc, char **argv) +{ + XGCValues gcv; + Atom atoms_WINDOW_STATE, atoms_WINDOW_STATE_FULLSCREEN; + PongClock *pong_clock; + + pong_clock = malloc(sizeof(PongClock)); + memset(pong_clock, 0, sizeof(PongClock)); + + if ((pong_clock->xdpy = XOpenDisplay(getenv("DISPLAY"))) == NULL) { + fprintf(stderr, "Cannot connect to X server on display %s.", + getenv("DISPLAY")); + exit(-1); + } + + pong_clock->xscreen = DefaultScreen(pong_clock->xdpy); + pong_clock->xwin_root = DefaultRootWindow(pong_clock->xdpy); + pong_clock->xwin_width = DisplayWidth(pong_clock->xdpy, + pong_clock->xscreen); + pong_clock->xwin_height = DisplayHeight(pong_clock->xdpy, + pong_clock->xscreen); + + pong_clock->pixelw = pong_clock->xwin_width / RESX; + pong_clock->pixelh = pong_clock->xwin_height / RESY; + + pong_clock->ball_x = 0; + pong_clock->ball_y = pong_clock->xwin_height / 2; + + pong_clock->ball_dx = BALLDX; + pong_clock->ball_dy = BALLDY; + + pong_clock->batb_y = pong_clock->bata_y = pong_clock->ball_y; + + gcv.background = BlackPixel(pong_clock->xdpy, + pong_clock->xscreen); + gcv.foreground = WhitePixel(pong_clock->xdpy, + pong_clock->xscreen); + gcv.graphics_exposures = False; + + pong_clock->xgc = XCreateGC (pong_clock->xdpy, pong_clock->xwin_root, + GCForeground|GCBackground|GCGraphicsExposures, + &gcv); + + atoms_WINDOW_STATE + = XInternAtom(pong_clock->xdpy, "_NET_WM_STATE",False); + atoms_WINDOW_STATE_FULLSCREEN + = XInternAtom(pong_clock->xdpy, "_NET_WM_STATE_FULLSCREEN",False); + + pong_clock->xwin = XCreateSimpleWindow(pong_clock->xdpy, + pong_clock->xwin_root, + 0, 0, + pong_clock->xwin_width, + pong_clock->xwin_height, + 0, + WhitePixel(pong_clock->xdpy, + pong_clock->xscreen), + BlackPixel(pong_clock->xdpy, + pong_clock->xscreen)); + + pong_clock->backbuffer = XCreatePixmap(pong_clock->xdpy, + pong_clock->xwin_root, + pong_clock->xwin_width, + pong_clock->xwin_height, + DefaultDepth(pong_clock->xdpy, + pong_clock->xscreen)); + + XSelectInput(pong_clock->xdpy, pong_clock->xwin, KeyPressMask); + + + /* Set the hints for fullscreen */ + XChangeProperty(pong_clock->xdpy, + pong_clock->xwin, + atoms_WINDOW_STATE, + XA_ATOM, + 32, + PropModeReplace, + (unsigned char *) &atoms_WINDOW_STATE_FULLSCREEN, 1); + + XMapWindow(pong_clock->xdpy, pong_clock->xwin); + + while (True) + { + struct timeval timeout; + XEvent xev; + + timeout.tv_sec = 0; + timeout.tv_usec = 1000000 / FPS; + select (0, NULL, NULL, NULL, &timeout); + + draw_frame (pong_clock); + + XFlush(pong_clock->xdpy); + + if (XPending(pong_clock->xdpy)) + { + if (XCheckMaskEvent(pong_clock->xdpy, + KeyPressMask, + &xev)) + exit(-1); + } + } +} diff --git a/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb b/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb new file mode 100644 index 000000000..d352d878b --- /dev/null +++ b/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "A clock combined with a game of pong" +LICENSE = "GPLv2+" +DEPENDS = "virtual/libx11 xdmcp xau" + +SRC_URI = "file://pong-clock-no-flicker.c" + +LIC_FILES_CHKSUM = "file://pong-clock-no-flicker.c;startline=0;endline=23;md5=dd248d50f73f746d1ee78586b0b2ebd3" + +S = "${WORKDIR}" + +do_compile () { + ${CC} -o pong-clock pong-clock-no-flicker.c `pkg-config --cflags --libs x11 xau xdmcp` +} + +do_install () { + install -d ${D}${bindir} + install -m 0755 pong-clock ${D}${bindir} +} diff --git a/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb b/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb new file mode 100644 index 000000000..0fc18b1ee --- /dev/null +++ b/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Startup-notification contains a reference implementation of the startup notification protocol." +HOMEPAGE = "http://www.freedesktop.org/wiki/software/startup-notification/" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=Specifications" + +# most files are under MIT, but libsn/sn-util.c is under LGPL, the +# effective license is LGPL +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=a2ae2cd47d6d2f238410f5364dfbc0f2 \ + file://libsn/sn-util.c;endline=18;md5=18a14dc1825d38e741d772311fea9ee1 \ + file://libsn/sn-common.h;endline=23;md5=6d05bc0ebdcf5513a6e77cb26e8cd7e2 \ + file://test/test-boilerplate.h;endline=23;md5=923e706b2a70586176eead261cc5bb98" + +PR = "r1" + +SECTION = "libs" + + +DEPENDS = "virtual/libx11 libsm xcb-util" + +inherit autotools pkgconfig + +SRC_URI = "http://www.freedesktop.org/software/startup-notification/releases/${BPN}-${PV}.tar.gz" + +SRC_URI[md5sum] = "2cd77326d4dcaed9a5a23a1232fb38e9" +SRC_URI[sha256sum] = "3c391f7e930c583095045cd2d10eb73a64f085c7fde9d260f2652c7cb3cfbe4a" diff --git a/meta/recipes-graphics/tasks/task-core-clutter.bb b/meta/recipes-graphics/tasks/task-core-clutter.bb new file mode 100644 index 000000000..4044131cc --- /dev/null +++ b/meta/recipes-graphics/tasks/task-core-clutter.bb @@ -0,0 +1,37 @@ +# +# Copyright (C) 2007 OpenedHand Ltd. +# + +DESCRIPTION = "Clutter Tasks for OpenedHand Poky" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +PR = "r4" + +PACKAGES = "\ + task-core-clutter-core \ + task-core-clutter-core-dbg \ + task-core-clutter-core-dev \ + task-core-clutter-apps \ + task-core-clutter-apps-dbg \ + task-core-clutter-apps-dev \ + task-core-clutter-tests \ + task-core-clutter-tests-dbg \ + task-core-clutter-tests-dev \ + " + +ALLOW_EMPTY = "1" + +RDEPENDS_task-core-clutter-core = "\ + clutter-1.8 \ + clutter-gst-1.8 \ + clutter-gtk-1.8 \ + " + +#RDEPENDS_task-core-clutter-tests = "\ +# clutter-gst-1.8-examples \ +# clutter-gtk-1.8-examples" + +#RDEPENDS_task-core-clutter-apps = "\ +# clutter-box2d " diff --git a/meta/recipes-graphics/tasks/task-core-gtk-directfb.bb b/meta/recipes-graphics/tasks/task-core-gtk-directfb.bb new file mode 100644 index 000000000..239e0c198 --- /dev/null +++ b/meta/recipes-graphics/tasks/task-core-gtk-directfb.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "gkt+ over directfb without x11" +PR = "r0" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +inherit task + +TOUCH = ' ${@base_contains("MACHINE_FEATURES", "touchscreen", "tslib tslib-calibrate tslib-tests", "",d)}' + +PACKAGES += " \ + ${PN}-base \ +" + +RDEPENDS_${PN}-base = " \ + directfb \ + directfb-examples \ + pango \ + pango-modules \ + fontconfig \ + gtk+ \ + gtk-demo \ + dropbear \ + ${TOUCH} \ +" diff --git a/meta/recipes-graphics/tslib/tslib/0001-Link-plugins-against-libts.patch b/meta/recipes-graphics/tslib/tslib/0001-Link-plugins-against-libts.patch new file mode 100644 index 000000000..c6b9f5919 --- /dev/null +++ b/meta/recipes-graphics/tslib/tslib/0001-Link-plugins-against-libts.patch @@ -0,0 +1,57 @@ +From 9623bbedf4ff409e5036edfcfe52b2595932a6d7 Mon Sep 17 00:00:00 2001 +From: Chris Larson <clarson@kergoth.com> +Date: Sat, 1 Nov 2008 20:46:07 +0000 +Subject: [PATCH] Link plugins against libts + +Some plugins use tslib functions. Link those plugins against libts. +The problem is easy to see with LDFLAGS="-Wl,-no-undefined". +Without this change DirectFB in unable to use tslib because symbols +in the tslib plugins can't be resolved. + +Signed-off-by: Ville Syrjala <syrjala@sci.fi> +Signed-off-by: Chris Larson <clarson@kergoth.com> + +The patch was imported from git server git://github.com/kergoth/tslib.git +as of commit id 9623bbedf4ff409e5036edfcfe52b2595932a6d7. + +Upstream-Status: Accepted +Signed-off-by: Dmitry Cherukhin <dima_ch@emcraft.com> +--- + plugins/Makefile.am | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) + +diff --git a/plugins/Makefile.am b/plugins/Makefile.am +index 3b902c2..4c4ef8b 100644 +--- a/plugins/Makefile.am ++++ b/plugins/Makefile.am +@@ -114,15 +114,19 @@ pluginexec_LTLIBRARIES = \ + + variance_la_SOURCES = variance.c + variance_la_LDFLAGS = -module $(LTVSN) ++variance_la_LIBADD = $(top_builddir)/src/libts.la + + dejitter_la_SOURCES = dejitter.c + dejitter_la_LDFLAGS = -module $(LTVSN) ++dejitter_la_LIBADD = $(top_builddir)/src/libts.la + + linear_la_SOURCES = linear.c + linear_la_LDFLAGS = -module $(LTVSN) ++linear_la_LIBADD = $(top_builddir)/src/libts.la + + pthres_la_SOURCES = pthres.c + pthres_la_LDFLAGS = -module $(LTVSN) ++pthres_la_LIBADD = $(top_builddir)/src/libts.la + + # hw access + corgi_la_SOURCES = corgi-raw.c +@@ -148,6 +152,7 @@ tatung_la_LDFLAGS = -module $(LTVSN) + + input_la_SOURCES = input-raw.c + input_la_LDFLAGS = -module $(LTVSN) ++input_la_LIBADD = $(top_builddir)/src/libts.la + + linear_h2200_la_SOURCES = linear-h2200.c + linear_h2200_la_LDFLAGS = -module $(LTVSN) +-- +1.7.6.4 + diff --git a/meta/recipes-graphics/tslib/tslib/32bitBE-support.patch b/meta/recipes-graphics/tslib/tslib/32bitBE-support.patch new file mode 100644 index 000000000..49232ef6e --- /dev/null +++ b/meta/recipes-graphics/tslib/tslib/32bitBE-support.patch @@ -0,0 +1,55 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 030-32bitBE-support.dpatch by Neil Williams <codehelp@debian.org> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: See bug #496759 - being tested upstream for 32bit BE devices + +@DPATCH@ + +Upstream-Status: Pending + +diff -urNad tslib-1.0~/plugins/input-raw.c tslib-1.0/plugins/input-raw.c +--- tslib-1.0~/plugins/input-raw.c 2008-12-09 10:56:47.000000000 +0000 ++++ tslib-1.0/plugins/input-raw.c 2008-12-09 11:05:41.000000000 +0000 +@@ -44,25 +44,33 @@ + int using_syn; + }; + ++#define BITS_PER_LONG (sizeof(long) * 8) ++#ifndef EV_CNT ++#define EV_CNT (EV_MAX+1) ++#endif ++#ifndef ABS_CNT ++#define ABS_CNT (ABS_MAX+1) ++#endif ++ + static int check_fd(struct tslib_input *i) + { + struct tsdev *ts = i->module.dev; + int version; +- u_int32_t bit; +- u_int64_t absbit; ++ unsigned long bit[EV_CNT / BITS_PER_LONG + 1]; ++ unsigned long absbit[ABS_MAX / BITS_PER_LONG + 1]; + + if (! ((ioctl(ts->fd, EVIOCGVERSION, &version) >= 0) && + (version == EV_VERSION) && +- (ioctl(ts->fd, EVIOCGBIT(0, sizeof(bit) * 8), &bit) >= 0) && +- (bit & (1 << EV_ABS)) && +- (ioctl(ts->fd, EVIOCGBIT(EV_ABS, sizeof(absbit) * 8), &absbit) >= 0) && +- (absbit & (1 << ABS_X)) && +- (absbit & (1 << ABS_Y)) && (absbit & (1 << ABS_PRESSURE)))) { ++ (ioctl(ts->fd, EVIOCGBIT(0, sizeof(bit)), bit) >= 0) && ++ (bit[0] & (1 << EV_ABS)) && ++ (ioctl(ts->fd, EVIOCGBIT(EV_ABS, sizeof(absbit)), absbit) >= 0) && ++ (absbit[0] & (1 << ABS_X)) && ++ (absbit[0] & (1 << ABS_Y)) && (absbit[0] & (1 << ABS_PRESSURE)))) { + fprintf(stderr, "selected device is not a touchscreen I understand\n"); + return -1; + } + +- if (bit & (1 << EV_SYN)) ++ if (bit[0] & (1 << EV_SYN)) + i->using_syn = 1; + + return 0; diff --git a/meta/recipes-graphics/tslib/tslib/fix_version.patch b/meta/recipes-graphics/tslib/tslib/fix_version.patch new file mode 100644 index 000000000..c3d658ee5 --- /dev/null +++ b/meta/recipes-graphics/tslib/tslib/fix_version.patch @@ -0,0 +1,34 @@ +--- + configure.ac | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +Upstream-Status: Inappropriate [configuration] + +Index: tslib-1.0/configure.ac +=================================================================== +--- tslib-1.0.orig/configure.ac 2006-08-24 22:02:55.000000000 +0100 ++++ tslib-1.0/configure.ac 2007-07-09 21:04:38.000000000 +0100 +@@ -2,7 +2,7 @@ + # Process this file with autoconf to produce a configure script. + + AC_PREREQ(2.57) +-AC_INIT(tslib, 0.0.2, kergoth@handhelds.org) ++AC_INIT(tslib, 1.0.0, kergoth@handhelds.org) + # AC_CONFIG_AUX_DIR(config) + AM_INIT_AUTOMAKE(dist-bzip2) + AC_CONFIG_SRCDIR([src/ts_close.c]) +@@ -193,10 +193,10 @@ TS_CONF='${sysconfdir}/ts.conf' + AC_SUBST(TS_CONF) + + # Library versioning +-LT_RELEASE=0.0 +-LT_CURRENT=1 +-LT_REVISION=1 +-LT_AGE=1 ++LT_RELEASE=1.0 ++LT_CURRENT=0 ++LT_REVISION=0 ++LT_AGE=0 + AC_SUBST(LT_RELEASE) + AC_SUBST(LT_CURRENT) + AC_SUBST(LT_REVISION) diff --git a/meta/recipes-graphics/tslib/tslib/multievent.patch b/meta/recipes-graphics/tslib/tslib/multievent.patch new file mode 100644 index 000000000..e6803f5a8 --- /dev/null +++ b/meta/recipes-graphics/tslib/tslib/multievent.patch @@ -0,0 +1,845 @@ +Upstream-Status: Pending + +--- tslib/plugins/linear.c~multievent ++++ tslib/plugins/linear.c +@@ -39,14 +39,12 @@ + linear_read(struct tslib_module_info *info, struct ts_sample *samp, int nr) + { + struct tslib_linear *lin = (struct tslib_linear *)info; +- int ret; ++ int ret, i = 0; + int xtemp,ytemp; + + ret = info->next->ops->read(info->next, samp, nr); + if (ret >= 0) { +- int nr; +- +- for (nr = 0; nr < ret; nr++, samp++) { ++ for (i = 0; i < ret; i++, samp++) { + #ifdef DEBUG + fprintf(stderr,"BEFORE CALIB--------------------> %d %d %d\n",samp->x, samp->y, samp->pressure); + #endif /*DEBUG*/ +@@ -66,6 +64,7 @@ + samp->y = tmp; + } + } ++ ret = i; + } + + return ret; +--- tslib/plugins/dejitter.c~multievent ++++ tslib/plugins/dejitter.c +@@ -24,7 +24,6 @@ + + struct tslib_threshold { + struct tslib_module_info module; +- int pthreshold; + int xdelta; + int ydelta; + int delta2; +@@ -36,40 +35,28 @@ + static int threshold_read(struct tslib_module_info *info, struct ts_sample *samp, int nr) + { + struct tslib_threshold *thr = (struct tslib_threshold *)info; +- struct ts_sample *s; +- int ret; ++ struct ts_sample *src = samp, *dest = samp; ++ int ret, i = 0; + + ret = info->next->ops->read(info->next, samp, nr); + if (ret >= 0) { +- int nr = 0; +- +- for (s = samp; s < samp + ret; s++) { ++ for (i = 0; i < ret; i++, samp++) { + int dr2; + #ifdef DEBUG +- fprintf(stderr,"BEFORE DEJITTER---------------> %d %d %d\n",s->x,s->y,s->pressure); ++ fprintf(stderr,"BEFORE DEJITTER---------------> %d %d %d\n", samp->x, samp->y, samp->pressure); + #endif /*DEBUG*/ +- thr->down = (s->pressure >= thr->pthreshold); +- if (thr->down) { +- dr2 = (thr->x - s->x)*(thr->x - s->x) +- + (thr->y - s->y)*(thr->y - s->y); +- if(dr2 < thr->delta2) { +- s->x = thr->x; +- s->y = thr->y; +- } else { +- thr->x = s->x; +- thr->y = s->y; +- } +- ++ dr2 = (thr->x - samp->x)*(thr->x - samp->x) ++ + (thr->y - samp->y)*(thr->y - samp->y); ++ if(dr2 < thr->delta2) { ++ samp->x = thr->x; ++ samp->y = thr->y; + } else { +- s->x = thr->x; +- s->y = thr->y; ++ thr->x = samp->x; ++ thr->y = samp->y; + } +- +- +- samp[nr++] = *s; + } + +- ret = nr; ++ ret = i; + } + return ret; + } +@@ -106,10 +93,6 @@ + thr->ydelta = v; + break; + +- case 3: +- thr->pthreshold = v; +- break; +- + default: + return -1; + } +@@ -120,7 +103,6 @@ + { + { "xdelta", (void *)1, threshold_limit }, + { "ydelta", (void *)2, threshold_limit }, +- { "pthreshold", (void *)3, threshold_limit } + }; + + //#define NR_VARS (sizeof(threshold_vars) / sizeof(threshold_vars[0])) +@@ -138,7 +120,6 @@ + + thr->xdelta = 10; + thr->ydelta = 10; +- thr->pthreshold = 100; + + if (tslib_parse_vars(&thr->module, threshold_vars, NR_VARS, params)) { + free(thr); +--- tslib/plugins/variance.c~multievent ++++ tslib/plugins/variance.c +@@ -9,25 +9,36 @@ + * $Id: variance.c,v 1.3 2002/11/08 23:28:55 dlowder Exp $ + * + * Variance filter for touchscreen values ++ * ++ * Policy question (applies to all tslib modules that consume events): ++ * 1) User requests a read of 5 events using nr. ++ * 2) Lower layers return us 4 events. ++ * 3) Perform variance calculation, we now only have _1_ event. ++ * 4) Do we, a) duplicate this data across the user requested 4 events, ++ * b) push up the single event ++ * c) loop on the read from the lower layers to obtain ++ * the user's requested number of events, unless we hit ++ * a pen_up. + */ ++ + #include <errno.h> + #include <stdlib.h> + #include <string.h> + #include <limits.h> +- + #include <stdio.h> + + #include "tslib.h" + #include "tslib-filter.h" + ++#define NR_INIT -1 + #define NR_LAST 4 + + struct tslib_variance { + struct tslib_module_info module; + int nr; +- unsigned int pthreshold; + unsigned int xlimit; + unsigned int ylimit; ++ unsigned int pthreshold; + struct ts_sample last[NR_LAST]; + }; + +@@ -37,8 +48,7 @@ + * least variance, and average them. + */ + static int +-variance_calculate(struct tslib_variance *var, struct ts_sample *samp, +- struct ts_sample *s) ++variance_calculate(struct tslib_variance *var, struct ts_sample *dest, struct ts_sample *src) + { + int i, j; + int diff_x, min_x, i_x, j_x; +@@ -100,11 +110,11 @@ + } + } + +- samp->x = (var->last[i_x].x + var->last[j_x].x) / 2; +- samp->y = (var->last[i_y].y + var->last[j_y].y) / 2; +- samp->pressure = (var->last[i_p].pressure + var->last[j_p].pressure) / 2; +- samp->tv.tv_sec = s->tv.tv_sec; +- samp->tv.tv_usec = s->tv.tv_usec; ++ dest->x = (var->last[i_x].x + var->last[j_x].x) / 2; ++ dest->y = (var->last[i_y].y + var->last[j_y].y) / 2; ++ dest->pressure = (var->last[i_p].pressure + var->last[j_p].pressure) / 2; ++ dest->tv.tv_sec = src->tv.tv_sec; ++ dest->tv.tv_usec = src->tv.tv_usec; + + return 1; + } +@@ -112,55 +122,57 @@ + static int variance_read(struct tslib_module_info *info, struct ts_sample *samp, int nr) + { + struct tslib_variance *var = (struct tslib_variance *)info; +- struct ts_sample *s; +- int ret; +- +- ret = info->next->ops->read(info->next, samp, nr); +- if (ret >= 0) { +- int nr = 0; +- +- for (s = samp; s < samp + ret; s++) { +- if (s->pressure < var->pthreshold) { +- /* +- * Pen was released. Reset our state and +- * pass up the release information. +- */ +-// samp[nr].x = 0; +-// samp[nr].y = 0; +- samp[nr].pressure = s->pressure; +- samp[nr].tv.tv_sec = s->tv.tv_sec; +- samp[nr].tv.tv_usec = s->tv.tv_usec; +- +- nr++; +- +- var->nr = 0; +- continue; +- } else if (var->nr == -1) { +- /* +- * Pen was pressed. Inform upper layers +- * immediately. +- */ +- samp[nr] = *s; +- nr++; +- } +- +- if (var->nr >= 0) { +- var->last[var->nr].x = s->x; +- var->last[var->nr].y = s->y; +- var->last[var->nr].pressure = s->pressure; +- } +- +- var->nr++; ++ struct ts_sample *src = samp, *dest = samp; ++ int ret, i = 0; + +- if (var->nr == NR_LAST) { +- if (variance_calculate(var, samp + nr, s)) +- nr++; +- var->nr = 0; ++ /* ++ * NOTES: ++ * ++ * Loop on read, collecting events until we hit nr, unless ++ * we hit a pen up or encounter a failure. ++ */ ++ while ((i < nr) && (ret != -1)) { ++ ret = info->next->ops->read(info->next, dest + i, nr - i); ++ if (ret >= 0) { ++ for (src = dest + i; src < dest + ret; src++) { ++ if (src->pressure < var->pthreshold) { ++ /* pen released, reset var->nr, ++ * do a calc based on what we have so ++ * far, and let this event flow up */ ++ if (variance_calculate(var, dest + i, src)) ++ i++; ++ var->nr = NR_INIT; ++ ret = -1; /* break outer loop, push up event */ ++ break; ++ } else if (var->nr == NR_INIT) { ++ /* ++ * First pen down event. Inform upper layers ++ * immediately for responsiveness. ++ */ ++ var->nr = 0; ++ i++; ++ ret = -1; /* break outer loop */ ++ break; ++ } ++ ++ if (var->nr >= 0) { ++ var->last[var->nr].x = src->x; ++ var->last[var->nr].y = src->y; ++ var->last[var->nr].pressure = src->pressure; ++ } ++ ++ var->nr++; ++ ++ if (var->nr == NR_LAST) { ++ if (variance_calculate(var, dest + i, src)) ++ i++; ++ var->nr = 0; ++ } + } + } +- +- ret = nr; + } ++ /* if we've collected at least one event, send it up */ ++ if (i != 0) ret = i; + return ret; + } + +@@ -196,10 +208,6 @@ + var->ylimit = v; + break; + +- case 3: +- var->pthreshold = v; +- break; +- + default: + return -1; + } +@@ -210,7 +218,6 @@ + { + { "xlimit", (void *)1, variance_limit }, + { "ylimit", (void *)2, variance_limit }, +- { "pthreshold", (void *)3, variance_limit } + }; + + #define NR_VARS (sizeof(variance_vars) / sizeof(variance_vars[0])) +@@ -218,6 +225,7 @@ + struct tslib_module_info *mod_init(struct tsdev *dev, const char *params) + { + struct tslib_variance *var; ++ char *pthresvar; + + var = malloc(sizeof(struct tslib_variance)); + if (var == NULL) +@@ -225,10 +233,15 @@ + + var->module.ops = &variance_ops; + +- var->nr = -1; ++ var->nr = NR_INIT; + var->xlimit = 160; + var->ylimit = 160; + var->pthreshold = 100; ++ pthresvar = getenv("TSLIB_PTHRES"); ++ if (pthresvar != NULL) { ++ int p = strtol(pthresvar, (char **)NULL, 10); ++ if (p != -1) var->pthreshold = p; ++ } + + if (tslib_parse_vars(&var->module, variance_vars, NR_VARS, params)) { + free(var); +--- tslib/README~multievent ++++ tslib/README +@@ -36,6 +36,19 @@ + usages. They are by no means exhaustive, nor probably even good examples. + They are basically the programs I used to test this library. + ++Module Creation Notes ++===================== ++ ++For those creating tslib modules, it is important to note a couple things with ++regard to handling of the ability for a user to request more than one ts event ++at a time. The first thing to note is that the lower layers may send up less ++events than the user requested, but only if that was a result of a pen release. ++Next, your module should send up just as many events as the user requested in ++nr. If your module is one that consumes events, such as variance, then you ++loop on the read from the lower layers, and only send the events up when ++1) you have the number of events requested by the user, or 2) one of the events ++from the lower layers was a pen release. ++ + + Module Parameters + ================= +--- tslib/src/ts_read_raw.c~multievent ++++ tslib/src/ts_read_raw.c +@@ -14,10 +14,10 @@ + * + * Read raw pressure, x, y, and timestamp from a touchscreen device. + */ ++ + #include "config.h" + + #include <stdio.h> +- + #include <stdlib.h> + #ifdef HAVE_UNISTD_H + #include <unistd.h> +@@ -25,79 +25,27 @@ + #include <sys/time.h> + #include <sys/types.h> + +-#ifdef USE_INPUT_API +-#include <linux/input.h> +-#else +-struct ts_event { /* Used in UCB1x00 style touchscreens (the default) */ +- unsigned short pressure; +- unsigned short x; +- unsigned short y; +- unsigned short pad; +- struct timeval stamp; +-}; +-struct h3600_ts_event { /* Used in the Compaq IPAQ */ +- unsigned short pressure; +- unsigned short x; +- unsigned short y; +- unsigned short pad; +-}; +-struct mk712_ts_event { /* Used in the Hitachi Webpad */ +- unsigned int header; +- unsigned int x; +- unsigned int y; +- unsigned int reserved; +-}; +-struct arctic2_ts_event { /* Used in the IBM Arctic II */ +- signed short pressure; +- signed int x; +- signed int y; +- int millisecs; +- int flags; +-}; +-struct collie_ts_event { /* Used in the Sharp Zaurus SL-5000d and SL-5500 */ +- long y; +- long x; +- long pressure; +- long long millisecs; +-}; +-struct corgi_ts_event { /* Used in the Sharp Zaurus SL-C700 */ +- short pressure; +- short x; +- short y; +- short millisecs; +-}; +-#endif /* USE_INPUT_API */ +- + #include "tslib-private.h" + +-int ts_read_raw(struct tsdev *ts, struct ts_sample *samp, int nr) +-{ + #ifdef USE_INPUT_API ++#include <linux/input.h> ++ ++static inline int get_input_event(struct tsdev *ts, struct ts_sample *samp) { + struct input_event ev; +-#else +- struct ts_event *evt; +- struct h3600_ts_event *hevt; +- struct mk712_ts_event *mevt; +- struct arctic2_ts_event *aevt; +- struct collie_ts_event *collie_evt; +- struct corgi_ts_event *corgi_evt; +-#endif /* USE_INPUT_API */ +- int ret; +- int total = 0; ++ struct timeval tv = {0, 0}; ++ fd_set fdset; ++ int ret = 0; + +- char *tseventtype=NULL; +- char *defaulttseventtype="UCB1x00"; ++ /* event vars */ ++ static int curr_x = 0, curr_y = 0; ++ int curr_p = 0, next_x = 0, next_y = 0; + +-#ifdef USE_INPUT_API +- /* warning: maybe those static vars should be part of the tsdev struct? */ +- static int curr_x = 0, curr_y = 0, curr_p = 0; +- static int got_curr_x = 0, got_curr_y = 0; +- int got_curr_p = 0; +- int next_x, next_y; ++ /* state variables */ ++ int got_curr_x = 0, got_curr_y = 0, got_curr_p = 0; + int got_next_x = 0, got_next_y = 0; + int got_tstamp = 0; + +- while (total < nr) { ++ while (1) { + ret = read(ts->fd, &ev, sizeof(struct input_event)); + if (ret < sizeof(struct input_event)) break; + +@@ -146,177 +94,231 @@ + samp->tv = ev.time; + } + +- if ( (!got_curr_x || !got_curr_y) && !got_curr_p && +- !got_next_x && !got_next_y ) { +- /* +- * The current event is not complete yet. +- * Give the kernel a chance to feed us more. +- */ +- struct timeval tv = {0, 0}; +- fd_set fdset; +- FD_ZERO(&fdset); +- FD_SET(ts->fd, &fdset); +- ret = select(ts->fd+1, &fdset, NULL, NULL, &tv); +- if (ret == 1) continue; +- if (ret == -1) break; ++ if (got_curr_x && got_curr_y && got_curr_p) { ++ /* we have a complete event */ ++ samp->x = curr_x; ++ samp->y = curr_y; ++ samp->pressure = curr_p; ++ ret = 0; /* indicate success */ ++ if (got_next_x) curr_x = next_x; ++ if (got_next_y) curr_y = next_y; ++ break; + } + +- /* We consider having a complete ts event */ +- samp->x = curr_x; +- samp->y = curr_y; +- samp->pressure = curr_p; +-#ifdef DEBUG +- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure); +-#endif /*DEBUG*/ +- samp++; +- total++; +- +- /* get ready for next event */ +- if (got_next_x) curr_x = next_x; else got_curr_x = 0; +- if (got_next_y) curr_y = next_y; else got_curr_y = 0; +- got_next_x = got_next_y = got_tstamp = 0; ++ /* ++ * The current event is not complete yet. ++ * Give the kernel a chance to feed us more. ++ */ ++ FD_ZERO(&fdset); ++ FD_SET(ts->fd, &fdset); ++ ret = select(ts->fd+1, &fdset, NULL, NULL, &tv); ++ if (ret == 1) continue; ++ if (ret == -1) break; + } + +- if (ret) ret = -1; +- if (total) ret = total; ++// fprintf(stdout, "%s: returning %d\n", __FUNCTION__, ret); ++ if (ret != 0) ret = -1; ++ return ret; ++} ++ + #else ++ ++struct ucb1x00_ts_event { /* Used in UCB1x00 style touchscreens (the default) */ ++ unsigned short pressure; ++ unsigned short x; ++ unsigned short y; ++ unsigned short pad; ++ struct timeval stamp; ++}; ++struct h3600_ts_event { /* Used in the Compaq IPAQ */ ++ unsigned short pressure; ++ unsigned short x; ++ unsigned short y; ++ unsigned short pad; ++}; ++struct mk712_ts_event { /* Used in the Hitachi Webpad */ ++ unsigned int header; ++ unsigned int x; ++ unsigned int y; ++ unsigned int reserved; ++}; ++struct arctic2_ts_event { /* Used in the IBM Arctic II */ ++ signed short pressure; ++ signed int x; ++ signed int y; ++ int millisecs; ++ int flags; ++}; ++struct collie_ts_event { /* Used in the Sharp Zaurus SL-5000d and SL-5500 */ ++ long y; ++ long x; ++ long pressure; ++ long long millisecs; ++}; ++struct corgi_ts_event { /* Used in the Sharp Zaurus SL-C700 */ ++ short pressure; ++ short x; ++ short y; ++ short millisecs; ++}; ++ ++static inline int get_ucb1x00_event(struct tsdev *ts, struct ts_sample *samp) { ++ struct ucb1x00_ts_event evt; ++ int ret = read(ts->fd, &evt, sizeof(struct ucb1x00_ts_event)); ++ if (ret > 0) { ++ samp->x = evt.x; ++ samp->y = evt.y; ++ samp->pressure = evt.pressure; ++ samp->tv.tv_usec = evt.stamp.tv_usec; ++ samp->tv.tv_sec = evt.stamp.tv_sec; ++ ret = 0; /* success */ ++ } ++ return ret; ++} ++ ++static inline int get_h3600_event(struct tsdev *ts, struct ts_sample *samp) { ++ struct h3600_ts_event evt; ++ int ret = read(ts->fd, &evt, sizeof(struct h3600_ts_event)); ++ if (ret > 0) { ++ samp->x = evt.x; ++ samp->y = evt.y; ++ samp->pressure = evt.pressure; ++ gettimeofday(&samp->tv, NULL); ++ ret = 0; /* success */ ++ } ++ return ret; ++} ++ ++static inline int get_mk712_event(struct tsdev *ts, struct ts_sample *samp) { ++ struct mk712_ts_event evt; ++ int ret = read(ts->fd, &evt, sizeof(struct mk712_ts_event)); ++ if (ret > 0) { ++ samp->x = (short)evt.x; ++ samp->y = (short)evt.y; ++ if(evt.header==0) ++ samp->pressure=1; ++ else ++ samp->pressure=0; ++ gettimeofday(&samp->tv, NULL); ++ ret = 0; /* success */ ++ } ++ return ret; ++} ++ ++static inline int get_arctic2_event(struct tsdev *ts, struct ts_sample *samp) { ++ struct arctic2_ts_event evt; ++ int ret = read(ts->fd, &evt, sizeof(struct arctic2_ts_event)); ++ if (ret > 0) { ++ samp->x = (short)evt.x; ++ samp->y = (short)evt.y; ++ samp->pressure = evt.pressure; ++ gettimeofday(&samp->tv, NULL); ++ ret = 0; /* success */ ++ } ++ return ret; ++} ++ ++static inline int get_collie_event(struct tsdev *ts, struct ts_sample *samp) { ++ struct collie_ts_event evt; ++ int ret = read(ts->fd, &evt, sizeof(struct collie_ts_event)); ++ if (ret > 0) { ++ samp->x = evt.x; ++ samp->y = evt.y; ++ samp->pressure = evt.pressure; ++ samp->tv.tv_usec = evt.millisecs % 1000; ++ samp->tv.tv_sec = evt.millisecs / 1000; ++ ret = 0; /* success */ ++ } ++ return ret; ++} ++ ++static inline int get_corgi_event(struct tsdev *ts, struct ts_sample *samp) { ++ struct corgi_ts_event evt; ++ int ret = read(ts->fd, &evt, sizeof(struct corgi_ts_event)); ++ if (ret > 0) { ++ samp->x = evt.x; ++ samp->y = evt.y; ++ samp->pressure = evt.pressure; ++ samp->tv.tv_usec = evt.millisecs % 1000; ++ samp->tv.tv_sec = evt.millisecs / 1000; ++ ret = 0; /* success */ ++ } ++ return ret; ++} ++ ++#endif ++ ++int ts_read_raw(struct tsdev *ts, struct ts_sample *samp, int nr) ++{ ++ int ret; ++ int total = 0; ++ int pen_down = 1; ++ static short x_save = 0, y_save = 0; ++ static int pthres = -1; ++ ++#ifndef USE_INPUT_API ++ char *tseventtype=NULL; ++ char *defaulttseventtype="UCB1x00"; + tseventtype = getenv("TSLIB_TSEVENTTYPE"); + if(tseventtype==NULL) tseventtype=defaulttseventtype; ++#endif + +- if( strcmp(tseventtype,"H3600") == 0) { /* iPAQ style h3600 touchscreen events */ +- hevt = alloca(sizeof(*hevt) * nr); +- ret = read(ts->fd, hevt, sizeof(*hevt) * nr); +- if(ret > 0) { +- int nr = ret / sizeof(*hevt); +- while(ret >= sizeof(*hevt)) { +- samp->x = hevt->x; +- samp->y = hevt->y; +- samp->pressure = hevt->pressure; +-#ifdef DEBUG +- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure); +-#endif /*DEBUG*/ +- gettimeofday(&samp->tv,NULL); +- samp++; +- hevt++; +- ret -= sizeof(*hevt); +- } +- } else { +- return -1; +- } +- } else if( strcmp(tseventtype,"MK712") == 0) { /* Hitachi Webpad events */ +- mevt = alloca(sizeof(*mevt) * nr); +- ret = read(ts->fd, mevt, sizeof(*mevt) * nr); +- if(ret > 0) { +- int nr = ret / sizeof(*mevt); +- while(ret >= sizeof(*mevt)) { +- samp->x = (short)mevt->x; +- samp->y = (short)mevt->y; +- if(mevt->header==0) +- samp->pressure=1; +- else +- samp->pressure=0; +-#ifdef DEBUG +- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure); +-#endif /*DEBUG*/ +- gettimeofday(&samp->tv,NULL); +- samp++; +- mevt++; +- ret -= sizeof(*mevt); +- } +- } else { +- return -1; +- } +- +- } else if( strcmp(tseventtype,"ARCTIC2") == 0) { /* IBM Arctic II events */ +- aevt = alloca(sizeof(*aevt) * nr); +- ret = read(ts->fd, aevt, sizeof(*aevt) * nr); +- if(ret > 0) { +- int nr = ret / sizeof(*aevt); +- while(ret >= sizeof(*aevt)) { +- samp->x = (short)aevt->x; +- samp->y = (short)aevt->y; +- samp->pressure = aevt->pressure; +-#ifdef DEBUG +- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure); +-#endif /*DEBUG*/ +- gettimeofday(&samp->tv,NULL); +- samp++; +- aevt++; +- ret -= sizeof(*aevt); +- } ++ while ((total < nr) && pen_down) { ++// fprintf(stdout, "total: %d, nr: %d\n", total, nr); ++#ifdef USE_INPUT_API ++ ret = get_input_event(ts, samp); ++#else ++ if (strcmp(tseventtype, "H3600") == 0) { ++ /* iPAQ style h3600 touchscreen events */ ++ ret = get_h3600_event(ts, samp); ++ } else if (strcmp(tseventtype, "MK712") == 0) { ++ /* Hitachi Webpad events */ ++ ret = get_mk712_event(ts, samp); ++ } else if (strcmp(tseventtype, "ARCTIC2") == 0) { ++ /* IBM Arctic II events */ ++ ret = get_arctic2_event(ts, samp); ++ } else if (strcmp(tseventtype, "COLLIE") == 0) { ++ /* Sharp Zaurus SL-5000d/5500 events */ ++ ret = get_collie_event(ts, samp); ++ } else if (strcmp(tseventtype,"CORGI") == 0) { ++ /* Sharp Zaurus SL-C700 events */ ++ ret = get_corgi_event(ts, samp); + } else { +- return -1; ++ /* Use normal UCB1x00 type events */ ++ ret = get_ucb1x00_event(ts, samp); + } ++#endif ++ if (ret != 0) break; + +- } else if( strcmp(tseventtype,"COLLIE") == 0) { /* Sharp Zaurus SL-5000d/5500 events */ +- collie_evt = alloca(sizeof(*collie_evt) * nr); +- ret = read(ts->fd, collie_evt, sizeof(*collie_evt) * nr); +- if(ret > 0) { +- int nr = ret / sizeof(*collie_evt); +- while(ret >= sizeof(*collie_evt)) { +- samp->x = collie_evt->x; +- samp->y = collie_evt->y; +- samp->pressure = collie_evt->pressure; +-#ifdef DEBUG +- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure); +-#endif /*DEBUG*/ +- samp->tv.tv_usec = collie_evt->millisecs % 1000; +- samp->tv.tv_sec = collie_evt->millisecs / 1000; +- samp++; +- collie_evt++; +- ret -= sizeof(*collie_evt); ++ if (pthres == -1) { ++ char *pthresvar = getenv("TSLIB_PTHRES"); ++ pthres = 100; ++ if (pthresvar != NULL) { ++ int p = strtol(pthresvar, (char **)NULL, 10); ++ if (p != -1) pthres = p; + } +- } else { +- return -1; + } + +- } else if( strcmp(tseventtype,"CORGI") == 0) { /* Sharp Zaurus SL-C700 events */ +- corgi_evt = alloca(sizeof(*corgi_evt) * nr); +- ret = read(ts->fd, corgi_evt, sizeof(*corgi_evt) * nr); +- if(ret > 0) { +- int nr = ret / sizeof(*corgi_evt); +- while(ret >= sizeof(*corgi_evt)) { +- samp->x = corgi_evt->x; +- samp->y = corgi_evt->y; +- samp->pressure = corgi_evt->pressure; +-#ifdef DEBUG +- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure); +-#endif /*DEBUG*/ +- samp->tv.tv_usec = corgi_evt->millisecs % 1000; +- samp->tv.tv_sec = corgi_evt->millisecs / 1000; +- samp++; +- corgi_evt++; +- ret -= sizeof(*corgi_evt); +- } ++ if (samp->pressure < pthres) { ++ /* pen released, send events up */ ++ pen_down = 0; ++ /* set x and y to previous values */ ++ samp->x = x_save; ++ samp->y = y_save; + } else { +- return -1; ++ pen_down = 1; ++ x_save = samp->x; ++ y_save = samp->y; + } +- +- } else { /* Use normal UCB1x00 type events */ +- evt = alloca(sizeof(*evt) * nr); +- ret = read(ts->fd, evt, sizeof(*evt) * nr); +- if(ret > 0) { +- int nr = ret / sizeof(*evt); +- while(ret >= sizeof(*evt)) { +- samp->x = evt->x; +- samp->y = evt->y; +- samp->pressure = evt->pressure; + #ifdef DEBUG +- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure); ++ fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x, samp->y, samp->pressure); + #endif /*DEBUG*/ +- samp->tv.tv_usec = evt->stamp.tv_usec; +- samp->tv.tv_sec = evt->stamp.tv_sec; +- samp++; +- evt++; +- ret -= sizeof(*evt); +- } +- } else { +- return -1; +- } ++ samp++; ++ total++; + } +- ret = nr; +-#endif /* USE_INPUT_API */ + ++ if (ret != 0) ret = -1; ++ if (total) ret = total; + return ret; + } + diff --git a/meta/recipes-graphics/tslib/tslib/set-open-mode-for-ts_calibrate_c.patch b/meta/recipes-graphics/tslib/tslib/set-open-mode-for-ts_calibrate_c.patch new file mode 100644 index 000000000..738ef9aad --- /dev/null +++ b/meta/recipes-graphics/tslib/tslib/set-open-mode-for-ts_calibrate_c.patch @@ -0,0 +1,30 @@ +Get patch from: http://permalink.gmane.org/gmane.comp.lib.uclibc.buildroot/27614 + +Upstream-Status: Inappropriate [configuration] + +diff --git a/tests/ts_calibrate.c b/tests/ts_calibrate.c +index 004517b..c0a9771 100644 +--- a/tests/ts_calibrate.c ++++ b/tests/ts_calibrate.c +@@ -21,6 +21,7 @@ + #include <sys/ioctl.h> + #include <sys/mman.h> + #include <sys/time.h> ++#include <sys/stat.h> + #include <linux/kd.h> + #include <linux/vt.h> + #include <linux/fb.h> +@@ -224,9 +225,11 @@ int main() + for (i = 0; i < 7; i++) printf("%d ", cal.a [i]); + printf("\n"); + if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) { +- cal_fd = open (calfile, O_CREAT | O_RDWR); ++ cal_fd = open (calfile, O_CREAT | O_RDWR, ++ S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); + } else { +- cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR); ++ cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR, ++ S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); + } + sprintf (cal_buffer,"%d %d %d %d %d %d %d", + cal.a[1], cal.a[2], cal.a[0], diff --git a/meta/recipes-graphics/tslib/tslib/ts.conf b/meta/recipes-graphics/tslib/tslib/ts.conf new file mode 100644 index 000000000..1b0da937e --- /dev/null +++ b/meta/recipes-graphics/tslib/tslib/ts.conf @@ -0,0 +1,25 @@ +# Uncomment if you wish to use the linux input layer event interface +module_raw input + +# Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d +# module_raw collie + +# Uncomment if you're using a Sharp Zaurus SL-C700/C750/C760/C860 +# module_raw corgi + +# Uncomment if you're using a device with a UCB1200/1300/1400 TS interface +# module_raw ucb1x00 + +# Uncomment if you're using an HP iPaq h3600 or similar +# module_raw h3600 + +# Uncomment if you're using a Hitachi Webpad +# module_raw mk712 + +# Uncomment if you're using an IBM Arctic II +# module_raw arctic2 + +module pthres pmin=1 +module variance delta=30 +module dejitter delta=100 +module linear diff --git a/meta/recipes-graphics/tslib/tslib/tslib.sh b/meta/recipes-graphics/tslib/tslib/tslib.sh new file mode 100644 index 000000000..7068e8d92 --- /dev/null +++ b/meta/recipes-graphics/tslib/tslib/tslib.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ -e /dev/input/touchscreen0 ]; then + TSLIB_TSDEVICE=/dev/input/touchscreen0 + + export TSLIB_TSDEVICE +fi + diff --git a/meta/recipes-graphics/tslib/tslib_1.0.bb b/meta/recipes-graphics/tslib/tslib_1.0.bb new file mode 100644 index 000000000..54ff3d4a9 --- /dev/null +++ b/meta/recipes-graphics/tslib/tslib_1.0.bb @@ -0,0 +1,61 @@ +SUMMARY = "An abstraction layer for touchscreen panel events." +DESCRIPTION = "Tslib is an abstraction layer for touchscreen panel \ +events, as well as a filter stack for the manipulation of those events. \ +Tslib is generally used on embedded devices to provide a common user \ +space interface to touchscreen functionality." +HOMEPAGE = "http://tslib.berlios.de/" + +AUTHOR = "Russell King w/ plugins by Chris Larson et. al." +SECTION = "base" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=f30a9716ef3762e3467a2f62bf790f0a" + +PR = "r20" + +SRC_URI = "http://download.berlios.de/tslib/tslib-${PV}.tar.bz2 \ + file://fix_version.patch \ + file://0001-Link-plugins-against-libts.patch \ + file://ts.conf \ + file://tslib.sh \ + file://set-open-mode-for-ts_calibrate_c.patch" + +SRC_URI[md5sum] = "92b2eb55b1e4ef7e2c0347069389390e" +SRC_URI[sha256sum] = "9c40d914e4f6fe00bdd77137d671c7ce4f211686228f2eb8b2d3c2360bc249c8" +SRC_URI_append_qemumips += " file://32bitBE-support.patch" +SRC_URI_append_qemuppc += " file://32bitBE-support.patch" + + +inherit autotools pkgconfig + +EXTRA_OECONF = "--enable-shared --disable-h3600 --enable-input --disable-corgi --disable-collie --disable-mk712 --disable-arctic2 --disable-ucb1x00" + +do_install_prepend() { + install -m 0644 ${WORKDIR}/ts.conf ${S}/etc/ts.conf +} + +do_install_append() { + install -d ${D}${sysconfdir}/profile.d/ + install -m 0755 ${WORKDIR}/tslib.sh ${D}${sysconfdir}/profile.d/ +} + +SRC_URI_OVERRIDES_PACKAGE_ARCH = "0" + +# People should consider using udev's /dev/input/touchscreen0 symlink +# instead of detect-stylus +#RDEPENDS_tslib-conf_weird-machine = "detect-stylus" +RPROVIDES_tslib-conf = "libts-0.0-conf" + +PACKAGES =+ "tslib-conf tslib-tests tslib-calibrate" +DEBIAN_NOAUTONAME_tslib-conf = "1" +DEBIAN_NOAUTONAME_tslib-tests = "1" +DEBIAN_NOAUTONAME_tslib-calibrate = "1" + +RDEPENDS_${PN} = "tslib-conf" +RRECOMMENDS_${PN} = "pointercal" + +FILES_${PN}-dbg += "${libdir}/ts/.debug*" +FILES_${PN}-dev += "${libdir}/ts/*.la" +FILES_tslib-conf = "${sysconfdir}/ts.conf ${sysconfdir}/profile.d/tslib.sh ${datadir}/tslib" +FILES_${PN} = "${libdir}/*.so.* ${libdir}/ts/*.so*" +FILES_tslib-calibrate += "${bindir}/ts_calibrate" +FILES_tslib-tests = "${bindir}/ts_harvest ${bindir}/ts_print ${bindir}/ts_print_raw ${bindir}/ts_test" diff --git a/meta/recipes-graphics/ttf-fonts/liberation-fonts/30-liberation-aliases.conf b/meta/recipes-graphics/ttf-fonts/liberation-fonts/30-liberation-aliases.conf new file mode 100644 index 000000000..06094503c --- /dev/null +++ b/meta/recipes-graphics/ttf-fonts/liberation-fonts/30-liberation-aliases.conf @@ -0,0 +1,17 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- conf.d/sub-pixel.conf --> +<fontconfig> + <alias> + <family>sans-serif</family> + <accept><family>Liberation Sans</family></accept> + </alias> + <alias> + <family>serif</family> + <accept><family>Liberation Serif</family></accept> + </alias> + <alias> + <family>monospace</family> + <accept><family>Liberation Mono</family></accept> + </alias> +</fontconfig> diff --git a/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb b/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb new file mode 100644 index 000000000..b0a8242d8 --- /dev/null +++ b/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb @@ -0,0 +1,45 @@ +SUMMARY = "Liberation(tm) Fonts" +DESCRIPTION = "The Liberation(tm) Fonts is a font family originally \ +created by Ascender(c) which aims at metric compatibility with \ +Arial, Times New Roman, Courier New." +HOMEPAGE = "https://fedorahosted.org/liberation-fonts/" +BUGTRACKER = "https://bugzilla.redhat.com/" + +SECTION = "x11/fonts" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +RDEPENDS_${PN} = "fontconfig-utils" +PR = "r2" +PE = "1" + +inherit allarch + +SRC_URI = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-${PV}.tar.gz \ + file://30-liberation-aliases.conf" + +SRC_URI[md5sum] = "4846797ef0fc70b0cbaede2514677c58" +SRC_URI[sha256sum] = "0e0d0957c85b758561a3d4aef4ebcd2c39959e5328429d96ae106249d83531a1" + +do_install () { + install -d ${D}${datadir}/fonts/ttf/ + for i in *.ttf; do + install -m 0644 $i ${D}${prefix}/share/fonts/ttf/${i} + done + + install -d ${D}${sysconfdir}/fonts/conf.d/ + install -m 0644 ${WORKDIR}/30-liberation-aliases.conf ${D}${sysconfdir}/fonts/conf.d/ + + install -d ${D}${prefix}/share/doc/${PN}/ + install -m 0644 License.txt ${D}${datadir}/doc/${PN}/ +} + +pkg_postinst_${PN} () { +#!/bin/sh +if [ "x$D" != "x" ] ; then + exit 1 +fi +fc-cache +} + +PACKAGES = "${PN}" +FILES_${PN} += "${sysconfdir} ${datadir}" diff --git a/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.06.bb b/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.06.bb new file mode 100644 index 000000000..0ac4debcd --- /dev/null +++ b/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.06.bb @@ -0,0 +1,45 @@ +SUMMARY = "Liberation(tm) Fonts" +DESCRIPTION = "The Liberation(tm) Fonts is a font family originally \ +created by Ascender(c) which aims at metric compatibility with \ +Arial, Times New Roman, Courier New." +HOMEPAGE = "https://fedorahosted.org/liberation-fonts/" +BUGTRACKER = "https://bugzilla.redhat.com/" + +SECTION = "x11/fonts" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +RDEPENDS_${PN} = "fontconfig-utils" +PE = "1" +PR = "r2" + +FONTREV = "0.20100721" +SRC_URI = "https://fedorahosted.org/releases/l/i/${BPN}/${BPN}-${PV}.${FONTREV}.tar.gz \ + file://30-liberation-aliases.conf" + +S = "${WORKDIR}/${BPN}-${PV}.${FONTREV}" + +inherit allarch + +do_install () { + install -d ${D}${datadir}/fonts/ttf/ + for i in *.ttf; do + install -m 0644 $i ${D}${prefix}/share/fonts/ttf/${i} + done + + install -d ${D}${sysconfdir}/fonts/conf.d/ + install -m 0644 ${WORKDIR}/30-liberation-aliases.conf ${D}${sysconfdir}/fonts/conf.d/ + + install -d ${D}${prefix}/share/doc/${PN}/ + install -m 0644 License.txt ${D}${datadir}/doc/${PN}/ +} + +pkg_postinst_${PN} () { +#!/bin/sh +if [ "x$D" != "x" ] ; then + exit 1 +fi +fc-cache +} + +PACKAGES = "${PN}" +FILES_${PN} += "${sysconfdir} ${datadir}" diff --git a/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb b/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb new file mode 100644 index 000000000..6214c1627 --- /dev/null +++ b/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb @@ -0,0 +1,43 @@ +SUMMARY = "The Bitstream Vera fonts - TTF Edition" +DESCRIPTION = "The Bitstream Vera fonts include four monospace and sans \ +faces (normal, oblique, bold, bold oblique) and two serif faces (normal \ +and bold). In addition Fontconfig/Xft2 can artificially oblique the \ +serif faces for you: this loses hinting and distorts the faces slightly, \ +but is visibly different than normal and bold, and reasonably pleasing." +SECTION = "x11/fonts" +LICENSE = "BitstreamVera" +LIC_FILES_CHKSUM = "file://COPYRIGHT.TXT;md5=27d7484b1e18d0ee4ce538644a3f04be" +PR = "r6" +RDEPENDS_${PN} = "fontconfig-utils" + +inherit allarch + +SRC_URI = "${GNOME_MIRROR}/ttf-bitstream-vera/1.10/ttf-bitstream-vera-${PV}.tar.bz2" + +do_install () { + install -d ${D}${prefix}/share/fonts/ttf/ + for i in *.ttf; do + install -m 644 $i ${D}${prefix}/share/fonts/ttf/${i} + done + + # fontconfig ships this too. not sure what to do about it. + #install -d ${D}${sysconfdir}/fonts + #install -m 644 local.conf ${D}${sysconfdir}/fonts/local.conf + + + install -d ${D}${prefix}/share/doc/${PN}/ + for i in *.TXT; do + install -m 644 $i ${D}${prefix}/share/doc/${PN}/$i + done +} + +pkg_postinst_${PN} () { +#!/bin/sh +fc-cache +} + + +FILES_${PN} = "/etc ${datadir}/fonts" + +SRC_URI[md5sum] = "bb22bd5b4675f5dbe17c6963d8c00ed6" +SRC_URI[sha256sum] = "db5b27df7bbb318036ebdb75acd3e98f1bd6eb6608fb70a67d478cd243d178dc" diff --git a/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xdefaults b/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xdefaults new file mode 100644 index 000000000..f5b69dd51 --- /dev/null +++ b/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xdefaults @@ -0,0 +1,3 @@ +Rxvt*scrollBar_right: true +Rxvt*font: xft:Mono:pixelsize=9 + diff --git a/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xserver b/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xserver new file mode 100644 index 000000000..cea733e9f --- /dev/null +++ b/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xserver @@ -0,0 +1,53 @@ +#!/bin/sh +# + +# note xinit needs full server path +XSERVER=/usr/bin/Xipaq +if [ -f /usr/bin/Xfbdev ]; then + XSERVER=/usr/bin/Xfbdev +fi +if [ -f /usr/bin/Xepson ]; then + XSERVER=/usr/bin/Xepson +fi +if [ -f /usr/bin/Xorg ]; then + XSERVER=/usr/bin/Xorg +fi +if [ -f /usr/bin/Xomap ]; then + XSERVER=/usr/bin/Xomap +fi + +. /etc/profile + +ARGS=" -br -pn" + +if [ "$XSERVER" != "/usr/bin/Xorg" ]; then + + . /etc/formfactor/config + + ARGS="$ARGS -keybd keyboard" + + # use usb mouse if present + if [ -z "$TSLIB_TSDEVICE" ] && [ -e /dev/input/mice ]; then + ARGS="$ARGS -mouse mouse,/dev/input/mice" + fi + + # kdrive 1.4 onwards needs -mouse args + if [ -n "$TSLIB_TSDEVICE" ]; then + ARGS="$ARGS -mouse tslib" + fi + + ARGS="$ARGS -screen ${DISPLAY_WIDTH_PIXELS}x${DISPLAY_HEIGHT_PIXELS}@${DISPLAY_ORIENTATION}x${DISPLAY_BPP}" + + if [ ! -z "$DISPLAY_DPI" ]; then + ARGS="$ARGS -dpi $DISPLAY_DPI" + fi + + if [ ! -z "$DISPLAY_SUBPIXEL_ORDER" ]; then + ARGS="$ARGS -rgba $DISPLAY_SUBPIXEL_ORDER" + fi + +fi + +DISPLAY=':0' + +exec xinit /etc/X11/Xsession -- $XSERVER $DISPLAY $ARGS $* diff --git a/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession b/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession new file mode 100644 index 000000000..0b73127ae --- /dev/null +++ b/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession @@ -0,0 +1,38 @@ +#!/bin/sh + +if [ -x /usr/bin/dbus-launch ]; then + # As this is the X session script, always start a new DBus session. + eval `dbus-launch --sh-syntax --exit-with-session </dev/null` + echo "D-BUS per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS" +fi + +. /etc/profile + +if [ -f $HOME/.profile ]; then + . $HOME/.profile +fi + +SYSSESSIONDIR=/etc/X11/Xsession.d + +export CLUTTER_DISABLE_MIPMAPPED_TEXT=1 + +for SESSIONFILE in $SYSSESSIONDIR/*; do + set +e + case "$SESSIONFILE" in + *.sh) + . "$SESSIONFILE" + ;; + *.shbg) + "$SESSIONFILE" & + ;; + *~) + # Ignore backup files + ;; + *) + "$SESSIONFILE" + ;; + esac + set -e +done + +exit 0 diff --git a/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/12keymap.sh b/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/12keymap.sh new file mode 100644 index 000000000..a9d102c74 --- /dev/null +++ b/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/12keymap.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +# kdrive 1.4 does not have default keymap in server +#xmodmap - </etc/X11/default.xmodmap diff --git a/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/89xdgautostart.sh b/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/89xdgautostart.sh new file mode 100644 index 000000000..db7aa229d --- /dev/null +++ b/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/89xdgautostart.sh @@ -0,0 +1,7 @@ +XDGAUTOSTART=/etc/xdg/autostart +if [ -d $XDGAUTOSTART ]; then + for SCRIPT in $XDGAUTOSTART/*; do + CMD=`grep ^Exec= $SCRIPT | cut -d '=' -f 2` + $CMD & + done +fi
\ No newline at end of file diff --git a/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/90XWindowManager.sh b/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/90XWindowManager.sh new file mode 100644 index 000000000..b936dedf3 --- /dev/null +++ b/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/90XWindowManager.sh @@ -0,0 +1,7 @@ +if [ -x $HOME/.Xsession ]; then + exec $HOME/.Xsession +elif [ -x /usr/bin/x-session-manager ]; then + exec /usr/bin/x-session-manager +else + exec /usr/bin/x-window-manager +fi diff --git a/meta/recipes-graphics/x11-common/x11-common/etc/X11/default.xmodmap b/meta/recipes-graphics/x11-common/x11-common/etc/X11/default.xmodmap new file mode 100644 index 000000000..05a13fa3c --- /dev/null +++ b/meta/recipes-graphics/x11-common/x11-common/etc/X11/default.xmodmap @@ -0,0 +1,260 @@ +keycode 8 = +keycode 9 = Escape +keycode 10 = 1 exclam +keycode 11 = 2 at +keycode 12 = 3 numbersign +keycode 13 = 4 dollar +keycode 14 = 5 percent +keycode 15 = 6 asciicircum +keycode 16 = 7 ampersand braceleft +keycode 17 = 8 asterisk bracketleft +keycode 18 = 9 parenleft bracketright +keycode 19 = 0 parenright braceright +keycode 20 = minus underscore backslash +keycode 21 = equal plus +keycode 22 = BackSpace +keycode 23 = Tab +keycode 24 = q Q q +keycode 25 = w W w +keycode 26 = e E +keycode 27 = r R r +keycode 28 = t T t +keycode 29 = y Y y +keycode 30 = u U u +keycode 31 = i I i +keycode 32 = o O o +keycode 33 = p P p +keycode 34 = bracketleft braceleft +keycode 35 = bracketright braceright asciitilde +keycode 36 = Return +keycode 37 = Control_L +keycode 38 = a A +keycode 39 = s S s +keycode 40 = d D +keycode 41 = f F +keycode 42 = g G g +keycode 43 = h H h +keycode 44 = j J j +keycode 45 = k K k +keycode 46 = l L l +keycode 47 = semicolon colon +keycode 48 = apostrophe quotedbl +keycode 49 = grave asciitilde +keycode 50 = Shift_L +keycode 51 = backslash bar +keycode 52 = z Z z +keycode 53 = x X x +keycode 54 = c C +keycode 55 = v V v +keycode 56 = b B +keycode 57 = n N n +keycode 58 = m M m +keycode 59 = comma less +keycode 60 = period greater +keycode 61 = slash question +keycode 62 = Shift_R +keycode 63 = KP_Multiply +keycode 64 = Alt_L +keycode 65 = space +keycode 66 = Caps_Lock +keycode 67 = F1 F11 +keycode 68 = F2 F12 +keycode 69 = F3 F13 +keycode 70 = F4 F14 +keycode 71 = F5 F15 +keycode 72 = F6 F16 +keycode 73 = F7 F17 +keycode 74 = F8 F18 +keycode 75 = F9 F19 +keycode 76 = F10 F20 +keycode 77 = Num_Lock +keycode 78 = Scroll_Lock +keycode 79 = KP_7 +keycode 80 = KP_8 +keycode 81 = KP_9 +keycode 82 = KP_Subtract +keycode 83 = KP_4 +keycode 84 = KP_5 +keycode 85 = KP_6 +keycode 86 = KP_Add +keycode 87 = KP_1 +keycode 88 = KP_2 +keycode 89 = KP_3 +keycode 90 = KP_0 +keycode 91 = KP_Decimal +keycode 92 = +keycode 93 = +keycode 94 = less greater bar +keycode 95 = F11 +keycode 96 = F12 +keycode 97 = +keycode 98 = +keycode 99 = +keycode 100 = +keycode 101 = +keycode 102 = +keycode 103 = +keycode 104 = KP_Enter +keycode 105 = Control_R +keycode 106 = KP_Divide +keycode 107 = +keycode 108 = Mode_switch +keycode 109 = Break +keycode 110 = Home +keycode 111 = Up +keycode 112 = Prior +keycode 113 = Left +keycode 114 = Right +keycode 115 = End +keycode 116 = Down +keycode 117 = Next +keycode 118 = Insert +keycode 119 = Delete +keycode 120 = Menu +keycode 121 = F13 +keycode 122 = F14 +keycode 123 = Help +keycode 124 = Execute +keycode 125 = F17 +keycode 126 = KP_Subtract +keycode 127 = Pause +keycode 128 = +keycode 129 = +keycode 130 = +keycode 131 = +keycode 132 = +keycode 133 = +keycode 134 = +keycode 135 = +keycode 136 = +keycode 137 = +keycode 138 = +keycode 139 = +keycode 140 = +keycode 141 = +keycode 142 = +keycode 143 = +keycode 144 = +keycode 145 = +keycode 146 = +keycode 147 = +keycode 148 = +keycode 149 = +keycode 150 = +keycode 151 = +keycode 152 = +keycode 153 = +keycode 154 = +keycode 155 = +keycode 156 = +keycode 157 = +keycode 158 = +keycode 159 = +keycode 160 = +keycode 161 = +keycode 162 = +keycode 163 = +keycode 164 = +keycode 165 = +keycode 166 = +keycode 167 = +keycode 168 = +keycode 169 = +keycode 170 = +keycode 171 = +keycode 172 = +keycode 173 = +keycode 174 = +keycode 175 = +keycode 176 = +keycode 177 = +keycode 178 = +keycode 179 = +keycode 180 = +keycode 181 = +keycode 182 = +keycode 183 = +keycode 184 = +keycode 185 = +keycode 186 = +keycode 187 = +keycode 188 = +keycode 189 = +keycode 190 = +keycode 191 = +keycode 192 = +keycode 193 = +keycode 194 = +keycode 195 = +keycode 196 = +keycode 197 = +keycode 198 = +keycode 199 = +keycode 200 = +keycode 201 = +keycode 202 = +keycode 203 = +keycode 204 = +keycode 205 = +keycode 206 = +keycode 207 = +keycode 208 = +keycode 209 = +keycode 210 = +keycode 211 = +keycode 212 = +keycode 213 = +keycode 214 = +keycode 215 = +keycode 216 = +keycode 217 = +keycode 218 = +keycode 219 = +keycode 220 = +keycode 221 = +keycode 222 = +keycode 223 = +keycode 224 = +keycode 225 = +keycode 226 = +keycode 227 = +keycode 228 = +keycode 229 = +keycode 230 = +keycode 231 = +keycode 232 = +keycode 233 = +keycode 234 = +keycode 235 = +keycode 236 = +keycode 237 = +keycode 238 = +keycode 239 = +keycode 240 = +keycode 241 = +keycode 242 = +keycode 243 = +keycode 244 = +keycode 245 = +keycode 246 = +keycode 247 = +keycode 248 = +keycode 249 = +keycode 250 = +keycode 251 = +keycode 252 = +keycode 253 = +keycode 254 = + +add shift = Shift_L +add shift = Shift_R +add shift = Menu +add lock = Caps_Lock +add control = Control_L +add control = Control_R +add mod1 = Alt_L +add mod2 = Num_Lock +!mod3 +add mod4 = Mode_switch +!mod5 + diff --git a/meta/recipes-graphics/x11-common/x11-common/gplv2-license.patch b/meta/recipes-graphics/x11-common/x11-common/gplv2-license.patch new file mode 100644 index 000000000..eff975e34 --- /dev/null +++ b/meta/recipes-graphics/x11-common/x11-common/gplv2-license.patch @@ -0,0 +1,355 @@ +COPYING: add GPLv2 license file + +this is a local file recipe and the license file is missing.In order +to pass the license checksum checking, the license file is needed. So +this patch add the GPLv2 license file. + +Upstream-Status: Inappropriate [licensing] + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +diff --git a/COPYING b/COPYING +new file mode 100644 +index 0000000..d511905 +--- /dev/null ++++ b/COPYING +@@ -0,0 +1,339 @@ ++ GNU GENERAL PUBLIC LICENSE ++ Version 2, June 1991 ++ ++ Copyright (C) 1989, 1991 Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ Everyone is permitted to copy and distribute verbatim copies ++ of this license document, but changing it is not allowed. ++ ++ Preamble ++ ++ The licenses for most software are designed to take away your ++freedom to share and change it. By contrast, the GNU General Public ++License is intended to guarantee your freedom to share and change free ++software--to make sure the software is free for all its users. This ++General Public License applies to most of the Free Software ++Foundation's software and to any other program whose authors commit to ++using it. (Some other Free Software Foundation software is covered by ++the GNU Lesser General Public License instead.) You can apply it to ++your programs, too. ++ ++ When we speak of free software, we are referring to freedom, not ++price. Our General Public Licenses are designed to make sure that you ++have the freedom to distribute copies of free software (and charge for ++this service if you wish), that you receive source code or can get it ++if you want it, that you can change the software or use pieces of it ++in new free programs; and that you know you can do these things. ++ ++ To protect your rights, we need to make restrictions that forbid ++anyone to deny you these rights or to ask you to surrender the rights. ++These restrictions translate to certain responsibilities for you if you ++distribute copies of the software, or if you modify it. ++ ++ For example, if you distribute copies of such a program, whether ++gratis or for a fee, you must give the recipients all the rights that ++you have. You must make sure that they, too, receive or can get the ++source code. And you must show them these terms so they know their ++rights. ++ ++ We protect your rights with two steps: (1) copyright the software, and ++(2) offer you this license which gives you legal permission to copy, ++distribute and/or modify the software. ++ ++ Also, for each author's protection and ours, we want to make certain ++that everyone understands that there is no warranty for this free ++software. If the software is modified by someone else and passed on, we ++want its recipients to know that what they have is not the original, so ++that any problems introduced by others will not reflect on the original ++authors' reputations. ++ ++ Finally, any free program is threatened constantly by software ++patents. We wish to avoid the danger that redistributors of a free ++program will individually obtain patent licenses, in effect making the ++program proprietary. To prevent this, we have made it clear that any ++patent must be licensed for everyone's free use or not licensed at all. ++ ++ The precise terms and conditions for copying, distribution and ++modification follow. ++ ++ GNU GENERAL PUBLIC LICENSE ++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License applies to any program or other work which contains ++a notice placed by the copyright holder saying it may be distributed ++under the terms of this General Public License. The "Program", below, ++refers to any such program or work, and a "work based on the Program" ++means either the Program or any derivative work under copyright law: ++that is to say, a work containing the Program or a portion of it, ++either verbatim or with modifications and/or translated into another ++language. (Hereinafter, translation is included without limitation in ++the term "modification".) Each licensee is addressed as "you". ++ ++Activities other than copying, distribution and modification are not ++covered by this License; they are outside its scope. The act of ++running the Program is not restricted, and the output from the Program ++is covered only if its contents constitute a work based on the ++Program (independent of having been made by running the Program). ++Whether that is true depends on what the Program does. ++ ++ 1. You may copy and distribute verbatim copies of the Program's ++source code as you receive it, in any medium, provided that you ++conspicuously and appropriately publish on each copy an appropriate ++copyright notice and disclaimer of warranty; keep intact all the ++notices that refer to this License and to the absence of any warranty; ++and give any other recipients of the Program a copy of this License ++along with the Program. ++ ++You may charge a fee for the physical act of transferring a copy, and ++you may at your option offer warranty protection in exchange for a fee. ++ ++ 2. You may modify your copy or copies of the Program or any portion ++of it, thus forming a work based on the Program, and copy and ++distribute such modifications or work under the terms of Section 1 ++above, provided that you also meet all of these conditions: ++ ++ a) You must cause the modified files to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ b) You must cause any work that you distribute or publish, that in ++ whole or in part contains or is derived from the Program or any ++ part thereof, to be licensed as a whole at no charge to all third ++ parties under the terms of this License. ++ ++ c) If the modified program normally reads commands interactively ++ when run, you must cause it, when started running for such ++ interactive use in the most ordinary way, to print or display an ++ announcement including an appropriate copyright notice and a ++ notice that there is no warranty (or else, saying that you provide ++ a warranty) and that users may redistribute the program under ++ these conditions, and telling the user how to view a copy of this ++ License. (Exception: if the Program itself is interactive but ++ does not normally print such an announcement, your work based on ++ the Program is not required to print an announcement.) ++ ++These requirements apply to the modified work as a whole. If ++identifiable sections of that work are not derived from the Program, ++and can be reasonably considered independent and separate works in ++themselves, then this License, and its terms, do not apply to those ++sections when you distribute them as separate works. But when you ++distribute the same sections as part of a whole which is a work based ++on the Program, the distribution of the whole must be on the terms of ++this License, whose permissions for other licensees extend to the ++entire whole, and thus to each and every part regardless of who wrote it. ++ ++Thus, it is not the intent of this section to claim rights or contest ++your rights to work written entirely by you; rather, the intent is to ++exercise the right to control the distribution of derivative or ++collective works based on the Program. ++ ++In addition, mere aggregation of another work not based on the Program ++with the Program (or with a work based on the Program) on a volume of ++a storage or distribution medium does not bring the other work under ++the scope of this License. ++ ++ 3. You may copy and distribute the Program (or a work based on it, ++under Section 2) in object code or executable form under the terms of ++Sections 1 and 2 above provided that you also do one of the following: ++ ++ a) Accompany it with the complete corresponding machine-readable ++ source code, which must be distributed under the terms of Sections ++ 1 and 2 above on a medium customarily used for software interchange; or, ++ ++ b) Accompany it with a written offer, valid for at least three ++ years, to give any third party, for a charge no more than your ++ cost of physically performing source distribution, a complete ++ machine-readable copy of the corresponding source code, to be ++ distributed under the terms of Sections 1 and 2 above on a medium ++ customarily used for software interchange; or, ++ ++ c) Accompany it with the information you received as to the offer ++ to distribute corresponding source code. (This alternative is ++ allowed only for noncommercial distribution and only if you ++ received the program in object code or executable form with such ++ an offer, in accord with Subsection b above.) ++ ++The source code for a work means the preferred form of the work for ++making modifications to it. For an executable work, complete source ++code means all the source code for all modules it contains, plus any ++associated interface definition files, plus the scripts used to ++control compilation and installation of the executable. However, as a ++special exception, the source code distributed need not include ++anything that is normally distributed (in either source or binary ++form) with the major components (compiler, kernel, and so on) of the ++operating system on which the executable runs, unless that component ++itself accompanies the executable. ++ ++If distribution of executable or object code is made by offering ++access to copy from a designated place, then offering equivalent ++access to copy the source code from the same place counts as ++distribution of the source code, even though third parties are not ++compelled to copy the source along with the object code. ++ ++ 4. You may not copy, modify, sublicense, or distribute the Program ++except as expressly provided under this License. Any attempt ++otherwise to copy, modify, sublicense or distribute the Program is ++void, and will automatically terminate your rights under this License. ++However, parties who have received copies, or rights, from you under ++this License will not have their licenses terminated so long as such ++parties remain in full compliance. ++ ++ 5. You are not required to accept this License, since you have not ++signed it. However, nothing else grants you permission to modify or ++distribute the Program or its derivative works. These actions are ++prohibited by law if you do not accept this License. Therefore, by ++modifying or distributing the Program (or any work based on the ++Program), you indicate your acceptance of this License to do so, and ++all its terms and conditions for copying, distributing or modifying ++the Program or works based on it. ++ ++ 6. Each time you redistribute the Program (or any work based on the ++Program), the recipient automatically receives a license from the ++original licensor to copy, distribute or modify the Program subject to ++these terms and conditions. You may not impose any further ++restrictions on the recipients' exercise of the rights granted herein. ++You are not responsible for enforcing compliance by third parties to ++this License. ++ ++ 7. If, as a consequence of a court judgment or allegation of patent ++infringement or for any other reason (not limited to patent issues), ++conditions are imposed on you (whether by court order, agreement or ++otherwise) that contradict the conditions of this License, they do not ++excuse you from the conditions of this License. If you cannot ++distribute so as to satisfy simultaneously your obligations under this ++License and any other pertinent obligations, then as a consequence you ++may not distribute the Program at all. For example, if a patent ++license would not permit royalty-free redistribution of the Program by ++all those who receive copies directly or indirectly through you, then ++the only way you could satisfy both it and this License would be to ++refrain entirely from distribution of the Program. ++ ++If any portion of this section is held invalid or unenforceable under ++any particular circumstance, the balance of the section is intended to ++apply and the section as a whole is intended to apply in other ++circumstances. ++ ++It is not the purpose of this section to induce you to infringe any ++patents or other property right claims or to contest validity of any ++such claims; this section has the sole purpose of protecting the ++integrity of the free software distribution system, which is ++implemented by public license practices. Many people have made ++generous contributions to the wide range of software distributed ++through that system in reliance on consistent application of that ++system; it is up to the author/donor to decide if he or she is willing ++to distribute software through any other system and a licensee cannot ++impose that choice. ++ ++This section is intended to make thoroughly clear what is believed to ++be a consequence of the rest of this License. ++ ++ 8. If the distribution and/or use of the Program is restricted in ++certain countries either by patents or by copyrighted interfaces, the ++original copyright holder who places the Program under this License ++may add an explicit geographical distribution limitation excluding ++those countries, so that distribution is permitted only in or among ++countries not thus excluded. In such case, this License incorporates ++the limitation as if written in the body of this License. ++ ++ 9. The Free Software Foundation may publish revised and/or new versions ++of the General Public License from time to time. Such new versions will ++be similar in spirit to the present version, but may differ in detail to ++address new problems or concerns. ++ ++Each version is given a distinguishing version number. If the Program ++specifies a version number of this License which applies to it and "any ++later version", you have the option of following the terms and conditions ++either of that version or of any later version published by the Free ++Software Foundation. If the Program does not specify a version number of ++this License, you may choose any version ever published by the Free Software ++Foundation. ++ ++ 10. If you wish to incorporate parts of the Program into other free ++programs whose distribution conditions are different, write to the author ++to ask for permission. For software which is copyrighted by the Free ++Software Foundation, write to the Free Software Foundation; we sometimes ++make exceptions for this. Our decision will be guided by the two goals ++of preserving the free status of all derivatives of our free software and ++of promoting the sharing and reuse of software generally. ++ ++ NO WARRANTY ++ ++ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY ++FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN ++OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES ++PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED ++OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS ++TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE ++PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, ++REPAIR OR CORRECTION. ++ ++ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING ++WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR ++REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, ++INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING ++OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED ++TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY ++YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER ++PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE ++POSSIBILITY OF SUCH DAMAGES. ++ ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Programs ++ ++ If you develop a new program, and you want it to be of the greatest ++possible use to the public, the best way to achieve this is to make it ++free software which everyone can redistribute and change under these terms. ++ ++ To do so, attach the following notices to the program. It is safest ++to attach them to the start of each source file to most effectively ++convey the exclusion of warranty; and each file should have at least ++the "copyright" line and a pointer to where the full notice is found. ++ ++ <one line to give the program's name and a brief idea of what it does.> ++ Copyright (C) <year> <name of author> ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License along ++ with this program; if not, write to the Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++If the program is interactive, make it output a short notice like this ++when it starts in an interactive mode: ++ ++ Gnomovision version 69, Copyright (C) year name of author ++ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. ++ This is free software, and you are welcome to redistribute it ++ under certain conditions; type `show c' for details. ++ ++The hypothetical commands `show w' and `show c' should show the appropriate ++parts of the General Public License. Of course, the commands you use may ++be called something other than `show w' and `show c'; they could even be ++mouse-clicks or menu items--whatever suits your program. ++ ++You should also get your employer (if you work as a programmer) or your ++school, if any, to sign a "copyright disclaimer" for the program, if ++necessary. Here is a sample; alter the names: ++ ++ Yoyodyne, Inc., hereby disclaims all copyright interest in the program ++ `Gnomovision' (which makes passes at compilers) written by James Hacker. ++ ++ <signature of Ty Coon>, 1 April 1989 ++ Ty Coon, President of Vice ++ ++This General Public License does not permit incorporating your program into ++proprietary programs. If your program is a subroutine library, you may ++consider it more useful to permit linking proprietary applications with the ++library. If this is what you want to do, use the GNU Lesser General ++Public License instead of this License. diff --git a/meta/recipes-graphics/x11-common/x11-common_0.1.bb b/meta/recipes-graphics/x11-common/x11-common_0.1.bb new file mode 100644 index 000000000..ddb3a1dff --- /dev/null +++ b/meta/recipes-graphics/x11-common/x11-common_0.1.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Common X11 scripts and configuration files" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +SECTION = "x11" +PR = "r44" + +SRC_URI = "file://etc \ + file://gplv2-license.patch" + +S = "${WORKDIR}" + +inherit allarch + +do_install() { + cp -R ${S}/etc ${D}/etc + chmod -R 755 ${D}/etc + find ${D}/etc -type d -name .svn -prune -exec rm -rf {} \; + find ${D}/etc -type f -name \*~ -exec rm -rf {} \; +} + +RDEPENDS_${PN} = "dbus-x11 xmodmap xdpyinfo xtscal xinit formfactor" + diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init.bb b/meta/recipes-graphics/x11-common/xserver-nodm-init.bb new file mode 100644 index 000000000..1b9526104 --- /dev/null +++ b/meta/recipes-graphics/x11-common/xserver-nodm-init.bb @@ -0,0 +1,37 @@ +DESCRIPTION = "Simple Xserver Init Script (no dm)" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +SECTION = "x11" +PR = "r29" +RDEPENDS_${PN} = "sudo" + +SRC_URI = "file://xserver-nodm \ + file://Xusername \ + file://gplv2-license.patch" + +S = "${WORKDIR}" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +do_install() { + install -d ${D}/etc + install -d ${D}/etc/init.d + install xserver-nodm ${D}/etc/init.d + if [ "${ROOTLESS_X}" = "1" ] ; then + install -d ${D}/etc/X11 + install Xusername ${D}/etc/X11 + fi +} + +inherit update-rc.d useradd + +INITSCRIPT_NAME = "xserver-nodm" +INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." + +# Use fixed Xusername of xuser for now, this will need to be +# fixed if the Xusername changes from xuser +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--create-home \ + --groups video,tty,audio \ + --user-group xuser" + diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/Xusername b/meta/recipes-graphics/x11-common/xserver-nodm-init/Xusername new file mode 100644 index 000000000..7060e5ec1 --- /dev/null +++ b/meta/recipes-graphics/x11-common/xserver-nodm-init/Xusername @@ -0,0 +1 @@ +xuser diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/gplv2-license.patch b/meta/recipes-graphics/x11-common/xserver-nodm-init/gplv2-license.patch new file mode 100644 index 000000000..eff975e34 --- /dev/null +++ b/meta/recipes-graphics/x11-common/xserver-nodm-init/gplv2-license.patch @@ -0,0 +1,355 @@ +COPYING: add GPLv2 license file + +this is a local file recipe and the license file is missing.In order +to pass the license checksum checking, the license file is needed. So +this patch add the GPLv2 license file. + +Upstream-Status: Inappropriate [licensing] + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +diff --git a/COPYING b/COPYING +new file mode 100644 +index 0000000..d511905 +--- /dev/null ++++ b/COPYING +@@ -0,0 +1,339 @@ ++ GNU GENERAL PUBLIC LICENSE ++ Version 2, June 1991 ++ ++ Copyright (C) 1989, 1991 Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ Everyone is permitted to copy and distribute verbatim copies ++ of this license document, but changing it is not allowed. ++ ++ Preamble ++ ++ The licenses for most software are designed to take away your ++freedom to share and change it. By contrast, the GNU General Public ++License is intended to guarantee your freedom to share and change free ++software--to make sure the software is free for all its users. This ++General Public License applies to most of the Free Software ++Foundation's software and to any other program whose authors commit to ++using it. (Some other Free Software Foundation software is covered by ++the GNU Lesser General Public License instead.) You can apply it to ++your programs, too. ++ ++ When we speak of free software, we are referring to freedom, not ++price. Our General Public Licenses are designed to make sure that you ++have the freedom to distribute copies of free software (and charge for ++this service if you wish), that you receive source code or can get it ++if you want it, that you can change the software or use pieces of it ++in new free programs; and that you know you can do these things. ++ ++ To protect your rights, we need to make restrictions that forbid ++anyone to deny you these rights or to ask you to surrender the rights. ++These restrictions translate to certain responsibilities for you if you ++distribute copies of the software, or if you modify it. ++ ++ For example, if you distribute copies of such a program, whether ++gratis or for a fee, you must give the recipients all the rights that ++you have. You must make sure that they, too, receive or can get the ++source code. And you must show them these terms so they know their ++rights. ++ ++ We protect your rights with two steps: (1) copyright the software, and ++(2) offer you this license which gives you legal permission to copy, ++distribute and/or modify the software. ++ ++ Also, for each author's protection and ours, we want to make certain ++that everyone understands that there is no warranty for this free ++software. If the software is modified by someone else and passed on, we ++want its recipients to know that what they have is not the original, so ++that any problems introduced by others will not reflect on the original ++authors' reputations. ++ ++ Finally, any free program is threatened constantly by software ++patents. We wish to avoid the danger that redistributors of a free ++program will individually obtain patent licenses, in effect making the ++program proprietary. To prevent this, we have made it clear that any ++patent must be licensed for everyone's free use or not licensed at all. ++ ++ The precise terms and conditions for copying, distribution and ++modification follow. ++ ++ GNU GENERAL PUBLIC LICENSE ++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License applies to any program or other work which contains ++a notice placed by the copyright holder saying it may be distributed ++under the terms of this General Public License. The "Program", below, ++refers to any such program or work, and a "work based on the Program" ++means either the Program or any derivative work under copyright law: ++that is to say, a work containing the Program or a portion of it, ++either verbatim or with modifications and/or translated into another ++language. (Hereinafter, translation is included without limitation in ++the term "modification".) Each licensee is addressed as "you". ++ ++Activities other than copying, distribution and modification are not ++covered by this License; they are outside its scope. The act of ++running the Program is not restricted, and the output from the Program ++is covered only if its contents constitute a work based on the ++Program (independent of having been made by running the Program). ++Whether that is true depends on what the Program does. ++ ++ 1. You may copy and distribute verbatim copies of the Program's ++source code as you receive it, in any medium, provided that you ++conspicuously and appropriately publish on each copy an appropriate ++copyright notice and disclaimer of warranty; keep intact all the ++notices that refer to this License and to the absence of any warranty; ++and give any other recipients of the Program a copy of this License ++along with the Program. ++ ++You may charge a fee for the physical act of transferring a copy, and ++you may at your option offer warranty protection in exchange for a fee. ++ ++ 2. You may modify your copy or copies of the Program or any portion ++of it, thus forming a work based on the Program, and copy and ++distribute such modifications or work under the terms of Section 1 ++above, provided that you also meet all of these conditions: ++ ++ a) You must cause the modified files to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ b) You must cause any work that you distribute or publish, that in ++ whole or in part contains or is derived from the Program or any ++ part thereof, to be licensed as a whole at no charge to all third ++ parties under the terms of this License. ++ ++ c) If the modified program normally reads commands interactively ++ when run, you must cause it, when started running for such ++ interactive use in the most ordinary way, to print or display an ++ announcement including an appropriate copyright notice and a ++ notice that there is no warranty (or else, saying that you provide ++ a warranty) and that users may redistribute the program under ++ these conditions, and telling the user how to view a copy of this ++ License. (Exception: if the Program itself is interactive but ++ does not normally print such an announcement, your work based on ++ the Program is not required to print an announcement.) ++ ++These requirements apply to the modified work as a whole. If ++identifiable sections of that work are not derived from the Program, ++and can be reasonably considered independent and separate works in ++themselves, then this License, and its terms, do not apply to those ++sections when you distribute them as separate works. But when you ++distribute the same sections as part of a whole which is a work based ++on the Program, the distribution of the whole must be on the terms of ++this License, whose permissions for other licensees extend to the ++entire whole, and thus to each and every part regardless of who wrote it. ++ ++Thus, it is not the intent of this section to claim rights or contest ++your rights to work written entirely by you; rather, the intent is to ++exercise the right to control the distribution of derivative or ++collective works based on the Program. ++ ++In addition, mere aggregation of another work not based on the Program ++with the Program (or with a work based on the Program) on a volume of ++a storage or distribution medium does not bring the other work under ++the scope of this License. ++ ++ 3. You may copy and distribute the Program (or a work based on it, ++under Section 2) in object code or executable form under the terms of ++Sections 1 and 2 above provided that you also do one of the following: ++ ++ a) Accompany it with the complete corresponding machine-readable ++ source code, which must be distributed under the terms of Sections ++ 1 and 2 above on a medium customarily used for software interchange; or, ++ ++ b) Accompany it with a written offer, valid for at least three ++ years, to give any third party, for a charge no more than your ++ cost of physically performing source distribution, a complete ++ machine-readable copy of the corresponding source code, to be ++ distributed under the terms of Sections 1 and 2 above on a medium ++ customarily used for software interchange; or, ++ ++ c) Accompany it with the information you received as to the offer ++ to distribute corresponding source code. (This alternative is ++ allowed only for noncommercial distribution and only if you ++ received the program in object code or executable form with such ++ an offer, in accord with Subsection b above.) ++ ++The source code for a work means the preferred form of the work for ++making modifications to it. For an executable work, complete source ++code means all the source code for all modules it contains, plus any ++associated interface definition files, plus the scripts used to ++control compilation and installation of the executable. However, as a ++special exception, the source code distributed need not include ++anything that is normally distributed (in either source or binary ++form) with the major components (compiler, kernel, and so on) of the ++operating system on which the executable runs, unless that component ++itself accompanies the executable. ++ ++If distribution of executable or object code is made by offering ++access to copy from a designated place, then offering equivalent ++access to copy the source code from the same place counts as ++distribution of the source code, even though third parties are not ++compelled to copy the source along with the object code. ++ ++ 4. You may not copy, modify, sublicense, or distribute the Program ++except as expressly provided under this License. Any attempt ++otherwise to copy, modify, sublicense or distribute the Program is ++void, and will automatically terminate your rights under this License. ++However, parties who have received copies, or rights, from you under ++this License will not have their licenses terminated so long as such ++parties remain in full compliance. ++ ++ 5. You are not required to accept this License, since you have not ++signed it. However, nothing else grants you permission to modify or ++distribute the Program or its derivative works. These actions are ++prohibited by law if you do not accept this License. Therefore, by ++modifying or distributing the Program (or any work based on the ++Program), you indicate your acceptance of this License to do so, and ++all its terms and conditions for copying, distributing or modifying ++the Program or works based on it. ++ ++ 6. Each time you redistribute the Program (or any work based on the ++Program), the recipient automatically receives a license from the ++original licensor to copy, distribute or modify the Program subject to ++these terms and conditions. You may not impose any further ++restrictions on the recipients' exercise of the rights granted herein. ++You are not responsible for enforcing compliance by third parties to ++this License. ++ ++ 7. If, as a consequence of a court judgment or allegation of patent ++infringement or for any other reason (not limited to patent issues), ++conditions are imposed on you (whether by court order, agreement or ++otherwise) that contradict the conditions of this License, they do not ++excuse you from the conditions of this License. If you cannot ++distribute so as to satisfy simultaneously your obligations under this ++License and any other pertinent obligations, then as a consequence you ++may not distribute the Program at all. For example, if a patent ++license would not permit royalty-free redistribution of the Program by ++all those who receive copies directly or indirectly through you, then ++the only way you could satisfy both it and this License would be to ++refrain entirely from distribution of the Program. ++ ++If any portion of this section is held invalid or unenforceable under ++any particular circumstance, the balance of the section is intended to ++apply and the section as a whole is intended to apply in other ++circumstances. ++ ++It is not the purpose of this section to induce you to infringe any ++patents or other property right claims or to contest validity of any ++such claims; this section has the sole purpose of protecting the ++integrity of the free software distribution system, which is ++implemented by public license practices. Many people have made ++generous contributions to the wide range of software distributed ++through that system in reliance on consistent application of that ++system; it is up to the author/donor to decide if he or she is willing ++to distribute software through any other system and a licensee cannot ++impose that choice. ++ ++This section is intended to make thoroughly clear what is believed to ++be a consequence of the rest of this License. ++ ++ 8. If the distribution and/or use of the Program is restricted in ++certain countries either by patents or by copyrighted interfaces, the ++original copyright holder who places the Program under this License ++may add an explicit geographical distribution limitation excluding ++those countries, so that distribution is permitted only in or among ++countries not thus excluded. In such case, this License incorporates ++the limitation as if written in the body of this License. ++ ++ 9. The Free Software Foundation may publish revised and/or new versions ++of the General Public License from time to time. Such new versions will ++be similar in spirit to the present version, but may differ in detail to ++address new problems or concerns. ++ ++Each version is given a distinguishing version number. If the Program ++specifies a version number of this License which applies to it and "any ++later version", you have the option of following the terms and conditions ++either of that version or of any later version published by the Free ++Software Foundation. If the Program does not specify a version number of ++this License, you may choose any version ever published by the Free Software ++Foundation. ++ ++ 10. If you wish to incorporate parts of the Program into other free ++programs whose distribution conditions are different, write to the author ++to ask for permission. For software which is copyrighted by the Free ++Software Foundation, write to the Free Software Foundation; we sometimes ++make exceptions for this. Our decision will be guided by the two goals ++of preserving the free status of all derivatives of our free software and ++of promoting the sharing and reuse of software generally. ++ ++ NO WARRANTY ++ ++ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY ++FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN ++OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES ++PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED ++OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS ++TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE ++PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, ++REPAIR OR CORRECTION. ++ ++ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING ++WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR ++REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, ++INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING ++OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED ++TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY ++YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER ++PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE ++POSSIBILITY OF SUCH DAMAGES. ++ ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Programs ++ ++ If you develop a new program, and you want it to be of the greatest ++possible use to the public, the best way to achieve this is to make it ++free software which everyone can redistribute and change under these terms. ++ ++ To do so, attach the following notices to the program. It is safest ++to attach them to the start of each source file to most effectively ++convey the exclusion of warranty; and each file should have at least ++the "copyright" line and a pointer to where the full notice is found. ++ ++ <one line to give the program's name and a brief idea of what it does.> ++ Copyright (C) <year> <name of author> ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License along ++ with this program; if not, write to the Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++If the program is interactive, make it output a short notice like this ++when it starts in an interactive mode: ++ ++ Gnomovision version 69, Copyright (C) year name of author ++ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. ++ This is free software, and you are welcome to redistribute it ++ under certain conditions; type `show c' for details. ++ ++The hypothetical commands `show w' and `show c' should show the appropriate ++parts of the General Public License. Of course, the commands you use may ++be called something other than `show w' and `show c'; they could even be ++mouse-clicks or menu items--whatever suits your program. ++ ++You should also get your employer (if you work as a programmer) or your ++school, if any, to sign a "copyright disclaimer" for the program, if ++necessary. Here is a sample; alter the names: ++ ++ Yoyodyne, Inc., hereby disclaims all copyright interest in the program ++ `Gnomovision' (which makes passes at compilers) written by James Hacker. ++ ++ <signature of Ty Coon>, 1 April 1989 ++ Ty Coon, President of Vice ++ ++This General Public License does not permit incorporating your program into ++proprietary programs. If your program is a subroutine library, you may ++consider it more useful to permit linking proprietary applications with the ++library. If this is what you want to do, use the GNU Lesser General ++Public License instead of this License. diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm b/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm new file mode 100755 index 000000000..c707a4bdb --- /dev/null +++ b/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm @@ -0,0 +1,65 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: xserver +# Required-Start: $local_fs $remote_fs dbus +# Required-Stop: $local_fs $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +### END INIT INFO + +killproc() { # kill the named process(es) + pid=`/bin/pidof $1` + [ "$pid" != "" ] && kill $pid +} + +read CMDLINE < /proc/cmdline +for x in $CMDLINE; do + case $x in + x11=false) + echo "X Server disabled" + exit 0; + ;; + esac +done + +case "$1" in + start) + . /etc/profile + username=root + echo "Starting Xserver" + if [ -f /etc/X11/Xusername ]; then + username=`cat /etc/X11/Xusername` + # setting for rootless X + chmod o+w /var/log + chmod g+r /dev/tty[0-3] + chmod o+rw /dev/input/* + # hidraw device is probably needed + if [ -e /dev/hidraw0 ]; then + chmod o+rw /dev/hidraw* + fi + fi + # Using su rather than sudo as latest 1.8.1 cause failure [YOCTO #1211] + su -l -c '/etc/X11/Xserver&' $username + # Wait for the desktop to say its finished loading + # before loading the rest of the system + # dbus-wait org.matchbox_project.desktop Loaded + ;; + + stop) + echo "Stopping XServer" + killproc xinit + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + *) + echo "usage: $0 { start | stop | restart }" + ;; +esac + +exit 0 diff --git a/meta/recipes-graphics/x11vnc/files/endian-fix.patch b/meta/recipes-graphics/x11vnc/files/endian-fix.patch new file mode 100644 index 000000000..f2a538bf6 --- /dev/null +++ b/meta/recipes-graphics/x11vnc/files/endian-fix.patch @@ -0,0 +1,24 @@ +libvncserver: replace LIBVNCSERVER_WORDS_BIGENDIAN with WORDS_BIGENDIAN + +since macro AC_C_BIGENDIAN is used in autoconf and WORDS_BIGENDIAN is +automatically set for different arch, it is better to use WORDS_BIGENDIAN +instead of LIBVNCSERVER_WORDS_BIGENDIAN, which cuase issue in mips. + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +Upstream-Status: Pending + +diff --git a/libvncserver/main.c b/libvncserver/main.c +index b6bd930..8bbb7bf 100644 +--- a/libvncserver/main.c ++++ b/libvncserver/main.c +@@ -47,7 +47,7 @@ static MUTEX(extMutex); + + static int rfbEnableLogging=1; + +-#ifdef LIBVNCSERVER_WORDS_BIGENDIAN ++#ifdef WORDS_BIGENDIAN + char rfbEndianTest = (1==0); + #else + char rfbEndianTest = (1==1); + diff --git a/meta/recipes-graphics/x11vnc/files/starting-fix.patch b/meta/recipes-graphics/x11vnc/files/starting-fix.patch new file mode 100644 index 000000000..11c55e606 --- /dev/null +++ b/meta/recipes-graphics/x11vnc/files/starting-fix.patch @@ -0,0 +1,21 @@ +"-gui" & "-rfbport" require "wish" installed, or else x11vnc fails to start. +Removing these 2 parameters makes x11vnc works well on poky sato image. + + +Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> + +Upstream-Status: Inappropriate [configuration] + +Index: x11vnc-0.9.12/x11vnc/x11vnc.desktop +=================================================================== +--- x11vnc-0.9.12.orig/x11vnc/x11vnc.desktop 2011-03-03 10:33:18.000000000 +0800 ++++ x11vnc-0.9.12/x11vnc/x11vnc.desktop 2011-03-03 10:35:20.000000000 +0800 +@@ -1,7 +1,7 @@ + [Desktop Entry] + Name=X11VNC Server + Comment=Share this desktop by VNC +-Exec=x11vnc -gui tray=setpass -rfbport PROMPT -bg -o %%HOME/.x11vnc.log.%%VNCDISPLAY ++Exec=x11vnc -bg -o %%HOME/.x11vnc.log.%%VNCDISPLAY + Icon=computer + Terminal=false + Type=Application diff --git a/meta/recipes-graphics/x11vnc/x11vnc_0.9.13.bb b/meta/recipes-graphics/x11vnc/x11vnc_0.9.13.bb new file mode 100644 index 000000000..4b8bed433 --- /dev/null +++ b/meta/recipes-graphics/x11vnc/x11vnc_0.9.13.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Export your X session on-the-fly via VNC" +HOMEPAGE = "http://www.karlrunge.com/x11vnc/" + +SECTION = "x11/utils" +AUTHOR = "Karl Runge" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f \ + file://x11vnc/x11vnc.h;endline=33;md5=6f95dc6535467d7ee1563fd434fb372e" + +DEPENDS = "openssl virtual/libx11 libxext avahi jpeg zlib" + +PR = "r0" + +SRC_URI = "${SOURCEFORGE_MIRROR}/libvncserver/x11vnc/${PV}/x11vnc-${PV}.tar.gz\ + file://starting-fix.patch \ + file://endian-fix.patch " + +SRC_URI[md5sum] = "a372ec4fe8211221547b1c108cf56e4c" +SRC_URI[sha256sum] = "f6829f2e629667a5284de62b080b13126a0736499fe47cdb447aedb07a59f13b" + +inherit autotools + diff --git a/meta/recipes-graphics/xcb/libpthread-stubs_0.3.bb b/meta/recipes-graphics/xcb/libpthread-stubs_0.3.bb new file mode 100644 index 000000000..c121bb947 --- /dev/null +++ b/meta/recipes-graphics/xcb/libpthread-stubs_0.3.bb @@ -0,0 +1,25 @@ +SUMMARY = "Library that provides weak aliases for pthread functions" +DESCRIPTION = "This library provides weak aliases for pthread functions \ +not provided in libc or otherwise available by default." +HOMEPAGE = "http://xcb.freedesktop.org" +BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=XCB" +SECTION = "x11/libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=6edc1fea03d959f0c2d743fe5ca746ad" +PR = "r0" + +PARALLEL_MAKE = "" +#DEPENDS = "xcb-proto xproto libxau libxslt-native" +# DEPENDS += "xsltproc-native gperf-native" + +SRC_URI = "http://xcb.freedesktop.org/dist/libpthread-stubs-${PV}.tar.bz2" + +SRC_URI[md5sum] = "e8fa31b42e13f87e8f5a7a2b731db7ee" +SRC_URI[sha256sum] = "35b6d54e3cc6f3ba28061da81af64b9a92b7b757319098172488a660e3d87299" + +inherit autotools pkgconfig + +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xcb/libxcb.inc b/meta/recipes-graphics/xcb/libxcb.inc new file mode 100644 index 000000000..d3a5044c7 --- /dev/null +++ b/meta/recipes-graphics/xcb/libxcb.inc @@ -0,0 +1,62 @@ +SUMMARY = "XCB: The X protocol C binding library" +DESCRIPTION = "The X protocol C-language Binding (XCB) is a replacement \ +for Xlib featuring a small footprint, latency hiding, direct access to \ +the protocol, improved threading support, and extensibility." +HOMEPAGE = "http://xcb.freedesktop.org" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=XCB" + +BBCLASSEXTEND = "native nativesdk" + +SECTION = "x11/libs" +LICENSE = "MIT-X" + +PARALLEL_MAKE = "" +DEPENDS = "xcb-proto xproto libxau libxslt-native xcb-proto-native" +# DEPENDS += "xsltproc-native gperf-native" + +SRC_URI = "http://xcb.freedesktop.org/dist/libxcb-${PV}.tar.bz2" +# file://xcbincludedir.patch" + +PACKAGES =+ "libxcb-composite libxcb-damage libxcb-dpms libxcb-glx \ + libxcb-randr libxcb-record libxcb-render libxcb-res \ + libxcb-screensaver libxcb-shape libxcb-shm libxcb-sync \ + libxcb-xevie libxcb-xf86dri libxcb-xfixes libxcb-xlib \ + libxcb-xprint libxcb-xtest libxcb-xv libxcb-xvmc \ + libxcb-dri2" + +FILES_${PN} = "${libdir}/libxcb.so.*" +#FILES_${PN}-dev = "${libdir}/libxcb.* ${libdir}/pkgconfig/*.pc ${includedir}/xcb/*.h" +FILES_libxcb-dri2 = "${libdir}/libxcb-dri2.so.*" +FILES_libxcb-composite = "${libdir}/libxcb-composite.so.*" +FILES_libxcb-damage = "${libdir}/libxcb-damage.so.*" +FILES_libxcb-dpms = "${libdir}/libxcb-dpms.so.*" +FILES_libxcb-glx = "${libdir}/libxcb-glx.so.*" +FILES_libxcb-randr = "${libdir}/libxcb-randr.so.*" +FILES_libxcb-record = "${libdir}/libxcb-record.so.*" +FILES_libxcb-render = "${libdir}/libxcb-render.so.*" +FILES_libxcb-res = "${libdir}/libxcb-res.so.*" +FILES_libxcb-screensaver = "${libdir}/libxcb-screensaver.so.*" +FILES_libxcb-shape = "${libdir}/libxcb-shape.so.*" +FILES_libxcb-shm = "${libdir}/libxcb-shm.so.*" +FILES_libxcb-sync = "${libdir}/libxcb-sync.so.*" +FILES_libxcb-xevie = "${libdir}/libxcb-xevie.so.*" +FILES_libxcb-xf86dri = "${libdir}/libxcb-xf86dri.so.*" +FILES_libxcb-xfixes = "${libdir}/libxcb-xfixes.so.*" +FILES_libxcb-xinerama = "${libdir}/libxcb-xinerama.so.*" +FILES_libxcb-xlib = "${libdir}/libxcb-xlib.so.*" +FILES_libxcb-xprint = "${libdir}/libxcb-xprint.so.*" +FILES_libxcb-xtest = "${libdir}/libxcb-xtest.so.*" +FILES_libxcb-xv = "${libdir}/libxcb-xv.so.*" +FILES_libxcb-xvmc = "${libdir}/libxcb-xvmc.so.*" + +inherit autotools pkgconfig + +# XCBPROTO_XCBINCLUDEDIR is setup based on `pkg-config --variable=xcbincludedir xcb-proto` +# but the xcbincludedir variable doesn't point into the staging area, so it needs some +# tweeking here: +do_configure_prepend () { + sed -i "s|XCBPROTO_XCBINCLUDEDIR=|XCBPROTO_XCBINCLUDEDIR=${STAGING_DIR_HOST}/|" \ + ${S}/configure.ac + sed -i "s|XCBPROTO_XCBPYTHONDIR=|XCBPROTO_XCBPYTHONDIR=${STAGING_DIR_HOST}/|" \ + ${S}/configure.ac +} diff --git a/meta/recipes-graphics/xcb/libxcb/xcbincludedir.patch b/meta/recipes-graphics/xcb/libxcb/xcbincludedir.patch new file mode 100644 index 000000000..d858a63b7 --- /dev/null +++ b/meta/recipes-graphics/xcb/libxcb/xcbincludedir.patch @@ -0,0 +1,13 @@ +Upstream-Status: Inappropriate [configuration] + +--- libxcb-1.0.orig/configure.ac 2006-11-23 15:33:01.000000000 +0000 ++++ libxcb-1.0/configure.ac 2008-09-10 20:29:12.000000000 +0100 +@@ -50,7 +50,7 @@ + + # Find the xcb-proto protocol descriptions + AC_MSG_CHECKING(XCBPROTO_XCBINCLUDEDIR) +-XCBPROTO_XCBINCLUDEDIR=`$PKG_CONFIG --variable=xcbincludedir xcb-proto` ++XCBPROTO_XCBINCLUDEDIR=$PKG_CONFIG_SYSROOT_DIR/`$PKG_CONFIG --variable=xcbincludedir xcb-proto` + AC_MSG_RESULT($XCBPROTO_XCBINCLUDEDIR) + AC_SUBST(XCBPROTO_XCBINCLUDEDIR) + diff --git a/meta/recipes-graphics/xcb/libxcb_1.1.91.bb b/meta/recipes-graphics/xcb/libxcb_1.1.91.bb new file mode 100644 index 000000000..7ea745185 --- /dev/null +++ b/meta/recipes-graphics/xcb/libxcb_1.1.91.bb @@ -0,0 +1,6 @@ +include libxcb.inc +PR = "r2" + +DEPENDS += "libpthread-stubs xcb-proto-native" + +PACKAGES =+ "libxcb-xinerama" diff --git a/meta/recipes-graphics/xcb/libxcb_1.8.1.bb b/meta/recipes-graphics/xcb/libxcb_1.8.1.bb new file mode 100644 index 000000000..1f39ca0d6 --- /dev/null +++ b/meta/recipes-graphics/xcb/libxcb_1.8.1.bb @@ -0,0 +1,13 @@ +include libxcb.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7" + +PR = "r0" + +DEPENDS += "libpthread-stubs xcb-proto-native libxdmcp" + +PACKAGES =+ "libxcb-xinerama" + +SRC_URI[md5sum] = "9da03df9e2f4c048202920d9f6a7e123" +SRC_URI[sha256sum] = "d2f46811e950710e7e79e45615d24f2c7ec318b9de9dc717972723da58bffa0d" diff --git a/meta/recipes-graphics/xcb/libxcb_git.bb b/meta/recipes-graphics/xcb/libxcb_git.bb new file mode 100644 index 000000000..f8cf2a581 --- /dev/null +++ b/meta/recipes-graphics/xcb/libxcb_git.bb @@ -0,0 +1,14 @@ +DEFAULT_PREFERENCE = "-1" + +include libxcb.inc + +SRCREV = "625ed596cae6dd8175aeb6cb6f26784928042f22" +PV = "1.1.90.1+gitr${SRCPV}" +PR = "r1" + +DEPENDS += "libpthread-stubs xcb-proto-native" + +SRC_URI = "git://anongit.freedesktop.org/git/xcb/libxcb;protocol=git" +S = "${WORKDIR}/git" + +PACKAGES =+ "libxcb-xinerama" diff --git a/meta/recipes-graphics/xcb/xcb-proto.inc b/meta/recipes-graphics/xcb/xcb-proto.inc new file mode 100644 index 000000000..e93b1a2ff --- /dev/null +++ b/meta/recipes-graphics/xcb/xcb-proto.inc @@ -0,0 +1,25 @@ +SUMMARY = "XCB: The X protocol C binding headers" +DESCRIPTION = "Function prototypes for the X protocol C-language Binding \ +(XCB). XCB is a replacement for Xlib featuring a small footprint, \ +latency hiding, direct access to the protocol, improved threading \ +support, and extensibility." +HOMEPAGE = "http://xcb.freedesktop.org" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=XCB" + +SECTION = "x11/libs" +LICENSE = "MIT-X" + +SRC_URI = "http://xcb.freedesktop.org/dist/xcb-proto-${PV}.tar.bz2" + +inherit autotools pkgconfig + +PACKAGES += "python-xcbgen" + +FILES_${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd" +FILES_python-xcbgen = "${libdir}/python*" + +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" + +DEPENDS_append_virtclass-native = " python-native" +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xcb/xcb-proto_1.7.bb b/meta/recipes-graphics/xcb/xcb-proto_1.7.bb new file mode 100644 index 000000000..fac24df69 --- /dev/null +++ b/meta/recipes-graphics/xcb/xcb-proto_1.7.bb @@ -0,0 +1,10 @@ +include xcb-proto.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7 \ + file://src/dri2.xml;beginline=2;endline=28;md5=f8763b13ff432e8597e0d610cf598e65" + +PR = "r0" + +SRC_URI[md5sum] = "f5d73ec841ed055f5e80535819f18400" +SRC_URI[sha256sum] = "e67eb7263f222133fb9d1de70928724bea3a448cdcd99d0fa4c63c04fc124b38" diff --git a/meta/recipes-graphics/xcb/xcb-proto_git.bb b/meta/recipes-graphics/xcb/xcb-proto_git.bb new file mode 100644 index 000000000..1813d6577 --- /dev/null +++ b/meta/recipes-graphics/xcb/xcb-proto_git.bb @@ -0,0 +1,9 @@ +DEFAULT_PREFERENCE = "-1" + +include xcb-proto.inc +SRCREV = "d81ca233e98be8fa59e8c90d262c0516944c5a66" +PV = "1.2+gitr${SRCPV}" +PR = "r4" + +SRC_URI = "git://anongit.freedesktop.org/git/xcb/proto;protocol=git" +S = "${WORKDIR}/git" diff --git a/meta/recipes-graphics/xcb/xcb-util-image_0.3.8.bb b/meta/recipes-graphics/xcb/xcb-util-image_0.3.8.bb new file mode 100644 index 000000000..766ef0a3e --- /dev/null +++ b/meta/recipes-graphics/xcb/xcb-util-image_0.3.8.bb @@ -0,0 +1,12 @@ +require xcb-util.inc + +DEPENDS += "xcb-util" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://image/xcb_image.c;endline=24;md5=eafdf965cfb89955fdedf75054223fb4 \ + file://image/xcb_image.h;startline=4;endline=27;md5=4e4f1b0fae5694beed407dea01f38212" +PR = "r0" + +SRC_URI[md5sum] = "245a96041f373b05764148e52d2e0211" +SRC_URI[sha256sum] = "40390528c26e8231132540f16579b821de68bb2e9152918f72182d5a4038a6d9" + diff --git a/meta/recipes-graphics/xcb/xcb-util-keysyms_0.3.8.bb b/meta/recipes-graphics/xcb/xcb-util-keysyms_0.3.8.bb new file mode 100644 index 000000000..ed1eb7ae7 --- /dev/null +++ b/meta/recipes-graphics/xcb/xcb-util-keysyms_0.3.8.bb @@ -0,0 +1,11 @@ +require xcb-util.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://keysyms/keysyms.c;endline=30;md5=2f8de023ed823bb92f0b47900574ea9e \ + " +PR = "r0" + +SRC_URI[md5sum] = "c75bb20e709093580a67eaf263251b50" +SRC_URI[sha256sum] = "913d32f7afe380c580da7636ee13f2728790237bb5c03def536363f552686121" + + diff --git a/meta/recipes-graphics/xcb/xcb-util-renderutil_0.3.8.bb b/meta/recipes-graphics/xcb/xcb-util-renderutil_0.3.8.bb new file mode 100644 index 000000000..c729db8e0 --- /dev/null +++ b/meta/recipes-graphics/xcb/xcb-util-renderutil_0.3.8.bb @@ -0,0 +1,14 @@ +require xcb-util.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://renderutil/glyph.c;endline=24;md5=c517c483b8d726234ec94f9169236661 \ + file://renderutil/util.c;endline=20;md5=6e0bfc44fb13298c0f4694eb70dc80d4 \ + file://renderutil/xcb_renderutil.h;md5=c8732d30d204d3b55e956489f635cefb \ + " +PR = "r0" + +SRC_URI[md5sum] = "b346ff598ee093c141f836fbc0f8f721" +SRC_URI[sha256sum] = "9789a5c55728fa7bae374d9fdf1c61095869bdc68561911760879095644c7452" + + + diff --git a/meta/recipes-graphics/xcb/xcb-util-wm_0.3.8.bb b/meta/recipes-graphics/xcb/xcb-util-wm_0.3.8.bb new file mode 100644 index 000000000..91f9a8133 --- /dev/null +++ b/meta/recipes-graphics/xcb/xcb-util-wm_0.3.8.bb @@ -0,0 +1,12 @@ +require xcb-util.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://ewmh/ewmh.c;endline=27;md5=63fd80552d7dc886f4eb267610d5bb9d \ + file://ewmh/xcb_ewmh.h;startline=4;endline=30;md5=7bcd2d64f5615707f95ea8826a93561f \ + file://icccm/icccm.c;endline=28;md5=e2b3240a0c197e8977adde2a5cf18d50 \ + file://icccm/xcb_icccm.h;startline=4;endline=31;md5=0af3f37474085b0517dbbae4cb4ce13c \ + " +PR = "r0" + +SRC_URI[md5sum] = "dda47289bc846a6a3e07824e9ec3aef8" +SRC_URI[sha256sum] = "c557abbe4c7d45268f0541ee3d8f9a1a8799692fcc28aa33f39db93cc2e65007" diff --git a/meta/recipes-graphics/xcb/xcb-util.inc b/meta/recipes-graphics/xcb/xcb-util.inc new file mode 100644 index 000000000..7dad545c3 --- /dev/null +++ b/meta/recipes-graphics/xcb/xcb-util.inc @@ -0,0 +1,23 @@ +SUMMARY = "XCB: The X protocol C binding utilities" +DESCRIPTION = "The xcb-util module provides a number of libraries which \ +sit on top of libxcb, the core X protocol library, and some of the \ +extension libraries. These experimental libraries provide convenience \ +functions and interfaces which make the raw X protocol more usable. Some \ +of the libraries also provide client-side code which is not strictly \ +part of the X protocol but which have traditionally been provided by \ +Xlib." +HOMEPAGE = "http://xcb.freedesktop.org/XcbUtil/" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=XCB" + +LICENSE = "MIT" + +SECTION = "x11/libs" + +DEPENDS = "libxcb" +DEPENDS += "gperf-native" + +PARALLEL_MAKE = "" + +SRC_URI = "http://xcb.freedesktop.org/dist/${BPN}-${PV}.tar.bz2" + +inherit autotools pkgconfig diff --git a/meta/recipes-graphics/xcb/xcb-util_0.3.8.bb b/meta/recipes-graphics/xcb/xcb-util_0.3.8.bb new file mode 100644 index 000000000..b7eff290e --- /dev/null +++ b/meta/recipes-graphics/xcb/xcb-util_0.3.8.bb @@ -0,0 +1,9 @@ +require xcb-util.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://src/xcb_aux.c;endline=30;md5=ae305b9c2a38f9ba27060191046a6460 \ + file://src/xcb_event.h;endline=27;md5=627be355aee59e1b8ade80d5bd90fad9" +PR = "r0" + +SRC_URI[md5sum] = "8ce019c4bbf20dce246b98f177cfccff" +SRC_URI[sha256sum] = "c1eed9284750bc09352e60654df77bb585dbbe7673fdcc675e58b7f3a0b447b9" diff --git a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/fix_watch_cursor.patch b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/fix_watch_cursor.patch new file mode 100644 index 000000000..722bda334 --- /dev/null +++ b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/fix_watch_cursor.patch @@ -0,0 +1,26 @@ +Upstream-Status: Inappropriate [configuration] + +diff -NurP xcursor-transparent-theme-0.1.1-orig/cursors/Makefile.am xcursor-transparent-theme-0.1.1/cursors/Makefile.am +--- xcursor-transparent-theme-0.1.1-orig/cursors/Makefile.am 2003-10-30 13:13:59.000000000 +0100 ++++ xcursor-transparent-theme-0.1.1/cursors/Makefile.am 2005-12-20 23:35:17.000000000 +0100 +@@ -79,7 +79,7 @@ + ul_angle \ + ur_angle \ + v_double_arrow \ +- watcha \ ++ watch \ + xterm + + CURSOR_DIR = $(datadir)/icons/xcursor-transparent/cursors +diff -NurP xcursor-transparent-theme-0.1.1-orig/cursors/Makefile.in xcursor-transparent-theme-0.1.1/cursors/Makefile.in +--- xcursor-transparent-theme-0.1.1-orig/cursors/Makefile.in 2003-10-31 15:31:13.000000000 +0100 ++++ xcursor-transparent-theme-0.1.1/cursors/Makefile.in 2005-12-20 23:35:36.000000000 +0100 +@@ -67,7 +67,7 @@ + PACKAGE = @PACKAGE@ + VERSION = @VERSION@ + +-CURSOR_NAMES = 00008160000006810000408080010102 028006030e0e7ebffc7f7070c0600140 03b6e0fcb3499374a867c041f52298f0 08e8e1c95fe2fc01f976f1e063a24ccd 14fef782d02440884392942c11205230 2870a09082c103050810ffdffffe0204 3ecb610c1bf2410f44200f48c40d3599 4498f0e0c1937ffe01fd06f973665830 9d800788f1b08800ae810202380a0822 c7088f0f3e6c8088236ef8e1e3e70000 d9ce0ab605698f320427677b458ad60b e29285e634086352946a0e7090d73106 fcf1c3c7cd4491d801f1e1c78f100000 X_cursor arrow base_arrow_down base_arrow_up based_arrow_down based_arrow_up bd_double_arrow boat bottom_left_corner bottom_right_corner bottom_side bottom_tee center_ptr circle cross cross_reverse crossed_circle crosshair dot dot_box_mask dotbox double_arrow draft_large draft_small draped_box exchange fd_double_arrow fleur gumby h_double_arrow hand hand1 hand2 left_ptr left_ptr_watch left_side left_tee ll_angle lr_angle move pencil pirate plus question_arrow right_ptr right_side right_tee sailboat sb_down_arrow sb_h_double_arrow sb_left_arrow sb_right_arrow sb_up_arrow sb_v_double_arrow shuttle sizing target tcross top_left_arrow top_left_corner top_right_corner top_side top_tee trek ul_angle ur_angle v_double_arrow watcha xterm ++CURSOR_NAMES = 00008160000006810000408080010102 028006030e0e7ebffc7f7070c0600140 03b6e0fcb3499374a867c041f52298f0 08e8e1c95fe2fc01f976f1e063a24ccd 14fef782d02440884392942c11205230 2870a09082c103050810ffdffffe0204 3ecb610c1bf2410f44200f48c40d3599 4498f0e0c1937ffe01fd06f973665830 9d800788f1b08800ae810202380a0822 c7088f0f3e6c8088236ef8e1e3e70000 d9ce0ab605698f320427677b458ad60b e29285e634086352946a0e7090d73106 fcf1c3c7cd4491d801f1e1c78f100000 X_cursor arrow base_arrow_down base_arrow_up based_arrow_down based_arrow_up bd_double_arrow boat bottom_left_corner bottom_right_corner bottom_side bottom_tee center_ptr circle cross cross_reverse crossed_circle crosshair dot dot_box_mask dotbox double_arrow draft_large draft_small draped_box exchange fd_double_arrow fleur gumby h_double_arrow hand hand1 hand2 left_ptr left_ptr_watch left_side left_tee ll_angle lr_angle move pencil pirate plus question_arrow right_ptr right_side right_tee sailboat sb_down_arrow sb_h_double_arrow sb_left_arrow sb_right_arrow sb_up_arrow sb_v_double_arrow shuttle sizing target tcross top_left_arrow top_left_corner top_right_corner top_side top_tee trek ul_angle ur_angle v_double_arrow watch xterm + + + CURSOR_DIR = $(datadir)/icons/xcursor-transparent/cursors diff --git a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/use-relative-symlinks.patch b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/use-relative-symlinks.patch new file mode 100644 index 000000000..ae9640ce0 --- /dev/null +++ b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/use-relative-symlinks.patch @@ -0,0 +1,13 @@ +Upstream-Status: Inappropriate [configuration] + +diff -ur xcursor-transparent-theme-0.1.1~/cursors/Makefile.am xcursor-transparent-theme-0.1.1/cursors/Makefile.am +--- xcursor-transparent-theme-0.1.1~/cursors/Makefile.am 2003-10-30 12:13:59.000000000 +0000 ++++ xcursor-transparent-theme-0.1.1/cursors/Makefile.am 2004-07-27 12:56:24.000000000 +0100 +@@ -91,6 +91,6 @@ + $(INSTALL_DATA) $(CURSOR_REAL) $(DESTDIR)$(CURSOR_DIR)/ + for CURSOR in $(CURSOR_NAMES); do \ + echo '-- Installing cursor '$$CURSOR; \ +- ln -s $(DESTDIR)$(CURSOR_DIR)/transp $(DESTDIR)$(CURSOR_DIR)/$$CURSOR; \ ++ ln -s transp $(DESTDIR)$(CURSOR_DIR)/$$CURSOR; \ + done + diff --git a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb new file mode 100644 index 000000000..824c295a9 --- /dev/null +++ b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Transparent xcursor theme for handheld systems" +HOMEPAGE = "http://www.matchbox-project.org/" +BUGTRACKER = "http://bugzilla.openedhand.com/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +SECTION = "x11/base" +PR = "r4" + +SRC_URI = "http://matchbox-project.org/sources/utils/xcursor-transparent-theme-${PV}.tar.gz \ + file://use-relative-symlinks.patch \ + file://fix_watch_cursor.patch" + +SRC_URI[md5sum] = "7b0c623049d4aab20600d6473f8aab23" +SRC_URI[sha256sum] = "b26adf2d503d01299718390ae39dab4691a67220de09423be0364e9a060bf7e4" +FILES_${PN} = "${datadir}/icons/xcursor-transparent/cursors/*" + +inherit autotools allarch diff --git a/meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb b/meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb new file mode 100644 index 000000000..663732613 --- /dev/null +++ b/meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb @@ -0,0 +1,22 @@ +require xorg-app-common.inc + +SUMMARY = "A program to create an index of X font files in a directory" + +DESCRIPTION = "For each directory argument, mkfontdir reads all of the \ +font files in the directory. The font names and related data are written \ +out to the files \"fonts.dir\", \"fonts.scale\", and \"fonts.alias\". \ +The X server and font server use these files to find the available font \ +files." + +PE = "1" +PR = "${INC_PR}.0" + +RDEPENDS_${PN} += "mkfontscale" +RDEPENDS_${PN}_virtclass-native += "mkfontscale-native" + +BBCLASSEXTEND = "native" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b4fcf2b90cadbfc15009b9e124dc3a3f" + +SRC_URI[md5sum] = "18c429148c96c2079edda922a2b67632" +SRC_URI[sha256sum] = "56d52a482df130484e51fd066d1b6eda7c2c02ddbc91fe6e2be1b9c4e7306530" diff --git a/meta/recipes-graphics/xorg-app/mkfontscale_1.1.0.bb b/meta/recipes-graphics/xorg-app/mkfontscale_1.1.0.bb new file mode 100644 index 000000000..d98057bad --- /dev/null +++ b/meta/recipes-graphics/xorg-app/mkfontscale_1.1.0.bb @@ -0,0 +1,20 @@ +require xorg-app-common.inc + +SUMMARY = "A program to create an index of scalable font files for X" + +DESCRIPTION = "For each directory argument, mkfontscale reads all of the \ +scalable font files in the directory. For every font file found, an X11 \ +font name (XLFD) is generated, and is written together with the file \ +name to a file fonts.scale in the directory. The resulting fonts.scale \ +is used by the mkfontdir program." + +DEPENDS += " zlib libfontenc freetype virtual/libx11" + +PR = "${INC_PR}.0" + +BBCLASSEXTEND = "native" + +LIC_FILES_CHKSUM = "file://COPYING;md5=2e0d129d05305176d1a790e0ac1acb7f" + +SRC_URI[md5sum] = "414fcb053418fb1418e3a39f4a37e0f7" +SRC_URI[sha256sum] = "ce55f862679b8ec127d7f7315ac04a8d64a0d90a0309a70dc56c1ba3f9806994" diff --git a/meta/recipes-graphics/xorg-app/rgb_1.0.4.bb b/meta/recipes-graphics/xorg-app/rgb_1.0.4.bb new file mode 100644 index 000000000..59dca2ac7 --- /dev/null +++ b/meta/recipes-graphics/xorg-app/rgb_1.0.4.bb @@ -0,0 +1,10 @@ +require xorg-app-common.inc +DEPENDS += " xproto util-macros" +LIC_FILES_CHKSUM = "file://COPYING;md5=ef598adbe241bd0b0b9113831f6e249a" +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "35c6cccbf25a872bdd62bfcb1a73d951" +SRC_URI[sha256sum] = "80887da011ad086fff88bfd16c6d9d5ac7da45ef1bc9d0c192a6f370423370f1" + +FILES_${PN} += "${datadir}/X11" diff --git a/meta/recipes-graphics/xorg-app/x11perf_1.5.4.bb b/meta/recipes-graphics/xorg-app/x11perf_1.5.4.bb new file mode 100644 index 000000000..cc0b323a8 --- /dev/null +++ b/meta/recipes-graphics/xorg-app/x11perf_1.5.4.bb @@ -0,0 +1,20 @@ +require xorg-app-common.inc + +SUMMARY = "X11 server performance test program" + +DESCRIPTION = "The x11perf program runs one or more performance tests \ +and reports how fast an X server can execute the tests." + + +DEPENDS += "libxmu libxrender libxft libxext fontconfig" + +LIC_FILES_CHKSUM = "file://COPYING;md5=428ca4d67a41fcd4fc3283dce9bbda7e \ + file://x11perf.h;endline=24;md5=29555066baf406a105ff917ac25b2d01" + +PR = "${INC_PR}.0" +PE = "1" + +FILES_${PN} += "${libdir}/X11/x11perfcomp/*" + +SRC_URI[md5sum] = "5c3c7431a38775caaea6051312a49bc9" +SRC_URI[sha256sum] = "24ee8857a2bf414b360addabf1c27ef797f7f504ee9bc409c151760bfbe53184" diff --git a/meta/recipes-graphics/xorg-app/xauth_1.0.7.bb b/meta/recipes-graphics/xorg-app/xauth_1.0.7.bb new file mode 100644 index 000000000..9a5de542c --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xauth_1.0.7.bb @@ -0,0 +1,13 @@ +require xorg-app-common.inc +SUMMARY = "X authority utilities" +DESCRIPTION = "X application to edit and display the authorization \ +information used in connecting to the X server." + +LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b" + +DEPENDS += "libxau libxext libxmu" +PR = "${INC_PR}.0" +PE = "1" + +SRC_URI[md5sum] = "cbcbd8f2156a53b609800bec4c6b6c0e" +SRC_URI[sha256sum] = "84f78c08ebc6687e2e36c9ff1f5610988c6a03fc5bf51ef89aec4d155de3028d" diff --git a/meta/recipes-graphics/xorg-app/xdpyinfo/disable-xkb.patch b/meta/recipes-graphics/xorg-app/xdpyinfo/disable-xkb.patch new file mode 100644 index 000000000..1e8199cc6 --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xdpyinfo/disable-xkb.patch @@ -0,0 +1,22 @@ +Upstream-Status: Pending + +Index: xdpyinfo-1.3.0/configure.ac +=================================================================== +--- xdpyinfo-1.3.0.orig/configure.ac 2011-10-21 21:34:21.000000000 -0700 ++++ xdpyinfo-1.3.0/configure.ac 2011-11-28 20:06:56.554056935 -0800 +@@ -47,11 +47,15 @@ + AC_CHECK_HEADERS([X11/extensions/multibuf.h X11/extensions/XShm.h],,,[#include <X11/Xlib.h>]) + CPPFLAGS="$SAVE_CPPFLAGS"],[echo "not found"]) + ++AC_ARG_ENABLE(xkb, AC_HELP_STRING([--disable-xkb], [Disable XKB support]), ++ XKB="$enableval", XKB="yes") ++if test "x$XKB" = "xyes" ; then + PKG_CHECK_MODULES(DPY_XKB, x11, + [SAVE_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $DPY_XKB_CFLAGS $DPY_X11_CFLAGS" + AC_CHECK_HEADERS([X11/extensions/XKB.h X11/XKBlib.h],,,[#include <X11/Xlib.h>]) + CPPFLAGS="$SAVE_CPPFLAGS"],[echo "not found"]) ++fi + + PKG_CHECK_MODULES(DPY_XF86VIDMODE, xxf86vm, + [SAVE_CPPFLAGS="$CPPFLAGS" diff --git a/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.0.bb b/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.0.bb new file mode 100644 index 000000000..ae3cc8cbc --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.0.bb @@ -0,0 +1,21 @@ +require xorg-app-common.inc + +SUMMARY = "Display information utility for X" + +DESCRIPTION = "Xdpyinfo is a utility for displaying information about an \ +X server. It is used to examine the capabilities of a server, the \ +predefined values for various parameters used in communicating between \ +clients and the server, and the different types of screens and visuals \ +that are available." + +LIC_FILES_CHKSUM = "file://COPYING;md5=f3d09e6b9e203a1af489e16c708f4fb3" +DEPENDS += "libxtst libxext libxxf86vm libxxf86dga libxxf86misc libxi libxrender libxinerama libdmx libxp libxau" +PR = "${INC_PR}.0" +PE = "1" + +SRC_URI += "file://disable-xkb.patch" + +SRC_URI[md5sum] = "1ef08f4c8d0e669c2edd49e4a1bf650d" +SRC_URI[sha256sum] = "23ee4944a32b5701b4379cb420729eb7a4dde54de2b5b006d4747855efd6d73f" + +EXTRA_OECONF = "--disable-xkb" diff --git a/meta/recipes-graphics/xorg-app/xev/diet-x11.patch b/meta/recipes-graphics/xorg-app/xev/diet-x11.patch new file mode 100644 index 000000000..139838c35 --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xev/diet-x11.patch @@ -0,0 +1,82 @@ +Upstream-Status: Inappropriate [disable feature] + +--- + xev.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +Index: xev-1.0.2/xev.c +=================================================================== +--- xev-1.0.2.orig/xev.c 2006-06-02 00:25:44.000000000 +0100 ++++ xev-1.0.2/xev.c 2007-05-10 15:22:07.000000000 +0100 +@@ -109,7 +109,7 @@ do_KeyPress (XEvent *eventp) + nbytes = XLookupString (e, str, 256, &ks, NULL); + + /* not supposed to call XmbLookupString on a key release event */ +- if (e->type == KeyPress && xic) { ++ /*if (e->type == KeyPress && xic) { + do { + nmbbytes = XmbLookupString (xic, e, buf, bsize - 1, &ks, &status); + buf[nmbbytes] = '\0'; +@@ -119,7 +119,7 @@ do_KeyPress (XEvent *eventp) + buf = realloc (buf, bsize); + } + } while (status == XBufferOverflow); +- } ++ }*/ + + if (ks == NoSymbol) + ksname = "NoSymbol"; +@@ -149,7 +149,7 @@ do_KeyPress (XEvent *eventp) + } + + /* not supposed to call XmbLookupString on a key release event */ +- if (e->type == KeyPress && xic) { ++ /*if (e->type == KeyPress && xic) { + printf (" XmbLookupString gives %d bytes: ", nmbbytes); + if (nmbbytes > 0) { + dump (buf, nmbbytes); +@@ -157,7 +157,7 @@ do_KeyPress (XEvent *eventp) + } else { + printf ("\n"); + } +- } ++ } */ + + printf (" XFilterEvent returns: %s\n", + XFilterEvent (eventp, e->window) ? "True" : "False"); +@@ -804,7 +804,7 @@ main (int argc, char **argv) + fprintf (stderr, "%s: XSetLocaleModifiers failed\n", ProgramName); + } + +- xim = XOpenIM (dpy, NULL, NULL, NULL); ++ /*xim = XOpenIM (dpy, NULL, NULL, NULL); + if (xim == NULL) { + fprintf (stderr, "%s: XOpenIM failed\n", ProgramName); + } +@@ -831,7 +831,7 @@ main (int argc, char **argv) + } + XFree (xim_styles); + } +- } ++ }*/ + + screen = DefaultScreen (dpy); + +@@ -891,7 +891,7 @@ main (int argc, char **argv) + printf ("Outer window is 0x%lx, inner window is 0x%lx\n", w, subw); + } + +- if (xim && xim_style) { ++ /*if (xim && xim_style) { + xic = XCreateIC (xim, + XNInputStyle, xim_style, + XNClientWindow, w, +@@ -901,7 +901,7 @@ main (int argc, char **argv) + if (xic == NULL) { + fprintf (stderr, "XCreateIC failed\n"); + } +- } ++ }*/ + + for (done = 0; !done; ) { + XEvent event; diff --git a/meta/recipes-graphics/xorg-app/xev_1.0.3.bb b/meta/recipes-graphics/xorg-app/xev_1.0.3.bb new file mode 100644 index 000000000..21ba62e24 --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xev_1.0.3.bb @@ -0,0 +1,10 @@ +require xorg-app-common.inc +LIC_FILES_CHKSUM = "file://xev.c;startline=0;endline=35;md5=db2e69260ca64f1d332efa6ab4b7e2b5" +DESCRIPTION = "X Event Viewer" +LICENSE = "MIT" +PE = "1" + +SRC_URI += "file://diet-x11.patch" + +SRC_URI[md5sum] = "a9532c3d1683c99bb5df1895cb3a60b1" +SRC_URI[sha256sum] = "d4ac7ae154ee9733be27a5f55586abb9362c768f5fb8a4fc7fd2645100a9313a" diff --git a/meta/recipes-graphics/xorg-app/xeyes_1.1.1.bb b/meta/recipes-graphics/xorg-app/xeyes_1.1.1.bb new file mode 100644 index 000000000..33a93cc24 --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xeyes_1.1.1.bb @@ -0,0 +1,9 @@ +require xorg-app-common.inc +PE = "1" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3ea51b365051ac32d1813a7dbaa4bfc6" + +SRC_URI[md5sum] = "a3035dcecdbdb89e864177c080924981" +SRC_URI[sha256sum] = "975e98680cd59e1f9439016386609546ed08c284d0f05a95276f96aca6e8a521" + +DEPENDS += " virtual/libx11 libxau libxt libxext libxmu" diff --git a/meta/recipes-graphics/xorg-app/xhost_1.0.5.bb b/meta/recipes-graphics/xorg-app/xhost_1.0.5.bb new file mode 100644 index 000000000..6dc97a18c --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xhost_1.0.5.bb @@ -0,0 +1,18 @@ +require xorg-app-common.inc + +SUMMARY = "Server access control program for X" + +DESCRIPTION = "The xhost program is used to add and delete host names or \ +user names to the list allowed to make connections to the X server. In \ +the case of hosts, this provides a rudimentary form of privacy control \ +and security. Environments which require more sophisticated measures \ +should implement the user-based mechanism or use the hooks in the \ +protocol for passing other authentication data to the server." + +LIC_FILES_CHKSUM = "file://COPYING;md5=8fbed71dddf48541818cef8079124199" +DEPENDS += "libxmu libxau" +PR = "${INC_PR}.0" +PE = "1" + +SRC_URI[md5sum] = "a0fcd2cb6ddd9f378944cc6f4f83cd7c" +SRC_URI[sha256sum] = "2870d19f3f4867ead5ba4e35bb73d1fa302be29d812c13e4195066c78d1f8850" diff --git a/meta/recipes-graphics/xorg-app/xinit_1.3.2.bb b/meta/recipes-graphics/xorg-app/xinit_1.3.2.bb new file mode 100644 index 000000000..2008e796e --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xinit_1.3.2.bb @@ -0,0 +1,23 @@ +require xorg-app-common.inc + +SUMMARY = "X Window System initializer" + +DESCRIPTION = "The xinit program is used to start the X Window System \ +server and a first client program on systems that cannot start X \ +directly from /etc/init or in environments that use multiple window \ +systems. When this first client exits, xinit will kill the X server and \ +then terminate." + +LIC_FILES_CHKSUM = "file://COPYING;md5=0d4b5eef75f1584ccbdc5e4a34314407" + +PR = "${INC_PR}.0" +PE = "1" + +SRC_URI[md5sum] = "9c0943cbd83e489ad1b05221b97efd44" +SRC_URI[sha256sum] = "a1867fdaa83f68750b12ba4305c3c62f5992d0f52cfeb98e96c27a8e690e0235" + +EXTRA_OECONF = "ac_cv_path_MCOOKIE=${bindir}/mcookie" + +RDEPENDS_${PN} += "util-linux-mcookie" + +FILES_${PN} += "${libdir}X11/xinit" diff --git a/meta/recipes-graphics/xorg-app/xinput_1.5.3.bb b/meta/recipes-graphics/xorg-app/xinput_1.5.3.bb new file mode 100644 index 000000000..6790f60da --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xinput_1.5.3.bb @@ -0,0 +1,14 @@ +require xorg-app-common.inc + +SUMMARY = "Runtime configuration and test of XInput devices" + +DESCRIPTION = "Xinput is an utility for configuring and testing XInput devices" + +LIC_FILES_CHKSUM = "file://COPYING;md5=22c34ea36136407a77702a8b784f9bd0" + +DEPENDS += " libxi" + +PR = "${INC_PR}.7" + +SRC_URI[md5sum] = "1e2f0ad4f3fa833b65c568907f171d28" +SRC_URI[sha256sum] = "6aade131cecddaeefc39ddce1dd5e8473f6039c2e4efbfd9fbb5ee2a75885c76" diff --git a/meta/recipes-graphics/xorg-app/xkbcomp_1.2.4.bb b/meta/recipes-graphics/xorg-app/xkbcomp_1.2.4.bb new file mode 100644 index 000000000..5c274b133 --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xkbcomp_1.2.4.bb @@ -0,0 +1,19 @@ +require xorg-app-common.inc + +SUMMARY = "A program to compile XKB keyboard description" + +DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \ +XKB keymap into one of several output formats. The most common use for \ +xkbcomp is to create a compiled keymap file (.xkm extension) which can \ +be read directly by XKB-capable X servers or utilities." + +LIC_FILES_CHKSUM = "file://COPYING;md5=08436e4f4476964e2e2dd7e7e41e076a" + +PR = "${INC_PR}.0" + +DEPENDS += "libxkbfile" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "a0fc1ac3fc4fe479ade09674347c5aa0" +SRC_URI[sha256sum] = "91d0c9ab445d21dfe1892dbae5ae5264f39bae68223dd092ffc547c9450b5a2d" diff --git a/meta/recipes-graphics/xorg-app/xmodmap_1.0.7.bb b/meta/recipes-graphics/xorg-app/xmodmap_1.0.7.bb new file mode 100644 index 000000000..fab1b167e --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xmodmap_1.0.7.bb @@ -0,0 +1,18 @@ +require xorg-app-common.inc + +SUMMARY = "Utility for modifying keymaps and pointer button mappings in X" + +DESCRIPTION = "The xmodmap program is used to edit and display the \ +keyboard modifier map and keymap table that are used by client \ +applications to convert event keycodes into keysyms. It is usually run \ +from the user's session startup script to configure the keyboard \ +according to personal tastes." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=eef098b27f09d0ac39268df0cc2c00b5" + +PR = "${INC_PR}.0" +PE = "1" + +SRC_URI[md5sum] = "d9b65f6881afe0d6d9863b30e1081bde" +SRC_URI[sha256sum] = "ef22ede9c4a3c720da539292c6911515a8408e618e0dec6aa2196ee2153de4b5" diff --git a/meta/recipes-graphics/xorg-app/xorg-app-common.inc b/meta/recipes-graphics/xorg-app/xorg-app-common.inc new file mode 100644 index 000000000..40508ffed --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xorg-app-common.inc @@ -0,0 +1,16 @@ +DESCRIPTION = "X application" +HOMEPAGE = "http://www.x.org/" +BUGTRACKER = "https://bugs.freedesktop.org" +SECTION = "x11/apps" +LICENSE = "MIT-X" +DEPENDS = "util-macros-native virtual/libx11" + +INC_PR = "r8" + +SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.bz2" + +S = "${WORKDIR}/${BPN}-${PV}" + +inherit autotools pkgconfig + +FILES_${PN} += " ${libdir}/X11/${BPN} ${datadir}/X11/app-defaults/" diff --git a/meta/recipes-graphics/xorg-app/xprop_1.2.1.bb b/meta/recipes-graphics/xorg-app/xprop_1.2.1.bb new file mode 100644 index 000000000..c74beb470 --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xprop_1.2.1.bb @@ -0,0 +1,19 @@ +require xorg-app-common.inc + +SUMMARY = "Utility to display window and font properties of an X server" + +DESCRIPTION = "The xprop utility is for displaying window and font \ +properties in an X server. One window or font is selected using the \ +command line arguments or possibly in the case of a window, by clicking \ +on the desired window. A list of properties is then given, possibly with \ +formatting information." + +LIC_FILES_CHKSUM = "file://COPYING;md5=e226ab8db88ac0bc0391673be40c9f91" + +DEPENDS += " libxmu virtual/libx11" + +PR = "${INC_PR}.0" +PE = "1" + +SRC_URI[md5sum] = "d5529dc8d811efabd136ca2d8e857deb" +SRC_URI[sha256sum] = "07907a189099b8a000406b5ca6c5346df238a9e1fe3b32dc59f48fe0ad12f1a3" diff --git a/meta/recipes-graphics/xorg-app/xrandr_1.3.5.bb b/meta/recipes-graphics/xorg-app/xrandr_1.3.5.bb new file mode 100644 index 000000000..da83e8f09 --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xrandr_1.3.5.bb @@ -0,0 +1,16 @@ +require xorg-app-common.inc + +SUMMARY = "XRandR: X Resize, Rotate and Reflect extension command" + +DESCRIPTION = "Xrandr is used to set the size, orientation and/or \ +reflection of the outputs for a screen. It can also set the screen \ +size." + +LICENSE= "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=fe1608bdb33cf8c62a4438f7d34679b3" +DEPENDS += "libxrandr libxrender" +PE = "1" +PR = "${INC_PR}.1" + +SRC_URI[md5sum] = "9735173a84dca9b05e06fd4686196b07" +SRC_URI[sha256sum] = "1059ff7a9ad0df8e00a765ffa4e08a505304c02663112da370ac7082030b980e" diff --git a/meta/recipes-graphics/xorg-app/xset/disable-xkb.patch b/meta/recipes-graphics/xorg-app/xset/disable-xkb.patch new file mode 100644 index 000000000..97d13a30d --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xset/disable-xkb.patch @@ -0,0 +1,26 @@ +add "-disable-xkb" option + +Upstream-Status: Pending + +Rebase for 1.2.1 by: Yu Ke <ke.yu@intel.com> + +diff --git a/configure.ac b/configure.ac +index 81c3ae4..26601bf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -52,11 +52,15 @@ PKG_CHECK_MODULES(SET_XEXT, xext, + AC_CHECK_HEADERS([X11/extensions/dpms.h X11/extensions/MITMisc.h],,,[#include <X11/Xlib.h>]) + CPPFLAGS="$SAVE_CPPFLAGS"],[echo "not found"]) + ++AC_ARG_ENABLE(xkb, AC_HELP_STRING([--disable-xkb], [Disable XKB support]), ++ XKB="$enableval", XKB="yes") ++if test "x$XKB" = "xyes" ; then + PKG_CHECK_MODULES(SET_XKB, x11, + [SAVE_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $SET_XKB_CFLAGS $SET_X11_CFLAGS" + AC_CHECK_HEADERS([X11/XKBlib.h],,,[#include <X11/Xlib.h>]) + CPPFLAGS="$SAVE_CPPFLAGS"],[echo "not found"]) ++fi + + AC_ARG_WITH(xf86misc, AC_HELP_STRING([--without-xf86misc],[Disable xf86misc support.]), + [USE_XF86MISC="$withval"], [USE_XF86MISC="yes"]) diff --git a/meta/recipes-graphics/xorg-app/xset_1.2.2.bb b/meta/recipes-graphics/xorg-app/xset_1.2.2.bb new file mode 100644 index 000000000..0430f8c54 --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xset_1.2.2.bb @@ -0,0 +1,20 @@ +require xorg-app-common.inc + +SUMMARY = "Utility for setting various user preference options of the display" + +DESCRIPTION = "xset is a utility that is used to set various user \ +preference options of the display." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=bea81cc9827cdf1af0e12c2b8228cf8d" +DEPENDS += "libxext libxxf86misc libxfontcache libxmu libxp libxau" +PR = "${INC_PR}.0" +PE = "1" + +SRC_URI += "file://disable-xkb.patch" + +SRC_URI[md5sum] = "d44e0057d6722b25d5a314e82e0b7e7c" +SRC_URI[sha256sum] = "61371c140030b8b05075a1378b34a4d7c438ed9159496a95f10782c6f4aec1e8" + +CFLAGS += "-D_GNU_SOURCE" +EXTRA_OECONF = "--disable-xkb" diff --git a/meta/recipes-graphics/xorg-app/xvinfo_1.1.1.bb b/meta/recipes-graphics/xorg-app/xvinfo_1.1.1.bb new file mode 100644 index 000000000..66d256147 --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xvinfo_1.1.1.bb @@ -0,0 +1,15 @@ +require xorg-app-common.inc + +SUMMARY = "Print out X-Video extension adaptor information" + +DESCRIPTION = "xvinfo prints out the capabilities of any video adaptors \ +associated with the display that are accessible through the X-Video \ +extension." + +LIC_FILES_CHKSUM = "file://COPYING;md5=b664101ad7a1dc758a4c4109bf978e68" +DEPENDS += " libxv" +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "c88feb501083951a8f47a21aaeb1529d" +SRC_URI[sha256sum] = "60c74aa190bcf1e244f6f1576dc43869018a8ed5ba319703a5c198d3466a3985" diff --git a/meta/recipes-graphics/xorg-app/xwininfo_1.1.2.bb b/meta/recipes-graphics/xorg-app/xwininfo_1.1.2.bb new file mode 100644 index 000000000..c033e2bcd --- /dev/null +++ b/meta/recipes-graphics/xorg-app/xwininfo_1.1.2.bb @@ -0,0 +1,16 @@ +require xorg-app-common.inc + +SUMMARY = "Window information utility for X" + +DESCRIPTION = "Xwininfo is a utility for displaying information about \ +windows. Information may include window position, size, color depth, \ +and a number of other items." + +LIC_FILES_CHKSUM = "file://COPYING;md5=78976cd3115f6faf615accc4e094d90e" +DEPENDS += "libxext libxmu" + +PR = "${INC_PR}.0" +PE = "0" + +SRC_URI[md5sum] = "9e8b58c8aa6172e87ab4f9cf3612fedd" +SRC_URI[sha256sum] = "8fa66c9ce02da257613fa428137ab9efc89c8f9939c074513dbc0f407dc9ac3a" diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.7.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.7.0.bb new file mode 100644 index 000000000..2a04e7322 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.7.0.bb @@ -0,0 +1,21 @@ +require xorg-driver-input.inc + +SUMMARY = "X.Org X server -- event devices (evdev) input driver" + +DESCRIPTION = "evdev is an Xorg input driver for Linux's generic event \ +devices. It therefore supports all input devices that the kernel knows \ +about, including most mice and keyboards. \ +\ +The evdev driver can serve as both a pointer and a keyboard input \ +device, and may be used as both the core keyboard and the core pointer. \ +Multiple input devices are supported by multiple instances of this \ +driver, with one Load directive for evdev in the Module section of your \ +xorg.conf for each input device that will use this driver. " + +LIC_FILES_CHKSUM = "file://COPYING;md5=fefe33b1cf0cacba0e72e3b0fa0f0e16" + +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "4449b2e94900e98d2f41c2f46dd0397e" +SRC_URI[sha256sum] = "3ee1feee0ccf748005ca30b0993d0c1b80f85158b726745f9e0cb220902d6ec7" + diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.6.1.bb b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.6.1.bb new file mode 100644 index 000000000..ac398b58c --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.6.1.bb @@ -0,0 +1,15 @@ +require xorg-driver-input.inc + +SUMMARY = "X.Org X server -- keyboard input driver" + +DESCRIPTION = "keyboard is an Xorg input driver for keyboards. The \ +driver supports the standard OS-provided keyboard interface. The driver \ +functions as a keyboard input device, and may be used as the X server's \ +core keyboard." + +LIC_FILES_CHKSUM = "file://COPYING;md5=ea2099d24ac9e316a6d4b9f20b3d4e10" + +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "09744e8dc9a1fe5e61927c1073cd3428" +SRC_URI[sha256sum] = "aa9ec96e7f7f87bc086cb86b871ee6f4b9a7809fb1e7d50d0abbd7c2e50a8cc3" diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb new file mode 100644 index 000000000..5bc055866 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb @@ -0,0 +1,16 @@ +require xorg-driver-input.inc + +SUMMARY = "X.Org X server -- keyboard input driver" + +DESCRIPTION = "keyboard is an Xorg input driver for keyboards. The \ +driver supports the standard OS-provided keyboard interface. The driver \ +functions as a keyboard input device, and may be used as the X server's \ +core keyboard." + +SRCREV = "3e28d68b50d291938734e9684b8296ca864f3892" +PV = "1.3.2+git${SRCPV}" +PR = "${INC_PR}.0" + +SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-keyboard;protocol=git" +S = "${WORKDIR}/git" + diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-mouse/unbreak.patch b/meta/recipes-graphics/xorg-driver/xf86-input-mouse/unbreak.patch new file mode 100644 index 000000000..6930864ed --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-input-mouse/unbreak.patch @@ -0,0 +1,21 @@ +Unbreak the linux mouse driver by using config.h + +RP - 4/11/07 + +Upstream-Status: Pending + +Index: git/src/lnx_mouse.c +=================================================================== +--- git.orig/src/lnx_mouse.c 2008-11-04 23:46:05.000000000 +0000 ++++ git/src/lnx_mouse.c 2008-11-04 23:46:15.000000000 +0000 +@@ -3,8 +3,8 @@ + * Copyright 1999 by The XFree86 Project, Inc. + */ + +-#ifdef HAVE_XORG_CONFIG_H +-#include <xorg-config.h> ++#ifdef HAVE_CONFIG_H ++#include <config.h> + #endif + + #include <X11/X.h> diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.7.1.bb b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.7.1.bb new file mode 100644 index 000000000..e3215f901 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.7.1.bb @@ -0,0 +1,16 @@ +require xorg-driver-input.inc + +SUMMARY = "X.Org X server -- mouse input driver" + +DESCRIPTION = "mouse is an Xorg input driver for mice. The driver \ +supports most available mouse types and interfaces. The mouse driver \ +functions as a pointer input device, and may be used as the X server's \ +core pointer. Multiple mice are supported by multiple instances of this \ +driver." + +LIC_FILES_CHKSUM = "file://COPYING;md5=237eb1d1a602d29ef2af62d8fba60f19" + +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "13276d780b8ef3a82088f009185bf42b" +SRC_URI[sha256sum] = "d2c5b4b9bf03f8f7ef7b37bab25197d3f99a4d889c61bb67a68df33ec2c2ff12" diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb new file mode 100644 index 000000000..392892ee5 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb @@ -0,0 +1,18 @@ +require xorg-driver-input.inc + +SUMMARY = "X.Org X server -- mouse input driver" + +DESCRIPTION = "mouse is an Xorg input driver for mice. The driver \ +supports most available mouse types and interfaces. The mouse driver \ +functions as a pointer input device, and may be used as the X server's \ +core pointer. Multiple mice are supported by multiple instances of this \ +driver." + +SRCREV = "ea5cfe804e112f320f14ad896c7802d53551d3e6" +PV = "1.3.0+git${SRCPV}" +PR = "${INC_PR}.0" + +SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-mouse;protocol=git \ + file://unbreak.patch" +S = "${WORKDIR}/git" + diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.5.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.5.0.bb new file mode 100644 index 000000000..5e4656772 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.5.0.bb @@ -0,0 +1,22 @@ +require xorg-driver-input.inc + +#SRC_URI += "file://configurefix.patch" + +SUMMARY = "X.Org X server -- synaptics touchpad input driver" + +DESCRIPTION = "synaptics is an Xorg input driver for the touchpads from \ +Synaptics Incorporated. Even though these touchpads (by default, \ +operating in a compatibility mode emulating a standard mouse) can be \ +handled by the normal evdev or mouse drivers, this driver allows more \ +advanced features of the touchpad to become available." + +LIC_FILES_CHKSUM = "file://COPYING;md5=e395e21f3c21d4fc3a243783e85e9ab5" + +PR = "${INC_PR}.2" + +SRC_URI[md5sum] = "41ee749ecbfef98f7fba708cb2afae87" +SRC_URI[sha256sum] = "95cc5399fc49c9a35b02c2272cd99b8438f4609b219278c66a79e74c916a1c4e" + +DEPENDS += "libxi" + +FILES_${PN} += "${datadir}/X11/xorg.conf.d" diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb new file mode 100644 index 000000000..3b3db5997 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb @@ -0,0 +1,18 @@ +require xorg-driver-input.inc + +SUMMARY = "X.Org X server -- synaptics touchpad input driver" + +DESCRIPTION = "synaptics is an Xorg input driver for the touchpads from \ +Synaptics Incorporated. Even though these touchpads (by default, \ +operating in a compatibility mode emulating a standard mouse) can be \ +handled by the normal evdev or mouse drivers, this driver allows more \ +advanced features of the touchpad to become available." + +SRCREV = "934bc0012f948c52aadc8eda912f7728fb7394a2" +PV = "0.15.2+git${SRCPV}" +PR = "${INC_PR}.0" + +SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-synaptics;protocol=git" +S = "${WORKDIR}/git" + +DEPENDS += "libxi" diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_12.8.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_12.8.0.bb new file mode 100644 index 000000000..150a9ed94 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_12.8.0.bb @@ -0,0 +1,21 @@ +require xorg-driver-input.inc + +DESCRIPTION = "X.Org X server -- VMWare mouse input driver" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "15fce165117706cd5e774a8aa58122ce" +SRC_URI[sha256sum] = "a8a6ec0b567c48c130ccb830e15dfc2b201831841de0c2cc56bd87256d2d869a" + +RDEPENDS_${PN} += "xf86-input-mouse" + +LIC_FILES_CHKSUM = "file://COPYING;md5=622841c068a9d7625fbfe7acffb1a8fc" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +do_install_append () { + # We don't care about hal + rm -rf ${D}${datadir}/hal/ + rm -rf ${D}${libdir}/hal/ +} + +FILES_${PN} += "${base_libdir}/udev/ ${datadir}/X11/xorg.conf.d" diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.2.bb b/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.2.bb new file mode 100644 index 000000000..a3a4796bf --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.2.bb @@ -0,0 +1,8 @@ +require xorg-driver-video.inc +LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8" + +DESCRIPTION = "X.Org X server -- fbdev display driver" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "53a533d9e0c2da50962282526bace074" +SRC_URI[sha256sum] = "93b271b4b41d7e5ca108849a583b9523e96c51813d046282285355b7001f82d5" diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.18.0.bb b/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.18.0.bb new file mode 100644 index 000000000..637e11c38 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.18.0.bb @@ -0,0 +1,26 @@ +require xorg-driver-video.inc + +SUMMARY = "X.Org X server -- Intel integrated graphics chipsets driver" + +DESCRIPTION = "intel is an Xorg driver for Intel integrated graphics \ +chipsets. The driver supports depths 8, 15, 16 and 24. On some chipsets, \ +the driver supports hardware accelerated 3D via the Direct Rendering \ +Infrastructure (DRI)." + +LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e" + +PR = "${INC_PR}.0" + +DEPENDS += "virtual/libx11 libxvmc drm xf86driproto glproto \ + virtual/libgl xineramaproto xf86driproto libpciaccess" + + +EXTRA_OECONF += "--disable-xvmc" + +# --enable-kms-only option is required by ROOTLESS_X +EXTRA_OECONF += '${@base_conditional( "ROOTLESS_X", "1", " --enable-kms-only", "", d )}' + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +SRC_URI[md5sum] = "34f3987ffe86e30c57abc33b7f8030e9" +SRC_URI[sha256sum] = "dce63e33ccfada39ef1e1e6768dfd8edd4c525670dfe56d1c42b2f9570039ffc" diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb b/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb new file mode 100644 index 000000000..ed1f269f1 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb @@ -0,0 +1,23 @@ +require xorg-driver-video.inc + +SUMMARY = "X.Org X server -- Intel integrated graphics chipsets driver" + +DESCRIPTION = "intel is an Xorg driver for Intel integrated graphics \ +chipsets. The driver supports depths 8, 15, 16 and 24. On some chipsets, \ +the driver supports hardware accelerated 3D via the Direct Rendering \ +Infrastructure (DRI)." + +DEPENDS += "virtual/libx11 libxvmc drm dri2proto glproto \ + virtual/libgl xineramaproto libpciaccess" + +SRCREV = "87ea531c5dc5b39809395b277c330854aaaaf019" +PV = "2.10.0+git${SRCPV}" +PR = "${INC_PR}.0" + +EXTRA_OECONF += "--disable-xvmc --enable-dri --disable-static" + +SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel;protocol=git" + +S = "${WORKDIR}/git" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0004-Attempt-to-fix-VRFB.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0004-Attempt-to-fix-VRFB.patch new file mode 100644 index 000000000..6b59b9f36 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0004-Attempt-to-fix-VRFB.patch @@ -0,0 +1,325 @@ +From 9f034f7a83751e4d1bbff6dd742d54bd96d38230 Mon Sep 17 00:00:00 2001 +From: Eino-Ville Talvala <talvala@stanford.edu> +Date: Tue, 23 Aug 2011 18:37:01 +0200 +Subject: [PATCH] Attempt to fix VRFB + +Upstream-Status: Pending + +http://dominion.thruhere.net/git/cgit.cgi/xf86-video-omapfb/commit/?h=koen/fixups&id=6833fc9f795265e4943d248103fbaf3463b515d6 + +Signed-off-by: Sebastian Krzyszkowiak <dos@dosowisko.net> + +--- + src/image-format-conversions.c | 4 +- + src/image-format-conversions.h | 2 +- + src/omapfb-driver.c | 28 +++++++++++++-- + src/omapfb-xv-blizzard.c | 1 + + src/omapfb-xv-generic.c | 72 +++++++++++++++++++++++++++++++-------- + src/omapfb-xv.c | 3 ++ + 6 files changed, 88 insertions(+), 22 deletions(-) + +diff --git a/src/image-format-conversions.c b/src/image-format-conversions.c +index dcefa9b..d43427d 100644 +--- a/src/image-format-conversions.c ++++ b/src/image-format-conversions.c +@@ -38,13 +38,13 @@ + #include "image-format-conversions.h" + + /* Basic line-based copy for packed formats */ +-void packed_line_copy(int w, int h, int stride, uint8_t *src, uint8_t *dest) ++void packed_line_copy(int w, int h, int src_stride, int dst_stride, uint8_t *src, uint8_t *dest) + { + int i; + int len = w * 2; + for (i = 0; i < h; i++) + { +- memcpy(dest + i * len, src + i * stride, len); ++ memcpy(dest + i * dst_stride, src + i * src_stride, len); + } + } + +diff --git a/src/image-format-conversions.h b/src/image-format-conversions.h +index 584896a..ba7caf2 100644 +--- a/src/image-format-conversions.h ++++ b/src/image-format-conversions.h +@@ -27,7 +27,7 @@ + #include <stdint.h> + + /* Basic line-based copy for packed formats */ +-void packed_line_copy(int w, int h, int stride, uint8_t *src, uint8_t *dest); ++void packed_line_copy(int w, int h, int src_stride, int dst_stride, uint8_t *src, uint8_t *dest); + + /* Basic C implementation of YV12/I420 to UYVY conversion */ + void uv12_to_uyvy(int w, int h, int y_pitch, int uv_pitch, uint8_t *y_p, uint8_t *u_p, uint8_t *v_p, uint8_t *dest); +diff --git a/src/omapfb-driver.c b/src/omapfb-driver.c +index 48aa09c..07989f5 100644 +--- a/src/omapfb-driver.c ++++ b/src/omapfb-driver.c +@@ -66,6 +66,7 @@ + #define OMAPFB_VERSION 1000 + #define OMAPFB_DRIVER_NAME "OMAPFB" + #define OMAPFB_NAME "omapfb" ++#define ENFORCE_MODES + + static Bool OMAPFBProbe(DriverPtr drv, int flags); + static Bool OMAPFBPreInit(ScrnInfoPtr pScrn, int flags); +@@ -105,11 +106,13 @@ static SymTabRec OMAPFBChipsets[] = { + typedef enum { + OPTION_ACCELMETHOD, + OPTION_FB, ++ OPTION_ROTATE, + } FBDevOpts; + + static const OptionInfoRec OMAPFBOptions[] = { + { OPTION_ACCELMETHOD, "AccelMethod", OPTV_STRING, {0}, FALSE }, + { OPTION_FB, "fb", OPTV_STRING, {0}, FALSE }, ++ { OPTION_ROTATE, "rotation", OPTV_STRING, {0}, FALSE }, + { -1, NULL, OPTV_NONE, {0}, FALSE } + }; + +@@ -286,6 +289,7 @@ OMAPFBPreInit(ScrnInfoPtr pScrn, int flags) + { + OMAPFBPtr ofb; + EntityInfoPtr pEnt; ++ char *rotate; + rgb zeros = { 0, 0, 0 }; + struct stat st; + +@@ -379,6 +383,8 @@ OMAPFBPreInit(ScrnInfoPtr pScrn, int flags) + pScrn->progClock = TRUE; + pScrn->chipset = "omapfb"; + ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Rotate test version 0.02\n"); ++ + /* Start with configured virtual size */ + pScrn->virtualX = pScrn->display->virtualX; + pScrn->virtualY = pScrn->display->virtualY; +@@ -496,12 +502,21 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + ofb->CloseScreen = pScreen->CloseScreen; + pScreen->CloseScreen = OMAPFBCloseScreen; + ++ /* Enforce the default mode (this is silly I guess) */ ++#ifdef ENFORCE_MODES ++ //xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Enforcing modes\n"); ++ //set_mode(ofb, &ofb->default_mode); ++ //pScrn->displayWidth = ofb->fixed_info.line_length / ++ // (ofb->state_info.bits_per_pixel>>3); //ofb->state_info.xres; ++#endif ++ + /* Map our framebuffer memory */ ++ ofb->mem_info.size = ofb->fixed_info.line_length * ofb->state_info.yres; + ofb->fb = mmap (NULL, ofb->mem_info.size, + PROT_READ | PROT_WRITE, MAP_SHARED, + ofb->fd, 0); +- if (ofb->fb == NULL) { +- xf86DrvMsg(scrnIndex, X_ERROR, "Mapping framebuffer memory failed\n"); ++ if (ofb->fb == MAP_FAILED) { ++ xf86DrvMsg(scrnIndex, X_ERROR, "Mapping framebuffer memory failed, wanted %d bytes.\n", ofb->mem_info.size); + return FALSE; + } + +@@ -578,8 +593,13 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + } else if (!ofb->dss) { + + ofb->plane_info.enabled = 1; +- ofb->plane_info.out_width = ofb->state_info.xres; +- ofb->plane_info.out_height = ofb->state_info.yres; ++ if (ofb->state_info.rotate == 0 || ofb->state_info.rotate == 2) { ++ ofb->plane_info.out_width = ofb->state_info.xres; ++ ofb->plane_info.out_height = ofb->state_info.yres; ++ } else { ++ ofb->plane_info.out_width = ofb->state_info.yres; ++ ofb->plane_info.out_height = ofb->state_info.xres; ++ } + + if (ioctl (ofb->fd, OMAPFB_SETUP_PLANE, &ofb->plane_info)) { + xf86DrvMsg(scrnIndex, X_ERROR, +diff --git a/src/omapfb-xv-blizzard.c b/src/omapfb-xv-blizzard.c +index 406ffc6..b71d2aa 100644 +--- a/src/omapfb-xv-blizzard.c ++++ b/src/omapfb-xv-blizzard.c +@@ -220,6 +220,7 @@ int OMAPFBXVPutImageBlizzard (ScrnInfoPtr pScrn, + packed_line_copy(src_w & ~3, + src_h & ~3, + ((src_w + 1) & ~1) * 2, ++ ofb->port->fixed_info.line_length, + (uint8_t*)buf, + (uint8_t*)ofb->port->fb); + break; +diff --git a/src/omapfb-xv-generic.c b/src/omapfb-xv-generic.c +index e6f89fe..b33f344 100644 +--- a/src/omapfb-xv-generic.c ++++ b/src/omapfb-xv-generic.c +@@ -62,7 +62,7 @@ int OMAPXVAllocPlane(ScrnInfoPtr pScrn) + { + OMAPFBPtr ofb = OMAPFB(pScrn); + +- /* The memory size is already set in OMAPFBXVQueryImageAttributes */ ++ /* The memory size is already set before we get here */ + if (ioctl(ofb->port->fd, OMAPFB_SETUP_MEM, &ofb->port->mem_info) != 0) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Failed to allocate video plane memory\n"); +@@ -73,19 +73,20 @@ int OMAPXVAllocPlane(ScrnInfoPtr pScrn) + ofb->port->fb = mmap (NULL, ofb->port->mem_info.size, + PROT_READ | PROT_WRITE, MAP_SHARED, + ofb->port->fd, 0); +- if (ofb->port->fb == NULL) { ++ if (ofb->port->fb == MAP_FAILED) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Mapping video memory failed\n"); + return XvBadAlloc; + } + + /* Update the state info */ ++ /* Let's not - it's bad + if (ioctl (ofb->port->fd, FBIOGET_VSCREENINFO, &ofb->port->state_info)) + { + xf86Msg(X_ERROR, "%s: Reading state info failed\n", __FUNCTION__); + return XvBadAlloc; + } +- ++ */ + return Success; + } + +@@ -93,6 +94,7 @@ int OMAPXVAllocPlane(ScrnInfoPtr pScrn) + int OMAPXVSetupVideoPlane(ScrnInfoPtr pScrn) + { + OMAPFBPtr ofb = OMAPFB(pScrn); ++ int ret; + + if (ioctl (ofb->port->fd, FBIOPUT_VSCREENINFO, &ofb->port->state_info)) + { +@@ -104,6 +106,31 @@ int OMAPXVSetupVideoPlane(ScrnInfoPtr pScrn) + xf86Msg(X_ERROR, "%s: Reading state info failed\n", __FUNCTION__); + return XvBadAlloc; + } ++ /* Changing rotation/nonstd flags can change the fixed info! */ ++ if (ioctl (ofb->port->fd, FBIOGET_FSCREENINFO, &ofb->port->fixed_info)) ++ { ++ xf86Msg(X_ERROR, "%s: Reading state info failed\n", __FUNCTION__); ++ return XvBadAlloc; ++ } ++ /* Correct fixed info requires recalculation of needed memory */ ++ ofb->port->mem_info.size = ofb->port->fixed_info.line_length * ofb->port->state_info.yres; ++ ++ /* Allocate buffer memory */ ++ ret = OMAPXVAllocPlane(pScrn); ++ if (ret != Success) ++ return ret; ++ ++ /* Workaround for reset of mode after memory allo */ ++ if (ioctl (ofb->port->fd, FBIOPUT_VSCREENINFO, &ofb->port->state_info)) ++ { ++ xf86Msg(X_ERROR, "%s: setting state info failed\n", __FUNCTION__); ++ return XvBadAlloc; ++ } ++ if (ioctl (ofb->port->fd, FBIOGET_VSCREENINFO, &ofb->port->state_info)) ++ { ++ xf86Msg(X_ERROR, "%s: Reading state info failed\n", __FUNCTION__); ++ return XvBadAlloc; ++ } + + if(ioctl(ofb->port->fd, OMAPFB_SETUP_PLANE, + &ofb->port->plane_info) != 0) { +@@ -124,6 +151,8 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn, + DrawablePtr pDraw) + { + OMAPFBPtr ofb = OMAPFB(pScrn); ++ short drw_temp; ++ short rot_xres, rot_yres; + + if (!ofb->port->plane_info.enabled + || ofb->port->update_window.x != src_x +@@ -163,13 +192,6 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn, + return Success; + } + +- /* If we don't have the plane running, enable it */ +- if (!ofb->port->plane_info.enabled) { +- ret = OMAPXVAllocPlane(pScrn); +- if (ret != Success) +- return ret; +- } +- + /* Set up the state info, xres and yres will be used for + * scaling to the values in the plane info struct + */ +@@ -179,12 +201,31 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn, + ofb->port->state_info.yres_virtual = 0; + ofb->port->state_info.xoffset = 0; + ofb->port->state_info.yoffset = 0; +- ofb->port->state_info.rotate = 0; ++ //ofb->port->state_info.rotate = 0; + ofb->port->state_info.grayscale = 0; + ofb->port->state_info.activate = FB_ACTIVATE_NOW; + ofb->port->state_info.bits_per_pixel = 0; + ofb->port->state_info.nonstd = xv_to_omapfb_format(image); + ++ /* Plane info does not rotate with state_info */ ++ if (ofb->port->state_info.rotate == 1 || ++ ofb->port->state_info.rotate == 3) { ++ drw_temp = drw_x; ++ drw_x = drw_y; ++ drw_y = drw_temp; ++ ++ drw_temp = drw_w; ++ drw_w = drw_h; ++ drw_h = drw_temp; ++ ++ rot_xres = ofb->port->state_info.yres; ++ rot_yres = ofb->port->state_info.xres; ++ } else { ++ rot_xres = ofb->port->state_info.xres; ++ rot_yres = ofb->port->state_info.yres; ++ } ++ ++ + /* Set up the video plane info */ + ofb->port->plane_info.enabled = 1; + ofb->port->plane_info.pos_x = drw_x; +@@ -193,13 +234,13 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn, + ofb->port->plane_info.out_height = drw_h & ~15; + + /* Cap output to screen size */ +- if (ofb->port->plane_info.out_width > ofb->state_info.xres) { ++ if (ofb->port->plane_info.out_width > rot_xres) { + ofb->port->plane_info.pos_x = 0; +- ofb->port->plane_info.out_width = ofb->state_info.xres; ++ ofb->port->plane_info.out_width = rot_xres; + } +- if (ofb->port->plane_info.out_height > ofb->state_info.yres) { ++ if (ofb->port->plane_info.out_height > rot_yres) { + ofb->port->plane_info.pos_y = 0; +- ofb->port->plane_info.out_height = ofb->state_info.yres; ++ ofb->port->plane_info.out_height = rot_yres; + } + + ret = OMAPXVSetupVideoPlane(pScrn); +@@ -223,6 +264,7 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn, + packed_line_copy(src_w & ~15, + src_h & ~15, + ((src_w + 1) & ~1) * 2, ++ ofb->port->fixed_info.line_length, + (uint8_t*)buf, + (uint8_t*)ofb->port->fb); + break; +diff --git a/src/omapfb-xv.c b/src/omapfb-xv.c +index 1df651e..0fee2c6 100644 +--- a/src/omapfb-xv.c ++++ b/src/omapfb-xv.c +@@ -169,8 +169,11 @@ static int OMAPFBXVQueryImageAttributes (ScrnInfoPtr pScrn, + h = *height; + + w = (w + 1) & ~1; ++ ++ /* Can't calculate these here - don't know line length + ofb->port->mem_info.size = w << 1; + ofb->port->mem_info.size *= h; ++ */ + + return size; + } +-- +1.7.5.4 + diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-blacklist-tv-out.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-blacklist-tv-out.patch new file mode 100644 index 000000000..9b1ee06ec --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-blacklist-tv-out.patch @@ -0,0 +1,27 @@ +commit 05efb061f1945425d214ff6b6050883e6d8633bf +Author: Koen Kooi <koen@dominion.thruhere.net> +Date: Wed Jan 26 13:21:12 2011 +0100 + + blacklist tv out + + The tv-out gets added last and the driver tries to reconfigure dvi to TV resolutions, which fails. so blacklist it + + Upstream-Status: Pending + + Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> + +diff --git a/src/omapfb-output-dss.c b/src/omapfb-output-dss.c +index 6cc52de..83cb711 100644 +--- a/src/omapfb-output-dss.c ++++ b/src/omapfb-output-dss.c +@@ -205,6 +205,10 @@ OMAPFBDSSOutputDetect (xf86OutputPtr output) + if(ofb->timings[idx][0] == '\0') + return XF86OutputStatusDisconnected; + ++ // Hack to disable the tv out ++ if (strncmp(output->name, "tv", 2) == 0) ++ return XF86OutputStatusDisconnected; ++ + return XF86OutputStatusConnected; + } + diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-force-plain-mode.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-force-plain-mode.patch new file mode 100644 index 000000000..bb298b0e6 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-force-plain-mode.patch @@ -0,0 +1,25 @@ +commit d28a36bbadc360a9409bf9832f1d4171d7c33dad +Author: Koen Kooi <koen@dominion.thruhere.net> +Date: Wed Jan 26 13:20:20 2011 +0100 + + force 'plain' mode + + The new DSS mode breaks XV, so force plain mode + + Upstream-Status: Pending + + Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> + +diff --git a/src/omapfb-driver.c b/src/omapfb-driver.c +index 018e040..48aa09c 100644 +--- a/src/omapfb-driver.c ++++ b/src/omapfb-driver.c +@@ -326,7 +326,7 @@ OMAPFBPreInit(ScrnInfoPtr pScrn, int flags) + OMAPFBProbeController(ofb->ctrl_name); + + /* Do we have the DSS kernel API? */ +- if (stat(SYSFS_DSS_DIR, &st) == 0) { ++ if (0) { //stat(SYSFS_DSS_DIR, &st) == 0) { + ofb->dss = TRUE; + } else { + ofb->dss = FALSE; diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-revert-set-CRTC-limit.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-revert-set-CRTC-limit.patch new file mode 100644 index 000000000..97bf022ab --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-revert-set-CRTC-limit.patch @@ -0,0 +1,34 @@ +commit 031516123d25a12808ab4e56ea8deda74946cdcd +Author: Koen Kooi <koen@dominion.thruhere.net> +Date: Wed Jan 26 12:04:36 2011 +0100 + + Revert "Set a large CRTC upper limit to not prune larger resolutions" + + Picture is garbled after switching resolutions, so revert it. + + Virtual size too big, revert the commit 9c4d7592dcb7dc20a48a6f941d9d94bd73d34153. + + Upstream-Status: Pending + +diff --git a/src/omapfb-crtc.c b/src/omapfb-crtc.c +index 9aaa52f..cbeff35 100644 +--- a/src/omapfb-crtc.c ++++ b/src/omapfb-crtc.c +@@ -190,13 +190,13 @@ OMAPFBCRTCInit(ScrnInfoPtr pScrn) + * In practise, this doesn't seem to be supported. + * (no way to setup the overlay offset/base address) + */ +- /* FIXME: figure out what makes sense here. A known max resolution? +- * framebuffer size? +- */ + xf86CrtcSetSizeRange(pScrn, +- 8, 8, 2048, 2048); ++ 8, 8, ++ ofb->state_info.xres_virtual, ++ ofb->state_info.yres_virtual); + + ofb->crtc = xf86CrtcCreate(pScrn, &OMAPFBCrtcFuncs); ++ + } + + diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-revert-set-virtual-size.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-revert-set-virtual-size.patch new file mode 100644 index 000000000..8a6eef5cc --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-revert-set-virtual-size.patch @@ -0,0 +1,25 @@ +commit cbae688d7df59938ccb4af534ec2ff75cbbe9221 +Author: Koen Kooi <koen@dominion.thruhere.net> +Date: Wed Jan 26 13:27:20 2011 +0100 + + Revert "Set virtual size when configuring framebuffer" + + Virtual size too big, so revert it. + + This reverts commit 2653ef07883fbd1a5e7025f9300cf89b79ba429a. + + Upstream-Status: Pending + +diff --git a/src/omapfb-crtc.c b/src/omapfb-crtc.c +index cbeff35..9655db2 100644 +--- a/src/omapfb-crtc.c ++++ b/src/omapfb-crtc.c +@@ -98,8 +98,6 @@ OMAPFBCrtcCommitChangeMode (xf86CrtcPtr crtc) + v = ofb->state_info; + v.xres = mode->HDisplay; + v.yres = mode->VDisplay; +- v.xres_virtual = crtc->scrn->virtualX; +- v.yres_virtual = crtc->scrn->virtualY; + v.activate = FB_ACTIVATE_NOW; + v.pixclock = KHZ2PICOS(mode->Clock ? mode->Clock : 56000); + v.left_margin = mode->HTotal - mode->HSyncEnd; diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omapfb-neon.diff b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omapfb-neon.diff new file mode 100644 index 000000000..fb3ac8c59 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omapfb-neon.diff @@ -0,0 +1,148 @@ +Upstream-Status: Pending + +--- /tmp/image-format-conversions.h 2009-02-03 10:18:04.000000000 +0100 ++++ git/src/image-format-conversions.h 2009-02-03 10:19:18.000000000 +0100 +@@ -30,6 +30,8 @@ + /* Basic C implementation of YV12/I420 to UYVY conversion */ + void uv12_to_uyvy(int w, int h, int y_pitch, int uv_pitch, uint8_t *y_p, uint8_t *u_p, uint8_t *v_p, uint8_t *dest); + ++/* NEON implementation of YV12/I420 to UYVY conversion */ ++void uv12_to_uyvy_neon(int w, int h, int y_pitch, int uv_pitch, uint8_t *y_p, uint8_t *u_p, uint8_t *v_p, uint8_t *dest); + + #endif /* __IMAGE_FORMAT_CONVERSIONS_H__ */ + +--- /tmp/image-format-conversions.c 2009-02-03 10:18:04.000000000 +0100 ++++ git/src/image-format-conversions.c 2009-02-03 10:16:47.000000000 +0100 +@@ -2,6 +2,7 @@ + * Copyright 2008 Kalle Vahlman, <zuh@iki.fi> + * Ilpo Ruotsalainen, <lonewolf@iki.fi> + * Tuomas Kulve, <tuomas.kulve@movial.com> ++ * Ian Rickards, <ian.rickards@arm.com> + * + * + * Permission to use, copy, modify, distribute and sell this software and its +@@ -89,3 +90,104 @@ + } + } + ++void uv12_to_uyvy_neon(int w, int h, int y_pitch, int uv_pitch, uint8_t *y_p, uint8_t *u_p, uint8_t *v_p, uint8_t *dest) ++{ ++ int x, y; ++ uint8_t *dest_even = dest; ++ uint8_t *dest_odd = dest + w * 2; ++ uint8_t *y_p_even = y_p; ++ uint8_t *y_p_odd = y_p + y_pitch; ++ ++ /*ErrorF("in uv12_to_uyvy, w: %d, pitch: %d\n", w, pitch);*/ ++ if (w<16) ++ { ++ for (y=0; y<h; y+=2) ++ { ++ for (x=0; x<w; x+=2) ++ { ++ /* Output two 2x1 macroblocks to form a 2x2 block from input */ ++ uint8_t u_val = *u_p++; ++ uint8_t v_val = *v_p++; ++ ++ /* Even row, first pixel */ ++ *dest_even++ = u_val; ++ *dest_even++ = *y_p_even++; ++ ++ /* Even row, second pixel */ ++ *dest_even++ = v_val; ++ *dest_even++ = *y_p_even++; ++ ++ /* Odd row, first pixel */ ++ *dest_odd++ = u_val; ++ *dest_odd++ = *y_p_odd++; ++ ++ /* Odd row, second pixel */ ++ *dest_odd++ = v_val; ++ *dest_odd++ = *y_p_odd++; ++ } ++ ++ dest_even += w * 2; ++ dest_odd += w * 2; ++ ++ u_p += ((uv_pitch << 1) - w) >> 1; ++ v_p += ((uv_pitch << 1) - w) >> 1; ++ ++ y_p_even += (y_pitch - w) + y_pitch; ++ y_p_odd += (y_pitch - w) + y_pitch; ++ } ++ } ++ else ++ { ++ for (y=0; y<h; y+=2) ++ { ++ x=w; ++ do { ++ // avoid using d8-d15 (q4-q7) aapcs callee-save registers ++ asm volatile ( ++ "1:\n\t" ++ "vld1.u8 {d0}, [%[u_p]]!\n\t" ++ "sub %[x],%[x],#16\n\t" ++ "cmp %[x],#16\n\t" ++ "vld1.u8 {d1}, [%[v_p]]!\n\t" ++ "vld1.u8 {q1}, [%[y_p_even]]!\n\t" ++ "vzip.u8 d0, d1\n\t" ++ "vld1.u8 {q2}, [%[y_p_odd]]!\n\t" ++ // use 2-element struct stores to zip up y with y&v ++ "vst2.u8 {q0,q1}, [%[dest_even]]!\n\t" ++ "vmov.u8 q1, q2\n\t" ++ "vst2.u8 {q0,q1}, [%[dest_odd]]!\n\t" ++ "bhs 1b\n\t" ++ : [u_p] "+r" (u_p), [v_p] "+r" (v_p), [y_p_even] "+r" (y_p_even), [y_p_odd] "+r" (y_p_odd), ++ [dest_even] "+r" (dest_even), [dest_odd] "+r" (dest_odd), ++ [x] "+r" (x) ++ : ++ : "cc", "memory", "d0","d1","d2","d3","d4","d5" ++ ); ++ if (x!=0) ++ { ++ // overlap final 16-pixel block to process requested width exactly ++ x = 16-x; ++ u_p -= x/2; ++ v_p -= x/2; ++ y_p_even -= x; ++ y_p_odd -= x; ++ dest_even -= x*2; ++ dest_odd -= x*2; ++ x = 16; ++ // do another 16-pixel block ++ } ++ } ++ while (x!=0); ++ ++ dest_even += w * 2; ++ dest_odd += w * 2; ++ ++ u_p += ((uv_pitch << 1) - w) >> 1; ++ v_p += ((uv_pitch << 1) - w) >> 1; ++ ++ y_p_even += (y_pitch - w) + y_pitch; ++ y_p_odd += (y_pitch - w) + y_pitch; ++ } ++ } ++} ++ +--- /tmp/omapfb-xv-generic.c 2009-02-03 10:52:18.000000000 +0100 ++++ git/src/omapfb-xv-generic.c 2009-02-03 10:52:24.000000000 +0100 +@@ -240,7 +240,7 @@ + uint8_t *yb = buf; + uint8_t *ub = yb + (src_y_pitch * src_h); + uint8_t *vb = ub + (src_uv_pitch * (src_h / 2)); +- uv12_to_uyvy(src_w & ~15, ++ uv12_to_uyvy_neon(src_w & ~15, + src_h & ~15, + src_y_pitch, + src_uv_pitch, +@@ -256,7 +256,7 @@ + uint8_t *yb = buf; + uint8_t *vb = yb + (src_y_pitch * src_h); + uint8_t *ub = vb + (src_uv_pitch * (src_h / 2)); +- uv12_to_uyvy(src_w & ~15, ++ uv12_to_uyvy_neon(src_w & ~15, + src_h & ~15, + src_y_pitch, + src_uv_pitch, diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb new file mode 100644 index 000000000..f16441e8d --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb @@ -0,0 +1,32 @@ +require xorg-driver-video.inc + +SUMMARY = "X.Org X server -- Texas Instruments OMAP framebuffer driver" + +DESCRIPTION = "omapfb driver supports the basic Texas Instruments OMAP \ +framebuffer." + +LICENSE = "MIT-X & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=63e2cbac53863f60e2f43343fb34367f" +DEPENDS += "virtual/libx11" + +SRCREV = "28c006c94e57ea71df11ec4fff79d7ffcfc4860f" +PR = "${INC_PR}.6" +PV = "0.1.1+gitr${SRCPV}" + +SRC_URI = "git://git.pingu.fi/xf86-video-omapfb;protocol=http \ + file://omap-revert-set-CRTC-limit.patch \ + file://omap-revert-set-virtual-size.patch \ + file://omap-force-plain-mode.patch \ + file://omap-blacklist-tv-out.patch \ + file://0004-Attempt-to-fix-VRFB.patch \ +" + +S = "${WORKDIR}/git" + +EXTRA_OECONF_armv7a = " --enable-neon " +CFLAGS += " -I${STAGING_INCDIR}/xorg " + +# Use overlay 2 on omap3 to enable other apps to use overlay 1 (e.g. dmai or omapfbplay) +do_compile_prepend_armv7a () { + sed -i -e s:fb1:fb2:g ${S}/src/omapfb-xv.c +} diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.0.bb b/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.0.bb new file mode 100644 index 000000000..f0c016758 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.0.bb @@ -0,0 +1,24 @@ +require xorg-driver-video.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=e5418e7a75e21268637984e70265e146" + +EXTRA_OECONF += "--disable-xvmc" + +SUMMARY = "X.Org X server -- Generic Vesa video driver" + +DESCRIPTION = "vesa is an Xorg driver for generic VESA video cards. It \ +can drive most VESA-compatible video cards, but only makes use of the \ +basic standard VESA core that is common to these cards. The driver \ +supports depths 8, 15 16 and 24." + +PR = "${INC_PR}.1" + +DEPENDS += "virtual/libx11 libxvmc drm xf86driproto glproto \ + virtual/libgl xineramaproto xf86driproto libpciaccess" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +RRECOMMENDS_${PN} += "xserver-xorg-module-libint10" + +SRC_URI[md5sum] = "07fa32958aff9b463dd3af5481ef6626" +SRC_URI[sha256sum] = "8ed85a0e94523539d81d5ae6639fa22ceb1c1e3baf89128915db65d4d2900d7a" diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-vmware_12.0.2.bb b/meta/recipes-graphics/xorg-driver/xf86-video-vmware_12.0.2.bb new file mode 100644 index 000000000..71f0339a4 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-vmware_12.0.2.bb @@ -0,0 +1,22 @@ +require xorg-driver-video.inc + +SUMMARY = "X.Org X server -- VMware SVGA display driver" + +DESCRIPTION = "vmware is an Xorg driver for VMware virtual video cards." + +LIC_FILES_CHKSUM = "file://COPYING;md5=5fcd7d437a959a15fbee8707747c6b53" + +DEPENDS += "virtual/libx11 libxvmc drm glproto \ + virtual/libgl xineramaproto libpciaccess" + +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "0743ec7c479603fba60d118858fd5783" +SRC_URI[sha256sum] = "c827875fd94805ec9b925fe09aaa973e7e3f9096c7ef311d449c3f134ae75147" + +COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)' + +do_install_append () { + # Remove useless empty directory + rmdir ${D}${bindir} +} diff --git a/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc b/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc new file mode 100644 index 000000000..9a474b76d --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc @@ -0,0 +1,33 @@ +DESCRIPTION = "X driver" +HOMEPAGE = "http://www.x.org" +BUGTRACKER = "https://bugs.freedesktop.org" +SECTION = "x11/drivers" +LICENSE = "MIT-X" + +PE = "2" +INC_PR = "r17" + +DEPENDS = "virtual/xserver xproto randrproto util-macros" + +SRC_URI = "${XORG_MIRROR}/individual/driver/${BPN}-${PV}.tar.bz2" + +S = "${WORKDIR}/${BPN}-${PV}" + +FILES_${PN} += " ${libdir}/xorg/modules/drivers/*.so" +FILES_${PN}-dbg += " ${libdir}/xorg/modules/drivers/.debug" + +inherit autotools pkgconfig + +# AC_CHECK_FILE doesn't work when cross compiling, so we create a replacement +# macro that simply assumes the test succeeds. +do_configure_prepend () { + echo 'AC_DEFUN(CC_AC_CHECK_FILE, $2)' > configure.ac.new + sed 's/AC_CHECK_FILE/CC_AC_CHECK_FILE/g' configure.ac >> configure.ac.new + mv configure.ac.new configure.ac +} + +# FIXME: We don't want to include the libtool archives (*.la) from modules +# directory, as they serve no useful purpose. Upstream should fix Makefile.am +do_install_append() { + find ${D}${libdir}/xorg/modules -regex ".*\.la$" | xargs rm -f -- +} diff --git a/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc b/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc new file mode 100644 index 000000000..bf4ca6cb7 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc @@ -0,0 +1,6 @@ +include xorg-driver-common.inc + +DEPENDS += "inputproto kbproto " + +FILES_${PN} += " ${libdir}/xorg/modules/input/*.so" +FILES_${PN}-dbg += " ${libdir}/xorg/modules/input/.debug" diff --git a/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc b/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc new file mode 100644 index 000000000..57c80d101 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc @@ -0,0 +1,4 @@ +include xorg-driver-common.inc + +DEPENDS =+ "renderproto videoproto xextproto fontsproto" + diff --git a/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch b/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch new file mode 100644 index 000000000..f330c185a --- /dev/null +++ b/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch @@ -0,0 +1,33 @@ +Upstream-Status: Inappropriate [configuration] + +XORG_DEFAULT_OPTIONS pulls in the following dependency chains: + +XORG_CWARNFLAGS -> AC_PROG_CC_C99 +XORG_STRICT_OPTION -> AC_PROG_CC_C99, XORG_CWARNFLAGS +XORG_MANPAGE_SECTIONS -> AC_CANONICAL_HOST -> Checks host + +each of which triggers the use of the host compiler. As an "all" +architecture package, it shouldn't need a compiler (and doesn't). + +RP 17/5/2011 + +Index: encodings-1.0.4/configure.ac +=================================================================== +--- encodings-1.0.4.orig/configure.ac 2011-05-17 23:36:19.505095876 +0100 ++++ encodings-1.0.4/configure.ac 2011-05-17 23:54:14.935096128 +0100 +@@ -4,12 +4,12 @@ + AM_INIT_AUTOMAKE([foreign dist-bzip2]) + AM_MAINTAINER_MODE + +-# Require xorg-macros: XORG_DEFAULT_OPTIONS + m4_ifndef([XORG_MACROS_VERSION], + [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) + XORG_MACROS_VERSION(1.3) +-XORG_DEFAULT_OPTIONS +- ++XORG_RELEASE_VERSION ++XORG_CHANGELOG ++XORG_INSTALL + AC_PROG_INSTALL + + # Require X.Org's font util macros 1.2 or later diff --git a/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb b/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb new file mode 100644 index 000000000..cf7b3e360 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb @@ -0,0 +1,21 @@ +SUMMARY = "The Xorg font encoding files" + +DESCRIPTION = "The encodings that map to specific characters for a \ +number of Xorg and common fonts." + +require xorg-font-common.inc +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://COPYING;md5=9da93f2daf2d5572faa2bfaf0dbd9e76" +PE = "1" +PR = "${INC_PR}.1" + +DEPENDS = "mkfontscale-native font-util-native" + +SRC_URI += "file://nocompiler.patch" + +inherit allarch + +EXTRA_OECONF += "--with-encodingsdir=${datadir}/fonts/X11/encodings" + +SRC_URI[md5sum] = "0f2d6546d514c5cc4ecf78a60657a5c1" +SRC_URI[sha256sum] = "ced6312988a45d23812c2ac708b4595f63fd7a49c4dcd9f66bdcd50d1057d539" diff --git a/meta/recipes-graphics/xorg-font/font-alias-1.0.3/nocompiler.patch b/meta/recipes-graphics/xorg-font/font-alias-1.0.3/nocompiler.patch new file mode 100644 index 000000000..0b9fb8ccc --- /dev/null +++ b/meta/recipes-graphics/xorg-font/font-alias-1.0.3/nocompiler.patch @@ -0,0 +1,32 @@ +Upstream-Status: Inappropriate [configuration] + +XORG_DEFAULT_OPTIONS pulls in the following dependency chains: + +XORG_CWARNFLAGS -> AC_PROG_CC_C99 +XORG_STRICT_OPTION -> AC_PROG_CC_C99, XORG_CWARNFLAGS +XORG_MANPAGE_SECTIONS -> AC_CANONICAL_HOST -> Checks host + +each of which triggers the use of the host compiler. As an "all" +architecture package, it shouldn't need a compiler (and doesn't). + +RP 17/5/2011 + +diff -uNr font-alias-1.0.3.orig//configure.ac font-alias-1.0.3/configure.ac +--- font-alias-1.0.3.orig//configure.ac 2011-05-18 21:29:18.378258643 +0200 ++++ font-alias-1.0.3/configure.ac 2011-05-18 21:32:06.865258593 +0200 +@@ -28,12 +28,12 @@ + AM_INIT_AUTOMAKE([foreign dist-bzip2]) + AM_MAINTAINER_MODE + +-# Require xorg-macros: XORG_DEFAULT_OPTIONS + m4_ifndef([XORG_MACROS_VERSION], + [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) + XORG_MACROS_VERSION(1.3) +-XORG_DEFAULT_OPTIONS +- ++XORG_RELEASE_VERSION ++XORG_CHANGELOG ++XORG_INSTALL + AC_PROG_INSTALL + + XORG_FONTROOTDIR diff --git a/meta/recipes-graphics/xorg-font/font-alias_1.0.3.bb b/meta/recipes-graphics/xorg-font/font-alias_1.0.3.bb new file mode 100644 index 000000000..a212f1964 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/font-alias_1.0.3.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "X font aliases." + +require xorg-font-common.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=bf0158b89be493d523d69d9f29265038 \ + file://cyrillic/fonts.alias;md5=f40795b0640d6785826aecd3b16f6124 \ + file://75dpi/fonts.alias;md5=6bc48023f2ae7f3bfc105db7b0ee6b49 \ + file://misc/fonts.alias;md5=a8ec05d528431d4c9703b55a7efd67a8 \ + file://100dpi/fonts.alias;md5=85bebd6ca213aa656c301a72eb4397cb" + +SRC_URI += "file://nocompiler.patch" + +DEPENDS = "util-macros-native" +RDEPENDS_${PN} = "encodings font-util" +RDEPENDS_${PN}_virtclass-native = "font-util-native" + +inherit allarch + +PE = "1" +PR = "${INC_PR}.3" + +SRC_URI[md5sum] = "6d25f64796fef34b53b439c2e9efa562" +SRC_URI[sha256sum] = "8b453b2aae1cfa8090009ca037037b8c5e333550651d5a158b7264ce1d472c9a" diff --git a/meta/recipes-graphics/xorg-font/font-util_1.3.0.bb b/meta/recipes-graphics/xorg-font/font-util_1.3.0.bb new file mode 100644 index 000000000..180c7dd49 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/font-util_1.3.0.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "X.Org font package creation/installation utilities" + +require xorg-font-common.inc + +#Unicode is MIT +LICENSE = "BSD & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=c0067273d90f6336008cb2504e14bd32 \ + file://ucs2any.c;endline=28;md5=8357dc567fc628bd12696f15b2a33bcb \ + file://bdftruncate.c;endline=26;md5=4f82ffc101a1b165eae9c6998abff937 \ + file://map-ISO8859-1;beginline=9;endline=23;md5=1cecb984063248f29ffe5c46f5c04f34" + +DEPENDS = "encodings util-macros" +DEPENDS_virtclass-native = "util-macros-native" +RDEPENDS_${PN} = "mkfontdir mkfontscale encodings" +RDEPENDS_${PN}_virtclass-native = "mkfontdir-native mkfontscale-native" + +PR = "${INC_PR}.0" + +do_configure_prepend() { + sed -i "s#MAPFILES_PATH=\`pkg-config#MAPFILES_PATH=\`PKG_CONFIG_PATH=\"${STAGING_LIBDIR_NATIVE}/pkg-config\" pkg-config#g" fontutil.m4.in +} + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "ddfc8a89d597651408369d940d03d06b" +SRC_URI[sha256sum] = "dfa9e55625a4e0250f32fabab1fd5c8ffcd2d1ff2720d6fcf0f74bc8a5929195" diff --git a/meta/recipes-graphics/xorg-font/xorg-font-common.inc b/meta/recipes-graphics/xorg-font/xorg-font-common.inc new file mode 100644 index 000000000..d93b4ee42 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-font-common.inc @@ -0,0 +1,45 @@ +HOMEPAGE = "http://www.x.org" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" + +SECTION = "x11/fonts" +LICENSE = "MIT-X" + +DEPENDS = " encodings font-alias font-util-native mkfontdir-native mkfontscale-native" +RDEPENDS_${PN} = "encodings font-util font-alias" + +XORG_PN = "${BPN}" +INC_PR = "r2" + +SRC_URI = "${XORG_MIRROR}/individual/font/${XORG_PN}-${PV}.tar.bz2" +S = "${WORKDIR}/${XORG_PN}-${PV}" + +inherit autotools pkgconfig + +EXTRA_OEMAKE += "FCCACHE=/bin/true" + +do_configure_prepend() { + if [ -f "${S}"/configure.ac ] ; then + sed -i "s#^MAPFILES_PATH=.*#MAPFILES_PATH=\"${STAGING_DIR_TARGET}/\$(pkg-config --variable=mapdir fontutil)\"#g" "${S}"/configure.ac + fi +} + +do_install_append() { + find ${D}${libdir}/X11/fonts -type f -name fonts.dir | xargs rm -f + find ${D}${libdir}/X11/fonts -type f -name fonts.scale | xargs rm -f + find ${D}${datadir}/fonts/X11 -type f -name fonts.dir | xargs rm -f + find ${D}${datadir}/fonts/X11 -type f -name fonts.scale | xargs rm -f +} + +FILES_${PN} += " ${libdir}/X11/fonts ${datadir}" + +pkg_postinst_${PN} () { + set -x + for fontdir in `find $D/usr/lib/X11/fonts -type d`; do + mkfontdir $fontdir + mkfontscale $fontdir + done + for fontdir in `find $D/usr/share/fonts/X11 -type d`; do + mkfontdir $fontdir + mkfontscale $fontdir + done +} diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb new file mode 100644 index 000000000..b1a65e7b8 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb @@ -0,0 +1,30 @@ +SUMMARY = "Xorg minimal fonts data" +DESCRIPTION = "Minimal fonts required by X.org." +HOMEPAGE = "http://www.x.org" +BUGTRACKER = "n/a" + +SECTION = "x11/fonts" + +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://../misc/fonts.alias;md5=bbe8d3c0e4e74af96e3ac393985c4fbb \ + file://../misc/fonts.dir;md5=82a143d94d6a974aafe97132d2d519ab \ + file://../misc/cursor.pcf.gz;md5=40bc81001fef4c21ca08df4305014a2a" + +SRC_URI = "file://misc" + +PE = "1" +PR = "r1" + +inherit allarch + +PACKAGES = "${PN}" +FILES_${PN} = "${libdir}/X11/ ${datadir}/fonts/X11/" + +do_install() { + install -d ${D}/${datadir}/fonts/X11/misc + install -m 0644 ${WORKDIR}/misc/* ${D}/${datadir}/fonts/X11/misc/ + install -d ${D}/${libdir}/X11 + ln -sf ${datadir}/fonts/X11/ ${D}/${libdir}/X11/fonts -s +} + + diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-1.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-1.pcf.gz Binary files differnew file mode 100644 index 000000000..8bc8570a4 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-1.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-10.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-10.pcf.gz Binary files differnew file mode 100644 index 000000000..8fa829015 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-10.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-11.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-11.pcf.gz Binary files differnew file mode 100644 index 000000000..bb1c5e138 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-11.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-13.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-13.pcf.gz Binary files differnew file mode 100644 index 000000000..842fa1b41 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-13.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-14.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-14.pcf.gz Binary files differnew file mode 100644 index 000000000..cd119b66d --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-14.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-15.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-15.pcf.gz Binary files differnew file mode 100644 index 000000000..25fe84a0e --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-15.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-16.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-16.pcf.gz Binary files differnew file mode 100644 index 000000000..e362c70ce --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-16.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-2.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-2.pcf.gz Binary files differnew file mode 100644 index 000000000..176a7591c --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-2.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-3.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-3.pcf.gz Binary files differnew file mode 100644 index 000000000..a4faf1a6c --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-3.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-4.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-4.pcf.gz Binary files differnew file mode 100644 index 000000000..96ddd1525 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-4.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-5.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-5.pcf.gz Binary files differnew file mode 100644 index 000000000..541a2ad2c --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-5.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-7.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-7.pcf.gz Binary files differnew file mode 100644 index 000000000..a4986f406 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-7.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-8.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-8.pcf.gz Binary files differnew file mode 100644 index 000000000..3f89abe77 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-8.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-9.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-9.pcf.gz Binary files differnew file mode 100644 index 000000000..432b53622 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-9.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-KOI8-R.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-KOI8-R.pcf.gz Binary files differnew file mode 100644 index 000000000..e7fcb898e --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-KOI8-R.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13.pcf.gz Binary files differnew file mode 100644 index 000000000..2df635537 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-1.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-1.pcf.gz Binary files differnew file mode 100644 index 000000000..a263c5dd3 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-1.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-10.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-10.pcf.gz Binary files differnew file mode 100644 index 000000000..a1a7d37e6 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-10.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-13.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-13.pcf.gz Binary files differnew file mode 100644 index 000000000..a148e99bc --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-13.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-14.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-14.pcf.gz Binary files differnew file mode 100644 index 000000000..8791b8ca3 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-14.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-15.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-15.pcf.gz Binary files differnew file mode 100644 index 000000000..860450868 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-15.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-16.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-16.pcf.gz Binary files differnew file mode 100644 index 000000000..f28b1f1c4 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-16.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-2.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-2.pcf.gz Binary files differnew file mode 100644 index 000000000..fd1e6cfe9 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-2.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-3.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-3.pcf.gz Binary files differnew file mode 100644 index 000000000..672b75942 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-3.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-4.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-4.pcf.gz Binary files differnew file mode 100644 index 000000000..d90a4330d --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-4.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-5.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-5.pcf.gz Binary files differnew file mode 100644 index 000000000..775e7c18b --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-5.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-7.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-7.pcf.gz Binary files differnew file mode 100644 index 000000000..ac12fd98a --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-7.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-8.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-8.pcf.gz Binary files differnew file mode 100644 index 000000000..42bbd5221 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-8.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-9.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-9.pcf.gz Binary files differnew file mode 100644 index 000000000..690d31f86 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-9.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B.pcf.gz Binary files differnew file mode 100644 index 000000000..d4c3184c7 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-1.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-1.pcf.gz Binary files differnew file mode 100644 index 000000000..884b5130c --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-1.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-10.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-10.pcf.gz Binary files differnew file mode 100644 index 000000000..cbb1a9d70 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-10.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-13.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-13.pcf.gz Binary files differnew file mode 100644 index 000000000..78c8580cf --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-13.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-14.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-14.pcf.gz Binary files differnew file mode 100644 index 000000000..0e90f3ee1 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-14.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-15.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-15.pcf.gz Binary files differnew file mode 100644 index 000000000..bd1273e1f --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-15.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-16.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-16.pcf.gz Binary files differnew file mode 100644 index 000000000..5100b429a --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-16.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-2.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-2.pcf.gz Binary files differnew file mode 100644 index 000000000..ec5bbed29 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-2.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-3.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-3.pcf.gz Binary files differnew file mode 100644 index 000000000..06c835ee6 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-3.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-4.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-4.pcf.gz Binary files differnew file mode 100644 index 000000000..478541c2a --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-4.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-5.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-5.pcf.gz Binary files differnew file mode 100644 index 000000000..1c593ce0c --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-5.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-7.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-7.pcf.gz Binary files differnew file mode 100644 index 000000000..335cf5fc3 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-7.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-9.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-9.pcf.gz Binary files differnew file mode 100644 index 000000000..099423e64 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-9.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O.pcf.gz Binary files differnew file mode 100644 index 000000000..4a546ddb1 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/cursor.pcf.gz b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/cursor.pcf.gz Binary files differnew file mode 100644 index 000000000..72eb72bbe --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/cursor.pcf.gz diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/fonts.alias b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/fonts.alias new file mode 100644 index 000000000..390003673 --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/fonts.alias @@ -0,0 +1,80 @@ +!! fonts.alias -- automatically generated file. DO NOT EDIT. +!! To modify, see update-fonts-alias(8). +!! /etc/X11/fonts/misc/xfonts-base.alias +! $Xorg: fonts.alias,v 1.3 2000/08/21 16:42:31 coskrey Exp $ +fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 +variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-1 +5x7 -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-1 +5x8 -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-1 +6x9 -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-1 +6x10 -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1 +6x12 -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-1 +6x13 -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 +6x13bold -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1 +7x13 -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1 +7x13bold -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-1 +7x13euro -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-15 +7x13eurobold -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-15 +7x14 -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1 +7x14bold -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-1 +8x13 -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1 +8x13bold -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-1 +8x16 -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1 +9x15 -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1 +9x15bold -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1 +10x20 -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1 +12x24 -sony-fixed-medium-r-normal--24-170-100-100-c-120-iso8859-1 +nil2 -misc-nil-medium-r-normal--2-20-75-75-c-10-misc-fontspecific + +heb6x13 -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-8 +heb8x13 -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-8 + +k14 -misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0208.1983-0 +a14 -misc-fixed-medium-r-normal--14-*-*-*-*-*-iso8859-1 +r14 -misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0201.1976-0 +rk14 -misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0201.1976-0 +r16 -sony-fixed-medium-r-normal--16-*-*-*-*-*-jisx0201.1976-0 +rk16 -sony-fixed-medium-r-normal--16-*-*-*-*-*-jisx0201.1976-0 +r24 -sony-fixed-medium-r-normal--24-*-*-*-*-*-jisx0201.1976-0 +rk24 -sony-fixed-medium-r-normal--24-*-*-*-*-*-jisx0201.1976-0 +kana14 -misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0201.1976-0 +8x16kana -sony-fixed-medium-r-normal--16-120-100-100-c-80-jisx0201.1976-0 +8x16romankana -sony-fixed-medium-r-normal--16-120-100-100-c-80-jisx0201.1976-0 +12x24kana -sony-fixed-medium-r-normal--24-170-100-100-c-120-jisx0201.1976-0 +12x24romankana -sony-fixed-medium-r-normal--24-170-100-100-c-120-jisx0201.1976-0 +kanji16 -jis-fixed-medium-r-normal--16-*-*-*-*-*-jisx0208.1983-0 +kanji24 -jis-fixed-medium-r-normal--24-*-*-*-*-*-jisx0208.1983-0 + +hanzigb16st "-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0" +hanzigb24st "-isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0" +hanzigb16fs "-isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0" + +olcursor "-sun-open look cursor-----12-120-75-75-p-160-sunolcursor-1" +olglyph-10 "-sun-open look glyph-----10-100-75-75-p-101-sunolglyph-1" +olglyph-12 "-sun-open look glyph-----12-120-75-75-p-113-sunolglyph-1" +olglyph-14 "-sun-open look glyph-----14-140-75-75-p-128-sunolglyph-1" +olglyph-19 "-sun-open look glyph-----19-190-75-75-p-154-sunolglyph-1" + +-misc-fixed-medium-r-normal--7-50-100-100-c-50-iso8859-1 -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-1 +-misc-fixed-medium-r-normal--8-60-100-100-c-50-iso8859-1 -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-1 +-misc-fixed-medium-r-normal--9-80-100-100-c-60-iso8859-1 -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-1 +-misc-fixed-medium-r-normal--10-70-100-100-c-60-iso8859-1 -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1 +-misc-fixed-medium-r-semicondensed--12-90-100-100-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-1 +-misc-fixed-medium-r-semicondensed--13-100-100-100-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 +-misc-fixed-bold-r-semicondensed--13-100-100-100-c-60-iso8859-1 -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1 +-misc-fixed-medium-r-normal--13-100-100-100-c-70-iso8859-1 -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1 +-misc-fixed-bold-r-normal--13-100-100-100-c-70-iso8859-1 -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-1 +-misc-fixed-medium-r-normal--13-100-100-100-c-80-iso8859-1 -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1 +-misc-fixed-bold-r-normal--13-100-100-100-c-80-iso8859-1 -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-1 +-misc-fixed-medium-r-normal--14-110-100-100-c-70-iso8859-1 -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1 +-misc-fixed-medium-r-normal--15-120-100-100-c-90-iso8859-1 -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1 +-misc-fixed-bold-r-normal--15-120-100-100-c-90-iso8859-1 -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1 +-misc-fixed-medium-r-normal--20-140-100-100-c-100-iso8859-1 -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1 +-misc-fixed-medium-r-semicondensed--13-100-100-100-c-60-iso8859-8 -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-8 +-misc-fixed-medium-r-normal--13-100-100-100-c-80-iso8859-8 -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-8 +-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1 -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1 +-sony-fixed-medium-r-normal--16-150-75-75-c-80-jisx0201.1976-0 -sony-fixed-medium-r-normal--16-120-100-100-c-80-jisx0201.1976-0 +-sony-fixed-medium-r-normal--24-230-75-75-c-120-iso8859-1 -sony-fixed-medium-r-normal--24-170-100-100-c-120-iso8859-1 +-sony-fixed-medium-r-normal--24-230-75-75-c-120-jisx0201.1976-0 -sony-fixed-medium-r-normal--24-170-100-100-c-120-jisx0201.1976-0 +-jis-fixed-medium-r-normal--16-110-100-100-c-160-jisx0208.1983-0 -jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0 +-jis-fixed-medium-r-normal--24-170-100-100-c-240-jisx0208.1983-0 -jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-0 diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/fonts.dir b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/fonts.dir new file mode 100644 index 000000000..0a2718f7b --- /dev/null +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/fonts.dir @@ -0,0 +1,410 @@ +409 +10x20-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1 +10x20-ISO8859-10.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-10 +10x20-ISO8859-11.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-11 +10x20-ISO8859-13.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-13 +10x20-ISO8859-14.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-14 +10x20-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-15 +10x20-ISO8859-16.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-16 +10x20-ISO8859-2.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-2 +10x20-ISO8859-3.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-3 +10x20-ISO8859-4.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-4 +10x20-ISO8859-5.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-5 +10x20-ISO8859-7.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-7 +10x20-ISO8859-8.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-8 +10x20-ISO8859-9.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-9 +10x20-KOI8-R.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-koi8-r +10x20.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1 +12x13ja.pcf.gz -misc-fixed-medium-r-normal-ja-13-120-75-75-c-120-iso10646-1 +12x24.pcf.gz -sony-fixed-medium-r-normal--24-170-100-100-c-120-iso8859-1 +12x24rk.pcf.gz -sony-fixed-medium-r-normal--24-170-100-100-c-120-jisx0201.1976-0 +18x18ja.pcf.gz -misc-fixed-medium-r-normal-ja-18-120-100-100-c-180-iso10646-1 +18x18ko.pcf.gz -misc-fixed-medium-r-normal-ko-18-120-100-100-c-180-iso10646-1 +4x6-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-1 +4x6-ISO8859-10.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-10 +4x6-ISO8859-13.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-13 +4x6-ISO8859-14.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-14 +4x6-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-15 +4x6-ISO8859-16.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-16 +4x6-ISO8859-2.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-2 +4x6-ISO8859-3.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-3 +4x6-ISO8859-4.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-4 +4x6-ISO8859-5.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-5 +4x6-ISO8859-7.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-7 +4x6-ISO8859-8.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-8 +4x6-ISO8859-9.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-9 +4x6-KOI8-R.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-koi8-r +4x6.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso10646-1 +5x7-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-1 +5x7-ISO8859-10.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-10 +5x7-ISO8859-13.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-13 +5x7-ISO8859-14.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-14 +5x7-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-15 +5x7-ISO8859-16.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-16 +5x7-ISO8859-2.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-2 +5x7-ISO8859-3.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-3 +5x7-ISO8859-4.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-4 +5x7-ISO8859-5.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-5 +5x7-ISO8859-7.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-7 +5x7-ISO8859-8.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-8 +5x7-ISO8859-9.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-9 +5x7-KOI8-R.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-koi8-r +5x7.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso10646-1 +5x8-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-1 +5x8-ISO8859-10.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-10 +5x8-ISO8859-13.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-13 +5x8-ISO8859-14.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-14 +5x8-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-15 +5x8-ISO8859-16.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-16 +5x8-ISO8859-2.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-2 +5x8-ISO8859-3.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-3 +5x8-ISO8859-4.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-4 +5x8-ISO8859-5.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-5 +5x8-ISO8859-7.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-7 +5x8-ISO8859-8.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-8 +5x8-ISO8859-9.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-9 +5x8-KOI8-R.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-koi8-r +5x8.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso10646-1 +6x10-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1 +6x10-ISO8859-10.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-10 +6x10-ISO8859-13.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-13 +6x10-ISO8859-14.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-14 +6x10-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-15 +6x10-ISO8859-16.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-16 +6x10-ISO8859-2.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-2 +6x10-ISO8859-3.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-3 +6x10-ISO8859-4.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-4 +6x10-ISO8859-5.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-5 +6x10-ISO8859-7.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-7 +6x10-ISO8859-8.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-8 +6x10-ISO8859-9.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-9 +6x10-KOI8-R.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-koi8-r +6x10.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso10646-1 +6x12-ISO8859-1.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-1 +6x12-ISO8859-10.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-10 +6x12-ISO8859-13.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-13 +6x12-ISO8859-14.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-14 +6x12-ISO8859-15.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-15 +6x12-ISO8859-16.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-16 +6x12-ISO8859-2.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-2 +6x12-ISO8859-3.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-3 +6x12-ISO8859-4.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-4 +6x12-ISO8859-5.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-5 +6x12-ISO8859-7.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-7 +6x12-ISO8859-8.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-8 +6x12-ISO8859-9.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-9 +6x12-KOI8-R.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-koi8-r +6x12.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso10646-1 +6x13-ISO8859-1.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 +6x13-ISO8859-10.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-10 +6x13-ISO8859-11.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-11 +6x13-ISO8859-13.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-13 +6x13-ISO8859-14.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-14 +6x13-ISO8859-15.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15 +6x13-ISO8859-16.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-16 +6x13-ISO8859-2.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-2 +6x13-ISO8859-3.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-3 +6x13-ISO8859-4.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-4 +6x13-ISO8859-5.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-5 +6x13-ISO8859-7.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-7 +6x13-ISO8859-8.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-8 +6x13-ISO8859-9.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-9 +6x13-KOI8-R.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-koi8-r +6x13.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1 +6x13B-ISO8859-1.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1 +6x13B-ISO8859-10.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-10 +6x13B-ISO8859-13.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-13 +6x13B-ISO8859-14.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-14 +6x13B-ISO8859-15.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-15 +6x13B-ISO8859-16.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-16 +6x13B-ISO8859-2.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-2 +6x13B-ISO8859-3.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-3 +6x13B-ISO8859-4.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-4 +6x13B-ISO8859-5.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-5 +6x13B-ISO8859-7.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-7 +6x13B-ISO8859-8.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-8 +6x13B-ISO8859-9.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-9 +6x13B.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso10646-1 +6x13O-ISO8859-1.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-1 +6x13O-ISO8859-10.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-10 +6x13O-ISO8859-13.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-13 +6x13O-ISO8859-14.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-14 +6x13O-ISO8859-15.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-15 +6x13O-ISO8859-16.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-16 +6x13O-ISO8859-2.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-2 +6x13O-ISO8859-3.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-3 +6x13O-ISO8859-4.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-4 +6x13O-ISO8859-5.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-5 +6x13O-ISO8859-7.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-7 +6x13O-ISO8859-9.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-9 +6x13O.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso10646-1 +6x9-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-1 +6x9-ISO8859-10.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-10 +6x9-ISO8859-13.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-13 +6x9-ISO8859-14.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-14 +6x9-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-15 +6x9-ISO8859-16.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-16 +6x9-ISO8859-2.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-2 +6x9-ISO8859-3.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-3 +6x9-ISO8859-4.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-4 +6x9-ISO8859-5.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-5 +6x9-ISO8859-7.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-7 +6x9-ISO8859-8.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-8 +6x9-ISO8859-9.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-9 +6x9-KOI8-R.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-koi8-r +6x9.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso10646-1 +7x13-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1 +7x13-ISO8859-10.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-10 +7x13-ISO8859-11.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-11 +7x13-ISO8859-13.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-13 +7x13-ISO8859-14.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-14 +7x13-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-15 +7x13-ISO8859-16.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-16 +7x13-ISO8859-2.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-2 +7x13-ISO8859-3.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-3 +7x13-ISO8859-4.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-4 +7x13-ISO8859-5.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-5 +7x13-ISO8859-7.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-7 +7x13-ISO8859-8.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-8 +7x13-ISO8859-9.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-9 +7x13-KOI8-R.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-koi8-r +7x13.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso10646-1 +7x13B-ISO8859-1.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-1 +7x13B-ISO8859-10.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-10 +7x13B-ISO8859-11.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-11 +7x13B-ISO8859-13.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-13 +7x13B-ISO8859-14.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-14 +7x13B-ISO8859-15.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-15 +7x13B-ISO8859-16.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-16 +7x13B-ISO8859-2.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-2 +7x13B-ISO8859-3.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-3 +7x13B-ISO8859-4.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-4 +7x13B-ISO8859-5.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-5 +7x13B-ISO8859-7.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-7 +7x13B-ISO8859-8.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-8 +7x13B-ISO8859-9.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-9 +7x13B.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso10646-1 +7x13O-ISO8859-1.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-1 +7x13O-ISO8859-10.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-10 +7x13O-ISO8859-11.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-11 +7x13O-ISO8859-13.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-13 +7x13O-ISO8859-14.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-14 +7x13O-ISO8859-15.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-15 +7x13O-ISO8859-16.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-16 +7x13O-ISO8859-2.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-2 +7x13O-ISO8859-3.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-3 +7x13O-ISO8859-4.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-4 +7x13O-ISO8859-5.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-5 +7x13O-ISO8859-7.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-7 +7x13O-ISO8859-9.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-9 +7x13O.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso10646-1 +7x14-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1 +7x14-ISO8859-10.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-10 +7x14-ISO8859-11.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-11 +7x14-ISO8859-13.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-13 +7x14-ISO8859-14.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-14 +7x14-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-15 +7x14-ISO8859-16.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-16 +7x14-ISO8859-2.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-2 +7x14-ISO8859-3.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-3 +7x14-ISO8859-4.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-4 +7x14-ISO8859-5.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-5 +7x14-ISO8859-7.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-7 +7x14-ISO8859-8.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-8 +7x14-ISO8859-9.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-9 +7x14-JISX0201.1976-0.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-jisx0201.1976-0 +7x14-KOI8-R.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-koi8-r +7x14.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1 +7x14B-ISO8859-1.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-1 +7x14B-ISO8859-10.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-10 +7x14B-ISO8859-11.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-11 +7x14B-ISO8859-13.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-13 +7x14B-ISO8859-14.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-14 +7x14B-ISO8859-15.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-15 +7x14B-ISO8859-16.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-16 +7x14B-ISO8859-2.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-2 +7x14B-ISO8859-3.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-3 +7x14B-ISO8859-4.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-4 +7x14B-ISO8859-5.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-5 +7x14B-ISO8859-7.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-7 +7x14B-ISO8859-8.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-8 +7x14B-ISO8859-9.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-9 +7x14B.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso10646-1 +8x13-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1 +8x13-ISO8859-10.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-10 +8x13-ISO8859-13.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-13 +8x13-ISO8859-14.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-14 +8x13-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-15 +8x13-ISO8859-16.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-16 +8x13-ISO8859-2.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-2 +8x13-ISO8859-3.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-3 +8x13-ISO8859-4.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-4 +8x13-ISO8859-5.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-5 +8x13-ISO8859-7.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-7 +8x13-ISO8859-8.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-8 +8x13-ISO8859-9.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-9 +8x13-KOI8-R.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-koi8-r +8x13.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1 +8x13B-ISO8859-1.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-1 +8x13B-ISO8859-10.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-10 +8x13B-ISO8859-13.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-13 +8x13B-ISO8859-14.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-14 +8x13B-ISO8859-15.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-15 +8x13B-ISO8859-16.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-16 +8x13B-ISO8859-2.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-2 +8x13B-ISO8859-3.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-3 +8x13B-ISO8859-4.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-4 +8x13B-ISO8859-5.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-5 +8x13B-ISO8859-7.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-7 +8x13B-ISO8859-8.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-8 +8x13B-ISO8859-9.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-9 +8x13B.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso10646-1 +8x13O-ISO8859-1.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-1 +8x13O-ISO8859-10.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-10 +8x13O-ISO8859-13.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-13 +8x13O-ISO8859-14.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-14 +8x13O-ISO8859-15.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-15 +8x13O-ISO8859-16.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-16 +8x13O-ISO8859-2.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-2 +8x13O-ISO8859-3.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-3 +8x13O-ISO8859-4.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-4 +8x13O-ISO8859-5.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-5 +8x13O-ISO8859-7.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-7 +8x13O-ISO8859-9.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-9 +8x13O.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso10646-1 +8x16.pcf.gz -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1 +8x16rk.pcf.gz -sony-fixed-medium-r-normal--16-120-100-100-c-80-jisx0201.1976-0 +9x15-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1 +9x15-ISO8859-10.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-10 +9x15-ISO8859-11.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-11 +9x15-ISO8859-13.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-13 +9x15-ISO8859-14.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-14 +9x15-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-15 +9x15-ISO8859-16.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-16 +9x15-ISO8859-2.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-2 +9x15-ISO8859-3.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-3 +9x15-ISO8859-4.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-4 +9x15-ISO8859-5.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-5 +9x15-ISO8859-7.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-7 +9x15-ISO8859-8.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-8 +9x15-ISO8859-9.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-9 +9x15-KOI8-R.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-koi8-r +9x15.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1 +9x15B-ISO8859-1.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1 +9x15B-ISO8859-10.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-10 +9x15B-ISO8859-11.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-11 +9x15B-ISO8859-13.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-13 +9x15B-ISO8859-14.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-14 +9x15B-ISO8859-15.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-15 +9x15B-ISO8859-16.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-16 +9x15B-ISO8859-2.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-2 +9x15B-ISO8859-3.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-3 +9x15B-ISO8859-4.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-4 +9x15B-ISO8859-5.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-5 +9x15B-ISO8859-7.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-7 +9x15B-ISO8859-8.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-8 +9x15B-ISO8859-9.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-9 +9x15B.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1 +9x18-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-1 +9x18-ISO8859-10.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-10 +9x18-ISO8859-11.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-11 +9x18-ISO8859-13.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-13 +9x18-ISO8859-14.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-14 +9x18-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-15 +9x18-ISO8859-16.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-16 +9x18-ISO8859-2.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-2 +9x18-ISO8859-3.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-3 +9x18-ISO8859-4.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-4 +9x18-ISO8859-5.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-5 +9x18-ISO8859-7.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-7 +9x18-ISO8859-8.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-8 +9x18-ISO8859-9.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-9 +9x18-KOI8-R.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-koi8-r +9x18.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1 +9x18B-ISO8859-1.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-1 +9x18B-ISO8859-10.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-10 +9x18B-ISO8859-13.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-13 +9x18B-ISO8859-14.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-14 +9x18B-ISO8859-15.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-15 +9x18B-ISO8859-16.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-16 +9x18B-ISO8859-2.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-2 +9x18B-ISO8859-3.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-3 +9x18B-ISO8859-4.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-4 +9x18B-ISO8859-5.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-5 +9x18B-ISO8859-7.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-7 +9x18B-ISO8859-8.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-8 +9x18B-ISO8859-9.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-9 +9x18B.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso10646-1 +arabic24.pcf.gz -arabic-newspaper-medium-r-normal--32-246-100-100-p-137-iso10646-1 +clB6x10.pcf.gz -schumacher-clean-bold-r-normal--10-100-75-75-c-60-iso646.1991-irv +clB6x12.pcf.gz -schumacher-clean-bold-r-normal--12-120-75-75-c-60-iso646.1991-irv +clB8x10.pcf.gz -schumacher-clean-bold-r-normal--10-100-75-75-c-80-iso646.1991-irv +clB8x12.pcf.gz -schumacher-clean-bold-r-normal--12-120-75-75-c-80-iso646.1991-irv +clB8x13.pcf.gz -schumacher-clean-bold-r-normal--13-130-75-75-c-80-iso646.1991-irv +clB8x14.pcf.gz -schumacher-clean-bold-r-normal--14-140-75-75-c-80-iso646.1991-irv +clB8x16.pcf.gz -schumacher-clean-bold-r-normal--16-160-75-75-c-80-iso646.1991-irv +clB8x8.pcf.gz -schumacher-clean-bold-r-normal--8-80-75-75-c-80-iso646.1991-irv +clB9x15.pcf.gz -schumacher-clean-bold-r-normal--15-150-75-75-c-90-iso646.1991-irv +clI6x12.pcf.gz -schumacher-clean-medium-i-normal--12-120-75-75-c-60-iso646.1991-irv +clI8x8.pcf.gz -schumacher-clean-medium-i-normal--8-80-75-75-c-80-iso646.1991-irv +clR4x6.pcf.gz -schumacher-clean-medium-r-normal--6-60-75-75-c-40-iso646.1991-irv +clR5x10.pcf.gz -schumacher-clean-medium-r-normal--10-100-75-75-c-50-iso646.1991-irv +clR5x6.pcf.gz -schumacher-clean-medium-r-normal--6-60-75-75-c-50-iso646.1991-irv +clR5x8.pcf.gz -schumacher-clean-medium-r-normal--8-80-75-75-c-50-iso646.1991-irv +clR6x10.pcf.gz -schumacher-clean-medium-r-normal--10-100-75-75-c-60-iso646.1991-irv +clR6x12-ISO8859-1.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-1 +clR6x12-ISO8859-10.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-10 +clR6x12-ISO8859-13.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-13 +clR6x12-ISO8859-14.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-14 +clR6x12-ISO8859-15.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-15 +clR6x12-ISO8859-16.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-16 +clR6x12-ISO8859-2.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-2 +clR6x12-ISO8859-3.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-3 +clR6x12-ISO8859-4.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-4 +clR6x12-ISO8859-5.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-5 +clR6x12-ISO8859-7.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-7 +clR6x12-ISO8859-8.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-8 +clR6x12-ISO8859-9.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-9 +clR6x12-KOI8-R.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-koi8-r +clR6x12.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso10646-1 +clR6x13.pcf.gz -schumacher-clean-medium-r-normal--13-130-75-75-c-60-iso646.1991-irv +clR6x6.pcf.gz -schumacher-clean-medium-r-normal--6-60-75-75-c-60-iso646.1991-irv +clR6x8.pcf.gz -schumacher-clean-medium-r-normal--8-80-75-75-c-60-iso646.1991-irv +clR7x10.pcf.gz -schumacher-clean-medium-r-normal--10-100-75-75-c-70-iso646.1991-irv +clR7x12.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-70-iso646.1991-irv +clR7x14.pcf.gz -schumacher-clean-medium-r-normal--14-140-75-75-c-70-iso646.1991-irv +clR7x8.pcf.gz -schumacher-clean-medium-r-normal--8-80-75-75-c-70-iso646.1991-irv +clR8x10.pcf.gz -schumacher-clean-medium-r-normal--10-100-75-75-c-80-iso646.1991-irv +clR8x12.pcf.gz -schumacher-clean-medium-r-normal--12-120-75-75-c-80-iso646.1991-irv +clR8x13.pcf.gz -schumacher-clean-medium-r-normal--13-130-75-75-c-80-iso646.1991-irv +clR8x14.pcf.gz -schumacher-clean-medium-r-normal--14-140-75-75-c-80-iso646.1991-irv +clR8x16.pcf.gz -schumacher-clean-medium-r-normal--16-160-75-75-c-80-iso646.1991-irv +clR8x8.pcf.gz -schumacher-clean-medium-r-normal--8-80-75-75-c-80-iso646.1991-irv +clR9x15.pcf.gz -schumacher-clean-medium-r-normal--15-150-75-75-c-90-iso646.1991-irv +cu-alt12.pcf.gz -mutt-clearlyu alternate glyphs-medium-r-normal--17-120-100-100-p-122-iso10646-1 +cu-arabic12.pcf.gz -mutt-clearlyu arabic extra-medium-r-normal--17-120-100-100-p-101-fontspecific-0 +cu-devnag12.pcf.gz -mutt-clearlyu devangari extra-medium-r-normal--17-120-100-100-p-105-fontspecific-0 +cu-lig12.pcf.gz -mutt-clearlyu ligature-medium-r-normal--17-120-100-100-p-141-fontspecific-0 +cu-pua12.pcf.gz -mutt-clearlyu pua-medium-r-normal--17-120-100-100-p-110-iso10646-1 +cu12.pcf.gz -mutt-clearlyu-medium-r-normal--17-120-100-100-p-123-iso10646-1 +cuarabic12.pcf.gz -mutt-clearlyu arabic-medium-r-normal--17-120-100-100-p-93-iso10646-1 +cudevnag12.pcf.gz -mutt-clearlyu devanagari-medium-r-normal--15-120-90-90-p-104-fontspecific-0 +cursor.pcf.gz cursor +deccurs.pcf.gz decw$cursor +decsess.pcf.gz decw$session +gb16fs.pcf.gz -isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0 +gb16st.pcf.gz -isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0 +gb24st.pcf.gz -isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0 +hanglg16.pcf.gz -daewoo-gothic-medium-r-normal--16-120-100-100-c-160-ksc5601.1987-0 +hanglm16.pcf.gz -daewoo-mincho-medium-r-normal--16-120-100-100-c-160-ksc5601.1987-0 +hanglm24.pcf.gz -daewoo-mincho-medium-r-normal--24-170-100-100-c-240-ksc5601.1987-0 +jiskan16.pcf.gz -jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0 +jiskan24.pcf.gz -jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-0 +k14.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0 +micro.pcf.gz micro +nil2.pcf.gz -misc-nil-medium-r-normal--2-20-75-75-c-10-misc-fontspecific +olcursor.pcf.gz -sun-open look cursor-----12-120-75-75-p-160-sunolcursor-1 +olgl10.pcf.gz -sun-open look glyph-----10-100-75-75-p-101-sunolglyph-1 +olgl12.pcf.gz -sun-open look glyph-----12-120-75-75-p-113-sunolglyph-1 +olgl14.pcf.gz -sun-open look glyph-----14-140-75-75-p-128-sunolglyph-1 +olgl19.pcf.gz -sun-open look glyph-----19-190-75-75-p-154-sunolglyph-1 diff --git a/meta/recipes-graphics/xorg-lib/libdmx_1.1.2.bb b/meta/recipes-graphics/xorg-lib/libdmx_1.1.2.bb new file mode 100644 index 000000000..9d876bbb5 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libdmx_1.1.2.bb @@ -0,0 +1,21 @@ +require xorg-lib-common.inc + +SUMMARY = "DMX: Distributed Multihead X extension library" + +DESCRIPTION = "The DMX extension provides support for communication with \ +and control of Xdmx(1) server. Attributes of the Xdmx(1) server and of \ +the back-end screens attached to the server can be queried and modified \ +via this protocol." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=a3c3499231a8035efd0e004cfbd3b72a \ + file://src/dmx.c;endline=33;md5=c43f19af03c7c8619cadc9724ed9afe1" + +DEPENDS += "libxext dmxproto" + +PR = "r0" +PE = "1" + +SRC_URI[md5sum] = "782ced3a9e754dfeb53a8a006a75eb1a" +SRC_URI[sha256sum] = "a7870b648a8768d65432af76dd11581ff69f3955118540d5967eb1eef43838ba" + diff --git a/meta/recipes-graphics/xorg-lib/libfontenc_1.1.1.bb b/meta/recipes-graphics/xorg-lib/libfontenc_1.1.1.bb new file mode 100644 index 000000000..1ff6065ba --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libfontenc_1.1.1.bb @@ -0,0 +1,18 @@ +SUMMARY = "X font encoding library" + +DESCRIPTION = "libfontenc is a library which helps font libraries \ +portably determine and deal with different encodings of fonts." + +require xorg-lib-common.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=96254c20ab81c63e65b26f0dbcd4a1c1" + +DEPENDS += "zlib xproto font-util" +PR = "r0" +PE = "1" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "a2a861f142c3b4367f14fc14239fc1f7" +SRC_URI[sha256sum] = "de72812f1856bb63bd2226ec8c2e2301931d3c72bd0f08b0d63a0cdf0722017f" diff --git a/meta/recipes-graphics/xorg-lib/libice_1.0.8.bb b/meta/recipes-graphics/xorg-lib/libice_1.0.8.bb new file mode 100644 index 000000000..43c8336ae --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libice_1.0.8.bb @@ -0,0 +1,25 @@ +SUMMARY = "ICE: Inter-Client Exchange library" + +DESCRIPTION = "The Inter-Client Exchange (ICE) protocol provides a \ +generic framework for building protocols on top of reliable, byte-stream \ +transport connections. It provides basic mechanisms for setting up and \ +shutting down connections, for performing authentication, for \ +negotiating versions, and for reporting errors. " + +require xorg-lib-common.inc + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=d162b1b3c6fa812da9d804dcf8584a93" + +DEPENDS += "xproto xtrans" +PROVIDES = "ice" + +PR = "r0" +PE = "1" + +XORG_PN = "libICE" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "471b5ca9f5562ac0d6eac7a0bf650738" +SRC_URI[sha256sum] = "24a991284d02ff0c789bc8d11ad2e4dffe144cb70f24e28f9ce3e8b1ee08b71e" diff --git a/meta/recipes-graphics/xorg-lib/libpciaccess-0.12.902/fix_deletion_of_last_handle.patch b/meta/recipes-graphics/xorg-lib/libpciaccess-0.12.902/fix_deletion_of_last_handle.patch new file mode 100644 index 000000000..1933f4549 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libpciaccess-0.12.902/fix_deletion_of_last_handle.patch @@ -0,0 +1,51 @@ +Upstream-Status: Backport + +The below patch is from +http://cgit.freedesktop.org/xorg/lib/libpciaccess/commit/?id=a798395a1bfd9d06d40e2d8d14377a156c94429a +It would appear in the next .tar.bz2 release. + +------------------------------ + +commit a798395a1bfd9d06d40e2d8d14377a156c94429a +Author: Daniel Drake <dsd@laptop.org> +Date: Fri Nov 25 12:28:48 2011 -0600 + + delete_io_handle: fix deletion of last handle + + When num_ios goes from 1 to 0, a realloc(ios, 0); call is made. + This is equivalent to free(ios) and NULL is returned. + + However, the previous logic in the code incorrectly discards this NULL + return value. When we next call new_io_handle(), realloc(ios, X) is + called with "ios" pointing to freed memory. This causes glibc to abort. + + Correct this logic to detect the 1-to-0 case and handle it correctly. + Other cases are unchanged; there is still value in checking the + return value from realloc() as it also returns NULL on error. + + Signed-off-by: Daniel Drake <dsd@laptop.org> + Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +diff --git a/src/common_io.c b/src/common_io.c +index f1319f8..5b35e07 100644 +--- a/src/common_io.c ++++ b/src/common_io.c +@@ -64,10 +64,15 @@ delete_io_handle(struct pci_io_handle *handle) + } + } + +- new = realloc(ios, sizeof(struct pci_io_handle) * (num_ios - 1)); +- if (new) +- ios = new; + num_ios--; ++ if (num_ios) { ++ new = realloc(ios, sizeof(struct pci_io_handle) * num_ios); ++ if (new) ++ ios = new; ++ } else { ++ free(ios); ++ ios = NULL; ++ } + } + + _pci_hidden void diff --git a/meta/recipes-graphics/xorg-lib/libpciaccess_0.12.902.bb b/meta/recipes-graphics/xorg-lib/libpciaccess_0.12.902.bb new file mode 100644 index 000000000..37d291f35 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libpciaccess_0.12.902.bb @@ -0,0 +1,18 @@ +SUMMARY = "Generic PCI access library for X" + +DESCRIPTION = "libpciaccess provides functionality for X to access the \ +PCI bus and devices in a platform-independent way." + +require xorg-lib-common.inc + +SRC_URI += "file://fix_deletion_of_last_handle.patch" + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=de01cb89a769dc657d4c321c209ce4fc" + +PR = "r0" + +DEPENDS += "xproto virtual/libx11" + +SRC_URI[md5sum] = "f1db198398a8a1143822acc230843e8c" +SRC_URI[sha256sum] = "0861d5bf68b598baa307e5c9b06dfd38ae03096b46e36b236106517bcd14b63a" diff --git a/meta/recipes-graphics/xorg-lib/libsm_1.2.1.bb b/meta/recipes-graphics/xorg-lib/libsm_1.2.1.bb new file mode 100644 index 000000000..1613bb9b0 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libsm_1.2.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "SM: Session Management library" + +DESCRIPTION = "The Session Management Library (SMlib) is a low-level \"C\" \ +language interface to XSMP. The purpose of the X Session Management \ +Protocol (XSMP) is to provide a uniform mechanism for users to save and \ +restore their sessions. A session is a group of clients, each of which \ +has a particular state." + +require xorg-lib-common.inc + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb37f44e02bdbde80546024400728d" + +DEPENDS += "libice xproto xtrans e2fsprogs" + +PR = "r0" +PE = "1" + +XORG_PN = "libSM" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "766de9d1e1ecf8bf74cebe2111d8e2bd" +SRC_URI[sha256sum] = "93c11d569c64f40723b93b44af1efb474a0cfe92573b0c8c330343cabb897f1d" diff --git a/meta/recipes-graphics/xorg-lib/libx11-1.4.4/0001-Add-_XGetRequest-as-substitute-for-GetReq-GetReqExtr.patch b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/0001-Add-_XGetRequest-as-substitute-for-GetReq-GetReqExtr.patch new file mode 100644 index 000000000..aedb5c436 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/0001-Add-_XGetRequest-as-substitute-for-GetReq-GetReqExtr.patch @@ -0,0 +1,137 @@ +From 4a060f993bf676cf21ad9784e010f54134da7b40 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <peter.hutterer@who-t.net> +Date: Mon, 17 Oct 2011 09:45:15 +1000 +Subject: [PATCH] Add _XGetRequest as substitute for GetReq/GetReqExtra + +Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> +Reviewed-by: Jamey Sharp <jamey@minilop.net> +--- + include/X11/Xlibint.h | 49 ++++++++++++++++--------------------------------- + src/XlibInt.c | 31 +++++++++++++++++++++++++++++++ + 2 files changed, 47 insertions(+), 33 deletions(-) + +Upstream-Status: Backport + +diff --git a/include/X11/Xlibint.h b/include/X11/Xlibint.h +index 2ce356d..43d1f2a 100644 +--- a/include/X11/Xlibint.h ++++ b/include/X11/Xlibint.h +@@ -420,6 +420,18 @@ extern LockInfoPtr _Xglobal_lock; + #define WORD64ALIGN + #endif /* WORD64 */ + ++/** ++ * Return a len-sized request buffer for the request type. This function may ++ * flush the output queue. ++ * ++ * @param dpy The display connection ++ * @param type The request type ++ * @param len Length of the request in bytes ++ * ++ * @returns A pointer to the request buffer with a few default values ++ * initialized. ++ */ ++extern void *_XGetRequest(Display *dpy, CARD8 type, size_t len); + + /* + * GetReq - Get the next available X request packet in the buffer and +@@ -432,25 +444,10 @@ extern LockInfoPtr _Xglobal_lock; + + #if !defined(UNIXCPP) || defined(ANSICPP) + #define GetReq(name, req) \ +- WORD64ALIGN\ +- if ((dpy->bufptr + SIZEOF(x##name##Req)) > dpy->bufmax)\ +- _XFlush(dpy);\ +- req = (x##name##Req *)(dpy->last_req = dpy->bufptr);\ +- req->reqType = X_##name;\ +- req->length = (SIZEOF(x##name##Req))>>2;\ +- dpy->bufptr += SIZEOF(x##name##Req);\ +- dpy->request++ +- ++ req = (x##name##Req *) _XGetRequest(dpy, X_##name, SIZEOF(x##name##Req)) + #else /* non-ANSI C uses empty comment instead of "##" for token concatenation */ + #define GetReq(name, req) \ +- WORD64ALIGN\ +- if ((dpy->bufptr + SIZEOF(x/**/name/**/Req)) > dpy->bufmax)\ +- _XFlush(dpy);\ +- req = (x/**/name/**/Req *)(dpy->last_req = dpy->bufptr);\ +- req->reqType = X_/**/name;\ +- req->length = (SIZEOF(x/**/name/**/Req))>>2;\ +- dpy->bufptr += SIZEOF(x/**/name/**/Req);\ +- dpy->request++ ++ req = (x/**/name/**/Req *) _XGetRequest(dpy, X_/**/name, SIZEOF(x/**/name/**/Req)) + #endif + + /* GetReqExtra is the same as GetReq, but allocates "n" additional +@@ -458,24 +455,10 @@ extern LockInfoPtr _Xglobal_lock; + + #if !defined(UNIXCPP) || defined(ANSICPP) + #define GetReqExtra(name, n, req) \ +- WORD64ALIGN\ +- if ((dpy->bufptr + SIZEOF(x##name##Req) + n) > dpy->bufmax)\ +- _XFlush(dpy);\ +- req = (x##name##Req *)(dpy->last_req = dpy->bufptr);\ +- req->reqType = X_##name;\ +- req->length = (SIZEOF(x##name##Req) + n)>>2;\ +- dpy->bufptr += SIZEOF(x##name##Req) + n;\ +- dpy->request++ ++ req = (x##name##Req *) _XGetRequest(dpy, X_##name, SIZEOF(x##name##Req) + n) + #else + #define GetReqExtra(name, n, req) \ +- WORD64ALIGN\ +- if ((dpy->bufptr + SIZEOF(x/**/name/**/Req) + n) > dpy->bufmax)\ +- _XFlush(dpy);\ +- req = (x/**/name/**/Req *)(dpy->last_req = dpy->bufptr);\ +- req->reqType = X_/**/name;\ +- req->length = (SIZEOF(x/**/name/**/Req) + n)>>2;\ +- dpy->bufptr += SIZEOF(x/**/name/**/Req) + n;\ +- dpy->request++ ++ req = (x/**/name/**/Req *) _XGetRequest(dpy, X_/**/name, SIZEOF(x/**/name/**/Req) + n) + #endif + + +diff --git a/src/XlibInt.c b/src/XlibInt.c +index 3db151e..a8f5d08 100644 +--- a/src/XlibInt.c ++++ b/src/XlibInt.c +@@ -1956,6 +1956,37 @@ Screen *_XScreenOfWindow(Display *dpy, Window w) + } + + ++/* ++ * WARNING: This implementation's pre-conditions and post-conditions ++ * must remain compatible with the old macro-based implementations of ++ * GetReq, GetReqExtra, GetResReq, and GetEmptyReq. The portions of the ++ * Display structure affected by those macros are part of libX11's ++ * ABI. ++ */ ++void *_XGetRequest(Display *dpy, CARD8 type, size_t len) ++{ ++ xReq *req; ++ ++ WORD64ALIGN ++ ++ if (dpy->bufptr + len > dpy->bufmax) ++ _XFlush(dpy); ++ ++ if (len % 4) ++ fprintf(stderr, ++ "Xlib: request %d length %zd not a multiple of 4.\n", ++ type, len); ++ ++ dpy->last_req = dpy->bufptr; ++ ++ req = (xReq*)dpy->bufptr; ++ req->reqType = type; ++ req->length = len / 4; ++ dpy->bufptr += len; ++ dpy->request++; ++ return req; ++} ++ + #if defined(WIN32) + + /* +-- +1.7.8.3 + diff --git a/meta/recipes-graphics/xorg-lib/libx11-1.4.4/keysymdef_include.patch b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/keysymdef_include.patch new file mode 100644 index 000000000..d1bdab977 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/keysymdef_include.patch @@ -0,0 +1,23 @@ +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Martin Jansa <martin.jansa@gmail.com> + +diff -uNr libX11-1.3.6.orig//configure.ac libX11-1.3.6/configure.ac +--- libX11-1.3.6.orig//configure.ac 2010-09-20 08:04:16.000000000 +0200 ++++ libX11-1.3.6/configure.ac 2010-09-28 16:29:26.000000000 +0200 +@@ -355,7 +355,14 @@ + # Find keysymdef.h + # + AC_MSG_CHECKING([keysym definitions]) +-KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 ++AC_ARG_WITH(keysymdefdir, ++ AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h]), ++ KEYSYMDEFDIR=$withval, KEYSYMDEFDIR="") ++ ++if test x$KEYSYMDEFDIR = x; then ++ KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 ++fi ++ + FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h" + for i in $FILES; do + if test -f "$KEYSYMDEFDIR/$i"; then diff --git a/meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch new file mode 100644 index 000000000..daf3696b3 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch @@ -0,0 +1,76 @@ +Because the size of "unsigned long" is different between 32-bit +and 64-bit, judge whether target is 32-bit or 64-bit and tell +"makekey". + +The error information from LSB Test suite is as follow: +VSW5TESTSUITE PURPOSE 7 +Assertion XStringToKeysym-7.(A) +When the string argument is the name of a KeySym in the +table with the prefix XK_ removed, then a call to +XStringToKeysym returns that KeySym. +METH: For each KeySym name in table with code G: +METH: Call XStringToKeysym to obtain the KeySym defined for that string. +METH: Verify that XStringToKeysym did not return NoSymbol. +METH: Verify that the returned string is correct. +CHECK: XStringToKeysym-7 1, line 130 +CHECK: XStringToKeysym-7 2, line 140 +CHECK: XStringToKeysym-7 3, line 150 +CHECK: XStringToKeysym-7 4, line 160 +CHECK: XStringToKeysym-7 5, line 170 +CHECK: XStringToKeysym-7 6, line 180 +CHECK: XStringToKeysym-7 7, line 190 +CHECK: XStringToKeysym-7 8, line 200 +CHECK: XStringToKeysym-7 9, line 210 +CHECK: XStringToKeysym-7 10, line 220 +CHECK: XStringToKeysym-7 11, line 230 +CHECK: XStringToKeysym-7 12, line 240 +CHECK: XStringToKeysym-7 13, line 250 +CHECK: XStringToKeysym-7 14, line 260 +CHECK: XStringToKeysym-7 15, line 270 +CHECK: XStringToKeysym-7 16, line 280 +CHECK: XStringToKeysym-7 17, line 290 +CHECK: XStringToKeysym-7 18, line 300 +CHECK: XStringToKeysym-7 19, line 310 +CHECK: XStringToKeysym-7 20, line 320 + +Upstream-Status: Pending + +Signed-off-by: dbuitenh@windriver.com + +--- libX11-1.3.4.orig/src/util/makekeys.c 2010-01-15 09:11:36.000000000 +0800 ++++ libX11-1.3.4/src/util/makekeys.c 2011-05-24 19:04:25.454774908 +0800 +@@ -33,6 +33,7 @@ + #include <X11/keysymdef.h> + #include <stdio.h> + #include <stdlib.h> ++#include <stdint.h> + + typedef unsigned long Signature; + +@@ -124,7 +125,12 @@ + name = info[i].name; + sig = 0; + while ((c = *name++)) +- sig = (sig << 1) + c; ++#ifdef USE32 ++ sig = (uint32_t)(sig << 1) + c; ++#else ++ sig = (uint64_t)(sig << 1) + c; ++#endif ++ + first = j = sig % z; + for (k = 0; tab[j]; k++) { + j += first + 1; +@@ -163,7 +169,11 @@ + name = info[i].name; + sig = 0; + while ((c = *name++)) +- sig = (sig << 1) + c; ++#ifdef USE32 ++ sig = (uint32_t)(sig << 1) + c; ++#else ++ sig = (uint64_t)(sig << 1) + c; ++#endif + first = j = sig % z; + while (offsets[j]) { + j += first + 1; diff --git a/meta/recipes-graphics/xorg-lib/libx11-1.4.4/x11_disable_makekeys.patch b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/x11_disable_makekeys.patch new file mode 100644 index 000000000..e3782a555 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/x11_disable_makekeys.patch @@ -0,0 +1,31 @@ +Upstream-Status: Pending + +Index: libX11-1.3.4/src/util/Makefile.am +=================================================================== +--- libX11-1.3.4.orig/src/util/Makefile.am ++++ libX11-1.3.4/src/util/Makefile.am +@@ -1,24 +1 @@ +- +-noinst_PROGRAMS=makekeys +- +-makekeys_CFLAGS = \ +- $(X11_CFLAGS) \ +- $(CWARNFLAGS) +- +-CC = @CC_FOR_BUILD@ +-CPPFLAGS = @CPPFLAGS_FOR_BUILD@ +-CFLAGS = @CFLAGS_FOR_BUILD@ +-LDFLAGS = @LDFLAGS_FOR_BUILD@ +- + EXTRA_DIST = mkks.sh +- +-if LINT +-# Check source code with tools like lint & sparse +- +-ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ +- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) +- +-lint: +- $(LINT) $(ALL_LINT_FLAGS) makekeys.c +- +-endif LINT diff --git a/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/X18NCMSstubs.diff b/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/X18NCMSstubs.diff new file mode 100644 index 000000000..be71d4430 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/X18NCMSstubs.diff @@ -0,0 +1,541 @@ +Upstream-Status: Pending + +Upstream-Status: Inappropriate [configuration] +Index: libX11-1.3/src/imConv.c +=================================================================== +--- libX11-1.3.orig/src/imConv.c ++++ libX11-1.3/src/imConv.c +@@ -83,6 +83,7 @@ static const struct SubstRec SubstTable[ + * from UCS char to specified charset char. + * This converter is needed for _XimGetCharCode subroutine. + */ ++#ifdef XLOCALE + XPointer + _XimGetLocaleCode ( + _Xconst char* encoding_name) +@@ -96,6 +97,7 @@ _XimGetLocaleCode ( + } + return cvt; + } ++#endif + + /* + * Returns the locale dependent representation of a keysym. +@@ -106,6 +108,7 @@ _XimGetLocaleCode ( + * terminating NUL byte. Return 0 if the keysym is not representable in the + * locale + */ ++#ifdef XLOCALE + /*ARGSUSED*/ + int + _XimGetCharCode ( +@@ -135,6 +138,7 @@ _XimGetCharCode ( + buf[count]= '\0'; + return count; + } ++#endif + + #ifdef XKB + static int lookup_string( +Index: libX11-1.3/src/X18NCMSstubs.c +=================================================================== +--- /dev/null ++++ libX11-1.3/src/X18NCMSstubs.c +@@ -0,0 +1,428 @@ ++/* ++ * X18NCMSstubs.c ++ * - Provides stubs and dummy funcs needed when Xcms and XLocale stuff removed ++ * ++ * Copyright © 2003 Matthew Allum ++ * ++ * Permission to use, copy, modify, distribute, and sell this software and its ++ * documentation for any purpose is hereby granted without fee, provided that ++ * the above copyright notice appear in all copies and that both that ++ * copyright notice and this permission notice appear in supporting ++ * documentation, and that the name of Matthew Allum not be used in ++ * advertising or publicity pertaining to distribution of the software without ++ * specific, written prior permission. Keith Packard and Compaq makes no ++ * representations about the suitability of this software for any purpose. It ++ * is provided "as is" without express or implied warranty. ++ * ++ * MATTHEW ALLUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS ++ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, ++ * IN NO EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER ++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++ * PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#include <stdlib.h> ++#include "Xlibint.h" ++#include "Xlcint.h" ++#include <X11/Xlocale.h> ++#include <X11/Xos.h> ++#ifdef WIN32 ++#undef close ++#endif ++#include <X11/Xutil.h> ++#include "XlcPubI.h" ++ ++#include "Xcmsint.h" /* for XcmsCCC type */ ++#include "XlcPubI.h" /* for XLCd type */ ++#include "config.h" ++ ++#if ! XLOCALE ++ ++Bool ++XSupportsLocale() ++{ ++ return False; ++} ++ ++char * ++XSetLocaleModifiers( ++ const char *modifiers) ++{ ++ return NULL; ++} ++ ++XLCd ++_XOpenLC( ++ char *name) ++{ ++ return NULL; ++} ++ ++XLCd ++_XlcCurrentLC() ++{ ++ return NULL; ++} ++ ++void ++_XlcVaToArgList( ++ va_list var, ++ int count, ++ XlcArgList *args_ret) ++{ ++ return; ++} ++ ++void ++_XlcCountVaList( ++ va_list var, ++ int *count_ret) ++{ ++ return; ++} ++ ++void ++_XCloseLC( ++ XLCd lcd) ++{ ++ return; ++} ++ ++int ++_XlcConvert( ++ XlcConv conv, ++ XPointer *from, ++ int *from_left, ++ XPointer *to, ++ int *to_left, ++ XPointer *args, ++ int num_args) ++{ ++ return 0; ++} ++ ++/* XIM Stubs */ ++ ++XPointer ++_XimGetLocaleCode ( _Xconst char* encoding_name ) ++{ ++ return NULL; ++} ++ ++int ++_XimGetCharCode ( ++ XPointer ucs_conv, ++ KeySym keysym, ++ unsigned char* buf, ++ int nbytes) ++{ ++ return 0; ++} ++ ++/* Xrm Stubs */ ++ ++XrmMethods ++_XrmInitParseInfo( ++ XPointer *state) ++{ ++ return (XrmMethods) NULL; ++} ++ ++/* Xwc Stubs */ ++ ++int ++XwcTextExtents( ++ XFontSet font_set, ++ _Xconst wchar_t *text, ++ int text_len, ++ XRectangle *overall_ink_extents, ++ XRectangle *overall_logical_extents) ++{ ++ return 0; ++} ++ ++void ++XwcDrawString(Display *display, ++ Drawable d, ++ XFontSet font_set, ++ GC gc, ++ int x, int y, ++ _Xconst wchar_t *string, ++ int num_wchars) ++{ ++ ; ++} ++ ++void ++XwcDrawText( ++ Display *dpy, ++ Drawable d, ++ GC gc, ++ int x, ++ int y, ++ XwcTextItem *text_items, ++ int nitems) ++{ ++ ; ++} ++ ++void ++XwcDrawImageString( ++ Display *dpy, ++ Drawable d, ++ XFontSet font_set, ++ GC gc, ++ int x, ++ int y, ++ _Xconst wchar_t *text, ++ int text_len) ++{ ++ ; ++} ++ ++int ++XwcTextEscapement( ++ XFontSet font_set, ++ _Xconst wchar_t *text, ++ int text_len) ++{ ++ return 0; ++} ++ ++Status ++XwcTextPerCharExtents( ++ XFontSet font_set, ++ _Xconst wchar_t *text, ++ int text_len, ++ XRectangle *ink_extents_buffer, ++ XRectangle *logical_extents_buffer, ++ int buffer_size, ++ int *num_chars, ++ XRectangle *max_ink_extents, ++ XRectangle *max_logical_extents) ++{ ++ ; ++} ++ ++int ++XwcTextPropertyToTextList( ++ Display *dpy, ++ const XTextProperty *text_prop, ++ wchar_t ***list_ret, ++ int *count_ret) ++{ ++ return 0; ++} ++ ++int ++XwcTextListToTextProperty( ++ Display *dpy, ++ wchar_t **list, ++ int count, ++ XICCEncodingStyle style, ++ XTextProperty *text_prop) ++{ ++ return 0; ++} ++ ++void ++XwcFreeStringList(wchar_t **list) ++{ ++ return; ++} ++ ++ ++void XmbSetWMProperties ( /* Actually from mbWMProps.c */ ++ Display *dpy, ++ Window w, ++ _Xconst char *windowName, ++ _Xconst char *iconName, ++ char **argv, ++ int argc, ++ XSizeHints *sizeHints, ++ XWMHints *wmHints, ++ XClassHint *classHints) ++{ ++ return; ++} ++ ++int ++XmbTextPropertyToTextList( ++ Display *dpy, ++ const XTextProperty *text_prop, ++ char ***list_ret, ++ int *count_ret) ++{ ++ return XLocaleNotSupported; ++} ++ ++int ++XmbTextListToTextProperty( ++ Display *dpy, ++ char **list, ++ int count, ++ XICCEncodingStyle style, ++ XTextProperty *text_prop) ++{ ++ return XLocaleNotSupported; ++} ++ ++int ++XmbTextExtents( ++ XFontSet font_set, ++ _Xconst char *text, ++ int text_len, ++ XRectangle *overall_ink_extents, ++ XRectangle *overall_logical_extents) ++{ ++ return 0; ++} ++ ++void ++XmbDrawText( ++ Display *dpy, ++ Drawable d, ++ GC gc, ++ int x, ++ int y, ++ XmbTextItem *text_items, ++ int nitems) ++{ ++ ; ++} ++ ++void ++XmbDrawString( ++ Display *dpy, ++ Drawable d, ++ XFontSet font_set, ++ GC gc, ++ int x, ++ int y, ++ _Xconst char *text, ++ int text_len) ++{ ++ ; ++} ++ ++void ++XmbDrawImageString( ++ Display *dpy, ++ Drawable d, ++ XFontSet font_set, ++ GC gc, ++ int x, ++ int y, ++ _Xconst char *text, ++ int text_len) ++{ ++ ; ++} ++ ++int ++XmbTextEscapement( ++ XFontSet font_set, ++ _Xconst char *text, ++ int text_len) ++{ ++ return 0; ++} ++ ++Status ++XmbTextPerCharExtents( ++ XFontSet font_set, ++ _Xconst char *text, ++ int text_len, ++ XRectangle *ink_extents_buffer, ++ XRectangle *logical_extents_buffer, ++ int buffer_size, ++ int *num_chars, ++ XRectangle *max_ink_extents, ++ XRectangle *max_logical_extents) ++{ ++ return 0; ++} ++ ++unsigned int ++KeySymToUcs4(KeySym keysym) ++{ ++ return 0; ++} ++ ++#endif ++ ++#if ! XCMS ++ ++XcmsCCC ++XcmsCCCOfColormap(dpy, cmap) ++ Display *dpy; ++ Colormap cmap; ++{ ++ return NULL; ++} ++ ++Status ++_XcmsResolveColorString ( ++ XcmsCCC ccc, ++ const char **color_string, ++ XcmsColor *pColor_exact_return, ++ XcmsColorFormat result_format) ++{ ++ return(XcmsFailure); ++} ++ ++void ++_XcmsUnresolveColor( ++ XcmsCCC ccc, ++ XcmsColor *pColor) ++{ ++ return; ++} ++ ++void ++_XUnresolveColor( ++ XcmsCCC ccc, ++ XColor *pXColor) ++{ ++ return; ++} ++ ++XcmsCmapRec * ++_XcmsAddCmapRec(dpy, cmap, windowID, visual) ++ Display *dpy; ++ Colormap cmap; ++ Window windowID; ++ Visual *visual; ++{ ++ return NULL; ++} ++ ++void ++_XcmsRGB_to_XColor( ++ XcmsColor *pColors, ++ XColor *pXColors, ++ unsigned int nColors) ++{ ++ return; ++} ++ ++XcmsCmapRec * ++_XcmsCopyCmapRecAndFree( ++ Display *dpy, ++ Colormap src_cmap, ++ Colormap copy_cmap) ++{ ++ return NULL; ++} ++ ++void ++_XcmsDeleteCmapRec( ++ Display *dpy, ++ Colormap cmap) ++{ ++ return; ++} ++ ++#endif +Index: libX11-1.3/src/Makefile.am +=================================================================== +--- libX11-1.3.orig/src/Makefile.am ++++ libX11-1.3/src/Makefile.am +@@ -335,6 +335,8 @@ if THRSTUBS + libX11_la_SOURCES+=UIThrStubs.c + endif + ++libX11_la_SOURCES+=X18NCMSstubs.c ++ + x11datadir = @X11_DATADIR@ + x11data_DATA = XKeysymDB XErrorDB + +@@ -342,7 +344,8 @@ EXTRA_DIST = \ + $(x11data_DATA) \ + os2Stubs.c \ + udcInf.c \ +- UIThrStubs.c ++ UIThrStubs.c \ ++ X18NCMSstubs.c + + if XCB + libX11_la_SOURCES += \ +Index: libX11-1.3/src/locking.c +=================================================================== +--- libX11-1.3.orig/src/locking.c ++++ libX11-1.3/src/locking.c +@@ -66,7 +66,9 @@ in this Software without prior written a + #define NUM_FREE_CVLS 4 + + /* in lcWrap.c */ ++#ifdef XLOCALE + extern LockInfoPtr _Xi18n_lock; ++#endif + + #ifdef WIN32 + static DWORD _X_TlsIndex = (DWORD)-1; +@@ -594,9 +596,11 @@ Status XInitThreads(void) + _Xglobal_lock = &global_lock; + xmutex_init(_Xglobal_lock->lock); + xmutex_set_name(_Xglobal_lock->lock, "Xlib global"); ++#ifdef XLOCALE + _Xi18n_lock = &i18n_lock; + xmutex_init(_Xi18n_lock->lock); + xmutex_set_name(_Xi18n_lock->lock, "Xlib i18n"); ++#endif + _XLockMutex_fn = _XLockMutex; + _XUnlockMutex_fn = _XUnlockMutex; + _XCreateMutex_fn = _XCreateMutex; +Index: libX11-1.3/configure.ac +=================================================================== +--- libX11-1.3.orig/configure.ac ++++ libX11-1.3/configure.ac +@@ -289,7 +289,14 @@ else + fi + AC_SUBST(KEYSYMDEF) + +-AM_CONDITIONAL(UDC, test xfalse = xtrue) ++AC_ARG_ENABLE(udc, ++ AC_HELP_STRING([--disable-udc], ++ [Disable Xlib support for UDC *EXPERIMENTAL*]), ++ [UDC=$enableval],[UDC=yes]) ++AM_CONDITIONAL(UDC, [test x$UDC = xyes ]) ++if test x"$UDC" = "xyes"; then ++ AC_DEFINE(UDC,1,[Include support for UDC]) ++fi + + AC_ARG_ENABLE(xcms, + AC_HELP_STRING([--disable-xcms], diff --git a/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/fix-disable-xlocale.diff b/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/fix-disable-xlocale.diff new file mode 100644 index 000000000..a7c3984fd --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/fix-disable-xlocale.diff @@ -0,0 +1,17 @@ +Upstream-Status: Pending + +Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> +--- libX11-X11R7.0-1.0.0/src/Font.c.orig 2006-03-12 18:35:42.000000000 +0100 ++++ libX11-X11R7.0-1.0.0/src/Font.c 2006-03-12 18:40:27.000000000 +0100 +@@ -701,7 +701,11 @@ + } + if (l - 2 - (p - charset) < 0) + return 0; ++#ifdef XLOCALE + if (_XlcNCompareISOLatin1(name + l - 2 - (p - charset), charset, p - charset)) ++#else ++ if (strncasecmp(name + l - 2 - (p - charset), charset, p - charset)) ++#endif + return 0; + if (strlen(p + 1) + l - 1 >= sizeof(buf) - 1) + return 0; diff --git a/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/fix-utf8-wrong-define.patch b/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/fix-utf8-wrong-define.patch new file mode 100644 index 000000000..c6347f5be --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/fix-utf8-wrong-define.patch @@ -0,0 +1,19 @@ +Upstream-Status: Pending + +Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- libX11-X11R7.0-1.0.0/include/X11/Xlib.h~fix-utf8-wrong-define ++++ libX11-X11R7.0-1.0.0/include/X11/Xlib.h +@@ -103,7 +103,7 @@ + + /* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in + November 2000. Its presence is indicated through the following macro. */ +-#define X_HAVE_UTF8_STRING 1 ++#undef X_HAVE_UTF8_STRING + + typedef char *XPointer; + diff --git a/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/keysymdef_include.patch b/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/keysymdef_include.patch new file mode 100644 index 000000000..d1bdab977 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/keysymdef_include.patch @@ -0,0 +1,23 @@ +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Martin Jansa <martin.jansa@gmail.com> + +diff -uNr libX11-1.3.6.orig//configure.ac libX11-1.3.6/configure.ac +--- libX11-1.3.6.orig//configure.ac 2010-09-20 08:04:16.000000000 +0200 ++++ libX11-1.3.6/configure.ac 2010-09-28 16:29:26.000000000 +0200 +@@ -355,7 +355,14 @@ + # Find keysymdef.h + # + AC_MSG_CHECKING([keysym definitions]) +-KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 ++AC_ARG_WITH(keysymdefdir, ++ AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h]), ++ KEYSYMDEFDIR=$withval, KEYSYMDEFDIR="") ++ ++if test x$KEYSYMDEFDIR = x; then ++ KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 ++fi ++ + FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h" + for i in $FILES; do + if test -f "$KEYSYMDEFDIR/$i"; then diff --git a/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/x11_disable_makekeys.patch b/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/x11_disable_makekeys.patch new file mode 100644 index 000000000..ab48193d8 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-diet-1.4.4/x11_disable_makekeys.patch @@ -0,0 +1,34 @@ +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> +--- + src/util/Makefile.am | 21 ----------------- + 1 file changed, 21 deletions(-) + +--- a/src/util/Makefile.am ++++ b/src/util/Makefile.am +@@ -1,24 +1,3 @@ + +-noinst_PROGRAMS=makekeys +- +-makekeys_CFLAGS = \ +- $(X11_CFLAGS) \ +- $(CWARNFLAGS) +- +-CC = @CC_FOR_BUILD@ +-CPPFLAGS = @CPPFLAGS_FOR_BUILD@ +-CFLAGS = @CFLAGS_FOR_BUILD@ +-LDFLAGS = @LDFLAGS_FOR_BUILD@ +- + EXTRA_DIST = mkks.sh + +-if LINT +-# Check source code with tools like lint & sparse +- +-ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ +- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) +- +-lint: +- $(LINT) $(ALL_LINT_FLAGS) makekeys.c +- +-endif LINT diff --git a/meta/recipes-graphics/xorg-lib/libx11-diet_1.4.4.bb b/meta/recipes-graphics/xorg-lib/libx11-diet_1.4.4.bb new file mode 100644 index 000000000..0a159d47e --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-diet_1.4.4.bb @@ -0,0 +1,30 @@ +require libx11.inc + +DESCRIPTION += " Support for XCB, UDC, XCMS and XLOCALE is disabled in \ +this version." + +LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" + +PR = "r0" + +SRC_URI += "file://x11_disable_makekeys.patch \ + file://X18NCMSstubs.diff \ + file://keysymdef_include.patch \ + file://fix-disable-xlocale.diff \ + file://fix-utf8-wrong-define.patch \ + " + +RPROVIDES_${PN}-dev = "libx11-dev" +RPROVIDES_${PN}-locale = "libx11-locale" + +SRC_URI[md5sum] = "ed7c382cbf8c13425b6a66bcac0ca5d9" +SRC_URI[sha256sum] = "7fe62180f08ef5f0a0062fb444591e349cae2ab5af6ad834599f5c654e6c840d" + +DEPENDS += "bigreqsproto xproto xextproto xtrans libxau xcmiscproto \ + libxdmcp xf86bigfontproto kbproto inputproto xproto-native" + +FILESDIR = "${@os.path.dirname(d.getVar('FILE', True))}/libx11" + +EXTRA_OECONF += "--without-xcb --disable-udc --disable-xcms --disable-xlocale --with-keysymdefdir=${STAGING_INCDIR}/X11" +CFLAGS += "-D_GNU_SOURCE" + diff --git a/meta/recipes-graphics/xorg-lib/libx11-trim-1.4.4/keysymdef_include.patch b/meta/recipes-graphics/xorg-lib/libx11-trim-1.4.4/keysymdef_include.patch new file mode 100644 index 000000000..d1bdab977 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-trim-1.4.4/keysymdef_include.patch @@ -0,0 +1,23 @@ +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Martin Jansa <martin.jansa@gmail.com> + +diff -uNr libX11-1.3.6.orig//configure.ac libX11-1.3.6/configure.ac +--- libX11-1.3.6.orig//configure.ac 2010-09-20 08:04:16.000000000 +0200 ++++ libX11-1.3.6/configure.ac 2010-09-28 16:29:26.000000000 +0200 +@@ -355,7 +355,14 @@ + # Find keysymdef.h + # + AC_MSG_CHECKING([keysym definitions]) +-KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 ++AC_ARG_WITH(keysymdefdir, ++ AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h]), ++ KEYSYMDEFDIR=$withval, KEYSYMDEFDIR="") ++ ++if test x$KEYSYMDEFDIR = x; then ++ KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 ++fi ++ + FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h" + for i in $FILES; do + if test -f "$KEYSYMDEFDIR/$i"; then diff --git a/meta/recipes-graphics/xorg-lib/libx11-trim-1.4.4/makekeys_crosscompile.patch b/meta/recipes-graphics/xorg-lib/libx11-trim-1.4.4/makekeys_crosscompile.patch new file mode 100644 index 000000000..daf3696b3 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-trim-1.4.4/makekeys_crosscompile.patch @@ -0,0 +1,76 @@ +Because the size of "unsigned long" is different between 32-bit +and 64-bit, judge whether target is 32-bit or 64-bit and tell +"makekey". + +The error information from LSB Test suite is as follow: +VSW5TESTSUITE PURPOSE 7 +Assertion XStringToKeysym-7.(A) +When the string argument is the name of a KeySym in the +table with the prefix XK_ removed, then a call to +XStringToKeysym returns that KeySym. +METH: For each KeySym name in table with code G: +METH: Call XStringToKeysym to obtain the KeySym defined for that string. +METH: Verify that XStringToKeysym did not return NoSymbol. +METH: Verify that the returned string is correct. +CHECK: XStringToKeysym-7 1, line 130 +CHECK: XStringToKeysym-7 2, line 140 +CHECK: XStringToKeysym-7 3, line 150 +CHECK: XStringToKeysym-7 4, line 160 +CHECK: XStringToKeysym-7 5, line 170 +CHECK: XStringToKeysym-7 6, line 180 +CHECK: XStringToKeysym-7 7, line 190 +CHECK: XStringToKeysym-7 8, line 200 +CHECK: XStringToKeysym-7 9, line 210 +CHECK: XStringToKeysym-7 10, line 220 +CHECK: XStringToKeysym-7 11, line 230 +CHECK: XStringToKeysym-7 12, line 240 +CHECK: XStringToKeysym-7 13, line 250 +CHECK: XStringToKeysym-7 14, line 260 +CHECK: XStringToKeysym-7 15, line 270 +CHECK: XStringToKeysym-7 16, line 280 +CHECK: XStringToKeysym-7 17, line 290 +CHECK: XStringToKeysym-7 18, line 300 +CHECK: XStringToKeysym-7 19, line 310 +CHECK: XStringToKeysym-7 20, line 320 + +Upstream-Status: Pending + +Signed-off-by: dbuitenh@windriver.com + +--- libX11-1.3.4.orig/src/util/makekeys.c 2010-01-15 09:11:36.000000000 +0800 ++++ libX11-1.3.4/src/util/makekeys.c 2011-05-24 19:04:25.454774908 +0800 +@@ -33,6 +33,7 @@ + #include <X11/keysymdef.h> + #include <stdio.h> + #include <stdlib.h> ++#include <stdint.h> + + typedef unsigned long Signature; + +@@ -124,7 +125,12 @@ + name = info[i].name; + sig = 0; + while ((c = *name++)) +- sig = (sig << 1) + c; ++#ifdef USE32 ++ sig = (uint32_t)(sig << 1) + c; ++#else ++ sig = (uint64_t)(sig << 1) + c; ++#endif ++ + first = j = sig % z; + for (k = 0; tab[j]; k++) { + j += first + 1; +@@ -163,7 +169,11 @@ + name = info[i].name; + sig = 0; + while ((c = *name++)) +- sig = (sig << 1) + c; ++#ifdef USE32 ++ sig = (uint32_t)(sig << 1) + c; ++#else ++ sig = (uint64_t)(sig << 1) + c; ++#endif + first = j = sig % z; + while (offsets[j]) { + j += first + 1; diff --git a/meta/recipes-graphics/xorg-lib/libx11-trim-1.4.4/x11_disable_makekeys.patch b/meta/recipes-graphics/xorg-lib/libx11-trim-1.4.4/x11_disable_makekeys.patch new file mode 100644 index 000000000..e3782a555 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-trim-1.4.4/x11_disable_makekeys.patch @@ -0,0 +1,31 @@ +Upstream-Status: Pending + +Index: libX11-1.3.4/src/util/Makefile.am +=================================================================== +--- libX11-1.3.4.orig/src/util/Makefile.am ++++ libX11-1.3.4/src/util/Makefile.am +@@ -1,24 +1 @@ +- +-noinst_PROGRAMS=makekeys +- +-makekeys_CFLAGS = \ +- $(X11_CFLAGS) \ +- $(CWARNFLAGS) +- +-CC = @CC_FOR_BUILD@ +-CPPFLAGS = @CPPFLAGS_FOR_BUILD@ +-CFLAGS = @CFLAGS_FOR_BUILD@ +-LDFLAGS = @LDFLAGS_FOR_BUILD@ +- + EXTRA_DIST = mkks.sh +- +-if LINT +-# Check source code with tools like lint & sparse +- +-ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ +- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) +- +-lint: +- $(LINT) $(ALL_LINT_FLAGS) makekeys.c +- +-endif LINT diff --git a/meta/recipes-graphics/xorg-lib/libx11-trim_1.4.4.bb b/meta/recipes-graphics/xorg-lib/libx11-trim_1.4.4.bb new file mode 100644 index 000000000..a86e13a5f --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-trim_1.4.4.bb @@ -0,0 +1,22 @@ +require libx11.inc + +DESCRIPTION += " Support for XCMS is disabled in this version." + +LICENSE = "MIT & MIT-style & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" + +PR = "r1" + +DEPENDS += "libxcb xproto xextproto xtrans libxau kbproto inputproto xf86bigfontproto xproto-native" + +SRC_URI += "file://x11_disable_makekeys.patch \ + file://keysymdef_include.patch \ + file://makekeys_crosscompile.patch" + +RPROVIDES_${PN}-dev = "libx11-dev" +RPROVIDES_${PN}-locale = "libx11-locale" + +SRC_URI[md5sum] = "ed7c382cbf8c13425b6a66bcac0ca5d9" +SRC_URI[sha256sum] = "7fe62180f08ef5f0a0062fb444591e349cae2ab5af6ad834599f5c654e6c840d" + +EXTRA_OECONF += "--with-keysymdefdir=${STAGING_INCDIR}/X11/ --disable-xcms " diff --git a/meta/recipes-graphics/xorg-lib/libx11.inc b/meta/recipes-graphics/xorg-lib/libx11.inc new file mode 100644 index 000000000..a1e4386fe --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11.inc @@ -0,0 +1,53 @@ +SUMMARY = "Xlib: C Language X Interface library" + +DESCRIPTION = "This package provides a client interface to the X Window \ +System, otherwise known as 'Xlib'. It provides a complete API for the \ +basic functions of the window system." + +require xorg-lib-common.inc + +inherit siteinfo + +PE = "1" + +PROVIDES = "virtual/libx11" + +XORG_PN = "libX11" +LICENSE = "MIT & MIT-style & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" + +EXTRA_OECONF += "--with-groff=no --with-ps2pdf=no --with-fop=no --disable-specs" + +PACKAGES =+ "${PN}-xcb" + +FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${libdir}/X11/Xcms.txt" +FILES_${PN}-xcb += "${libdir}/libX11-xcb.so.*" +FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale" + +do_compile_prepend() { + cd ${S}/src/util + mv makekeys.c.orig makekeys.c || true + touch makekeys-makekeys.o + ( + unset CC LD CXX CCLD CFLAGS CPPFLAGS LDFLAGS CXXFLAGS + # MIN_REHASH 10 is only in 1.0.1 + sed -i -e 's:MIN_REHASH 10:MIN_REHASH 16:g' makekeys.c + sed -i -e 's:MIN_REHASH 15:MIN_REHASH 16:g' makekeys.c + touch makekeys-makekeys.o; + if [ "${SITEINFO_BITS}" == "64" ]; then + ${BUILD_CC} ${BUILD_CFLAGS} -I${STAGING_INCDIR_NATIVE} makekeys.c -o makekeys + else + ${BUILD_CC} ${BUILD_CFLAGS} -I${STAGING_INCDIR_NATIVE} -DUSE32 makekeys.c -o makekeys + fi + ) + if [ "$?" != "0" ]; then + exit 1 + fi + # mv to stop it getting rebuilt + mv makekeys.c makekeys.c.orig + cd ../../ +} + +# Multiple libx11 derivatives from from this file and are selected by virtual/libx11 +# A world build should only build the correct version, not all of them. +EXCLUDE_FROM_WORLD = "1" diff --git a/meta/recipes-graphics/xorg-lib/libx11_1.4.4.bb b/meta/recipes-graphics/xorg-lib/libx11_1.4.4.bb new file mode 100644 index 000000000..1ad804614 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11_1.4.4.bb @@ -0,0 +1,22 @@ +require libx11.inc +inherit gettext + +PR = "r3" + +BBCLASSEXTEND = "native nativesdk" + +EXTRA_OECONF += "--with-keysymdefdir=${STAGING_INCDIR}/X11" + +DEPENDS += "util-macros xtrans libxdmcp libxau \ + bigreqsproto xproto xextproto xcmiscproto \ + xf86bigfontproto kbproto inputproto libxcb \ + xproto-native" + +SRC_URI += " file://keysymdef_include.patch \ + file://x11_disable_makekeys.patch \ + file://0001-Add-_XGetRequest-as-substitute-for-GetReq-GetReqExtr.patch \ + file://makekeys_crosscompile.patch \ + " + +SRC_URI[md5sum] = "ed7c382cbf8c13425b6a66bcac0ca5d9" +SRC_URI[sha256sum] = "7fe62180f08ef5f0a0062fb444591e349cae2ab5af6ad834599f5c654e6c840d" diff --git a/meta/recipes-graphics/xorg-lib/libxau_1.0.7.bb b/meta/recipes-graphics/xorg-lib/libxau_1.0.7.bb new file mode 100644 index 000000000..9fa90452c --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxau_1.0.7.bb @@ -0,0 +1,25 @@ +SUMMARY = "Xau: X Authority Database library" + +DESCRIPTION = "libxau provides the main interfaces to the X11 \ +authorisation handling, which controls authorisation for X connections, \ +both client-side and server-side." + +require xorg-lib-common.inc + +inherit gettext + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=7908e342491198401321cec1956807ec" + +DEPENDS += " xproto" +PROVIDES = "xau" + +PR = "r0" +PE = "1" + +XORG_PN = "libXau" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "2d241521df40d27034413436d1a1465c" +SRC_URI[sha256sum] = "7153ba503e2362d552612d9dc2e7d7ad3106d5055e310a26ecf28addf471a489" diff --git a/meta/recipes-graphics/xorg-lib/libxcalibrate/fix-xcb.patch b/meta/recipes-graphics/xorg-lib/libxcalibrate/fix-xcb.patch new file mode 100644 index 000000000..d6148834a --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxcalibrate/fix-xcb.patch @@ -0,0 +1,29 @@ +Upstream-Status: Pending + +There is no extra reply data and if we say not to disgard it, xcb +throws fatal asserts. + +RP - 26/11/09 + +Index: git/xcalibrate.c +=================================================================== +--- git.orig/xcalibrate.c 2009-11-26 08:11:48.000000000 +0000 ++++ git/xcalibrate.c 2009-11-26 08:09:55.000000000 +0000 +@@ -216,7 +216,7 @@ + req->reqType = info->codes->major_opcode; + req->xCalibrateReqType = X_XCalibrateRawMode; + req->on = enable; +- if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) ++ if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) + { + UnlockDisplay (dpy); + SyncHandle (); +@@ -240,7 +240,7 @@ + req->xCalibrateReqType = X_XCalibrateScreenToCoord; + req->x = *x; + req->y = *y; +- if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) ++ if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) + { + UnlockDisplay (dpy); + SyncHandle (); diff --git a/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb b/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb new file mode 100644 index 000000000..dca4c8bcd --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb @@ -0,0 +1,23 @@ +SUMMARY = "XCalibrate: Touchscreen calibration library" + +DESCRIPTION = "libXCalibrate is a library for performing touchscreen \ +calibration with the kdrive tslib touchscreen driver." + +require xorg-lib-common.inc + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://xcalibrate.h;endline=21;md5=fa572df6439f0f235f2612f370f153d7 \ + file://xcalibrate.c;endline=21;md5=fa572df6439f0f235f2612f370f153d7" + +DEPENDS = "virtual/libx11 calibrateproto libxext" + +SRCREV = "209d83af61ed38a002c8096377deac292b3e396c" +PV = "0.0+git${SRCPV}" +PR = "r0" + +SRC_URI = "git://anongit.freedesktop.org/git/xorg/lib/libXCalibrate;protocol=git \ + file://fix-xcb.patch" + +S = "${WORKDIR}/git" + +FILES_${PN}-locale += "${datadir}/X11/locale" diff --git a/meta/recipes-graphics/xorg-lib/libxcomposite/change-include-order.patch b/meta/recipes-graphics/xorg-lib/libxcomposite/change-include-order.patch new file mode 100644 index 000000000..60331f6e7 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxcomposite/change-include-order.patch @@ -0,0 +1,18 @@ +Upstream-Status: Inappropriate [configuration] + +This patch makes the build use its own Xcomposite.h over rather than an +older Xcomposite.h that might already be installed in the staging dir. + +Index: libXcomposite-0.4.3/src/Makefile.am +=================================================================== +--- libXcomposite-0.4.3.orig/src/Makefile.am 2010-06-30 22:42:53.000000000 -0700 ++++ libXcomposite-0.4.3/src/Makefile.am 2010-11-23 23:09:34.544322930 -0800 +@@ -19,7 +19,7 @@ + # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + # PERFORMANCE OF THIS SOFTWARE. + +-AM_CFLAGS = $(CWARNFLAGS) $(XCOMPOSITE_CFLAGS) $(XFIXES_CFLAGS) ++AM_CFLAGS = -I$(top_srcdir)/include $(CWARNFLAGS) $(XCOMPOSITE_CFLAGS) $(XFIXES_CFLAGS) + AM_CPPFLAGS = -I$(top_srcdir)/include + + lib_LTLIBRARIES = libXcomposite.la diff --git a/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.3.bb b/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.3.bb new file mode 100644 index 000000000..7377711de --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.3.bb @@ -0,0 +1,29 @@ +SUMMARY = "Xcomposite: X Composite extension library" + +DESCRIPTION = "The composite extension provides three related \ +mechanisms: per-hierarchy storage, automatic shadow update, and external \ +parent. In per-hierarchy storage, the rendering of an entire hierarchy \ +of windows is redirected to off-screen storage. In automatic shadow \ +update, when a hierarchy is rendered off-screen, the X server provides \ +an automatic mechanism for presenting those contents within the parent \ +window. In external parent, a mechanism for providing redirection of \ +compositing transformations through a client." + +require xorg-lib-common.inc + +LICENSE= "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=3f2907aad541f6f226fbc58cc1b3cdf1" + +DEPENDS += " compositeproto virtual/libx11 libxfixes libxext" +PROVIDES = "xcomposite" +BBCLASSEXTEND = "native" + +PE = "1" +PR = "r0" + +XORG_PN = "libXcomposite" + +SRC_URI += " file://change-include-order.patch" + +SRC_URI[md5sum] = "a60e0b5c276d0aa9e2d3b982c98f61c8" +SRC_URI[sha256sum] = "32294d28f4ee46db310c344546d98484728b7d52158c6d7c25bba02563b41aad" diff --git a/meta/recipes-graphics/xorg-lib/libxcursor_1.1.13.bb b/meta/recipes-graphics/xorg-lib/libxcursor_1.1.13.bb new file mode 100644 index 000000000..438859637 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxcursor_1.1.13.bb @@ -0,0 +1,23 @@ +SUMMARY = "Xcursor: X Cursor management library" + +DESCRIPTION = "Xcursor is a simple library designed to help locate and \ +load cursors. Cursors can be loaded from files or memory. A library of \ +common cursors exists which map to the standard X cursor names. Cursors \ +can exist in several sizes and the library automatically picks the best \ +size." + +require xorg-lib-common.inc + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=8902e6643f7bcd7793b23dcd5d8031a4" + +DEPENDS += "libxrender libxfixes" +BBCLASSEXTEND = "native" + +PR = "r0" +PE = "1" + +XORG_PN = "libXcursor" + +SRC_URI[md5sum] = "52efa81b7f26c8eda13510a2fba98eea" +SRC_URI[sha256sum] = "f78827de4a1b7ce8cceca24a9ab9d1b1d2f6a61362f505166ffc19b07c0bad8f" diff --git a/meta/recipes-graphics/xorg-lib/libxdamage_1.1.3.bb b/meta/recipes-graphics/xorg-lib/libxdamage_1.1.3.bb new file mode 100644 index 000000000..dfc2425d5 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxdamage_1.1.3.bb @@ -0,0 +1,29 @@ +SUMMARY = "Xdamage: X Damage extension library" + +DESCRIPTION = "'Damage' is a term that describes changes make to pixel \ +contents of windows and pixmaps. Damage accumulates as drawing occurs \ +in the drawable. Each drawing operation 'damages' one or more \ +rectangular areas within the drawable. The rectangles are guaranteed to \ +include the set of pixels modified by each operation, but may include \ +significantly more than just those pixels. The DAMAGE extension allows \ +applications to either receive the raw rectangles as a stream of events, \ +or to have them partially processed within the X server to reduce the \ +amount of data transmitted as well as reduce the processing latency once \ +the repaint operation has started." + +require xorg-lib-common.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=9fe101f30dd24134cf43146863241868" + +DEPENDS += "virtual/libx11 damageproto libxfixes" +PROVIDES = "xdamage" +BBCLASSEXTEND = "native" + +PR = "r1" +PE = "1" + +XORG_PN = "libXdamage" + +SRC_URI[md5sum] = "44774e1a065158b52f1a0da5100cebec" +SRC_URI[sha256sum] = "bc6169c826d3cb17435ca84e1b479d65e4b51df1e48bbc3ec39a9cabf842c7a8" diff --git a/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.1.bb b/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.1.bb new file mode 100644 index 000000000..99e608b60 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "XDMCP: X Display Manager Control Protocol library" + +DESCRIPTION = "The purpose of the X Display Manager Control Protocol \ +(XDMCP) is to provide a uniform mechanism for an autonomous display to \ +request login service from a remote host. An X terminal (screen, \ +keyboard, mouse, processor, network interface) is a prime example of an \ +autonomous display." + +require xorg-lib-common.inc + +inherit gettext + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=d559fb26e129626022e052a5e6e0e123" + +DEPENDS += "xproto" +PROVIDES = "xdmcp" + +PR = "r0" +PE = "1" + +XORG_PN = "libXdmcp" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "b94af6cef211cf3ee256f7e81f70fcd9" +SRC_URI[sha256sum] = "9ace6d4230f9dce4ed090692f82f613253ada8f887b23b3d8ff3dd4e3a7c118e" diff --git a/meta/recipes-graphics/xorg-lib/libxext_1.3.1.bb b/meta/recipes-graphics/xorg-lib/libxext_1.3.1.bb new file mode 100644 index 000000000..82333ddb6 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxext_1.3.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "XExt: X Extension library" + +DESCRIPTION = "libXext provides an X Window System client interface to \ +several extensions to the X protocol. The supported protocol extensions \ +are DOUBLE-BUFFER, DPMS, Extended-Visual-Information, LBX, MIT_SHM, \ +MIT_SUNDRY-NONSTANDARD, Multi-Buffering, SECURITY, SHAPE, SYNC, TOG-CUP, \ +XC-APPGROUP, XC-MISC, XTEST. libXext also provides a small set of \ +utility functions to aid authors of client APIs for X protocol \ +extensions." + +require xorg-lib-common.inc + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=f69eb72f85ce548e12791d049d81bc52" + +DEPENDS += "xproto virtual/libx11 xextproto libxau libxdmcp" +PROVIDES = "xext" + +PR = "r0" +PE = "1" + +XORG_PN = "libXext" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "71251a22bc47068d60a95f50ed2ec3cf" +SRC_URI[sha256sum] = "56229c617eb7bfd6dec40d2805bc4dfb883dfe80f130d99b9a2beb632165e859" diff --git a/meta/recipes-graphics/xorg-lib/libxext_git.bb b/meta/recipes-graphics/xorg-lib/libxext_git.bb new file mode 100644 index 000000000..372f27239 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxext_git.bb @@ -0,0 +1,24 @@ +require xorg-lib-common.inc + +SUMMARY = "XExt: X Extension library" + +DESCRIPTION = "libXext provides an X Window System client interface to \ +several extensions to the X protocol. The supported protocol extensions \ +are DOUBLE-BUFFER, DPMS, Extended-Visual-Information, LBX, MIT_SHM, \ +MIT_SUNDRY-NONSTANDARD, Multi-Buffering, SECURITY, SHAPE, SYNC, TOG-CUP, \ +XC-APPGROUP, XC-MISC, XTEST. libXext also provides a small set of \ +utility functions to aid authors of client APIs for X protocol \ +extensions." + +DEPENDS += "xproto virtual/libx11 xextproto libxau libxdmcp" +PROVIDES = "xext" +SRCREV = "d1f3bc77a48c8e42771579e3fdf3370b35d3209d" +PE = "1" +PV = "1.0.99.1+gitr${SRCPV}" + +XORG_PN = "libXext" + +SRC_URI = "git://anongit.freedesktop.org/git/xorg/lib/${XORG_PN};protocol=git" +S = "${WORKDIR}/git/" + +BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-graphics/xorg-lib/libxfixes_5.0.bb b/meta/recipes-graphics/xorg-lib/libxfixes_5.0.bb new file mode 100644 index 000000000..1bdc3c057 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxfixes_5.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "XFixes: X Fixes extension library." + +DESCRIPTION = "X applications have often needed to work around various \ +shortcomings in the core X window system. This extension is designed to \ +provide the minimal server-side support necessary to eliminate problems \ +caused by these workarounds." + +require xorg-lib-common.inc + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=3c1ce42c334a6f5cccb0277556a053e0" + +DEPENDS += "virtual/libx11 xproto fixesproto xextproto" + +PR = "r0" +PE = "1" + +XORG_PN = "libXfixes" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "678071bd7f9f7467e2fc712d81022318" +SRC_URI[sha256sum] = "537a2446129242737a35db40081be4bbcc126e56c03bf5f2b142b10a79cda2e3" diff --git a/meta/recipes-graphics/xorg-lib/libxfont_1.4.5.bb b/meta/recipes-graphics/xorg-lib/libxfont_1.4.5.bb new file mode 100644 index 000000000..65a9f80f6 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxfont_1.4.5.bb @@ -0,0 +1,23 @@ +SUMMARY = "XFont: X Font rasterisation library" + +DESCRIPTION = "libXfont provides various services for X servers, most \ +notably font selection and rasterisation (through external libraries \ +such as freetype)." + +require xorg-lib-common.inc + +LICENSE= "MIT & MIT-style & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=a46c8040f2f737bcd0c435feb2ab1c2c" + +DEPENDS += "freetype fontcacheproto xtrans fontsproto libfontenc zlib" +PROVIDES = "xfont" + +PR = "r0" +PE = "1" + +XORG_PN = "libXfont" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "6851da5dae0a6cf5f7c9b9e2b05dd3b4" +SRC_URI[sha256sum] = "bbf96fb80b6b95cdb1dc968085082a6e668193a54cd9d6e2af669909c0cb7170" diff --git a/meta/recipes-graphics/xorg-lib/libxfontcache_1.0.5.bb b/meta/recipes-graphics/xorg-lib/libxfontcache_1.0.5.bb new file mode 100644 index 000000000..065daf118 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxfontcache_1.0.5.bb @@ -0,0 +1,16 @@ +require xorg-lib-common.inc + +SUMMARY = "XFontCache: X Font Cache extension library" + +DESCRIPTION = "FontCache is an extension that is used by X-TrueType to cache \ +information about fonts." + +DEPENDS += "libxext fontcacheproto zlib" +LIC_FILES_CHKSUM = "file://COPYING;md5=62a75d5d3da40f1f6eb1cbe3bcc0a5d0" +PR = "r1" +PE = "1" + +XORG_PN = "libXfontcache" + +SRC_URI[md5sum] = "bbd37768c87f63cf2eb845b2c0f56515" +SRC_URI[sha256sum] = "0d639219549f51fa0e6b4414383f5d13e6c1638e66b3434f4626eb989ffacbce" diff --git a/meta/recipes-graphics/xorg-lib/libxft_2.3.0.bb b/meta/recipes-graphics/xorg-lib/libxft_2.3.0.bb new file mode 100644 index 000000000..73ce9fd9f --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxft_2.3.0.bb @@ -0,0 +1,34 @@ +SUMMARY = "XFt: X FreeType libary" + +DESCRIPTION = "Xft was designed to provide good support for scalable \ +fonts, and to do so efficiently. Unlike the core fonts system, it \ +supports features such as anti-aliasing and sub-pixel rasterisation. \ +Perhaps more importantly, it gives applications full control over the \ +way glyphs are rendered, making fine typesetting and WYSIWIG display \ +possible. Finally, it allows applications to use fonts that are not \ +installed system-wide for displaying documents with embedded fonts. Xft \ +is not compatible with the core fonts system: usage of Xft requires \ +fairly extensive changes to toolkits (user-interface libraries)." + +require xorg-lib-common.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=90b90b60eb30f65fc9c2673d7cf59e24" + +DEPENDS += "virtual/libx11 libxrender freetype fontconfig" +PROVIDES = "xft" + +PR = "r0" +PE = "1" + +XORG_PN = "libXft" + +BBCLASSEXTEND = "native" + +python () { + if d.getVar('DEBIAN_NAMES', True): + d.setVar('PKG_${PN}', '${MLPREFIX}libxft2') +} + +SRC_URI[md5sum] = "bd0a8d8cace1dfbb963250bf3eb9a19a" +SRC_URI[sha256sum] = "3426393ad72a5c47006536d474e396c7a21c33131bb28f495578e05a5858b044" diff --git a/meta/recipes-graphics/xorg-lib/libxi_1.4.5.bb b/meta/recipes-graphics/xorg-lib/libxi_1.4.5.bb new file mode 100644 index 000000000..214d1ca24 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxi_1.4.5.bb @@ -0,0 +1,24 @@ +require xorg-lib-common.inc + +SUMMARY = "XI: X Input extension library" + +DESCRIPTION = "libxi is an extension to the X11 protocol to support \ +input devices other than the core X keyboard and pointer. It allows \ +client programs to select input from these devices independently from \ +each other and independently from the core devices." + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=17b064789fab936a1c58c4e13d965b0f \ + file://src/XIGetDevFocus.c;endline=23;md5=cdfb0d435a33ec57ea0d1e8e395b729f" + +DEPENDS += "libxext inputproto" + +PE = "1" +PR = "r0" + +XORG_PN = "libXi" + +EXTRA_OECONF_append = " --enable-specs=no" + +SRC_URI[md5sum] = "82dcdc76388116800a2c3ad969f510a4" +SRC_URI[sha256sum] = "22a99123229d22e6e1567c4cda0224a744475f427625d61b23d965157a86f1b5" diff --git a/meta/recipes-graphics/xorg-lib/libxi_git.bb b/meta/recipes-graphics/xorg-lib/libxi_git.bb new file mode 100644 index 000000000..d4e47056e --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxi_git.bb @@ -0,0 +1,18 @@ +require xorg-lib-common.inc + +SUMMARY = "XI: X Input extension library" + +DESCRIPTION = "libxi is an extension to the X11 protocol to support \ +input devices other than the core X keyboard and pointer. It allows \ +client programs to select input from these devices independently from \ +each other and independently from the core devices." + +DEPENDS += "libxext inputproto" +SRCREV = "d0326fe8cdbb08d4f52d79fd3fd4e1b2a0951d5e" +PE = "1" +PV = "1.2.99.5+gitr${SRCPV}" + +XORG_PN = "libXi" + +SRC_URI = "git://anongit.freedesktop.org/git/xorg/lib/${XORG_PN};protocol=git" +S = "${WORKDIR}/git" diff --git a/meta/recipes-graphics/xorg-lib/libxinerama_1.1.2.bb b/meta/recipes-graphics/xorg-lib/libxinerama_1.1.2.bb new file mode 100644 index 000000000..d35134822 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxinerama_1.1.2.bb @@ -0,0 +1,21 @@ +require xorg-lib-common.inc + +SUMMARY = "Xinerama: Xinerama extension library" + +DESCRIPTION = "Xinerama is a simple library designed to interface the \ +Xinerama Extension for retrieving information about physical output \ +devices which may be combined into a single logical X screen." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=6f4f634d1643a2e638bba3fcd19c2536 \ + file://src/Xinerama.c;beginline=2;endline=25;md5=fcef273bfb66339256411dd06ea79c02" + +DEPENDS += "libxext xineramaproto" +PROVIDES = "xinerama" +PR = "r0" +PE = "1" + +XORG_PN = "libXinerama" + +SRC_URI[md5sum] = "cb45d6672c93a608f003b6404f1dd462" +SRC_URI[sha256sum] = "a4e77c2fd88372e4ae365f3ca0434a23613da96c5b359b1a64bf43614ec06aac" diff --git a/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.8.bb b/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.8.bb new file mode 100644 index 000000000..f659c3c34 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.8.bb @@ -0,0 +1,21 @@ +SUMMARY = "XKB: X Keyboard File manipulation library" + +DESCRIPTION = "libxkbfile provides an interface to read and manipulate \ +description files for XKB, the X11 keyboard configuration extension." + +require xorg-lib-common.inc + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=8be7367f7e5d605a426f76bb37d4d61f" + +DEPENDS += "virtual/libx11 kbproto" + +PR = "r0" +PE = "1" + +EXTRA_OECONF += "--without-xcb" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "19e6533ae64abba0773816a23f2b9507" +SRC_URI[sha256sum] = "8aa94e19c537c43558f30906650cea6e15fa012591445d9f927658c3b32a8f3a" diff --git a/meta/recipes-graphics/xorg-lib/libxmu_1.1.1.bb b/meta/recipes-graphics/xorg-lib/libxmu_1.1.1.bb new file mode 100644 index 000000000..18ced974e --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxmu_1.1.1.bb @@ -0,0 +1,34 @@ +SUMMARY = "Xmu and Xmuu: X Miscellaneous Utility libraries" + +DESCRIPTION = "The Xmu Library is a collection of miscellaneous (some \ +might say random) utility functions that have been useful in building \ +various applications and widgets. This library is required by the Athena \ +Widgets. A subset of the functions that do not rely on the Athena \ +Widgets (libXaw) or X Toolkit Instrinsics (libXt) are provided in a \ +second library, libXmuu." + + +require xorg-lib-common.inc + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=15f1d981860c677503992da79140669c" + +DEPENDS += "libxt libxext" +PROVIDES = "xmu" + +PR = "r0" +PE = "1" + +XORG_PN = "libXmu" + +LEAD_SONAME = "libXmu" + +PACKAGES =+ "libxmuu libxmuu-dev" + +FILES_libxmuu = "${libdir}/libXmuu.so.*" +FILES_libxmuu-dev = "${libdir}/libXmuu.so" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "a4efff8de85bd45dd3da124285d10c00" +SRC_URI[sha256sum] = "709081c550cc3a866d7c760a3f97384a1fe16e27fc38fe8169b8db9f33aa7edd" diff --git a/meta/recipes-graphics/xorg-lib/libxp/fix-cast-error.patch b/meta/recipes-graphics/xorg-lib/libxp/fix-cast-error.patch new file mode 100644 index 000000000..fea18cff0 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxp/fix-cast-error.patch @@ -0,0 +1,42 @@ +This patch fixes these new errors: + +| XpNotifyPdm.c:234:10: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] +| XpNotifyPdm.c:271:10: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] +| XpNotifyPdm.c:286:10: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] + + +Upstream-Status: Pending + +Signed-off-by: Saul Wold <sgw@linux.intel.com> + +Index: libXp-1.0.1/src/XpNotifyPdm.c +=================================================================== +--- libXp-1.0.1.orig/src/XpNotifyPdm.c ++++ libXp-1.0.1/src/XpNotifyPdm.c +@@ -231,7 +231,7 @@ XpGetPdmStartParams ( + /* + * Error - cannot determine or establish a selection_display. + */ +- return( (Status) NULL ); ++ return( (Status) 0 ); + } + + /* +@@ -268,7 +268,7 @@ XpGetPdmStartParams ( + XCloseDisplay( *selection_display ); + *selection_display = (Display *) NULL; + } +- return( (Status) NULL ); ++ return( (Status) 0 ); + } + + status = XmbTextListToTextProperty( *selection_display, list, 6, +@@ -283,7 +283,7 @@ XpGetPdmStartParams ( + XCloseDisplay( *selection_display ); + *selection_display = (Display *) NULL; + } +- return( (Status) NULL ); ++ return( (Status) 0 ); + } + + *type = text_prop.encoding; diff --git a/meta/recipes-graphics/xorg-lib/libxp_1.0.1.bb b/meta/recipes-graphics/xorg-lib/libxp_1.0.1.bb new file mode 100644 index 000000000..349dad1c4 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxp_1.0.1.bb @@ -0,0 +1,23 @@ +require xorg-lib-common.inc + +SUMMARY = "XP: X Printing extension library" + +DESCRIPTION = "libXp provides public APIs to allow client applications \ +to render to non-display devices, making use of the X Print Service." + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=9504a1264f5ddd4949254a57c0f8d6bb \ + file://src/XpPage.c;beginline=2;endline=35;md5=2b7d3d2ba5505b19271cf31b6918997e" + +DEPENDS += "libxext libxau printproto" +PR = "r1" +PE = "1" + +XORG_PN = "libXp" + +CFLAGS_append += " -I ${S}/include/X11/XprintUtil -I ${S}/include/X11/extensions" + +SRC_URI += "file://fix-cast-error.patch" + +SRC_URI[md5sum] = "7ae1d63748e79086bd51a633da1ff1a9" +SRC_URI[sha256sum] = "71d1f260005616d646b8c8788365f2b7d93911dac57bb53b65753d9f9e6443d2" diff --git a/meta/recipes-graphics/xorg-lib/libxpm_3.5.10.bb b/meta/recipes-graphics/xorg-lib/libxpm_3.5.10.bb new file mode 100644 index 000000000..9eaa2122c --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxpm_3.5.10.bb @@ -0,0 +1,25 @@ +require xorg-lib-common.inc + +SUMMARY = "Xpm: X Pixmap extension library" + +DESCRIPTION = "libXpm provides support and common operation for the XPM \ +pixmap format, which is commonly used in legacy X applications. XPM is \ +an extension of the monochrome XBM bitmap specificied in the X \ +protocol." + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=3e07763d16963c3af12db271a31abaa5" +DEPENDS += "libxext libsm libxt" +PR = "r0" +PE = "1" + +XORG_PN = "libXpm" + +PACKAGES =+ "sxpm cxpm" +FILES_cxpm = "${bindir}/cxpm" +FILES_sxpm = "${bindir}/sxpm" + +SRC_URI[md5sum] = "7ae7eff7a14d411e84a67bd166bcec1a" +SRC_URI[sha256sum] = "a6db7e234750e7d60330017972e31d8e1f29f0a8c1391e4ac82f6102d919a735" + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-graphics/xorg-lib/libxprintapputil_1.0.1.bb b/meta/recipes-graphics/xorg-lib/libxprintapputil_1.0.1.bb new file mode 100644 index 000000000..0f3892cf6 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxprintapputil_1.0.1.bb @@ -0,0 +1,17 @@ +require xorg-lib-common.inc + +SUMMARY = "Xprint: Xprint job utility library" + +DESCRIPTION = "libxprintapputil provides utility Xpau APIs allowing \ +client applications to access information about and control Xprint jobs \ +from an Xprint server." + +DEPENDS += "libxp libxt libxprintutil" +PR = "r1" +LIC_FILES_CHKSUM = "file://src/xpapputil.c;beginline=2;endline=27;md5=be811cca90200613a672dc96206a767b" +PE = "1" + +XORG_PN = "libXprintAppUtil" + +SRC_URI[md5sum] = "d2de510570aa6714681109b2ba178365" +SRC_URI[sha256sum] = "24606446003379dbf499ef57e9294ce622c0f7f8a8f10834db61dc59ef690aa5" diff --git a/meta/recipes-graphics/xorg-lib/libxprintutil_1.0.1.bb b/meta/recipes-graphics/xorg-lib/libxprintutil_1.0.1.bb new file mode 100644 index 000000000..8e3507c38 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxprintutil_1.0.1.bb @@ -0,0 +1,17 @@ +require xorg-lib-common.inc +LIC_FILES_CHKSUM = "file://src/xprintutil.c;endline=29;md5=22d5a98494dd356a2c6c9c355886f3af" + +SUMMARY = "Xprint: Xprint printer utility library" + +DESCRIPTION = "libxprintutil provides utility Xpu APIs allowing client \ +applications to access and manipulate information about printer \ +capabilities from an Xprint server." + +DEPENDS += "libxp libxt" +PR = "r1" +PE = "1" + +XORG_PN = "libXprintUtil" + +SRC_URI[md5sum] = "22584f1aab1deba253949b562d1f0f45" +SRC_URI[sha256sum] = "72b6ae0420b9601f55be147e8d068f670b951ae73a81423ba25be5875d826e6c" diff --git a/meta/recipes-graphics/xorg-lib/libxrandr_1.3.2.bb b/meta/recipes-graphics/xorg-lib/libxrandr_1.3.2.bb new file mode 100644 index 000000000..6fc3cf5d7 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxrandr_1.3.2.bb @@ -0,0 +1,24 @@ +SUMMARY = "XRandR: X Resize, Rotate and Reflect extension library" + +DESCRIPTION = "The X Resize, Rotate and Reflect Extension, called RandR \ +for short, brings the ability to resize, rotate and reflect the root \ +window of a screen. It is based on the X Resize and Rotate Extension as \ +specified in the Proceedings of the 2001 Usenix Technical Conference \ +[RANDR]." + +require xorg-lib-common.inc + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=4c5c132d3690478179d78ec3bf064584" + +DEPENDS += "virtual/libx11 randrproto libxrender libxext" + +PR = "r0" +PE = "1" + +XORG_PN = "libXrandr" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "92473da2fccf5fac665be4fa4f2037fa" +SRC_URI[sha256sum] = "7eaca216ab5233d7396119eb87c1989d350a3efead104d54b55f22cdd1d99b81" diff --git a/meta/recipes-graphics/xorg-lib/libxrender_0.9.7.bb b/meta/recipes-graphics/xorg-lib/libxrender_0.9.7.bb new file mode 100644 index 000000000..c4baba819 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxrender_0.9.7.bb @@ -0,0 +1,24 @@ +SUMMARY = "XRender: X Rendering Extension library" + +DESCRIPTION = "The X Rendering Extension (Render) introduces digital \ +image composition as the foundation of a new rendering model within the \ +X Window System. Rendering geometric figures is accomplished by \ +client-side tessellation into either triangles or trapezoids. Text is \ +drawn by loading glyphs into the server and rendering sets of them." + +require xorg-lib-common.inc + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=d8bc71986d3b9b3639f6dfd6fac8f196" + +DEPENDS += "virtual/libx11 renderproto xproto xdmcp" + +PR = "r0" +PE = "1" + +XORG_PN = "libXrender" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "ee62f4c7f0f16ced4da63308963ccad2" +SRC_URI[sha256sum] = "f9b46b93c9bc15d5745d193835ac9ba2a2b411878fad60c504bbb8f98492bbe6" diff --git a/meta/recipes-graphics/xorg-lib/libxres_1.0.6.bb b/meta/recipes-graphics/xorg-lib/libxres_1.0.6.bb new file mode 100644 index 000000000..dff2f02be --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxres_1.0.6.bb @@ -0,0 +1,21 @@ +SUMMARY = "XRes: X Resource extension library" + +DESCRIPTION = "libXRes provides an X Window System client interface to \ +the Resource extension to the X protocol. The Resource extension allows \ +for X clients to see and monitor the X resource usage of various clients \ +(pixmaps, et al)." + +require xorg-lib-common.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=8c89441a8df261bdc56587465e13c7fa" + +DEPENDS += "libxext resourceproto" + +PR = "r0" +PE = "1" + +XORG_PN = "libXres" + +SRC_URI[md5sum] = "80d0c6d8522fa7a645e4f522e9a9cd20" +SRC_URI[sha256sum] = "ff8661c925e8b182f98ae98f02bbd93c55259ef7f34a92c1a126b6074ebde890" diff --git a/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.2.bb b/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.2.bb new file mode 100644 index 000000000..f97fd8f69 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.2.bb @@ -0,0 +1,24 @@ +require xorg-lib-common.inc + +SUMMARY = "Xscrnsaver: X Screen Saver extension library" + +DESCRIPTION = "The X Window System provides support for changing the \ +image on a display screen after a user-settable period of inactivity to \ +avoid burning the cathode ray tube phosphors. However, no interfaces are \ +provided for the user to control the image that is drawn. This extension \ +allows an external \"screen saver\" client to detect when the alternate \ +image is to be displayed and to provide the graphics." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=21fd154ee757813632ada871a34113fb" + +DEPENDS += "libxext scrnsaverproto" +PROVIDES = "libxss" +RREPLACES = "libxss" +PR = "r0" +PE = "1" + +XORG_PN = "libXScrnSaver" + +SRC_URI[md5sum] = "7a773b16165e39e938650bcc9027c1d5" +SRC_URI[sha256sum] = "8ff1efa7341c7f34bcf9b17c89648d6325ddaae22e3904e091794e0b4426ce1d" diff --git a/meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch b/meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch new file mode 100644 index 000000000..ce6c756df --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch @@ -0,0 +1,19 @@ +Upstream-Status: Pending + +This fixes compilation with x32 toolchain. + +Received this patch from H.J. Lu <hjl.tools@gmail.com> +Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/1 + + +--- libXt-1.1.1/include/X11/Xtos.h.x32 2011-02-08 07:56:40.000000000 -0800 ++++ libXt-1.1.1/include/X11/Xtos.h 2011-11-30 17:19:27.473349770 -0800 +@@ -62,7 +62,7 @@ SOFTWARE. + defined(__sparc64__) || \ + defined(__s390x__) || \ + (defined(__hppa__) && defined(__LP64__)) || \ +- defined(__amd64__) || defined(amd64) || \ ++ ((defined(__amd64__) || defined(amd64)) && defined(__LP64__)) || \ + defined(__powerpc64__) || \ + (defined(sgi) && (_MIPS_SZLONG == 64)) + #define LONG64 diff --git a/meta/recipes-graphics/xorg-lib/libxt_1.1.2.bb b/meta/recipes-graphics/xorg-lib/libxt_1.1.2.bb new file mode 100644 index 000000000..04fd59d9e --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxt_1.1.2.bb @@ -0,0 +1,45 @@ +SUMMARY = "Xt: X Toolkit Intrinsics library" + +DESCRIPTION = "The Intrinsics are a programming library tailored to the \ +special requirements of user interface construction within a network \ +window system, specifically the X Window System. The Intrinsics and a \ +widget set make up an X Toolkit. The Intrinsics provide the base \ +mechanism necessary to build a wide variety of interoperating widget \ +sets and application environments. The Intrinsics are a layer on top of \ +Xlib, the C Library X Interface. They extend the fundamental \ +abstractions provided by the X Window System while still remaining \ +independent of any particular user interface policy or style." + +require xorg-lib-common.inc + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=3239170e81427c5948287df07691f03f" + + +DEPENDS += "util-linux libxcb libsm virtual/libx11 kbproto libxdmcp" +PROVIDES = "xt" + +PR = "r0" +PE = "1" + +XORG_PN = "libXt" + +SRC_URI += "file://libxt_fix_for_x32.patch" + +BBCLASSEXTEND = "native" + +EXTRA_OECONF += "--disable-install-makestrs --disable-xkb" + +do_compile() { + ( + unset CC LD CXX CCLD CFLAGS + oe_runmake -C util 'XT_CFLAGS=' 'CC=${BUILD_CC}' 'LD=${BUILD_LD}' 'CXX=${BUILD_CXX}' 'CCLD=${BUILD_CCLD}' 'CFLAGS=-D_GNU_SOURCE -I${STAGING_INCDIR_NATIVE} ${BUILD_CFLAGS}' 'LDFLAGS=${BUILD_LDFLAGS}' 'CXXFLAGS=${BUILD_CXXFLAGS}' 'CPPFLAGS=${BUILD_CPPFLAGS}' makestrs + ) + if [ "$?" != "0" ]; then + exit 1 + fi + oe_runmake +} + +SRC_URI[md5sum] = "c4f7f149559320f378d93b835d38ad6f" +SRC_URI[sha256sum] = "f041a7802b13630348072f5a609e0cc0e3df2382c0ddaae41d2769422eacc347" diff --git a/meta/recipes-graphics/xorg-lib/libxtrap_1.0.0.bb b/meta/recipes-graphics/xorg-lib/libxtrap_1.0.0.bb new file mode 100644 index 000000000..4d1f791ac --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxtrap_1.0.0.bb @@ -0,0 +1,15 @@ +SUMMARY = "XTrap: X event trapping extension library" + +DESCRIPTION = "libXTrap provides an interface to the DEC-XTRAP \ +extension, which allows for capture and synthesis of core input events." + +require xorg-lib-common.inc +LIC_FILES_CHKSUM = "file://COPYING;md5=fe7cbb8cc97683303f7814685cc47305" +DEPENDS += "libxt trapproto libxext" +PR = "r1" +PE = "1" + +XORG_PN = "libXTrap" + +SRC_URI[md5sum] = "1e2d966b5b2b89910e418bb0f78e10de" +SRC_URI[sha256sum] = "cfd12ce675bd5cdeac3720582741fe81a99343bef475d440cb34a7f2cdfe34ba" diff --git a/meta/recipes-graphics/xorg-lib/libxtst_1.2.1.bb b/meta/recipes-graphics/xorg-lib/libxtst_1.2.1.bb new file mode 100644 index 000000000..88ba088bb --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxtst_1.2.1.bb @@ -0,0 +1,21 @@ +require xorg-lib-common.inc + +SUMMARY = "XTest: X Test extension library" + +DESCRIPTION = "This extension is a minimal set of client and server \ +extensions required to completely test the X11 server with no user \ +intervention." + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=cba677ca25c42ad29ee8ff351b50ece8 \ + file://src/XTest.c;beginline=2;endline=32;md5=b1c8c9dff842b4d5b89ca5fa32c40e99" + +DEPENDS += "libxext recordproto inputproto libxi" +PROVIDES = "xtst" +PR = "r0" +PE = "1" + +XORG_PN = "libXtst" + +SRC_URI[md5sum] = "e8abc5c00c666f551cf26aa53819d592" +SRC_URI[sha256sum] = "7eea3e66e392aca3f9dad6238198753c28e1c32fa4903cbb7739607a2504e5e0" diff --git a/meta/recipes-graphics/xorg-lib/libxv_1.0.7.bb b/meta/recipes-graphics/xorg-lib/libxv_1.0.7.bb new file mode 100644 index 000000000..813c1e3e3 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxv_1.0.7.bb @@ -0,0 +1,20 @@ +SUMMARY = "Xv: X Video extension library" + +DESCRIPTION = "libXv provides an X Window System client interface to the \ +X Video extension to the X protocol. The X Video extension allows for \ +accelerated drawing of videos. Hardware adaptors are exposed to \ +clients, which may draw in a number of colourspaces, including YUV." + +require xorg-lib-common.inc + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=827da9afab1f727f2a66574629e0f39c" + +DEPENDS += "libxext videoproto" + +PR = "r0" + +XORG_PN = "libXv" + +SRC_URI[md5sum] = "5e1ac203ccd3ce3e89755ed1fbe75b0b" +SRC_URI[sha256sum] = "5d664aeb641f8c867331a0c6b4574a5e7e420f00bf5fcefd874e8d003ea59010" diff --git a/meta/recipes-graphics/xorg-lib/libxvmc_1.0.7.bb b/meta/recipes-graphics/xorg-lib/libxvmc_1.0.7.bb new file mode 100644 index 000000000..70b4816d0 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxvmc_1.0.7.bb @@ -0,0 +1,20 @@ +SUMMARY = "XvMC: X Video Motion Compensation extension library" + +DESCRIPTION = "XvMC extends the X Video extension (Xv) and enables \ +hardware rendered motion compensation support." + +require xorg-lib-common.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=0a207f08d4961489c55046c9a5e500da \ + file://wrapper/XvMCWrapper.c;endline=26;md5=5151daa8172a3f1bb0cb0e0ff157d9de" + +DEPENDS += "libxext libxv videoproto" + +PR = "r0" +PE = "1" + +XORG_PN = "libXvMC" + +SRC_URI[md5sum] = "3340c99ff556ea2457b4be47f5cb96fa" +SRC_URI[sha256sum] = "28f085fc8518a3dadfe355360705d50153051f09898093e69af806c0b437cea3" diff --git a/meta/recipes-graphics/xorg-lib/libxxf86dga/libxxf86dga-1.1.3_fix_for_x32.patch b/meta/recipes-graphics/xorg-lib/libxxf86dga/libxxf86dga-1.1.3_fix_for_x32.patch new file mode 100644 index 000000000..4a0c68255 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxxf86dga/libxxf86dga-1.1.3_fix_for_x32.patch @@ -0,0 +1,30 @@ +Upstream-Status: pending + +Fix type conversion for x32. For x32 the off_t is 64bit and pointers are 32bit. +so the conversion of pointer to off_t was resulting into this error: + +| XF86DGA2.c:931:24: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] +| cc1: some warnings being treated as errors +| +| make[2]: *** [XF86DGA2.lo] Error 1 + +Fixed it by typecasting pointer into unsigned long 1st and then again typecasting +unsigned long to off_t. + +Signed-Off-by: Nitin A Kamble <nitin.a.kamble@intel.com> +2012/01/04 + + +Index: libXxf86dga-1.1.3/src/XF86DGA2.c +=================================================================== +--- libXxf86dga-1.1.3.orig/src/XF86DGA2.c ++++ libXxf86dga-1.1.3/src/XF86DGA2.c +@@ -928,7 +928,7 @@ DGAMapPhysical( + if ((pMap->fd = open(name, O_RDWR)) < 0) + return False; + pMap->virtual = mmap(NULL, size, PROT_READ | PROT_WRITE, +- MAP_FILE | MAP_SHARED, pMap->fd, (off_t)base); ++ MAP_FILE | MAP_SHARED, pMap->fd, (off_t)(unsigned long)base); + if (pMap->virtual == (void *)-1) + return False; + mprotect(pMap->virtual, size, PROT_READ | PROT_WRITE); diff --git a/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.3.bb b/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.3.bb new file mode 100644 index 000000000..dcb6701ef --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.3.bb @@ -0,0 +1,22 @@ +require xorg-lib-common.inc + +SUMMARY = "XFree86-DGA: XFree86 Direct Graphics Access extension library" + +DESCRIPTION = "libXxf86dga provides the XFree86-DGA extension, which \ +allows direct graphics access to a framebuffer-like region, and also \ +allows relative mouse reporting, et al. It is mainly used by games and \ +emulators for games." + +LIC_FILES_CHKSUM = "file://COPYING;md5=abb99ac125f84f424a4278153988e32f" + +DEPENDS += "libxext xf86dgaproto" + +PE = "1" +PR = "r2" + +SRC_URI += "file://libxxf86dga-1.1.3_fix_for_x32.patch" + +SRC_URI[md5sum] = "b7f38465c46e7145782d37dbb9da8c09" +SRC_URI[sha256sum] = "551fa374dbef0f977de1f35d005fa9ffe92b7a87e82dbe62d6a4640f5b0b4994" + +XORG_PN = "libXxf86dga" diff --git a/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.3.bb b/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.3.bb new file mode 100644 index 000000000..bda6da2aa --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.3.bb @@ -0,0 +1,21 @@ +SUMMARY = "XFree86-Misc: XFree86 miscellaneous extension library" + +DESCRIPTION = "The XFree86-Misc extension, provides a means to access \ +input device configuration settings specific to the XFree86/Xorg DDX." + +require xorg-lib-common.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=27c91ecc435bd3d2bfad868914c94b45" + +DEPENDS += "libxext xf86miscproto" +PROVIDES = "xxf86misc" + +PR = "r0" +PE = "1" + +XORG_PN = "libXxf86misc" + +SRC_URI[md5sum] = "6bc0bf78909fd71021c466c793d4385c" +SRC_URI[sha256sum] = "563f4200862efd3334c33a669e0a0aae5bab31f3998db75b87a99a697cc26b5b" + diff --git a/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.2.bb b/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.2.bb new file mode 100644 index 000000000..a93a3998a --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.2.bb @@ -0,0 +1,21 @@ +SUMMARY = "XFree86-VM: XFree86 video mode extension library" + +DESCRIPTION = "libXxf86vm provides an interface to the \ +XFree86-VidModeExtension extension, which allows client applications to \ +get and set video mode timings in extensive detail. It is used by the \ +xvidtune program in particular." + +require xorg-lib-common.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=fa0b9c462d8f2f13eba26492d42ea63d" + +DEPENDS += "libxext xf86vidmodeproto" + +PR = "r0" +PE = "1" + +XORG_PN = "libXxf86vm" + +SRC_URI[md5sum] = "ffd93bcedd8b2b5aeabf184e7b91f326" +SRC_URI[sha256sum] = "a564172fb866b1b587bbccb7d041088931029845245e0d15c32ca7f1bb48fc84" diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb b/meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb new file mode 100644 index 000000000..acfe727b1 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb @@ -0,0 +1,27 @@ +SUMMARY = "Pixman: Pixel Manipulation library" + +DESCRIPTION = "Pixman provides a library for manipulating pixel regions \ +-- a set of Y-X banded rectangles, image compositing using the \ +Porter/Duff model and implicit mask generation for geometric primitives \ +including trapezoids, triangles, and rectangles." + +require xorg-lib-common.inc + +LICENSE = "MIT & MIT-style & PD" +LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \ + file://pixman/pixman-matrix.c;endline=25;md5=ba6e8769bfaaee2c41698755af04c4be \ + file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \ + " +DEPENDS += "zlib libpng" +BBCLASSEXTEND = "native" + +PR = "r1" + +PE = "1" + +IWMMXT = "--disable-arm-iwmmxt" + +EXTRA_OECONF="--disable-gtk ${IWMMXT}" + +SRC_URI[md5sum] = "8d5722f6f61db50034303947a40f5e7b" +SRC_URI[sha256sum] = "06d83ce5a5f2f8ab3761e88a2de1576b6596bb436190166a242b9d75a68bc1d8" diff --git a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.1.bb b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.1.bb new file mode 100644 index 000000000..b077fa3ca --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.1.bb @@ -0,0 +1,34 @@ +SUMMARY = "Keyboard configuration database for X Window" + +DESCRIPTION = "The non-arch keyboard configuration database for X \ +Window. The goal is to provide the consistent, well-structured, \ +frequently released open source of X keyboard configuration data for X \ +Window System implementations. The project is targeted to XKB-based \ +systems." + +HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-config" + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9" + +SRC_URI = "http://people.freedesktop.org/~svu/xkeyboard-config-${PV}.tar.bz2" +SRC_URI[md5sum] = "6ce65480445fb2d9c071ad1f002a7675" +SRC_URI[sha256sum] = "e293aa4b0dd259dbb4f0e7f56fdd95db5047d052c7b3b80922fe5663923a805d" + +SECTION = "x11/libs" +DEPENDS = "intltool-native xkbcomp-native glib-2.0" + +PR = "r1" + +EXTRA_OECONF = "--with-xkb-rules-symlink=xorg" + +RDEPENDS_${PN} += "xkbcomp" +FILES_${PN} += "${datadir}/X11/xkb" + +inherit autotools pkgconfig + +do_install_append () { + install -d ${D}/usr/share/X11/xkb/compiled + cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg +} diff --git a/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc b/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc new file mode 100644 index 000000000..73a4d1d3e --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc @@ -0,0 +1,22 @@ +HOMEPAGE = "http://www.x.org" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" + +SECTION = "x11/libs" +LICENSE = "MIT-X" +DEPENDS = "util-macros" + +XORG_PN = "${BPN}" + +SRC_URI = "${XORG_MIRROR}/individual/lib/${XORG_PN}-${PV}.tar.bz2" + +S = "${WORKDIR}/${XORG_PN}-${PV}" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--enable-malloc0returnsnull --with-fop=no --without-xmlto" + +python () { + whitelist = [ "pixman" ] + if not d.getVar('BPN', True) in whitelist and not oe.utils.contains ('DISTRO_FEATURES', 'x11', True, False, d): + raise bb.parse.SkipPackage("'x11' not in DISTRO_FEATURES") +} diff --git a/meta/recipes-graphics/xorg-lib/xtrans_1.2.6.bb b/meta/recipes-graphics/xorg-lib/xtrans_1.2.6.bb new file mode 100644 index 000000000..19abe5a31 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/xtrans_1.2.6.bb @@ -0,0 +1,25 @@ +SUMMARY = "XTrans: X Transport library" + +DESCRIPTION = "The X Transport Interface is intended to combine all \ +system and transport specific code into a single place. This API should \ +be used by all libraries, clients and servers of the X Window System. \ +Use of this API should allow the addition of new types of transports and \ +support for new platforms without making any changes to the source \ +except in the X Transport Interface code." + +require xorg-lib-common.inc + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=49347921d4d5268021a999f250edc9ca" + +PE = "1" +PR = "r0" + +RDEPENDS_${PN}-dev = "" + +inherit gettext + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "c66f9ffd2da4fb012220c6c40ebc7609" +SRC_URI[sha256sum] = "c5f9a73705ddbb8c9b8f16c4fac33b4b9ba7661b8305474b4c1549e48d9ca5c6" diff --git a/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.2.bb b/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.2.bb new file mode 100644 index 000000000..8c41d1651 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.2.bb @@ -0,0 +1,17 @@ +require xorg-proto-common.inc + +PR = "r0" +PE = "1" + +SUMMARY = "BigReqs: X Big Requests extension headers" + +DESCRIPTION = "This package provides the wire protocol for the \ +BIG-REQUESTS extension, used to send larger requests that usual in order \ +to avoid fragmentation." + +BBCLASSEXTEND = "native nativesdk" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b12715630da6f268d0d3712ee1a504f4" + +SRC_URI[md5sum] = "1a05fb01fa1d5198894c931cf925c025" +SRC_URI[sha256sum] = "462116ab44e41d8121bfde947321950370b285a5316612b8fce8334d50751b1e" diff --git a/meta/recipes-graphics/xorg-proto/calibrateproto/fix.patch b/meta/recipes-graphics/xorg-proto/calibrateproto/fix.patch new file mode 100644 index 000000000..ff8cb25cd --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/calibrateproto/fix.patch @@ -0,0 +1,42 @@ +Upstream-Status: Pending + +Add missing length fields to the replies. Without these, sanity checking in recent X +breaks things. + +RP 11/2/10 + + +Index: git/xcalibrateproto.h +=================================================================== +--- git.orig/xcalibrateproto.h 2010-02-11 11:47:45.711985932 +0000 ++++ git/xcalibrateproto.h 2010-02-11 11:40:21.000000000 +0000 +@@ -67,13 +67,13 @@ + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; ++ CARD32 length; + CARD32 status; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +- CARD32 pad7 B32; + } xXCalibrateRawModeReply; + + #define sz_xXCalibrateRawModeReply 32 +@@ -92,13 +92,13 @@ + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; ++ CARD32 length; + CARD32 x; + CARD32 y; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +- CARD32 pad6 B32; + } xXCalibrateScreenToCoordReply; + + #define sz_xXCalibrateScreenToCoordReply 32 diff --git a/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb b/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb new file mode 100644 index 000000000..951130608 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb @@ -0,0 +1,19 @@ +require xorg-proto-common.inc + +SUMMARY = "XCalibrate: Touchscreen calibration headers" + +DESCRIPTION = "This package provides the wire protocol for the \ +Touchscreen calibration extension." + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://xcalibratewire.h;endline=23;md5=7f86ef7b03cce6c4c9ebd59d20ca485f \ + file://xcalibrateproto.h;endline=23;md5=e4490491edcc171ca24f98569ee580db" + +SRCREV = "1da6fd1e2c7a49648245c98481fabea8b9690a8c" + +PV = "0.0+git${SRCPV}" +PR = "r2" + +SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/calibrateproto;protocol=git \ + file://fix.patch;apply=yes" +S = "${WORKDIR}/git" diff --git a/meta/recipes-graphics/xorg-proto/compositeproto_0.4.2.bb b/meta/recipes-graphics/xorg-proto/compositeproto_0.4.2.bb new file mode 100644 index 000000000..093ee9924 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/compositeproto_0.4.2.bb @@ -0,0 +1,21 @@ +require xorg-proto-common.inc + +SUMMARY = "Xcomposite: X composite extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X \ +composite extension. The X composite extension provides three related \ +mechanisms for compositing and off-screen storage." + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=2c4bfe136f4a4418ea2f2a96b7c8f3c5 \ + file://composite.h;endline=43;md5=cbd44d4079053aa75930ed2f02b92926" + +CONFLICTS = "compositeext" +BBCLASSEXTEND = "native" + +PR = "r0" +PE = "1" + +SRC_URI[md5sum] = "98482f65ba1e74a08bf5b056a4031ef0" +SRC_URI[sha256sum] = "049359f0be0b2b984a8149c966dd04e8c58e6eade2a4a309cf1126635ccd0cfc" + diff --git a/meta/recipes-graphics/xorg-proto/damageproto_1.2.1.bb b/meta/recipes-graphics/xorg-proto/damageproto_1.2.1.bb new file mode 100644 index 000000000..de2d69cb2 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/damageproto_1.2.1.bb @@ -0,0 +1,20 @@ +require xorg-proto-common.inc + +SUMMARY = "Xdamage: X Damage extension headers" + +DESCRIPTION = "This package provides the wire protocol for the DAMAGE \ +extension. The DAMAGE extension allows applications to receive \ +information about changes made to pixel contents of windows and \ +pixmaps." + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=d5f5a2de65c3a84cbde769f07a769608 \ + file://damagewire.h;endline=23;md5=4a4501a592dbc7de5ce89255e50d0296" + +CONFLICTS = "damageext" +BBCLASSEXTEND = "native" +PR = "r0" +PE = "1" + +SRC_URI[md5sum] = "998e5904764b82642cc63d97b4ba9e95" +SRC_URI[sha256sum] = "5c7c112e9b9ea8a9d5b019e5f17d481ae20f766cb7a4648360e7c1b46fc9fc5b" diff --git a/meta/recipes-graphics/xorg-proto/dmxproto_2.3.1.bb b/meta/recipes-graphics/xorg-proto/dmxproto_2.3.1.bb new file mode 100644 index 000000000..c52107109 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/dmxproto_2.3.1.bb @@ -0,0 +1,19 @@ +require xorg-proto-common.inc + +SUMMARY = "DMX: Distributed Multihead extension headers" + +DESCRIPTION = "This package provides the wire protocol for the DMX \ +extension. The DMX extension provides support for communication with \ +and control of Xdmx server. Attributes of the Xdmx server and of the \ +back-end screens attached to the server can be queried and modified via \ +this protocol." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=a3c3499231a8035efd0e004cfbd3b72a \ + file://dmxproto.h;endline=32;md5=ab8509955c3dd4c65fac728e1b367bc4" + +PR = "r0" +PE = "1" + +SRC_URI[md5sum] = "4ee175bbd44d05c34d43bb129be5098a" +SRC_URI[sha256sum] = "e72051e6a3e06b236d19eed56368117b745ca1e1a27bdc50fd51aa375bea6509" diff --git a/meta/recipes-graphics/xorg-proto/dri2proto_2.6.bb b/meta/recipes-graphics/xorg-proto/dri2proto_2.6.bb new file mode 100644 index 000000000..99c089a7f --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/dri2proto_2.6.bb @@ -0,0 +1,16 @@ +require xorg-proto-common.inc + +SUMMARY = "DRI2: Direct Rendering Infrastructure 2 headers" + +DESCRIPTION = "This package provides the wire protocol for the Direct \ +Rendering Ifnrastructure 2. DIR is required for may hardware \ +accelerated OpenGL drivers." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2e396fa91834f8786032cad2da5638f3 \ + file://dri2proto.h;endline=31;md5=22f28bf68d01b533f26195e94b3ed8ca" + +PR = "r0" + +SRC_URI[md5sum] = "2eb74959684f47c862081099059a11ab" +SRC_URI[sha256sum] = "ad82c0b28c19fcd3f91ea1f93956cb666526b41b91f239773b5854b9b1a3b909" diff --git a/meta/recipes-graphics/xorg-proto/dri2proto_git.bb b/meta/recipes-graphics/xorg-proto/dri2proto_git.bb new file mode 100644 index 000000000..6e7105c2d --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/dri2proto_git.bb @@ -0,0 +1,18 @@ +require xorg-proto-common.inc + +SUMMARY = "DRI2: Direct Rendering Infrastructure 2 headers" + +DESCRIPTION = "This package provides the wire protocol for the Direct \ +Rendering Ifnrastructure 2. DIR is required for may hardware \ +accelerated OpenGL drivers." + +SRCREV = "66c56ab10d917e3f47f93178d7eac6430970d3c4" +PV = "1.99.3+git${SRCPV}" +PR = "r2" + +SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/dri2proto;protocol=git" + +LIC_FILES_CHKSUM="file://COPYING;md5=2e396fa91834f8786032cad2da5638f3" + +S = "${WORKDIR}/git" + diff --git a/meta/recipes-graphics/xorg-proto/evieext_1.1.1.bb b/meta/recipes-graphics/xorg-proto/evieext_1.1.1.bb new file mode 100644 index 000000000..271398d0a --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/evieext_1.1.1.bb @@ -0,0 +1,15 @@ +require xorg-proto-common.inc + +SUMMARY = "EvIE: X Event Interception Extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X Event \ +Interception Extension. This extension allows the interception of \ +keyboard and mouse events." + +PR = "r0" +PE = "1" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4db9fc6a58e873c6392eec53082d89b5" + +SRC_URI[md5sum] = "98bd86a13686f65f0873070fdee6efc7" +SRC_URI[sha256sum] = "1cf74114436d99f56577a90b6438a32ba31b8128c9e63842bb179aba592733fe" diff --git a/meta/recipes-graphics/xorg-proto/fixesproto_5.0.bb b/meta/recipes-graphics/xorg-proto/fixesproto_5.0.bb new file mode 100644 index 000000000..2c05cf714 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/fixesproto_5.0.bb @@ -0,0 +1,22 @@ +require xorg-proto-common.inc + +SUMMARY = "XFixes: X Fixes extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X Fixes \ +extension. This extension is designed to provide server-side support \ +for application work arounds to shortcomings in the core X window \ +system." + + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=262a7a87da56e66dd639bf7334a110c6 \ + file://xfixesproto.h;endline=43;md5=c3a9ee6db3532ed0d44dea266cfc97f4" + +CONFLICTS = "fixesext" +PR = "r0" +PE = "1" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "e7431ab84d37b2678af71e29355e101d" +SRC_URI[sha256sum] = "ba2f3f31246bdd3f2a0acf8bd3b09ba99cab965c7fb2c2c92b7dc72870e424ce" diff --git a/meta/recipes-graphics/xorg-proto/fontcacheproto_0.1.3.bb b/meta/recipes-graphics/xorg-proto/fontcacheproto_0.1.3.bb new file mode 100644 index 000000000..42c95882b --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/fontcacheproto_0.1.3.bb @@ -0,0 +1,19 @@ +require xorg-proto-common.inc + +SUMMARY = "XFontCache: X Font Cache extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X Font \ +Cache extension. This extension is used by X-TrueType to cache \ +information about fonts." + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=ba9fcd8fe6d09af9f733daccc1a21857 \ + file://fontcacheP.h;endline=28;md5=85c80bfa96c802ee85a570862ee60214" + +PR = "r1" +PE = "1" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "a8a50e5e995bfacb0359575faf7f6906" +SRC_URI[sha256sum] = "1dcaa659d416272ff68e567d1910ccc1e369768f13b983cffcccd6c563dbe3cb" diff --git a/meta/recipes-graphics/xorg-proto/fontsproto_2.1.1.bb b/meta/recipes-graphics/xorg-proto/fontsproto_2.1.1.bb new file mode 100644 index 000000000..af59240fd --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/fontsproto_2.1.1.bb @@ -0,0 +1,19 @@ +require xorg-proto-common.inc + +SUMMARY = "XFont: X Font rasterisation headers" + +DESCRIPTION = "This package provides the wire protocol for the X Font \ +rasterisation extensions. These extensions are used to control \ +server-side font configurations." + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=c3e48aa9ce868c8e90f0401db41c11a2 \ + file://FSproto.h;endline=44;md5=d2e58e27095e5ea7d4ad456ccb91986c" + +PR = "r0" +PE = "1" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "37102ffcaa73f77d700acd6f7a25d8f0" +SRC_URI[sha256sum] = "9c9abc81e2927e6b6ffc6eece1f3fbc7559f506a2848673a21e72c0ae4d639bc" diff --git a/meta/recipes-graphics/xorg-proto/glproto_1.4.15.bb b/meta/recipes-graphics/xorg-proto/glproto_1.4.15.bb new file mode 100644 index 000000000..955f44b75 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/glproto_1.4.15.bb @@ -0,0 +1,19 @@ +require xorg-proto-common.inc + +SUMMARY = "OpenGL: X OpenGL extension headers" + +DESCRIPTION = "This package provides the wire protocol for the \ +OpenGL-related extensions, used to enable the rendering of applications \ +using OpenGL." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=d44ed0146997856304dfbb512a59a8de \ + file://glxproto.h;beginline=4;endline=32;md5=6b79c570f644363b356456e7d44471d9" + +PR = "r0" +PE = "1" + +BBCLASSEXTEND = "nativesdk" + +SRC_URI[md5sum] = "d1ff0c1acc605689919c1ee2fc9b5582" +SRC_URI[sha256sum] = "990356ebe2e8966aa643287c9a485777957a49299dfb211654df5ff212dec171" diff --git a/meta/recipes-graphics/xorg-proto/inputproto_2.2.bb b/meta/recipes-graphics/xorg-proto/inputproto_2.2.bb new file mode 100644 index 000000000..3b3ae363b --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/inputproto_2.2.bb @@ -0,0 +1,22 @@ +require xorg-proto-common.inc + +SUMMARY = "XI: X Input extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X Input \ +extension. The extension supports input devices other then the core X \ +keyboard and pointer." + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=e562cc0f6587b961f032211d8160f31e \ + file://XI2proto.h;endline=48;md5=1ac1581e61188da2885cc14ff49b20be" + +PR = "r0" +PE = "1" + +inherit gettext + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "13c8aedaf98a92e282b7e456c0a5bed9" +SRC_URI[sha256sum] = "de7516ab25c299740da46c0f1af02f1831c5aa93b7283f512c0f35edaac2bcb0" + diff --git a/meta/recipes-graphics/xorg-proto/inputproto_git.bb b/meta/recipes-graphics/xorg-proto/inputproto_git.bb new file mode 100644 index 000000000..08c72cdfe --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/inputproto_git.bb @@ -0,0 +1,19 @@ +require xorg-proto-common.inc + +SUMMARY = "XI: X Input extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X Input \ +extension. The extension supports input devices other then the core X \ +keyboard and pointer." + +PR = "r1" +PE = "1" +SRCREV = "7203036522ba9d4b224d282d6afc2d0b947711ee" +PV = "1.9.99.12+git${SRCPV}" + +SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/inputproto;protocol=git" +S = "${WORKDIR}/git" + +inherit gettext + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xorg-proto/kbproto_1.0.5.bb b/meta/recipes-graphics/xorg-proto/kbproto_1.0.5.bb new file mode 100644 index 000000000..f1f7cbbde --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/kbproto_1.0.5.bb @@ -0,0 +1,19 @@ +require xorg-proto-common.inc + +SUMMARY = "XKB: X Keyboard extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X \ +Keyboard extension. This extension is used to control options related \ +to keyboard handling and layout." + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=7dd6ea99e2a83a552c02c80963623c38 \ + file://XKBproto.h;beginline=2;endline=26;md5=5744eeff407aeb6e7a1346eebab486a2" + +PR = "r0" +PE = "1" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "e7edb59a3f54af15f749e8f3e314ee62" +SRC_URI[sha256sum] = "0eba4f525e1700798cc0585fe29556e4369fba6517c670866273ad104cf5f49d" diff --git a/meta/recipes-graphics/xorg-proto/printproto_1.0.5.bb b/meta/recipes-graphics/xorg-proto/printproto_1.0.5.bb new file mode 100644 index 000000000..2c8afbd7e --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/printproto_1.0.5.bb @@ -0,0 +1,17 @@ +require xorg-proto-common.inc + +SUMMARY = "XP: X Printing extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X \ +Printing extension. This extension provides a way for client \ +applications to render to non-display devices." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=658463213f19b48b81f8672d2696069f \ + file://Print.h;beginline=2;endline=59;md5=db19e065445b3755c09432864dcd8a9b" + +PR = "r0" +PE = "1" + +SRC_URI[md5sum] = "99d0e25feea2fead7d8325b7000b41c3" +SRC_URI[sha256sum] = "1298316cf43b987365ab7764d61b022a3d7f180b67b423eed3456862d155911a" diff --git a/meta/recipes-graphics/xorg-proto/randrproto_1.3.2.bb b/meta/recipes-graphics/xorg-proto/randrproto_1.3.2.bb new file mode 100644 index 000000000..e4fe37b44 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/randrproto_1.3.2.bb @@ -0,0 +1,20 @@ +require xorg-proto-common.inc + +SUMMARY = "XRandR: X Resize, Rotate and Reflect extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X Resize, \ +Rotate and Reflect extension. This extension provides the ability to \ +resize, rotate and reflect the root window of a screen." + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=5fa3f85d9eefaa3a945071485be11343 \ + file://randrproto.h;endline=30;md5=3885957c6048fdf3310ac8ba54ca2c3f" + +CONFLICTS = "randrext" +PR = "r0" +PE = "1" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "597491c0d8055e2a66f11350c4985775" +SRC_URI[sha256sum] = "d90d00612cc49292bd8d9dc19efb1c9187385fbe87590d7279a02e5e1066dc71" diff --git a/meta/recipes-graphics/xorg-proto/recordproto_1.14.1.bb b/meta/recipes-graphics/xorg-proto/recordproto_1.14.1.bb new file mode 100644 index 000000000..8ee201788 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/recordproto_1.14.1.bb @@ -0,0 +1,18 @@ +require xorg-proto-common.inc + +SUMMARY = "XRecord: X Record extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X Record \ +extension. This extension is used to record and play back event \ +sequences." + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=575827a0f554bbed332542976d5f3d40 \ + file://recordproto.h;endline=19;md5=1cbb0dd45a0b060ff833901620a3e738" + +CONFLICTS = "recordext" +PR = "r0" +PE = "1" + +SRC_URI[md5sum] = "24541a30b399213def35f48efd926c63" +SRC_URI[sha256sum] = "b27eb043d3e618bc1f8b704a64f8ae218ea00e7f36f9107ac41d41940773098d" diff --git a/meta/recipes-graphics/xorg-proto/renderproto_0.11.1.bb b/meta/recipes-graphics/xorg-proto/renderproto_0.11.1.bb new file mode 100644 index 000000000..5eb06cbf8 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/renderproto_0.11.1.bb @@ -0,0 +1,21 @@ +require xorg-proto-common.inc + +SUMMARY = "XRender: X rendering Extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X \ +Rendering extension. This is the basis the image composition within the \ +X window system." + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=f826d99765196352e6122a406cf0d024 \ + file://renderproto.h;beginline=4;endline=24;md5=3e5e2851dad240b0a3a27c4776b4fd1f" + +CONFLICTS = "renderext" +PR = "r0" +PE = "1" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "a914ccc1de66ddeb4b611c6b0686e274" +SRC_URI[sha256sum] = "06735a5b92b20759204e4751ecd6064a2ad8a6246bb65b3078b862a00def2537" + diff --git a/meta/recipes-graphics/xorg-proto/resourceproto_1.2.0.bb b/meta/recipes-graphics/xorg-proto/resourceproto_1.2.0.bb new file mode 100644 index 000000000..92c37c6f6 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/resourceproto_1.2.0.bb @@ -0,0 +1,19 @@ +require xorg-proto-common.inc + +SUMMARY = "XRes: X Resource extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X \ +Resource extension. XRes provides an interface that allows X clients to \ +see and monitor X resource usage of various clients." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=604859305e662503077240fee8c77d97" + +CONFLICTS = "resourceext" + +PR = "r0" +PE = "1" + +SRC_URI[md5sum] = "cfdb57dae221b71b2703f8e2980eaaf4" +SRC_URI[sha256sum] = "3c66003a6bdeb0f70932a9ed3cf57cc554234154378d301e0c5cfa189d8f6818" + diff --git a/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.1.bb b/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.1.bb new file mode 100644 index 000000000..fe937eb6e --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.1.bb @@ -0,0 +1,21 @@ +require xorg-proto-common.inc + +SUMMARY = "Xscrnsaver: X Screen Saver extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X Screen \ +Saver extension. This extension allows an external \"screen saver\" \ +client to detect when the alternative image is to be displayed and to \ +provide the graphics." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=eed49b78b15b436c933b6b8b054e3901 \ + file://saverproto.h;endline=26;md5=a84c0637305159f3c0ab173aaeede48d" + +PR = "r0" +PE = "1" + +EXTRA_OECONF_append = " --enable-specs=no" + +SRC_URI[md5sum] = "6af0f2e3369f5f74e69345e214f5fd0d" +SRC_URI[sha256sum] = "fad2f73cac136fcddd311d27a14ac7e519a9bec6ab272490d9c9b363556024f1" + diff --git a/meta/recipes-graphics/xorg-proto/trapproto_3.4.3.bb b/meta/recipes-graphics/xorg-proto/trapproto_3.4.3.bb new file mode 100644 index 000000000..54d962e53 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/trapproto_3.4.3.bb @@ -0,0 +1,16 @@ +require xorg-proto-common.inc + +SUMMARY = "XTrap: X event trapping extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X event \ +trapping extension. This extension provides the interface which allows \ +for capture and synthesis of core input events." + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=0a984c8e242256a12f3b8dac085893db" + +PR = "r1" +PE = "1" + +SRC_URI[md5sum] = "3b713239e5e6b269b31cb665563358df" +SRC_URI[sha256sum] = "ff32a0d3bc696cadc3457be9c85e9818af2b6daa2f159188bb01aad7e932a0e1" diff --git a/meta/recipes-graphics/xorg-proto/videoproto_2.3.1.bb b/meta/recipes-graphics/xorg-proto/videoproto_2.3.1.bb new file mode 100644 index 000000000..51132433e --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/videoproto_2.3.1.bb @@ -0,0 +1,15 @@ +require xorg-proto-common.inc + +SUMMARY = "Xv: X Video extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X Video \ +extension. This extension alows for accerlated drawing of videos." + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=59d089e37bf57b5206602da38f58ca5d" + +PR = "r0" +PE = "1" + +SRC_URI[md5sum] = "c3b348c6e2031b72b11ae63fc7f805c2" +SRC_URI[sha256sum] = "3ec76d24931d1e08c6c8d0b89a25e32dc44bc8f87d1dcb3fe201e3c99f89635a" diff --git a/meta/recipes-graphics/xorg-proto/xcmiscproto_1.2.1.bb b/meta/recipes-graphics/xorg-proto/xcmiscproto_1.2.1.bb new file mode 100644 index 000000000..af5ddfd18 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/xcmiscproto_1.2.1.bb @@ -0,0 +1,18 @@ +require xorg-proto-common.inc + +SUMMARY = "XC-MISC: X XC-Miscellaneous extension headers" + +DESCRIPTION = "This package provides the wire protocol for the XC-MISC \ +extension, which is used to get details of XID allocations within the \ +server." + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=09d83047c15994e05db29b423ed6662e" + +PR = "r0" +PE = "1" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "cd7372cd827bfd7ca7e9238f2ce274b1" +SRC_URI[sha256sum] = "730e27e22bfb99409bc364233f3f766f5163de0cbf2edad33738cfdf55f04c15" diff --git a/meta/recipes-graphics/xorg-proto/xextproto_7.2.0.bb b/meta/recipes-graphics/xorg-proto/xextproto_7.2.0.bb new file mode 100644 index 000000000..09eb59a3a --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/xextproto_7.2.0.bb @@ -0,0 +1,25 @@ +require xorg-proto-common.inc + +SUMMARY = "XExt: X Extension headers" + +DESCRIPTION = "This package provides the wire protocol for several X \ +extensions. These protocol extensions include DOUBLE-BUFFER, DPMS, \ +Extended-Visual-Information, LBX, MIT_SHM, MIT_SUNDRY-NONSTANDARD, \ +Multi-Buffering, SECURITY, SHAPE, SYNC, TOG-CUP, XC-APPGROUP, XC-MISC, \ +XTEST. In addition a small set of utility functions are also \ +available." + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=86f273291759d0ba2a22585cd1c06c53" + +PR = "r0" +PE = "1" + +inherit gettext + +EXTRA_OECONF_append = " --enable-specs=no" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "220732210ceffb01bf1caf970e3b1bfb" +SRC_URI[sha256sum] = "d2bc4208c6b1883ebe00bc5c0048e5d825038cda56775f74bb4aa89afdc576d5" diff --git a/meta/recipes-graphics/xorg-proto/xf86bigfontproto_1.2.0.bb b/meta/recipes-graphics/xorg-proto/xf86bigfontproto_1.2.0.bb new file mode 100644 index 000000000..969fc9136 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/xf86bigfontproto_1.2.0.bb @@ -0,0 +1,18 @@ +require xorg-proto-common.inc + +SUMMARY = "XFree86-BIGFONT: XFree86 Big Font extension headers" + +DESCRIPTION = "This package provides the wire protocol for the XFree86 \ +Big Font extension. This extension makes larger font requests \ +possible." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=e01e66e4b317088cf869bc98e6af4fb6" + +PR = "r1" +PE = "1" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "120e226ede5a4687b25dd357cc9b8efe" +SRC_URI[sha256sum] = "ba9220e2c4475f5ed2ddaa7287426b30089e4d29bd58d35fad57ba5ea43e1648" diff --git a/meta/recipes-graphics/xorg-proto/xf86dgaproto_2.1.bb b/meta/recipes-graphics/xorg-proto/xf86dgaproto_2.1.bb new file mode 100644 index 000000000..f70d79dae --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/xf86dgaproto_2.1.bb @@ -0,0 +1,18 @@ +require xorg-proto-common.inc + +SUMMARY = "XFree86-DGA: XFree86 Direct Graphics Access extension headers" + +DESCRIPTION = "This package provides the wire protocol for the XFree86 \ +Direct Graphics Access extension. This extension allows direct graphics \ +access to a framebuffer-like region, as well as relative mouse \ +reporting." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=e01e66e4b317088cf869bc98e6af4fb6" + +CONFLICTS = "xxf86dgaext" +PR = "r1" +PE = "1" + +SRC_URI[md5sum] = "a036dc2fcbf052ec10621fd48b68dbb1" +SRC_URI[sha256sum] = "ac5ef65108e1f2146286e53080975683dae49fc94680042e04bd1e2010e99050" diff --git a/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.1.bb b/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.1.bb new file mode 100644 index 000000000..5b38117ec --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.1.bb @@ -0,0 +1,18 @@ +require xorg-proto-common.inc + +SUMMARY = "XFree86-DRI: XFree86 Direct Rendering Infrastructure extension headers" + +DESCRIPTION = "This package provides the wire protocol for the XFree86 \ +Direct Rendering Infrastructure extension. The XFree86-DRI extension is \ +used to organize direct rendering support or 3D clients and help \ +arbitrate requests." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=ef103b9d951e39ff7e23d386e2011fa3 \ + file://xf86driproto.h;endline=35;md5=42be3d8e6d429ab79172572bb0cff544" + +PR = "r0" +PE = "1" + +SRC_URI[md5sum] = "1d716d0dac3b664e5ee20c69d34bc10e" +SRC_URI[sha256sum] = "9c4b8d7221cb6dc4309269ccc008a22753698ae9245a398a59df35f1404d661f" diff --git a/meta/recipes-graphics/xorg-proto/xf86miscproto_0.9.3.bb b/meta/recipes-graphics/xorg-proto/xf86miscproto_0.9.3.bb new file mode 100644 index 000000000..d4663ea88 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/xf86miscproto_0.9.3.bb @@ -0,0 +1,17 @@ +require xorg-proto-common.inc + +SUMMARY = "XFree86-Misc: XFree86 miscellaneous extension headers" + +DESCRIPTION = "This package provides the wire protocol for the XFree \ +miscellaneous extension. The XFree86-Misc extension provides a means to \ +access input device configuration settings specific to the XFree86/Xorg \ +DDX." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=e01e66e4b317088cf869bc98e6af4fb6" + +PR = "r1" +PE = "1" + +SRC_URI[md5sum] = "ca63bbb31cf5b7f37b2237e923ff257a" +SRC_URI[sha256sum] = "45b8ec6a4a8ca21066dce117e09dcc88539862e616e60fb391de05b36f63b095" diff --git a/meta/recipes-graphics/xorg-proto/xf86rushproto_1.1.2.bb b/meta/recipes-graphics/xorg-proto/xf86rushproto_1.1.2.bb new file mode 100644 index 000000000..1548bd07f --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/xf86rushproto_1.1.2.bb @@ -0,0 +1,16 @@ +require xorg-proto-common.inc + +SUMMARY = "XFree86-Rush: XFree86 Rush extension headers" + +DESCRIPTION = "This package provides the wire protocol for the XFree86 \ +Rush extension. This extension is there to allow Glide applications to \ +run." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=e01e66e4b317088cf869bc98e6af4fb6" + +PR = "r1" +PE = "1" + +SRC_URI[md5sum] = "b6a96ffdae084e27487a58314008b000" +SRC_URI[sha256sum] = "07d9b237541f2d6313b5b28f5335d987a766b36c87b133f77cc48f31d969a3ae" diff --git a/meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.1.bb b/meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.1.bb new file mode 100644 index 000000000..721e7b0e1 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.1.bb @@ -0,0 +1,18 @@ +require xorg-proto-common.inc + +SUMMARY = "XFree86-VM: XFree86 video mode extension headers" + +DESCRIPTION = "This package provides the wire protocol for the XFree86 \ +video mode extension. This extension allows client applications to get \ +and set video mode timings." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=499be2ff387a42f84628c35f311f1502" + +CONFLICTS = "xxf86vmext" + +PR = "r0" +PE = "1" + +SRC_URI[md5sum] = "e793ecefeaecfeabd1aed6a01095174e" +SRC_URI[sha256sum] = "45d9499aa7b73203fd6b3505b0259624afed5c16b941bd04fcf123e5de698770" diff --git a/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.1.bb b/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.1.bb new file mode 100644 index 000000000..a68e4f593 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.1.bb @@ -0,0 +1,18 @@ +require xorg-proto-common.inc + +SUMMARY = "Xinerama: Xinerama extension headers" + +DESCRIPTION = "This package provides the wire protocol for the Xinerama \ +extension. This extension is used for retrieving information about \ +physical output devices which may be combined into a single logical X \ +screen." + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=3e397a5326c83d5d0ebf5b3f87163ac6 \ + file://panoramiXproto.h;endline=24;md5=098e0bc089368a988092b3cbda617a57" + +PR = "r0" +PE = "1" + +SRC_URI[md5sum] = "9959fe0bfb22a0e7260433b8d199590a" +SRC_URI[sha256sum] = "977574bb3dc192ecd9c55f59f991ec1dff340be3e31392c95deff423da52485b" diff --git a/meta/recipes-graphics/xorg-proto/xorg-proto-common.inc b/meta/recipes-graphics/xorg-proto/xorg-proto-common.inc new file mode 100644 index 000000000..856f4d8f3 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/xorg-proto-common.inc @@ -0,0 +1,21 @@ +DESCRIPTION = "X protocol headers: ${XORG_PN}" +HOMEPAGE = "http://www.x.org" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" + +SECTION = "x11/libs" +LICENSE = "MIT-X" + +XORG_PN = "${BPN}" + +SRC_URI = "${XORG_MIRROR}/individual/proto/${XORG_PN}-${PV}.tar.bz2" + +S = "${WORKDIR}/${XORG_PN}-${PV}" + +DEPENDS = "util-macros" + +inherit autotools pkgconfig +EXTRA_OECONF = "--with-fop=no --without-xmlto" + +# ${PN} is empty so we need to tweak -dev and -dbg package dependencies +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" diff --git a/meta/recipes-graphics/xorg-proto/xproto/xproto_fix_for_x32.patch b/meta/recipes-graphics/xorg-proto/xproto/xproto_fix_for_x32.patch new file mode 100644 index 000000000..540ad27d4 --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/xproto/xproto_fix_for_x32.patch @@ -0,0 +1,22 @@ +Upstream-Status: Pending + +Don't always define LONG64 for AMD64 + +X32 defines __amd64__/amd64 with 32bit long. We should simply check +__LP64__ before defining LONG64 without checking __amd64__/amd64. + +This fixes compilation with x32 toolchain. + +Received this patch from H.J. Lu <hjl.tools@gmail.com> +Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/1 + +--- xproto-7.0.22/Xmd.h.x32 2009-07-11 04:19:50.000000000 -0700 ++++ xproto-7.0.22/Xmd.h 2011-11-30 17:14:19.290395893 -0800 +@@ -62,7 +62,6 @@ SOFTWARE. + defined(__ia64__) || defined(ia64) || \ + defined(__sparc64__) || \ + defined(__s390x__) || \ +- defined(__amd64__) || defined(amd64) || \ + defined(__powerpc64__) + # define LONG64 /* 32/64-bit architecture */ + # endif diff --git a/meta/recipes-graphics/xorg-proto/xproto_7.0.22.bb b/meta/recipes-graphics/xorg-proto/xproto_7.0.22.bb new file mode 100644 index 000000000..8f763142a --- /dev/null +++ b/meta/recipes-graphics/xorg-proto/xproto_7.0.22.bb @@ -0,0 +1,21 @@ +require xorg-proto-common.inc + +SUMMARY = "Xlib: C Language X interface headers" + +DESCRIPTION = "This package provides the basic headers for the X Window \ +System." + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=b9e051107d5628966739a0b2e9b32676" + +PR = "r1" +PE = "1" + +SRC_URI += "file://xproto_fix_for_x32.patch" + +EXTRA_OECONF_append = " --enable-specs=no" +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "da0b0eb2f432b7cc1d665b05422a0457" +SRC_URI[sha256sum] = "ad8397dd2a3de7249d2f3fb3a49444fef71483d43681285936c11911663817a8" + diff --git a/meta/recipes-graphics/xorg-util/gccmakedep_1.0.2.bb b/meta/recipes-graphics/xorg-util/gccmakedep_1.0.2.bb new file mode 100644 index 000000000..23cef63ea --- /dev/null +++ b/meta/recipes-graphics/xorg-util/gccmakedep_1.0.2.bb @@ -0,0 +1,17 @@ +SUMMARY = "Program to create dependencies in makefiles" + +DESCRIPTION = "The gccmakedep program calls 'gcc -M' to output makefile \ +rules describing the dependencies of each sourcefile, so that make knows \ +which object files must be recompiled when a dependency has changed." + +require xorg-util-common.inc +LIC_FILES_CHKSUM = "file://Makefile.am;endline=20;md5=23c277396d690413245ebb89b18c5d4d" +DESCRIPTION = "create dependencies in makefiles using 'gcc -M'" +DEPENDS = "util-macros" +RDEPENDS_${PN} = "gcc" + +PR = "r3" +PE = "1" + +SRC_URI[md5sum] = "fc49f45251c1336fe1dad5dba1c83fcd" +SRC_URI[sha256sum] = "fdd3963294e80b27416f902a5c029c033d321f03310d3cafa3afb62b50ddce92" diff --git a/meta/recipes-graphics/xorg-util/imake_1.0.5.bb b/meta/recipes-graphics/xorg-util/imake_1.0.5.bb new file mode 100644 index 000000000..ee1e181be --- /dev/null +++ b/meta/recipes-graphics/xorg-util/imake_1.0.5.bb @@ -0,0 +1,20 @@ +require xorg-util-common.inc + +SUMMARY = "C preprocessor interface to the make utility" +DESCRIPTION = "Imake is used to generate Makefiles from a template, a \ +set of cpp macro functions, and a per-directory input file called an \ +Imakefile. This allows machine dependencies (such as compiler options, \ +alternate command names, and special make rules) to be kept separate \ +from the descriptions of the various items to be built." +LIC_FILES_CHKSUM = "file://COPYING;md5=b9c6cfb044c6d0ff899eaafe4c729367" + +DEPENDS = "util-macros xproto xorg-cf-files" +RDEPENDS_${PN} = "perl xproto" + +PR = "r0" +PE = "1" + +SRC_URI[md5sum] = "60f4c648d9598603c2bc94b44efef4b2" +SRC_URI[sha256sum] = "e939695e46c26bc123065911c13d1210d062a54e3e01ea26e8ad20fa8a8e3b4f" + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-graphics/xorg-util/makedepend_1.0.4.bb b/meta/recipes-graphics/xorg-util/makedepend_1.0.4.bb new file mode 100644 index 000000000..fea0b22e6 --- /dev/null +++ b/meta/recipes-graphics/xorg-util/makedepend_1.0.4.bb @@ -0,0 +1,22 @@ +require xorg-util-common.inc + +SUMMARY = "create dependencies in makefiles" + +DESCRIPTION = "The makedepend program reads each sourcefile in sequence \ +and parses it like a C-preprocessor, processing \ +all #include, #define, #undef, #ifdef, #ifndef, #endif, #if, #elif \ +and #else directives so that it can correctly tell which #include, \ +directives would be used in a compilation. Any #include, directives \ +can reference files having other #include directives, and parsing will \ +occur in these files as well." + +DEPENDS = "xproto util-macros" +PR = "r0" +PE = "1" + +BBCLASSEXTEND = "native" + +LIC_FILES_CHKSUM = "file://COPYING;md5=43a6eda34b48ee821b3b66f4f753ce4f" + +SRC_URI[md5sum] = "bf1c54028427829c9c3193bef710dbee" +SRC_URI[sha256sum] = "f53b8ce5dec02a05f8994036a8ebac485a96324143ff2382e29578fdc096b04f" diff --git a/meta/recipes-graphics/xorg-util/util-macros_1.17.bb b/meta/recipes-graphics/xorg-util/util-macros_1.17.bb new file mode 100644 index 000000000..7698e7aed --- /dev/null +++ b/meta/recipes-graphics/xorg-util/util-macros_1.17.bb @@ -0,0 +1,20 @@ +SUMMARY = "X autotools macros" + +DESCRIPTION = "M4 autotools macros used by various X.org programs." + +require xorg-util-common.inc + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=1970511fddd439b07a6ba789d28ff662" + +PE = "1" +PR = "r0" + +# ${PN} is empty so we need to tweak -dev and -dbg package dependencies +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "e162e8921cd08c50bf17b9de5131b3f1" +SRC_URI[sha256sum] = "a7de22d6828b2a4469d32b4744ac2fe9103fcb85e72dd70794ef77f188946371" diff --git a/meta/recipes-graphics/xorg-util/xorg-cf-files_1.0.4.bb b/meta/recipes-graphics/xorg-util/xorg-cf-files_1.0.4.bb new file mode 100644 index 000000000..797d91795 --- /dev/null +++ b/meta/recipes-graphics/xorg-util/xorg-cf-files_1.0.4.bb @@ -0,0 +1,16 @@ +require xorg-util-common.inc + +SUMMARY = "Data files for the imake utility" +DESCRIPTION = "Data files for the imake utility" +LIC_FILES_CHKSUM = "file://COPYING;md5=0f334a06f2de517e37e86d6757167d88" + +DEPENDS = "font-util" + +PR = "r1" + +FILES_${PN} += "${libdir}/X11/config/*" + +SRC_URI[md5sum] = "ff4502b6e31aac90e24ce134090d0e46" +SRC_URI[sha256sum] = "8fc8a1224d2a716b1f3f1ca85dfda02387ab215251b8eddd03551eac998c9cb8" + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-graphics/xorg-util/xorg-util-common.inc b/meta/recipes-graphics/xorg-util/xorg-util-common.inc new file mode 100644 index 000000000..18d022c49 --- /dev/null +++ b/meta/recipes-graphics/xorg-util/xorg-util-common.inc @@ -0,0 +1,13 @@ +HOMEPAGE = "http://www.x.org" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" + +SECTION = "x11/utils" +LICENSE = "MIT-X" + +XORG_PN = "${BPN}" + +SRC_URI = "${XORG_MIRROR}/individual/util/${XORG_PN}-${PV}.tar.gz" + +S = "${WORKDIR}/${XORG_PN}-${PV}" + +inherit autotools pkgconfig diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/crosscompile.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/crosscompile.patch new file mode 100644 index 000000000..87595d0a5 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/crosscompile.patch @@ -0,0 +1,23 @@ +Upstream-Status: Inappropriate [cross compiling] + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +Index: xorg-server-1.7.99.2/configure.ac +=================================================================== +--- xorg-server-1.7.99.2.orig/configure.ac 2010-01-29 16:38:49.000000000 +0000 ++++ xorg-server-1.7.99.2/configure.ac 2010-01-29 16:42:39.000000000 +0000 +@@ -503,14 +503,10 @@ + + dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d, + dnl otherwise uses standard subdirectories of FONTROOTDIR +-AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d], +- [DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'], +- [ + DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/" + case $host_os in + darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;; + esac +- ]) + AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]), + [ FONTPATH="$withval" ], + [ FONTPATH="${DEFAULT_FONT_PATH}" ]) diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/disable-apm.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/disable-apm.patch new file mode 100644 index 000000000..c22b1c06e --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/disable-apm.patch @@ -0,0 +1,24 @@ +Upstream-Status: Inappropriate [disable feature] + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +--- xserver/hw/kdrive/linux/linux.c.orig 2005-04-23 15:56:13.988849232 +0000 ++++ xserver/hw/kdrive/linux/linux.c 2005-04-23 15:57:05.001094192 +0000 +@@ -342,7 +342,7 @@ + /* + * Open the APM driver + */ +- LinuxApmFd = open ("/dev/apm_bios", 2); ++ /*LinuxApmFd = open ("/dev/apm_bios", 2); + if (LinuxApmFd < 0 && errno == ENOENT) + LinuxApmFd = open ("/dev/misc/apm_bios", 2); + if (LinuxApmFd >= 0) +@@ -352,7 +352,7 @@ + RegisterBlockAndWakeupHandlers (LinuxApmBlock, LinuxApmWakeup, 0); + AddEnabledDevice (LinuxApmFd); + } +- ++ */ + /* + * now get the VT + */ diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-builtin-fonts.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-builtin-fonts.patch new file mode 100644 index 000000000..98d5176b4 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-builtin-fonts.patch @@ -0,0 +1,16 @@ +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +--- xorg-server-X11R7.1-1.1.0/dix/dixfonts.c.orig 2006-06-08 14:49:12.158684250 +0200 ++++ xorg-server-X11R7.1-1.1.0/dix/dixfonts.c 2006-06-08 14:49:52.493205000 +0200 +@@ -52,8 +52,8 @@ + /* $Xorg: dixfonts.c,v 1.4 2000/08/17 19:48:18 cpqbld Exp $ */ + + #define NEED_REPLIES + #ifdef HAVE_DIX_CONFIG_H +-#include <dix-config.h> ++#include <kdrive-config.h> + #endif + + #include <X11/X.h> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-xcalibrate.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-xcalibrate.patch new file mode 100644 index 000000000..efac5ef67 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-xcalibrate.patch @@ -0,0 +1,152 @@ +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +--- + Xext/Makefile.am | 6 ++++++ + configure.ac | 11 +++++++++-- + include/kdrive-config.h.in | 3 +++ + mi/miinitext.c | 6 ++++++ + 4 files changed, 24 insertions(+), 2 deletions(-) + +Index: xorg-server-1.7.99.2/mi/miinitext.c +=================================================================== +--- xorg-server-1.7.99.2.orig/mi/miinitext.c 2010-02-10 18:54:11.959086237 +0000 ++++ xorg-server-1.7.99.2/mi/miinitext.c 2010-02-10 18:54:12.429078513 +0000 +@@ -264,6 +264,9 @@ + #ifdef DMXEXT + extern void DMXExtensionInit(INITARGS); + #endif ++#ifdef XCALIBRATE ++extern void XCalibrateExtensionInit(INITARGS); ++#endif + #ifdef XFIXES + extern void XFixesExtensionInit(INITARGS); + #endif +@@ -493,6 +496,9 @@ + GlxPushProvider(&__glXDRISWRastProvider); + if (!noGlxExtension) GlxExtensionInit(); + #endif ++#ifdef XCALIBRATE ++ XCalibrateExtensionInit (); ++#endif + } + + #else /* XFree86LOADER */ +Index: xorg-server-1.7.99.2/configure.ac +=================================================================== +--- xorg-server-1.7.99.2.orig/configure.ac 2010-02-10 18:54:11.959086237 +0000 ++++ xorg-server-1.7.99.2/configure.ac 2010-02-11 11:49:50.710736962 +0000 +@@ -1985,7 +1985,7 @@ + fi + + +- PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"]) ++ PKG_CHECK_MODULES([TSLIB], [tslib-1.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"]) + if test "x$HAVE_TSLIB" = xno; then + AC_CHECK_LIB(ts, ts_open, [HAVE_TSLIB="yes"]) + fi +@@ -2039,7 +2039,7 @@ + KDRIVE_LOCAL_LIBS="$MAIN_LIB $DIX_LIB $KDRIVE_LIB $KDRIVE_STUB_LIB $CONFIG_LIB" + KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS" + KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB $OS_LIB" +- KDRIVE_LIBS="$TSLIB_LIBS $KDRIVE_LOCAL_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS $DLOPEN_LIBS" ++ KDRIVE_LIBS="$KDRIVE_LOCAL_LIBS $TSLIB_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS $DLOPEN_LIBS" + + AC_SUBST([XEPHYR_LIBS]) + AC_SUBST([XEPHYR_INCS]) +Index: xorg-server-1.7.99.2/include/kdrive-config.h.in +=================================================================== +--- xorg-server-1.7.99.2.orig/include/kdrive-config.h.in 2010-02-10 18:54:11.959086237 +0000 ++++ xorg-server-1.7.99.2/include/kdrive-config.h.in 2010-02-10 18:54:12.429078513 +0000 +@@ -28,4 +28,7 @@ + /* Have execinfo.h for backtrace(). */ + #undef HAVE_EXECINFO_H + ++/* Enable XCalibrate extension */ ++#undef XCALIBRATE ++ + #endif /* _KDRIVE_CONFIG_H_ */ +Index: xorg-server-1.7.99.2/hw/kdrive/linux/tslib.c +=================================================================== +--- xorg-server-1.7.99.2.orig/hw/kdrive/linux/tslib.c 2010-02-10 18:58:12.669078495 +0000 ++++ xorg-server-1.7.99.2/hw/kdrive/linux/tslib.c 2010-02-10 19:04:56.927828767 +0000 +@@ -50,12 +50,15 @@ + int fd; + int lastx, lasty; + struct tsdev *tsDev; +- void (*raw_event_hook)(int x, int y, int pressure, void *closure); +- void *raw_event_closure; + int phys_screen; + }; + + ++/* For XCalibrate extension */ ++void (*tslib_raw_event_hook)(int x, int y, int pressure, void *closure); ++void *tslib_raw_event_closure; ++ ++ + static void + TsRead (int fd, void *closure) + { +@@ -65,10 +68,10 @@ + long x = 0, y = 0; + unsigned long flags; + +- if (private->raw_event_hook) { ++ if (tslib_raw_event_hook) { + while (ts_read_raw(private->tsDev, &event, 1) == 1) +- private->raw_event_hook (event.x, event.y, event.pressure, +- private->raw_event_closure); ++ tslib_raw_event_hook (event.x, event.y, event.pressure, ++ tslib_raw_event_closure); + return; + } + +@@ -111,8 +114,8 @@ + { + struct TslibPrivate *private = pi->driverPrivate; + +- private->raw_event_hook = NULL; +- private->raw_event_closure = NULL; ++ tslib_raw_event_hook = NULL; ++ tslib_raw_event_closure = NULL; + if (!pi->path) { + pi->path = strdup("/dev/input/touchscreen0"); + ErrorF("[tslib/TslibEnable] no device path given, trying %s\n", pi->path); +Index: xorg-server-1.7.99.2/Xext/xcalibrate.c +=================================================================== +--- xorg-server-1.7.99.2.orig/Xext/xcalibrate.c 2010-02-10 18:59:24.097829840 +0000 ++++ xorg-server-1.7.99.2/Xext/xcalibrate.c 2010-02-11 11:51:00.930735731 +0000 +@@ -115,6 +115,7 @@ + + memset (&rep, 0, sizeof (rep)); + rep.type = X_Reply; ++ rep.length = 0; + rep.sequenceNumber = client->sequence; + + if (stuff->on) +@@ -158,6 +159,7 @@ + + swaps (&rep.sequenceNumber, n); + swaps (&rep.status, n); ++ swapl (&rep.length, n); + } + WriteToClient(client, sizeof (rep), (char *) &rep); + return (client->noClientException); +@@ -186,6 +188,7 @@ + + memset (&rep, 0, sizeof (rep)); + rep.type = X_Reply; ++ rep.length = 0; + rep.sequenceNumber = client->sequence; + rep.x = stuff->x; + rep.y = stuff->y; +@@ -198,6 +201,7 @@ + + swaps (&rep.x, n); + swaps (&rep.y, n); ++ swapl (&rep.length, n); + } + WriteToClient(client, sizeof (rep), (char *) &rep); + return (client->noClientException); diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch new file mode 100644 index 000000000..98a946aad --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch @@ -0,0 +1,364 @@ +Upstream-Status: Inappropriate + +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/dix/window.c xorg-server-1.7.99.2/dix/window.c +--- xorg-server-1.7.99.2.ORIG/dix/window.c 2012-01-04 13:12:40.417640130 -0700 ++++ xorg-server-1.7.99.2/dix/window.c 2012-01-04 12:13:20.678605493 -0700 +@@ -559,10 +559,10 @@ + box.y1 = 0; + box.x2 = pScreen->width; + box.y2 = pScreen->height; +- REGION_INIT(pScreen, &pWin->clipList, &box, 1); +- REGION_INIT(pScreen, &pWin->winSize, &box, 1); +- REGION_INIT(pScreen, &pWin->borderSize, &box, 1); +- REGION_INIT(pScreen, &pWin->borderClip, &box, 1); ++ REGION_INIT2(pScreen, &pWin->clipList, &box, 1); ++ REGION_INIT2(pScreen, &pWin->winSize, &box, 1); ++ REGION_INIT2(pScreen, &pWin->borderSize, &box, 1); ++ REGION_INIT2(pScreen, &pWin->borderClip, &box, 1); + + pWin->drawable.class = InputOutput; + pWin->optional->visual = pScreen->rootVisual; +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_accel.c xorg-server-1.7.99.2/exa/exa_accel.c +--- xorg-server-1.7.99.2.ORIG/exa/exa_accel.c 2009-12-11 11:20:48.000000000 -0700 ++++ xorg-server-1.7.99.2/exa/exa_accel.c 2012-01-04 12:58:11.218616328 -0700 +@@ -1275,7 +1275,7 @@ + Box.x2 = Box.x1 + w; + Box.y2 = Box.y1 + h; + +- REGION_INIT(pScreen, &Reg, &Box, 1); ++ REGION_INIT2(pScreen, &Reg, &Box, 1); + + pixmaps[0].as_dst = FALSE; + pixmaps[0].as_src = TRUE; +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa.c xorg-server-1.7.99.2/exa/exa.c +--- xorg-server-1.7.99.2.ORIG/exa/exa.c 2009-12-11 11:20:48.000000000 -0700 ++++ xorg-server-1.7.99.2/exa/exa.c 2012-01-04 12:56:30.592593427 -0700 +@@ -161,7 +161,7 @@ + if (box.x1 >= box.x2 || box.y1 >= box.y2) + return; + +- REGION_INIT(pScreen, ®ion, &box, 1); ++ REGION_INIT2(pScreen, ®ion, &box, 1); + DamageRegionAppend(&pPix->drawable, ®ion); + DamageRegionProcessPending(&pPix->drawable); + REGION_UNINIT(pScreen, ®ion); +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_classic.c xorg-server-1.7.99.2/exa/exa_classic.c +--- xorg-server-1.7.99.2.ORIG/exa/exa_classic.c 2009-11-28 13:44:58.000000000 -0700 ++++ xorg-server-1.7.99.2/exa/exa_classic.c 2012-01-04 12:54:50.586576675 -0700 +@@ -131,8 +131,8 @@ + box.y1 = 0; + box.x2 = w; + box.y2 = h; +- REGION_INIT(pScreen, &pExaPixmap->validSys, &box, 0); +- REGION_INIT(pScreen, &pExaPixmap->validFB, &box, 0); ++ REGION_INIT2(pScreen, &pExaPixmap->validSys, &box, 0); ++ REGION_INIT2(pScreen, &pExaPixmap->validFB, &box, 0); + + exaSetAccelBlock(pExaScr, pExaPixmap, + w, h, bpp); +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_migration_classic.c xorg-server-1.7.99.2/exa/exa_migration_classic.c +--- xorg-server-1.7.99.2.ORIG/exa/exa_migration_classic.c 2009-11-28 13:44:58.000000000 -0700 ++++ xorg-server-1.7.99.2/exa/exa_migration_classic.c 2012-01-04 12:54:43.077500333 -0700 +@@ -177,7 +177,7 @@ + box.x2 = max(pValidExt->x2, pDamageExt->x2); + box.y2 = max(pValidExt->y2, pDamageExt->y2); + +- REGION_INIT(pScreen, &closure, &box, 0); ++ REGION_INIT2(pScreen, &closure, &box, 0); + REGION_INTERSECT(pScreen, &CopyReg, &CopyReg, &closure); + } else + REGION_INTERSECT(pScreen, &CopyReg, &CopyReg, pending_damage); +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_render.c xorg-server-1.7.99.2/exa/exa_render.c +--- xorg-server-1.7.99.2.ORIG/exa/exa_render.c 2009-11-28 13:44:58.000000000 -0700 ++++ xorg-server-1.7.99.2/exa/exa_render.c 2012-01-04 12:59:18.234297490 -0700 +@@ -576,7 +576,7 @@ + * (see use of DamagePendingRegion in exaCopyDirty) + */ + +- REGION_INIT(pScreen, ®ion, &box, 1); ++ REGION_INIT2(pScreen, ®ion, &box, 1); + + DamageRegionAppend(pDst->pDrawable, ®ion); + +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_unaccel.c xorg-server-1.7.99.2/exa/exa_unaccel.c +--- xorg-server-1.7.99.2.ORIG/exa/exa_unaccel.c 2009-12-11 11:20:48.000000000 -0700 ++++ xorg-server-1.7.99.2/exa/exa_unaccel.c 2012-01-04 12:59:25.915375559 -0700 +@@ -344,7 +344,7 @@ + Box.x2 = Box.x1 + w; + Box.y2 = Box.y1 + h; + +- REGION_INIT(pScreen, &Reg, &Box, 1); ++ REGION_INIT2(pScreen, &Reg, &Box, 1); + + pExaScr->prepare_access_reg(pPix, EXA_PREPARE_SRC, &Reg); + } else +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/fb/fboverlay.c xorg-server-1.7.99.2/fb/fboverlay.c +--- xorg-server-1.7.99.2.ORIG/fb/fboverlay.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/fb/fboverlay.c 2012-01-04 12:24:43.855400893 -0700 +@@ -147,7 +147,7 @@ + pbits)) + return FALSE; + pScrPriv->layer[i].u.run.pixmap = pPixmap; +- REGION_INIT(pScreen, &pScrPriv->layer[i].u.run.region, &box, 0); ++ REGION_INIT2(pScreen, &pScrPriv->layer[i].u.run.region, &box, 0); + } + pScreen->devPrivate = pScrPriv->layer[0].u.run.pixmap; + return TRUE; +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kdrive.c xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c +--- xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kdrive.c 2012-01-04 13:12:40.418640141 -0700 ++++ xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c 2012-01-04 13:05:08.771897914 -0700 +@@ -144,8 +144,8 @@ + box.y2 = pScreen->height; + pWin->drawable.width = pScreen->width; + pWin->drawable.height = pScreen->height; +- REGION_INIT (pScreen, &pWin->winSize, &box, 1); +- REGION_INIT (pScreen, &pWin->borderSize, &box, 1); ++ REGION_INIT2 (pScreen, &pWin->winSize, &box, 1); ++ REGION_INIT2 (pScreen, &pWin->borderSize, &box, 1); + REGION_RESET(pScreen, &pWin->borderClip, &box); + REGION_BREAK (pWin->drawable.pScreen, &pWin->clipList); + } +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kxv.c xorg-server-1.7.99.2/hw/kdrive/src/kxv.c +--- xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kxv.c 2008-11-14 14:27:05.000000000 -0700 ++++ xorg-server-1.7.99.2/hw/kdrive/src/kxv.c 2012-01-04 13:07:32.625411023 -0700 +@@ -674,7 +674,7 @@ + WinBox.y2 = WinBox.y1 + portPriv->drw_h; + + /* clip to the window composite clip */ +- REGION_INIT(portPriv->pDraw->pScreen, &WinRegion, &WinBox, 1); ++ REGION_INIT2(portPriv->pDraw->pScreen, &WinRegion, &WinBox, 1); + REGION_INIT(portPriv->pDraw->pScreen, &ClipRegion, NullBox, 1); + REGION_INTERSECT(portPriv->pDraw->pScreen, &ClipRegion, &WinRegion, portPriv->pCompositeClip); + +@@ -738,7 +738,7 @@ + WinBox.y2 = WinBox.y1 + portPriv->drw_h; + + /* clip to the window composite clip */ +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); + REGION_INTERSECT(Screen, &ClipRegion, &WinRegion, portPriv->pCompositeClip); + +@@ -752,7 +752,7 @@ + VPBox.x2 = screen->width; + VPBox.y2 = screen->height; + +- REGION_INIT(pScreen, &VPReg, &VPBox, 1); ++ REGION_INIT2(pScreen, &VPReg, &VPBox, 1); + REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg); + REGION_UNINIT(pScreen, &VPReg); + } +@@ -827,7 +827,7 @@ + WinBox.y2 = WinBox.y1 + portPriv->drw_h; + + /* clip to the window composite clip */ +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); + REGION_INTERSECT(Screen, &ClipRegion, &WinRegion, portPriv->pCompositeClip); + +@@ -841,7 +841,7 @@ + VPBox.x2 = screen->width; + VPBox.y2 = screen->height; + +- REGION_INIT(pScreen, &VPReg, &VPBox, 1); ++ REGION_INIT2(pScreen, &VPReg, &VPBox, 1); + REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg); + REGION_UNINIT(pScreen, &VPReg); + } +@@ -1337,7 +1337,7 @@ + WinBox.x2 = WinBox.x1 + drw_w; + WinBox.y2 = WinBox.y1 + drw_h; + +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); + REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip); + +@@ -1350,7 +1350,7 @@ + VPBox.x2 = screen->width; + VPBox.y2 = screen->height; + +- REGION_INIT(pScreen, &VPReg, &VPBox, 1); ++ REGION_INIT2(pScreen, &VPReg, &VPBox, 1); + REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg); + REGION_UNINIT(pScreen, &VPReg); + } +@@ -1490,7 +1490,7 @@ + WinBox.x2 = WinBox.x1 + drw_w; + WinBox.y2 = WinBox.y1 + drw_h; + +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); + REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip); + +@@ -1637,7 +1637,7 @@ + WinBox.x2 = WinBox.x1 + drw_w; + WinBox.y2 = WinBox.y1 + drw_h; + +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); + REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip); + +@@ -1650,7 +1650,7 @@ + VPBox.x2 = pScreen->width; + VPBox.y2 = pScreen->height; + +- REGION_INIT(pScreen, &VPReg, &VPBox, 1); ++ REGION_INIT2(pScreen, &VPReg, &VPBox, 1); + REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg); + REGION_UNINIT(pScreen, &VPReg); + } +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/include/regionstr.h xorg-server-1.7.99.2/include/regionstr.h +--- xorg-server-1.7.99.2.ORIG/include/regionstr.h 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/include/regionstr.h 2012-01-04 12:13:06.174461574 -0700 +@@ -152,6 +152,12 @@ + } \ + } + ++#define REGION_INIT2(_pScreen, _pReg, _rect, _size) \ ++{ \ ++ (_pReg)->extents = *(_rect); \ ++ (_pReg)->data = (RegDataPtr)NULL; \ ++ } ++ + + #define REGION_UNINIT(_pScreen, _pReg) \ + { \ +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/micopy.c xorg-server-1.7.99.2/mi/micopy.c +--- xorg-server-1.7.99.2.ORIG/mi/micopy.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/mi/micopy.c 2012-01-04 12:44:17.003144611 -0700 +@@ -315,7 +315,7 @@ + box.y1 = box_y1; + box.x2 = box_x2; + box.y2 = box_y2; +- REGION_INIT(pGC->pScreen, &rgnDst, &box, 1); ++ REGION_INIT2(pGC->pScreen, &rgnDst, &box, 1); + } + + /* Clip against complex source if needed */ +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/miexpose.c xorg-server-1.7.99.2/mi/miexpose.c +--- xorg-server-1.7.99.2.ORIG/mi/miexpose.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/mi/miexpose.c 2012-01-04 12:46:29.400478668 -0700 +@@ -206,7 +206,7 @@ + box.x2 = pSrcDrawable->width; + box.y2 = pSrcDrawable->height; + prgnSrcClip = &rgnSrcRec; +- REGION_INIT(pscr, prgnSrcClip, &box, 1); ++ REGION_INIT2(pscr, prgnSrcClip, &box, 1); + pSrcWin = NULL; + } + +@@ -239,11 +239,11 @@ + box.x2 = pDstDrawable->width; + box.y2 = pDstDrawable->height; + prgnDstClip = &rgnDstRec; +- REGION_INIT(pscr, prgnDstClip, &box, 1); ++ REGION_INIT2(pscr, prgnDstClip, &box, 1); + } + + /* drawable-relative source region */ +- REGION_INIT(pscr, &rgnExposed, &srcBox, 1); ++ REGION_INIT2(pscr, &rgnExposed, &srcBox, 1); + + /* now get the hidden parts of the source box*/ + REGION_SUBTRACT(pscr, &rgnExposed, &rgnExposed, prgnSrcClip); +@@ -491,7 +491,7 @@ + box = *REGION_EXTENTS( pWin->drawable.pScreen, exposures); + if (exposures == prgn) { + exposures = &expRec; +- REGION_INIT( pWin->drawable.pScreen, exposures, &box, 1); ++ REGION_INIT2( pWin->drawable.pScreen, exposures, &box, 1); + REGION_RESET( pWin->drawable.pScreen, prgn, &box); + } else { + REGION_RESET( pWin->drawable.pScreen, exposures, &box); +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/mioverlay.c xorg-server-1.7.99.2/mi/mioverlay.c +--- xorg-server-1.7.99.2.ORIG/mi/mioverlay.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/mi/mioverlay.c 2012-01-04 12:47:50.114300224 -0700 +@@ -209,8 +209,8 @@ + fullBox.y1 = 0; + fullBox.x2 = pScreen->width; + fullBox.y2 = pScreen->height; +- REGION_INIT(pScreen, &(pTree->borderClip), &fullBox, 1); +- REGION_INIT(pScreen, &(pTree->clipList), &fullBox, 1); ++ REGION_INIT2(pScreen, &(pTree->borderClip), &fullBox, 1); ++ REGION_INIT2(pScreen, &(pTree->clipList), &fullBox, 1); + } + } else xfree(pTree); + } +@@ -1027,7 +1027,7 @@ + box = *REGION_EXTENTS(pScreen, exposures); + if (exposures == prgn) { + exposures = &expRec; +- REGION_INIT(pScreen, exposures, &box, 1); ++ REGION_INIT2(pScreen, exposures, &box, 1); + REGION_RESET(pScreen, prgn, &box); + } else { + REGION_RESET(pScreen, exposures, &box); +@@ -1672,7 +1672,7 @@ + box.x1 = x1; box.x2 = x2; + box.y1 = y1; box.y2 = y2; + +- REGION_INIT(pScreen, ®, &box, 1); ++ REGION_INIT2(pScreen, ®, &box, 1); + + REGION_INTERSECT(pScreen, ®, ®, clipList); + if (generateExposures) +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/miwindow.c xorg-server-1.7.99.2/mi/miwindow.c +--- xorg-server-1.7.99.2.ORIG/mi/miwindow.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/mi/miwindow.c 2012-01-04 12:48:38.055787835 -0700 +@@ -111,7 +111,7 @@ + box.y2 = y2; + + pScreen = pWin->drawable.pScreen; +- REGION_INIT(pScreen, ®, &box, 1); ++ REGION_INIT2(pScreen, ®, &box, 1); + + REGION_INTERSECT(pScreen, ®, ®, &pWin->clipList); + if (generateExposures) +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/miext/damage/damage.c xorg-server-1.7.99.2/miext/damage/damage.c +--- xorg-server-1.7.99.2.ORIG/miext/damage/damage.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/miext/damage/damage.c 2012-01-04 12:51:04.883281430 -0700 +@@ -324,7 +324,7 @@ + box.y1 = draw_y; + box.x2 = draw_x + pDamage->pDrawable->width; + box.y2 = draw_y + pDamage->pDrawable->height; +- REGION_INIT(pScreen, &pixClip, &box, 1); ++ REGION_INIT2(pScreen, &pixClip, &box, 1); + REGION_INTERSECT (pScreen, pDamageRegion, pRegion, &pixClip); + REGION_UNINIT(pScreen, &pixClip); + } +@@ -2085,7 +2085,7 @@ + box.y1 = pDrawable->y; + box.x2 = pDrawable->x + pDrawable->width; + box.y2 = pDrawable->y + pDrawable->height; +- REGION_INIT (pDrawable->pScreen, &pixmapClip, &box, 1); ++ REGION_INIT2 (pDrawable->pScreen, &pixmapClip, &box, 1); + pClip = &pixmapClip; + } + REGION_TRANSLATE (pDrawable->pScreen, &pDamage->damage, pDrawable->x, pDrawable->y); +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/Xext/xace.c xorg-server-1.7.99.2/Xext/xace.c +--- xorg-server-1.7.99.2.ORIG/Xext/xace.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/Xext/xace.c 2012-01-04 12:49:36.850385965 -0700 +@@ -255,7 +255,7 @@ + imageBox.y1 = y; + imageBox.x2 = x + w; + imageBox.y2 = y + h; +- REGION_INIT(pScreen, &imageRegion, &imageBox, 1); ++ REGION_INIT2(pScreen, &imageRegion, &imageBox, 1); + REGION_NULL(pScreen, &censorRegion); + + /* censorRegion = imageRegion - visibleRegion */ +--- xorg-server-1.7.99.2.ORIG/mi/mibank.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/mi/mibank.c 2012-01-04 12:37:42.251184747 -0700 +@@ -772,7 +772,7 @@ + } + else + { +- REGION_INIT(pScreen, &rgnDst, &fastBox, 1); ++ REGION_INIT2(pScreen, &rgnDst, &fastBox, 1); + REGION_INTERSECT(pScreen, &rgnDst, &rgnDst, prgnSrcClip); + pBox = REGION_RECTS(&rgnDst); + nBox = REGION_NUM_RECTS(&rgnDst); diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/extra-kmodes.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/extra-kmodes.patch new file mode 100644 index 000000000..896c0332b --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/extra-kmodes.patch @@ -0,0 +1,87 @@ +Add some extra video modes and change the default to VGA. + +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +--- + hw/kdrive/src/kmode.c | 41 +++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 39 insertions(+), 2 deletions(-) + +Index: xorg-server-1.3.0.0/hw/kdrive/src/kmode.c +=================================================================== +--- xorg-server-1.3.0.0.orig/hw/kdrive/src/kmode.c 2008-01-11 14:20:47.000000000 +0000 ++++ xorg-server-1.3.0.0/hw/kdrive/src/kmode.c 2008-01-11 14:21:18.000000000 +0000 +@@ -32,6 +32,31 @@ const KdMonitorTiming kdMonitorTimings[ + /* H V Hz KHz */ + /* FP BP BLANK POLARITY */ + ++ /* Treo 650 */ ++ ++ { 320, 320, 64, 16256, ++ 17, 12, 32, KdSyncNegative, ++ 1, 11, 14, KdSyncNegative, ++ }, ++ ++ { 320, 320, 64, 0, ++ 0, 0, 0, KdSyncNegative, ++ 0, 0, 0, KdSyncNegative, ++ }, ++ ++ /* LifeDrive/T3/TX modes */ ++ ++ { 320, 480, 64, 16256, ++ 17, 12, 32, KdSyncNegative, ++ 1, 11, 14, KdSyncNegative, ++ }, ++ ++ { 480, 320, 64, 0, ++ 0, 0, 0, KdSyncNegative, ++ 0, 0, 0, KdSyncNegative, ++ }, ++ ++ + /* IPAQ modeline: + * + * Modeline "320x240" 5.7222 320 337 340 352 240 241 244 254" +@@ -41,6 +66,11 @@ const KdMonitorTiming kdMonitorTimings[ + 1, 11, 14, KdSyncNegative, + }, + ++ { 240, 320, 64, 0, ++ 0, 0, 0, KdSyncNegative, ++ 0, 0, 0, KdSyncNegative, ++ }, ++ + /* Other VESA modes */ + { 640, 350, 85, 31500, /* VESA */ + 32, 96, 192, KdSyncPositive, /* 26.413 */ +@@ -76,10 +106,19 @@ const KdMonitorTiming kdMonitorTimings[ + 16, 120, 176, KdSyncNegative, /* 37.861 */ + 1, 20, 24, KdSyncNegative, /* 72.809 */ + }, ++ /* DEFAULT */ ++#define MONITOR_TIMING_DEFAULT 13 + { 640, 480, 60, 25175, /* VESA */ + 16, 48, 160, KdSyncNegative, /* 31.469 */ + 10, 33, 45, KdSyncNegative, /* 59.940 */ + }, ++ ++ ++ { 480, 640, 60, 0, /* VESA */ ++ 0, 0, 0, KdSyncNegative, /* 31.469 */ ++ 0, 0, 0, KdSyncNegative, /* 59.940 */ ++ }, ++ + + /* 800x600 modes */ + { 800, 600, 85, 56250, /* VESA */ +@@ -90,8 +129,6 @@ const KdMonitorTiming kdMonitorTimings[ + 16, 160, 256, KdSyncPositive, /* 46.875 */ + 1, 21, 25, KdSyncPositive, /* 75.000 */ + }, +- /* DEFAULT */ +-#define MONITOR_TIMING_DEFAULT 9 + { 800, 600, 72, 50000, /* VESA */ + 56, 64, 240, KdSyncPositive, /* 48.077 */ + 37, 23, 66, KdSyncPositive, /* 72.188 */ diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fbdev_xrandr_ioctl.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fbdev_xrandr_ioctl.patch new file mode 100644 index 000000000..06761c914 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fbdev_xrandr_ioctl.patch @@ -0,0 +1,65 @@ +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +Index: xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c +=================================================================== +--- xorg-server-1.3.0.0.orig/hw/kdrive/fbdev/fbdev.c 2008-09-25 21:55:12.000000000 +0100 ++++ xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c 2008-09-25 21:55:46.000000000 +0100 +@@ -498,6 +498,7 @@ + KdScreenInfo *screen = pScreenPriv->screen; + FbdevScrPriv *scrpriv = screen->driver; + Bool wasEnabled = pScreenPriv->enabled; ++ FbdevPriv *priv = screen->card->driver; + FbdevScrPriv oldscr; + int oldwidth; + int oldheight; +@@ -525,11 +526,46 @@ + oldheight = screen->height; + oldmmwidth = pScreen->mmWidth; + oldmmheight = pScreen->mmHeight; +- ++ + /* + * Set new configuration + */ +- ++ ++ if (newwidth != oldwidth || newheight != oldheight) ++ { ++ struct fb_var_screeninfo var; ++ int k; ++ ++ k = ioctl (priv->fd, FBIOGET_VSCREENINFO, &var); ++ ++ if (k < 0) ++ { ++ ErrorF("Error with framebuffer ioctl FBIOGET_VSCREENINFO: %s", strerror (errno)); ++ return FALSE; ++ } ++ ++ var.xres = newwidth; ++ var.yres = newheight; ++ var.activate = FB_ACTIVATE_NOW; ++ ++ k = ioctl (priv->fd, FBIOPUT_VSCREENINFO, &var); ++ ++ if (k >= 0) ++ { ++ if ((k=ioctl(priv->fd, FBIOGET_FSCREENINFO, &priv->fix)) < 0) ++ { ++ perror("Error with framebuffer ioctl FIOGET_FSCREENINFO"); ++ close (priv->fd); ++ return FALSE; ++ } ++ if ((k=ioctl(priv->fd, FBIOGET_VSCREENINFO, &priv->var)) < 0) { ++ perror("Error framebuffer ioctl FIOGET_VSCREENINFO"); ++ close (priv->fd); ++ return FALSE; ++ } ++ } ++ } ++ + scrpriv->randr = KdAddRotation (screen->randr, randr); + + KdOffscreenSwapOut (screen->pScreen); diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-bogus-stack-variables.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-bogus-stack-variables.patch new file mode 100644 index 000000000..b4e293fac --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-bogus-stack-variables.patch @@ -0,0 +1,233 @@ +From 6dae7f3792611aace1df0cca63bf50c50d93de43 Mon Sep 17 00:00:00 2001 +From: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue, 10 Aug 2010 18:30:20 +0000 +Subject: xace: Invalid reference to out-of-scope data. + +The callback data passed by reference to the hook was allocated on stack +within the scope of the case statement. The compiler is free to reuse +any of that stack space whilst making the function call so we may end up +passing garbage into the callback. + +References: + + Bug 18451 - Xorg server 1.5.2 SEGV during XFixesGetCursorImage() + https://bugs.freedesktop.org/show_bug.cgi?id=18451 + +v2: Drop the unrelated hunk that snuck in when ammending the commit +message. + +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> +Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> +Signed-off-by: Keith Packard <keithp@keithp.com> + +Upstream-Status: accepted +--- +(limited to 'Xext/xace.c') + +diff --git a/Xext/xace.c b/Xext/xace.c +index e10d837..c757cad 100644 +--- a/Xext/xace.c ++++ b/Xext/xace.c +@@ -87,7 +87,18 @@ void XaceHookAuditEnd(ClientPtr ptr, int result) + */ + int XaceHook(int hook, ...) + { +- pointer calldata; /* data passed to callback */ ++ union { ++ XaceResourceAccessRec res; ++ XaceDeviceAccessRec dev; ++ XaceSendAccessRec send; ++ XaceReceiveAccessRec recv; ++ XaceClientAccessRec client; ++ XaceExtAccessRec ext; ++ XaceServerAccessRec server; ++ XaceScreenAccessRec screen; ++ XaceAuthAvailRec auth; ++ XaceKeyAvailRec key; ++ } u; + int *prv = NULL; /* points to return value from callback */ + va_list ap; /* argument list */ + va_start(ap, hook); +@@ -99,117 +110,86 @@ int XaceHook(int hook, ...) + */ + switch (hook) + { +- case XACE_RESOURCE_ACCESS: { +- XaceResourceAccessRec rec; +- rec.client = va_arg(ap, ClientPtr); +- rec.id = va_arg(ap, XID); +- rec.rtype = va_arg(ap, RESTYPE); +- rec.res = va_arg(ap, pointer); +- rec.ptype = va_arg(ap, RESTYPE); +- rec.parent = va_arg(ap, pointer); +- rec.access_mode = va_arg(ap, Mask); +- rec.status = Success; /* default allow */ +- calldata = &rec; +- prv = &rec.status; ++ case XACE_RESOURCE_ACCESS: ++ u.res.client = va_arg(ap, ClientPtr); ++ u.res.id = va_arg(ap, XID); ++ u.res.rtype = va_arg(ap, RESTYPE); ++ u.res.res = va_arg(ap, pointer); ++ u.res.ptype = va_arg(ap, RESTYPE); ++ u.res.parent = va_arg(ap, pointer); ++ u.res.access_mode = va_arg(ap, Mask); ++ u.res.status = Success; /* default allow */ ++ prv = &u.res.status; + break; +- } +- case XACE_DEVICE_ACCESS: { +- XaceDeviceAccessRec rec; +- rec.client = va_arg(ap, ClientPtr); +- rec.dev = va_arg(ap, DeviceIntPtr); +- rec.access_mode = va_arg(ap, Mask); +- rec.status = Success; /* default allow */ +- calldata = &rec; +- prv = &rec.status; ++ case XACE_DEVICE_ACCESS: ++ u.dev.client = va_arg(ap, ClientPtr); ++ u.dev.dev = va_arg(ap, DeviceIntPtr); ++ u.dev.access_mode = va_arg(ap, Mask); ++ u.dev.status = Success; /* default allow */ ++ prv = &u.dev.status; + break; +- } +- case XACE_SEND_ACCESS: { +- XaceSendAccessRec rec; +- rec.client = va_arg(ap, ClientPtr); +- rec.dev = va_arg(ap, DeviceIntPtr); +- rec.pWin = va_arg(ap, WindowPtr); +- rec.events = va_arg(ap, xEventPtr); +- rec.count = va_arg(ap, int); +- rec.status = Success; /* default allow */ +- calldata = &rec; +- prv = &rec.status; ++ case XACE_SEND_ACCESS: ++ u.send.client = va_arg(ap, ClientPtr); ++ u.send.dev = va_arg(ap, DeviceIntPtr); ++ u.send.pWin = va_arg(ap, WindowPtr); ++ u.send.events = va_arg(ap, xEventPtr); ++ u.send.count = va_arg(ap, int); ++ u.send.status = Success; /* default allow */ ++ prv = &u.send.status; + break; +- } +- case XACE_RECEIVE_ACCESS: { +- XaceReceiveAccessRec rec; +- rec.client = va_arg(ap, ClientPtr); +- rec.pWin = va_arg(ap, WindowPtr); +- rec.events = va_arg(ap, xEventPtr); +- rec.count = va_arg(ap, int); +- rec.status = Success; /* default allow */ +- calldata = &rec; +- prv = &rec.status; ++ case XACE_RECEIVE_ACCESS: ++ u.recv.client = va_arg(ap, ClientPtr); ++ u.recv.pWin = va_arg(ap, WindowPtr); ++ u.recv.events = va_arg(ap, xEventPtr); ++ u.recv.count = va_arg(ap, int); ++ u.recv.status = Success; /* default allow */ ++ prv = &u.recv.status; + break; +- } +- case XACE_CLIENT_ACCESS: { +- XaceClientAccessRec rec; +- rec.client = va_arg(ap, ClientPtr); +- rec.target = va_arg(ap, ClientPtr); +- rec.access_mode = va_arg(ap, Mask); +- rec.status = Success; /* default allow */ +- calldata = &rec; +- prv = &rec.status; ++ case XACE_CLIENT_ACCESS: ++ u.client.client = va_arg(ap, ClientPtr); ++ u.client.target = va_arg(ap, ClientPtr); ++ u.client.access_mode = va_arg(ap, Mask); ++ u.client.status = Success; /* default allow */ ++ prv = &u.client.status; + break; +- } +- case XACE_EXT_ACCESS: { +- XaceExtAccessRec rec; +- rec.client = va_arg(ap, ClientPtr); +- rec.ext = va_arg(ap, ExtensionEntry*); +- rec.access_mode = DixGetAttrAccess; +- rec.status = Success; /* default allow */ +- calldata = &rec; +- prv = &rec.status; ++ case XACE_EXT_ACCESS: ++ u.ext.client = va_arg(ap, ClientPtr); ++ u.ext.ext = va_arg(ap, ExtensionEntry*); ++ u.ext.access_mode = DixGetAttrAccess; ++ u.ext.status = Success; /* default allow */ ++ prv = &u.ext.status; + break; +- } +- case XACE_SERVER_ACCESS: { +- XaceServerAccessRec rec; +- rec.client = va_arg(ap, ClientPtr); +- rec.access_mode = va_arg(ap, Mask); +- rec.status = Success; /* default allow */ +- calldata = &rec; +- prv = &rec.status; ++ case XACE_SERVER_ACCESS: ++ u.server.client = va_arg(ap, ClientPtr); ++ u.server.access_mode = va_arg(ap, Mask); ++ u.server.status = Success; /* default allow */ ++ prv = &u.server.status; + break; +- } + case XACE_SCREEN_ACCESS: +- case XACE_SCREENSAVER_ACCESS: { +- XaceScreenAccessRec rec; +- rec.client = va_arg(ap, ClientPtr); +- rec.screen = va_arg(ap, ScreenPtr); +- rec.access_mode = va_arg(ap, Mask); +- rec.status = Success; /* default allow */ +- calldata = &rec; +- prv = &rec.status; ++ case XACE_SCREENSAVER_ACCESS: ++ u.screen.client = va_arg(ap, ClientPtr); ++ u.screen.screen = va_arg(ap, ScreenPtr); ++ u.screen.access_mode = va_arg(ap, Mask); ++ u.screen.status = Success; /* default allow */ ++ prv = &u.screen.status; + break; +- } +- case XACE_AUTH_AVAIL: { +- XaceAuthAvailRec rec; +- rec.client = va_arg(ap, ClientPtr); +- rec.authId = va_arg(ap, XID); +- calldata = &rec; ++ case XACE_AUTH_AVAIL: ++ u.auth.client = va_arg(ap, ClientPtr); ++ u.auth.authId = va_arg(ap, XID); + break; +- } +- case XACE_KEY_AVAIL: { +- XaceKeyAvailRec rec; +- rec.event = va_arg(ap, xEventPtr); +- rec.keybd = va_arg(ap, DeviceIntPtr); +- rec.count = va_arg(ap, int); +- calldata = &rec; ++ case XACE_KEY_AVAIL: ++ u.key.event = va_arg(ap, xEventPtr); ++ u.key.keybd = va_arg(ap, DeviceIntPtr); ++ u.key.count = va_arg(ap, int); + break; +- } +- default: { ++ default: + va_end(ap); + return 0; /* unimplemented hook number */ +- } + } + va_end(ap); + + /* call callbacks and return result, if any. */ +- CallCallbacks(&XaceHooks[hook], calldata); ++ CallCallbacks(&XaceHooks[hook], &u); + return prv ? *prv : Success; + } + +-- +cgit v0.9.0.2-2-gbebe diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-newer-xorg-headers.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-newer-xorg-headers.patch new file mode 100644 index 000000000..7aa487a14 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-newer-xorg-headers.patch @@ -0,0 +1,22 @@ +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +--- + render/glyphstr.h | 1 + + 1 file changed, 1 insertion(+) + +--- xorg-server-1.3.0.0.orig/render/glyphstr.h ++++ xorg-server-1.3.0.0/render/glyphstr.h +@@ -23,10 +23,11 @@ + */ + + #ifndef _GLYPHSTR_H_ + #define _GLYPHSTR_H_ + ++#include <X11/X.h> + #include <X11/extensions/renderproto.h> + #include "picture.h" + #include "screenint.h" + #include "regionstr.h" + #include "miscstruct.h" diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/hide-cursor-and-ppm-root.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/hide-cursor-and-ppm-root.patch new file mode 100644 index 000000000..b946bb547 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/hide-cursor-and-ppm-root.patch @@ -0,0 +1,312 @@ +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +Index: xorg-server-1.7.99.2/dix/window.c +=================================================================== +--- xorg-server-1.7.99.2.orig/dix/window.c 2009-11-04 16:25:50.000000000 +0000 ++++ xorg-server-1.7.99.2/dix/window.c 2010-02-10 17:42:22.719078216 +0000 +@@ -179,6 +179,8 @@ + + #define SubStrSend(pWin,pParent) (StrSend(pWin) || SubSend(pParent)) + ++char* RootPPM = NULL; ++ + #ifdef DEBUG + /****** + * PrintWindowTree +@@ -304,6 +306,115 @@ + #endif + } + ++static int ++get_int(FILE *fp) ++{ ++ int c = 0; ++ ++ while ((c = getc(fp)) != EOF) ++ { ++ if (isspace(c)) ++ continue; ++ ++ if (c == '#') ++ while (c = getc(fp)) ++ if (c == EOF) ++ return 0; ++ else if (c == '\n') ++ break; ++ ++ if (isdigit(c)) ++ { ++ int val = c - '0'; ++ while ((c = getc(fp)) && isdigit(c)) ++ val = (val * 10) + (c - '0'); ++ return val; ++ } ++ } ++ ++ return 0; ++} ++ ++static unsigned char* ++ppm_load (const char* path, int depth, int *width, int *height) ++{ ++ FILE *fp; ++ int max, n = 0, w, h, i, j, bytes_per_line; ++ unsigned char *data, *res, h1, h2; ++ ++ if (depth < 16 || depth > 32) ++ return NULL; ++ ++ if (depth > 16) ++ depth = 32; ++ ++ fp = fopen (path, "r"); ++ if (fp == NULL) ++ return FALSE; ++ ++ h1 = getc(fp); ++ h2 = getc(fp); ++ ++ /* magic is 'P6' for raw ppm */ ++ if (h1 != 'P' && h2 != '6') ++ goto fail; ++ ++ w = get_int(fp); ++ h = get_int(fp); ++ ++ if (w == 0 || h == 0) ++ goto fail; ++ ++ max = get_int(fp); ++ ++ if (max != 255) ++ goto fail; ++ ++ bytes_per_line = ((w * depth + 31) >> 5) << 2; ++ ++ res = data = malloc(bytes_per_line * h); ++ ++ for (i=0; i<h; i++) ++ { ++ for (j=0; j<w; j++) ++ { ++ unsigned char buf[3]; ++ fread(buf, 1, 3, fp); ++ ++ switch (depth) ++ { ++ case 24: ++ case 32: ++ *data = buf[2]; ++ *(data+1) = buf[1]; ++ *(data+2) = buf[0]; ++ data += 4; ++ break; ++ case 16: ++ default: ++ *(unsigned short*)data ++ = ((buf[0] >> 3) << 11) | ((buf[1] >> 2) << 5) | (buf[2] >> 3); ++ data += 2; ++ break; ++ } ++ } ++ data += (bytes_per_line - (w*(depth>>3))); ++ } ++ ++ data = res; ++ ++ *width = w; ++ *height = h; ++ ++ fclose(fp); ++ ++ return res; ++ ++ fail: ++ fclose(fp); ++ return NULL; ++} ++ + static void + MakeRootTile(WindowPtr pWin) + { +@@ -314,6 +425,36 @@ + unsigned char *from, *to; + int i, j; + ++ if (RootPPM != NULL) ++ { ++ int w, h; ++ unsigned char *data; ++ ++ if ((data = ppm_load (RootPPM, pScreen->rootDepth, &w, &h)) != NULL) ++ { ++ pWin->background.pixmap ++ = (*pScreen->CreatePixmap)(pScreen, w, h, pScreen->rootDepth, 0); ++ ++ pWin->backgroundState = BackgroundPixmap; ++ pGC = GetScratchGC(pScreen->rootDepth, pScreen); ++ if (!pWin->background.pixmap || !pGC) ++ FatalError("could not create root tile"); ++ ++ ValidateGC((DrawablePtr)pWin->background.pixmap, pGC); ++ ++ (*pGC->ops->PutImage)((DrawablePtr)pWin->background.pixmap, ++ pGC, ++ pScreen->rootDepth, ++ 0, 0, w, h, 0, ZPixmap, (char *)data); ++ FreeScratchGC(pGC); ++ ++ free(data); ++ return; ++ } ++ else ++ ErrorF("Unable to load root window image."); ++ } ++ + pWin->background.pixmap = (*pScreen->CreatePixmap)(pScreen, 4, 4, + pScreen->rootDepth, 0); + +@@ -530,6 +671,7 @@ + } + + ++ + WindowPtr + RealChildHead(WindowPtr pWin) + { +Index: xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c +=================================================================== +--- xorg-server-1.7.99.2.orig/hw/kdrive/src/kdrive.c 2010-02-10 17:36:36.000000000 +0000 ++++ xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c 2010-02-10 17:43:07.797828099 +0000 +@@ -60,6 +60,9 @@ + { 32, 32 } + }; + ++int ++ProcXFixesHideCursor (ClientPtr client) ; ++ + #define NUM_KD_DEPTHS (sizeof (kdDepths) / sizeof (kdDepths[0])) + + #define KD_DEFAULT_BUTTONS 5 +@@ -92,6 +95,9 @@ + + KdOsFuncs *kdOsFuncs; + ++extern Bool CursorInitiallyHidden; /* See Xfixes cursor.c */ ++extern char* RootPPM; /* dix/window.c */ ++ + void + KdSetRootClip (ScreenPtr pScreen, BOOL enable) + { +@@ -275,6 +281,7 @@ + KdSetRootClip (pScreen, TRUE); + if (pScreenPriv->card->cfuncs->dpms) + (*pScreenPriv->card->cfuncs->dpms) (pScreen, pScreenPriv->dpmsState); ++ + return TRUE; + } + +@@ -553,6 +560,8 @@ + ErrorF("-switchCmd Command to execute on vt switch\n"); + ErrorF("-zap Terminate server on Ctrl+Alt+Backspace\n"); + ErrorF("vtxx Use virtual terminal xx instead of the next available\n"); ++ ErrorF("-hide-cursor Start with cursor hidden\n"); ++ ErrorF("-root-ppm [path] Specify ppm file to use as root window background.\n"); + } + + int +@@ -616,6 +625,19 @@ + kdSoftCursor = TRUE; + return 1; + } ++ if (!strcmp (argv[i], "-hide-cursor")) ++ { ++ CursorInitiallyHidden = TRUE; ++ return 1; ++ } ++ if (!strcmp (argv[i], "-root-ppm")) ++ { ++ if ((i+1) < argc) ++ RootPPM = argv[i+1]; ++ else ++ UseMsg (); ++ return 2; ++ } + if (!strcmp (argv[i], "-videoTest")) + { + kdVideoTest = TRUE; +Index: xorg-server-1.7.99.2/xfixes/cursor.c +=================================================================== +--- xorg-server-1.7.99.2.orig/xfixes/cursor.c 2009-12-19 01:43:53.000000000 +0000 ++++ xorg-server-1.7.99.2/xfixes/cursor.c 2010-02-10 17:45:02.089079491 +0000 +@@ -57,6 +57,7 @@ + static RESTYPE CursorClientType; + static RESTYPE CursorHideCountType; + static RESTYPE CursorWindowType; ++static Bool CursorGloballyHidden; + static CursorPtr CursorCurrent[MAXDEVICES]; + static CursorPtr pInvisibleCursor = NULL; + +@@ -65,6 +66,8 @@ + + static void deleteCursorHideCountsForScreen (ScreenPtr pScreen); + ++Bool CursorInitiallyHidden = FALSE; ++ + #define VERIFY_CURSOR(pCursor, cursor, client, access) \ + do { \ + int err; \ +@@ -150,7 +153,7 @@ + if (ConnectionInfo) + CursorVisible = EnableCursor; + +- if (cs->pCursorHideCounts != NULL || !CursorVisible) { ++ if (cs->pCursorHideCounts != NULL || !CursorVisible || CursorGloballyHidden) { + ret = ((*pScreen->RealizeCursor)(pDev, pScreen, pInvisibleCursor) && + (*pScreen->DisplayCursor) (pDev, pScreen, pInvisibleCursor)); + } else { +@@ -887,6 +890,12 @@ + return (ret == BadValue) ? BadWindow : ret; + } + ++ /* Is cursor set to be initially hidden ?, if so reset this ++ * flag as now visibility assumed under control of client. ++ */ ++ if (CursorGloballyHidden) ++ CursorGloballyHidden = FALSE; ++ + /* + * Has client hidden the cursor before on this screen? + * If so, just increment the count. +@@ -950,9 +959,19 @@ + return (rc == BadValue) ? BadWindow : rc; + } + ++ /* X was started with cursor hidden, therefore just reset our flag ++ * (returning to normal client control) and cause cursor to now be ++ * shown. ++ */ ++ if (CursorGloballyHidden == TRUE) ++ { ++ CursorGloballyHidden = FALSE; ++ return (client->noClientException); ++ } ++ + /* + * Has client hidden the cursor on this screen? +- * If not, generate an error. ++ * If so, generate an error. + */ + pChc = findCursorHideCount(client, pWin->drawable.pScreen); + if (pChc == NULL) { +@@ -1068,6 +1087,8 @@ + { + int i; + ++ CursorGloballyHidden = CursorInitiallyHidden; ++ + if (party_like_its_1989) + CursorVisible = EnableCursor; + diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-evdev.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-evdev.patch new file mode 100644 index 000000000..5d876af9e --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-evdev.patch @@ -0,0 +1,520 @@ +# Kdrive evdev support patch, posted by Ander Conselvan de Oliveira at +# http://lists.freedesktop.org/archives/xorg/2005-December/011635.html + +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/linux/evdev.c xserver/hw/kdrive/linux/evdev.c +--- xserver.original/hw/kdrive/linux/evdev.c 2005-12-16 10:36:05.000000000 -0200 ++++ xserver/hw/kdrive/linux/evdev.c 2005-12-16 10:40:51.077410192 -0200 +@@ -31,9 +31,11 @@ + #include <X11/X.h> + #include <X11/Xproto.h> + #include <X11/Xpoll.h> ++#include <X11/keysym.h> + #include "inputstr.h" + #include "scrnintstr.h" + #include "kdrive.h" ++#include "kkeymap.h" + + #define NUM_EVENTS 128 + #define ABS_UNSET -65535 +@@ -105,9 +107,10 @@ + { + KdMouseInfo *mi = closure; + Kevdev *ke = mi->driver; +- int i; ++ int i, j; + struct input_event events[NUM_EVENTS]; + int n; ++ int flags; + + n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event)); + if (n <= 0) +@@ -115,22 +118,64 @@ + n /= sizeof (struct input_event); + for (i = 0; i < n; i++) + { ++ flags = KD_MOUSE_DELTA | kdMouseInfo->buttonState; + switch (events[i].type) { + case EV_SYN: + break; + case EV_KEY: +- EvdevMotion (mi); +- ASSIGNBIT(ke->key,events[i].code, events[i].value); +- if (events[i].code < 0x100) +- ErrorF ("key %d %d\n", events[i].code, events[i].value); +- else +- ErrorF ("key 0x%x %d\n", events[i].code, events[i].value); ++ if (events[i].code >= BTN_MOUSE && events[i].code < BTN_JOYSTICK) { ++ switch (events[i].code) { ++ case BTN_LEFT: ++ if (events[i].value == 1) ++ flags |= KD_BUTTON_1; ++ else ++ flags &= ~KD_BUTTON_1; ++ break; ++ case BTN_MIDDLE: ++ if (events[i].value == 1) ++ flags |= KD_BUTTON_2; ++ else ++ flags &= ~KD_BUTTON_2; ++ break; ++ case BTN_RIGHT: ++ if (events[i].value == 1) ++ flags |= KD_BUTTON_3; ++ else ++ flags &= ~KD_BUTTON_3; ++ break; ++ default: ++ /* Unknow button */ ++ break; ++ } ++ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); ++ } + break; + case EV_REL: +- ke->rel[events[i].code] += events[i].value; ++ if (events[i].code == REL_X) { ++ KdEnqueueMouseEvent (kdMouseInfo, flags, events[i].value, 0); ++ } ++ else if (events[i].code == REL_Y) { ++ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, events[i].value); ++ } ++ else if (events[i].code == REL_WHEEL) { ++ for (j = 0; j < abs (events[i].value); j++) { ++ if (events[i].value > 0) ++ flags |= KD_BUTTON_4; ++ else ++ flags |= KD_BUTTON_5; ++ ++ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); ++ ++ if (events[i].value > 0) ++ flags &= ~KD_BUTTON_4; ++ else ++ flags &= ~KD_BUTTON_5; ++ ++ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); ++ } /* events[i].code == REL_WHEEL */ ++ } + break; + case EV_ABS: +- ke->abs[events[i].code] = events[i].value; + break; + } + } +@@ -173,6 +218,12 @@ + fd = open (kdefaultEvdev[i], 2); + if (fd >= 0) + { ++ if (ioctl (fd, EVIOCGRAB, 1) < 0) ++ { ++ close (fd); ++ continue; ++ } ++ + mi->name = KdSaveString (kdefaultEvdev[i]); + break; + } +@@ -287,7 +338,319 @@ + EvdevFini, + }; + +-#if 0 ++/* Keyboard */ ++ ++int kbd_fd = -1; ++int EvdevInputType = 0; ++ ++KeySym evdevKeymap[(194 - 1 + 1) * 2] = { ++/* These are directly mapped from DOS scanset 0 */ ++/* 1 8 */ XK_Escape, NoSymbol, ++/* 2 9 */ XK_1, XK_exclam, ++/* 3 10 */ XK_2, XK_at, ++/* 4 11 */ XK_3, XK_numbersign, ++/* 5 12 */ XK_4, XK_dollar, ++/* 6 13 */ XK_5, XK_percent, ++/* 7 14 */ XK_6, XK_asciicircum, ++/* 8 15 */ XK_7, XK_ampersand, ++/* 9 16 */ XK_8, XK_asterisk, ++/* 10 17 */ XK_9, XK_parenleft, ++/* 11 18 */ XK_0, XK_parenright, ++/* 12 19 */ XK_minus, XK_underscore, ++/* 13 20 */ XK_equal, XK_plus, ++/* 14 21 */ XK_BackSpace, NoSymbol, ++/* 15 22 */ XK_Tab, NoSymbol, ++/* 16 23 */ XK_Q, NoSymbol, ++/* 17 24 */ XK_W, NoSymbol, ++/* 18 25 */ XK_E, NoSymbol, ++/* 19 26 */ XK_R, NoSymbol, ++/* 20 27 */ XK_T, NoSymbol, ++/* 21 28 */ XK_Y, NoSymbol, ++/* 22 29 */ XK_U, NoSymbol, ++/* 23 30 */ XK_I, NoSymbol, ++/* 24 31 */ XK_O, NoSymbol, ++/* 25 32 */ XK_P, NoSymbol, ++/* 26 33 */ XK_bracketleft, XK_braceleft, ++/* 27 34 */ XK_bracketright, XK_braceright, ++/* 28 35 */ XK_Return, NoSymbol, ++/* 29 36 */ XK_Control_L, NoSymbol, ++/* 30 37 */ XK_A, NoSymbol, ++/* 31 38 */ XK_S, NoSymbol, ++/* 32 39 */ XK_D, NoSymbol, ++/* 33 40 */ XK_F, NoSymbol, ++/* 34 41 */ XK_G, NoSymbol, ++/* 35 42 */ XK_H, NoSymbol, ++/* 36 43 */ XK_J, NoSymbol, ++/* 37 44 */ XK_K, NoSymbol, ++/* 38 45 */ XK_L, NoSymbol, ++/* 39 46 */ XK_semicolon, XK_colon, ++/* 40 47 */ XK_apostrophe, XK_quotedbl, ++/* 41 48 */ XK_grave, XK_asciitilde, ++/* 42 49 */ XK_Shift_L, NoSymbol, ++/* 43 50 */ XK_backslash, XK_bar, ++/* 44 51 */ XK_Z, NoSymbol, ++/* 45 52 */ XK_X, NoSymbol, ++/* 46 53 */ XK_C, NoSymbol, ++/* 47 54 */ XK_V, NoSymbol, ++/* 48 55 */ XK_B, NoSymbol, ++/* 49 56 */ XK_N, NoSymbol, ++/* 50 57 */ XK_M, NoSymbol, ++/* 51 58 */ XK_comma, XK_less, ++/* 52 59 */ XK_period, XK_greater, ++/* 53 60 */ XK_slash, XK_question, ++/* 54 61 */ XK_Shift_R, NoSymbol, ++/* 55 62 */ XK_KP_Multiply, NoSymbol, ++/* 56 63 */ XK_Alt_L, XK_Meta_L, ++/* 57 64 */ XK_space, NoSymbol, ++/* 58 65 */ XK_Caps_Lock, NoSymbol, ++/* 59 66 */ XK_F1, NoSymbol, ++/* 60 67 */ XK_F2, NoSymbol, ++/* 61 68 */ XK_F3, NoSymbol, ++/* 62 69 */ XK_F4, NoSymbol, ++/* 63 70 */ XK_F5, NoSymbol, ++/* 64 71 */ XK_F6, NoSymbol, ++/* 65 72 */ XK_F7, NoSymbol, ++/* 66 73 */ XK_F8, NoSymbol, ++/* 67 74 */ XK_F9, NoSymbol, ++/* 68 75 */ XK_F10, NoSymbol, ++/* 69 76 */ XK_Break, XK_Pause, ++/* 70 77 */ XK_Scroll_Lock, NoSymbol, ++/* 71 78 */ XK_KP_Home, XK_KP_7, ++/* 72 79 */ XK_KP_Up, XK_KP_8, ++/* 73 80 */ XK_KP_Page_Up, XK_KP_9, ++/* 74 81 */ XK_KP_Subtract, NoSymbol, ++/* 75 82 */ XK_KP_Left, XK_KP_4, ++/* 76 83 */ XK_KP_5, NoSymbol, ++/* 77 84 */ XK_KP_Right, XK_KP_6, ++/* 78 85 */ XK_KP_Add, NoSymbol, ++/* 79 86 */ XK_KP_End, XK_KP_1, ++/* 80 87 */ XK_KP_Down, XK_KP_2, ++/* 81 88 */ XK_KP_Page_Down, XK_KP_3, ++/* 82 89 */ XK_KP_Insert, XK_KP_0, ++/* 83 90 */ XK_KP_Delete, XK_KP_Decimal, ++/* 84 91 */ NoSymbol, NoSymbol, ++/* 85 92 */ NoSymbol, NoSymbol, ++/* 86 93 */ NoSymbol, NoSymbol, ++/* 87 94 */ XK_F11, NoSymbol, ++/* 88 95 */ XK_F12, NoSymbol, ++ ++/* These are remapped from the extended set (using ExtendMap) */ ++ ++/* 89 96 */ XK_Control_R, NoSymbol, ++/* 90 97 */ XK_KP_Enter, NoSymbol, ++/* 91 98 */ XK_KP_Divide, NoSymbol, ++/* 92 99 */ XK_Sys_Req, XK_Print, ++/* 93 100 */ XK_Alt_R, XK_Meta_R, ++/* 94 101 */ XK_Num_Lock, NoSymbol, ++/* 95 102 */ XK_Home, NoSymbol, ++/* 96 103 */ XK_Up, NoSymbol, ++/* 97 104 */ XK_Page_Up, NoSymbol, ++/* 98 105 */ XK_Left, NoSymbol, ++/* 99 106 */ XK_Right, NoSymbol, ++/* 100 107 */ XK_End, NoSymbol, ++/* 101 108 */ XK_Down, NoSymbol, ++/* 102 109 */ XK_Page_Down, NoSymbol, ++/* 103 110 */ XK_Insert, NoSymbol, ++/* 104 111 */ XK_Delete, NoSymbol, ++/* 105 112 */ XK_Super_L, NoSymbol, ++/* 106 113 */ XK_Super_R, NoSymbol, ++/* 107 114 */ XK_Menu, NoSymbol, ++/* 108 115 */ NoSymbol, NoSymbol, ++/* 109 116 */ NoSymbol, NoSymbol, ++/* 110 117 */ NoSymbol, NoSymbol, ++/* 111 118 */ NoSymbol, NoSymbol, ++/* 112 119 */ NoSymbol, NoSymbol, ++ ++/* 113 120 */ NoSymbol, NoSymbol, ++/* 114 121 */ NoSymbol, NoSymbol, ++/* 115 122 */ NoSymbol, NoSymbol, ++/* 116 123 */ NoSymbol, NoSymbol, ++/* 117 124 */ NoSymbol, NoSymbol, ++/* 118 125 */ NoSymbol, NoSymbol, ++/* 119 126 */ NoSymbol, NoSymbol, ++/* 120 127 */ NoSymbol, NoSymbol, ++/* 121 128 */ NoSymbol, NoSymbol, ++/* 122 129 */ NoSymbol, NoSymbol, ++/* 123 130 */ NoSymbol, NoSymbol, ++/* 124 131 */ NoSymbol, NoSymbol, ++/* 125 132 */ NoSymbol, NoSymbol, ++/* 126 133 */ NoSymbol, NoSymbol, ++/* 127 134 */ NoSymbol, NoSymbol, ++/* 128 135 */ NoSymbol, NoSymbol, ++/* 129 136 */ NoSymbol, NoSymbol, ++/* 130 137 */ NoSymbol, NoSymbol, ++/* 131 138 */ NoSymbol, NoSymbol, ++/* 132 139 */ NoSymbol, NoSymbol, ++/* 133 140 */ NoSymbol, NoSymbol, ++/* 134 141 */ NoSymbol, NoSymbol, ++/* 135 142 */ NoSymbol, NoSymbol, ++/* 136 143 */ NoSymbol, NoSymbol, ++/* 137 144 */ NoSymbol, NoSymbol, ++/* 138 145 */ NoSymbol, NoSymbol, ++/* 139 146 */ NoSymbol, NoSymbol, ++/* 140 147 */ NoSymbol, NoSymbol, ++/* 141 148 */ NoSymbol, NoSymbol, ++/* 142 149 */ NoSymbol, NoSymbol, ++/* 143 150 */ NoSymbol, NoSymbol, ++/* 144 151 */ NoSymbol, NoSymbol, ++/* 145 152 */ NoSymbol, NoSymbol, ++/* 146 153 */ NoSymbol, NoSymbol, ++/* 147 154 */ NoSymbol, NoSymbol, ++/* 148 155 */ NoSymbol, NoSymbol, ++/* 149 156 */ NoSymbol, NoSymbol, ++/* 150 157 */ NoSymbol, NoSymbol, ++/* 151 158 */ NoSymbol, NoSymbol, ++/* 152 159 */ NoSymbol, NoSymbol, ++/* 153 160 */ NoSymbol, NoSymbol, ++/* 154 161 */ NoSymbol, NoSymbol, ++/* 155 162 */ NoSymbol, NoSymbol, ++/* 156 163 */ NoSymbol, NoSymbol, ++/* 157 164 */ NoSymbol, NoSymbol, ++/* 158 165 */ NoSymbol, NoSymbol, ++/* 159 166 */ NoSymbol, NoSymbol, ++/* 160 167 */ NoSymbol, NoSymbol, ++/* 161 168 */ NoSymbol, NoSymbol, ++/* 162 169 */ NoSymbol, NoSymbol, ++/* 163 170 */ NoSymbol, NoSymbol, ++/* 164 171 */ NoSymbol, NoSymbol, ++/* 165 172 */ NoSymbol, NoSymbol, ++/* 166 173 */ NoSymbol, NoSymbol, ++/* 167 174 */ NoSymbol, NoSymbol, ++/* 168 175 */ NoSymbol, NoSymbol, ++/* 169 176 */ NoSymbol, NoSymbol, ++/* 170 177 */ NoSymbol, NoSymbol, ++/* 171 178 */ NoSymbol, NoSymbol, ++/* 172 179 */ NoSymbol, NoSymbol, ++/* 173 180 */ NoSymbol, NoSymbol, ++/* 174 181 */ NoSymbol, NoSymbol, ++/* 175 182 */ NoSymbol, NoSymbol, ++/* 176 183 */ NoSymbol, NoSymbol, ++/* 177 184 */ NoSymbol, NoSymbol, ++/* 178 185 */ NoSymbol, NoSymbol, ++/* 179 186 */ NoSymbol, NoSymbol, ++/* 180 187 */ NoSymbol, NoSymbol, ++/* 181 188 */ NoSymbol, NoSymbol, ++/* 182 189 */ NoSymbol, NoSymbol, ++/* 183 190 */ NoSymbol, NoSymbol, ++/* 184 191 */ NoSymbol, NoSymbol, ++/* 185 192 */ NoSymbol, NoSymbol, ++/* 186 193 */ NoSymbol, NoSymbol, ++/* 187 194 */ NoSymbol, NoSymbol, ++/* 188 195 */ NoSymbol, NoSymbol, ++/* 189 196 */ NoSymbol, NoSymbol, ++/* 190 197 */ NoSymbol, NoSymbol, ++/* 191 198 */ NoSymbol, NoSymbol, ++/* 192 199 */ NoSymbol, NoSymbol, ++/* 193 200 */ NoSymbol, NoSymbol, ++/* 194 201 */ NoSymbol, NoSymbol, ++}; ++ ++static void ++EvdevKbdRead (int fd, void *closure) ++{ ++ int i, n; ++ struct input_event events[NUM_EVENTS]; ++ ++ n = read (fd, &events, NUM_EVENTS * sizeof (struct input_event)); ++ if (n <= 0) ++ return; ++ ++ n /= sizeof (struct input_event); ++ ++ for (i = 0; i < n; i++) ++ { ++ if (events[i].type == EV_KEY) ++ KdEnqueueKeyboardEvent (events[i].code, !events[i].value); ++ } ++} ++ ++static void ++EvdevKbdLoad (void) ++{ ++ kdMinScanCode = 0; ++ kdMaxScanCode = 193; ++ kdKeymapWidth = 2; ++ memcpy (kdKeymap, evdevKeymap, sizeof (evdevKeymap)); ++} ++ ++static int ++EvdevKbdInit (void) ++{ ++ int fd, i; ++ ++ if (!EvdevInputType) ++ EvdevInputType = KdAllocInputType (); ++ ++ if (!kdKeyboard) ++ { ++ for (i = 0; i < NUM_DEFAULT_EVDEV; i++) ++ { ++ fd = open (kdefaultEvdev[i], 2); ++ if (fd >= 0) ++ { ++ kdKeyboard = KdSaveString (kdefaultEvdev[i]); ++ break; ++ } ++ } ++ } ++ else ++ { ++ fd = open (kdKeyboard, O_RDWR); ++ if (fd < 0) ++ return FALSE; ++ } ++ ++ if (ioctl (fd, EVIOCGRAB, 1) < 0) ++ { ++ close (fd); ++ return FALSE; ++ } ++ ++ if (!KdRegisterFd (EvdevInputType, fd, EvdevKbdRead, NULL)) ++ return FALSE; ++ ++ kbd_fd = fd; ++ return TRUE; ++} ++ ++static void ++EvdevKbdFini (void) ++{ ++} ++ ++static void ++EvdevKbdLeds (int leds) ++{ ++ struct input_event event; ++ ++ memset(&event, 0, sizeof(event)); ++ ++ event.type = EV_LED; ++ event.code = LED_CAPSL; ++ event.value = leds & (1 << 0) ? 1 : 0; ++ write(kbd_fd, (char *) &event, sizeof(event)); ++ ++ event.type = EV_LED; ++ event.code = LED_NUML; ++ event.value = leds & (1 << 1) ? 1 : 0; ++ write(kbd_fd, (char *) &event, sizeof(event)); ++ ++ event.type = EV_LED; ++ event.code = LED_SCROLLL; ++ event.value = leds & (1 << 2) ? 1 : 0; ++ write(kbd_fd, (char *) &event, sizeof(event)); ++ ++ event.type = EV_LED; ++ event.code = LED_COMPOSE; ++ event.value = leds & (1 << 3) ? 1 : 0; ++ write(kbd_fd, (char *) &event, sizeof(event)); ++} ++ ++static void ++EvdevKbdBell (int volume, int frequency, int duration) ++{ ++} ++ + KdKeyboardFuncs LinuxEvdevKeyboardFuncs = { + EvdevKbdLoad, + EvdevKbdInit, +@@ -296,4 +659,4 @@ + EvdevKbdFini, + 0, + }; +-#endif ++ +diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kdrive.c xserver/hw/kdrive/src/kdrive.c +--- xserver.original/hw/kdrive/src/kdrive.c 2005-12-16 10:36:07.000000000 -0200 ++++ xserver/hw/kdrive/src/kdrive.c 2005-12-16 10:37:09.000000000 -0200 +@@ -73,6 +73,7 @@ + Bool kdEnabled; + int kdSubpixelOrder; + int kdVirtualTerminal = -1; ++char *kdKeyboard = 0; + Bool kdSwitchPending; + char *kdSwitchCmd; + DDXPointRec kdOrigin; +@@ -795,6 +796,14 @@ + UseMsg (); + return 2; + } ++ if (!strcmp (argv[i], "-keyboard")) ++ { ++ if ((i+1) < argc) ++ kdKeyboard = argv[i+1]; ++ else ++ UseMsg (); ++ return 2; ++ } + if (!strcmp (argv[i], "-rgba")) + { + if ((i+1) < argc) +diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kdrive.h xserver/hw/kdrive/src/kdrive.h +--- xserver.original/hw/kdrive/src/kdrive.h 2005-12-16 10:36:07.000000000 -0200 ++++ xserver/hw/kdrive/src/kdrive.h 2005-12-16 10:37:09.000000000 -0200 +@@ -416,6 +416,7 @@ + extern Bool kdDisableZaphod; + extern Bool kdDontZap; + extern int kdVirtualTerminal; ++extern char *kdKeyboard; + extern char *kdSwitchCmd; + extern KdOsFuncs *kdOsFuncs; + +@@ -769,7 +770,7 @@ + ProcessInputEvents (void); + + extern KdMouseFuncs LinuxMouseFuncs; +-extern KdMouseFuncs LinuxEvdevFuncs; ++extern KdMouseFuncs LinuxEvdevMouseFuncs; + extern KdMouseFuncs Ps2MouseFuncs; + extern KdMouseFuncs BusMouseFuncs; + extern KdMouseFuncs MsMouseFuncs; +@@ -777,6 +778,7 @@ + extern KdMouseFuncs TsFuncs; + #endif + extern KdKeyboardFuncs LinuxKeyboardFuncs; ++extern KdKeyboardFuncs LinuxEvdevKeyboardFuncs; + extern KdOsFuncs LinuxFuncs; + + extern KdMouseFuncs VxWorksMouseFuncs; +diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kinput.c xserver/hw/kdrive/src/kinput.c +--- xserver.original/hw/kdrive/src/kinput.c 2005-12-16 10:36:07.000000000 -0200 ++++ xserver/hw/kdrive/src/kinput.c 2005-12-16 10:37:09.000000000 -0200 +@@ -1300,6 +1300,7 @@ + xE.u.u.type = KeyPress; + xE.u.u.detail = key_code; + ++#ifndef XKB + switch (KEYCOL1(key_code)) + { + case XK_Num_Lock: +@@ -1313,6 +1314,7 @@ + else + xE.u.u.type = KeyPress; + } ++#endif + + /* + * Check pressed keys which are already down diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-use-evdev.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-use-evdev.patch new file mode 100644 index 000000000..8a480dc9d --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-use-evdev.patch @@ -0,0 +1,58 @@ +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +--- xserver/hw/kdrive/fbdev/fbinit.c~ 2006-01-31 17:09:33.000000000 +0100 ++++ xserver/hw/kdrive/fbdev/fbinit.c 2006-01-31 17:11:55.000000000 +0100 +@@ -28,6 +28,8 @@ + #endif + #include <fbdev.h> + ++extern int use_evdev; ++ + void + InitCard (char *name) + { +@@ -45,7 +47,10 @@ + void + InitInput (int argc, char **argv) + { +- KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); ++ if (use_evdev) ++ KdInitInput (&LinuxEvdevMouseFuncs, &LinuxEvdevKeyboardFuncs); ++ else ++ KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); + #ifdef TOUCHSCREEN + KdAddMouseDriver (&TsFuncs); + #endif +--- xserver/hw/kdrive/src/kdrive.c.orig 2006-01-31 17:13:28.000000000 +0100 ++++ xserver/hw/kdrive/src/kdrive.c 2006-01-31 17:15:28.000000000 +0100 +@@ -44,6 +44,8 @@ + #include "dpmsproc.h" + #endif + ++int use_evdev = 0; ++ + typedef struct _kdDepths { + CARD8 depth; + CARD8 bpp; +@@ -687,6 +689,7 @@ + ErrorF("-videoTest Start the server, pause momentarily and exit\n"); + ErrorF("-origin X,Y Locates the next screen in the the virtual screen (Xinerama)\n"); + ErrorF("-mouse path[,n] Filename of mouse device, n is number of buttons\n"); ++ ErrorF("-use-evdev Use Linux evdev input\n"); + ErrorF("-switchCmd Command to execute on vt switch\n"); + ErrorF("-nozap Don't terminate server on Ctrl+Alt+Backspace\n"); + ErrorF("vtxx Use virtual terminal xx instead of the next available\n"); +@@ -796,6 +799,11 @@ + UseMsg (); + return 2; + } ++ if (!strcmp (argv[i], "-use-evdev")) ++ { ++ use_evdev = 1; ++ return 1; ++ } + if (!strcmp (argv[i], "-keyboard")) + { + if ((i+1) < argc) diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/keyboard-resume-workaround.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/keyboard-resume-workaround.patch new file mode 100644 index 000000000..00626611a --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/keyboard-resume-workaround.patch @@ -0,0 +1,29 @@ +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +Index: xorg-server-1.4/hw/kdrive/linux/keyboard.c +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/linux/keyboard.c 2007-09-29 18:31:15.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/linux/keyboard.c 2007-09-29 18:33:02.000000000 +0200 +@@ -486,6 +486,8 @@ + ki->minScanCode = minKeyCode; + ki->maxScanCode = maxKeyCode; + #endif ++ ki->minScanCode = 0; ++ ki->maxScanCode = NR_KEYS; + } + + /* +@@ -743,11 +743,6 @@ + cfsetispeed(&nTty, 9600); + cfsetospeed(&nTty, 9600); + tcsetattr(fd, TCSANOW, &nTty); +- /* +- * Flush any pending keystrokes +- */ +- while ((n = read (fd, buf, sizeof (buf))) > 0) +- ; + KdRegisterFd (fd, LinuxKeyboardRead, ki); + return Success; + } diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/no-serial-probing.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/no-serial-probing.patch new file mode 100644 index 000000000..6acb83440 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/no-serial-probing.patch @@ -0,0 +1,17 @@ +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +--- xserver/hw/kdrive/linux/mouse.c.orig 2004-05-13 14:25:51.000000000 -0700 ++++ xserver/hw/kdrive/linux/mouse.c 2005-09-22 12:20:47.000000000 -0700 +@@ -927,8 +927,10 @@ char *kdefaultMouse[] = { + "/dev/psaux", + "/dev/input/mice", + "/dev/adbmouse", ++#ifdef BREAK_MY_SERIAL_CONSOLE + "/dev/ttyS0", + "/dev/ttyS1", ++#endif + }; + + #define NUM_DEFAULT_MOUSE (sizeof (kdefaultMouse) / sizeof (kdefaultMouse[0])) diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/nodolt.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/nodolt.patch new file mode 100644 index 000000000..37811dbfd --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/nodolt.patch @@ -0,0 +1,16 @@ +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac 2009-01-15 20:35:31.000000000 +0000 ++++ git/configure.ac 2009-01-15 20:35:38.000000000 +0000 +@@ -62,7 +62,6 @@ + AC_LIBTOOL_WIN32_DLL + AC_DISABLE_STATIC + AC_PROG_LIBTOOL +-DOLT + AC_PROG_MAKE_SET + PKG_PROG_PKG_CONFIG + AC_PROG_LEX diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/optional-xkb.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/optional-xkb.patch new file mode 100644 index 000000000..af3c16c05 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/optional-xkb.patch @@ -0,0 +1,62 @@ +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +Index: xorg-server-1.2.0/Makefile.am +=================================================================== +--- xorg-server-1.2.0.orig/Makefile.am 2007-01-23 06:39:15.000000000 +0100 ++++ xorg-server-1.2.0/Makefile.am 2007-03-28 20:26:19.000000000 +0200 +@@ -30,6 +30,10 @@ + XINPUT_DIR=Xi + endif + ++if XKB ++XKB_DIR=xkb ++endif ++ + if DBE + DBE_DIR=dbe + endif +@@ -46,7 +50,7 @@ + randr \ + render \ + $(XINPUT_DIR) \ +- xkb \ ++ $(XKB_DIR) \ + $(DBE_DIR) \ + $(MFB_DIR) \ + $(AFB_DIR) \ +Index: xorg-server-1.2.0/configure.ac +=================================================================== +--- xorg-server-1.2.0.orig/configure.ac 2007-01-23 06:39:15.000000000 +0100 ++++ xorg-server-1.2.0/configure.ac 2007-03-28 20:27:13.000000000 +0200 +@@ -428,6 +428,7 @@ + AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMSExtension=$enableval], [DPMSExtension=yes]) + AC_ARG_ENABLE(xinput, AS_HELP_STRING([--disable-xinput], [Build XInput Extension (default: enabled)]), [XINPUT=$enableval], [XINPUT=yes]) + AC_ARG_ENABLE(xfree86-utils, AS_HELP_STRING([--enable-xfree86-utils], [Build xfree86 DDX utilities (default: enabled)]), [XF86UTILS=$enableval], [XF86UTILS=yes]) ++AC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Build XKB (default: enabled)]), [XKB=$enableval], [XKB=yes]) + + dnl DDXes. + AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto]) +@@ -754,12 +755,15 @@ + + AC_DEFINE(SHAPE, 1, [Support SHAPE extension]) + +-AC_DEFINE(XKB, 1, [Build XKB]) +-AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server]) +-AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default]) +-REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" +-XKB_LIB='$(top_builddir)/xkb/libxkb.la' +-XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la' ++AM_CONDITIONAL(XKB, [test "x$XKB" = xyes]) ++if test "x$XKB" = xyes; then ++ AC_DEFINE(XKB, 1, [Build XKB]) ++ AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server]) ++ AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default]) ++ REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" ++ XKB_LIB='$(top_builddir)/xkb/libxkb.la' ++ XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la' ++fi + + AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1, + [Do not have `strcasecmp'.])) diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive.inc b/meta/recipes-graphics/xorg-xserver/xserver-kdrive.inc new file mode 100644 index 000000000..c4c2a9fb7 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive.inc @@ -0,0 +1,113 @@ +LICENSE = "MIT" +DEPENDS = "compositeproto damageproto fixesproto recordproto resourceproto \ + scrnsaverproto xineramaproto videoproto xextproto xproto libxau libxext \ + libxdmcp libxfont libxrandr tslib virtual/libx11 xtrans bigreqsproto \ + xcmiscproto libdrm openssl" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353" + +PROVIDES = "virtual/xserver" +PACKAGES =+ "xserver-kdrive-fbdev \ + xserver-kdrive-sdl \ + xserver-kdrive-fake \ + xserver-kdrive-xephyr \ + xserver-kdrive-epson \ + xserver-kdrive-ati \ + xserver-kdrive-chips \ + xserver-kdrive-i810 \ + xserver-kdrive-mach64 \ + xserver-kdrive-mga \ + xserver-kdrive-neomagic \ + xserver-kdrive-nvidia \ + xserver-kdrive-pm2 \ + xserver-kdrive-r128 \ + xserver-kdrive-smi \ + xserver-kdrive-vesa \ + xserver-kdrive-via \ + xserver-kdrive-w100 \ + " + +SECTION = "x11/base" +DESCRIPTION = "X server from freedesktop.org" +DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices" +DESCRIPTION_xserver-kdrive-fake = "Fake X server" +DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window" +DESCRIPTION_xserver-kdrive-epson = "X server from freedesktop.org, supporting Epson S1D13806 devices" +DESCRIPTION_xserver-kdrive-sdl = "X server from freedesktop.org, SDL version" +DESCRIPTION_xserver-kdrive-w100 = "X server from freedesktop.org, supporting the ATI imageon w100 chipset" +DESCRIPTION_xserver-kdrive-ati = "X server from freedesktop.org, supporting ATI devices" +DESCRIPTION_xserver-kdrive-chips = "X server from freedesktop.org, supporting Chips chipsets" +DESCRIPTION_xserver-kdrive-i810 = "X server from freedesktop.org, supporting Intel chipsets" +DESCRIPTION_xserver-kdrive-imageon = "X server from freedesktop.org, supporting the ATI imageon 100 chipset" +DESCRIPTION_xserver-kdrive-mach64 = "X server from freedesktop.org, supporting mach64 chipsets" +DESCRIPTION_xserver-kdrive-mga = "X server from freedesktop.org, supporting mga chipsets" +DESCRIPTION_xserver-kdrive-neomagic = "X server from freedesktop.org, supporting neomagic chipsets" +DESCRIPTION_xserver-kdrive-nvidia = "X server from freedesktop.org, supporting nvidia devices" +DESCRIPTION_xserver-kdrive-pm2 = "X server from freedesktop.org, supporting Permedia2 chipsets" +DESCRIPTION_xserver-kdrive-r128 = "X server from freedesktop.org, supporting rage128 chipsets" +DESCRIPTION_xserver-kdrive-smi = "X server from freedesktop.org, supporting Silicon Motion devices" +DESCRIPTION_xserver-kdrive-vesa = "X server from freedesktop.org, supporting any card with a VESA, VGA or even EGA BIOS. x86 hardware only" +DESCRIPTION_xserver-kdrive-via = "X server from freedesktop.org, supporting VIA chipsets" + +FILES_${PN} += "${libdir}/xserver/SecurityPolicy ${libdir}/xorg" +FILES_${PN}-doc += "${datadir}/X11/xkb" +ALLOW_EMPTY_${PN} = "1" + +FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev" +FILES_xserver-kdrive-fake = "${bindir}/Xfake" +FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr" +FILES_xserver-kdrive-epson = "${bindir}/Xepson" +FILES_xserver-kdrive-sdl = "${bindir}/Xsdl" +FILES_xserver-kdrive-w100 = "${bindir}/Xw100" +FILES_xserver-kdrive-ati = "${bindir}/Xati" +FILES_xserver-kdrive-chips = "${bindir}/Xchips" +FILES_xserver-kdrive-i810 = "${bindir}/Xi810" +FILES_xserver-kdrive-imageon = "${bindir}/Ximageon" +FILES_xserver-kdrive-mach64 = "${bindir}/Xmach64" +FILES_xserver-kdrive-mga = "${bindir}/Xmga" +FILES_xserver-kdrive-neomagic = "${bindir}/Xneomagic" +FILES_xserver-kdrive-nvidia = "${bindir}/Xnvidia" +FILES_xserver-kdrive-pm2 = "${bindir}/Xpm2" +FILES_xserver-kdrive-r128 = "${bindir}/Xr128" +FILES_xserver-kdrive-smi = "${bindir}/Xsmi" +FILES_xserver-kdrive-vesa = "${bindir}/Xvesa" +FILES_xserver-kdrive-via = "${bindir}/Xvia" + +RDEPENDS_xserver-kdrive-fbdev = "${PN}" +RDEPENDS_xserver-kdrive-fake = "${PN}" +RDEPENDS_xserver-kdrive-xephyr = "${PN}" +RDEPENDS_xserver-kdrive-epson = "${PN}" +RDEPENDS_xserver-kdrive-sdl = "${PN}" +RDEPENDS_xserver-kdrive-w100 = "${PN}" +RDEPENDS_xserver-kdrive-ati = "${PN}" +RDEPENDS_xserver-kdrive-chips = "${PN}" +RDEPENDS_xserver-kdrive-i810 = "${PN}" +RDEPENDS_xserver-kdrive-mach64 = "${PN}" +RDEPENDS_xserver-kdrive-mga = "${PN}" +RDEPENDS_xserver-kdrive-neomagic = "${PN}" +RDEPENDS_xserver-kdrive-nvidia = "${PN}" +RDEPENDS_xserver-kdrive-pm2 = "${PN}" +RDEPENDS_xserver-kdrive-r128 = "${PN}" +RDEPENDS_xserver-kdrive-smi = "${PN}" +RDEPENDS_xserver-kdrive-vesa = "${PN}" +RDEPENDS_xserver-kdrive-via = "${PN}" + +inherit autotools pkgconfig + +ARM_INSTRUCTION_SET = "arm" + +EXTRA_OECONF = "--enable-composite --enable-kdrive \ + --disable-dga --disable-dri --disable-xinerama \ + --disable-xf86misc --disable-xf86vidmode \ + --disable-xorg --disable-xorgcfg \ + --disable-xkb --disable-xnest --disable-xvfb \ + --disable-xevie --disable-xprint --disable-xtrap \ + --disable-dmx \ + --without-dtrace \ + --with-default-font-path=built-ins \ + --enable-tslib --enable-xcalibrate \ + ac_cv_file__usr_share_X11_sgml_defs_ent=no" + +do_configure_prepend() { + sed -i -e 's/tslib-0.0/tslib-1.0/' ${S}/configure.ac +} diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb b/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb new file mode 100644 index 000000000..d90dc250e --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb @@ -0,0 +1,34 @@ +require xserver-kdrive.inc + +DEPENDS += "libxkbfile libxcalibrate font-util pixman" + +RDEPENDS_${PN} += "xkeyboard-config" + +EXTRA_OECONF += "--disable-glx" + +PE = "1" +PR = "r30" + +SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \ + file://extra-kmodes.patch \ + file://disable-apm.patch \ + file://no-serial-probing.patch \ + file://keyboard-resume-workaround.patch \ + file://enable-xcalibrate.patch \ + file://hide-cursor-and-ppm-root.patch \ + file://fbdev_xrandr_ioctl.patch \ + file://fix-newer-xorg-headers.patch \ + file://crosscompile.patch \ + file://error-address-work-around.patch \ + file://fix-bogus-stack-variables.patch \ + file://nodolt.patch" +# file://kdrive-evdev.patch +# file://kdrive-use-evdev.patch +# file://enable-builtin-fonts.patch +# file://optional-xkb.patch + +SRC_URI[md5sum] = "cafc4e2d4ef6cf6e47f3e7dffeb3346a" +SRC_URI[sha256sum] = "a89f13b166b412930fe418ff50032dd2cde8bb181d8b47b5ca6f848d218fdcf2" + + +S = "${WORKDIR}/xorg-server-${PV}" diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf new file mode 100644 index 000000000..10a6d9a0b --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf @@ -0,0 +1,69 @@ + +Section "Files" +EndSection + +Section "InputDevice" + Identifier "Generic Keyboard" + Driver "evdev" + Option "CoreKeyboard" + Option "Device" "/dev/input/by-path/platform-i8042-serio-0-event-kbd" + Option "XkbRules" "xorg" + Option "XkbModel" "evdev" + Option "XkbLayout" "us" +EndSection + +Section "InputDevice" + Identifier "Configured Mouse" + Driver "vmmouse" + Option "CorePointer" + Option "Device" "/dev/input/mice" + Option "Protocol" "ImPS/2" + Option "ZAxisMapping" "4 5" + Option "Emulate3Buttons" "true" +EndSection + +Section "InputDevice" + Identifier "Qemu Tablet" + Driver "evdev" + Option "CorePointer" + Option "Device" "/dev/input/touchscreen0" + Option "USB" "on" +EndSection + +Section "Device" + Identifier "Graphics Controller" + Driver "vmware" +EndSection + +Section "Monitor" + Identifier "Generic Monitor" + Option "DPMS" + # 1024x600 59.85 Hz (CVT) hsync: 37.35 kHz; pclk: 49.00 MHz + Modeline "1024x600_60.00" 49.00 1024 1072 1168 1312 600 603 613 624 -hsync +vsync + # 640x480 @ 60Hz (Industry standard) hsync: 31.5kHz + ModeLine "640x480" 25.2 640 656 752 800 480 490 492 525 -hsync -vsync + # 640x480 @ 72Hz (VESA) hsync: 37.9kHz + ModeLine "640x480" 31.5 640 664 704 832 480 489 491 520 -hsync -vsync + # 640x480 @ 75Hz (VESA) hsync: 37.5kHz + ModeLine "640x480" 31.5 640 656 720 840 480 481 484 500 -hsync -vsync + # 640x480 @ 85Hz (VESA) hsync: 43.3kHz + ModeLine "640x480" 36.0 640 696 752 832 480 481 484 509 -hsync -vsync +EndSection + +Section "Screen" + Identifier "Default Screen" + Device "Graphics Controller" + Monitor "Generic Monitor" + SubSection "Display" + Modes "640x480" + EndSubSection +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen "Default Screen" + InputDevice "Generic Keyboard" + # InputDevice "Configured Mouse" + InputDevice "QEMU Tablet" + Option "AllowEmptyInput" "no" +EndSection diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf new file mode 100644 index 000000000..10a6d9a0b --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf @@ -0,0 +1,69 @@ + +Section "Files" +EndSection + +Section "InputDevice" + Identifier "Generic Keyboard" + Driver "evdev" + Option "CoreKeyboard" + Option "Device" "/dev/input/by-path/platform-i8042-serio-0-event-kbd" + Option "XkbRules" "xorg" + Option "XkbModel" "evdev" + Option "XkbLayout" "us" +EndSection + +Section "InputDevice" + Identifier "Configured Mouse" + Driver "vmmouse" + Option "CorePointer" + Option "Device" "/dev/input/mice" + Option "Protocol" "ImPS/2" + Option "ZAxisMapping" "4 5" + Option "Emulate3Buttons" "true" +EndSection + +Section "InputDevice" + Identifier "Qemu Tablet" + Driver "evdev" + Option "CorePointer" + Option "Device" "/dev/input/touchscreen0" + Option "USB" "on" +EndSection + +Section "Device" + Identifier "Graphics Controller" + Driver "vmware" +EndSection + +Section "Monitor" + Identifier "Generic Monitor" + Option "DPMS" + # 1024x600 59.85 Hz (CVT) hsync: 37.35 kHz; pclk: 49.00 MHz + Modeline "1024x600_60.00" 49.00 1024 1072 1168 1312 600 603 613 624 -hsync +vsync + # 640x480 @ 60Hz (Industry standard) hsync: 31.5kHz + ModeLine "640x480" 25.2 640 656 752 800 480 490 492 525 -hsync -vsync + # 640x480 @ 72Hz (VESA) hsync: 37.9kHz + ModeLine "640x480" 31.5 640 664 704 832 480 489 491 520 -hsync -vsync + # 640x480 @ 75Hz (VESA) hsync: 37.5kHz + ModeLine "640x480" 31.5 640 656 720 840 480 481 484 500 -hsync -vsync + # 640x480 @ 85Hz (VESA) hsync: 43.3kHz + ModeLine "640x480" 36.0 640 696 752 832 480 481 484 509 -hsync -vsync +EndSection + +Section "Screen" + Identifier "Default Screen" + Device "Graphics Controller" + Monitor "Generic Monitor" + SubSection "Display" + Modes "640x480" + EndSubSection +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen "Default Screen" + InputDevice "Generic Keyboard" + # InputDevice "Configured Mouse" + InputDevice "QEMU Tablet" + Option "AllowEmptyInput" "no" +EndSection diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/xorg.conf b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/xorg.conf new file mode 100644 index 000000000..9c3d49019 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/xorg.conf @@ -0,0 +1,26 @@ + +Section "Device" + Identifier "Intel Graphics Driver" + Driver "intel" +EndSection + +Section "Monitor" + Identifier "Generic Monitor" + Option "DPMS" +EndSection + +Section "Screen" + Identifier "Default Screen" + Device "Intel Graphics Driver" + Monitor "Generic Monitor" + DefaultDepth 24 +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen "Default Screen" +EndSection + +Section "ServerFlags" + Option "DontZap" "0" +EndSection diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb new file mode 100644 index 000000000..970b4bdb1 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "X.Org X server configuration file" +HOMEPAGE = "http://www.x.org" +SECTION = "x11/base" +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +PR = "r10" + +SRC_URI = "file://xorg.conf" + +CONFFILES_${PN} += "${sysconfdir}/X11/xorg.conf" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +do_install () { + install -d ${D}/${sysconfdir}/X11 + install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/ +} + diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2.inc new file mode 100644 index 000000000..fc41568a5 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2.inc @@ -0,0 +1,11 @@ +# Misc build failure for master HEAD +SRC_URI += "file://crosscompile.patch \ + file://fix_open_max_preprocessor_error.patch \ + file://gcc-47-warning.patch \ + " + +SRC_URI[md5sum] = "8796fff441e5435ee36a72579008af24" +SRC_URI[sha256sum] = "fa415decf02027ca278b06254ccfbcceba2a83c2741405257ebf749da4a73cf2" + +PR = "r3" + diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/crosscompile.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/crosscompile.patch new file mode 100644 index 000000000..2f98bb8c8 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/crosscompile.patch @@ -0,0 +1,22 @@ +Upstream-Status: Inappropriate [configuration] + +diff --git a/configure.ac b/configure.ac +index b3b752c..600500b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -523,13 +523,9 @@ dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d, + dnl otherwise uses standard subdirectories of FONTROOTDIR. When cross + dnl compiling, assume default font path uses standard FONTROOTDIR directories. + DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/" +-if test "$cross_compiling" != yes; then +- AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d], +- [DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'], +- [case $host_os in ++ case $host_os in + darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;; +- esac]) +-fi ++ esac + AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]), + [ FONTPATH="$withval" ], + [ FONTPATH="${DEFAULT_FONT_PATH}" ]) diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/fix_open_max_preprocessor_error.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/fix_open_max_preprocessor_error.patch new file mode 100644 index 000000000..2f629724c --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/fix_open_max_preprocessor_error.patch @@ -0,0 +1,15 @@ +Upstream-Status: Pending + +Index: git/os/osdep.h +=================================================================== +--- git.orig/os/osdep.h 2008-10-07 18:38:21.000000000 +0100 ++++ git/os/osdep.h 2008-10-07 18:39:36.000000000 +0100 +@@ -92,7 +92,7 @@ + * like sysconf(_SC_OPEN_MAX) is not supported. + */ + +-#if OPEN_MAX <= 256 ++#if 0 + #define MAXSOCKS (OPEN_MAX - 1) + #else + #define MAXSOCKS 256 diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/gcc-47-warning.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/gcc-47-warning.patch new file mode 100644 index 000000000..ed4eaac39 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/gcc-47-warning.patch @@ -0,0 +1,33 @@ +This patch fixes errors on powerpc like below + +| lnx_video.c: In function 'unmapVidMem': +| lnx_video.c:472:24: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] + +Its in 1.12 branch + +http://cgit.freedesktop.org/xorg/xserver/commit/?h=server-1.12-branch&id=eb3377ffb8a7baa26c9831e56ed782d48b28fa71 + +Upstream-Status: Backport + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Index: xorg-server-1.11.2/hw/xfree86/os-support/linux/lnx_video.c +=================================================================== +--- xorg-server-1.11.2.orig/hw/xfree86/os-support/linux/lnx_video.c 2012-05-01 06:32:34.186489019 -0700 ++++ xorg-server-1.11.2/hw/xfree86/os-support/linux/lnx_video.c 2012-05-01 06:49:14.926537452 -0700 +@@ -469,11 +469,11 @@ + static void + unmapVidMem(int ScreenNum, pointer Base, unsigned long Size) + { +- memType alignOff = (memType)Base +- - ((memType)Base & ~(getpagesize() - 1)); ++ uintptr_t alignOff = (uintptr_t)Base ++ - ((uintptr_t)Base & ~(getpagesize() - 1)); + +- DebugF("alignment offset: %lx\n",alignOff); +- munmap((caddr_t)((memType)Base - alignOff), (Size + alignOff)); ++ DebugF("alignment offset: %lx\n",(unsigned long)alignOff); ++ munmap((void*)((uintptr_t)Base - alignOff), (Size + alignOff)); + } + + diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/macro_tweak.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/macro_tweak.patch new file mode 100644 index 000000000..ec0eea6ca --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/macro_tweak.patch @@ -0,0 +1,25 @@ +This is the revised version of files/macro_tweak.patch for +xorg-server 1.8.99.904 and newer. + +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +diff --git a/xorg-server.m4 b/xorg-server.m4 +index bdecf62..040fdb8 100644 +--- a/xorg-server.m4 ++++ b/xorg-server.m4 +@@ -28,10 +28,12 @@ dnl + # Checks for the $1 define in xorg-server.h (from the sdk). If it + # is defined, then add $1 to $REQUIRED_MODULES. + ++m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR) ++ + AC_DEFUN([XORG_DRIVER_CHECK_EXT],[ + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + SAVE_CFLAGS="$CFLAGS" +- CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`" ++ CFLAGS="$CFLAGS -I$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=sdkdir xorg-server`" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include "xorg-server.h" + #if !defined $1 diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg-common.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg-common.inc new file mode 100644 index 000000000..98f3d14cf --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg-common.inc @@ -0,0 +1,126 @@ +DESCRIPTION = "The X.Org X server" +HOMEPAGE = "http://www.x.org" +SECTION = "x11/base" +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://COPYING;md5=74df27b6254cc88d2799b5f4f5949c00" + +# xf86-*-* packages depend on an X server built with the xfree86 DDX +# so we have a virtual to represent that: +# deprecated, we should use virtual/xserver instead +PROVIDES = "virtual/xserver-xf86" + +# Other packages tend to just care that there is *an* X server: +PROVIDES += "virtual/xserver" + +PE = "2" + +XORG_PN = "xorg-server" +SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2" +SRC_URI += "file://macro_tweak.patch" + +S = "${WORKDIR}/${XORG_PN}-${PV}" + +inherit autotools pkgconfig + +PROTO_DEPS = "randrproto renderproto fixesproto damageproto xextproto xproto xf86dgaproto xf86miscproto xf86rushproto xf86vidmodeproto xf86bigfontproto compositeproto recordproto resourceproto videoproto scrnsaverproto evieext trapproto xineramaproto fontsproto kbproto inputproto bigreqsproto xcmiscproto glproto" +LIB_DEPS = "pixman libxfont xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess openssl" +DEPENDS = "${PROTO_DEPS} ${LIB_DEPS} font-util" + +# Split out some modules and extensions from the main package +# These aren't needed for basic operations and only take up space: +# 32.0k libdri.so +# 336.0k libglx.so +# 1360k libint10.so +# 180.0k libwfb.so +# 320.0k libxaa.so +# 124.0k libxf1bpp.so +# 84.0k libxf4bpp.so +# librecord.so +# libextmod.so +# libdbe.so + +PACKAGES =+ "${PN}-security-policy \ + ${PN}-sdl \ + ${PN}-fbdev \ + ${PN}-xprint \ + ${PN}-xvfb \ + ${PN}-utils \ + ${PN}-xephyr \ + ${PN}-multimedia-modules \ + ${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-glx \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + ${PN}-module-libint10 \ + ${PN}-module-libafb \ + ${PN}-module-libwfb \ + ${PN}-module-libmfb \ + ${PN}-module-libcfb \ + ${PN}-module-xaa \ + ${PN}-module-libxf1bpp \ + ${PN}-module-libxf4bpp" + +RRECOMMENDS_${PN} += "${PN}-security-policy xkeyboard-config rgb xserver-xf86-config" +RDEPENDS_${PN}-xvfb += "xkeyboard-config" + +FILES_${PN} = "${bindir} ${libdir}/X11/Options ${libdir}/X11/Cards ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules/*.so ${libdir}/xorg/modules/*.so /etc/X11 ${libdir}/xorg/protocol.txt ${datadir}/X11/xorg.conf.d" +FILES_${PN}-dev += "${libdir}/xorg/modules/*.la ${libdir}/xorg/modules/*/*.la" +FILES_${PN}-doc += "${libdir}/X11/doc ${datadir}/X11/xkb/compiled/README.compiled ${localstatedir}/lib/xkb/README.compiled" +FILES_${PN}-dbg += "${libdir}/xorg/modules/.debug \ + ${libdir}/xorg/modules/*/.debug \ + ${libdir}/xorg/modules/*/*/.debug \ + " +FILES_${PN}-security-policy += "${libdir}/xserver/SecurityPolicy" +FILES_${PN}-sdl = "${bindir}/Xsdl" +FILES_${PN}-fbdev = "${bindir}/Xfbdev" +FILES_${PN}-xprint = "${libdir}/X11/xserver/*/print" +FILES_${PN}-xvfb = "${bindir}/Xvfb" +FILES_${PN}-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl" +FILES_${PN}-xephyr = "${bindir}/Xephyr" +FILES_${PN}-multimedia-modules = "${libdir}/xorg/modules/multimedia/*drv*" +FILES_${PN}-extension-dri = "${libdir}/xorg/modules/extensions/libdri.so" +FILES_${PN}-extension-dri2 = "${libdir}/xorg/modules/extensions/libdri2.so" +FILES_${PN}-extension-glx = "${libdir}/xorg/modules/extensions/libglx.so" +FILES_${PN}-extension-record = "${libdir}/xorg/modules/extensions/librecord.so" +FILES_${PN}-extension-extmod = "${libdir}/xorg/modules/extensions/libextmod.so" +FILES_${PN}-extension-dbe = "${libdir}/xorg/modules/extensions/libdbe.so" +FILES_${PN}-module-libint10 = "${libdir}/xorg/modules/libint10.so" +FILES_${PN}-module-libafb = "${libdir}/xorg/modules/libafb.so" +FILES_${PN}-module-libwfb = "${libdir}/xorg/modules/libwfb.so" +FILES_${PN}-module-libmfb = "${libdir}/xorg/modules/libmfb.so" +FILES_${PN}-module-libcfb = "${libdir}/xorg/modules/libcfb.so" +FILES_${PN}-module-xaa = "${libdir}/xorg/modules/libxaa.so" +FILES_${PN}-module-libxf1bpp = "${libdir}/xorg/modules/libxf1bpp.so" +FILES_${PN}-module-libxf4bpp = "${libdir}/xorg/modules/libxf4bpp.so" + +EXTRA_OECONF += "--with-fop=no \ + --disable-static \ + --disable-acfb \ + --disable-ccfb \ + --disable-mcfb \ + --disable-xinerama \ + --disable-xf86misc \ + --disable-xorgcfg \ + --disable-record \ + --disable-dmx \ + --disable-xnest \ + --disable-xvfb \ + --enable-composite \ + --without-dtrace \ + --sysconfdir=/etc/X11 \ + --localstatedir=/var \ + --with-fontdir=${datadir}/fonts/X11 \ + --with-xkb-output=/var/lib/xkb \ + ac_cv_file__usr_share_sgml_X11_defs_ent=no \ +" + +PACKAGECONFIG ??= "udev" +PACKAGECONFIG[hal] = "--enable-config-hal,--disable-config-hal,,hal" +PACKAGECONFIG[udev] = "--enable-config-udev,--disable-config-udev,udev" + +do_install_append () { + # Its assumed base-files creates this for us + rmdir ${D}${localstatedir}/log/ +} diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg-lite.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg-lite.inc new file mode 100644 index 000000000..02db5bf5a --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg-lite.inc @@ -0,0 +1,8 @@ +require xserver-xorg-common.inc + +EXTRA_OECONF += "\ + --disable-dri \ + --disable-glx \ + --disable-dga \ + --without-xmlto \ +" diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg-lite_1.11.2.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg-lite_1.11.2.bb new file mode 100644 index 000000000..ec29b21d9 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg-lite_1.11.2.bb @@ -0,0 +1,4 @@ +require xserver-xorg-lite.inc +require xserver-xorg-${PV}.inc + +FILESEXTRAPATHS_append := "${THISDIR}/xserver-xorg:${THISDIR}/xserver-xorg-${PV}:" diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc new file mode 100644 index 000000000..ca7d33a66 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc @@ -0,0 +1,13 @@ +require xserver-xorg-common.inc + +PROTO_DEPS += "xf86driproto dri2proto" +LIB_DEPS += "mesa-dri" + +EXTRA_OECONF += "\ + --enable-dri \ + --enable-dri2 \ + --enable-glx-tls \ + --with-pic \ + --with-int10=x86emu \ + --without-xmlto \ +" diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.11.2.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.11.2.bb new file mode 100644 index 000000000..0f94fe29c --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.11.2.bb @@ -0,0 +1,2 @@ +require xserver-xorg.inc +require xserver-xorg-${PV}.inc diff --git a/meta/recipes-graphics/xrestop/xrestop_0.4.bb b/meta/recipes-graphics/xrestop/xrestop_0.4.bb new file mode 100644 index 000000000..13a5e61ca --- /dev/null +++ b/meta/recipes-graphics/xrestop/xrestop_0.4.bb @@ -0,0 +1,22 @@ +SUMMARY = "XRes: A top-like resource usage tool for X" + +DESCRIPTION = "top-like statistics of X11 server resource usage by clients" + +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/xrestop" +BUGTRACKER = "https://bugs.freedesktop.org/" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://xrestop.c;endline=18;md5=730876c30f0d8a928676bcd1242a3b35" + +SECTION = "x11/utils" +PR = "r3" + +DEPENDS = "libxres libxext virtual/libx11" + +SRC_URI = "http://downloads.yoctoproject.org/releases/xrestop/xrestop-${PV}.tar.gz" + +SRC_URI[md5sum] = "d8a54596cbaf037e62b80c4585a3ca9b" +SRC_URI[sha256sum] = "67c2fc94a7ecedbaae0d1837e82e93d1d98f4a6d759828860e552119af3ce257" + +inherit autotools diff --git a/meta/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh b/meta/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh new file mode 100644 index 000000000..b8383bf86 --- /dev/null +++ b/meta/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +. /etc/formfactor/config + +if [ "$HAVE_TOUCHSCREEN" = "1" ]; then + n=1 + while [ ! -z $TSLIB_TSDEVICE ] && [ ! -f /etc/pointercal ] && [ $n -le 5 ] + do + /usr/bin/xtscal + sleep 1 + let "n += 1" + done +fi diff --git a/meta/recipes-graphics/xtscal/xtscal/change-cross.patch b/meta/recipes-graphics/xtscal/xtscal/change-cross.patch new file mode 100644 index 000000000..1da771786 --- /dev/null +++ b/meta/recipes-graphics/xtscal/xtscal/change-cross.patch @@ -0,0 +1,18 @@ +Upstream-Status: Pending + +--- tmp/main.c.orig 2007-01-02 15:39:54.000000000 +0000 ++++ tmp/main.c 2007-01-02 15:39:54.000000000 +0000 +@@ -131,9 +131,10 @@ + { + XRenderFillRectangles (dpy, PictOpSrc, pict, &rect_color, rectangles, 2); + +- XFillArc (dpy, crosshair_w, crosshair_gc, (CROSSHAIR_SIZE / 2) - (WIDTH / 2) - 1, +- (CROSSHAIR_SIZE / 2) - (WIDTH / 2) - 1, +- WIDTH + 1, WIDTH + 1, 0, 360 * 64); ++ XFillRectangle (dpy, crosshair_w, crosshair_gc, ++ (CROSSHAIR_SIZE / 2) - (WIDTH / 2), ++ (CROSSHAIR_SIZE / 2) - (WIDTH / 2), ++ WIDTH, WIDTH); + } + + void diff --git a/meta/recipes-graphics/xtscal/xtscal/cleanup.patch b/meta/recipes-graphics/xtscal/xtscal/cleanup.patch new file mode 100644 index 000000000..f7b0854c3 --- /dev/null +++ b/meta/recipes-graphics/xtscal/xtscal/cleanup.patch @@ -0,0 +1,621 @@ +--- + Makefile.am | 9 -- + configure.ac | 3 + gpe-dist.am | 12 --- + h3600_ts.h | 216 ----------------------------------------------------------- + main.c | 210 ++------------------------------------------------------- + xtscal.in | 19 ----- + 6 files changed, 14 insertions(+), 455 deletions(-) + +Upstream-Status: Pending + +Index: xtscal-0.6.3/xtscal.in +=================================================================== +--- xtscal-0.6.3.orig/xtscal.in 2004-09-10 20:10:36.000000000 +0100 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,19 +0,0 @@ +-#!/bin/sh +- +-module_id() { +- # Get model name +- echo `grep "^Hardware" /proc/cpuinfo | sed -e "s/.*: *//" | tr a-z A-Z` +-} +- +-case `module_id` in +- "HP IPAQ H3100" | "HP IPAQ H3800" ) +- ARGS="-rotate 90" ;; +- "HP IPAQ H3600" | "HP IPAQ H3700" | "HP IPAQ H3900" | *COLLIE | *POODLE) +- ARGS="-rotate 270" ;; +- # H2200: works without rotation +-esac +- +-# the things we do for autoconf +-prefix=@prefix@ +-exec_prefix=@exec_prefix@ +-exec @libexecdir@/xtscal.bin $ARGS $* +Index: xtscal-0.6.3/main.c +=================================================================== +--- xtscal-0.6.3.orig/main.c 2007-07-01 01:12:52.000000000 +0100 ++++ xtscal-0.6.3/main.c 2007-07-01 01:12:55.000000000 +0100 +@@ -22,12 +22,10 @@ + #include <X11/Xlib.h> + + #include <X11/extensions/Xrender.h> +-#include <X11/extensions/Xrandr.h> + #include <X11/Xft/Xft.h> + #include <X11/extensions/xcalibrate.h> + #include <X11/keysym.h> + +-#include "h3600_ts.h" + #include "calibrate.h" + + Display *dpy; +@@ -45,15 +43,11 @@ XftColor xftcol; + XftDraw *xftdraw; + XftFont *xftfont; + int screen_x, screen_y; +-int ts_fd; + int samples; + Pixmap bg_pixmap; + int flag_debug; +-int rotation = 0; + int error_base, event_base; + +-int using_xcalibrate; +- + int moving; + + #define CROSSHAIR_SIZE 25 +@@ -63,7 +57,6 @@ int moving; + #define ENOUGH 5 + #define MAX_SAMPLES 40 + +-#define RAW_DEVICE "/dev/h3600_tsraw" + #define FONTNAME "sans-10" + + struct point +@@ -287,12 +280,8 @@ sort_by_y (const void* a, const void *b) + void + set_calibration (calibration *cal) + { +- TS_CAL tc; +- int xtrans, ytrans, xscale, yscale, xyscale, yxscale; + calibration ocal = *cal; + +- if (using_xcalibrate) +- { + FILE *fp; + if (flag_debug) + printf ("constants are: %d %d %d %d %d %d %d\n", cal->a[1], cal->a[2], cal->a[0], cal->a[4], cal->a[5], cal->a[3], cal->a[6]); +@@ -304,29 +293,6 @@ set_calibration (calibration *cal) + } + fprintf (fp, "%d %d %d %d %d %d %d\n", cal->a[1], cal->a[2], cal->a[0], cal->a[4], cal->a[5], cal->a[3], cal->a[6]); + fclose (fp); +- return; +- } +- +- xtrans = cal->a[0] / cal->a[6]; +- ytrans = cal->a[3] / cal->a[6]; +- xscale = cal->a[1] * 256 / cal->a[6]; +- yscale = cal->a[5] * 256 / cal->a[6]; +- xyscale = cal->a[2] * 256 / cal->a[6]; +- yxscale = cal->a[4] * 256 / cal->a[6]; +- +- tc.xtrans = xtrans; +- tc.ytrans = ytrans; +- tc.xscale = xscale; +- tc.yscale = yscale; +- tc.xyswap = 0; +- +- printf ("%d %d %d %d %d\n", tc.xscale, tc.xtrans, tc.yscale, tc.ytrans, tc.xyswap); +- +- if (ioctl (ts_fd, TS_SET_CAL, (void *)&tc) != 0) +- { +- perror ("TS_SET_CAL"); +- exit (1); +- } + } + + void +@@ -398,80 +364,13 @@ handle_ts_event (int x, int y, int press + } + + void +-read_ts (void) +-{ +- TS_EVENT ts_ev; +- int r; +- +- r = read (ts_fd, &ts_ev, sizeof (ts_ev)); +- if (r == sizeof (ts_ev)) +- handle_ts_event (ts_ev.x, ts_ev.y, ts_ev.pressure); +-} +- +-void +-do_cal (char **args) +-{ +- TS_CAL tc; +- +- tc.xscale = atoi (args[0]); +- tc.xtrans = atoi (args[1]); +- tc.yscale = atoi (args[2]); +- tc.ytrans = atoi (args[3]); +- tc.xyswap = atoi (args[4]); +- +- if (flag_debug) +- fprintf (stderr, "setting: %d %d %d %d %d\n", +- tc.xtrans, tc.ytrans, tc.xscale, tc.yscale, tc.xyswap); +- +- if (ioctl (ts_fd, TS_SET_CAL, (void *)&tc) != 0) +- { +- perror ("TS_SET_CAL"); +- exit (1); +- } +- +- exit (0); +-} +- +-void +-show_cal (void) +-{ +- TS_CAL tc; +- +- if (ioctl (ts_fd, TS_GET_CAL, (void *)&tc) != 0) +- { +- perror ("TS_GET_CAL"); +- exit (1); +- } +- +- printf ("%d %d %d %d %d\n", tc.xscale, tc.xtrans, tc.yscale, tc.ytrans, tc.xyswap); +-} +- +-void + usage (const char *name) + { +- fprintf (stderr, "usage: %s -view\n", name); +- fprintf (stderr, " %s [-rotate <0 | 90 | 180 | 270>]\n", name); +- fprintf (stderr, " %s -cal <xs> <xt> <ys> <yt> <xyswap>\n", name); +- ++ fprintf (stderr, "usage: %s [-debug]\n", name); + exit (1); + } + + int +-xrr_supported (void) +-{ +- int xrr_event_base, xrr_error_base; +- int xrr_major, xrr_minor; +- +- if (XRRQueryExtension (dpy, &xrr_event_base, &xrr_error_base) == False +- || XRRQueryVersion (dpy, &xrr_major, &xrr_minor) == 0 +- || xrr_major != 1 +- || xrr_minor < 1) +- return 0; +- +- return 1; +-} +- +-int + main (int argc, char *argv[]) + { + XSetWindowAttributes attributes; +@@ -480,31 +379,11 @@ main (int argc, char *argv[]) + int max_fd; + GC bg_gc; + int i; +- int have_xrandr; + + for (i = 1; i < argc; i++) + { +- if (!strcmp (argv[i], "-view")) +- { +- show_cal (); +- exit (0); +- } +- else if (!strcmp (argv[i], "-debug")) ++ if (!strcmp (argv[i], "-debug")) + flag_debug = 1; +- else if (!strcmp (argv[i], "-cal")) +- { +- if (argc > (i + 5)) +- do_cal (argv + i + 1); +- else +- usage (argv[0]); +- } +- else if (!strcmp (argv[i], "-rotate")) +- { +- if (argc > (i + 1)) +- rotation = atoi (argv[++i]); +- else +- usage (argv[0]); +- } + else + usage (argv[0]); + } +@@ -531,48 +410,11 @@ main (int argc, char *argv[]) + fprintf (stderr, "failed to set raw mode: error %d\n", r); + exit (1); + } +- +- using_xcalibrate = 1; +- } +- +- have_xrandr = xrr_supported (); +- if (have_xrandr) +- { +- XRRScreenConfiguration *rr_screen; +- Rotation current_rotation; +- +- if (flag_debug) +- fprintf (stderr, "XRANDR is supported\n"); +- +- rr_screen = XRRGetScreenInfo (dpy, RootWindow (dpy, screen)); +- +- XRRRotations (dpy, screen, ¤t_rotation); +- +- XRRFreeScreenConfigInfo (rr_screen); +- +- if (flag_debug) +- fprintf (stderr, "Current RANDR rotation is %d\n", current_rotation); +- +- switch (current_rotation) +- { +- case RR_Rotate_270: +- rotation += 90; +- case RR_Rotate_180: +- rotation += 90; +- case RR_Rotate_90: +- rotation += 90; +- rotation %= 360; +- case RR_Rotate_0: +- break; +- default: +- fprintf (stderr, "Unknown RANDR rotation: %d\n", current_rotation); +- break; +- } + } + else + { +- if (flag_debug) +- fprintf (stderr, "XRANDR not supported\n"); ++ perror ("XCALIBRATE extension missing"); ++ exit (1); + } + + attributes.override_redirect = flag_debug ? False : True; +@@ -666,45 +508,17 @@ main (int argc, char *argv[]) + + for (i = 0; i < NR_POINTS; i++) + { +- switch (rotation) +- { +- case 0: +- cal.xfb[i] = cal.xscr[i]; +- cal.yfb[i] = cal.yscr[i]; +- break; +- case 90: +- cal.xfb[i] = cal.yscr[i]; +- cal.yfb[i] = screen_x - cal.xscr[i]; +- break; +- case 180: +- cal.xfb[i] = screen_x - cal.xscr[i]; +- cal.yfb[i] = screen_y - cal.yscr[i]; +- break; +- case 270: +- cal.xfb[i] = screen_y - cal.yscr[i]; +- cal.yfb[i] = cal.xscr[i]; +- break; +- } ++ cal.xfb[i] = cal.xscr[i]; ++ cal.yfb[i] = cal.yscr[i]; ++ XCalibrateScreenToCoord (dpy, &cal.xfb[i], &cal.yfb[i]); + + if (flag_debug) +- printf ("rotation %d: (%d,%d) -> (%d,%d)\n", rotation, ++ printf ("rotation conversion: (%d,%d) -> (%d,%d)\n", + cal.xscr[i], cal.yscr[i], cal.xfb[i], cal.yfb[i]); + } + + next_event (); + +- if (!using_xcalibrate) +- { +- ts_fd = open (RAW_DEVICE, O_RDONLY); +- if (ts_fd < 0) +- { +- perror (RAW_DEVICE); +- exit (1); +- } +- } +- +- max_fd = (xfd > ts_fd) ? xfd : ts_fd; +- + for (;;) + { + fd_set fds; +@@ -713,12 +527,8 @@ main (int argc, char *argv[]) + + FD_ZERO (&fds); + FD_SET (xfd, &fds); +- if (ts_fd != -1) +- FD_SET (ts_fd, &fds); + +- select (max_fd + 1, &fds, NULL, NULL, NULL); +- +- if (ts_fd != -1 && FD_ISSET (ts_fd, &fds)) +- read_ts (); ++ select (xfd + 1, &fds, NULL, NULL, NULL); + } + } ++ +Index: xtscal-0.6.3/configure.ac +=================================================================== +--- xtscal-0.6.3.orig/configure.ac 2004-09-10 20:11:12.000000000 +0100 ++++ xtscal-0.6.3/configure.ac 2007-07-01 01:12:55.000000000 +0100 +@@ -9,8 +9,7 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) + # Checks for programs. + AC_PROG_CC + +-PKG_CHECK_MODULES(XTSCAL, x11 xft xext xrandr xcalibrate) ++PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate) + + AC_CONFIG_FILES([Makefile]) +-AC_CONFIG_FILES([xtscal]) + AC_OUTPUT +Index: xtscal-0.6.3/gpe-dist.am +=================================================================== +--- xtscal-0.6.3.orig/gpe-dist.am 2004-06-02 23:07:13.000000000 +0100 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,12 +0,0 @@ +-CVSTAG := $(shell echo $(PACKAGE)-$(VERSION) | tr [a-z.] [A-Z_]) +- +-dist-upload: dist +- scp $(PACKAGE)-$(VERSION).tar.bz2 $(USER)@handhelds.org:/home/ftp/pub/projects/gpe/source/ +- +-tag: +- cvs tag $(CVSTAG) +- +-retag: +- cvs tag -F $(CVSTAG) +- +-source: tag dist-upload +Index: xtscal-0.6.3/h3600_ts.h +=================================================================== +--- xtscal-0.6.3.orig/h3600_ts.h 2003-07-05 17:27:10.000000000 +0100 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,216 +0,0 @@ +-/* +-* +-* Driver for the H3600 Touch Screen and other Atmel controlled devices. +-* +-* Copyright 2000 Compaq Computer Corporation. +-* +-* Use consistent with the GNU GPL is permitted, +-* provided that this copyright notice is +-* preserved in its entirety in all copies and derived works. +-* +-* COMPAQ COMPUTER CORPORATION MAKES NO WARRANTIES, EXPRESSED OR IMPLIED, +-* AS TO THE USEFULNESS OR CORRECTNESS OF THIS CODE OR ITS +-* FITNESS FOR ANY PARTICULAR PURPOSE. +-* +-* Author: Charles Flynn. +-* +-*/ +- +- +-#ifndef __H3600_TS_H__ +-#define __H3600_TS_H__ +- +-#include <linux/ioctl.h> +- +-enum h3600_ts_minor_devices { +- TS_MINOR = 0, +- TSRAW_MINOR = 1, +- KEY_MINOR = 2 +-}; +- +-typedef struct h3600_ts_calibration { +- int xscale; +- int xtrans; +- int yscale; +- int ytrans; +- int xyswap; +-} TS_CAL; +- +-typedef struct h3600_ts_event { +- unsigned short pressure; +- unsigned short x; +- unsigned short y; +- unsigned short pad; +-} TS_EVENT; +- +-/* Deprecated - do not use */ +-typedef struct h3600_ts_return { +- unsigned short pressure; +- unsigned short x; +- unsigned short y; +- unsigned short pad; +-} TS_RET; +- +-enum power_button_mode { +- PBM_SUSPEND = 0, +- PBM_GENERATE_KEYPRESS = 1 +-}; +- +- +-/* ++++++++++++++ +++++++++++++++++++++++++++++++++++++ */ +- +-typedef struct therm_dev { +- short data; +-} THERM_DEV; +- +-#define H3600_BATT_CHEM_ALKALINE 0x01 +-#define H3600_BATT_CHEM_NICD 0x02 +-#define H3600_BATT_CHEM_NIMH 0x03 +-#define H3600_BATT_CHEM_LION 0x04 +-#define H3600_BATT_CHEM_LIPOLY 0x05 +-#define H3600_BATT_CHEM_NOT_INSTALLED 0x06 +-#define H3600_BATT_CHEM_UNKNOWN 0xff +- +-/* These should match the apm_bios.h definitions */ +-#define H3600_AC_STATUS_AC_OFFLINE 0x00 +-#define H3600_AC_STATUS_AC_ONLINE 0x01 +-#define H3600_AC_STATUS_AC_BACKUP 0x02 /* What does this mean? */ +-#define H3600_AC_STATUS_AC_UNKNOWN 0xff +- +-/* These bitfields are rarely "or'd" together */ +-#define H3600_BATT_STATUS_HIGH 0x01 +-#define H3600_BATT_STATUS_LOW 0x02 +-#define H3600_BATT_STATUS_CRITICAL 0x04 +-#define H3600_BATT_STATUS_CHARGING 0x08 +-#define H3600_BATT_STATUS_CHARGE_MAIN 0x10 +-#define H3600_BATT_STATUS_DEAD 0x20 /* Battery will not charge */ +-#define H3600_BATT_NOT_INSTALLED 0x20 /* For expansion pack batteries */ +-#define H3600_BATT_STATUS_FULL 0x40 /* Battery fully charged (and connected to AC) */ +-#define H3600_BATT_STATUS_NOBATT 0x80 +-#define H3600_BATT_STATUS_UNKNOWN 0xff +- +-struct battery_data { +- unsigned char chemistry; +- unsigned char status; +- unsigned short voltage; /* Voltage for battery #0; unknown for battery #1 */ +- unsigned short percentage; /* Percentage of full charge */ +- unsigned short life; /* Life remaining in minutes */ +-}; +- +-struct h3600_battery { +- unsigned char ac_status; +- unsigned char battery_count; /* How many batteries we have */ +- struct battery_data battery[2]; +-}; +- +-/* -------- EEPROM and SPI Interfaces ---------------*/ +- +-#define EEPROM_RD_BUFSIZ 6 /* EEPROM reads are 16 bits */ +-#define EEPROM_WR_BUFSIZ 5 /* Allow room for 8bit 'addr' field in buffer*/ +-#define SPI_RD_BUFSIZ 16 /* SPI reads are 8 bits */ +-#define SPI_WR_BUFSIZ 7 +- +-/* The EEPROM is where internal programs are stored on the Amtel. +- You probably don't want to read or write these values */ +- +-typedef struct h3600_eeprom_read_request { +- unsigned char addr; /* 8bit Address Offset 0-255 */ +- unsigned char len; /* Number of 16bit words to read 0-128 */ +- unsigned short buff[EEPROM_RD_BUFSIZ]; +-} EEPROM_READ; +- +-typedef struct h3600_eeprom_write_request { +- unsigned char len; /* used only to compute the number of bytes to send */ +- unsigned char addr; /* 0-128 */ +- unsigned short buff[EEPROM_WR_BUFSIZ]; +-} EEPROM_WRITE; +- +-/* The SPI bus connects to EEPROMs located on sleeves plugged into +- the iPAQ. You may want to read these values */ +- +-typedef struct h3600_spi_read_request { +- unsigned short addr; /* 16bit Address Offset 0-128 */ +- unsigned char len; /* Number of bytes to read */ +- unsigned char buff[SPI_RD_BUFSIZ]; +-} SPI_READ; +- +-#define SPI_READ_STATUS_BYTE 0xffff /* Use this address to read the status byte */ +- +-typedef struct h3600_spi_write_request { +- unsigned short len; /* used only to compute the number of bytes to send */ +- unsigned short addr; /* this 16bit address accesses a single byte */ +- unsigned char buff[SPI_WR_BUFSIZ]; +-} SPI_WRITE; +- +- +-/* -------- end of EEPROM and SPI Interfaces ---------------*/ +- +-/* User space structures for IOCTL calls */ +- +-typedef struct h3600_ts_version { +- unsigned char host_version[8]; /* ascii "x.yy" */ +- unsigned char pack_version[8]; /* ascii "x.yy" */ +- unsigned char boot_type; /* TODO ?? */ +-} VER_RET; +- +-typedef struct h3600_ts_led { +- unsigned char OffOnBlink; /* 0=off 1=on 2=Blink */ +- unsigned char TotalTime; /* Units of 5 seconds */ +- unsigned char OnTime; /* units of 100m/s */ +- unsigned char OffTime; /* units of 100m/s */ +-} LED_IN; +- +-enum flite_mode { +- FLITE_MODE1 = 1, +- FLITE_AUTO_MODE = 1, /* for reference only */ +- FLITE_MANUAL_MODE = 2, /* Use this normally? */ +- FLITE_GET_LIGHT_SENSOR = 3 /* Returns light reading in "brightness" field */ +-}; +-enum flite_pwr { +- FLITE_PWR_OFF = 0, +- FLITE_PWR_ON = 1 +-}; +- +-typedef struct h3600_ts_flite { +- unsigned char mode; +- unsigned char pwr; +- unsigned char brightness; +-} FLITE_IN; +- +-/*************************** Updated "universal" structures *******************/ +- +-/* Sets backlight for both H3100 and H3600 models - technically "frontlight" for H3600 */ +-struct h3600_ts_backlight { +- enum flite_pwr power; /* 0 = off, 1 = on */ +- unsigned char brightness; /* 0 - 255 */ +-}; +- +-struct h3600_ts_contrast { /* Only useful on H3100 model */ +- unsigned char contrast; /* 0 - 255 */ +-}; +- +-/* IOCTL cmds user or kernel space */ +- +-/* Use 'f' as magic number */ +-#define IOC_H3600_TS_MAGIC 'f' +- +-/* TODO: Some of these IOWR values are just plain wrong */ +-#define GET_VERSION _IOR(IOC_H3600_TS_MAGIC, 1, struct h3600_ts_version ) +-#define READ_EEPROM _IOWR(IOC_H3600_TS_MAGIC, 2, struct h3600_eeprom_read_request) +-#define WRITE_EEPROM _IOWR(IOC_H3600_TS_MAGIC, 3, struct h3600_eeprom_write_request) +-#define GET_THERMAL _IOR(IOC_H3600_TS_MAGIC, 4, struct therm_dev) +-#define LED_ON _IOW(IOC_H3600_TS_MAGIC, 5, struct h3600_ts_led) +-#define GET_BATTERY_STATUS _IOR(IOC_H3600_TS_MAGIC, 6, struct h3600_battery) +-#define FLITE_ON _IOW(IOC_H3600_TS_MAGIC, 7, struct h3600_ts_flite) +-#define READ_SPI _IOWR(IOC_H3600_TS_MAGIC, 8, struct h3600_spi_read_request) +-#define WRITE_SPI _IOWR(IOC_H3600_TS_MAGIC, 9, struct h3600_spi_write_request) +-#define TS_GET_CAL _IOR(IOC_H3600_TS_MAGIC, 10, struct h3600_ts_calibration) +-#define TS_SET_CAL _IOW(IOC_H3600_TS_MAGIC, 11, struct h3600_ts_calibration) +- +-/* New IOCTL interfaces - defined to be more user friendly */ +-#define TS_GET_BACKLIGHT _IOR(IOC_H3600_TS_MAGIC, 20, struct h3600_ts_backlight) +-#define TS_SET_BACKLIGHT _IOW(IOC_H3600_TS_MAGIC, 20, struct h3600_ts_backlight) +-#define TS_GET_CONTRAST _IOR(IOC_H3600_TS_MAGIC, 21, struct h3600_ts_contrast) +-#define TS_SET_CONTRAST _IOW(IOC_H3600_TS_MAGIC, 21, struct h3600_ts_contrast) +- +-#endif +Index: xtscal-0.6.3/Makefile.am +=================================================================== +--- xtscal-0.6.3.orig/Makefile.am 2004-06-02 23:07:13.000000000 +0100 ++++ xtscal-0.6.3/Makefile.am 2007-07-02 12:51:02.000000000 +0100 +@@ -1,11 +1,8 @@ +-libexec_PROGRAMS = xtscal.bin +-bin_SCRIPTS = xtscal ++bin_PROGRAMS = xtscal + +-xtscal_bin_SOURCES = main.c calibrate.c calibrate.h h3600_ts.h ++xtscal_SOURCES = main.c calibrate.c calibrate.h + +-xtscal_bin_LDADD = @XTSCAL_LIBS@ ++xtscal_LDADD = @XTSCAL_LIBS@ + + INCLUDES = @XTSCAL_CFLAGS@ -DNR_POINTS=5 + +-include gpe-dist.am +- diff --git a/meta/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch b/meta/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch new file mode 100644 index 000000000..3e4533f78 --- /dev/null +++ b/meta/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch @@ -0,0 +1,27 @@ +after gcc linking has changed, all the libraries must be explicitely specified +This patch avoids this linking error: + +| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o xtscal main.o calibrate.o -lX11 -lXft -lXext -lXcalibrate^M +| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: ^?: invalid DSO for symbol `XRenderChangePicture' definition^M +| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXrender.so.1: could not read symbols: Bad value^M +| collect2: ld returned 1 exit status^M +| make: *** [xtscal] Error 1 + +Nitin A Kamble <nitin.a.kamble@intel.com> +Date: 2011/01/11 + +Upstream-Status: Pending + +Index: xtscal-0.6.3/configure.ac +=================================================================== +--- xtscal-0.6.3.orig/configure.ac ++++ xtscal-0.6.3/configure.ac +@@ -9,7 +9,7 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) + # Checks for programs. + AC_PROG_CC + +-PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate) ++PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate xrender) + + AC_CONFIG_FILES([Makefile]) + AC_OUTPUT diff --git a/meta/recipes-graphics/xtscal/xtscal_0.6.3.bb b/meta/recipes-graphics/xtscal/xtscal_0.6.3.bb new file mode 100644 index 000000000..e6ccd047b --- /dev/null +++ b/meta/recipes-graphics/xtscal/xtscal_0.6.3.bb @@ -0,0 +1,31 @@ +SUMMARY = "Touchscreen calibration utility" + +DESCRIPTION = "Basic touchscreen calibration utility" + +HOMEPAGE = "http://gpe.linuxtogo.org" +BUGTRACKER = "http://bugs.linuxtogo.org" +LICENSE = "GPLv2 & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://main.c;endline=10;md5=8721bcb08ae9f24e5fe4c82941873c87" + +SECTION = "x11/base" + +DEPENDS = "virtual/libx11 libxft libxcalibrate" + +PR = "r13" + +SRC_URI = "${GPE_MIRROR}/xtscal-${PV}.tar.bz2 \ + file://change-cross.patch \ + file://cleanup.patch \ + file://dso_linking_change_build_fix.patch \ + file://30xTs_Calibrate.sh" + +SRC_URI[md5sum] = "9bcab80b474d5454477d1ca166a68c34" +SRC_URI[sha256sum] = "27b9dc2203de9b1706ca39fa6ca80ecab8807909ec901c4a345b8e41178800a1" + +inherit autotools + +do_install_append() { + install -d ${D}${sysconfdir}/X11/Xsession.d/ + install -m 0755 ${WORKDIR}/30xTs_Calibrate.sh ${D}${sysconfdir}/X11/Xsession.d/ +} diff --git a/meta/recipes-graphics/xvideo-tests/xvideo-tests_git.bb b/meta/recipes-graphics/xvideo-tests/xvideo-tests_git.bb new file mode 100644 index 000000000..166b50b9b --- /dev/null +++ b/meta/recipes-graphics/xvideo-tests/xvideo-tests_git.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "Simple XVideo test application" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://src/test-xvideo.c;beginline=1;endline=20;md5=6ae3b4c3c2ff9e51dbbc35bb237afa00" +DEPENDS = "libxv" + +SRCREV = "f8f320d0254c09ce483fc1d8ee99ecf5bc940965" +PV = "0.1+git${SRCPV}" +PR = "r0" + +SRC_URI = "git://git.yoctoproject.org/test-xvideo;protocol=git" + +S = "${WORKDIR}/git" + +inherit autotools |
