diff options
Diffstat (limited to 'meta/recipes-graphics')
202 files changed, 1950 insertions, 5068 deletions
diff --git a/meta/recipes-graphics/builder/builder_0.1.bb b/meta/recipes-graphics/builder/builder_0.1.bb index 0a64c31ab3..f448465f9a 100644 --- a/meta/recipes-graphics/builder/builder_0.1.bb +++ b/meta/recipes-graphics/builder/builder_0.1.bb @@ -10,14 +10,14 @@ SRC_URI = "file://builder_session.sh \ S = "${WORKDIR}" -RDEPENDS_${PN} = "mini-x-session" +RDEPENDS:${PN} = "mini-x-session" inherit useradd # builder user password is "builder" BUILDER_PASSWORD ?= ".gLibiNXn0P12" USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --create-home \ +USERADD_PARAM:${PN} = "--system --create-home \ --groups video,tty,audio \ --password ${BUILDER_PASSWORD} \ --user-group builder" @@ -29,3 +29,5 @@ do_install () { chown builder.builder ${D}${sysconfdir}/mini_x/session.d/builder_session.sh } +# -4178 is an unrelated 'builder' +CVE_CHECK_WHITELIST = "CVE-2008-4178" diff --git a/meta/recipes-graphics/cairo/cairo/CVE-2020-35492.patch b/meta/recipes-graphics/cairo/cairo/CVE-2020-35492.patch new file mode 100644 index 0000000000..fb6ce5cfdf --- /dev/null +++ b/meta/recipes-graphics/cairo/cairo/CVE-2020-35492.patch @@ -0,0 +1,60 @@ +Fix stack buffer overflow. + +CVE: CVE-2020-35492 +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@arm.com> + +From 03a820b173ed1fdef6ff14b4468f5dbc02ff59be Mon Sep 17 00:00:00 2001 +From: Heiko Lewin <heiko.lewin@worldiety.de> +Date: Tue, 15 Dec 2020 16:48:19 +0100 +Subject: [PATCH] Fix mask usage in image-compositor + +--- + src/cairo-image-compositor.c | 8 ++-- + test/Makefile.sources | 1 + + test/bug-image-compositor.c | 39 ++++++++++++++++++++ + test/reference/bug-image-compositor.ref.png | Bin 0 -> 185 bytes + 4 files changed, 44 insertions(+), 4 deletions(-) + create mode 100644 test/bug-image-compositor.c + create mode 100644 test/reference/bug-image-compositor.ref.png + +diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c +index 79ad69f68..4f8aaed99 100644 +--- a/src/cairo-image-compositor.c ++++ b/src/cairo-image-compositor.c +@@ -2601,14 +2601,14 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + unsigned num_spans) + { + cairo_image_span_renderer_t *r = abstract_renderer; +- uint8_t *m; ++ uint8_t *m, *base = (uint8_t*)pixman_image_get_data(r->mask); + int x0; + + if (num_spans == 0) + return CAIRO_STATUS_SUCCESS; + + x0 = spans[0].x; +- m = r->_buf; ++ m = base; + do { + int len = spans[1].x - spans[0].x; + if (len >= r->u.composite.run_length && spans[0].coverage == 0xff) { +@@ -2655,7 +2655,7 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + spans[0].x, y, + spans[1].x - spans[0].x, h); + +- m = r->_buf; ++ m = base; + x0 = spans[1].x; + } else if (spans[0].coverage == 0x0) { + if (spans[0].x != x0) { +@@ -2684,7 +2684,7 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + #endif + } + +- m = r->_buf; ++ m = base; + x0 = spans[1].x; + } else { + *m++ = spans[0].coverage; +-- diff --git a/meta/recipes-graphics/cairo/cairo_1.16.0.bb b/meta/recipes-graphics/cairo/cairo_1.16.0.bb index 68f993d7ca..d76d935c30 100644 --- a/meta/recipes-graphics/cairo/cairo_1.16.0.bb +++ b/meta/recipes-graphics/cairo/cairo_1.16.0.bb @@ -11,12 +11,12 @@ BUGTRACKER = "http://bugs.freedesktop.org" SECTION = "libs" LICENSE = "(MPL-1.1 | LGPLv2.1) & GPLv3+" -LICENSE_${PN} = "MPL-1.1 | LGPLv2.1" -LICENSE_${PN}-dev = "MPL-1.1 | LGPLv2.1" -LICENSE_${PN}-doc = "MPL-1.1 | LGPLv2.1" -LICENSE_${PN}-gobject = "MPL-1.1 | LGPLv2.1" -LICENSE_${PN}-script-interpreter = "MPL-1.1 | LGPLv2.1" -LICENSE_${PN}-perf-utils = "GPLv3+" +LICENSE:${PN} = "MPL-1.1 | LGPLv2.1" +LICENSE:${PN}-dev = "MPL-1.1 | LGPLv2.1" +LICENSE:${PN}-doc = "MPL-1.1 | LGPLv2.1" +LICENSE:${PN}-gobject = "MPL-1.1 | LGPLv2.1" +LICENSE:${PN}-script-interpreter = "MPL-1.1 | LGPLv2.1" +LICENSE:${PN}-perf-utils = "GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77" @@ -27,6 +27,7 @@ SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \ file://CVE-2018-19876.patch \ file://CVE-2019-6461.patch \ file://CVE-2019-6462.patch \ + file://CVE-2020-35492.patch \ " SRC_URI[md5sum] = "f19e0353828269c22bd72e271243a552" @@ -42,8 +43,8 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)} \ trace" -PACKAGECONFIG_class-native = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)}" -PACKAGECONFIG_class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)}" +PACKAGECONFIG:class-native = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)}" +PACKAGECONFIG:class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)}" PACKAGECONFIG[x11] = "--with-x=yes -enable-xlib,--with-x=no --disable-xlib,${X11DEPENDS}" PACKAGECONFIG[xcb] = "--enable-xcb,--disable-xcb,libxcb" @@ -64,7 +65,7 @@ export ac_cv_lib_bfd_bfd_openr="no" # Ensure we don't depend on LZO export ac_cv_lib_lzo2_lzo2a_decompress="no" -do_install_append () { +do_install:append () { rm -rf ${D}${bindir}/cairo-sphinx rm -rf ${D}${libdir}/cairo/cairo-fdr* rm -rf ${D}${libdir}/cairo/cairo-sphinx* @@ -78,20 +79,20 @@ do_install_append () { PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils" -SUMMARY_cairo-gobject = "The Cairo library GObject wrapper library" -DESCRIPTION_cairo-gobject = "A GObject wrapper library for the Cairo API." +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 \ +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" +DESCRIPTION:cairo-perf-utils = "The Cairo library performance utilities" -FILES_${PN} = "${libdir}/libcairo.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" +FILES:${PN} = "${libdir}/libcairo.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" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.303.1.bb b/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.303.1.bb new file mode 100644 index 0000000000..a3a69ae49c --- /dev/null +++ b/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.303.1.bb @@ -0,0 +1,18 @@ +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://gitlab.gnome.org/GNOME/cantarell-fonts/" +SECTION = "fonts" +LICENSE = "OFL-1.1 & Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb1ef92b6909969a472a6ea3c4e99cb7" + +inherit gnomebase meson allarch fontcache pkgconfig +SRC_URI[archive.sha256sum] = "f9463a0659c63e57e381fdd753cf1929225395c5b49135989424761830530411" + +EXTRA_OEMESON += "-Duseprebuilt=true -Dbuildappstream=false" + +FILES:${PN} = "${datadir}/fonts ${datadir}/fontconfig" diff --git a/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb b/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb deleted file mode 100644 index db480bd397..0000000000 --- a/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb +++ /dev/null @@ -1,25 +0,0 @@ -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://gitlab.gnome.org/GNOME/cantarell-fonts/" -SECTION = "fonts" -LICENSE = "OFL-1.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=df91e3ffcab8cfb972a66bf11255188d" - -PV = "0.0.25" - -SRCREV = "e28a9096da43984212b5b4002b949bcb8c7527f9" -SRC_URI = "git://gitlab.gnome.org/GNOME/cantarell-fonts.git;protocol=https;branch=reconstruction-0.0.25" -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/meta/recipes-graphics/clutter/clutter-1.0.inc b/meta/recipes-graphics/clutter/clutter-1.0.inc deleted file mode 100644 index 80472178be..0000000000 --- a/meta/recipes-graphics/clutter/clutter-1.0.inc +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Graphics library for creating hardware-accelerated user interfaces" -DESCRIPTION = "Clutter is an Open GL based interactive canvas library, \ -designed for creating fast, mainly 2D single window applications such as media \ -box UIs, presentations, kiosk style applications and so on." -HOMEPAGE = "http://www.clutter-project.org/" -LICENSE = "LGPLv2.1+" - -inherit clutter ptest-gnome 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-aux" - -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-cex100-backend \ - --disable-tslib-input \ - " - -PACKAGECONFIG[gdk] = "--enable-gdk-backend,--disable-gdk-backend,gtk+3" -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 gdk \ - ${@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/meta/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch b/meta/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch deleted file mode 100644 index 7b3c1980b6..0000000000 --- a/meta/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch +++ /dev/null @@ -1,143 +0,0 @@ -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/meta/recipes-graphics/clutter/clutter-1.0/install-examples.patch b/meta/recipes-graphics/clutter/clutter-1.0/install-examples.patch deleted file mode 100644 index ce9ab3a248..0000000000 --- a/meta/recipes-graphics/clutter/clutter-1.0/install-examples.patch +++ /dev/null @@ -1,19 +0,0 @@ -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/meta/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch b/meta/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch deleted file mode 100644 index fef82eaf92..0000000000 --- a/meta/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d6ceb5a44b28e0e50ede22b84984d8516897de4b 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-aux/autotools/glib-tap.mk | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/build-aux/autotools/glib-tap.mk b/build-aux/autotools/glib-tap.mk -index a4f0dad..51cfa31 100644 ---- a/build-aux/autotools/glib-tap.mk -+++ b/build-aux/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) diff --git a/meta/recipes-graphics/clutter/clutter-1.0/run-ptest b/meta/recipes-graphics/clutter/clutter-1.0/run-ptest deleted file mode 100644 index 98877e5226..0000000000 --- a/meta/recipes-graphics/clutter/clutter-1.0/run-ptest +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/sh - -gnome-desktop-testing-runner clutter diff --git a/meta/recipes-graphics/clutter/clutter-1.0_1.26.4.bb b/meta/recipes-graphics/clutter/clutter-1.0_1.26.4.bb deleted file mode 100644 index ee549fbdd5..0000000000 --- a/meta/recipes-graphics/clutter/clutter-1.0_1.26.4.bb +++ /dev/null @@ -1,10 +0,0 @@ -require clutter-1.0.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI[archive.md5sum] = "624dd776a5159de0267587b1df6b97b2" -SRC_URI[archive.sha256sum] = "8b48fac159843f556d0a6be3dbfc6b083fc6d9c58a20a49a6b4919ab4263c4e6" -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/meta/recipes-graphics/clutter/clutter-gst-3.0.inc b/meta/recipes-graphics/clutter/clutter-gst-3.0.inc deleted file mode 100644 index 7d9db1f38c..0000000000 --- a/meta/recipes-graphics/clutter/clutter-gst-3.0.inc +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "GStreamer integration library for Clutter" -HOMEPAGE = "http://www.clutter-project.org/" -LICENSE = "LGPLv2+" - -inherit clutter features_check upstream-version-is-even gobject-introspection -# depends on clutter-1.0 which depends on cogl-1.0 -REQUIRED_DISTRO_FEATURES ?= "opengl" - -export GST_PLUGIN_SCANNER_1_0="${S}/gst-plugin-scanner-dummy" - -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/meta/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch b/meta/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch deleted file mode 100644 index 0b26b990d7..0000000000 --- a/meta/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch +++ /dev/null @@ -1,33 +0,0 @@ -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/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb b/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb deleted file mode 100644 index 35382453c2..0000000000 --- a/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb +++ /dev/null @@ -1,7 +0,0 @@ -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] = "2bf9d7ca146c9d71e86c45cd00e9a28e" -SRC_URI[archive.sha256sum] = "fe69bd6c659d24ab30da3f091eb91cd1970026d431179b0724f13791e8ad9f9d" diff --git a/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc b/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc deleted file mode 100644 index 7bf2278555..0000000000 --- a/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Library for embedding a Clutter canvas in a GTK+ application" -HOMEPAGE = "http://www.clutter-project.org/" -LICENSE = "LGPLv2+" - -CLUTTERBASEBUILDCLASS = "meson" -inherit clutter features_check upstream-version-is-even gobject-introspection gtk-doc - -# 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" - -GTKDOC_MESON_OPTION = "enable_docs" - -GIR_MESON_OPTION = 'enable_gi' diff --git a/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch b/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch deleted file mode 100644 index e21c6fd903..0000000000 --- a/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 7233883c6bd4e80c0e91b29b5c76fe798023e9fe Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Mon, 11 Feb 2019 16:41:13 +0100 -Subject: [PATCH] Add a config variable for enabling/disabling introspection - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - clutter-gtk/meson.build | 2 +- - meson_options.txt | 4 ++++ - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/clutter-gtk/meson.build b/clutter-gtk/meson.build -index 5d6847d..5d934b6 100644 ---- a/clutter-gtk/meson.build -+++ b/clutter-gtk/meson.build -@@ -49,7 +49,7 @@ clutter_gtk_dep = declare_dependency(link_with: clutter_gtk, - dependencies: [ mathlib_dep, clutter_dep, gtk_dep ], - include_directories: include_directories('.')) - --if not meson.is_cross_build() -+if get_option('enable_gi') - gnome.generate_gir(clutter_gtk, - sources: clutter_gtk_headers + clutter_gtk_sources, - namespace: 'GtkClutter', -diff --git a/meson_options.txt b/meson_options.txt -index aaf59f1..b7e51c3 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -2,3 +2,7 @@ option('enable_docs', - type: 'boolean', - value: false, - description: 'Enable generating the API reference (depends on GTK-Doc)') -+option('enable_gi', -+ type: 'boolean', -+ value: false, -+ description: 'Enable gobject introspection') diff --git a/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb b/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb deleted file mode 100644 index 53948c8944..0000000000 --- a/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb +++ /dev/null @@ -1,7 +0,0 @@ -require clutter-gtk-1.0.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" - -SRC_URI += " file://0001-Add-a-config-variable-for-enabling-disabling-introsp.patch" -SRC_URI[archive.md5sum] = "b363ac9878e2337be887b8ee9e1da00e" -SRC_URI[archive.sha256sum] = "521493ec038973c77edcb8bc5eac23eed41645117894aaee7300b2487cb42b06" diff --git a/meta/recipes-graphics/cogl/cogl-1.0.inc b/meta/recipes-graphics/cogl/cogl-1.0.inc deleted file mode 100644 index d581ad1c04..0000000000 --- a/meta/recipes-graphics/cogl/cogl-1.0.inc +++ /dev/null @@ -1,84 +0,0 @@ -SUMMARY = "Modern 3D graphics API with associated utility APIs" -DESCRIPTION = "Cogl is a small open source library for using 3D graphics \ -hardware for rendering. The API departs from the flat state machine style of \ -OpenGL and is designed to make it easy to write orthogonal components that \ -can render without stepping on each others toes." -HOMEPAGE = "https://gitlab.gnome.org/GNOME/cogl" -LICENSE = "MIT" - -inherit clutter 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 libxdamage libxfixes libxrandr" -EDEPENDS_WAYLAND = "virtual/egl virtual/libgles2 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 \ - " -DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized" - -# 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" - -RDEPENDS_${PN}-dev = "libcogl" - -COMPATIBLE_HOST_armv4 = 'null' diff --git a/meta/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch b/meta/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch deleted file mode 100644 index 328984a63f..0000000000 --- a/meta/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch +++ /dev/null @@ -1,92 +0,0 @@ -From bb9765a926588ebfe1eb324fbbe8fc22d419eebe Mon Sep 17 00:00:00 2001 -From: Max Krummenacher <max.krummenacher@toradex.com> -Date: Thu, 25 Jun 2020 11:27:40 +0000 -Subject: [PATCH] configure.ac: don't require eglmesaext.h - -E.g. the Vivante EGL implementation does not provide eglmesaext.h. - -The commit moves the check for header file existence outside of the -check for existence of a egl packageconfig and makes the existence -of eglmesaext.h optional. - -fixes commit fb1acfec ("Fix building against libglvnd-provided EGL headers") -Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/28] -Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> ---- - configure.ac | 51 ++++++++++++++++++++++++++++++++------------------- - 1 file changed, 32 insertions(+), 19 deletions(-) - -diff --git a/configure.ac b/configure.ac -index b7ba95d..0d1d8de 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1212,22 +1212,6 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"], - PKG_CHECK_EXISTS([egl], - [COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES egl"], - [ -- AC_CHECK_HEADERS( -- [EGL/egl.h], -- [], -- [AC_MSG_ERROR([Unable to locate required EGL headers])]) -- AC_CHECK_HEADERS( -- [EGL/eglext.h], -- [], -- [AC_MSG_ERROR([Unable to locate required EGL headers])], -- [#include <EGL/egl.h>]) -- AC_CHECK_HEADERS( -- [EGL/eglmesaext.h], -- [], -- [AC_MSG_ERROR([Unable to locate required EGL headers])], -- [#include <EGL/egl.h> --#include <EGL/eglext.h>]) -- - AC_CHECK_LIB(EGL, [eglInitialize], - [COGL_EXTRA_LDFLAGS="$COGL_EXTRA_LDFLAGS -lEGL"], - [AC_MSG_ERROR([Unable to locate required EGL library])]) -@@ -1236,9 +1220,38 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"], - ] - ) - -- COGL_EGL_INCLUDES="#include <EGL/egl.h> --#include <EGL/eglext.h> --#include <EGL/eglmesaext.h>" -+dnl Test for the existence of egl headers. -+dnl egl*.h includes eglplatform.h which on __unix__ defaults to a X11 platform. -+dnl In that case AC_CHECK_HEADERS failes if X11 headers are not available. -+dnl Set the usual include guard define and, if the EGL implementation doesn't -+dnl use that guard fall back to USE_OZONE and EGL_NO_X11 platforms which don't -+dnl require additional headers. -+ AC_CHECK_HEADERS( -+ [EGL/egl.h], -+ [COGL_EGL_INCLUDES="#include <EGL/egl.h>"], -+ [AC_MSG_ERROR([Unable to locate required EGL headers])], -+ [#define __egl_h_ -+ #define USE_OZONE -+ #define EGL_NO_X11]) -+ AC_CHECK_HEADERS( -+ [EGL/eglext.h], -+ [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES -+#include <EGL/eglext.h>"], -+ [AC_MSG_ERROR([Unable to locate required EGL headers])], -+ [#define __eglext_h_ -+ #define USE_OZONE -+ #define EGL_NO_X11 -+$COGL_EGL_INCLUDES]) -+ AC_CHECK_HEADERS( -+ [EGL/eglmesaext.h], -+ [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES -+#include <EGL/eglmesaext.h>"], -+ [], -+ [#define __eglmesaext_h_ -+#define USE_OZONE -+#define EGL_NO_X11 -+$COGL_EGL_INCLUDES]) -+ - AC_SUBST([COGL_EGL_INCLUDES]) - ]) - --- -2.20.1 - diff --git a/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb b/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb deleted file mode 100644 index b9446fab38..0000000000 --- a/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb +++ /dev/null @@ -1,6 +0,0 @@ -require cogl-1.0.inc - -SRC_URI += "file://0001-configure.ac-don-t-require-eglmesaext.h.patch" -SRC_URI[archive.sha256sum] = "a805b2b019184710ff53d0496f9f0ce6dcca420c141a0f4f6fcc02131581d759" - -LIC_FILES_CHKSUM = "file://COPYING;md5=1b1a508d91d25ca607c83f92f3e31c84" diff --git a/meta/recipes-graphics/drm/libdrm_2.4.103.bb b/meta/recipes-graphics/drm/libdrm_2.4.109.bb index 1028d618ae..fb5ddd82c0 100644 --- a/meta/recipes-graphics/drm/libdrm_2.4.103.bb +++ b/meta/recipes-graphics/drm/libdrm_2.4.109.bb @@ -10,9 +10,10 @@ LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c5 PROVIDES = "drm" DEPENDS = "libpthread-stubs" -SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz" +SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \ + " -SRC_URI[sha256sum] = "3fe0affdba6460166a7323290c18cf68e9b59edcb520722826cb244e9cb50222" +SRC_URI[sha256sum] = "629352e08c1fe84862ca046598d8a08ce14d26ab25ee1f4704f993d074cb7f26" inherit meson pkgconfig manpages @@ -34,26 +35,26 @@ PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind" PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false" PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false" PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev" -PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native" +PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native python3-docutils-native" -ALLOW_EMPTY_${PN}-drivers = "1" +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 \ +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.* ${datadir}/${PN}/amdgpu.ids" -FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*" +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.* ${datadir}/${PN}/amdgpu.ids" +FILES:${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb b/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb index d0da419ce0..63e4062862 100644 --- a/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb +++ b/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb @@ -29,33 +29,33 @@ SRC_URI[sha256sum] = "9f0d852b39d75fc655f9f53850eb32555394f36104a044bb2b2fc9e66d UPSTREAM_CHECK_REGEX = "fontconfig-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" -do_configure_prepend() { +do_configure:prepend() { # work around https://bugs.freedesktop.org/show_bug.cgi?id=101280 rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf } -do_install_append_class-target() { +do_install:append:class-target() { # duplicate fc-cache for postinstall script mkdir -p ${D}${libexecdir} ln ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache } -do_install_append_class-nativesdk() { +do_install:append:class-nativesdk() { # duplicate fc-cache for postinstall script mkdir -p ${D}${libexecdir} ln ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache } PACKAGES =+ "fontconfig-utils" -FILES_${PN} =+ "${datadir}/xml/*" -FILES_${PN}-dev += "${datadir}/gettext/*" -FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*" +FILES:${PN} =+ "${datadir}/xml/*" +FILES:${PN}-dev += "${datadir}/gettext/*" +FILES:fontconfig-utils = "${bindir}/* ${libexecdir}/*" # 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" +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 gettext diff --git a/meta/recipes-graphics/freetype/freetype/use-right-libtool.patch b/meta/recipes-graphics/freetype/freetype/use-right-libtool.patch deleted file mode 100644 index 3368f7ddd3..0000000000 --- a/meta/recipes-graphics/freetype/freetype/use-right-libtool.patch +++ /dev/null @@ -1,14 +0,0 @@ -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@ --tag CC diff --git a/meta/recipes-graphics/freetype/freetype_2.10.4.bb b/meta/recipes-graphics/freetype/freetype_2.11.1.bb index 8462cd3511..04b56adc6b 100644 --- a/meta/recipes-graphics/freetype/freetype_2.10.4.bb +++ b/meta/recipes-graphics/freetype/freetype_2.11.1.bb @@ -8,14 +8,12 @@ BUGTRACKER = "https://savannah.nongnu.org/bugs/?group=freetype" SECTION = "libs" LICENSE = "FreeType | GPLv2+" -LIC_FILES_CHKSUM = "file://docs/LICENSE.TXT;md5=4af6221506f202774ef74f64932878a1 \ +LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=a5927784d823d443c6cae55701d01553 \ file://docs/FTL.TXT;md5=9f37b4e6afa3fef9dba8932b16bd3f97 \ file://docs/GPLv2.TXT;md5=8ef380476f642c20ebf40fecb0add2ec" -SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BP}.tar.xz \ - file://use-right-libtool.patch \ - " -SRC_URI[sha256sum] = "86a854d8905b19698bbc8f23b860bc104246ce4854dcea8e3b0fb21284f75784" +SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BP}.tar.xz" +SRC_URI[sha256sum] = "3333ae7cfda88429c97a7ae63b7d01ab398076c3b67182e960e5684050f2c5c8" UPSTREAM_CHECK_REGEX = "freetype-(?P<pver>\d+(\.\d+)+)" @@ -39,7 +37,7 @@ EXTRA_OECONF = "CC_BUILD='${BUILD_CC}'" TARGET_CPPFLAGS += "-D_FILE_OFFSET_BITS=64" -do_install_append() { +do_install:append() { oe_multilib_header freetype2/freetype/config/ftconfig.h } diff --git a/meta/recipes-graphics/glew/glew/0001-Fix-build-race-in-Makefile.patch b/meta/recipes-graphics/glew/glew/0001-Fix-build-race-in-Makefile.patch new file mode 100644 index 0000000000..2418646689 --- /dev/null +++ b/meta/recipes-graphics/glew/glew/0001-Fix-build-race-in-Makefile.patch @@ -0,0 +1,56 @@ +Upstream-Status: Backport [767e0316450911f1158bd4f7fd8dcd066bae5c55] +Signed-off-by: Ross Burton <ross.burton@arm.com> + +From 0ce0a85597db48a2fca619bd95e34af091e54ae8 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@arm.com> +Date: Thu, 22 Jul 2021 16:31:11 +0100 +Subject: [PATCH] Fix build race in Makefile + +The current rule for the binaries is: + +glew.bin: glew.lib bin bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) + +In parallel builds, all of those targets happen at the same time. This +means that 'bin' can happen *after* 'bin/$(GLEWINFO.BIN)', which is a +problem as the 'bin' target's responsibility is to create the directory +that the other target writes into. + +Solve this by not having a separate 'create directory' target which is +fundamentally racy, and simply mkdir in each target which writes into it. +--- + Makefile | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index d0e4614..04af44c 100644 +--- a/Makefile ++++ b/Makefile +@@ -171,21 +171,20 @@ VISUALINFO.BIN.OBJ := $(VISUALINFO.BIN.OBJ:.c=.o) + # Don't build glewinfo or visualinfo for NaCL, yet. + + ifneq ($(filter nacl%,$(SYSTEM)),) +-glew.bin: glew.lib bin ++glew.bin: glew.lib + else +-glew.bin: glew.lib bin bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) ++glew.bin: glew.lib bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) + endif + +-bin: +- mkdir bin +- + bin/$(GLEWINFO.BIN): $(GLEWINFO.BIN.OBJ) $(LIB.SHARED.DIR)/$(LIB.SHARED) ++ @mkdir -p $(dir $@) + $(CC) $(CFLAGS) -o $@ $(GLEWINFO.BIN.OBJ) $(BIN.LIBS) + ifneq ($(STRIP),) + $(STRIP) -x $@ + endif + + bin/$(VISUALINFO.BIN): $(VISUALINFO.BIN.OBJ) $(LIB.SHARED.DIR)/$(LIB.SHARED) ++ @mkdir -p $(dir $@) + $(CC) $(CFLAGS) -o $@ $(VISUALINFO.BIN.OBJ) $(BIN.LIBS) + ifneq ($(STRIP),) + $(STRIP) -x $@ +-- +2.25.1 + diff --git a/meta/recipes-graphics/glew/glew/no-strip.patch b/meta/recipes-graphics/glew/glew/no-strip.patch index e411f11cb5..5708d93082 100644 --- a/meta/recipes-graphics/glew/glew/no-strip.patch +++ b/meta/recipes-graphics/glew/glew/no-strip.patch @@ -1,7 +1,7 @@ Don't forcibly strip the binaries. Signed-off-by: Ross Burton <ross.burton@intel.com> -Upstream-Status: Pending +Upstream-Status: Backport [d7693eea09ac76c67f5f3aa538bb911ce2291e2c] diff --git a/Makefile b/Makefile index 6a9803c..170c0ce 100644 diff --git a/meta/recipes-graphics/glew/glew/notempdir.patch b/meta/recipes-graphics/glew/glew/notempdir.patch new file mode 100644 index 0000000000..68b46b6641 --- /dev/null +++ b/meta/recipes-graphics/glew/glew/notempdir.patch @@ -0,0 +1,21 @@ +We don't use the dist-* targets and hence DIST_DIR isn't used. The current code +creates a new temp directory in /tmp/ for every invocation of make. Lets +not do that. + +https://github.com/nigels-com/glew/issues/334 + +Upstream-Status: Pending [a revised version would be needed for upstream] +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Index: glew-2.2.0/Makefile +=================================================================== +--- glew-2.2.0.orig/Makefile ++++ glew-2.2.0/Makefile +@@ -56,7 +56,6 @@ DIST_SRC_ZIP ?= $(shell pwd)/$(DIST_NAME + DIST_SRC_TGZ ?= $(shell pwd)/$(DIST_NAME).tgz + DIST_WIN32 ?= $(shell pwd)/$(DIST_NAME)-win32.zip + +-DIST_DIR := $(shell mktemp -d /tmp/glew.XXXXXX)/$(DIST_NAME) + + # To disable stripping of linked binaries either: + # - use STRIP= on gmake command-line diff --git a/meta/recipes-graphics/glew/glew_2.2.0.bb b/meta/recipes-graphics/glew/glew_2.2.0.bb index 8948444e08..d7a26a3438 100644 --- a/meta/recipes-graphics/glew/glew_2.2.0.bb +++ b/meta/recipes-graphics/glew/glew_2.2.0.bb @@ -6,6 +6,8 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ac251558de685c6b9478d89be3149c2" SRC_URI = "${SOURCEFORGE_MIRROR}/project/glew/glew/${PV}/glew-${PV}.tgz \ + file://0001-Fix-build-race-in-Makefile.patch \ + file://notempdir.patch \ file://no-strip.patch" SRC_URI[md5sum] = "3579164bccaef09e36c0af7f4fd5c7c7" diff --git a/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch b/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch new file mode 100644 index 0000000000..cddd330971 --- /dev/null +++ b/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch @@ -0,0 +1,47 @@ +From 6692611126b40d499c94bbcc8e29604560262072 Mon Sep 17 00:00:00 2001 +From: Jose Quaresma <quaresma.jose@gmail.com> +Date: Sun, 7 Feb 2021 01:30:39 +0000 +Subject: [PATCH] generate glslang pkg-config + +Based on https://src.fedoraproject.org/rpms/glslang/blob/main/f/0001-pkg-config-compatibility.patch + +Upstream-Status: Pending + +Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> + +--- + glslang/CMakeLists.txt | 2 ++ + glslang/glslang.pc.cmake.in | 11 +++++++++++ + 2 files changed, 13 insertions(+) + create mode 100644 glslang/glslang.pc.cmake.in + +diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt +index 1c7d22a2..10c1e841 100644 +--- a/glslang/CMakeLists.txt ++++ b/glslang/CMakeLists.txt +@@ -209,6 +209,8 @@ if(ENABLE_GLSLANG_INSTALL) + EXPORT glslangTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() ++ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/glslang.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc @ONLY) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + + install(EXPORT glslangTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) + +diff --git a/glslang/glslang.pc.cmake.in b/glslang/glslang.pc.cmake.in +new file mode 100644 +index 00000000..64b6882d +--- /dev/null ++++ b/glslang/glslang.pc.cmake.in +@@ -0,0 +1,11 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=@CMAKE_INSTALL_PREFIX@ ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ ++includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ ++ ++Name: @PROJECT_NAME@ ++Description: OpenGL and OpenGL ES shader front end and validator ++Requires: ++Version: @GLSLANG_VERSION@ ++Libs: -L${libdir} -lglslang -lOSDependent -lHLSL -lOGLCompiler -lSPVRemapper ++Cflags: -I${includedir} diff --git a/meta/recipes-graphics/glslang/glslang_8.13.3743.bb b/meta/recipes-graphics/glslang/glslang_11.7.1.bb index 2c4f4be5a2..30d9954ea5 100644 --- a/meta/recipes-graphics/glslang/glslang_8.13.3743.bb +++ b/meta/recipes-graphics/glslang/glslang_11.7.1.bb @@ -5,16 +5,27 @@ of the specifications for these languages. It is open and free for anyone to use either from a command line or programmatically." SECTION = "graphics" HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=918e668376010a04448a312fb37ae69b" +LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c5ce49c0456e9b413b98a4368c378229" -SRCREV = "e05cc20ec20a154d94256c744a3837c23719c0f9" -SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https" +SRCREV = "c9706bdda0ac22b9856f1aa8261e5b9e15cd20c5" +SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https;branch=master \ + file://0001-generate-glslang-pkg-config.patch" UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$" S = "${WORKDIR}/git" -PV = "8.13.3743+git${SRCPV}" - inherit cmake python3native +EXTRA_OECMAKE = " \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON \ + -DENABLE_PCH=OFF \ + -DENABLE_CTEST=OFF \ + -DBUILD_EXTERNAL=OFF \ +" + +SOLIBSDEV = "glslang.so" +# all the other libraries are unversioned, so pack it on PN +FILES:${PN} += "${libdir}/*.so" + BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Do-not-disable-introspection-in-cross-builds.patch b/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Do-not-disable-introspection-in-cross-builds.patch deleted file mode 100644 index d00656fc88..0000000000 --- a/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Do-not-disable-introspection-in-cross-builds.patch +++ /dev/null @@ -1,27 +0,0 @@ -From df5848f423ec0f4b3e519900014349a0c00b1969 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Mon, 17 Aug 2020 16:36:03 +0200 -Subject: [PATCH] Do not disable introspection in cross builds. - -Yocto can and does support introspection cross builds, through -running target binaries under qemu emulation. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - src/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/meson.build b/src/meson.build -index 1865633..5e1787c 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -634,7 +634,7 @@ if have_gobject - gir = find_program('g-ir-scanner', required: get_option('introspection')) - build_gir = gir.found() - -- build_gir = build_gir and not meson.is_cross_build() -+ build_gir = build_gir - if not build_gir and get_option('introspection').enabled() - error('Introspection support is requested but it isn\'t available in cross builds') - endif diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz/0001-src-hb-gobject-enums.cc.tmpl-write-out-only-the-file.patch b/meta/recipes-graphics/harfbuzz/harfbuzz/0001-src-hb-gobject-enums.cc.tmpl-write-out-only-the-file.patch deleted file mode 100644 index d9fccfac0e..0000000000 --- a/meta/recipes-graphics/harfbuzz/harfbuzz/0001-src-hb-gobject-enums.cc.tmpl-write-out-only-the-file.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f316b794265f28e89821dfab0772caac1bb6b056 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Tue, 18 Aug 2020 10:31:47 +0000 -Subject: [PATCH] src/hb-gobject-enums.cc.tmpl: write out only the filename, - not the full path - -This is beneficial for reproducible builds, as build paths can vary -between builds. - -Upstream-Status: Backport [https://github.com/harfbuzz/harfbuzz/commit/e876886d1e877ad90b6f02badefd6ebee1bc0b09] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - src/hb-gobject-enums.cc.tmpl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/hb-gobject-enums.cc.tmpl b/src/hb-gobject-enums.cc.tmpl -index 2ffd1c9..87a11dd 100644 ---- a/src/hb-gobject-enums.cc.tmpl -+++ b/src/hb-gobject-enums.cc.tmpl -@@ -43,7 +43,7 @@ - /*** END file-header ***/ - - /*** BEGIN file-production ***/ --/* enumerations from "@filename@" */ -+/* enumerations from "@basename@" */ - /*** END file-production ***/ - - /*** BEGIN file-tail ***/ diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz/version-race.patch b/meta/recipes-graphics/harfbuzz/harfbuzz/version-race.patch deleted file mode 100644 index a8b8f0353c..0000000000 --- a/meta/recipes-graphics/harfbuzz/harfbuzz/version-race.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 6ccadec1fae6a73749b7dfe2311f71d0e610e812 Mon Sep 17 00:00:00 2001 -From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com> -Date: Wed, 30 Sep 2020 10:30:08 +0900 -Subject: [PATCH] No need to pass source directory to gen-hb-version - -The input file is by definition in the source directory, so dirname() -that instead of needing the directory to be passed. - -Needed because a follow-up commit will change when this is called, and the -source directory isn't trivially available at that point. - -generate hb-version.h once at configure time with Meson - -Currently with Meson hb-version.h is generated during the build without -any explicit dependencies which can result in build failures due races -over the file. - -Change this to be generated at configure time, so that the file is always -generated once before the build itself. - -Closes #2667 - -Upstream-Status: Backport [https://github.com/harfbuzz/harfbuzz/commit/5aff83104e03d6d2617987d24a51e490ab7a5cd1] -Signed-off-by: Ross Burton <ross.burton@arm.com> -Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com> ---- - src/gen-hb-version.py | 6 +++--- - src/meson.build | 17 ++++++++--------- - 2 files changed, 11 insertions(+), 12 deletions(-) - -diff --git a/src/gen-hb-version.py b/src/gen-hb-version.py -index 15e56b9..bf16f88 100755 ---- a/src/gen-hb-version.py -+++ b/src/gen-hb-version.py -@@ -4,15 +4,15 @@ - - import os, sys, shutil - --if len (sys.argv) < 5: -+if len (sys.argv) < 4: - sys.exit(__doc__) - - version = sys.argv[1] - major, minor, micro = version.split (".") - - OUTPUT = sys.argv[2] --CURRENT_SOURCE_DIR = sys.argv[3] --INPUT = sys.argv[4] -+INPUT = sys.argv[3] -+CURRENT_SOURCE_DIR = os.path.dirname(INPUT) - - with open (INPUT, "r", encoding='utf-8') as template: - with open (OUTPUT, "wb") as output: -diff --git a/src/meson.build b/src/meson.build -index 5e1787c..56d8ae2 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -1,3 +1,10 @@ -+hb_version_h = configure_file( -+ command: [find_program('gen-hb-version.py'), meson.project_version(), '@OUTPUT@', '@INPUT@'], -+ input: 'hb-version.h.in', -+ output: 'hb-version.h', -+ install: true, -+ install_dir: join_paths(get_option('includedir'), meson.project_name())) -+ - # Base and default-included sources and headers - hb_base_sources = files( - 'hb-aat-layout-ankr-table.hh', -@@ -214,9 +221,9 @@ hb_base_headers = files( - 'hb-shape.h', - 'hb-style.h', - 'hb-unicode.h', -- 'hb-version.h', - 'hb.h', - ) -+hb_base_headers += hb_version_h - - # Optional Sources and Headers with external deps - -@@ -281,14 +288,6 @@ hb_gobject_headers = files( - 'hb-gobject-structs.h', - ) - --custom_target('hb-version.h', -- build_by_default: true, -- input: 'hb-version.h.in', -- output: 'hb-version.h', -- command: [find_program('gen-hb-version.py'), meson.project_version(), -- '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@'], --) -- - ragel = find_program('ragel', required: false) - if not ragel.found() - warning('You have to install ragel if you are going to develop HarfBuzz itself') --- -2.25.1 - diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_2.7.2.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_3.2.0.bb index f95273f686..647bafc4d3 100644 --- a/meta/recipes-graphics/harfbuzz/harfbuzz_2.7.2.bb +++ b/meta/recipes-graphics/harfbuzz/harfbuzz_3.2.0.bb @@ -4,18 +4,15 @@ 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=8f787620b7d3866d9552fd1924c07572 \ - file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc" +LIC_FILES_CHKSUM = "file://COPYING;md5=6ee0f16281694fb6aa689cca1e0fb3da \ + file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc \ + " UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" UPSTREAM_CHECK_REGEX = "harfbuzz-(?P<pver>\d+(\.\d+)+).tar" -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz \ - file://0001-Do-not-disable-introspection-in-cross-builds.patch \ - file://0001-src-hb-gobject-enums.cc.tmpl-write-out-only-the-file.patch \ - file://version-race.patch \ - " -SRC_URI[sha256sum] = "b8c048d7c2964a12f2c80deb6634dfc836b603dd12bf0d0a3df1627698e220ce" +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz" +SRC_URI[sha256sum] = "0ada50a1c199bb6f70843ab893c55867743a443b84d087d54df08ad883ebc2cd" inherit meson pkgconfig lib_package gtk-doc gobject-introspection @@ -24,9 +21,8 @@ GIR_MESON_DISABLE_FLAG = 'disabled' GTKDOC_MESON_ENABLE_FLAG = 'enabled' GTKDOC_MESON_DISABLE_FLAG = 'disabled' -PACKAGECONFIG ??= "cairo fontconfig freetype glib icu" +PACKAGECONFIG ??= "cairo freetype glib icu" PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo" -PACKAGECONFIG[fontconfig] = "-Dfontconfig=enabled,-Dfontconfig=disabled,fontconfig" PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype" PACKAGECONFIG[glib] = "-Dglib=enabled,-Dglib=disabled,glib-2.0" PACKAGECONFIG[graphite] = "-Dgraphite=enabled,-Dgraphite=disabled,graphite2" @@ -36,17 +32,17 @@ PACKAGES =+ "${PN}-icu ${PN}-icu-dev ${PN}-subset" LEAD_SONAME = "libharfbuzz.so" -do_install_append() { +do_install:append() { # If no tools are installed due to PACKAGECONFIG then this directory is #still installed, so remove it to stop packaging wanings. rmdir --ignore-fail-on-non-empty ${D}${bindir} } -FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*" -FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \ +FILES:${PN}-icu = "${libdir}/libharfbuzz-icu.so.*" +FILES:${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \ ${libdir}/libharfbuzz-icu.so \ ${libdir}/pkgconfig/harfbuzz-icu.pc \ " -FILES_${PN}-subset = "${libdir}/libharfbuzz-subset.so.*" +FILES:${PN}-subset = "${libdir}/libharfbuzz-subset.so.*" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-meson.build-fix-meson-0.60-compatibility.patch b/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-meson.build-fix-meson-0.60-compatibility.patch new file mode 100644 index 0000000000..e7c782055b --- /dev/null +++ b/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-meson.build-fix-meson-0.60-compatibility.patch @@ -0,0 +1,24 @@ +From b9a19aa4bdb21751c04c0e3ba8a9e2e35a10c953 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Mon, 25 Oct 2021 18:18:15 +0200 +Subject: [PATCH] lib/meson.build: fix meson 0.60 compatibility + +Upstream-Status: Backport [https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/963917a3565466832a3b2fc22e9285d34a0bf944] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + lib/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/meson.build b/lib/meson.build +index 9929520e..1a525587 100644 +--- a/lib/meson.build ++++ b/lib/meson.build +@@ -152,7 +152,7 @@ lib_version = vcs_tag(input : 'version.h.in', output : 'version.h', + + lib_intermediates = [] + foreach f: lib_sources +- name = f.underscorify(f) ++ name = f.underscorify() + lib = static_library('igt-' + name, + [ f, lib_version ], + include_directories: inc, diff --git a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb b/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb index 89480d79d2..bb2f9564d2 100644 --- a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb +++ b/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb @@ -1,30 +1,34 @@ SUMMARY = "IGT GPU Tools" DESCRIPTION = "IGT GPU Tools is a collection of tools for development and testing of the DRM drivers" +HOMEPAGE = "https://gitlab.freedesktop.org/drm/igt-gpu-tools" +BUGTRACKER = "https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues" LIC_FILES_CHKSUM = "file://COPYING;md5=67bfee4df38fa6ecbe3a675c552d4c08" LICENSE = "MIT" -inherit meson +inherit meson pkgconfig -SRCREV = "d16ad07e7f2a028e14d61f570931c87fa5ce404c" -PV = "1.25+git${SRCPV}" +SRCREV = "203def046b466fb2da67f9f15552d84e1c0b41f2" +PV = "1.26" -SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https" +SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https;branch=master \ + file://0001-lib-meson.build-fix-meson-0.60-compatibility.patch \ + " S = "${WORKDIR}/git" DEPENDS += "libdrm libpciaccess cairo udev glib-2.0 procps libunwind kmod openssl elfutils alsa-lib json-c bison-native" -RDEPENDS_${PN} += "bash" -RDEPENDS_${PN}-tests += "bash" +RDEPENDS:${PN} += "bash" +RDEPENDS:${PN}-tests += "bash" PACKAGE_BEFORE_PN = "${PN}-benchmarks ${PN}-tests" PACKAGECONFIG[chamelium] = "-Dchamelium=enabled,-Dchamelium=disabled,gsl xmlrpc-c" -EXTRA_OEMESON = "-Ddocs=disabled -Drunner=enabled" +EXTRA_OEMESON = "-Ddocs=disabled -Drunner=enabled -Dsrcdir=/usr/src/debug/${PN}/${PV}-${PR}/git/" COMPATIBLE_HOST = "(x86_64.*|i.86.*|arm.*|aarch64).*-linux" -COMPATIBLE_HOST_libc-musl_class-target = "null" +COMPATIBLE_HOST:libc-musl:class-target = "null" SECURITY_LDFLAGS = "${SECURITY_X_LDFLAGS}" gputools_sysroot_preprocess() { @@ -32,7 +36,7 @@ gputools_sysroot_preprocess() { } SYSROOT_PREPROCESS_FUNCS += "gputools_sysroot_preprocess" -do_install_append() { +do_install:append() { install -d ${D}/usr/share/${BPN}/scripts install ${S}/scripts/run-tests.sh ${D}/usr/share/${BPN}/scripts install -d ${D}/usr/share/${BPN}/runner @@ -40,8 +44,8 @@ do_install_append() { install -D ${B}/runner/igt_resume ${D}/usr/share/${BPN}/runner } -FILES_${PN}-benchmarks += "${libexecdir}/${BPN}/benchmarks" -FILES_${PN}-tests += "\ +FILES:${PN}-benchmarks += "${libexecdir}/${BPN}/benchmarks" +FILES:${PN}-tests += "\ ${libexecdir}/${BPN}/*\ ${datadir}/${BPN}/1080p-right.png\ ${datadir}/${BPN}/1080p-left.png\ diff --git a/meta/recipes-graphics/images/core-image-clutter.bb b/meta/recipes-graphics/images/core-image-clutter.bb deleted file mode 100644 index a594461022..0000000000 --- a/meta/recipes-graphics/images/core-image-clutter.bb +++ /dev/null @@ -1,15 +0,0 @@ -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 - -QB_MEM = '${@bb.utils.contains("DISTRO_FEATURES", "opengl", "-m 512", "-m 256", d)}' diff --git a/meta/recipes-graphics/images/core-image-weston-sdk.bb b/meta/recipes-graphics/images/core-image-weston-sdk.bb new file mode 100644 index 0000000000..f5f7dade54 --- /dev/null +++ b/meta/recipes-graphics/images/core-image-weston-sdk.bb @@ -0,0 +1,11 @@ +require core-image-weston.bb + +DESCRIPTION = "Image with Weston support that includes everything within \ +core-image-weston plus meta-toolchain, development headers and libraries to \ +form a standalone SDK." + +IMAGE_FEATURES += "dev-pkgs tools-sdk \ + tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks ssh-server-openssh" + +IMAGE_INSTALL += "kernel-devsrc" + diff --git a/meta/recipes-graphics/images/core-image-weston.bb b/meta/recipes-graphics/images/core-image-weston.bb index 8d88e3bc0c..62305cc1ce 100644 --- a/meta/recipes-graphics/images/core-image-weston.bb +++ b/meta/recipes-graphics/images/core-image-weston.bb @@ -1,14 +1,12 @@ SUMMARY = "A very basic Wayland image with a terminal" -IMAGE_FEATURES += "splash package-management ssh-server-dropbear hwcodecs" +IMAGE_FEATURES += "splash package-management ssh-server-dropbear hwcodecs weston" LICENSE = "MIT" -inherit core-image features_check +inherit core-image -REQUIRED_DISTRO_FEATURES = "wayland" - -CORE_IMAGE_BASE_INSTALL += "weston weston-init weston-examples wayland-utils gtk+3-demo clutter-1.0-examples" +CORE_IMAGE_BASE_INSTALL += "gtk+3-demo" CORE_IMAGE_BASE_INSTALL += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'weston-xwayland matchbox-terminal', '', d)}" QB_MEM = "-m 512" diff --git a/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch b/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch index 82fffe1e68..fab5109f83 100644 --- a/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch +++ b/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch @@ -7,7 +7,7 @@ Fix package qa errors like below: libjpeg.so.62.3.0 contains probably-redundant RPATH /usr/lib [useless-rpaths] usr/bin/cjpeg contains probably-redundant RPATH /usr/lib -Upstream-Status: Inappropriate[oe-specific] +Upstream-Status: Inappropriate [oe-specific] Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> @@ -19,7 +19,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 2bc3458..ea3041e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -189,10 +189,6 @@ endif() +@@ -191,10 +191,6 @@ endif() report_option(ENABLE_SHARED "Shared libraries") report_option(ENABLE_STATIC "Static libraries") @@ -27,6 +27,6 @@ index 2bc3458..ea3041e 100644 - set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}) -endif() - - if(WITH_12BIT) - set(WITH_ARITH_DEC 0) - set(WITH_ARITH_ENC 0) + if(WITH_JPEG8 OR WITH_JPEG7) + set(WITH_ARITH_ENC 1) + set(WITH_ARITH_DEC 1) diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.5.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.5.bb deleted file mode 100644 index 9729fb5dd5..0000000000 --- a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.5.bb +++ /dev/null @@ -1,59 +0,0 @@ -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=7ea97dc83b0f59052ee837e61ef0e08f \ - 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 \ - file://0001-libjpeg-turbo-fix-package_qa-error.patch \ - " - -SRC_URI[md5sum] = "3a7dc293918775fc933f81e2bce36464" -SRC_URI[sha256sum] = "16f8f6f2715b3a38ab562a84357c793dd56ae9899ce130563c72cd93d8357b5d" -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 cmake pkgconfig - -export NASMENV = "--debug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}" - -# Add nasm-native dependency consistently for all build arches is hard -EXTRA_OECMAKE_append_class-native = " -DWITH_SIMD=False" -EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_SIMD=False" - -# Work around missing x32 ABI support -EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}" - -# Work around missing non-floating point ABI support in MIPS -EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}" - -# Provide a workaround if Altivec unit is not present in PPC -EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" -EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" - -DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" -DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', 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 nativesdk" diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.2.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.2.bb new file mode 100644 index 0000000000..25b83f72f7 --- /dev/null +++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.2.bb @@ -0,0 +1,62 @@ +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=8a61af33cc1c681cd5cc297150bbb5bd \ + file://jpeglib.h;endline=16;md5=52b5eaade8d5b6a452a7693dfe52c084 \ + file://djpeg.c;endline=11;md5=b61f01ad6aff437b34d1f9e8004280a4 \ + " +DEPENDS:append:x86-64:class-target = " nasm-native" +DEPENDS:append:x86:class-target = " nasm-native" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ + file://0001-libjpeg-turbo-fix-package_qa-error.patch \ + " + +SRC_URI[sha256sum] = "09b96cb8cbff9ea556a9c2d173485fd19488844d55276ed4f42240e1e2073ce5" +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 cmake pkgconfig + +export NASMENV = "--reproducible --debug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}" + +# Add nasm-native dependency consistently for all build arches is hard +EXTRA_OECMAKE:append:class-native = " -DWITH_SIMD=False" +EXTRA_OECMAKE:append:class-nativesdk = " -DWITH_SIMD=False" + +# Work around missing x32 ABI support +EXTRA_OECMAKE:append:class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}" + +# Work around missing non-floating point ABI support in MIPS +EXTRA_OECMAKE:append:class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}" + +EXTRA_OECMAKE:append:class-target:arm = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "", "-DWITH_SIMD=False", d)}" +EXTRA_OECMAKE:append:class-target:armeb = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "", "-DWITH_SIMD=False", d)}" + +# Provide a workaround if Altivec unit is not present in PPC +EXTRA_OECMAKE:append:class-target:powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" +EXTRA_OECMAKE:append:class-target:powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" +EXTRA_OECMAKE:append:class-target:powerpc64le = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" + +DEBUG_OPTIMIZATION:append:armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" +DEBUG_OPTIMIZATION:append:armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', 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 nativesdk" diff --git a/meta/recipes-graphics/kmscube/kmscube/0001-texturator-Use-correct-GL-extension-header.patch b/meta/recipes-graphics/kmscube/kmscube/0001-texturator-Use-correct-GL-extension-header.patch new file mode 100644 index 0000000000..5965782de7 --- /dev/null +++ b/meta/recipes-graphics/kmscube/kmscube/0001-texturator-Use-correct-GL-extension-header.patch @@ -0,0 +1,33 @@ +From 2b74e0e32235f6ab2e3e42d53dea985a7ba6227f Mon Sep 17 00:00:00 2001 +From: Damian Hobson-Garcia <dhobsong@igel.co.jp> +Date: Wed, 16 Dec 2020 11:08:25 +0900 +Subject: [PATCH] texturator: Use correct GL extension header + +gl2ext.h is the extenstion header for OpenGL ES 2.0 and all later +versions according to the Khronos documentation [1]. gl3ext.h is either +an empty stub, or may not even exist on some platforms. + +[1]: https://www.khronos.org/registry/OpenGL/index_es.php#headers + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/kmscube/-/merge_requests/26] +Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> +--- + texturator.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/texturator.c b/texturator.c +index d9335d7..6d97856 100644 +--- a/texturator.c ++++ b/texturator.c +@@ -30,7 +30,7 @@ + #include <math.h> + + #include <GLES3/gl3.h> +-#include <GLES3/gl3ext.h> ++#include <GLES2/gl2ext.h> + + #ifdef HAVE_LIBPNG + #include <png.h> +-- +2.33.1 + diff --git a/meta/recipes-graphics/kmscube/kmscube_git.bb b/meta/recipes-graphics/kmscube/kmscube_git.bb index 478d5c4de4..54993be89e 100644 --- a/meta/recipes-graphics/kmscube/kmscube_git.bb +++ b/meta/recipes-graphics/kmscube/kmscube_git.bb @@ -1,13 +1,18 @@ -DESCRIPTION = "Demo application to showcase 3D graphics using kms and gbm" +SUMMARY = "Demo application to showcase 3D graphics using kms and gbm" +DESCRIPTION = "kmscube is a little demonstration program for how to drive bare metal graphics \ +without a compositor like X11, wayland or similar, using DRM/KMS (kernel mode \ +setting), GBM (graphics buffer manager) and EGL for rendering content using \ +OpenGL or OpenGL ES." HOMEPAGE = "https://cgit.freedesktop.org/mesa/kmscube/" LICENSE = "MIT" SECTION = "graphics" -DEPENDS = "virtual/libgles2 virtual/egl libdrm" +DEPENDS = "virtual/libgles3 virtual/libgles2 virtual/egl libdrm" LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb" -SRCREV = "e6386d1b99366ea7559438c0d3abd2ae2d6d61ac" +SRCREV = "9f63f359fab1b5d8e862508e4e51c9dfe339ccb0" SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https" +SRC_URI += "file://0001-texturator-Use-correct-GL-extension-header.patch" UPSTREAM_CHECK_COMMITS = "1" S = "${WORKDIR}/git" diff --git a/meta/recipes-graphics/libepoxy/files/0001-dispatch_common.h-define-also-EGL_NO_X11.patch b/meta/recipes-graphics/libepoxy/files/0001-dispatch_common.h-define-also-EGL_NO_X11.patch index 7262945181..971a3f54e0 100644 --- a/meta/recipes-graphics/libepoxy/files/0001-dispatch_common.h-define-also-EGL_NO_X11.patch +++ b/meta/recipes-graphics/libepoxy/files/0001-dispatch_common.h-define-also-EGL_NO_X11.patch @@ -1,4 +1,4 @@ -From 6f15cc28d17cfdd86f5974f06ad97b8afedd5627 Mon Sep 17 00:00:00 2001 +From 7211120d1e2f059d900f3379b9790484dbcf7761 Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Fri, 25 Oct 2019 11:09:34 +0000 Subject: [PATCH] dispatch_common.h: define also EGL_NO_X11 @@ -8,16 +8,17 @@ https://github.com/mesa3d/mesa/commit/6202a13b71e18dc31ba7e2f4ea915b67eacc1ddb Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Upstream-Status: Pending + --- src/dispatch_common.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/dispatch_common.h b/src/dispatch_common.h -index dcb3a35..c206253 100644 +index a136943..448c9b1 100644 --- a/src/dispatch_common.h +++ b/src/dispatch_common.h -@@ -52,6 +52,7 @@ - * should do the same +@@ -55,6 +55,7 @@ + * as EGL_NO_X11 */ # define MESA_EGL_NO_X11_HEADERS 1 +# define EGL_NO_X11 1 diff --git a/meta/recipes-graphics/libepoxy/libepoxy_1.5.4.bb b/meta/recipes-graphics/libepoxy/libepoxy_1.5.9.bb index 6646ef79fe..487fc00360 100644 --- a/meta/recipes-graphics/libepoxy/libepoxy_1.5.4.bb +++ b/meta/recipes-graphics/libepoxy/libepoxy_1.5.9.bb @@ -12,8 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b" SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \ file://0001-dispatch_common.h-define-also-EGL_NO_X11.patch \ " -SRC_URI[md5sum] = "00f47ad447321f9dc59f85bc1c9d0467" -SRC_URI[sha256sum] = "0bd2cc681dfeffdef739cb29913f8c3caa47a88a451fd2bc6e606c02997289d2" +SRC_URI[sha256sum] = "d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4" UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases" inherit meson pkgconfig features_check @@ -26,8 +25,8 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl" EXTRA_OEMESON += "-Dtests=false" -PACKAGECONFIG_class-native = "egl x11" -PACKAGECONFIG_class-nativesdk = "egl x11" +PACKAGECONFIG:class-native = "egl x11" +PACKAGECONFIG:class-nativesdk = "egl x11" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/libfakekey/libfakekey_git.bb b/meta/recipes-graphics/libfakekey/libfakekey_git.bb index ab6f5ac9ed..33ea6fe5a9 100644 --- a/meta/recipes-graphics/libfakekey/libfakekey_git.bb +++ b/meta/recipes-graphics/libfakekey/libfakekey_git.bb @@ -13,7 +13,7 @@ SECTION = "x11/wm" SRCREV = "7ad885912efb2131e80914e964d5e635b0d07b40" PV = "0.3+git${SRCPV}" -SRC_URI = "git://git.yoctoproject.org/${BPN}" +SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master" S = "${WORKDIR}/git" diff --git a/meta/recipes-graphics/libmatchbox/libmatchbox_1.12.bb b/meta/recipes-graphics/libmatchbox/libmatchbox_1.12.bb index 1a31677978..06bd682823 100644 --- a/meta/recipes-graphics/libmatchbox/libmatchbox_1.12.bb +++ b/meta/recipes-graphics/libmatchbox/libmatchbox_1.12.bb @@ -17,7 +17,7 @@ DEPENDS = "virtual/libx11 libxext" #SRCREV for 1.12 SRCREV = "e846ee434f8e23d9db38af13c523f791495e0e87" -SRC_URI = "git://git.yoctoproject.org/${BPN}" +SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master" S = "${WORKDIR}/git" diff --git a/meta/recipes-graphics/libsdl2/libsdl2/directfb-renderfillrect-fix.patch b/meta/recipes-graphics/libsdl2/libsdl2/directfb-renderfillrect-fix.patch deleted file mode 100644 index 83d4f4b1ec..0000000000 --- a/meta/recipes-graphics/libsdl2/libsdl2/directfb-renderfillrect-fix.patch +++ /dev/null @@ -1,33 +0,0 @@ -# HG changeset patch -# User Sam Lantinga <slouken@libsdl.org> -# Date 1590793369 25200 -# Node ID a90089f75990e8b07a1dcf931c5f8a580ae343bf -# Parent a9b4bd264f3cbedc4f3287b3ec6b32311370ba85 -Fixed bug 5146 - SDL_RenderFillRect doesn't work in DirectFB - -Lacky - -It looks like refactoring of SDL2 internal API has broken SDL_RenderFillRect for DirectFB. In new version function SDL_RenderFillRect returns 0, but rectangle is not visible. - -Replacing "count" with "len" in the argument list for SDL_memcpy in DirectFB_QueueFillRects fixes problem. - --- - -The patch was imported from the libsdl Mercurial repository -(https://hg.libsdl.org/SDL) as of changeset id a90089f75990. - -Upstream-Status: Backport - -Signed-off-by: Mark Jonas <toertel@gmail.com> - -diff -r a9b4bd264f3c -r a90089f75990 src/video/directfb/SDL_DirectFB_render.c ---- a/src/video/directfb/SDL_DirectFB_render.c Thu May 21 00:06:09 2020 -0400 -+++ b/src/video/directfb/SDL_DirectFB_render.c Fri May 29 16:02:49 2020 -0700 -@@ -626,7 +626,7 @@ - } - - cmd->data.draw.count = count; -- SDL_memcpy(verts, rects, count); -+ SDL_memcpy(verts, rects, len); - return 0; - } diff --git a/meta/recipes-graphics/libsdl2/libsdl2/directfb-spurious-curly-brace-missing-e.patch b/meta/recipes-graphics/libsdl2/libsdl2/directfb-spurious-curly-brace-missing-e.patch deleted file mode 100644 index aa351a89ba..0000000000 --- a/meta/recipes-graphics/libsdl2/libsdl2/directfb-spurious-curly-brace-missing-e.patch +++ /dev/null @@ -1,49 +0,0 @@ -# HG changeset patch -# User Fabrice Fontaine <fontaine.fabrice@gmail.com> -# Date 1585069551 25200 -# Node ID 769f800952179633ec6c3e6bc1bc1d40e401750a -# Parent 63387e8920f58f608288f247824ec5f4c286691f -src/video/directfb/SDL_DirectFB_render.c: fix build -Build with directfb is broken due to a spurious '}' and a missing 'E' -since version 2.0.12 and https://hg.libsdl.org/SDL/rev/2d5b5a5ccbfb: - -/home/buildroot/autobuild/run/instance-2/output-1/build/sdl2-2.0.12/src/video/directfb/SDL_DirectFB_render.c: In function 'SetBlendMode': -/home/buildroot/autobuild/run/instance-2/output-1/build/sdl2-2.0.12/src/video/directfb/SDL_DirectFB_render.c:202:9: error: case label not within a switch statement - 202 | case SDL_BLENDMODE_MUL: - | ^~~~ - -/home/buildroot/autobuild/run/instance-2/output-1/build/sdl2-2.0.12/src/video/directfb/SDL_DirectFB_render.c:205:67: error: 'DSBF_DSTCOLOR' undeclared (first use in this function); did you mean 'DSBF_DESTCOLOR'? - 205 | SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_DSTCOLOR)); - | ^~~~~~~~~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/83ccefee68c2800c0544e6f40fa8bc8ee6b67b77 - -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> - --- - -The patch was imported from the libsdl Mercurial repository -(https://hg.libsdl.org/SDL) as of changeset id 769f80095217. - -Upstream-Status: Backport - -Signed-off-by: Mark Jonas <toertel@gmail.com> - - -diff -r 63387e8920f5 -r 769f80095217 src/video/directfb/SDL_DirectFB_render.c ---- a/src/video/directfb/SDL_DirectFB_render.c Mon Mar 23 14:10:25 2020 -0700 -+++ b/src/video/directfb/SDL_DirectFB_render.c Tue Mar 24 10:05:51 2020 -0700 -@@ -198,11 +198,10 @@ - SDL_DFB_CHECK(destsurf->SetDstBlendFunction(destsurf, DSBF_SRCCOLOR)); - - break; -- } - case SDL_BLENDMODE_MUL: - data->blitFlags = DSBLIT_BLEND_ALPHACHANNEL; - data->drawFlags = DSDRAW_BLEND; -- SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_DSTCOLOR)); -+ SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_DESTCOLOR)); - SDL_DFB_CHECK(destsurf->SetDstBlendFunction(destsurf, DSBF_INVSRCALPHA)); - - break; diff --git a/meta/recipes-graphics/libsdl2/libsdl2_2.0.12.bb b/meta/recipes-graphics/libsdl2/libsdl2_2.0.18.bb index 2ef7d2e5ef..5e645b443c 100644 --- a/meta/recipes-graphics/libsdl2/libsdl2_2.0.12.bb +++ b/meta/recipes-graphics/libsdl2/libsdl2_2.0.18.bb @@ -8,24 +8,21 @@ BUGTRACKER = "http://bugzilla.libsdl.org/" SECTION = "libs" LICENSE = "Zlib" -LIC_FILES_CHKSUM = "file://COPYING.txt;md5=2d4af6adb4d89aad0cdedbcc18c9a32f" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=095c2687a3c3908e26984eaa8ec2d770" # arm-neon adds MIT license -LICENSE_append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', '& MIT', '', d)}" -LIC_FILES_CHKSUM_append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', 'file://src/video/arm/pixman-arm-neon-asm.h;md5=9a9cc1e51abbf1da58f4d9528ec9d49b;beginline=1;endline=24', '', d)}" +LICENSE:append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', '& MIT', '', d)}" +LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', 'file://src/video/arm/pixman-arm-neon-asm.h;md5=9a9cc1e51abbf1da58f4d9528ec9d49b;beginline=1;endline=24', '', d)}" PROVIDES = "virtual/libsdl2" SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \ file://more-gen-depends.patch \ - file://directfb-spurious-curly-brace-missing-e.patch \ - file://directfb-renderfillrect-fix.patch \ " S = "${WORKDIR}/SDL2-${PV}" -SRC_URI[md5sum] = "783b6f2df8ff02b19bb5ce492b99c8ff" -SRC_URI[sha256sum] = "349268f695c02efbc9b9148a70b85e58cefbbf704abd3e91be654db7f1e2c863" +SRC_URI[sha256sum] = "94d40cd73dbfa10bb6eadfbc28f355992bb2d6ef6761ad9d4074eff95ee5711c" inherit autotools lib_package binconfig-disabled pkgconfig @@ -38,7 +35,6 @@ EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \ --disable-video-dummy \ --disable-video-rpi \ --enable-pthreads \ - --enable-sdl-dlopen \ --disable-rpath \ --disable-sndio \ --disable-fcitx --disable-ibus \ @@ -48,8 +44,8 @@ EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \ # and BSP layers to pick either (desktop) opengl, gles2, or no GL PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}" -PACKAGECONFIG_class-native = "x11 ${PACKAGECONFIG_GL}" -PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${PACKAGECONFIG_GL}" +PACKAGECONFIG:class-native = "x11 ${PACKAGECONFIG_GL}" +PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${PACKAGECONFIG_GL}" PACKAGECONFIG ??= " \ ${PACKAGECONFIG_GL} \ ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \ @@ -58,19 +54,19 @@ PACKAGECONFIG ??= " \ " PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib," PACKAGECONFIG[arm-neon] = "--enable-arm-neon,--disable-arm-neon" -PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb" +PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb,directfb" PACKAGECONFIG[gles2] = "--enable-video-opengles,--disable-video-opengles,virtual/libgles2" PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" PACKAGECONFIG[kmsdrm] = "--enable-video-kmsdrm,--disable-video-kmsdrm,libdrm virtual/libgbm" 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" +CFLAGS:append:class-native = " -DNO_SHARED_MEMORY" -do_configure_prepend() { +do_configure:prepend() { # Remove old libtool macros. MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" for i in ${MACROS}; do @@ -79,6 +75,4 @@ do_configure_prepend() { export SYSROOT=$PKG_CONFIG_SYSROOT_DIR } -FILES_${PN}-dev += "${libdir}/cmake" - BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/libva/libva-initial_2.9.0.bb b/meta/recipes-graphics/libva/libva-initial_2.13.0.bb index 5c6abeafe6..453096822f 100644 --- a/meta/recipes-graphics/libva/libva-initial_2.9.0.bb +++ b/meta/recipes-graphics/libva/libva-initial_2.13.0.bb @@ -1,5 +1,8 @@ require libva.inc -do_install_append () { +PACKAGECONFIG ?= "" + +do_install:append () { rm -f ${D}${libdir}/*.so* } + diff --git a/meta/recipes-graphics/libva/libva-utils_2.9.1.bb b/meta/recipes-graphics/libva/libva-utils_2.13.0.bb index feb9ce1662..c93cdb4484 100644 --- a/meta/recipes-graphics/libva/libva-utils_2.9.1.bb +++ b/meta/recipes-graphics/libva/libva-utils_2.13.0.bb @@ -14,8 +14,8 @@ SECTION = "x11" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e" -SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.9-branch" -SRCREV = "50c7f19d65e2535940e31c6711352b36d6d64fd7" +SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.13-branch;protocol=https" +SRCREV = "7bad184b2cf2ffaf4fb3cc71d4df63d7b142d592" S = "${WORKDIR}/git" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))$" diff --git a/meta/recipes-graphics/libva/libva.inc b/meta/recipes-graphics/libva/libva.inc index 7b6f11674d..dcdc1f378c 100644 --- a/meta/recipes-graphics/libva/libva.inc +++ b/meta/recipes-graphics/libva/libva.inc @@ -18,7 +18,7 @@ LICENSE = "MIT" SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2" LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" -SRC_URI[sha256sum] = "e344c1392dde92696c9ffd9cb3c7277d0a3b912236eb4e0fdedf7f375434584b" +SRC_URI[sha256sum] = "fad383f39f36115814bd0eda1496a4cc01761643bd962635400df2d4470ad460" S = "${WORKDIR}/libva-${PV}" @@ -27,3 +27,9 @@ UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases" DEPENDS = "libdrm" inherit meson pkgconfig + +PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxext libxfixes" +PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/mesa" + +PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland" + diff --git a/meta/recipes-graphics/libva/libva_2.13.0.bb b/meta/recipes-graphics/libva/libva_2.13.0.bb new file mode 100644 index 0000000000..63dc5af8f2 --- /dev/null +++ b/meta/recipes-graphics/libva/libva_2.13.0.bb @@ -0,0 +1,15 @@ +require libva.inc + +PACKAGECONFIG ??= " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)} \ +" + +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/meta/recipes-graphics/libva/libva_2.9.0.bb b/meta/recipes-graphics/libva/libva_2.9.0.bb deleted file mode 100644 index 4d3fa50963..0000000000 --- a/meta/recipes-graphics/libva/libva_2.9.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -require libva.inc - -PACKAGECONFIG ??= " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)} \ -" - -PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxext libxfixes" -PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/mesa" - -PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,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/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb index 57a3024ea9..53229f2edc 100644 --- a/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb +++ b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb @@ -7,7 +7,7 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://matchbox-session;endline=20;md5=180f1c169a15d059a56c30094f6fb5ea" SECTION = "x11" -RCONFLICTS_${PN} = "matchbox-common" +RCONFLICTS:${PN} = "matchbox-common" SRC_URI = "file://matchbox-session" S = "${WORKDIR}" @@ -16,7 +16,7 @@ PR = "r4" inherit update-alternatives -ALTERNATIVE_${PN} = "x-session-manager" +ALTERNATIVE:${PN} = "x-session-manager" ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/matchbox-session" ALTERNATIVE_PRIORITY = "100" diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb index a08eb252ce..f452ea032a 100644 --- a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb +++ b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb @@ -12,7 +12,7 @@ DEPENDS = "libmatchbox virtual/libx11 libxext libxrender startup-notification ex # SRCREV tagged 1.2.2 SRCREV = "27da947e7fbdf9659f7e5bd1e92af92af6c03970" -SRC_URI = "git://git.yoctoproject.org/matchbox-window-manager \ +SRC_URI = "git://git.yoctoproject.org/matchbox-window-manager;branch=master \ file://0001-Fix-build-with-gcc-10.patch \ file://kbdconfig" @@ -22,7 +22,7 @@ inherit autotools pkgconfig features_check # depends on virtual/libx11 REQUIRED_DISTRO_FEATURES = "x11" -FILES_${PN} = "${bindir}/* \ +FILES:${PN} = "${bindir}/* \ ${datadir}/matchbox \ ${sysconfdir}/matchbox \ ${datadir}/themes/blondie/matchbox \ @@ -35,6 +35,6 @@ EXTRA_OECONF = " --enable-startup-notification \ --with-expat-lib=${STAGING_LIBDIR} \ --with-expat-includes=${STAGING_INCDIR}" -do_install_prepend() { +do_install:prepend() { install ${WORKDIR}/kbdconfig ${S}/data/kbdconfig } diff --git a/meta/recipes-graphics/mesa/files/0001-anv-fix-a-build-race-between-generating-a-header-and.patch b/meta/recipes-graphics/mesa/files/0001-anv-fix-a-build-race-between-generating-a-header-and.patch deleted file mode 100644 index a61e7b2160..0000000000 --- a/meta/recipes-graphics/mesa/files/0001-anv-fix-a-build-race-between-generating-a-header-and.patch +++ /dev/null @@ -1,31 +0,0 @@ -From f148d4f1b5b13288b254ead07f1d008d997e2342 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Mon, 2 Nov 2020 23:23:53 +0100 -Subject: [PATCH] anv: fix a build race between generating a header and using - it - -anv_batch_chain.c includes genX_bits.h but doesn't ensure it gets -generated first. This causes build failures, as observed here: -https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/1501/steps/8/logs/step2d - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7412] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - src/intel/vulkan/meson.build | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/intel/vulkan/meson.build b/src/intel/vulkan/meson.build -index 36e1689314e..b713d8eade3 100644 ---- a/src/intel/vulkan/meson.build -+++ b/src/intel/vulkan/meson.build -@@ -131,6 +131,7 @@ libanv_files = files( - anv_deps = [ - dep_libdrm, - dep_valgrind, -+ idep_genxml, - idep_nir_headers, - idep_vulkan_util_headers, - ] --- -2.29.0 - diff --git a/meta/recipes-graphics/mesa/files/0001-meson-Add-xcb-fixes-to-loader-when-using-x11-and-dri.patch b/meta/recipes-graphics/mesa/files/0001-meson-Add-xcb-fixes-to-loader-when-using-x11-and-dri.patch deleted file mode 100644 index 9ee72880a2..0000000000 --- a/meta/recipes-graphics/mesa/files/0001-meson-Add-xcb-fixes-to-loader-when-using-x11-and-dri.patch +++ /dev/null @@ -1,36 +0,0 @@ -From cf17d6251653f4a98e7c4f904ea2f0bc0ecedd5c Mon Sep 17 00:00:00 2001 -From: Duncan Hopkins <duncan@duncanhopkins.me.uk> -Date: Thu, 15 Oct 2020 12:14:57 +0100 -Subject: [PATCH] meson: Add xcb-fixes to loader when using x11 and dri3. Fixes - undefined symbol for xcb_xfixes_create_region in loader_dri3_helper.c - -loader_dr3_helper.c uses xcb_xfixes_create_region() that requires dep_xcb_xfixes to link. This is dependent on with_platform_x11 and with_dri3. -But the source meson file does not set this up dependent on with_dri3. -The build was initialsed using platforms=x11 and gallium-drivers=zink,swrast. - -Reviewed-by: Eric Anholt <eric@anholt.net> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7164> - -Upstream-Status: Backport [cf17d6251653f4a98e7c4f904ea2f0bc0ecedd5c] - ---- - meson.build | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index cfe02fa6373..3cb3c904927 100644 ---- a/meson.build -+++ b/meson.build -@@ -1782,7 +1782,8 @@ if with_platform_x11 - dep_xxf86vm = dependency('xxf86vm') - endif - endif -- if (with_egl or ( -+ if (with_egl or -+ with_dri3 or ( - with_gallium_vdpau or with_gallium_xvmc or with_gallium_xa or - with_gallium_omx != 'disabled')) - dep_xcb_xfixes = dependency('xcb-xfixes') --- -2.17.1 - diff --git a/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch index 085254323c..b6f86743e1 100644 --- a/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch +++ b/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch @@ -1,4 +1,4 @@ -From 0d9ed002eff176b902da266d89829a9b0cb10946 Mon Sep 17 00:00:00 2001 +From 38e984073e4c23b6278d1a2ff21e894fda7b93c5 Mon Sep 17 00:00:00 2001 From: Alistair Francis <alistair@alistair23.me> Date: Thu, 14 Nov 2019 13:04:49 -0800 Subject: [PATCH] meson.build: check for all linux host_os combinations @@ -20,10 +20,10 @@ Signed-off-by: Alistair Francis <alistair@alistair23.me> 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build -index 898d025..09e3759 100644 +index 932eb13..efc6171 100644 --- a/meson.build +++ b/meson.build -@@ -124,7 +124,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2 +@@ -153,7 +153,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2 # Only build shared_glapi if at least one OpenGL API is enabled with_shared_glapi = with_shared_glapi and with_any_opengl @@ -32,12 +32,12 @@ index 898d025..09e3759 100644 dri_drivers = get_option('dri-drivers') if dri_drivers.contains('auto') -@@ -884,7 +884,7 @@ if cc.compiles('__uint128_t foo(void) { return 0; }', +@@ -970,7 +970,7 @@ if cc.compiles('__uint128_t foo(void) { return 0; }', endif # TODO: this is very incomplete --if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd'].contains(host_machine.system()) -+if ['cygwin', 'gnu', 'gnu/kfreebsd'].contains(host_machine.system()) or host_machine.system().startswith('linux') +-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku'].contains(host_machine.system()) ++if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku'].contains(host_machine.system()) or host_machine.system().startswith('linux') pre_args += '-D_GNU_SOURCE' elif host_machine.system() == 'sunos' pre_args += '-D__EXTENSIONS__' diff --git a/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch b/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch new file mode 100644 index 0000000000..80b9af08e8 --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch @@ -0,0 +1,49 @@ +From 4febda271c6bb0dc69ebf573446c6922a1ec35fb Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 2 Dec 2021 19:57:42 -0800 +Subject: [PATCH] util/format: Check for NEON before using it + +This fixes build on rpi0-w and any other machine which does not have +neon unit and is not used as FPU unit + +Fixes errors e.g. + +In file included from ../mesa-21.3.0/src/util/format/u_format_unpack_neon.c:35: +/mnt/b/yoe/master/build/tmp/work/arm1176jzfshf-vfp-yoe-linux-gnueabi/mesa/2_21.3.0-r0/recipe-sysroot-native/usr/lib/clang/13.0.1/include/arm_neon.h:32:2: error: "NEON support not enabled" + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14032] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/util/format/u_format.c | 2 +- + src/util/format/u_format_unpack_neon.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/util/format/u_format.c b/src/util/format/u_format.c +index 36c5e52008e..f0a00971691 100644 +--- a/src/util/format/u_format.c ++++ b/src/util/format/u_format.c +@@ -1138,7 +1138,7 @@ static void + util_format_unpack_table_init(void) + { + for (enum pipe_format format = PIPE_FORMAT_NONE; format < PIPE_FORMAT_COUNT; format++) { +-#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) && !defined(NO_FORMAT_ASM) && !defined(__SOFTFP__) ++#if (defined(PIPE_ARCH_AARCH64) || (defined(__ARM_NEON) && defined(PIPE_ARCH_ARM))) && !defined(NO_FORMAT_ASM) + const struct util_format_unpack_description *unpack = util_format_unpack_description_neon(format); + if (unpack) { + util_format_unpack_table[format] = unpack; +diff --git a/src/util/format/u_format_unpack_neon.c b/src/util/format/u_format_unpack_neon.c +index a4a5cb1f723..1e4f794a295 100644 +--- a/src/util/format/u_format_unpack_neon.c ++++ b/src/util/format/u_format_unpack_neon.c +@@ -23,7 +23,7 @@ + + #include <u_format.h> + +-#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) && !defined(NO_FORMAT_ASM) && !defined(__SOFTFP__) ++#if (defined(PIPE_ARCH_AARCH64) || (defined(__ARM_NEON) && defined(PIPE_ARCH_ARM))) && !defined(NO_FORMAT_ASM) + + /* armhf builds default to vfp, not neon, and refuses to compile neon intrinsics + * unless you tell it "no really". +-- +2.34.1 + diff --git a/meta/recipes-graphics/mesa/files/0001-v3dv-account-for-64bit-time_t-on-32bit-arches.patch b/meta/recipes-graphics/mesa/files/0001-v3dv-account-for-64bit-time_t-on-32bit-arches.patch new file mode 100644 index 0000000000..e87d7d7311 --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-v3dv-account-for-64bit-time_t-on-32bit-arches.patch @@ -0,0 +1,41 @@ +From e2e2fe86dd61b6fae682a1fec31bd0755ced5cd5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 7 Dec 2021 11:13:27 -0800 +Subject: [PATCH] v3dv: account for 64bit time_t on 32bit arches + +This makes is a bit more portable, especially on 32bit architectures +with 64bit time_t defaults. Especially on musl its a must. + +Fixes +../mesa-21.3.0/src/broadcom/vulkan/v3dv_bo.c:71:15: error: format specifies type 'long' but the argument has type 'time_t' (aka 'long long') [-Werror,-Wformat] + time.tv_sec); + ^~~~~~~~~~~ + +Also reported here [1] + +[1] https://github.com/agherzan/meta-raspberrypi/issues/969 + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14118] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/broadcom/vulkan/v3dv_bo.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/broadcom/vulkan/v3dv_bo.c b/src/broadcom/vulkan/v3dv_bo.c +index 71679ce..dc5e7f5 100644 +--- a/src/broadcom/vulkan/v3dv_bo.c ++++ b/src/broadcom/vulkan/v3dv_bo.c +@@ -67,8 +67,8 @@ bo_dump_stats(struct v3dv_device *device) + + struct timespec time; + clock_gettime(CLOCK_MONOTONIC, &time); +- fprintf(stderr, " now: %ld\n", +- time.tv_sec); ++ fprintf(stderr, " now: %lld\n", ++ (long long)time.tv_sec); + } + + if (cache->size_list_size) { +-- +2.34.1 + diff --git a/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch index 74f7fe5c2d..35ab8d5a72 100644 --- a/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch +++ b/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch @@ -1,4 +1,4 @@ -From ce57ce220d9c377beabf4914f33c43118f672ffe Mon Sep 17 00:00:00 2001 +From 8f2f48b41aa17eec3c4d63685e3296f28e60b980 Mon Sep 17 00:00:00 2001 From: Alistair Francis <alistair@alistair23.me> Date: Thu, 14 Nov 2019 13:08:31 -0800 Subject: [PATCH] meson.build: make TLS ELF optional @@ -6,6 +6,21 @@ Subject: [PATCH] meson.build: make TLS ELF optional USE_ELF_TLS has replaced GLX_USE_TLS so this patch is the original "make TLS GLX optional again" patch updated to the latest mesa. +For details, see: +https://gitlab.freedesktop.org/mesa/mesa/-/issues/966 + +This prevents runtime segfault on musl: + +Traceback (most recent call last): + File "/home/pokybuild/yocto-worker/musl-qemux86/build/meta/lib/oeqa/core/decorator/__init__.py", line 36, in wrapped_f + return func(*args, **kwargs) + File "/home/pokybuild/yocto-worker/musl-qemux86/build/meta/lib/oeqa/runtime/cases/parselogs.py", line 378, in test_parselogs + self.assertEqual(errcount, 0, msg=self.msg) +AssertionError: 1 != 0 : Log: /home/pokybuild/yocto-worker/musl-qemux86/build/build/tmp/work/qemux86-poky-linux-musl/core-image-sato-sdk/1.0-r0/target_logs/Xorg.0.log +----------------------- +Central error: [ 10.477] (EE) Failed to load /usr/lib/xorg/modules/extensions/libglx.so: Error relocating /usr/lib/libGL.so.1: alphasort: initial-exec TLS resolves to dynamic definition in /usr/lib/libGL.so.1 +*********************** + Upstream-Status: Inappropriate [configuration] Signed-off-by: Alistair Francis <alistair@alistair23.me> @@ -15,23 +30,23 @@ Signed-off-by: Alistair Francis <alistair@alistair23.me> 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index c5136ea..185270d 100644 +index 23618c1..c8cc5e3 100644 --- a/meson.build +++ b/meson.build -@@ -424,7 +424,7 @@ endif - - # Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS. +@@ -476,7 +476,7 @@ endif use_elf_tls = false --if not ['windows', 'freebsd', 'openbsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) -+if not ['windows', 'freebsd', 'openbsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) and get_option('elf-tls') + if (not ['freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and + (not with_platform_android or get_option('platform-sdk-version') >= 29) and +- (not with_platform_windows or not with_shared_glapi)) ++ (not with_platform_windows or not with_shared_glapi) and get_option('elf-tls')) pre_args += '-DUSE_ELF_TLS' use_elf_tls = true - endif + diff --git a/meson_options.txt b/meson_options.txt -index 2d39d13..72006eb 100644 +index 29c402c..f70d9b2 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -368,6 +368,12 @@ option( +@@ -455,6 +455,12 @@ option( value : true, description : 'Enable direct rendering in GLX and EGL for DRI', ) diff --git a/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch b/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch deleted file mode 100644 index 833742359f..0000000000 --- a/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch +++ /dev/null @@ -1,147 +0,0 @@ -From 43d9e40db7357f27e91002b2bb7688b6775ebb43 Mon Sep 17 00:00:00 2001 -From: Alistair Francis <alistair@alistair23.me> -Date: Thu, 14 Nov 2019 09:06:02 -0800 -Subject: [PATCH] Revert "mesa: Enable asm unconditionally, now that - gen_matypes is gone." - -This reverts commit 20294dceebc23236e33b22578245f7e6f41b6997. - -Upstream-Status: Inappropriate [configuration] -Signed-off-by: Alistair Francis <alistair@alistair23.me> - ---- - meson.build | 94 ++++++++++++++++++++++++++++++----------------- - meson_options.txt | 6 +++ - 2 files changed, 67 insertions(+), 33 deletions(-) - -diff --git a/meson.build b/meson.build -index e7dc599..e2fc934 100644 ---- a/meson.build -+++ b/meson.build -@@ -52,6 +52,7 @@ pre_args = [ - with_vulkan_icd_dir = get_option('vulkan-icd-dir') - with_tests = get_option('build-tests') - with_aco_tests = get_option('build-aco-tests') -+with_asm = get_option('asm') - with_glx_read_only_text = get_option('glx-read-only-text') - with_glx_direct = get_option('glx-direct') - with_osmesa = get_option('osmesa') -@@ -1154,41 +1155,68 @@ dep_ws2_32 = cc.find_library('ws2_32', required : with_platform_windows) - - # TODO: shared/static? Is this even worth doing? - -+# When cross compiling we generally need to turn off the use of assembly, -+# because mesa's assembly relies on building an executable for the host system, -+# and running it to get information about struct sizes. There is at least one -+# case of cross compiling where we can use asm, and that's x86_64 -> x86 when -+# host OS == build OS, since in that case the build machine can run the host's -+# binaries. -+if with_asm and meson.is_cross_build() -+ if build_machine.system() != host_machine.system() -+ # TODO: It may be possible to do this with an exe_wrapper (like wine). -+ message('Cross compiling from one OS to another, disabling assembly.') -+ with_asm = false -+ elif not (build_machine.cpu_family().startswith('x86') and host_machine.cpu_family() == 'x86') -+ # FIXME: Gentoo always sets -m32 for x86_64 -> x86 builds, resulting in an -+ # x86 -> x86 cross compile. We use startswith rather than == to handle this -+ # case. -+ # TODO: There may be other cases where the 64 bit version of the -+ # architecture can run 32 bit binaries (aarch64 and armv7 for example) -+ message(''' -+ Cross compiling to different architectures, and the host cannot run -+ the build machine's binaries. Disabling assembly. -+ ''') -+ with_asm = false -+ endif -+endif -+ - with_asm_arch = '' --if host_machine.cpu_family() == 'x86' -- if system_has_kms_drm or host_machine.system() == 'gnu' -- with_asm_arch = 'x86' -- pre_args += ['-DUSE_X86_ASM', '-DUSE_MMX_ASM', '-DUSE_3DNOW_ASM', -- '-DUSE_SSE_ASM'] -- -- if with_glx_read_only_text -- pre_args += ['-DGLX_X86_READONLY_TEXT'] -+if with_asm -+ if host_machine.cpu_family() == 'x86' -+ if system_has_kms_drm or host_machine.system() == 'gnu' -+ with_asm_arch = 'x86' -+ pre_args += ['-DUSE_X86_ASM', '-DUSE_MMX_ASM', '-DUSE_3DNOW_ASM', -+ '-DUSE_SSE_ASM'] -+ -+ if with_glx_read_only_text -+ pre_args += ['-DGLX_X86_READONLY_TEXT'] -+ endif -+ endif -+ elif host_machine.cpu_family() == 'x86_64' -+ if system_has_kms_drm -+ with_asm_arch = 'x86_64' -+ pre_args += ['-DUSE_X86_64_ASM'] -+ endif -+ elif host_machine.cpu_family() == 'arm' -+ if system_has_kms_drm -+ with_asm_arch = 'arm' -+ pre_args += ['-DUSE_ARM_ASM'] -+ endif -+ elif host_machine.cpu_family() == 'aarch64' -+ if system_has_kms_drm -+ with_asm_arch = 'aarch64' -+ pre_args += ['-DUSE_AARCH64_ASM'] -+ endif -+ elif host_machine.cpu_family() == 'sparc64' -+ if system_has_kms_drm -+ with_asm_arch = 'sparc' -+ pre_args += ['-DUSE_SPARC_ASM'] -+ endif -+ elif host_machine.cpu_family().startswith('ppc64') and host_machine.endian() == 'little' -+ if system_has_kms_drm -+ with_asm_arch = 'ppc64le' -+ pre_args += ['-DUSE_PPC64LE_ASM'] - endif -- endif --elif host_machine.cpu_family() == 'x86_64' -- if system_has_kms_drm -- with_asm_arch = 'x86_64' -- pre_args += ['-DUSE_X86_64_ASM'] -- endif --elif host_machine.cpu_family() == 'arm' -- if system_has_kms_drm -- with_asm_arch = 'arm' -- pre_args += ['-DUSE_ARM_ASM'] -- endif --elif host_machine.cpu_family() == 'aarch64' -- if system_has_kms_drm -- with_asm_arch = 'aarch64' -- pre_args += ['-DUSE_AARCH64_ASM'] -- endif --elif host_machine.cpu_family() == 'sparc64' -- if system_has_kms_drm -- with_asm_arch = 'sparc' -- pre_args += ['-DUSE_SPARC_ASM'] -- endif --elif host_machine.cpu_family().startswith('ppc64') and host_machine.endian() == 'little' -- if system_has_kms_drm -- with_asm_arch = 'ppc64le' -- pre_args += ['-DUSE_PPC64LE_ASM'] - endif - endif - -diff --git a/meson_options.txt b/meson_options.txt -index 147cccb..562b059 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -254,6 +254,12 @@ option( - value : false, - description : 'Enable GLVND support.' - ) -+option( -+ 'asm', -+ type : 'boolean', -+ value : true, -+ description : 'Build assembly code if possible' -+) - option( - 'glx-read-only-text', - type : 'boolean', diff --git a/meta/recipes-graphics/mesa/files/0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch b/meta/recipes-graphics/mesa/files/0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch deleted file mode 100644 index dacb1ea1c8..0000000000 --- a/meta/recipes-graphics/mesa/files/0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 281a636353666bfdd373c62591e744087e750e89 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 4 Dec 2019 14:15:28 -0800 -Subject: [PATCH] vc4: use intmax_t for formatted output of timespec members - -32bit architectures which have 64bit time_t does not fit the assumption -of time_t being same as system long int - -Fixes -error: format specifies type 'long' but the argument has type 'time_t' (aka 'long long') [-Werror,-Wformat] - time.tv_sec); - ^~~~~~~~~~~ - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2966] -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - src/gallium/drivers/v3d/v3d_bufmgr.c | 4 ++-- - src/gallium/drivers/vc4/vc4_bufmgr.c | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/gallium/drivers/v3d/v3d_bufmgr.c b/src/gallium/drivers/v3d/v3d_bufmgr.c -index 31a0803..cc2e2af 100644 ---- a/src/gallium/drivers/v3d/v3d_bufmgr.c -+++ b/src/gallium/drivers/v3d/v3d_bufmgr.c -@@ -80,8 +80,8 @@ v3d_bo_dump_stats(struct v3d_screen *screen) - - struct timespec time; - clock_gettime(CLOCK_MONOTONIC, &time); -- fprintf(stderr, " now: %ld\n", -- (long)time.tv_sec); -+ fprintf(stderr, " now: %jd\n", -+ (intmax_t)time.tv_sec); - } - } - -diff --git a/src/gallium/drivers/vc4/vc4_bufmgr.c b/src/gallium/drivers/vc4/vc4_bufmgr.c -index a786e8e..975d49e 100644 ---- a/src/gallium/drivers/vc4/vc4_bufmgr.c -+++ b/src/gallium/drivers/vc4/vc4_bufmgr.c -@@ -99,8 +99,8 @@ vc4_bo_dump_stats(struct vc4_screen *screen) - - struct timespec time; - clock_gettime(CLOCK_MONOTONIC, &time); -- fprintf(stderr, " now: %ld\n", -- (long)time.tv_sec); -+ fprintf(stderr, " now: %jd\n", -+ (intmax_t)time.tv_sec); - } - } - diff --git a/meta/recipes-graphics/mesa/libglu_9.0.1.bb b/meta/recipes-graphics/mesa/libglu_9.0.2.bb index 703f131f79..64fa82e5a8 100644 --- a/meta/recipes-graphics/mesa/libglu_9.0.1.bb +++ b/meta/recipes-graphics/mesa/libglu_9.0.2.bb @@ -10,12 +10,10 @@ LIC_FILES_CHKSUM = "file://include/GL/glu.h;endline=29;md5=6b79c570f644363b35645 # Epoch as this used to be part of mesa PE = "2" -PR = "0" SRC_URI = "https://mesa.freedesktop.org/archive/glu/glu-${PV}.tar.gz" -SRC_URI[md5sum] = "5599a0e0a97335e10239d9165aced60d" -SRC_URI[sha256sum] = "f6f484cfcd51e489afe88031afdea1e173aa652697e4c19ddbcb8260579a10f7" +SRC_URI[sha256sum] = "24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65" S = "${WORKDIR}/glu-${PV}" @@ -27,4 +25,4 @@ inherit autotools pkgconfig features_check REQUIRED_DISTRO_FEATURES = "x11 opengl" # Remove the mesa-glu dependency in mesa-glu-dev, as mesa-glu is empty -RDEPENDS_${PN}-dev = "" +RDEPENDS:${PN}-dev = "" diff --git a/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch b/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch index f6b59a11fe..e31827d4a3 100644 --- a/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch +++ b/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch @@ -6,7 +6,12 @@ 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 +This isn't currently appropriate for upstream submission as glew has +been replaced with glad there; glu situation would need to be re-assesed +when upstream makes a new release, requested here: +https://gitlab.freedesktop.org/mesa/demos/-/issues/22 + +Upstream-Status: Inappropriate [see above] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> diff --git a/meta/recipes-graphics/mesa/mesa-demos/0013-only-build-GLX-demos-if-needed.patch b/meta/recipes-graphics/mesa/mesa-demos/0013-only-build-GLX-demos-if-needed.patch deleted file mode 100644 index e7be4dfbe1..0000000000 --- a/meta/recipes-graphics/mesa/mesa-demos/0013-only-build-GLX-demos-if-needed.patch +++ /dev/null @@ -1,62 +0,0 @@ -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/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb b/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb index 38bdbded29..01e5b35d0e 100644 --- a/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb +++ b/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb @@ -17,7 +17,6 @@ SRC_URI = "https://mesa.freedesktop.org/archive/demos/${BPN}-${PV}.tar.bz2 \ 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] = "6b65a02622765522176d00f553086fa3" SRC_URI[sha256sum] = "01e99c94a0184e63e796728af89bfac559795fb2a0d6f506fa900455ca5fff7d" @@ -27,7 +26,7 @@ inherit autotools pkgconfig features_check REQUIRED_DISTRO_FEATURES = "opengl x11" PACKAGECONFIG ?= "drm osmesa freetype2 gbm egl gles1 gles2 \ - x11 glew glu glx" + x11 glew glu" # The Wayland code doesn't work with Wayland 1.0, so disable it for now #${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}" @@ -47,9 +46,8 @@ PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,virtual/libgl wayla 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() { +do_install:append() { # it can be completely empty when all PACKAGECONFIG options are disabled rmdir --ignore-fail-on-non-empty ${D}${bindir} diff --git a/meta/recipes-graphics/mesa/mesa-gl_20.2.1.bb b/meta/recipes-graphics/mesa/mesa-gl_20.2.1.bb deleted file mode 100644 index e50782be1c..0000000000 --- a/meta/recipes-graphics/mesa/mesa-gl_20.2.1.bb +++ /dev/null @@ -1,15 +0,0 @@ -require mesa.inc - -SUMMARY += " (OpenGL only, no EGL/GLES)" - -PROVIDES = "virtual/libgl virtual/mesa" - -S = "${WORKDIR}/mesa-${PV}" - -# At least one DRI rendering engine is required to build mesa. -# When no X11 is available, use osmesa for the rendering engine. -PACKAGECONFIG ??= "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}" -PACKAGECONFIG_class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}" - -# When NOT using X11, we need to make sure we have swrast available. -DRIDRIVERS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', ',swrast', d)}" diff --git a/meta/recipes-graphics/mesa/mesa-gl_21.3.1.bb b/meta/recipes-graphics/mesa/mesa-gl_21.3.1.bb new file mode 100644 index 0000000000..142bb743b1 --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-gl_21.3.1.bb @@ -0,0 +1,16 @@ +require mesa.inc + +SUMMARY += " (OpenGL only, no EGL/GLES)" + +PROVIDES = "virtual/libgl virtual/mesa" + +S = "${WORKDIR}/mesa-${PV}" + +# At least one DRI rendering engine is required to build mesa. +# When no X11 is available, use osmesa for the rendering engine. +PACKAGECONFIG ??= "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}" +PACKAGECONFIG:class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}" + +# 21.0.0 version fails to build when any driver is enabled in DRIDRIVERS +# ./mesa-21.0.0/meson.build:519:4: ERROR: Problem encountered: building dri drivers require at least one windowing system +DRIDRIVERS ?= "" diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index a6652b0ddb..64702f8168 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -10,28 +10,26 @@ HOMEPAGE = "http://mesa3d.org" BUGTRACKER = "https://bugs.freedesktop.org" SECTION = "x11" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://docs/license.rst;md5=9aa1bc48c9826ad9fdb16661f6930496" +LIC_FILES_CHKSUM = "file://docs/license.rst;md5=17a4ea65de7a9ab42437f3131e616a7f" PE = "2" SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \ file://0002-meson.build-make-TLS-ELF-optional.patch \ - file://0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch \ - file://0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch \ file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \ - file://0001-anv-fix-a-build-race-between-generating-a-header-and.patch \ - file://0001-meson-Add-xcb-fixes-to-loader-when-using-x11-and-dri.patch \ + file://0001-util-format-Check-for-NEON-before-using-it.patch \ + file://0001-v3dv-account-for-64bit-time_t-on-32bit-arches.patch \ " -SRC_URI[sha256sum] = "d1a46d9a3f291bc0e0374600bdcb59844fa3eafaa50398e472a36fc65fd0244a" +SRC_URI[sha256sum] = "2b0dc2540cb192525741d00f706dbc4586349185dafc65729c7fda0800cc474d" UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)" #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() { +do_install:append() { if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then sed -i -e 's/^#elif defined(__unix__) && defined(EGL_NO_X11)$/#elif defined(__unix__) \&\& defined(EGL_NO_X11) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h fi @@ -41,7 +39,7 @@ DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib 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', 'gles', 'virtual/libgles1 virtual/libgles2 virtual/libgles3', '', d)} \ ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \ ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'virtual/libgbm', '', d)} \ virtual/mesa \ @@ -51,11 +49,9 @@ inherit meson pkgconfig python3native gettext features_check BBCLASSEXTEND = "native nativesdk" -ANY_OF_DISTRO_FEATURES_class-target = "opengl vulkan" +ANY_OF_DISTRO_FEATURES:class-target = "opengl vulkan" -PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'drm', '', d)} \ - surfaceless" +PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}" export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE}/llvm-config" export YOCTO_ALTERNATE_MULTILIB_NAME = "${base_libdir}" @@ -78,7 +74,7 @@ def check_buildtype(d): MESON_BUILDTYPE = "${@check_buildtype(d)}" EXTRA_OEMESON = " \ - -Dshared-glapi=true \ + -Dshared-glapi=enabled \ -Dgallium-opencl=disabled \ -Dglx-read-only-text=true \ -Dplatforms='${@",".join("${PLATFORMS}".split())}' \ @@ -87,51 +83,49 @@ EXTRA_OEMESON = " \ def strip_comma(s): return s.strip(',') -PACKAGECONFIG_class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \ +PACKAGECONFIG:class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri gallium virgl', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \ elf-tls \ " -PACKAGECONFIG_class-native ?= "gbm dri egl opengl elf-tls x11" -PACKAGECONFIG_class-nativesdk ?= "gbm dri egl opengl elf-tls x11" +PACKAGECONFIG:class-native ?= "gbm gallium egl opengl elf-tls x11" +PACKAGECONFIG:class-nativesdk ?= "gbm gallium egl opengl elf-tls x11" -PACKAGECONFIG_remove_libc-musl = "elf-tls" +PACKAGECONFIG:remove:libc-musl = "elf-tls" # "gbm" requires "dri", "opengl" -PACKAGECONFIG[gbm] = "-Dgbm=true,-Dgbm=false" +PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled" X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr" # "x11" requires "opengl" PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}" PACKAGECONFIG[elf-tls] = "-Delf-tls=true, -Delf-tls=false" -PACKAGECONFIG[xvmc] = "-Dgallium-xvmc=true,-Dgallium-xvmc=false,libxvmc" +PACKAGECONFIG[xvmc] = "-Dgallium-xvmc=enabled,-Dgallium-xvmc=disabled,libxvmc" PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols" -DRIDRIVERS_class-native = "swrast" -DRIDRIVERS_class-nativesdk = "swrast" -DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915" -DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915" # "dri" requires "opengl" PACKAGECONFIG[dri] = "-Ddri-drivers=${@strip_comma('${DRIDRIVERS}')}, -Ddri-drivers='', xorgproto libdrm" -PACKAGECONFIG[dri3] = "-Ddri3=true, -Ddri3=false, xorgproto libxshmfence" +PACKAGECONFIG[dri3] = "-Ddri3=enabled, -Ddri3=disabled, xorgproto libxshmfence" # Vulkan drivers need dri3 enabled # amd could be enabled as well but requires gallium-llvm with llvm >= 3.9 VULKAN_DRIVERS = "" -VULKAN_DRIVERS_append_x86_class-target = ",intel" -VULKAN_DRIVERS_append_x86-64_class-target = ",intel" -VULKAN_DRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" +VULKAN_DRIVERS:append:x86:class-target = ",intel" +VULKAN_DRIVERS:append:x86-64:class-target = ",intel" +VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" +VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}" PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers=''," PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false" # "gles" requires "opengl" -PACKAGECONFIG[gles] = "-Dgles1=true -Dgles2=true, -Dgles1=false -Dgles2=false" +PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2=disabled" # "egl" requires "dri", "opengl" -PACKAGECONFIG[egl] = "-Degl=true, -Degl=false" +PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled" +PACKAGECONFIG[broadcom] = "" PACKAGECONFIG[etnaviv] = "" PACKAGECONFIG[freedreno] = "" PACKAGECONFIG[kmsro] = "" @@ -140,58 +134,64 @@ PACKAGECONFIG[v3d] = "" GALLIUMDRIVERS = "swrast" # gallium swrast was found to crash Xorg on startup in x32 qemu -GALLIUMDRIVERS_x86-x32 = "" +GALLIUMDRIVERS:x86-x32 = "" +GALLIUMDRIVERS:append:x86:class-target = ",i915,iris,crocus" +GALLIUMDRIVERS:append:x86-64:class-target = ",i915,iris,crocus" -GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" -GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" -GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}" -GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}" -GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}" +GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" +GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" +GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}" +GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}" +GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}" # radeonsi requires LLVM GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}" -GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${GALLIUMDRIVERS_RADEONSI}" +GALLIUMDRIVERS_LLVM = "r300,nouveau${GALLIUMDRIVERS_RADEONSI}" +GALLIUMDRIVERS_LLVM:append:x86:class-target = ",svga" +GALLIUMDRIVERS_LLVM:append:x86-64:class-target = ",svga" PACKAGECONFIG[r600] = "" PACKAGECONFIG[virgl] = "" -GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}" -GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}" -GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}" +GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}" +GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}" +GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}" -PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers=''" -PACKAGECONFIG[gallium-llvm] = "-Dllvm=true -Dshared-llvm=true, -Dllvm=false, llvm${MESA_LLVM_RELEASE} llvm-native \ +PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm" +PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm${MESA_LLVM_RELEASE} llvm-native \ elfutils" -PACKAGECONFIG[xa] = "-Dgallium-xa=true, -Dgallium-xa=false" -PACKAGECONFIG[va] = "-Dgallium-va=true,-Dgallium-va=false,libva-initial" +PACKAGECONFIG[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled" +PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial" -PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=true,-Dgallium-vdpau=false,libvdpau" +PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau" PACKAGECONFIG[lima] = "" -GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}" +GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}" PACKAGECONFIG[panfrost] = "" -GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}" +GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}" -OSMESA = "${@bb.utils.contains('PACKAGECONFIG', 'gallium', 'gallium', 'classic', d)}" -PACKAGECONFIG[osmesa] = "-Dosmesa=${OSMESA},-Dosmesa=none" +PACKAGECONFIG[osmesa] = "-Dosmesa=true,-Dosmesa=false" -PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind" +PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" -# mesa tries to run cross-built gen_matypes on build machine to get struct size information -EXTRA_OEMESON_append = " -Dasm=false" +PACKAGECONFIG[lmsensors] = "-Dlmsensors=enabled,-Dlmsensors=disabled,lmsensors" # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2) -FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer" +FULL_OPTIMIZATION:append = " -fno-omit-frame-pointer" -CFLAGS_append_armv5 = " -DMISSING_64BIT_ATOMICS" -CFLAGS_append_armv6 = " -DMISSING_64BIT_ATOMICS" +CFLAGS:append:armv5 = " -DMISSING_64BIT_ATOMICS" +CFLAGS:append:armv6 = " -DMISSING_64BIT_ATOMICS" # Remove the mesa dependency on mesa-dev, as mesa is empty -RDEPENDS_${PN}-dev = "" +RDEPENDS:${PN}-dev = "" -# Add dependency so that GLES3 header don't need to be added manually -RDEPENDS_libgles2-mesa-dev += "libgles3-mesa-dev" +# Khronos documentation says that include/GLES2/gl2ext.h can be used for +# OpenGL ES 3 specification as well as for OpenGL ES 2. +# There can be applications including GLES2/gl2ext.h instead of GLES3/gl3ext.h +# meaning we should probably bring in GLES2/gl2ext.h if someone asks for +# development package of libgles3. +RDEPENDS:libgles3-mesa-dev += "libgles2-mesa-dev" PACKAGES =+ "libegl-mesa libegl-mesa-dev \ libosmesa libosmesa-dev \ @@ -206,7 +206,7 @@ PACKAGES =+ "libegl-mesa libegl-mesa-dev \ mesa-vdpau-drivers \ " -do_install_append () { +do_install:append () { # Drivers never need libtool .la files rm -f ${D}${libdir}/dri/*.la rm -f ${D}${libdir}/egl/*.la @@ -226,6 +226,9 @@ do_install_append () { # RPROVIDEs/RCONFLICTs on the generic libgl name. python __anonymous() { pkgconfig = (d.getVar('PACKAGECONFIG') or "").split() + suffix = "" + if "-native" in d.getVar("PN"): + suffix = "-native" for p in (("egl", "libegl", "libegl1"), ("dri", "libgl", "libgl1"), ("gles", "libgles1", "libglesv1-cm1"), @@ -234,79 +237,80 @@ python __anonymous() { if not p[0] in pkgconfig: continue mlprefix = d.getVar("MLPREFIX") - fullp = mlprefix + p[1] + "-mesa" + fullp = mlprefix + p[1] + "-mesa" + suffix mlprefix = d.getVar("MLPREFIX") - pkgs = " ".join(mlprefix + x for x in p[1:]) - d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1") - d.appendVar("RREPLACES_" + fullp, pkgs) - d.appendVar("RPROVIDES_" + fullp, pkgs) - d.appendVar("RCONFLICTS_" + fullp, pkgs) + pkgs = " " + " ".join(mlprefix + x + suffix for x in 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, " ${MLPREFIX}mesa-megadriver") + d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}mesa-megadriver" + suffix) # For -dev, the first element is both the Debian and original name - fullp += "-dev" - pkgs = mlprefix + p[1] + "-dev" - d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1") - d.appendVar("RREPLACES_" + fullp, pkgs) - d.appendVar("RPROVIDES_" + fullp, pkgs) - d.appendVar("RCONFLICTS_" + fullp, pkgs) + fullp = mlprefix + p[1] + "-mesa-dev" + suffix + pkgs = " " + mlprefix + p[1] + "-dev" + suffix + 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)) + 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) + dri_pkgs = sorted(os.listdir(dri_drivers_root)) lib_name = d.expand("${MLPREFIX}mesa-megadriver") for p in dri_pkgs: m = re.match(r'^(.*)_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) + 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, r'^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='') } -PACKAGESPLITFUNCS_prepend = "mesa_populate_packages " +PACKAGESPLITFUNCS:prepend = "mesa_populate_packages " PACKAGES_DYNAMIC += "^mesa-driver-.*" - -FILES_mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d/00-mesa-defaults.conf" -FILES_mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${datadir}/vulkan" -FILES_${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*" -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_libxatracker = "${libdir}/libxatracker.so.*" - -FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan ${libdir}/vdpau/*.so" -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_libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \ +PACKAGES_DYNAMIC:class-native = "^mesa-driver-.*-native" + +FILES:mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d/00-mesa-defaults.conf" +FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${datadir}/vulkan" +FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*" +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:libxatracker = "${libdir}/libxatracker.so.*" + +FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan ${libdir}/vdpau/*.so" +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:libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \ ${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \ ${libdir}/pkgconfig/xatracker.pc" # Fix upgrade path from mesa to mesa-megadriver -RREPLACES_mesa-megadriver = "mesa" -RCONFLICTS_mesa-megadriver = "mesa" -RPROVIDES_mesa-megadriver = "mesa" +RREPLACES:mesa-megadriver = "mesa" +RCONFLICTS:mesa-megadriver = "mesa" +RPROVIDES:mesa-megadriver = "mesa" diff --git a/meta/recipes-graphics/mesa/mesa_20.2.1.bb b/meta/recipes-graphics/mesa/mesa_20.2.1.bb deleted file mode 100644 index 96e8aa38d6..0000000000 --- a/meta/recipes-graphics/mesa/mesa_20.2.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -require ${BPN}.inc - diff --git a/meta/recipes-graphics/mesa/mesa_21.3.1.bb b/meta/recipes-graphics/mesa/mesa_21.3.1.bb new file mode 100644 index 0000000000..4cb7e80eb5 --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa_21.3.1.bb @@ -0,0 +1,5 @@ +require ${BPN}.inc +DRIDRIVERS ??= "" +DRIDRIVERS:append:x86:class-target = ",r100,r200,nouveau,i965" +DRIDRIVERS:append:x86-64:class-target = ",r100,r200,nouveau,i965" + diff --git a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb index 4e89d631c3..470a5e9ea9 100644 --- a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb +++ b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb @@ -1,4 +1,5 @@ SUMMARY = "Very simple session manager for X" +DESCRIPTION = "Simple session manager for X, that provides just the right boilerplate to create a session and launch the browser " HOMEPAGE = "http://www.yoctoproject.org" BUGTRACKER = "http://bugzilla.pokylinux.org" @@ -8,16 +9,16 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://mini-x-session;endline=5;md5=b6430bffbcf05f9760e72938826b7487" SECTION = "x11" -RCONFLICTS_${PN} = "matchbox-common" +RCONFLICTS:${PN} = "matchbox-common" SRC_URI = "file://mini-x-session" S = "${WORKDIR}" -RDEPENDS_${PN} = "sudo" +RDEPENDS:${PN} = "sudo" inherit update-alternatives -ALTERNATIVE_${PN} = "x-session-manager" +ALTERNATIVE:${PN} = "x-session-manager" ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/mini-x-session" ALTERNATIVE_PRIORITY = "50" diff --git a/meta/recipes-graphics/mx/mx-1.0/fix-test-includes.patch b/meta/recipes-graphics/mx/mx-1.0/fix-test-includes.patch deleted file mode 100644 index 82c93dd604..0000000000 --- a/meta/recipes-graphics/mx/mx-1.0/fix-test-includes.patch +++ /dev/null @@ -1,20 +0,0 @@ -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/meta/recipes-graphics/mx/mx-1.0_1.4.7.bb b/meta/recipes-graphics/mx/mx-1.0_1.4.7.bb deleted file mode 100644 index 58a6997ffe..0000000000 --- a/meta/recipes-graphics/mx/mx-1.0_1.4.7.bb +++ /dev/null @@ -1,16 +0,0 @@ -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/meta/recipes-graphics/mx/mx.inc b/meta/recipes-graphics/mx/mx.inc deleted file mode 100644 index 714a06f0af..0000000000 --- a/meta/recipes-graphics/mx/mx.inc +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Clutter based UI widget library" -LICENSE = "LGPLv2.1" - -inherit clutter autotools 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/meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb deleted file mode 100644 index 2e7b47dd40..0000000000 --- a/meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb +++ /dev/null @@ -1,22 +0,0 @@ -# -# Copyright (C) 2007 OpenedHand Ltd. -# - -SUMMARY = "Clutter package groups" - -PR = "r6" - -inherit packagegroup 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/meta/recipes-graphics/packagegroups/packagegroup-core-weston.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-weston.bb new file mode 100644 index 0000000000..0ce91ca940 --- /dev/null +++ b/meta/recipes-graphics/packagegroups/packagegroup-core-weston.bb @@ -0,0 +1,15 @@ +SUMMARY = "Basic Weston compositor setup" +DESCRIPTION = "Packages required to set up a basic working Weston session" +PR = "r1" + +inherit packagegroup features_check + +# weston-init requires pam enabled if started via systemd +REQUIRED_DISTRO_FEATURES = "wayland ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}" + +RDEPENDS:${PN} = "\ + weston \ + weston-init \ + weston-examples \ + wayland-utils \ + " diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb index 9ca2705a5f..0185c93354 100644 --- a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb +++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb @@ -6,10 +6,9 @@ inherit packagegroup features_check # rdepends on matchbox-wm REQUIRED_DISTRO_FEATURES = "x11" -RDEPENDS_${PN} = "\ +RDEPENDS:${PN} = "\ packagegroup-core-x11-xserver \ packagegroup-core-x11-utils \ - dbus \ matchbox-terminal \ matchbox-wm \ mini-x-session \ diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb index a0b944a678..3bb308fbba 100644 --- a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb +++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb @@ -14,7 +14,7 @@ REQUIRED_DISTRO_FEATURES = "x11" XSERVER ?= "xserver-xorg xf86-video-fbdev" XSERVERCODECS ?= "" -RDEPENDS_${PN} = "\ +RDEPENDS:${PN} = "\ ${XSERVER} \ ${XSERVERCODECS} \ " diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb index cddf1932f3..9ca058b38b 100644 --- a/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb +++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb @@ -16,13 +16,13 @@ VIRTUAL-RUNTIME_xserver_common ?= "" VIRTUAL-RUNTIME_graphical_init_manager ?= "xserver-nodm-init" SUMMARY = "X11 display server and basic utilities" -RDEPENDS_${PN} = "\ +RDEPENDS:${PN} = "\ ${PN}-xserver \ ${PN}-utils \ " -SUMMARY_${PN}-utils = "X11 basic utilities and init" -RDEPENDS_${PN}-utils = "\ +SUMMARY:${PN}-utils = "X11 basic utilities and init" +RDEPENDS:${PN}-utils = "\ ${VIRTUAL-RUNTIME_xserver_common} \ ${VIRTUAL-RUNTIME_graphical_init_manager} \ xauth \ diff --git a/meta/recipes-graphics/pango/pango_1.46.2.bb b/meta/recipes-graphics/pango/pango_1.48.10.bb index c41d1e8a9b..40df7042e6 100644 --- a/meta/recipes-graphics/pango/pango_1.46.2.bb +++ b/meta/recipes-graphics/pango/pango_1.48.10.bb @@ -13,10 +13,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspection +inherit gnomebase gi-docgen ptest-gnome upstream-version-is-even gobject-introspection -SRC_URI += " file://run-ptest" -SRC_URI[archive.sha256sum] = "d89fab5f26767261b493279b65cfb9eb0955cd44c07c5628d36094609fc51841" +GIR_MESON_ENABLE_FLAG = "enabled" +GIR_MESON_DISABLE_FLAG = "disabled" + +SRC_URI += "file://run-ptest" + +SRC_URI[archive.sha256sum] = "21e1f5798bcdfda75eabc4280514b0896ab56f656d4e7e66030b9a2535ecdc98" DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" @@ -27,21 +31,24 @@ PACKAGECONFIG[x11] = ",,virtual/libx11 libxft" PACKAGECONFIG[tests] = "-Dinstall-tests=true, -Dinstall-tests=false" PACKAGECONFIG[thai] = ",,libthai" -GTKDOC_MESON_OPTION = "gtk_doc" GIR_MESON_OPTION = 'introspection' -do_configure_prepend_toolchain-clang() { +do_configure:prepend() { + chmod +x ${S}/tests/*.py +} + +do_configure:prepend:toolchain-clang() { sed -i -e "/Werror=implicit-fallthrough/d" ${S}/meson.build } LEAD_SONAME = "libpango-1.0*" -FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}" +FILES:${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}" -RDEPENDS_${PN}-ptest += "cantarell-fonts" -RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-en-us" +RDEPENDS:${PN}-ptest += "cantarell-fonts" +RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us" -RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \ +RPROVIDES:${PN} += "pango-modules pango-module-indic-lang \ pango-module-basic-fc pango-module-arabic-lang" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch b/meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch index caa48e088d..7b0cb17925 100644 --- a/meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch +++ b/meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Sun, 1 Nov 2020 20:08:49 +0000 Subject: [PATCH] Add a missing include for htobe32 definition -Upstream-Status: Pending +Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/609] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c | 2 ++ diff --git a/meta/recipes-graphics/piglit/piglit/0001-framework-profile.py-make-test-lists-reproducible.patch b/meta/recipes-graphics/piglit/piglit/0001-framework-profile.py-make-test-lists-reproducible.patch new file mode 100644 index 0000000000..c90f601cfa --- /dev/null +++ b/meta/recipes-graphics/piglit/piglit/0001-framework-profile.py-make-test-lists-reproducible.patch @@ -0,0 +1,31 @@ +From 9086d42df1f3134bafcfe33ff16db7bbb9d9a0fd Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Mon, 30 Nov 2020 23:08:22 +0000 +Subject: [PATCH] framework/profile.py: make test lists reproducible + +These are created with os.walk, which yields different +order depending on where it's run. + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/610] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + framework/profile.py | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/framework/profile.py b/framework/profile.py +index c210e535e..9b5d51d68 100644 +--- a/framework/profile.py ++++ b/framework/profile.py +@@ -528,7 +528,11 @@ class TestProfile(object): + else: + opts[n] = self.test_list[n] + else: +- opts = self.test_list # pylint: disable=redefined-variable-type ++ opts = collections.OrderedDict() ++ test_keys = list(self.test_list.keys()) ++ test_keys.sort() ++ for k in test_keys: ++ opts[k] = self.test_list[k] + + for k, v in self.filters.run(opts.items()): + yield k, v diff --git a/meta/recipes-graphics/piglit/piglit/0001-generated_tests-gen_tcs-tes_input_tests.py-do-not-ha.patch b/meta/recipes-graphics/piglit/piglit/0001-generated_tests-gen_tcs-tes_input_tests.py-do-not-ha.patch new file mode 100644 index 0000000000..cb675e8d99 --- /dev/null +++ b/meta/recipes-graphics/piglit/piglit/0001-generated_tests-gen_tcs-tes_input_tests.py-do-not-ha.patch @@ -0,0 +1,44 @@ +From 1b23539aece156f6fe0789cb988f22e5915228f6 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Tue, 10 Nov 2020 17:12:32 +0000 +Subject: [PATCH 1/2] generated_tests/gen_tcs/tes_input_tests.py: do not + hardcode the full binary path + +This helps reproducibility. + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/610] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + generated_tests/gen_tcs_input_tests.py | 2 +- + generated_tests/gen_tes_input_tests.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/generated_tests/gen_tcs_input_tests.py b/generated_tests/gen_tcs_input_tests.py +index face4f19a..e36671af4 100644 +--- a/generated_tests/gen_tcs_input_tests.py ++++ b/generated_tests/gen_tcs_input_tests.py +@@ -272,7 +272,7 @@ class Test(object): + relative probe rgb (0.75, 0.75) (0.0, 1.0, 0.0) + """) + +- test = test.format(self=self, generator_command=" ".join(sys.argv)) ++ test = test.format(self=self, generator_command="generated_tests/gen_tcs_input_tests.py") + + filename = self.filename() + dirname = os.path.dirname(filename) +diff --git a/generated_tests/gen_tes_input_tests.py b/generated_tests/gen_tes_input_tests.py +index 3d847b5cc..954840b20 100644 +--- a/generated_tests/gen_tes_input_tests.py ++++ b/generated_tests/gen_tes_input_tests.py +@@ -301,7 +301,7 @@ class Test(object): + relative probe rgb (0.75, 0.75) (0.0, 1.0, 0.0) + """) + +- test = test.format(self=self, generator_command=" ".join(sys.argv)) ++ test = test.format(self=self, generator_command="generated_tests/gen_tes_input_tests.py") + + filename = self.filename() + dirname = os.path.dirname(filename) +-- +2.17.1 + diff --git a/meta/recipes-graphics/piglit/piglit/0001-serializer.py-make-.gz-files-reproducible.patch b/meta/recipes-graphics/piglit/piglit/0001-serializer.py-make-.gz-files-reproducible.patch new file mode 100644 index 0000000000..a1db2987ac --- /dev/null +++ b/meta/recipes-graphics/piglit/piglit/0001-serializer.py-make-.gz-files-reproducible.patch @@ -0,0 +1,30 @@ +From 1919bb7f4072d73dcbb64d0e06eff5b04529c3db Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Mon, 16 Nov 2020 18:01:02 +0000 +Subject: [PATCH] serializer.py: make .gz files reproducible + +.gz format contains mtime of the compressed data, and +SOURCE_DATE_EPOCH is the standard way to make it reproducuble. + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/610] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + tests/serializer.py | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/tests/serializer.py b/tests/serializer.py +index bd14bc3db..bc5b45d7f 100644 +--- a/tests/serializer.py ++++ b/tests/serializer.py +@@ -138,7 +138,10 @@ def serializer(name, profile, outfile): + et.SubElement(env, 'env', name=k, value=v) + + tree = et.ElementTree(root) +- with gzip.open(outfile, 'wb') as f: ++ reproducible_mtime = None ++ if 'SOURCE_DATE_EPOCH' in os.environ: ++ reproducible_mtime=os.environ['SOURCE_DATE_EPOCH'] ++ with gzip.GzipFile(outfile, 'wb', mtime=reproducible_mtime) as f: + tree.write(f, encoding='utf-8', xml_declaration=True) + + diff --git a/meta/recipes-graphics/piglit/piglit/0001-tests-shader.py-sort-the-file-list-before-working-on.patch b/meta/recipes-graphics/piglit/piglit/0001-tests-shader.py-sort-the-file-list-before-working-on.patch new file mode 100644 index 0000000000..dee876bcbe --- /dev/null +++ b/meta/recipes-graphics/piglit/piglit/0001-tests-shader.py-sort-the-file-list-before-working-on.patch @@ -0,0 +1,28 @@ +From 5bf89c6a314952313b2b762fff0d5501fe57ac53 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Wed, 2 Dec 2020 21:21:52 +0000 +Subject: [PATCH] tests/shader.py: sort the file list before working on it + +This allows later xml output to be reproducible. + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/610] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + tests/shader.py | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/tests/shader.py b/tests/shader.py +index 849273660..e6e65d1ba 100644 +--- a/tests/shader.py ++++ b/tests/shader.py +@@ -52,7 +52,9 @@ for basedir in [TESTS_DIR, GENERATED_TESTS_DIR]: + for group, files in shader_tests.items(): + assert group not in profile.test_list, 'duplicate group: {}'.format(group) + +- # We'll end up with a list of tuples, split that into two lists ++ # This makes the xml output reproducible, as os.walk() order is random ++ files.sort() ++ # We'll end up with a list of tuples, split that into two list + files, installedfiles = list(zip(*files)) + files = list(files) + installedfiles = list(installedfiles) diff --git a/meta/recipes-graphics/piglit/piglit/0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch b/meta/recipes-graphics/piglit/piglit/0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch new file mode 100644 index 0000000000..16c7c5c803 --- /dev/null +++ b/meta/recipes-graphics/piglit/piglit/0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch @@ -0,0 +1,30 @@ +From 1c67250308a92d4991ed05d9d240090ab84accae Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Tue, 10 Nov 2020 17:13:50 +0000 +Subject: [PATCH 2/2] tests/util/piglit-shader.c: do not hardcode build path + into target binary + +This helps reproducibilty. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + tests/util/piglit-shader.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/util/piglit-shader.c b/tests/util/piglit-shader.c +index 4fd68d21e..c9ea8295e 100644 +--- a/tests/util/piglit-shader.c ++++ b/tests/util/piglit-shader.c +@@ -73,7 +73,7 @@ piglit_compile_shader(GLenum target, const char *filename) + + source_dir = getenv("PIGLIT_SOURCE_DIR"); + if (source_dir == NULL) { +- source_dir = SOURCE_DIR; ++ source_dir = "."; + } + + snprintf(filename_with_path, FILENAME_MAX - 1, +-- +2.17.1 + diff --git a/meta/recipes-graphics/piglit/piglit_git.bb b/meta/recipes-graphics/piglit/piglit_git.bb index a9d1d39dfe..70c7529f91 100644 --- a/meta/recipes-graphics/piglit/piglit_git.bb +++ b/meta/recipes-graphics/piglit/piglit_git.bb @@ -1,17 +1,24 @@ SUMMARY = "OpenGL driver testing framework" DESCRIPTION = "Piglit is an open-source test suite for OpenGL and OpenCL \ implementations." +HOMEPAGE = "https://gitlab.freedesktop.org/mesa/piglit" +BUGTRACKER = "https://gitlab.freedesktop.org/mesa/piglit/-/issues" LICENSE = "MIT & LGPLv2+ & GPLv3 & GPLv2+ & BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0" -SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https \ +SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=main \ file://0001-cmake-install-bash-completions-in-the-right-place.patch \ file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \ file://0001-Add-a-missing-include-for-htobe32-definition.patch \ + file://0001-generated_tests-gen_tcs-tes_input_tests.py-do-not-ha.patch \ + file://0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \ + file://0001-serializer.py-make-.gz-files-reproducible.patch \ + file://0001-framework-profile.py-make-test-lists-reproducible.patch \ + file://0001-tests-shader.py-sort-the-file-list-before-working-on.patch \ " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "59e695c16fdcdd4ea4f16365f0e397a93cef7b80" +SRCREV = "f855ad1c8ab0a7b25437b1a48b9038f599f31691" # (when PV goes above 1.0 remove the trailing r) PV = "1.0+gitr${SRCPV}" @@ -36,9 +43,11 @@ do_compile[dirs] =+ "${B}/temp/" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" PACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut," PACKAGECONFIG[x11] = "-DPIGLIT_BUILD_GL_TESTS=ON,-DPIGLIT_BUILD_GL_TESTS=OFF,${X11_DEPS}, ${X11_RDEPS}" +PACKAGECONFIG[vulkan] = "-DPIGLIT_BUILD_VK_TESTS=ON,-DPIGLIT_BUILD_VK_TESTS=OFF,vulkan-loader" +export PIGLIT_BUILD_DIR = "../../../../git" -do_configure_prepend() { +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 @@ -48,18 +57,18 @@ do_configure_prepend() { # Forcibly strip because Piglit is *huge* OECMAKE_TARGET_INSTALL = "install/strip" -RDEPENDS_${PN} = "waffle waffle-bin python3 python3-mako python3-json \ +RDEPENDS:${PN} = "waffle waffle-bin python3 python3-mako python3-json \ python3-misc \ python3-unixadmin python3-xml python3-multiprocessing \ python3-six python3-shell python3-io \ python3-netserver bash \ " -INSANE_SKIP_${PN} += "dev-so already-stripped" +INSANE_SKIP:${PN} += "dev-so already-stripped" # As nothing builds against Piglit we don't need to have anything in the # sysroot, especially when this is ~2GB of test suite -SYSROOT_DIRS_remove = "${libdir}" +SYSROOT_DIRS:remove = "${libdir}" # Can't be built with ccache CCACHE_DISABLE = "1" diff --git a/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch b/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch deleted file mode 100644 index 7102e25bcf..0000000000 --- a/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 0b9468d4face34879214f500b15e810cdd1a81a1 Mon Sep 17 00:00:00 2001 -From: Niklas Haas <git@haasn.xyz> -Date: Tue, 29 May 2018 07:34:00 +0200 -Subject: [PATCH] Fix the link order of libglslang and libHLSL - -libglslang depends on libHLSL, so the latter needs to be specified last. -This fixes an issue when trying to build shaderc against system-wide -versions of libglslang/libHLSL, rather than the in-tree versions from -third_party. - -Additionally, libshaderc_util also depends on SPIRV-Tools - -Upstream-Status: Backport [21c8be385b3fab5edcb934a6d99f69fd389c4e67] - -Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> - ---- - glslc/CMakeLists.txt | 2 +- - libshaderc_util/CMakeLists.txt | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt -index 31664d1..35b3f19 100644 ---- a/glslc/CMakeLists.txt -+++ b/glslc/CMakeLists.txt -@@ -43,7 +43,7 @@ if (SHADERC_ENABLE_WGSL_OUTPUT) - endif(SHADERC_ENABLE_WGSL_OUTPUT) - - target_link_libraries(glslc PRIVATE -- glslang OSDependent OGLCompiler HLSL glslang SPIRV # Glslang libraries -+ glslang OSDependent OGLCompiler glslang SPIRV HLSL # Glslang libraries - $<$<BOOL:${SHADERC_ENABLE_WGSL_OUTPUT}>:libtint> # Tint libraries, optional - shaderc_util shaderc # internal Shaderc libraries - ${CMAKE_THREAD_LIBS_INIT}) -diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt -index 48f9991..984cc06 100644 ---- a/libshaderc_util/CMakeLists.txt -+++ b/libshaderc_util/CMakeLists.txt -@@ -46,8 +46,8 @@ add_definitions(-DENABLE_HLSL) - - find_package(Threads) - target_link_libraries(shaderc_util PRIVATE -- glslang OSDependent OGLCompiler HLSL glslang SPIRV -- SPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT}) -+ glslang OSDependent OGLCompiler glslang HLSL SPIRV -+ SPIRV-Tools-opt SPIRV-Tools ${CMAKE_THREAD_LIBS_INIT}) - - shaderc_add_tests( - TEST_PREFIX shaderc_util diff --git a/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch b/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch new file mode 100644 index 0000000000..cc9a400028 --- /dev/null +++ b/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch @@ -0,0 +1,109 @@ +From 071a9d71bea91bbefcf15e061fc87e53568f3188 Mon Sep 17 00:00:00 2001 +From: Jose Quaresma <quaresma.jose@gmail.com> +Date: Sat, 13 Feb 2021 00:45:56 +0000 +Subject: [PATCH 1/3] cmake: disable building external dependencies + +- add cmake option to disable the build of the third_party dependencies +- change the update_build_version.py to use pkg-config when third_party dependencies not found + +Upstream-Status: Inappropriate [OE-core specific] + +Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> +--- + CMakeLists.txt | 13 ++++++++++--- + utils/update_build_version.py | 22 +++++++++++++++------- + 2 files changed, 25 insertions(+), 10 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5c74cd8..b358f6b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -41,6 +41,7 @@ else() + endif() + + option(SHADERC_ENABLE_WERROR_COMPILE "Enable passing -Werror to compiler, if available" ON) ++option(BUILD_EXTERNAL "Build external dependencies in /third_party" ON) + + set (CMAKE_CXX_STANDARD 11) + +@@ -101,8 +102,14 @@ endif(MSVC) + + + # Configure subdirectories. +-# We depend on these for later projects, so they should come first. +-add_subdirectory(third_party) ++if(BUILD_EXTERNAL) ++ # We depend on these for later projects, so they should come first. ++ add_subdirectory(third_party) ++else() ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules (PKG_CHECK REQUIRED SPIRV-Tools) ++ pkg_check_modules (PKG_CHECK REQUIRED glslang) ++endif() + + add_subdirectory(libshaderc_util) + add_subdirectory(libshaderc) +@@ -112,7 +119,7 @@ add_subdirectory(examples) + add_custom_target(build-version + ${PYTHON_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py +- ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/build-version.inc ++ ${CMAKE_CURRENT_BINARY_DIR}/build-version.inc ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} + COMMENT "Update build-version.inc in the Shaderc build directory (if necessary).") + + function(define_pkg_config_file NAME LIBS) +diff --git a/utils/update_build_version.py b/utils/update_build_version.py +index 5785390..f72b762 100755 +--- a/utils/update_build_version.py ++++ b/utils/update_build_version.py +@@ -30,6 +30,7 @@ import re + import subprocess + import sys + import time ++import itertools + + def mkdir_p(directory): + """Make the directory, and all its ancestors as required. Any of the +@@ -121,25 +122,32 @@ def get_version_string(project, directory): + directory, which consists of software version string and git description + string.""" + detailed_version_string_lst = [project] +- if project != 'glslang': +- detailed_version_string_lst.append(deduce_software_version(directory)) +- detailed_version_string_lst.append(describe(directory).replace('"', '\\"')) ++ if isinstance(directory, str) and os.path.isdir(directory): ++ if project != 'glslang': ++ detailed_version_string_lst.append(deduce_software_version(directory)) ++ detailed_version_string_lst.append(describe(directory).replace('"', '\\"')) ++ else: ++ if project == 'spirv-tools': ++ project = 'SPIRV-Tools' ++ pkgconfig = ['pkg-config', '--modversion', project] ++ version = subprocess.run(pkgconfig, capture_output=True, text=True).stdout.rstrip() ++ detailed_version_string_lst.append(version) + return ' '.join(detailed_version_string_lst) + + + def main(): +- if len(sys.argv) != 5: +- print(('usage: {} <shaderc-dir> <spirv-tools-dir> <glslang-dir> <output-file>'.format( ++ if len(sys.argv) < 3: ++ print(('usage: {} <output-file> <shaderc-dir> [spirv-tools-dir] [glslang-dir]'.format( + sys.argv[0]))) + sys.exit(1) + + projects = ['shaderc', 'spirv-tools', 'glslang'] + new_content = ''.join([ + '"{}\\n"\n'.format(get_version_string(p, d)) +- for (p, d) in zip(projects, sys.argv[1:]) ++ for (p, d) in itertools.zip_longest(projects, sys.argv[2:]) + ]) + +- output_file = sys.argv[4] ++ output_file = sys.argv[1] + mkdir_p(os.path.dirname(output_file)) + + if os.path.isfile(output_file): +-- +2.30.1 + diff --git a/meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch b/meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch new file mode 100644 index 0000000000..0e8ad7e4d2 --- /dev/null +++ b/meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch @@ -0,0 +1,26 @@ +From d02ad48d5c9b48af70ddea2e6998081347ef82f3 Mon Sep 17 00:00:00 2001 +From: Jose Quaresma <quaresma.jose@gmail.com> +Date: Sat, 13 Feb 2021 00:45:56 +0000 +Subject: [PATCH] libshaderc_util: fix glslang header file location + +Upstream-Status: Pending + +Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> + +--- + libshaderc_util/src/compiler.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libshaderc_util/src/compiler.cc b/libshaderc_util/src/compiler.cc +index 051558b..9c4476c 100644 +--- a/libshaderc_util/src/compiler.cc ++++ b/libshaderc_util/src/compiler.cc +@@ -20,7 +20,7 @@ + #include <thread> + #include <tuple> + +-#include "SPIRV/GlslangToSpv.h" ++#include "glslang/SPIRV/GlslangToSpv.h" + #include "libshaderc_util/format.h" + #include "libshaderc_util/io_shaderc.h" + #include "libshaderc_util/message.h" diff --git a/meta/recipes-graphics/shaderc/files/0003-cmake-de-vendor-libs-and-disable-git-versioning.patch b/meta/recipes-graphics/shaderc/files/0003-cmake-de-vendor-libs-and-disable-git-versioning.patch deleted file mode 100644 index 0d58925adc..0000000000 --- a/meta/recipes-graphics/shaderc/files/0003-cmake-de-vendor-libs-and-disable-git-versioning.patch +++ /dev/null @@ -1,53 +0,0 @@ -From e092619a9ef7910ad56acfb8728c66f0125d176a Mon Sep 17 00:00:00 2001 -From: Jose Quaresma <quaresma.jose@gmail.com> -Date: Sat, 17 Oct 2020 12:51:50 +0100 -Subject: [PATCH 3/3] cmake: de-vendor libs and disable git versioning - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> ---- - CMakeLists.txt | 2 -- - glslc/CMakeLists.txt | 1 - - glslc/src/build-version.inc | 0 - 3 files changed, 3 deletions(-) - create mode 100644 glslc/src/build-version.inc - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a4e779b..cfa7bd8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -70,7 +70,6 @@ endif(MSVC) - - # Configure subdirectories. - # We depend on these for later projects, so they should come first. --add_subdirectory(third_party) - - if(SHADERC_ENABLE_SPVC) - add_subdirectory(libshaderc_spvc) -@@ -79,7 +78,6 @@ endif() - add_subdirectory(libshaderc_util) - add_subdirectory(libshaderc) - add_subdirectory(glslc) --add_subdirectory(examples) - - add_custom_target(build-version - ${PYTHON_EXECUTABLE} -diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt -index 0f5d888..08686e0 100644 ---- a/glslc/CMakeLists.txt -+++ b/glslc/CMakeLists.txt -@@ -26,7 +26,6 @@ shaderc_default_compile_options(glslc_exe) - target_include_directories(glslc_exe PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/.. ${spirv-tools_SOURCE_DIR}/include) - set_target_properties(glslc_exe PROPERTIES OUTPUT_NAME glslc) - target_link_libraries(glslc_exe PRIVATE glslc shaderc_util shaderc) --add_dependencies(glslc_exe build-version) - - shaderc_add_tests( - TEST_PREFIX glslc -diff --git a/glslc/src/build-version.inc b/glslc/src/build-version.inc -new file mode 100644 -index 0000000..e69de29 --- -2.28.0 - diff --git a/meta/recipes-graphics/shaderc/shaderc_2020.3.bb b/meta/recipes-graphics/shaderc/shaderc_2020.3.bb deleted file mode 100644 index f5edf53caf..0000000000 --- a/meta/recipes-graphics/shaderc/shaderc_2020.3.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "A collection of tools, libraries and tests for shader compilation" -DESCRIPTION = "The Shaderc library provides an API for compiling GLSL/HLSL \ -source code to SPIRV modules. It has been shipping in the Android NDK since version r12b." -SECTION = "graphics" -HOMEPAGE = "https://github.com/google/shaderc" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" - -SRCREV = "1fce59794079f90ceb091190adbbb5499acd4e95" -SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \ - file://0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch \ - file://0003-cmake-de-vendor-libs-and-disable-git-versioning.patch \ - " -S = "${WORKDIR}/git" - -inherit cmake python3native - -DEPENDS = "spirv-tools glslang" - -EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DSHADERC_SKIP_TESTS=ON" - -do_configure_prepend() { - # TODO: probably there is better solution for this. - # I dont know any method for get the version of a receipe in DEPENDS - # so do this ugly hack - cat <<- EOF > ${S}/glslc/src/build-version.inc -"${PV}\\n" -"$(pkg-config --modversion SPIRV-Tools)\\n" -"$(glslangValidator --version | head -1 | cut -d' ' -f3)\\n" -EOF -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/shaderc/shaderc_2021.3.bb b/meta/recipes-graphics/shaderc/shaderc_2021.3.bb new file mode 100644 index 0000000000..cc2cfc18a8 --- /dev/null +++ b/meta/recipes-graphics/shaderc/shaderc_2021.3.bb @@ -0,0 +1,29 @@ +SUMMARY = "A collection of tools, libraries and tests for shader compilation" +DESCRIPTION = "The Shaderc library provides an API for compiling GLSL/HLSL \ +source code to SPIRV modules. It has been shipping in the Android NDK since version r12b." +SECTION = "graphics" +HOMEPAGE = "https://github.com/google/shaderc" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRCREV = "6fabc36fbebacfcef8cf82463df2a8247120ebf0" +SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \ + file://0001-cmake-disable-building-external-dependencies.patch \ + file://0002-libshaderc_util-fix-glslang-header-file-location.patch \ + " +UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$" +S = "${WORKDIR}/git" + +inherit cmake python3native pkgconfig + +DEPENDS = "spirv-headers spirv-tools glslang" + +EXTRA_OECMAKE = " \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_EXTERNAL=OFF \ + -DSHADERC_SKIP_TESTS=ON \ + -DSHADERC_SKIP_EXAMPLES=ON \ + -DSHADERC_SKIP_COPYRIGHT_CHECK=ON \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch b/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch deleted file mode 100644 index 5d37da8fe0..0000000000 --- a/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch +++ /dev/null @@ -1,35 +0,0 @@ -From caf59c46ea5dc49e4dbf756c642b03e52c1b5468 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 20 Dec 2019 07:02:24 -0800 -Subject: [PATCH] Respect CMAKE_INSTALL_LIBDIR in installed CMake files - -Upstream-Status: Submitted [https://github.com/google/effcee/pull/36] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - CMakeLists.txt | 1 + - effcee/CMakeLists.txt | 4 ++-- - 2 files changed, 3 insertions(+), 2 deletions(-) - ---- a/external/effcee/CMakeLists.txt -+++ b/external/effcee/CMakeLists.txt -@@ -27,6 +27,7 @@ endif() - - include(cmake/setup_build.cmake) - include(cmake/utils.cmake) -+include(GNUInstallDirs) - - add_subdirectory(third_party) - add_subdirectory(effcee) ---- a/external/effcee/effcee/CMakeLists.txt -+++ b/external/effcee/effcee/CMakeLists.txt -@@ -14,8 +14,8 @@ install( - DESTINATION - include/effcee) - install(TARGETS effcee -- LIBRARY DESTINATION lib -- ARCHIVE DESTINATION lib) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - - if(EFFCEE_BUILD_TESTING) - add_executable(effcee-test diff --git a/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb b/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb new file mode 100644 index 0000000000..522708618e --- /dev/null +++ b/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb @@ -0,0 +1,18 @@ +SUMMARY = "Machine-readable files for the SPIR-V Registry" +DESCRIPTION = "Headers are provided in the include directory, with up-to-date \ +headers in the unified1 subdirectory. Older headers are provided according to \ +their version." +SECTION = "graphics" +HOMEPAGE = "https://www.khronos.org/registry/spir-v" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d" + +SRCREV = "814e728b30ddd0f4509233099a3ad96fd4318c07" +SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=master" +UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$" +S = "${WORKDIR}/git" +PV .= "+git${SRCPV}" + +inherit cmake + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/spir/spirv-tools_2020.5.bb b/meta/recipes-graphics/spir/spirv-tools_2020.5.bb deleted file mode 100644 index 5e42987240..0000000000 --- a/meta/recipes-graphics/spir/spirv-tools_2020.5.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "The SPIR-V Tools project provides an API and commands for \ -processing SPIR-V modules" -DESCRIPTION = "The project includes an assembler, binary module parser, \ -disassembler, validator, and optimizer for SPIR-V." -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" -SECTION = "graphics" - -S = "${WORKDIR}/git" -DEST_DIR = "${S}/external" -SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;name=spirv-tools \ - git://github.com/KhronosGroup/SPIRV-Headers.git;name=spirv-headers;destsuffix=${DEST_DIR}/spirv-headers \ - git://github.com/google/effcee.git;name=effcee;destsuffix=${DEST_DIR}/effcee \ - git://github.com/google/re2.git;name=re2;destsuffix=${DEST_DIR}/re2 \ - git://github.com/google/googletest.git;name=googletest;destsuffix=${DEST_DIR}/googletest \ - file://0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch;destsuffix=${DEST_DIR}/effcee \ -" -SRCREV_spirv-tools = "b27e039c68dd9eb959bb9249fcb2c9a54841474b" -SRCREV_spirv-headers = "3fdabd0da2932c276b25b9b4a988ba134eba1aa6" -SRCREV_effcee = "cd25ec17e9382f99a895b9ef53ff3c277464d07d" -SRCREV_re2 = "5bd613749fd530b576b890283bfb6bc6ea6246cb" -SRCREV_googletest = "f2fb48c3b3d79a75a88a99fba6576b25d42ec528" - -inherit cmake python3native - -EXTRA_OECMAKE += "-DSPIRV_WERROR=OFF" - -do_install_append() { - install -d ${D}/${includedir}/spirv - install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}${includedir}/spirv - install -d ${D}/${includedir}/spirv/unified1 - install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/unified1/* ${D}${includedir}/spirv/unified1 -} - -FILES_SOLIBSDEV = "" -FILES_${PN} += "${libdir}/*.so" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/spir/spirv-tools_2021.4.bb b/meta/recipes-graphics/spir/spirv-tools_2021.4.bb new file mode 100644 index 0000000000..ed56f4668f --- /dev/null +++ b/meta/recipes-graphics/spir/spirv-tools_2021.4.bb @@ -0,0 +1,40 @@ +SUMMARY = "The SPIR-V Tools project provides an API and commands for \ +processing SPIR-V modules" +DESCRIPTION = "The project includes an assembler, binary module parser, \ +disassembler, validator, and optimizer for SPIR-V." +HOMEPAGE = "https://github.com/KhronosGroup/SPIRV-Tools" +SECTION = "graphics" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRCREV = "ab8eb607750208066e2d57eff6a34dbaf05f5ada" +SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=master;protocol=https" +UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$" +S = "${WORKDIR}/git" + +inherit cmake python3native + +DEPENDS = "spirv-headers" + +EXTRA_OECMAKE += "\ + -DSPIRV-Headers_SOURCE_DIR=${STAGING_EXECPREFIXDIR} \ + -DSPIRV_TOOLS_BUILD_STATIC=OFF \ + -DBUILD_SHARED_LIBS=ON \ + -DSPIRV_SKIP_TESTS=ON \ +" + +do_install:append:class-target() { + # reproducibility: remove build host path + sed -i ${D}${libdir}/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake \ + -e 's:${STAGING_DIR_HOST}::g' +} + +# all the libraries are unversioned, so don't pack it on PN-dev +SOLIBS = ".so" +FILES_SOLIBSDEV = "" + +PACKAGES =+ "${PN}-lesspipe" +FILES:${PN}-lesspipe = "${base_bindir}/spirv-lesspipe.sh" +RDEPENDS:${PN}-lesspipe += "${PN} bash" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb b/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb index d10bddb529..f69e4838f4 100644 --- a/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb +++ b/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb @@ -1,6 +1,9 @@ SUMMARY = "Enables monitoring and display of application startup" +DESCRIPTION = "Contains a reference implementation of the startup notification protocol. \ +The reference implementation is mostly under an X Window System style license, and has \ +no special dependencies. " HOMEPAGE = "http://www.freedesktop.org/wiki/Software/startup-notification/" -BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=Specifications" +BUGTRACKER = "https://gitlab.freedesktop.org/xdg/startup-notification/-/issues" # most files are under MIT, but libsn/sn-util.c is under LGPL, the # effective license is LGPL diff --git a/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb b/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb index f5df9efa3b..32247b09c8 100644 --- a/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb +++ b/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb @@ -2,7 +2,7 @@ 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/" +HOMEPAGE = "https://github.com/liberationfonts/liberation-fonts" BUGTRACKER = "https://bugzilla.redhat.com/" SECTION = "x11/fonts" @@ -10,17 +10,14 @@ 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 \ +SRC_URI = "https://github.com/liberationfonts/liberation-fonts/files/7261482/liberation-fonts-ttf-${PV}.tar.gz \ file://30-liberation-aliases.conf" +SRC_URI[sha256sum] = "7191c669bf38899f73a2094ed00f7b800553364f90e2637010a69c0e268f25d0" +UPSTREAM_CHECK_URI = "https://github.com/liberationfonts/liberation-fonts/releases" S = "${WORKDIR}/liberation-fonts-ttf-${PV}" -SRC_URI[md5sum] = "5c781723a0d9ed6188960defba8e91cf" -SRC_URI[sha256sum] = "7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504" +inherit allarch fontcache do_install () { install -d ${D}${datadir}/fonts/ttf/ @@ -36,6 +33,6 @@ do_install () { } PACKAGES = "${PN}" -FILES_${PN} += "${sysconfdir} ${datadir}" +FILES:${PN} += "${sysconfdir} ${datadir}" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb b/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb index 3e1ba196b5..1f1ad83e0b 100644 --- a/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb +++ b/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb @@ -1,4 +1,5 @@ SUMMARY = "The Bitstream Vera fonts - TTF Edition" +HOMEPAGE = "https://www.gnome.org/fonts/" 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 \ @@ -7,10 +8,13 @@ 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" +PR = "r8" inherit allarch fontcache +# remove at next version upgrade or when output changes +HASHEQUIV_HASH_VERSION .= ".1" + FONT_PACKAGES = "${PN}" SRC_URI = "${GNOME_MIRROR}/ttf-bitstream-vera/1.10/ttf-bitstream-vera-${PV}.tar.bz2" @@ -29,4 +33,4 @@ do_install () { done } -FILES_${PN} = "${datadir}/fonts" +FILES:${PN} = "${datadir}/fonts" diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch b/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch deleted file mode 100644 index a0ac3aefdd..0000000000 --- a/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 3d30df8d8ccb919733b5339b2a82474305b83998 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 6 Aug 2019 01:19:48 +0000 -Subject: [PATCH] gallium: Expand libc check to be platform OS check - -endianness on musl based systems can also be detected in same way as -glibc, therefore check for __linux__ define instead of __GLIBC__ - -Fixes build on musl/mips - -| ../../../../git/src/gallium/include/pipe/p_config.h:171:2: error: #error Unknown Endianness -| #error Unknown Endianness -| ^~~~~ - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/gallium/include/pipe/p_config.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h -index d603681..71cdf49 100644 ---- a/src/gallium/include/pipe/p_config.h -+++ b/src/gallium/include/pipe/p_config.h -@@ -130,7 +130,7 @@ - * Endian detection. - */ - --#ifdef __GLIBC__ -+#ifdef __linux__ - #include <endian.h> - - #if __BYTE_ORDER == __LITTLE_ENDIAN --- -2.17.1 - diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.2.bb b/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb index 52821195d1..65bd1af942 100644 --- a/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.2.bb +++ b/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb @@ -8,10 +8,9 @@ HOMEPAGE = "https://virgil3d.github.io/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10" -DEPENDS = "libdrm virtual/libgl libepoxy" -SRCREV = "7d204f3927be65fb3365dce01dbcd04d447a4985" -SRC_URI = "git://anongit.freedesktop.org/virglrenderer \ - file://0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch \ +DEPENDS = "libdrm virtual/libgl virtual/libgbm libepoxy" +SRCREV = "363915595e05fb252e70d6514be2f0c0b5ca312b" +SRC_URI = "git://anongit.freedesktop.org/virglrenderer;branch=branch-0.9.1 \ file://0001-meson.build-use-python3-directly-for-python.patch \ " diff --git a/meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch b/meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch deleted file mode 100644 index 34c5bfa857..0000000000 --- a/meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 58f576d6f240b08957a402960cdf06c74201ac7b Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Thu, 12 Dec 2019 22:16:15 -0800 -Subject: [PATCH] Use ASSIMP_LIB_INSTALL_DIR to search library - -Use ASSIMP_LIB_INSTALL_DIR rather than hardcoded /lib to search library - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> - ---- - assimpTargets-release.cmake.in | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/assimpTargets-release.cmake.in b/assimpTargets-release.cmake.in -index f3db8f1..b8a066a 100644 ---- a/assimpTargets-release.cmake.in -+++ b/assimpTargets-release.cmake.in -@@ -42,11 +42,11 @@ if(MSVC) - # Import target "assimp::assimp" for configuration "Release" - set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) - set_target_properties(assimp::assimp PROPERTIES -- IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/${importLibraryName}" -+ IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${importLibraryName}" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" - ) - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) -- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${importLibraryName}") -+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${importLibraryName}") - list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" ) - else() - set(staticLibraryName "assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@") -@@ -54,10 +54,10 @@ if(MSVC) - # Import target "assimp::assimp" for configuration "Release" - set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) - set_target_properties(assimp::assimp PROPERTIES -- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}" -+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}" - ) - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) -- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}") -+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}") - endif() - - else() -@@ -70,17 +70,17 @@ else() - endif() - set_target_properties(assimp::assimp PROPERTIES - IMPORTED_SONAME_RELEASE "${sharedLibraryName}" -- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" -+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${sharedLibraryName}" - ) - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) -- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" ) -+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${sharedLibraryName}" ) - else() - set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@") - set_target_properties(assimp::assimp PROPERTIES -- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}" -+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}" - ) - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) -- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}" ) -+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}" ) - endif() - endif() - diff --git a/meta/recipes-graphics/vulkan/assimp/0001-closes-https-github.com-assimp-assimp-issues-2733-up.patch b/meta/recipes-graphics/vulkan/assimp/0001-closes-https-github.com-assimp-assimp-issues-2733-up.patch deleted file mode 100644 index 87a1658710..0000000000 --- a/meta/recipes-graphics/vulkan/assimp/0001-closes-https-github.com-assimp-assimp-issues-2733-up.patch +++ /dev/null @@ -1,1664 +0,0 @@ -From 7fc220b2350d78942fb3935cad0b1564418ebe8f Mon Sep 17 00:00:00 2001 -From: Kim Kulling <kim.kulling@googlemail.com> -Date: Tue, 19 Nov 2019 20:30:40 +0100 -Subject: [PATCH] closes https://github.com/assimp/assimp/issues/2733: update - of zlip to fix gcc build for v9.2.0 32 bit - -Upstream-Status: Backport [https://github.com/assimp/assimp/commit/f78446b14aff46db2ef27d062a275b6a01fd68b1] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - contrib/zip/.gitignore | 2 + - contrib/zip/CMakeLists.txt | 83 +++++- - contrib/zip/README.md | 12 +- - contrib/zip/appveyor.yml | 2 +- - contrib/zip/src/miniz.h | 457 ++++++++++++++++++++++++++++---- - contrib/zip/src/zip.c | 62 +++-- - contrib/zip/src/zip.h | 457 ++++++++++++++++---------------- - contrib/zip/test/CMakeLists.txt | 27 +- - contrib/zip/test/test.c | 38 ++- - contrib/zip/test/test_miniz.c | 25 +- - 10 files changed, 821 insertions(+), 344 deletions(-) - -diff --git a/contrib/zip/.gitignore b/contrib/zip/.gitignore -index a7904a1e..49b2cb2f 100644 ---- a/contrib/zip/.gitignore -+++ b/contrib/zip/.gitignore -@@ -1,6 +1,7 @@ - /build/ - /test/build/ - /xcodeproj/ -+.vscode/ - - # Object files - *.o -@@ -54,3 +55,4 @@ zip.dir/ - test/test.exe.vcxproj.filters - test/test.exe.vcxproj - test/test.exe.dir/ -+ -diff --git a/contrib/zip/CMakeLists.txt b/contrib/zip/CMakeLists.txt -index b46dbb1d..77916d2e 100644 ---- a/contrib/zip/CMakeLists.txt -+++ b/contrib/zip/CMakeLists.txt -@@ -1,10 +1,14 @@ --cmake_minimum_required(VERSION 2.8) --project(zip) --enable_language(C) -+cmake_minimum_required(VERSION 3.0) -+ -+project(zip -+ LANGUAGES C -+ VERSION "0.1.15") - set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) - -+option(CMAKE_DISABLE_TESTING "Disable test creation" OFF) -+ - if (MSVC) -- # Use secure functions by defaualt and suppress warnings about "deprecated" functions -+ # Use secure functions by default and suppress warnings about "deprecated" functions - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_NONSTDC_NO_WARNINGS=1 /D _CRT_SECURE_NO_WARNINGS=1") -@@ -12,28 +16,80 @@ elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR - "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" OR - "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wall -Wextra -Werror -pedantic") -+ if(ENABLE_COVERAGE) -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage") -+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage") -+ endif() - endif (MSVC) - - # zip - set(SRC src/miniz.h src/zip.h src/zip.c) - add_library(${PROJECT_NAME} ${SRC}) --target_include_directories(${PROJECT_NAME} INTERFACE src) -+target_include_directories(${PROJECT_NAME} PUBLIC -+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src> -+ $<INSTALL_INTERFACE:include> -+) - - # test - if (NOT CMAKE_DISABLE_TESTING) - enable_testing() - add_subdirectory(test) - find_package(Sanitizers) -- add_sanitizers(${PROJECT_NAME} test.exe) -- add_sanitizers(${PROJECT_NAME} test_miniz.exe) -+ add_sanitizers(${PROJECT_NAME} ${test_out} ${test_miniz_out}) - endif() - -+#### -+# Installation (https://github.com/forexample/package-example) { -+ -+set(CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}") -+set(INCLUDE_INSTALL_DIR "include") -+ -+set(GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") -+ -+# Configuration -+set(VERSION_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake") -+set(PROJECT_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}Config.cmake") -+set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") -+set(NAMESPACE "${PROJECT_NAME}::") -+ -+# Include module with fuction 'write_basic_package_version_file' -+include(CMakePackageConfigHelpers) -+ -+# Note: PROJECT_VERSION is used as a VERSION -+write_basic_package_version_file( -+ "${VERSION_CONFIG}" COMPATIBILITY SameMajorVersion -+) -+ -+# Use variables: -+# * TARGETS_EXPORT_NAME -+# * PROJECT_NAME -+configure_package_config_file( -+ "cmake/Config.cmake.in" -+ "${PROJECT_CONFIG}" -+ INSTALL_DESTINATION "${CONFIG_INSTALL_DIR}" -+) -+ -+install( -+ FILES "${PROJECT_CONFIG}" "${VERSION_CONFIG}" -+ DESTINATION "${CONFIG_INSTALL_DIR}" -+) -+ -+install( -+ EXPORT "${TARGETS_EXPORT_NAME}" -+ NAMESPACE "${NAMESPACE}" -+ DESTINATION "${CONFIG_INSTALL_DIR}" -+) -+ -+# } -+ - install(TARGETS ${PROJECT_NAME} -+ EXPORT ${TARGETS_EXPORT_NAME} - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib -- COMPONENT library) --install(FILES ${PROJECT_SOURCE_DIR}/src/zip.h DESTINATION include) -+ INCLUDES DESTINATION ${INCLUDE_INSTALL_DIR} -+) -+install(FILES ${PROJECT_SOURCE_DIR}/src/zip.h DESTINATION ${INCLUDE_INSTALL_DIR}/zip) - - # uninstall target (https://gitlab.kitware.com/cmake/community/wikis/FAQ#can-i-do-make-uninstall-with-cmake) - if(NOT TARGET uninstall) -@@ -45,3 +101,12 @@ if(NOT TARGET uninstall) - add_custom_target(uninstall - COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake_uninstall.cmake) - endif() -+ -+find_package(Doxygen) -+if(DOXYGEN_FOUND) -+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) -+ add_custom_target(doc -+ ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile -+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} -+ COMMENT "Generating API documentation with Doxygen" VERBATIM) -+endif() -diff --git a/contrib/zip/README.md b/contrib/zip/README.md -index d5fb8cd2..14eb9a34 100644 ---- a/contrib/zip/README.md -+++ b/contrib/zip/README.md -@@ -71,7 +71,7 @@ int arg = 2; - zip_extract("foo.zip", "/tmp", on_extract_entry, &arg); - ``` - --* Extract a zip entry into memory. -+* Extract a zip entry into memory. - ```c - void *buf = NULL; - size_t bufsize; -@@ -89,7 +89,7 @@ zip_close(zip); - free(buf); - ``` - --* Extract a zip entry into memory (no internal allocation). -+* Extract a zip entry into memory (no internal allocation). - ```c - unsigned char *buf; - size_t bufsize; -@@ -110,7 +110,7 @@ zip_close(zip); - free(buf); - ``` - --* Extract a zip entry into memory using callback. -+* Extract a zip entry into memory using callback. - ```c - struct buffer_t { - char *data; -@@ -144,7 +144,7 @@ free(buf.data); - ``` - - --* Extract a zip entry into a file. -+* Extract a zip entry into a file. - ```c - struct zip_t *zip = zip_open("foo.zip", 0, 'r'); - { -@@ -157,7 +157,7 @@ struct zip_t *zip = zip_open("foo.zip", 0, 'r'); - zip_close(zip); - ``` - --* List of all zip entries -+* List of all zip entries - ```c - struct zip_t *zip = zip_open("foo.zip", 0, 'r'); - int i, n = zip_total_entries(zip); -@@ -174,7 +174,7 @@ for (i = 0; i < n; ++i) { - zip_close(zip); - ``` - --## Bindings -+# Bindings - Compile zip library as a dynamic library. - ```shell - $ mkdir build -diff --git a/contrib/zip/appveyor.yml b/contrib/zip/appveyor.yml -index 0be6373c..ea17f5de 100644 ---- a/contrib/zip/appveyor.yml -+++ b/contrib/zip/appveyor.yml -@@ -1,4 +1,4 @@ --version: zip-0.1.9.{build} -+version: zip-0.1.15.{build} - build_script: - - cmd: >- - cd c:\projects\zip -diff --git a/contrib/zip/src/miniz.h b/contrib/zip/src/miniz.h -index 2c27a94d..c4fcfb83 100644 ---- a/contrib/zip/src/miniz.h -+++ b/contrib/zip/src/miniz.h -@@ -221,6 +221,7 @@ - #ifndef MINIZ_HEADER_INCLUDED - #define MINIZ_HEADER_INCLUDED - -+#include <stdint.h> - #include <stdlib.h> - - // Defines to completely disable specific portions of miniz.c: -@@ -284,7 +285,8 @@ - /* Set MINIZ_USE_UNALIGNED_LOADS_AND_STORES only if not set */ - #if !defined(MINIZ_USE_UNALIGNED_LOADS_AND_STORES) - #if MINIZ_X86_OR_X64_CPU --/* Set MINIZ_USE_UNALIGNED_LOADS_AND_STORES to 1 on CPU's that permit efficient integer loads and stores from unaligned addresses. */ -+/* Set MINIZ_USE_UNALIGNED_LOADS_AND_STORES to 1 on CPU's that permit efficient -+ * integer loads and stores from unaligned addresses. */ - #define MINIZ_USE_UNALIGNED_LOADS_AND_STORES 1 - #define MINIZ_UNALIGNED_USE_MEMCPY - #else -@@ -354,6 +356,44 @@ enum { - MZ_FIXED = 4 - }; - -+/* miniz error codes. Be sure to update mz_zip_get_error_string() if you add or -+ * modify this enum. */ -+typedef enum { -+ MZ_ZIP_NO_ERROR = 0, -+ MZ_ZIP_UNDEFINED_ERROR, -+ MZ_ZIP_TOO_MANY_FILES, -+ MZ_ZIP_FILE_TOO_LARGE, -+ MZ_ZIP_UNSUPPORTED_METHOD, -+ MZ_ZIP_UNSUPPORTED_ENCRYPTION, -+ MZ_ZIP_UNSUPPORTED_FEATURE, -+ MZ_ZIP_FAILED_FINDING_CENTRAL_DIR, -+ MZ_ZIP_NOT_AN_ARCHIVE, -+ MZ_ZIP_INVALID_HEADER_OR_CORRUPTED, -+ MZ_ZIP_UNSUPPORTED_MULTIDISK, -+ MZ_ZIP_DECOMPRESSION_FAILED, -+ MZ_ZIP_COMPRESSION_FAILED, -+ MZ_ZIP_UNEXPECTED_DECOMPRESSED_SIZE, -+ MZ_ZIP_CRC_CHECK_FAILED, -+ MZ_ZIP_UNSUPPORTED_CDIR_SIZE, -+ MZ_ZIP_ALLOC_FAILED, -+ MZ_ZIP_FILE_OPEN_FAILED, -+ MZ_ZIP_FILE_CREATE_FAILED, -+ MZ_ZIP_FILE_WRITE_FAILED, -+ MZ_ZIP_FILE_READ_FAILED, -+ MZ_ZIP_FILE_CLOSE_FAILED, -+ MZ_ZIP_FILE_SEEK_FAILED, -+ MZ_ZIP_FILE_STAT_FAILED, -+ MZ_ZIP_INVALID_PARAMETER, -+ MZ_ZIP_INVALID_FILENAME, -+ MZ_ZIP_BUF_TOO_SMALL, -+ MZ_ZIP_INTERNAL_ERROR, -+ MZ_ZIP_FILE_NOT_FOUND, -+ MZ_ZIP_ARCHIVE_TOO_LARGE, -+ MZ_ZIP_VALIDATION_FAILED, -+ MZ_ZIP_WRITE_CALLBACK_FAILED, -+ MZ_ZIP_TOTAL_ERRORS -+} mz_zip_error; -+ - // Method - #define MZ_DEFLATED 8 - -@@ -696,6 +736,7 @@ typedef size_t (*mz_file_read_func)(void *pOpaque, mz_uint64 file_ofs, - void *pBuf, size_t n); - typedef size_t (*mz_file_write_func)(void *pOpaque, mz_uint64 file_ofs, - const void *pBuf, size_t n); -+typedef mz_bool (*mz_file_needs_keepalive)(void *pOpaque); - - struct mz_zip_internal_state_tag; - typedef struct mz_zip_internal_state_tag mz_zip_internal_state; -@@ -707,13 +748,27 @@ typedef enum { - MZ_ZIP_MODE_WRITING_HAS_BEEN_FINALIZED = 3 - } mz_zip_mode; - --typedef struct mz_zip_archive_tag { -+typedef enum { -+ MZ_ZIP_TYPE_INVALID = 0, -+ MZ_ZIP_TYPE_USER, -+ MZ_ZIP_TYPE_MEMORY, -+ MZ_ZIP_TYPE_HEAP, -+ MZ_ZIP_TYPE_FILE, -+ MZ_ZIP_TYPE_CFILE, -+ MZ_ZIP_TOTAL_TYPES -+} mz_zip_type; -+ -+typedef struct { - mz_uint64 m_archive_size; - mz_uint64 m_central_directory_file_ofs; -- mz_uint m_total_files; -+ -+ /* We only support up to UINT32_MAX files in zip64 mode. */ -+ mz_uint32 m_total_files; - mz_zip_mode m_zip_mode; -+ mz_zip_type m_zip_type; -+ mz_zip_error m_last_error; - -- mz_uint m_file_offset_alignment; -+ mz_uint64 m_file_offset_alignment; - - mz_alloc_func m_pAlloc; - mz_free_func m_pFree; -@@ -722,6 +777,7 @@ typedef struct mz_zip_archive_tag { - - mz_file_read_func m_pRead; - mz_file_write_func m_pWrite; -+ mz_file_needs_keepalive m_pNeeds_keepalive; - void *m_pIO_opaque; - - mz_zip_internal_state *m_pState; -@@ -1263,6 +1319,9 @@ mz_uint tdefl_create_comp_flags_from_zip_params(int level, int window_bits, - int strategy); - #endif // #ifndef MINIZ_NO_ZLIB_APIS - -+#define MZ_UINT16_MAX (0xFFFFU) -+#define MZ_UINT32_MAX (0xFFFFFFFFU) -+ - #ifdef __cplusplus - } - #endif -@@ -1311,6 +1370,11 @@ typedef unsigned char mz_validate_uint64[sizeof(mz_uint64) == 8 ? 1 : -1]; - ((mz_uint32)(((const mz_uint8 *)(p))[3]) << 24U)) - #endif - -+#define MZ_READ_LE64(p) \ -+ (((mz_uint64)MZ_READ_LE32(p)) | \ -+ (((mz_uint64)MZ_READ_LE32((const mz_uint8 *)(p) + sizeof(mz_uint32))) \ -+ << 32U)) -+ - #ifdef _MSC_VER - #define MZ_FORCEINLINE __forceinline - #elif defined(__GNUC__) -@@ -4160,6 +4224,17 @@ enum { - MZ_ZIP_LOCAL_DIR_HEADER_SIZE = 30, - MZ_ZIP_CENTRAL_DIR_HEADER_SIZE = 46, - MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE = 22, -+ -+ /* ZIP64 archive identifier and record sizes */ -+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIG = 0x06064b50, -+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIG = 0x07064b50, -+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE = 56, -+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE = 20, -+ MZ_ZIP64_EXTENDED_INFORMATION_FIELD_HEADER_ID = 0x0001, -+ MZ_ZIP_DATA_DESCRIPTOR_ID = 0x08074b50, -+ MZ_ZIP_DATA_DESCRIPTER_SIZE64 = 24, -+ MZ_ZIP_DATA_DESCRIPTER_SIZE32 = 16, -+ - // Central directory header record offsets - MZ_ZIP_CDH_SIG_OFS = 0, - MZ_ZIP_CDH_VERSION_MADE_BY_OFS = 4, -@@ -4199,6 +4274,31 @@ enum { - MZ_ZIP_ECDH_CDIR_SIZE_OFS = 12, - MZ_ZIP_ECDH_CDIR_OFS_OFS = 16, - MZ_ZIP_ECDH_COMMENT_SIZE_OFS = 20, -+ -+ /* ZIP64 End of central directory locator offsets */ -+ MZ_ZIP64_ECDL_SIG_OFS = 0, /* 4 bytes */ -+ MZ_ZIP64_ECDL_NUM_DISK_CDIR_OFS = 4, /* 4 bytes */ -+ MZ_ZIP64_ECDL_REL_OFS_TO_ZIP64_ECDR_OFS = 8, /* 8 bytes */ -+ MZ_ZIP64_ECDL_TOTAL_NUMBER_OF_DISKS_OFS = 16, /* 4 bytes */ -+ -+ /* ZIP64 End of central directory header offsets */ -+ MZ_ZIP64_ECDH_SIG_OFS = 0, /* 4 bytes */ -+ MZ_ZIP64_ECDH_SIZE_OF_RECORD_OFS = 4, /* 8 bytes */ -+ MZ_ZIP64_ECDH_VERSION_MADE_BY_OFS = 12, /* 2 bytes */ -+ MZ_ZIP64_ECDH_VERSION_NEEDED_OFS = 14, /* 2 bytes */ -+ MZ_ZIP64_ECDH_NUM_THIS_DISK_OFS = 16, /* 4 bytes */ -+ MZ_ZIP64_ECDH_NUM_DISK_CDIR_OFS = 20, /* 4 bytes */ -+ MZ_ZIP64_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS = 24, /* 8 bytes */ -+ MZ_ZIP64_ECDH_CDIR_TOTAL_ENTRIES_OFS = 32, /* 8 bytes */ -+ MZ_ZIP64_ECDH_CDIR_SIZE_OFS = 40, /* 8 bytes */ -+ MZ_ZIP64_ECDH_CDIR_OFS_OFS = 48, /* 8 bytes */ -+ MZ_ZIP_VERSION_MADE_BY_DOS_FILESYSTEM_ID = 0, -+ MZ_ZIP_DOS_DIR_ATTRIBUTE_BITFLAG = 0x10, -+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_IS_ENCRYPTED = 1, -+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_COMPRESSED_PATCH_FLAG = 32, -+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_USES_STRONG_ENCRYPTION = 64, -+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_LOCAL_DIR_IS_MASKED = 8192, -+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_UTF8 = 1 << 11 - }; - - typedef struct { -@@ -4211,7 +4311,24 @@ struct mz_zip_internal_state_tag { - mz_zip_array m_central_dir; - mz_zip_array m_central_dir_offsets; - mz_zip_array m_sorted_central_dir_offsets; -+ -+ /* The flags passed in when the archive is initially opened. */ -+ uint32_t m_init_flags; -+ -+ /* MZ_TRUE if the archive has a zip64 end of central directory headers, etc. -+ */ -+ mz_bool m_zip64; -+ -+ /* MZ_TRUE if we found zip64 extended info in the central directory (m_zip64 -+ * will also be slammed to true too, even if we didn't find a zip64 end of -+ * central dir header, etc.) */ -+ mz_bool m_zip64_has_extended_info_fields; -+ -+ /* These fields are used by the file, FILE, memory, and memory/heap read/write -+ * helpers. */ - MZ_FILE *m_pFile; -+ mz_uint64 m_file_archive_start_ofs; -+ - void *m_pMem; - size_t m_mem_size; - size_t m_mem_capacity; -@@ -4363,6 +4480,13 @@ static mz_bool mz_zip_set_file_times(const char *pFilename, time_t access_time, - #endif /* #ifndef MINIZ_NO_STDIO */ - #endif /* #ifndef MINIZ_NO_TIME */ - -+static MZ_FORCEINLINE mz_bool mz_zip_set_error(mz_zip_archive *pZip, -+ mz_zip_error err_num) { -+ if (pZip) -+ pZip->m_last_error = err_num; -+ return MZ_FALSE; -+} -+ - static mz_bool mz_zip_reader_init_internal(mz_zip_archive *pZip, - mz_uint32 flags) { - (void)flags; -@@ -4480,127 +4604,346 @@ mz_zip_reader_sort_central_dir_offsets_by_filename(mz_zip_archive *pZip) { - } - } - --static mz_bool mz_zip_reader_read_central_dir(mz_zip_archive *pZip, -- mz_uint32 flags) { -- mz_uint cdir_size, num_this_disk, cdir_disk_index; -- mz_uint64 cdir_ofs; -+static mz_bool mz_zip_reader_locate_header_sig(mz_zip_archive *pZip, -+ mz_uint32 record_sig, -+ mz_uint32 record_size, -+ mz_int64 *pOfs) { - mz_int64 cur_file_ofs; -- const mz_uint8 *p; - mz_uint32 buf_u32[4096 / sizeof(mz_uint32)]; - mz_uint8 *pBuf = (mz_uint8 *)buf_u32; -- mz_bool sort_central_dir = -- ((flags & MZ_ZIP_FLAG_DO_NOT_SORT_CENTRAL_DIRECTORY) == 0); -- // Basic sanity checks - reject files which are too small, and check the first -- // 4 bytes of the file to make sure a local header is there. -- if (pZip->m_archive_size < MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE) -+ -+ /* Basic sanity checks - reject files which are too small */ -+ if (pZip->m_archive_size < record_size) - return MZ_FALSE; -- // Find the end of central directory record by scanning the file from the end -- // towards the beginning. -+ -+ /* Find the record by scanning the file from the end towards the beginning. */ - cur_file_ofs = - MZ_MAX((mz_int64)pZip->m_archive_size - (mz_int64)sizeof(buf_u32), 0); - for (;;) { - int i, - n = (int)MZ_MIN(sizeof(buf_u32), pZip->m_archive_size - cur_file_ofs); -+ - if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pBuf, n) != (mz_uint)n) - return MZ_FALSE; -- for (i = n - 4; i >= 0; --i) -- if (MZ_READ_LE32(pBuf + i) == MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG) -- break; -+ -+ for (i = n - 4; i >= 0; --i) { -+ mz_uint s = MZ_READ_LE32(pBuf + i); -+ if (s == record_sig) { -+ if ((pZip->m_archive_size - (cur_file_ofs + i)) >= record_size) -+ break; -+ } -+ } -+ - if (i >= 0) { - cur_file_ofs += i; - break; - } -+ -+ /* Give up if we've searched the entire file, or we've gone back "too far" -+ * (~64kb) */ - if ((!cur_file_ofs) || ((pZip->m_archive_size - cur_file_ofs) >= -- (0xFFFF + MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE))) -+ (MZ_UINT16_MAX + record_size))) - return MZ_FALSE; -+ - cur_file_ofs = MZ_MAX(cur_file_ofs - (sizeof(buf_u32) - 3), 0); - } -- // Read and verify the end of central directory record. -+ -+ *pOfs = cur_file_ofs; -+ return MZ_TRUE; -+} -+ -+static mz_bool mz_zip_reader_read_central_dir(mz_zip_archive *pZip, -+ mz_uint flags) { -+ mz_uint cdir_size = 0, cdir_entries_on_this_disk = 0, num_this_disk = 0, -+ cdir_disk_index = 0; -+ mz_uint64 cdir_ofs = 0; -+ mz_int64 cur_file_ofs = 0; -+ const mz_uint8 *p; -+ -+ mz_uint32 buf_u32[4096 / sizeof(mz_uint32)]; -+ mz_uint8 *pBuf = (mz_uint8 *)buf_u32; -+ mz_bool sort_central_dir = -+ ((flags & MZ_ZIP_FLAG_DO_NOT_SORT_CENTRAL_DIRECTORY) == 0); -+ mz_uint32 zip64_end_of_central_dir_locator_u32 -+ [(MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE + sizeof(mz_uint32) - 1) / -+ sizeof(mz_uint32)]; -+ mz_uint8 *pZip64_locator = (mz_uint8 *)zip64_end_of_central_dir_locator_u32; -+ -+ mz_uint32 zip64_end_of_central_dir_header_u32 -+ [(MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE + sizeof(mz_uint32) - 1) / -+ sizeof(mz_uint32)]; -+ mz_uint8 *pZip64_end_of_central_dir = -+ (mz_uint8 *)zip64_end_of_central_dir_header_u32; -+ -+ mz_uint64 zip64_end_of_central_dir_ofs = 0; -+ -+ /* Basic sanity checks - reject files which are too small, and check the first -+ * 4 bytes of the file to make sure a local header is there. */ -+ if (pZip->m_archive_size < MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE) -+ return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE); -+ -+ if (!mz_zip_reader_locate_header_sig( -+ pZip, MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG, -+ MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE, &cur_file_ofs)) -+ return mz_zip_set_error(pZip, MZ_ZIP_FAILED_FINDING_CENTRAL_DIR); -+ -+ /* Read and verify the end of central directory record. */ - if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pBuf, - MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE) != - MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE) -- return MZ_FALSE; -- if ((MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_SIG_OFS) != -- MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG) || -- ((pZip->m_total_files = -- MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_CDIR_TOTAL_ENTRIES_OFS)) != -- MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS))) -- return MZ_FALSE; -+ return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); -+ -+ if (MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_SIG_OFS) != -+ MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG) -+ return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE); -+ -+ if (cur_file_ofs >= (MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE + -+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE)) { -+ if (pZip->m_pRead(pZip->m_pIO_opaque, -+ cur_file_ofs - MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE, -+ pZip64_locator, -+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE) == -+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE) { -+ if (MZ_READ_LE32(pZip64_locator + MZ_ZIP64_ECDL_SIG_OFS) == -+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIG) { -+ zip64_end_of_central_dir_ofs = MZ_READ_LE64( -+ pZip64_locator + MZ_ZIP64_ECDL_REL_OFS_TO_ZIP64_ECDR_OFS); -+ if (zip64_end_of_central_dir_ofs > -+ (pZip->m_archive_size - MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE)) -+ return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE); -+ -+ if (pZip->m_pRead(pZip->m_pIO_opaque, zip64_end_of_central_dir_ofs, -+ pZip64_end_of_central_dir, -+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE) == -+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE) { -+ if (MZ_READ_LE32(pZip64_end_of_central_dir + MZ_ZIP64_ECDH_SIG_OFS) == -+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIG) { -+ pZip->m_pState->m_zip64 = MZ_TRUE; -+ } -+ } -+ } -+ } -+ } - -+ pZip->m_total_files = MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_CDIR_TOTAL_ENTRIES_OFS); -+ cdir_entries_on_this_disk = -+ MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS); - num_this_disk = MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_NUM_THIS_DISK_OFS); - cdir_disk_index = MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_NUM_DISK_CDIR_OFS); -+ cdir_size = MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_CDIR_SIZE_OFS); -+ cdir_ofs = MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_CDIR_OFS_OFS); -+ -+ if (pZip->m_pState->m_zip64) { -+ mz_uint32 zip64_total_num_of_disks = -+ MZ_READ_LE32(pZip64_locator + MZ_ZIP64_ECDL_TOTAL_NUMBER_OF_DISKS_OFS); -+ mz_uint64 zip64_cdir_total_entries = MZ_READ_LE64( -+ pZip64_end_of_central_dir + MZ_ZIP64_ECDH_CDIR_TOTAL_ENTRIES_OFS); -+ mz_uint64 zip64_cdir_total_entries_on_this_disk = MZ_READ_LE64( -+ pZip64_end_of_central_dir + MZ_ZIP64_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS); -+ mz_uint64 zip64_size_of_end_of_central_dir_record = MZ_READ_LE64( -+ pZip64_end_of_central_dir + MZ_ZIP64_ECDH_SIZE_OF_RECORD_OFS); -+ mz_uint64 zip64_size_of_central_directory = -+ MZ_READ_LE64(pZip64_end_of_central_dir + MZ_ZIP64_ECDH_CDIR_SIZE_OFS); -+ -+ if (zip64_size_of_end_of_central_dir_record < -+ (MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE - 12)) -+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); -+ -+ if (zip64_total_num_of_disks != 1U) -+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK); -+ -+ /* Check for miniz's practical limits */ -+ if (zip64_cdir_total_entries > MZ_UINT32_MAX) -+ return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); -+ -+ pZip->m_total_files = (mz_uint32)zip64_cdir_total_entries; -+ -+ if (zip64_cdir_total_entries_on_this_disk > MZ_UINT32_MAX) -+ return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); -+ -+ cdir_entries_on_this_disk = -+ (mz_uint32)zip64_cdir_total_entries_on_this_disk; -+ -+ /* Check for miniz's current practical limits (sorry, this should be enough -+ * for millions of files) */ -+ if (zip64_size_of_central_directory > MZ_UINT32_MAX) -+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE); -+ -+ cdir_size = (mz_uint32)zip64_size_of_central_directory; -+ -+ num_this_disk = MZ_READ_LE32(pZip64_end_of_central_dir + -+ MZ_ZIP64_ECDH_NUM_THIS_DISK_OFS); -+ -+ cdir_disk_index = MZ_READ_LE32(pZip64_end_of_central_dir + -+ MZ_ZIP64_ECDH_NUM_DISK_CDIR_OFS); -+ -+ cdir_ofs = -+ MZ_READ_LE64(pZip64_end_of_central_dir + MZ_ZIP64_ECDH_CDIR_OFS_OFS); -+ } -+ -+ if (pZip->m_total_files != cdir_entries_on_this_disk) -+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK); -+ - if (((num_this_disk | cdir_disk_index) != 0) && - ((num_this_disk != 1) || (cdir_disk_index != 1))) -- return MZ_FALSE; -+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK); - -- if ((cdir_size = MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_CDIR_SIZE_OFS)) < -- pZip->m_total_files * MZ_ZIP_CENTRAL_DIR_HEADER_SIZE) -- return MZ_FALSE; -+ if (cdir_size < pZip->m_total_files * MZ_ZIP_CENTRAL_DIR_HEADER_SIZE) -+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); - -- cdir_ofs = MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_CDIR_OFS_OFS); - if ((cdir_ofs + (mz_uint64)cdir_size) > pZip->m_archive_size) -- return MZ_FALSE; -+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); - - pZip->m_central_directory_file_ofs = cdir_ofs; - - if (pZip->m_total_files) { - mz_uint i, n; -- -- // Read the entire central directory into a heap block, and allocate another -- // heap block to hold the unsorted central dir file record offsets, and -- // another to hold the sorted indices. -+ /* Read the entire central directory into a heap block, and allocate another -+ * heap block to hold the unsorted central dir file record offsets, and -+ * possibly another to hold the sorted indices. */ - if ((!mz_zip_array_resize(pZip, &pZip->m_pState->m_central_dir, cdir_size, - MZ_FALSE)) || - (!mz_zip_array_resize(pZip, &pZip->m_pState->m_central_dir_offsets, - pZip->m_total_files, MZ_FALSE))) -- return MZ_FALSE; -+ return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); - - if (sort_central_dir) { - if (!mz_zip_array_resize(pZip, - &pZip->m_pState->m_sorted_central_dir_offsets, - pZip->m_total_files, MZ_FALSE)) -- return MZ_FALSE; -+ return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); - } - - if (pZip->m_pRead(pZip->m_pIO_opaque, cdir_ofs, - pZip->m_pState->m_central_dir.m_p, - cdir_size) != cdir_size) -- return MZ_FALSE; -+ return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); - -- // Now create an index into the central directory file records, do some -- // basic sanity checking on each record, and check for zip64 entries (which -- // are not yet supported). -+ /* Now create an index into the central directory file records, do some -+ * basic sanity checking on each record */ - p = (const mz_uint8 *)pZip->m_pState->m_central_dir.m_p; - for (n = cdir_size, i = 0; i < pZip->m_total_files; ++i) { -- mz_uint total_header_size, comp_size, decomp_size, disk_index; -+ mz_uint total_header_size, disk_index, bit_flags, filename_size, -+ ext_data_size; -+ mz_uint64 comp_size, decomp_size, local_header_ofs; -+ - if ((n < MZ_ZIP_CENTRAL_DIR_HEADER_SIZE) || - (MZ_READ_LE32(p) != MZ_ZIP_CENTRAL_DIR_HEADER_SIG)) -- return MZ_FALSE; -+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); -+ - MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_central_dir_offsets, mz_uint32, - i) = - (mz_uint32)(p - (const mz_uint8 *)pZip->m_pState->m_central_dir.m_p); -+ - if (sort_central_dir) - MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_sorted_central_dir_offsets, - mz_uint32, i) = i; -+ - comp_size = MZ_READ_LE32(p + MZ_ZIP_CDH_COMPRESSED_SIZE_OFS); - decomp_size = MZ_READ_LE32(p + MZ_ZIP_CDH_DECOMPRESSED_SIZE_OFS); -- if (((!MZ_READ_LE32(p + MZ_ZIP_CDH_METHOD_OFS)) && -- (decomp_size != comp_size)) || -- (decomp_size && !comp_size) || (decomp_size == 0xFFFFFFFF) || -- (comp_size == 0xFFFFFFFF)) -- return MZ_FALSE; -+ local_header_ofs = MZ_READ_LE32(p + MZ_ZIP_CDH_LOCAL_HEADER_OFS); -+ filename_size = MZ_READ_LE16(p + MZ_ZIP_CDH_FILENAME_LEN_OFS); -+ ext_data_size = MZ_READ_LE16(p + MZ_ZIP_CDH_EXTRA_LEN_OFS); -+ -+ if ((!pZip->m_pState->m_zip64_has_extended_info_fields) && -+ (ext_data_size) && -+ (MZ_MAX(MZ_MAX(comp_size, decomp_size), local_header_ofs) == -+ MZ_UINT32_MAX)) { -+ /* Attempt to find zip64 extended information field in the entry's extra -+ * data */ -+ mz_uint32 extra_size_remaining = ext_data_size; -+ -+ if (extra_size_remaining) { -+ const mz_uint8 *pExtra_data; -+ void *buf = NULL; -+ -+ if (MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + filename_size + ext_data_size > -+ n) { -+ buf = MZ_MALLOC(ext_data_size); -+ if (buf == NULL) -+ return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); -+ -+ if (pZip->m_pRead(pZip->m_pIO_opaque, -+ cdir_ofs + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + -+ filename_size, -+ buf, ext_data_size) != ext_data_size) { -+ MZ_FREE(buf); -+ return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); -+ } -+ -+ pExtra_data = (mz_uint8 *)buf; -+ } else { -+ pExtra_data = p + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + filename_size; -+ } -+ -+ do { -+ mz_uint32 field_id; -+ mz_uint32 field_data_size; -+ -+ if (extra_size_remaining < (sizeof(mz_uint16) * 2)) { -+ MZ_FREE(buf); -+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); -+ } -+ -+ field_id = MZ_READ_LE16(pExtra_data); -+ field_data_size = MZ_READ_LE16(pExtra_data + sizeof(mz_uint16)); -+ -+ if ((field_data_size + sizeof(mz_uint16) * 2) > -+ extra_size_remaining) { -+ MZ_FREE(buf); -+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); -+ } -+ -+ if (field_id == MZ_ZIP64_EXTENDED_INFORMATION_FIELD_HEADER_ID) { -+ /* Ok, the archive didn't have any zip64 headers but it uses a -+ * zip64 extended information field so mark it as zip64 anyway -+ * (this can occur with infozip's zip util when it reads -+ * compresses files from stdin). */ -+ pZip->m_pState->m_zip64 = MZ_TRUE; -+ pZip->m_pState->m_zip64_has_extended_info_fields = MZ_TRUE; -+ break; -+ } -+ -+ pExtra_data += sizeof(mz_uint16) * 2 + field_data_size; -+ extra_size_remaining = -+ extra_size_remaining - sizeof(mz_uint16) * 2 - field_data_size; -+ } while (extra_size_remaining); -+ -+ MZ_FREE(buf); -+ } -+ } -+ -+ /* I've seen archives that aren't marked as zip64 that uses zip64 ext -+ * data, argh */ -+ if ((comp_size != MZ_UINT32_MAX) && (decomp_size != MZ_UINT32_MAX)) { -+ if (((!MZ_READ_LE32(p + MZ_ZIP_CDH_METHOD_OFS)) && -+ (decomp_size != comp_size)) || -+ (decomp_size && !comp_size)) -+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); -+ } -+ - disk_index = MZ_READ_LE16(p + MZ_ZIP_CDH_DISK_START_OFS); -- if ((disk_index != num_this_disk) && (disk_index != 1)) -- return MZ_FALSE; -- if (((mz_uint64)MZ_READ_LE32(p + MZ_ZIP_CDH_LOCAL_HEADER_OFS) + -- MZ_ZIP_LOCAL_DIR_HEADER_SIZE + comp_size) > pZip->m_archive_size) -- return MZ_FALSE; -+ if ((disk_index == MZ_UINT16_MAX) || -+ ((disk_index != num_this_disk) && (disk_index != 1))) -+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK); -+ -+ if (comp_size != MZ_UINT32_MAX) { -+ if (((mz_uint64)MZ_READ_LE32(p + MZ_ZIP_CDH_LOCAL_HEADER_OFS) + -+ MZ_ZIP_LOCAL_DIR_HEADER_SIZE + comp_size) > pZip->m_archive_size) -+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); -+ } -+ -+ bit_flags = MZ_READ_LE16(p + MZ_ZIP_CDH_BIT_FLAG_OFS); -+ if (bit_flags & MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_LOCAL_DIR_IS_MASKED) -+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION); -+ - if ((total_header_size = MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + - MZ_READ_LE16(p + MZ_ZIP_CDH_FILENAME_LEN_OFS) + - MZ_READ_LE16(p + MZ_ZIP_CDH_EXTRA_LEN_OFS) + - MZ_READ_LE16(p + MZ_ZIP_CDH_COMMENT_LEN_OFS)) > - n) -- return MZ_FALSE; -+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); -+ - n -= total_header_size; - p += total_header_size; - } -diff --git a/contrib/zip/src/zip.c b/contrib/zip/src/zip.c -index ff3a8fe1..1abcfd8f 100644 ---- a/contrib/zip/src/zip.c -+++ b/contrib/zip/src/zip.c -@@ -24,7 +24,6 @@ - ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) && \ - (P)[1] == ':') - #define FILESYSTEM_PREFIX_LEN(P) (HAS_DEVICE(P) ? 2 : 0) --#define ISSLASH(C) ((C) == '/' || (C) == '\\') - - #else - -@@ -48,7 +47,7 @@ int symlink(const char *target, const char *linkpath); // needed on Linux - #endif - - #ifndef ISSLASH --#define ISSLASH(C) ((C) == '/') -+#define ISSLASH(C) ((C) == '/' || (C) == '\\') - #endif - - #define CLEANUP(ptr) \ -@@ -78,26 +77,34 @@ static const char *base_name(const char *name) { - return base; - } - --static int mkpath(const char *path) { -- char const *p; -+static int mkpath(char *path) { -+ char *p; - char npath[MAX_PATH + 1]; - int len = 0; - int has_device = HAS_DEVICE(path); - - memset(npath, 0, MAX_PATH + 1); -- --#ifdef _WIN32 -- // only on windows fix the path -- npath[0] = path[0]; -- npath[1] = path[1]; -- len = 2; --#endif // _WIN32 -- -+ if (has_device) { -+ // only on windows -+ npath[0] = path[0]; -+ npath[1] = path[1]; -+ len = 2; -+ } - for (p = path + len; *p && len < MAX_PATH; p++) { - if (ISSLASH(*p) && ((!has_device && len > 0) || (has_device && len > 2))) { -- if (MKDIR(npath) == -1) -- if (errno != EEXIST) -+#if defined(_WIN32) || defined(__WIN32__) || defined(_MSC_VER) || \ -+ defined(__MINGW32__) -+#else -+ if ('\\' == *p) { -+ *p = '/'; -+ } -+#endif -+ -+ if (MKDIR(npath) == -1) { -+ if (errno != EEXIST) { - return -1; -+ } -+ } - } - npath[len++] = *p; - } -@@ -279,7 +286,14 @@ int zip_entry_open(struct zip_t *zip, const char *entryname) { - zip->entry.header_offset = zip->archive.m_archive_size; - memset(zip->entry.header, 0, MZ_ZIP_LOCAL_DIR_HEADER_SIZE * sizeof(mz_uint8)); - zip->entry.method = 0; -+ -+ // UNIX or APPLE -+#if MZ_PLATFORM == 3 || MZ_PLATFORM == 19 -+ // regular file with rw-r--r-- persmissions -+ zip->entry.external_attr = (mz_uint32)(0100644) << 16; -+#else - zip->entry.external_attr = 0; -+#endif - - num_alignment_padding_bytes = - mz_zip_writer_compute_padding_needed_for_file_alignment(pzip); -@@ -660,7 +674,7 @@ ssize_t zip_entry_noallocread(struct zip_t *zip, void *buf, size_t bufsize) { - } - - if (!mz_zip_reader_extract_to_mem_no_alloc(pzip, (mz_uint)zip->entry.index, -- buf, bufsize, 0, NULL, 0)) { -+ buf, bufsize, 0, NULL, 0)) { - return -1; - } - -@@ -670,10 +684,7 @@ ssize_t zip_entry_noallocread(struct zip_t *zip, void *buf, size_t bufsize) { - int zip_entry_fread(struct zip_t *zip, const char *filename) { - mz_zip_archive *pzip = NULL; - mz_uint idx; --#if defined(_MSC_VER) --#else - mz_uint32 xattr = 0; --#endif - mz_zip_archive_file_stat info; - - if (!zip) { -@@ -875,12 +886,19 @@ int zip_extract(const char *zipname, const char *dir, - goto out; - } - -- if ((((info.m_version_made_by >> 8) == 3) || ((info.m_version_made_by >> 8) == 19)) // if zip is produced on Unix or macOS (3 and 19 from section 4.4.2.2 of zip standard) -- && info.m_external_attr & (0x20 << 24)) { // and has sym link attribute (0x80 is file, 0x40 is directory) -+ if ((((info.m_version_made_by >> 8) == 3) || -+ ((info.m_version_made_by >> 8) == -+ 19)) // if zip is produced on Unix or macOS (3 and 19 from -+ // section 4.4.2.2 of zip standard) -+ && info.m_external_attr & -+ (0x20 << 24)) { // and has sym link attribute (0x80 is file, 0x40 -+ // is directory) - #if defined(_WIN32) || defined(__WIN32__) || defined(_MSC_VER) || \ - defined(__MINGW32__) --#else -- if (info.m_uncomp_size > MAX_PATH || !mz_zip_reader_extract_to_mem_no_alloc(&zip_archive, i, symlink_to, MAX_PATH, 0, NULL, 0)) { -+#else -+ if (info.m_uncomp_size > MAX_PATH || -+ !mz_zip_reader_extract_to_mem_no_alloc(&zip_archive, i, symlink_to, -+ MAX_PATH, 0, NULL, 0)) { - goto out; - } - symlink_to[info.m_uncomp_size] = '\0'; -diff --git a/contrib/zip/src/zip.h b/contrib/zip/src/zip.h -index 5f39df50..a48d64d6 100644 ---- a/contrib/zip/src/zip.h -+++ b/contrib/zip/src/zip.h -@@ -20,241 +20,240 @@ extern "C" { - #endif - - #if !defined(_SSIZE_T_DEFINED) && !defined(_SSIZE_T_DEFINED_) && \ -- !defined(_SSIZE_T) && !defined(_SSIZE_T_) && !defined(__ssize_t_defined) --#define _SSIZE_T -+ !defined(__DEFINED_ssize_t) && !defined(__ssize_t_defined) && \ -+ !defined(_SSIZE_T) && !defined(_SSIZE_T_) -+ - // 64-bit Windows is the only mainstream platform - // where sizeof(long) != sizeof(void*) - #ifdef _WIN64 --typedef long long ssize_t; /* byte count or error */ -+typedef long long ssize_t; /* byte count or error */ - #else --typedef long ssize_t; /* byte count or error */ -+typedef long ssize_t; /* byte count or error */ - #endif -+ -+#define _SSIZE_T_DEFINED -+#define _SSIZE_T_DEFINED_ -+#define __DEFINED_ssize_t -+#define __ssize_t_defined -+#define _SSIZE_T -+#define _SSIZE_T_ -+ - #endif - - #ifndef MAX_PATH - #define MAX_PATH 32767 /* # chars in a path name including NULL */ - #endif - -+/** -+ * @mainpage -+ * -+ * Documenation for @ref zip. -+ */ -+ -+/** -+ * @addtogroup zip -+ * @{ -+ */ -+ -+/** -+ * Default zip compression level. -+ */ -+ - #define ZIP_DEFAULT_COMPRESSION_LEVEL 6 - --/* -- This data structure is used throughout the library to represent zip archive -- - forward declaration. --*/ -+/** -+ * @struct zip_t -+ * -+ * This data structure is used throughout the library to represent zip archive - -+ * forward declaration. -+ */ - struct zip_t; - --/* -- Opens zip archive with compression level using the given mode. -- -- Args: -- zipname: zip archive file name. -- level: compression level (0-9 are the standard zlib-style levels). -- mode: file access mode. -- 'r': opens a file for reading/extracting (the file must exists). -- 'w': creates an empty file for writing. -- 'a': appends to an existing archive. -- -- Returns: -- The zip archive handler or NULL on error --*/ -+/** -+ * Opens zip archive with compression level using the given mode. -+ * -+ * @param zipname zip archive file name. -+ * @param level compression level (0-9 are the standard zlib-style levels). -+ * @param mode file access mode. -+ * - 'r': opens a file for reading/extracting (the file must exists). -+ * - 'w': creates an empty file for writing. -+ * - 'a': appends to an existing archive. -+ * -+ * @return the zip archive handler or NULL on error -+ */ - extern struct zip_t *zip_open(const char *zipname, int level, char mode); - --/* -- Closes the zip archive, releases resources - always finalize. -- -- Args: -- zip: zip archive handler. --*/ -+/** -+ * Closes the zip archive, releases resources - always finalize. -+ * -+ * @param zip zip archive handler. -+ */ - extern void zip_close(struct zip_t *zip); - --/* -- Opens an entry by name in the zip archive. -- For zip archive opened in 'w' or 'a' mode the function will append -- a new entry. In readonly mode the function tries to locate the entry -- in global dictionary. -- -- Args: -- zip: zip archive handler. -- entryname: an entry name in local dictionary. -- -- Returns: -- The return code - 0 on success, negative number (< 0) on error. --*/ -+/** -+ * Opens an entry by name in the zip archive. -+ * -+ * For zip archive opened in 'w' or 'a' mode the function will append -+ * a new entry. In readonly mode the function tries to locate the entry -+ * in global dictionary. -+ * -+ * @param zip zip archive handler. -+ * @param entryname an entry name in local dictionary. -+ * -+ * @return the return code - 0 on success, negative number (< 0) on error. -+ */ - extern int zip_entry_open(struct zip_t *zip, const char *entryname); - --/* -- Opens a new entry by index in the zip archive. -- This function is only valid if zip archive was opened in 'r' (readonly) mode. -- -- Args: -- zip: zip archive handler. -- index: index in local dictionary. -- -- Returns: -- The return code - 0 on success, negative number (< 0) on error. --*/ -+/** -+ * Opens a new entry by index in the zip archive. -+ * -+ * This function is only valid if zip archive was opened in 'r' (readonly) mode. -+ * -+ * @param zip zip archive handler. -+ * @param index index in local dictionary. -+ * -+ * @return the return code - 0 on success, negative number (< 0) on error. -+ */ - extern int zip_entry_openbyindex(struct zip_t *zip, int index); - --/* -- Closes a zip entry, flushes buffer and releases resources. -- -- Args: -- zip: zip archive handler. -- -- Returns: -- The return code - 0 on success, negative number (< 0) on error. --*/ -+/** -+ * Closes a zip entry, flushes buffer and releases resources. -+ * -+ * @param zip zip archive handler. -+ * -+ * @return the return code - 0 on success, negative number (< 0) on error. -+ */ - extern int zip_entry_close(struct zip_t *zip); - --/* -- Returns a local name of the current zip entry. -- The main difference between user's entry name and local entry name -- is optional relative path. -- Following .ZIP File Format Specification - the path stored MUST not contain -- a drive or device letter, or a leading slash. -- All slashes MUST be forward slashes '/' as opposed to backwards slashes '\' -- for compatibility with Amiga and UNIX file systems etc. -- -- Args: -- zip: zip archive handler. -- -- Returns: -- The pointer to the current zip entry name, or NULL on error. --*/ -+/** -+ * Returns a local name of the current zip entry. -+ * -+ * The main difference between user's entry name and local entry name -+ * is optional relative path. -+ * Following .ZIP File Format Specification - the path stored MUST not contain -+ * a drive or device letter, or a leading slash. -+ * All slashes MUST be forward slashes '/' as opposed to backwards slashes '\' -+ * for compatibility with Amiga and UNIX file systems etc. -+ * -+ * @param zip: zip archive handler. -+ * -+ * @return the pointer to the current zip entry name, or NULL on error. -+ */ - extern const char *zip_entry_name(struct zip_t *zip); - --/* -- Returns an index of the current zip entry. -- -- Args: -- zip: zip archive handler. -- -- Returns: -- The index on success, negative number (< 0) on error. --*/ -+/** -+ * Returns an index of the current zip entry. -+ * -+ * @param zip zip archive handler. -+ * -+ * @return the index on success, negative number (< 0) on error. -+ */ - extern int zip_entry_index(struct zip_t *zip); - --/* -- Determines if the current zip entry is a directory entry. -- -- Args: -- zip: zip archive handler. -- -- Returns: -- The return code - 1 (true), 0 (false), negative number (< 0) on error. --*/ -+/** -+ * Determines if the current zip entry is a directory entry. -+ * -+ * @param zip zip archive handler. -+ * -+ * @return the return code - 1 (true), 0 (false), negative number (< 0) on -+ * error. -+ */ - extern int zip_entry_isdir(struct zip_t *zip); - --/* -- Returns an uncompressed size of the current zip entry. -- -- Args: -- zip: zip archive handler. -- -- Returns: -- The uncompressed size in bytes. --*/ -+/** -+ * Returns an uncompressed size of the current zip entry. -+ * -+ * @param zip zip archive handler. -+ * -+ * @return the uncompressed size in bytes. -+ */ - extern unsigned long long zip_entry_size(struct zip_t *zip); - --/* -- Returns CRC-32 checksum of the current zip entry. -- -- Args: -- zip: zip archive handler. -- -- Returns: -- The CRC-32 checksum. --*/ -+/** -+ * Returns CRC-32 checksum of the current zip entry. -+ * -+ * @param zip zip archive handler. -+ * -+ * @return the CRC-32 checksum. -+ */ - extern unsigned int zip_entry_crc32(struct zip_t *zip); - --/* -- Compresses an input buffer for the current zip entry. -- -- Args: -- zip: zip archive handler. -- buf: input buffer. -- bufsize: input buffer size (in bytes). -- -- Returns: -- The return code - 0 on success, negative number (< 0) on error. --*/ -+/** -+ * Compresses an input buffer for the current zip entry. -+ * -+ * @param zip zip archive handler. -+ * @param buf input buffer. -+ * @param bufsize input buffer size (in bytes). -+ * -+ * @return the return code - 0 on success, negative number (< 0) on error. -+ */ - extern int zip_entry_write(struct zip_t *zip, const void *buf, size_t bufsize); - --/* -- Compresses a file for the current zip entry. -- -- Args: -- zip: zip archive handler. -- filename: input file. -- -- Returns: -- The return code - 0 on success, negative number (< 0) on error. --*/ -+/** -+ * Compresses a file for the current zip entry. -+ * -+ * @param zip zip archive handler. -+ * @param filename input file. -+ * -+ * @return the return code - 0 on success, negative number (< 0) on error. -+ */ - extern int zip_entry_fwrite(struct zip_t *zip, const char *filename); - --/* -- Extracts the current zip entry into output buffer. -- The function allocates sufficient memory for a output buffer. -- -- Args: -- zip: zip archive handler. -- buf: output buffer. -- bufsize: output buffer size (in bytes). -- -- Note: -- - remember to release memory allocated for a output buffer. -- - for large entries, please take a look at zip_entry_extract function. -- -- Returns: -- The return code - the number of bytes actually read on success. -- Otherwise a -1 on error. --*/ -+/** -+ * Extracts the current zip entry into output buffer. -+ * -+ * The function allocates sufficient memory for a output buffer. -+ * -+ * @param zip zip archive handler. -+ * @param buf output buffer. -+ * @param bufsize output buffer size (in bytes). -+ * -+ * @note remember to release memory allocated for a output buffer. -+ * for large entries, please take a look at zip_entry_extract function. -+ * -+ * @return the return code - the number of bytes actually read on success. -+ * Otherwise a -1 on error. -+ */ - extern ssize_t zip_entry_read(struct zip_t *zip, void **buf, size_t *bufsize); - --/* -- Extracts the current zip entry into a memory buffer using no memory -- allocation. -- -- Args: -- zip: zip archive handler. -- buf: preallocated output buffer. -- bufsize: output buffer size (in bytes). -- -- Note: -- - ensure supplied output buffer is large enough. -- - zip_entry_size function (returns uncompressed size for the current entry) -- can be handy to estimate how big buffer is needed. -- - for large entries, please take a look at zip_entry_extract function. -- -- Returns: -- The return code - the number of bytes actually read on success. -- Otherwise a -1 on error (e.g. bufsize is not large enough). --*/ --extern ssize_t zip_entry_noallocread(struct zip_t *zip, void *buf, size_t bufsize); -- --/* -- Extracts the current zip entry into output file. -- -- Args: -- zip: zip archive handler. -- filename: output file. -- -- Returns: -- The return code - 0 on success, negative number (< 0) on error. --*/ -+/** -+ * Extracts the current zip entry into a memory buffer using no memory -+ * allocation. -+ * -+ * @param zip zip archive handler. -+ * @param buf preallocated output buffer. -+ * @param bufsize output buffer size (in bytes). -+ * -+ * @note ensure supplied output buffer is large enough. -+ * zip_entry_size function (returns uncompressed size for the current -+ * entry) can be handy to estimate how big buffer is needed. for large -+ * entries, please take a look at zip_entry_extract function. -+ * -+ * @return the return code - the number of bytes actually read on success. -+ * Otherwise a -1 on error (e.g. bufsize is not large enough). -+ */ -+extern ssize_t zip_entry_noallocread(struct zip_t *zip, void *buf, -+ size_t bufsize); -+ -+/** -+ * Extracts the current zip entry into output file. -+ * -+ * @param zip zip archive handler. -+ * @param filename output file. -+ * -+ * @return the return code - 0 on success, negative number (< 0) on error. -+ */ - extern int zip_entry_fread(struct zip_t *zip, const char *filename); - --/* -- Extracts the current zip entry using a callback function (on_extract). -- -- Args: -- zip: zip archive handler. -- on_extract: callback function. -- arg: opaque pointer (optional argument, -- which you can pass to the on_extract callback) -- -- Returns: -- The return code - 0 on success, negative number (< 0) on error. -+/** -+ * Extracts the current zip entry using a callback function (on_extract). -+ * -+ * @param zip zip archive handler. -+ * @param on_extract callback function. -+ * @param arg opaque pointer (optional argument, which you can pass to the -+ * on_extract callback) -+ * -+ * @return the return code - 0 on success, negative number (< 0) on error. - */ - extern int - zip_entry_extract(struct zip_t *zip, -@@ -262,53 +261,49 @@ zip_entry_extract(struct zip_t *zip, - const void *data, size_t size), - void *arg); - --/* -- Returns the number of all entries (files and directories) in the zip archive. -- -- Args: -- zip: zip archive handler. -- -- Returns: -- The return code - the number of entries on success, -- negative number (< 0) on error. --*/ -+/** -+ * Returns the number of all entries (files and directories) in the zip archive. -+ * -+ * @param zip zip archive handler. -+ * -+ * @return the return code - the number of entries on success, negative number -+ * (< 0) on error. -+ */ - extern int zip_total_entries(struct zip_t *zip); - --/* -- Creates a new archive and puts files into a single zip archive. -- -- Args: -- zipname: zip archive file. -- filenames: input files. -- len: number of input files. -- -- Returns: -- The return code - 0 on success, negative number (< 0) on error. --*/ -+/** -+ * Creates a new archive and puts files into a single zip archive. -+ * -+ * @param zipname zip archive file. -+ * @param filenames input files. -+ * @param len: number of input files. -+ * -+ * @return the return code - 0 on success, negative number (< 0) on error. -+ */ - extern int zip_create(const char *zipname, const char *filenames[], size_t len); - --/* -- Extracts a zip archive file into directory. -- -- If on_extract_entry is not NULL, the callback will be called after -- successfully extracted each zip entry. -- Returning a negative value from the callback will cause abort and return an -- error. The last argument (void *arg) is optional, which you can use to pass -- data to the on_extract_entry callback. -- -- Args: -- zipname: zip archive file. -- dir: output directory. -- on_extract_entry: on extract callback. -- arg: opaque pointer. -- -- Returns: -- The return code - 0 on success, negative number (< 0) on error. --*/ -+/** -+ * Extracts a zip archive file into directory. -+ * -+ * If on_extract_entry is not NULL, the callback will be called after -+ * successfully extracted each zip entry. -+ * Returning a negative value from the callback will cause abort and return an -+ * error. The last argument (void *arg) is optional, which you can use to pass -+ * data to the on_extract_entry callback. -+ * -+ * @param zipname zip archive file. -+ * @param dir output directory. -+ * @param on_extract_entry on extract callback. -+ * @param arg opaque pointer. -+ * -+ * @return the return code - 0 on success, negative number (< 0) on error. -+ */ - extern int zip_extract(const char *zipname, const char *dir, - int (*on_extract_entry)(const char *filename, void *arg), - void *arg); - -+/** @} */ -+ - #ifdef __cplusplus - } - #endif -diff --git a/contrib/zip/test/CMakeLists.txt b/contrib/zip/test/CMakeLists.txt -index 9b2a8db1..cc060b00 100644 ---- a/contrib/zip/test/CMakeLists.txt -+++ b/contrib/zip/test/CMakeLists.txt -@@ -1,19 +1,16 @@ - cmake_minimum_required(VERSION 2.8) - --if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang") -- if(ENABLE_COVERAGE) -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g ") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ftest-coverage") -- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage") -- endif() --endif () -- - # test --include_directories(../src) --add_executable(test.exe test.c ../src/zip.c) --add_executable(test_miniz.exe test_miniz.c) -+set(test_out test.out) -+set(test_miniz_out test_miniz.out) -+ -+add_executable(${test_out} test.c) -+target_link_libraries(${test_out} zip) -+add_executable(${test_miniz_out} test_miniz.c) -+target_link_libraries(${test_miniz_out} zip) -+ -+add_test(NAME ${test_out} COMMAND ${test_out}) -+add_test(NAME ${test_miniz_out} COMMAND ${test_miniz_out}) - --add_test(NAME test COMMAND test.exe) --add_test(NAME test_miniz COMMAND test_miniz.exe) -+set(test_out ${test_out} PARENT_SCOPE) -+set(test_miniz_out ${test_miniz_out} PARENT_SCOPE) -diff --git a/contrib/zip/test/test.c b/contrib/zip/test/test.c -index 45443053..a9b2ddab 100644 ---- a/contrib/zip/test/test.c -+++ b/contrib/zip/test/test.c -@@ -29,6 +29,8 @@ - #define XFILE "7.txt\0" - #define XMODE 0100777 - -+#define UNIXMODE 0100644 -+ - #define UNUSED(x) (void)x - - static int total_entries = 0; -@@ -102,7 +104,8 @@ static void test_read(void) { - assert(0 == zip_entry_close(zip)); - free(buf); - buf = NULL; -- -+ bufsize = 0; -+ - assert(0 == zip_entry_open(zip, "test/test-2.txt")); - assert(strlen(TESTDATA2) == zip_entry_size(zip)); - assert(CRC32DATA2 == zip_entry_crc32(zip)); -@@ -131,7 +134,8 @@ static void test_read(void) { - assert(0 == zip_entry_close(zip)); - free(buf); - buf = NULL; -- -+ bufsize = 0; -+ - buftmp = strlen(TESTDATA1); - buf = calloc(buftmp, sizeof(char)); - assert(0 == zip_entry_open(zip, "test/test-1.txt")); -@@ -433,6 +437,35 @@ static void test_mtime(void) { - remove(ZIPNAME); - } - -+static void test_unix_permissions(void) { -+#if defined(_WIN64) || defined(_WIN32) || defined(__WIN32__) -+#else -+ // UNIX or APPLE -+ struct MZ_FILE_STAT_STRUCT file_stats; -+ -+ remove(ZIPNAME); -+ -+ struct zip_t *zip = zip_open(ZIPNAME, ZIP_DEFAULT_COMPRESSION_LEVEL, 'w'); -+ assert(zip != NULL); -+ -+ assert(0 == zip_entry_open(zip, RFILE)); -+ assert(0 == zip_entry_write(zip, TESTDATA1, strlen(TESTDATA1))); -+ assert(0 == zip_entry_close(zip)); -+ -+ zip_close(zip); -+ -+ remove(RFILE); -+ -+ assert(0 == zip_extract(ZIPNAME, ".", NULL, NULL)); -+ -+ assert(0 == MZ_FILE_STAT(RFILE, &file_stats)); -+ assert(UNIXMODE == file_stats.st_mode); -+ -+ remove(RFILE); -+ remove(ZIPNAME); -+#endif -+} -+ - int main(int argc, char *argv[]) { - UNUSED(argc); - UNUSED(argv); -@@ -453,6 +486,7 @@ int main(int argc, char *argv[]) { - test_write_permissions(); - test_exe_permissions(); - test_mtime(); -+ test_unix_permissions(); - - remove(ZIPNAME); - return 0; -diff --git a/contrib/zip/test/test_miniz.c b/contrib/zip/test/test_miniz.c -index ebc0564d..babcaecd 100644 ---- a/contrib/zip/test/test_miniz.c -+++ b/contrib/zip/test/test_miniz.c -@@ -23,16 +23,39 @@ int main(int argc, char *argv[]) { - uint step = 0; - int cmp_status; - uLong src_len = (uLong)strlen(s_pStr); -- uLong cmp_len = compressBound(src_len); - uLong uncomp_len = src_len; -+ uLong cmp_len; - uint8 *pCmp, *pUncomp; -+ size_t sz; - uint total_succeeded = 0; - (void)argc, (void)argv; - - printf("miniz.c version: %s\n", MZ_VERSION); - - do { -+ pCmp = (uint8 *)tdefl_compress_mem_to_heap(s_pStr, src_len, &cmp_len, 0); -+ if (!pCmp) { -+ printf("tdefl_compress_mem_to_heap failed\n"); -+ return EXIT_FAILURE; -+ } -+ if (src_len <= cmp_len) { -+ printf("tdefl_compress_mem_to_heap failed: from %u to %u bytes\n", -+ (mz_uint32)uncomp_len, (mz_uint32)cmp_len); -+ free(pCmp); -+ return EXIT_FAILURE; -+ } -+ -+ sz = tdefl_compress_mem_to_mem(pCmp, cmp_len, s_pStr, src_len, 0); -+ if (sz != cmp_len) { -+ printf("tdefl_compress_mem_to_mem failed: expected %u, got %u\n", -+ (mz_uint32)cmp_len, (mz_uint32)sz); -+ free(pCmp); -+ return EXIT_FAILURE; -+ } -+ - // Allocate buffers to hold compressed and uncompressed data. -+ free(pCmp); -+ cmp_len = compressBound(src_len); - pCmp = (mz_uint8 *)malloc((size_t)cmp_len); - pUncomp = (mz_uint8 *)malloc((size_t)src_len); - if ((!pCmp) || (!pUncomp)) { diff --git a/meta/recipes-graphics/vulkan/assimp_5.0.1.bb b/meta/recipes-graphics/vulkan/assimp_5.0.1.bb deleted file mode 100644 index 5a8c62e64d..0000000000 --- a/meta/recipes-graphics/vulkan/assimp_5.0.1.bb +++ /dev/null @@ -1,23 +0,0 @@ -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;branch=assimp_5.0_release \ - file://0001-closes-https-github.com-assimp-assimp-issues-2733-up.patch \ - file://0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch \ - " -UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(\d+(\.\d+)+))" - -SRCREV = "8f0c6b04b2257a520aaab38421b2e090204b69df" - -S = "${WORKDIR}/git" - -inherit cmake - -EXTRA_OECMAKE = "-DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_BUILD_TESTS=OFF -DASSIMP_LIB_INSTALL_DIR=${baselib}" diff --git a/meta/recipes-graphics/vulkan/vulkan-headers_1.2.154.0.bb b/meta/recipes-graphics/vulkan/vulkan-headers_1.2.198.0.bb index 0e4d260960..43c0cdb53d 100644 --- a/meta/recipes-graphics/vulkan/vulkan-headers_1.2.154.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-headers_1.2.198.0.bb @@ -1,18 +1,22 @@ SUMMARY = "Vulkan Header files and API registry" +DESCRIPTION = "Vulkan is a 3D graphics and compute API providing cross-platform access \ +to modern GPUs with low overhead and targeting realtime graphics applications such as \ +games and interactive media. This package contains the development headers \ +for packages wanting to make use of Vulkan." HOMEPAGE = "https://www.khronos.org/vulkan/" BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers" SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" -SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=master" +SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https" -SRCREV = "7f9879b1b1fab53f719a9ed5e6e29533b10972b2" +SRCREV = "8c1c27d5a9b9de8a17f500053bd08c7ca6bba19c" S = "${WORKDIR}/git" inherit cmake -FILES_${PN} += "${datadir}/vulkan" +FILES:${PN} += "${datadir}/vulkan" UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" diff --git a/meta/recipes-graphics/vulkan/vulkan-loader_1.2.154.1.bb b/meta/recipes-graphics/vulkan/vulkan-loader_1.2.198.1.bb index 23bf59f8a6..446a2d5c05 100644 --- a/meta/recipes-graphics/vulkan/vulkan-loader_1.2.154.1.bb +++ b/meta/recipes-graphics/vulkan/vulkan-loader_1.2.198.1.bb @@ -9,8 +9,8 @@ SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac" -SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=sdk-1.2.154" -SRCREV = "2aa801755eab3fab610d9676c4dd94054e30c854" +SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=sdk-1.2.198;protocol=https" +SRCREV = "0ca96994f92b6f21b37badd6c99b22f61bfec932" S = "${WORKDIR}/git" @@ -25,6 +25,8 @@ EXTRA_OECMAKE = "\ -DBUILD_TESTS=OFF \ -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \ -DASSEMBLER_WORKS=FALSE \ + -DVulkanHeaders_INCLUDE_DIR=${STAGING_INCDIR} \ + -DVulkanRegistry_DIR=${RECIPE_SYSROOT}/${datadir} \ " # must choose x11 or wayland or both @@ -33,6 +35,6 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr" PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" -RRECOMMENDS_${PN} = "mesa-vulkan-drivers" +RRECOMMENDS:${PN} = "mesa-vulkan-drivers" UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-Add-explicit-static_cast-from-vk-Buff.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-Add-explicit-static_cast-from-vk-Buff.patch new file mode 100644 index 0000000000..b0e7cdabe4 --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-Add-explicit-static_cast-from-vk-Buff.patch @@ -0,0 +1,35 @@ +From f88fd472e57b59013570f08949dbbc0875c1bae4 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 13 Nov 2021 18:37:13 -0800 +Subject: [PATCH] framework/core: Add explicit static_cast from vk::Buffer to + VkBuffer + +This fixes errors like +framework/core/hpp_buffer.cpp:149:3: error: no matching function for call to 'vmaDestroyBuffer' +| vmaDestroyBuffer(vmaAllocator, handle, vmaAllocation); +| ^~~~~~~~~~~~~~~~ +| /mnt/b/yoe/master/build/tmp/work/riscv32-yoe-linux-musl/vulkan-samples/git-r0/git/third_party/vma/src/vk_mem_alloc.h:3803:33: note: candidate function not viable: no known conversion from 'vk::Buffer' to 'V +kBuffer' (aka 'unsigned long long') for 2nd argument + +Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Samples/pull/395] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + framework/core/hpp_buffer.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/framework/core/hpp_buffer.cpp b/framework/core/hpp_buffer.cpp +index c1f5649..2609e4e 100644 +--- a/framework/core/hpp_buffer.cpp ++++ b/framework/core/hpp_buffer.cpp +@@ -146,7 +146,7 @@ void HPPBuffer::destroy() + { + assert(vmaAllocation != VK_NULL_HANDLE); + unmap(); +- vmaDestroyBuffer(vmaAllocator, handle, vmaAllocation); ++ vmaDestroyBuffer(vmaAllocator, static_cast<VkBuffer>(handle), vmaAllocation); + } + } + +-- +2.33.1 + diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-do-not-mix-plain-and-keyword-target_link_l.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-do-not-mix-plain-and-keyword-target_link_l.patch new file mode 100644 index 0000000000..66ed8bb47d --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-do-not-mix-plain-and-keyword-target_link_l.patch @@ -0,0 +1,38 @@ +From 64b806ab702a6f445fd84aca5f03bb85b86a66e3 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 11 Nov 2021 18:37:09 -0800 +Subject: [PATCH] framework: do not mix plain and keyword + target_link_libraries() signatures + +Fixes +| CMake Error at framework/CMakeLists.txt:461 (target_link_libraries): +| The plain signature for target_link_libraries has already been used with +| the target "framework". All uses of target_link_libraries with a target | must be either all-keyword or all-plain. +| +| The uses of the plain signature are here: +| | * framework/CMakeLists.txt:453 (target_link_libraries) +| + +Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Samples/pull/395] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + framework/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/framework/CMakeLists.txt b/framework/CMakeLists.txt +index 948c796..13d3324 100644 +--- a/framework/CMakeLists.txt ++++ b/framework/CMakeLists.txt +@@ -450,7 +450,7 @@ target_link_libraries(${PROJECT_NAME} PUBLIC + plugins) + + if(${NEED_LINK_ATOMIC}) +- target_link_libraries(${PROJECT_NAME} atomic) ++ target_link_libraries(${PROJECT_NAME} PUBLIC atomic) + endif() + + # Link platform specific libraries +-- +2.33.1 + diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/0001-support-link-against-libatomic-if-no-built-in-atomic.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-support-link-against-libatomic-if-no-built-in-atomic.patch deleted file mode 100644 index 6c0fb60868..0000000000 --- a/meta/recipes-graphics/vulkan/vulkan-samples/0001-support-link-against-libatomic-if-no-built-in-atomic.patch +++ /dev/null @@ -1,117 +0,0 @@ -From e20a5d13935a41a856e8f71c49f2cc9d81b1d92c Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Fri, 13 Nov 2020 17:07:00 +0800 -Subject: [PATCH] support link against libatomic if no built-in atomic exist - -fix error: -| framework/lib/ppc/libframework.a(device.cpp.o): in function `std::__atomic_base<unsigned long long>::load(std::memory_order) const': -| /usr/include/c++/10.2.0/bits/atomic_base.h:426: undefined reference to `__atomic_load_8' - -Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Samples/pull/212] - -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - CMakeLists.txt | 1 + - bldsys/cmake/check_atomic.cmake | 62 +++++++++++++++++++++++++++++++++ - framework/CMakeLists.txt | 4 +++ - 3 files changed, 67 insertions(+) - create mode 100644 bldsys/cmake/check_atomic.cmake - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e72e829..466f51d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -42,6 +42,7 @@ endmacro(vulkan_samples_pch) - include(utils) - include(global_options) - include(sample_helper) -+include(check_atomic) - - # Add third party libraries - add_subdirectory(third_party) -diff --git a/bldsys/cmake/check_atomic.cmake b/bldsys/cmake/check_atomic.cmake -new file mode 100644 -index 0000000..6b47a7a ---- /dev/null -+++ b/bldsys/cmake/check_atomic.cmake -@@ -0,0 +1,62 @@ -+# check weither need to link atomic library explicitly -+INCLUDE(CheckCXXSourceCompiles) -+INCLUDE(CheckLibraryExists) -+ -+if(NOT DEFINED VULKAN_COMPILER_IS_GCC_COMPATIBLE) -+ if(CMAKE_COMPILER_IS_GNUCXX) -+ set(VULKAN_COMPILER_IS_GCC_COMPATIBLE ON) -+ elseif( MSVC ) -+ set(VULKAN_COMPILER_IS_GCC_COMPATIBLE OFF) -+ elseif( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" ) -+ set(VULKAN_COMPILER_IS_GCC_COMPATIBLE ON) -+ elseif( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel" ) -+ set(VULKAN_COMPILER_IS_GCC_COMPATIBLE ON) -+ endif() -+endif() -+ -+# Sometimes linking against libatomic is required for atomic ops, if -+# the platform doesn't support lock-free atomics. -+ -+function(check_working_cxx_atomics varname) -+ set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS}) -+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11") -+ CHECK_CXX_SOURCE_COMPILES(" -+#include <atomic> -+std::atomic<int> x; -+std::atomic<short> y; -+std::atomic<char> z; -+int main() { -+ ++z; -+ ++y; -+ return ++x; -+} -+" ${varname}) -+ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS}) -+endfunction(check_working_cxx_atomics) -+ -+function(check_working_cxx_atomics64 varname) -+ set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS}) -+ set(CMAKE_REQUIRED_FLAGS "-std=c++11 ${CMAKE_REQUIRED_FLAGS}") -+ CHECK_CXX_SOURCE_COMPILES(" -+#include <atomic> -+#include <cstdint> -+std::atomic<uint64_t> x (0); -+int main() { -+ uint64_t i = x.load(std::memory_order_relaxed); -+ (void)i; -+ return 0; -+} -+" ${varname}) -+ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS}) -+endfunction(check_working_cxx_atomics64) -+ -+set(NEED_LINK_ATOMIC OFF CACHE BOOL "weither need to link against atomic library") -+if(VULKAN_COMPILER_IS_GCC_COMPATIBLE) -+ # check if non-64-bit atomics work without the library. -+ check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITHOUT_LIB) -+ # check 64-bit atomics work without the library. -+ check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITHOUT_LIB) -+ if (NOT HAVE_CXX_ATOMICS_WITHOUT_LIB OR NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB) -+ set(NEED_LINK_ATOMIC ON CACHE BOOL "weither need to link to atomic library" FORCE) -+ endif() -+endif() -diff --git a/framework/CMakeLists.txt b/framework/CMakeLists.txt -index bf26786..322526e 100644 ---- a/framework/CMakeLists.txt -+++ b/framework/CMakeLists.txt -@@ -412,6 +412,10 @@ target_link_libraries(${PROJECT_NAME} - ctpl - docopt) - -+if(${NEED_LINK_ATOMIC}) -+ target_link_libraries(${PROJECT_NAME} atomic) -+endif() -+ - # Link platform specific libraries - if(ANDROID) - target_link_libraries(${PROJECT_NAME} log android native_app_glue) --- -2.17.1 - diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/debugfix.patch b/meta/recipes-graphics/vulkan/vulkan-samples/debugfix.patch new file mode 100644 index 0000000000..d723fcc19a --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-samples/debugfix.patch @@ -0,0 +1,31 @@ +There is code to remove the prefix CMAKE_SOURCE_DIR from __FILENAME__ paths +used for logging with LOGE() in the code. We need to make this match the value we use +in the debug source remapping from CFLAGS + +We export the right path to use in the recipe with: + +EXTRA_OECMAKE = "-DCMAKE_DEBUG_SRCDIR=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/" + +and we then patch this into the code instead of the broken use +of CMAKE_SOURCE_DIR since __FILENAME__ will match our path prefix +changes. + +This also breaks reproducibility since the path length of the build directory +will currently change the output! + +Upstream-Status: Pending [needs to be discussed upstream] +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Index: git/bldsys/cmake/global_options.cmake +=================================================================== +--- git.orig/bldsys/cmake/global_options.cmake ++++ git/bldsys/cmake/global_options.cmake +@@ -47,7 +47,7 @@ set(CMAKE_CXX_STANDARD 14) + set(CMAKE_DISABLE_SOURCE_CHANGES ON) + set(CMAKE_DISABLE_IN_SOURCE_BUILD ON) + +-string(LENGTH "${CMAKE_SOURCE_DIR}/" ROOT_PATH_SIZE) ++string(LENGTH "${CMAKE_DEBUG_SRCDIR}/" ROOT_PATH_SIZE) + add_definitions(-DROOT_PATH_SIZE=${ROOT_PATH_SIZE}) + + set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 ${CMAKE_C_FLAGS_DEBUG}") diff --git a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb index 980557a3b9..1e45e9f04b 100644 --- a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb +++ b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb @@ -1,21 +1,40 @@ DESCRIPTION = "The Vulkan Samples is collection of resources to help develop optimized Vulkan applications." +HOMEPAGE = "https://www.khronos.org/vulkan/" +BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Samples/issues" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=48aa35cefb768436223a6e7f18dc2a2a" -SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git \ +SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git;branch=master;protocol=https \ file://0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch \ - file://0001-support-link-against-libatomic-if-no-built-in-atomic.patch \ + file://0001-framework-do-not-mix-plain-and-keyword-target_link_l.patch \ + file://0001-framework-core-Add-explicit-static_cast-from-vk-Buff.patch \ + file://debugfix.patch \ " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "f52361d3cd6ac8c30fc3365a464b4e220c32cfd6" +SRCREV = "ae6e4a3712cebde49a29e5996a3bd2f403566890" UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for" S = "${WORKDIR}/git" REQUIRED_DISTRO_FEATURES = 'vulkan' +COMPATIBLE_HOST = "(x86_64|aarch64|mips64|powerpc64|riscv64).*-linux" inherit cmake features_check -FILES_${PN} += "${datadir}" +FILES:${PN} += "${datadir}" + +# +# There is code to remove the prefix CMAKE_SOURCE_DIR from __FILENAME__ paths +# used for logging with LOGE in the code. We need to make this match the value we use +# in the debug source remapping from CFLAGS +# +EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/" +# Binaries built with PCH enabled don't appear reproducible, differing results were seen +# from some builds depending on the point the PCH was compiled. Disable it to be +# deterministic +EXTRA_OECMAKE += "-DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON" + +# This needs to be specified explicitly to avoid xcb/xlib dependencies +EXTRA_OECMAKE += "-DVKB_WSI_SELECTION=D2D" diff --git a/meta/recipes-graphics/vulkan/vulkan-tools_1.2.154.0.bb b/meta/recipes-graphics/vulkan/vulkan-tools_1.2.198.0.bb index 0fc3494eea..09f75383c2 100644 --- a/meta/recipes-graphics/vulkan/vulkan-tools_1.2.154.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-tools_1.2.198.0.bb @@ -1,12 +1,13 @@ SUMMARY = "Vulkan Utilities and Tools" +DESCRIPTION = "Assist development by enabling developers to verify their applications correct use of the Vulkan API." HOMEPAGE = "https://www.khronos.org/vulkan/" BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Tools" SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" -SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.2.154" -SRCREV = "10d757bb1072416ddfbe4c24b43d4cd2f808a5c7" +SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.2.198;protocol=https" +SRCREV = "8040a7af8919a47346cfeaf1fbc2ebfe09cfea09" S = "${WORKDIR}/git" diff --git a/meta/recipes-graphics/waffle/waffle/0001-waffle-do-not-make-core-protocol-into-the-library.patch b/meta/recipes-graphics/waffle/waffle/0001-waffle-do-not-make-core-protocol-into-the-library.patch new file mode 100644 index 0000000000..24b2de5d9c --- /dev/null +++ b/meta/recipes-graphics/waffle/waffle/0001-waffle-do-not-make-core-protocol-into-the-library.patch @@ -0,0 +1,56 @@ +From 7610ec4b572d3a54d30fca6798f0c406f3fd8a46 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Tue, 26 Oct 2021 08:52:17 +0200 +Subject: [PATCH] waffle: do not make core protocol into the library + +None of the consumers (which is just piglit) use it, and +this avoids host contamination from pkg-config suggesting +wayland.xml from the host. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + meson.build | 4 ---- + src/waffle/meson.build | 7 ------- + 2 files changed, 11 deletions(-) + +diff --git a/meson.build b/meson.build +index ffc02ff..0bb6128 100644 +--- a/meson.build ++++ b/meson.build +@@ -104,10 +104,6 @@ else + dep_wayland_client = dependency( + 'wayland-client', version : '>= 1.10', required : get_option('wayland'), + ) +- if dep_wayland_client.found() +- wayland_core_xml = join_paths(dep_wayland_client.get_pkgconfig_variable('pkgdatadir'), +- 'wayland.xml') +- endif + dep_wayland_egl = dependency( + 'wayland-egl', version : '>= 9.1', required : get_option('wayland'), + ) +diff --git a/src/waffle/meson.build b/src/waffle/meson.build +index 01898c8..6245868 100644 +--- a/src/waffle/meson.build ++++ b/src/waffle/meson.build +@@ -88,12 +88,6 @@ if build_surfaceless + endif + + if build_wayland +- wl_core_proto_c = custom_target( +- 'wl-core-proto.c', +- input: wayland_core_xml, +- output: 'wl-core-proto.c', +- command: [prog_wayland_scanner, 'private-code', '@INPUT@', '@OUTPUT@'], +- ) + wl_xdg_shell_proto_c = custom_target( + 'wl-xdg-shell-proto.c', + input: wayland_xdg_shell_xml, +@@ -114,7 +108,6 @@ if build_wayland + 'wayland/wayland_wrapper.c', + ) + files_libwaffle += [ +- wl_core_proto_c, + wl_xdg_shell_proto_c, + wl_xdg_shell_proto_h, + ] diff --git a/meta/recipes-graphics/waffle/waffle_1.6.1.bb b/meta/recipes-graphics/waffle/waffle_1.7.0.bb index 3f3c0e9028..ea11309940 100644 --- a/meta/recipes-graphics/waffle/waffle_1.6.1.bb +++ b/meta/recipes-graphics/waffle/waffle_1.7.0.bb @@ -1,17 +1,23 @@ -SUMMARY = "cross-platform C library to defer selection of GL API and of window system" +SUMMARY = "A C library for selecting an OpenGL API and window system at runtime" +DESCRIPTION = "A cross-platform C library that allows one to defer selection \ +of an OpenGL API and window system until runtime. For example, on Linux, Waffle \ +enables an application to select X11/EGL with an OpenGL 3.3 core profile, \ +Wayland with OpenGL ES2, and other window system / API combinations." +HOMEPAGE = "https://gitlab.freedesktop.org/mesa/waffle" +BUGTRACKER = "https://gitlab.freedesktop.org/mesa/waffle" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \ - file://include/waffle/waffle.h;endline=24;md5=61dbf8697f61c78645e75a93c585b1bf" + file://include/waffle-1/waffle.h;endline=24;md5=61dbf8697f61c78645e75a93c585b1bf" -SRC_URI = "http://waffle-gl.org/files/release/${BPN}-${PV}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "c91529e579483f44fb330052872b9c73" -SRC_URI[sha256sum] = "31565649ff0e2d8dff1b8f7f2264ab7a78452063c7e04adfc4ce03e64b655080" +SRC_URI = "git://gitlab.freedesktop.org/mesa/waffle.git;protocol=https;branch=master \ + file://0001-waffle-do-not-make-core-protocol-into-the-library.patch \ + " +SRCREV = "905c6c10f2483adf0cbfa024e2d3c2ed541fb300" +S = "${WORKDIR}/git" -UPSTREAM_CHECK_URI = "http://www.waffle-gl.org/releases.html" +inherit meson features_check lib_package bash-completion pkgconfig -inherit meson features_check lib_package bash-completion - -DEPENDS_append = " python3" +DEPENDS:append = " python3 cmake-native" # This should be overridden per-machine to reflect the capabilities of the GL # stack. @@ -27,7 +33,7 @@ PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/${MLPREFIX}libgl libx # I say virtual/libgl, actually wants wayland-egl.pc, egl.pc, and the wayland # DISTRO_FEATURE. -PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/${MLPREFIX}libgl wayland" +PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/${MLPREFIX}libgl wayland wayland-native" # I say virtual/libgl, actually wants gbm.pc egl.pc PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled,virtual/${MLPREFIX}libgl udev" @@ -37,3 +43,7 @@ PACKAGECONFIG[x11-egl] = "-Dx11_egl=enabled,-Dx11_egl=disabled,virtual/${MLPREFI PACKAGECONFIG[surfaceless-egl] = "-Dsurfaceless_egl=enabled,-Dsurfaceless_egl=disabled,virtual/${MLPREFIX}libgl" # TODO: optionally build manpages and examples + +do_install:append() { + sed -i -e "s,${WORKDIR},,g" ${D}/${libdir}/cmake/Waffle/WaffleConfig.cmake +} diff --git a/meta/recipes-graphics/wayland/libinput/run-ptest b/meta/recipes-graphics/wayland/libinput/run-ptest index 5a84c568b9..d11e6eb25b 100644 --- a/meta/recipes-graphics/wayland/libinput/run-ptest +++ b/meta/recipes-graphics/wayland/libinput/run-ptest @@ -1,6 +1,6 @@ #!/bin/sh -/usr/libexec/libinput/libinput-test-suite +/usr/libexec/libinput/libinput-test-suite -j1 if [ $? -eq 0 ]; then echo 'PASS: libinput-test-suite' else diff --git a/meta/recipes-graphics/wayland/libinput_1.16.3.bb b/meta/recipes-graphics/wayland/libinput_1.19.2.bb index 8929de6ae0..590dee42e5 100644 --- a/meta/recipes-graphics/wayland/libinput_1.16.3.bb +++ b/meta/recipes-graphics/wayland/libinput_1.19.2.bb @@ -8,7 +8,7 @@ HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/" SECTION = "libs" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63" +LIC_FILES_CHKSUM = "file://COPYING;md5=bab4ac7dc1c10bc0fb037dc76c46ef8a" DEPENDS = "libevdev udev mtdev libcheck" @@ -16,14 +16,14 @@ SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \ file://run-ptest \ file://determinism.patch \ " -SRC_URI[sha256sum] = "dc5e1ae51ec1cc635ca96f61118b0f07dfea783cab0747a60f3555068bb077e4" +SRC_URI[sha256sum] = "0fc39f0af3ee1a77c60c34bc45391a4d0879169f7c0f7bbbeb5eef590b98b883" UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" inherit meson pkgconfig lib_package ptest # Patch out build directory, otherwise it leaks into ptest binary -do_configure_append() { +do_configure:append() { sed -i -e "s,${WORKDIR},,g" config.h if [ -e "litest-config.h" ]; then sed -i -e "s,${WORKDIR},,g" litest-config.h @@ -42,8 +42,8 @@ EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \ -Dzshcompletiondir=no" # package name changed in 1.8.1 upgrade: make sure package upgrades work -RPROVIDES_${PN} = "libinput" -RREPLACES_${PN} = "libinput" -RCONFLICTS_${PN} = "libinput" +RPROVIDES:${PN} = "libinput" +RREPLACES:${PN} = "libinput" +RCONFLICTS:${PN} = "libinput" -FILES_${PN}-ptest += "${libexecdir}/libinput/libinput-test-suite" +FILES:${PN}-ptest += "${libexecdir}/libinput/libinput-test-suite" diff --git a/meta/recipes-graphics/wayland/wayland-protocols_1.20.bb b/meta/recipes-graphics/wayland/wayland-protocols_1.24.bb index 3fb78f658c..2a1f1e3dce 100644 --- a/meta/recipes-graphics/wayland/wayland-protocols_1.20.bb +++ b/meta/recipes-graphics/wayland/wayland-protocols_1.24.bb @@ -11,12 +11,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ " -SRC_URI[md5sum] = "b0836533a3f2dc6585b1dae00341157f" -SRC_URI[sha256sum] = "9782b7a1a863d82d7c92478497d13c758f52e7da4f197aa16443f73de77e4de7" +SRC_URI[sha256sum] = "bff0d8cffeeceb35159d6f4aa6bab18c807b80642c9d50f66cba52ecf7338bc2" UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" -inherit allarch autotools pkgconfig +inherit allarch meson pkgconfig + +EXTRA_OEMESON += "-Dtests=false" PACKAGES = "${PN}" -FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc" +FILES:${PN} += "${datadir}/pkgconfig/wayland-protocols.pc" diff --git a/meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch b/meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch index c2ceae4a47..ad1063b2c3 100644 --- a/meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch +++ b/meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch @@ -1,4 +1,4 @@ -From e6783c99f051c6d8252db5f388d805cef0e16357 Mon Sep 17 00:00:00 2001 +From 6a6223a8e217664a348835e92d5a602f50e18b2c Mon Sep 17 00:00:00 2001 From: Joshua Watt <JPEWhacker@gmail.com> Date: Thu, 20 Feb 2020 15:20:45 -0600 Subject: [PATCH] build: Fix strndup detection on MinGW @@ -13,10 +13,13 @@ See: https://github.com/mesonbuild/meson/issues/3672 Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/wayland/merge_requests/63] + --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) +diff --git a/meson.build b/meson.build +index 11c35fa..80729d0 100644 --- a/meson.build +++ b/meson.build @@ -36,11 +36,11 @@ have_funcs = [ diff --git a/meta/recipes-graphics/wayland/wayland/0001-meson-tests-add-missing-dependencies-on-protocol-hea.patch b/meta/recipes-graphics/wayland/wayland/0001-meson-tests-add-missing-dependencies-on-protocol-hea.patch deleted file mode 100644 index 61de0e04e8..0000000000 --- a/meta/recipes-graphics/wayland/wayland/0001-meson-tests-add-missing-dependencies-on-protocol-hea.patch +++ /dev/null @@ -1,115 +0,0 @@ -From b2c74f6a3dbe0aee2413800837314136947a4985 Mon Sep 17 00:00:00 2001 -From: Jan Beich <jbeich@FreeBSD.org> -Date: Sat, 15 Feb 2020 02:03:45 +0000 -Subject: [PATCH] meson/tests: add missing dependencies on protocol headers - -In file included from ../tests/connection-test.c:43: -In file included from ../tests/test-compositor.h:30: -../src/wayland-client.h:40:10: fatal error: 'wayland-client-protocol.h' file not found - #include "wayland-client-protocol.h" - ^~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from ../tests/display-test.c:45: -In file included from ../src/wayland-server.h:104: -src/wayland-server-protocol.h:4454:2: error: unterminated /* comment - /** - ^ -In file included from ../tests/cpp-compile-test.cpp:2: -In file included from src/wayland-server-protocol.h:8: -In file included from ../src/wayland-server.h:104: -src/wayland-server-protocol.h:3:2: error: unterminated conditional directive - #ifndef WAYLAND_SERVER_PROTOCOL_H - ^ -../tests/headers-protocol-test.c:33:2: error: including wayland-server-protocol.h did not include wayland-server.h! - #error including wayland-server-protocol.h did not include wayland-server.h! - ^ -In file included from ../tests/headers-protocol-test.c:26: -In file included from src/wayland-client-protocol.h:8: -In file included from ../src/wayland-client.h:40: -src/wayland-client-protocol.h:1358:2: error: unterminated conditional directive - #ifndef WL_SHM_FORMAT_ENUM - ^ -In file included from ../tests/protocol-logger-test.c:34: -In file included from ../src/wayland-client.h:40: -src/wayland-client-protocol.h:2613:1: error: unterminated /* comment -/** -^ -../tests/resources-test.c:49:36: error: use of undeclared identifier 'wl_seat_interface' - res = wl_resource_create(client, &wl_seat_interface, 4, 0); - ^ -Upstream-Status: Backport -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - tests/meson.build | 26 ++++++++++++++++++-------- - 1 file changed, 18 insertions(+), 8 deletions(-) - -diff --git a/tests/meson.build b/tests/meson.build -index c28a2a3..f1af7b4 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -69,7 +69,7 @@ test( - executable( - 'cpp-compile-test', - 'cpp-compile-test.cpp', -- wayland_server_protocol_core_h, -+ wayland_server_protocol_h, - include_directories: src_inc - ) - ) -@@ -91,17 +91,25 @@ tests = { - 'array-test': [], - 'client-test': [ wayland_server_protocol_h ], - 'display-test': [ -+ wayland_client_protocol_h, -+ wayland_server_protocol_h, - tests_server_protocol_h, - tests_client_protocol_c, - tests_protocol_c, - ], -- 'connection-test': [ wayland_server_protocol_h ], -+ 'connection-test': [ -+ wayland_client_protocol_h, -+ wayland_server_protocol_h, -+ ], - 'event-loop-test': [ wayland_server_protocol_h ], - 'fixed-test': [], - 'interface-test': [ wayland_client_protocol_h ], - 'list-test': [], - 'map-test': [], -- 'sanity-test' : [ wayland_server_protocol_h ], -+ 'sanity-test' : [ -+ wayland_client_protocol_h, -+ wayland_server_protocol_h, -+ ], - 'socket-test': [ - wayland_client_protocol_h, - wayland_server_protocol_h, -@@ -116,7 +124,7 @@ tests = { - files('../src/wayland-server.c'), - wayland_server_protocol_h, - ], -- 'resources-test': [ wayland_server_protocol_core_h ], -+ 'resources-test': [ wayland_server_protocol_h ], - 'message-test': [ - wayland_client_protocol_h, - wayland_server_protocol_h, -@@ -126,14 +134,16 @@ tests = { - wayland_server_protocol_h, - ], - 'protocol-logger-test': [ -- wayland_server_protocol_core_h, -- wayland_client_protocol_core_h, -+ wayland_client_protocol_h, -+ wayland_server_protocol_h, - ], - 'headers-test': [ -+ wayland_client_protocol_h, -+ wayland_server_protocol_h, - 'headers-protocol-test.c', -- 'headers-protocol-core-test.c', -- wayland_server_protocol_core_h, - wayland_client_protocol_core_h, -+ wayland_server_protocol_core_h, -+ 'headers-protocol-core-test.c', - ], - 'os-wrappers-test': [], - } diff --git a/meta/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch b/meta/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch index 2199548bdf..e3e71925b8 100644 --- a/meta/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch +++ b/meta/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch @@ -1,4 +1,4 @@ -From cbb28635a1079d68e62dbaa1e21791a20dbbbaf4 Mon Sep 17 00:00:00 2001 +From 3e7cd56611aeec274e48a4816bc7c21f74f15be0 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Mon, 17 Feb 2020 21:46:18 +0100 Subject: [PATCH] Do not hardcode the path to wayland-scanner @@ -7,20 +7,21 @@ This results in host contamination during builds. Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + --- src/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/meson.build b/src/meson.build -index 294aee0..7e410fa 100644 +index 15730a3..61edbc8 100644 --- a/src/meson.build +++ b/src/meson.build -@@ -49,7 +49,7 @@ pkgconfig.generate( - 'datarootdir=' + join_paths('${prefix}', get_option('datadir')), - 'pkgdatadir=' + join_paths('${datarootdir}', meson.project_name()), - 'bindir=' + join_paths('${prefix}', get_option('bindir')), -- 'wayland_scanner=${bindir}/wayland-scanner' -+ 'wayland_scanner=wayland-scanner' - ], - filebase: 'wayland-scanner' - ) +@@ -52,7 +52,7 @@ if get_option('scanner') + 'datarootdir=' + join_paths('${prefix}', get_option('datadir')), + 'pkgdatadir=' + join_paths('${datarootdir}', meson.project_name()), + 'bindir=' + join_paths('${prefix}', get_option('bindir')), +- 'wayland_scanner=${bindir}/wayland-scanner' ++ 'wayland_scanner=wayland-scanner' + ], + filebase: 'wayland-scanner' + ) diff --git a/meta/recipes-graphics/wayland/wayland/0002-meson.build-find-the-native-wayland-scanner-directly.patch b/meta/recipes-graphics/wayland/wayland/0002-meson.build-find-the-native-wayland-scanner-directly.patch deleted file mode 100644 index f98037a850..0000000000 --- a/meta/recipes-graphics/wayland/wayland/0002-meson.build-find-the-native-wayland-scanner-directly.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 2582d2653ba80917d7bc47088e1a5f49530fddaa Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Sun, 16 Feb 2020 16:29:53 +0100 -Subject: [PATCH] meson.build: find the native wayland-scanner directly in PATH - -Otherwise, meson attempts to use the target pkg-config and fails. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - src/meson.build | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/src/meson.build b/src/meson.build -index 3e8c9bf..294aee0 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -55,8 +55,7 @@ pkgconfig.generate( - ) - - if meson.is_cross_build() -- scanner_dep = dependency('wayland-scanner', native: true, version: '>=1.14.0') -- wayland_scanner_for_build = find_program(scanner_dep.get_pkgconfig_variable('wayland_scanner')) -+ wayland_scanner_for_build = find_program('wayland-scanner') - else - wayland_scanner_for_build = wayland_scanner - endif diff --git a/meta/recipes-graphics/wayland/wayland_1.18.0.bb b/meta/recipes-graphics/wayland/wayland_1.19.0.bb index 00be3aac27..4c9ae0f75c 100644 --- a/meta/recipes-graphics/wayland/wayland_1.18.0.bb +++ b/meta/recipes-graphics/wayland/wayland_1.19.0.bb @@ -14,13 +14,10 @@ DEPENDS = "expat libffi wayland-native" SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ file://run-ptest \ - file://0002-meson.build-find-the-native-wayland-scanner-directly.patch \ file://0002-Do-not-hardcode-the-path-to-wayland-scanner.patch \ file://0001-build-Fix-strndup-detection-on-MinGW.patch \ - file://0001-meson-tests-add-missing-dependencies-on-protocol-hea.patch \ " -SRC_URI[md5sum] = "23317697b6e3ff2e1ac8c5ba3ed57b65" -SRC_URI[sha256sum] = "4675a79f091020817a98fd0484e7208c8762242266967f55a67776936c2e294d" +SRC_URI[sha256sum] = "baccd902300d354581cd5ad3cc49daa4921d55fb416a5883e218750fef166d15" UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" @@ -30,11 +27,11 @@ PACKAGECONFIG ??= "dtd-validation" PACKAGECONFIG[dtd-validation] = "-Ddtd_validation=true,-Ddtd_validation=false,libxml2,," EXTRA_OEMESON = "-Ddocumentation=false" -EXTRA_OEMESON_class-native = "-Ddocumentation=false -Dlibraries=false" +EXTRA_OEMESON:class-native = "-Ddocumentation=false -Dlibraries=false" # 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() { +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 @@ -49,14 +46,16 @@ do_install_ptest() { cp -rf ${S}/egl/wayland-egl-symbols-check ${D}${PTEST_PATH}/tests/ } -sysroot_stage_all_append_class-target () { +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" +PACKAGES =+ "${PN}-tools" + +FILES:${PN}-tools = "${bindir}/wayland-scanner" +FILES:${PN}-dev += "${datadir}/${BPN}/wayland-scanner.mk" BBCLASSEXTEND = "native nativesdk" -RDEPENDS_${PN}-ptest += "binutils sed" +RDEPENDS:${PN}-ptest += "binutils sed ${PN}-tools" diff --git a/meta/recipes-graphics/wayland/weston-init.bb b/meta/recipes-graphics/wayland/weston-init.bb index 65d7b81dc5..e02da0c358 100644 --- a/meta/recipes-graphics/wayland/weston-init.bb +++ b/meta/recipes-graphics/wayland/weston-init.bb @@ -19,17 +19,18 @@ PACKAGECONFIG ??= "" PACKAGECONFIG[no-idle-timeout] = ",," DEFAULTBACKEND ??= "" -DEFAULTBACKEND_qemuall ?= "fbdev" -DEFAULTBACKEND_qemuarm64 = "drm" -DEFAULTBACKEND_qemux86 = "drm" -DEFAULTBACKEND_qemux86-64 = "drm" +DEFAULTBACKEND:qemuall ?= "fbdev" +DEFAULTBACKEND:qemuarm64 = "drm" +DEFAULTBACKEND:qemux86 = "drm" +DEFAULTBACKEND:qemux86-64 = "drm" # gallium swrast was found to crash weston on startup in x32 qemu -DEFAULTBACKEND_qemux86-64_x86-x32 = "fbdev" -DEFAULTBACKEND_x86-x32 = "fbdev" +DEFAULTBACKEND:qemux86-64:x86-x32 = "fbdev" +DEFAULTBACKEND:x86-x32 = "fbdev" do_install() { if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston + sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}/${sysconfdir}/init.d/weston fi install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston @@ -43,7 +44,7 @@ do_install() { sed -i -e s:/etc:${sysconfdir}:g \ -e s:/usr/bin:${bindir}:g \ -e s:/var:${localstatedir}:g \ - ${D}${systemd_unitdir}/system/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 @@ -69,12 +70,12 @@ USERADD_PACKAGES = "${PN}" # requires pam enabled if started via systemd REQUIRED_DISTRO_FEATURES = "opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}" -RDEPENDS_${PN} = "weston kbd" +RDEPENDS:${PN} = "weston kbd" INITSCRIPT_NAME = "weston" INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." -FILES_${PN} += "\ +FILES:${PN} += "\ ${sysconfdir}/xdg/weston/weston.ini \ ${systemd_system_unitdir}/weston.service \ ${systemd_system_unitdir}/weston.socket \ @@ -83,9 +84,9 @@ FILES_${PN} += "\ /home/weston \ " -CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston" +CONFFILES:${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston" -SYSTEMD_SERVICE_${PN} = "weston.service weston.socket" -USERADD_PARAM_${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input weston" -GROUPADD_PARAM_${PN} = "-r wayland" +SYSTEMD_SERVICE:${PN} = "weston.service weston.socket" +USERADD_PARAM:${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input weston" +GROUPADD_PARAM:${PN} = "-r wayland" diff --git a/meta/recipes-graphics/wayland/weston-init/init b/meta/recipes-graphics/wayland/weston-init/init index d3e87c6cef..a849f29bcb 100644 --- a/meta/recipes-graphics/wayland/weston-init/init +++ b/meta/recipes-graphics/wayland/weston-init/init @@ -30,6 +30,7 @@ done case "$1" in start) . /etc/profile + export HOME=ROOTHOME weston-start -- $OPTARGS ;; diff --git a/meta/recipes-graphics/wayland/weston-init/weston-start b/meta/recipes-graphics/wayland/weston-init/weston-start index 0b93dc964a..0f1bc4c29d 100755 --- a/meta/recipes-graphics/wayland/weston-init/weston-start +++ b/meta/recipes-graphics/wayland/weston-init/weston-start @@ -21,6 +21,14 @@ add_weston_argument() { # Add openvt extra argument add_openvt_argument() { openvt_args="$openvt_args $1" + +} +## Add module to --modules argument +add_weston_module() { + if [[ "x${weston_modules}" == "x" ]]; then + weston_modules="--modules " + fi; + weston_modules+="${1}," } if [ -n "$WAYLAND_DISPLAY" ]; then @@ -68,6 +76,9 @@ if [ -d "$modules_dir" ]; then # process module . $m + if [[ x"{$weston_modules}" != "x" ]]; then + add_weston_argument "${weston_modules}" + fi; done fi diff --git a/meta/recipes-graphics/wayland/weston-init/weston.ini b/meta/recipes-graphics/wayland/weston-init/weston.ini index b48726d59c..6bd5aef55a 100644 --- a/meta/recipes-graphics/wayland/weston-init/weston.ini +++ b/meta/recipes-graphics/wayland/weston-init/weston.ini @@ -42,7 +42,7 @@ require-input=false #path=/build/weston-0lEgCh/weston-1.11.0/weston-flower #[input-method] -#path=/usr/lib/weston/weston-keyboard +#path=/usr/libexec/weston-keyboard #[output] #name=LVDS1 diff --git a/meta/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch b/meta/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch new file mode 100644 index 0000000000..f8f7589499 --- /dev/null +++ b/meta/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch @@ -0,0 +1,50 @@ +From c8bfa1f8d576cdc6d515dbbac36c48c6166be0d5 Mon Sep 17 00:00:00 2001 +From: Marius Vlad <marius.vlad@collabora.com> +Date: Thu, 1 Apr 2021 00:12:00 +0300 +Subject: [PATCH] libweston/backend-drm: Re-order gbm destruction at DRM-backend tear down + +Tearing down the drm-backend when there are no input devices, would call +for the gbm device destruction before compositor shutdown. The latter +would call into the renderer detroy function and assume that the +EGLDisplay, which was created using the before-mentioned gbm device, is +still available. This patch re-orders the gbm destruction after the +compositor shutdown when no one would make use of it. + +Fixes: #314 + +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +Suggested-by: Daniel Stone <daniel.stone@collabora.com> + +Upstream-Status: Backport [https://gitlab.freedesktop.org/wayland/weston/-/commit/d171c7b3ba346c4d0bd6494f45ebf0be3c3cc5fb] +--- + libweston/backend-drm/drm.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c +index 2780f3b..fbcfeca 100644 +--- a/libweston/backend-drm/drm.c ++++ b/libweston/backend-drm/drm.c +@@ -3025,10 +3025,6 @@ err_drm_source: + err_udev_input: + udev_input_destroy(&b->input); + err_sprite: +-#ifdef BUILD_DRM_GBM +- if (b->gbm) +- gbm_device_destroy(b->gbm); +-#endif + destroy_sprites(b); + err_udev_dev: + udev_device_unref(drm_device); +@@ -3038,6 +3034,10 @@ err_launcher: + weston_launcher_destroy(compositor->launcher); + err_compositor: + weston_compositor_shutdown(compositor); ++#ifdef BUILD_DRM_GBM ++ if (b->gbm) ++ gbm_device_destroy(b->gbm); ++#endif + free(b); + return NULL; + } +-- +2.33.0 diff --git a/meta/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch b/meta/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch new file mode 100644 index 0000000000..06e0f7baec --- /dev/null +++ b/meta/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch @@ -0,0 +1,32 @@ +From a2ba4714a6872e547621d29d9ddcb0f374b88cf6 Mon Sep 17 00:00:00 2001 +From: Chen Qi <Qi.Chen@windriver.com> +Date: Tue, 20 Apr 2021 20:42:18 -0700 +Subject: [PATCH] meson.build: fix incorrect header + +The wayland.c actually include 'xdg-shell-client-protocol.h' instead of +the server one, so fix it. Otherwise, it's possible to get build failure +due to race condition. + +Upstream-Status: Pending + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + libweston/backend-wayland/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libweston/backend-wayland/meson.build b/libweston/backend-wayland/meson.build +index 7e82513..29270b5 100644 +--- a/libweston/backend-wayland/meson.build ++++ b/libweston/backend-wayland/meson.build +@@ -10,7 +10,7 @@ srcs_wlwl = [ + fullscreen_shell_unstable_v1_protocol_c, + presentation_time_protocol_c, + presentation_time_server_protocol_h, +- xdg_shell_server_protocol_h, ++ xdg_shell_client_protocol_h, + xdg_shell_protocol_c, + ] + +-- +2.30.2 + diff --git a/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch index 3279a728cc..f6ebfd8f61 100644 --- a/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch +++ b/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch @@ -11,7 +11,7 @@ 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 +Upstream-Status: Denied [https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/725] Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> diff --git a/meta/recipes-graphics/wayland/weston/systemd-notify.weston-start b/meta/recipes-graphics/wayland/weston/systemd-notify.weston-start new file mode 100644 index 0000000000..a97e7b38d9 --- /dev/null +++ b/meta/recipes-graphics/wayland/weston/systemd-notify.weston-start @@ -0,0 +1,9 @@ +#!/bin/sh + +# SPDX-FileCopyrightText: Huawei Inc. +# SPDX-License-Identifier: Apache-2.0 + + +if [[ -x "/usr/lib/weston/systemd-notify.so" ]]; then + add_weston_module "systemd-notify.so" +fi diff --git a/meta/recipes-graphics/wayland/weston/xwayland.weston-start b/meta/recipes-graphics/wayland/weston/xwayland.weston-start index b483c97cf1..db384b1a53 100644 --- a/meta/recipes-graphics/wayland/weston/xwayland.weston-start +++ b/meta/recipes-graphics/wayland/weston/xwayland.weston-start @@ -2,6 +2,4 @@ if type Xwayland >/dev/null 2>/dev/null; then mkdir -p /tmp/.X11-unix - - add_weston_argument "--modules=xwayland.so" fi diff --git a/meta/recipes-graphics/wayland/weston_9.0.0.bb b/meta/recipes-graphics/wayland/weston_9.0.0.bb index 8cb105c785..59ab217a3b 100644 --- a/meta/recipes-graphics/wayland/weston_9.0.0.bb +++ b/meta/recipes-graphics/wayland/weston_9.0.0.bb @@ -9,11 +9,14 @@ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ file://weston.png \ file://weston.desktop \ file://xwayland.weston-start \ + file://systemd-notify.weston-start \ file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ file://0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch \ + file://0001-meson.build-fix-incorrect-header.patch \ + file://0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch \ " -SRC_URI_append_libc-musl = " file://dont-use-plane-add-prop.patch " +SRC_URI:append:libc-musl = " file://dont-use-plane-add-prop.patch " SRC_URI[sha256sum] = "5cf5d6ce192e0eb15c1fc861a436bf21b5bb3b91dbdabbdebe83e1f83aa098fe" @@ -31,7 +34,7 @@ LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '', WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" -EXTRA_OEMESON += "-Dbackend-default=auto -Dbackend-rdp=false -Dpipewire=false" +EXTRA_OEMESON += "-Dbackend-default=auto -Dpipewire=false" PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl clients', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ @@ -57,6 +60,8 @@ PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libx PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false" # Weston on framebuffer PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev" +# Weston on RDP +PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp" # weston-launch PACKAGECONFIG[launch] = "-Dweston-launch=true,-Dweston-launch=false,drm" # VA-API desktop recorder @@ -76,7 +81,7 @@ PACKAGECONFIG[colord] = "-Dcolor-management-colord=true,-Dcolor-management-color # Clients support PACKAGECONFIG[clients] = "-Dsimple-clients=all -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false" # Virtual remote output with GStreamer on DRM backend -PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0" +PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base" # Weston with PAM support PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam" # Weston with screen-share support @@ -90,7 +95,7 @@ PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false" # JPEG image loading support PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg" -do_install_append() { +do_install:append() { # Weston doesn't need the .la files to load modules, so wipe them rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la @@ -107,6 +112,10 @@ do_install_append() { install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland fi + if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then + install -Dm 644 ${WORKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify + fi + if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then chmod u+s ${D}${bindir}/weston-launch fi @@ -115,20 +124,20 @@ do_install_append() { PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \ libweston-${WESTON_MAJOR_VERSION} ${PN}-examples" -FILES_${PN}-dev += "${libdir}/${BPN}/libexec_weston.so" -FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}" +FILES:${PN}-dev += "${libdir}/${BPN}/libexec_weston.so" +FILES:${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}" -FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so" -SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'." +FILES:libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so" +SUMMARY:libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'." -FILES_${PN}-examples = "${bindir}/*" +FILES:${PN}-examples = "${bindir}/*" -FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so" -RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland" +FILES:${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so" +RDEPENDS:${PN}-xwayland += "xwayland" -RDEPENDS_${PN} += "xkeyboard-config" -RRECOMMENDS_${PN} = "weston-init liberation-fonts" -RRECOMMENDS_${PN}-dev += "wayland-protocols" +RDEPENDS:${PN} += "xkeyboard-config" +RRECOMMENDS:${PN} = "weston-init liberation-fonts" +RRECOMMENDS:${PN}-dev += "wayland-protocols" USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system weston-launch" +GROUPADD_PARAM:${PN} = "--system weston-launch" diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb b/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb index c2995f99ff..573ab7b93d 100644 --- a/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb +++ b/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb @@ -52,9 +52,9 @@ do_install() { 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 + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/xserver-nodm.service.in ${D}${systemd_system_unitdir}/xserver-nodm.service + sed -i "s:@USER@:${XUSER}:" ${D}${systemd_system_unitdir}/xserver-nodm.service fi if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then @@ -63,10 +63,10 @@ do_install() { fi } -RDEPENDS_${PN} = "xinit ${@oe.utils.conditional('ROOTLESS_X', '1', 'xuser-account libcap libcap-bin', '', d)}" +RDEPENDS:${PN} = "xinit ${@oe.utils.conditional('ROOTLESS_X', '1', 'xuser-account libcap libcap-bin', '', d)}" INITSCRIPT_NAME = "xserver-nodm" INITSCRIPT_PARAMS = "start 9 5 . stop 20 0 1 2 3 6 ." -SYSTEMD_SERVICE_${PN} = "xserver-nodm.service" +SYSTEMD_SERVICE:${PN} = "xserver-nodm.service" -RCONFLICTS_${PN} = "xserver-common (< 1.34-r9) x11-common" +RCONFLICTS:${PN} = "xserver-common (< 1.34-r9) x11-common" diff --git a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb index a4ab7f6eb8..f484f537c1 100644 --- a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb +++ b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb @@ -17,4 +17,4 @@ S = "${WORKDIR}/git" inherit autotools allarch -FILES_${PN} = "${datadir}/icons/xcursor-transparent/cursors/*" +FILES:${PN} = "${datadir}/icons/xcursor-transparent/cursors/*" diff --git a/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb b/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb index 65348c3762..b77c940dde 100644 --- a/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb +++ b/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb @@ -1,4 +1,7 @@ SUMMARY = "Touchscreen calibration data from xinput-calibrator" +DESCRIPTION = "A generic touchscreen calibration program for X.Org" +HOMEPAGE = "https://www.freedesktop.org/wiki/Software/xinput_calibrator/" +BUGTRACKER = "https://github.com/tias/xinput_calibrator/issues" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" @@ -17,4 +20,4 @@ do_install() { } PACKAGE_ARCH = "${MACHINE_ARCH}" -CONFFILES_${PN} = "${sysconfdir}/pointercal.xinput" +CONFFILES:${PN} = "${sysconfdir}/pointercal.xinput" diff --git a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb index d2a16643fe..49c42bd68a 100644 --- a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb +++ b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb @@ -12,7 +12,7 @@ inherit autotools pkgconfig features_check REQUIRED_DISTRO_FEATURES = "x11" SRCREV = "18ec53f1cada39f905614ebfaffed5c7754ecf46" -SRC_URI = "git://github.com/kreijack/xinput_calibrator.git;branch=libinput \ +SRC_URI = "git://github.com/kreijack/xinput_calibrator.git;branch=libinput;protocol=https \ file://30xinput_calibrate.sh \ file://Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch \ file://0001-calibrator.hh-Include-string-to-get-std-string.patch \ @@ -23,7 +23,7 @@ S = "${WORKDIR}/git" # force native X11 ui as we don't have gtk+ in DEPENDS EXTRA_OECONF += "--with-gui=x11" -do_install_append() { +do_install:append() { install -d ${D}${bindir} install -m 0755 ${S}/scripts/xinput_calibrator_pointercal.sh ${D}${bindir}/xinput_calibrator_once.sh @@ -34,6 +34,6 @@ do_install_append() { 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" +FILES:${PN} += "${sysconfdir}/xdg/autostart" +RDEPENDS:${PN} = "xinput formfactor" +RRECOMMENDS:${PN} = "pointercal-xinput" diff --git a/meta/recipes-graphics/xorg-app/mkfontscale_1.2.1.bb b/meta/recipes-graphics/xorg-app/mkfontscale_1.2.1.bb index a767ee847b..2d0c51a423 100644 --- a/meta/recipes-graphics/xorg-app/mkfontscale_1.2.1.bb +++ b/meta/recipes-graphics/xorg-app/mkfontscale_1.2.1.bb @@ -11,7 +11,7 @@ is used by the mkfontdir program." DEPENDS = "util-macros-native zlib libfontenc freetype xorgproto" PROVIDES += "mkfontdir" -RPROVIDES_${PN} += "mkfontdir" +RPROVIDES:${PN} += "mkfontdir" BBCLASSEXTEND = "native" diff --git a/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb b/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb index c3e853631b..db287a5b57 100644 --- a/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb +++ b/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb @@ -13,4 +13,4 @@ PE = "1" SRC_URI[md5sum] = "eab5bbd7642e5c784429307ec210d198" SRC_URI[sha256sum] = "bbca7c6aa59939b9f6a0fb9fff15dfd62176420ffd4ae30c8d92a6a125fbe6b0" -FILES_${PN} += "${datadir}/X11" +FILES:${PN} += "${datadir}/X11" diff --git a/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb b/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb index c4d443bfb9..651d03caca 100644 --- a/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb +++ b/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb @@ -17,11 +17,11 @@ inherit multilib_script MULTILIB_SCRIPTS = "${PN}:${bindir}/x11perfcomp" -do_install_append_class-target () { +do_install:append:class-target () { sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}${bindir}/x11perfcomp } -FILES_${PN} += "${libdir}/X11/x11perfcomp/*" +FILES:${PN} += "${libdir}/X11/x11perfcomp/*" SRC_URI[md5sum] = "e96b56756990c56c24d2d02c2964456b" SRC_URI[sha256sum] = "1c7e0b8ffc2794b4ccf11e04d551823abe0ea47b4f7db0637390db6fbe817c34" diff --git a/meta/recipes-graphics/xorg-app/xauth_1.1.bb b/meta/recipes-graphics/xorg-app/xauth_1.1.1.bb index 24ad9606ec..48259a69ff 100644 --- a/meta/recipes-graphics/xorg-app/xauth_1.1.bb +++ b/meta/recipes-graphics/xorg-app/xauth_1.1.1.bb @@ -8,8 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b" DEPENDS += "libxau libxext libxmu" PE = "1" -SRC_URI[md5sum] = "e50587c1bb832aafd1a19d91a0890a0b" -SRC_URI[sha256sum] = "6d1dd1b79dd185107c5b0fdd22d1d791ad749ad6e288d0cdf80964c4ffa7530c" +SRC_URI[sha256sum] = "164ea0a29137b284a47b886ef2affcb0a74733bf3aad04f9b106b1a6c82ebd92" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/meta/recipes-graphics/xorg-app/xeyes_1.1.2.bb b/meta/recipes-graphics/xorg-app/xeyes_1.2.0.bb index 06885f8f53..73d09f058d 100644 --- a/meta/recipes-graphics/xorg-app/xeyes_1.1.2.bb +++ b/meta/recipes-graphics/xorg-app/xeyes_1.2.0.bb @@ -8,7 +8,6 @@ PE = "1" LIC_FILES_CHKSUM = "file://COPYING;md5=3ea51b365051ac32d1813a7dbaa4bfc6" -SRC_URI[md5sum] = "6f0543ec84283df5743eeafc173bea4a" -SRC_URI[sha256sum] = "57bcec0d2d167af9e5d44d0dbd74c6d7c0f0591cd0608952b23c749fdd910553" +SRC_URI[sha256sum] = "f8a17e23146bef1ab345a1e303c6749e42aaa7bcf4f25428afad41770721b6db" -DEPENDS += "libxau libxt libxext libxmu libxrender" +DEPENDS += "libxau libxt libxext libxmu libxrender libxi" diff --git a/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb b/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb index 301ea1c243..e6ebf273e8 100644 --- a/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb +++ b/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb @@ -22,4 +22,4 @@ EXTRA_OECONF = "ac_cv_path_MCOOKIE=${bindir}/mcookie" PACKAGECONFIG ??= "rxvt" PACKAGECONFIG[rxvt] = "--with-xterm=rxvt,,,rxvt-unicode" -RDEPENDS_${PN} += "util-linux-mcookie" +RDEPENDS:${PN} += "util-linux-mcookie" diff --git a/meta/recipes-graphics/xorg-app/xkbcomp_1.4.3.bb b/meta/recipes-graphics/xorg-app/xkbcomp_1.4.5.bb index 2fa79c8438..657ec7580d 100644 --- a/meta/recipes-graphics/xorg-app/xkbcomp_1.4.3.bb +++ b/meta/recipes-graphics/xorg-app/xkbcomp_1.4.5.bb @@ -7,7 +7,7 @@ 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" +LIC_FILES_CHKSUM = "file://COPYING;md5=be5e191f04d3f2cd80aa83b928ba984c" DEPENDS += "libxkbfile" @@ -15,5 +15,4 @@ BBCLASSEXTEND = "native" EXTRA_OECONF += "--disable-selective-werror" -SRC_URI[md5sum] = "6e4751d99373f85d459ab4dff28893f5" -SRC_URI[sha256sum] = "06242c169fc11caf601cac46d781d467748c6a330e15b36dce46520b8ac8d435" +SRC_URI[sha256sum] = "6851086c4244b6fd0cc562880d8ff193fb2bbf1e141c73632e10731b31d4b05e" diff --git a/meta/recipes-graphics/xorg-app/xorg-app-common.inc b/meta/recipes-graphics/xorg-app/xorg-app-common.inc index cb8cf4f5fa..1a20099880 100644 --- a/meta/recipes-graphics/xorg-app/xorg-app-common.inc +++ b/meta/recipes-graphics/xorg-app/xorg-app-common.inc @@ -12,4 +12,4 @@ SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.bz2" inherit autotools pkgconfig features_check -FILES_${PN} += " ${libdir}/X11/${BPN} ${datadir}/X11/app-defaults/" +FILES:${PN} += " ${libdir}/X11/${BPN} ${datadir}/X11/app-defaults/" diff --git a/meta/recipes-graphics/xorg-app/xprop_1.2.4.bb b/meta/recipes-graphics/xorg-app/xprop_1.2.5.bb index 3280813ef8..b1589a8d75 100644 --- a/meta/recipes-graphics/xorg-app/xprop_1.2.4.bb +++ b/meta/recipes-graphics/xorg-app/xprop_1.2.5.bb @@ -14,5 +14,4 @@ DEPENDS += "libxmu" PE = "1" -SRC_URI[md5sum] = "cc369c28383a5d7144e7197ee7d30bfa" -SRC_URI[sha256sum] = "8c77fb096e46c60032b7e2bde9492c3ffcc18734f50b395085a5f10bfd3cf753" +SRC_URI[sha256sum] = "9b92ed0316bf2486121d8bac88bd1878f16b43bd335f18009b1f941f1eca93a1" diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.30.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.30.0.bb deleted file mode 100644 index d02988caa4..0000000000 --- a/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.30.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -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] = "11dcfa2cc39f790731a9545fcdeea717" -SRC_URI[sha256sum] = "f9c7f9fd41ae14061e0e9c3bd45fa170e5e21027a2bc5810034e1e748db996c0" - -FILES_${PN} += "${datadir}/X11/xorg.conf.d" diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.2.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.2.0.bb new file mode 100644 index 0000000000..b0168df8d1 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.2.0.bb @@ -0,0 +1,11 @@ +require xorg-driver-input.inc + +SUMMARY = "Generic input driver for the X.Org server based on libinput" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=a22925127bd3c827c384cedd23ed2309" + +DEPENDS += "libinput" + +SRC_URI[sha256sum] = "f80da3c514fe1cbf57fa1b1bd6ff97f6b0a1f87466ad89247bac59cd0a5869f6" + +FILES:${PN} += "${datadir}/X11/xorg.conf.d" diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb index 92a1b25ebe..5e740037d9 100644 --- a/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb +++ b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb @@ -9,13 +9,13 @@ standard 'mouse' driver if a VMware virtual machine is not detected." SRC_URI[md5sum] = "85e2e464b7219c495ad3a16465c226ed" SRC_URI[sha256sum] = "0af558957ac1be1b2863712c2475de8f4d7f14921fd01ded2e2fde4921b19319" -RDEPENDS_${PN} += "xf86-input-mouse" +RDEPENDS:${PN} += "xf86-input-mouse" LIC_FILES_CHKSUM = "file://COPYING;md5=622841c068a9d7625fbfe7acffb1a8fc" COMPATIBLE_HOST = '(i.86|x86_64).*-linux' -do_install_append () { +do_install:append () { # We don't care about hal rm -rf ${D}${datadir}/hal/ rm -rf ${D}${libdir}/hal/ @@ -23,4 +23,4 @@ do_install_append () { EXTRA_OECONF = "--with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d" -FILES_${PN} += "${datadir}/X11/xorg.conf.d" +FILES:${PN} += "${datadir}/X11/xorg.conf.d" diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Sync-i915_pciids-upto-8717c6b7414f.patch b/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Sync-i915_pciids-upto-8717c6b7414f.patch deleted file mode 100644 index ef3b1afb1f..0000000000 --- a/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Sync-i915_pciids-upto-8717c6b7414f.patch +++ /dev/null @@ -1,505 +0,0 @@ -From 05909fea93f29b2b6e1d554dd64201551bd7a022 Mon Sep 17 00:00:00 2001 -From: Liwei Song <liwei.song@windriver.com> -Date: Fri, 17 Apr 2020 16:11:59 +0800 -Subject: [PATCH] Sync i915_pciids upto 8717c6b7414f - -Import the kernel's i915_pciids.h, up to: - -commit 8717c6b7414ffb890672276dccc284c23078ac0e -Author: Lee Shawn C <shawn.c.lee@intel.com> -Date: Tue Dec 10 23:04:15 2019 +0800 - - drm/i915/cml: Separate U series pci id from origianl list. - -Upstream-Status: Submitted [https://patchwork.kernel.org/patch/11494645/] - -Signed-off-by: Liwei Song <liwei.song@windriver.com> ---- - src/i915_pciids.h | 265 ++++++++++++++++++++++++++++++++++----------- - src/intel_module.c | 2 +- - test/dri3-test.c | 2 +- - 3 files changed, 206 insertions(+), 63 deletions(-) - -diff --git a/src/i915_pciids.h b/src/i915_pciids.h -index fd965ffbb92e..1d2c12219f44 100644 ---- a/src/i915_pciids.h -+++ b/src/i915_pciids.h -@@ -108,8 +108,10 @@ - INTEL_VGA_DEVICE(0x2e42, info), /* B43_G */ \ - INTEL_VGA_DEVICE(0x2e92, info) /* B43_G.1 */ - --#define INTEL_PINEVIEW_IDS(info) \ -- INTEL_VGA_DEVICE(0xa001, info), \ -+#define INTEL_PINEVIEW_G_IDS(info) \ -+ INTEL_VGA_DEVICE(0xa001, info) -+ -+#define INTEL_PINEVIEW_M_IDS(info) \ - INTEL_VGA_DEVICE(0xa011, info) - - #define INTEL_IRONLAKE_D_IDS(info) \ -@@ -166,7 +168,18 @@ - #define INTEL_IVB_Q_IDS(info) \ - INTEL_QUANTA_VGA_DEVICE(info) /* Quanta transcode */ - -+#define INTEL_HSW_ULT_GT1_IDS(info) \ -+ INTEL_VGA_DEVICE(0x0A02, info), /* ULT GT1 desktop */ \ -+ INTEL_VGA_DEVICE(0x0A0A, info), /* ULT GT1 server */ \ -+ INTEL_VGA_DEVICE(0x0A0B, info), /* ULT GT1 reserved */ \ -+ INTEL_VGA_DEVICE(0x0A06, info) /* ULT GT1 mobile */ -+ -+#define INTEL_HSW_ULX_GT1_IDS(info) \ -+ INTEL_VGA_DEVICE(0x0A0E, info) /* ULX GT1 mobile */ -+ - #define INTEL_HSW_GT1_IDS(info) \ -+ INTEL_HSW_ULT_GT1_IDS(info), \ -+ INTEL_HSW_ULX_GT1_IDS(info), \ - INTEL_VGA_DEVICE(0x0402, info), /* GT1 desktop */ \ - INTEL_VGA_DEVICE(0x040a, info), /* GT1 server */ \ - INTEL_VGA_DEVICE(0x040B, info), /* GT1 reserved */ \ -@@ -175,20 +188,26 @@ - INTEL_VGA_DEVICE(0x0C0A, info), /* SDV GT1 server */ \ - INTEL_VGA_DEVICE(0x0C0B, info), /* SDV GT1 reserved */ \ - INTEL_VGA_DEVICE(0x0C0E, info), /* SDV GT1 reserved */ \ -- INTEL_VGA_DEVICE(0x0A02, info), /* ULT GT1 desktop */ \ -- INTEL_VGA_DEVICE(0x0A0A, info), /* ULT GT1 server */ \ -- INTEL_VGA_DEVICE(0x0A0B, info), /* ULT GT1 reserved */ \ - INTEL_VGA_DEVICE(0x0D02, info), /* CRW GT1 desktop */ \ - INTEL_VGA_DEVICE(0x0D0A, info), /* CRW GT1 server */ \ - INTEL_VGA_DEVICE(0x0D0B, info), /* CRW GT1 reserved */ \ - INTEL_VGA_DEVICE(0x0D0E, info), /* CRW GT1 reserved */ \ - INTEL_VGA_DEVICE(0x0406, info), /* GT1 mobile */ \ - INTEL_VGA_DEVICE(0x0C06, info), /* SDV GT1 mobile */ \ -- INTEL_VGA_DEVICE(0x0A06, info), /* ULT GT1 mobile */ \ -- INTEL_VGA_DEVICE(0x0A0E, info), /* ULX GT1 mobile */ \ - INTEL_VGA_DEVICE(0x0D06, info) /* CRW GT1 mobile */ - -+#define INTEL_HSW_ULT_GT2_IDS(info) \ -+ INTEL_VGA_DEVICE(0x0A12, info), /* ULT GT2 desktop */ \ -+ INTEL_VGA_DEVICE(0x0A1A, info), /* ULT GT2 server */ \ -+ INTEL_VGA_DEVICE(0x0A1B, info), /* ULT GT2 reserved */ \ -+ INTEL_VGA_DEVICE(0x0A16, info) /* ULT GT2 mobile */ -+ -+#define INTEL_HSW_ULX_GT2_IDS(info) \ -+ INTEL_VGA_DEVICE(0x0A1E, info) /* ULX GT2 mobile */ \ -+ - #define INTEL_HSW_GT2_IDS(info) \ -+ INTEL_HSW_ULT_GT2_IDS(info), \ -+ INTEL_HSW_ULX_GT2_IDS(info), \ - INTEL_VGA_DEVICE(0x0412, info), /* GT2 desktop */ \ - INTEL_VGA_DEVICE(0x041a, info), /* GT2 server */ \ - INTEL_VGA_DEVICE(0x041B, info), /* GT2 reserved */ \ -@@ -197,9 +216,6 @@ - INTEL_VGA_DEVICE(0x0C1A, info), /* SDV GT2 server */ \ - INTEL_VGA_DEVICE(0x0C1B, info), /* SDV GT2 reserved */ \ - INTEL_VGA_DEVICE(0x0C1E, info), /* SDV GT2 reserved */ \ -- INTEL_VGA_DEVICE(0x0A12, info), /* ULT GT2 desktop */ \ -- INTEL_VGA_DEVICE(0x0A1A, info), /* ULT GT2 server */ \ -- INTEL_VGA_DEVICE(0x0A1B, info), /* ULT GT2 reserved */ \ - INTEL_VGA_DEVICE(0x0D12, info), /* CRW GT2 desktop */ \ - INTEL_VGA_DEVICE(0x0D1A, info), /* CRW GT2 server */ \ - INTEL_VGA_DEVICE(0x0D1B, info), /* CRW GT2 reserved */ \ -@@ -207,11 +223,17 @@ - INTEL_VGA_DEVICE(0x0416, info), /* GT2 mobile */ \ - INTEL_VGA_DEVICE(0x0426, info), /* GT2 mobile */ \ - INTEL_VGA_DEVICE(0x0C16, info), /* SDV GT2 mobile */ \ -- INTEL_VGA_DEVICE(0x0A16, info), /* ULT GT2 mobile */ \ -- INTEL_VGA_DEVICE(0x0A1E, info), /* ULX GT2 mobile */ \ - INTEL_VGA_DEVICE(0x0D16, info) /* CRW GT2 mobile */ - -+#define INTEL_HSW_ULT_GT3_IDS(info) \ -+ INTEL_VGA_DEVICE(0x0A22, info), /* ULT GT3 desktop */ \ -+ INTEL_VGA_DEVICE(0x0A2A, info), /* ULT GT3 server */ \ -+ INTEL_VGA_DEVICE(0x0A2B, info), /* ULT GT3 reserved */ \ -+ INTEL_VGA_DEVICE(0x0A26, info), /* ULT GT3 mobile */ \ -+ INTEL_VGA_DEVICE(0x0A2E, info) /* ULT GT3 reserved */ -+ - #define INTEL_HSW_GT3_IDS(info) \ -+ INTEL_HSW_ULT_GT3_IDS(info), \ - INTEL_VGA_DEVICE(0x0422, info), /* GT3 desktop */ \ - INTEL_VGA_DEVICE(0x042a, info), /* GT3 server */ \ - INTEL_VGA_DEVICE(0x042B, info), /* GT3 reserved */ \ -@@ -220,16 +242,11 @@ - INTEL_VGA_DEVICE(0x0C2A, info), /* SDV GT3 server */ \ - INTEL_VGA_DEVICE(0x0C2B, info), /* SDV GT3 reserved */ \ - INTEL_VGA_DEVICE(0x0C2E, info), /* SDV GT3 reserved */ \ -- INTEL_VGA_DEVICE(0x0A22, info), /* ULT GT3 desktop */ \ -- INTEL_VGA_DEVICE(0x0A2A, info), /* ULT GT3 server */ \ -- INTEL_VGA_DEVICE(0x0A2B, info), /* ULT GT3 reserved */ \ - INTEL_VGA_DEVICE(0x0D22, info), /* CRW GT3 desktop */ \ - INTEL_VGA_DEVICE(0x0D2A, info), /* CRW GT3 server */ \ - INTEL_VGA_DEVICE(0x0D2B, info), /* CRW GT3 reserved */ \ - INTEL_VGA_DEVICE(0x0D2E, info), /* CRW GT3 reserved */ \ - INTEL_VGA_DEVICE(0x0C26, info), /* SDV GT3 mobile */ \ -- INTEL_VGA_DEVICE(0x0A26, info), /* ULT GT3 mobile */ \ -- INTEL_VGA_DEVICE(0x0A2E, info), /* ULT GT3 reserved */ \ - INTEL_VGA_DEVICE(0x0D26, info) /* CRW GT3 mobile */ - - #define INTEL_HSW_IDS(info) \ -@@ -245,35 +262,59 @@ - INTEL_VGA_DEVICE(0x0157, info), \ - INTEL_VGA_DEVICE(0x0155, info) - --#define INTEL_BDW_GT1_IDS(info) \ -- INTEL_VGA_DEVICE(0x1602, info), /* GT1 ULT */ \ -+#define INTEL_BDW_ULT_GT1_IDS(info) \ - INTEL_VGA_DEVICE(0x1606, info), /* GT1 ULT */ \ -- INTEL_VGA_DEVICE(0x160B, info), /* GT1 Iris */ \ -- INTEL_VGA_DEVICE(0x160E, info), /* GT1 ULX */ \ -+ INTEL_VGA_DEVICE(0x160B, info) /* GT1 Iris */ -+ -+#define INTEL_BDW_ULX_GT1_IDS(info) \ -+ INTEL_VGA_DEVICE(0x160E, info) /* GT1 ULX */ -+ -+#define INTEL_BDW_GT1_IDS(info) \ -+ INTEL_BDW_ULT_GT1_IDS(info), \ -+ INTEL_BDW_ULX_GT1_IDS(info), \ -+ INTEL_VGA_DEVICE(0x1602, info), /* GT1 ULT */ \ - INTEL_VGA_DEVICE(0x160A, info), /* GT1 Server */ \ - INTEL_VGA_DEVICE(0x160D, info) /* GT1 Workstation */ - --#define INTEL_BDW_GT2_IDS(info) \ -- INTEL_VGA_DEVICE(0x1612, info), /* GT2 Halo */ \ -+#define INTEL_BDW_ULT_GT2_IDS(info) \ - INTEL_VGA_DEVICE(0x1616, info), /* GT2 ULT */ \ -- INTEL_VGA_DEVICE(0x161B, info), /* GT2 ULT */ \ -- INTEL_VGA_DEVICE(0x161E, info), /* GT2 ULX */ \ -+ INTEL_VGA_DEVICE(0x161B, info) /* GT2 ULT */ -+ -+#define INTEL_BDW_ULX_GT2_IDS(info) \ -+ INTEL_VGA_DEVICE(0x161E, info) /* GT2 ULX */ -+ -+#define INTEL_BDW_GT2_IDS(info) \ -+ INTEL_BDW_ULT_GT2_IDS(info), \ -+ INTEL_BDW_ULX_GT2_IDS(info), \ -+ INTEL_VGA_DEVICE(0x1612, info), /* GT2 Halo */ \ - INTEL_VGA_DEVICE(0x161A, info), /* GT2 Server */ \ - INTEL_VGA_DEVICE(0x161D, info) /* GT2 Workstation */ - -+#define INTEL_BDW_ULT_GT3_IDS(info) \ -+ INTEL_VGA_DEVICE(0x1626, info), /* ULT */ \ -+ INTEL_VGA_DEVICE(0x162B, info) /* Iris */ \ -+ -+#define INTEL_BDW_ULX_GT3_IDS(info) \ -+ INTEL_VGA_DEVICE(0x162E, info) /* ULX */ -+ - #define INTEL_BDW_GT3_IDS(info) \ -+ INTEL_BDW_ULT_GT3_IDS(info), \ -+ INTEL_BDW_ULX_GT3_IDS(info), \ - INTEL_VGA_DEVICE(0x1622, info), /* ULT */ \ -- INTEL_VGA_DEVICE(0x1626, info), /* ULT */ \ -- INTEL_VGA_DEVICE(0x162B, info), /* Iris */ \ -- INTEL_VGA_DEVICE(0x162E, info), /* ULX */\ - INTEL_VGA_DEVICE(0x162A, info), /* Server */ \ - INTEL_VGA_DEVICE(0x162D, info) /* Workstation */ - -+#define INTEL_BDW_ULT_RSVD_IDS(info) \ -+ INTEL_VGA_DEVICE(0x1636, info), /* ULT */ \ -+ INTEL_VGA_DEVICE(0x163B, info) /* Iris */ -+ -+#define INTEL_BDW_ULX_RSVD_IDS(info) \ -+ INTEL_VGA_DEVICE(0x163E, info) /* ULX */ -+ - #define INTEL_BDW_RSVD_IDS(info) \ -+ INTEL_BDW_ULT_RSVD_IDS(info), \ -+ INTEL_BDW_ULX_RSVD_IDS(info), \ - INTEL_VGA_DEVICE(0x1632, info), /* ULT */ \ -- INTEL_VGA_DEVICE(0x1636, info), /* ULT */ \ -- INTEL_VGA_DEVICE(0x163B, info), /* Iris */ \ -- INTEL_VGA_DEVICE(0x163E, info), /* ULX */ \ - INTEL_VGA_DEVICE(0x163A, info), /* Server */ \ - INTEL_VGA_DEVICE(0x163D, info) /* Workstation */ - -@@ -289,25 +330,40 @@ - INTEL_VGA_DEVICE(0x22b2, info), \ - INTEL_VGA_DEVICE(0x22b3, info) - -+#define INTEL_SKL_ULT_GT1_IDS(info) \ -+ INTEL_VGA_DEVICE(0x1906, info) /* ULT GT1 */ -+ -+#define INTEL_SKL_ULX_GT1_IDS(info) \ -+ INTEL_VGA_DEVICE(0x190E, info) /* ULX GT1 */ -+ - #define INTEL_SKL_GT1_IDS(info) \ -- INTEL_VGA_DEVICE(0x1906, info), /* ULT GT1 */ \ -- INTEL_VGA_DEVICE(0x190E, info), /* ULX GT1 */ \ -+ INTEL_SKL_ULT_GT1_IDS(info), \ -+ INTEL_SKL_ULX_GT1_IDS(info), \ - INTEL_VGA_DEVICE(0x1902, info), /* DT GT1 */ \ - INTEL_VGA_DEVICE(0x190B, info), /* Halo GT1 */ \ - INTEL_VGA_DEVICE(0x190A, info) /* SRV GT1 */ - --#define INTEL_SKL_GT2_IDS(info) \ -+#define INTEL_SKL_ULT_GT2_IDS(info) \ - INTEL_VGA_DEVICE(0x1916, info), /* ULT GT2 */ \ -- INTEL_VGA_DEVICE(0x1921, info), /* ULT GT2F */ \ -- INTEL_VGA_DEVICE(0x191E, info), /* ULX GT2 */ \ -+ INTEL_VGA_DEVICE(0x1921, info) /* ULT GT2F */ -+ -+#define INTEL_SKL_ULX_GT2_IDS(info) \ -+ INTEL_VGA_DEVICE(0x191E, info) /* ULX GT2 */ -+ -+#define INTEL_SKL_GT2_IDS(info) \ -+ INTEL_SKL_ULT_GT2_IDS(info), \ -+ INTEL_SKL_ULX_GT2_IDS(info), \ - INTEL_VGA_DEVICE(0x1912, info), /* DT GT2 */ \ - INTEL_VGA_DEVICE(0x191B, info), /* Halo GT2 */ \ - INTEL_VGA_DEVICE(0x191A, info), /* SRV GT2 */ \ - INTEL_VGA_DEVICE(0x191D, info) /* WKS GT2 */ - -+#define INTEL_SKL_ULT_GT3_IDS(info) \ -+ INTEL_VGA_DEVICE(0x1926, info) /* ULT GT3 */ -+ - #define INTEL_SKL_GT3_IDS(info) \ -+ INTEL_SKL_ULT_GT3_IDS(info), \ - INTEL_VGA_DEVICE(0x1923, info), /* ULT GT3 */ \ -- INTEL_VGA_DEVICE(0x1926, info), /* ULT GT3 */ \ - INTEL_VGA_DEVICE(0x1927, info), /* ULT GT3 */ \ - INTEL_VGA_DEVICE(0x192B, info), /* Halo GT3 */ \ - INTEL_VGA_DEVICE(0x192D, info) /* SRV GT3 */ -@@ -336,45 +392,91 @@ - INTEL_VGA_DEVICE(0x3184, info), \ - INTEL_VGA_DEVICE(0x3185, info) - --#define INTEL_KBL_GT1_IDS(info) \ -- INTEL_VGA_DEVICE(0x5913, info), /* ULT GT1.5 */ \ -- INTEL_VGA_DEVICE(0x5915, info), /* ULX GT1.5 */ \ -+#define INTEL_KBL_ULT_GT1_IDS(info) \ - INTEL_VGA_DEVICE(0x5906, info), /* ULT GT1 */ \ -+ INTEL_VGA_DEVICE(0x5913, info) /* ULT GT1.5 */ -+ -+#define INTEL_KBL_ULX_GT1_IDS(info) \ - INTEL_VGA_DEVICE(0x590E, info), /* ULX GT1 */ \ -+ INTEL_VGA_DEVICE(0x5915, info) /* ULX GT1.5 */ -+ -+#define INTEL_KBL_GT1_IDS(info) \ -+ INTEL_KBL_ULT_GT1_IDS(info), \ -+ INTEL_KBL_ULX_GT1_IDS(info), \ - INTEL_VGA_DEVICE(0x5902, info), /* DT GT1 */ \ - INTEL_VGA_DEVICE(0x5908, info), /* Halo GT1 */ \ - INTEL_VGA_DEVICE(0x590B, info), /* Halo GT1 */ \ - INTEL_VGA_DEVICE(0x590A, info) /* SRV GT1 */ - --#define INTEL_KBL_GT2_IDS(info) \ -+#define INTEL_KBL_ULT_GT2_IDS(info) \ - INTEL_VGA_DEVICE(0x5916, info), /* ULT GT2 */ \ -+ INTEL_VGA_DEVICE(0x5921, info) /* ULT GT2F */ -+ -+#define INTEL_KBL_ULX_GT2_IDS(info) \ -+ INTEL_VGA_DEVICE(0x591E, info) /* ULX GT2 */ -+ -+#define INTEL_KBL_GT2_IDS(info) \ -+ INTEL_KBL_ULT_GT2_IDS(info), \ -+ INTEL_KBL_ULX_GT2_IDS(info), \ - INTEL_VGA_DEVICE(0x5917, info), /* Mobile GT2 */ \ -- INTEL_VGA_DEVICE(0x5921, info), /* ULT GT2F */ \ -- INTEL_VGA_DEVICE(0x591E, info), /* ULX GT2 */ \ - INTEL_VGA_DEVICE(0x5912, info), /* DT GT2 */ \ - INTEL_VGA_DEVICE(0x591B, info), /* Halo GT2 */ \ - INTEL_VGA_DEVICE(0x591A, info), /* SRV GT2 */ \ - INTEL_VGA_DEVICE(0x591D, info) /* WKS GT2 */ - -+#define INTEL_KBL_ULT_GT3_IDS(info) \ -+ INTEL_VGA_DEVICE(0x5926, info) /* ULT GT3 */ -+ - #define INTEL_KBL_GT3_IDS(info) \ -+ INTEL_KBL_ULT_GT3_IDS(info), \ - INTEL_VGA_DEVICE(0x5923, info), /* ULT GT3 */ \ -- INTEL_VGA_DEVICE(0x5926, info), /* ULT GT3 */ \ - INTEL_VGA_DEVICE(0x5927, info) /* ULT GT3 */ - - #define INTEL_KBL_GT4_IDS(info) \ - INTEL_VGA_DEVICE(0x593B, info) /* Halo GT4 */ - - /* AML/KBL Y GT2 */ --#define INTEL_AML_GT2_IDS(info) \ -+#define INTEL_AML_KBL_GT2_IDS(info) \ - INTEL_VGA_DEVICE(0x591C, info), /* ULX GT2 */ \ - INTEL_VGA_DEVICE(0x87C0, info) /* ULX GT2 */ - -+/* AML/CFL Y GT2 */ -+#define INTEL_AML_CFL_GT2_IDS(info) \ -+ INTEL_VGA_DEVICE(0x87CA, info) -+ -+/* CML GT1 */ -+#define INTEL_CML_GT1_IDS(info) \ -+ INTEL_VGA_DEVICE(0x9BA5, info), \ -+ INTEL_VGA_DEVICE(0x9BA8, info), \ -+ INTEL_VGA_DEVICE(0x9BA4, info), \ -+ INTEL_VGA_DEVICE(0x9BA2, info) -+ -+#define INTEL_CML_U_GT1_IDS(info) \ -+ INTEL_VGA_DEVICE(0x9B21, info), \ -+ INTEL_VGA_DEVICE(0x9BAA, info), \ -+ INTEL_VGA_DEVICE(0x9BAC, info) -+ -+/* CML GT2 */ -+#define INTEL_CML_GT2_IDS(info) \ -+ INTEL_VGA_DEVICE(0x9BC5, info), \ -+ INTEL_VGA_DEVICE(0x9BC8, info), \ -+ INTEL_VGA_DEVICE(0x9BC4, info), \ -+ INTEL_VGA_DEVICE(0x9BC2, info), \ -+ INTEL_VGA_DEVICE(0x9BC6, info), \ -+ INTEL_VGA_DEVICE(0x9BE6, info), \ -+ INTEL_VGA_DEVICE(0x9BF6, info) -+ -+#define INTEL_CML_U_GT2_IDS(info) \ -+ INTEL_VGA_DEVICE(0x9B41, info), \ -+ INTEL_VGA_DEVICE(0x9BCA, info), \ -+ INTEL_VGA_DEVICE(0x9BCC, info) -+ - #define INTEL_KBL_IDS(info) \ - INTEL_KBL_GT1_IDS(info), \ - INTEL_KBL_GT2_IDS(info), \ - INTEL_KBL_GT3_IDS(info), \ - INTEL_KBL_GT4_IDS(info), \ -- INTEL_AML_GT2_IDS(info) -+ INTEL_AML_KBL_GT2_IDS(info) - - /* CFL S */ - #define INTEL_CFL_S_GT1_IDS(info) \ -@@ -390,6 +492,9 @@ - INTEL_VGA_DEVICE(0x3E9A, info) /* SRV GT2 */ - - /* CFL H */ -+#define INTEL_CFL_H_GT1_IDS(info) \ -+ INTEL_VGA_DEVICE(0x3E9C, info) -+ - #define INTEL_CFL_H_GT2_IDS(info) \ - INTEL_VGA_DEVICE(0x3E9B, info), /* Halo GT2 */ \ - INTEL_VGA_DEVICE(0x3E94, info) /* Halo GT2 */ -@@ -407,30 +512,43 @@ - - /* WHL/CFL U GT1 */ - #define INTEL_WHL_U_GT1_IDS(info) \ -- INTEL_VGA_DEVICE(0x3EA1, info) -+ INTEL_VGA_DEVICE(0x3EA1, info), \ -+ INTEL_VGA_DEVICE(0x3EA4, info) - - /* WHL/CFL U GT2 */ - #define INTEL_WHL_U_GT2_IDS(info) \ -- INTEL_VGA_DEVICE(0x3EA0, info) -+ INTEL_VGA_DEVICE(0x3EA0, info), \ -+ INTEL_VGA_DEVICE(0x3EA3, info) - - /* WHL/CFL U GT3 */ - #define INTEL_WHL_U_GT3_IDS(info) \ -- INTEL_VGA_DEVICE(0x3EA2, info), \ -- INTEL_VGA_DEVICE(0x3EA3, info), \ -- INTEL_VGA_DEVICE(0x3EA4, info) -+ INTEL_VGA_DEVICE(0x3EA2, info) - - #define INTEL_CFL_IDS(info) \ - INTEL_CFL_S_GT1_IDS(info), \ - INTEL_CFL_S_GT2_IDS(info), \ -+ INTEL_CFL_H_GT1_IDS(info), \ - INTEL_CFL_H_GT2_IDS(info), \ - INTEL_CFL_U_GT2_IDS(info), \ - INTEL_CFL_U_GT3_IDS(info), \ - INTEL_WHL_U_GT1_IDS(info), \ - INTEL_WHL_U_GT2_IDS(info), \ -- INTEL_WHL_U_GT3_IDS(info) -+ INTEL_WHL_U_GT3_IDS(info), \ -+ INTEL_AML_CFL_GT2_IDS(info), \ -+ INTEL_CML_GT1_IDS(info), \ -+ INTEL_CML_GT2_IDS(info), \ -+ INTEL_CML_U_GT1_IDS(info), \ -+ INTEL_CML_U_GT2_IDS(info) - - /* CNL */ -+#define INTEL_CNL_PORT_F_IDS(info) \ -+ INTEL_VGA_DEVICE(0x5A54, info), \ -+ INTEL_VGA_DEVICE(0x5A5C, info), \ -+ INTEL_VGA_DEVICE(0x5A44, info), \ -+ INTEL_VGA_DEVICE(0x5A4C, info) -+ - #define INTEL_CNL_IDS(info) \ -+ INTEL_CNL_PORT_F_IDS(info), \ - INTEL_VGA_DEVICE(0x5A51, info), \ - INTEL_VGA_DEVICE(0x5A59, info), \ - INTEL_VGA_DEVICE(0x5A41, info), \ -@@ -440,22 +558,47 @@ - INTEL_VGA_DEVICE(0x5A42, info), \ - INTEL_VGA_DEVICE(0x5A4A, info), \ - INTEL_VGA_DEVICE(0x5A50, info), \ -- INTEL_VGA_DEVICE(0x5A40, info), \ -- INTEL_VGA_DEVICE(0x5A54, info), \ -- INTEL_VGA_DEVICE(0x5A5C, info), \ -- INTEL_VGA_DEVICE(0x5A44, info), \ -- INTEL_VGA_DEVICE(0x5A4C, info) -+ INTEL_VGA_DEVICE(0x5A40, info) - - /* ICL */ --#define INTEL_ICL_11_IDS(info) \ -+#define INTEL_ICL_PORT_F_IDS(info) \ - INTEL_VGA_DEVICE(0x8A50, info), \ -- INTEL_VGA_DEVICE(0x8A51, info), \ - INTEL_VGA_DEVICE(0x8A5C, info), \ -- INTEL_VGA_DEVICE(0x8A5D, info), \ -+ INTEL_VGA_DEVICE(0x8A59, info), \ -+ INTEL_VGA_DEVICE(0x8A58, info), \ - INTEL_VGA_DEVICE(0x8A52, info), \ - INTEL_VGA_DEVICE(0x8A5A, info), \ - INTEL_VGA_DEVICE(0x8A5B, info), \ -+ INTEL_VGA_DEVICE(0x8A57, info), \ -+ INTEL_VGA_DEVICE(0x8A56, info), \ - INTEL_VGA_DEVICE(0x8A71, info), \ -- INTEL_VGA_DEVICE(0x8A70, info) -+ INTEL_VGA_DEVICE(0x8A70, info), \ -+ INTEL_VGA_DEVICE(0x8A53, info), \ -+ INTEL_VGA_DEVICE(0x8A54, info) -+ -+#define INTEL_ICL_11_IDS(info) \ -+ INTEL_ICL_PORT_F_IDS(info), \ -+ INTEL_VGA_DEVICE(0x8A51, info), \ -+ INTEL_VGA_DEVICE(0x8A5D, info) -+ -+/* EHL/JSL */ -+#define INTEL_EHL_IDS(info) \ -+ INTEL_VGA_DEVICE(0x4500, info), \ -+ INTEL_VGA_DEVICE(0x4571, info), \ -+ INTEL_VGA_DEVICE(0x4551, info), \ -+ INTEL_VGA_DEVICE(0x4541, info), \ -+ INTEL_VGA_DEVICE(0x4E71, info), \ -+ INTEL_VGA_DEVICE(0x4E61, info), \ -+ INTEL_VGA_DEVICE(0x4E51, info) -+ -+/* TGL */ -+#define INTEL_TGL_12_IDS(info) \ -+ INTEL_VGA_DEVICE(0x9A49, info), \ -+ INTEL_VGA_DEVICE(0x9A40, info), \ -+ INTEL_VGA_DEVICE(0x9A59, info), \ -+ INTEL_VGA_DEVICE(0x9A60, info), \ -+ INTEL_VGA_DEVICE(0x9A68, info), \ -+ INTEL_VGA_DEVICE(0x9A70, info), \ -+ INTEL_VGA_DEVICE(0x9A78, info) - - #endif /* _I915_PCIIDS_H */ -diff --git a/src/intel_module.c b/src/intel_module.c -index a71c2e40b774..e0b94c190254 100644 ---- a/src/intel_module.c -+++ b/src/intel_module.c -@@ -357,7 +357,7 @@ static const struct pci_id_match intel_device_match[] = { - INTEL_I945GM_IDS(&intel_i945_info), - - INTEL_G33_IDS(&intel_g33_info), -- INTEL_PINEVIEW_IDS(&intel_g33_info), -+ INTEL_PINEVIEW_G_IDS(&intel_g33_info), - - INTEL_I965G_IDS(&intel_i965_info), - INTEL_I965GM_IDS(&intel_i965_info), -diff --git a/test/dri3-test.c b/test/dri3-test.c -index 78e105a8b64a..5265a30cea1b 100644 ---- a/test/dri3-test.c -+++ b/test/dri3-test.c -@@ -76,7 +76,7 @@ static const struct pci_id_match ids[] = { - INTEL_I945GM_IDS(031), - - INTEL_G33_IDS(033), -- INTEL_PINEVIEW_IDS(033), -+ INTEL_PINEVIEW_G_IDS(033), - - INTEL_I965G_IDS(040), - INTEL_I965GM_IDS(040), --- -2.17.1 - diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-i810-Avoid-duplicate-definition-of-I810PatternROP.patch b/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-i810-Avoid-duplicate-definition-of-I810PatternROP.patch deleted file mode 100644 index 765d9ec090..0000000000 --- a/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-i810-Avoid-duplicate-definition-of-I810PatternROP.patch +++ /dev/null @@ -1,27 +0,0 @@ -From c2d730cf79eb3e4bea41f5ed8a8a21092ced8b03 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Hanno=20B=C3=B6ck?= <hanno@gentoo.org> -Date: Sun, 2 Feb 2020 14:18:39 +0100 -Subject: [PATCH] i810: Avoid duplicate definition of I810PatternROP - -Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/commit/652d93cbbdc159c0883f1b626ea48e28bac63ae3] -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/legacy/i810/i810.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/legacy/i810/i810.h b/src/legacy/i810/i810.h -index 347188c9..19be049c 100644 ---- a/src/legacy/i810/i810.h -+++ b/src/legacy/i810/i810.h -@@ -322,6 +322,6 @@ extern void I810InitMC(ScreenPtr pScreen); - extern const OptionInfoRec *I810AvailableOptions(int chipid, int busid); - - extern const int I810CopyROP[16]; --const int I810PatternROP[16]; -+extern const int I810PatternROP[16]; - - #endif /* _I810_H_ */ --- -2.28.0 - diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb b/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb index 161371b118..9430c3f4bb 100644 --- a/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb +++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb @@ -9,13 +9,11 @@ Infrastructure (DRI)." LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e" -SRCREV = "f66d39544bb8339130c96d282a80f87ca1606caf" +SRCREV = "31486f40f8e8f8923ca0799aea84b58799754564" PV = "2.99.917+git${SRCPV}" S = "${WORKDIR}/git" -SRC_URI = "git://anongit.freedesktop.org/xorg/driver/xf86-video-intel \ - file://0001-Sync-i915_pciids-upto-8717c6b7414f.patch \ - file://0001-i810-Avoid-duplicate-definition-of-I810PatternROP.patch \ +SRC_URI = "git://anongit.freedesktop.org/xorg/driver/xf86-video-intel;branch=master \ " UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" @@ -39,4 +37,4 @@ EXTRA_OECONF += '${@oe.utils.conditional( "ROOTLESS_X", "1", " --enable-kms-only COMPATIBLE_HOST = '(i.86|x86_64).*-linux' -FILES_${PN} += "${datadir}/polkit-1" +FILES:${PN} += "${datadir}/polkit-1" diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb b/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb index d313c8c6a8..05bb905b35 100644 --- a/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb +++ b/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb @@ -13,7 +13,7 @@ DEPENDS += "virtual/libx11 xorgproto libpciaccess" COMPATIBLE_HOST = '(i.86|x86_64).*-linux' -RRECOMMENDS_${PN} += "xserver-xorg-module-libint10" +RRECOMMENDS:${PN} += "xserver-xorg-module-libint10" SRC_URI[sha256sum] = "1f1624f3c73906801ad1bc98335a2cb5676a7a4d18e5374d9a1d18464e54c659" diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch b/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch index 5bda720ce5..b37f697aa4 100644 --- a/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch +++ b/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch @@ -3,7 +3,7 @@ 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 +Upstream-Status: Submitted Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> diff --git a/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc b/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc index 493b90a298..65c5e3c48a 100644 --- a/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc +++ b/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc @@ -10,7 +10,7 @@ DEPENDS = "virtual/xserver xorgproto util-macros" SRC_URI = "${XORG_MIRROR}/individual/driver/${BPN}-${PV}.tar.bz2" -FILES_${PN} += " ${libdir}/xorg/modules/drivers/*.so" +FILES:${PN} += " ${libdir}/xorg/modules/drivers/*.so" XORGBUILDCLASS ??= "autotools" inherit ${XORGBUILDCLASS} pkgconfig features_check @@ -20,7 +20,7 @@ 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() { +do_install:append() { find ${D}${libdir}/xorg/modules -regex ".*\.la$" | xargs rm -f -- } @@ -38,6 +38,6 @@ def _add_xorg_abi_depends(d, name): abi = "%sxorg-abi-%s-%s" % (mlprefix, name, output.split(".")[0]) pn = d.getVar("PN") - d.appendVar('RDEPENDS_' + pn, ' ' + abi) + d.appendVar('RDEPENDS:' + pn, ' ' + abi) SECURITY_LDFLAGS = "${SECURITY_X_LDFLAGS}" diff --git a/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc b/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc index 57912e70db..934c3d75c1 100644 --- a/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc +++ b/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc @@ -7,6 +7,6 @@ python add_xorg_abi_depends() { } PACKAGEFUNCS =+ "add_xorg_abi_depends" -FILES_${PN} += " ${libdir}/xorg/modules/input/*.so \ +FILES:${PN} += " ${libdir}/xorg/modules/input/*.so \ ${datadir}/X11/xorg.conf.d \ " diff --git a/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb b/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb index 713fcfb935..8ddbaf24dd 100644 --- a/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb +++ b/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb @@ -10,7 +10,7 @@ PE = "1" PR = "r3" DEPENDS = "mkfontscale-native mkfontdir-native font-util-native" -RDEPENDS_${PN} = "" +RDEPENDS:${PN} = "" SRC_URI += "file://nocompiler.patch" SRC_URI[md5sum] = "bbae4f247b88ccde0e85ed6a403da22a" @@ -21,5 +21,5 @@ inherit allarch EXTRA_OECONF += "--with-encodingsdir=${datadir}/fonts/X11/encodings" # postinst from .inc doesn't apply to this recipe -pkg_postinst_${PN} () { +pkg_postinst:${PN} () { } diff --git a/meta/recipes-graphics/xorg-font/font-alias_1.0.4.bb b/meta/recipes-graphics/xorg-font/font-alias_1.0.4.bb index e4b70c69dc..d80ecbeb8f 100644 --- a/meta/recipes-graphics/xorg-font/font-alias_1.0.4.bb +++ b/meta/recipes-graphics/xorg-font/font-alias_1.0.4.bb @@ -13,8 +13,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bf0158b89be493d523d69d9f29265038 \ SRC_URI += "file://nocompiler.patch" DEPENDS = "util-macros-native font-util-native" -RDEPENDS_${PN} = "encodings font-util" -RDEPENDS_${PN}_class-native = "font-util-native" +RDEPENDS:${PN} = "encodings font-util" +RDEPENDS:${PN}:class-native = "font-util-native" inherit allarch diff --git a/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb b/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb index ebe7a603fa..f940c5f534 100644 --- a/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb +++ b/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb @@ -3,20 +3,20 @@ SUMMARY = "X.Org font package creation/installation utilities" require xorg-font-common.inc #Unicode is MIT -LICENSE = "BSD & MIT" +LICENSE = "MIT & MIT-style & BSD-4-Clause & BSD-2-Clause" 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 = "" +DEPENDS:class-native = "util-macros-native" +RDEPENDS:${PN} = "mkfontdir mkfontscale encodings" +RDEPENDS:${PN}:class-native = "" BBCLASSEXTEND = "native" SRC_URI[md5sum] = "3d6adb76fdd072db8c8fae41b40855e8" SRC_URI[sha256sum] = "3ad880444123ac06a7238546fa38a2a6ad7f7e0cc3614de7e103863616522282" -SYSROOT_DIRS_BLACKLIST_remove = "${datadir}/fonts" +SYSROOT_DIRS_BLACKLIST:remove = "${datadir}/fonts" diff --git a/meta/recipes-graphics/xorg-font/xorg-font-common.inc b/meta/recipes-graphics/xorg-font/xorg-font-common.inc index 7ca5c76a66..ba5840425c 100644 --- a/meta/recipes-graphics/xorg-font/xorg-font-common.inc +++ b/meta/recipes-graphics/xorg-font/xorg-font-common.inc @@ -5,7 +5,7 @@ SECTION = "x11/fonts" LICENSE = "MIT-X" DEPENDS = " encodings font-alias font-util-native" -RDEPENDS_${PN} = "encodings font-util font-alias" +RDEPENDS:${PN} = "encodings font-util font-alias" XORG_PN = "${BPN}" @@ -19,17 +19,17 @@ REQUIRED_DISTRO_FEATURES = "x11" EXTRA_OEMAKE += "FCCACHE=/bin/true UTIL_DIR=${STAGING_DIR_TARGET}\$\(MAPFILES_PATH\)" -do_install_append() { +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}" +FILES:${PN} += " ${libdir}/X11/fonts ${datadir}" PACKAGE_WRITE_DEPS += "mkfontdir-native mkfontscale-native" -pkg_postinst_${PN} () { +pkg_postinst:${PN} () { for fontdir in `find $D/usr/lib/X11/fonts -type d`; do mkfontdir $fontdir mkfontscale $fontdir diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb index 1ea08a6c99..88f534ccf7 100644 --- a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb @@ -10,8 +10,12 @@ LIC_FILES_CHKSUM = "file://../misc/fonts.dir;md5=82a143d94d6a974aafe97132d2d519a SRC_URI = "file://misc" +SOURCE_DATE_EPOCH = "1613559011" + PE = "1" -PR = "r2" +PR = "r4" +# remove at next version upgrade or when output changes +HASHEQUIV_HASH_VERSION .= ".1" inherit allarch features_check @@ -21,12 +25,14 @@ REQUIRED_DISTRO_FEATURES = "x11" S = "${WORKDIR}/misc" PACKAGES = "${PN}" -FILES_${PN} = "${libdir}/X11/ ${datadir}/fonts/X11/" -RDEPENDS_${PN} += "font-alias" +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/ + # Pick a date/time as otherwise it would be the git checkout/modify time + touch -d @1613559011 ${D}/${datadir}/fonts/X11/misc/* install -d ${D}/${libdir}/X11 ln -sf ${datadir}/fonts/X11/ ${D}/${libdir}/X11/fonts -s } diff --git a/meta/recipes-graphics/xorg-lib/files/libx11-whitespace.patch b/meta/recipes-graphics/xorg-lib/files/libx11-whitespace.patch deleted file mode 100644 index 3f97143082..0000000000 --- a/meta/recipes-graphics/xorg-lib/files/libx11-whitespace.patch +++ /dev/null @@ -1,56 +0,0 @@ -Upstream-Status: Submitted [https://gitlab.freedesktop.org/xorg/lib/libx11/merge_requests/33] -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From b41469c5f08b1f3365667ff3c430b104c9b8e25f Mon Sep 17 00:00:00 2001 -From: Ross Burton <ross.burton@intel.com> -Date: Wed, 22 Jan 2020 17:11:23 +0000 -Subject: [PATCH libX11] cpprules.in: squash whitespace in generated files - -CPP is used to generate files, but as cpp reads files from the build host the -output has a number of blank lines at the beginning which varies depending on -what GCC and friends is used. - -Pathalogical example: - - $ cpp -undef -traditional /dev/null - # 1 "/dev/null" - # 1 "<built-in>" - # 1 "<command-line>" - # 31 "<command-line>" - # 1 "/usr/include/stdc-predef.h" 1 3 4 - - # 17 "/usr/include/stdc-predef.h" 3 4 - - [ 40 blank line ] - - # 32 "<command-line>" 2 - # 1 "/dev/null" - -So depending on the content of stdc-predef.h and what other headers CPP will -load, the amount of whitespace in the generates files varies. This can result in -differences in reproducible environments, and file conflicts in multilib -environments. - -As whitespace is irrelevant to these machine-readable files, extend the sed to -just delete blank lines. ---- - cpprules.in | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/cpprules.in b/cpprules.in -index 03d6701e..ce6b3c98 100644 ---- a/cpprules.in -+++ b/cpprules.in -@@ -23,7 +23,8 @@ CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ - -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ - -e '/^[ ]*XHASH/s/XHASH/\#/' \ - -e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g' \ -- -e '/\@\@$$/s/\@\@$$/\\/' -+ -e '/\@\@$$/s/\@\@$$/\\/' \ -+ -e '/^$$/d' - - .pre: - @$(MKDIR_P) $(@D) --- -2.20.1 - diff --git a/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb b/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb index ffa1c859d6..b398e8b626 100644 --- a/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb +++ b/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb @@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "e4d05911a3165d3b18321cc067fdd2f023f06436e391c6a28dff618a78 inherit autotools -RDEPENDS_${PN}-dev = "" -RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" +RDEPENDS:${PN}-dev = "" +RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb b/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb index 3d97ad78d2..796980b7ca 100644 --- a/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb +++ b/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb @@ -8,14 +8,14 @@ python () { require xorg-lib-common.inc -LICENSE = "MIT & MIT-style & BSD" +LICENSE = "MIT & MIT-style & BSD-1-Clause & HPND & HPND-sell-variant" LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" SRC_URI[md5sum] = "c5fa5a86a20e3591bed6c046498d4b8f" SRC_URI[sha256sum] = "b289a845c189e251e0e884cc0f9269bbe97c238df3741e854ec4c17c21e473d5" SRC_URI += "file://0001-Drop-x11-dependencies.patch \ - file://libx11-whitespace.patch" + " XORG_PN = "libX11" @@ -23,7 +23,7 @@ EXTRA_OECONF += "--disable-xkb" PACKAGES = "${PN}" -FILES_${PN} = "${datadir}/X11/locale ${libdir}/X11/locale" +FILES:${PN} = "${datadir}/X11/locale ${libdir}/X11/locale" do_compile() { oe_runmake -C nls diff --git a/meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch b/meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch deleted file mode 100644 index 2a723b7e43..0000000000 --- a/meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch +++ /dev/null @@ -1,58 +0,0 @@ -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> - -[Refreshed for 1.6.7 update] -Signed-off-by: Armin Kuster <akuster808@gmail.com> - ---- - src/xcb_io.c | 19 +++++++------------ - 1 file changed, 7 insertions(+), 12 deletions(-) - -Index: libX11-1.6.7/src/xcb_io.c -=================================================================== ---- libX11-1.6.7.orig/src/xcb_io.c -+++ libX11-1.6.7/src/xcb_io.c -@@ -620,18 +620,14 @@ Status _XReply(Display *dpy, xReply *rep - 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); -- } -- while((event = poll_for_event(dpy, True))) -- handle_response(dpy, event, True); -+ -+ /* 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); -+ } - } - - req->reply_waiter = 0; diff --git a/meta/recipes-graphics/xorg-lib/libx11_1.6.12.bb b/meta/recipes-graphics/xorg-lib/libx11_1.7.3.1.bb index de7f1c366e..be9b8df6ce 100644 --- a/meta/recipes-graphics/xorg-lib/libx11_1.6.12.bb +++ b/meta/recipes-graphics/xorg-lib/libx11_1.7.3.1.bb @@ -10,20 +10,26 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/libx11:" PE = "1" -SRC_URI += "file://Fix-hanging-issue-in-_XReply.patch \ - file://disable_tests.patch \ - file://libx11-whitespace.patch" +# temporarily override SRC_URI which is hard-coded in xorg-lib-common.inc +# since new versions of packages use a new compression format - .tar.gz +SRC_URI = "${XORG_MIRROR}/individual/lib/${XORG_PN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "f108227469419ac04d196df0f3b80ce1f7f65059bb54c0de811f4d8e03fd6ec7" +SRC_URI += "file://disable_tests.patch \ + " +SRC_URI[sha256sum] = "2ffd417266fb875028fdc0ef349694f63dbcd76d0b0cfacfb52e6151f4b60989" PROVIDES = "virtual/libx11" XORG_PN = "libX11" -LICENSE = "MIT & MIT-style & BSD" +LICENSE = "MIT & MIT-style & BSD-1-Clause & HPND & HPND-sell-variant" LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" -DEPENDS += "xorgproto xtrans libxcb" -DEPENDS += "xorgproto-native" +DEPENDS += "xorgproto \ + xtrans \ + libxcb \ + xorgproto-native \ + autoconf-archive \ + " EXTRA_OECONF += "--with-keysymdefdir=${STAGING_INCDIR}/X11/ --disable-xf86bigfont" EXTRA_OEMAKE += 'CWARNFLAGS=""' @@ -31,15 +37,12 @@ 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" inherit gettext -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" +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" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb b/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb index e9f6051b6e..5341bbd4bc 100644 --- a/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb +++ b/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb @@ -19,9 +19,9 @@ BBCLASSEXTEND = "native nativesdk" DEPENDS = "xcb-proto xorgproto libxau libpthread-stubs libxdmcp" -PACKAGES_DYNAMIC = "^libxcb-.*" +PACKAGES_DYNAMIC = "^${PN}-.*" -FILES_${PN} = "${libdir}/libxcb.so.*" +FILES:${PN} = "${libdir}/libxcb.so.*" inherit autotools pkgconfig features_check @@ -30,10 +30,10 @@ REQUIRED_DISTRO_FEATURES = "x11" export PYTHON = "python3" -do_install_append () { +do_install:append () { chown root.root ${D}${datadir}/doc/${BPN}/tutorial -R } -python populate_packages_prepend () { - do_split_packages(d, '${libdir}', r'^libxcb-(.*)\.so\..*$', 'libxcb-%s', 'XCB library module for %s', allow_links=True) +python populate_packages:prepend () { + do_split_packages(d, '${libdir}', r'^libxcb-(.*)\.so\..*$', '${PN}-%s', 'XCB library module for %s', allow_links=True) } diff --git a/meta/recipes-graphics/xorg-lib/libxcvt_0.1.1.bb b/meta/recipes-graphics/xorg-lib/libxcvt_0.1.1.bb new file mode 100644 index 0000000000..134c40acd1 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxcvt_0.1.1.bb @@ -0,0 +1,19 @@ +SUMMARY = "Library providing a standalone version of the X server \ +implementation of the VESA CVT standard timing modelines generator" +HOMEPAGE = "https://gitlab.freedesktop.org/xorg/lib/libxcvt" +BUGTRACKER = "https://gitlab.freedesktop.org/xorg/lib/libxcvt/-/issues" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=129947a06984d6faa6f9a9788fa2a03f" +SECTION = "x11/libs" + +SRC_URI = "git://gitlab.freedesktop.org/xorg/lib/libxcvt.git;protocol=https;branch=master" +SRCREV = "6fe840b9295cfdc41bd734586c5b8756f6af6f9b" + +S = "${WORKDIR}/git" + +inherit meson + +FILES:${PN} = " \ + ${libdir}/libxcvt.so.0* \ + ${bindir}/cvt \ +" diff --git a/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb b/meta/recipes-graphics/xorg-lib/libxfixes_6.0.0.bb index f0e2f606ce..af7426f7bf 100644 --- a/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb +++ b/meta/recipes-graphics/xorg-lib/libxfixes_6.0.0.bb @@ -6,6 +6,7 @@ provide the minimal server-side support necessary to eliminate problems \ caused by these workarounds." require xorg-lib-common.inc +SRC_URI[sha256sum] = "a7c1a24da53e0b46cac5aea79094b4b2257321c621b258729bc3139149245b4c" LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=3c1ce42c334a6f5cccb0277556a053e0" @@ -17,7 +18,3 @@ PE = "1" XORG_PN = "libXfixes" BBCLASSEXTEND = "native nativesdk" - -SRC_URI[md5sum] = "07e01e046a0215574f36a3aacb148be0" -SRC_URI[sha256sum] = "de1cd33aff226e08cefd0e6759341c2c8e8c9faf8ce9ac6ec38d43e287b22ad6" - diff --git a/meta/recipes-graphics/xorg-lib/libxfont2_2.0.4.bb b/meta/recipes-graphics/xorg-lib/libxfont2_2.0.5.bb index 1c9cc0a21d..9ad19dc826 100644 --- a/meta/recipes-graphics/xorg-lib/libxfont2_2.0.4.bb +++ b/meta/recipes-graphics/xorg-lib/libxfont2_2.0.5.bb @@ -6,7 +6,7 @@ such as freetype)." require xorg-lib-common.inc -LICENSE = "MIT & MIT-style & BSD" +LICENSE = "MIT & MIT-style & BSD-4-Clause & BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=a46c8040f2f737bcd0c435feb2ab1c2c" DEPENDS += "freetype xtrans xorgproto libfontenc zlib" @@ -15,8 +15,7 @@ XORG_PN = "libXfont2" BBCLASSEXTEND = "native" -SRC_URI[md5sum] = "00516bed7ec1453d56974560379fff2f" -SRC_URI[sha256sum] = "6d151b3368e5035efede4b6264c0fdc6662c1c99dbc2de425e3480cababc69e6" +SRC_URI[sha256sum] = "aa7c6f211cf7215c0ab4819ed893dc98034363d7b930b844bb43603c2e10b53e" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb b/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb index 94c6c66e87..f04780cf04 100644 --- a/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb +++ b/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb @@ -6,7 +6,7 @@ such as freetype)." require xorg-lib-common.inc -LICENSE = "MIT & MIT-style & BSD" +LICENSE = "MIT & MIT-style & BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=a46c8040f2f737bcd0c435feb2ab1c2c" DEPENDS += "freetype xtrans xorgproto libfontenc zlib" diff --git a/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb b/meta/recipes-graphics/xorg-lib/libxft_2.3.4.bb index 65bd9ae494..12636914dd 100644 --- a/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb +++ b/meta/recipes-graphics/xorg-lib/libxft_2.3.4.bb @@ -20,14 +20,13 @@ PROVIDES = "xft" PE = "1" -SRC_URI[md5sum] = "4a433c24627b4ff60a4dd403a0990796" -SRC_URI[sha256sum] = "225c68e616dd29dbb27809e45e9eadf18e4d74c50be43020ef20015274529216" +SRC_URI[sha256sum] = "57dedaab20914002146bdae0cb0c769ba3f75214c4c91bd2613d6ef79fc9abdd" XORG_PN = "libXft" BBCLASSEXTEND = "native nativesdk" -python () { - if d.getVar('DEBIAN_NAMES'): - d.setVar('PKG_${PN}', '${MLPREFIX}libxft2') +python populate_packages:prepend () { + if d.getVar('DEBIAN_NAMES'): + d.setVar('PKG:${PN}', '${MLPREFIX}libxft2') } diff --git a/meta/recipes-graphics/xorg-lib/libxi_1.7.10.bb b/meta/recipes-graphics/xorg-lib/libxi_1.8.bb index 5a08e07362..83101c5736 100644 --- a/meta/recipes-graphics/xorg-lib/libxi_1.7.10.bb +++ b/meta/recipes-graphics/xorg-lib/libxi_1.8.bb @@ -17,7 +17,6 @@ PE = "1" XORG_PN = "libXi" -SRC_URI[md5sum] = "62c4af0839072024b4b1c8cbe84216c7" -SRC_URI[sha256sum] = "36a30d8f6383a72e7ce060298b4b181fd298bc3a135c8e201b7ca847f5f81061" +SRC_URI[sha256sum] = "2ed181446a61c7337576467870bc5336fc9e222a281122d96c4d39a3298bba00" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.1.bb b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.1.bb index fc35bc613b..7c5079c452 100644 --- a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.1.bb +++ b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.1.bb @@ -5,22 +5,32 @@ HOMEPAGE = "http://www.xkbcommon.org" LIC_FILES_CHKSUM = "file://LICENSE;md5=e525ed9809e1f8a07cf4bce8b09e8b87" LICENSE = "MIT & MIT-style" -DEPENDS = "util-macros flex-native bison-native" +DEPENDS = "flex-native bison-native" SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "ab68b25341c99f2218d7cf3dad459c1827f411219901ade05bbccbdb856b6c8d" +SRC_URI[sha256sum] = "b3c710d27a2630054e1e1399c85b7f330ef03359b460f0c1b3b587fd01fe9234" UPSTREAM_CHECK_URI = "http://xkbcommon.org/" inherit meson pkgconfig -EXTRA_OEMESON = "-Denable-docs=false -Denable-xkbregistry=false" +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)} xkbregistry" -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}" -PACKAGECONFIG[x11] = "-Denable-x11=true,-Denable-x11=false,libxcb xkeyboard-config," +PACKAGECONFIG[docs] = "-Denable-docs=true,-Denable-docs=false,doxygen-native" PACKAGECONFIG[wayland] = "-Denable-wayland=true,-Denable-wayland=false,wayland-native wayland wayland-protocols," +PACKAGECONFIG[x11] = "-Denable-x11=true,-Denable-x11=false,libxcb xkeyboard-config," +PACKAGECONFIG[xkbregistry] = "-Denable-xkbregistry=true,-Denable-xkbregistry=false,libxml2" + +PACKAGE_BEFORE_PN += "xkbcli" +FILES:${PN} = "" +FILES:xkbcli = "${bindir}/xkbcli ${libexecdir}/xkbcommon/xkbcli-*" + +python populate_packages:prepend () { + # Put the libraries into separate packages to avoid dependency creep + do_split_packages(d, d.expand('${libdir}'), r'^(lib.*)\.so\.*', '%s', '%s library', extra_depends='', allow_links=True) +} # Fix a following runtime error: # xkbcommon: ERROR: couldn't find a Compose file for locale "C" -RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}" +RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}" diff --git a/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb b/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb index dc3179f53e..7e92d0499a 100644 --- a/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb +++ b/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb @@ -23,7 +23,7 @@ LEAD_SONAME = "libXmu" PACKAGES =+ "libxmuu" -FILES_libxmuu = "${libdir}/libXmuu.so.*" +FILES:libxmuu = "${libdir}/libXmuu.so.*" BBCLASSEXTEND = "native" diff --git a/meta/recipes-graphics/xorg-lib/libxpm_3.5.13.bb b/meta/recipes-graphics/xorg-lib/libxpm_3.5.13.bb index fda8e32d2c..4f0a5d7ba0 100644 --- a/meta/recipes-graphics/xorg-lib/libxpm_3.5.13.bb +++ b/meta/recipes-graphics/xorg-lib/libxpm_3.5.13.bb @@ -18,8 +18,8 @@ PE = "1" XORG_PN = "libXpm" PACKAGES =+ "sxpm cxpm" -FILES_cxpm = "${bindir}/cxpm" -FILES_sxpm = "${bindir}/sxpm" +FILES:cxpm = "${bindir}/cxpm" +FILES:sxpm = "${bindir}/sxpm" SRC_URI[md5sum] = "6f0ecf8d103d528cfc803aa475137afa" SRC_URI[sha256sum] = "9cd1da57588b6cb71450eff2273ef6b657537a9ac4d02d0014228845b935ac25" diff --git a/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb b/meta/recipes-graphics/xorg-lib/libxres_1.2.1.bb index af6bb19a25..29a799a328 100644 --- a/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb +++ b/meta/recipes-graphics/xorg-lib/libxres_1.2.1.bb @@ -16,5 +16,4 @@ PE = "1" XORG_PN = "libXres" -SRC_URI[md5sum] = "5d6d443d1abc8e1f6fc1c57fb27729bb" -SRC_URI[sha256sum] = "ff75c1643488e64a7cfbced27486f0f944801319c84c18d3bd3da6bf28c812d4" +SRC_URI[sha256sum] = "b6e6fb1ebb61610e56017edd928fb89a5f53b3f4f990078309877468663b2b11" diff --git a/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.3.bb b/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.3.bb index aed52e75ee..b52fd00f1a 100644 --- a/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.3.bb +++ b/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.3.bb @@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=21fd154ee757813632ada871a34113fb" DEPENDS += "libxext xorgproto" PROVIDES = "libxss" -RREPLACES_${PN} = "libxss" +RREPLACES:${PN} = "libxss" PE = "1" XORG_PN = "libXScrnSaver" diff --git a/meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch b/meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch new file mode 100644 index 0000000000..3e87794d20 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch @@ -0,0 +1,39 @@ +From 5827f6389a227157958d14a687fb29223cb3a03a Mon Sep 17 00:00:00 2001 +From: Mingli Yu <mingli.yu@windriver.com> +Date: Wed, 7 Apr 2021 07:48:42 +0000 +Subject: [PATCH] xshmfence_futex.h: Define SYS_futex if it does not exist + +_NR_futex is not defines by newer architectures e.g. riscv32 as +they only have 64bit variant of time_t. Glibc defines SYS_futex +interface based on __NR_futex, since this is used in applications, +such applications start to fail to build for these newer architectures. +This patch defines a fallback to alias __NR_futex to __NR_futex_time64 +to make SYS_futex keep working. + +Reference: https://git.openembedded.org/openembedded-core/commit/?id=7a218adf9990f5e18d0b6a33eb34091969f979c7 + +Upstream-Status: Pending + +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + src/xshmfence_futex.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/xshmfence_futex.h b/src/xshmfence_futex.h +index 673ac0e..a71efa5 100644 +--- a/src/xshmfence_futex.h ++++ b/src/xshmfence_futex.h +@@ -53,6 +53,10 @@ static inline int futex_wait(int32_t *addr, int32_t value) { + #include <sys/time.h> + #include <sys/syscall.h> + ++#if !defined(SYS_futex) && defined(SYS_futex_time64) ++#define SYS_futex SYS_futex_time64 ++#endif ++ + static inline long sys_futex(void *addr1, int op, int val1, struct timespec *timeout, void *addr2, int val3) + { + return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3); +-- +2.29.2 + diff --git a/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb b/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb index cc45696530..d153c7a603 100644 --- a/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb +++ b/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb @@ -13,7 +13,9 @@ DEPENDS += "virtual/libx11" EXTRA_OECONF += "--with-shared-memory-dir=/dev/shm" -BBCLASSEXTEND = "native nativesdk" +SRC_URI += "file://0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch" SRC_URI[md5sum] = "42dda8016943dc12aff2c03a036e0937" SRC_URI[sha256sum] = "b884300d26a14961a076fbebc762a39831cb75f92bed5ccf9836345b459220c7" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xorg-lib/libxt_1.2.0.bb b/meta/recipes-graphics/xorg-lib/libxt_1.2.1.bb index 54384521c8..8f2cded1df 100644 --- a/meta/recipes-graphics/xorg-lib/libxt_1.2.0.bb +++ b/meta/recipes-graphics/xorg-lib/libxt_1.2.1.bb @@ -24,8 +24,7 @@ XORG_PN = "libXt" SRC_URI += "file://libxt_fix_for_x32.patch" -SRC_URI[md5sum] = "a9019421d3ee8b4937b6afd9025f018a" -SRC_URI[sha256sum] = "b31df531dabed9f4611fc8980bc51d7782967e2aff44c4105251a1acb5a77831" +SRC_URI[sha256sum] = "679cc08f1646dbd27f5e48ffe8dd49406102937109130caab02ca32c083a3d60" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb b/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb index 5a3bb22ec3..ab9595cc75 100644 --- a/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb +++ b/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb @@ -31,5 +31,11 @@ EXTRA_OEMESON = "-Dgtk=disabled -Dlibpng=disabled" # ld: pixman/libpixman-mmx.a(pixman-mmx.c.o): # linking mips:loongson_2f module with previous mips:isa64 modules EXTRA_OEMESON += "-Dloongson-mmi=disabled" +# disable iwmmxt due to compile fails on most arm platforms. +EXTRA_OEMESON += "-Diwmmxt=disabled" + +EXTRA_OEMESON:append:class-target:powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}" +EXTRA_OEMESON:append:class-target:powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}" +EXTRA_OEMESON:append:class-target:powerpc64le = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.31.bb b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.34.bb index ad150544e1..5d431a4172 100644 --- a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.31.bb +++ b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.34.bb @@ -13,18 +13,18 @@ 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[sha256sum] = "da44181f2c8828789c720decf7d13acb3c3950e2a040af5132f50f04bb6aada3" +SRC_URI[sha256sum] = "b321d27686ee7e6610ffe7b56e28d5bbf60625a1f595124cd320c0caa717b8ce" SECTION = "x11/libs" DEPENDS = "util-macros libxslt-native" EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps" -FILES_${PN} += "${datadir}/X11/xkb" +FILES:${PN} += "${datadir}/X11/xkb" inherit autotools pkgconfig gettext python3native -do_install_append () { +do_install:append () { install -d ${D}${datadir}/X11/xkb/compiled cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg } diff --git a/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb b/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb index 5bf134b5f8..f33f6f0215 100644 --- a/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb +++ b/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb @@ -16,7 +16,7 @@ SRC_URI += "file://multilibfix.patch" PE = "1" -RDEPENDS_${PN}-dev = "" +RDEPENDS:${PN}-dev = "" inherit gettext diff --git a/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb b/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb index 52e474a2e9..e530a055ab 100644 --- a/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb +++ b/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb @@ -18,11 +18,11 @@ inherit autotools pkgconfig python3native PACKAGES += "python-xcbgen" -FILES_${PN} = "" -FILES_${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd" -FILES_python-xcbgen = "${PYTHON_SITEPACKAGES_DIR}" +FILES:${PN} = "" +FILES:${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd" +FILES:python-xcbgen = "${PYTHON_SITEPACKAGES_DIR}" -RDEPENDS_${PN}-dev = "" -RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" +RDEPENDS:${PN}-dev = "" +RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xorg-proto/xorgproto_2020.1.bb b/meta/recipes-graphics/xorg-proto/xorgproto_2021.5.bb index c71bc9038f..8edb4596ad 100644 --- a/meta/recipes-graphics/xorg-proto/xorgproto_2020.1.bb +++ b/meta/recipes-graphics/xorg-proto/xorgproto_2021.5.bb @@ -1,4 +1,3 @@ - SUMMARY = "X Window System unified protocol definitions" DESCRIPTION = "This package provides the headers and specification documents defining \ the core protocol and (many) extensions for the X Window System" @@ -7,11 +6,10 @@ BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" SECTION = "x11/libs" LICENSE = "MIT-style" -LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=b9e051107d5628966739a0b2e9b32676" +LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=dfc4bd2b0568b31725b85b0604e69b56" SRC_URI = "${XORG_MIRROR}/individual/proto/${BP}.tar.bz2" -SRC_URI[md5sum] = "c29f4fa78f53b52b3efdc71ebd9506b6" -SRC_URI[sha256sum] = "54a153f139035a376c075845dd058049177212da94d7a9707cf9468367b699d2" +SRC_URI[sha256sum] = "aa2f663b8dbd632960b24f7477aa07d901210057f6ab1a1db5158732569ca015" inherit meson @@ -21,7 +19,7 @@ PACKAGECONFIG[legacy] = "-Dlegacy=true,-Dlegacy=false" # Datadir only used to install pc files, $datadir/pkgconfig datadir="${libdir}" # ${PN} is empty so we need to tweak -dev and -dbg package dependencies -RDEPENDS_${PN}-dev = "" -RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" +RDEPENDS:${PN}-dev = "" +RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xorg-util/util-macros_1.19.2.bb b/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb index 268059935c..80e7590400 100644 --- a/meta/recipes-graphics/xorg-util/util-macros_1.19.2.bb +++ b/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb @@ -9,11 +9,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1970511fddd439b07a6ba789d28ff662" PE = "1" -SRC_URI[md5sum] = "5059b328fac086b733ffac6607164c41" -SRC_URI[sha256sum] = "9225c45c3de60faf971979a55a5536f3562baa4b6f02246c23e98ac0c09a75b7" +SRC_URI[md5sum] = "66cb74d4a0120a06e32c3b01c29417d8" +SRC_URI[sha256sum] = "624bb6c3a4613d18114a7e3849a3d70f2d7af9dc6eabeaba98060d87e3aef35b" # ${PN} is empty so we need to tweak -dev and -dbg package dependencies -RDEPENDS_${PN}-dev = "" -RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" +RDEPENDS:${PN}-dev = "" +RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb index 5420b7d23e..e9788ab7c6 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb +++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb @@ -9,10 +9,10 @@ SRC_URI = "file://xorg.conf" S = "${WORKDIR}" -CONFFILES_${PN} = "${sysconfdir}/X11/xorg.conf" +CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf" PACKAGE_ARCH = "${MACHINE_ARCH}" -ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY:${PN} = "1" do_install () { if test -s ${WORKDIR}/xorg.conf; then diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc index b3e03744c0..7d1f17e777 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc @@ -15,18 +15,20 @@ PROVIDES += "virtual/xserver" PE = "2" XORG_PN = "xorg-server" -SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2" +SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.xz" + +UPSTREAM_CHECK_REGEX = "xorg-server-(?P<pver>\d+(\.(?!99)\d+)+)\.tar" CVE_PRODUCT = "xorg-server" S = "${WORKDIR}/${XORG_PN}-${PV}" -inherit autotools pkgconfig +inherit meson pkgconfig inherit features_check REQUIRED_DISTRO_FEATURES = "x11" -LIB_DEPS = "pixman libxfont2 xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess" +LIB_DEPS = "pixman libxfont2 xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess libxcvt libtirpc" DEPENDS = "xorgproto ${LIB_DEPS} font-util" # Split out some modules and extensions from the main package @@ -67,96 +69,80 @@ PACKAGES =+ "${PN}-sdl \ ${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" +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 \ - --with-os-name=Linux \ +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/input/*.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_OEMESON += " \ + -Dxnest=false \ + -Dxvfb=true \ + -Ddtrace=false \ + -Dint10=x86emu \ + -Dxkb_output_dir=/var/lib/xkb \ " -OPENGL_PKGCONFIGS = "dri glx glamor dri3 xshmfence" +OPENGL_PKGCONFIGS = "dri glx glamor dri3" PACKAGECONFIG ??= "dga dri2 udev ${XORG_CRYPTO} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'xwayland', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-logind', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-logind', '', d)} \ " -PACKAGECONFIG[udev] = "--enable-config-udev,--disable-config-udev,udev" -PACKAGECONFIG[dga] = "--enable-dga,--disable-dga" -PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,virtual/mesa" -PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2" -# DRI3 requires xshmfence to also be enabled -PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3" -PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,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" -PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland,wayland wayland-native wayland-protocols libepoxy" +PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev" +PACKAGECONFIG[dga] = "-Ddga=true,-Ddga=false" +PACKAGECONFIG[dri] = "-Ddri1=true,-Ddri1=false,virtual/mesa" +PACKAGECONFIG[dri2] = "-Ddri2=true,-Ddri2=false" +PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false" +PACKAGECONFIG[glx] = "-Dglx=true,-Dglx=false,virtual/libgl virtual/libx11" +PACKAGECONFIG[glamor] = "-Dglamor=true,-Dglamor=false,libepoxy virtual/libgbm,libegl" +PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind" +PACKAGECONFIG[systemd-logind] = "-Dsystemd_logind=true,-Dsystemd_logind=false,dbus," +PACKAGECONFIG[xinerama] = "-Dxinerama=true,-Dxinerama=false" # 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" +PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl" +PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle" +PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt" -do_install_append () { - # Its assumed base-files creates this for us - rmdir ${D}${localstatedir}/log/ +do_install:append () { sed -i -e 's,${libdir}/xorg/modules,${prefix}/lib*/xorg/modules,' ${D}${mandir}/man5/xorg.conf.5 } # 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() { +python populate_packages:prepend() { import subprocess # Set PKG_CONFIG_PATH so pkg-config looks at the .pc files that are going @@ -177,6 +163,6 @@ python populate_packages_prepend() { 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")) + d.appendVar("RPROVIDES:" + pn, " " + get_abi("input")) + d.appendVar("RPROVIDES:" + pn, " " + get_abi("video")) } diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-Avoid-duplicate-definitions-of-IOPortBase.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-Avoid-duplicate-definitions-of-IOPortBase.patch index 4737040675..11d5546537 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-Avoid-duplicate-definitions-of-IOPortBase.patch +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-Avoid-duplicate-definitions-of-IOPortBase.patch @@ -1,4 +1,4 @@ -From fc04acfd948ac99d04a5dc08c78f3b13bc0c5c41 Mon Sep 17 00:00:00 2001 +From ce3b8a230a3805c9b557c1f106795675bd034860 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 17 Aug 2020 10:50:51 -0700 Subject: [PATCH] Avoid duplicate definitions of IOPortBase @@ -10,26 +10,13 @@ compiler.h:528: multiple definition of `IOPortBase'; Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> + --- - hw/xfree86/common/compiler.h | 2 +- hw/xfree86/os-support/linux/lnx_video.c | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) + 1 file changed, 1 insertion(+) -diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h -index 2b2008b..c7d617e 100644 ---- a/hw/xfree86/common/compiler.h -+++ b/hw/xfree86/common/compiler.h -@@ -525,7 +525,7 @@ xf86WriteMmio32Le(__volatile__ void *base, const unsigned long offset, - #define PORT_SIZE short - #endif - --_X_EXPORT unsigned int IOPortBase; /* Memory mapped I/O port area */ -+extern _X_EXPORT unsigned int IOPortBase; /* Memory mapped I/O port area */ - - static __inline__ void - outb(unsigned PORT_SIZE port, unsigned char val) diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c -index 04e4509..9dc7316 100644 +index fd83022..1d0d96e 100644 --- a/hw/xfree86/os-support/linux/lnx_video.c +++ b/hw/xfree86/os-support/linux/lnx_video.c @@ -78,6 +78,7 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem) @@ -40,6 +27,3 @@ index 04e4509..9dc7316 100644 #if defined(__powerpc__) volatile unsigned char *ioBase = NULL; --- -2.28.0 - diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch deleted file mode 100644 index 8b687d612d..0000000000 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e50c85f4ebf559a3bac4817b41074c43d4691779 Mon Sep 17 00:00:00 2001 -From: Eric Anholt <eric@anholt.net> -Date: Fri, 26 Oct 2018 17:47:30 -0700 -Subject: [PATCH] Fix segfault on probing a non-PCI platform device on a system - with PCI. - -Some Broadcom set-top-box boards have PCI busses, but the GPU is still -probed through DT. We would dereference a null busid here in that -case. - -Signed-off-by: Eric Anholt <eric@anholt.net> - -Upstream-Status: Backport [https://github.com/freedesktop/xorg-xserver/commit/e50c85f4e] -Signed-off-by: Aníbal Limón <anibal.limon@linaro.org> ---- - hw/xfree86/common/xf86platformBus.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c -index cef47da03..dadbac6c8 100644 ---- a/hw/xfree86/common/xf86platformBus.c -+++ b/hw/xfree86/common/xf86platformBus.c -@@ -289,7 +289,7 @@ xf86platformProbe(void) - for (i = 0; i < xf86_num_platform_devices; i++) { - char *busid = xf86_platform_odev_attributes(i)->busid; - -- if (pci && (strncmp(busid, "pci:", 4) == 0)) { -+ if (pci && busid && (strncmp(busid, "pci:", 4) == 0)) { - platform_find_pci_info(&xf86_platform_devices[i], busid); - } - --- -2.28.0 - diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-drmmode_display.c-add-missing-mi.h-include.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-drmmode_display.c-add-missing-mi.h-include.patch deleted file mode 100644 index 4b8e43f1e4..0000000000 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-drmmode_display.c-add-missing-mi.h-include.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 84338444179cab7ede1252a11b66e3b8f657e6a4 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Fri, 7 Feb 2020 20:36:45 +0100 -Subject: [PATCH] drmmode_display.c: add missing mi.h include - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - hw/xfree86/drivers/modesetting/drmmode_display.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c -index e18cc37..3445cce 100644 ---- a/hw/xfree86/drivers/modesetting/drmmode_display.c -+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c -@@ -46,6 +46,7 @@ - #include "xf86Crtc.h" - #include "drmmode_display.h" - #include "present.h" -+#include "mi.h" - - #include <cursorstr.h> - diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-test-xtest-Initialize-array-with-braces.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-test-xtest-Initialize-array-with-braces.patch deleted file mode 100644 index c0c242814b..0000000000 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-test-xtest-Initialize-array-with-braces.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 8a382c015cd3c69fcfc146ef03dcbf30c77ff207 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 1 Mar 2019 09:47:57 -0800 -Subject: [PATCH] test/xtest: Initialize array with braces - -Fixes an error when extra warnings are enabled, this is caught with clang - -test/xtest.c:64:23: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] - WindowRec root = {0}; - ^ - {} -1 error generated. - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - test/xtest.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/xtest.c b/test/xtest.c -index fc5e433..d7e6620 100644 ---- a/test/xtest.c -+++ b/test/xtest.c -@@ -61,7 +61,7 @@ xtest_init_devices(void) - { - ScreenRec screen = {0}; - ClientRec server_client = {0}; -- WindowRec root = {0}; -+ WindowRec root = {{0}}; - WindowOptRec optional = {0}; - - /* random stuff that needs initialization */ --- -2.21.0 - diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/pkgconfig.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/pkgconfig.patch deleted file mode 100644 index 2ef9fa9fe4..0000000000 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg/pkgconfig.patch +++ /dev/null @@ -1,34 +0,0 @@ -Upstream-Status: Submitted [https://gitlab.freedesktop.org/xorg/xserver/merge_requests/22] -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From 5f65a6246fe752764045dd1e38912f1dccec71e4 Mon Sep 17 00:00:00 2001 -From: Ross Burton <ross.burton@intel.com> -Date: Thu, 20 Sep 2018 20:12:24 +0100 -Subject: [PATCH] xorg-server.m4: just all cflags instead of just sdkdir - -Instead of fetching just the sdkdir variable of xorg-server using pkg-config, -simply get all of the CFLAGS. Aside from completeness, this helps builds in -sysroots as pkg-config knows what to do with --cflags but doesn't remap -arbitrary variables. - -Signed-off-by: Ross Burton <ross.burton@intel.com> ---- - xorg-server.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/xorg-server.m4 b/xorg-server.m4 -index 18255b91a..195bda5d8 100644 ---- a/xorg-server.m4 -+++ b/xorg-server.m4 -@@ -31,7 +31,7 @@ dnl - 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 `$PKG_CONFIG --cflags xorg-server`" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #include "xorg-server.h" - #if !defined $1 --- -2.11.0 - diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/sdksyms-no-build-path.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/sdksyms-no-build-path.patch deleted file mode 100644 index be198ece49..0000000000 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg/sdksyms-no-build-path.patch +++ /dev/null @@ -1,50 +0,0 @@ -Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/merge_requests/253] -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From ca832598d38ba55a001088b57d73c6d7261dc9a7 Mon Sep 17 00:00:00 2001 -From: Ross Burton <ross.burton@intel.com> -Date: Thu, 1 Aug 2019 15:24:51 +0100 -Subject: [PATCH] sdksyms.sh: don't embed the build path - -This script generates a header that has a comment containing the build path for -no real reason. As this source can end up deployed on targets in debug packages -this means there is both potentially sensitive information leakage about the -build environment, and a source of change for reproducible builds. ---- - hw/xfree86/sdksyms.sh | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh -index 39e33711d..bdf47a71a 100755 ---- a/hw/xfree86/sdksyms.sh -+++ b/hw/xfree86/sdksyms.sh -@@ -302,13 +302,16 @@ LC_ALL=C - export LC_ALL - ${CPP:-cpp} "$@" sdksyms.c > /dev/null || exit $? - ${CPP:-cpp} "$@" sdksyms.c | ${AWK:-awk} -v topdir=$topdir ' -+function basename(file) { -+ sub(".*/", "", file) -+ return file -+} - BEGIN { - sdk = 0; - print("/*"); - print(" * These symbols are referenced to ensure they"); - print(" * will be available in the X Server binary."); - print(" */"); -- printf("/* topdir=%s */\n", topdir); - print("_X_HIDDEN void *xorg_symbols[] = {"); - - printf("sdksyms.c:") > "sdksyms.dep"; -@@ -337,7 +340,7 @@ BEGIN { - # remove quotes - gsub(/"/, "", $3); - line = $2; -- header = $3; -+ header = basename($3); - if (! headers[$3]) { - printf(" \\\n %s", $3) >> "sdksyms.dep"; - headers[$3] = 1; --- -2.20.1 - diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.9.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.1.bb index c83e43ed99..196d1edff5 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.9.bb +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.1.bb @@ -1,31 +1,26 @@ require xserver-xorg.inc SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \ - file://pkgconfig.patch \ - file://0001-test-xtest-Initialize-array-with-braces.patch \ - file://sdksyms-no-build-path.patch \ - file://0001-drmmode_display.c-add-missing-mi.h-include.patch \ file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \ - file://0001-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch \ " -SRC_URI[sha256sum] = "e219f2e0dfe455467939149d7cd2ee53b79b512cc1d2094ae4f5c9ed9ccd3571" +SRC_URI[sha256sum] = "782e7fef2ca0c7cbe60a937b8bf42dac69c904fb841950fd0363e1c2346ea755" # These extensions are now integrated into the server, so declare the migration # path for in-place upgrades. -RREPLACES_${PN} = "${PN}-extension-dri \ +RREPLACES:${PN} = "${PN}-extension-dri \ ${PN}-extension-dri2 \ ${PN}-extension-record \ ${PN}-extension-extmod \ ${PN}-extension-dbe \ " -RPROVIDES_${PN} = "${PN}-extension-dri \ +RPROVIDES:${PN} = "${PN}-extension-dri \ ${PN}-extension-dri2 \ ${PN}-extension-record \ ${PN}-extension-extmod \ ${PN}-extension-dbe \ " -RCONFLICTS_${PN} = "${PN}-extension-dri \ +RCONFLICTS:${PN} = "${PN}-extension-dri \ ${PN}-extension-dri2 \ ${PN}-extension-record \ ${PN}-extension-extmod \ diff --git a/meta/recipes-graphics/xwayland/xwayland_21.1.3.bb b/meta/recipes-graphics/xwayland/xwayland_21.1.3.bb new file mode 100644 index 0000000000..5d083e8ada --- /dev/null +++ b/meta/recipes-graphics/xwayland/xwayland_21.1.3.bb @@ -0,0 +1,44 @@ +SUMMARY = "XWayland is an X Server that runs under Wayland." +DESCRIPTION = "XWayland is an X Server running as a Wayland client, \ +and thus is capable of displaying native X11 client applications in a \ +Wayland compositor environment. The goal of XWayland is to facilitate \ +the transition from X Window System to Wayland environments, providing \ +a way to run unported applications in the meantime." +HOMEPAGE = "https://fedoraproject.org/wiki/Changes/XwaylandStandalone" + +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880" + +SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz" +SRC_URI[sha256sum] = "ebc2757f39fd4c7db1654fd86591589c211aa20172d43a54f77ae567cedbf8a2" + +UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar" + +inherit meson features_check pkgconfig +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy" + +OPENGL_PKGCONFIGS = "glx glamor dri3" +PACKAGECONFIG ??= "${XORG_CRYPTO} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \ +" +PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false" +PACKAGECONFIG[glx] = "-Dglx=true,-Dglx=false,virtual/libgl virtual/libx11" +PACKAGECONFIG[glamor] = "-Dglamor=true,-Dglamor=false,libepoxy virtual/libgbm,libegl" +PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind" +PACKAGECONFIG[xinerama] = "-Dxinerama=true,-Dxinerama=false" + +# Xorg requires a SHA1 implementation, pick one +XORG_CRYPTO ??= "openssl" +PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl" +PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle" +PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt" + +do_install:append() { + # remove files not needed and clashing with xserver-xorg + rm -rf ${D}/${libdir}/xorg/ +} + +FILES:${PN} += "${libdir}/xorg/protocol.txt" + |