diff options
author | Dave Cobbley <david.j.cobbley@linux.intel.com> | 2018-08-14 20:05:37 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-08-23 04:26:31 +0300 |
commit | eb8dc40360f0cfef56fb6947cc817a547d6d9bc6 (patch) | |
tree | de291a73dc37168da6370e2cf16c347d1eba9df8 /poky/meta/recipes-graphics | |
parent | 9c3cf826d853102535ead04cebc2d6023eff3032 (diff) | |
download | openbmc-eb8dc40360f0cfef56fb6947cc817a547d6d9bc6.tar.xz |
[Subtree] Removing import-layers directory
As part of the move to subtrees, need to bring all the import layers
content to the top level.
Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f
Signed-off-by: Dave Cobbley <david.j.cobbley@linux.intel.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/meta/recipes-graphics')
375 files changed, 14309 insertions, 0 deletions
diff --git a/poky/meta/recipes-graphics/builder/builder_0.1.bb b/poky/meta/recipes-graphics/builder/builder_0.1.bb new file mode 100644 index 000000000..0a64c31ab --- /dev/null +++ b/poky/meta/recipes-graphics/builder/builder_0.1.bb @@ -0,0 +1,31 @@ +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 = "r6" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://builder_session.sh;endline=5;md5=84796c3c41785d86100fdabcbdade00e" + +SRC_URI = "file://builder_session.sh \ + " + +S = "${WORKDIR}" + +RDEPENDS_${PN} = "mini-x-session" + +inherit useradd + +# builder user password is "builder" +BUILDER_PASSWORD ?= ".gLibiNXn0P12" +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --create-home \ + --groups video,tty,audio \ + --password ${BUILDER_PASSWORD} \ + --user-group builder" + +do_install () { + install -d -m 755 ${D}${sysconfdir}/mini_x/session.d + install -p -m 755 builder_session.sh ${D}${sysconfdir}/mini_x/session.d/ + + chown builder.builder ${D}${sysconfdir}/mini_x/session.d/builder_session.sh +} + diff --git a/poky/meta/recipes-graphics/builder/files/builder_session.sh b/poky/meta/recipes-graphics/builder/files/builder_session.sh new file mode 100644 index 000000000..4e509a701 --- /dev/null +++ b/poky/meta/recipes-graphics/builder/files/builder_session.sh @@ -0,0 +1,33 @@ +#!/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 +export GIT_PROXY_COMMAND=/home/builder/poky/scripts/oe-git-proxy + +#start pcmanfm in daemon mode to allow asynchronous launch +pcmanfm -d& + +#register handlers for some file types +if [ ! -d /home/builder/.local/share/applications ]; then + mkdir -p /home/builder/.local/share/applications/ + #register folders to open with PCManFM filemanager + xdg-mime default pcmanfm.desktop inode/directory + + #register html links and files with epiphany + xdg-mime default epiphany.desktop x-scheme-handler/http + xdg-mime default epiphany.desktop x-scheme-handler/https + xdg-mime default epiphany.desktop text/html + + #register text files with l3afpad text editor + xdg-mime default l3afpad.desktop text/plain +fi + +cd /home/builder/poky +. ./oe-init-build-env + +matchbox-terminal& diff --git a/poky/meta/recipes-graphics/cairo/cairo-fpu.inc b/poky/meta/recipes-graphics/cairo/cairo-fpu.inc new file mode 100644 index 000000000..fe7c53337 --- /dev/null +++ b/poky/meta/recipes-graphics/cairo/cairo-fpu.inc @@ -0,0 +1,6 @@ + +def get_cairo_fpu_setting(bb, d): + if d.getVar('TARGET_FPU') in [ 'soft' ]: + return "--disable-some-floating-point" + return "" + diff --git a/poky/meta/recipes-graphics/cairo/cairo.inc b/poky/meta/recipes-graphics/cairo/cairo.inc new file mode 100644 index 000000000..20e0d2c92 --- /dev/null +++ b/poky/meta/recipes-graphics/cairo/cairo.inc @@ -0,0 +1,48 @@ +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 & GPLv3+" +LICENSE_${PN} = "MPL-1 & LGPLv2.1" +LICENSE_${PN}-dev = "MPL-1 & LGPLv2.1" +LICENSE_${PN}-doc = "MPL-1 & LGPLv2.1" +LICENSE_${PN}-gobject = "MPL-1 & LGPLv2.1" +LICENSE_${PN}-script-interpreter = "MPL-1 & LGPLv2.1" +LICENSE_${PN}-perf-utils = "GPLv3+" + +X11DEPENDS = "virtual/libx11 libsm libxrender libxext" +DEPENDS = "libpng fontconfig pixman glib-2.0 zlib" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)}" + +PACKAGECONFIG[x11] = "--with-x=yes -enable-xlib,--with-x=no --disable-xlib,${X11DEPENDS}" +PACKAGECONFIG[xcb] = "--enable-xcb,--disable-xcb,libxcb" +PACKAGECONFIG[directfb] = "--enable-directfb=yes,,directfb" +PACKAGECONFIG[valgrind] = "--enable-valgrind=yes,--disable-valgrind,valgrind" +PACKAGECONFIG[egl] = "--enable-egl=yes,--disable-egl,virtual/egl" +PACKAGECONFIG[glesv2] = "--enable-glesv2,--disable-glesv2,virtual/libgles2" +PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl" + +#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 upstream-version-is-even gtk-doc + +# We don't depend on binutils so we need to disable this +export ac_cv_lib_bfd_bfd_openr="no" +# Ensure we don't depend on LZO +export ac_cv_lib_lzo2_lzo2a_decompress="no" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/cairo/cairo/0001-cairo-Fix-CVE-2017-9814.patch b/poky/meta/recipes-graphics/cairo/cairo/0001-cairo-Fix-CVE-2017-9814.patch new file mode 100644 index 000000000..7d02ab947 --- /dev/null +++ b/poky/meta/recipes-graphics/cairo/cairo/0001-cairo-Fix-CVE-2017-9814.patch @@ -0,0 +1,45 @@ +From 042421e9e3d266ad0bb7805132041ef51ad3234d Mon Sep 17 00:00:00 2001 +From: Adrian Johnson <ajohnson@redneon.com> +Date: Wed, 16 Aug 2017 22:52:35 -0400 +Subject: [PATCH] cairo: Fix CVE-2017-9814 + +The bug happens because in some scenarios the variable size can +have a value of 0 at line 1288. And malloc(0) is not returning +NULL as some people could expect: + + https://stackoverflow.com/questions/1073157/zero-size-malloc + +malloc(0) returns the smallest chunk possible. So the line 1290 +with the return is not execute. And the execution continues with +an invalid map. + +Since the size is 0 the variable map is not initialized correctly +at load_trutype_table. So, later when the variable map is accessed +previous values from a freed chunk are used. This could allows an +attacker to control the variable map. + +This patch have not merge in upstream now. + +Upstream-Status: Backport [https://bugs.freedesktop.org/show_bug.cgi?id=101547] +CVE: CVE-2017-9814 +Signed-off-by: Dengke Du <dengke.du@windriver.com> +--- + src/cairo-truetype-subset.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/cairo-truetype-subset.c b/src/cairo-truetype-subset.c +index e3449a0..f77d11c 100644 +--- a/src/cairo-truetype-subset.c ++++ b/src/cairo-truetype-subset.c +@@ -1285,7 +1285,7 @@ _cairo_truetype_reverse_cmap (cairo_scaled_font_t *scaled_font, + return CAIRO_INT_STATUS_UNSUPPORTED; + + size = be16_to_cpu (map->length); +- map = malloc (size); ++ map = _cairo_malloc (size); + if (unlikely (map == NULL)) + return _cairo_error (CAIRO_STATUS_NO_MEMORY); + +-- +2.8.1 + diff --git a/poky/meta/recipes-graphics/cairo/cairo/cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff b/poky/meta/recipes-graphics/cairo/cairo/cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff new file mode 100644 index 000000000..7aaad2eed --- /dev/null +++ b/poky/meta/recipes-graphics/cairo/cairo/cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff @@ -0,0 +1,22 @@ +Cairo: Fix Denial-of-Service Attack due to Logical Problem in Program + +https://bugs.freedesktop.org/show_bug.cgi?id=100763 + +CVE: CVE-2017-7475 +Upstream-Status: Submitted + +Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com> + +Index: cairo-1.15.4/src/cairo-ft-font.c +=================================================================== +--- cairo-1.15.4.orig/src/cairo-ft-font.c ++++ cairo-1.15.4/src/cairo-ft-font.c +@@ -1149,7 +1149,7 @@ _get_bitmap_surface (FT_Bitmap *bi + width = bitmap->width; + height = bitmap->rows; + +- if (width == 0 || height == 0) { ++ if (width == 0 || height == 0 || bitmap->buffer == NULL) { + *surface = (cairo_image_surface_t *) + cairo_image_surface_create_for_data (NULL, format, 0, 0, 0); + return (*surface)->base.status; diff --git a/poky/meta/recipes-graphics/cairo/cairo_1.14.12.bb b/poky/meta/recipes-graphics/cairo/cairo_1.14.12.bb new file mode 100644 index 000000000..075ca1ed3 --- /dev/null +++ b/poky/meta/recipes-graphics/cairo/cairo_1.14.12.bb @@ -0,0 +1,46 @@ +require cairo.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77" + +SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \ + file://cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff \ + file://0001-cairo-Fix-CVE-2017-9814.patch \ + " + +SRC_URI[md5sum] = "9f0db9dbfca0966be8acd682e636d165" +SRC_URI[sha256sum] = "8c90f00c500b2299c0a323dd9beead2a00353752b2092ead558139bd67f7bf16" + +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/*.so" +FILES_${PN}-gobject = "${libdir}/libcairo-gobject.so.*" +FILES_${PN}-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*" +FILES_${PN}-perf-utils = "${bindir}/cairo-trace ${libdir}/cairo/*.la ${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/poky/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb b/poky/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb new file mode 100644 index 000000000..c71ab1165 --- /dev/null +++ b/poky/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb @@ -0,0 +1,25 @@ +SUMMARY = "Cantarell, a Humanist sans-serif font family" + +DESCRIPTION = "The Cantarell font typeface is designed as a \ + contemporary Humanist sans serif, and was developed for \ + on-screen reading; in particular, reading web pages on an \ + HTC Dream mobile phone." + +HOMEPAGE = "https://git.gnome.org/browse/cantarell-fonts/" +SECTION = "fonts" +LICENSE = "OFL-1.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=df91e3ffcab8cfb972a66bf11255188d" + +PV = "0.0.24" + +SRCREV = "07b6ea2cbbebfc360aa4668612a376be5e214eaa" +SRC_URI = "git://git.gnome.org/cantarell-fonts;protocol=git;branch=master" +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!0\.13)(?!0\.10\.1)\d+\.\d+(\.\d+)+)" + +S = "${WORKDIR}/git" + +inherit autotools allarch fontcache pkgconfig + +PACKAGECONFIG ??= "" +PACKAGECONFIG[fontforge] = "--enable-source-rebuild=yes,--enable-source-rebuild=no,fontforge-native" +FILES_${PN} = "${datadir}/fonts ${datadir}/fontconfig" diff --git a/poky/meta/recipes-graphics/clutter/clutter-1.0.inc b/poky/meta/recipes-graphics/clutter/clutter-1.0.inc new file mode 100644 index 000000000..6dbbf4d80 --- /dev/null +++ b/poky/meta/recipes-graphics/clutter/clutter-1.0.inc @@ -0,0 +1,46 @@ +SUMMARY = "Graphics library for creating hardware-accelerated user interfaces" +HOMEPAGE = "http://www.clutter-project.org/" +LICENSE = "LGPLv2.1+" + +inherit clutter ptest-gnome distro_features_check upstream-version-is-even gobject-introspection +# depends on cogl-1.0 which needs opengl +REQUIRED_DISTRO_FEATURES ?= "opengl" + +DEPENDS = "pango glib-2.0 json-glib atk udev cogl-1.0" +PACKAGE_BEFORE_PN += "${PN}-examples" +AUTOTOOLS_AUXDIR = "${S}/build" + +EDEPENDS_X11 = "virtual/libx11 libxi libxfixes" +EDEPENDS_GLX = "virtual/libgl" +EDEPENDS_EGL = "virtual/egl" +EDEPENDS_WAYLAND = "wayland libxkbcommon gdk-pixbuf" + +EDEPENDS_EVDEV = "libxkbcommon" +ERDEPENDS_EVDEV = "xkeyboard-config" + +# Disable pretty much everything, override in platform specific set up +EXTRA_OECONF += "--disable-quartz-backend \ + --disable-win32-backend \ + --disable-gdk-backend \ + --disable-cex100-backend \ + --disable-tslib-input \ + " + +PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,${EDEPENDS_X11}" +PACKAGECONFIG[glx] = ",,${EDEPENDS_X11} ${EDEPENDS_GLX}" +PACKAGECONFIG[egl] = "--enable-egl-backend,--disable-egl-backend,${EDEPENDS_EGL}" +PACKAGECONFIG[evdev] = "--enable-evdev-input,--disable-evdev-input,${EDEPENDS_EVDEV},${ERDEPENDS_EVDEV}" +PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,${EDEPENDS_WAYLAND}" +PACKAGECONFIG[wayland-compositor] = "--enable-wayland-compositor,--disable-wayland-compositor,wayland" + +# Default configuration, distros might want to override +PACKAGECONFIG ??= "egl \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11', '', d)}" + +FILES_${PN}-examples = "${libdir}/clutter/examples" + +do_configure_prepend() { + # see https://bugzilla.gnome.org/show_bug.cgi?id=661128 for this + touch -t 200001010000 ${S}/po/clutter-1.0.pot +} diff --git a/poky/meta/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch b/poky/meta/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch new file mode 100644 index 000000000..7b3c1980b --- /dev/null +++ b/poky/meta/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch @@ -0,0 +1,143 @@ +From 3a0404dfbc65c6a864e01d1200a48074e19d5def Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Fri, 2 Sep 2016 14:28:38 +0300 +Subject: [PATCH] Remove clutter.types as it is build configuration-specific. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + doc/reference/clutter.types | 122 -------------------------------------------- + 1 file changed, 122 deletions(-) + delete mode 100644 doc/reference/clutter.types + +diff --git a/doc/reference/clutter.types b/doc/reference/clutter.types +deleted file mode 100644 +index 0037acc..0000000 +--- a/doc/reference/clutter.types ++++ /dev/null +@@ -1,122 +0,0 @@ +-cally_actor_get_type +-cally_clone_get_type +-cally_group_get_type +-cally_rectangle_get_type +-cally_root_get_type +-cally_stage_get_type +-cally_text_get_type +-cally_texture_get_type +-cally_util_get_type +-clutter_action_get_type +-clutter_actor_box_get_type +-clutter_actor_get_type +-clutter_actor_meta_get_type +-clutter_align_constraint_get_type +-clutter_alpha_get_type +-clutter_animatable_get_type +-clutter_animation_get_type +-clutter_animator_get_type +-clutter_animator_key_get_type +-clutter_backend_get_type +-clutter_behaviour_depth_get_type +-clutter_behaviour_ellipse_get_type +-clutter_behaviour_get_type +-clutter_behaviour_opacity_get_type +-clutter_behaviour_path_get_type +-clutter_behaviour_rotate_get_type +-clutter_behaviour_scale_get_type +-clutter_bin_layout_get_type +-clutter_bind_constraint_get_type +-clutter_binding_pool_get_type +-clutter_blur_effect_get_type +-clutter_box_get_type +-clutter_box_layout_get_type +-clutter_brightness_contrast_effect_get_type +-clutter_cairo_texture_get_type +-clutter_canvas_get_type +-clutter_child_meta_get_type +-clutter_click_action_get_type +-clutter_clip_node_get_type +-clutter_clone_get_type +-clutter_color_get_type +-clutter_color_node_get_type +-clutter_colorize_effect_get_type +-clutter_constraint_get_type +-clutter_container_get_type +-clutter_content_get_type +-clutter_deform_effect_get_type +-clutter_desaturate_effect_get_type +-clutter_device_manager_get_type +-clutter_drag_action_get_type +-clutter_drop_action_get_type +-clutter_effect_get_type +-clutter_event_get_type +-clutter_event_sequence_get_type +-clutter_fixed_layout_get_type +-clutter_flow_layout_get_type +-clutter_fog_get_type +-clutter_geometry_get_type +-clutter_gesture_action_get_type +-clutter_glx_texture_pixmap_get_type +-clutter_grid_layout_get_type +-clutter_group_get_type +-clutter_image_get_type +-clutter_input_device_get_type +-clutter_interval_get_type +-clutter_keyframe_transition_get_type +-clutter_knot_get_type +-clutter_layout_manager_get_type +-clutter_layout_meta_get_type +-clutter_list_model_get_type +-clutter_margin_get_type +-clutter_media_get_type +-clutter_model_get_type +-clutter_model_iter_get_type +-clutter_offscreen_effect_get_type +-clutter_page_turn_effect_get_type +-clutter_paint_node_get_type +-clutter_paint_volume_get_type +-clutter_pan_action_get_type +-clutter_param_color_get_type +-clutter_param_fixed_get_type +-clutter_param_units_get_type +-clutter_path_constraint_get_type +-clutter_path_get_type +-clutter_path_node_get_type +-clutter_perspective_get_type +-clutter_pipeline_node_get_type +-clutter_point_get_type +-clutter_property_transition_get_type +-clutter_rect_get_type +-clutter_rectangle_get_type +-clutter_rotate_action_get_type +-clutter_score_get_type +-clutter_script_get_type +-clutter_scriptable_get_type +-clutter_scroll_actor_get_type +-clutter_settings_get_type +-clutter_shader_effect_get_type +-clutter_shader_float_get_type +-clutter_shader_get_type +-clutter_shader_int_get_type +-clutter_shader_matrix_get_type +-clutter_size_get_type +-clutter_snap_constraint_get_type +-clutter_stage_get_type +-clutter_stage_manager_get_type +-clutter_state_get_type +-clutter_state_key_get_type +-clutter_swipe_action_get_type +-clutter_table_layout_get_type +-clutter_tap_action_get_type +-clutter_text_buffer_get_type +-clutter_text_get_type +-clutter_text_node_get_type +-clutter_texture_get_type +-clutter_texture_node_get_type +-clutter_timeline_get_type +-clutter_transition_get_type +-clutter_transition_group_get_type +-clutter_units_get_type +-clutter_vertex_get_type +-clutter_zoom_action_get_type +-- +2.9.3 + diff --git a/poky/meta/recipes-graphics/clutter/clutter-1.0/install-examples.patch b/poky/meta/recipes-graphics/clutter/clutter-1.0/install-examples.patch new file mode 100644 index 000000000..ce9ab3a24 --- /dev/null +++ b/poky/meta/recipes-graphics/clutter/clutter-1.0/install-examples.patch @@ -0,0 +1,19 @@ +Install the examples to $libdir/clutter/. + +Signed-off-by: Ross Burton <ross.burton@intel.com> +Upstream-Status: Inappropriate + +Index: clutter-1.26.2/examples/Makefile.am +=================================================================== +--- clutter-1.26.2.orig/examples/Makefile.am ++++ clutter-1.26.2/examples/Makefile.am +@@ -33,7 +33,8 @@ AM_CPPFLAGS = \ + -I$(top_srcdir)/clutter \ + -I$(top_builddir)/clutter + +-noinst_PROGRAMS = $(all_examples) ++exampledir = $(pkglibdir)/examples ++example_PROGRAMS = $(all_examples) + + EXTRA_DIST = redhand.png + diff --git a/poky/meta/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch b/poky/meta/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch new file mode 100644 index 000000000..f5c18c582 --- /dev/null +++ b/poky/meta/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch @@ -0,0 +1,32 @@ +From 668e1d14af13249384ab324c7d79ec4147f07e48 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Mon, 27 Apr 2015 20:12:33 +0300 +Subject: [PATCH] Run installed tests with tap output + +Configure output from installed-tests to be TAP compliant such that +gnome-desktop-testing-runner properly interprets the results. + +Upstream-Status: Pending + +Signed-off-by: Tim Orling <TicoTimo@gmail.com> +--- + build/autotools/glib-tap.mk | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/build/autotools/glib-tap.mk b/build/autotools/glib-tap.mk +index 7c5f82b..844e17e 100644 +--- a/build/autotools/glib-tap.mk ++++ b/build/autotools/glib-tap.mk +@@ -127,7 +127,8 @@ installed_test_meta_DATA = $(installed_testcases:=.test) + %.test: %$(EXEEXT) Makefile + $(AM_V_GEN) (echo '[Test]' > $@.tmp; \ + echo 'Type=session' >> $@.tmp; \ +- echo 'Exec=env G_ENABLE_DIAGNOSTIC=0 CLUTTER_ENABLE_DIAGNOSTIC=0 $(installed_testdir)/$<' >> $@.tmp; \ ++ echo 'Exec=env G_ENABLE_DIAGNOSTIC=0 CLUTTER_ENABLE_DIAGNOSTIC=0 $(installed_testdir)/$< --tap' >> $@.tmp; \ ++ echo 'Output=TAP' >> $@.tmp; \ + mv $@.tmp $@) + + CLEANFILES += $(installed_test_meta_DATA) +-- +2.1.4 + diff --git a/poky/meta/recipes-graphics/clutter/clutter-1.0/run-ptest b/poky/meta/recipes-graphics/clutter/clutter-1.0/run-ptest new file mode 100644 index 000000000..98877e522 --- /dev/null +++ b/poky/meta/recipes-graphics/clutter/clutter-1.0/run-ptest @@ -0,0 +1,3 @@ +#! /bin/sh + +gnome-desktop-testing-runner clutter diff --git a/poky/meta/recipes-graphics/clutter/clutter-1.0_1.26.2.bb b/poky/meta/recipes-graphics/clutter/clutter-1.0_1.26.2.bb new file mode 100644 index 000000000..48b050198 --- /dev/null +++ b/poky/meta/recipes-graphics/clutter/clutter-1.0_1.26.2.bb @@ -0,0 +1,10 @@ +require clutter-1.0.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI[archive.md5sum] = "a03482cbacf735eca8c996f210a21ee5" +SRC_URI[archive.sha256sum] = "e7233314983055e9018f94f56882e29e7fc34d8d35de030789fdcd9b2d0e2e56" +SRC_URI += "file://install-examples.patch \ + file://run-installed-tests-with-tap-output.patch \ + file://0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch \ + file://run-ptest" diff --git a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc new file mode 100644 index 000000000..4c877982b --- /dev/null +++ b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc @@ -0,0 +1,17 @@ +SUMMARY = "GStreamer integration library for Clutter" +HOMEPAGE = "http://www.clutter-project.org/" +LICENSE = "LGPLv2+" + +inherit clutter distro_features_check upstream-version-is-even gobject-introspection +# depends on clutter-1.0 which depends on cogl-1.0 +REQUIRED_DISTRO_FEATURES ?= "opengl" + +SRC_URI += "file://0001-Install-example-binary-needed-for-core-image-clutter.patch" + +DEPENDS = "gstreamer1.0-plugins-base gstreamer1.0-plugins-bad clutter-1.0 libgudev" +RDEPENDS_${PN} += "gstreamer1.0-meta-base" +PACKAGES =+ "${PN}-examples" + +FILES_${PN} += "${libdir}/gstreamer-1.0/lib*.so" +FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la" +FILES_${PN}-examples = "${bindir}/video-player ${bindir}/video-sink" diff --git a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch new file mode 100644 index 000000000..0b26b990d --- /dev/null +++ b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch @@ -0,0 +1,33 @@ +From d77c711277bf075ce0545c19b322f040c49c778a Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Thu, 30 Apr 2015 12:19:13 +0300 +Subject: [PATCH] Install example binary needed for core-image-clutter + +Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> + +Upstream-Status: Inappropriate [configuration] + +Imported from clutter-gst-1.8 package, git://git.openembedded.org/openembedded, +commit ae28ee3f7a060b9e0d13154a84f2444a98490b5b, updated for clutter-gst 3.0 + +Signed-off-by: Tomas Frydrych <tomas@sleepfive.com> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + examples/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/examples/Makefile.am b/examples/Makefile.am +index bfbc1b5..09655e3 100644 +--- a/examples/Makefile.am ++++ b/examples/Makefile.am +@@ -1,6 +1,6 @@ + NULL = # + +-noinst_PROGRAMS = camera-player video-player video-sink video-sink-navigation video-content ++bin_PROGRAMS = camera-player video-player video-sink video-sink-navigation video-content + + AM_CPPFLAGS = -I$(top_srcdir) \ + $(MAINTAINER_CFLAGS) \ +-- +2.1.4 + diff --git a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.24.bb b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.24.bb new file mode 100644 index 000000000..ca5e0ae41 --- /dev/null +++ b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.24.bb @@ -0,0 +1,7 @@ +require clutter-gst-3.0.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ + file://clutter-gst/clutter-gst.h;beginline=1;endline=24;md5=95baacba194e814c110ea3bdf25ddbf4" + +SRC_URI[archive.md5sum] = "3e145e24bb3c340eeeddafd18efe547d" +SRC_URI[archive.sha256sum] = "e9f1c87d8f4c47062e952fb8008704f8942cf2d6f290688f3f7d13e83578cc6c" diff --git a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc new file mode 100644 index 000000000..05c4e5f5c --- /dev/null +++ b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc @@ -0,0 +1,15 @@ +SUMMARY = "Library for embedding a Clutter canvas in a GTK+ application" +HOMEPAGE = "http://www.clutter-project.org/" +LICENSE = "LGPLv2+" + +inherit clutter distro_features_check upstream-version-is-even gobject-introspection +# depends on clutter-1.0 which depends on cogl-1.0 +REQUIRED_DISTRO_FEATURES ?= "opengl" +# depends on gtk+3 +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +DEPENDS = "clutter-1.0 gtk+3" +PACKAGES =+ "${PN}-examples" +AUTOTOOLS_AUXDIR = "${S}/build" + + diff --git a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb new file mode 100644 index 000000000..f0300c716 --- /dev/null +++ b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb @@ -0,0 +1,6 @@ +require clutter-gtk-1.0.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" + +SRC_URI[archive.md5sum] = "b363ac9878e2337be887b8ee9e1da00e" +SRC_URI[archive.sha256sum] = "521493ec038973c77edcb8bc5eac23eed41645117894aaee7300b2487cb42b06" diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0.inc b/poky/meta/recipes-graphics/cogl/cogl-1.0.inc new file mode 100644 index 000000000..7a79aa789 --- /dev/null +++ b/poky/meta/recipes-graphics/cogl/cogl-1.0.inc @@ -0,0 +1,77 @@ +SUMMARY = "Modern 3D graphics API with associated utility APIs" +HOMEPAGE = "http://wiki.clutter-project.org/wiki/Cogl" +LICENSE = "MIT" + +inherit clutter distro_features_check upstream-version-is-even gobject-introspection +# cogl-1.0 needs opengl to build +REQUIRED_DISTRO_FEATURES ?= "opengl" + +DEPENDS = "glib-2.0 gdk-pixbuf" +PACKAGES =+ "${PN}-examples \ + libcogl libcogl-gles2 libcogl-pango libcogl-path \ + " +AUTOTOOLS_AUXDIR = "${S}/build" + +# Extra DEPENDS for PACKAGECONFIG +EDEPENDS_GL = "virtual/libgl libdrm" +EDEPENDS_GLES2 = "virtual/libgles2" +EDEPENDS_KMS = "libdrm virtual/egl" +EDEPENDS_EGL = "virtual/egl" +EDEPENDS_X11 = "virtual/libx11 libxcomposite libxfixes libxi libxrandr" +EDEPENDS_WAYLAND = "virtual/mesa wayland" + +# Extra RDEPENDS for PACKAGECONFIG +# This has to be explictly listed, because cogl dlopens the backends +ERDEPENDS_GL = "libgl" +ERDEPENDS_GLES2 = "libgles2" + +# GLESv1 is rarely tested, so disable it +EXTRA_OECONF += "--enable-examples-install \ + --enable-debug \ + --disable-gles1 \ + --disable-cairo \ + " + +# OpenGL/GLX +PACKAGECONFIG[glx] = "--enable-gl --enable-glx,--disable-gl --disable-glx,${EDEPENDS_GL} ${EDEPENDS_X11},${ERDEPENDS_GL}" + +# GLESv2 +PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,${EDEPENDS_GLES2}, ${ERDEPENDS_GLES2}" + +# EGL backends +PACKAGECONFIG[egl-kms] = "--enable-kms-egl-platform,--disable-kms-egl-platform,${EDEPENDS_KMS}" +PACKAGECONFIG[egl-null] = "--enable-null-egl-platform,--disable-null-egl-platform" +PACKAGECONFIG[egl-x11] = "--enable-xlib-egl-platform,--disable-xlib-egl-platform,${EDEPENDS_X11} ${EDEPENDS_EGL}" +PACKAGECONFIG[egl-wayland] = "--enable-wayland-egl-platform,--disable-wayland-egl-platform,${EDEPENDS_WAYLAND}" + +# Wayland (server-side) +PACKAGECONFIG[wayland-server] = "--enable-wayland-egl-server,--disable-wayland-egl-server,${EDEPENDS_WAYLAND}" + +# Support rendering text directly with Pango +PACKAGECONFIG[cogl-pango] = "--enable-cogl-pango,--disable-cogl-pango,pango" + +# Respect the DISTRO_FEATURES to pull in GLX or Wayland as appropriate by +# default. +PACKAGECONFIG ??= "cogl-pango gles2 \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'egl-wayland', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx egl-x11', '', d)} \ + " + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/cogl/.libs" +} + +FILES_${PN} = "" +FILES_${PN}-examples = "${bindir}/* ${datadir}/cogl/examples-data/*" +FILES_libcogl = "${libdir}/libcogl${SOLIBS} ${libdir}/girepository-1.0/Cogl-*.typelib" +FILES_libcogl-gles2 = "${libdir}/libcogl-gles2${SOLIBS}" +FILES_libcogl-pango = "${libdir}/libcogl-pango${SOLIBS} ${libdir}/girepository-1.0/CoglPango*.typelib" + +FILES_libcogl-path = "${libdir}/libcogl-path${SOLIBS}" + +# For backwards compatibility after Debian-renaming +RPROVIDES_libcogl = "cogl-1.0" +RCONFLICTS_libcogl = "cogl-1.0" +RREPLACES_libcogl = "cogl-1.0" + +COMPATIBLE_HOST_armv4 = 'null' diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-Fix-an-incorrect-preprocessor-conditional.patch b/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-Fix-an-incorrect-preprocessor-conditional.patch new file mode 100644 index 000000000..2a9d8f829 --- /dev/null +++ b/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-Fix-an-incorrect-preprocessor-conditional.patch @@ -0,0 +1,32 @@ +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +Upstream-Status: Backport + + +Original upstream commit follows: + +From b583e21d8698dbd58013320cfb47739102efdea7 Mon Sep 17 00:00:00 2001 +From: Kalev Lember <klember@redhat.com> +Date: Wed, 19 Oct 2016 23:38:28 +0200 +Subject: [PATCH] Fix an incorrect preprocessor conditional + +This fixes the build with wayland wayland egl server support disabled. +--- + cogl/winsys/cogl-winsys-egl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cogl/winsys/cogl-winsys-egl.c b/cogl/winsys/cogl-winsys-egl.c +index 39bfd884..4a9f3aa6 100644 +--- a/cogl/winsys/cogl-winsys-egl.c ++++ b/cogl/winsys/cogl-winsys-egl.c +@@ -1029,7 +1029,7 @@ _cogl_egl_create_image (CoglContext *ctx, + egl_ctx = EGL_NO_CONTEXT; + else + #endif +-#if COGL_HAS_WAYLAND_EGL_SERVER_SUPPORT ++#ifdef COGL_HAS_WAYLAND_EGL_SERVER_SUPPORT + /* The WL_bind_wayland_display spec states that EGL_NO_CONTEXT is to be used + * in conjunction with the EGL_WAYLAND_BUFFER_WL target */ + if (target == EGL_WAYLAND_BUFFER_WL) +-- +2.11.0 + diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0/test-backface-culling.c-fix-may-be-used-uninitialize.patch b/poky/meta/recipes-graphics/cogl/cogl-1.0/test-backface-culling.c-fix-may-be-used-uninitialize.patch new file mode 100644 index 000000000..479a0ff4b --- /dev/null +++ b/poky/meta/recipes-graphics/cogl/cogl-1.0/test-backface-culling.c-fix-may-be-used-uninitialize.patch @@ -0,0 +1,35 @@ +From a51f61d675a0e7d6649182c6a1325ceab8342df2 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Mon, 4 Jan 2016 22:47:29 -0800 +Subject: [PATCH] test-backface-culling.c: fix may be used uninitialized error + +Fixed when gcc -O: +test-backface-culling.c:206:7: error: 'cull_front' may be used uninitialized in this function [-Werror=maybe-uninitialized] +| validate_part (framebuffer, +| ^ +| cc1: some warnings being treated as errors + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + tests/conform/test-backface-culling.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tests/conform/test-backface-culling.c b/tests/conform/test-backface-culling.c +index e90c2f5..7c45592 100644 +--- a/tests/conform/test-backface-culling.c ++++ b/tests/conform/test-backface-culling.c +@@ -164,7 +164,8 @@ validate_result (CoglFramebuffer *framebuffer, int y_offset) + + for (draw_num = 0; draw_num < 16; draw_num++) + { +- CoglBool cull_front, cull_back; ++ CoglBool cull_front = FALSE; ++ CoglBool cull_back = FALSE; + CoglPipelineCullFaceMode cull_mode; + + if (USE_LEGACY_STATE (draw_num)) +-- +1.7.9.5 + diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.2.bb b/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.2.bb new file mode 100644 index 000000000..5901062a4 --- /dev/null +++ b/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.2.bb @@ -0,0 +1,8 @@ +require cogl-1.0.inc + +SRC_URI += "file://test-backface-culling.c-fix-may-be-used-uninitialize.patch \ + file://0001-Fix-an-incorrect-preprocessor-conditional.patch" +SRC_URI[archive.md5sum] = "d53b708ca7c4af03d7254e46945d6b33" +SRC_URI[archive.sha256sum] = "39a718cdb64ea45225a7e94f88dddec1869ab37a21b339ad058a9d898782c00d" + +LIC_FILES_CHKSUM = "file://COPYING;md5=1b1a508d91d25ca607c83f92f3e31c84" diff --git a/poky/meta/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch b/poky/meta/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch new file mode 100644 index 000000000..40bebc0f5 --- /dev/null +++ b/poky/meta/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch @@ -0,0 +1,53 @@ +From e6bd4205b0b546afe991ae6f72256645f4404ad4 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Mon, 5 Sep 2016 14:41:37 +0300 +Subject: [PATCH libdrm] configure.ac: Allow explicit enabling of cunit tests + +Add --with-cunit to make it easier to do reproducible builds. Default +is still to probe cunit and build opportunistically. + +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +Upstream-Status: Submitted [mailing list] +--- + configure.ac | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +Index: libdrm-2.4.91/configure.ac +=================================================================== +--- libdrm-2.4.91.orig/configure.ac ++++ libdrm-2.4.91/configure.ac +@@ -163,6 +163,12 @@ AC_ARG_ENABLE(install-test-programs, + [Install test programs (default: no)]), + [INSTALL_TESTS=$enableval], [INSTALL_TESTS=no]) + ++AC_ARG_WITH([cunit], ++ [AS_HELP_STRING([--with-cunit], ++ [Build tests that use cunit (default: auto)])], ++ [], ++ [with_cunit=auto]) ++ + dnl =========================================================================== + dnl check compiler flags + AC_DEFUN([LIBDRM_CC_TRY_FLAG], [ +@@ -411,7 +417,7 @@ else + AC_DEFINE(HAVE_RADEON, 0) + fi + +-if test "x$AMDGPU" != xno; then ++if test "x$with_cunit" != xno -a "x$AMDGPU" != xno; then + # Detect cunit library + PKG_CHECK_MODULES([CUNIT], [cunit >= 2.1], [have_cunit=yes], [have_cunit=no]) + # If pkg-config does not find cunit, check it using AC_CHECK_LIB. We +@@ -436,7 +442,11 @@ if test "x$AMDGPU" = xyes; then + AC_DEFINE(HAVE_AMDGPU, 1, [Have amdgpu support]) + + if test "x$have_cunit" = "xno"; then +- AC_MSG_WARN([Could not find cunit library. Disabling amdgpu tests]) ++ if test "x$with_cunit" = "xyes"; then ++ AC_MSG_ERROR([Could not find cunit library but --with-cunit was given]) ++ elif test "x$with_cunit" = "xauto"; then ++ AC_MSG_WARN([Could not find cunit library. Disabling amdgpu tests]) ++ fi + fi + else + AC_DEFINE(HAVE_AMDGPU, 0) diff --git a/poky/meta/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch b/poky/meta/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch new file mode 100644 index 000000000..4708bf1eb --- /dev/null +++ b/poky/meta/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch @@ -0,0 +1,24 @@ +drmdevice.c: define _GNU_SOURCE + +Include config.h to fix this build error with uclibc: + +libdrm-2.4.66/tests/drmdevice.c: In function 'main': +libdrm-2.4.66/tests/drmdevice.c:96:60: error: +'O_CLOEXEC' undeclared (first use in this function) +fd = open(devices[i]->nodes[j],O_RDONLY | O_CLOEXEC, 0); + +Upstream-Status: Pending + +Signed-off-by: Maxin B. John <maxin.john@intel.com> +--- +diff -Naur libdrm-2.4.66-orig/tests/drmdevice.c libdrm-2.4.66/tests/drmdevice.c +--- libdrm-2.4.66-orig/tests/drmdevice.c 2016-02-23 11:34:02.054904502 +0200 ++++ libdrm-2.4.66/tests/drmdevice.c 2016-02-23 11:35:34.371750383 +0200 +@@ -21,6 +21,7 @@ + * + */ + ++#include <config.h> + #include <errno.h> + #include <stdio.h> + #include <stdlib.h> diff --git a/poky/meta/recipes-graphics/drm/libdrm/installtests.patch b/poky/meta/recipes-graphics/drm/libdrm/installtests.patch new file mode 100644 index 000000000..ec1fb0236 --- /dev/null +++ b/poky/meta/recipes-graphics/drm/libdrm/installtests.patch @@ -0,0 +1,25 @@ +From 5c6eb43c2f6e7f2ee7c25c92e42f4e4403fa0527 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Tue, 21 Feb 2017 14:37:52 +0200 +Subject: [PATCH] tests: also install test apps + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Yu Ke <ke.yu@intel.com> +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + tests/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 0355a92..b4882cd 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -45,3 +45,4 @@ TESTS = \ + check_PROGRAMS = \ + $(TESTS) \ + drmdevice ++bin_PROGRAMS = $(check_PROGRAMS) +-- +2.1.4 + diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.91.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.91.bb new file mode 100644 index 000000000..c49028588 --- /dev/null +++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.91.bb @@ -0,0 +1,51 @@ +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" +LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71" +PROVIDES = "drm" +DEPENDS = "libpthread-stubs libpciaccess" + +SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.bz2 \ + file://installtests.patch \ + file://fix_O_CLOEXEC_undeclared.patch \ + file://0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch \ + " + +SRC_URI[md5sum] = "23d87cda92700b710a37d9b8edaa9f54" +SRC_URI[sha256sum] = "634a0ed0cc1eff06f48674b1da81aafa661a9f001e7a4f43dde81076886dc800" + +inherit autotools pkgconfig manpages + +EXTRA_OECONF += "--disable-cairo-tests \ + --without-cunit \ + --enable-omap-experimental-api \ + --enable-etnaviv-experimental-api \ + --enable-install-test-programs \ + --disable-valgrind \ + " +PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native" + +ALLOW_EMPTY_${PN}-drivers = "1" +PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \ + ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \ + ${PN}-etnaviv" + +RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \ + ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \ + ${PN}-etnaviv" + +FILES_${PN}-tests = "${bindir}/*" +FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*" +FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*" +FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*" +FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*" +FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*" +FILES_${PN}-kms = "${libdir}/libkms*.so.*" +FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*" +FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.*" +FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*" diff --git a/poky/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.0.bb b/poky/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.0.bb new file mode 100644 index 000000000..cccdd2073 --- /dev/null +++ b/poky/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.0.bb @@ -0,0 +1,7 @@ +EGLINFO_PLATFORM ?= "fb" +EGLINFO_BINARY_NAME ?= "eglinfo-fb" + +require eglinfo.inc + +SUMMARY += "(Framebuffer version)" +CXXFLAGS += "-DMESA_EGL_NO_X11_HEADERS=1" diff --git a/poky/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.0.bb b/poky/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.0.bb new file mode 100644 index 000000000..48ab8805d --- /dev/null +++ b/poky/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.0.bb @@ -0,0 +1,13 @@ +EGLINFO_PLATFORM ?= "x11" +EGLINFO_BINARY_NAME ?= "eglinfo-x11" + +require eglinfo.inc + +DEPENDS += "virtual/libx11" + +inherit distro_features_check + +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES += "x11" + +SUMMARY += "(X11 version)" diff --git a/poky/meta/recipes-graphics/eglinfo/eglinfo.inc b/poky/meta/recipes-graphics/eglinfo/eglinfo.inc new file mode 100644 index 000000000..8e7d9bddd --- /dev/null +++ b/poky/meta/recipes-graphics/eglinfo/eglinfo.inc @@ -0,0 +1,33 @@ +SUMMARY = "Utility for printing information EGL and its client APIs (OpenGL, OpenGL ES, OpenVG)" +SECTION = "graphics" +LICENSE = "Zlib" +HOMEPAGE = "https://github.com/dv1/eglinfo" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8d4f33bc3add976f7dfae85dab66f03c" + +DEPENDS = "virtual/egl" + +SRC_URI = "git://github.com/dv1/eglinfo.git;branch=master \ + file://0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch \ + " +SRCREV = "4b317648ec6cf39556a9e5d8078f605bc0edd5de" + +CVE_PRODUCT = "eglinfo" + +S = "${WORKDIR}/git" + +inherit waf distro_features_check +# depends on virtual/egl +REQUIRED_DISTRO_FEATURES ?= "opengl" + +# BSP layers should add .bbappend files for the -x11 and -fb .bb recipes, which +# append the respective EGL/OpenGLES/OpenVG libraries to DEPENDS and set +# EGL_DEVICE as appropriate. +EGLINFO_DEVICE ?= "generic" + +EXTRA_OECONF = "--platform=${EGLINFO_PLATFORM} \ + --device=${EGLINFO_DEVICE} \ + --sysroot ${STAGING_DIR_TARGET}" + +do_install_append() { + mv ${D}/${bindir}/eglinfo ${D}/${bindir}/${EGLINFO_BINARY_NAME} +} diff --git a/poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch b/poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch new file mode 100644 index 000000000..ca9f55c18 --- /dev/null +++ b/poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch @@ -0,0 +1,34 @@ +From 94b1e6daf7d70550b0e32fbb269fcf6887948d3f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 13 Jan 2016 16:08:22 -0800 +Subject: [PATCH] Add STAGING_INCDIR to searchpath for egl headers + +bcm_host.h is in standard includedir in sysroot +add that to header search paths. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Submitted + + wscript | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/wscript b/wscript +index fcbb55b..cece8bf 100644 +--- a/wscript ++++ b/wscript +@@ -163,9 +163,10 @@ def configure_raspberrypi_device(conf, platform): + conf.check_cxx(mandatory = 1, lib = ['GLESv2', 'EGL', 'bcm_host'], uselib_store = 'EGL') + import os + sysroot = conf.options.sysroot + conf.options.prefix ++ std_include_path = os.path.join(sysroot, 'include') + vcos_pthread_path = os.path.join(sysroot, 'include/interface/vcos/pthreads') + vcms_host_path = os.path.join(sysroot, 'include/interface/vmcs_host/linux') +- if not conf.check_cxx(mandatory = 0, header_name = ['vcos_platform_types.h', 'EGL/egl.h', 'bcm_host.h'], includes = [vcos_pthread_path, vcms_host_path], uselib_store = 'EGL'): ++ if not conf.check_cxx(mandatory = 0, header_name = ['vcos_platform_types.h', 'EGL/egl.h', 'bcm_host.h'], includes = [vcos_pthread_path, vcms_host_path, std_include_path], uselib_store = 'EGL'): + conf.fatal('Check if --prefix and --sysroot are set correctly.') + conf.env['WITH_APIS'] = [] + if check_gles2(conf): +-- +2.7.0 + diff --git a/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fcxml.c-avoid-double-free-of-filename.patch b/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fcxml.c-avoid-double-free-of-filename.patch new file mode 100644 index 000000000..3ca9fde96 --- /dev/null +++ b/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fcxml.c-avoid-double-free-of-filename.patch @@ -0,0 +1,28 @@ +From a163c81ac430cdc292add200f3e6a0c048be4d7e Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Wed, 11 Oct 2017 17:40:09 +0300 +Subject: [PATCH] src/fcxml.c: avoid double free() of filename + +It's also freed after bail1, so no need to do it here. + +Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=103221] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + src/fcxml.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/fcxml.c b/src/fcxml.c +index 19ce96a..edb6054 100644 +--- a/src/fcxml.c ++++ b/src/fcxml.c +@@ -3398,7 +3398,6 @@ FcConfigParseAndLoad (FcConfig *config, + + fd = FcOpen ((char *) filename, O_RDONLY); + if (fd == -1) { +- FcStrFree (filename); + goto bail1; + } + +-- +2.14.1 + diff --git a/poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch b/poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch new file mode 100644 index 000000000..fca1e6594 --- /dev/null +++ b/poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch @@ -0,0 +1,20 @@ +Revert part of http://cgit.freedesktop.org/fontconfig/commit/fontconfig.pc.in?id=338ffe6b886ad4ba86ff471cb59c4a5e5ffbe408 +We really dont do static linking so its not going to cause issues for us but as such this is harming us by adding absolute +paths into -I options into fontconfig.pc which is them prepended with sysroot when read back by cross pkg-config and +we end up with -I <sysroot>/<sysroot>/usr/include/fontconfig in CFLAGS of clients which depend on it. one such example +is matchbox-panel-2 and it was working fine with gcc < 5 because it tolerated non-existing paths in -I flags but gcc-5 +gently refuses and rightly so. + +Upstream-Status: Inappropriate [OE-Specific] +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Index: fontconfig-2.11.93/fontconfig.pc.in +=================================================================== +--- fontconfig-2.11.93.orig/fontconfig.pc.in ++++ fontconfig-2.11.93/fontconfig.pc.in +@@ -15,4 +15,4 @@ Requires: @PKGCONFIG_REQUIRES@ + Requires.private: @PKGCONFIG_REQUIRES_PRIVATELY@ + Libs: -L${libdir} -lfontconfig + Libs.private: @EXPAT_LIBS@ @FREETYPE_LIBS@ @ICONV_LIBS@ @LIBXML2_LIBS@ +-Cflags: -I${includedir} @EXPAT_CFLAGS@ @FREETYPE_CFLAGS@ @ICONV_CFLAGS@ @LIBXML2_CFLAGS@ ++Cflags: -I${includedir} diff --git a/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb b/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb new file mode 100644 index 000000000..d4cbce80b --- /dev/null +++ b/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb @@ -0,0 +1,58 @@ +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=7a0449e9bc5370402a94c00204beca3d \ + file://src/fcfreetype.c;endline=45;md5=5d9513e3196a1fbfdfa94051c09dfc84 \ + file://src/fccache.c;beginline=1367;endline=1382;md5=0326cfeb4a7333dd4dd25fbbc4b9f27f" + +SECTION = "libs" + +DEPENDS = "expat freetype zlib gperf-native" + +SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \ + file://revert-static-pkgconfig.patch \ + file://0001-src-fcxml.c-avoid-double-free-of-filename.patch \ + " + +SRC_URI[md5sum] = "00e748c67fad11e7057a71ed385e8bdb" +SRC_URI[sha256sum] = "064b9ebf060c9e77011733ac9dc0e2ce92870b574cca2405e11f5353a683c334" + +UPSTREAM_CHECK_REGEX = "fontconfig-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" + +do_configure_prepend() { + # work around https://bugs.freedesktop.org/show_bug.cgi?id=101280 + rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf +} + +PACKAGES =+ "fontconfig-utils" +FILES_${PN} =+ "${datadir}/xml/*" +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" + +inherit autotools pkgconfig relative_symlinks + +FONTCONFIG_CACHE_DIR ?= "${localstatedir}/cache/fontconfig" + +# comma separated list of additional directories +# /usr/share/fonts is already included by default (you can change it with --with-default-fonts) +FONTCONFIG_FONT_DIRS ?= "no" + +EXTRA_OECONF = " --disable-docs --with-default-fonts=${datadir}/fonts --with-cache-dir=${FONTCONFIG_CACHE_DIR} --with-add-fonts=${FONTCONFIG_FONT_DIRS}" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/freetype/freetype/use-right-libtool.patch b/poky/meta/recipes-graphics/freetype/freetype/use-right-libtool.patch new file mode 100644 index 000000000..20838813d --- /dev/null +++ b/poky/meta/recipes-graphics/freetype/freetype/use-right-libtool.patch @@ -0,0 +1,14 @@ +Freetype think that it knows best about where libtool is, and explicitly the +libtool autoconf macros telling it where to find the libtool script. Of course +we prefix the script with the target triplet, so it's wrong. Fix this by +removing the forced assignment, so the configure script's knowledge of where it +put libtool is used. + +Upstream-Status: Pending +Signed-off-by: Ross Burton <ross.burton@intel.com> + +--- freetype-2.6/builds/unix/unix-cc.in.orig 2016-01-07 19:21:45.244943479 +0000 ++++ freetype-2.6/builds/unix/unix-cc.in 2016-01-07 19:21:50.213112131 +0000 +@@ -19,1 +18,1 @@ +-LIBTOOL := $(FT_LIBTOOL_DIR)/libtool ++LIBTOOL := $(FT_LIBTOOL_DIR)/@LIBTOOL@ diff --git a/poky/meta/recipes-graphics/freetype/freetype_2.9.bb b/poky/meta/recipes-graphics/freetype/freetype_2.9.bb new file mode 100644 index 000000000..da05916b3 --- /dev/null +++ b/poky/meta/recipes-graphics/freetype/freetype_2.9.bb @@ -0,0 +1,49 @@ +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" +SECTION = "libs" + +LICENSE = "FreeType | GPLv2+" +LIC_FILES_CHKSUM = "file://docs/LICENSE.TXT;md5=4af6221506f202774ef74f64932878a1 \ + file://docs/FTL.TXT;md5=9f37b4e6afa3fef9dba8932b16bd3f97 \ + file://docs/GPLv2.TXT;md5=8ef380476f642c20ebf40fecb0add2ec" + +SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \ + file://use-right-libtool.patch" + +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/freetype/files/freetype2/" +UPSTREAM_CHECK_REGEX = "freetype-(?P<pver>\d+(\.\d+)+)" + +SRC_URI[md5sum] = "513c403c110016fdc7e537216a642b1d" +SRC_URI[sha256sum] = "e6ffba3c8cef93f557d1f767d7bc3dee860ac7a3aaff588a521e081bc36f4c8a" + +inherit autotools pkgconfig binconfig-disabled multilib_header + +# Adapt autotools to work with the minimal autoconf usage in freetype +AUTOTOOLS_SCRIPT_PATH = "${S}/builds/unix" +CONFIGURE_SCRIPT = "${S}/configure" +EXTRA_AUTORECONF += "--exclude=autoheader --exclude=automake" + +PACKAGECONFIG ??= "zlib" + +PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2" +# harfbuzz results in a circular dependency so enabling is non-trivial +PACKAGECONFIG[harfbuzz] = "--with-harfbuzz,--without-harfbuzz,harfbuzz" +PACKAGECONFIG[pixmap] = "--with-png,--without-png,libpng" +PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib" + +EXTRA_OECONF = "CC_BUILD='${BUILD_CC}'" + +TARGET_CPPFLAGS += "-D_FILE_OFFSET_BITS=64" + +do_install_append() { + oe_multilib_header freetype2/freetype/config/ftconfig.h +} + +BINCONFIG = "${bindir}/freetype-config" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/fstests/fstests_git.bb b/poky/meta/recipes-graphics/fstests/fstests_git.bb new file mode 100644 index 000000000..69f217830 --- /dev/null +++ b/poky/meta/recipes-graphics/fstests/fstests_git.bb @@ -0,0 +1,19 @@ +SUMMARY = "Various benchmarning tests for X" +HOMEPAGE = "http://www.o-hand.com" +SECTION = "devel" +LICENSE = "Zlib" +DEPENDS = "pango libxext libxft virtual/libx11 gtk+" + +SRCREV = "e5939ff608b95cdd4d0ab0e1935781ab9a276ac0" +PV = "0.1+git${SRCPV}" + +SRC_URI = "git://git.yoctoproject.org/${BPN}" +UPSTREAM_CHECK_COMMITS = "1" + +LIC_FILES_CHKSUM = "file://test-pango-gdk.c;endline=24;md5=1ee74ec851ecda57eb7ac6cc180f7655" + +S = "${WORKDIR}/git/tests" + +inherit autotools pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" diff --git a/poky/meta/recipes-graphics/glew/glew/no-strip.patch b/poky/meta/recipes-graphics/glew/glew/no-strip.patch new file mode 100644 index 000000000..e411f11cb --- /dev/null +++ b/poky/meta/recipes-graphics/glew/glew/no-strip.patch @@ -0,0 +1,12 @@ +Don't forcibly strip the binaries. + +Signed-off-by: Ross Burton <ross.burton@intel.com> +Upstream-Status: Pending + +diff --git a/Makefile b/Makefile +index 6a9803c..170c0ce 100644 +--- a/Makefile ++++ b/Makefile +@@ -285 +285 @@ install.bin: glew.bin +- $(INSTALL) -s -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) "$(DESTDIR)$(BINDIR)/" ++ $(INSTALL) -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) "$(DESTDIR)$(BINDIR)/" diff --git a/poky/meta/recipes-graphics/glew/glew_2.1.0.bb b/poky/meta/recipes-graphics/glew/glew_2.1.0.bb new file mode 100644 index 000000000..be725e053 --- /dev/null +++ b/poky/meta/recipes-graphics/glew/glew_2.1.0.bb @@ -0,0 +1,44 @@ +SUMMARY = "OpenGL extension loading library" +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" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ac251558de685c6b9478d89be3149c2" + +SRC_URI = "${SOURCEFORGE_MIRROR}/project/glew/glew/${PV}/glew-${PV}.tgz \ + file://no-strip.patch" + +SRC_URI[md5sum] = "b2ab12331033ddfaa50dc39345343980" +SRC_URI[sha256sum] = "04de91e7e6763039bc11940095cd9c7f880baba82196a7765f727ac05a993c95" + +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/glew/files/glew" +UPSTREAM_CHECK_REGEX = "/glew/(?P<pver>(\d+[\.\-_]*)+)/" + +inherit lib_package pkgconfig distro_features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', 'egl-gles2', d)}" + +# The opengl and egl-XXX options are exclusive, enable only one. +PACKAGECONFIG[opengl] = "SYSTEM='linux',,virtual/libx11 virtual/libgl libglu libxext libxi libxmu" +PACKAGECONFIG[egl-gles2] = "SYSTEM='linux-egl' GLEW_NO_GLU='-DGLEW_NO_GLU' LDFLAGS.GL='-lEGL -lGLESv2',,virtual/egl virtual/libgles2" + +CFLAGS += "-D_GNU_SOURCE" +# Override SYSTEM (via PACKAGECONFIG_CONFARGS) to avoid calling config.guess, +# we're cross-compiling. Pass our CFLAGS via POPT as that's the optimisation +# variable and safely overwritten. +EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS} \ + CC='${CC}' LD='${CC}' STRIP='' \ + LDFLAGS.EXTRA='${LDFLAGS}' \ + POPT='${CFLAGS}' \ + GLEW_PREFIX='${prefix}' BINDIR='${bindir}' \ + LIBDIR='${libdir}' INCDIR='${includedir}/GL' PKGDIR='${libdir}/pkgconfig'" + +do_compile() { + oe_runmake +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install.all +} diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.7.5.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.7.5.bb new file mode 100644 index 000000000..0a9b02946 --- /dev/null +++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.7.5.bb @@ -0,0 +1,39 @@ +SUMMARY = "Text shaping library" +DESCRIPTION = "HarfBuzz is an OpenType text shaping engine." +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=e021dd6dda6ff1e6b1044002fc662b9b \ + file://src/hb-ucdn/COPYING;md5=994ba0f1295f15b4bda4999a5bbeddef \ +" + +DEPENDS = "glib-2.0 cairo fontconfig freetype" + +SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.bz2" + +SRC_URI[md5sum] = "1466ab51fc5aaa6af4065936939cec62" +SRC_URI[sha256sum] = "84574e1b1f65ca694cb8fb6905309665c0368af18a312357f8ff886ee2f29563" + +inherit autotools pkgconfig lib_package gtk-doc + +PACKAGECONFIG ??= "icu" +PACKAGECONFIG[icu] = "--with-icu,--without-icu,icu" + +EXTRA_OECONF = " \ + --with-cairo \ + --with-fontconfig \ + --with-freetype \ + --with-glib \ + --without-graphite2 \ +" + +PACKAGES =+ "${PN}-icu ${PN}-icu-dev" + +FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*" +FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \ + ${libdir}/libharfbuzz-icu.so \ + ${libdir}/pkgconfig/harfbuzz-icu.pc \ +" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/images/core-image-clutter.bb b/poky/meta/recipes-graphics/images/core-image-clutter.bb new file mode 100644 index 000000000..b0f25cf1b --- /dev/null +++ b/poky/meta/recipes-graphics/images/core-image-clutter.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "An image with support for the Open GL-based toolkit Clutter, \ +which enables development of rich and animated graphical user interfaces." + +IMAGE_FEATURES += "splash package-management x11-base x11-sato ssh-server-dropbear" + +LICENSE = "MIT" + +IMAGE_INSTALL = "\ + ${CORE_IMAGE_BASE_INSTALL} \ + packagegroup-core-clutter-core \ + " + +inherit core-image diff --git a/poky/meta/recipes-graphics/images/core-image-weston.bb b/poky/meta/recipes-graphics/images/core-image-weston.bb new file mode 100644 index 000000000..e36655ffc --- /dev/null +++ b/poky/meta/recipes-graphics/images/core-image-weston.bb @@ -0,0 +1,12 @@ +SUMMARY = "A very basic Wayland image with a terminal" + +IMAGE_FEATURES += "splash package-management ssh-server-dropbear hwcodecs" + +LICENSE = "MIT" + +inherit core-image distro_features_check + +REQUIRED_DISTRO_FEATURES = "wayland" + +CORE_IMAGE_BASE_INSTALL += "weston weston-init weston-examples gtk+3-demo clutter-1.0-examples" +CORE_IMAGE_BASE_INSTALL += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'weston-xwayland matchbox-terminal', '', d)}" diff --git a/poky/meta/recipes-graphics/images/core-image-x11.bb b/poky/meta/recipes-graphics/images/core-image-x11.bb new file mode 100644 index 000000000..8455bb8ca --- /dev/null +++ b/poky/meta/recipes-graphics/images/core-image-x11.bb @@ -0,0 +1,9 @@ +SUMMARY = "A very basic X11 image with a terminal" + +IMAGE_FEATURES += "splash package-management x11-base" + +LICENSE = "MIT" + +inherit core-image distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.3.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.3.bb new file mode 100644 index 000000000..50a5ae085 --- /dev/null +++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.3.bb @@ -0,0 +1,59 @@ +SUMMARY = "Hardware accelerated JPEG compression/decompression library" +DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression" +HOMEPAGE = "http://libjpeg-turbo.org/" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=8184bcc7c4ac7b9edc6a7bc00f231d0b \ + file://jpeglib.h;endline=16;md5=f67d70e547a2662c079781c72f877f72 \ + file://djpeg.c;endline=11;md5=c59e19811c006cb38f82d6477134d314 \ +" +DEPENDS_append_x86-64_class-target = " nasm-native" +DEPENDS_append_x86_class-target = " nasm-native" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" + +SRC_URI[md5sum] = "7c82f0f6a3130ec06b8a4d0b321cbca3" +SRC_URI[sha256sum] = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523" +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/" +UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/" + +PE= "1" + +# Drop-in replacement for jpeg +PROVIDES = "jpeg" +RPROVIDES_${PN} += "jpeg" +RREPLACES_${PN} += "jpeg" +RCONFLICTS_${PN} += "jpeg" + +inherit autotools pkgconfig + +# Add nasm-native dependency consistently for all build arches is hard +EXTRA_OECONF_append_class-native = " --without-simd" + +# Work around missing x32 ABI support +EXTRA_OECONF_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "--without-simd", "", d)}" + +# Work around missing non-floating point ABI support in MIPS +EXTRA_OECONF_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "--without-simd", "", d)}" + +# Provide a workaround if Altivec unit is not present in PPC +EXTRA_OECONF_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "--without-simd", d)}" +EXTRA_OECONF_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "--without-simd", d)}" + +def get_build_time(d): + if d.getVar('SOURCE_DATE_EPOCH') != None: + import datetime + return " --with-build-date="+ datetime.datetime.fromtimestamp(float(d.getVar('SOURCE_DATE_EPOCH'))).strftime("%Y%m%d") + return "" + +EXTRA_OECONF_append_class-target = "${@get_build_time(d)}" + +PACKAGES =+ "jpeg-tools libturbojpeg" + +DESCRIPTION_jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality. These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library." +FILES_jpeg-tools = "${bindir}/*" + +DESCRIPTION_libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs" +FILES_libturbojpeg = "${libdir}/libturbojpeg.so.*" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch b/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch new file mode 100644 index 000000000..3605446e4 --- /dev/null +++ b/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch @@ -0,0 +1,116 @@ +From 761bf993ca55095f46380c0238583791c1797295 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz@linaro.org> +Date: Tue, 11 Jul 2017 14:50:37 -0500 +Subject: [PATCH kmscube] Detect gst_bo_map/_unmap and use it (or avoid it) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Those functions are not available on libMali, thus breaking +builds and creating havoc. + +Removing the specific parts of the code that deal with +gbm_bo_map() and gbm_bo_unmap() renders the kmscube utility +a little less useful, but still valuable. + +Signed-off-by: Daniel DÃaz <daniel.diaz@linaro.org> +Cc: Rob Clark <robdclark@gmail.com> +Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> + +Upstream-Status: Submitted [https://lists.freedesktop.org/archives/mesa-dev/2017-July/163020.html] +--- + Makefile.am | 5 ++++- + configure.ac | 3 +++ + gst-decoder.c | 7 ++++++- + kmscube.c | 4 ++++ + 4 files changed, 17 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index a36087d..ab4adbf 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -43,7 +43,6 @@ kmscube_SOURCES = \ + common.c \ + common.h \ + cube-smooth.c \ +- cube-tex.c \ + drm-atomic.c \ + drm-common.c \ + drm-common.h \ +@@ -59,3 +58,7 @@ kmscube_LDADD += $(GST_LIBS) + kmscube_CFLAGS += $(GST_CFLAGS) + kmscube_SOURCES += cube-video.c gst-decoder.c + endif ++ ++if ENABLE_GBM_MAP ++kmscube_SOURCES += cube-tex.c ++endif +diff --git a/configure.ac b/configure.ac +index 8397f7b..c7f1f4d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -65,5 +65,8 @@ if test "x$enable_gbm_modifiers" = xyes; then + AC_DEFINE(HAVE_GBM_MODIFIERS, 1, [Define if you can use GBM properties.]) + fi + ++AC_CHECK_LIB([gbm], [gbm_bo_map], [HAVE_GBM_BO_MAP=yes], []) ++AM_CONDITIONAL(ENABLE_GBM_MAP, [test "x$HAVE_GBM_BO_MAP" = "xyes"]) ++ + AC_CONFIG_FILES([Makefile]) + AC_OUTPUT +diff --git a/gst-decoder.c b/gst-decoder.c +index 2d6d581..b84980e 100644 +--- a/gst-decoder.c ++++ b/gst-decoder.c +@@ -332,6 +332,7 @@ set_last_frame(struct decoder *dec, EGLImage frame, GstSample *samp) + dec->last_samp = samp; + } + ++#if HAVE_GBM_BO_MAP + // TODO this could probably be a helper re-used by cube-tex: + static int + buf_to_fd(const struct gbm *gbm, int size, void *ptr) +@@ -357,6 +358,7 @@ buf_to_fd(const struct gbm *gbm, int size, void *ptr) + + return fd; + } ++#endif + + static EGLImage + buffer_to_image(struct decoder *dec, GstBuffer *buf) +@@ -410,12 +412,15 @@ buffer_to_image(struct decoder *dec, GstBuffer *buf) + + if (is_dmabuf_mem) { + dmabuf_fd = dup(gst_dmabuf_memory_get_fd(mem)); +- } else { ++ } ++#if HAVE_GBM_BO_MAP ++ else { + GstMapInfo map_info; + gst_buffer_map(buf, &map_info, GST_MAP_READ); + dmabuf_fd = buf_to_fd(dec->gbm, map_info.size, map_info.data); + gst_buffer_unmap(buf, &map_info); + } ++#endif + + if (dmabuf_fd < 0) { + GST_ERROR("could not obtain DMABUF FD"); +diff --git a/kmscube.c b/kmscube.c +index 3a2c4dd..276dc55 100644 +--- a/kmscube.c ++++ b/kmscube.c +@@ -142,7 +142,11 @@ int main(int argc, char *argv[]) + else if (mode == VIDEO) + egl = init_cube_video(gbm, video); + else ++#if HAVE_GBM_BO_MAP + egl = init_cube_tex(gbm, mode); ++#else ++ printf("gbm_bo_map() support missing\n"); ++#endif + + if (!egl) { + printf("failed to initialize EGL\n"); +-- +2.7.4 + diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb new file mode 100644 index 000000000..5b64ed643 --- /dev/null +++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "Demo application to showcase 3D graphics using kms and gbm" +HOMEPAGE = "https://cgit.freedesktop.org/mesa/kmscube/" +LICENSE = "MIT" +SECTION = "graphics" +DEPENDS = "virtual/libgles2 virtual/egl libdrm gstreamer1.0 gstreamer1.0-plugins-base" + +LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb" + +SRCREV = "0d8de4ce3a03f36af1817f9b0586d132ad2c5d2e" +SRC_URI = "git://anongit.freedesktop.org/mesa/kmscube;branch=master;protocol=git \ + file://detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch" +UPSTREAM_CHECK_COMMITS = "1" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig distro_features_check + +REQUIRED_DISTRO_FEATURES = "opengl" diff --git a/poky/meta/recipes-graphics/libepoxy/libepoxy/no-tests.patch b/poky/meta/recipes-graphics/libepoxy/libepoxy/no-tests.patch new file mode 100644 index 000000000..d2b6c1a25 --- /dev/null +++ b/poky/meta/recipes-graphics/libepoxy/libepoxy/no-tests.patch @@ -0,0 +1,33 @@ +Add option to disable tests. + +Upstream-Status: Submitted (https://github.com/anholt/libepoxy/pull/158) +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/meson.build b/meson.build +index b2ebaef..9632c7a 100644 +--- a/meson.build ++++ b/meson.build +@@ -242,7 +242,10 @@ libepoxy_inc = [ + + subdir('include/epoxy') + subdir('src') +-subdir('test') ++ ++if get_option('tests') ++ subdir('test') ++endif + + if get_option('docs') + doxygen = find_program('doxygen', required: false) +diff --git a/meson_options.txt b/meson_options.txt +index b5d7c98..dc30e68 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -15,3 +15,7 @@ option('x11', + type: 'boolean', + value: true, + description: 'Enable X11 support (GLX or EGL-X11)') ++option('tests', ++ type: 'boolean', ++ value: true, ++ description: 'Build the test suite') diff --git a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.0.bb b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.0.bb new file mode 100644 index 000000000..5ca0868c2 --- /dev/null +++ b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "OpenGL function pointer management library" +HOMEPAGE = "https://github.com/anholt/libepoxy/" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b" + +SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \ + file://no-tests.patch \ + " +SRC_URI[md5sum] = "63fe3847789258254dcd7e3fdb9e7f5e" +SRC_URI[sha256sum] = "4c94995398a6ebf691600dda2e9685a0cac261414175c2adf4645cdfab42a5d5" +UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases" + +inherit meson pkgconfig distro_features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGECONFIG[egl] = "-Degl=yes, -Degl=no, virtual/egl" +PACKAGECONFIG[x11] = "-Dglx=yes, -Dglx=no, virtual/libx11 virtual/libgl" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl" + +EXTRA_OEMESON += "-Dtests=false" diff --git a/poky/meta/recipes-graphics/libfakekey/libfakekey_git.bb b/poky/meta/recipes-graphics/libfakekey/libfakekey_git.bb new file mode 100644 index 000000000..4b803dbae --- /dev/null +++ b/poky/meta/recipes-graphics/libfakekey/libfakekey_git.bb @@ -0,0 +1,23 @@ +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.yoctoproject.org/" + +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://src/libfakekey.c;endline=30;md5=602b5ccd48f64407510867f3373b448c" + +DEPENDS = "libxtst" +SECTION = "x11/wm" + +SRCREV = "7ad885912efb2131e80914e964d5e635b0d07b40" +PV = "0.3+git${SRCPV}" + +SRC_URI = "git://git.yoctoproject.org/${BPN}" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig gettext distro_features_check + +# The libxtst requires x11 in DISTRO_FEATURES +REQUIRED_DISTRO_FEATURES = "x11" diff --git a/poky/meta/recipes-graphics/libmatchbox/libmatchbox_1.12.bb b/poky/meta/recipes-graphics/libmatchbox/libmatchbox_1.12.bb new file mode 100644 index 000000000..ce45e4814 --- /dev/null +++ b/poky/meta/recipes-graphics/libmatchbox/libmatchbox_1.12.bb @@ -0,0 +1,28 @@ +SUMMARY = "Matchbox window manager core library" +SECTION = "x11/libs" +HOMEPAGE = "http://matchbox-project.org/" +BUGTRACKER = "http://bugzilla.yoctoproject.com/" + +LICENSE = "LGPLv2+ & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \ + file://COPYING.MIT;md5=f45ed9332b4f50a35adf2065adde4ca7 \ + file://libmb/mbexp.c;endline=20;md5=28c0aef3b23e308464f5dae6a11b0d2f \ + file://libmb/xsettings-client.c;endline=20;md5=4b106a387602db8d91a50d5cdfd65031" + +DEPENDS = "virtual/libx11 libxext" + +#SRCREV for 1.12 +SRCREV = "e846ee434f8e23d9db38af13c523f791495e0e87" +SRC_URI = "git://git.yoctoproject.org/${BPN}" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +PACKAGECONFIG ??= "jpeg png xft" +PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" +PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango" +PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" +PACKAGECONFIG[xft] = "--enable-xft,--disable-xft,libxft" diff --git a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch b/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch new file mode 100644 index 000000000..ec8c0fd4f --- /dev/null +++ b/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch @@ -0,0 +1,73 @@ +From 44e4bb4cfb81024c8f5fd2e179e8a32c42756a2f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 23 Jul 2017 16:52:43 -0700 +Subject: [PATCH] build: Pass --tag=CC explictly when using libtool + +Do not depend solely on libtool heuristics which fail +in OE case when building with external compiler and +hardening flags + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile.in | 4 ++-- + build-scripts/makedep.sh | 8 ++++---- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index ab51035..743ce30 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -72,10 +72,10 @@ depend: + include $(depend) + + $(objects)/$(TARGET): $(OBJECTS) +- $(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) ++ $(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) + + $(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS) +- $(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) $(SDLMAIN_LDFLAGS) ++ $(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) $(SDLMAIN_LDFLAGS) + + + install: all install-bin install-hdrs install-lib install-data install-man +diff --git a/build-scripts/makedep.sh b/build-scripts/makedep.sh +index 3b3863b..dba28f2 100755 +--- a/build-scripts/makedep.sh ++++ b/build-scripts/makedep.sh +@@ -51,19 +51,19 @@ do echo "Generating dependencies for $src" + case $ext in + c) cat >>${output}.new <<__EOF__ + +- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ ++ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ + + __EOF__ + ;; + cc) cat >>${output}.new <<__EOF__ + +- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ ++ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ + + __EOF__ + ;; + m) cat >>${output}.new <<__EOF__ + +- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ ++ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ + + __EOF__ + ;; +@@ -75,7 +75,7 @@ __EOF__ + ;; + S) cat >>${output}.new <<__EOF__ + +- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ ++ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ + + __EOF__ + ;; +-- +2.13.3 + diff --git a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch b/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch new file mode 100644 index 000000000..f98b92752 --- /dev/null +++ b/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch @@ -0,0 +1,19 @@ +libX11-1.5.99.901 has changed prototype of _XData32 + +Upstream-Status: Backport +<http://bugzilla.libsdl.org/show_bug.cgi?id=1769> + +Signed-off-by: Saul Wold <sgw@linux.intel.com> + +diff -r b6b2829cd7ef src/video/x11/SDL_x11sym.h +--- a/src/video/x11/SDL_x11sym.h Wed Feb 27 15:20:31 2013 -0800 ++++ b/src/video/x11/SDL_x11sym.h Wed Mar 27 16:07:23 2013 +0100 +@@ -165,7 +165,7 @@ + */ + #ifdef LONG64 + SDL_X11_MODULE(IO_32BIT) +-SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return) ++SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return) + SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),) + #endif + diff --git a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch b/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch new file mode 100644 index 000000000..913baa92a --- /dev/null +++ b/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch @@ -0,0 +1,187 @@ +Rather than code which doesn't even work properly when cross compiling, +lets just use pkg-config instead. Its a little simpler. + +RP 2014/6/20 + +Upstream-Status: Pending + +Index: SDL-1.2.15/sdl.m4 +=================================================================== +--- SDL-1.2.15.orig/sdl.m4 ++++ SDL-1.2.15/sdl.m4 +@@ -12,174 +12,8 @@ dnl Test for SDL, and define SDL_CFLAGS + dnl + AC_DEFUN([AM_PATH_SDL], + [dnl +-dnl Get the cflags and libraries from the sdl-config script +-dnl +-AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], +- sdl_prefix="$withval", sdl_prefix="") +-AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], +- sdl_exec_prefix="$withval", sdl_exec_prefix="") +-AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], +- , enable_sdltest=yes) +- +- if test x$sdl_exec_prefix != x ; then +- sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" +- if test x${SDL_CONFIG+set} != xset ; then +- SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config +- fi +- fi +- if test x$sdl_prefix != x ; then +- sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" +- if test x${SDL_CONFIG+set} != xset ; then +- SDL_CONFIG=$sdl_prefix/bin/sdl-config +- fi +- fi +- +- as_save_PATH="$PATH" +- if test "x$prefix" != xNONE; then +- PATH="$prefix/bin:$prefix/usr/bin:$PATH" +- fi +- AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH]) +- PATH="$as_save_PATH" + min_sdl_version=ifelse([$1], ,0.11.0,$1) +- AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) +- no_sdl="" +- if test "$SDL_CONFIG" = "no" ; then +- no_sdl=yes +- else +- SDL_CFLAGS=`$SDL_CONFIG $sdl_config_args --cflags` +- SDL_LIBS=`$SDL_CONFIG $sdl_config_args --libs` +- +- sdl_major_version=`$SDL_CONFIG $sdl_config_args --version | \ +- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` +- sdl_minor_version=`$SDL_CONFIG $sdl_config_args --version | \ +- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` +- sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ +- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` +- if test "x$enable_sdltest" = "xyes" ; then +- ac_save_CFLAGS="$CFLAGS" +- ac_save_CXXFLAGS="$CXXFLAGS" +- ac_save_LIBS="$LIBS" +- CFLAGS="$CFLAGS $SDL_CFLAGS" +- CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" +- LIBS="$LIBS $SDL_LIBS" +-dnl +-dnl Now check if the installed SDL is sufficiently new. (Also sanity +-dnl checks the results of sdl-config to some extent +-dnl +- rm -f conf.sdltest +- AC_TRY_RUN([ +-#include <stdio.h> +-#include <stdlib.h> +-#include <string.h> +-#include "SDL.h" +- +-char* +-my_strdup (char *str) +-{ +- char *new_str; +- +- if (str) +- { +- new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); +- strcpy (new_str, str); +- } +- else +- new_str = NULL; +- +- return new_str; +-} +- +-int main (int argc, char *argv[]) +-{ +- int major, minor, micro; +- char *tmp_version; +- +- /* This hangs on some systems (?) +- system ("touch conf.sdltest"); +- */ +- { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } +- +- /* HP/UX 9 (%@#!) writes to sscanf strings */ +- tmp_version = my_strdup("$min_sdl_version"); +- if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { +- printf("%s, bad version string\n", "$min_sdl_version"); +- exit(1); +- } +- +- if (($sdl_major_version > major) || +- (($sdl_major_version == major) && ($sdl_minor_version > minor)) || +- (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) +- { +- return 0; +- } +- else +- { +- printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); +- printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); +- printf("*** best to upgrade to the required version.\n"); +- printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); +- printf("*** to point to the correct copy of sdl-config, and remove the file\n"); +- printf("*** config.cache before re-running configure\n"); +- return 1; +- } +-} +- +-],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) +- CFLAGS="$ac_save_CFLAGS" +- CXXFLAGS="$ac_save_CXXFLAGS" +- LIBS="$ac_save_LIBS" +- fi +- fi +- if test "x$no_sdl" = x ; then +- AC_MSG_RESULT(yes) +- ifelse([$2], , :, [$2]) +- else +- AC_MSG_RESULT(no) +- if test "$SDL_CONFIG" = "no" ; then +- echo "*** The sdl-config script installed by SDL could not be found" +- echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" +- echo "*** your path, or set the SDL_CONFIG environment variable to the" +- echo "*** full path to sdl-config." +- else +- if test -f conf.sdltest ; then +- : +- else +- echo "*** Could not run SDL test program, checking why..." +- CFLAGS="$CFLAGS $SDL_CFLAGS" +- CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" +- LIBS="$LIBS $SDL_LIBS" +- AC_TRY_LINK([ +-#include <stdio.h> +-#include "SDL.h" +- +-int main(int argc, char *argv[]) +-{ return 0; } +-#undef main +-#define main K_and_R_C_main +-], [ return 0; ], +- [ echo "*** The test program compiled, but did not run. This usually means" +- echo "*** that the run-time linker is not finding SDL or finding the wrong" +- echo "*** version of SDL. If it is not finding SDL, 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 the" +- echo "*** exact error that occured. This usually means SDL was incorrectly installed" +- echo "*** or that you have moved SDL since it was installed. In the latter case, you" +- echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ]) +- CFLAGS="$ac_save_CFLAGS" +- CXXFLAGS="$ac_save_CXXFLAGS" +- LIBS="$ac_save_LIBS" +- fi +- fi +- SDL_CFLAGS="" +- SDL_LIBS="" +- ifelse([$3], , :, [$3]) +- fi ++ PKG_CHECK_MODULES([SDL], [sdl >= $min_sdl_version]) + AC_SUBST(SDL_CFLAGS) + AC_SUBST(SDL_LIBS) +- rm -f conf.sdltest + ]) diff --git a/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb b/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb new file mode 100644 index 000000000..3680ea9d8 --- /dev/null +++ b/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb @@ -0,0 +1,72 @@ +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" + +PR = "r3" + +SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \ + file://libsdl-1.2.15-xdata32.patch \ + file://pkgconfig.patch \ + file://0001-build-Pass-tag-CC-explictly-when-using-libtool.patch \ + " + +UPSTREAM_CHECK_REGEX = "SDL-(?P<pver>\d+(\.\d+)+)\.tar" + +S = "${WORKDIR}/SDL-${PV}" + +SRC_URI[md5sum] = "9d96df8417572a2afb781a7c4c811a85" +SRC_URI[sha256sum] = "d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00" + +BINCONFIG = "${bindir}/sdl-config" + +inherit autotools lib_package binconfig-disabled pkgconfig + +EXTRA_OECONF = "--disable-static --enable-cdrom --enable-threads --enable-timers \ + --enable-file --disable-oss --disable-esd --disable-arts \ + --disable-diskaudio --disable-nas \ + --disable-mintaudio --disable-nasm --disable-video-dga \ + --disable-video-fbcon --disable-video-ps2gs --disable-video-ps3 \ + --disable-xbios --disable-gem --disable-video-dummy \ + --enable-input-events --enable-pthreads \ + --disable-video-svga \ + --disable-video-picogui --disable-video-qtopia --enable-sdl-dlopen \ + --disable-rpath" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)}" +PACKAGECONFIG_class-native = "x11" +PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" + +PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib" +PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" +PACKAGECONFIG[tslib] = "--enable-input-tslib, --disable-input-tslib, tslib" +PACKAGECONFIG[directfb] = "--enable-video-directfb, --disable-video-directfb, directfb" +PACKAGECONFIG[opengl] = "--enable-video-opengl, --disable-video-opengl, virtual/libgl libglu" +PACKAGECONFIG[x11] = "--enable-video-x11 --disable-x11-shared, --disable-video-x11, virtual/libx11 libxext libxrandr libxrender" + +# The following two options should only enabled with mingw support +PACKAGECONFIG[stdio-redirect] = "--enable-stdio-redirect,--disable-stdio-redirect" +PACKAGECONFIG[directx] = "--enable-directx,--disable-directx" + +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 ${S}/acinclude/$i + done + export SYSROOT=$PKG_CONFIG_SYSROOT_DIR +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb new file mode 100644 index 000000000..c0cf70d7f --- /dev/null +++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.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 = "Zlib" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=02ee26814dd044bd7838ae24e05b880f" + +PROVIDES = "virtual/libsdl2" + +DEPENDS_class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/nativesdk-libx11 nativesdk-libxrandr nativesdk-libxrender nativesdk-libxext', '', d)}" + +SRC_URI = " \ + http://www.libsdl.org/release/SDL2-${PV}.tar.gz \ +" + +S = "${WORKDIR}/SDL2-${PV}" + +SRC_URI[md5sum] = "3800d705cef742c6a634f202c37f263f" +SRC_URI[sha256sum] = "edc77c57308661d576e843344d8638e025a7818bff73f8fbfab09c3c5fd092ec" + +inherit autotools lib_package binconfig pkgconfig + +EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \ + --disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \ + --disable-video-dummy \ + --enable-pthreads \ + --enable-sdl-dlopen \ + --disable-rpath \ + " + +# opengl packageconfig factored out to make it easy for distros +# and BSP layers to pick either (desktop) opengl, gles2, or no GL +PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}" + +PACKAGECONFIG ??= " \ + ${PACKAGECONFIG_GL} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \ +" +PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib," +PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb" +PACKAGECONFIG[gles2] = "--enable-video-opengles,--disable-video-opengles,virtual/libgles2" +PACKAGECONFIG[opengl] = "--enable-video-opengl,--disable-video-opengl,virtual/libgl" +PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" +PACKAGECONFIG[tslib] = "--enable-input-tslib,--disable-input-tslib,tslib" +PACKAGECONFIG[wayland] = "--enable-video-wayland,--disable-video-wayland,wayland-native wayland wayland-protocols libxkbcommon" +PACKAGECONFIG[x11] = "--enable-video-x11,--disable-video-x11,virtual/libx11 libxext libxrandr libxrender" + +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 ${S}/acinclude/$i + done + export SYSROOT=$PKG_CONFIG_SYSROOT_DIR +} + +FILES_${PN}-dev += "${libdir}/cmake" diff --git a/poky/meta/recipes-graphics/libva/libva-utils_2.1.0.bb b/poky/meta/recipes-graphics/libva/libva-utils_2.1.0.bb new file mode 100644 index 000000000..a8018ea72 --- /dev/null +++ b/poky/meta/recipes-graphics/libva/libva-utils_2.1.0.bb @@ -0,0 +1,32 @@ +SUMMARY = "libva-utils is a collection of utilities from libva project" + +DESCRIPTION = "libva-utils is a collection of utilities \ +and examples to exercise VA-API in accordance with the libva \ +project.VA-API is an open-source library and API specification, \ +which provides access to graphics hardware acceleration capabilities \ +for video processing. It consists of a main library and driver-specific \ +acceleration backends for each supported hardware vendor" + +HOMEPAGE = "https://01.org/linuxmedia/vaapi" +BUGTRACKER = "https://github.com/intel/libva-utils/issues" + +SECTION = "x11" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e" + +SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2" +SRC_URI[md5sum] = "6649be70390606651cb636320bfd43c6" +SRC_URI[sha256sum] = "f6a7790c3dcc56537372c90a83036a3136194a8b397e84e97bf9cc9254fa2c51" + +UPSTREAM_CHECK_URI = "https://github.com/intel/libva-utils/releases" + +DEPENDS = "libva" + +inherit autotools pkgconfig distro_features_check + +# depends on libva which requires opengl +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland" diff --git a/poky/meta/recipes-graphics/libva/libva_2.1.0.bb b/poky/meta/recipes-graphics/libva/libva_2.1.0.bb new file mode 100644 index 000000000..d3cf6334c --- /dev/null +++ b/poky/meta/recipes-graphics/libva/libva_2.1.0.bb @@ -0,0 +1,46 @@ +SUMMARY = "Video Acceleration (VA) API for Linux" +DESCRIPTION = "Video Acceleration API (VA API) is a library (libVA) \ +and API specification which enables and provides access to graphics \ +hardware (GPU) acceleration for video processing on Linux and UNIX \ +based operating systems. Accelerated processing includes video \ +decoding, video encoding, subpicture blending and rendering. The \ +specification was originally designed by Intel for its GMA (Graphics \ +Media Accelerator) series of GPU hardware, the API is however not \ +limited to GPUs or Intel specific hardware, as other hardware and \ +manufacturers can also freely use this API for hardware accelerated \ +video decoding." + +HOMEPAGE = "https://01.org/linuxmedia/vaapi" +BUGTRACKER = "https://github.com/intel/libva/issues" + +SECTION = "x11" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" + +SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2" + +SRC_URI[md5sum] = "9d6e4f1d36c407566343e9dde5a972b8" +SRC_URI[sha256sum] = "f3fa953a11d3210c3a4ee79031abdbe0863d5ce13d9b3f93f315f1eec60a4b0f" + +UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases" + +DEPENDS = "libdrm virtual/mesa" + +inherit autotools pkgconfig distro_features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +EXTRA_OECONF = "ac_cv_prog_WAYLAND_SCANNER=wayland-scanner" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland" + +PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland" + +RDEPENDS_${PN}-x11 =+ "${PN}" +RDEPENDS_${PN}-glx =+ "${PN}-x11" + +FILES_${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}" +FILES_${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}" +FILES_${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}" diff --git a/poky/meta/recipes-graphics/matchbox-session/matchbox-session/matchbox-session b/poky/meta/recipes-graphics/matchbox-session/matchbox-session/matchbox-session new file mode 100644 index 000000000..4d6caa0c5 --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb b/poky/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb new file mode 100644 index 000000000..cbaf05436 --- /dev/null +++ b/poky/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb @@ -0,0 +1,25 @@ +SUMMARY = "Custom Matchbox session files" +HOMEPAGE = "http://www.matchbox-project.org/" +BUGTRACKER = "http://bugzilla.yoctoproject.org/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://matchbox-session;endline=20;md5=180f1c169a15d059a56c30094f6fb5ea" + +SECTION = "x11" +RCONFLICTS_${PN} = "matchbox-common" + +SRC_URI = "file://matchbox-session" +S = "${WORKDIR}" + +PR = "r4" + +inherit update-alternatives + +ALTERNATIVE_${PN} = "x-session-manager" +ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/matchbox-session" +ALTERNATIVE_PRIORITY = "100" + +do_install() { + install -d ${D}/${bindir} + install -m 0755 ${S}/matchbox-session ${D}/${bindir} +} diff --git a/poky/meta/recipes-graphics/matchbox-wm/matchbox-wm/kbdconfig b/poky/meta/recipes-graphics/matchbox-wm/matchbox-wm/kbdconfig new file mode 100644 index 000000000..239da8f57 --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb b/poky/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb new file mode 100644 index 000000000..815a75f36 --- /dev/null +++ b/poky/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb @@ -0,0 +1,39 @@ +SUMMARY = "Matchbox lightweight window manager" +HOMEPAGE = "http://matchbox-project.org" +BUGTRACKER = "http://bugzilla.yoctoproject.org/" + +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 libxcursor libxfixes" + +# SRCREV tagged 1.2.2 +SRCREV = "27da947e7fbdf9659f7e5bd1e92af92af6c03970" +SRC_URI = "git://git.yoctoproject.org/matchbox-window-manager \ + file://kbdconfig" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +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/poky/meta/recipes-graphics/menu-cache/menu-cache_1.0.2.bb b/poky/meta/recipes-graphics/menu-cache/menu-cache_1.0.2.bb new file mode 100644 index 000000000..71540cf1d --- /dev/null +++ b/poky/meta/recipes-graphics/menu-cache/menu-cache_1.0.2.bb @@ -0,0 +1,18 @@ +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/" + +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=0964c689fcf4c21c6797ea87408416b6" + +SECTION = "x11/libs" +DEPENDS = "glib-2.0 libfm-extra" + +SRC_URI = "${SOURCEFORGE_MIRROR}/lxde/menu-cache-${PV}.tar.xz" + +SRC_URI[md5sum] = "8dde7a3f5bd9798d0129d1979a5d7640" +SRC_URI[sha256sum] = "6f83edf2de34f83e701dcb52145d755250a5677580cd413476cc4d7f2d2012d5" + +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/lxde/files/menu-cache/1.0/" + +inherit autotools gettext pkgconfig gtk-doc diff --git a/poky/meta/recipes-graphics/mesa/files/0001-Makefile.vulkan.am-explictly-add-lib-expat-to-intel-.patch b/poky/meta/recipes-graphics/mesa/files/0001-Makefile.vulkan.am-explictly-add-lib-expat-to-intel-.patch new file mode 100644 index 000000000..f908d4655 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0001-Makefile.vulkan.am-explictly-add-lib-expat-to-intel-.patch @@ -0,0 +1,42 @@ +From 342311dbb190735b7b32ab20f81c1d8dbcfe717a Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Wed, 11 Oct 2017 15:40:42 +0800 +Subject: [PATCH] Makefile.vulkan.am: explictly add lib expat to intel + libvulkan's lib depends + +While built with "-fvisibility=default" +... +|i586-oe-linux-gcc ... -fvisibility=default ... -o common/.libs/common_libintel_common_la-gen_decoder.o +... + +It triggered the failure +... +|i586-oe-linux-g++ ... common/.libs/libintel_common.a ... -o vulkan/.libs/libvulkan_intel.so +|common/.libs/libintel_common.a(common_libintel_common_la-gen_decoder.o): +|In function `start_element': +|/usr/src/debug/mesa/2_17.1.7-r0/mesa-17.1.7/src/intel/common/gen_decoder.c:371: +undefined reference to `XML_GetCurrentLineNumber' +... + +explictly add EXPAT_LIBS to intel's VULKAN_LIB_DEPS + +Upstream-Status: Accepted +https://cgit.freedesktop.org/mesa/mesa/commit/?id=05fc62d89f59ce19a18bfd4e63a09624910d6caf + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + src/intel/Makefile.vulkan.am | 1 + + 1 file changed, 1 insertion(+) + +Index: mesa-17.3.6/src/intel/Makefile.vulkan.am +=================================================================== +--- mesa-17.3.6.orig/src/intel/Makefile.vulkan.am ++++ mesa-17.3.6/src/intel/Makefile.vulkan.am +@@ -144,6 +144,7 @@ VULKAN_LIB_DEPS = \ + $(LIBDRM_LIBS) \ + $(PTHREAD_LIBS) \ + $(DLOPEN_LIBS) \ ++ $(EXPAT_LIBS) \ + -lm + + if HAVE_PLATFORM_ANDROID diff --git a/poky/meta/recipes-graphics/mesa/files/0001-Use-wayland-scanner-in-the-path.patch b/poky/meta/recipes-graphics/mesa/files/0001-Use-wayland-scanner-in-the-path.patch new file mode 100644 index 000000000..2444b2846 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0001-Use-wayland-scanner-in-the-path.patch @@ -0,0 +1,34 @@ +From c908f0c13ac81a3a52140f129a13b2bc997ff4ee Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Tue, 15 Nov 2016 15:20:49 +0200 +Subject: [PATCH] Simplify wayland-scanner lookup + +Don't use pkg-config to lookup the path of a binary that's in the path. + +Alternatively we'd have to prefix the path returned by pkg-config with +PKG_CONFIG_SYSROOT_DIR. + +Upstream-Status: Pending +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + configure.ac | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +Index: mesa-17.3.6/configure.ac +=================================================================== +--- mesa-17.3.6.orig/configure.ac ++++ mesa-17.3.6/configure.ac +@@ -1694,12 +1694,7 @@ if test "x$with_platforms" = xauto; then + with_platforms=$with_egl_platforms + fi + +-PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], +- WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, +- WAYLAND_SCANNER='') +-if test "x$WAYLAND_SCANNER" = x; then +- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) +-fi ++AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner]) + + PKG_CHECK_EXISTS([wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], [have_wayland_protocols=yes], [have_wayland_protocols=no]) + if test "x$have_wayland_protocols" = xyes; then diff --git a/poky/meta/recipes-graphics/mesa/files/0001-st-dri-Initialise-modifier-to-INVALID-for-DRI2.patch b/poky/meta/recipes-graphics/mesa/files/0001-st-dri-Initialise-modifier-to-INVALID-for-DRI2.patch new file mode 100644 index 000000000..6aba7859e --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0001-st-dri-Initialise-modifier-to-INVALID-for-DRI2.patch @@ -0,0 +1,43 @@ +From 4cbecb61682a0ee426faaa03d824fc8fd7aef826 Mon Sep 17 00:00:00 2001 +From: Daniel Stone <daniels@collabora.com> +Date: Mon, 2 Apr 2018 13:20:34 +0100 +Subject: [PATCH] st/dri: Initialise modifier to INVALID for DRI2 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When allocating a buffer for DRI2, set the modifier to INVALID to inform +the backend that we have no supplied modifiers and it should do its own +thing. The missed initialisation forced linear, even if the +implementation had made other decisions. + +This resulted in VC4 DRI2 clients failing with: + Modifier 0x0 vs. tiling (0x700000000000001) mismatch + +Signed-off-by: Daniel Stone <daniels@collabora.com> +Reported-by: Andreas Müller <schnitzeltony@gmail.com> +Reviewed-by: Eric Anholt <eric@anholt.net> +Fixes: 3f8513172ff6 ("gallium/winsys/drm: introduce modifier field to winsys_handle") + +Upstream-Status: Backport [1] + +[1] https://cgit.freedesktop.org/mesa/mesa/commit/?id=4cbecb61682a0ee426faaa03d824fc8fd7aef826 +--- + src/gallium/state_trackers/dri/dri2.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c +index 31d17d46c2..58a6757f03 100644 +--- a/src/gallium/state_trackers/dri/dri2.c ++++ b/src/gallium/state_trackers/dri/dri2.c +@@ -806,6 +806,7 @@ dri2_allocate_textures(struct dri_context *ctx, + whandle.handle = buf->name; + whandle.stride = buf->pitch; + whandle.offset = 0; ++ whandle.modifier = DRM_FORMAT_MOD_INVALID; + if (screen->can_share_buffer) + whandle.type = DRM_API_HANDLE_TYPE_SHARED; + else +-- +2.14.3 + diff --git a/poky/meta/recipes-graphics/mesa/files/0001-winsys-svga-drm-Include-sys-types.h.patch b/poky/meta/recipes-graphics/mesa/files/0001-winsys-svga-drm-Include-sys-types.h.patch new file mode 100644 index 000000000..549b8671a --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0001-winsys-svga-drm-Include-sys-types.h.patch @@ -0,0 +1,34 @@ +From d8750776404b1031d762966d0f551d13d2fe05a7 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 16 Aug 2017 18:58:20 -0700 +Subject: [PATCH] winsys/svga/drm: Include sys/types.h + +vmw_screen.h uses dev_t which is defines in sys/types.h +this header is required to be included for getting dev_t +definition. This issue happens on musl C library, it is hidden +on glibc since sys/types.h is included through another +system headers + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + +Upstream-Status: Submitted + + src/gallium/winsys/svga/drm/vmw_screen.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/gallium/winsys/svga/drm/vmw_screen.h b/src/gallium/winsys/svga/drm/vmw_screen.h +index 0ef8e84..2eda97e 100644 +--- a/src/gallium/winsys/svga/drm/vmw_screen.h ++++ b/src/gallium/winsys/svga/drm/vmw_screen.h +@@ -41,6 +41,7 @@ + #include "svga_winsys.h" + #include "pipebuffer/pb_buffer_fenced.h" + #include <os/os_thread.h> ++#include <sys/types.h> + + #define VMW_GMR_POOL_SIZE (16*1024*1024) + #define VMW_QUERY_POOL_SIZE (8192) +-- +2.14.1 + diff --git a/poky/meta/recipes-graphics/mesa/files/0002-hardware-gloat.patch b/poky/meta/recipes-graphics/mesa/files/0002-hardware-gloat.patch new file mode 100644 index 000000000..0e014dcc8 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0002-hardware-gloat.patch @@ -0,0 +1,51 @@ +From 00bcd599310dc7fce4fe336ffd85902429051a0c Mon Sep 17 00:00:00 2001 +From: Igor Gnatenko <i.gnatenko.brain@gmail.com> +Date: Sun, 20 Mar 2016 13:27:04 +0100 +Subject: [PATCH 2/4] hardware gloat + +Upstream-Status: Inappropriate [not author] +Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com> +--- + src/gallium/drivers/llvmpipe/lp_screen.c | 7 +++++++ + src/gallium/drivers/softpipe/sp_screen.c | 7 +++++++ + 2 files changed, 14 insertions(+) + +diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c +index 4f61de8..3b0ec77 100644 +--- a/src/gallium/drivers/llvmpipe/lp_screen.c ++++ b/src/gallium/drivers/llvmpipe/lp_screen.c +@@ -411,6 +411,13 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen, + if (!format_desc) + return FALSE; + ++ if ((bind & PIPE_BIND_RENDER_TARGET) && ++ format != PIPE_FORMAT_R9G9B9E5_FLOAT && ++ format != PIPE_FORMAT_R11G11B10_FLOAT && ++ util_format_is_float(format)) { ++ return FALSE; ++ } ++ + assert(target == PIPE_BUFFER || + target == PIPE_TEXTURE_1D || + target == PIPE_TEXTURE_1D_ARRAY || +diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c +index 031602b..c279120 100644 +--- a/src/gallium/drivers/softpipe/sp_screen.c ++++ b/src/gallium/drivers/softpipe/sp_screen.c +@@ -358,6 +358,13 @@ softpipe_is_format_supported( struct pipe_screen *screen, + if (!format_desc) + return FALSE; + ++ if ((bind & PIPE_BIND_RENDER_TARGET) && ++ format != PIPE_FORMAT_R9G9B9E5_FLOAT && ++ format != PIPE_FORMAT_R11G11B10_FLOAT && ++ util_format_is_float(format)) { ++ return FALSE; ++ } ++ + if (sample_count > 1) + return FALSE; + +-- +2.7.4 + diff --git a/poky/meta/recipes-graphics/mesa/files/Use-Python-3-to-execute-the-scripts.patch b/poky/meta/recipes-graphics/mesa/files/Use-Python-3-to-execute-the-scripts.patch new file mode 100644 index 000000000..0b4aabf97 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/Use-Python-3-to-execute-the-scripts.patch @@ -0,0 +1,32 @@ +From 18c3e684a8259a0644214f88c7ead7fa31573fd9 Mon Sep 17 00:00:00 2001 +From: Otavio Salvador <otavio@ossystems.com.br> +Date: Fri, 29 Dec 2017 10:27:59 -0200 +Subject: [PATCH] Use Python 3 to execute the scripts +Organization: O.S. Systems Software LTDA. + +The MESA build system uses Python 2 but as OE-Core has moved away from +it, we change it to use Python 3 instead. + +Upstream-Status: Inappropriate [ configuration ] + +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index b107f04c2e..055546142d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -114,7 +114,7 @@ AC_PROG_CXX + AM_PROG_CC_C_O + AM_PROG_AS + AX_CHECK_GNU_MAKE +-AC_CHECK_PROGS([PYTHON2], [python2.7 python2 python]) ++AC_CHECK_PROGS([PYTHON2], [python3.5 python3 python]) + AC_PROG_SED + AC_PROG_MKDIR_P + +-- +2.15.1 + diff --git a/poky/meta/recipes-graphics/mesa/files/disable-asm-on-non-gcc.patch b/poky/meta/recipes-graphics/mesa/files/disable-asm-on-non-gcc.patch new file mode 100644 index 000000000..d2d67558b --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/disable-asm-on-non-gcc.patch @@ -0,0 +1,29 @@ +Configure checks for compiler to be gcc and then it enables asm_offsets +generation. see + +https://cgit.freedesktop.org/mesa/mesa/commit/?id=73c9b4b0e05fc66629ba250846948dc55c0e7a0d + +However, we missed the check when enabling this on cross compilation +when architecture for both host and target is x86 + +Fixes errors like +./gen_matypes > matypes.h +/bin/bash: ./gen_matypes: No such file or directory + +-Khem + +Upstream-Status: Submitted + +Index: mesa-12.0.1/configure.ac +=================================================================== +--- mesa-12.0.1.orig/configure.ac ++++ mesa-12.0.1/configure.ac +@@ -732,7 +732,7 @@ test "x$enable_asm" = xno && AC_MSG_RESU + if test "x$enable_asm" = xyes -a "x$cross_compiling" = xyes; then + case "$host_cpu" in + i?86 | x86_64 | amd64) +- if test "x$host_cpu" != "x$target_cpu"; then ++ if test "x$host_cpu" != "x$target_cpu" -o "x$acv_mesa_CLANG" = xyes; then + enable_asm=no + AC_MSG_RESULT([no, cross compiling]) + fi diff --git a/poky/meta/recipes-graphics/mesa/files/llvm-config-version.patch b/poky/meta/recipes-graphics/mesa/files/llvm-config-version.patch new file mode 100644 index 000000000..fd79991aa --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/llvm-config-version.patch @@ -0,0 +1,41 @@ +From: Otavio Salvador <otavio@ossystems.com.br> +Subject: [PATCH] Properly get LLVM version when using LLVM Git releases + +$ llvm-config-host --version +5.0.0git-9a5c333388c + +We need to ignore everything after 5.0.0 which is what the cut cmd is +doing + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index a02173f244..b107f04c2e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -995,7 +995,7 @@ strip_unwanted_llvm_flags() { + + llvm_set_environment_variables() { + if test "x$LLVM_CONFIG" != xno; then +- LLVM_VERSION=`$LLVM_CONFIG --version | egrep -o '^[[0-9.]]+'` ++ LLVM_VERSION=`$LLVM_CONFIG --version | cut -c1-5` + LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"` + LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir` + LLVM_LIBDIR=`$LLVM_CONFIG --libdir` +@@ -2644,7 +2644,7 @@ detect_old_buggy_llvm() { + dnl ourselves. + dnl (See https://llvm.org/bugs/show_bug.cgi?id=6823) + dnl We can't use $LLVM_VERSION because it has 'svn' stripped out, +- LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version` ++ LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version | cut -c1-5` + AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.$IMP_LIB_EXT"], [llvm_have_one_so=yes]) + + if test "x$llvm_have_one_so" = xyes; then +-- +2.15.1 + diff --git a/poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb b/poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb new file mode 100644 index 000000000..eeb898fd3 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb @@ -0,0 +1,30 @@ +SUMMARY = "The OpenGL utility toolkit" +DESCRIPTION = "GLU is a utility toolkit used with OpenGL implementations" + +HOMEPAGE = "http://mesa3d.org" +BUGTRACKER = "https://bugs.freedesktop.org" +SECTION = "x11" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://include/GL/glu.h;endline=29;md5=6b79c570f644363b356456e7d44471d9 \ + file://src/libtess/tess.c;endline=29;md5=6b79c570f644363b356456e7d44471d9" + +# Epoch as this used to be part of mesa +PE = "2" +PR = "0" + +SRC_URI = "https://mesa.freedesktop.org/archive/glu/glu-${PV}.tar.bz2" + +SRC_URI[md5sum] = "be9249132ff49275461cf92039083030" +SRC_URI[sha256sum] = "1f7ad0d379a722fcbd303aa5650c6d7d5544fde83196b42a73d1193568a4df12" + +S = "${WORKDIR}/glu-${PV}" + +DEPENDS = "virtual/libgl" + +inherit autotools pkgconfig distro_features_check + +# Requires libGL.so which is provided by mesa when x11 in DISTRO_FEATURES +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +# Remove the mesa-glu dependency in mesa-glu-dev, as mesa-glu is empty +RDEPENDS_${PN}-dev = "" diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0001-mesa-demos-Add-missing-data-files.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0001-mesa-demos-Add-missing-data-files.patch new file mode 100644 index 000000000..93ee9c286 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0001-mesa-demos-Add-missing-data-files.patch @@ -0,0 +1,624 @@ +From b695c3a3fa3f4cd48c13aa26542110de27075518 Mon Sep 17 00:00:00 2001 +From: Drew Moseley <drew_moseley@mentor.com> +Date: Mon, 12 May 2014 15:22:32 -0400 +Subject: [PATCH 1/9] mesa-demos: Add missing data files. + +Add some data files that are present in the git repository: + http://cgit.freedesktop.org/mesa/demos/tree/?id=mesa-demos-8.1.0 +but not in the release tarball + ftp://ftp.freedesktop.org/pub/mesa/demos/8.1.0/mesa-demos-8.1.0.tar.bz2 + +Upstream-Status: Backport +Signed-off-by: Drew Moseley <drew_moseley@mentor.com> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/fpglsl/depth-read.glsl | 4 + + src/fpglsl/infinite-loop.glsl | 7 + + src/glsl/CH11-bumpmaptex.frag | 47 +++++++ + src/glsl/blinking-teapot.frag | 31 +++++ + src/glsl/blinking-teapot.vert | 16 +++ + src/glsl/convolution.frag | 21 +++ + src/glsl/simplex-noise.glsl | 279 ++++++++++++++++++++++++++++++++++++++++ + src/glsl/skinning.vert | 24 ++++ + src/perf/glslstateschange1.frag | 19 +++ + src/perf/glslstateschange1.vert | 14 ++ + src/perf/glslstateschange2.frag | 17 +++ + src/perf/glslstateschange2.vert | 14 ++ + src/vpglsl/infinite-loop.glsl | 8 ++ + 13 files changed, 501 insertions(+) + create mode 100644 src/fpglsl/depth-read.glsl + create mode 100644 src/fpglsl/infinite-loop.glsl + create mode 100644 src/glsl/CH11-bumpmaptex.frag + create mode 100644 src/glsl/blinking-teapot.frag + create mode 100644 src/glsl/blinking-teapot.vert + create mode 100644 src/glsl/convolution.frag + create mode 100644 src/glsl/simplex-noise.glsl + create mode 100644 src/glsl/skinning.vert + create mode 100644 src/perf/glslstateschange1.frag + create mode 100644 src/perf/glslstateschange1.vert + create mode 100644 src/perf/glslstateschange2.frag + create mode 100644 src/perf/glslstateschange2.vert + create mode 100644 src/vpglsl/infinite-loop.glsl + +diff --git a/src/fpglsl/depth-read.glsl b/src/fpglsl/depth-read.glsl +new file mode 100644 +index 0000000..86d298e +--- /dev/null ++++ b/src/fpglsl/depth-read.glsl +@@ -0,0 +1,4 @@ ++void main() ++{ ++ gl_FragColor = gl_FragCoord.zzzz; ++} +diff --git a/src/fpglsl/infinite-loop.glsl b/src/fpglsl/infinite-loop.glsl +new file mode 100644 +index 0000000..c6dc6ee +--- /dev/null ++++ b/src/fpglsl/infinite-loop.glsl +@@ -0,0 +1,7 @@ ++void main() { ++ vec4 sum = vec4(0); ++ for (int i = 1; i != 2; i += 2) { ++ sum += vec4(0.1, 0.1, 0.1, 0.1); ++ } ++ gl_FragColor = sum; ++} +diff --git a/src/glsl/CH11-bumpmaptex.frag b/src/glsl/CH11-bumpmaptex.frag +new file mode 100644 +index 0000000..b5dabb4 +--- /dev/null ++++ b/src/glsl/CH11-bumpmaptex.frag +@@ -0,0 +1,47 @@ ++// ++// Fragment shader for procedural bumps ++// ++// Authors: John Kessenich, Randi Rost ++// ++// Copyright (c) 2002-2006 3Dlabs Inc. Ltd. ++// ++// See 3Dlabs-License.txt for license information ++// ++// Texture mapping/modulation added by Brian Paul ++// ++ ++varying vec3 LightDir; ++varying vec3 EyeDir; ++ ++uniform float BumpDensity; // = 16.0 ++uniform float BumpSize; // = 0.15 ++uniform float SpecularFactor; // = 0.5 ++ ++uniform sampler2D Tex; ++ ++void main() ++{ ++ vec3 ambient = vec3(0.25); ++ vec3 litColor; ++ vec2 c = BumpDensity * gl_TexCoord[0].st; ++ vec2 p = fract(c) - vec2(0.5); ++ ++ float d, f; ++ d = p.x * p.x + p.y * p.y; ++ f = inversesqrt(d + 1.0); ++ ++ if (d >= BumpSize) ++ { p = vec2(0.0); f = 1.0; } ++ ++ vec3 SurfaceColor = texture2D(Tex, gl_TexCoord[0].st).xyz; ++ ++ vec3 normDelta = vec3(p.x, p.y, 1.0) * f; ++ litColor = SurfaceColor * (ambient + max(dot(normDelta, LightDir), 0.0)); ++ vec3 reflectDir = reflect(LightDir, normDelta); ++ ++ float spec = max(dot(EyeDir, reflectDir), 0.0); ++ spec *= SpecularFactor; ++ litColor = min(litColor + spec, vec3(1.0)); ++ ++ gl_FragColor = vec4(litColor, 1.0); ++} +diff --git a/src/glsl/blinking-teapot.frag b/src/glsl/blinking-teapot.frag +new file mode 100644 +index 0000000..0db060b +--- /dev/null ++++ b/src/glsl/blinking-teapot.frag +@@ -0,0 +1,31 @@ ++#extension GL_ARB_uniform_buffer_object : enable ++ ++layout(std140) uniform colors0 ++{ ++ float DiffuseCool; ++ float DiffuseWarm; ++ vec3 SurfaceColor; ++ vec3 WarmColor; ++ vec3 CoolColor; ++ vec4 some[8]; ++}; ++ ++varying float NdotL; ++varying vec3 ReflectVec; ++varying vec3 ViewVec; ++ ++void main (void) ++{ ++ ++ vec3 kcool = min(CoolColor + DiffuseCool * SurfaceColor, 1.0); ++ vec3 kwarm = min(WarmColor + DiffuseWarm * SurfaceColor, 1.0); ++ vec3 kfinal = mix(kcool, kwarm, NdotL); ++ ++ vec3 nreflect = normalize(ReflectVec); ++ vec3 nview = normalize(ViewVec); ++ ++ float spec = max(dot(nreflect, nview), 0.0); ++ spec = pow(spec, 32.0); ++ ++ gl_FragColor = vec4 (min(kfinal + spec, 1.0), 1.0); ++} +diff --git a/src/glsl/blinking-teapot.vert b/src/glsl/blinking-teapot.vert +new file mode 100644 +index 0000000..397d733 +--- /dev/null ++++ b/src/glsl/blinking-teapot.vert +@@ -0,0 +1,16 @@ ++vec3 LightPosition = vec3(0.0, 10.0, 4.0); ++ ++varying float NdotL; ++varying vec3 ReflectVec; ++varying vec3 ViewVec; ++ ++void main(void) ++{ ++ vec3 ecPos = vec3 (gl_ModelViewMatrix * gl_Vertex); ++ vec3 tnorm = normalize(gl_NormalMatrix * gl_Normal); ++ vec3 lightVec = normalize(LightPosition - ecPos); ++ ReflectVec = normalize(reflect(-lightVec, tnorm)); ++ ViewVec = normalize(-ecPos); ++ NdotL = (dot(lightVec, tnorm) + 1.0) * 0.5; ++ gl_Position = ftransform(); ++} +diff --git a/src/glsl/convolution.frag b/src/glsl/convolution.frag +new file mode 100644 +index 0000000..e49b8ac +--- /dev/null ++++ b/src/glsl/convolution.frag +@@ -0,0 +1,21 @@ ++ ++const int KernelSize = 9; ++ ++//texture offsets ++uniform vec2 Offset[KernelSize]; ++//convolution kernel ++uniform vec4 KernelValue[KernelSize]; ++uniform sampler2D srcTex; ++uniform vec4 ScaleFactor; ++uniform vec4 BaseColor; ++ ++void main(void) ++{ ++ int i; ++ vec4 sum = vec4(0.0); ++ for (i = 0; i < KernelSize; ++i) { ++ vec4 tmp = texture2D(srcTex, gl_TexCoord[0].st + Offset[i]); ++ sum += tmp * KernelValue[i]; ++ } ++ gl_FragColor = sum * ScaleFactor + BaseColor; ++} +diff --git a/src/glsl/simplex-noise.glsl b/src/glsl/simplex-noise.glsl +new file mode 100644 +index 0000000..b6833cb +--- /dev/null ++++ b/src/glsl/simplex-noise.glsl +@@ -0,0 +1,279 @@ ++// ++// Description : Array and textureless GLSL 2D/3D/4D simplex ++// noise functions. ++// Author : Ian McEwan, Ashima Arts. ++// Maintainer : ijm ++// Lastmod : 20110223 ++// License : Copyright (C) 2011 Ashima Arts. All rights reserved. ++// Distributed under the Artistic License 2.0; See LICENCE file. ++// ++ ++#define NORMALIZE_GRADIENTS ++#undef USE_CIRCLE ++#define COLLAPSE_SORTNET ++ ++float permute(float x0,vec3 p) { ++ float x1 = mod(x0 * p.y, p.x); ++ return floor( mod( (x1 + p.z) *x0, p.x )); ++ } ++vec2 permute(vec2 x0,vec3 p) { ++ vec2 x1 = mod(x0 * p.y, p.x); ++ return floor( mod( (x1 + p.z) *x0, p.x )); ++ } ++vec3 permute(vec3 x0,vec3 p) { ++ vec3 x1 = mod(x0 * p.y, p.x); ++ return floor( mod( (x1 + p.z) *x0, p.x )); ++ } ++vec4 permute(vec4 x0,vec3 p) { ++ vec4 x1 = mod(x0 * p.y, p.x); ++ return floor( mod( (x1 + p.z) *x0, p.x )); ++ } ++ ++uniform vec4 pParam; ++// Example ++// const vec4 pParam = vec4( 17.* 17., 34., 1., 7.); ++ ++float taylorInvSqrt(float r) ++ { ++ return ( 0.83666002653408 + 0.7*0.85373472095314 - 0.85373472095314 * r ); ++ } ++ ++float simplexNoise2(vec2 v) ++ { ++ const vec2 C = vec2(0.211324865405187134, // (3.0-sqrt(3.0))/6.; ++ 0.366025403784438597); // 0.5*(sqrt(3.0)-1.); ++ const vec3 D = vec3( 0., 0.5, 2.0) * 3.14159265358979312; ++// First corner ++ vec2 i = floor(v + dot(v, C.yy) ); ++ vec2 x0 = v - i + dot(i, C.xx); ++ ++// Other corners ++ vec2 i1 = (x0.x > x0.y) ? vec2(1.,0.) : vec2(0.,1.) ; ++ ++ // x0 = x0 - 0. + 0. * C ++ vec2 x1 = x0 - i1 + 1. * C.xx ; ++ vec2 x2 = x0 - 1. + 2. * C.xx ; ++ ++// Permutations ++ i = mod(i, pParam.x); ++ vec3 p = permute( permute( ++ i.y + vec3(0., i1.y, 1. ), pParam.xyz) ++ + i.x + vec3(0., i1.x, 1. ), pParam.xyz); ++ ++#ifndef USE_CIRCLE ++// ( N points uniformly over a line, mapped onto a diamond.) ++ vec3 x = fract(p / pParam.w) ; ++ vec3 h = 0.5 - abs(x) ; ++ ++ vec3 sx = vec3(lessThan(x,D.xxx)) *2. -1.; ++ vec3 sh = vec3(lessThan(h,D.xxx)); ++ ++ vec3 a0 = x + sx*sh; ++ vec2 p0 = vec2(a0.x,h.x); ++ vec2 p1 = vec2(a0.y,h.y); ++ vec2 p2 = vec2(a0.z,h.z); ++ ++#ifdef NORMALISE_GRADIENTS ++ p0 *= taylorInvSqrt(dot(p0,p0)); ++ p1 *= taylorInvSqrt(dot(p1,p1)); ++ p2 *= taylorInvSqrt(dot(p2,p2)); ++#endif ++ ++ vec3 g = 2.0 * vec3( dot(p0, x0), dot(p1, x1), dot(p2, x2) ); ++#else ++// N points around a unit circle. ++ vec3 phi = D.z * mod(p,pParam.w) /pParam.w ; ++ vec4 a0 = sin(phi.xxyy+D.xyxy); ++ vec2 a1 = sin(phi.zz +D.xy); ++ vec3 g = vec3( dot(a0.xy, x0), dot(a0.zw, x1), dot(a1.xy, x2) ); ++#endif ++// mix ++ vec3 m = max(0.5 - vec3(dot(x0,x0), dot(x1,x1), dot(x2,x2)), 0.); ++ m = m*m ; ++ return 1.66666* 70.*dot(m*m, g); ++ } ++ ++float simplexNoise3(vec3 v) ++ { ++ const vec2 C = vec2(1./6. , 1./3. ) ; ++ const vec4 D = vec4(0., 0.5, 1.0, 2.0); ++ ++// First corner ++ vec3 i = floor(v + dot(v, C.yyy) ); ++ vec3 x0 = v - i + dot(i, C.xxx) ; ++ ++// Other corners ++#ifdef COLLAPSE_SORTNET ++ vec3 g = vec3( greaterThan( x0.xyz, x0.yzx) ); ++ vec3 l = vec3( lessThanEqual( x0.xyz, x0.yzx) ); ++ ++ vec3 i1 = g.xyz * l.zxy; ++ vec3 i2 = max( g.xyz, l.zxy); ++#else ++// Keeping this clean - let the compiler optimize. ++ vec3 q1; ++ q1.x = max(x0.x, x0.y); ++ q1.y = min(x0.x, x0.y); ++ q1.z = x0.z; ++ ++ vec3 q2; ++ q2.x = max(q1.x,q1.z); ++ q2.z = min(q1.x,q1.z); ++ q2.y = q1.y; ++ ++ vec3 q3; ++ q3.y = max(q2.y, q2.z); ++ q3.z = min(q2.y, q2.z); ++ q3.x = q2.x; ++ ++ vec3 i1 = vec3(equal(q3.xxx, x0)); ++ vec3 i2 = i1 + vec3(equal(q3.yyy, x0)); ++#endif ++ ++ // x0 = x0 - 0. + 0. * C ++ vec3 x1 = x0 - i1 + 1. * C.xxx; ++ vec3 x2 = x0 - i2 + 2. * C.xxx; ++ vec3 x3 = x0 - 1. + 3. * C.xxx; ++ ++// Permutations ++ i = mod(i, pParam.x ); ++ vec4 p = permute( permute( permute( ++ i.z + vec4(0., i1.z, i2.z, 1. ), pParam.xyz) ++ + i.y + vec4(0., i1.y, i2.y, 1. ), pParam.xyz) ++ + i.x + vec4(0., i1.x, i2.x, 1. ), pParam.xyz); ++ ++// Gradients ++// ( N*N points uniformly over a square, mapped onto a octohedron.) ++ float n_ = 1.0/pParam.w ; ++ vec3 ns = n_ * D.wyz - D.xzx ; ++ ++ vec4 j = p - pParam.w*pParam.w*floor(p * ns.z *ns.z); // mod(p,N*N) ++ ++ vec4 x_ = floor(j * ns.z) ; ++ vec4 y_ = floor(j - pParam.w * x_ ) ; // mod(j,N) ++ ++ vec4 x = x_ *ns.x + ns.yyyy; ++ vec4 y = y_ *ns.x + ns.yyyy; ++ vec4 h = 1. - abs(x) - abs(y); ++ ++ vec4 b0 = vec4( x.xy, y.xy ); ++ vec4 b1 = vec4( x.zw, y.zw ); ++ ++ vec4 s0 = vec4(lessThan(b0,D.xxxx)) *2. -1.; ++ vec4 s1 = vec4(lessThan(b1,D.xxxx)) *2. -1.; ++ vec4 sh = vec4(lessThan(h, D.xxxx)); ++ ++ vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ; ++ vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ; ++ ++ vec3 p0 = vec3(a0.xy,h.x); ++ vec3 p1 = vec3(a0.zw,h.y); ++ vec3 p2 = vec3(a1.xy,h.z); ++ vec3 p3 = vec3(a1.zw,h.w); ++ ++#ifdef NORMALISE_GRADIENTS ++ p0 *= taylorInvSqrt(dot(p0,p0)); ++ p1 *= taylorInvSqrt(dot(p1,p1)); ++ p2 *= taylorInvSqrt(dot(p2,p2)); ++ p3 *= taylorInvSqrt(dot(p3,p3)); ++#endif ++ ++// Mix ++ vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.); ++ m = m * m; ++//used to be 64. ++ return 48.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1), ++ dot(p2,x2), dot(p3,x3) ) ); ++ } ++ ++vec4 grad4(float j, vec4 ip) ++ { ++ const vec4 ones = vec4(1.,1.,1.,-1.); ++ vec4 p,s; ++ ++ p.xyz = floor( fract (vec3(j) * ip.xyz) *pParam.w) * ip.z -1.0; ++ p.w = 1.5 - dot(abs(p.xyz), ones.xyz); ++ s = vec4(lessThan(p,vec4(0.))); ++ p.xyz = p.xyz + (s.xyz*2.-1.) * s.www; ++ ++ return p; ++ } ++ ++float simplexNoise4(vec4 v) ++ { ++ const vec2 C = vec2( 0.138196601125010504, // (5 - sqrt(5))/20 G4 ++ 0.309016994374947451); // (sqrt(5) - 1)/4 F4 ++// First corner ++ vec4 i = floor(v + dot(v, C.yyyy) ); ++ vec4 x0 = v - i + dot(i, C.xxxx); ++ ++// Other corners ++ ++// Force existance of strict total ordering in sort. ++ vec4 q0 = floor(x0 * 1024.0) + vec4( 0., 1./4., 2./4. , 3./4.); ++ vec4 q1; ++ q1.xy = max(q0.xy,q0.zw); // x:z y:w ++ q1.zw = min(q0.xy,q0.zw); ++ ++ vec4 q2; ++ q2.xz = max(q1.xz,q1.yw); // x:y z:w ++ q2.yw = min(q1.xz,q1.yw); ++ ++ vec4 q3; ++ q3.y = max(q2.y,q2.z); // y:z ++ q3.z = min(q2.y,q2.z); ++ q3.xw = q2.xw; ++ ++ vec4 i1 = vec4(lessThanEqual(q3.xxxx, q0)); ++ vec4 i2 = vec4(lessThanEqual(q3.yyyy, q0)); ++ vec4 i3 = vec4(lessThanEqual(q3.zzzz, q0)); ++ ++ // x0 = x0 - 0. + 0. * C ++ vec4 x1 = x0 - i1 + 1. * C.xxxx; ++ vec4 x2 = x0 - i2 + 2. * C.xxxx; ++ vec4 x3 = x0 - i3 + 3. * C.xxxx; ++ vec4 x4 = x0 - 1. + 4. * C.xxxx; ++ ++// Permutations ++ i = mod(i, pParam.x ); ++ float j0 = permute( permute( permute( permute ( ++ i.w, pParam.xyz) + i.z, pParam.xyz) ++ + i.y, pParam.xyz) + i.x, pParam.xyz); ++ vec4 j1 = permute( permute( permute( permute ( ++ i.w + vec4(i1.w, i2.w, i3.w, 1. ), pParam.xyz) ++ + i.z + vec4(i1.z, i2.z, i3.z, 1. ), pParam.xyz) ++ + i.y + vec4(i1.y, i2.y, i3.y, 1. ), pParam.xyz) ++ + i.x + vec4(i1.x, i2.x, i3.x, 1. ), pParam.xyz); ++// Gradients ++// ( N*N*N points uniformly over a cube, mapped onto a 4-octohedron.) ++ vec4 ip = pParam ; ++ ip.xy *= pParam.w ; ++ ip.x *= pParam.w ; ++ ip = vec4(1.,1.,1.,2.) / ip ; ++ ++ vec4 p0 = grad4(j0, ip); ++ vec4 p1 = grad4(j1.x, ip); ++ vec4 p2 = grad4(j1.y, ip); ++ vec4 p3 = grad4(j1.z, ip); ++ vec4 p4 = grad4(j1.w, ip); ++ ++#ifdef NORMALISE_GRADIENTS ++ p0 *= taylorInvSqrt(dot(p0,p0)); ++ p1 *= taylorInvSqrt(dot(p1,p1)); ++ p2 *= taylorInvSqrt(dot(p2,p2)); ++ p3 *= taylorInvSqrt(dot(p3,p3)); ++ p4 *= taylorInvSqrt(dot(p4,p4)); ++#endif ++ ++// Mix ++ vec3 m0 = max(0.6 - vec3(dot(x0,x0), dot(x1,x1), dot(x2,x2)), 0.); ++ vec2 m1 = max(0.6 - vec2(dot(x3,x3), dot(x4,x4) ), 0.); ++ m0 = m0 * m0; ++ m1 = m1 * m1; ++ return 32. * ( dot(m0*m0, vec3( dot( p0, x0 ), dot( p1, x1 ), dot( p2, x2 ))) ++ + dot(m1*m1, vec2( dot( p3, x3 ), dot( p4, x4 ) ) ) ) ; ++ ++ } ++ ++ ++ +diff --git a/src/glsl/skinning.vert b/src/glsl/skinning.vert +new file mode 100644 +index 0000000..28970ee +--- /dev/null ++++ b/src/glsl/skinning.vert +@@ -0,0 +1,24 @@ ++// Vertex weighting/blendin shader ++// Brian Paul ++// 4 Nov 2008 ++ ++uniform mat4 mat0, mat1; ++attribute float weight; ++ ++void main() ++{ ++ // simple diffuse shading ++ // Note that we should really transform the normal vector along with ++ // the postion below... someday. ++ vec3 lightVec = vec3(0, 0, 1); ++ vec3 norm = gl_NormalMatrix * gl_Normal; ++ float dot = 0.2 + max(0.0, dot(norm, lightVec)); ++ gl_FrontColor = vec4(dot); ++ ++ // compute sum of weighted transformations ++ vec4 pos0 = mat0 * gl_Vertex; ++ vec4 pos1 = mat1 * gl_Vertex; ++ vec4 pos = mix(pos0, pos1, weight); ++ ++ gl_Position = gl_ModelViewProjectionMatrix * pos; ++} +diff --git a/src/perf/glslstateschange1.frag b/src/perf/glslstateschange1.frag +new file mode 100644 +index 0000000..0839436 +--- /dev/null ++++ b/src/perf/glslstateschange1.frag +@@ -0,0 +1,19 @@ ++// Multi-texture fragment shader ++// Brian Paul ++ ++// Composite second texture over first. ++// We're assuming the 2nd texture has a meaningful alpha channel. ++ ++uniform sampler2D tex1; ++uniform sampler2D tex2; ++uniform vec4 UniV1; ++uniform vec4 UniV2; ++ ++void main() ++{ ++ vec4 t3; ++ vec4 t1 = texture2D(tex1, gl_TexCoord[0].xy); ++ vec4 t2 = texture2D(tex2, gl_TexCoord[1].xy); ++ t3 = mix(t1, t2, t2.w); ++ gl_FragColor = t3 + UniV1 + UniV2; ++} +diff --git a/src/perf/glslstateschange1.vert b/src/perf/glslstateschange1.vert +new file mode 100644 +index 0000000..cef50db +--- /dev/null ++++ b/src/perf/glslstateschange1.vert +@@ -0,0 +1,14 @@ ++// Multi-texture vertex shader ++// Brian Paul ++ ++ ++attribute vec4 TexCoord0, TexCoord1; ++attribute vec4 VertCoord; ++ ++void main() ++{ ++ gl_TexCoord[0] = TexCoord0; ++ gl_TexCoord[1] = TexCoord1; ++ // note: may use gl_Vertex or VertCoord here for testing: ++ gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; ++} +diff --git a/src/perf/glslstateschange2.frag b/src/perf/glslstateschange2.frag +new file mode 100644 +index 0000000..0df0319 +--- /dev/null ++++ b/src/perf/glslstateschange2.frag +@@ -0,0 +1,17 @@ ++// Multi-texture fragment shader ++// Brian Paul ++ ++// Composite second texture over first. ++// We're assuming the 2nd texture has a meaningful alpha channel. ++ ++uniform sampler2D tex1; ++uniform sampler2D tex2; ++uniform vec4 UniV1; ++uniform vec4 UniV2; ++ ++void main() ++{ ++ vec4 t1 = texture2D(tex1, gl_TexCoord[0].xy); ++ vec4 t2 = texture2D(tex2, gl_TexCoord[1].xy); ++ gl_FragColor = t1 + t2 + UniV1 + UniV2; ++} +diff --git a/src/perf/glslstateschange2.vert b/src/perf/glslstateschange2.vert +new file mode 100644 +index 0000000..cef50db +--- /dev/null ++++ b/src/perf/glslstateschange2.vert +@@ -0,0 +1,14 @@ ++// Multi-texture vertex shader ++// Brian Paul ++ ++ ++attribute vec4 TexCoord0, TexCoord1; ++attribute vec4 VertCoord; ++ ++void main() ++{ ++ gl_TexCoord[0] = TexCoord0; ++ gl_TexCoord[1] = TexCoord1; ++ // note: may use gl_Vertex or VertCoord here for testing: ++ gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; ++} +diff --git a/src/vpglsl/infinite-loop.glsl b/src/vpglsl/infinite-loop.glsl +new file mode 100644 +index 0000000..bc7ae4b +--- /dev/null ++++ b/src/vpglsl/infinite-loop.glsl +@@ -0,0 +1,8 @@ ++void main() { ++ gl_Position = gl_Vertex; ++ vec4 sum = vec4(0); ++ for (int i = 1; i != 2; i += 2) { ++ sum += vec4(0.1, 0.1, 0.1, 0.1); ++ } ++ gl_FrontColor = sum; ++} +-- +2.0.0 + diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch new file mode 100644 index 000000000..f6b59a11f --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch @@ -0,0 +1,377 @@ +From 779438770bedf3d53e6ad8f7cd6889b7f50daf3b Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 9 Jul 2014 14:23:41 +0200 +Subject: [PATCH] configure: Allow to disable demos which require GLEW or GLU + +* in some systems without X11 support we don't have GLEW, but + mesa-demos are still useful + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +Port to 8.3.0 +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + configure.ac | 49 ++++++++++++++++++++--------- + src/Makefile.am | 18 ++++++++--- + src/demos/Makefile.am | 73 ++++++++++++++++++++++++------------------- + src/egl/Makefile.am | 8 +++-- + src/egl/opengles1/Makefile.am | 10 ++++-- + src/egl/opengles2/Makefile.am | 29 ++++++++--------- + 6 files changed, 117 insertions(+), 70 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0525b09..28834cd 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -93,25 +93,44 @@ AC_EGREP_HEADER([glutInitContextProfile], + [AC_DEFINE(HAVE_FREEGLUT)], + []) + +-dnl Check for GLEW +-PKG_CHECK_MODULES(GLEW, [glew >= 1.5.4]) +-DEMO_CFLAGS="$DEMO_CFLAGS $GLEW_CFLAGS" +-DEMO_LIBS="$DEMO_LIBS $GLEW_LIBS" ++AC_ARG_ENABLE([glew], ++ [AS_HELP_STRING([--enable-glew], ++ [build demos which require glew @<:@default=yes@:>@])], ++ [enable_glew="$enableval"], ++ [enable_glew=yes] ++) ++ ++if test "x$enable_glew" = xyes; then ++ dnl Check for GLEW ++ PKG_CHECK_MODULES(GLEW, [glew >= 1.5.4], [glew_enabled=yes], [glew_enabled=no]) ++ DEMO_CFLAGS="$DEMO_CFLAGS $GLEW_CFLAGS" ++ DEMO_LIBS="$DEMO_LIBS $GLEW_LIBS" ++fi + + # LIBS was set by AC_CHECK_LIB above + LIBS="" + +-PKG_CHECK_MODULES(GLU, [glu], [], +- [AC_CHECK_HEADER([GL/glu.h], +- [], +- AC_MSG_ERROR([GLU not found])) +- AC_CHECK_LIB([GLU], +- [gluBeginCurve], +- [GLU_LIBS=-lGLU], +- AC_MSG_ERROR([GLU required])) ]) ++AC_ARG_ENABLE([glu], ++ [AS_HELP_STRING([--enable-glu], ++ [build demos which require glu @<:@default=yes@:>@])], ++ [enable_glu="$enableval"], ++ [enable_glu=yes] ++) + +-DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS" +-DEMO_LIBS="$DEMO_LIBS $GLU_LIBS" ++if test "x$enable_glu" = xyes; then ++ PKG_CHECK_MODULES(GLU, [glu], [glu_enabled=yes], ++ [AC_CHECK_HEADER([GL/glu.h], ++ [], ++ AC_MSG_ERROR([GLU not found])) ++ AC_CHECK_LIB([GLU], ++ [gluBeginCurve], ++ [GLU_LIBS=-lGLU ++ glu_enabled=yes], ++ AC_MSG_ERROR([GLU required])) ]) ++ ++ DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS" ++ DEMO_LIBS="$DEMO_LIBS $GLU_LIBS" ++fi + + AC_ARG_ENABLE([egl], + [AS_HELP_STRING([--enable-egl], +@@ -304,6 +323,8 @@ AC_SUBST([WAYLAND_CFLAGS]) + AC_SUBST([WAYLAND_LIBS]) + + ++AM_CONDITIONAL(HAVE_GLU, test "x$glu_enabled" = "xyes") ++AM_CONDITIONAL(HAVE_GLEW, test "x$glew_enabled" = "xyes") + AM_CONDITIONAL(HAVE_EGL, test "x$egl_enabled" = "xyes") + AM_CONDITIONAL(HAVE_GLESV1, test "x$glesv1_enabled" = "xyes") + AM_CONDITIONAL(HAVE_GLESV2, test "x$glesv2_enabled" = "xyes") +diff --git a/src/Makefile.am b/src/Makefile.am +index 1647d64..8b89dee 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -22,15 +22,19 @@ + # Authors: + # Eric Anholt <eric@anholt.net> + ++if HAVE_GLEW ++UTIL = util ++endif ++ + SUBDIRS = \ +- util \ ++ $(UTIL) \ + data \ + demos \ + egl \ + fp \ + fpglsl \ + glsl \ +- gs \ ++ gs \ + objviewer \ + osdemos \ + perf \ +@@ -40,8 +44,12 @@ SUBDIRS = \ + slang \ + tests \ + tools \ +- trivial \ +- vp \ +- vpglsl \ + wgl \ + xdemos ++ ++if HAVE_GLEW ++SUBDIRS += \ ++ vp \ ++ vpglsl \ ++ trivial ++endif +diff --git a/src/demos/Makefile.am b/src/demos/Makefile.am +index 41603fa..ab1e3ab 100644 +--- a/src/demos/Makefile.am ++++ b/src/demos/Makefile.am +@@ -30,91 +30,100 @@ AM_LDFLAGS = \ + $(DEMO_LIBS) \ + $(GLUT_LIBS) + ++bin_PROGRAMS = ++ + if HAVE_GLUT +-bin_PROGRAMS = \ ++if HAVE_GLEW ++bin_PROGRAMS += \ + arbfplight \ + arbfslight \ + arbocclude \ + arbocclude2 \ +- bounce \ +- clearspd \ + copypix \ + cubemap \ + cuberender \ + dinoshade \ +- dissolve \ +- drawpix \ + engine \ + fbo_firecube \ + fbotexture \ +- fire \ + fogcoord \ + fplight \ + fslight \ ++ gloss \ ++ isosurf \ ++ multiarb \ ++ paltex \ ++ pointblast \ ++ projtex \ ++ shadowtex \ ++ spriteblast \ ++ stex3d \ ++ textures \ ++ vao_demo \ ++ winpos ++ ++copypix_LDADD = ../util/libutil.la ++cubemap_LDADD = ../util/libutil.la ++cuberender_LDADD = ../util/libutil.la ++engine_LDADD = ../util/libutil.la ++fbo_firecube_LDADD = ../util/libutil.la ++gloss_LDADD = ../util/libutil.la ++isosurf_LDADD = ../util/libutil.la ++multiarb_LDADD = ../util/libutil.la ++projtex_LDADD = ../util/libutil.la ++textures_LDADD = ../util/libutil.la ++winpos_LDADD = ../util/libutil.la ++endif ++ ++if HAVE_GLU ++bin_PROGRAMS += \ ++ bounce \ ++ clearspd \ ++ dissolve \ ++ drawpix \ ++ fire \ + gamma \ + gearbox \ + gears \ + geartrain \ + glinfo \ +- gloss \ + gltestperf \ + ipers \ +- isosurf \ + lodbias \ + morph3d \ +- multiarb \ +- paltex \ + pixeltest \ +- pointblast \ +- projtex \ + ray \ + readpix \ + reflect \ + renormal \ +- shadowtex \ + singlebuffer \ + spectex \ +- spriteblast \ +- stex3d \ + teapot \ + terrain \ + tessdemo \ + texcyl \ + texenv \ +- textures \ + trispd \ + tunnel2 \ +- tunnel \ +- vao_demo \ +- winpos +-endif ++ tunnel + + tunnel_SOURCES = \ + tunnel.c \ + tunneldat.h + +-copypix_LDADD = ../util/libutil.la +-cubemap_LDADD = ../util/libutil.la +-cuberender_LDADD = ../util/libutil.la +-drawpix_LDADD = ../util/libutil.la + dissolve_LDADD = ../util/libutil.la +-engine_LDADD = ../util/libutil.la +-fbo_firecube_LDADD = ../util/libutil.la ++drawpix_LDADD = ../util/libutil.la + fire_LDADD = ../util/libutil.la +-gloss_LDADD = ../util/libutil.la + ipers_LDADD = ../util/libutil.la +-isosurf_LDADD = ../util/libutil.la + lodbias_LDADD = ../util/libutil.la +-multiarb_LDADD = ../util/libutil.la +-projtex_LDADD = ../util/libutil.la + readpix_LDADD = ../util/libutil.la + reflect_LDADD = ../util/libutil.la + teapot_LDADD = ../util/libutil.la + texcyl_LDADD = ../util/libutil.la +-textures_LDADD = ../util/libutil.la + tunnel_LDADD = ../util/libutil.la + tunnel2_LDADD = ../util/libutil.la +-winpos_LDADD = ../util/libutil.la ++endif ++endif + + EXTRA_DIST = \ + README +diff --git a/src/egl/Makefile.am b/src/egl/Makefile.am +index d64a49e..4fe1ca8 100644 +--- a/src/egl/Makefile.am ++++ b/src/egl/Makefile.am +@@ -24,8 +24,12 @@ + + SUBDIRS = \ + eglut \ +- opengl \ +- openvg \ + opengles1 \ + opengles2 \ + oes_vg ++ ++if HAVE_GLU ++SUBDIRS += \ ++ opengl \ ++ openvg ++endif +diff --git a/src/egl/opengles1/Makefile.am b/src/egl/opengles1/Makefile.am +index fa397c2..21853e8 100644 +--- a/src/egl/opengles1/Makefile.am ++++ b/src/egl/opengles1/Makefile.am +@@ -36,9 +36,12 @@ AM_LDFLAGS = \ + $(EGL_LIBS) \ + -lm + ++noinst_PROGRAMS = ++ + if HAVE_EGL + if HAVE_GLESV1 +-noinst_PROGRAMS = \ ++if HAVE_X11 ++bin_PROGRAMS = \ + bindtex \ + clear \ + drawtex_x11 \ +@@ -52,8 +55,6 @@ noinst_PROGRAMS = \ + torus_x11 \ + tri_x11 \ + two_win +-endif +-endif + + bindtex_LDADD = $(X11_LIBS) + es1_info_LDADD = $(X11_LIBS) +@@ -76,3 +77,6 @@ drawtex_x11_LDADD = ../eglut/libeglut_x11.la + gears_x11_LDADD = ../eglut/libeglut_x11.la + torus_x11_LDADD = ../eglut/libeglut_x11.la + tri_x11_LDADD = ../eglut/libeglut_x11.la ++endif ++endif ++endif +diff --git a/src/egl/opengles2/Makefile.am b/src/egl/opengles2/Makefile.am +index b80ba50..17f8d49 100644 +--- a/src/egl/opengles2/Makefile.am ++++ b/src/egl/opengles2/Makefile.am +@@ -33,27 +33,28 @@ AM_LDFLAGS = \ + $(EGL_LIBS) \ + -lm + ++bin_PROGRAMS = ++ + if HAVE_EGL + if HAVE_GLESV2 +-bin_PROGRAMS = +-if HAVE_X11 +-bin_PROGRAMS += \ +- es2_info \ +- es2gears_x11 \ +- es2tri +-endif + if HAVE_WAYLAND + bin_PROGRAMS += es2gears_wayland +-endif +-endif ++ ++es2gears_wayland_SOURCES = es2gears.c ++es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la + endif + +-es2_info_LDADD = $(X11_LIBS) +-es2tri_LDADD = $(X11_LIBS) ++if HAVE_X11 ++bin_PROGRAMS += \ ++ es2tri \ ++ es2_info \ ++ es2gears_x11 + ++es2_info_LDADD = $(X11_LIBS) + es2gears_x11_SOURCES = es2gears.c +- + es2gears_x11_LDADD = ../eglut/libeglut_x11.la ++es2tri_LDADD = $(X11_LIBS) ++endif ++endif ++endif + +-es2gears_wayland_SOURCES = es2gears.c +-es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la +-- +2.1.4 + diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch new file mode 100644 index 000000000..f77b97f3e --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch @@ -0,0 +1,234 @@ +From 5e10108d76a59abac21c7e540bcfd2ddaccca2cb Mon Sep 17 00:00:00 2001 +From: Drew Moseley <drew_moseley@mentor.com> +Date: Fri, 9 May 2014 11:50:24 -0400 +Subject: [PATCH 4/9] Use DEMOS_DATA_DIR to locate data files + +Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=78496] +Signed-off-by: Drew Moseley <drew_moseley@mentor.com> +--- + src/glsl/bezier.c | 2 +- + src/glsl/blinking-teapot.c | 4 ++-- + src/glsl/brick.c | 4 ++-- + src/glsl/bump.c | 6 +++--- + src/glsl/convolutions.c | 2 +- + src/glsl/mandelbrot.c | 4 ++-- + src/glsl/multitex.c | 4 ++-- + src/glsl/simplex-noise.c | 2 +- + src/glsl/skinning.c | 4 ++-- + src/glsl/texdemo1.c | 8 ++++---- + src/glsl/toyball.c | 4 ++-- + src/objviewer/objview.c | 12 ++++++------ + src/perf/glslstateschange.c | 8 ++++---- + 13 files changed, 32 insertions(+), 32 deletions(-) + +diff --git a/src/glsl/bezier.c b/src/glsl/bezier.c +index 0b56bc1..e01603d 100644 +--- a/src/glsl/bezier.c ++++ b/src/glsl/bezier.c +@@ -13,7 +13,7 @@ + #include "glut_wrap.h" + #include "shaderutil.h" + +-static const char *filename = "bezier.geom"; ++static const char *filename = DEMOS_DATA_DIR "bezier.geom"; + + static GLuint fragShader; + static GLuint vertShader; +diff --git a/src/glsl/blinking-teapot.c b/src/glsl/blinking-teapot.c +index e3bf24d..7662b1f 100644 +--- a/src/glsl/blinking-teapot.c ++++ b/src/glsl/blinking-teapot.c +@@ -63,8 +63,8 @@ init_opengl (void) + exit(1); + } + +- vshad_id = CompileShaderFile (GL_VERTEX_SHADER, "blinking-teapot.vert"); +- fshad_id = CompileShaderFile (GL_FRAGMENT_SHADER, "blinking-teapot.frag"); ++ vshad_id = CompileShaderFile (GL_VERTEX_SHADER, DEMOS_DATA_DIR "blinking-teapot.vert"); ++ fshad_id = CompileShaderFile (GL_FRAGMENT_SHADER, DEMOS_DATA_DIR "blinking-teapot.frag"); + prog_id = LinkShaders (vshad_id, fshad_id); + + UseProgram (prog_id); +diff --git a/src/glsl/brick.c b/src/glsl/brick.c +index 3021856..fe5f190 100644 +--- a/src/glsl/brick.c ++++ b/src/glsl/brick.c +@@ -14,8 +14,8 @@ + #include "shaderutil.h" + + +-static char *FragProgFile = "CH06-brick.frag"; +-static char *VertProgFile = "CH06-brick.vert"; ++static char *FragProgFile = DEMOS_DATA_DIR "CH06-brick.frag"; ++static char *VertProgFile = DEMOS_DATA_DIR "CH06-brick.vert"; + + /* program/shader objects */ + static GLuint fragShader; +diff --git a/src/glsl/bump.c b/src/glsl/bump.c +index 59f62cd..3a1b20a 100644 +--- a/src/glsl/bump.c ++++ b/src/glsl/bump.c +@@ -15,9 +15,9 @@ + #include "readtex.h" + + +-static char *FragProgFile = "CH11-bumpmap.frag"; +-static char *FragTexProgFile = "CH11-bumpmaptex.frag"; +-static char *VertProgFile = "CH11-bumpmap.vert"; ++static char *FragProgFile = DEMOS_DATA_DIR "CH11-bumpmap.frag"; ++static char *FragTexProgFile = DEMOS_DATA_DIR "CH11-bumpmaptex.frag"; ++static char *VertProgFile = DEMOS_DATA_DIR "CH11-bumpmap.vert"; + static char *TextureFile = DEMOS_DATA_DIR "tile.rgb"; + + /* program/shader objects */ +diff --git a/src/glsl/convolutions.c b/src/glsl/convolutions.c +index a120cfe..9312f00 100644 +--- a/src/glsl/convolutions.c ++++ b/src/glsl/convolutions.c +@@ -340,7 +340,7 @@ static void init(void) + + menuInit(); + readTexture(textureLocation); +- createProgram("convolution.vert", "convolution.frag"); ++ createProgram(DEMOS_DATA_DIR "convolution.vert", DEMOS_DATA_DIR "convolution.frag"); + + glEnable(GL_TEXTURE_2D); + glClearColor(1.0, 1.0, 1.0, 1.0); +diff --git a/src/glsl/mandelbrot.c b/src/glsl/mandelbrot.c +index 31ede1d..ab34a0f 100644 +--- a/src/glsl/mandelbrot.c ++++ b/src/glsl/mandelbrot.c +@@ -14,8 +14,8 @@ + #include "shaderutil.h" + + +-static char *FragProgFile = "CH18-mandel.frag"; +-static char *VertProgFile = "CH18-mandel.vert"; ++static char *FragProgFile = DEMOS_DATA_DIR "CH18-mandel.frag"; ++static char *VertProgFile = DEMOS_DATA_DIR "CH18-mandel.vert"; + + /* program/shader objects */ + static GLuint fragShader; +diff --git a/src/glsl/multitex.c b/src/glsl/multitex.c +index 262ea50..546bd27 100644 +--- a/src/glsl/multitex.c ++++ b/src/glsl/multitex.c +@@ -35,8 +35,8 @@ + + static const char *Demo = "multitex"; + +-static const char *VertFile = "multitex.vert"; +-static const char *FragFile = "multitex.frag"; ++static const char *VertFile = DEMOS_DATA_DIR "multitex.vert"; ++static const char *FragFile = DEMOS_DATA_DIR "multitex.frag"; + + static const char *TexFiles[2] = + { +diff --git a/src/glsl/simplex-noise.c b/src/glsl/simplex-noise.c +index 13fdd5d..885f01e 100644 +--- a/src/glsl/simplex-noise.c ++++ b/src/glsl/simplex-noise.c +@@ -169,7 +169,7 @@ SpecialKey(int key, int x, int y) + static void + Init(void) + { +- const char *filename = "simplex-noise.glsl"; ++ const char *filename = DEMOS_DATA_DIR "simplex-noise.glsl"; + char noiseText[10000]; + FILE *f; + int len; +diff --git a/src/glsl/skinning.c b/src/glsl/skinning.c +index bf38d77..536d475 100644 +--- a/src/glsl/skinning.c ++++ b/src/glsl/skinning.c +@@ -20,8 +20,8 @@ + #define M_PI 3.1415926535 + #endif + +-static char *FragProgFile = "skinning.frag"; +-static char *VertProgFile = "skinning.vert"; ++static char *FragProgFile = DEMOS_DATA_DIR "skinning.frag"; ++static char *VertProgFile = DEMOS_DATA_DIR "skinning.vert"; + + /* program/shader objects */ + static GLuint fragShader; +diff --git a/src/glsl/texdemo1.c b/src/glsl/texdemo1.c +index 6cde239..a082342 100644 +--- a/src/glsl/texdemo1.c ++++ b/src/glsl/texdemo1.c +@@ -35,11 +35,11 @@ + + static const char *Demo = "texdemo1"; + +-static const char *ReflectVertFile = "reflect.vert"; +-static const char *CubeFragFile = "cubemap.frag"; ++static const char *ReflectVertFile = DEMOS_DATA_DIR "reflect.vert"; ++static const char *CubeFragFile = DEMOS_DATA_DIR "cubemap.frag"; + +-static const char *SimpleVertFile = "simple.vert"; +-static const char *SimpleTexFragFile = "shadowtex.frag"; ++static const char *SimpleVertFile = DEMOS_DATA_DIR "simple.vert"; ++static const char *SimpleTexFragFile = DEMOS_DATA_DIR "shadowtex.frag"; + + static const char *GroundImage = DEMOS_DATA_DIR "tile.rgb"; + +diff --git a/src/glsl/toyball.c b/src/glsl/toyball.c +index 5f27951..4e7e832 100644 +--- a/src/glsl/toyball.c ++++ b/src/glsl/toyball.c +@@ -14,8 +14,8 @@ + #include "shaderutil.h" + + +-static char *FragProgFile = "CH11-toyball.frag"; +-static char *VertProgFile = "CH11-toyball.vert"; ++static char *FragProgFile = DEMOS_DATA_DIR "CH11-toyball.frag"; ++static char *VertProgFile = DEMOS_DATA_DIR "CH11-toyball.vert"; + + /* program/shader objects */ + static GLuint fragShader; +diff --git a/src/objviewer/objview.c b/src/objviewer/objview.c +index 6def726..78a6acf 100644 +--- a/src/objviewer/objview.c ++++ b/src/objviewer/objview.c +@@ -162,12 +162,12 @@ init_model(void) + static void + init_skybox(void) + { +- SkyboxTex = LoadSkyBoxCubeTexture("alpine_east.rgb", +- "alpine_west.rgb", +- "alpine_up.rgb", +- "alpine_down.rgb", +- "alpine_south.rgb", +- "alpine_north.rgb"); ++ SkyboxTex = LoadSkyBoxCubeTexture(DEMOS_DATA_DIR "alpine_east.rgb", ++ DEMOS_DATA_DIR "alpine_west.rgb", ++ DEMOS_DATA_DIR "alpine_up.rgb", ++ DEMOS_DATA_DIR "alpine_down.rgb", ++ DEMOS_DATA_DIR "alpine_south.rgb", ++ DEMOS_DATA_DIR "alpine_north.rgb"); + glmSpecularTexture(Model, SkyboxTex); + } + +diff --git a/src/perf/glslstateschange.c b/src/perf/glslstateschange.c +index 7422b78..dbf8332 100644 +--- a/src/perf/glslstateschange.c ++++ b/src/perf/glslstateschange.c +@@ -33,10 +33,10 @@ + #include "glmain.h" + #include "common.h" + +-static const char *VertFile1 = "glslstateschange1.vert"; +-static const char *FragFile1 = "glslstateschange1.frag"; +-static const char *VertFile2 = "glslstateschange2.vert"; +-static const char *FragFile2 = "glslstateschange2.frag"; ++static const char *VertFile1 = DEMOS_DATA_DIR "glslstateschange1.vert"; ++static const char *FragFile1 = DEMOS_DATA_DIR "glslstateschange1.frag"; ++static const char *VertFile2 = DEMOS_DATA_DIR "glslstateschange2.vert"; ++static const char *FragFile2 = DEMOS_DATA_DIR "glslstateschange2.frag"; + static struct uniform_info Uniforms1[] = { + { "tex1", 1, GL_SAMPLER_2D, { 0, 0, 0, 0 }, -1 }, + { "tex2", 1, GL_SAMPLER_2D, { 1, 0, 0, 0 }, -1 }, +-- +2.0.0 + diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch new file mode 100644 index 000000000..6b676cdd2 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch @@ -0,0 +1,45 @@ +From c59e286fa4e818ca015dd40e4725636309970ea8 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Thu, 10 Jul 2014 14:30:52 +0200 +Subject: [PATCH] Install few more test programs + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + src/egl/opengl/Makefile.am | 2 +- + src/egl/opengles1/Makefile.am | 10 ++++------ + src/egl/openvg/Makefile.am | 2 +- + 3 files changed, 6 insertions(+), 8 deletions(-) + +diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am +index fe7faa9..3e48141 100644 +--- a/src/egl/opengl/Makefile.am ++++ b/src/egl/opengl/Makefile.am +@@ -50,7 +50,7 @@ endif + endif + + if HAVE_EGL +-noinst_PROGRAMS = \ ++bin_PROGRAMS = \ + eglinfo \ + peglgears \ + $(EGL_DRM_DEMOS) \ +diff --git a/src/egl/openvg/Makefile.am b/src/egl/openvg/Makefile.am +index b0f1212..5fd1cf8 100644 +--- a/src/egl/openvg/Makefile.am ++++ b/src/egl/openvg/Makefile.am +@@ -49,7 +49,7 @@ endif + + if HAVE_EGL + if HAVE_VG +-noinst_PROGRAMS = \ ++bin_PROGRAMS = \ + $(EGL_X11_DEMOS) + endif + endif +-- +2.1.4 + diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch new file mode 100644 index 000000000..a6085754d --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch @@ -0,0 +1,101 @@ +From 0b6f95f9b8ece22e9856c150e4be29fd86eaf546 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Thu, 10 Jul 2014 14:29:27 +0200 +Subject: [PATCH 8/9] glsl, perf: Add few missing .glsl, .vert, .frag files to + EXTRA_DATA + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/fpglsl/Makefile.am | 2 ++ + src/glsl/Makefile.am | 10 ++++++++-- + src/perf/Makefile.am | 6 ++++++ + src/vpglsl/Makefile.am | 1 + + 4 files changed, 17 insertions(+), 2 deletions(-) + +diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am +index 47c1039..fd43c91 100644 +--- a/src/fpglsl/Makefile.am ++++ b/src/fpglsl/Makefile.am +@@ -39,10 +39,12 @@ noinst_PROGRAMS = \ + endif + + EXTRA_DIST = \ ++ depth-read.glsl \ + dowhile2.glsl \ + dowhile.glsl \ + forbreak.glsl \ + for.glsl \ ++ infinite-loop.glsl \ + mov.glsl \ + mov-imm.glsl \ + simpleif.glsl \ +diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am +index 4faa8db..079a29d 100644 +--- a/src/glsl/Makefile.am ++++ b/src/glsl/Makefile.am +@@ -37,7 +37,7 @@ AM_LDFLAGS = \ + if HAVE_GLUT + bin_PROGRAMS = \ + array \ +- bezier \ ++ bezier \ + bitmap \ + brick \ + bump \ +@@ -123,12 +123,16 @@ EXTRA_DIST = \ + CH06-brick.vert \ + CH11-bumpmap.frag \ + CH11-bumpmap.vert \ ++ CH11-bumpmaptex.frag \ + CH11-toyball.frag \ + CH11-toyball.vert \ + CH18-mandel.frag \ + CH18-mandel.vert \ +- bezier.geom \ ++ bezier.geom \ + brick.shtest \ ++ blinking-teapot.frag \ ++ blinking-teapot.vert \ ++ convolution.frag \ + convolution.vert \ + cubemap.frag \ + mandelbrot.shtest \ +@@ -138,5 +142,7 @@ EXTRA_DIST = \ + reflect.vert \ + shadowtex.frag \ + simple.vert \ ++ simplex-noise.glsl \ + skinning.frag \ ++ skinning.vert \ + toyball.shtest +diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am +index 5363c58..c5cca8d 100644 +--- a/src/perf/Makefile.am ++++ b/src/perf/Makefile.am +@@ -57,3 +57,9 @@ bin_PROGRAMS = \ + endif + + glslstateschange_LDADD = libperf.la ../util/libutil.la ++ ++EXTRA_DIST = \ ++ glslstateschange1.frag \ ++ glslstateschange1.vert \ ++ glslstateschange2.frag \ ++ glslstateschange2.vert +diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am +index 4a85ed4..48b08f4 100644 +--- a/src/vpglsl/Makefile.am ++++ b/src/vpglsl/Makefile.am +@@ -44,6 +44,7 @@ EXTRA_DIST = \ + func2.glsl \ + ifelse.glsl \ + if.glsl \ ++ infinite-loop.glsl \ + mov.glsl \ + nestedifs.glsl \ + nestedswizzle.glsl \ +-- +2.0.0 + diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch new file mode 100644 index 000000000..1262dee23 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch @@ -0,0 +1,73 @@ +From c8c3de5417d6b6c7d7579c528c0cab718f4bfdb6 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Thu, 10 Jul 2014 14:48:12 +0200 +Subject: [PATCH 9/9] glsl, perf: Install .glsl, .vert, .frag files + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/fpglsl/Makefile.am | 3 ++- + src/glsl/Makefile.am | 3 ++- + src/perf/Makefile.am | 3 ++- + src/vpglsl/Makefile.am | 3 ++- + 4 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am +index fd43c91..2bf51de 100644 +--- a/src/fpglsl/Makefile.am ++++ b/src/fpglsl/Makefile.am +@@ -38,7 +38,8 @@ noinst_PROGRAMS = \ + fp-tri + endif + +-EXTRA_DIST = \ ++demosdatadir=$(datadir)/$(PACKAGE)/ ++dist_demosdata_DATA= \ + depth-read.glsl \ + dowhile2.glsl \ + dowhile.glsl \ +diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am +index 079a29d..f66ec29 100644 +--- a/src/glsl/Makefile.am ++++ b/src/glsl/Makefile.am +@@ -118,7 +118,8 @@ vert_or_frag_only_LDADD = ../util/libutil.la + vert_tex_LDADD = ../util/libutil.la + vsraytrace_LDADD = ../util/libutil.la + +-EXTRA_DIST = \ ++demosdatadir=$(datadir)/$(PACKAGE)/ ++dist_demosdata_DATA= \ + CH06-brick.frag \ + CH06-brick.vert \ + CH11-bumpmap.frag \ +diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am +index c5cca8d..140256d 100644 +--- a/src/perf/Makefile.am ++++ b/src/perf/Makefile.am +@@ -58,7 +58,8 @@ endif + + glslstateschange_LDADD = libperf.la ../util/libutil.la + +-EXTRA_DIST = \ ++demosdatadir=$(datadir)/$(PACKAGE)/ ++dist_demosdata_DATA= \ + glslstateschange1.frag \ + glslstateschange1.vert \ + glslstateschange2.frag \ +diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am +index 48b08f4..5526867 100644 +--- a/src/vpglsl/Makefile.am ++++ b/src/vpglsl/Makefile.am +@@ -38,7 +38,8 @@ noinst_PROGRAMS = \ + vp-tris + endif + +-EXTRA_DIST = \ ++demosdatadir=$(datadir)/$(PACKAGE)/ ++dist_demosdata_DATA= \ + for.glsl \ + func.glsl \ + func2.glsl \ +-- +2.0.0 + diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch new file mode 100644 index 000000000..c68764740 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch @@ -0,0 +1,44 @@ +From 3aa84c47e88a4c38446ce1323abf6f2c77389104 Mon Sep 17 00:00:00 2001 +From: Prabhu <prabhu.sundararaj@freescale.com> +Date: Mon, 16 Nov 2015 17:09:32 -0600 +Subject: [PATCH] mesa-demos: OpenVG demos with single frame need eglSwapBuffer + +sp and text demos rendering single frame. to display the +single frame rendered needed a eglSwapBuffer to diplay to window. +Hence added eglutPostRedisplay to display the frame + +Upstream-Status: Pending + +Signed-off-by: Prabhu <prabhu.sundararaj@freescale.com> +--- + src/egl/openvg/sp.c | 1 + + src/egl/openvg/text.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/egl/openvg/sp.c b/src/egl/openvg/sp.c +index a20c0a3..468e91e 100644 +--- a/src/egl/openvg/sp.c ++++ b/src/egl/openvg/sp.c +@@ -500,6 +500,7 @@ draw(void) + } + + vgFlush(); ++ eglutPostRedisplay(); + } + + +diff --git a/src/egl/openvg/text.c b/src/egl/openvg/text.c +index f5c6de8..492581c 100644 +--- a/src/egl/openvg/text.c ++++ b/src/egl/openvg/text.c +@@ -360,6 +360,7 @@ display(void) + { + vgClear(0, 0, width, height); + glyph_string_draw(10.0, 10.0); ++ eglutPostRedisplay(); + } + + +-- +2.5.1 + diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0013-only-build-GLX-demos-if-needed.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0013-only-build-GLX-demos-if-needed.patch new file mode 100644 index 000000000..e7be4dfbe --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0013-only-build-GLX-demos-if-needed.patch @@ -0,0 +1,62 @@ +From 322af294390a7f4e1524c5a79312be6cbebce988 Mon Sep 17 00:00:00 2001 +From: Awais Belal <awais_belal@mentor.com> +Date: Wed, 11 Nov 2015 17:22:12 +0500 +Subject: [PATCH] only build GLX demos if needed + +There are platforms that default to EGL only configurations +in which case the GLX applications are not required +at all. Allow the user to control generation of these +demos as needed through a configure switch. + +Signed-off-by: Awais Belal <awais_belal@mentor.com> +Upstream-Status: Pending +--- + configure.ac | 9 +++++++++ + src/Makefile.am | 6 +++++- + 2 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index f8ec7e3..1a4d96d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -132,6 +132,11 @@ if test "x$enable_glu" = xyes; then + DEMO_LIBS="$DEMO_LIBS $GLU_LIBS" + fi + ++AC_ARG_ENABLE([glx-demos], ++ [AS_HELP_STRING([--enable-glx-demos], ++ [enable GLX demos @<:@default=auto@:>@])], ++ [glx_demos_enabled="$enableval"], ++ [glx_demos_enabled=yes]) + AC_ARG_ENABLE([egl], + [AS_HELP_STRING([--enable-egl], + [enable EGL library @<:@default=auto@:>@])], +@@ -325,6 +333,7 @@ AC_SUBST([WAYLAND_LIBS]) + + AM_CONDITIONAL(HAVE_GLU, test "x$glu_enabled" = "xyes") + AM_CONDITIONAL(HAVE_GLEW, test "x$glew_enabled" = "xyes") ++AM_CONDITIONAL(HAVE_GLX, test "x$glx_demos_enabled" = "xyes") + AM_CONDITIONAL(HAVE_EGL, test "x$egl_enabled" = "xyes") + AM_CONDITIONAL(HAVE_GLESV1, test "x$glesv1_enabled" = "xyes") + AM_CONDITIONAL(HAVE_GLESV2, test "x$glesv2_enabled" = "xyes") +diff --git a/src/Makefile.am b/src/Makefile.am +index 8b89dee..a4d7e8f 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -44,8 +44,12 @@ SUBDIRS = \ + slang \ + tests \ + tools \ +- wgl \ ++ wgl ++ ++if HAVE_GLX ++SUBDIRS += \ + xdemos ++endif + + if HAVE_GLEW + SUBDIRS += \ +-- +1.9.1 + diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb b/poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb new file mode 100644 index 000000000..bae3b18be --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb @@ -0,0 +1,59 @@ +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" + +SRC_URI = "https://mesa.freedesktop.org/archive/demos/${PV}/${BPN}-${PV}.tar.bz2 \ + file://0001-mesa-demos-Add-missing-data-files.patch \ + file://0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch \ + file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \ + file://0007-Install-few-more-test-programs.patch \ + file://0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch \ + file://0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch \ + file://0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch \ + file://0013-only-build-GLX-demos-if-needed.patch \ + " +SRC_URI[md5sum] = "628e75c23c17394f11a316c36f8e4164" +SRC_URI[sha256sum] = "c173154bbd0d5fb53d732471984def42fb1b14ac85fcb834138fb9518b3e0bef" + +inherit autotools pkgconfig distro_features_check +# depends on virtual/egl, virtual/libgl ... +REQUIRED_DISTRO_FEATURES = "opengl x11" + +PACKAGECONFIG ?= "drm osmesa freetype2 gbm egl gles1 gles2 \ + x11 glew glu glx" + +# The Wayland code doesn't work with Wayland 1.0, so disable it for now +#${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}" + +EXTRA_OECONF = "--with-system-data-files" + +PACKAGECONFIG[drm] = "--enable-libdrm,--disable-libdrm,libdrm" +PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" +PACKAGECONFIG[freetype2] = "--enable-freetype2,--disable-freetype2,freetype" +PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgl" +PACKAGECONFIG[gles1] = "--enable-gles1,--disable-gles1,virtual/libgles1" +PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2" +PACKAGECONFIG[glut] = "--with-glut=${STAGING_EXECPREFIXDIR},--without-glut,freeglut" +PACKAGECONFIG[osmesa] = "--enable-osmesa,--disable-osmesa," +PACKAGECONFIG[vg] = "--enable-vg,--disable-vg,virtual/libopenvg" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,virtual/libgl wayland" +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11" +PACKAGECONFIG[glew] = "--enable-glew,--disable-glew,glew" +PACKAGECONFIG[glu] = "--enable-glu,--disable-glu,virtual/libgl" +PACKAGECONFIG[glx] = "--enable-glx-demos,--disable-glx-demos" + +do_install_append() { + # it can be completely empty when all PACKAGECONFIG options are disabled + rmdir --ignore-fail-on-non-empty ${D}${bindir} + + if [ -f ${D}${bindir}/clear ]; then + mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos + fi +} diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_17.3.8.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_17.3.8.bb new file mode 100644 index 000000000..73267eb4f --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-gl_17.3.8.bb @@ -0,0 +1,9 @@ +require mesa_${PV}.bb + +SUMMARY += " (OpenGL only, no EGL/GLES)" + +PROVIDES = "virtual/libgl virtual/mesa" + +S = "${WORKDIR}/mesa-${PV}" + +PACKAGECONFIG ??= "opengl dri ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc new file mode 100644 index 000000000..b501b7e72 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -0,0 +1,222 @@ +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=725f991a1cc322aa7a0cd3a2016621c4" + +PE = "2" + +DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native" +EXTRANATIVEPATH += "chrpath-native" +PROVIDES = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'gles', 'virtual/libgles1 virtual/libgles2', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'virtual/libgbm', '', d)} \ + virtual/mesa \ + " + +inherit autotools pkgconfig python3native gettext distro_features_check + +ANY_OF_DISTRO_FEATURES = "opengl vulkan" + +PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'drm', '', d)}" + +export LLVM_CONFIG = "${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE}" +export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE}/llvm-config" +EXTRA_OECONF = "--enable-shared-glapi \ + --disable-opencl \ + --with-llvm-prefix=${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE} \ + --with-platforms='${PLATFORMS}'" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \ + " + +# "gbm" requires "dri", "opengl" +PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm" + +X11_DEPS = "xf86driproto glproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes" +# "x11" requires "opengl" +PACKAGECONFIG[x11] = "--enable-glx-tls,--disable-glx,${X11_DEPS}" +PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc" +PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols" + +DRIDRIVERS = "swrast" +DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915" +DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915" +# "dri" requires "opengl" +PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, dri2proto libdrm" +PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, dri3proto presentproto libxshmfence" + +# Vulkan drivers need dri3 enabled +# radeon could be enabled as well but requires gallium-llvm with llvm >= 3.9 +VULKAN_DRIVERS = "" +VULKAN_DRIVERS_append_x86 = ",intel" +VULKAN_DRIVERS_append_x86-64 = ",intel" +PACKAGECONFIG[vulkan] = "--with-vulkan-drivers=${VULKAN_DRIVERS}, --without-vulkan-drivers, python3-mako-native" + +PACKAGECONFIG[opengl] = "--enable-opengl, --disable-opengl" + +# "gles" requires "opengl" +PACKAGECONFIG[gles] = "--enable-gles1 --enable-gles2, --disable-gles1 --disable-gles2" + +# "egl" requires "dri", "opengl" +PACKAGECONFIG[egl] = "--enable-egl, --disable-egl" + +PACKAGECONFIG[etnaviv] = "" +PACKAGECONFIG[imx] = "" + +GALLIUMDRIVERS = "swrast" +GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" +GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'imx', ',imx', '', d)}" +GALLIUMDRIVERS_LLVM33 = "${@bb.utils.contains('PACKAGECONFIG', 'r600', 'radeonsi,r600', '', d)}" +PACKAGECONFIG[r600] = "" +GALLIUMDRIVERS_LLVM33_ENABLED = "${@oe.utils.version_less_or_equal('MESA_LLVM_RELEASE', '3.2', False, len('${GALLIUMDRIVERS_LLVM33}') > 0, d)}" +GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${@',${GALLIUMDRIVERS_LLVM33}' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}" +GALLIUMDRIVERS_append_x86 = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}" +GALLIUMDRIVERS_append_x86-64 = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}" +# keep --with-gallium-drivers separate, because when only one of gallium versions is enabled, other 2 were adding --without-gallium-drivers +PACKAGECONFIG[gallium] = "--enable-texture-float --with-gallium-drivers=${GALLIUMDRIVERS}, --without-gallium-drivers" +MESA_LLVM_RELEASE ?= "6.0" +PACKAGECONFIG[gallium-llvm] = "--enable-llvm --enable-llvm-shared-libs, --disable-llvm, llvm${MESA_LLVM_RELEASE} llvm-native \ + ${@'elfutils' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}" +export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}" +PACKAGECONFIG[xa] = "--enable-xa, --disable-xa" + +OSMESA = "${@bb.utils.contains('PACKAGECONFIG', 'gallium', 'gallium-osmesa', 'osmesa', d)}" +PACKAGECONFIG[osmesa] = "--enable-${OSMESA},--disable-${OSMESA}" + +PACKAGECONFIG[unwind] = "--enable-libunwind,--disable-libunwind,libunwind" + +# llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2) +FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer" + +CFLAGS_append_armv5 = " -DMISSING_64BIT_ATOMICS" + +# Remove the mesa dependency on mesa-dev, as mesa is empty +RDEPENDS_${PN}-dev = "" + +# Add dependency so that GLES3 header don't need to be added manually +RDEPENDS_libgles2-mesa-dev += "libgles3-mesa-dev" + +PACKAGES =+ "libegl-mesa libegl-mesa-dev \ + libosmesa libosmesa-dev \ + libgl-mesa libgl-mesa-dev \ + libglapi libglapi-dev \ + libgbm libgbm-dev \ + libgles1-mesa libgles1-mesa-dev \ + libgles2-mesa libgles2-mesa-dev \ + libgles3-mesa libgles3-mesa-dev \ + libwayland-egl libwayland-egl-dev \ + libxatracker libxatracker-dev \ + mesa-megadriver mesa-vulkan-drivers \ + " + +do_install_append () { + # Drivers never need libtool .la files + rm -f ${D}${libdir}/dri/*.la + rm -f ${D}${libdir}/egl/*.la + rm -f ${D}${libdir}/gallium-pipe/*.la + rm -f ${D}${libdir}/gbm/*.la + + # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used + rm -f ${D}${sysconfdir}/drirc + chrpath --delete ${D}${libdir}/dri/*_dri.so || true +} + +# For the packages that make up the OpenGL interfaces, inject variables so that +# they don't get Debian-renamed (which would remove the -mesa suffix), and +# RPROVIDEs/RCONFLICTs on the generic libgl name. +python __anonymous() { + pkgconfig = (d.getVar('PACKAGECONFIG') or "").split() + for p in (("egl", "libegl", "libegl1"), + ("dri", "libgl", "libgl1"), + ("gles", "libgles1", "libglesv1-cm1"), + ("gles", "libgles2", "libglesv2-2"), + ("gles", "libgles3",)): + if not p[0] in pkgconfig: + continue + fullp = p[1] + "-mesa" + pkgs = " ".join(p[1:]) + d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1") + d.appendVar("RREPLACES_" + fullp, pkgs) + d.appendVar("RPROVIDES_" + fullp, pkgs) + d.appendVar("RCONFLICTS_" + fullp, pkgs) + + d.appendVar("RRECOMMENDS_" + fullp, " mesa-megadriver") + + # For -dev, the first element is both the Debian and original name + fullp += "-dev" + pkgs = p[1] + "-dev" + d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1") + d.appendVar("RREPLACES_" + fullp, pkgs) + d.appendVar("RPROVIDES_" + fullp, pkgs) + d.appendVar("RCONFLICTS_" + fullp, pkgs) +} + +python mesa_populate_packages() { + pkgs = ['mesa', 'mesa-dev', 'mesa-dbg'] + for pkg in pkgs: + d.setVar("RPROVIDES_%s" % pkg, pkg.replace("mesa", "mesa-dri", 1)) + d.setVar("RCONFLICTS_%s" % pkg, pkg.replace("mesa", "mesa-dri", 1)) + d.setVar("RREPLACES_%s" % pkg, pkg.replace("mesa", "mesa-dri", 1)) + + import re + dri_drivers_root = oe.path.join(d.getVar('PKGD'), d.getVar('libdir'), "dri") + if os.path.isdir(dri_drivers_root): + dri_pkgs = os.listdir(dri_drivers_root) + lib_name = d.expand("${MLPREFIX}mesa-megadriver") + for p in dri_pkgs: + m = re.match('^(.*)_dri\.so$', p) + if m: + pkg_name = " ${MLPREFIX}mesa-driver-%s" % legitimize_package_name(m.group(1)) + d.appendVar("RPROVIDES_%s" % lib_name, pkg_name) + d.appendVar("RCONFLICTS_%s" % lib_name, pkg_name) + d.appendVar("RREPLACES_%s" % lib_name, pkg_name) + + pipe_drivers_root = os.path.join(d.getVar('libdir'), "gallium-pipe") + do_split_packages(d, pipe_drivers_root, '^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='') +} + +PACKAGESPLITFUNCS_prepend = "mesa_populate_packages " + +PACKAGES_DYNAMIC += "^mesa-driver-.*" + +FILES_${PN} += "${sysconfdir}/drirc" +FILES_mesa-megadriver = "${libdir}/dri/*" +FILES_mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${datadir}/vulkan" +FILES_libegl-mesa = "${libdir}/libEGL.so.*" +FILES_libgbm = "${libdir}/libgbm.so.*" +FILES_libgles1-mesa = "${libdir}/libGLESv1*.so.*" +FILES_libgles2-mesa = "${libdir}/libGLESv2.so.*" +FILES_libgl-mesa = "${libdir}/libGL.so.*" +FILES_libglapi = "${libdir}/libglapi.so.*" +FILES_libosmesa = "${libdir}/libOSMesa.so.*" +FILES_libwayland-egl = "${libdir}/libwayland-egl.so.*" +FILES_libxatracker = "${libdir}/libxatracker.so.*" + +FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan" +FILES_libegl-mesa-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" +FILES_libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h" +FILES_libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc" +FILES_libglapi-dev = "${libdir}/libglapi.*" +FILES_libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc" +FILES_libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc" +FILES_libgles3-mesa-dev = "${includedir}/GLES3" +FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir}/pkgconfig/osmesa.pc" +FILES_libwayland-egl-dev = "${libdir}/pkgconfig/wayland-egl.pc ${libdir}/libwayland-egl.*" +FILES_libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \ + ${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \ + ${libdir}/pkgconfig/xatracker.pc" diff --git a/poky/meta/recipes-graphics/mesa/mesa_17.3.8.bb b/poky/meta/recipes-graphics/mesa/mesa_17.3.8.bb new file mode 100644 index 000000000..2d3fd3ca3 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa_17.3.8.bb @@ -0,0 +1,23 @@ +require ${BPN}.inc + +SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ + file://disable-asm-on-non-gcc.patch \ + file://Use-Python-3-to-execute-the-scripts.patch \ + file://0001-Use-wayland-scanner-in-the-path.patch \ + file://0002-hardware-gloat.patch \ + file://llvm-config-version.patch \ + file://0001-winsys-svga-drm-Include-sys-types.h.patch \ + file://0001-Makefile.vulkan.am-explictly-add-lib-expat-to-intel-.patch \ + file://0001-st-dri-Initialise-modifier-to-INVALID-for-DRI2.patch \ + " + +SRC_URI[md5sum] = "203d1a79156ab6926f2d253b377e9d9d" +SRC_URI[sha256sum] = "8f9d9bf281c48e4a8f5228816577263b4c655248dc7666e75034ab422951a6b1" + +#because we cannot rely on the fact that all apps will use pkgconfig, +#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER +do_install_append() { + if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then + sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if defined(MESA_EGL_NO_X11_HEADERS) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h + fi +} diff --git a/poky/meta/recipes-graphics/mini-x-session/files/mini-x-session b/poky/meta/recipes-graphics/mini-x-session/files/mini-x-session new file mode 100644 index 000000000..dca655a91 --- /dev/null +++ b/poky/meta/recipes-graphics/mini-x-session/files/mini-x-session @@ -0,0 +1,39 @@ +#!/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 +if [ -d "$MINI_X_SESSION_DIR" ]; then + # Execute session file on behalf of file owner + find $MINI_X_SESSION_DIR -type f | while read SESSIONFILE; do + set +e + USERNAME=`stat -c %U $SESSIONFILE` + # Using su rather than sudo as latest 1.8.1 cause failure [YOCTO #1211] +# su -l -c '$SESSIONFILE&' $USERNAME + sudo -b -i -u $USERNAME $SESSIONFILE& + set -e + done +fi + +# 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/poky/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb b/poky/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb new file mode 100644 index 000000000..4e89d631c --- /dev/null +++ b/poky/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "Very simple session manager for X" +HOMEPAGE = "http://www.yoctoproject.org" +BUGTRACKER = "http://bugzilla.pokylinux.org" + +PR = "r4" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://mini-x-session;endline=5;md5=b6430bffbcf05f9760e72938826b7487" + +SECTION = "x11" +RCONFLICTS_${PN} = "matchbox-common" + +SRC_URI = "file://mini-x-session" +S = "${WORKDIR}" + +RDEPENDS_${PN} = "sudo" + +inherit update-alternatives + +ALTERNATIVE_${PN} = "x-session-manager" +ALTERNATIVE_TARGET[x-session-manager] = "${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/poky/meta/recipes-graphics/mx/mx-1.0/fix-test-includes.patch b/poky/meta/recipes-graphics/mx/mx-1.0/fix-test-includes.patch new file mode 100644 index 000000000..82c93dd60 --- /dev/null +++ b/poky/meta/recipes-graphics/mx/mx-1.0/fix-test-includes.patch @@ -0,0 +1,20 @@ +Fix missing include directory when building tests + +This patch is currently required for all versions of mx +Upstream-Status: Submitted @ https://github.com/clutter-project/mx/issues/82 +Signed-off-by: Tomas Frydrych <tomas@sleepfive.com> +-- +Index: git/tests/Makefile.am +=================================================================== +--- git.orig/tests/Makefile.am 2013-05-08 15:18:56.918596425 +0100 ++++ git/tests/Makefile.am 2013-05-08 15:23:26.864781401 +0100 +@@ -10,7 +10,8 @@ + + INCLUDES = \ + -I$(top_srcdir) \ +- -I$(top_builddir) ++ -I$(top_builddir)\ ++ -I$(top_builddir)/mx + + noinst_PROGRAMS = \ + test-deform-texture \ diff --git a/poky/meta/recipes-graphics/mx/mx-1.0_1.4.7.bb b/poky/meta/recipes-graphics/mx/mx-1.0_1.4.7.bb new file mode 100644 index 000000000..58a6997ff --- /dev/null +++ b/poky/meta/recipes-graphics/mx/mx-1.0_1.4.7.bb @@ -0,0 +1,16 @@ +require mx.inc + +# The 1.4.7 tag does not build against cogl 1.14, pull in a revision with a fix +SRCREV = "9b1db6b8060bd00b121a692f942404a24ae2960f" +PV = "1.4.7+git${SRCPV}" + +# Exclude x.99.x versions from upstream checks +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>^\d+(\.(?!99)\d+)+)" + +SRC_URI = "git://github.com/clutter-project/mx.git;branch=mx-1.4 \ + file://fix-test-includes.patch \ + " +S = "${WORKDIR}/git" + +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \ + file://mx/mx-widget.c;beginline=8;endline=20;md5=13bba3c973a72414a701e1e87b5ee879" diff --git a/poky/meta/recipes-graphics/mx/mx.inc b/poky/meta/recipes-graphics/mx/mx.inc new file mode 100644 index 000000000..d30483748 --- /dev/null +++ b/poky/meta/recipes-graphics/mx/mx.inc @@ -0,0 +1,21 @@ +SUMMARY = "Clutter based UI widget library" +LICENSE = "LGPLv2.1" + +inherit clutter autotools distro_features_check gobject-introspection gtk-doc +# depends on clutter-1.0 which depends on cogl-1.0 +REQUIRED_DISTRO_FEATURES = "opengl" + +DEPENDS = "intltool-native clutter-1.0 dbus-glib gdk-pixbuf" + +SRC_URI = "http://source.clutter-project.org/sources/mx/${@get_verdir("${PV}")}/mx-${PV}.tar.xz" + +EXTRA_OECONF = "--disable-gtk-widgets \ + --with-dbus \ + --with-winsys=none \ + --without-clutter-imcontext \ + --without-clutter-gesture \ + --without-startup-notification \ + --without-glade \ + " + +FILES_${PN} += "${datadir}" diff --git a/poky/meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb b/poky/meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb new file mode 100644 index 000000000..87c700e02 --- /dev/null +++ b/poky/meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb @@ -0,0 +1,22 @@ +# +# Copyright (C) 2007 OpenedHand Ltd. +# + +SUMMARY = "Clutter package groups" + +PR = "r6" + +inherit packagegroup distro_features_check +# rdepends on clutter-* +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGES = "\ + ${PN}-core \ + " + +SUMMARY_${PN}-core = "Clutter graphics library" +RDEPENDS_${PN}-core = "\ + clutter-1.0 \ + clutter-gst-3.0 \ + clutter-gtk-1.0 \ + " diff --git a/poky/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb b/poky/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb new file mode 100644 index 000000000..7ea72d55a --- /dev/null +++ b/poky/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb @@ -0,0 +1,17 @@ +SUMMARY = "Basic X11 session" +DESCRIPTION = "Packages required to set up a basic working X11 session" +PR = "r1" + +inherit packagegroup distro_features_check +# rdepends on matchbox-wm +REQUIRED_DISTRO_FEATURES = "x11" + +RDEPENDS_${PN} = "\ + packagegroup-core-x11-xserver \ + packagegroup-core-x11-utils \ + dbus \ + matchbox-terminal \ + matchbox-wm \ + mini-x-session \ + liberation-fonts \ + " diff --git a/poky/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb b/poky/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb new file mode 100644 index 000000000..97dcac5f7 --- /dev/null +++ b/poky/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb @@ -0,0 +1,20 @@ +# +# Copyright (C) 2011 Intel Corporation +# + +SUMMARY = "X11 display server" +PR = "r40" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit packagegroup distro_features_check +# rdepends on XSERVER +REQUIRED_DISTRO_FEATURES = "x11" + +XSERVER ?= "xserver-xorg xf86-video-fbdev" +XSERVERCODECS ?= "" + +RDEPENDS_${PN} = "\ + ${XSERVER} \ + ${XSERVERCODECS} \ + " diff --git a/poky/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb b/poky/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb new file mode 100644 index 000000000..001db9e5e --- /dev/null +++ b/poky/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb @@ -0,0 +1,36 @@ +# +# Copyright (C) 2011 Intel Corporation +# + +PR = "r40" + +inherit packagegroup distro_features_check +REQUIRED_DISTRO_FEATURES = "x11" + +PACKAGES = "${PN} ${PN}-utils" + +# backwards compatibility for xserver-common +VIRTUAL-RUNTIME_xserver_common ?= "" + +# elsa, xserver-nodm-init +VIRTUAL-RUNTIME_graphical_init_manager ?= "xserver-nodm-init" + +SUMMARY = "X11 display server and basic utilities" +RDEPENDS_${PN} = "\ + ${PN}-xserver \ + ${PN}-utils \ + " + +SUMMARY_${PN}-utils = "X11 basic utilities and init" +RDEPENDS_${PN}-utils = "\ + ${VIRTUAL-RUNTIME_xserver_common} \ + ${VIRTUAL-RUNTIME_graphical_init_manager} \ + xauth \ + xhost \ + xset \ + xrandr \ + xmodmap \ + xdpyinfo \ + xinput-calibrator \ + dbus-x11 \ + " diff --git a/poky/meta/recipes-graphics/pango/pango/0001-Drop-introspection-macros-from-acinclude.m4.patch b/poky/meta/recipes-graphics/pango/pango/0001-Drop-introspection-macros-from-acinclude.m4.patch new file mode 100644 index 000000000..9e1626e9a --- /dev/null +++ b/poky/meta/recipes-graphics/pango/pango/0001-Drop-introspection-macros-from-acinclude.m4.patch @@ -0,0 +1,120 @@ +From 867a512eddbeb1899d3e7096df3da1dd0ce3e7b7 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Fri, 23 Oct 2015 14:06:17 +0300 +Subject: [PATCH] Drop introspection macros from acinclude.m4 + +They take precendence over our customized macros, and so +introspection doesn't work correctly. + +Upstream-Status: Backport [upstream 5ccfe0] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + acinclude.m4 | 96 ------------------------------------------------------------ + 1 file changed, 96 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 8899c7c..48fd5d8 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -55,99 +55,3 @@ AC_DEFUN([JH_CHECK_XML_CATALOG], + ]) + + +-dnl REMOVE THIS WHEN introspection.m4 is widely available +-dnl +-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]) +-]) +-- +2.1.4 diff --git a/poky/meta/recipes-graphics/pango/pango/0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch b/poky/meta/recipes-graphics/pango/pango/0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch new file mode 100644 index 000000000..6784a105a --- /dev/null +++ b/poky/meta/recipes-graphics/pango/pango/0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch @@ -0,0 +1,147 @@ +From 526a6a9fc9a1cfe75c521c8bb39b61754fe42fe8 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Fri, 2 Sep 2016 14:00:24 +0300 +Subject: [PATCH] Enforce recreation of docs/pango.types; it is build + configuration-specific. + +In particular, it needs to exclude references to PangoXft if Xft is not available. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + docs/Makefile.am | 17 ++++-------- + docs/pango.types | 80 -------------------------------------------------------- + 2 files changed, 5 insertions(+), 92 deletions(-) + delete mode 100644 docs/pango.types + +diff --git a/docs/Makefile.am b/docs/Makefile.am +index f5f1317..8947a99 100644 +--- a/docs/Makefile.am ++++ b/docs/Makefile.am +@@ -49,6 +49,10 @@ IGNORE_HFILES= \ + pangocoretext-private.h \ + pangoatsui-private.h + ++if !HAVE_XFT ++IGNORE_HFILES += pangoxft pangoxft-render.h ++endif ++ + # CFLAGS and LDFLAGS for compiling scan program. Only needed + # if $(DOC_MODULE).types is non-empty. + INCLUDES = \ +@@ -103,16 +107,6 @@ include $(top_srcdir)/gtk-doc.make + # This line really belongs in gtk-doc.mk + $(REPORT_FILES): sgml-build.stamp + +-pango.types: +- @echo "Rebuilding $@" +- @LANG=C; LIST=$$(grep 'pango_[_a-zA-Z0-9]*_get_type' $(HFILE_GLOB) | grep -v '\(private\|atsui\|core_text\|win32\)' | sed 's/\([^:]*:\).*\(pango[_a-zA-Z0-9]*_get_type\).*/\1\2/') && \ +- echo "$$LIST" | sed 's/.*\/\(pango\/.*\):.*/#include <\1>/' | sort -u > $@.tmp && \ +- echo >> $@.tmp && \ +- echo "$$LIST" | cut -d : -f 2 | sort -u >> $@.tmp && \ +- mv $@.tmp $@ +- +-BUILT_SOURCES = pango.types +- + ######################################################################## + + MAINTAINERCLEANFILES = $(BUILT_SOURCES) +@@ -120,8 +114,7 @@ EXTRA_DIST += \ + layout.fig \ + layout.eps \ + version.xml.in \ +- check.docs \ +- pango.types ++ check.docs + + # force doc rebulid after configure + dist-hook-local: dist-local-check-no-cross-references all-local +diff --git a/docs/pango.types b/docs/pango.types +deleted file mode 100644 +index 7d93cda..0000000 +--- a/docs/pango.types ++++ /dev/null +@@ -1,80 +0,0 @@ +-#include <pango/pango-attributes.h> +-#include <pango/pango-context.h> +-#include <pango/pango-engine.h> +-#include <pango/pango-enum-types.h> +-#include <pango/pango-font.h> +-#include <pango/pango-fontmap.h> +-#include <pango/pango-fontset.h> +-#include <pango/pango-glyph-item.h> +-#include <pango/pango-glyph.h> +-#include <pango/pango-item.h> +-#include <pango/pango-language.h> +-#include <pango/pango-layout.h> +-#include <pango/pango-matrix.h> +-#include <pango/pango-ot.h> +-#include <pango/pango-renderer.h> +-#include <pango/pango-tabs.h> +-#include <pango/pangocairo-fc.h> +-#include <pango/pangocairo.h> +-#include <pango/pangofc-decoder.h> +-#include <pango/pangofc-font.h> +-#include <pango/pangofc-fontmap.h> +-#include <pango/pangoft2.h> +-#include <pango/pangoxft-render.h> +-#include <pango/pangoxft.h> +- +-pango_alignment_get_type +-pango_attr_list_get_type +-pango_attr_type_get_type +-pango_bidi_type_get_type +-pango_cairo_fc_font_map_get_type +-pango_cairo_font_get_type +-pango_cairo_font_map_get_type +-pango_color_get_type +-pango_context_get_type +-pango_coverage_level_get_type +-pango_direction_get_type +-pango_ellipsize_mode_get_type +-pango_engine_get_type +-pango_engine_lang_get_type +-pango_engine_shape_get_type +-pango_fc_decoder_get_type +-pango_fc_font_get_type +-pango_fc_font_map_get_type +-pango_font_description_get_type +-pango_font_face_get_type +-pango_font_family_get_type +-pango_font_get_type +-pango_font_map_get_type +-pango_font_mask_get_type +-pango_font_metrics_get_type +-pango_fontset_get_type +-pango_fontset_simple_get_type +-pango_ft2_font_map_get_type +-pango_glyph_item_get_type +-pango_glyph_item_iter_get_type +-pango_glyph_string_get_type +-pango_gravity_get_type +-pango_gravity_hint_get_type +-pango_item_get_type +-pango_language_get_type +-pango_layout_get_type +-pango_layout_iter_get_type +-pango_layout_line_get_type +-pango_matrix_get_type +-pango_ot_info_get_type +-pango_ot_ruleset_get_type +-pango_render_part_get_type +-pango_renderer_get_type +-pango_script_get_type +-pango_stretch_get_type +-pango_style_get_type +-pango_tab_align_get_type +-pango_tab_array_get_type +-pango_underline_get_type +-pango_variant_get_type +-pango_weight_get_type +-pango_wrap_mode_get_type +-pango_xft_font_get_type +-pango_xft_font_map_get_type +-pango_xft_renderer_get_type +-- +2.9.3 + diff --git a/poky/meta/recipes-graphics/pango/pango/run-ptest b/poky/meta/recipes-graphics/pango/pango/run-ptest new file mode 100644 index 000000000..fa87a7577 --- /dev/null +++ b/poky/meta/recipes-graphics/pango/pango/run-ptest @@ -0,0 +1,3 @@ +#! /bin/sh + +gnome-desktop-testing-runner pango diff --git a/poky/meta/recipes-graphics/pango/pango_1.40.14.bb b/poky/meta/recipes-graphics/pango/pango_1.40.14.bb new file mode 100644 index 000000000..3bd9c6471 --- /dev/null +++ b/poky/meta/recipes-graphics/pango/pango_1.40.14.bb @@ -0,0 +1,50 @@ +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+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" + +inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspection + +SRC_URI += "file://run-ptest \ + file://0001-Drop-introspection-macros-from-acinclude.m4.patch \ + file://0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch \ +" +SRC_URI[archive.md5sum] = "18d7eb8d52e7e445e733c109ddaa7b78" +SRC_URI[archive.sha256sum] = "90af1beaa7bf9e4c52db29ec251ec4fd0a8f2cc185d521ad1f88d01b3a6a17e3" + +DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG[x11] = "--with-xft,--without-xft,virtual/libx11 libxft" + +EXTRA_OECONF = " \ + --disable-debug \ + " + +LEAD_SONAME = "libpango-1.0*" +LIBV = "1.8.0" + +# This binary needs to be compiled for the host architecture. This isn't pretty! +do_compile_prepend_class-target () { + if ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'true', 'false', d)}; then + make CC="${BUILD_CC}" CFLAGS="" LDFLAGS="${BUILD_LDFLAGS}" AM_CPPFLAGS="$(pkg-config-native --cflags glib-2.0)" gen_all_unicode_LDADD="$(pkg-config-native --libs glib-2.0)" -C ${B}/tests gen-all-unicode + fi +} + +FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}" +FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la" + +RDEPENDS_${PN}-ptest += "liberation-fonts cantarell-fonts" + +RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \ + pango-module-basic-fc pango-module-arabic-lang" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-cmake-install-bash-completions-in-the-right-place.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-cmake-install-bash-completions-in-the-right-place.patch new file mode 100644 index 000000000..e07e810a7 --- /dev/null +++ b/poky/meta/recipes-graphics/piglit/piglit/0001-cmake-install-bash-completions-in-the-right-place.patch @@ -0,0 +1,35 @@ +From 26faa2c157a27a18a9f767976730fe0c115e3af4 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Wed, 13 Jul 2016 19:19:02 +0300 +Subject: [PATCH] cmake: install bash-completions in the right place + +The completionsdir variable is a full path and should not be +prefixed. + +This does mean the files may be installed outside of +CMAKE_INSTALL_PREFIX -- the alternative is more difficult and +means that bash completion files may be installed where +bash-completion can't find them. + +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +Upstream-Status: Submitted [mailing list] +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8e2abba..784a8f9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -532,7 +532,7 @@ install ( + if (BASH_COMPLETION_FOUND) + install( + FILES completions/bash/piglit +- DESTINATION ${CMAKE_INSTALL_PREFIX}/${BASH_COMPLETION_COMPLETIONSDIR}/ ++ DESTINATION ${BASH_COMPLETION_COMPLETIONSDIR}/ + ) + endif (BASH_COMPLETION_FOUND) + +-- +2.8.1 + diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch new file mode 100644 index 000000000..f851a92ce --- /dev/null +++ b/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch @@ -0,0 +1,54 @@ +From 0fc2c2932699cfd68be96c820fddfdd79b48b788 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 9 Jul 2016 07:52:19 +0000 +Subject: [PATCH] tests: Use FE_UPWARD only if its defined in fenv.h + +On ARM, musl does not define FE_* when arch does not have +VFP, (which is right interpretation), therefore check if +its defined before using it + +Fixes errors like + +tests/general/roundmode-pixelstore.c:82:19: error: 'FE_UPWARD' undeclared (first use in this function) + ret = fesetround(FE_UPWARD); + ^~~~~~~~~ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + tests/general/roundmode-getintegerv.c | 2 ++ + tests/general/roundmode-pixelstore.c | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/tests/general/roundmode-getintegerv.c b/tests/general/roundmode-getintegerv.c +index 28ecfaf..5c27579 100644 +--- a/tests/general/roundmode-getintegerv.c ++++ b/tests/general/roundmode-getintegerv.c +@@ -81,7 +81,9 @@ piglit_init(int argc, char **argv) + { + int ret; + bool pass = true; ++#ifdef FE_UPWARD + ret = fesetround(FE_UPWARD); ++#endif + if (ret != 0) { + printf("Couldn't set rounding mode\n"); + piglit_report_result(PIGLIT_SKIP); +diff --git a/tests/general/roundmode-pixelstore.c b/tests/general/roundmode-pixelstore.c +index 9284f43..3fcb396 100644 +--- a/tests/general/roundmode-pixelstore.c ++++ b/tests/general/roundmode-pixelstore.c +@@ -79,7 +79,9 @@ piglit_init(int argc, char **argv) + { + int ret; + bool pass = true; ++#ifdef FE_UPWARD + ret = fesetround(FE_UPWARD); ++#endif + if (ret != 0) { + printf("Couldn't set rounding mode\n"); + piglit_report_result(PIGLIT_SKIP); +-- +1.8.3.1 + diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb new file mode 100644 index 000000000..b936ad8a7 --- /dev/null +++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb @@ -0,0 +1,52 @@ +SUMMARY = "OpenGL driver testing framework" +LICENSE = "MIT & LGPLv2+ & GPLv3 & GPLv2+ & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0" + +SRC_URI = "git://anongit.freedesktop.org/piglit \ + file://0001-cmake-install-bash-completions-in-the-right-place.patch \ + file://0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch \ + " +UPSTREAM_CHECK_COMMITS = "1" + +# From 2018-02-26 +SRCREV = "4ce0887e2f7f848d2be2e435a2d0f3c80e44ea3b" +# (when PV goes above 1.0 remove the trailing r) +PV = "1.0+gitr${SRCPV}" + +S = "${WORKDIR}/git" + +DEPENDS = "libpng virtual/libx11 libxkbcommon libxrender waffle virtual/libgl libglu python3-mako-native python3-numpy-native python3-six-native virtual/egl" + +inherit cmake python3native distro_features_check bash-completion +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +# depends on virtual/libgl +REQUIRED_DISTRO_FEATURES += "opengl" + +# The built scripts go into the temporary directory according to tempfile +# (typically /tmp) which can race if multiple builds happen on the same machine, +# so tell it to use a directory in ${B} to avoid overwriting. +export TEMP = "${B}/temp/" +do_compile[dirs] =+ "${B}/temp/" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut," + +do_configure_prepend() { + if [ "${@bb.utils.contains('PACKAGECONFIG', 'freeglut', 'yes', 'no', d)}" = "no" ]; then + sed -i -e "/^#.*include <GL\/freeglut_ext.h>$/d" ${S}/src/piglit/glut_wrap.h + sed -i -e "/^#.*include.*<GL\/glut.h>$/d" ${S}/src/piglit/glut_wrap.h + fi +} + +OECMAKE_TARGET_INSTALL = "install/strip" + +RDEPENDS_${PN} = "waffle python3 python3-mako python3-json \ + python3-misc \ + python3-unixadmin python3-xml python3-multiprocessing \ + python3-six python3-shell python3-io \ + python3-netserver mesa-demos bash \ + " + +INSANE_SKIP_${PN} += "dev-so already-stripped" diff --git a/poky/meta/recipes-graphics/pong-clock/pong-clock/pong-clock-no-flicker.c b/poky/meta/recipes-graphics/pong-clock/pong-clock/pong-clock-no-flicker.c new file mode 100644 index 000000000..41cebc58a --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb b/poky/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb new file mode 100644 index 000000000..cdfe38a22 --- /dev/null +++ b/poky/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "A clock combined with a game of pong" +LICENSE = "GPLv2+" +DEPENDS = "virtual/libx11 xdmcp xau" + +inherit distro_features_check pkgconfig +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = "file://pong-clock-no-flicker.c" + +LIC_FILES_CHKSUM = "file://pong-clock-no-flicker.c;beginline=1;endline=23;md5=dd248d50f73f746d1ee78586b0b2ebd3" + +S = "${WORKDIR}" + +do_compile () { + ${CC} ${CFLAGS} ${LDFLAGS} -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/poky/meta/recipes-graphics/startup-notification/startup-notification-0.12/obsolete_automake_macros.patch b/poky/meta/recipes-graphics/startup-notification/startup-notification-0.12/obsolete_automake_macros.patch new file mode 100644 index 000000000..9e86f2b2e --- /dev/null +++ b/poky/meta/recipes-graphics/startup-notification/startup-notification-0.12/obsolete_automake_macros.patch @@ -0,0 +1,15 @@ +Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=59097] + +Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> +diff -Nurd startup-notification-0.12/configure.in startup-notification-0.12/configure.in +--- startup-notification-0.12/configure.in 2011-05-16 17:29:20.000000000 +0300 ++++ startup-notification-0.12/configure.in 2013-01-07 06:00:48.921905409 +0200 +@@ -3,7 +3,7 @@ + AC_CONFIG_SRCDIR(libsn/sn-launchee.c) + + AM_INIT_AUTOMAKE +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADERS(config.h) + + # Honor aclocal flags + AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS}") diff --git a/poky/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb b/poky/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb new file mode 100644 index 000000000..6c1b93cd0 --- /dev/null +++ b/poky/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb @@ -0,0 +1,29 @@ +SUMMARY = "Enables monitoring and display of application startup" +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 = "r2" + +SECTION = "libs" + + +DEPENDS = "virtual/libx11 libsm xcb-util" + +inherit autotools pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = "http://www.freedesktop.org/software/startup-notification/releases/${BPN}-${PV}.tar.gz \ + file://obsolete_automake_macros.patch \ +" + +SRC_URI[md5sum] = "2cd77326d4dcaed9a5a23a1232fb38e9" +SRC_URI[sha256sum] = "3c391f7e930c583095045cd2d10eb73a64f085c7fde9d260f2652c7cb3cfbe4a" diff --git a/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts/30-liberation-aliases.conf b/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts/30-liberation-aliases.conf new file mode 100644 index 000000000..06094503c --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb b/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb new file mode 100644 index 000000000..412da4872 --- /dev/null +++ b/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb @@ -0,0 +1,39 @@ +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://releases.pagure.org/liberation-fonts/" +BUGTRACKER = "https://bugzilla.redhat.com/" + +SECTION = "x11/fonts" +LICENSE = "OFL-1.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f96db970a9a46c5369142b99f530366b" +PE = "1" + +inherit allarch fontcache + +FONT_PACKAGES = "${PN}" + +SRC_URI = "https://releases.pagure.org/liberation-fonts/liberation-fonts-ttf-${PV}.tar.gz \ + file://30-liberation-aliases.conf" + +S = "${WORKDIR}/liberation-fonts-ttf-${PV}" + +SRC_URI[md5sum] = "5c781723a0d9ed6188960defba8e91cf" +SRC_URI[sha256sum] = "7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504" + +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/${BPN}/ + install -m 0644 LICENSE ${D}${datadir}/doc/${BPN}/ +} + +PACKAGES = "${PN}" +FILES_${PN} += "${sysconfdir} ${datadir}" diff --git a/poky/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb b/poky/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb new file mode 100644 index 000000000..70b32cf8f --- /dev/null +++ b/poky/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb @@ -0,0 +1,32 @@ +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 = "r7" + +inherit fontcache + +FONT_PACKAGES = "${PN}" + +SRC_URI = "${GNOME_MIRROR}/ttf-bitstream-vera/1.10/ttf-bitstream-vera-${PV}.tar.bz2" +SRC_URI[md5sum] = "bb22bd5b4675f5dbe17c6963d8c00ed6" +SRC_URI[sha256sum] = "db5b27df7bbb318036ebdb75acd3e98f1bd6eb6608fb70a67d478cd243d178dc" + +do_install () { + install -d ${D}${datadir}/fonts/ttf + for i in *.ttf; do + install -m 644 $i ${D}${datadir}/fonts/ttf + done + + install -d ${D}${docdir}/${BPN} + for i in *.TXT; do + install -m 644 $i ${D}${docdir}/${BPN} + done +} + +FILES_${PN} = "${datadir}/fonts" diff --git a/poky/meta/recipes-graphics/vulkan/assimp_4.1.0.bb b/poky/meta/recipes-graphics/vulkan/assimp_4.1.0.bb new file mode 100644 index 000000000..194cbe33c --- /dev/null +++ b/poky/meta/recipes-graphics/vulkan/assimp_4.1.0.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Open Asset Import Library is a portable Open Source library to import \ + various well-known 3D model formats in a uniform manner." +HOMEPAGE = "http://www.assimp.org/" +SECTION = "devel" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2119edef0916b0bd511cb3c731076271" + +DEPENDS = "zlib" + +SRC_URI = "git://github.com/assimp/assimp.git" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(\d+(\.\d+)+))" + +SRCREV = "80799bdbf90ce626475635815ee18537718a05b1" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE = "-DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_BUILD_TESTS=OFF -DASSIMP_LIB_INSTALL_DIR=${baselib}" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch b/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch new file mode 100644 index 000000000..d32c8f280 --- /dev/null +++ b/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch @@ -0,0 +1,91 @@ +From 55770fb07c42fe410cf8d09f8f5976babc89b9ef Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Tue, 4 Jul 2017 17:13:45 +0300 +Subject: [PATCH] Don't build demos with questionably licensed data + +Some of the models don't have open source compatible licenses: +don't build demos using those. Also don't build demos that need +resources that are not included. + +ssao: +scenerendering: + Sibenik model, no license found + +deferred: +deferredmultisampling: +deferredshadows: + armor model, CC-BY-3.0 + +vulkanscene: +imgui: +shadowmapping: + vulkanscene model, no license found + +indirectdraw: + plant model, no license found + +hdr: +pbribl: +pbrtexture: + Require external Vulkan Asset Pack + +Upstream-Status: Inappropriate [configuration] +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + CMakeLists.txt | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4958fff..0f9d3e4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -150,17 +150,11 @@ set(EXAMPLES + computeparticles + computeshader + debugmarker +- deferred +- deferredmultisampling +- deferredshadows + displacement + distancefieldfonts + dynamicuniformbuffer + gears + geometryshader +- hdr +- imgui +- indirectdraw + instancing + mesh + multisampling +@@ -170,20 +164,14 @@ set(EXAMPLES + parallaxmapping + particlefire + pbrbasic +- pbribl +- pbrtexture + pipelines + pushconstants + radialblur + raytracing +- scenerendering + screenshot +- shadowmapping +- shadowmappingomni + skeletalanimation + specializationconstants + sphericalenvmapping +- ssao + subpasses + terraintessellation + tessellation +@@ -196,7 +184,6 @@ set(EXAMPLES + texturesparseresidency + triangle + viewportarray +- vulkanscene + ) + + buildExamples() +-- +2.13.2 + diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch b/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch new file mode 100644 index 000000000..681b3422d --- /dev/null +++ b/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch @@ -0,0 +1,41 @@ +From b0495efb6c3ea3a530fcbaddac86da57ecce5a66 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Mon, 10 Jul 2017 13:11:12 +0300 +Subject: [PATCH] Fix build on x86 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +| func_common.inl:193:51: error: wrong number of template arguments +| (5, should be 6) struct compute_sign<T, P, vecType, false, Aligned> + +The fix is backported from the upstream glm project. + +Upstream-Status: Pending [https://github.com/SaschaWillems/Vulkan/issues/356] +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + external/glm/glm/detail/func_common.inl | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/external/glm/glm/detail/func_common.inl b/external/glm/glm/detail/func_common.inl +index cafaed5..2dd94e1 100644 +--- a/external/glm/glm/detail/func_common.inl ++++ b/external/glm/glm/detail/func_common.inl +@@ -190,12 +190,12 @@ namespace detail + + # if GLM_ARCH == GLM_ARCH_X86 + template<length_t L, typename T, precision P, template<length_t, typename, precision> class vecType, bool Aligned> +- struct compute_sign<T, P, vecType, false, Aligned> ++ struct compute_sign<L, T, P, vecType, false, Aligned> + { + GLM_FUNC_QUALIFIER static vecType<L, T, P> call(vecType<L, T, P> const & x) + { + T const Shift(static_cast<T>(sizeof(T) * 8 - 1)); +- vecType<L, T, P> const y(vecType<typename make_unsigned<T>::type, P>(-x) >> typename make_unsigned<T>::type(Shift)); ++ vecType<L, T, P> const y(vecType<L, typename make_unsigned<T>::type, P>(-x) >> typename make_unsigned<T>::type(Shift)); + + return (x >> Shift) | y; + } +-- +2.1.4 + diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch b/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch new file mode 100644 index 000000000..4addea3bf --- /dev/null +++ b/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch @@ -0,0 +1,85 @@ +From edca667684764cfcc0460e448e834fadf623a887 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Mon, 3 Jul 2017 14:49:18 +0300 +Subject: [PATCH] Support installing demos, support out-of-tree builds + +This is especially useful for cross-compile situation where testing +happens on target. + +-DRESOURCE_INSTALL_DIR=<path> decides where data is installed (and +where the binaries will load the data from): if it's left empty, +then nothing will be installed and binaries will load the data from +CMAKE_SOURCE_DIR. + +Binaries are now correctly built in CMAKE_BINARY_DIR. + +Upstream-Status: Submitted [https://github.com/SaschaWillems/Vulkan/pull/352] +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + CMakeLists.txt | 15 ++++++++++++++- + base/vulkanexamplebase.cpp | 2 +- + 2 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b9886bc..4958fff 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,6 +16,8 @@ include_directories(base) + OPTION(USE_D2D_WSI "Build the project using Direct to Display swapchain" OFF) + OPTION(USE_WAYLAND_WSI "Build the project using Wayland swapchain" OFF) + ++set(RESOURCE_INSTALL_DIR "" CACHE PATH "Path to install resources to (leave empty for running uninstalled)") ++ + # Use FindVulkan module added with CMAKE 3.7 + if (NOT CMAKE_VERSION VERSION_LESS 3.7.0) + message(STATUS "Using module to find Vulkan") +@@ -108,6 +110,10 @@ function(buildExample EXAMPLE_NAME) + add_executable(${EXAMPLE_NAME} ${MAIN_CPP} ${SOURCE} ${SHADERS}) + target_link_libraries(${EXAMPLE_NAME} ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) + endif(WIN32) ++ ++ if(RESOURCE_INSTALL_DIR) ++ install(TARGETS ${EXAMPLE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ endif() + endfunction(buildExample) + + # Build all examples +@@ -117,6 +123,13 @@ function(buildExamples) + endforeach(EXAMPLE) + endfunction(buildExamples) + ++if(RESOURCE_INSTALL_DIR) ++ add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${RESOURCE_INSTALL_DIR}/\") ++ install(DIRECTORY data/ DESTINATION ${RESOURCE_INSTALL_DIR}/) ++else() ++ add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${CMAKE_SOURCE_DIR}/data/\") ++endif() ++ + # Compiler specific stuff + IF(MSVC) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") +@@ -128,7 +141,7 @@ ELSE(WIN32) + link_libraries(${XCB_LIBRARIES} ${Vulkan_LIBRARY}) + ENDIF(WIN32) + +-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin/") ++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/") + + set(EXAMPLES + bloom +diff --git a/base/vulkanexamplebase.cpp b/base/vulkanexamplebase.cpp +index 647368a..a0f28a5 100644 +--- a/base/vulkanexamplebase.cpp ++++ b/base/vulkanexamplebase.cpp +@@ -84,7 +84,7 @@ const std::string VulkanExampleBase::getAssetPath() + #if defined(__ANDROID__) + return ""; + #else +- return "./../data/"; ++ return VK_EXAMPLE_DATA_DIR; + #endif + } + #endif +-- +2.13.2 + diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb b/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb new file mode 100644 index 000000000..5fc9c2dba --- /dev/null +++ b/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb @@ -0,0 +1,41 @@ +DESCRIPTION = "Collection of Vulkan examples" +LICENSE = "MIT" +DEPENDS = "zlib" + +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=dcf473723faabf17baa9b5f2207599d0 \ + file://triangle/triangle.cpp;endline=12;md5=bccd1bf9cadd9e10086cf7872157e4fa" + +SRC_URI = "git://github.com/SaschaWillems/Vulkan.git \ + file://0001-Support-installing-demos-support-out-of-tree-builds.patch \ + file://0001-Don-t-build-demos-with-questionably-licensed-data.patch \ + file://0001-Fix-build-on-x86.patch \ +" +UPSTREAM_CHECK_COMMITS = "1" +SRCREV = "18df00c7b4677b0889486e16977857aa987947e2" +UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for" +S = "${WORKDIR}/git" + +REQUIRED_DISTRO_FEATURES = 'vulkan' + +inherit cmake distro_features_check +DEPENDS = "vulkan assimp" + +do_install_append () { + # Remove assets that have uncertain licenses + rm ${D}${datadir}/vulkan-demos/models/armor/* \ + ${D}${datadir}/vulkan-demos/models/sibenik/* \ + ${D}${datadir}/vulkan-demos/models/vulkanscene* \ + ${D}${datadir}/vulkan-demos/models/plants.dae \ + ${D}${datadir}/vulkan-demos/textures/texturearray_plants* + + mv ${D}${bindir}/screenshot ${D}${bindir}/vulkan-screenshot +} + +EXTRA_OECMAKE = "-DRESOURCE_INSTALL_DIR=${datadir}/vulkan-demos" + +ANY_OF_DISTRO_FEATURES = "x11 wayland" + +# Can only pick one of [wayland,xcb] +PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'xcb' ,d)}" +PACKAGECONFIG[wayland] = "-DUSE_WAYLAND_WSI=ON, -DUSE_WAYLAND_WSI=OFF, wayland" +PACKAGECONFIG[xcb] = ",,libxcb" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan/demos-Don-t-build-tri-or-cube.patch b/poky/meta/recipes-graphics/vulkan/vulkan/demos-Don-t-build-tri-or-cube.patch new file mode 100644 index 000000000..bcf84a5a3 --- /dev/null +++ b/poky/meta/recipes-graphics/vulkan/vulkan/demos-Don-t-build-tri-or-cube.patch @@ -0,0 +1,108 @@ +commit f63cbe944107b5cd8f150ceaaec43b26099d5688 +Author: Adam Jackson <ajax@redhat.com> +Date: Tue Feb 16 10:05:25 2016 -0500 + + demos: Don't build tri or cube + + There are more interesting demos, all we really want here is vulkaninfo. + This helps because we don't need to pre-build glslang/llvm/lunarglass + just to get the loader and layers. + +Upstream-Status: Inappropriate [configuration] +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> + +Index: git/demos/CMakeLists.txt +=================================================================== +--- git.orig/demos/CMakeLists.txt ++++ git/demos/CMakeLists.txt +@@ -63,46 +63,6 @@ elseif(UNIX) + else() + endif() + +-if(WIN32) +- # For Windows, since 32-bit and 64-bit items can co-exist, we build each in its own build directory. +- # 32-bit target data goes in build32, and 64-bit target data goes into build. So, include/link the +- # appropriate data at build time. +- if (CMAKE_CL_64) +- set (BUILDTGT_DIR build) +- else () +- set (BUILDTGT_DIR build32) +- endif() +- +- # Use static MSVCRT libraries +- foreach(configuration in CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO +- CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELWITHDEBINFO) +- if(${configuration} MATCHES "/MD") +- string(REGEX REPLACE "/MD" "/MT" ${configuration} "${${configuration}}") +- endif() +- endforeach() +- +- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-vert.spv +- COMMAND ${GLSLANG_VALIDATOR} -s -V -o ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${PROJECT_SOURCE_DIR}/demos/cube.vert +- DEPENDS cube.vert ${GLSLANG_VALIDATOR} +- ) +- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-frag.spv +- COMMAND ${GLSLANG_VALIDATOR} -s -V -o ${CMAKE_BINARY_DIR}/demos/cube-frag.spv ${PROJECT_SOURCE_DIR}/demos/cube.frag +- DEPENDS cube.frag ${GLSLANG_VALIDATOR} +- ) +- file(COPY cube.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/demos) +- file(COPY vulkaninfo.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/demos) +-else() +- if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) +- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-vert.spv +- COMMAND ${GLSLANG_VALIDATOR} -s -V -o cube-vert.spv ${PROJECT_SOURCE_DIR}/demos/cube.vert +- DEPENDS cube.vert ${GLSLANG_VALIDATOR} +- ) +- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-frag.spv +- COMMAND ${GLSLANG_VALIDATOR} -s -V -o cube-frag.spv ${PROJECT_SOURCE_DIR}/demos/cube.frag +- DEPENDS cube.frag ${GLSLANG_VALIDATOR} +- ) +- endif() +-endif() + + if(WIN32) + include_directories ( +@@ -116,43 +76,6 @@ endif() + add_executable(${API_LOWERCASE}info vulkaninfo.c) + target_link_libraries(${API_LOWERCASE}info ${LIBRARIES}) + +-if(NOT WIN32) +- if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) +- add_executable(cube cube.c ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${CMAKE_BINARY_DIR}/demos/cube-frag.spv) +- target_link_libraries(cube ${LIBRARIES}) +- endif() +-else() +- if (CMAKE_CL_64) +- set (LIB_DIR "Win64") +- else() +- set (LIB_DIR "Win32") +- endif() +- +- add_executable(cube WIN32 cube.c ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${CMAKE_BINARY_DIR}/demos/cube-frag.spv) +- target_link_libraries(cube ${LIBRARIES}) +-endif() +- +-if(NOT WIN32) +- if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) +- add_executable(cubepp cube.cpp ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${CMAKE_BINARY_DIR}/demos/cube-frag.spv) +- target_link_libraries(cubepp ${LIBRARIES}) +- endif() +-else() +- if (CMAKE_CL_64) +- set (LIB_DIR "Win64") +- else() +- set (LIB_DIR "Win32") +- endif() +- +- add_executable(cubepp WIN32 cube.cpp ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${CMAKE_BINARY_DIR}/demos/cube-frag.spv) +- target_link_libraries(cubepp ${LIBRARIES}) +-endif() +- +-if ((${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})) +- if ((DEMOS_WSI_SELECTION STREQUAL "XCB") OR (DEMOS_WSI_SELECTION STREQUAL "WAYLAND") OR WIN32 OR (CMAKE_SYSTEM_NAME STREQUAL "Android")) +- add_subdirectory(smoke) +- endif() +-endif() + + if(UNIX) + if(INSTALL_LVL_FILES) diff --git a/poky/meta/recipes-graphics/vulkan/vulkan_1.0.65.2.bb b/poky/meta/recipes-graphics/vulkan/vulkan_1.0.65.2.bb new file mode 100644 index 000000000..1c8a89550 --- /dev/null +++ b/poky/meta/recipes-graphics/vulkan/vulkan_1.0.65.2.bb @@ -0,0 +1,36 @@ +SUMMARY = "3D graphics and compute API common loader" +DESCRIPTION = "Vulkan is a new generation graphics and compute API \ +that provides efficient access to modern GPUs. These packages \ +provide only the common vendor-agnostic library loader, headers and \ +the vulkaninfo utility." +HOMEPAGE = "https://www.khronos.org/vulkan/" +BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers" +SECTION = "libs" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=99c647ca3d4f6a4b9d8628f757aad156 \ + file://loader/loader.c;endline=25;md5=a87cd5442291c23d1fce4eece4cfde9d" +SRC_URI = "git://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.git;branch=sdk-1.0.65 \ + file://demos-Don-t-build-tri-or-cube.patch \ + " +SRCREV = "73486a1a169d862d5210e2ad520d95319a2383fa" +UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" + +S = "${WORKDIR}/git" + +REQUIRED_DISTRO_FEATURES = "vulkan" + +inherit cmake python3native lib_package distro_features_check +ANY_OF_DISTRO_FEATURES = "x11 wayland" + +EXTRA_OECMAKE = "-DBUILD_WSI_MIR_SUPPORT=OFF \ + -DBUILD_LAYERS=OFF \ + -DBUILD_TESTS=OFF" + +# must choose x11 or wayland or both +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '' ,d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '' ,d)}" +PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON -DDEMOS_WSI_SELECTION=XCB, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF -DDEMOS_WSI_SELECTION=WAYLAND, libxcb libx11 libxrandr" +PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" + +RRECOMMENDS_${PN} = "mesa-vulkan-drivers" diff --git a/poky/meta/recipes-graphics/waffle/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch b/poky/meta/recipes-graphics/waffle/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch new file mode 100644 index 000000000..a0c826ed9 --- /dev/null +++ b/poky/meta/recipes-graphics/waffle/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch @@ -0,0 +1,54 @@ +From 3b9b8f5f6d1b99af43e95ec0868404e552a85b73 Mon Sep 17 00:00:00 2001 +From: Emil Velikov <emil.l.velikov@gmail.com> +Date: Thu, 19 Mar 2015 22:26:11 +0000 +Subject: [PATCH] third_party/threads: Use PTHREAD_MUTEX_RECURSIVE by default + +PTHREAD_MUTEX_RECURSIVE_NP was used for compatibility with old glibc. +Although due to the_GNU_SOURCES define the portable, +PTHREAD_MUTEX_RECURSIVE will be available for Linuxes since at least +1998. Simplify things giving us compatibility with musl which +apparently does not provide the non-portable define. + +Inspired by almost identical commit in mesa aead7fe2e2b(c11/threads: Use +PTHREAD_MUTEX_RECURSIVE by default) by Felix Janda. + +Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> +Reviewed-by: Chad Versace <chad.versace@intel.com> +--- +Upstream-Status: Backport + + third_party/threads/threads_posix.c | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/third_party/threads/threads_posix.c b/third_party/threads/threads_posix.c +index 5835e43..e122bf9 100644 +--- a/third_party/threads/threads_posix.c ++++ b/third_party/threads/threads_posix.c +@@ -26,6 +26,9 @@ + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ ++ ++#define _GNU_SOURCE ++ + #include <stdlib.h> + #ifndef assert + #include <assert.h> +@@ -150,13 +153,8 @@ int mtx_init(mtx_t *mtx, int type) + && type != (mtx_try|mtx_recursive)) + return thrd_error; + pthread_mutexattr_init(&attr); +- if ((type & mtx_recursive) != 0) { +-#if defined(__linux__) || defined(__linux) +- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP); +-#else ++ if ((type & mtx_recursive) != 0) + pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); +-#endif +- } + pthread_mutex_init(mtx, &attr); + pthread_mutexattr_destroy(&attr); + return thrd_success; +-- +2.5.2 + diff --git a/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb b/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb new file mode 100644 index 000000000..43c3edc05 --- /dev/null +++ b/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb @@ -0,0 +1,37 @@ +SUMMARY = "cross-platform C library to defer selection of GL API and of window system" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \ + file://include/waffle/waffle.h;endline=24;md5=61dbf8697f61c78645e75a93c585b1bf" + +SRC_URI = "http://waffle-gl.org/files/release/${BPN}-${PV}/${BPN}-${PV}.tar.xz \ + file://0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch \ + " +SRC_URI[md5sum] = "c669c91bf2f7e13a5d781c3dbb30fd8c" +SRC_URI[sha256sum] = "d2c096cf654bf0061323a4b9231a1ef5b749a1e5c7c5bfe067e964219c2a851c" + +UPSTREAM_CHECK_URI = "http://www.waffle-gl.org/releases.html" + +inherit cmake distro_features_check lib_package + +# This should be overridden per-machine to reflect the capabilities of the GL +# stack. +PACKAGECONFIG ??= "glx" + +# libx11 requires x11 in DISTRO_FEATURES. +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'glx', 'x11', '', d)}" + +# virtual/libgl requires opengl in DISTRO_FEATURES. +REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/${MLPREFIX}libgl', 'opengl', '', d)}" + +# I say virtual/libgl, actually wants gl.pc +PACKAGECONFIG[glx] = "-Dwaffle_has_glx=1,-Dwaffle_has_glx=0,virtual/${MLPREFIX}libgl libx11" + +# I say virtual/libgl, actually wants wayland-egl.pc, egl.pc, and the wayland +# DISTRO_FEATURE. +PACKAGECONFIG[wayland] = "-Dwaffle_has_wayland=1,-Dwaffle_has_wayland=0,virtual/${MLPREFIX}libgl wayland" + +# I say virtual/libgl, actually wants gbm.pc egl.pc +PACKAGECONFIG[gbm] = "-Dwaffle_has_gbm=1,-Dwaffle_has_gbm=0,virtual/${MLPREFIX}libgl udev" + +# I say virtual/libgl, actually wants egl.pc +PACKAGECONFIG[x11-egl] = "-Dwaffle_has_x11_egl=1,-Dwaffle_has_x11_egl=0,virtual/${MLPREFIX}libgl libxcb" diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.9.4.bb b/poky/meta/recipes-graphics/wayland/libinput_1.9.4.bb new file mode 100644 index 000000000..67a49dfe0 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/libinput_1.9.4.bb @@ -0,0 +1,29 @@ +SUMMARY = "Library to handle input devices in Wayland compositors" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2184aef38ff137ed33ce9a63b9d1eb8f" + +DEPENDS = "libevdev udev mtdev" + +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \ + " +SRC_URI[md5sum] = "8b43d07d1698fb207a0492fc67554d4f" +SRC_URI[sha256sum] = "0bcdbd4c4e3c2a2db322fbdf2ef3284f2e6d6fb7be3af80e6d8de7783f675190" + +UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" +inherit meson pkgconfig lib_package + +PACKAGECONFIG ??= "" +PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom" +PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3" + +UDEVDIR = "`pkg-config --variable=udevdir udev`" + +EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} -Ddocumentation=false -Dtests=false" + +# package name changed in 1.8.1 upgrade: make sure package upgrades work +RPROVIDES_${PN} = "libinput" +RREPLACES_${PN} = "libinput" +RCONFLICTS_${PN} = "libinput" diff --git a/poky/meta/recipes-graphics/wayland/mtdev_1.1.5.bb b/poky/meta/recipes-graphics/wayland/mtdev_1.1.5.bb new file mode 100644 index 000000000..ccd0ebbfc --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/mtdev_1.1.5.bb @@ -0,0 +1,18 @@ +SUMMARY = "Multitouch Protocol Translation Library" + +DESCRIPTION = "mtdev is a library which transforms all variants of kernel \ +multitouch events to the slotted type B protocol. The events put into mtdev may \ +be from any MT device, specifically type A without contact tracking, type A with \ +contact tracking, or type B with contact tracking" + +HOMEPAGE = "http://bitmath.org/code/mtdev/" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=ea6bd0268bb0fcd6b27698616ceee5d6" + +SRC_URI = "http://bitmath.org/code/${BPN}/${BP}.tar.bz2" +SRC_URI[md5sum] = "52c9610b6002f71d1642dc1a1cca5ec1" +SRC_URI[sha256sum] = "6677d5708a7948840de734d8b4675d5980d4561171c5a8e89e54adf7a13eba7f" + +inherit autotools pkgconfig diff --git a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.13.bb b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.13.bb new file mode 100644 index 000000000..1ef1ee141 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.13.bb @@ -0,0 +1,20 @@ +SUMMARY = "Collection of additional Wayland protocols" +DESCRIPTION = "Wayland protocols that add functionality not \ +available in the Wayland core protocol. Such protocols either add \ +completely new functionality, or extend the functionality of some other \ +protocol either in Wayland core, or some other protocol in \ +wayland-protocols." +HOMEPAGE = "http://wayland.freedesktop.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ + file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53" + +SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ + " +SRC_URI[md5sum] = "29312149dafcd4a0e739ba94995a574d" +SRC_URI[sha256sum] = "0758bc8008d5332f431b2a84fea7de64d971ce270ed208206a098ff2ebc68f38" + +inherit allarch autotools pkgconfig + +PACKAGES = "${PN}" +FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc" diff --git a/poky/meta/recipes-graphics/wayland/wayland/fixpathinpcfiles.patch b/poky/meta/recipes-graphics/wayland/wayland/fixpathinpcfiles.patch new file mode 100644 index 000000000..ad3526d98 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/wayland/fixpathinpcfiles.patch @@ -0,0 +1,32 @@ +Fix wayland-client and wayland-scanner pc files + +Upstream-Status: Pending + +Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.co.uk> + +Index: wayland-1.14.0/src/wayland-client.pc.in +=================================================================== +--- wayland-1.14.0.orig/src/wayland-client.pc.in ++++ wayland-1.14.0/src/wayland-client.pc.in +@@ -1,7 +1,7 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ + datarootdir=@datarootdir@ +-pkgdatadir=@datadir@/@PACKAGE@ ++pkgdatadir=${pc_sysrootdir}@datadir@/@PACKAGE@ + libdir=@libdir@ + includedir=@includedir@ + +Index: wayland-1.14.0/src/wayland-scanner.pc.in +=================================================================== +--- wayland-1.14.0.orig/src/wayland-scanner.pc.in ++++ wayland-1.14.0/src/wayland-scanner.pc.in +@@ -2,7 +2,7 @@ prefix=@prefix@ + exec_prefix=@exec_prefix@ + datarootdir=@datarootdir@ + pkgdatadir=@datadir@/@PACKAGE@ +-wayland_scanner=@bindir@/wayland-scanner ++wayland_scanner=wayland-scanner + + Name: Wayland Scanner + Description: Wayland scanner diff --git a/poky/meta/recipes-graphics/wayland/wayland_1.14.0.bb b/poky/meta/recipes-graphics/wayland/wayland_1.14.0.bb new file mode 100644 index 000000000..1a9ff9807 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/wayland_1.14.0.bb @@ -0,0 +1,42 @@ +SUMMARY = "Wayland, a protocol between a compositor and clients" +DESCRIPTION = "Wayland is a protocol for a compositor to talk to its clients \ +as well as a C library implementation of that protocol. The compositor can be \ +a standalone display server running on Linux kernel modesetting and evdev \ +input devices, an X application, or a wayland client itself. The clients can \ +be traditional applications, X servers (rootless or fullscreen) or other \ +display servers." +HOMEPAGE = "http://wayland.freedesktop.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=b31d8f53b6aaf2b4985d7dd7810a70d1 \ + file://src/wayland-server.c;endline=24;md5=b8e046164a766bb1ede8ba38e9dcd7ce" + +DEPENDS = "expat libxml2 libffi wayland-native" + +SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ + file://fixpathinpcfiles.patch \ + " +SRC_URI[md5sum] = "0235f6075c32c3be61cff94fa0b9f108" +SRC_URI[sha256sum] = "ed80cabc0961a759a42092e2c39aabfc1ec9a13c86c98bbe2b812f008da27ab8" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-documentation --with-host-scanner" +EXTRA_OECONF_class-native = "--disable-documentation --disable-libraries" + +# Wayland installs a M4 macro for other projects to use, which uses the target +# pkg-config to find files. Replace pkg-config with pkg-config-native. +do_install_append_class-native() { + sed -e 's,PKG_CHECK_MODULES(.*),,g' \ + -e 's,$PKG_CONFIG,pkg-config-native,g' \ + -i ${D}/${datadir}/aclocal/wayland-scanner.m4 +} + +sysroot_stage_all_append_class-target () { + rm ${SYSROOT_DESTDIR}/${datadir}/aclocal/wayland-scanner.m4 + cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/ +} + +FILES_${PN} = "${libdir}/*${SOLIBS}" +FILES_${PN}-dev += "${bindir} ${datadir}/wayland" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/wayland/weston-init.bb b/poky/meta/recipes-graphics/wayland/weston-init.bb new file mode 100644 index 000000000..22ba5f3fb --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston-init.bb @@ -0,0 +1,31 @@ +SUMMARY = "Startup script and systemd unit file for the Weston Wayland compositor" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI = "file://init \ + file://weston.service \ + file://weston-start" + +S = "${WORKDIR}" + +do_install() { + install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston + install -Dm0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service + + # Install weston-start script + install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start + sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start + sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start +} + +inherit allarch update-rc.d distro_features_check systemd + +# rdepends on weston which depends on virtual/egl +REQUIRED_DISTRO_FEATURES = "opengl" + +RDEPENDS_${PN} = "weston kbd" + +INITSCRIPT_NAME = "weston" +INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." + +SYSTEMD_SERVICE_${PN} = "weston.service" diff --git a/poky/meta/recipes-graphics/wayland/weston-init/init b/poky/meta/recipes-graphics/wayland/weston-init/init new file mode 100644 index 000000000..d3e87c6ce --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston-init/init @@ -0,0 +1,53 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: weston +# Required-Start: $local_fs $remote_fs +# Required-Stop: $local_fs $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +### END INIT INFO + +if test -e /etc/default/weston ; then + . /etc/default/weston +fi + +killproc() { + pid=`/bin/pidof $1` + [ "$pid" != "" ] && kill $pid +} + +read CMDLINE < /proc/cmdline +for x in $CMDLINE; do + case $x in + weston=false) + echo "Weston disabled" + exit 0; + ;; + esac +done + +case "$1" in + start) + . /etc/profile + + weston-start -- $OPTARGS + ;; + + stop) + echo "Stopping Weston" + killproc weston + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + *) + echo "usage: $0 { start | stop | restart }" + ;; +esac + +exit 0 diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston-start b/poky/meta/recipes-graphics/wayland/weston-init/weston-start new file mode 100755 index 000000000..e72fbaaac --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston-init/weston-start @@ -0,0 +1,69 @@ +#!/bin/sh +# Copyright (C) 2016 O.S. Systems Software LTDA. +# Copyright (C) 2016 Freescale Semiconductor + +export PATH="/sbin:/usr/sbin:/bin:/usr/bin" + +usage() { + cat <<EOF + $0 [<openvt arguments>] [-- <weston options>] +EOF +} + +## Module support +modules_dir=@DATADIR@/weston-start + +# Add weston extra argument +add_weston_argument() { + weston_args="$weston_args $1" +} + +# Add openvt extra argument +add_openvt_argument() { + openvt_args="$openvt_args $1" +} + +if [ -n "$WAYLAND_DISPLAY" ]; then + echo "ERROR: A Wayland compositor is already running, nested Weston instance is not supported yet." + exit 1 +fi +if [ -n "$DISPLAY" ]; then + launcher="weston" +else + launcher="weston-launch --" +fi + +openvt_args="-s" +while [ -n "$1" ]; do + if [ "$1" = "--" ]; then + shift + break + fi + openvt_args="$openvt_args $1" + shift +done + +weston_args=$* + +# Load and run modules +if [ -d "$modules_dir" ]; then + for m in "$modules_dir"/*; do + # Skip backup files + if [ "`echo $m | sed -e 's/\~$//'`" != "$m" ]; then + continue + fi + + # process module + . $m + done +fi + +if test -z "$XDG_RUNTIME_DIR"; then + export XDG_RUNTIME_DIR=/run/user/`id -u` + if ! test -d "$XDG_RUNTIME_DIR"; then + mkdir --parents $XDG_RUNTIME_DIR + chmod 0700 $XDG_RUNTIME_DIR + fi +fi + +exec openvt $openvt_args -- $launcher $weston_args --log=@LOCALSTATEDIR@/log/weston.log diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston.service b/poky/meta/recipes-graphics/wayland/weston-init/weston.service new file mode 100644 index 000000000..689ce4106 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston-init/weston.service @@ -0,0 +1,12 @@ +[Unit] +Description=Weston Wayland Compositor +RequiresMountsFor=/run + +[Service] +User=root +EnvironmentFile=-/etc/default/weston +ExecStart=/usr/bin/weston-start -v -e -- $OPTARGS + +[Install] +WantedBy=multi-user.target + diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch b/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch new file mode 100644 index 000000000..0671a4504 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch @@ -0,0 +1,76 @@ +From c22e90365d89346258394833cbcad03ff32b2e27 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 May 2015 20:56:00 -0700 +Subject: [PATCH weston] make error() portable + +error() is not posix but gnu extension so may not be available on all +kind of systemsi e.g. musl. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Submitted + + configure.ac | 2 ++ + libweston/weston-error.h | 20 ++++++++++++++++++++ + libweston/weston-launch.c | 2 +- + 3 files changed, 23 insertions(+), 1 deletion(-) + create mode 100644 src/weston-error.h + +Index: weston-3.0.0/configure.ac +=================================================================== +--- weston-3.0.0.orig/configure.ac ++++ weston-3.0.0/configure.ac +@@ -103,6 +103,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[], + [[#include <time.h>]]) + AC_CHECK_HEADERS([execinfo.h]) + ++AC_CHECK_HEADERS([error.h]) ++ + AC_CHECK_FUNCS([mkostemp strchrnul initgroups posix_fallocate]) + + # check for libdrm as a build-time dependency only +Index: weston-3.0.0/libweston/weston-error.h +=================================================================== +--- /dev/null ++++ weston-3.0.0/libweston/weston-error.h +@@ -0,0 +1,20 @@ ++#ifndef _WESTON_ERROR_H ++#define _WESTON_ERROR_H ++ ++#if defined(HAVE_ERROR_H) ++#include <error.h> ++#else ++#include <err.h> ++#include <string.h> ++#define _weston_error(S, E, F, ...) do { \ ++ if (E) \ ++ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \ ++ else \ ++ err(S, F, ##__VA_ARGS__); \ ++} while(0) ++ ++#define error _weston_error ++#endif ++ ++#endif ++ +Index: weston-3.0.0/libweston/weston-launch.c +=================================================================== +--- weston-3.0.0.orig/libweston/weston-launch.c ++++ weston-3.0.0/libweston/weston-launch.c +@@ -33,7 +33,6 @@ + #include <poll.h> + #include <errno.h> + +-#include <error.h> + #include <getopt.h> + + #include <sys/types.h> +@@ -60,6 +59,7 @@ + #endif + + #include "weston-launch.h" ++#include "weston-error.h" + + #define DRM_MAJOR 226 + diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch new file mode 100644 index 000000000..70b988898 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch @@ -0,0 +1,174 @@ +From 8ff6ed03ec4079f32e9b34085414e57be4730e04 Mon Sep 17 00:00:00 2001 +From: Tom Hochstein <tom.hochstein@nxp.com> +Date: Wed, 22 Feb 2017 15:53:30 +0200 +Subject: [PATCH] weston-launch: Provide a default version that doesn't require + PAM + +weston-launch requires PAM for starting weston as a non-root user. + +Since starting weston as root is a valid use case by itself, if +PAM is not available, provide a default version of weston-launch +without non-root-user support. + +Upstream-Status: Pending + +Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + configure.ac | 9 +++++++-- + libweston/weston-launch.c | 20 ++++++++++++++++++++ + 2 files changed, 27 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 46cb2c7..bb45f46 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -435,13 +435,17 @@ AC_ARG_ENABLE(resize-optimization, + AS_IF([test "x$enable_resize_optimization" = "xyes"], + [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])]) + ++AC_ARG_WITH(pam, ++ AS_HELP_STRING([--with-pam], [Use PAM]), ++ [use_pam=$withval], [use_pam=yes]) + AC_ARG_ENABLE(weston-launch, [ --enable-weston-launch],, enable_weston_launch=yes) + AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch = xyes) +-if test x$enable_weston_launch = xyes; then ++if test x$enable_weston_launch = xyes -a x$use_pam = xyes; then + WESTON_SEARCH_LIBS([PAM], [pam], [pam_open_session], [have_pam=yes], [have_pam=no]) + if test x$have_pam = xno; then +- AC_ERROR([weston-launch requires pam]) ++ AC_ERROR([PAM support is explicitly requested, but libpam couldn't be found]) + fi ++ AC_DEFINE([HAVE_PAM], [1], [Define if PAM is available]) + fi + + AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes") +@@ -701,6 +705,7 @@ AC_MSG_RESULT([ + Enable developer documentation ${enable_devdocs} + + weston-launch utility ${enable_weston_launch} ++ PAM support ${use_pam} + systemd-login support ${have_systemd_login} + systemd notify support ${enable_systemd_notify} + +diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c +index 0491896..07e7469 100644 +--- a/libweston/weston-launch.c ++++ b/libweston/weston-launch.c +@@ -51,7 +51,9 @@ + + #include <pwd.h> + #include <grp.h> ++#ifdef HAVE_PAM + #include <security/pam_appl.h> ++#endif + + #ifdef HAVE_SYSTEMD_LOGIN + #include <systemd/sd-login.h> +@@ -93,8 +95,10 @@ drmSetMaster(int drm_fd) + #endif + + struct weston_launch { ++#ifdef HAVE_PAM + struct pam_conv pc; + pam_handle_t *ph; ++#endif + int tty; + int ttynr; + int sock[2]; +@@ -181,6 +185,7 @@ weston_launch_allowed(struct weston_launch *wl) + return false; + } + ++#ifdef HAVE_PAM + static int + pam_conversation_fn(int msg_count, + const struct pam_message **messages, +@@ -221,6 +226,7 @@ setup_pam(struct weston_launch *wl) + + return 0; + } ++#endif + + static int + setup_launcher_socket(struct weston_launch *wl) +@@ -414,6 +420,7 @@ quit(struct weston_launch *wl, int status) + close(wl->signalfd); + close(wl->sock[0]); + ++#ifdef HAVE_PAM + if (wl->new_user) { + err = pam_close_session(wl->ph, 0); + if (err) +@@ -421,6 +428,7 @@ quit(struct weston_launch *wl, int status) + err, pam_strerror(wl->ph, err)); + pam_end(wl->ph, err); + } ++#endif + + if (ioctl(wl->tty, KDSKBMUTE, 0) && + ioctl(wl->tty, KDSKBMODE, wl->kb_mode)) +@@ -600,6 +608,7 @@ setup_session(struct weston_launch *wl, char **child_argv) + setenv("HOME", wl->pw->pw_dir, 1); + setenv("SHELL", wl->pw->pw_shell, 1); + ++#ifdef HAVE_PAM + env = pam_getenvlist(wl->ph); + if (env) { + for (i = 0; env[i]; ++i) { +@@ -608,6 +617,7 @@ setup_session(struct weston_launch *wl, char **child_argv) + } + free(env); + } ++#endif + + /* + * We open a new session, so it makes sense +@@ -675,7 +685,9 @@ static void + help(const char *name) + { + fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name); ++#ifdef HAVE_PAM + fprintf(stderr, " -u, --user Start session as specified username\n"); ++#endif + fprintf(stderr, " -t, --tty Start session on alternative tty\n"); + fprintf(stderr, " -v, --verbose Be verbose\n"); + fprintf(stderr, " -h, --help Display this help message\n"); +@@ -688,7 +700,9 @@ main(int argc, char *argv[]) + int i, c; + char *tty = NULL; + struct option opts[] = { ++#ifdef HAVE_PAM + { "user", required_argument, NULL, 'u' }, ++#endif + { "tty", required_argument, NULL, 't' }, + { "verbose", no_argument, NULL, 'v' }, + { "help", no_argument, NULL, 'h' }, +@@ -700,9 +714,13 @@ main(int argc, char *argv[]) + while ((c = getopt_long(argc, argv, "u:t::vh", opts, &i)) != -1) { + switch (c) { + case 'u': ++#ifdef HAVE_PAM + wl.new_user = optarg; + if (getuid() != 0) + error(1, 0, "Permission denied. -u allowed for root only"); ++#else ++ error(1, 0, "-u is unsupported in this weston-launch build"); ++#endif + break; + case 't': + tty = optarg; +@@ -740,8 +758,10 @@ main(int argc, char *argv[]) + if (setup_tty(&wl, tty) < 0) + exit(EXIT_FAILURE); + ++#ifdef HAVE_PAM + if (wl.new_user && setup_pam(&wl) < 0) + exit(EXIT_FAILURE); ++#endif + + if (setup_launcher_socket(&wl) < 0) + exit(EXIT_FAILURE); +-- +2.1.4 + diff --git a/poky/meta/recipes-graphics/wayland/weston/fix-missing-header.patch b/poky/meta/recipes-graphics/wayland/weston/fix-missing-header.patch new file mode 100644 index 000000000..55c0d4fd0 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston/fix-missing-header.patch @@ -0,0 +1,30 @@ +On the musl C library, tests/timespec-text.c does not build, with the +following error: + + In file included from tests/timespec-test.c:36:0: + ./shared/timespec-util.h:41:21: warning: ‘struct timespec’ declared + inside parameter list will not be visible outside of this definition + or declaration + timespec_sub(struct timespec *r, + ^~~~~~~~ + [...] + +Indeed, struct timespec is defined in time.h, so we must include it. + +Upstream-Status: Backport [fa41bdfbc0b962fd73b89f01aab1a5370c9c28eb] + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> +Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> + +Index: weston-3.0.0/shared/timespec-util.h +=================================================================== +--- weston-3.0.0.orig/shared/timespec-util.h ++++ weston-3.0.0/shared/timespec-util.h +@@ -28,6 +28,7 @@ + + #include <stdint.h> + #include <assert.h> ++#include <time.h> + + #define NSEC_PER_SEC 1000000000 + diff --git a/poky/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch b/poky/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch new file mode 100644 index 000000000..b3e1d06f5 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch @@ -0,0 +1,55 @@ +Multi-plane sub-sampled textures have partial width/height, e.g. +YUV420/I420 has a full-size Y plane, followed by a half-width/height U +plane, and a half-width/height V plane. + +zwp_linux_dmabuf_v1 allows clients to pass an explicit pitch for each +plane, but for wl_shm this must be inferred. gl-renderer was correctly +accounting for the width and height when subsampling, but the pitch was +being taken as the pitch for the first plane. + +This does not match the requirements for GStreamer's waylandsink, in +particular, as well as other clients. Fix the SHM upload path to +correctly set the pitch for each plane, according to subsampling. + +Tested with: + $ gst-launch-1.0 videotestsrc ! waylandsink + +Upstream-Status: Backport [https://patchwork.freedesktop.org/patch/180767/] + +Signed-off-by: Daniel Stone <daniels@collabora.com> +Fixes: fdeefe42418 ("gl-renderer: add support of WL_SHM_FORMAT_YUV420") +Reported-by: Fabien Lahoudere <fabien.lahoudere@collabora.co.uk> +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103063 + +--- + libweston/gl-renderer.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libweston/gl-renderer.c b/libweston/gl-renderer.c +index 244ce309..40bf0bb6 100644 +--- a/libweston/gl-renderer.c ++++ b/libweston/gl-renderer.c +@@ -1445,14 +1445,13 @@ gl_renderer_flush_damage(struct weston_surface *surface) + goto done; + } + +- glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch); +- + if (gs->needs_full_upload) { + glPixelStorei(GL_UNPACK_SKIP_PIXELS_EXT, 0); + glPixelStorei(GL_UNPACK_SKIP_ROWS_EXT, 0); + wl_shm_buffer_begin_access(buffer->shm_buffer); + for (j = 0; j < gs->num_textures; j++) { + glBindTexture(GL_TEXTURE_2D, gs->textures[j]); ++ glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch / gs->hsub[j]); + glTexImage2D(GL_TEXTURE_2D, 0, + gs->gl_format[j], + gs->pitch / gs->hsub[j], +@@ -1477,6 +1476,7 @@ gl_renderer_flush_damage(struct weston_surface *surface) + glPixelStorei(GL_UNPACK_SKIP_ROWS_EXT, r.y1); + for (j = 0; j < gs->num_textures; j++) { + glBindTexture(GL_TEXTURE_2D, gs->textures[j]); ++ glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch / gs->hsub[j]); + glTexSubImage2D(GL_TEXTURE_2D, 0, + r.x1 / gs->hsub[j], + r.y1 / gs->vsub[j], diff --git a/poky/meta/recipes-graphics/wayland/weston/weston.desktop b/poky/meta/recipes-graphics/wayland/weston/weston.desktop new file mode 100644 index 000000000..1086ae8bf --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston/weston.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Name=Weston +Comment=Wayland Compostitor +Exec=weston +Icon=weston +Terminal=false +Categories=Utility; diff --git a/poky/meta/recipes-graphics/wayland/weston/weston.png b/poky/meta/recipes-graphics/wayland/weston/weston.png Binary files differnew file mode 100644 index 000000000..ea8b7e0e2 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston/weston.png diff --git a/poky/meta/recipes-graphics/wayland/weston/xwayland.weston-start b/poky/meta/recipes-graphics/wayland/weston/xwayland.weston-start new file mode 100644 index 000000000..b483c97cf --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston/xwayland.weston-start @@ -0,0 +1,7 @@ +#!/bin/sh + +if type Xwayland >/dev/null 2>/dev/null; then + mkdir -p /tmp/.X11-unix + + add_weston_argument "--modules=xwayland.so" +fi diff --git a/poky/meta/recipes-graphics/wayland/weston_3.0.0.bb b/poky/meta/recipes-graphics/wayland/weston_3.0.0.bb new file mode 100644 index 000000000..ad0cdc2b0 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston_3.0.0.bb @@ -0,0 +1,114 @@ +SUMMARY = "Weston, a Wayland compositor" +DESCRIPTION = "Weston is the reference implementation of a Wayland compositor" +HOMEPAGE = "http://wayland.freedesktop.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \ + file://libweston/compositor.c;endline=26;md5=e342df749174a8ee11065583157c7a38" + +SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ + file://weston.png \ + file://weston.desktop \ + file://0001-make-error-portable.patch \ + file://xwayland.weston-start \ + file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ + file://weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch \ + file://fix-missing-header.patch \ +" +SRC_URI[md5sum] = "9c42a4c51a1b9f35d040fa9d45ada36d" +SRC_URI[sha256sum] = "cde1d55e8dd70c3cbb3d1ec72f60e60000041579caa1d6a262bd9c35e93723a5" + +inherit autotools pkgconfig useradd distro_features_check +# depends on virtual/egl +REQUIRED_DISTRO_FEATURES = "opengl" + +DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg" +DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" + +EXTRA_OECONF = "--enable-setuid-install \ + --disable-rdp-compositor \ + " +EXTRA_OECONF_append_qemux86 = "\ + WESTON_NATIVE_BACKEND=fbdev-backend.so \ + " +EXTRA_OECONF_append_qemux86-64 = "\ + WESTON_NATIVE_BACKEND=fbdev-backend.so \ + " +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \ + clients launch" +# +# Compositor choices +# +# Weston on KMS +PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev virtual/mesa mtdev" +# Weston on Wayland (nested Weston) +PACKAGECONFIG[wayland] = "--enable-wayland-compositor,--disable-wayland-compositor,virtual/mesa" +# Weston on X11 +PACKAGECONFIG[x11] = "--enable-x11-compositor,--disable-x11-compositor,virtual/libx11 libxcb libxcb libxcursor cairo" +# Headless Weston +PACKAGECONFIG[headless] = "--enable-headless-compositor,--disable-headless-compositor" +# Weston on framebuffer +PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor,--disable-fbdev-compositor,udev mtdev" +# weston-launch +PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,drm" +# VA-API desktop recorder +PACKAGECONFIG[vaapi] = "--enable-vaapi-recorder,--disable-vaapi-recorder,libva" +# Weston with EGL support +PACKAGECONFIG[egl] = "--enable-egl --enable-simple-egl-clients,--disable-egl --disable-simple-egl-clients,virtual/egl" +# Weston with cairo glesv2 support +PACKAGECONFIG[cairo-glesv2] = "--with-cairo-glesv2,--with-cairo=image,cairo" +# Weston with lcms support +PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms" +# Weston with webp support +PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp" +# Weston with unwinding support +PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" +# Weston with systemd-login support +PACKAGECONFIG[systemd] = "--enable-systemd-login,--disable-systemd-login,systemd dbus" +# Weston with Xwayland support (requires X11 and Wayland) +PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland" +# colord CMS support +PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord" +# Clients support +PACKAGECONFIG[clients] = "--enable-clients --enable-simple-clients --enable-demo-clients-install,--disable-clients --disable-simple-clients" +# Weston with PAM support +PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam" + +do_install_append() { + # Weston doesn't need the .la files to load modules, so wipe them + rm -f ${D}/${libdir}/libweston-3/*.la + + # If X11, ship a desktop file to launch it + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then + install -d ${D}${datadir}/applications + install ${WORKDIR}/weston.desktop ${D}${datadir}/applications + + install -d ${D}${datadir}/icons/hicolor/48x48/apps + install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps + fi + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then + install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland + fi +} + +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \ + libweston-3 ${PN}-examples" + +FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}" + +FILES_libweston-3 = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-3/*.so" +SUMMARY_libweston-3 = "Helper library for implementing 'wayland window managers'." + +FILES_${PN}-examples = "${bindir}/*" + +FILES_${PN}-xwayland = "${libdir}/libweston-3/xwayland.so" +RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland" + +RDEPENDS_${PN} += "xkeyboard-config" +RRECOMMENDS_${PN} = "liberation-fonts" +RRECOMMENDS_${PN}-dev += "wayland-protocols" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system weston-launch" diff --git a/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession new file mode 100644 index 000000000..0b73127ae --- /dev/null +++ b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/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/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/13xdgbasedirs.sh b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/13xdgbasedirs.sh new file mode 100644 index 000000000..6bd40b2fc --- /dev/null +++ b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/13xdgbasedirs.sh @@ -0,0 +1,13 @@ +# Minimal/stub implementation of the XDG Base Directory specification. +# http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html +# +# Wayland needs XDG_RUNTIME_DIR, so set it to /tmp. This isn't compliant with +# the specification (wrong mode, wrong owner) but it's mostly sufficient. +# +# In the ideal case where SystemD is booting and userspace is initiated by a +# SystemD user session this will have been set already, so don't overwrite it. + +if [ -z "$XDG_RUNTIME_DIR" ]; then + XDG_RUNTIME_DIR="/tmp" + export XDG_RUNTIME_DIR +fi diff --git a/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/89xdgautostart.sh b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/89xdgautostart.sh new file mode 100644 index 000000000..3d7008ca4 --- /dev/null +++ b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/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 diff --git a/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/90XWindowManager.sh b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/90XWindowManager.sh new file mode 100644 index 000000000..b936dedf3 --- /dev/null +++ b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/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/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/Xserver b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/Xserver new file mode 100644 index 000000000..0edbfbfc2 --- /dev/null +++ b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/Xserver @@ -0,0 +1,25 @@ +#!/bin/sh + +# This script is only needed to make sure /etc/X11/xserver-common +# can affect XSERVER, ARGS & DPI: otherwise systemd could just use +# /etc/default/xserver-nodm as EnvironmentFile and sysvinit could just +# source the same file + +. /etc/profile + +# load default values for XSERVER, ARGS, DISPLAY... +. /etc/default/xserver-nodm + +# Allow xserver-common to override ARGS, XSERVER, DPI +if [ -e /etc/X11/xserver-common ] ; then + . /etc/X11/xserver-common + if [ ! -e $XSERVER ] ; then + XSERVER=$(which $XSERVER) + fi +fi + +if [ -n "$DPI" ] ; then + ARGS="$ARGS -dpi $DPI" +fi + +exec xinit /etc/X11/Xsession -- $XSERVER $DISPLAY $ARGS $* diff --git a/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/gplv2-license.patch b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/gplv2-license.patch new file mode 100644 index 000000000..eff975e34 --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm new file mode 100755 index 000000000..6c548551b --- /dev/null +++ b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm @@ -0,0 +1,67 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: xserver +# Required-Start: $local_fs $remote_fs dbus +# Required-Stop: $local_fs $remote_fs +# Default-Start: 5 +# Default-Stop: 0 1 2 3 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 + + #default for USER + . /etc/default/xserver-nodm + echo "Starting Xserver" + if [ "$USER" != "root" ]; then + # setting for rootless X + chmod o+w /var/log + chmod g+r /dev/tty[0-3] + # 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/xserver-nodm/Xserver &' $USER + # 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 + sleep 1 + chvt 1 & + ;; + + restart) + $0 stop + $0 start + ;; + + *) + echo "usage: $0 { start | stop | restart }" + ;; +esac + +exit 0 diff --git a/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf.in b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf.in new file mode 100644 index 000000000..4a9670d8d --- /dev/null +++ b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf.in @@ -0,0 +1,7 @@ +# common environment file for sysvinit and systemd + +XSERVER=/usr/bin/Xorg +DISPLAY=:0 +ARGS=" -br -pn @BLANK_ARGS@ @NO_CURSOR_ARG@ " +HOME=@HOME@ +USER=@USER@ diff --git a/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service.in b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service.in new file mode 100644 index 000000000..87dc4f8fc --- /dev/null +++ b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service.in @@ -0,0 +1,11 @@ +[Unit] +Description=Xserver startup without a display manager + +[Service] +EnvironmentFile=/etc/default/xserver-nodm +User=@USER@ +ExecStart=/etc/xserver-nodm/Xserver +Restart=always + +[Install] +Alias=display-manager.service diff --git a/poky/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb new file mode 100644 index 000000000..a77c56445 --- /dev/null +++ b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb @@ -0,0 +1,69 @@ +SUMMARY = "Simple Xserver Init Script (no dm)" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +SECTION = "x11" +PR = "r31" + +SRC_URI = "file://xserver-nodm \ + file://Xserver \ + file://X11 \ + file://gplv2-license.patch \ + file://xserver-nodm.service.in \ + file://xserver-nodm.conf.in \ +" + +S = "${WORKDIR}" + +# Since we refer to ROOTLESS_X which is normally enabled per-machine +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit update-rc.d systemd distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +PACKAGECONFIG ??= "blank" +# dpms and screen saver will be on only if 'blank' is in PACKAGECONFIG +PACKAGECONFIG[blank] = "" +PACKAGECONFIG[nocursor] = "" + +do_install() { + install -d ${D}${sysconfdir}/default + install xserver-nodm.conf.in ${D}${sysconfdir}/default/xserver-nodm + install -d ${D}${sysconfdir}/xserver-nodm + install Xserver ${D}${sysconfdir}/xserver-nodm/Xserver + install -d ${D}${sysconfdir}/X11/Xsession.d + install X11/Xsession.d/* ${D}${sysconfdir}/X11/Xsession.d/ + install X11/Xsession ${D}${sysconfdir}/X11/ + + BLANK_ARGS="${@bb.utils.contains('PACKAGECONFIG', 'blank', '', '-s 0 -dpms', d)}" + NO_CURSOR_ARG="${@bb.utils.contains('PACKAGECONFIG', 'nocursor', '-nocursor', '', d)}" + if [ "${ROOTLESS_X}" = "1" ] ; then + XUSER_HOME="/home/xuser" + XUSER="xuser" + else + XUSER_HOME=${ROOT_HOME} + XUSER="root" + fi + sed -i "s:@HOME@:${XUSER_HOME}:; s:@USER@:${XUSER}:; s:@BLANK_ARGS@:${BLANK_ARGS}:" \ + ${D}${sysconfdir}/default/xserver-nodm + sed -i "s:@NO_CURSOR_ARG@:${NO_CURSOR_ARG}:" ${D}${sysconfdir}/default/xserver-nodm + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/xserver-nodm.service.in ${D}${systemd_unitdir}/system/xserver-nodm.service + sed -i "s:@USER@:${XUSER}:" ${D}${systemd_unitdir}/system/xserver-nodm.service + fi + + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then + install -d ${D}${sysconfdir}/init.d + install xserver-nodm ${D}${sysconfdir}/init.d + fi +} + +RDEPENDS_${PN} = "xinit ${@oe.utils.conditional('ROOTLESS_X', '1', 'xuser-account', '', d)}" + +INITSCRIPT_NAME = "xserver-nodm" +INITSCRIPT_PARAMS = "start 9 5 . stop 20 0 1 2 3 6 ." +SYSTEMD_SERVICE_${PN} = "xserver-nodm.service" + +RCONFLICTS_${PN} = "xserver-common (< 1.34-r9) x11-common" diff --git a/poky/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb b/poky/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb new file mode 100644 index 000000000..a4ab7f6eb --- /dev/null +++ b/poky/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb @@ -0,0 +1,20 @@ +SUMMARY = "Transparent X11 cursor theme for touchscreens" +HOMEPAGE = "http://www.matchbox-project.org/" +BUGTRACKER = "http://bugzilla.yoctoproject.org/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +SECTION = "x11/base" + +SRCREV = "23c8af5ba4a1b7efbaf0bbca59a65ff7e10a1a06" +PV = "0.1.1+git${SRCPV}" + +SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master" +UPSTREAM_CHECK_COMMITS = "1" + +S = "${WORKDIR}/git" + +inherit autotools allarch + +FILES_${PN} = "${datadir}/icons/xcursor-transparent/cursors/*" diff --git a/poky/meta/recipes-graphics/xinput-calibrator/pointercal-xinput/pointercal.xinput b/poky/meta/recipes-graphics/xinput-calibrator/pointercal-xinput/pointercal.xinput new file mode 100644 index 000000000..9633fc5f3 --- /dev/null +++ b/poky/meta/recipes-graphics/xinput-calibrator/pointercal-xinput/pointercal.xinput @@ -0,0 +1 @@ +# replace with valid machine specific pointercal.xinput diff --git a/poky/meta/recipes-graphics/xinput-calibrator/pointercal-xinput/qemuall/pointercal.xinput b/poky/meta/recipes-graphics/xinput-calibrator/pointercal-xinput/qemuall/pointercal.xinput new file mode 100644 index 000000000..a816d6d10 --- /dev/null +++ b/poky/meta/recipes-graphics/xinput-calibrator/pointercal-xinput/qemuall/pointercal.xinput @@ -0,0 +1,2 @@ +# Dummy pointercal.xinput file to prevent xinput_calibrator +# from running on qemu startup diff --git a/poky/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb b/poky/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb new file mode 100644 index 000000000..65348c376 --- /dev/null +++ b/poky/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Touchscreen calibration data from xinput-calibrator" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +PR = "r7" + +SRC_URI = "file://pointercal.xinput" +S = "${WORKDIR}" + +do_install() { + # Only install file if it has a contents + if [ -s ${S}/pointercal.xinput ] &&\ + [ ! -n "$(head -n1 ${S}/pointercal.xinput|grep "replace.*pointercal\.xinput")" ]; then + install -d ${D}${sysconfdir}/ + install -m 0644 ${S}/pointercal.xinput ${D}${sysconfdir}/ + fi +} + +PACKAGE_ARCH = "${MACHINE_ARCH}" +CONFFILES_${PN} = "${sysconfdir}/pointercal.xinput" diff --git a/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/30xinput_calibrate.sh b/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/30xinput_calibrate.sh new file mode 100644 index 000000000..529072678 --- /dev/null +++ b/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/30xinput_calibrate.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +. /etc/formfactor/config + +if [ "$HAVE_TOUCHSCREEN" = "1" ]; then + /usr/bin/xinput_calibrator_once.sh +fi diff --git a/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch b/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch new file mode 100644 index 000000000..86982924a --- /dev/null +++ b/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch @@ -0,0 +1,66 @@ +Upstream-Status: Pending + +From 14734a93bd3fc323325459e24b04795422e395e6 Mon Sep 17 00:00:00 2001 +From: Laurentiu Palcu <laurentiu.palcu@intel.com> +Date: Mon, 1 Jul 2013 15:38:02 +0300 +Subject: [PATCH] Allow xinput_calibrator_pointercal.sh to be run as normal + user + +Allow normal user to create their own pointercal.xinput files that +override the system pointercal file in /etc. + +Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> +--- + scripts/xinput_calibrator_pointercal.sh | 33 +++++++++++++++++++++---------- + 1 file changed, 23 insertions(+), 10 deletions(-) + +diff --git a/scripts/xinput_calibrator_pointercal.sh b/scripts/xinput_calibrator_pointercal.sh +index fccb197..0ada7da 100755 +--- a/scripts/xinput_calibrator_pointercal.sh ++++ b/scripts/xinput_calibrator_pointercal.sh +@@ -11,19 +11,32 @@ + PATH="/usr/bin:$PATH" + + BINARY="xinput_calibrator" +-CALFILE="/etc/pointercal.xinput" +-LOGFILE="/var/log/xinput_calibrator.pointercal.log" ++SYS_CALFILE="/etc/pointercal.xinput" ++USER_CALFILE="$HOME/.pointercal/pointercal.xinput" + +-if [ -e $CALFILE ] ; then +- if grep replace $CALFILE ; then +- echo "Empty calibration file found, removing it" +- rm $CALFILE +- else +- echo "Using calibration data stored in $CALFILE" +- . $CALFILE && exit 0 +- fi ++if [ "$USER" = "root" ]; then ++ LOGFILE="/var/log/xinput_calibrator.pointercal.log" ++ CALFILES="$SYS_CALFILE" ++else ++ LOGFILE="$HOME/.pointercal/xinput_calibrator.pointercal.log" ++ CALFILES="$USER_CALFILE $SYS_CALFILE" ++ mkdir -p "$HOME/.pointercal" + fi + ++for CALFILE in $CALFILES; do ++ if [ -e $CALFILE ]; then ++ if grep replace $CALFILE ; then ++ echo "Empty calibration file found, removing it" ++ rm $CALFILE 2>/dev/null || true ++ else ++ echo "Using calibration data stored in $CALFILE" ++ . $CALFILE && exit 0 ++ fi ++ fi ++done ++ ++[ "$USER" != "root" ] && CALFILE=$USER_CALFILE ++ + CALDATA=`$BINARY --output-type xinput -v | tee $LOGFILE | grep ' xinput set' | sed 's/^ //g; s/$/;/g'` + if [ ! -z "$CALDATA" ] ; then + echo $CALDATA > $CALFILE +-- +1.7.9.5 + diff --git a/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb b/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb new file mode 100644 index 000000000..68e62ea6d --- /dev/null +++ b/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb @@ -0,0 +1,37 @@ +SUMMARY = "Touchscreen calibration program for X11" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/xinput_calibrator" +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://src/calibrator.cpp;endline=22;md5=1bcba08f67cdb56f34021557898e4b5a" +DEPENDS = "virtual/libx11 libxi libxrandr" + +PV = "0.7.5+git${SRCPV}" +PR = "r6" + +inherit autotools pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRCREV = "03dadf55109bd43d3380f040debe9f82f66f2f35" +SRC_URI = "git://github.com/tias/xinput_calibrator.git \ + file://30xinput_calibrate.sh \ + file://Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch" + +S = "${WORKDIR}/git" + +# force native X11 ui as we don't have gtk+ in DEPENDS +EXTRA_OECONF += "--with-gui=x11" + +do_install_append() { + install -d ${D}${bindir} + install -m 0755 ${S}/scripts/xinput_calibrator_pointercal.sh ${D}${bindir}/xinput_calibrator_once.sh + + install -d ${D}${sysconfdir}/X11/Xsession.d/ + install -m 0755 ${WORKDIR}/30xinput_calibrate.sh ${D}${sysconfdir}/X11/Xsession.d/ + + install -d ${D}${sysconfdir}/xdg/autostart + sed -e 's,^Exec=.*,Exec=${bindir}/xinput_calibrator_once.sh,' ${S}/scripts/xinput_calibrator.desktop > ${D}${sysconfdir}/xdg/autostart/xinput_calibrator.desktop +} + +FILES_${PN} += "${sysconfdir}/xdg/autostart" +RDEPENDS_${PN} = "xinput formfactor" +RRECOMMENDS_${PN} = "pointercal-xinput" diff --git a/poky/meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb b/poky/meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb new file mode 100644 index 000000000..a453e2487 --- /dev/null +++ b/poky/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}_class-native += "mkfontscale-native" + +BBCLASSEXTEND = "native" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b4fcf2b90cadbfc15009b9e124dc3a3f" + +SRC_URI[md5sum] = "18c429148c96c2079edda922a2b67632" +SRC_URI[sha256sum] = "56d52a482df130484e51fd066d1b6eda7c2c02ddbc91fe6e2be1b9c4e7306530" diff --git a/poky/meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb b/poky/meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb new file mode 100644 index 000000000..31cf18676 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb @@ -0,0 +1,18 @@ +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 = "util-macros-native zlib libfontenc freetype xproto" + +BBCLASSEXTEND = "native" + +LIC_FILES_CHKSUM = "file://COPYING;md5=2e0d129d05305176d1a790e0ac1acb7f" + +SRC_URI[md5sum] = "9bdd6ebfa62b1bbd474906ac86a40fd8" +SRC_URI[sha256sum] = "8c6d5228af885477b9aec60ca6f172578e7d2de42234357af62fb00439453f20" diff --git a/poky/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb b/poky/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb new file mode 100644 index 000000000..87268046e --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb @@ -0,0 +1,16 @@ +require xorg-app-common.inc + +SUMMARY = "X11 color name database" +DESCRIPTION = "This package includes both the list mapping X color names \ +to RGB values (rgb.txt) and, if configured to use a database for color \ +lookup, the rgb program to convert the text file into the binary database \ +format." + +DEPENDS += " xproto util-macros" +LIC_FILES_CHKSUM = "file://COPYING;md5=ef598adbe241bd0b0b9113831f6e249a" +PE = "1" + +SRC_URI[md5sum] = "eab5bbd7642e5c784429307ec210d198" +SRC_URI[sha256sum] = "bbca7c6aa59939b9f6a0fb9fff15dfd62176420ffd4ae30c8d92a6a125fbe6b0" + +FILES_${PN} += "${datadir}/X11" diff --git a/poky/meta/recipes-graphics/xorg-app/x11perf_1.6.0.bb b/poky/meta/recipes-graphics/xorg-app/x11perf_1.6.0.bb new file mode 100644 index 000000000..a06aa269b --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/x11perf_1.6.0.bb @@ -0,0 +1,23 @@ +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" + +PE = "1" + +do_install_append_class-target () { + sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}${bindir}/x11perfcomp +} + +FILES_${PN} += "${libdir}/X11/x11perfcomp/*" + +SRC_URI[md5sum] = "f0b24e4d8beb622a419e8431e1c03cd7" +SRC_URI[sha256sum] = "e87098dec1947572d70c62697a7b70bde1ab5668237d4660080eade6bc096751" diff --git a/poky/meta/recipes-graphics/xorg-app/xauth_1.0.10.bb b/poky/meta/recipes-graphics/xorg-app/xauth_1.0.10.bb new file mode 100644 index 000000000..0e90ffd67 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xauth_1.0.10.bb @@ -0,0 +1,15 @@ +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" +PE = "1" + +SRC_URI[md5sum] = "f3f76cb10f69b571c43893ea6a634aa4" +SRC_URI[sha256sum] = "5afe42ce3cdf4f60520d1658d2b17face45c74050f39af45dccdc95e73fafc4d" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/poky/meta/recipes-graphics/xorg-app/xdpyinfo/disable-xkb.patch b/poky/meta/recipes-graphics/xorg-app/xdpyinfo/disable-xkb.patch new file mode 100644 index 000000000..1e8199cc6 --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb b/poky/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb new file mode 100644 index 000000000..af04bb6e3 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb @@ -0,0 +1,20 @@ +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 libxau libxcomposite" +PE = "1" + +SRC_URI += "file://disable-xkb.patch" + +SRC_URI[md5sum] = "8809037bd48599af55dad81c508b6b39" +SRC_URI[sha256sum] = "30238ed915619e06ceb41721e5f747d67320555cc38d459e954839c189ccaf51" + +EXTRA_OECONF = "--disable-xkb" diff --git a/poky/meta/recipes-graphics/xorg-app/xev/diet-x11.patch b/poky/meta/recipes-graphics/xorg-app/xev/diet-x11.patch new file mode 100644 index 000000000..6130959f8 --- /dev/null +++ b/poky/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.2.0/xev.c +=================================================================== +--- xev-1.2.0.orig/xev.c ++++ xev-1.2.0/xev.c +@@ -116,7 +116,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'; +@@ -126,7 +126,7 @@ do_KeyPress (XEvent *eventp) + buf = realloc (buf, bsize); + } + } while (status == XBufferOverflow); +- } ++ }*/ + + if (ks == NoSymbol) + ksname = "NoSymbol"; +@@ -156,7 +156,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); +@@ -164,7 +164,7 @@ do_KeyPress (XEvent *eventp) + } else { + printf ("\n"); + } +- } ++ } */ + + printf (" XFilterEvent returns: %s\n", + XFilterEvent (eventp, e->window) ? "True" : "False"); +@@ -1015,7 +1015,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); + } +@@ -1042,7 +1042,7 @@ main (int argc, char **argv) + } + XFree (xim_styles); + } +- } ++ }*/ + + screen = DefaultScreen (dpy); + +@@ -1109,7 +1109,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, +@@ -1119,7 +1119,7 @@ main (int argc, char **argv) + if (xic == NULL) { + fprintf (stderr, "XCreateIC failed\n"); + } +- } ++ }*/ + + have_rr = XRRQueryExtension (dpy, &rr_event_base, &rr_error_base); + if (have_rr) { diff --git a/poky/meta/recipes-graphics/xorg-app/xev_1.2.2.bb b/poky/meta/recipes-graphics/xorg-app/xev_1.2.2.bb new file mode 100644 index 000000000..f151b579e --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xev_1.2.2.bb @@ -0,0 +1,18 @@ +require xorg-app-common.inc + +SUMMARY = "X Event Viewer" +DESCRIPTION = "Xev creates a window and then asks the X server to send it events \ +whenever anything happens to the window (such as it being moved, resized, \ +typed in, clicked in, etc.). You can also attach it to an existing window." + +LIC_FILES_CHKSUM = "file://xev.c;beginline=1;endline=33;md5=577c99421f1803b891d2c79097ae4682" +LICENSE = "MIT" + +PE = "1" + +DEPENDS += "libxrandr xproto" + +SRC_URI += "file://diet-x11.patch" + +SRC_URI[md5sum] = "249bdde90f01c0d861af52dc8fec379e" +SRC_URI[sha256sum] = "d94ae62a6c1af56c2961d71f5782076ac4116f0fa4e401420ac7e0db33dc314f" diff --git a/poky/meta/recipes-graphics/xorg-app/xeyes_1.1.1.bb b/poky/meta/recipes-graphics/xorg-app/xeyes_1.1.1.bb new file mode 100644 index 000000000..84d0cb804 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xeyes_1.1.1.bb @@ -0,0 +1,14 @@ +require xorg-app-common.inc + +SUMMARY = "X11 eyes that follow the mouse cursor demo" +DESCRIPTION = "Xeyes is a small X11 application that shows a pair of eyes that move to \ +follow the location of the mouse cursor around the screen." + +PE = "1" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3ea51b365051ac32d1813a7dbaa4bfc6" + +SRC_URI[md5sum] = "a3035dcecdbdb89e864177c080924981" +SRC_URI[sha256sum] = "975e98680cd59e1f9439016386609546ed08c284d0f05a95276f96aca6e8a521" + +DEPENDS += "libxau libxt libxext libxmu libxrender" diff --git a/poky/meta/recipes-graphics/xorg-app/xhost_1.0.7.bb b/poky/meta/recipes-graphics/xorg-app/xhost_1.0.7.bb new file mode 100644 index 000000000..77490f548 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xhost_1.0.7.bb @@ -0,0 +1,20 @@ +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" +PE = "1" + +SRC_URI[md5sum] = "f5d490738b148cb7f2fe760f40f92516" +SRC_URI[sha256sum] = "93e619ee15471f576cfb30c663e18f5bc70aca577a63d2c2c03f006a7837c29a" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/poky/meta/recipes-graphics/xorg-app/xinit_1.3.4.bb b/poky/meta/recipes-graphics/xorg-app/xinit_1.3.4.bb new file mode 100644 index 000000000..93185188e --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xinit_1.3.4.bb @@ -0,0 +1,20 @@ +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=18f01e7b39807bebe2b8df101a039b68" + +PE = "1" + +SRC_URI[md5sum] = "4e928452dfaf73851413a2d8b8c76388" +SRC_URI[sha256sum] = "75d88d7397a07e01db253163b7c7a00b249b3d30e99489f2734cac9a0c7902b3" + +EXTRA_OECONF = "ac_cv_path_MCOOKIE=${bindir}/mcookie" + +RDEPENDS_${PN} += "util-linux-mcookie" diff --git a/poky/meta/recipes-graphics/xorg-app/xinput_1.6.2.bb b/poky/meta/recipes-graphics/xorg-app/xinput_1.6.2.bb new file mode 100644 index 000000000..25cd047bc --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xinput_1.6.2.bb @@ -0,0 +1,12 @@ +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=881525f89f99cad39c9832bcb72e6fa5" + +DEPENDS += " libxi libxrandr libxinerama" + +SRC_URI[md5sum] = "6a889412eff2e3c1c6bb19146f6fe84c" +SRC_URI[sha256sum] = "3694d29b4180952fbf13c6d4e59541310cbb11eef5bf888ff3d8b7f4e3aee5c4" diff --git a/poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.0.bb b/poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.0.bb new file mode 100644 index 000000000..c9dc327c4 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.0.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] = "cc22b232bc78a303371983e1b48794ab" +SRC_URI[sha256sum] = "bc69c8748c03c5ad9afdc8dff9db11994dd871b614c65f8940516da6bf61ce6b" diff --git a/poky/meta/recipes-graphics/xorg-app/xmodmap_1.0.9.bb b/poky/meta/recipes-graphics/xorg-app/xmodmap_1.0.9.bb new file mode 100644 index 000000000..2deac6a05 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xmodmap_1.0.9.bb @@ -0,0 +1,17 @@ +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=272c17e96370e1e74773fa22d9989621" + +PE = "1" + +SRC_URI[md5sum] = "723f02d3a5f98450554556205f0a9497" +SRC_URI[sha256sum] = "b7b0e5cc5f10d0fb6d2d6ea4f00c77e8ac0e847cc5a73be94cd86139ac4ac478" diff --git a/poky/meta/recipes-graphics/xorg-app/xorg-app-common.inc b/poky/meta/recipes-graphics/xorg-app/xorg-app-common.inc new file mode 100644 index 000000000..3529cb26e --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xorg-app-common.inc @@ -0,0 +1,17 @@ +SUMMARY = "X application" +HOMEPAGE = "http://www.x.org/" +BUGTRACKER = "https://bugs.freedesktop.org" +SECTION = "x11/apps" +LICENSE = "MIT-X" +DEPENDS = "util-macros-native virtual/libx11" + +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +INC_PR = "r8" + +SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.bz2" + +inherit autotools pkgconfig distro_features_check + +FILES_${PN} += " ${libdir}/X11/${BPN} ${datadir}/X11/app-defaults/" diff --git a/poky/meta/recipes-graphics/xorg-app/xprop_1.2.2.bb b/poky/meta/recipes-graphics/xorg-app/xprop_1.2.2.bb new file mode 100644 index 000000000..d78bf0451 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xprop_1.2.2.bb @@ -0,0 +1,18 @@ +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" + +PE = "1" + +SRC_URI[md5sum] = "fae3d2fda07684027a643ca783d595cc" +SRC_URI[sha256sum] = "9bee88b1025865ad121f72d32576dd3027af1446774aa8300cce3c261d869bc6" diff --git a/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.0.bb b/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.0.bb new file mode 100644 index 000000000..ea6897948 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.0.bb @@ -0,0 +1,15 @@ +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" + +SRC_URI[md5sum] = "ebffac98021b8f1dc71da0c1918e9b57" +SRC_URI[sha256sum] = "c1cfd4e1d4d708c031d60801e527abc9b6d34b85f2ffa2cadd21f75ff38151cd" diff --git a/poky/meta/recipes-graphics/xorg-app/xset/disable-xkb.patch b/poky/meta/recipes-graphics/xorg-app/xset/disable-xkb.patch new file mode 100644 index 000000000..a97c7b72f --- /dev/null +++ b/poky/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> + +Index: xset-1.2.3/configure.ac +=================================================================== +--- xset-1.2.3.orig/configure.ac ++++ xset-1.2.3/configure.ac +@@ -53,11 +53,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, AS_HELP_STRING([--without-xf86misc],[Disable xf86misc support.]), + [USE_XF86MISC="$withval"], [USE_XF86MISC="yes"]) diff --git a/poky/meta/recipes-graphics/xorg-app/xset_1.2.3.bb b/poky/meta/recipes-graphics/xorg-app/xset_1.2.3.bb new file mode 100644 index 000000000..f683b7603 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xset_1.2.3.bb @@ -0,0 +1,19 @@ +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 libxmu libxau" +PE = "1" + +SRC_URI += "file://disable-xkb.patch" + +SRC_URI[md5sum] = "dcd227388b57487d543cab2fd7a602d7" +SRC_URI[sha256sum] = "4382f4fb29b88647e13f3b4bc29263134270747fc159cfc5f7e3af23588c8063" + +CFLAGS += "-D_GNU_SOURCE" +EXTRA_OECONF = "--disable-xkb --without-fontcache" diff --git a/poky/meta/recipes-graphics/xorg-app/xvinfo_1.1.3.bb b/poky/meta/recipes-graphics/xorg-app/xvinfo_1.1.3.bb new file mode 100644 index 000000000..2965ef7f8 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xvinfo_1.1.3.bb @@ -0,0 +1,14 @@ +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" + +SRC_URI[md5sum] = "558360176b718dee3c39bc0648c0d10c" +SRC_URI[sha256sum] = "9fba8b68daf53863e66d5004fa9c703fcecf69db4d151ea2d3d885d621e6e5eb" diff --git a/poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.3.bb b/poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.3.bb new file mode 100644 index 000000000..0c23d1943 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.3.bb @@ -0,0 +1,15 @@ +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 gettext-native" + +PE = "0" + +SRC_URI[md5sum] = "b777bafb674555e48fd8437618270931" +SRC_URI[sha256sum] = "218eb0ea95bd8de7903dfaa26423820c523ad1598be0751d2d8b6a2c23b23ff8" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.5.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.5.bb new file mode 100644 index 000000000..96b220ccb --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.5.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" + +DEPENDS += "mtdev libevdev" + +SRC_URI[md5sum] = "94c2c8354c74ab1cfbbb0a222078b9c6" +SRC_URI[sha256sum] = "9edaa6205baf6d2922cc4db3d8e54a7e7773b5f733b0ae90f6be7725f983b70d" + diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.9.0.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.9.0.bb new file mode 100644 index 000000000..1896fff9f --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.9.0.bb @@ -0,0 +1,13 @@ +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" + +SRC_URI[md5sum] = "a3a3f0dd32361dcdbd406e894dafe090" +SRC_URI[sha256sum] = "f7c900f21752683402992b288d5a2826de7a6c0c0abac2aadd7e8a409e170388" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.26.0.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.26.0.bb new file mode 100644 index 000000000..54c33d790 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.26.0.bb @@ -0,0 +1,11 @@ +require xorg-driver-input.inc + +SUMMARY = "Generic input driver for the X.Org server based on libinput" +LIC_FILES_CHKSUM = "file://COPYING;md5=5e6b20ea2ef94a998145f0ea3f788ee0" + +DEPENDS += "libinput" + +SRC_URI[md5sum] = "da47ef62eab1d0e922a8fa929ff81758" +SRC_URI[sha256sum] = "abca558fc2226f295691f1cf3412d4c0edeaa439f677ca25b5c9fab310d2387b" + +FILES_${PN} += "${datadir}/X11/xorg.conf.d" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.2.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.2.bb new file mode 100644 index 000000000..0750476a2 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.2.bb @@ -0,0 +1,14 @@ +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=90ea9f90d72b6d9327dede5ffdb2a510" + +SRC_URI[md5sum] = "ce2d679283a22c8e0dccdd9248594845" +SRC_URI[sha256sum] = "f425d5b05c6ab412a27e0a1106bb83f9e2662b307210abbe48270892387f4b2f" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.0.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.0.bb new file mode 100644 index 000000000..d327a3b42 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.0.bb @@ -0,0 +1,16 @@ +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." + +LIC_FILES_CHKSUM = "file://COPYING;md5=55aacd3535a741824955c5eb8f061398" + +SRC_URI[md5sum] = "58e5b7722a402114093bf193962d1e3a" +SRC_URI[sha256sum] = "afba3289d7a40217a19d90db98ce181772f9ca6d77e1898727b0afcf02073b5a" + +DEPENDS += "libxi mtdev libxtst libevdev" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb new file mode 100644 index 000000000..92a1b25eb --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb @@ -0,0 +1,26 @@ +require xorg-driver-input.inc + +SUMMARY = "X.Org X server -- VMWare mouse input driver" +DESCRIPTION = "The vmmouse driver enables support for the special VMMouse \ +protocol that is provided by VMware virtual machines to give absolute \ +pointer positioning. The vmmouse driver is capable of falling back to the \ +standard 'mouse' driver if a VMware virtual machine is not detected." + +SRC_URI[md5sum] = "85e2e464b7219c495ad3a16465c226ed" +SRC_URI[sha256sum] = "0af558957ac1be1b2863712c2475de8f4d7f14921fd01ded2e2fde4921b19319" + +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/ +} + +EXTRA_OECONF = "--with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d" + +FILES_${PN} += "${datadir}/X11/xorg.conf.d" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.5.3.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.5.3.bb new file mode 100644 index 000000000..c49847760 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.5.3.bb @@ -0,0 +1,13 @@ +require xorg-driver-video.inc + +SUMMARY = "X.Org X server -- cirrus display driver" +DESCRIPTION = "cirrus is an Xorg driver for Cirrus Logic VGA adapters. These \ +devices are not so common in the wild anymore, but QEMU can emulate one, so \ +the driver is still useful." + +LIC_FILES_CHKSUM = "file://COPYING;md5=6ddc7ca860dc5fd014e7f160ea699295" + +SRC_URI[md5sum] = "7d7dfd4cdc42aa8b6e923510fa00ad2b" +SRC_URI[sha256sum] = "edc87b20a55259126b5239b5c1ef913419eab7ded0ed12ae9ae989460d7351ab" + +DEPENDS += "libpciaccess" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.4.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.4.bb new file mode 100644 index 000000000..52e9bd1df --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.4.bb @@ -0,0 +1,9 @@ +require xorg-driver-video.inc + +SUMMARY = "X.Org X server -- fbdev display driver" +DESCRIPTION = "fbdev is an Xorg driver for framebuffer devices. This is a non-accelerated driver." + +LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8" + +SRC_URI[md5sum] = "3931c0e19d441cc576dc088f9eb9fd73" +SRC_URI[sha256sum] = "9dd4b326498223abbfdf786089a46ea3db4fa6bbd341308eb48a9e00bc3fd51b" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch new file mode 100644 index 000000000..06ef10501 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch @@ -0,0 +1,116 @@ +From 96d4e8e7b8a699f0ef77fa7b210d4de5f1c703d0 Mon Sep 17 00:00:00 2001 +From: Liwei Song <liwei.song@windriver.com> +Date: Wed, 22 Nov 2017 08:59:03 +0000 +Subject: [PATCH] Add Coffeelake PCI IDs for S Skus + +Add the Coffeelake PCI IDs based on the following kernel patches: + +commit b056f8f3d6b900e8afd19f312719160346d263b4 +Author: Anusha Srivatsa <anusha.srivatsa@intel.com> +Date: Thu Jun 8 16:41:05 2017 -0700 + + drm/i915/cfl: Add Coffee Lake PCI IDs for S Skus. + +Upstream-Status: Submitted [https://patchwork.kernel.org/patch/10139905] + +Signed-off-by: Liwei Song <liwei.song@windriver.com> +--- + src/i915_pciids.h | 7 +++++++ + src/intel_module.c | 13 +++++++++++++ + src/sna/gen9_render.c | 12 ++++++++++++ + 3 files changed, 32 insertions(+) + +diff --git a/src/i915_pciids.h b/src/i915_pciids.h +index 0370f830c541..11ccfa9c047a 100644 +--- a/src/i915_pciids.h ++++ b/src/i915_pciids.h +@@ -340,4 +340,11 @@ + INTEL_VGA_DEVICE(0x3184, info), \ + INTEL_VGA_DEVICE(0x3185, info) + ++#define INTEL_CFL_S_IDS(info) \ ++ INTEL_VGA_DEVICE(0x3E90, info), /* SRV GT1 */ \ ++ INTEL_VGA_DEVICE(0x3E93, info), /* SRV GT1 */ \ ++ INTEL_VGA_DEVICE(0x3E91, info), /* SRV GT2 */ \ ++ INTEL_VGA_DEVICE(0x3E92, info), /* SRV GT2 */ \ ++ INTEL_VGA_DEVICE(0x3E96, info) /* SRV GT2 */ ++ + #endif /* _I915_PCIIDS_H */ +diff --git a/src/intel_module.c b/src/intel_module.c +index 6b04857e2853..4827a67255f0 100644 +--- a/src/intel_module.c ++++ b/src/intel_module.c +@@ -138,6 +138,10 @@ static const struct intel_device_info intel_geminilake_info = { + .gen = 0113, + }; + ++static const struct intel_device_info intel_coffeelake_info = { ++ .gen = 0114, ++}; ++ + static const SymTabRec intel_chipsets[] = { + {PCI_CHIP_I810, "i810"}, + {PCI_CHIP_I810_DC100, "i810-dc100"}, +@@ -303,6 +307,13 @@ static const SymTabRec intel_chipsets[] = { + {0x5916, "HD Graphics 620"}, + {0x591E, "HD Graphics 615"}, + ++ /*Coffeelake*/ ++ {0x3E90, "HD Graphics"}, ++ {0x3E93, "HD Graphics"}, ++ {0x3E91, "HD Graphics"}, ++ {0x3E92, "HD Graphics"}, ++ {0x3E96, "HD Graphics"}, ++ + /* When adding new identifiers, also update: + * 1. intel_identify() + * 2. man/intel.man +@@ -368,6 +379,8 @@ static const struct pci_id_match intel_device_match[] = { + + INTEL_GLK_IDS(&intel_geminilake_info), + ++ INTEL_CFL_S_IDS(&intel_coffeelake_info), ++ + INTEL_VGA_DEVICE(PCI_MATCH_ANY, &intel_generic_info), + #endif + +diff --git a/src/sna/gen9_render.c b/src/sna/gen9_render.c +index e5f12c723956..7f49052c5ec1 100644 +--- a/src/sna/gen9_render.c ++++ b/src/sna/gen9_render.c +@@ -245,6 +245,11 @@ static const struct gt_info glk_gt_info = { + .urb = { .max_vs_entries = 320 }, + }; + ++static const struct gt_info cfl_gt_info = { ++ .name = "Coffeelake (gen9)", ++ .urb = { .max_vs_entries = 960 }, ++}; ++ + static bool is_skl(struct sna *sna) + { + return sna->kgem.gen == 0110; +@@ -265,6 +270,11 @@ static bool is_glk(struct sna *sna) + return sna->kgem.gen == 0113; + } + ++static bool is_cfl(struct sna *sna) ++{ ++ return sna->kgem.gen == 0114; ++} ++ + + static inline bool too_large(int width, int height) + { +@@ -4040,6 +4050,8 @@ static bool gen9_render_setup(struct sna *sna) + state->info = &kbl_gt_info; + if (is_glk(sna)) + state->info = &glk_gt_info; ++ if (is_cfl(sna)) ++ state->info = &cfl_gt_info; + + sna_static_stream_init(&general); + +-- +2.13.3 + diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/always_include_xorg_server.h.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/always_include_xorg_server.h.patch new file mode 100644 index 000000000..8a5dd39ae --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/always_include_xorg_server.h.patch @@ -0,0 +1,24 @@ +Include xorg-server.h to fix build errors seen with glibc 2.20 + +In file included from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/string.h:634:0, + from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/i586-oe-linux/xf86-video-intel/2_2.99.912-r0/xf86-video-intel-2.99.912/src/backlight.c:39: +/home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__' + strndup(const char *str, size_t n); + ^ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Pending + +Index: xf86-video-intel-2.99.912/src/backlight.c +=================================================================== +--- xf86-video-intel-2.99.912.orig/src/backlight.c 2014-04-09 10:41:18.000000000 -0700 ++++ xf86-video-intel-2.99.912/src/backlight.c 2014-08-28 18:52:25.524070587 -0700 +@@ -29,6 +29,7 @@ + #include "config.h" + #endif + ++#include <xorg-server.h> + #include <sys/types.h> + #include <sys/wait.h> + #include <sys/stat.h> diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/disable-x11-dri3.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/disable-x11-dri3.patch new file mode 100644 index 000000000..3dddd334b --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/disable-x11-dri3.patch @@ -0,0 +1,17 @@ +These modules are only used for tests that don't get installed, and the +automatic detection without explicit dependencies means that a build can find +e.g. xshmfence at configure time but then it's been removed from the sysroot by +the time compile happens. + +As the tests don't get installed, just disable the checks. + +Upstream-Status: Inappropriate [OE-specific] +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/configure.ac b/configure.ac +index bd654f3..78a0e0d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -279 +279 @@ fi +-PKG_CHECK_MODULES(X11_DRI3, [xcb-dri3 xcb-sync xcb-xfixes xcb-present x11-xcb xshmfence x11 xcomposite xdamage xrender xrandr xxf86vm xext libdrm], [x11_dri3="yes"], [x11_dri3="no"]) ++#PKG_CHECK_MODULES(X11_DRI3, [xcb-dri3 xcb-sync xcb-xfixes xcb-present x11-xcb xshmfence x11 xcomposite xdamage xrender xrandr xxf86vm xext libdrm], [x11_dri3="yes"], [x11_dri3="no"]) diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb new file mode 100644 index 000000000..2623cb2f3 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb @@ -0,0 +1,45 @@ +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" + +SRCREV = "e4fe79cf0d9a05ee3f3a027148ef0aeb2b1b34e1" +PV = "2.99.917+git${SRCPV}" +S = "${WORKDIR}/git" + +SRC_URI = "git://anongit.freedesktop.org/xorg/driver/xf86-video-intel \ + file://disable-x11-dri3.patch \ + file://always_include_xorg_server.h.patch \ + file://0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch \ + " + +SRC_URI[md5sum] = "fa196a66e52c0c624fe5d350af7a5e7b" +SRC_URI[sha256sum] = "00b781eea055582820a123c47b62411bdf6aabf4f03dc0568faec55faf9667c9" +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" + +DEPENDS += "virtual/libx11 drm libpciaccess pixman" + +PACKAGECONFIG ??= "xvmc uxa udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri1 dri2', '', d)}" + +PACKAGECONFIG[dri] = "--enable-dri,--disable-dri" +PACKAGECONFIG[dri1] = "--enable-dri1,--disable-dri1,xf86driproto" +PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2,dri2proto" +PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3,dri3proto" +PACKAGECONFIG[sna] = "--enable-sna,--disable-sna" +PACKAGECONFIG[uxa] = "--enable-uxa,--disable-uxa" +PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev" +PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc xcb-util" +PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,libxinerama libxrandr libxdamage libxfixes libxcursor libxtst libxext libxrender" + +# --enable-kms-only option is required by ROOTLESS_X +EXTRA_OECONF += '${@oe.utils.conditional( "ROOTLESS_X", "1", " --enable-kms-only", "", d )}' + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +FILES_${PN} += "${datadir}/polkit-1" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omap_0.4.5.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omap_0.4.5.bb new file mode 100644 index 000000000..bef363609 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omap_0.4.5.bb @@ -0,0 +1,41 @@ +require xorg-driver-video.inc + +SUMMARY = "X.Org X server -- Texas Instruments OMAP framebuffer driver" + +SUMMARY = "X.Org X server -- TI OMAP integrated graphics chipsets driver" + +DESCRIPTION = "Open-source X.org graphics driver for TI OMAP graphics \ +Currently relies on a closed-source submodule for EXA acceleration on \ +the following chipsets: \ + + OMAP3430 \ + + OMAP3630 \ + + OMAP4430 \ + + OMAP4460 \ + + OMAP5430 \ + + OMAP5432 \ +\ +NOTE: this driver is work in progress.. you probably don't want to try \ +and use it yet. The API/ABI between driver and kernel, and driver and \ +acceleration submodules is not stable yet. This driver requires the \ +omapdrm kernel driver w/ GEM support. \ +" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=10ce5de3b111315ea652a5f74ec0c602" +DEPENDS += "virtual/libx11 libdrm xf86driproto" + +SRC_URI[md5sum] = "3b8ea5e8fba63355c0dc6681c49d5fe5" +SRC_URI[sha256sum] = "93e7d42107521e61f61980eaea64fb452e87b7b94272e48938ac8d904ccfab5a" + +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/omap_xv.c +} + +python () { + if not bb.utils.contains ('DISTRO_FEATURES', 'opengl', True, False, d): + raise bb.parse.SkipRecipe("'opengl' not in DISTRO_FEATURES") +} + diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Prevents-omapfb-from-from-crashing-when-pixelclock-o.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Prevents-omapfb-from-from-crashing-when-pixelclock-o.patch new file mode 100644 index 000000000..ac1921928 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Prevents-omapfb-from-from-crashing-when-pixelclock-o.patch @@ -0,0 +1,37 @@ +From 28c006c94e57ea71df11ec4fff79d7ffcfc4860f Mon Sep 17 00:00:00 2001 +From: Far McKon <FarMcKon@buglabs.net> +Date: Tue, 3 May 2011 20:59:04 +0300 +Subject: [PATCH] Prevents omapfb from from crashing when pixelclock of 0 is + sent to it. + +Due to a Linux design bug it is easy to get a pixelclock set to zero +when changing displays at runtime. + +Upstream-Status: Pending +--- + src/omapfb-output.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/src/omapfb-output.c b/src/omapfb-output.c +index f8b4db3..4d59265 100644 +--- a/src/omapfb-output.c ++++ b/src/omapfb-output.c +@@ -125,8 +125,13 @@ OMAPFBOutputGetModes(xf86OutputPtr output) + /* Only populate the native (current) mode */ + mode = calloc(1, sizeof(DisplayModeRec)); + mode->type |= M_T_PREFERRED; +- mode->Clock = PICOS2KHZ(ofb->state_info.pixclock); +- mode->SynthClock = PICOS2KHZ(ofb->state_info.pixclock); ++ if (ofb->state_info.pixclock == 0) { ++ mode->Clock = 0; ++ mode->SynthClock = 0; ++ } else { ++ mode->Clock = PICOS2KHZ(ofb->state_info.pixclock); ++ mode->SynthClock = PICOS2KHZ(ofb->state_info.pixclock); ++ } + mode->HDisplay = ofb->state_info.xres; + mode->HSyncStart = mode->HDisplay + + ofb->state_info.right_margin; +-- +2.1.4 + diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch new file mode 100644 index 000000000..9fb01d438 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch @@ -0,0 +1,41 @@ +From 8fb7d0f99d4afbb574b30cb4f1e66a8f89d94ad5 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Wed, 26 Jan 2011 12:04:36 +0100 +Subject: [PATCH 1/6] 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 + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/omapfb-crtc.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +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); ++ + } + + +-- +1.8.0 + diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch new file mode 100644 index 000000000..683a98983 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch @@ -0,0 +1,32 @@ +From 855c333ac0d16350f895f1d1b9391e9cbb0b6db4 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Wed, 26 Jan 2011 13:27:20 +0100 +Subject: [PATCH 2/6] Revert "Set virtual size when configuring framebuffer" + +Virtual size too big, so revert it. + +This reverts commit 2653ef07883fbd1a5e7025f9300cf89b79ba429a. + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/omapfb-crtc.c | 2 -- + 1 file changed, 2 deletions(-) + +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; +-- +1.8.0 + diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0003-force-plain-mode.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0003-force-plain-mode.patch new file mode 100644 index 000000000..67ea7c1a5 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0003-force-plain-mode.patch @@ -0,0 +1,31 @@ +From 252f44c072d3447a32127fc9afe5d0d40f3c510e Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Wed, 26 Jan 2011 13:20:20 +0100 +Subject: [PATCH 3/6] 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> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/omapfb-driver.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +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; +-- +1.8.0 + diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0004-blacklist-tv-out.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0004-blacklist-tv-out.patch new file mode 100644 index 000000000..b0ac9a44c --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0004-blacklist-tv-out.patch @@ -0,0 +1,33 @@ +From cfa46b67f59115f6d8ef9414af60380749ff3eb3 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Wed, 26 Jan 2011 13:21:12 +0100 +Subject: [PATCH 4/6] 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> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/omapfb-output-dss.c | 4 ++++ + 1 file changed, 4 insertions(+) + +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; + } + +-- +1.8.0 + diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0005-Attempt-to-fix-VRFB.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0005-Attempt-to-fix-VRFB.patch new file mode 100644 index 000000000..67b284023 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0005-Attempt-to-fix-VRFB.patch @@ -0,0 +1,325 @@ +From 8b1f697a60e35ab82fffdabfaefdb45e9a9df379 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 5/6] 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> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + 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.8.0 + diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0006-omapfb-port-to-new-xserver-video-API.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0006-omapfb-port-to-new-xserver-video-API.patch new file mode 100644 index 000000000..d56729987 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0006-omapfb-port-to-new-xserver-video-API.patch @@ -0,0 +1,272 @@ +From 803ecf2909949e6152f4a81b6cbb92a4430679ac Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Fri, 23 Nov 2012 00:31:06 +0100 +Subject: [PATCH 6/6] omapfb: port to new xserver video API + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/compat-api.h | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/omapfb-driver.c | 41 ++++++++++++----------- + 2 files changed, 118 insertions(+), 19 deletions(-) + create mode 100644 src/compat-api.h + +diff --git a/src/compat-api.h b/src/compat-api.h +new file mode 100644 +index 0000000..b1591b1 +--- /dev/null ++++ b/src/compat-api.h +@@ -0,0 +1,96 @@ ++/* ++ * Copyright 2012 Red Hat, Inc. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice (including the next ++ * paragraph) shall be included in all copies or substantial portions of the ++ * Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++ * DEALINGS IN THE SOFTWARE. ++ * ++ * Author: Dave Airlie <airlied@redhat.com> ++ */ ++ ++/* this file provides API compat between server post 1.13 and pre it, ++ it should be reused inside as many drivers as possible */ ++#ifndef COMPAT_API_H ++#define COMPAT_API_H ++ ++#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR ++#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum] ++#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p ++#endif ++ ++#ifndef XF86_HAS_SCRN_CONV ++#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum] ++#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex] ++#endif ++ ++#ifndef XF86_SCRN_INTERFACE ++ ++#define SCRN_ARG_TYPE int ++#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)] ++ ++#define SCREEN_ARG_TYPE int ++#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)] ++ ++#define SCREEN_INIT_ARGS_DECL int index, ScreenPtr pScreen, int argc, char **argv ++ ++#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask ++#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask ++ ++#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen ++#define CLOSE_SCREEN_ARGS scrnIndex, pScreen ++ ++#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags ++ ++#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags ++ ++#define FREE_SCREEN_ARGS_DECL int arg, int flags ++#define FREE_SCREEN_ARGS(x) (x)->scrnIndex, 0 ++ ++#define VT_FUNC_ARGS_DECL int arg, int flags ++#define VT_FUNC_ARGS(flags) pScrn->scrnIndex, (flags) ++ ++#define XF86_ENABLEDISABLEFB_ARG(x) ((x)->scrnIndex) ++#else ++#define SCRN_ARG_TYPE ScrnInfoPtr ++#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1) ++ ++#define SCREEN_ARG_TYPE ScreenPtr ++#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1) ++ ++#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv ++ ++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask ++#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask ++ ++#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen ++#define CLOSE_SCREEN_ARGS pScreen ++ ++#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y ++#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode ++ ++#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg ++#define FREE_SCREEN_ARGS(x) (x) ++ ++#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg ++#define VT_FUNC_ARGS(flags) pScrn ++ ++#define XF86_ENABLEDISABLEFB_ARG(x) (x) ++ ++#endif ++ ++#endif +diff --git a/src/omapfb-driver.c b/src/omapfb-driver.c +index 07989f5..486ffa4 100644 +--- a/src/omapfb-driver.c ++++ b/src/omapfb-driver.c +@@ -44,6 +44,8 @@ + + #include "exa.h" + ++#include "compat-api.h" ++ + #ifdef HAVE_XEXTPROTO_71 + #include <X11/extensions/dpmsconst.h> + #else +@@ -70,10 +72,10 @@ + + static Bool OMAPFBProbe(DriverPtr drv, int flags); + static Bool OMAPFBPreInit(ScrnInfoPtr pScrn, int flags); +-static Bool OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv); +-static Bool OMAPFBEnterVT(int scrnIndex, int flags); +-static void OMAPFBLeaveVT(int scrnIndex, int flags); +-static Bool OMAPFBSwitchMode(int scrnIndex, DisplayModePtr mode, int flags); ++static Bool OMAPFBScreenInit(SCREEN_INIT_ARGS_DECL); ++static Bool OMAPFBEnterVT(VT_FUNC_ARGS_DECL); ++static void OMAPFBLeaveVT(VT_FUNC_ARGS_DECL); ++static Bool OMAPFBSwitchMode(SWITCH_MODE_ARGS_DECL); + + static Bool + OMAPFBEnsureRec(ScrnInfoPtr pScrn) +@@ -481,7 +483,7 @@ OMAPFBXvScreenInit(ScreenPtr pScreen) + } + + static Bool +-OMAPFBCloseScreen(int scrnIndex, ScreenPtr pScreen) ++OMAPFBCloseScreen(CLOSE_SCREEN_ARGS_DECL) + { + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + OMAPFBPtr ofb = OMAPFB(pScrn); +@@ -490,11 +492,11 @@ OMAPFBCloseScreen(int scrnIndex, ScreenPtr pScreen) + + pScreen->CloseScreen = ofb->CloseScreen; + +- return (*pScreen->CloseScreen)(scrnIndex, pScreen); ++ return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS); + } + + static Bool +-OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) ++OMAPFBScreenInit(SCREEN_INIT_ARGS_DECL) + { + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + OMAPFBPtr ofb = OMAPFB(pScrn); +@@ -516,7 +518,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + PROT_READ | PROT_WRITE, MAP_SHARED, + ofb->fd, 0); + if (ofb->fb == MAP_FAILED) { +- xf86DrvMsg(scrnIndex, X_ERROR, "Mapping framebuffer memory failed, wanted %d bytes.\n", ofb->mem_info.size); ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Mapping framebuffer memory failed, wanted %d bytes.\n", ofb->mem_info.size); + return FALSE; + } + +@@ -526,7 +528,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + /* Only support TrueColor for now */ + if (!miSetVisualTypes(pScrn->depth, TrueColorMask, + pScrn->rgbBits, pScrn->defaultVisual)) { +- xf86DrvMsg(scrnIndex, X_ERROR, "visual type setup failed" ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "visual type setup failed" + " for %d bits per pixel [1]\n", + pScrn->bitsPerPixel); + return FALSE; +@@ -534,7 +536,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + + /* Set up pixmap depth information */ + if (!miSetPixmapDepths()) { +- xf86DrvMsg(scrnIndex,X_ERROR,"pixmap depth setup failed\n"); ++ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"pixmap depth setup failed\n"); + return FALSE; + } + +@@ -546,7 +548,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + pScrn->virtualY, pScrn->xDpi, + pScrn->yDpi, pScrn->displayWidth, + pScrn->bitsPerPixel)) { +- xf86DrvMsg(scrnIndex, X_ERROR, "fbScreenInit failed\n"); ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "fbScreenInit failed\n"); + return FALSE; + } + +@@ -567,7 +569,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + + /* Initialize XRender fallbacks */ + if (!fbPictureInit(pScreen, NULL, 0)) { +- xf86DrvMsg(scrnIndex, X_ERROR, "fbPictureInit failed\n"); ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "fbPictureInit failed\n"); + return FALSE; + } + +@@ -579,7 +581,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + + /* Initialize default colormap */ + if (!miCreateDefColormap(pScreen)) { +- xf86DrvMsg(scrnIndex, X_ERROR, ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "creating default colormap failed\n"); + return FALSE; + } +@@ -589,7 +591,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + /* This is non-fatal since we might be running against older + * kernel driver in which case we only do basic 2D stuff... + */ +- xf86DrvMsg(scrnIndex, X_ERROR, "Reading plane info failed\n"); ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Reading plane info failed\n"); + } else if (!ofb->dss) { + + ofb->plane_info.enabled = 1; +@@ -602,7 +604,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + } + + if (ioctl (ofb->fd, OMAPFB_SETUP_PLANE, &ofb->plane_info)) { +- xf86DrvMsg(scrnIndex, X_ERROR, ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "%s: Plane setup failed: %s\n", + __FUNCTION__, strerror(errno)); + return FALSE; +@@ -645,9 +647,10 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + return TRUE; + } + +-static Bool OMAPFBSwitchMode(int scrnIndex, DisplayModePtr mode, int flags) ++static Bool OMAPFBSwitchMode(SWITCH_MODE_ARGS_DECL) + { +- return xf86SetSingleMode (xf86Screens[scrnIndex], mode, RR_Rotate_0); ++ SCRN_INFO_PTR(arg); ++ return xf86SetSingleMode (pScrn, mode, RR_Rotate_0); + } + + void +@@ -699,14 +702,14 @@ OMAPFBPrintCapabilities(ScrnInfoPtr pScrn, + /*** Unimplemented: */ + + static Bool +-OMAPFBEnterVT(int scrnIndex, int flags) ++OMAPFBEnterVT(VT_FUNC_ARGS_DECL) + { + xf86Msg(X_NOT_IMPLEMENTED, "%s\n", __FUNCTION__); + return TRUE; + } + + static void +-OMAPFBLeaveVT(int scrnIndex, int flags) ++OMAPFBLeaveVT(VT_FUNC_ARGS_DECL) + { + xf86Msg(X_NOT_IMPLEMENTED, "%s\n", __FUNCTION__); + } +-- +1.8.0 + diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0007-always_include_xorg_server.h.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0007-always_include_xorg_server.h.patch new file mode 100644 index 000000000..dc0b9b3f4 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0007-always_include_xorg_server.h.patch @@ -0,0 +1,48 @@ +Fix errors with glibc 2.20 + +In file included from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/string.h:634:0, + from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:53, + from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/misc.h:115, + from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/xf86str.h:37, + from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/xf86.h:44, + from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/i586-oe-linux/xf86-video-omapfb/2_0.1.1+gitrAUTOINC+28c006c94e-r21.7/git/src/omapfb-xv-blizzard.c:33: +/home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__' + strndup(const char *str, size_t n); + ^ +In file included from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/string.h:634:0, + from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:53, + from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/misc.h:115, + from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/xf86str.h:37, + from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/xf86.h:44, + from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/i586-oe-linux/xf86-video-omapfb/2_0.1.1+gitrAUTOINC+28c006c94e-r21.7/git/src/omapfb-xv-generic.c:28: +/home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__' + strndup(const char *str, size_t n); + ^ + +Singed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Pending +Index: git/src/omapfb-xv-blizzard.c +=================================================================== +--- git.orig/src/omapfb-xv-blizzard.c 2014-08-28 05:16:25.684070587 -0700 ++++ git/src/omapfb-xv-blizzard.c 2014-08-28 19:05:39.440070587 -0700 +@@ -30,6 +30,7 @@ + * - + */ + ++#include <xorg-server.h> + #include "xf86.h" + #include "xf86_OSlib.h" + #include "xf86xv.h" +Index: git/src/omapfb-xv-generic.c +=================================================================== +--- git.orig/src/omapfb-xv-generic.c 2014-08-28 05:16:25.684070587 -0700 ++++ git/src/omapfb-xv-generic.c 2014-08-28 19:05:51.780070587 -0700 +@@ -25,6 +25,7 @@ + * Generic functions for the XV driver + */ + ++#include <xorg-server.h> + #include "xf86.h" + #include "xf86_OSlib.h" + #include "xf86xv.h" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb new file mode 100644 index 000000000..7ebb960f1 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb @@ -0,0 +1,37 @@ +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 = "33e36c12dde336edbdd34626dd8adfcaebc8fbb8" +PR = "${INC_PR}.7" +PV = "0.1.1+gitr${SRCPV}" + +# Blacklist debian-specific tags in upstream version check +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)(?!-)" + +SRC_URI = "git://anonscm.debian.org/collab-maint/xf86-video-omapfb.git \ + file://0001-Prevents-omapfb-from-from-crashing-when-pixelclock-o.patch \ + file://0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch \ + file://0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch \ + file://0003-force-plain-mode.patch \ + file://0004-blacklist-tv-out.patch \ + file://0005-Attempt-to-fix-VRFB.patch \ + file://0006-omapfb-port-to-new-xserver-video-API.patch \ + file://0007-always_include_xorg_server.h.patch \ +" + +S = "${WORKDIR}/git" + +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/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.4.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.4.bb new file mode 100644 index 000000000..fa251b50e --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.4.bb @@ -0,0 +1,21 @@ +require xorg-driver-video.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=a1f0610ebdc6f314a9fa5102a8c5c1b0" + +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}.0" + +DEPENDS += "virtual/libx11 randrproto libpciaccess" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +RRECOMMENDS_${PN} += "xserver-xorg-module-libint10" + +SRC_URI[md5sum] = "a893c37c589f7a31cea929a5d896a0e2" +SRC_URI[sha256sum] = "7bddf4d879dd6f67088ecb203a31e12334aab980174bd0909930a21f32e251c1" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch new file mode 100644 index 000000000..5bda720ce --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch @@ -0,0 +1,103 @@ +From da6612659a279bcb02f70622b53a3894fbc11052 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Fri, 9 Dec 2016 14:35:45 +0200 +Subject: [PATCH] Add option for vmwgfx + +Upstream-Status:Submitted + +Signed-off-by: Ross Burton <ross.burton@intel.com> +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + configure.ac | 51 +++++++++++++++++++++------------------------------ + 1 file changed, 21 insertions(+), 30 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9f259ce..f3fec57 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -64,6 +64,13 @@ AC_ARG_ENABLE(vmwarectrl-client, + [VMWARECTRL=$enableval], [VMWARECTRL=no]) + AM_CONDITIONAL(BUILD_VMWARECTRL, [test "x$VMWARECTRL" = xyes]) + ++# Define a configure option to build the vmwgfx driver ++AC_ARG_ENABLE(vmwgfx, ++ AS_HELP_STRING([--disable-vmwgfx], ++ [Disable vmwgfx driver (KMS/3D) (default: enabled)]), ++ [VMWGFX="$enableval"], [VMWGFX="yes"]) ++AM_CONDITIONAL(BUILD_VMWGFX, test "x$VMWGFX" = xyes) ++ + # Store the list of server defined optional extensions in REQUIRED_MODULES + XORG_DRIVER_CHECK_EXT(RANDR, randrproto) + XORG_DRIVER_CHECK_EXT(RENDER, renderproto) +@@ -85,11 +92,6 @@ PKG_CHECK_EXISTS([xorg-server >= 1.4.99], + [AC_DEFINE([HAVE_XORG_SERVER_1_5_0], 1, + [Has version 1.5.0 or greater of the Xserver])]) + +-PKG_CHECK_EXISTS([xorg-server >= 1.7.0], +- [AC_DEFINE([HAVE_XORG_SERVER_1_7_0], 1, +- [Has version 1.7.0 or greater of the Xserver]) +- BUILD_VMWGFX=yes],[BUILD_VMWGFX=no]) +- + PKG_CHECK_EXISTS([xorg-server >= 1.12.0], + [AC_DEFINE([HAVE_XORG_SERVER_1_12_0], 1, + [Has version 1.12.0 or greater of the Xserver])]) +@@ -114,34 +116,22 @@ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) + + AC_SUBST([moduledir]) + +-if test x$BUILD_VMWGFX = xyes; then +- PKG_CHECK_MODULES([LIBDRM], [libdrm],[],[BUILD_VMWGFX=no]) +-fi +-if test x$BUILD_VMWGFX = xyes; then +-# +-# Early versions of mesa 10 forgot to bump the XA major version number in +-# the xa_tracker.h header +-# +- PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0], +- [PKG_CHECK_EXISTS([xatracker = 2.0.0], +- [AC_DEFINE([HAVE_XA_2], 1, +- [Has version 2 of XA])])], +- [BUILD_VMWGFX=no]) +-# +-# Check for prime. +-# ++AC_MSG_CHECKING([whether to build Kernel Mode Setting and 3D]) ++if test x$VMWGFX = xyes; then ++ AC_MSG_RESULT([yes]) ++ PKG_CHECK_MODULES([LIBDRM], [libdrm]) ++ # Check for prime. + PKG_CHECK_EXISTS([libdrm >= 2.4.38], + [AC_DEFINE([HAVE_LIBDRM_2_4_38], 1, + [Has version 2.4.38 or greater of libdrm])]) +-fi + +-DRIVER_NAME=vmware +-AC_SUBST([DRIVER_NAME]) +- +-AC_MSG_CHECKING([whether to build Kernel Mode Setting and 3D]) +-if test x$BUILD_VMWGFX = xyes; then +- AC_MSG_RESULT([yes]) +- AC_DEFINE([BUILD_VMWGFX], 1, [Building the vmwgfx driver path]) ++ # Early versions of mesa 10 forgot to bump the XA major version number ++ # in the xa_tracker.h header ++ PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0], ++ [PKG_CHECK_EXISTS([xatracker = 2.0.0], ++ [AC_DEFINE([HAVE_XA_2], 1, ++ [Has version 2 of XA])])]) ++ AC_DEFINE([BUILD_VMWGFX], 1, [Building the vmwgfx driver path]) + libudev_check=yes + AC_ARG_WITH([libudev], + [AS_HELP_STRING([--without-libudev], +@@ -158,7 +148,8 @@ else + AC_MSG_RESULT([no]) + fi + +-AM_CONDITIONAL(BUILD_VMWGFX, test "x$BUILD_VMWGFX" = xyes) ++DRIVER_NAME=vmware ++AC_SUBST([DRIVER_NAME]) + + AC_CONFIG_FILES([ + Makefile +-- +2.1.4 + diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.2.1.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.2.1.bb new file mode 100644 index 000000000..706d35d2f --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.2.1.bb @@ -0,0 +1,19 @@ +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 xineramaproto videoproto libpciaccess" + +SRC_URI += "file://0002-add-option-for-vmwgfx.patch" + +SRC_URI[md5sum] = "4c3912e4d8947f6c2fc1ee9e2f211d74" +SRC_URI[sha256sum] = "e2f7f7101fba7f53b268e7a25908babbf155b3984fb5268b3d244eb6c11bf62b" + +COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)' + +PACKAGECONFIG ?= "" +PACKAGECONFIG[vmwgfx] = "--enable-vmwgfx, --disable-vmwgfx, libdrm virtual/mesa" diff --git a/poky/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc b/poky/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc new file mode 100644 index 000000000..bca0aade6 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc @@ -0,0 +1,42 @@ +SUMMARY = "X driver" +HOMEPAGE = "http://www.x.org" +BUGTRACKER = "https://bugs.freedesktop.org" +SECTION = "x11/drivers" +LICENSE = "MIT-X" + +PE = "2" +INC_PR = "r21" + +DEPENDS = "virtual/xserver xproto randrproto util-macros" + +SRC_URI = "${XORG_MIRROR}/individual/driver/${BPN}-${PV}.tar.bz2" + +FILES_${PN} += " ${libdir}/xorg/modules/drivers/*.so" + +inherit autotools pkgconfig distro_features_check +# depends on virtual/xserver +REQUIRED_DISTRO_FEATURES = "x11" + +# 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 -- +} + +# Function to add the relevant ABI dependency to drivers, which should be called +# from a PACKAGEFUNC. +def _add_xorg_abi_depends(d, name): + # Map of ABI names exposed in the dependencies to pkg-config variables + abis = { + "video": "abi_videodrv", + "input": "abi_xinput" + } + + output = os.popen("pkg-config xorg-server --variable=%s" % abis[name]).read() + mlprefix = d.getVar('MLPREFIX') or '' + abi = "%sxorg-abi-%s-%s" % (mlprefix, name, output.split(".")[0]) + + pn = d.getVar("PN") + d.appendVar('RDEPENDS_' + pn, ' ' + abi) + +SECURITY_LDFLAGS = "${SECURITY_X_LDFLAGS}" diff --git a/poky/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc b/poky/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc new file mode 100644 index 000000000..342067d6c --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc @@ -0,0 +1,12 @@ +require xorg-driver-common.inc + +DEPENDS += "inputproto kbproto " + +python add_xorg_abi_depends() { + _add_xorg_abi_depends(d, "input") +} +PACKAGEFUNCS =+ "add_xorg_abi_depends" + +FILES_${PN} += " ${libdir}/xorg/modules/input/*.so \ + ${datadir}/X11/xorg.conf.d \ + " diff --git a/poky/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc b/poky/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc new file mode 100644 index 000000000..b5862dae1 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc @@ -0,0 +1,8 @@ +require xorg-driver-common.inc + +DEPENDS =+ "renderproto videoproto xextproto fontsproto" + +python add_xorg_abi_depends() { + _add_xorg_abi_depends(d, "video") +} +PACKAGEFUNCS =+ "add_xorg_abi_depends" diff --git a/poky/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch b/poky/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch new file mode 100644 index 000000000..f330c185a --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb b/poky/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb new file mode 100644 index 000000000..36766f2f4 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb @@ -0,0 +1,22 @@ +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 mkfontdir-native font-util-native" +RDEPENDS_${PN} = "" + +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/poky/meta/recipes-graphics/xorg-font/font-alias-1.0.3/nocompiler.patch b/poky/meta/recipes-graphics/xorg-font/font-alias-1.0.3/nocompiler.patch new file mode 100644 index 000000000..0b9fb8ccc --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/xorg-font/font-alias_1.0.3.bb b/poky/meta/recipes-graphics/xorg-font/font-alias_1.0.3.bb new file mode 100644 index 000000000..15e101596 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-font/font-alias_1.0.3.bb @@ -0,0 +1,24 @@ +SUMMARY = "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 font-util-native" +RDEPENDS_${PN} = "encodings font-util" +RDEPENDS_${PN}_class-native = "font-util-native" + +inherit allarch + +PE = "1" +PR = "${INC_PR}.3" + +SRC_URI[md5sum] = "6d25f64796fef34b53b439c2e9efa562" +SRC_URI[sha256sum] = "8b453b2aae1cfa8090009ca037037b8c5e333550651d5a158b7264ce1d472c9a" diff --git a/poky/meta/recipes-graphics/xorg-font/font-util_1.3.1.bb b/poky/meta/recipes-graphics/xorg-font/font-util_1.3.1.bb new file mode 100644 index 000000000..34646ff99 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-font/font-util_1.3.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "X.Org font package creation/installation utilities" + +require xorg-font-common.inc + +#Unicode is MIT +LICENSE = "BSD & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=5df208ec65eb84ce5bb8d82d8f3b9675 \ + 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_class-native = "util-macros-native" +RDEPENDS_${PN} = "mkfontdir mkfontscale encodings" +RDEPENDS_${PN}_class-native = "mkfontdir-native mkfontscale-native" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "23756dab809f9ec5011bb27fb2c3c7d6" +SRC_URI[sha256sum] = "aa7ebdb0715106dd255082f2310dbaa2cd7e225957c2a77d719720c7cc92b921" + +SYSROOT_DIRS_BLACKLIST_remove = "${datadir}/fonts" diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-font-common.inc b/poky/meta/recipes-graphics/xorg-font/xorg-font-common.inc new file mode 100644 index 000000000..cdbebcf78 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-font/xorg-font-common.inc @@ -0,0 +1,43 @@ +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" +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 distro_features_check + +# The mkfontscale-native requires x11 in DISTRO_FEATURES +REQUIRED_DISTRO_FEATURES = "x11" + +EXTRA_OEMAKE += "FCCACHE=/bin/true UTIL_DIR=${STAGING_DIR_TARGET}\$\(MAPFILES_PATH\)" + +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}" + +PACKAGE_WRITE_DEPS += "mkfontdir-native mkfontscale-native" +pkg_postinst_${PN} () { + 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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb b/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb new file mode 100644 index 000000000..9bcd1b2fa --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb @@ -0,0 +1,32 @@ +SUMMARY = "Xorg minimal fonts data" +DESCRIPTION = "Minimal fonts required by X.org." +HOMEPAGE = "http://www.x.org" + +SECTION = "x11/fonts" + +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://../misc/fonts.dir;md5=82a143d94d6a974aafe97132d2d519ab \ + file://../misc/cursor.pcf.gz;md5=40bc81001fef4c21ca08df4305014a2a" + +SRC_URI = "file://misc" + +PE = "1" +PR = "r2" + +inherit allarch distro_features_check + +# The font-alias requires x11 in DISTRO_FEATURES +REQUIRED_DISTRO_FEATURES = "x11" + +S = "${WORKDIR}/misc" + +PACKAGES = "${PN}" +FILES_${PN} = "${libdir}/X11/ ${datadir}/fonts/X11/" +RDEPENDS_${PN} += "font-alias" + +do_install() { + install -d ${D}/${datadir}/fonts/X11/misc + install -m 0644 ${S}/* ${D}/${datadir}/fonts/X11/misc/ + install -d ${D}/${libdir}/X11 + ln -sf ${datadir}/fonts/X11/ ${D}/${libdir}/X11/fonts -s +} diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-1.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-1.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-10.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-10.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-11.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-11.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-13.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-13.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-14.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-14.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-15.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-15.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-16.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-16.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-2.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-2.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-3.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-3.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-4.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-4.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-5.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-5.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-7.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-7.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-8.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-8.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-9.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-ISO8859-9.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-KOI8-R.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13-KOI8-R.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13.pcf.gz b/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13.pcf.gz Binary files differnew file mode 100644 index 000000000..2df635537 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-1.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-1.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-10.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-10.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-13.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-13.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-14.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-14.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-15.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-15.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-16.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-16.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-2.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-2.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-3.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-3.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-4.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-4.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-5.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-5.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-7.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-7.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-8.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-8.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-9.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B-ISO8859-9.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B.pcf.gz b/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B.pcf.gz Binary files differnew file mode 100644 index 000000000..d4c3184c7 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13B.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-1.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-1.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-10.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-10.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-13.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-13.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-14.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-14.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-15.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-15.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-16.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-16.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-2.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-2.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-3.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-3.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-4.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-4.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-5.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-5.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-7.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-7.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-9.pcf.gz b/poky/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/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O-ISO8859-9.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O.pcf.gz b/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O.pcf.gz Binary files differnew file mode 100644 index 000000000..4a546ddb1 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/6x13O.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/cursor.pcf.gz b/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/cursor.pcf.gz Binary files differnew file mode 100644 index 000000000..72eb72bbe --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/cursor.pcf.gz diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/fonts.dir b/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts/misc/fonts.dir new file mode 100644 index 000000000..0a2718f7b --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/xorg-lib/libdmx_1.1.3.bb b/poky/meta/recipes-graphics/xorg-lib/libdmx_1.1.3.bb new file mode 100644 index 000000000..e623cee42 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libdmx_1.1.3.bb @@ -0,0 +1,20 @@ +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" + +PE = "1" + +SRC_URI[md5sum] = "ba983eba5a9f05d152a0725b8e863151" +SRC_URI[sha256sum] = "c97da36d2e56a2d7b6e4f896241785acc95e97eb9557465fd66ba2a155a7b201" + diff --git a/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.3.bb b/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.3.bb new file mode 100644 index 000000000..a181f05c2 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.3.bb @@ -0,0 +1,17 @@ +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" +PE = "1" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "0920924c3a9ebc1265517bdd2f9fde50" +SRC_URI[sha256sum] = "70588930e6fc9542ff38e0884778fbc6e6febf21adbab92fd8f524fe60aefd21" diff --git a/poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb b/poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb new file mode 100644 index 000000000..f069749ce --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb @@ -0,0 +1,28 @@ +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" + +PE = "1" + +XORG_PN = "libICE" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "addfb1e897ca8079531669c7c7711726" +SRC_URI[sha256sum] = "8f7032f2c1c64352b5423f6b48a8ebdc339cc63064af34d66a6c9aa79759e202" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[arc4] = "ac_cv_lib_bsd_arc4random_buf=yes,ac_cv_lib_bsd_arc4random_buf=no,libbsd" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/poky/meta/recipes-graphics/xorg-lib/libpciaccess/0004-Don-t-include-sys-io.h-on-arm.patch b/poky/meta/recipes-graphics/xorg-lib/libpciaccess/0004-Don-t-include-sys-io.h-on-arm.patch new file mode 100644 index 000000000..f53285824 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libpciaccess/0004-Don-t-include-sys-io.h-on-arm.patch @@ -0,0 +1,28 @@ +From b6df5202306bd71158b482f25ca2e6919645d4dd Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 4 Jun 2015 20:55:06 -0700 +Subject: [PATCH 4/4] Don't include sys/io.h on arm + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + src/linux_sysfs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/linux_sysfs.c b/src/linux_sysfs.c +index 3f95e53..1e3aad3 100644 +--- a/src/linux_sysfs.c ++++ b/src/linux_sysfs.c +@@ -50,7 +50,7 @@ + #include <dirent.h> + #include <errno.h> + +-#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) ++#if defined(__i386__) || defined(__x86_64__) + #include <sys/io.h> + #else + #define inb(x) -1 +-- +2.1.4 + diff --git a/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.14.bb b/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.14.bb new file mode 100644 index 000000000..a44a5c892 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.14.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://0004-Don-t-include-sys-io.h-on-arm.patch \ +" + +SRC_URI[md5sum] = "8f436e151d5106a9cfaa71857a066d33" +SRC_URI[sha256sum] = "3df543e12afd41fea8eac817e48cbfde5aed8817b81670a4e9e493bb2f5bf2a4" + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=277aada5222b9a22fbf3471ff3687068" + +REQUIRED_DISTRO_FEATURES = "" diff --git a/poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb b/poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb new file mode 100644 index 000000000..ffa1c859d --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb @@ -0,0 +1,19 @@ +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" + +SRC_URI = "http://xcb.freedesktop.org/dist/${BP}.tar.bz2" +SRC_URI[md5sum] = "48c1544854a94db0e51499cc3afd797f" +SRC_URI[sha256sum] = "e4d05911a3165d3b18321cc067fdd2f023f06436e391c6a28dff618a78d2e733" + +inherit autotools + +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.2.bb b/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.2.bb new file mode 100644 index 000000000..48922cb99 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.2.bb @@ -0,0 +1,31 @@ +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" + +# libSM can work without libuuid, we explicitly disable it to break the following circular dependency +# when DISTRO_FEATURES contains 'systemd' and 'x11'. +# systemd -> dbus -> libsm -> util-linux -> systemd +EXTRA_OECONF += "--without-libuuid" + +PE = "1" + +XORG_PN = "libSM" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "499a7773c65aba513609fe651853c5f3" +SRC_URI[sha256sum] = "0baca8c9f5d934450a70896c4ad38d06475521255ca63b717a6510fdb6e287bd" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.5.bb b/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.5.bb new file mode 100644 index 000000000..295f96a2e --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.5.bb @@ -0,0 +1,19 @@ +require libx11.inc + +DESCRIPTION += " Support for XCMS and XLOCALE is disabled in \ +this version." + +SRC_URI += "file://X18NCMSstubs.diff \ + file://fix-disable-xlocale.diff \ + file://fix-utf8-wrong-define.patch \ + " + +RPROVIDES_${PN}-dev = "libx11-dev" +RPROVIDES_${PN}-locale = "libx11-locale" + +SRC_URI[md5sum] = "0f618db70c4054ca67cee0cc156a4255" +SRC_URI[sha256sum] = "4d3890db2ba225ba8c55ca63c6409c1ebb078a2806de59fb16342768ae63435d" + +EXTRA_OECONF += "--disable-xlocale" + +PACKAGECONFIG ??= "" diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11.inc b/poky/meta/recipes-graphics/xorg-lib/libx11.inc new file mode 100644 index 000000000..4af40ab8a --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11.inc @@ -0,0 +1,37 @@ +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 + +FILESEXTRAPATHS =. "${FILE_DIRNAME}/libx11:" + +PE = "1" + +PROVIDES = "virtual/libx11" + +XORG_PN = "libX11" +LICENSE = "MIT & MIT-style & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" + +DEPENDS += "xproto xextproto xtrans libxcb kbproto inputproto" +DEPENDS += "xproto-native" + +EXTRA_OECONF += "--with-keysymdefdir=${STAGING_INCDIR}/X11/ --disable-xf86bigfont" +EXTRA_OEMAKE += 'CWARNFLAGS=""' + +PACKAGECONFIG ??= "xcms" +PACKAGECONFIG[xcms] = "--enable-xcms,--disable-xcms" + +# src/util/makekeys is built natively but needs -D_GNU_SOURCE defined. +CPPFLAGS_FOR_BUILD += "-D_GNU_SOURCE" + +PACKAGES =+ "${PN}-xcb" + +FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${datadir}/X11/Xcms.txt" +FILES_${PN}-xcb += "${libdir}/libX11-xcb.so.*" +FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale" diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch new file mode 100644 index 000000000..897882b8d --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch @@ -0,0 +1,60 @@ +From 5235a7f3692a4c3c90dd4ac1be3c670388904bbe Mon Sep 17 00:00:00 2001 +From: Tatu Frisk <tatu.frisk@ge.com> +Date: Tue, 14 Mar 2017 14:41:27 +0200 +Subject: [PATCH] Fix hanging issue in _XReply + +Assume event queue is empty if another thread is blocking waiting for event. + +If one thread was blocking waiting for an event and another thread sent a +reply to the X server, both threads got blocked until an event was +received. + +Upstream-Status: Submitted [https://patchwork.freedesktop.org/patch/171458/] + +This patch needs to be removed once the corresponding patch has been merged upstream. + +https://patchwork.freedesktop.org/patch/171458/ + +Signed-off-by: Tatu Frisk <tatu.frisk@ge.com> +Signed-off-by: Jose Alarcon <jose.alarcon@ge.com> +--- + src/xcb_io.c | 19 +++++++------------ + 1 file changed, 7 insertions(+), 12 deletions(-) + +diff --git a/src/xcb_io.c b/src/xcb_io.c +index 5987329..c64eb04 100644 +--- a/src/xcb_io.c ++++ b/src/xcb_io.c +@@ -609,22 +609,17 @@ Status _XReply(Display *dpy, xReply *rep, int extra, Bool discard) + * letting anyone else process this sequence number, we + * need to process any events that should have come + * earlier. */ +- + if(dpy->xcb->event_owner == XlibOwnsEventQueue) + { + xcb_generic_reply_t *event; +- /* If some thread is already waiting for events, +- * it will get the first one. That thread must +- * process that event before we can continue. */ +- /* FIXME: That event might be after this reply, +- * and might never even come--or there might be +- * multiple threads trying to get events. */ +- while(dpy->xcb->event_waiter) +- { /* need braces around ConditionWait */ +- ConditionWait(dpy, dpy->xcb->event_notify); ++ ++ /* Assume event queue is empty if another thread is blocking ++ * waiting for event. */ ++ if(!dpy->xcb->event_waiter) ++ { ++ while((event = poll_for_response(dpy))) ++ handle_response(dpy, event, True); + } +- while((event = poll_for_event(dpy))) +- handle_response(dpy, event, True); + } + + req->reply_waiter = 0; +-- +2.10.1 + diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.diff b/poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.diff new file mode 100644 index 000000000..744cedc77 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.diff @@ -0,0 +1,520 @@ +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) ++{ ++ return(XcmsFailure); ++} ++ ++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,6 +344,7 @@ EXTRA_DIST = \ + $(x11data_DATA) \ + os2Stubs.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; diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/disable_tests.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/disable_tests.patch new file mode 100644 index 000000000..c1b6cde53 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11/disable_tests.patch @@ -0,0 +1,22 @@ +Upstream-Status: Inappropriate [disable feature] + +Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> + +Update for 1.6.1 + +Signed-off-by: Kai Kang <kai.kang@windriver.com> + +diff -Nurd libX11-1.5.0/nls/Makefile.am libX11-1.5.0/nls/Makefile.am +--- libX11-1.5.0/nls/Makefile.am 2012-06-02 09:37:18.000000000 +0300 ++++ libX11-1.5.0/nls/Makefile.am 2013-01-02 16:10:24.960156131 +0200 +@@ -36,11 +36,6 @@ + < locale.dir.l1 > locale.dir.l2 + cat locale.dir.l2 locale.dir.l1 > locale.dir + +-if HAVE_PERL +-LOG_COMPILER = $(PERL) +-TESTS = compose-check.pl +-endif HAVE_PERL +- + + # Per-locale data files diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.diff b/poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.diff new file mode 100644 index 000000000..a7c3984fd --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11/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/poky/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch new file mode 100644 index 000000000..c6347f5be --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11/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/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb b/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb new file mode 100644 index 000000000..427bf28ce --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb @@ -0,0 +1,14 @@ +require libx11.inc +inherit gettext + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI += "file://disable_tests.patch \ + file://Fix-hanging-issue-in-_XReply.patch \ + " +do_configure_append () { + sed -i -e "/X11_CFLAGS/d" ${B}/src/util/Makefile +} + +SRC_URI[md5sum] = "0f618db70c4054ca67cee0cc156a4255" +SRC_URI[sha256sum] = "4d3890db2ba225ba8c55ca63c6409c1ebb078a2806de59fb16342768ae63435d" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.8.bb b/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.8.bb new file mode 100644 index 000000000..2ef8bfa8b --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.8.bb @@ -0,0 +1,24 @@ +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" + +PE = "1" + +XORG_PN = "libXau" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "685f8abbffa6d145c0f930f00703b21b" +SRC_URI[sha256sum] = "fdd477320aeb5cdd67272838722d6b7d544887dfe7de46e1e7cc0c27c2bea4f2" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcalibrate/fix-xcb.patch b/poky/meta/recipes-graphics/xorg-lib/libxcalibrate/fix-xcb.patch new file mode 100644 index 000000000..d6148834a --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb b/poky/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb new file mode 100644 index 000000000..0fe65318b --- /dev/null +++ b/poky/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}" + +SRC_URI = "git://anongit.freedesktop.org/git/xorg/lib/libXCalibrate \ + file://fix-xcb.patch" +UPSTREAM_CHECK_COMMITS = "1" + +S = "${WORKDIR}/git" + +FILES_${PN}-locale += "${datadir}/X11/locale" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb/Fix-inconsistent-use-of-tabs-vs.-space.patch b/poky/meta/recipes-graphics/xorg-lib/libxcb/Fix-inconsistent-use-of-tabs-vs.-space.patch new file mode 100644 index 000000000..899238635 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxcb/Fix-inconsistent-use-of-tabs-vs.-space.patch @@ -0,0 +1,62 @@ +From 8740a288ca468433141341347aa115b9544891d3 Mon Sep 17 00:00:00 2001 +From: Thomas Klausner <wiz@NetBSD.org> +Date: Thu, 19 May 2016 17:31:18 +0200 +Subject: [PATCH] Fix inconsistent use of tabs vs. space. + +Needed for at least python-3.5.x. + +Signed-off-by: Thomas Klausner <wiz@NetBSD.org> +Signed-off-by: Uli Schlachter <psychon@znc.in> + +Upstream-Status: Backport + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + src/c_client.py | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/c_client.py b/src/c_client.py +index 57de3fb..043338d 100644 +--- a/src/c_client.py ++++ b/src/c_client.py +@@ -1364,7 +1364,7 @@ def _c_serialize(context, self): + _c(' unsigned int xcb_align_to = 0;') + if self.is_switch: + _c(' unsigned int xcb_padding_offset = %d;', +- self.get_align_offset() ) ++ self.get_align_offset() ) + prefix = [('_aux', '->', self)] + aux_ptr = 'xcb_out' + +@@ -1390,7 +1390,7 @@ def _c_serialize(context, self): + _c(' unsigned int xcb_align_to = 0;') + if self.is_switch: + _c(' unsigned int xcb_padding_offset = %d;', +- self.get_align_offset() ) ++ self.get_align_offset() ) + + elif 'sizeof' == context: + param_names = [p[2] for p in params] +@@ -1930,14 +1930,14 @@ def _c_accessors_list(self, field): + # from the request size and divide that by the member size + return '(((R->length * 4) - sizeof('+ self.c_type + '))/'+'sizeof('+field.type.member.c_wiretype+'))' + else: +- # use the accessor to get the start of the list, then +- # compute the length of it by subtracting it from ++ # use the accessor to get the start of the list, then ++ # compute the length of it by subtracting it from + # the adress of the first byte after the end of the + # request +- after_end_of_request = '(((char*)R) + R->length * 4)' +- start_of_list = '%s(R)' % (field.c_accessor_name) ++ after_end_of_request = '(((char*)R) + R->length * 4)' ++ start_of_list = '%s(R)' % (field.c_accessor_name) + bytesize_of_list = '%s - (char*)(%s)' % (after_end_of_request, start_of_list) +- return '(%s) / sizeof(%s)' % (bytesize_of_list, field.type.member.c_wiretype) ++ return '(%s) / sizeof(%s)' % (bytesize_of_list, field.type.member.c_wiretype) + else: + raise Exception( + "lengthless lists with varsized members are not supported. Fieldname '%s'" +-- +2.9.0 + diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb/disable-check.patch b/poky/meta/recipes-graphics/xorg-lib/libxcb/disable-check.patch new file mode 100644 index 000000000..c0efbdc21 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxcb/disable-check.patch @@ -0,0 +1,25 @@ +The "check" package is checked for without an explicit enable/disable option, +which can lead to non-deterministic build issues with both check and libxslt. + +As the unit test suite is minimal at present, simply disable the test suite. In +the future if the test suite is expanded this can be made conditional on the +ptest DISTRO_FEATURE. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton <ross.burton@intel.com> + + +Index: libxcb-1.12/configure.ac +=================================================================== +--- libxcb-1.12.orig/configure.ac ++++ libxcb-1.12/configure.ac +@@ -36,7 +36,8 @@ if test x"$HAVE_DOT" = xno; then + AC_MSG_WARN([dot not found - doxygen targets will be skipped]) + fi + +-PKG_CHECK_MODULES(CHECK, [check >= 0.9.4], [HAVE_CHECK=yes], [HAVE_CHECK=no]) ++dnl PKG_CHECK_MODULES(CHECK, [check >= 0.9.4], [HAVE_CHECK=yes], [HAVE_CHECK=no]) ++HAVE_CHECK=no + AM_CONDITIONAL(HAVE_CHECK, test x$HAVE_CHECK = xyes) + + XSLTPROC=no diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb/gcc-mips-pr68302-mips-workaround.patch b/poky/meta/recipes-graphics/xorg-lib/libxcb/gcc-mips-pr68302-mips-workaround.patch new file mode 100644 index 000000000..698d038f9 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxcb/gcc-mips-pr68302-mips-workaround.patch @@ -0,0 +1,22 @@ +Reduce debug info for xcb.c since on mips we run into a gcc5 bug + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68302 + +This patch is a workaround to get past the gcc bug until its resolved. +it should have minimal impact on libxcb while make it work. + +Upstream-Status: Inappropriate [OE-Specific] +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Index: libxcb-1.11.1/src/Makefile.am +=================================================================== +--- libxcb-1.11.1.orig/src/Makefile.am ++++ libxcb-1.11.1/src/Makefile.am +@@ -188,6 +188,7 @@ EXTSOURCES += xkb.c + if BUILD_XKB + lib_LTLIBRARIES += libxcb-xkb.la + libxcb_xkb_la_LDFLAGS = -version-info 1:0:0 -no-undefined ++CFLAGS += -g1 + libxcb_xkb_la_LIBADD = $(XCB_LIBS) + nodist_libxcb_xkb_la_SOURCES = xkb.c xkb.h + endif diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb/xcbincludedir.patch b/poky/meta/recipes-graphics/xorg-lib/libxcb/xcbincludedir.patch new file mode 100644 index 000000000..46297c33c --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxcb/xcbincludedir.patch @@ -0,0 +1,28 @@ +As pkg-config --variable doesn't respect the sysroot, add the pkg-config sysroot +to the beginning of variables that are used later on the host. + +Upstream-Status: Pending +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/configure.ac b/configure.ac +index 94da4f7..d29cd6a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -64,7 +64,7 @@ AC_SUBST(NEEDED) + + # 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) + +@@ -74,7 +74,7 @@ AC_SUBST(XCBPROTO_VERSION) + + # Find the xcbgen Python package + AC_MSG_CHECKING(XCBPROTO_XCBPYTHONDIR) +-XCBPROTO_XCBPYTHONDIR=`$PKG_CONFIG --variable=pythondir xcb-proto` ++XCBPROTO_XCBPYTHONDIR=$PKG_CONFIG_SYSROOT_DIR/`$PKG_CONFIG --variable=pythondir xcb-proto` + AC_MSG_RESULT($XCBPROTO_XCBPYTHONDIR) + AC_SUBST(XCBPROTO_XCBPYTHONDIR) + diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.12.bb b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.12.bb new file mode 100644 index 000000000..a38bdea5d --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.12.bb @@ -0,0 +1,39 @@ +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" +SECTION = "x11/libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7" + +SRC_URI = "http://xcb.freedesktop.org/dist/libxcb-${PV}.tar.bz2 \ + file://xcbincludedir.patch \ + file://disable-check.patch \ + file://gcc-mips-pr68302-mips-workaround.patch \ + file://Fix-inconsistent-use-of-tabs-vs.-space.patch \ + " +SRC_URI[md5sum] = "28e552bd78bc1050b6b26ca1db0e5bb6" +SRC_URI[sha256sum] = "4adfb1b7c67e99bc9c2ccb110b2f175686576d2f792c8a71b9c8b19014057b5b" + +BBCLASSEXTEND = "native nativesdk" + +DEPENDS = "xcb-proto xproto libxau libpthread-stubs libxdmcp" + +PACKAGES_DYNAMIC = "^libxcb-.*" + +FILES_${PN} = "${libdir}/libxcb.so.*" + +inherit autotools pkgconfig distro_features_check + +# The libxau and others requires x11 in DISTRO_FEATURES +REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES_class-native = "" + +export PYTHON = "python3" + +python populate_packages_prepend () { + do_split_packages(d, '${libdir}', '^libxcb-(.*)\.so\..*$', 'libxcb-%s', 'XCB library module for %s', allow_links=True) +} diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcomposite/change-include-order.patch b/poky/meta/recipes-graphics/xorg-lib/libxcomposite/change-include-order.patch new file mode 100644 index 000000000..60331f6e7 --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb new file mode 100644 index 000000000..70257194a --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb @@ -0,0 +1,28 @@ +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" + +XORG_PN = "libXcomposite" + +SRC_URI += " file://change-include-order.patch" + +SRC_URI[md5sum] = "f7a218dcbf6f0848599c6c36fc65c51a" +SRC_URI[sha256sum] = "ede250cd207d8bee4a338265c3007d7a68d5aca791b6ac41af18e9a2aeb34178" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcursor_1.1.15.bb b/poky/meta/recipes-graphics/xorg-lib/libxcursor_1.1.15.bb new file mode 100644 index 000000000..dc9af233e --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxcursor_1.1.15.bb @@ -0,0 +1,22 @@ +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 nativesdk" + +PE = "1" + +XORG_PN = "libXcursor" + +SRC_URI[md5sum] = "58fe3514e1e7135cf364101e714d1a14" +SRC_URI[sha256sum] = "294e670dd37cd23995e69aae626629d4a2dfe5708851bbc13d032401b7a3df6b" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb new file mode 100644 index 000000000..c3d70043c --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb @@ -0,0 +1,28 @@ +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" + +PE = "1" + +XORG_PN = "libXdamage" + +SRC_URI[md5sum] = "0cf292de2a9fa2e9a939aefde68fd34f" +SRC_URI[sha256sum] = "7c3fe7c657e83547f4822bfde30a90d84524efb56365448768409b77f05355ad" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.2.bb new file mode 100644 index 000000000..f4e30d93d --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.2.bb @@ -0,0 +1,29 @@ +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" + +PE = "1" + +XORG_PN = "libXdmcp" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "18aa5c1279b01f9d18e3299969665b2e" +SRC_URI[sha256sum] = "81fe09867918fff258296e1e1e159f0dc639cb30d201c53519f25ab73af4e4e2" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[arc4] = "ac_cv_lib_bsd_arc4random_buf=yes,ac_cv_lib_bsd_arc4random_buf=no,libbsd" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.3.bb new file mode 100644 index 000000000..063e531c0 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.3.bb @@ -0,0 +1,26 @@ +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=879ce266785414bd1cbc3bc2f4d9d7c8" + +DEPENDS += "xproto virtual/libx11 xextproto" +PROVIDES = "xext" + +PE = "1" + +XORG_PN = "libXext" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "52df7c4c1f0badd9f82ab124fb32eb97" +SRC_URI[sha256sum] = "b518d4d332231f313371fdefac59e3776f4f0823bcb23cf7c7305bfb57b16e35" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb new file mode 100644 index 000000000..c80042d34 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.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" + +PE = "1" + +XORG_PN = "libXfixes" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "07e01e046a0215574f36a3aacb148be0" +SRC_URI[sha256sum] = "de1cd33aff226e08cefd0e6759341c2c8e8c9faf8ce9ac6ec38d43e287b22ad6" + diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb new file mode 100644 index 000000000..5f27a5582 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb @@ -0,0 +1,22 @@ +SUMMARY = "XFont2: X Font rasterisation library" + +DESCRIPTION = "libXfont2 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 xtrans fontsproto libfontenc zlib" + +XORG_PN = "libXfont2" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "b7ca87dfafeb5205b28a1e91ac3efe85" +SRC_URI[sha256sum] = "0e8ab7fd737ccdfe87e1f02b55f221f0bd4503a1c5f28be4ed6a54586bac9c4e" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb new file mode 100644 index 000000000..79f77fcea --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb @@ -0,0 +1,25 @@ +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 xtrans fontsproto libfontenc zlib" +PROVIDES = "xfont" + +PE = "1" + +XORG_PN = "libXfont" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "16eaf156edd79b68038b6a7c44aa9e9b" +SRC_URI[sha256sum] = "1a7f7490774c87f2052d146d1e0e64518d32e6848184a18654e8d0bb57883242" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.2.bb new file mode 100644 index 000000000..b4547819f --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.2.bb @@ -0,0 +1,33 @@ +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" + +PE = "1" + +SRC_URI[md5sum] = "331b3a2a3a1a78b5b44cfbd43f86fcfe" +SRC_URI[sha256sum] = "f5a3c824761df351ca91827ac221090943ef28b248573486050de89f4bfcdc4c" + +XORG_PN = "libXft" + +BBCLASSEXTEND = "native" + +python () { + if d.getVar('DEBIAN_NAMES'): + d.setVar('PKG_${PN}', '${MLPREFIX}libxft2') +} diff --git a/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb b/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb new file mode 100644 index 000000000..74f0527b7 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb @@ -0,0 +1,22 @@ +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 libxfixes" + +PE = "1" + +XORG_PN = "libXi" + +SRC_URI[md5sum] = "1f0f2719c020655a60aee334ddd26d67" +SRC_URI[sha256sum] = "c2e6b8ff84f9448386c1b5510a5cf5a16d788f76db018194dacdc200180faf45" + diff --git a/poky/meta/recipes-graphics/xorg-lib/libxinerama_1.1.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxinerama_1.1.3.bb new file mode 100644 index 000000000..bb03f44e2 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxinerama_1.1.3.bb @@ -0,0 +1,22 @@ +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" +PE = "1" + +XORG_PN = "libXinerama" + +SRC_URI[md5sum] = "9336dc46ae3bf5f81c247f7131461efd" +SRC_URI[sha256sum] = "7a45699f1773095a3f821e491cbd5e10c887c5a5fce5d8d3fced15c2ff7698e2" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.0.bb new file mode 100644 index 000000000..050d0b740 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "Generic XKB keymap library" +DESCRIPTION = "libxkbcommon is a keymap compiler and support library which \ +processes a reduced subset of keymaps as defined by the XKB specification." +HOMEPAGE = "http://www.xkbcommon.org" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e525ed9809e1f8a07cf4bce8b09e8b87" +LICENSE = "MIT & MIT-style" + +DEPENDS = "util-macros flex-native bison-native" + +SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz" + +SRC_URI[md5sum] = "7d0e4c4a137d0ac45bf6b328c84c3a81" +SRC_URI[sha256sum] = "e829265db04e0aebfb0591b6dc3377b64599558167846c3f5ee5c5e53641fe6d" + +UPSTREAM_CHECK_URI = "http://xkbcommon.org/" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-docs" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxcb xkeyboard-config," diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.9.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.9.bb new file mode 100644 index 000000000..39a344cca --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.9.bb @@ -0,0 +1,18 @@ +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" + +PE = "1" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "4a4cfeaf24dab1b991903455d6d7d404" +SRC_URI[sha256sum] = "51817e0530961975d9513b773960b4edd275f7d5c72293d5a151ed4f42aeb16a" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.2.bb new file mode 100644 index 000000000..4740c1573 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.2.bb @@ -0,0 +1,35 @@ +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=def3d8e4e9c42004f1941fa22f01dc18" + +DEPENDS += "libxt libxext" +PROVIDES = "xmu" + +PE = "1" + +XORG_PN = "libXmu" + +LEAD_SONAME = "libXmu" + +PACKAGES =+ "libxmuu" + +FILES_libxmuu = "${libdir}/libXmuu.so.*" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "41d92ab627dfa06568076043f3e089e4" +SRC_URI[sha256sum] = "756edc7c383254eef8b4e1b733c3bf1dc061b523c9f9833ac7058378b8349d0b" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/poky/meta/recipes-graphics/xorg-lib/libxpm_3.5.12.bb b/poky/meta/recipes-graphics/xorg-lib/libxpm_3.5.12.bb new file mode 100644 index 000000000..13a1b919e --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxpm_3.5.12.bb @@ -0,0 +1,27 @@ +require xorg-lib-common.inc + +# libxpm requires xgettext to build +inherit gettext + +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=51f4270b012ecd4ab1a164f5f4ed6cf7" +DEPENDS += "libxext libsm libxt" +PE = "1" + +XORG_PN = "libXpm" + +PACKAGES =+ "sxpm cxpm" +FILES_cxpm = "${bindir}/cxpm" +FILES_sxpm = "${bindir}/sxpm" + +SRC_URI[md5sum] = "20f4627672edb2bd06a749f11aa97302" +SRC_URI[sha256sum] = "fd6a6de3da48de8d1bb738ab6be4ad67f7cb0986c39bd3f7d51dd24f7854bdec" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.1.bb b/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.1.bb new file mode 100644 index 000000000..48e88d20a --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.1.bb @@ -0,0 +1,23 @@ +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=c9d1a2118a6cd5727521db8e7a2fee69" + +DEPENDS += "virtual/libx11 randrproto libxrender libxext" + +PE = "1" + +XORG_PN = "libXrandr" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "28e486f1d491b757173dd85ba34ee884" +SRC_URI[sha256sum] = "1ff9e7fa0e4adea912b16a5f0cfa7c1d35b0dcda0e216831f7715c8a3abcf51a" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.10.bb b/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.10.bb new file mode 100644 index 000000000..92b310270 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.10.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" + +PE = "1" + +XORG_PN = "libXrender" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "802179a76bded0b658f4e9ec5e1830a4" +SRC_URI[sha256sum] = "c06d5979f86e64cabbde57c223938db0b939dff49fdb5a793a1d3d0396650949" + diff --git a/poky/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb new file mode 100644 index 000000000..8c34e47b4 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb @@ -0,0 +1,20 @@ +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" + +PE = "1" + +XORG_PN = "libXres" + +SRC_URI[md5sum] = "5d6d443d1abc8e1f6fc1c57fb27729bb" +SRC_URI[sha256sum] = "ff75c1643488e64a7cfbced27486f0f944801319c84c18d3bd3da6bf28c812d4" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.2.bb new file mode 100644 index 000000000..354e5de7f --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.2.bb @@ -0,0 +1,23 @@ +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_${PN} = "libxss" +PE = "1" + +XORG_PN = "libXScrnSaver" + +SRC_URI[md5sum] = "7a773b16165e39e938650bcc9027c1d5" +SRC_URI[sha256sum] = "8ff1efa7341c7f34bcf9b17c89648d6325ddaae22e3904e091794e0b4426ce1d" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxshmfence/extensions.patch b/poky/meta/recipes-graphics/xorg-lib/libxshmfence/extensions.patch new file mode 100644 index 000000000..4cc9e05ab --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxshmfence/extensions.patch @@ -0,0 +1,17 @@ +With glibc 2.27 memfd_create is behind a _GNU_SOURCE guard, so call +AC_USE_SYSTEM_EXTENSIONS to get that defined. + +Upstream-Status: Submitted +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/configure.ac b/configure.ac +index 0c98875..ebf4dee 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -29,4 +29,6 @@ AC_CONFIG_SRCDIR([Makefile.am]) + AC_CONFIG_HEADERS([config.h]) + ++AC_USE_SYSTEM_EXTENSIONS ++ + # Initialize Automake + AM_INIT_AUTOMAKE([foreign dist-bzip2]) diff --git a/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.2.bb new file mode 100644 index 000000000..1df068d1b --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.2.bb @@ -0,0 +1,19 @@ +SUMMARY = "Shared memory 'SyncFence' synchronization primitive" + +DESCRIPTION = "This library offers a CPU-based synchronization primitive compatible \ +with the X SyncFence objects that can be shared between processes \ +using file descriptor passing." + +require xorg-lib-common.inc + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=47e508ca280fde97906eacb77892c3ac" + +DEPENDS += "virtual/libx11" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI += "file://extensions.patch" + +SRC_URI[md5sum] = "66662e76899112c0f99e22f2fc775a7e" +SRC_URI[sha256sum] = "d21b2d1fd78c1efbe1f2c16dae1cb23f8fd231dcf891465b8debe636a9054b0c" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch b/poky/meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch new file mode 100644 index 000000000..1a691a3d5 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch @@ -0,0 +1,33 @@ +From b0c0e6d90bd99a699701c9542640adb218f5d536 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Mon, 10 Jul 2017 16:51:13 +0300 +Subject: [PATCH] libXt: util: don't link makestrs with target cflags + +The line: AM_CFLAGS = $(XT_CFLAGS) +in util/Makefile.am is wrong because it adds target cflags to the +compilation of makestrs, which is built for the build machine, which +leads to build failures when cross-compiling. + +Upstream-Status: Pending + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Signed-off-by: Maxin B. John <maxin.john@intel.com> +--- + util/Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/util/Makefile.am b/util/Makefile.am +index 800b35b..f2dd1f9 100644 +--- a/util/Makefile.am ++++ b/util/Makefile.am +@@ -11,7 +11,6 @@ EXTRA_DIST = \ + StrDefs.ht \ + string.list + +-AM_CFLAGS = $(XT_CFLAGS) + makestrs_SOURCES = makestrs.c + + +-- +2.4.0 + diff --git a/poky/meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch b/poky/meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch new file mode 100644 index 000000000..ffc2c15d7 --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb b/poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb new file mode 100644 index 000000000..180d00d9b --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb @@ -0,0 +1,35 @@ +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=6565b1e0094ea1caae0971cc4035f343" + + +DEPENDS += "util-linux libxcb libsm virtual/libx11 kbproto libxdmcp" +PROVIDES = "xt" + +PE = "1" + +XORG_PN = "libXt" + +SRC_URI += "file://libxt_fix_for_x32.patch \ + file://0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch \ + " + +BBCLASSEXTEND = "native" + +EXTRA_OECONF += "--disable-xkb" + +SRC_URI[md5sum] = "8f5b5576fbabba29a05f3ca2226f74d3" +SRC_URI[sha256sum] = "46eeb6be780211fdd98c5109286618f6707712235fdd19df4ce1e6954f349f1a" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb new file mode 100644 index 000000000..5717fa5b7 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.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=bb4f89972c3869f617f61c1a79ad1952 \ + file://src/XTest.c;beginline=2;endline=32;md5=b1c8c9dff842b4d5b89ca5fa32c40e99" + +DEPENDS += "libxext recordproto inputproto libxi" +PROVIDES = "xtst" +PE = "1" + +XORG_PN = "libXtst" + +SRC_URI[md5sum] = "ef8c2c1d16a00bd95b9fdcef63b8a2ca" +SRC_URI[sha256sum] = "4655498a1b8e844e3d6f21f3b2c4e2b571effb5fd83199d428a6ba7ea4bf5204" + diff --git a/poky/meta/recipes-graphics/xorg-lib/libxv_1.0.11.bb b/poky/meta/recipes-graphics/xorg-lib/libxv_1.0.11.bb new file mode 100644 index 000000000..a226c2753 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxv_1.0.11.bb @@ -0,0 +1,19 @@ +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" + +XORG_PN = "libXv" + +SRC_URI[md5sum] = "210b6ef30dda2256d54763136faa37b9" +SRC_URI[sha256sum] = "d26c13eac99ac4504c532e8e76a1c8e4bd526471eb8a0a4ff2a88db60cb0b088" + diff --git a/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.10.bb b/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.10.bb new file mode 100644 index 000000000..6ed49b1f3 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.10.bb @@ -0,0 +1,19 @@ +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" + +PE = "1" + +XORG_PN = "libXvMC" + +SRC_URI[md5sum] = "4cbe1c1def7a5e1b0ed5fce8e512f4c6" +SRC_URI[sha256sum] = "e501a079b5dfaef0897c56152770c77e05e362065cec58910289aa567277ee2e" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.4.bb new file mode 100644 index 000000000..695a39637 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.4.bb @@ -0,0 +1,19 @@ +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" + +SRC_URI[md5sum] = "d7dd9b9df336b7dd4028b6b56542ff2c" +SRC_URI[sha256sum] = "8eecd4b6c1df9a3704c04733c2f4fa93ef469b55028af5510b25818e2456c77e" + +XORG_PN = "libXxf86dga" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.3.bb new file mode 100644 index 000000000..af6f1f76a --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.3.bb @@ -0,0 +1,20 @@ +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" + +PE = "1" + +XORG_PN = "libXxf86misc" + +SRC_URI[md5sum] = "6bc0bf78909fd71021c466c793d4385c" +SRC_URI[sha256sum] = "563f4200862efd3334c33a669e0a0aae5bab31f3998db75b87a99a697cc26b5b" + diff --git a/poky/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.4.bb new file mode 100644 index 000000000..35f87d271 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.4.bb @@ -0,0 +1,20 @@ +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" + +PE = "1" + +XORG_PN = "libXxf86vm" + +SRC_URI[md5sum] = "298b8fff82df17304dfdb5fe4066fe3a" +SRC_URI[sha256sum] = "afee27f93c5f31c0ad582852c0fb36d50e4de7cd585fcf655e278a633d85cd57" diff --git a/poky/meta/recipes-graphics/xorg-lib/pixman/0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch b/poky/meta/recipes-graphics/xorg-lib/pixman/0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch new file mode 100644 index 000000000..4569dca01 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/pixman/0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch @@ -0,0 +1,144 @@ +From a0f53e1dbb3851bb0f0efcfdbd565b05e4be9cac Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Thu, 23 Aug 2012 18:10:57 +0200 +Subject: [PATCH 1/2] ARM: qemu related workarounds in cpu features detection + code +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This was ported from meta-oe's patch [1]. The original pixman patch is found +at [2]. + +[1] http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-graphics/xorg-lib/pixman-0.26.2/0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch +[2] http://lists.freedesktop.org/archives/pixman/2011-January/000906.html + +Upstream-Status: Inappropriate [other] qemu fix + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + pixman/pixman-arm.c | 82 ++++++++++++++++++++++++++++++++++++++++---------- + 1 files changed, 65 insertions(+), 17 deletions(-) + +diff --git a/pixman/pixman-arm.c b/pixman/pixman-arm.c +index 23374e4..d98bda6 100644 +--- a/pixman/pixman-arm.c ++++ b/pixman/pixman-arm.c +@@ -129,16 +129,35 @@ detect_cpu_features (void) + #include <sys/types.h> + #include <sys/stat.h> + #include <sys/mman.h> ++#include <sys/utsname.h> + #include <fcntl.h> + #include <string.h> + #include <elf.h> + ++/* ++ * The whole CPU capabilities detection is a bit ugly: when running in ++ * userspace qemu, we see /proc/self/auxv from the host system. To make ++ * everything even worse, the size of each value is 64-bit when running ++ * on a 64-bit host system. So the data is totally bogus because we expect ++ * 32-bit values. As AT_PLATFORM value is used as a pointer, it may cause ++ * segfault (null pointer dereference on x86-64 host). So in order to be ++ * on a safe side, we require that AT_PLATFORM value is found only once, ++ * and it has non-zero value (this is still not totally reliable for a big ++ * endian 64-bit host system running qemu and may theoretically fail). ++ */ ++#define ARM_HWCAP_VFP 64 ++#define ARM_HWCAP_IWMMXT 512 ++#define ARM_HWCAP_NEON 4096 ++ + static arm_cpu_features_t + detect_cpu_features (void) + { + arm_cpu_features_t features = 0; + Elf32_auxv_t aux; + int fd; ++ uint32_t hwcap = 0; ++ const char *plat = NULL; ++ int plat_cnt = 0; + + fd = open ("/proc/self/auxv", O_RDONLY); + if (fd >= 0) +@@ -147,32 +166,61 @@ detect_cpu_features (void) + { + if (aux.a_type == AT_HWCAP) + { +- uint32_t hwcap = aux.a_un.a_val; +- +- /* hardcode these values to avoid depending on specific +- * versions of the hwcap header, e.g. HWCAP_NEON +- */ +- if ((hwcap & 64) != 0) +- features |= ARM_VFP; +- if ((hwcap & 512) != 0) +- features |= ARM_IWMMXT; +- /* this flag is only present on kernel 2.6.29 */ +- if ((hwcap & 4096) != 0) +- features |= ARM_NEON; ++ hwcap = aux.a_un.a_val; + } + else if (aux.a_type == AT_PLATFORM) + { +- const char *plat = (const char*) aux.a_un.a_val; +- +- if (strncmp (plat, "v7l", 3) == 0) ++ plat = (const char*) aux.a_un.a_val; ++ plat_cnt++; ++ } ++ } ++ close (fd); ++ if (plat == NULL || plat_cnt != 1 || *plat != 'v') ++ { ++ /* ++ * Something seems to be really wrong, most likely we are ++ * running under qemu. Let's use machine type from "uname" for ++ * CPU capabilities detection: ++ * http://www.mail-archive.com/qemu-devel at nongnu.org/msg22212.html ++ */ ++ struct utsname u; ++ hwcap = 0; /* clear hwcap, because it is bogus */ ++ if (uname (&u) == 0) ++ { ++ if (strcmp (u.machine, "armv7l") == 0) ++ { + features |= (ARM_V7 | ARM_V6); +- else if (strncmp (plat, "v6l", 3) == 0) ++ hwcap |= ARM_HWCAP_VFP; /* qemu is supposed to emulate vfp */ ++ hwcap |= ARM_HWCAP_NEON; /* qemu is supposed to emulate neon */ ++ } ++ else if (strcmp (u.machine, "armv6l") == 0) ++ { + features |= ARM_V6; ++ hwcap |= ARM_HWCAP_VFP; /* qemu is supposed to emulate vfp */ ++ } + } + } +- close (fd); ++ else if (strncmp (plat, "v7l", 3) == 0) ++ { ++ features |= (ARM_V7 | ARM_V6); ++ } ++ else if (strncmp (plat, "v6l", 3) == 0) ++ { ++ features |= ARM_V6; ++ } + } + ++ /* hardcode these values to avoid depending on specific ++ * versions of the hwcap header, e.g. HWCAP_NEON ++ */ ++ if ((hwcap & ARM_HWCAP_VFP) != 0) ++ features |= ARM_VFP; ++ if ((hwcap & ARM_HWCAP_IWMMXT) != 0) ++ features |= ARM_IWMMXT; ++ /* this flag is only present on kernel 2.6.29 */ ++ if ((hwcap & ARM_HWCAP_NEON) != 0) ++ features |= ARM_NEON; ++ + return features; + } + +-- +1.7.6.5 + diff --git a/poky/meta/recipes-graphics/xorg-lib/pixman/0001-test-utils-Check-for-FE_INVALID-definition-before-us.patch b/poky/meta/recipes-graphics/xorg-lib/pixman/0001-test-utils-Check-for-FE_INVALID-definition-before-us.patch new file mode 100644 index 000000000..782c1db02 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/pixman/0001-test-utils-Check-for-FE_INVALID-definition-before-us.patch @@ -0,0 +1,33 @@ +From 0ccd906b904d21536d5ab41c6196760e3e5d72cb Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 17 May 2016 17:30:00 -0700 +Subject: [PATCH] test/utils: Check for FE_INVALID definition before use + +Some architectures e.g. nios2 do not support all exceptions + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Submitted + + test/utils.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/test/utils.c b/test/utils.c +index f8e42a5..fe32b1e 100644 +--- a/test/utils.c ++++ b/test/utils.c +@@ -978,9 +978,11 @@ enable_invalid_exceptions (void) + { + #ifdef HAVE_FENV_H + #ifdef HAVE_FEENABLEEXCEPT ++#ifdef FE_INVALID + feenableexcept (FE_INVALID); + #endif + #endif ++#endif + } + + void * +-- +2.8.2 + diff --git a/poky/meta/recipes-graphics/xorg-lib/pixman/asm_include.patch b/poky/meta/recipes-graphics/xorg-lib/pixman/asm_include.patch new file mode 100644 index 000000000..b52a5707d --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/pixman/asm_include.patch @@ -0,0 +1,29 @@ +Fixes errors like + +Assembler messages: +Fatal error: can't create .libs/pixman-mips-dspr2-asm.o: No such file or directory + +it works with glibc because it uses gcc fixed-headers but thats not right. + +We move the include under C block + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending +Index: pixman-0.32.6/pixman/pixman-private.h +=================================================================== +--- pixman-0.32.6.orig/pixman/pixman-private.h ++++ pixman-0.32.6/pixman/pixman-private.h +@@ -1,4 +1,3 @@ +-#include <float.h> + + #ifndef PIXMAN_PRIVATE_H + #define PIXMAN_PRIVATE_H +@@ -17,6 +16,8 @@ + + #ifndef __ASSEMBLER__ + ++#include <float.h> ++ + #ifndef PACKAGE + # error config.h must be included before pixman-private.h + #endif diff --git a/poky/meta/recipes-graphics/xorg-lib/pixman_0.34.0.bb b/poky/meta/recipes-graphics/xorg-lib/pixman_0.34.0.bb new file mode 100644 index 000000000..c4ca621a8 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/pixman_0.34.0.bb @@ -0,0 +1,41 @@ +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 + +# see http://cairographics.org/releases/ - only even minor versions are stable +UPSTREAM_CHECK_REGEX = "pixman-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)" + +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 nativesdk" + +PE = "1" + +IWMMXT = "--disable-arm-iwmmxt" +LOONGSON_MMI = "--disable-loongson-mmi" +# If target supports neon then disable the 'simd' (ie VFPv2) fallback, otherwise disable neon. +NEON = "${@bb.utils.contains("TUNE_FEATURES", "neon", "--disable-arm-simd", "--disable-arm-neon" ,d)}" + +EXTRA_OECONF = "--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}" +EXTRA_OECONF_class-native = "--disable-gtk" +EXTRA_OECONF_class-nativesdk = "--disable-gtk" + +SRC_URI += "\ + file://0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch \ + file://asm_include.patch \ + file://0001-test-utils-Check-for-FE_INVALID-definition-before-us.patch \ +" + +SRC_URI[md5sum] = "002a4fcb644ddfcb4b0e4191576a0d59" +SRC_URI[sha256sum] = "39ba3438f3d17c464b0cb8be006dacbca0ab5aee97ebde69fec7ecdbf85794a0" + +REQUIRED_DISTRO_FEATURES = "" diff --git a/poky/meta/recipes-graphics/xorg-lib/xcb-util-image/clang.patch b/poky/meta/recipes-graphics/xorg-lib/xcb-util-image/clang.patch new file mode 100644 index 000000000..11e90940a --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/xcb-util-image/clang.patch @@ -0,0 +1,24 @@ +Make clang happy since it squashes the control warning, ideally it will never reach that return value due to assert +but there is a chance when NDEBUG is defined + +| In file included from ../../xcb-util-image-0.4.0/image/xcb_image.c:37: +| ../../xcb-util-image-0.4.0/image/xcb_bitops.h:210:1: error: control may reach end of non-void function [-Werror,-Wreturn-type] +| } +| ^ +| 1 error generated. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +Index: xcb-util-image-0.4.0/image/xcb_bitops.h +=================================================================== +--- xcb-util-image-0.4.0.orig/image/xcb_bitops.h ++++ xcb-util-image-0.4.0/image/xcb_bitops.h +@@ -207,6 +207,7 @@ xcb_host_byte_order(void) { + return XCB_IMAGE_ORDER_LSB_FIRST; + } + assert(0); ++ return -1; + } + + #endif /* __XCB_BITOPS_H__ */ diff --git a/poky/meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.0.bb b/poky/meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.0.bb new file mode 100644 index 000000000..c6bb5a61c --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.0.bb @@ -0,0 +1,13 @@ +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;beginline=4;endline=27;md5=48cd25ae55e7de525fe1e1a3a7672e1c" + +SRC_URI += "file://clang.patch \ +" + +SRC_URI[md5sum] = "08fe8ffecc8d4e37c0ade7906b3f4c87" +SRC_URI[sha256sum] = "2db96a37d78831d643538dd1b595d7d712e04bdccf8896a5e18ce0f398ea2ffc" diff --git a/poky/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.0.bb b/poky/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.0.bb new file mode 100644 index 000000000..bca64ed61 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.0.bb @@ -0,0 +1,9 @@ +require xcb-util.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://keysyms/keysyms.c;endline=30;md5=2f8de023ed823bb92f0b47900574ea9e \ + " +SRC_URI[md5sum] = "1022293083eec9e62d5659261c29e367" +SRC_URI[sha256sum] = "0ef8490ff1dede52b7de533158547f8b454b241aa3e4dcca369507f66f216dd9" + + diff --git a/poky/meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.9.bb b/poky/meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.9.bb new file mode 100644 index 000000000..25c22e5fa --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.9.bb @@ -0,0 +1,10 @@ +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;endline=24;md5=d0ddab3052dd4949c93cfcb0891c96df \ + " + +SRC_URI[md5sum] = "468b119c94da910e1291f3ffab91019a" +SRC_URI[sha256sum] = "c6e97e48fb1286d6394dddb1c1732f00227c70bd1bedb7d1acabefdd340bea5b" diff --git a/poky/meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.1.bb b/poky/meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.1.bb new file mode 100644 index 000000000..39f138329 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.1.bb @@ -0,0 +1,11 @@ +require xcb-util.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://ewmh/ewmh.c.m4;endline=27;md5=63fd80552d7dc886f4eb267610d5bb9d \ + file://ewmh/xcb_ewmh.h.m4;beginline=4;endline=30;md5=73b589f90ef90b4a43998955daad5cd8 \ + file://icccm/icccm.c;endline=28;md5=e2b3240a0c197e8977adde2a5cf18d50 \ + file://icccm/xcb_icccm.h;beginline=4;endline=31;md5=393772b7b07b9868d479d538238c1d8a \ + " + +SRC_URI[md5sum] = "87b19a1cd7bfcb65a24e36c300e03129" +SRC_URI[sha256sum] = "28bf8179640eaa89276d2b0f1ce4285103d136be6c98262b6151aaee1d3c2a3f" diff --git a/poky/meta/recipes-graphics/xorg-lib/xcb-util.inc b/poky/meta/recipes-graphics/xorg-lib/xcb-util.inc new file mode 100644 index 000000000..99d04f9d4 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/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" + +SRC_URI = "http://xcb.freedesktop.org/dist/${BPN}-${PV}.tar.bz2" + +inherit autotools pkgconfig distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" diff --git a/poky/meta/recipes-graphics/xorg-lib/xcb-util_0.4.0.bb b/poky/meta/recipes-graphics/xorg-lib/xcb-util_0.4.0.bb new file mode 100644 index 000000000..206f07a65 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/xcb-util_0.4.0.bb @@ -0,0 +1,8 @@ +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" + +SRC_URI[md5sum] = "2e97feed81919465a04ccc71e4073313" +SRC_URI[sha256sum] = "46e49469cb3b594af1d33176cd7565def2be3fa8be4371d62271fabb5eae50e9" diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.22.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.22.bb new file mode 100644 index 000000000..4fd894fd7 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.22.bb @@ -0,0 +1,32 @@ +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 = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2" + +SRC_URI[md5sum] = "eb61fb3fd419e817df572b0c8d94a883" +SRC_URI[sha256sum] = "deaec9989fbc443358b43864437b7b6d39caff07890a4a8055105ce9fcaa59bd" + +SECTION = "x11/libs" +DEPENDS = "intltool-native util-macros libxslt-native" + +EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps" + +FILES_${PN} += "${datadir}/X11/xkb" + +inherit autotools pkgconfig gettext + +do_install_append () { + install -d ${D}${datadir}/X11/xkb/compiled + cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg +} diff --git a/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc b/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc new file mode 100644 index 000000000..6f4e44454 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc @@ -0,0 +1,27 @@ +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 distro_features_check pkgconfig + +EXTRA_OECONF = "--disable-specs --without-groff --without-ps2pdf --without-fop" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[xmlto] = "--with-xmlto, --without-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" + +UNKNOWN_CONFIGURE_WHITELIST += "--enable-malloc0returnsnull --disable-malloc0returnsnull \ + --disable-specs --without-groff --without-ps2pdf --without-fop \ + --without-xmlto --with-xmlto \ +" + +REQUIRED_DISTRO_FEATURES ?= "x11" +REQUIRED_DISTRO_FEATURES_class-native = "" diff --git a/poky/meta/recipes-graphics/xorg-lib/xtrans_1.3.5.bb b/poky/meta/recipes-graphics/xorg-lib/xtrans_1.3.5.bb new file mode 100644 index 000000000..d5b7f1a2c --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/xtrans_1.3.5.bb @@ -0,0 +1,24 @@ +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" + +RDEPENDS_${PN}-dev = "" + +inherit gettext + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "c5ba432dd1514d858053ffe9f4737dd8" +SRC_URI[sha256sum] = "adbd3b36932ce4c062cd10f57d78a156ba98d618bdb6f50664da327502bc8301" diff --git a/poky/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.2.bb b/poky/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.2.bb new file mode 100644 index 000000000..f798a4353 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.2.bb @@ -0,0 +1,16 @@ +require xorg-proto-common.inc + +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/poky/meta/recipes-graphics/xorg-proto/calibrateproto/fix.patch b/poky/meta/recipes-graphics/xorg-proto/calibrateproto/fix.patch new file mode 100644 index 000000000..ff8cb25cd --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb b/poky/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb new file mode 100644 index 000000000..eb4b4224c --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb @@ -0,0 +1,21 @@ +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 \ + file://fix.patch;apply=yes" +S = "${WORKDIR}/git" +UPSTREAM_CHECK_COMMITS = "1" + diff --git a/poky/meta/recipes-graphics/xorg-proto/compositeproto_0.4.2.bb b/poky/meta/recipes-graphics/xorg-proto/compositeproto_0.4.2.bb new file mode 100644 index 000000000..adfee2630 --- /dev/null +++ b/poky/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" + +RCONFLICTS_${PN} = "compositeext" +BBCLASSEXTEND = "native" + +PR = "r1" +PE = "1" + +SRC_URI[md5sum] = "98482f65ba1e74a08bf5b056a4031ef0" +SRC_URI[sha256sum] = "049359f0be0b2b984a8149c966dd04e8c58e6eade2a4a309cf1126635ccd0cfc" + diff --git a/poky/meta/recipes-graphics/xorg-proto/damageproto_1.2.1.bb b/poky/meta/recipes-graphics/xorg-proto/damageproto_1.2.1.bb new file mode 100644 index 000000000..75d026810 --- /dev/null +++ b/poky/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" + +RCONFLICTS_${PN} = "damageext" +BBCLASSEXTEND = "native" +PR = "r1" +PE = "1" + +SRC_URI[md5sum] = "998e5904764b82642cc63d97b4ba9e95" +SRC_URI[sha256sum] = "5c7c112e9b9ea8a9d5b019e5f17d481ae20f766cb7a4648360e7c1b46fc9fc5b" diff --git a/poky/meta/recipes-graphics/xorg-proto/dmxproto_2.3.1.bb b/poky/meta/recipes-graphics/xorg-proto/dmxproto_2.3.1.bb new file mode 100644 index 000000000..d960e5d4c --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/dmxproto_2.3.1.bb @@ -0,0 +1,18 @@ +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" + +PE = "1" + +SRC_URI[md5sum] = "4ee175bbd44d05c34d43bb129be5098a" +SRC_URI[sha256sum] = "e72051e6a3e06b236d19eed56368117b745ca1e1a27bdc50fd51aa375bea6509" diff --git a/poky/meta/recipes-graphics/xorg-proto/dri2proto_2.8.bb b/poky/meta/recipes-graphics/xorg-proto/dri2proto_2.8.bb new file mode 100644 index 000000000..f4c40c571 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/dri2proto_2.8.bb @@ -0,0 +1,15 @@ +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" + + +SRC_URI[md5sum] = "b2721d5d24c04d9980a0c6540cb5396a" +SRC_URI[sha256sum] = "f9b55476def44fc7c459b2537d17dbc731e36ed5d416af7ca0b1e2e676f8aa04" diff --git a/poky/meta/recipes-graphics/xorg-proto/dri3proto_1.0.bb b/poky/meta/recipes-graphics/xorg-proto/dri3proto_1.0.bb new file mode 100644 index 000000000..bed97b3f4 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/dri3proto_1.0.bb @@ -0,0 +1,14 @@ +require xorg-proto-common.inc + +SUMMARY = "Direct Rendering Infrastructure 3 Extension" + +DESCRIPTION = "The DRI3 extension provides mechanisms to translate between direct \ +rendered buffers and X pixmaps. When combined with the Present extension, \ +a complete direct rendering solution for OpenGL is provided." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://dri3proto.h;endline=21;md5=ac90d1d416be3cb13e1d3c88cd5166bf" + + +SRC_URI[md5sum] = "a3d2cbe60a9ca1bf3aea6c93c817fee3" +SRC_URI[sha256sum] = "01be49d70200518b9a6b297131f6cc71f4ea2de17436896af153226a774fc074" diff --git a/poky/meta/recipes-graphics/xorg-proto/fixesproto_5.0.bb b/poky/meta/recipes-graphics/xorg-proto/fixesproto_5.0.bb new file mode 100644 index 000000000..39fb88d84 --- /dev/null +++ b/poky/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" + +RCONFLICTS_${PN} = "fixesext" +PR = "r1" +PE = "1" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "e7431ab84d37b2678af71e29355e101d" +SRC_URI[sha256sum] = "ba2f3f31246bdd3f2a0acf8bd3b09ba99cab965c7fb2c2c92b7dc72870e424ce" diff --git a/poky/meta/recipes-graphics/xorg-proto/fontsproto_2.1.3.bb b/poky/meta/recipes-graphics/xorg-proto/fontsproto_2.1.3.bb new file mode 100644 index 000000000..27fc28174 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/fontsproto_2.1.3.bb @@ -0,0 +1,18 @@ +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" + +PE = "1" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "36934d00b00555eaacde9f091f392f97" +SRC_URI[sha256sum] = "259046b0dd9130825c4a4c479ba3591d6d0f17a33f54e294b56478729a6e5ab8" diff --git a/poky/meta/recipes-graphics/xorg-proto/glproto_1.4.17.bb b/poky/meta/recipes-graphics/xorg-proto/glproto_1.4.17.bb new file mode 100644 index 000000000..eb03d33c2 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/glproto_1.4.17.bb @@ -0,0 +1,18 @@ +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" + +PE = "1" + +BBCLASSEXTEND = "nativesdk" + +SRC_URI[md5sum] = "5565f1b0facf4a59c2778229c1f70d10" +SRC_URI[sha256sum] = "adaa94bded310a2bfcbb9deb4d751d965fcfe6fb3a2f6d242e2df2d6589dbe40" diff --git a/poky/meta/recipes-graphics/xorg-proto/inputproto_2.3.2.bb b/poky/meta/recipes-graphics/xorg-proto/inputproto_2.3.2.bb new file mode 100644 index 000000000..eb5e66bd6 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/inputproto_2.3.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" + +PE = "1" + +inherit gettext + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "b290a463af7def483e6e190de460f31a" +SRC_URI[sha256sum] = "893a6af55733262058a27b38eeb1edc733669f01d404e8581b167f03c03ef31d" + +EXTRA_OECONF += "--without-asciidoc" diff --git a/poky/meta/recipes-graphics/xorg-proto/kbproto_1.0.7.bb b/poky/meta/recipes-graphics/xorg-proto/kbproto_1.0.7.bb new file mode 100644 index 000000000..46f5c92b6 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/kbproto_1.0.7.bb @@ -0,0 +1,18 @@ +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=1;endline=25;md5=5744eeff407aeb6e7a1346eebab486a2" + +PE = "1" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "94afc90c1f7bef4a27fdd59ece39c878" +SRC_URI[sha256sum] = "f882210b76376e3fa006b11dbd890e56ec0942bc56e65d1249ff4af86f90b857" diff --git a/poky/meta/recipes-graphics/xorg-proto/presentproto_git.bb b/poky/meta/recipes-graphics/xorg-proto/presentproto_git.bb new file mode 100644 index 000000000..e6d32f95a --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/presentproto_git.bb @@ -0,0 +1,22 @@ +require xorg-proto-common.inc + +SUMMARY = "This package provides the basic headers for the X Window System" +DESCRIPTION = "The Present extension provides a way for applications to update their \ + window contents from a pixmap in a well defined fashion, synchronizing \ + with the display refresh and potentially using a more efficient \ + mechanism than copying the contents of the source pixmap.\ + " + +LICENSE = "GPLv2" + +SRCREV = "bfdc7e052302c79c5803ad95a73c9b63b350c40c" +PV = "1.1+git${SRCPV}" + +LIC_FILES_CHKSUM = "file://COPYING;md5=47e508ca280fde97906eacb77892c3ac" + +SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/presentproto" +S = "${WORKDIR}/git" + +inherit autotools + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/xorg-proto/randrproto_1.5.0.bb b/poky/meta/recipes-graphics/xorg-proto/randrproto_1.5.0.bb new file mode 100644 index 000000000..b59e52513 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/randrproto_1.5.0.bb @@ -0,0 +1,19 @@ +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=00426d41bd3d9267cf9bbb2df9323a5e \ + file://randrproto.h;endline=30;md5=3885957c6048fdf3310ac8ba54ca2c3f" + +RCONFLICTS_${PN} = "randrext" +PE = "1" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "a46765c8dcacb7114c821baf0df1e797" +SRC_URI[sha256sum] = "4c675533e79cd730997d232c8894b6692174dce58d3e207021b8f860be498468" diff --git a/poky/meta/recipes-graphics/xorg-proto/recordproto_1.14.2.bb b/poky/meta/recipes-graphics/xorg-proto/recordproto_1.14.2.bb new file mode 100644 index 000000000..ad2317c26 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/recordproto_1.14.2.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" + +RCONFLICTS_${PN} = "recordext" +PR = "r1" +PE = "1" + +SRC_URI[md5sum] = "1b4e5dede5ea51906f1530ca1e21d216" +SRC_URI[sha256sum] = "a777548d2e92aa259f1528de3c4a36d15e07a4650d0976573a8e2ff5437e7370" diff --git a/poky/meta/recipes-graphics/xorg-proto/renderproto_0.11.1.bb b/poky/meta/recipes-graphics/xorg-proto/renderproto_0.11.1.bb new file mode 100644 index 000000000..ff800ec83 --- /dev/null +++ b/poky/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" + +RCONFLICTS_${PN} = "renderext" +PR = "r1" +PE = "1" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "a914ccc1de66ddeb4b611c6b0686e274" +SRC_URI[sha256sum] = "06735a5b92b20759204e4751ecd6064a2ad8a6246bb65b3078b862a00def2537" + diff --git a/poky/meta/recipes-graphics/xorg-proto/resourceproto_1.2.0.bb b/poky/meta/recipes-graphics/xorg-proto/resourceproto_1.2.0.bb new file mode 100644 index 000000000..08b610aea --- /dev/null +++ b/poky/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" + +RCONFLICTS_${PN} = "resourceext" + +PR = "r1" +PE = "1" + +SRC_URI[md5sum] = "cfdb57dae221b71b2703f8e2980eaaf4" +SRC_URI[sha256sum] = "3c66003a6bdeb0f70932a9ed3cf57cc554234154378d301e0c5cfa189d8f6818" + diff --git a/poky/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.2.bb b/poky/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.2.bb new file mode 100644 index 000000000..ab07f518c --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.2.bb @@ -0,0 +1,19 @@ +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" + +PE = "1" + +EXTRA_OECONF_append = " --enable-specs=no" + +SRC_URI[md5sum] = "edd8a73775e8ece1d69515dd17767bfb" +SRC_URI[sha256sum] = "8bb70a8da164930cceaeb4c74180291660533ad3cc45377b30a795d1b85bcd65" diff --git a/poky/meta/recipes-graphics/xorg-proto/videoproto_2.3.3.bb b/poky/meta/recipes-graphics/xorg-proto/videoproto_2.3.3.bb new file mode 100644 index 000000000..6f97a2653 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/videoproto_2.3.3.bb @@ -0,0 +1,14 @@ +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=ce3472a119a864085fa4155cb0979a7b" + +PE = "1" + +SRC_URI[md5sum] = "fe86de8ea3eb53b5a8f52956c5cd3174" +SRC_URI[sha256sum] = "c7803889fd08e6fcaf7b68cc394fb038b2325d1f315e571a6954577e07cca702" diff --git a/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0001-Make-whitespace-use-consistent.patch b/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0001-Make-whitespace-use-consistent.patch new file mode 100644 index 000000000..89ec66618 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0001-Make-whitespace-use-consistent.patch @@ -0,0 +1,215 @@ +From ea7a3ac6c658164690e0febb55f4467cb9e0bcac Mon Sep 17 00:00:00 2001 +From: Thomas Klausner <wiz@NetBSD.org> +Date: Thu, 19 May 2016 17:30:04 +0200 +Subject: [PATCH 1/2] Make whitespace use consistent. + +At least python-3.5.x complains about this forcefully. + +Signed-off-by: Thomas Klausner <wiz@NetBSD.org> +Signed-off-by: Uli Schlachter <psychon@znc.in> + +Upstream-Status: Backport + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + xcbgen/align.py | 96 ++++++++++++++++++++++++++++----------------------------- + 1 file changed, 48 insertions(+), 48 deletions(-) + +diff --git a/xcbgen/align.py b/xcbgen/align.py +index 5e31838..d4c12ee 100644 +--- a/xcbgen/align.py ++++ b/xcbgen/align.py +@@ -16,12 +16,12 @@ class Alignment(object): + return self.align == other.align and self.offset == other.offset + + def __str__(self): +- return "(align=%d, offset=%d)" % (self.align, self.offset) ++ return "(align=%d, offset=%d)" % (self.align, self.offset) + + @staticmethod + def for_primitive_type(size): +- # compute the required start_alignment based on the size of the type +- if size % 8 == 0: ++ # compute the required start_alignment based on the size of the type ++ if size % 8 == 0: + # do 8-byte primitives require 8-byte alignment in X11? + return Alignment(8,0) + elif size % 4 == 0: +@@ -33,7 +33,7 @@ class Alignment(object): + + + def align_after_fixed_size(self, size): +- new_offset = (self.offset + size) % self.align ++ new_offset = (self.offset + size) % self.align + return Alignment(self.align, new_offset) + + +@@ -41,7 +41,7 @@ class Alignment(object): + ''' + Assuming the given external_align, checks whether + self is fulfilled for all cases. +- Returns True if yes, False otherwise. ++ Returns True if yes, False otherwise. + ''' + if self.align == 1 and self.offset == 0: + # alignment 1 with offset 0 is always fulfilled +@@ -55,9 +55,9 @@ class Alignment(object): + # the external align guarantees less alignment -> not guaranteed + return False + +- if external_align.align % self.align != 0: ++ if external_align.align % self.align != 0: + # the external align cannot be divided by our align +- # -> not guaranteed ++ # -> not guaranteed + # (this can only happen if there are alignments that are not + # a power of 2, which is highly discouraged. But better be + # safe and check for it) +@@ -72,7 +72,7 @@ class Alignment(object): + + def combine_with(self, other): + # returns the alignment that is guaranteed when +- # both, self or other, can happen ++ # both, self or other, can happen + new_align = gcd(self.align, other.align) + new_offset_candidate1 = self.offset % new_align + new_offset_candidate2 = other.offset % new_align +@@ -83,8 +83,8 @@ class Alignment(object): + new_align = gcd(new_align, offset_diff) + new_offset_candidate1 = self.offset % new_align + new_offset_candidate2 = other.offset % new_align +- assert new_offset_candidate1 == new_offset_candidate2 +- new_offset = new_offset_candidate1 ++ assert new_offset_candidate1 == new_offset_candidate2 ++ new_offset = new_offset_candidate1 + # return the result + return Alignment(new_align, new_offset) + +@@ -92,44 +92,44 @@ class Alignment(object): + class AlignmentLog(object): + + def __init__(self): +- self.ok_list = [] +- self.fail_list = [] +- self.verbosity = 1 ++ self.ok_list = [] ++ self.fail_list = [] ++ self.verbosity = 1 + + def __str__(self): +- result = "" ++ result = "" + +- # output the OK-list +- for (align_before, field_name, type_obj, callstack, align_after) in self.ok_list: +- stacksize = len(callstack) ++ # output the OK-list ++ for (align_before, field_name, type_obj, callstack, align_after) in self.ok_list: ++ stacksize = len(callstack) + indent = ' ' * stacksize +- if self.ok_callstack_is_relevant(callstack): ++ if self.ok_callstack_is_relevant(callstack): + if field_name is None or field_name == "": +- result += (" %sok: %s:\n\t%sbefore: %s, after: %s\n" +- % (indent, str(type_obj), indent, str(align_before), str(align_after))) +- else: +- result += (" %sok: field \"%s\" in %s:\n\t%sbefore: %s, after: %s\n" +- % (indent, str(field_name), str(type_obj), +- indent, str(align_before), str(align_after))) ++ result += (" %sok: %s:\n\t%sbefore: %s, after: %s\n" ++ % (indent, str(type_obj), indent, str(align_before), str(align_after))) ++ else: ++ result += (" %sok: field \"%s\" in %s:\n\t%sbefore: %s, after: %s\n" ++ % (indent, str(field_name), str(type_obj), ++ indent, str(align_before), str(align_after))) + if self.verbosity >= 1: +- result += self.callstack_to_str(indent, callstack) ++ result += self.callstack_to_str(indent, callstack) + +- # output the fail-list +- for (align_before, field_name, type_obj, callstack, reason) in self.fail_list: +- stacksize = len(callstack) ++ # output the fail-list ++ for (align_before, field_name, type_obj, callstack, reason) in self.fail_list: ++ stacksize = len(callstack) + indent = ' ' * stacksize +- if field_name is None or field_name == "": +- result += (" %sfail: align %s is incompatible with\n\t%s%s\n\t%sReason: %s\n" +- % (indent, str(align_before), indent, str(type_obj), indent, reason)) +- else: +- result += (" %sfail: align %s is incompatible with\n\t%sfield \"%s\" in %s\n\t%sReason: %s\n" +- % (indent, str(align_before), indent, str(field_name), str(type_obj), indent, reason)) ++ if field_name is None or field_name == "": ++ result += (" %sfail: align %s is incompatible with\n\t%s%s\n\t%sReason: %s\n" ++ % (indent, str(align_before), indent, str(type_obj), indent, reason)) ++ else: ++ result += (" %sfail: align %s is incompatible with\n\t%sfield \"%s\" in %s\n\t%sReason: %s\n" ++ % (indent, str(align_before), indent, str(field_name), str(type_obj), indent, reason)) + + if self.verbosity >= 1: +- result += self.callstack_to_str(indent, callstack) ++ result += self.callstack_to_str(indent, callstack) + + +- return result ++ return result + + + def callstack_to_str(self, indent, callstack): +@@ -137,41 +137,41 @@ class AlignmentLog(object): + for stack_elem in callstack: + result += "\t %s%s\n" % (indent, str(stack_elem)) + result += "\t%s]\n" % indent +- return result ++ return result + + + def ok_callstack_is_relevant(self, ok_callstack): + # determine whether an ok callstack is relevant for logging +- if self.verbosity >= 2: +- return True ++ if self.verbosity >= 2: ++ return True + + # empty callstacks are always relevant +- if len(ok_callstack) == 0: ++ if len(ok_callstack) == 0: + return True + +- # check whether the ok_callstack is a subset or equal to a fail_callstack ++ # check whether the ok_callstack is a subset or equal to a fail_callstack + for (align_before, field_name, type_obj, fail_callstack, reason) in self.fail_list: + if len(ok_callstack) <= len(fail_callstack): + zipped = zip(ok_callstack, fail_callstack[:len(ok_callstack)]) +- is_subset = all([i == j for i, j in zipped]) +- if is_subset: ++ is_subset = all([i == j for i, j in zipped]) ++ if is_subset: + return True + + return False + + + def ok(self, align_before, field_name, type_obj, callstack, align_after): +- self.ok_list.append((align_before, field_name, type_obj, callstack, align_after)) ++ self.ok_list.append((align_before, field_name, type_obj, callstack, align_after)) + + def fail(self, align_before, field_name, type_obj, callstack, reason): +- self.fail_list.append((align_before, field_name, type_obj, callstack, reason)) ++ self.fail_list.append((align_before, field_name, type_obj, callstack, reason)) + + def append(self, other): +- self.ok_list.extend(other.ok_list) +- self.fail_list.extend(other.fail_list) ++ self.ok_list.extend(other.ok_list) ++ self.fail_list.extend(other.fail_list) + + def ok_count(self): +- return len(self.ok_list) ++ return len(self.ok_list) + + + +-- +2.9.0 + diff --git a/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0002-print-is-a-function-and-needs-parentheses.patch b/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0002-print-is-a-function-and-needs-parentheses.patch new file mode 100644 index 000000000..542acb82b --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0002-print-is-a-function-and-needs-parentheses.patch @@ -0,0 +1,75 @@ +From bea5e1c85bdc0950913790364e18228f20395a3d Mon Sep 17 00:00:00 2001 +From: Thomas Klausner <wiz@NetBSD.org> +Date: Thu, 19 May 2016 17:30:05 +0200 +Subject: [PATCH 2/2] print() is a function and needs parentheses. + +Fixes build with python-3.x. + +Signed-off-by: Thomas Klausner <wiz@NetBSD.org> +Signed-off-by: Uli Schlachter <psychon@znc.in> + +Upstream-Status: Backport + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + xcbgen/xtypes.py | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/xcbgen/xtypes.py b/xcbgen/xtypes.py +index c3b5758..b83b119 100644 +--- a/xcbgen/xtypes.py ++++ b/xcbgen/xtypes.py +@@ -501,7 +501,7 @@ class ComplexType(Type): + int(required_start_align_element.get('align', "4"), 0), + int(required_start_align_element.get('offset', "0"), 0)) + if verbose_align_log: +- print "Explicit start-align for %s: %s\n" % (self, self.required_start_align) ++ print ("Explicit start-align for %s: %s\n" % (self, self.required_start_align)) + + def resolve(self, module): + if self.resolved: +@@ -592,7 +592,7 @@ class ComplexType(Type): + if verbose_align_log: + print ("calc_required_start_align: %s has start-align %s" + % (str(self), str(self.required_start_align))) +- print "Details:\n" + str(log) ++ print ("Details:\n" + str(log)) + if self.required_start_align.offset != 0: + print (("WARNING: %s\n\thas start-align with non-zero offset: %s" + + "\n\tsuggest to add explicit definition with:" +@@ -619,12 +619,12 @@ class ComplexType(Type): + for offset in range(0,align): + align_candidate = Alignment(align, offset) + if verbose_align_log: +- print "trying %s for %s" % (str(align_candidate), str(self)) ++ print ("trying %s for %s" % (str(align_candidate), str(self))) + my_log = AlignmentLog() + if self.is_possible_start_align(align_candidate, callstack, my_log): + log.append(my_log) + if verbose_align_log: +- print "found start-align %s for %s" % (str(align_candidate), str(self)) ++ print ("found start-align %s for %s" % (str(align_candidate), str(self))) + return align_candidate + else: + my_ok_count = my_log.ok_count() +@@ -641,7 +641,7 @@ class ComplexType(Type): + # none of the candidates applies + # this type has illegal internal aligns for all possible start_aligns + if verbose_align_log: +- print "didn't find start-align for %s" % str(self) ++ print ("didn't find start-align for %s" % str(self)) + log.append(best_log) + return None + +@@ -900,7 +900,7 @@ class SwitchType(ComplexType): + # aux function for unchecked_get_alignment_after + def get_align_for_selected_case_field(self, case_field, start_align, callstack, log): + if verbose_align_log: +- print "get_align_for_selected_case_field: %s, case_field = %s" % (str(self), str(case_field)) ++ print ("get_align_for_selected_case_field: %s, case_field = %s" % (str(self), str(case_field))) + total_align = start_align + for field in self.bitcases: + my_callstack = callstack[:] +-- +2.9.0 + diff --git a/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.12.bb b/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.12.bb new file mode 100644 index 000000000..25a8373e0 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.12.bb @@ -0,0 +1,53 @@ +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" +LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7 \ + file://src/dri2.xml;beginline=2;endline=28;md5=f8763b13ff432e8597e0d610cf598e65" + +SRC_URI = "http://xcb.freedesktop.org/dist/${BP}.tar.bz2 \ + file://0001-Make-whitespace-use-consistent.patch \ + file://0002-print-is-a-function-and-needs-parentheses.patch \ + " +SRC_URI[md5sum] = "14e60919f859560f28426a685a555962" +SRC_URI[sha256sum] = "5922aba4c664ab7899a29d92ea91a87aa4c1fc7eb5ee550325c3216c480a4906" + +inherit autotools pkgconfig + +# Force the use of Python 3 and a specific library path so we don't need to +# depend on python3-native +CACHED_CONFIGUREVARS += "PYTHON=python3 am_cv_python_pythondir=${libdir}/xcb-proto" + +PACKAGES += "python-xcbgen" + +FILES_${PN} = "" +FILES_${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd" +FILES_python-xcbgen = "${libdir}/xcb-proto" + +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" + +BBCLASSEXTEND = "native nativesdk" + +# Need to do this dance because we're forcing the use of host Python above and +# if xcb-proto is built with Py3.5 and then re-used from sstate on a host with +# Py3.6 the second build will write new cache files into the sysroot which won't +# be listed in the manifest so won't be deleted, resulting in an error on +# rebuilds. Solve this by deleting the entire cache directory when this package +# is removed from the sysroot. +SSTATEPOSTINSTFUNCS += "xcb_sstate_postinst" +xcb_sstate_postinst() { + if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ] + then + cat <<EOF >${SSTATE_INST_POSTRM} +#!/bin/sh +rm -rf ${libdir}/xcb-proto/xcbgen/__pycache__ +EOF + fi +} diff --git a/poky/meta/recipes-graphics/xorg-proto/xcmiscproto_1.2.2.bb b/poky/meta/recipes-graphics/xorg-proto/xcmiscproto_1.2.2.bb new file mode 100644 index 000000000..0751b94c9 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xcmiscproto_1.2.2.bb @@ -0,0 +1,17 @@ +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" + +PE = "1" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "5f4847c78e41b801982c8a5e06365b24" +SRC_URI[sha256sum] = "b13236869372256c36db79ae39d54214172677fb79e9cdc555dceec80bd9d2df" diff --git a/poky/meta/recipes-graphics/xorg-proto/xextproto_7.3.0.bb b/poky/meta/recipes-graphics/xorg-proto/xextproto_7.3.0.bb new file mode 100644 index 000000000..dd0bd951b --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xextproto_7.3.0.bb @@ -0,0 +1,24 @@ +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" + +PE = "1" + +inherit gettext + +EXTRA_OECONF_append = " --enable-specs=no" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "70c90f313b4b0851758ef77b95019584" +SRC_URI[sha256sum] = "f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0" diff --git a/poky/meta/recipes-graphics/xorg-proto/xf86dgaproto_2.1.bb b/poky/meta/recipes-graphics/xorg-proto/xf86dgaproto_2.1.bb new file mode 100644 index 000000000..86f3ce328 --- /dev/null +++ b/poky/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" + +RCONFLICTS_${PN} = "xxf86dgaext" +PR = "r2" +PE = "1" + +SRC_URI[md5sum] = "a036dc2fcbf052ec10621fd48b68dbb1" +SRC_URI[sha256sum] = "ac5ef65108e1f2146286e53080975683dae49fc94680042e04bd1e2010e99050" diff --git a/poky/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.1.bb b/poky/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.1.bb new file mode 100644 index 000000000..b3f9210cc --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.1.bb @@ -0,0 +1,17 @@ +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" + +PE = "1" + +SRC_URI[md5sum] = "1d716d0dac3b664e5ee20c69d34bc10e" +SRC_URI[sha256sum] = "9c4b8d7221cb6dc4309269ccc008a22753698ae9245a398a59df35f1404d661f" diff --git a/poky/meta/recipes-graphics/xorg-proto/xf86miscproto_0.9.3.bb b/poky/meta/recipes-graphics/xorg-proto/xf86miscproto_0.9.3.bb new file mode 100644 index 000000000..d4663ea88 --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.1.bb b/poky/meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.1.bb new file mode 100644 index 000000000..0f31900a9 --- /dev/null +++ b/poky/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" + +RCONFLICTS_${PN} = "xxf86vmext" + +PR = "r1" +PE = "1" + +SRC_URI[md5sum] = "e793ecefeaecfeabd1aed6a01095174e" +SRC_URI[sha256sum] = "45d9499aa7b73203fd6b3505b0259624afed5c16b941bd04fcf123e5de698770" diff --git a/poky/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.1.bb b/poky/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.1.bb new file mode 100644 index 000000000..dde7e9db7 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.1.bb @@ -0,0 +1,19 @@ +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" + +PE = "1" + +SRC_URI[md5sum] = "9959fe0bfb22a0e7260433b8d199590a" +SRC_URI[sha256sum] = "977574bb3dc192ecd9c55f59f991ec1dff340be3e31392c95deff423da52485b" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-proto/xorg-proto-common.inc b/poky/meta/recipes-graphics/xorg-proto/xorg-proto-common.inc new file mode 100644 index 000000000..7a417c974 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xorg-proto-common.inc @@ -0,0 +1,26 @@ +SUMMARY = "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 = "--without-fop" + +UNKNOWN_CONFIGURE_WHITELIST += "--without-fop --without-xmlto --with-xmlto" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[xmlto] = "--with-xmlto, --without-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" + +# ${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/poky/meta/recipes-graphics/xorg-proto/xproto/xproto_fix_for_x32.patch b/poky/meta/recipes-graphics/xorg-proto/xproto/xproto_fix_for_x32.patch new file mode 100644 index 000000000..4f9ed99c9 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xproto/xproto_fix_for_x32.patch @@ -0,0 +1,24 @@ +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 + +Index: xproto-7.0.31/Xmd.h +=================================================================== +--- xproto-7.0.31.orig/Xmd.h ++++ xproto-7.0.31/Xmd.h +@@ -62,7 +62,6 @@ SOFTWARE. + defined(__ia64__) || defined(ia64) || \ + defined(__sparc64__) || \ + defined(__s390x__) || \ +- defined(__amd64__) || defined(amd64) || \ + defined(__powerpc64__) + # if !defined(__ILP32__) /* amd64-x32 is 32bit */ + # define LONG64 /* 32/64-bit architecture */ diff --git a/poky/meta/recipes-graphics/xorg-proto/xproto_7.0.31.bb b/poky/meta/recipes-graphics/xorg-proto/xproto_7.0.31.bb new file mode 100644 index 000000000..febcc6792 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xproto_7.0.31.bb @@ -0,0 +1,19 @@ +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" + +PE = "1" + +SRC_URI += "file://xproto_fix_for_x32.patch" + +EXTRA_OECONF_append = " --enable-specs=no" +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "16791f7ca8c51a20608af11702e51083" +SRC_URI[sha256sum] = "c6f9747da0bd3a95f86b17fb8dd5e717c8f3ab7f0ece3ba1b247899ec1ef7747" diff --git a/poky/meta/recipes-graphics/xorg-util/gccmakedep_1.0.3.bb b/poky/meta/recipes-graphics/xorg-util/gccmakedep_1.0.3.bb new file mode 100644 index 000000000..be3a66744 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-util/gccmakedep_1.0.3.bb @@ -0,0 +1,21 @@ +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] = "127ddb6131eb4a56fdf6644a63ade788" +SRC_URI[sha256sum] = "f9e2e7a590e27f84b6708ab7a81e546399b949bf652fb9b95193e0e543e6a548" + +do_install_append() { + sed -i "s,--sysroot=${STAGING_DIR_TARGET},," ${D}${bindir}/gccmakedep +} diff --git a/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.5.bb b/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.5.bb new file mode 100644 index 000000000..84a967a81 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.5.bb @@ -0,0 +1,21 @@ +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" +PE = "1" + +BBCLASSEXTEND = "native" + +LIC_FILES_CHKSUM = "file://COPYING;md5=43a6eda34b48ee821b3b66f4f753ce4f" + +SRC_URI[md5sum] = "efb2d7c7e22840947863efaedc175747" +SRC_URI[sha256sum] = "503903d41fb5badb73cb70d7b3740c8b30fe1cc68c504d3b6a85e6644c4e5004" diff --git a/poky/meta/recipes-graphics/xorg-util/util-macros_1.19.1.bb b/poky/meta/recipes-graphics/xorg-util/util-macros_1.19.1.bb new file mode 100644 index 000000000..b39d78756 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-util/util-macros_1.19.1.bb @@ -0,0 +1,19 @@ +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" + +SRC_URI[md5sum] = "3f8a8e6100556f7f28e469809805dee8" +SRC_URI[sha256sum] = "472ad0e41d1e0abf5ecafd29460bf1b8d47e53d4b7d3abf1f66d02dc576547b8" + +# ${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" diff --git a/poky/meta/recipes-graphics/xorg-util/xorg-util-common.inc b/poky/meta/recipes-graphics/xorg-util/xorg-util-common.inc new file mode 100644 index 000000000..18d022c49 --- /dev/null +++ b/poky/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/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf new file mode 100644 index 000000000..f4cd139e8 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf @@ -0,0 +1,38 @@ + +Section "Files" +EndSection + +Section "Device" + Identifier "Graphics Controller" + Driver "fbdev" +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" + Option "AllowEmptyInput" "no" +EndSection diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips/xorg.conf b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips/xorg.conf new file mode 100644 index 000000000..1d3c64f62 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips/xorg.conf @@ -0,0 +1,39 @@ + +Section "Files" +EndSection + +Section "Device" + Identifier "Graphics Controller" + Driver "fbdev" +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" + DefaultDepth 16 + SubSection "Display" + Modes "640x480" + EndSubSection +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen "Default Screen" + Option "AllowEmptyInput" "no" +EndSection diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips64/xorg.conf b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips64/xorg.conf new file mode 100644 index 000000000..f4cd139e8 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips64/xorg.conf @@ -0,0 +1,38 @@ + +Section "Files" +EndSection + +Section "Device" + Identifier "Graphics Controller" + Driver "fbdev" +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" + Option "AllowEmptyInput" "no" +EndSection diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf new file mode 100644 index 000000000..f4cd139e8 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf @@ -0,0 +1,38 @@ + +Section "Files" +EndSection + +Section "Device" + Identifier "Graphics Controller" + Driver "fbdev" +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" + Option "AllowEmptyInput" "no" +EndSection diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf new file mode 100644 index 000000000..f4cd139e8 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf @@ -0,0 +1,38 @@ + +Section "Files" +EndSection + +Section "Device" + Identifier "Graphics Controller" + Driver "fbdev" +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" + Option "AllowEmptyInput" "no" +EndSection diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf new file mode 100644 index 000000000..c12d92c20 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf @@ -0,0 +1,33 @@ + +Section "Files" +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" + Option "AllowEmptyInput" "no" +EndSection diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf new file mode 100644 index 000000000..c12d92c20 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf @@ -0,0 +1,33 @@ + +Section "Files" +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" + Option "AllowEmptyInput" "no" +EndSection diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/xorg.conf b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/xorg.conf new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/xorg.conf diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb new file mode 100644 index 000000000..5420b7d23 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "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 = "r33" + +SRC_URI = "file://xorg.conf" + +S = "${WORKDIR}" + +CONFFILES_${PN} = "${sysconfdir}/X11/xorg.conf" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +ALLOW_EMPTY_${PN} = "1" + +do_install () { + if test -s ${WORKDIR}/xorg.conf; then + install -d ${D}/${sysconfdir}/X11 + install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/ + fi +} diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc new file mode 100644 index 000000000..cf2286c65 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc @@ -0,0 +1,180 @@ +SUMMARY = "The X.Org X server" +HOMEPAGE = "http://www.x.org" +SECTION = "x11/base" +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880" + +# 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" +INC_PR = "r8" + +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 + +inherit distro_features_check +REQUIRED_DISTRO_FEATURES = "x11" + +PROTO_DEPS = "randrproto renderproto fixesproto damageproto xextproto xproto xf86dgaproto xf86miscproto xf86vidmodeproto compositeproto recordproto resourceproto videoproto scrnsaverproto xineramaproto fontsproto kbproto inputproto bigreqsproto xcmiscproto presentproto" +LIB_DEPS = "pixman libxfont2 xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess" +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 +# 91.0k libexa.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}-sdl \ + ${PN}-fbdev \ + ${PN}-xvfb \ + ${PN}-utils \ + ${PN}-xephyr \ + ${PN}-xwayland \ + ${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-exa \ + ${PN}-module-xaa \ + ${PN}-module-libxf1bpp \ + ${PN}-module-libxf4bpp \ + xf86-video-modesetting" + +SUMMARY_xf86-video-modesetting = "X.Org X server -- modesetting display driver" +INSANE_SKIP_${MLPREFIX}xf86-video-modesetting = "xorg-driver-abi" + +XSERVER_RRECOMMENDS = "xkeyboard-config rgb xserver-xf86-config xkbcomp xf86-input-libinput" +RRECOMMENDS_${PN} += "${XSERVER_RRECOMMENDS}" +RRECOMMENDS_${PN}-xwayland += "${XSERVER_RRECOMMENDS}" +RDEPENDS_${PN}-xvfb += "xkeyboard-config" +RDEPENDS_${PN}-module-exa = "${PN} (= ${EXTENDPKGV})" + +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}-sdl = "${bindir}/Xsdl" +FILES_${PN}-fbdev = "${bindir}/Xfbdev" +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}-xwayland = "${bindir}/Xwayland" +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-exa = "${libdir}/xorg/modules/libexa.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" +FILES_xf86-video-modesetting = "${libdir}/xorg/modules/drivers/modesetting_drv.so" + +EXTRA_OECONF += "--with-fop=no \ + --with-pic \ + --disable-static \ + --disable-record \ + --disable-dmx \ + --disable-xnest \ + --enable-xvfb \ + --enable-composite \ + --without-dtrace \ + --with-int10=x86emu \ + --sysconfdir=/etc/X11 \ + --localstatedir=/var \ + --with-xkb-output=/var/lib/xkb \ +" + +OPENGL_PKGCONFIGS = "dri glx glamor dri3 xshmfence" +PACKAGECONFIG ??= "dri2 udev ${XORG_CRYPTO} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'xwayland', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" + +PACKAGECONFIG[udev] = "--enable-config-udev,--disable-config-udev,udev" +PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,glproto virtual/mesa xf86driproto" +PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2,dri2proto" +# DRI3 requires xshmfence to also be enabled +PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3,dri3proto" +PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,glproto virtual/libgl virtual/libx11" +PACKAGECONFIG[glamor] = "--enable-glamor,--disable-glamor,libepoxy virtual/libgbm,libegl" +PACKAGECONFIG[unwind] = "--enable-libunwind,--disable-libunwind,libunwind" +PACKAGECONFIG[xshmfence] = "--enable-xshmfence,--disable-xshmfence,libxshmfence" +PACKAGECONFIG[xmlto] = "--with-xmlto, --without-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" +PACKAGECONFIG[systemd-logind] = "--enable-systemd-logind=yes,--enable-systemd-logind=no,dbus," +PACKAGECONFIG[systemd] = "--with-systemd-daemon,--without-systemd-daemon,systemd" +PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,xineramaproto" +PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland,wayland wayland-native wayland-protocols libepoxy" + +# Xorg requires a SHA1 implementation, pick one +XORG_CRYPTO ??= "openssl" +PACKAGECONFIG[openssl] = "--with-sha1=libcrypto,,openssl" +PACKAGECONFIG[nettle] = "--with-sha1=libnettle,,nettle" +PACKAGECONFIG[gcrypt] = "--with-sha1=libgcrypt,,libgcrypt" + +do_install_append () { + # Its assumed base-files creates this for us + rmdir ${D}${localstatedir}/log/ +} + +# Add runtime provides for the ABI versions of the video and input subsystems, +# so that drivers can depend on the relevant version. +python populate_packages_prepend() { + import subprocess + + # Set PKG_CONFIG_PATH so pkg-config looks at the .pc files that are going + # into the new package, not the staged ones. + newenv = dict(os.environ) + newenv["PKG_CONFIG_PATH"] = d.expand("${PKGD}${libdir}/pkgconfig/") + + def get_abi(name): + abis = { + "video": "abi_videodrv", + "input": "abi_xinput" + } + p = subprocess.Popen(args="pkg-config --variable=%s xorg-server" % abis[name], + shell=True, env=newenv, stdout=subprocess.PIPE) + stdout, stderr = p.communicate() + output = stdout.decode("utf-8").split(".")[0] + mlprefix = d.getVar('MLPREFIX') or '' + return "%sxorg-abi-%s-%s" % (mlprefix, name, output) + + pn = d.getVar("PN") + d.appendVar("RPROVIDES_" + pn, " " + get_abi("input")) + d.appendVar("RPROVIDES_" + pn, " " + get_abi("video")) +} diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch new file mode 100644 index 000000000..16ec3edb3 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch @@ -0,0 +1,61 @@ +Discover monotonic clock using compile-time check + +monotonic clock check does not work when cross-compiling. + +Upstream-Status: Denied [Does not work on OpenBSD] +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> + + + +Original patch follows: + +When xorg-xserver is being cross-compiled, there is currently no way +for us to detect whether the monotonic clock is available on the +target system, because we aren't able to run a test program on the host +system. Currently, in this situation, we default to not use the +monotonic clock. One problem with this situation is that the user will +be treated as idle when the date is updated. + +To fix this situation, we now use a compile-time check to detect whether the +monotonic clock is available. This check can run just fine when we are +cross-compiling. + +Signed-off-by: David James <davidjames at google.com> +--- + configure.ac | 17 +++++++---------- + 1 file changed, 7 insertions(+), 10 deletions(-) + +diff --git a/configure.ac b/configure.ac +index f7ab48c..26e85cd 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1048,19 +1048,16 @@ if ! test "x$have_clock_gettime" = xno; then + CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L" + fi + +- AC_RUN_IFELSE([AC_LANG_SOURCE([ ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + #include <time.h> +- +-int main(int argc, char *argv[[]]) { +- struct timespec tp; +- +- if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0) ++#include <unistd.h> ++int main() { ++#if !(defined(_POSIX_MONOTONIC_CLOCK) && _POSIX_MONOTONIC_CLOCK >= 0 && defined(CLOCK_MONOTONIC)) ++ #error No monotonic clock ++#endif + return 0; +- else +- return 1; + } +- ])], [MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no], +- [MONOTONIC_CLOCK="cross compiling"]) ++]])],[MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no]) + + LIBS="$LIBS_SAVE" + CPPFLAGS="$CPPFLAGS_SAVE" +-- +2.1.4 + diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch new file mode 100644 index 000000000..d05eec5bb --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch @@ -0,0 +1,53 @@ +From d77cdc5e1eee26821ab98c947abea53fb7b18fe5 Mon Sep 17 00:00:00 2001 +From: California Sullivan <california.l.sullivan@intel.com> +Date: Fri, 16 Mar 2018 17:23:11 -0700 +Subject: [PATCH] xf86pciBus.c: use Intel ddx only for pre-gen4 hardware + +Use intel ddx only on pre-gen4 hw, newer ones will fall back to modesetting +Author: Timo Aaltonen <tjaalton@debian.org> + +Instead of defaulting to the Intel driver for all Intel hardware, only +default it for older hardware for which it has shown to be better for. + +Others fall through to the -modesetting default. + +Upstream-Status: Pending [Debian/Fedora patch +https://src.fedoraproject.org/rpms/xorg-x11-server/c/ee515e44b07e37689abf48cf2fffb41578f3bc1d] + +Signed-off-by: California Sullivan <california.l.sullivan@intel.com> +--- + hw/xfree86/common/xf86pciBus.c | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c +index e61ae0cd4..d70c99197 100644 +--- a/hw/xfree86/common/xf86pciBus.c ++++ b/hw/xfree86/common/xf86pciBus.c +@@ -1173,7 +1173,23 @@ xf86VideoPtrToDriverList(struct pci_device *dev, + case 0x0bef: + /* Use fbdev/vesa driver on Oaktrail, Medfield, CDV */ + break; +- default: ++ /* Default to intel only on pre-gen4 chips */ ++ case 0x3577: ++ case 0x2562: ++ case 0x3582: ++ case 0x358e: ++ case 0x2572: ++ case 0x2582: ++ case 0x258a: ++ case 0x2592: ++ case 0x2772: ++ case 0x27a2: ++ case 0x27ae: ++ case 0x29b2: ++ case 0x29c2: ++ case 0x29d2: ++ case 0xa001: ++ case 0xa011: + driverList[0] = "intel"; + break; + } +-- +2.14.3 + diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch new file mode 100644 index 000000000..beed6cb4a --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch @@ -0,0 +1,47 @@ +From cf407b16cd65ad6e26a9c8e5984e163409a5c0f7 Mon Sep 17 00:00:00 2001 +From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com> +Date: Mon, 30 Jan 2017 16:32:06 -0600 +Subject: [PATCH] Remove check for useSIGIO option + +Commit 6a5a4e60373c1386b311b2a8bb666c32d68a9d99 removes the configure of useSIGIO +option. + +As the xfree86 SIGIO support is reworked to use internal versions of OsBlockSIGIO +and OsReleaseSIGIO. + +No longer the check for useSIGIO is needed + +Upstream-Status: Pending + +Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com> +--- + hw/xfree86/os-support/shared/sigio.c | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/hw/xfree86/os-support/shared/sigio.c b/hw/xfree86/os-support/shared/sigio.c +index 884a71c..be76498 100644 +--- a/hw/xfree86/os-support/shared/sigio.c ++++ b/hw/xfree86/os-support/shared/sigio.c +@@ -185,9 +185,6 @@ xf86InstallSIGIOHandler(int fd, void (*f) (int, void *), void *closure) + int i; + int installed = FALSE; + +- if (!xf86Info.useSIGIO) +- return 0; +- + for (i = 0; i < MAX_FUNCS; i++) { + if (!xf86SigIOFuncs[i].f) { + if (xf86IsPipe(fd)) +@@ -256,9 +253,6 @@ xf86RemoveSIGIOHandler(int fd) + int max; + int ret; + +- if (!xf86Info.useSIGIO) +- return 0; +- + max = 0; + ret = 0; + for (i = 0; i < MAX_FUNCS; i++) { +-- +2.7.4 + diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch new file mode 100644 index 000000000..5243761f1 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch @@ -0,0 +1,46 @@ +From 5028ef46ff4ab0930224b71024a7349b05610d42 Mon Sep 17 00:00:00 2001 +From: Stefan Agner <stefan@agner.ch> +Date: Thu, 22 Dec 2016 15:41:06 +0100 +Subject: [PATCH] modesetting: Fix 16 bit depth/bpp mode + +When setting DefaultDepth to 16 in the Screen section, the current +code requests a 32 bpp framebuffer, however the X-Server seems to +assumes 16 bpp. + +Fixes commit 21217d02168d ("modesetting: Implement 32->24 bpp +conversion in shadow update") + +Signed-off-by: Stefan Agner <stefan@agner.ch> + +Upstream-Status: Submitted [1] + +[1] https://lists.x.org/archives/xorg-devel/2016-December/052113.html +--- + hw/xfree86/drivers/modesetting/driver.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c +index d7030e5..647ad83 100644 +--- a/hw/xfree86/drivers/modesetting/driver.c ++++ b/hw/xfree86/drivers/modesetting/driver.c +@@ -930,7 +930,7 @@ PreInit(ScrnInfoPtr pScrn, int flags) + "Using 24bpp hw front buffer with 32bpp shadow\n"); + defaultbpp = 32; + } else { +- ms->drmmode.kbpp = defaultbpp; ++ ms->drmmode.kbpp = 0; + } + bppflags = PreferConvert24to32 | SupportConvert24to32 | Support32bppFb; + +@@ -950,6 +950,8 @@ PreInit(ScrnInfoPtr pScrn, int flags) + return FALSE; + } + xf86PrintDepthBpp(pScrn); ++ if (!ms->drmmode.kbpp) ++ ms->drmmode.kbpp = pScrn->bitsPerPixel; + + /* Process the options */ + xf86CollectOptions(pScrn, NULL); +-- +2.7.4 + diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch new file mode 100644 index 000000000..c36e4e730 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/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> + +Index: xorg-server-1.19.6/xorg-server.m4 +=================================================================== +--- xorg-server-1.19.6.orig/xorg-server.m4 ++++ xorg-server-1.19.6/xorg-server.m4 +@@ -28,10 +28,12 @@ dnl + # Checks for the MACRO define in xorg-server.h (from the sdk). If it + # is defined, then add the given PROTO 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/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch new file mode 100644 index 000000000..4be441fb7 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch @@ -0,0 +1,18 @@ +inb/outb family for arm is only implemented on glibc +so assumption across linux is wrong + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending +Index: xorg-server-1.18.0/hw/xfree86/common/compiler.h +=================================================================== +--- xorg-server-1.18.0.orig/hw/xfree86/common/compiler.h ++++ xorg-server-1.18.0/hw/xfree86/common/compiler.h +@@ -758,7 +758,7 @@ inl(unsigned short port) + return xf86ReadMmio32Le((void *) ioBase, port); + } + +-#elif defined(__arm__) && defined(__linux__) ++#elif defined(__arm__) && defined(__GLIBC__) + + /* for Linux on ARM, we use the LIBC inx/outx routines */ + /* note that the appropriate setup via "ioperm" needs to be done */ diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.6.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.6.bb new file mode 100644 index 000000000..c680cf9e8 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.6.bb @@ -0,0 +1,32 @@ +require xserver-xorg.inc + +SRC_URI += "file://musl-arm-inb-outb.patch \ + file://0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch \ + file://0003-modesetting-Fix-16-bit-depth-bpp-mode.patch \ + file://0003-Remove-check-for-useSIGIO-option.patch \ + file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \ + " +SRC_URI[md5sum] = "3e47777ff034a331aed2322b078694a8" +SRC_URI[sha256sum] = "a732502f1db000cf36a376cd0c010ffdbf32ecdd7f1fa08ba7f5bdf9601cc197" + +# These extensions are now integrated into the server, so declare the migration +# path for in-place upgrades. + +RREPLACES_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " +RPROVIDES_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " +RCONFLICTS_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " diff --git a/poky/meta/recipes-graphics/xrestop/xrestop_0.4.bb b/poky/meta/recipes-graphics/xrestop/xrestop_0.4.bb new file mode 100644 index 000000000..ce5df0393 --- /dev/null +++ b/poky/meta/recipes-graphics/xrestop/xrestop_0.4.bb @@ -0,0 +1,24 @@ +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 ncurses" + +SRC_URI = "http://downloads.yoctoproject.org/releases/xrestop/xrestop-${PV}.tar.gz" + +SRC_URI[md5sum] = "d8a54596cbaf037e62b80c4585a3ca9b" +SRC_URI[sha256sum] = "67c2fc94a7ecedbaae0d1837e82e93d1d98f4a6d759828860e552119af3ce257" + +inherit autotools pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" diff --git a/poky/meta/recipes-graphics/xvideo-tests/xvideo-tests_git.bb b/poky/meta/recipes-graphics/xvideo-tests/xvideo-tests_git.bb new file mode 100644 index 000000000..1d275a004 --- /dev/null +++ b/poky/meta/recipes-graphics/xvideo-tests/xvideo-tests_git.bb @@ -0,0 +1,18 @@ +SUMMARY = "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 = "7d38b881e99eb74169d292b40f7164e461a65092" +PV = "0.1+git${SRCPV}" + +SRC_URI = "git://git.yoctoproject.org/test-xvideo" +UPSTREAM_CHECK_COMMITS = "1" + +S = "${WORKDIR}/git" + +inherit autotools distro_features_check + +# The libxv requires x11 in DISTRO_FEATURES +REQUIRED_DISTRO_FEATURES = "x11" |