summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-graphics')
-rw-r--r--meta/recipes-graphics/builder/builder_0.1.bb6
-rw-r--r--meta/recipes-graphics/cairo/cairo/CVE-2018-19876.patch34
-rw-r--r--meta/recipes-graphics/cairo/cairo/CVE-2019-6461.patch19
-rw-r--r--meta/recipes-graphics/cairo/cairo/CVE-2019-6462.patch20
-rw-r--r--meta/recipes-graphics/cairo/cairo/cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff2
-rw-r--r--meta/recipes-graphics/cairo/cairo_1.16.0.bb98
-rw-r--r--meta/recipes-graphics/cairo/cairo_1.18.0.bb86
-rw-r--r--meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.303.1.bb (renamed from meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.301.bb)8
-rw-r--r--meta/recipes-graphics/clutter/clutter-1.0.inc49
-rw-r--r--meta/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch143
-rw-r--r--meta/recipes-graphics/clutter/clutter-1.0/install-examples.patch19
-rw-r--r--meta/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch30
-rw-r--r--meta/recipes-graphics/clutter/clutter-1.0/run-ptest3
-rw-r--r--meta/recipes-graphics/clutter/clutter-1.0_1.26.4.bb10
-rw-r--r--meta/recipes-graphics/clutter/clutter-gst-3.0.inc23
-rw-r--r--meta/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch33
-rw-r--r--meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb7
-rw-r--r--meta/recipes-graphics/clutter/clutter-gtk-1.0.inc23
-rw-r--r--meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch37
-rw-r--r--meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb7
-rw-r--r--meta/recipes-graphics/cogl/cogl-1.0.inc84
-rw-r--r--meta/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch92
-rw-r--r--meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb6
-rw-r--r--meta/recipes-graphics/drm/libdrm/0001-meson-Also-search-for-rst2man.py.patch30
-rw-r--r--meta/recipes-graphics/drm/libdrm_2.4.104.bb61
-rw-r--r--meta/recipes-graphics/drm/libdrm_2.4.120.bb59
-rw-r--r--meta/recipes-graphics/fontconfig/fontconfig_2.15.0.bb (renamed from meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb)31
-rw-r--r--meta/recipes-graphics/freetype/freetype/use-right-libtool.patch14
-rw-r--r--meta/recipes-graphics/freetype/freetype_2.13.2.bb (renamed from meta/recipes-graphics/freetype/freetype_2.10.4.bb)15
-rw-r--r--meta/recipes-graphics/glew/glew/0001-Fix-build-race-in-Makefile.patch56
-rw-r--r--meta/recipes-graphics/glew/glew/no-strip.patch2
-rw-r--r--meta/recipes-graphics/glew/glew/notempdir.patch21
-rw-r--r--meta/recipes-graphics/glew/glew_2.2.0.bb2
-rw-r--r--meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch39
-rw-r--r--meta/recipes-graphics/glslang/glslang_1.3.280.0.bb (renamed from meta/recipes-graphics/glslang/glslang_11.2.0.bb)24
-rw-r--r--meta/recipes-graphics/graphene/files/float-div.patch28
-rw-r--r--meta/recipes-graphics/graphene/graphene_1.10.8.bb29
-rw-r--r--meta/recipes-graphics/harfbuzz/harfbuzz_8.3.1.bb (renamed from meta/recipes-graphics/harfbuzz/harfbuzz_2.7.4.bb)35
-rw-r--r--meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch42
-rw-r--r--meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch38
-rw-r--r--meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb24
-rw-r--r--meta/recipes-graphics/images/core-image-clutter.bb15
-rw-r--r--meta/recipes-graphics/images/core-image-weston-sdk.bb15
-rw-r--r--meta/recipes-graphics/images/core-image-weston.bb8
-rw-r--r--meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch32
-rw-r--r--meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb59
-rw-r--r--meta/recipes-graphics/jpeg/libjpeg-turbo_3.0.1.bb58
-rw-r--r--meta/recipes-graphics/kmscube/kmscube/0001-cube-gears-Change-header-file-to-GLES3-gl3.h.patch31
-rw-r--r--meta/recipes-graphics/kmscube/kmscube_git.bb15
-rw-r--r--meta/recipes-graphics/libepoxy/files/0001-dispatch_common.h-define-also-EGL_NO_X11.patch27
-rw-r--r--meta/recipes-graphics/libepoxy/libepoxy_1.5.10.bb (renamed from meta/recipes-graphics/libepoxy/libepoxy_1.5.5.bb)14
-rw-r--r--meta/recipes-graphics/libfakekey/libfakekey_git.bb6
-rw-r--r--meta/recipes-graphics/libmatchbox/libmatchbox_1.12.bb4
-rw-r--r--meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch60
-rw-r--r--meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb80
-rw-r--r--meta/recipes-graphics/libsdl2/libsdl2_2.30.2.bb85
-rw-r--r--meta/recipes-graphics/libva/libva-initial_2.20.0.bb (renamed from meta/recipes-graphics/libva/libva-initial_2.10.0.bb)5
-rw-r--r--meta/recipes-graphics/libva/libva-utils_2.20.1.bb (renamed from meta/recipes-graphics/libva/libva-utils_2.10.0.bb)4
-rw-r--r--meta/recipes-graphics/libva/libva.inc16
-rw-r--r--meta/recipes-graphics/libva/libva_2.10.0.bb20
-rw-r--r--meta/recipes-graphics/libva/libva_2.20.0.bb15
-rw-r--r--meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb7
-rw-r--r--meta/recipes-graphics/matchbox-wm/matchbox-wm/0001-Fix-build-with-gcc-10.patch41
-rw-r--r--meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb (renamed from meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb)18
-rw-r--r--meta/recipes-graphics/menu-cache/menu-cache_1.1.0.bb2
-rw-r--r--meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch53
-rw-r--r--meta/recipes-graphics/mesa/files/0001-anv-fix-a-build-race-between-generating-a-header-and.patch31
-rw-r--r--meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch58
-rw-r--r--meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch31
-rw-r--r--meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch7
-rw-r--r--meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch21
-rw-r--r--meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch42
-rw-r--r--meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch61
-rw-r--r--meta/recipes-graphics/mesa/libglu_9.0.3.bb (renamed from meta/recipes-graphics/mesa/libglu_9.0.1.bb)13
-rw-r--r--meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch377
-rw-r--r--meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch43
-rw-r--r--meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch99
-rw-r--r--meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch71
-rw-r--r--meta/recipes-graphics/mesa/mesa-demos/0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch44
-rw-r--r--meta/recipes-graphics/mesa/mesa-demos/0013-only-build-GLX-demos-if-needed.patch62
-rw-r--r--meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb59
-rw-r--r--meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb43
-rw-r--r--meta/recipes-graphics/mesa/mesa-gl_20.3.4.bb15
-rw-r--r--meta/recipes-graphics/mesa/mesa-gl_24.0.3.bb15
-rw-r--r--meta/recipes-graphics/mesa/mesa.inc302
-rw-r--r--meta/recipes-graphics/mesa/mesa_24.0.3.bb (renamed from meta/recipes-graphics/mesa/mesa_20.3.4.bb)0
-rw-r--r--meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb9
-rw-r--r--meta/recipes-graphics/mx/mx-1.0/fix-test-includes.patch20
-rw-r--r--meta/recipes-graphics/mx/mx-1.0_1.4.7.bb16
-rw-r--r--meta/recipes-graphics/mx/mx.inc27
-rw-r--r--meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb22
-rw-r--r--meta/recipes-graphics/packagegroups/packagegroup-core-weston.bb14
-rw-r--r--meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb4
-rw-r--r--meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb8
-rw-r--r--meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb7
-rw-r--r--meta/recipes-graphics/pango/pango/0001-Skip-running-test-layout-test.patch45
-rw-r--r--meta/recipes-graphics/pango/pango/run-ptest3
-rw-r--r--meta/recipes-graphics/pango/pango_1.52.2.bb (renamed from meta/recipes-graphics/pango/pango_1.48.2.bb)32
-rw-r--r--meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch27
-rw-r--r--meta/recipes-graphics/piglit/piglit/0001-cmake-install-bash-completions-in-the-right-place.patch35
-rw-r--r--meta/recipes-graphics/piglit/piglit/0001-framework-profile.py-make-test-lists-reproducible.patch31
-rw-r--r--meta/recipes-graphics/piglit/piglit/0001-generated_tests-gen_tcs-tes_input_tests.py-do-not-ha.patch44
-rw-r--r--meta/recipes-graphics/piglit/piglit/0001-serializer.py-make-.gz-files-reproducible.patch30
-rw-r--r--meta/recipes-graphics/piglit/piglit/0001-tests-Fix-narrowing-errors-seen-with-clang.patch50
-rw-r--r--meta/recipes-graphics/piglit/piglit/0001-tests-shader.py-sort-the-file-list-before-working-on.patch28
-rw-r--r--meta/recipes-graphics/piglit/piglit/0001-utils-Include-libgen.h-on-musl-linux-systems.patch83
-rw-r--r--meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch (renamed from meta/recipes-graphics/piglit/piglit/0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch)7
-rw-r--r--meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch (renamed from meta/recipes-graphics/piglit/piglit/0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch)11
-rw-r--r--meta/recipes-graphics/piglit/piglit_git.bb39
-rw-r--r--meta/recipes-graphics/pong-clock/pong-clock_1.0.bb2
-rw-r--r--meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch21
-rw-r--r--meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch11
-rw-r--r--meta/recipes-graphics/shaderc/files/0003-cmake-add-option-to-skip-build-the-examples.patch47
-rw-r--r--meta/recipes-graphics/shaderc/shaderc_2024.0.bb (renamed from meta/recipes-graphics/shaderc/shaderc_2020.4.bb)6
-rw-r--r--meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch35
-rw-r--r--meta/recipes-graphics/spir/spirv-headers_1.3.280.0.bb20
-rw-r--r--meta/recipes-graphics/spir/spirv-headers_1.5.4.bb17
-rw-r--r--meta/recipes-graphics/spir/spirv-tools_1.3.280.0.bb (renamed from meta/recipes-graphics/spir/spirv-tools_2020.6.bb)23
-rw-r--r--meta/recipes-graphics/startup-notification/startup-notification_0.12.bb3
-rw-r--r--meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb (renamed from meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb)19
-rw-r--r--meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb7
-rw-r--r--meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch36
-rw-r--r--meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch15
-rw-r--r--meta/recipes-graphics/virglrenderer/virglrenderer_0.8.2.bb24
-rw-r--r--meta/recipes-graphics/virglrenderer/virglrenderer_1.0.1.bb33
-rw-r--r--meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch68
-rw-r--r--meta/recipes-graphics/vulkan/assimp/0001-closes-https-github.com-assimp-assimp-issues-2733-up.patch1664
-rw-r--r--meta/recipes-graphics/vulkan/assimp_5.0.1.bb23
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-headers_1.3.280.0.bb (renamed from meta/recipes-graphics/vulkan/vulkan-headers_1.2.162.0.bb)16
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-loader/0001-Rename-LIB_SUFFIX-to-VULKAN_LIB_SUFFIX.patch40
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-loader_1.3.280.0.bb (renamed from meta/recipes-graphics/vulkan/vulkan-loader_1.2.162.0.bb)19
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples/0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch29
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples/0001-Deprecate-u8string_view.patch59
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples/0001-Do-not-use-LFS64-functions-on-linux-musl.patch37
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples/0001-vulkan-samples-Fix-reproducibility-issue.patch (renamed from meta/recipes-graphics/vulkan/vulkan-samples/debugfix.patch)24
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples/32bit.patch101
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples_git.bb19
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-tools_1.3.280.0.bb (renamed from meta/recipes-graphics/vulkan/vulkan-tools_1.2.162.1.bb)13
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.280.0.bb33
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.280.0.bb49
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-volk_1.3.280.0.bb37
-rw-r--r--meta/recipes-graphics/waffle/waffle/0001-waffle-do-not-make-core-protocol-into-the-library.patch40
-rw-r--r--meta/recipes-graphics/waffle/waffle_1.8.0.bb (renamed from meta/recipes-graphics/waffle/waffle_1.6.1.bb)39
-rw-r--r--meta/recipes-graphics/wayland/libinput/determinism.patch21
-rw-r--r--meta/recipes-graphics/wayland/libinput/run-ptest2
-rw-r--r--meta/recipes-graphics/wayland/libinput_1.25.0.bb (renamed from meta/recipes-graphics/wayland/libinput_1.16.4.bb)24
-rw-r--r--meta/recipes-graphics/wayland/mtdev_1.1.7.bb (renamed from meta/recipes-graphics/wayland/mtdev_1.1.6.bb)3
-rw-r--r--meta/recipes-graphics/wayland/required-distro-features.inc8
-rw-r--r--meta/recipes-graphics/wayland/wayland-protocols_1.35.bb (renamed from meta/recipes-graphics/wayland/wayland-protocols_1.20.bb)17
-rw-r--r--meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb (renamed from meta/recipes-graphics/wayland/wayland-utils_1.0.0.bb)10
-rw-r--r--meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch20
-rw-r--r--meta/recipes-graphics/wayland/wayland/0002-Consider-pkgconfig-sysroot-for-pkgdatadir.patch46
-rw-r--r--meta/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch27
-rw-r--r--meta/recipes-graphics/wayland/wayland/0002-meson.build-find-the-native-wayland-scanner-directly.patch28
-rw-r--r--meta/recipes-graphics/wayland/wayland_1.22.0.bb (renamed from meta/recipes-graphics/wayland/wayland_1.19.0.bb)24
-rw-r--r--meta/recipes-graphics/wayland/weston-init.bb83
-rw-r--r--meta/recipes-graphics/wayland/weston-init/init3
-rwxr-xr-xmeta/recipes-graphics/wayland/weston-init/weston-socket.sh20
-rwxr-xr-xmeta/recipes-graphics/wayland/weston-init/weston-start37
-rw-r--r--meta/recipes-graphics/wayland/weston-init/weston.service4
-rw-r--r--meta/recipes-graphics/wayland/weston/0001-libweston-tools-Include-libgen.h-for-basename-signat.patch48
-rw-r--r--meta/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch47
-rw-r--r--meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch199
-rw-r--r--meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch23
-rw-r--r--meta/recipes-graphics/wayland/weston/systemd-notify.weston-start9
-rw-r--r--meta/recipes-graphics/wayland/weston/xwayland.weston-start5
-rw-r--r--meta/recipes-graphics/wayland/weston_13.0.0.bb (renamed from meta/recipes-graphics/wayland/weston_9.0.0.bb)94
-rw-r--r--meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb15
-rw-r--r--meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb8
-rw-r--r--meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb3
-rw-r--r--meta/recipes-graphics/xinput-calibrator/xinput-calibrator/Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch2
-rw-r--r--meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb15
-rw-r--r--meta/recipes-graphics/xorg-app/mkfontscale_1.2.3.bb (renamed from meta/recipes-graphics/xorg-app/mkfontscale_1.2.1.bb)8
-rw-r--r--meta/recipes-graphics/xorg-app/rgb_1.1.0.bb (renamed from meta/recipes-graphics/xorg-app/rgb_1.0.6.bb)6
-rw-r--r--meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb4
-rw-r--r--meta/recipes-graphics/xorg-app/xauth_1.1.3.bb (renamed from meta/recipes-graphics/xorg-app/xauth_1.1.bb)4
-rw-r--r--meta/recipes-graphics/xorg-app/xdpyinfo_1.3.4.bb (renamed from meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb)6
-rw-r--r--meta/recipes-graphics/xorg-app/xev/diet-x11.patch114
-rw-r--r--meta/recipes-graphics/xorg-app/xev_1.2.6.bb (renamed from meta/recipes-graphics/xorg-app/xev_1.2.4.bb)4
-rw-r--r--meta/recipes-graphics/xorg-app/xeyes_1.3.0.bb (renamed from meta/recipes-graphics/xorg-app/xeyes_1.1.2.bb)6
-rw-r--r--meta/recipes-graphics/xorg-app/xhost_1.0.9.bb (renamed from meta/recipes-graphics/xorg-app/xhost_1.0.8.bb)9
-rw-r--r--meta/recipes-graphics/xorg-app/xinit_1.4.2.bb (renamed from meta/recipes-graphics/xorg-app/xinit_1.4.1.bb)7
-rw-r--r--meta/recipes-graphics/xorg-app/xinput_1.6.4.bb (renamed from meta/recipes-graphics/xorg-app/xinput_1.6.3.bb)5
-rw-r--r--meta/recipes-graphics/xorg-app/xkbcomp_1.4.7.bb (renamed from meta/recipes-graphics/xorg-app/xkbcomp_1.4.4.bb)5
-rw-r--r--meta/recipes-graphics/xorg-app/xmodmap_1.0.11.bb (renamed from meta/recipes-graphics/xorg-app/xmodmap_1.0.10.bb)5
-rw-r--r--meta/recipes-graphics/xorg-app/xorg-app-common.inc7
-rw-r--r--meta/recipes-graphics/xorg-app/xprop_1.2.7.bb (renamed from meta/recipes-graphics/xorg-app/xprop_1.2.5.bb)3
-rw-r--r--meta/recipes-graphics/xorg-app/xrandr_1.5.2.bb (renamed from meta/recipes-graphics/xorg-app/xrandr_1.5.1.bb)6
-rw-r--r--meta/recipes-graphics/xorg-app/xset/disable-xkb.patch23
-rw-r--r--meta/recipes-graphics/xorg-app/xset_1.2.5.bb (renamed from meta/recipes-graphics/xorg-app/xset_1.2.4.bb)5
-rw-r--r--meta/recipes-graphics/xorg-app/xvinfo_1.1.5.bb (renamed from meta/recipes-graphics/xorg-app/xvinfo_1.1.4.bb)4
-rw-r--r--meta/recipes-graphics/xorg-app/xwininfo_1.1.6.bb (renamed from meta/recipes-graphics/xorg-app/xwininfo_1.1.5.bb)7
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.9.0.bb13
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.30.0.bb11
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.4.0.bb12
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.5.bb (renamed from meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.3.bb)6
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-synaptics/64bit_time_t_support.patch51
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.2.bb (renamed from meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.1.bb)7
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.2.0.bb (renamed from meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb)11
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.6.0.bb (renamed from meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.5.3.bb)5
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Sync-i915_pciids-upto-8717c6b7414f.patch505
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-i810-Avoid-duplicate-definition-of-I810PatternROP.patch27
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb19
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.6.0.bb (renamed from meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb)5
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch103
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.4.0.bb (renamed from meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.3.0.bb)9
-rw-r--r--meta/recipes-graphics/xorg-driver/xorg-driver-common.inc14
-rw-r--r--meta/recipes-graphics/xorg-driver/xorg-driver-input.inc2
-rw-r--r--meta/recipes-graphics/xorg-font/encodings/nocompiler.patch42
-rw-r--r--meta/recipes-graphics/xorg-font/encodings_1.1.0.bb (renamed from meta/recipes-graphics/xorg-font/encodings_1.0.5.bb)11
-rw-r--r--meta/recipes-graphics/xorg-font/font-alias-1.0.4/nocompiler.patch42
-rw-r--r--meta/recipes-graphics/xorg-font/font-alias_1.0.5.bb (renamed from meta/recipes-graphics/xorg-font/font-alias_1.0.4.bb)9
-rw-r--r--meta/recipes-graphics/xorg-font/font-util_1.3.2.bb22
-rw-r--r--meta/recipes-graphics/xorg-font/font-util_1.4.1.bb23
-rw-r--r--meta/recipes-graphics/xorg-font/xorg-font-common.inc13
-rw-r--r--meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb7
-rw-r--r--meta/recipes-graphics/xorg-lib/libdmx_1.1.4.bb20
-rw-r--r--meta/recipes-graphics/xorg-lib/libfontenc_1.1.8.bb (renamed from meta/recipes-graphics/xorg-lib/libfontenc_1.1.4.bb)3
-rw-r--r--meta/recipes-graphics/xorg-lib/libice_1.1.1.bb (renamed from meta/recipes-graphics/xorg-lib/libice_1.0.10.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libpciaccess_0.16.bb19
-rw-r--r--meta/recipes-graphics/xorg-lib/libpciaccess_0.18.1.bb26
-rw-r--r--meta/recipes-graphics/xorg-lib/libpthread-stubs_0.5.bb (renamed from meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb)9
-rw-r--r--meta/recipes-graphics/xorg-lib/libsm_1.2.4.bb (renamed from meta/recipes-graphics/xorg-lib/libsm_1.2.3.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11-compose-data/0001-Drop-x11-dependencies.patch12
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11-compose-data_1.8.4.bb (renamed from meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb)19
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch58
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11_1.7.0.bb45
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11_1.8.9.bb43
-rw-r--r--meta/recipes-graphics/xorg-lib/libxau_1.0.11.bb (renamed from meta/recipes-graphics/xorg-lib/libxau_1.0.9.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxcb/0001-use-_Alignof-to-avoid-UB-in-ALIGNOF.patch45
-rw-r--r--meta/recipes-graphics/xorg-lib/libxcb/disable-check.patch25
-rw-r--r--meta/recipes-graphics/xorg-lib/libxcb_1.16.1.bb (renamed from meta/recipes-graphics/xorg-lib/libxcb_1.14.bb)15
-rw-r--r--meta/recipes-graphics/xorg-lib/libxcomposite/change-include-order.patch18
-rw-r--r--meta/recipes-graphics/xorg-lib/libxcomposite_0.4.6.bb (renamed from meta/recipes-graphics/xorg-lib/libxcomposite_0.4.5.bb)7
-rw-r--r--meta/recipes-graphics/xorg-lib/libxcursor_1.2.2.bb (renamed from meta/recipes-graphics/xorg-lib/libxcursor_1.2.0.bb)8
-rw-r--r--meta/recipes-graphics/xorg-lib/libxcvt_0.1.2.bb19
-rw-r--r--meta/recipes-graphics/xorg-lib/libxdamage_1.1.6.bb (renamed from meta/recipes-graphics/xorg-lib/libxdamage_1.1.5.bb)3
-rw-r--r--meta/recipes-graphics/xorg-lib/libxdmcp_1.1.5.bb (renamed from meta/recipes-graphics/xorg-lib/libxdmcp_1.1.3.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxext_1.3.6.bb (renamed from meta/recipes-graphics/xorg-lib/libxext_1.3.4.bb)8
-rw-r--r--meta/recipes-graphics/xorg-lib/libxfixes_6.0.1.bb (renamed from meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb)10
-rw-r--r--meta/recipes-graphics/xorg-lib/libxfont2_2.0.6.bb (renamed from meta/recipes-graphics/xorg-lib/libxfont2_2.0.4.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb3
-rw-r--r--meta/recipes-graphics/xorg-lib/libxft_2.3.8.bb (renamed from meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb)9
-rw-r--r--meta/recipes-graphics/xorg-lib/libxi_1.8.1.bb (renamed from meta/recipes-graphics/xorg-lib/libxi_1.7.10.bb)6
-rw-r--r--meta/recipes-graphics/xorg-lib/libxinerama_1.1.5.bb (renamed from meta/recipes-graphics/xorg-lib/libxinerama_1.1.4.bb)4
-rw-r--r--meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.3.bb26
-rw-r--r--meta/recipes-graphics/xorg-lib/libxkbcommon_1.7.0.bb40
-rw-r--r--meta/recipes-graphics/xorg-lib/libxkbfile_1.1.3.bb (renamed from meta/recipes-graphics/xorg-lib/libxkbfile_1.1.0.bb)6
-rw-r--r--meta/recipes-graphics/xorg-lib/libxmu_1.2.1.bb (renamed from meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb)12
-rw-r--r--meta/recipes-graphics/xorg-lib/libxpm_3.5.17.bb (renamed from meta/recipes-graphics/xorg-lib/libxpm_3.5.13.bb)10
-rw-r--r--meta/recipes-graphics/xorg-lib/libxrandr_1.5.4.bb (renamed from meta/recipes-graphics/xorg-lib/libxrandr_1.5.2.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxrender_0.9.11.bb (renamed from meta/recipes-graphics/xorg-lib/libxrender_0.9.10.bb)6
-rw-r--r--meta/recipes-graphics/xorg-lib/libxres_1.2.2.bb (renamed from meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb)3
-rw-r--r--meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.4.bb (renamed from meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.3.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch39
-rw-r--r--meta/recipes-graphics/xorg-lib/libxshmfence_1.3.2.bb (renamed from meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb)9
-rw-r--r--meta/recipes-graphics/xorg-lib/libxt_1.3.0.bb (renamed from meta/recipes-graphics/xorg-lib/libxt_1.2.1.bb)7
-rw-r--r--meta/recipes-graphics/xorg-lib/libxtst_1.2.4.bb (renamed from meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb)6
-rw-r--r--meta/recipes-graphics/xorg-lib/libxv_1.0.12.bb (renamed from meta/recipes-graphics/xorg-lib/libxv_1.0.11.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxvmc_1.0.14.bb (renamed from meta/recipes-graphics/xorg-lib/libxvmc_1.0.12.bb)4
-rw-r--r--meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.5.bb (renamed from meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.4.bb)4
-rw-r--r--meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb (renamed from meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb)18
-rw-r--r--meta/recipes-graphics/xorg-lib/xcb-util-cursor_0.1.4.bb10
-rw-r--r--meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.1.bb (renamed from meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.0.bb)3
-rw-r--r--meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.1.bb (renamed from meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.0.bb)3
-rw-r--r--meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.10.bb (renamed from meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.9.bb)3
-rw-r--r--meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.2.bb (renamed from meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.1.bb)3
-rw-r--r--meta/recipes-graphics/xorg-lib/xcb-util.inc2
-rw-r--r--meta/recipes-graphics/xorg-lib/xcb-util_0.4.1.bb (renamed from meta/recipes-graphics/xorg-lib/xcb-util_0.4.0.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/xkeyboard-config_2.41.bb (renamed from meta/recipes-graphics/xorg-lib/xkeyboard-config_2.32.bb)16
-rw-r--r--meta/recipes-graphics/xorg-lib/xorg-lib-common.inc7
-rw-r--r--meta/recipes-graphics/xorg-lib/xtrans_1.5.0.bb (renamed from meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb)9
-rw-r--r--meta/recipes-graphics/xorg-proto/xcb-proto/0001-Fix-install-conflict-when-enable-multilib.patch32
-rw-r--r--meta/recipes-graphics/xorg-proto/xcb-proto/0001-xcb-proto.pc.in-reinstate-libdir.patch29
-rw-r--r--meta/recipes-graphics/xorg-proto/xcb-proto_1.17.0.bb (renamed from meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb)17
-rw-r--r--meta/recipes-graphics/xorg-proto/xorgproto_2024.1.bb (renamed from meta/recipes-graphics/xorg-proto/xorgproto_2020.1.bb)14
-rw-r--r--meta/recipes-graphics/xorg-util/makedepend_1.0.9.bb (renamed from meta/recipes-graphics/xorg-util/makedepend_1.0.6.bb)3
-rw-r--r--meta/recipes-graphics/xorg-util/util-macros/0001-xorg-macros.m4.in-do-not-run-AC_CANONICAL_HOST-in-ma.patch28
-rw-r--r--meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb19
-rw-r--r--meta/recipes-graphics/xorg-util/util-macros_1.20.1.bb20
-rw-r--r--meta/recipes-graphics/xorg-util/xorg-util-common.inc2
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf4
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf4
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf4
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf4
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf4
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb7
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg.inc161
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-Avoid-duplicate-definitions-of-IOPortBase.patch24
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch34
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-drmmode_display.c-add-missing-mi.h-include.patch23
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-test-xtest-Initialize-array-with-braces.patch36
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg/pkgconfig.patch34
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg/sdksyms-no-build-path.patch50
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.11.bb (renamed from meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.10.bb)13
-rw-r--r--meta/recipes-graphics/xrestop/xrestop_0.4.bb3
-rw-r--r--meta/recipes-graphics/xwayland/xwayland_23.2.6.bb50
297 files changed, 2964 insertions, 7126 deletions
diff --git a/meta/recipes-graphics/builder/builder_0.1.bb b/meta/recipes-graphics/builder/builder_0.1.bb
index 0a64c31ab3..52c9351f93 100644
--- a/meta/recipes-graphics/builder/builder_0.1.bb
+++ b/meta/recipes-graphics/builder/builder_0.1.bb
@@ -1,7 +1,6 @@
1SUMMARY = "New user to do specific job" 1SUMMARY = "New user to do specific job"
2DESCRIPTION = "This recipe create a new user named ${PN}, who is used for specific jobs like building. The task can be auto started via mini X" 2DESCRIPTION = "This recipe create a new user named ${PN}, who is used for specific jobs like building. The task can be auto started via mini X"
3SECTION = "x11" 3SECTION = "x11"
4PR = "r6"
5LICENSE = "MIT" 4LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://builder_session.sh;endline=5;md5=84796c3c41785d86100fdabcbdade00e" 5LIC_FILES_CHKSUM = "file://builder_session.sh;endline=5;md5=84796c3c41785d86100fdabcbdade00e"
7 6
@@ -10,14 +9,14 @@ SRC_URI = "file://builder_session.sh \
10 9
11S = "${WORKDIR}" 10S = "${WORKDIR}"
12 11
13RDEPENDS_${PN} = "mini-x-session" 12RDEPENDS:${PN} = "mini-x-session"
14 13
15inherit useradd 14inherit useradd
16 15
17# builder user password is "builder" 16# builder user password is "builder"
18BUILDER_PASSWORD ?= ".gLibiNXn0P12" 17BUILDER_PASSWORD ?= ".gLibiNXn0P12"
19USERADD_PACKAGES = "${PN}" 18USERADD_PACKAGES = "${PN}"
20USERADD_PARAM_${PN} = "--system --create-home \ 19USERADD_PARAM:${PN} = "--system --create-home \
21 --groups video,tty,audio \ 20 --groups video,tty,audio \
22 --password ${BUILDER_PASSWORD} \ 21 --password ${BUILDER_PASSWORD} \
23 --user-group builder" 22 --user-group builder"
@@ -29,3 +28,4 @@ do_install () {
29 chown builder.builder ${D}${sysconfdir}/mini_x/session.d/builder_session.sh 28 chown builder.builder ${D}${sysconfdir}/mini_x/session.d/builder_session.sh
30} 29}
31 30
31CVE_STATUS[CVE-2008-4178] = "cpe-incorrect: This CVE is for an unrelated builder"
diff --git a/meta/recipes-graphics/cairo/cairo/CVE-2018-19876.patch b/meta/recipes-graphics/cairo/cairo/CVE-2018-19876.patch
deleted file mode 100644
index 4252a5663b..0000000000
--- a/meta/recipes-graphics/cairo/cairo/CVE-2018-19876.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1CVE: CVE-2018-19876
2Upstream-Status: Backport
3Signed-off-by: Ross Burton <ross.burton@intel.com>
4
5From 90e85c2493fdfa3551f202ff10282463f1e36645 Mon Sep 17 00:00:00 2001
6From: Carlos Garcia Campos <cgarcia@igalia.com>
7Date: Mon, 19 Nov 2018 12:33:07 +0100
8Subject: [PATCH] ft: Use FT_Done_MM_Var instead of free when available in
9 cairo_ft_apply_variations
10
11Fixes a crash when using freetype >= 2.9
12---
13 src/cairo-ft-font.c | 4 ++++
14 1 file changed, 4 insertions(+)
15
16diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
17index 325dd61b4..981973f78 100644
18--- a/src/cairo-ft-font.c
19+++ b/src/cairo-ft-font.c
20@@ -2393,7 +2393,11 @@ skip:
21 done:
22 free (coords);
23 free (current_coords);
24+#if HAVE_FT_DONE_MM_VAR
25+ FT_Done_MM_Var (face->glyph->library, ft_mm_var);
26+#else
27 free (ft_mm_var);
28+#endif
29 }
30 }
31
32--
332.11.0
34
diff --git a/meta/recipes-graphics/cairo/cairo/CVE-2019-6461.patch b/meta/recipes-graphics/cairo/cairo/CVE-2019-6461.patch
deleted file mode 100644
index 5232cf70c6..0000000000
--- a/meta/recipes-graphics/cairo/cairo/CVE-2019-6461.patch
+++ /dev/null
@@ -1,19 +0,0 @@
1There is a potential infinite-loop in function _arc_error_normalized().
2
3CVE: CVE-2019-6461
4Upstream-Status: Pending
5Signed-off-by: Ross Burton <ross.burton@intel.com>
6
7diff --git a/src/cairo-arc.c b/src/cairo-arc.c
8index 390397bae..f9249dbeb 100644
9--- a/src/cairo-arc.c
10+++ b/src/cairo-arc.c
11@@ -99,7 +99,7 @@ _arc_max_angle_for_tolerance_normalized (double tolerance)
12 do {
13 angle = M_PI / i++;
14 error = _arc_error_normalized (angle);
15- } while (error > tolerance);
16+ } while (error > tolerance && error > __DBL_EPSILON__);
17
18 return angle;
19 }
diff --git a/meta/recipes-graphics/cairo/cairo/CVE-2019-6462.patch b/meta/recipes-graphics/cairo/cairo/CVE-2019-6462.patch
deleted file mode 100644
index 4e4598c5b5..0000000000
--- a/meta/recipes-graphics/cairo/cairo/CVE-2019-6462.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1There is an assertion in function _cairo_arc_in_direction().
2
3CVE: CVE-2019-6462
4Upstream-Status: Pending
5Signed-off-by: Ross Burton <ross.burton@intel.com>
6
7diff --git a/src/cairo-arc.c b/src/cairo-arc.c
8index 390397bae..1bde774a4 100644
9--- a/src/cairo-arc.c
10+++ b/src/cairo-arc.c
11@@ -186,7 +186,8 @@ _cairo_arc_in_direction (cairo_t *cr,
12 if (cairo_status (cr))
13 return;
14
15- assert (angle_max >= angle_min);
16+ if (angle_max < angle_min)
17+ return;
18
19 if (angle_max - angle_min > 2 * M_PI * MAX_FULL_CIRCLES) {
20 angle_max = fmod (angle_max - angle_min, 2 * M_PI);
diff --git a/meta/recipes-graphics/cairo/cairo/cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff b/meta/recipes-graphics/cairo/cairo/cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff
index 7aaad2eedd..6c761bf2a7 100644
--- a/meta/recipes-graphics/cairo/cairo/cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff
+++ b/meta/recipes-graphics/cairo/cairo/cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff
@@ -3,7 +3,7 @@ Cairo: Fix Denial-of-Service Attack due to Logical Problem in Program
3https://bugs.freedesktop.org/show_bug.cgi?id=100763 3https://bugs.freedesktop.org/show_bug.cgi?id=100763
4 4
5CVE: CVE-2017-7475 5CVE: CVE-2017-7475
6Upstream-Status: Submitted 6Upstream-Status: Submitted [https://gitlab.freedesktop.org/cairo/cairo/-/issues/80]
7 7
8Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com> 8Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
9 9
diff --git a/meta/recipes-graphics/cairo/cairo_1.16.0.bb b/meta/recipes-graphics/cairo/cairo_1.16.0.bb
deleted file mode 100644
index 68f993d7ca..0000000000
--- a/meta/recipes-graphics/cairo/cairo_1.16.0.bb
+++ /dev/null
@@ -1,98 +0,0 @@
1SUMMARY = "The Cairo 2D vector graphics library"
2DESCRIPTION = "Cairo is a multi-platform library providing anti-aliased \
3vector-based rendering for multiple target backends. Paths consist \
4of line segments and cubic splines and can be rendered at any width \
5with various join and cap styles. All colors may be specified with \
6optional translucence (opacity/alpha) and combined using the \
7extended Porter/Duff compositing algebra as found in the X Render \
8Extension."
9HOMEPAGE = "http://cairographics.org"
10BUGTRACKER = "http://bugs.freedesktop.org"
11SECTION = "libs"
12
13LICENSE = "(MPL-1.1 | LGPLv2.1) & GPLv3+"
14LICENSE_${PN} = "MPL-1.1 | LGPLv2.1"
15LICENSE_${PN}-dev = "MPL-1.1 | LGPLv2.1"
16LICENSE_${PN}-doc = "MPL-1.1 | LGPLv2.1"
17LICENSE_${PN}-gobject = "MPL-1.1 | LGPLv2.1"
18LICENSE_${PN}-script-interpreter = "MPL-1.1 | LGPLv2.1"
19LICENSE_${PN}-perf-utils = "GPLv3+"
20
21LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77"
22
23DEPENDS = "fontconfig glib-2.0 libpng pixman zlib"
24
25SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \
26 file://cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff \
27 file://CVE-2018-19876.patch \
28 file://CVE-2019-6461.patch \
29 file://CVE-2019-6462.patch \
30 "
31
32SRC_URI[md5sum] = "f19e0353828269c22bd72e271243a552"
33SRC_URI[sha256sum] = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331"
34
35inherit autotools pkgconfig upstream-version-is-even gtk-doc multilib_script
36
37MULTILIB_SCRIPTS = "${PN}-perf-utils:${bindir}/cairo-trace"
38
39X11DEPENDS = "virtual/libx11 libsm libxrender libxext"
40
41PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)} \
42 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)} \
43 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)} \
44 trace"
45PACKAGECONFIG_class-native = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)}"
46PACKAGECONFIG_class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)}"
47
48PACKAGECONFIG[x11] = "--with-x=yes -enable-xlib,--with-x=no --disable-xlib,${X11DEPENDS}"
49PACKAGECONFIG[xcb] = "--enable-xcb,--disable-xcb,libxcb"
50PACKAGECONFIG[directfb] = "--enable-directfb=yes,,directfb"
51PACKAGECONFIG[valgrind] = "--enable-valgrind=yes,--disable-valgrind,valgrind"
52PACKAGECONFIG[egl] = "--enable-egl=yes,--disable-egl,virtual/egl"
53PACKAGECONFIG[glesv2] = "--enable-glesv2,--disable-glesv2,virtual/libgles2"
54PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl"
55PACKAGECONFIG[trace] = "--enable-trace,--disable-trace"
56
57EXTRA_OECONF += " \
58 ${@bb.utils.contains('TARGET_FPU', 'soft', '--disable-some-floating-point', '', d)} \
59 --enable-tee \
60"
61
62# We don't depend on binutils so we need to disable this
63export ac_cv_lib_bfd_bfd_openr="no"
64# Ensure we don't depend on LZO
65export ac_cv_lib_lzo2_lzo2a_decompress="no"
66
67do_install_append () {
68 rm -rf ${D}${bindir}/cairo-sphinx
69 rm -rf ${D}${libdir}/cairo/cairo-fdr*
70 rm -rf ${D}${libdir}/cairo/cairo-sphinx*
71 rm -rf ${D}${libdir}/cairo/.debug/cairo-fdr*
72 rm -rf ${D}${libdir}/cairo/.debug/cairo-sphinx*
73 [ ! -d ${D}${bindir} ] ||
74 rmdir -p --ignore-fail-on-non-empty ${D}${bindir}
75 [ ! -d ${D}${libdir}/cairo ] ||
76 rmdir -p --ignore-fail-on-non-empty ${D}${libdir}/cairo
77}
78
79PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils"
80
81SUMMARY_cairo-gobject = "The Cairo library GObject wrapper library"
82DESCRIPTION_cairo-gobject = "A GObject wrapper library for the Cairo API."
83
84SUMMARY_cairo-script-interpreter = "The Cairo library script interpreter"
85DESCRIPTION_cairo-script-interpreter = "The Cairo script interpreter implements \
86CairoScript. CairoScript is used by tracing utilities to enable the ability \
87to replay rendering."
88
89DESCRIPTION_cairo-perf-utils = "The Cairo library performance utilities"
90
91FILES_${PN} = "${libdir}/libcairo.so.*"
92FILES_${PN}-gobject = "${libdir}/libcairo-gobject.so.*"
93FILES_${PN}-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*"
94FILES_${PN}-perf-utils = "${bindir}/cairo-trace* ${libdir}/cairo/*.la ${libdir}/cairo/libcairo-trace.so"
95
96BBCLASSEXTEND = "native nativesdk"
97
98UPSTREAM_CHECK_REGEX = "cairo-(?P<pver>\d+(\.\d+)+).tar.xz"
diff --git a/meta/recipes-graphics/cairo/cairo_1.18.0.bb b/meta/recipes-graphics/cairo/cairo_1.18.0.bb
new file mode 100644
index 0000000000..4c97e973d0
--- /dev/null
+++ b/meta/recipes-graphics/cairo/cairo_1.18.0.bb
@@ -0,0 +1,86 @@
1SUMMARY = "The Cairo 2D vector graphics library"
2DESCRIPTION = "Cairo is a multi-platform library providing anti-aliased \
3vector-based rendering for multiple target backends. Paths consist \
4of line segments and cubic splines and can be rendered at any width \
5with various join and cap styles. All colors may be specified with \
6optional translucence (opacity/alpha) and combined using the \
7extended Porter/Duff compositing algebra as found in the X Render \
8Extension."
9HOMEPAGE = "http://cairographics.org"
10BUGTRACKER = "https://gitlab.freedesktop.org/cairo/cairo/-/issues"
11SECTION = "libs"
12
13LICENSE = "(MPL-1.1 | LGPL-2.1-only) & GPL-3.0-or-later"
14LICENSE:${PN} = "MPL-1.1 | LGPL-2.1-only"
15LICENSE:${PN}-dev = "MPL-1.1 | LGPL-2.1-only"
16LICENSE:${PN}-doc = "MPL-1.1 | LGPL-2.1-only"
17LICENSE:${PN}-gobject = "MPL-1.1 | LGPL-2.1-only"
18LICENSE:${PN}-script-interpreter = "MPL-1.1 | LGPL-2.1-only"
19LICENSE:${PN}-perf-utils = "GPL-3.0-or-later"
20# Adapt the licenses for cairo-dbg and cairo-src depending on whether
21# cairo-trace is being built.
22LICENSE:${PN}-dbg = "(MPL-1.1 | LGPL-2.1-only)${@bb.utils.contains('PACKAGECONFIG', 'trace', ' & GPL-3.0-or-later', '', d)}"
23LICENSE:${PN}-src = "(MPL-1.1 | LGPL-2.1-only)${@bb.utils.contains('PACKAGECONFIG', 'trace', ' & GPL-3.0-or-later', '', d)}"
24
25LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77 \
26 ${@bb.utils.contains('PACKAGECONFIG', 'trace', 'file://util/cairo-trace/COPYING-GPL-3;md5=d32239bcb673463ab874e80d47fae504', '', d)}"
27
28
29DEPENDS = "fontconfig freetype glib-2.0 libpng pixman zlib"
30
31SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \
32 file://cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff \
33 "
34
35SRC_URI[sha256sum] = "243a0736b978a33dee29f9cca7521733b78a65b5418206fef7bd1c3d4cf10b64"
36
37inherit meson pkgconfig upstream-version-is-even gtk-doc multilib_script
38
39# if qemu usermode isn't available, this value needs to be set statically
40# (otherwise it's determinted by running a small target executable with qemu)
41do_write_config:append() {
42 cat >${WORKDIR}/cairo.cross <<EOF
43[properties]
44ipc_rmid_deferred_release = 'true'
45EOF
46}
47EXTRA_OEMESON:append:class-nativesdk = "${@' --cross-file ${WORKDIR}/cairo.cross' if d.getVar('EXEWRAPPER_ENABLED') == 'False' else ''}"
48EXTRA_OEMESON:append:class-target = "${@' --cross-file ${WORKDIR}/cairo.cross' if d.getVar('EXEWRAPPER_ENABLED') == 'False' else ''}"
49
50GTKDOC_MESON_OPTION = "gtk_doc"
51
52MULTILIB_SCRIPTS = "${PN}-perf-utils:${bindir}/cairo-trace"
53
54PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xlib xcb', '', d)} trace"
55PACKAGECONFIG[xlib] = "-Dxlib=enabled,-Dxlib=disabled,virtual/libx11 libxrender libxext"
56PACKAGECONFIG[xcb] = "-Dxcb=enabled,-Dxcb=disabled,libxcb"
57# cairo-trace is GPLv3 so add an option to remove it
58PACKAGECONFIG[trace] = ""
59
60do_install:append () {
61 if ! ${@bb.utils.contains('PACKAGECONFIG', 'trace', 'true', 'false', d)}; then
62 rm ${D}${bindir}/cairo-trace ${D}${libdir}/cairo/libcairo-trace.so
63 rmdir --ignore-fail-on-non-empty ${D}${bindir} ${D}${libdir}/cairo
64 fi
65}
66
67PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils"
68
69SUMMARY:cairo-gobject = "The Cairo library GObject wrapper library"
70DESCRIPTION:cairo-gobject = "A GObject wrapper library for the Cairo API."
71
72SUMMARY:cairo-script-interpreter = "The Cairo library script interpreter"
73DESCRIPTION:cairo-script-interpreter = "The Cairo script interpreter implements \
74CairoScript. CairoScript is used by tracing utilities to enable the ability \
75to replay rendering."
76
77DESCRIPTION:cairo-perf-utils = "The Cairo library performance utilities"
78
79FILES:${PN} = "${libdir}/libcairo.so.*"
80FILES:${PN}-gobject = "${libdir}/libcairo-gobject.so.*"
81FILES:${PN}-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*"
82FILES:${PN}-perf-utils = "${bindir}/cairo-* ${libdir}/cairo/libcairo-trace.so ${libdir}/cairo/libcairo-fdr.so"
83
84BBCLASSEXTEND = "native nativesdk"
85
86UPSTREAM_CHECK_REGEX = "cairo-(?P<pver>\d+(\.\d+)+).tar.xz"
diff --git a/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.301.bb b/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.303.1.bb
index 8dc4ceb399..a3a69ae49c 100644
--- a/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.301.bb
+++ b/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.303.1.bb
@@ -11,12 +11,8 @@ LICENSE = "OFL-1.1 & Apache-2.0"
11LIC_FILES_CHKSUM = "file://COPYING;md5=fb1ef92b6909969a472a6ea3c4e99cb7" 11LIC_FILES_CHKSUM = "file://COPYING;md5=fb1ef92b6909969a472a6ea3c4e99cb7"
12 12
13inherit gnomebase meson allarch fontcache pkgconfig 13inherit gnomebase meson allarch fontcache pkgconfig
14SRC_URI[archive.sha256sum] = "3d35db0ac03f9e6b0d5a53577591b714238985f4cfc31a0aa17f26cd74675e83" 14SRC_URI[archive.sha256sum] = "f9463a0659c63e57e381fdd753cf1929225395c5b49135989424761830530411"
15
16# remove at next version upgrade or when output changes
17PR = "r1"
18HASHEQUIV_HASH_VERSION .= ".2"
19 15
20EXTRA_OEMESON += "-Duseprebuilt=true -Dbuildappstream=false" 16EXTRA_OEMESON += "-Duseprebuilt=true -Dbuildappstream=false"
21 17
22FILES_${PN} = "${datadir}/fonts ${datadir}/fontconfig" 18FILES:${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 @@
1SUMMARY = "Graphics library for creating hardware-accelerated user interfaces"
2DESCRIPTION = "Clutter is an Open GL based interactive canvas library, \
3designed for creating fast, mainly 2D single window applications such as media \
4box UIs, presentations, kiosk style applications and so on."
5HOMEPAGE = "http://www.clutter-project.org/"
6LICENSE = "LGPLv2.1+"
7
8inherit clutter ptest-gnome features_check upstream-version-is-even gobject-introspection
9# depends on cogl-1.0 which needs opengl
10REQUIRED_DISTRO_FEATURES ?= "opengl"
11
12DEPENDS = "pango glib-2.0 json-glib atk udev cogl-1.0"
13PACKAGE_BEFORE_PN += "${PN}-examples"
14AUTOTOOLS_AUXDIR = "${S}/build-aux"
15
16EDEPENDS_X11 = "virtual/libx11 libxi libxfixes"
17EDEPENDS_GLX = "virtual/libgl"
18EDEPENDS_EGL = "virtual/egl"
19EDEPENDS_WAYLAND = "wayland libxkbcommon gdk-pixbuf"
20
21EDEPENDS_EVDEV = "libxkbcommon"
22ERDEPENDS_EVDEV = "xkeyboard-config"
23
24# Disable pretty much everything, override in platform specific set up
25EXTRA_OECONF += "--disable-quartz-backend \
26 --disable-win32-backend \
27 --disable-cex100-backend \
28 --disable-tslib-input \
29 "
30
31PACKAGECONFIG[gdk] = "--enable-gdk-backend,--disable-gdk-backend,gtk+3"
32PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,${EDEPENDS_X11}"
33PACKAGECONFIG[glx] = ",,${EDEPENDS_X11} ${EDEPENDS_GLX}"
34PACKAGECONFIG[egl] = "--enable-egl-backend,--disable-egl-backend,${EDEPENDS_EGL}"
35PACKAGECONFIG[evdev] = "--enable-evdev-input,--disable-evdev-input,${EDEPENDS_EVDEV},${ERDEPENDS_EVDEV}"
36PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,${EDEPENDS_WAYLAND}"
37PACKAGECONFIG[wayland-compositor] = "--enable-wayland-compositor,--disable-wayland-compositor,wayland"
38
39# Default configuration, distros might want to override
40PACKAGECONFIG ??= "egl gdk \
41 ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
42 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11', '', d)}"
43
44FILES_${PN}-examples = "${libdir}/clutter/examples"
45
46do_configure_prepend() {
47 # see https://bugzilla.gnome.org/show_bug.cgi?id=661128 for this
48 touch -t 200001010000 ${S}/po/clutter-1.0.pot
49}
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 @@
1From 3a0404dfbc65c6a864e01d1200a48074e19d5def Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 2 Sep 2016 14:28:38 +0300
4Subject: [PATCH] Remove clutter.types as it is build configuration-specific.
5
6Upstream-Status: Pending
7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
8---
9 doc/reference/clutter.types | 122 --------------------------------------------
10 1 file changed, 122 deletions(-)
11 delete mode 100644 doc/reference/clutter.types
12
13diff --git a/doc/reference/clutter.types b/doc/reference/clutter.types
14deleted file mode 100644
15index 0037acc..0000000
16--- a/doc/reference/clutter.types
17+++ /dev/null
18@@ -1,122 +0,0 @@
19-cally_actor_get_type
20-cally_clone_get_type
21-cally_group_get_type
22-cally_rectangle_get_type
23-cally_root_get_type
24-cally_stage_get_type
25-cally_text_get_type
26-cally_texture_get_type
27-cally_util_get_type
28-clutter_action_get_type
29-clutter_actor_box_get_type
30-clutter_actor_get_type
31-clutter_actor_meta_get_type
32-clutter_align_constraint_get_type
33-clutter_alpha_get_type
34-clutter_animatable_get_type
35-clutter_animation_get_type
36-clutter_animator_get_type
37-clutter_animator_key_get_type
38-clutter_backend_get_type
39-clutter_behaviour_depth_get_type
40-clutter_behaviour_ellipse_get_type
41-clutter_behaviour_get_type
42-clutter_behaviour_opacity_get_type
43-clutter_behaviour_path_get_type
44-clutter_behaviour_rotate_get_type
45-clutter_behaviour_scale_get_type
46-clutter_bin_layout_get_type
47-clutter_bind_constraint_get_type
48-clutter_binding_pool_get_type
49-clutter_blur_effect_get_type
50-clutter_box_get_type
51-clutter_box_layout_get_type
52-clutter_brightness_contrast_effect_get_type
53-clutter_cairo_texture_get_type
54-clutter_canvas_get_type
55-clutter_child_meta_get_type
56-clutter_click_action_get_type
57-clutter_clip_node_get_type
58-clutter_clone_get_type
59-clutter_color_get_type
60-clutter_color_node_get_type
61-clutter_colorize_effect_get_type
62-clutter_constraint_get_type
63-clutter_container_get_type
64-clutter_content_get_type
65-clutter_deform_effect_get_type
66-clutter_desaturate_effect_get_type
67-clutter_device_manager_get_type
68-clutter_drag_action_get_type
69-clutter_drop_action_get_type
70-clutter_effect_get_type
71-clutter_event_get_type
72-clutter_event_sequence_get_type
73-clutter_fixed_layout_get_type
74-clutter_flow_layout_get_type
75-clutter_fog_get_type
76-clutter_geometry_get_type
77-clutter_gesture_action_get_type
78-clutter_glx_texture_pixmap_get_type
79-clutter_grid_layout_get_type
80-clutter_group_get_type
81-clutter_image_get_type
82-clutter_input_device_get_type
83-clutter_interval_get_type
84-clutter_keyframe_transition_get_type
85-clutter_knot_get_type
86-clutter_layout_manager_get_type
87-clutter_layout_meta_get_type
88-clutter_list_model_get_type
89-clutter_margin_get_type
90-clutter_media_get_type
91-clutter_model_get_type
92-clutter_model_iter_get_type
93-clutter_offscreen_effect_get_type
94-clutter_page_turn_effect_get_type
95-clutter_paint_node_get_type
96-clutter_paint_volume_get_type
97-clutter_pan_action_get_type
98-clutter_param_color_get_type
99-clutter_param_fixed_get_type
100-clutter_param_units_get_type
101-clutter_path_constraint_get_type
102-clutter_path_get_type
103-clutter_path_node_get_type
104-clutter_perspective_get_type
105-clutter_pipeline_node_get_type
106-clutter_point_get_type
107-clutter_property_transition_get_type
108-clutter_rect_get_type
109-clutter_rectangle_get_type
110-clutter_rotate_action_get_type
111-clutter_score_get_type
112-clutter_script_get_type
113-clutter_scriptable_get_type
114-clutter_scroll_actor_get_type
115-clutter_settings_get_type
116-clutter_shader_effect_get_type
117-clutter_shader_float_get_type
118-clutter_shader_get_type
119-clutter_shader_int_get_type
120-clutter_shader_matrix_get_type
121-clutter_size_get_type
122-clutter_snap_constraint_get_type
123-clutter_stage_get_type
124-clutter_stage_manager_get_type
125-clutter_state_get_type
126-clutter_state_key_get_type
127-clutter_swipe_action_get_type
128-clutter_table_layout_get_type
129-clutter_tap_action_get_type
130-clutter_text_buffer_get_type
131-clutter_text_get_type
132-clutter_text_node_get_type
133-clutter_texture_get_type
134-clutter_texture_node_get_type
135-clutter_timeline_get_type
136-clutter_transition_get_type
137-clutter_transition_group_get_type
138-clutter_units_get_type
139-clutter_vertex_get_type
140-clutter_zoom_action_get_type
141--
1422.9.3
143
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 @@
1Install the examples to $libdir/clutter/.
2
3Signed-off-by: Ross Burton <ross.burton@intel.com>
4Upstream-Status: Inappropriate
5
6Index: clutter-1.26.2/examples/Makefile.am
7===================================================================
8--- clutter-1.26.2.orig/examples/Makefile.am
9+++ clutter-1.26.2/examples/Makefile.am
10@@ -33,7 +33,8 @@ AM_CPPFLAGS = \
11 -I$(top_srcdir)/clutter \
12 -I$(top_builddir)/clutter
13
14-noinst_PROGRAMS = $(all_examples)
15+exampledir = $(pkglibdir)/examples
16+example_PROGRAMS = $(all_examples)
17
18 EXTRA_DIST = redhand.png
19
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 @@
1From d6ceb5a44b28e0e50ede22b84984d8516897de4b Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Mon, 27 Apr 2015 20:12:33 +0300
4Subject: [PATCH] Run installed tests with tap output
5
6Configure output from installed-tests to be TAP compliant such that
7gnome-desktop-testing-runner properly interprets the results.
8
9Upstream-Status: Pending
10
11Signed-off-by: Tim Orling <TicoTimo@gmail.com>
12
13---
14 build-aux/autotools/glib-tap.mk | 3 ++-
15 1 file changed, 2 insertions(+), 1 deletion(-)
16
17diff --git a/build-aux/autotools/glib-tap.mk b/build-aux/autotools/glib-tap.mk
18index a4f0dad..51cfa31 100644
19--- a/build-aux/autotools/glib-tap.mk
20+++ b/build-aux/autotools/glib-tap.mk
21@@ -127,7 +127,8 @@ installed_test_meta_DATA = $(installed_testcases:=.test)
22 %.test: %$(EXEEXT) Makefile
23 $(AM_V_GEN) (echo '[Test]' > $@.tmp; \
24 echo 'Type=session' >> $@.tmp; \
25- echo 'Exec=env G_ENABLE_DIAGNOSTIC=0 CLUTTER_ENABLE_DIAGNOSTIC=0 $(installed_testdir)/$<' >> $@.tmp; \
26+ echo 'Exec=env G_ENABLE_DIAGNOSTIC=0 CLUTTER_ENABLE_DIAGNOSTIC=0 $(installed_testdir)/$< --tap' >> $@.tmp; \
27+ echo 'Output=TAP' >> $@.tmp; \
28 mv $@.tmp $@)
29
30 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 @@
1#! /bin/sh
2
3gnome-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 @@
1require clutter-1.0.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
4
5SRC_URI[archive.md5sum] = "624dd776a5159de0267587b1df6b97b2"
6SRC_URI[archive.sha256sum] = "8b48fac159843f556d0a6be3dbfc6b083fc6d9c58a20a49a6b4919ab4263c4e6"
7SRC_URI += "file://install-examples.patch \
8 file://run-installed-tests-with-tap-output.patch \
9 file://0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch \
10 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 73315c97ec..0000000000
--- a/meta/recipes-graphics/clutter/clutter-gst-3.0.inc
+++ /dev/null
@@ -1,23 +0,0 @@
1SUMMARY = "GStreamer integration library for Clutter"
2DESCRIPTION = "Clutter-Gst is an integration library for using GStreamer with Clutter. \
3It provides a GStreamer sink to upload frames to GL and an actor that \
4implements the ClutterGstPlayer interface using playbin."
5HOMEPAGE = "http://www.clutter-project.org/"
6BUGTRACKER = "https://gitlab.gnome.org/GNOME/clutter-gst/-/issues"
7LICENSE = "LGPLv2+"
8
9inherit clutter features_check upstream-version-is-even gobject-introspection
10# depends on clutter-1.0 which depends on cogl-1.0
11REQUIRED_DISTRO_FEATURES ?= "opengl"
12
13export GST_PLUGIN_SCANNER_1_0="${S}/gst-plugin-scanner-dummy"
14
15SRC_URI += "file://0001-Install-example-binary-needed-for-core-image-clutter.patch"
16
17DEPENDS = "gstreamer1.0-plugins-base gstreamer1.0-plugins-bad clutter-1.0 libgudev"
18RDEPENDS_${PN} += "gstreamer1.0-meta-base"
19PACKAGES =+ "${PN}-examples"
20
21FILES_${PN} += "${libdir}/gstreamer-1.0/lib*.so"
22FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
23FILES_${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 @@
1From d77c711277bf075ce0545c19b322f040c49c778a Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Thu, 30 Apr 2015 12:19:13 +0300
4Subject: [PATCH] Install example binary needed for core-image-clutter
5
6Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
7
8Upstream-Status: Inappropriate [configuration]
9
10Imported from clutter-gst-1.8 package, git://git.openembedded.org/openembedded,
11commit ae28ee3f7a060b9e0d13154a84f2444a98490b5b, updated for clutter-gst 3.0
12
13Signed-off-by: Tomas Frydrych <tomas@sleepfive.com>
14Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
15---
16 examples/Makefile.am | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/examples/Makefile.am b/examples/Makefile.am
20index bfbc1b5..09655e3 100644
21--- a/examples/Makefile.am
22+++ b/examples/Makefile.am
23@@ -1,6 +1,6 @@
24 NULL = #
25
26-noinst_PROGRAMS = camera-player video-player video-sink video-sink-navigation video-content
27+bin_PROGRAMS = camera-player video-player video-sink video-sink-navigation video-content
28
29 AM_CPPFLAGS = -I$(top_srcdir) \
30 $(MAINTAINER_CFLAGS) \
31--
322.1.4
33
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 @@
1require clutter-gst-3.0.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
4 file://clutter-gst/clutter-gst.h;beginline=1;endline=24;md5=95baacba194e814c110ea3bdf25ddbf4"
5
6SRC_URI[archive.md5sum] = "2bf9d7ca146c9d71e86c45cd00e9a28e"
7SRC_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 9a28b5219b..0000000000
--- a/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc
+++ /dev/null
@@ -1,23 +0,0 @@
1SUMMARY = "Library for embedding a Clutter canvas in a GTK+ application"
2DESCRIPTION = "Clutter-GTK is a library providing facilities to integrate Clutter into GTK+ \
3applications and vice versa. It provides a GTK+ widget, GtkClutterEmbed, for embedding the \
4a Clutter stage into any GtkContainer; and GtkClutterActor, a Clutter \
5actor for embedding any GtkWidget inside a Clutter stage."
6HOMEPAGE = "http://www.clutter-project.org/"
7BUGTRACKER = "https://gitlab.gnome.org/GNOME/clutter/-/issues"
8LICENSE = "LGPLv2+"
9
10CLUTTERBASEBUILDCLASS = "meson"
11inherit clutter features_check upstream-version-is-even gobject-introspection gtk-doc
12
13# depends on clutter-1.0 which depends on cogl-1.0
14REQUIRED_DISTRO_FEATURES ?= "opengl"
15# depends on gtk+3
16ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
17
18DEPENDS = "clutter-1.0 gtk+3"
19PACKAGES =+ "${PN}-examples"
20
21GTKDOC_MESON_OPTION = "enable_docs"
22
23GIR_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 @@
1From 7233883c6bd4e80c0e91b29b5c76fe798023e9fe Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Mon, 11 Feb 2019 16:41:13 +0100
4Subject: [PATCH] Add a config variable for enabling/disabling introspection
5
6Upstream-Status: Pending
7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
8---
9 clutter-gtk/meson.build | 2 +-
10 meson_options.txt | 4 ++++
11 2 files changed, 5 insertions(+), 1 deletion(-)
12
13diff --git a/clutter-gtk/meson.build b/clutter-gtk/meson.build
14index 5d6847d..5d934b6 100644
15--- a/clutter-gtk/meson.build
16+++ b/clutter-gtk/meson.build
17@@ -49,7 +49,7 @@ clutter_gtk_dep = declare_dependency(link_with: clutter_gtk,
18 dependencies: [ mathlib_dep, clutter_dep, gtk_dep ],
19 include_directories: include_directories('.'))
20
21-if not meson.is_cross_build()
22+if get_option('enable_gi')
23 gnome.generate_gir(clutter_gtk,
24 sources: clutter_gtk_headers + clutter_gtk_sources,
25 namespace: 'GtkClutter',
26diff --git a/meson_options.txt b/meson_options.txt
27index aaf59f1..b7e51c3 100644
28--- a/meson_options.txt
29+++ b/meson_options.txt
30@@ -2,3 +2,7 @@ option('enable_docs',
31 type: 'boolean',
32 value: false,
33 description: 'Enable generating the API reference (depends on GTK-Doc)')
34+option('enable_gi',
35+ type: 'boolean',
36+ value: false,
37+ 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 @@
1require clutter-gtk-1.0.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
4
5SRC_URI += " file://0001-Add-a-config-variable-for-enabling-disabling-introsp.patch"
6SRC_URI[archive.md5sum] = "b363ac9878e2337be887b8ee9e1da00e"
7SRC_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 @@
1SUMMARY = "Modern 3D graphics API with associated utility APIs"
2DESCRIPTION = "Cogl is a small open source library for using 3D graphics \
3hardware for rendering. The API departs from the flat state machine style of \
4OpenGL and is designed to make it easy to write orthogonal components that \
5can render without stepping on each others toes."
6HOMEPAGE = "https://gitlab.gnome.org/GNOME/cogl"
7LICENSE = "MIT"
8
9inherit clutter features_check upstream-version-is-even gobject-introspection
10# cogl-1.0 needs opengl to build
11REQUIRED_DISTRO_FEATURES ?= "opengl"
12
13DEPENDS = "glib-2.0 gdk-pixbuf"
14PACKAGES =+ "${PN}-examples \
15 libcogl libcogl-gles2 libcogl-pango libcogl-path \
16 "
17AUTOTOOLS_AUXDIR = "${S}/build"
18
19# Extra DEPENDS for PACKAGECONFIG
20EDEPENDS_GL = "virtual/libgl libdrm"
21EDEPENDS_GLES2 = "virtual/libgles2"
22EDEPENDS_KMS = "libdrm virtual/egl"
23EDEPENDS_EGL = "virtual/egl"
24EDEPENDS_X11 = "virtual/libx11 libxcomposite libxdamage libxfixes libxrandr"
25EDEPENDS_WAYLAND = "virtual/egl virtual/libgles2 wayland"
26
27# Extra RDEPENDS for PACKAGECONFIG
28# This has to be explictly listed, because cogl dlopens the backends
29ERDEPENDS_GL = "libgl"
30ERDEPENDS_GLES2 = "libgles2"
31
32# GLESv1 is rarely tested, so disable it
33EXTRA_OECONF += "--enable-examples-install \
34 --enable-debug \
35 --disable-gles1 \
36 --disable-cairo \
37 "
38DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized"
39
40# OpenGL/GLX
41PACKAGECONFIG[glx] = "--enable-gl --enable-glx,--disable-gl --disable-glx,${EDEPENDS_GL} ${EDEPENDS_X11},${ERDEPENDS_GL}"
42
43# GLESv2
44PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,${EDEPENDS_GLES2}, ${ERDEPENDS_GLES2}"
45
46# EGL backends
47PACKAGECONFIG[egl-kms] = "--enable-kms-egl-platform,--disable-kms-egl-platform,${EDEPENDS_KMS}"
48PACKAGECONFIG[egl-null] = "--enable-null-egl-platform,--disable-null-egl-platform"
49PACKAGECONFIG[egl-x11] = "--enable-xlib-egl-platform,--disable-xlib-egl-platform,${EDEPENDS_X11} ${EDEPENDS_EGL}"
50PACKAGECONFIG[egl-wayland] = "--enable-wayland-egl-platform,--disable-wayland-egl-platform,${EDEPENDS_WAYLAND}"
51
52# Wayland (server-side)
53PACKAGECONFIG[wayland-server] = "--enable-wayland-egl-server,--disable-wayland-egl-server,${EDEPENDS_WAYLAND}"
54
55# Support rendering text directly with Pango
56PACKAGECONFIG[cogl-pango] = "--enable-cogl-pango,--disable-cogl-pango,pango"
57
58# Respect the DISTRO_FEATURES to pull in GLX or Wayland as appropriate by
59# default.
60PACKAGECONFIG ??= "cogl-pango gles2 \
61 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'egl-wayland', '', d)} \
62 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx egl-x11', '', d)} \
63 "
64
65do_compile_prepend() {
66 export GIR_EXTRA_LIBS_PATH="${B}/cogl/.libs"
67}
68
69FILES_${PN} = ""
70FILES_${PN}-examples = "${bindir}/* ${datadir}/cogl/examples-data/*"
71FILES_libcogl = "${libdir}/libcogl${SOLIBS} ${libdir}/girepository-1.0/Cogl-*.typelib"
72FILES_libcogl-gles2 = "${libdir}/libcogl-gles2${SOLIBS}"
73FILES_libcogl-pango = "${libdir}/libcogl-pango${SOLIBS} ${libdir}/girepository-1.0/CoglPango*.typelib"
74
75FILES_libcogl-path = "${libdir}/libcogl-path${SOLIBS}"
76
77# For backwards compatibility after Debian-renaming
78RPROVIDES_libcogl = "cogl-1.0"
79RCONFLICTS_libcogl = "cogl-1.0"
80RREPLACES_libcogl = "cogl-1.0"
81
82RDEPENDS_${PN}-dev = "libcogl"
83
84COMPATIBLE_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 @@
1From bb9765a926588ebfe1eb324fbbe8fc22d419eebe Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Thu, 25 Jun 2020 11:27:40 +0000
4Subject: [PATCH] configure.ac: don't require eglmesaext.h
5
6E.g. the Vivante EGL implementation does not provide eglmesaext.h.
7
8The commit moves the check for header file existence outside of the
9check for existence of a egl packageconfig and makes the existence
10of eglmesaext.h optional.
11
12fixes commit fb1acfec ("Fix building against libglvnd-provided EGL headers")
13Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
14
15Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/28]
16Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
17---
18 configure.ac | 51 ++++++++++++++++++++++++++++++++-------------------
19 1 file changed, 32 insertions(+), 19 deletions(-)
20
21diff --git a/configure.ac b/configure.ac
22index b7ba95d..0d1d8de 100644
23--- a/configure.ac
24+++ b/configure.ac
25@@ -1212,22 +1212,6 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
26 PKG_CHECK_EXISTS([egl],
27 [COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES egl"],
28 [
29- AC_CHECK_HEADERS(
30- [EGL/egl.h],
31- [],
32- [AC_MSG_ERROR([Unable to locate required EGL headers])])
33- AC_CHECK_HEADERS(
34- [EGL/eglext.h],
35- [],
36- [AC_MSG_ERROR([Unable to locate required EGL headers])],
37- [#include <EGL/egl.h>])
38- AC_CHECK_HEADERS(
39- [EGL/eglmesaext.h],
40- [],
41- [AC_MSG_ERROR([Unable to locate required EGL headers])],
42- [#include <EGL/egl.h>
43-#include <EGL/eglext.h>])
44-
45 AC_CHECK_LIB(EGL, [eglInitialize],
46 [COGL_EXTRA_LDFLAGS="$COGL_EXTRA_LDFLAGS -lEGL"],
47 [AC_MSG_ERROR([Unable to locate required EGL library])])
48@@ -1236,9 +1220,38 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
49 ]
50 )
51
52- COGL_EGL_INCLUDES="#include <EGL/egl.h>
53-#include <EGL/eglext.h>
54-#include <EGL/eglmesaext.h>"
55+dnl Test for the existence of egl headers.
56+dnl egl*.h includes eglplatform.h which on __unix__ defaults to a X11 platform.
57+dnl In that case AC_CHECK_HEADERS failes if X11 headers are not available.
58+dnl Set the usual include guard define and, if the EGL implementation doesn't
59+dnl use that guard fall back to USE_OZONE and EGL_NO_X11 platforms which don't
60+dnl require additional headers.
61+ AC_CHECK_HEADERS(
62+ [EGL/egl.h],
63+ [COGL_EGL_INCLUDES="#include <EGL/egl.h>"],
64+ [AC_MSG_ERROR([Unable to locate required EGL headers])],
65+ [#define __egl_h_
66+ #define USE_OZONE
67+ #define EGL_NO_X11])
68+ AC_CHECK_HEADERS(
69+ [EGL/eglext.h],
70+ [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES
71+#include <EGL/eglext.h>"],
72+ [AC_MSG_ERROR([Unable to locate required EGL headers])],
73+ [#define __eglext_h_
74+ #define USE_OZONE
75+ #define EGL_NO_X11
76+$COGL_EGL_INCLUDES])
77+ AC_CHECK_HEADERS(
78+ [EGL/eglmesaext.h],
79+ [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES
80+#include <EGL/eglmesaext.h>"],
81+ [],
82+ [#define __eglmesaext_h_
83+#define USE_OZONE
84+#define EGL_NO_X11
85+$COGL_EGL_INCLUDES])
86+
87 AC_SUBST([COGL_EGL_INCLUDES])
88 ])
89
90--
912.20.1
92
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 @@
1require cogl-1.0.inc
2
3SRC_URI += "file://0001-configure.ac-don-t-require-eglmesaext.h.patch"
4SRC_URI[archive.sha256sum] = "a805b2b019184710ff53d0496f9f0ce6dcca420c141a0f4f6fcc02131581d759"
5
6LIC_FILES_CHKSUM = "file://COPYING;md5=1b1a508d91d25ca607c83f92f3e31c84"
diff --git a/meta/recipes-graphics/drm/libdrm/0001-meson-Also-search-for-rst2man.py.patch b/meta/recipes-graphics/drm/libdrm/0001-meson-Also-search-for-rst2man.py.patch
deleted file mode 100644
index 67fafd40c3..0000000000
--- a/meta/recipes-graphics/drm/libdrm/0001-meson-Also-search-for-rst2man.py.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From 4129a8c6911b6b0ef3665cb167da6b635c29614d Mon Sep 17 00:00:00 2001
2From: Wang Mingyu <wangmy@cn.fujitsu.com>
3Date: Mon, 8 Feb 2021 17:30:52 +0900
4Subject: [PATCH] meson: Also search for rst2man.py
5
6That's what upstream docutils installs by default.
7
8Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/drm/-/commit/62b9a3eee9bdaafa766e92d5bebeb4e59845c45a]
9
10Signed-off-by: Heiko Becker's avatarHeiko Becker <heirecka@exherbo.org>
11---
12 meson.build | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/meson.build b/meson.build
16index a4d8d70..07d2e08 100644
17--- a/meson.build
18+++ b/meson.build
19@@ -261,7 +261,7 @@ else
20 endif
21
22 with_man_pages = get_option('man-pages')
23-prog_rst2man = find_program('rst2man', required: with_man_pages == 'true')
24+prog_rst2man = find_program('rst2man', 'rst2man.py', required: with_man_pages == 'true')
25 with_man_pages = with_man_pages != 'false' and prog_rst2man.found()
26
27 config.set10('HAVE_VISIBILITY',
28--
292.25.1
30
diff --git a/meta/recipes-graphics/drm/libdrm_2.4.104.bb b/meta/recipes-graphics/drm/libdrm_2.4.104.bb
deleted file mode 100644
index ff869d6db9..0000000000
--- a/meta/recipes-graphics/drm/libdrm_2.4.104.bb
+++ /dev/null
@@ -1,61 +0,0 @@
1SUMMARY = "Userspace interface to the kernel DRM services"
2DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
3stands for \"Direct Rendering Manager\", which is the kernel portion of the \
4\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
5accelerated OpenGL drivers."
6HOMEPAGE = "http://dri.freedesktop.org"
7SECTION = "x11/base"
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
10PROVIDES = "drm"
11DEPENDS = "libpthread-stubs"
12
13SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \
14 file://0001-meson-Also-search-for-rst2man.py.patch \
15 "
16
17SRC_URI[sha256sum] = "d66ad8b5c2441015ac1333e40137bb803c3bde3612ff040286fcc12158ea1bcb"
18
19inherit meson pkgconfig manpages
20
21PACKAGECONFIG ??= "libkms intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv install-test-programs"
22PACKAGECONFIG[libkms] = "-Dlibkms=true,-Dlibkms=false"
23PACKAGECONFIG[intel] = "-Dintel=true,-Dintel=false,libpciaccess"
24PACKAGECONFIG[radeon] = "-Dradeon=true,-Dradeon=false"
25PACKAGECONFIG[amdgpu] = "-Damdgpu=true,-Damdgpu=false"
26PACKAGECONFIG[nouveau] = "-Dnouveau=true,-Dnouveau=false"
27PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=true,-Dvmwgfx=false"
28PACKAGECONFIG[omap] = "-Domap=true,-Domap=false"
29PACKAGECONFIG[exynos] = "-Dexynos=true,-Dexynos=false"
30PACKAGECONFIG[freedreno] = "-Dfreedreno=true,-Dfreedreno=false"
31PACKAGECONFIG[tegra] = "-Dtegra=true,-Dtegra=false"
32PACKAGECONFIG[vc4] = "-Dvc4=true,-Dvc4=false"
33PACKAGECONFIG[etnaviv] = "-Detnaviv=true,-Detnaviv=false"
34PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false"
35PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind"
36PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false"
37PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false"
38PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev"
39PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native python3-docutils-native"
40
41ALLOW_EMPTY_${PN}-drivers = "1"
42PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
43 ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
44 ${PN}-etnaviv"
45
46RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
47 ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
48 ${PN}-etnaviv"
49
50FILES_${PN}-tests = "${bindir}/*"
51FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
52FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
53FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*"
54FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
55FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
56FILES_${PN}-kms = "${libdir}/libkms*.so.*"
57FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
58FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids"
59FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
60
61BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/drm/libdrm_2.4.120.bb b/meta/recipes-graphics/drm/libdrm_2.4.120.bb
new file mode 100644
index 0000000000..18b3256843
--- /dev/null
+++ b/meta/recipes-graphics/drm/libdrm_2.4.120.bb
@@ -0,0 +1,59 @@
1SUMMARY = "Userspace interface to the kernel DRM services"
2DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
3stands for \"Direct Rendering Manager\", which is the kernel portion of the \
4\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
5accelerated OpenGL drivers."
6HOMEPAGE = "http://dri.freedesktop.org"
7SECTION = "x11/base"
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
10PROVIDES = "drm"
11DEPENDS = "libpthread-stubs"
12
13SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \
14 "
15
16SRC_URI[sha256sum] = "3bf55363f76c7250946441ab51d3a6cc0ae518055c0ff017324ab76cdefb327a"
17
18inherit meson pkgconfig manpages
19
20PACKAGECONFIG ??= "intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv tests install-test-programs"
21PACKAGECONFIG[intel] = "-Dintel=enabled,-Dintel=disabled,libpciaccess"
22PACKAGECONFIG[radeon] = "-Dradeon=enabled,-Dradeon=disabled"
23PACKAGECONFIG[amdgpu] = "-Damdgpu=enabled,-Damdgpu=disabled"
24PACKAGECONFIG[nouveau] = "-Dnouveau=enabled,-Dnouveau=disabled"
25PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=enabled,-Dvmwgfx=disabled"
26PACKAGECONFIG[omap] = "-Domap=enabled,-Domap=disabled"
27PACKAGECONFIG[exynos] = "-Dexynos=enabled,-Dexynos=disabled"
28PACKAGECONFIG[freedreno] = "-Dfreedreno=enabled,-Dfreedreno=disabled"
29PACKAGECONFIG[tegra] = "-Dtegra=enabled,-Dtegra=disabled"
30PACKAGECONFIG[vc4] = "-Dvc4=enabled,-Dvc4=disabled"
31PACKAGECONFIG[etnaviv] = "-Detnaviv=enabled,-Detnaviv=disabled"
32PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false"
33PACKAGECONFIG[valgrind] = "-Dvalgrind=enabled,-Dvalgrind=disabled,valgrind"
34PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false"
35PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=enabled,-Dcairo-tests=disabled"
36PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
37PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev"
38PACKAGECONFIG[manpages] = "-Dman-pages=enabled,-Dman-pages=disabled,libxslt-native xmlto-native python3-docutils-native"
39
40ALLOW_EMPTY:${PN}-drivers = "1"
41PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
42 ${PN}-intel ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
43 ${PN}-etnaviv"
44
45RRECOMMENDS:${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
46 ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
47 ${PN}-etnaviv"
48
49FILES:${PN}-tests = "${bindir}/*"
50FILES:${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
51FILES:${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
52FILES:${PN}-omap = "${libdir}/libdrm_omap.so.*"
53FILES:${PN}-intel = "${libdir}/libdrm_intel.so.*"
54FILES:${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
55FILES:${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
56FILES:${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids"
57FILES:${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
58
59BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb b/meta/recipes-graphics/fontconfig/fontconfig_2.15.0.bb
index d0da419ce0..b737447e47 100644
--- a/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb
+++ b/meta/recipes-graphics/fontconfig/fontconfig_2.15.0.bb
@@ -11,10 +11,10 @@ rasterize fonts."
11HOMEPAGE = "http://www.fontconfig.org" 11HOMEPAGE = "http://www.fontconfig.org"
12BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig" 12BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig"
13 13
14LICENSE = "MIT-style & MIT & PD" 14LICENSE = "MIT & MIT & PD"
15LIC_FILES_CHKSUM = "file://COPYING;md5=7a0449e9bc5370402a94c00204beca3d \ 15LIC_FILES_CHKSUM = "file://COPYING;md5=00252fd272bf2e722925613ad74cb6c7 \
16 file://src/fcfreetype.c;endline=45;md5=5d9513e3196a1fbfdfa94051c09dfc84 \ 16 file://src/fcfreetype.c;endline=45;md5=ef8702fbf3dc506715be8a9d69cb0252 \
17 file://src/fccache.c;beginline=1671;endline=1686;md5=0326cfeb4a7333dd4dd25fbbc4b9f27f" 17 "
18 18
19SECTION = "libs" 19SECTION = "libs"
20 20
@@ -24,38 +24,37 @@ SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \
24 file://revert-static-pkgconfig.patch \ 24 file://revert-static-pkgconfig.patch \
25 " 25 "
26 26
27SRC_URI[md5sum] = "690c6cb840a92fa8908cdf462d19ec66" 27SRC_URI[sha256sum] = "f5f359d6332861bd497570848fcb42520964a9e83d5e3abe397b6b6db9bcaaf4"
28SRC_URI[sha256sum] = "9f0d852b39d75fc655f9f53850eb32555394f36104a044bb2b2fc9e66dbbfa7f"
29 28
30UPSTREAM_CHECK_REGEX = "fontconfig-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" 29UPSTREAM_CHECK_REGEX = "fontconfig-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
31 30
32do_configure_prepend() { 31do_configure:prepend() {
33 # work around https://bugs.freedesktop.org/show_bug.cgi?id=101280 32 # work around https://bugs.freedesktop.org/show_bug.cgi?id=101280
34 rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf 33 rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf
35} 34}
36 35
37do_install_append_class-target() { 36do_install:append:class-target() {
38 # duplicate fc-cache for postinstall script 37 # duplicate fc-cache for postinstall script
39 mkdir -p ${D}${libexecdir} 38 mkdir -p ${D}${libexecdir}
40 ln ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache 39 ln ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache
41} 40}
42 41
43do_install_append_class-nativesdk() { 42do_install:append:class-nativesdk() {
44 # duplicate fc-cache for postinstall script 43 # duplicate fc-cache for postinstall script
45 mkdir -p ${D}${libexecdir} 44 mkdir -p ${D}${libexecdir}
46 ln ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache 45 ln ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache
47} 46}
48 47
49PACKAGES =+ "fontconfig-utils" 48PACKAGES =+ "fontconfig-utils"
50FILES_${PN} =+ "${datadir}/xml/*" 49FILES:${PN} =+ "${datadir}/xml/*"
51FILES_${PN}-dev += "${datadir}/gettext/*" 50FILES:${PN}-dev += "${datadir}/gettext/*"
52FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*" 51FILES:fontconfig-utils = "${bindir}/* ${libexecdir}/*"
53 52
54# Work around past breakage in debian.bbclass 53# Work around past breakage in debian.bbclass
55RPROVIDES_fontconfig-utils = "libfontconfig-utils" 54RPROVIDES:fontconfig-utils = "libfontconfig-utils"
56RREPLACES_fontconfig-utils = "libfontconfig-utils" 55RREPLACES:fontconfig-utils = "libfontconfig-utils"
57RCONFLICTS_fontconfig-utils = "libfontconfig-utils" 56RCONFLICTS:fontconfig-utils = "libfontconfig-utils"
58DEBIAN_NOAUTONAME_fontconfig-utils = "1" 57DEBIAN_NOAUTONAME:fontconfig-utils = "1"
59 58
60inherit autotools pkgconfig relative_symlinks gettext 59inherit autotools pkgconfig relative_symlinks gettext
61 60
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 @@
1Freetype think that it knows best about where libtool is, and explicitly the
2libtool autoconf macros telling it where to find the libtool script. Of course
3we prefix the script with the target triplet, so it's wrong. Fix this by
4removing the forced assignment, so the configure script's knowledge of where it
5put libtool is used.
6
7Upstream-Status: Pending
8Signed-off-by: Ross Burton <ross.burton@intel.com>
9
10--- freetype-2.6/builds/unix/unix-cc.in.orig 2016-01-07 19:21:45.244943479 +0000
11+++ freetype-2.6/builds/unix/unix-cc.in 2016-01-07 19:21:50.213112131 +0000
12@@ -19,1 +18,1 @@
13-LIBTOOL := $(FT_LIBTOOL_DIR)/libtool
14+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.13.2.bb
index 8462cd3511..4e7a0ad160 100644
--- a/meta/recipes-graphics/freetype/freetype_2.10.4.bb
+++ b/meta/recipes-graphics/freetype/freetype_2.13.2.bb
@@ -7,15 +7,14 @@ HOMEPAGE = "http://www.freetype.org/"
7BUGTRACKER = "https://savannah.nongnu.org/bugs/?group=freetype" 7BUGTRACKER = "https://savannah.nongnu.org/bugs/?group=freetype"
8SECTION = "libs" 8SECTION = "libs"
9 9
10LICENSE = "FreeType | GPLv2+" 10LICENSE = "(FTL | GPL-2.0-or-later) & MIT"
11LIC_FILES_CHKSUM = "file://docs/LICENSE.TXT;md5=4af6221506f202774ef74f64932878a1 \ 11LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=843b6efc16f6b1652ec97f89d5a516c0 \
12 file://docs/FTL.TXT;md5=9f37b4e6afa3fef9dba8932b16bd3f97 \ 12 file://docs/FTL.TXT;md5=9f37b4e6afa3fef9dba8932b16bd3f97 \
13 file://docs/GPLv2.TXT;md5=8ef380476f642c20ebf40fecb0add2ec" 13 file://docs/GPLv2.TXT;md5=8ef380476f642c20ebf40fecb0add2ec \
14 "
14 15
15SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BP}.tar.xz \ 16SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BP}.tar.xz"
16 file://use-right-libtool.patch \ 17SRC_URI[sha256sum] = "12991c4e55c506dd7f9b765933e62fd2be2e06d421505d7950a132e4f1bb484d"
17 "
18SRC_URI[sha256sum] = "86a854d8905b19698bbc8f23b860bc104246ce4854dcea8e3b0fb21284f75784"
19 18
20UPSTREAM_CHECK_REGEX = "freetype-(?P<pver>\d+(\.\d+)+)" 19UPSTREAM_CHECK_REGEX = "freetype-(?P<pver>\d+(\.\d+)+)"
21 20
@@ -39,7 +38,7 @@ EXTRA_OECONF = "CC_BUILD='${BUILD_CC}'"
39 38
40TARGET_CPPFLAGS += "-D_FILE_OFFSET_BITS=64" 39TARGET_CPPFLAGS += "-D_FILE_OFFSET_BITS=64"
41 40
42do_install_append() { 41do_install:append() {
43 oe_multilib_header freetype2/freetype/config/ftconfig.h 42 oe_multilib_header freetype2/freetype/config/ftconfig.h
44} 43}
45 44
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 @@
1Upstream-Status: Backport [767e0316450911f1158bd4f7fd8dcd066bae5c55]
2Signed-off-by: Ross Burton <ross.burton@arm.com>
3
4From 0ce0a85597db48a2fca619bd95e34af091e54ae8 Mon Sep 17 00:00:00 2001
5From: Ross Burton <ross.burton@arm.com>
6Date: Thu, 22 Jul 2021 16:31:11 +0100
7Subject: [PATCH] Fix build race in Makefile
8
9The current rule for the binaries is:
10
11glew.bin: glew.lib bin bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN)
12
13In parallel builds, all of those targets happen at the same time. This
14means that 'bin' can happen *after* 'bin/$(GLEWINFO.BIN)', which is a
15problem as the 'bin' target's responsibility is to create the directory
16that the other target writes into.
17
18Solve this by not having a separate 'create directory' target which is
19fundamentally racy, and simply mkdir in each target which writes into it.
20---
21 Makefile | 9 ++++-----
22 1 file changed, 4 insertions(+), 5 deletions(-)
23
24diff --git a/Makefile b/Makefile
25index d0e4614..04af44c 100644
26--- a/Makefile
27+++ b/Makefile
28@@ -171,21 +171,20 @@ VISUALINFO.BIN.OBJ := $(VISUALINFO.BIN.OBJ:.c=.o)
29 # Don't build glewinfo or visualinfo for NaCL, yet.
30
31 ifneq ($(filter nacl%,$(SYSTEM)),)
32-glew.bin: glew.lib bin
33+glew.bin: glew.lib
34 else
35-glew.bin: glew.lib bin bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN)
36+glew.bin: glew.lib bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN)
37 endif
38
39-bin:
40- mkdir bin
41-
42 bin/$(GLEWINFO.BIN): $(GLEWINFO.BIN.OBJ) $(LIB.SHARED.DIR)/$(LIB.SHARED)
43+ @mkdir -p $(dir $@)
44 $(CC) $(CFLAGS) -o $@ $(GLEWINFO.BIN.OBJ) $(BIN.LIBS)
45 ifneq ($(STRIP),)
46 $(STRIP) -x $@
47 endif
48
49 bin/$(VISUALINFO.BIN): $(VISUALINFO.BIN.OBJ) $(LIB.SHARED.DIR)/$(LIB.SHARED)
50+ @mkdir -p $(dir $@)
51 $(CC) $(CFLAGS) -o $@ $(VISUALINFO.BIN.OBJ) $(BIN.LIBS)
52 ifneq ($(STRIP),)
53 $(STRIP) -x $@
54--
552.25.1
56
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 @@
1Don't forcibly strip the binaries. 1Don't forcibly strip the binaries.
2 2
3Signed-off-by: Ross Burton <ross.burton@intel.com> 3Signed-off-by: Ross Burton <ross.burton@intel.com>
4Upstream-Status: Pending 4Upstream-Status: Backport [d7693eea09ac76c67f5f3aa538bb911ce2291e2c]
5 5
6diff --git a/Makefile b/Makefile 6diff --git a/Makefile b/Makefile
7index 6a9803c..170c0ce 100644 7index 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 @@
1We don't use the dist-* targets and hence DIST_DIR isn't used. The current code
2creates a new temp directory in /tmp/ for every invocation of make. Lets
3not do that.
4
5https://github.com/nigels-com/glew/issues/334
6
7Upstream-Status: Pending [a revised version would be needed for upstream]
8Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
9
10Index: glew-2.2.0/Makefile
11===================================================================
12--- glew-2.2.0.orig/Makefile
13+++ glew-2.2.0/Makefile
14@@ -56,7 +56,6 @@ DIST_SRC_ZIP ?= $(shell pwd)/$(DIST_NAME
15 DIST_SRC_TGZ ?= $(shell pwd)/$(DIST_NAME).tgz
16 DIST_WIN32 ?= $(shell pwd)/$(DIST_NAME)-win32.zip
17
18-DIST_DIR := $(shell mktemp -d /tmp/glew.XXXXXX)/$(DIST_NAME)
19
20 # To disable stripping of linked binaries either:
21 # - 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"
6LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ac251558de685c6b9478d89be3149c2" 6LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ac251558de685c6b9478d89be3149c2"
7 7
8SRC_URI = "${SOURCEFORGE_MIRROR}/project/glew/glew/${PV}/glew-${PV}.tgz \ 8SRC_URI = "${SOURCEFORGE_MIRROR}/project/glew/glew/${PV}/glew-${PV}.tgz \
9 file://0001-Fix-build-race-in-Makefile.patch \
10 file://notempdir.patch \
9 file://no-strip.patch" 11 file://no-strip.patch"
10 12
11SRC_URI[md5sum] = "3579164bccaef09e36c0af7f4fd5c7c7" 13SRC_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
index ef092f17a1..e6bb6ec8e3 100644
--- a/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch
+++ b/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch
@@ -1,4 +1,4 @@
1From 6692611126b40d499c94bbcc8e29604560262072 Mon Sep 17 00:00:00 2001 1From fc33f1cf032a15c07044ef932bc991c346d62d62 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com> 2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sun, 7 Feb 2021 01:30:39 +0000 3Date: Sun, 7 Feb 2021 01:30:39 +0000
4Subject: [PATCH] generate glslang pkg-config 4Subject: [PATCH] generate glslang pkg-config
@@ -8,7 +8,6 @@ Based on https://src.fedoraproject.org/rpms/glslang/blob/main/f/0001-pkg-config-
8Upstream-Status: Pending 8Upstream-Status: Pending
9 9
10Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> 10Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
11
12--- 11---
13 glslang/CMakeLists.txt | 2 ++ 12 glslang/CMakeLists.txt | 2 ++
14 glslang/glslang.pc.cmake.in | 11 +++++++++++ 13 glslang/glslang.pc.cmake.in | 11 +++++++++++
@@ -16,32 +15,32 @@ Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
16 create mode 100644 glslang/glslang.pc.cmake.in 15 create mode 100644 glslang/glslang.pc.cmake.in
17 16
18diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt 17diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt
19index 1c7d22a2..10c1e841 100644 18index e4690f09..8e660bc5 100644
20--- a/glslang/CMakeLists.txt 19--- a/glslang/CMakeLists.txt
21+++ b/glslang/CMakeLists.txt 20+++ b/glslang/CMakeLists.txt
22@@ -209,6 +209,8 @@ if(ENABLE_GLSLANG_INSTALL) 21@@ -233,6 +233,8 @@ if(GLSLANG_ENABLE_INSTALL)
23 EXPORT glslangTargets 22 install(TARGETS MachineIndependent EXPORT glslang-targets)
24 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) 23 install(TARGETS GenericCodeGen EXPORT glslang-targets)
25 endif() 24 endif()
26+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/glslang.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc @ONLY) 25+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/glslang.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc @ONLY)
27+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) 26+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
28 27
29 install(EXPORT glslangTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) 28 set(PUBLIC_HEADERS
30 29 Public/ResourceLimits.h
31diff --git a/glslang/glslang.pc.cmake.in b/glslang/glslang.pc.cmake.in 30diff --git a/glslang/glslang.pc.cmake.in b/glslang/glslang.pc.cmake.in
32new file mode 100644 31new file mode 100644
33index 00000000..64b6882d 32index 00000000..43104e68
34--- /dev/null 33--- /dev/null
35+++ b/glslang/glslang.pc.cmake.in 34+++ b/glslang/glslang.pc.cmake.in
36@@ -0,0 +1,11 @@ 35@@ -0,0 +1,11 @@
37+ prefix=@CMAKE_INSTALL_PREFIX@ 36+prefix=@CMAKE_INSTALL_PREFIX@
38+ exec_prefix=@CMAKE_INSTALL_PREFIX@ 37+exec_prefix=@CMAKE_INSTALL_PREFIX@
39+ libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ 38+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
40+ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ 39+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
41+ 40+
42+ Name: @PROJECT_NAME@ 41+Name: @PROJECT_NAME@
43+ Description: OpenGL and OpenGL ES shader front end and validator 42+Description: OpenGL and OpenGL ES shader front end and validator
44+ Requires: 43+Requires:
45+ Version: @GLSLANG_VERSION@ 44+Version: @GLSLANG_VERSION@
46+ Libs: -L${libdir} -lglslang -lOSDependent -lHLSL -lOGLCompiler -lSPVRemapper 45+Libs: -L${libdir} -lglslang -lHLSL -lSPVRemapper
47+ Cflags: -I${includedir} 46+Cflags: -I${includedir}
diff --git a/meta/recipes-graphics/glslang/glslang_11.2.0.bb b/meta/recipes-graphics/glslang/glslang_1.3.280.0.bb
index 902f7345f5..637082c719 100644
--- a/meta/recipes-graphics/glslang/glslang_11.2.0.bb
+++ b/meta/recipes-graphics/glslang/glslang_1.3.280.0.bb
@@ -6,26 +6,32 @@ either from a command line or programmatically."
6SECTION = "graphics" 6SECTION = "graphics"
7HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler" 7HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler"
8LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception" 8LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception"
9LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c5ce49c0456e9b413b98a4368c378229" 9LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2a2b5acd7bc4844964cfda45fe807dc3"
10 10
11SRCREV = "5421877c380d5f92c1965c7a94620dac861297dd" 11SRCREV = "ee2f5d09eaf8f4e8d0d598bd2172fce290d4ca60"
12SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https \ 12SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https;branch=main \
13 file://0001-generate-glslang-pkg-config.patch" 13 file://0001-generate-glslang-pkg-config.patch \
14UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$" 14 "
15PE = "1"
16# These recipes need to be updated in lockstep with each other:
17# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools
18# vulkan-validation-layers, vulkan-utility-libraries.
19# The tags versions should always be sdk-x.y.z, as this is what
20# upstream considers a release.
21UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
15S = "${WORKDIR}/git" 22S = "${WORKDIR}/git"
16 23
17inherit cmake python3native 24inherit cmake python3native
18 25
26DEPENDS = "spirv-tools"
27
19EXTRA_OECMAKE = " \ 28EXTRA_OECMAKE = " \
20 -DCMAKE_BUILD_TYPE=Release \ 29 -DCMAKE_BUILD_TYPE=Release \
21 -DBUILD_SHARED_LIBS=ON \ 30 -DBUILD_SHARED_LIBS=ON \
22 -DENABLE_PCH=OFF \ 31 -DENABLE_PCH=OFF \
23 -DENABLE_CTEST=OFF \ 32 -DENABLE_CTEST=OFF \
24 -DBUILD_EXTERNAL=OFF \ 33 -DBUILD_EXTERNAL=OFF \
34 -DALLOW_EXTERNAL_SPIRV_TOOLS=ON \
25" 35"
26 36
27SOLIBSDEV = "glslang.so"
28# all the other libraries are unversioned, so pack it on PN
29FILES_${PN} += "${libdir}/*.so"
30
31BBCLASSEXTEND = "native nativesdk" 37BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/graphene/files/float-div.patch b/meta/recipes-graphics/graphene/files/float-div.patch
new file mode 100644
index 0000000000..bf74101b1c
--- /dev/null
+++ b/meta/recipes-graphics/graphene/files/float-div.patch
@@ -0,0 +1,28 @@
1From c19d1f4a7e44e071df3a2612ae2eb20c84e831a6 Mon Sep 17 00:00:00 2001
2From: Emmanuele Bassi <ebassi@gnome.org>
3Date: Thu, 10 Aug 2023 12:44:49 +0100
4Subject: [PATCH] build: Allow host builds when cross-compiling
5
6Environments that set up execution wrappers when cross-compiling should
7be allowed to run code. We only fall back on external properties if we
8really can't run any native code on the host machine.
9
10Upstream-Status: Backport
11Signed-off-by: Ross Burton <ross.burton@arm.com>
12---
13 meson.build | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/meson.build b/meson.build
17index 48f22d7..7dcb9e6 100644
18--- a/meson.build
19+++ b/meson.build
20@@ -270,7 +270,7 @@ int main() {
21 return 0;
22 }
23 '''
24-if meson.is_cross_build()
25+if not meson.can_run_host_binaries()
26 ieee754_float_div = meson.get_external_property('ieee754_float_div', cc.get_id() in ['gcc', 'clang'])
27 message('Cross-building, assuming IEEE 754 division:', ieee754_float_div)
28 else
diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
new file mode 100644
index 0000000000..e2e82b32aa
--- /dev/null
+++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
@@ -0,0 +1,29 @@
1SUMMARY = "A thin layer of graphic data types"
2HOMEPAGE = "http://ebassi.github.io/graphene/"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a7d871d9e23c450c421a85bb2819f648"
5
6
7inherit gnomebase gobject-introspection gtk-doc
8
9SRC_URI += "file://float-div.patch"
10
11SRC_URI[archive.sha256sum] = "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da31dfde2928f279a"
12
13# Disable neon support by default on ARM-32 platforms because of the
14# following upstream bug: https://github.com/ebassi/graphene/issues/215
15PACKAGECONFIG ?= "gobject-types ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', d)}"
16
17PACKAGECONFIG[gobject-types] = "-Dgobject_types=true,-Dgobject_types=false,glib-2.0"
18PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false,"
19
20GIR_MESON_ENABLE_FLAG = 'enabled'
21GIR_MESON_DISABLE_FLAG = 'disabled'
22
23GTKDOC_MESON_OPTION = "gtk_doc"
24
25EXTRA_OEMESON = "-Dinstalled_tests=false"
26
27FILES:${PN} += "${libdir}/graphene-1.0"
28
29BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_2.7.4.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_8.3.1.bb
index b08f60255e..fd4dcc2338 100644
--- a/meta/recipes-graphics/harfbuzz/harfbuzz_2.7.4.bb
+++ b/meta/recipes-graphics/harfbuzz/harfbuzz_8.3.1.bb
@@ -4,46 +4,45 @@ HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz"
4BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz" 4BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz"
5SECTION = "libs" 5SECTION = "libs"
6LICENSE = "MIT" 6LICENSE = "MIT"
7LIC_FILES_CHKSUM = "file://COPYING;md5=8f787620b7d3866d9552fd1924c07572 \ 7LIC_FILES_CHKSUM = "file://COPYING;md5=b98429b8e8e3c2a67cfef01e99e4893d \
8 file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc" 8 file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc \
9 "
9 10
10UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" 11SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz"
11UPSTREAM_CHECK_REGEX = "harfbuzz-(?P<pver>\d+(\.\d+)+).tar" 12SRC_URI[sha256sum] = "f73e1eacd7e2ffae687bc3f056bb0c705b7a05aee86337686e09da8fc1c2030c"
12 13
13SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz \ 14DEPENDS += "glib-2.0-native"
14 "
15SRC_URI[sha256sum] = "6ad11d653347bd25d8317589df4e431a2de372c0cf9be3543368e07ec23bb8e7"
16 15
17inherit meson pkgconfig lib_package gtk-doc gobject-introspection 16inherit meson pkgconfig lib_package gtk-doc gobject-introspection github-releases
18 17
19GIR_MESON_ENABLE_FLAG = 'enabled' 18GIR_MESON_ENABLE_FLAG = 'enabled'
20GIR_MESON_DISABLE_FLAG = 'disabled' 19GIR_MESON_DISABLE_FLAG = 'disabled'
21GTKDOC_MESON_ENABLE_FLAG = 'enabled' 20GTKDOC_MESON_ENABLE_FLAG = 'enabled'
22GTKDOC_MESON_DISABLE_FLAG = 'disabled' 21GTKDOC_MESON_DISABLE_FLAG = 'disabled'
23 22
24PACKAGECONFIG ??= "cairo fontconfig freetype glib icu" 23PACKAGECONFIG ??= "cairo freetype glib icu"
25PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo" 24PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
26PACKAGECONFIG[fontconfig] = "-Dfontconfig=enabled,-Dfontconfig=disabled,fontconfig" 25PACKAGECONFIG[chafa] = "-Dchafa=enabled,-Dchafa=disabled,chafa"
27PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype" 26PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype"
28PACKAGECONFIG[glib] = "-Dglib=enabled,-Dglib=disabled,glib-2.0" 27PACKAGECONFIG[glib] = "-Dglib=enabled,-Dglib=disabled,glib-2.0"
29PACKAGECONFIG[graphite] = "-Dgraphite=enabled,-Dgraphite=disabled,graphite2" 28PACKAGECONFIG[graphite] = "-Dgraphite2=enabled,-Dgraphite2=disabled,graphite2"
30PACKAGECONFIG[icu] = "-Dicu=enabled,-Dicu=disabled,icu" 29PACKAGECONFIG[icu] = "-Dicu=enabled,-Dicu=disabled,icu"
31 30
32PACKAGES =+ "${PN}-icu ${PN}-icu-dev ${PN}-subset" 31PACKAGES =+ "${PN}-icu ${PN}-icu-dev ${PN}-subset"
33 32
34LEAD_SONAME = "libharfbuzz.so" 33LEAD_SONAME = "libharfbuzz.so"
35 34
36do_install_append() { 35do_install:append() {
37 # If no tools are installed due to PACKAGECONFIG then this directory is 36 # If no tools are installed due to PACKAGECONFIG then this directory might
38 #still installed, so remove it to stop packaging wanings. 37 # still be installed, so remove it to stop packaging warnings.
39 rmdir --ignore-fail-on-non-empty ${D}${bindir} 38 [ ! -d ${D}${bindir} ] || rmdir --ignore-fail-on-non-empty ${D}${bindir}
40} 39}
41 40
42FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*" 41FILES:${PN}-icu = "${libdir}/libharfbuzz-icu.so.*"
43FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \ 42FILES:${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \
44 ${libdir}/libharfbuzz-icu.so \ 43 ${libdir}/libharfbuzz-icu.so \
45 ${libdir}/pkgconfig/harfbuzz-icu.pc \ 44 ${libdir}/pkgconfig/harfbuzz-icu.pc \
46" 45"
47FILES_${PN}-subset = "${libdir}/libharfbuzz-subset.so.*" 46FILES:${PN}-subset = "${libdir}/libharfbuzz-subset.so.*"
48 47
49BBCLASSEXTEND = "native nativesdk" 48BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch b/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch
deleted file mode 100644
index 38bd4550a3..0000000000
--- a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From 606349860d27492c328752dca5a3784c0e9a6d24 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 27 Feb 2021 11:05:45 -0800
4Subject: [PATCH i-g-t] lib/igt_edid: Allocate raw 8-bytes for VSDB
5
6hdmi_vsdb is an element of cea_vsdb which makes the size of cea_vsdb to
7be 8 ( 3bytes ieee_oui ) + ( 5bytes hdmi_vsdb struct), its true that we
8only use 7 bytes technically we can only allocate 7byte array but since
9we are writing to elements of hdmi_vsdb struct which is sitting at offet
104-8 in cea_vsdb, compiler thinks we have an element which is out of
11array bounds since out allocated size is 7bytes
12
13This errors out
14../git/lib/igt_edid.c:365:13: error: array subscript 'struct hdmi_vsdb[0]' is partly outside array bounds of 'char[7]' [-Werror=array-bounds]
15 365 | hdmi->src_phy_addr[0] = 0x10;
16 | ^~
17
18allocating one extra byte matches with size of cea_vsdb and compiler is
19happy
20
21Upstream-Status: Submitted [https://lists.freedesktop.org/archives/igt-dev/2021-February/029446.html]
22Signed-off-by: Khem Raj <raj.khem@gmail.com>
23---
24 lib/igt_edid.c | 2 +-
25 1 file changed, 1 insertion(+), 1 deletion(-)
26
27diff --git a/lib/igt_edid.c b/lib/igt_edid.c
28index 1c85486d..ce09cc47 100644
29--- a/lib/igt_edid.c
30+++ b/lib/igt_edid.c
31@@ -351,7 +351,7 @@ void cea_sad_init_pcm(struct cea_sad *sad, int channels,
32 const struct cea_vsdb *cea_vsdb_get_hdmi_default(size_t *size)
33 {
34 /* We'll generate a VSDB with 2 extension fields. */
35- static char raw[CEA_VSDB_HDMI_MIN_SIZE + 2] = {0};
36+ static char raw[CEA_VSDB_HDMI_MIN_SIZE + 3] = {0};
37 struct cea_vsdb *vsdb;
38 struct hdmi_vsdb *hdmi;
39
40--
412.30.1
42
diff --git a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch b/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch
deleted file mode 100644
index 39e36d8737..0000000000
--- a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1meson: Allow source location to be configurable
2
3Hardcoding a build source path into a binary when cross compiling isn't
4appropriate and breaks build reproducibility. Allow the srcdir to be
5specified by an optional configuration option to meson.
6
7Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
8Upstream-Status: Submitted [https://lists.freedesktop.org/archives/igt-dev/2021-February/029443.html]
9
10Index: git/lib/meson.build
11===================================================================
12--- git.orig/lib/meson.build
13+++ git/lib/meson.build
14@@ -122,7 +122,11 @@ if chamelium.found()
15 lib_sources += 'igt_chamelium_stream.c'
16 endif
17
18-srcdir = join_paths(meson.source_root(), 'tests')
19+if get_option('srcdir') != ''
20+ srcdir = join_paths(get_option('srcdir'), 'tests')
21+else
22+ srcdir = join_paths(meson.source_root(), 'tests')
23+endif
24
25 lib_version = vcs_tag(input : 'version.h.in', output : 'version.h',
26 fallback : 'NO-GIT',
27Index: git/meson_options.txt
28===================================================================
29--- git.orig/meson_options.txt
30+++ git/meson_options.txt
31@@ -50,3 +50,7 @@ option('use_rpath',
32 type : 'boolean',
33 value : false,
34 description : 'Set runpath on installed executables for libigt.so')
35+
36+option('srcdir',
37+ type : 'string',
38+ description : 'Path to source code to be compiled into binaries (optional)')
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 1cc94cf993..90cd09ea70 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
@@ -7,28 +7,26 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=67bfee4df38fa6ecbe3a675c552d4c08"
7 7
8LICENSE = "MIT" 8LICENSE = "MIT"
9 9
10inherit meson 10inherit meson pkgconfig
11 11
12SRCREV = "d16ad07e7f2a028e14d61f570931c87fa5ce404c" 12SRCREV = "31ec677ca24e7ed86e35f367f40a29d3d9f51c06"
13PV = "1.25+git${SRCPV}" 13PV = "1.28"
14 14
15SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https \ 15SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https;branch=master"
16 file://0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch \
17 file://reproducibility.patch"
18 16
19S = "${WORKDIR}/git" 17S = "${WORKDIR}/git"
20 18
21DEPENDS += "libdrm libpciaccess cairo udev glib-2.0 procps libunwind kmod openssl elfutils alsa-lib json-c bison-native" 19DEPENDS += "libdrm libpciaccess cairo udev glib-2.0 procps libunwind kmod openssl elfutils alsa-lib json-c bison-native"
22RDEPENDS_${PN} += "bash" 20RDEPENDS:${PN} += "bash perl"
23RDEPENDS_${PN}-tests += "bash" 21RDEPENDS:${PN}-tests += "bash"
24 22
25PACKAGE_BEFORE_PN = "${PN}-benchmarks ${PN}-tests" 23PACKAGE_BEFORE_PN = "${PN}-benchmarks ${PN}-tests"
26 24
27PACKAGECONFIG[chamelium] = "-Dchamelium=enabled,-Dchamelium=disabled,gsl xmlrpc-c" 25PACKAGECONFIG[chamelium] = "-Dchamelium=enabled,-Dchamelium=disabled,gsl xmlrpc-c"
28 26
29EXTRA_OEMESON = "-Ddocs=disabled -Drunner=enabled -Dsrcdir=/usr/src/debug/${PN}/${PV}-${PR}/git/" 27EXTRA_OEMESON = "-Ddocs=disabled -Drunner=enabled -Dsrcdir=${TARGET_DBGSRC_DIR}/git/ -Dversion_hash=${PV}"
30COMPATIBLE_HOST = "(x86_64.*|i.86.*|arm.*|aarch64).*-linux" 28COMPATIBLE_HOST = "(x86_64.*|i.86.*|arm.*|aarch64).*-linux"
31COMPATIBLE_HOST_libc-musl_class-target = "null" 29COMPATIBLE_HOST:libc-musl:class-target = "null"
32SECURITY_LDFLAGS = "${SECURITY_X_LDFLAGS}" 30SECURITY_LDFLAGS = "${SECURITY_X_LDFLAGS}"
33 31
34gputools_sysroot_preprocess() { 32gputools_sysroot_preprocess() {
@@ -36,7 +34,7 @@ gputools_sysroot_preprocess() {
36} 34}
37SYSROOT_PREPROCESS_FUNCS += "gputools_sysroot_preprocess" 35SYSROOT_PREPROCESS_FUNCS += "gputools_sysroot_preprocess"
38 36
39do_install_append() { 37do_install:append() {
40 install -d ${D}/usr/share/${BPN}/scripts 38 install -d ${D}/usr/share/${BPN}/scripts
41 install ${S}/scripts/run-tests.sh ${D}/usr/share/${BPN}/scripts 39 install ${S}/scripts/run-tests.sh ${D}/usr/share/${BPN}/scripts
42 install -d ${D}/usr/share/${BPN}/runner 40 install -d ${D}/usr/share/${BPN}/runner
@@ -44,8 +42,8 @@ do_install_append() {
44 install -D ${B}/runner/igt_resume ${D}/usr/share/${BPN}/runner 42 install -D ${B}/runner/igt_resume ${D}/usr/share/${BPN}/runner
45} 43}
46 44
47FILES_${PN}-benchmarks += "${libexecdir}/${BPN}/benchmarks" 45FILES:${PN}-benchmarks += "${libexecdir}/${BPN}/benchmarks"
48FILES_${PN}-tests += "\ 46FILES:${PN}-tests += "\
49 ${libexecdir}/${BPN}/*\ 47 ${libexecdir}/${BPN}/*\
50 ${datadir}/${BPN}/1080p-right.png\ 48 ${datadir}/${BPN}/1080p-right.png\
51 ${datadir}/${BPN}/1080p-left.png\ 49 ${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 @@
1DESCRIPTION = "An image with support for the Open GL-based toolkit Clutter, \
2which enables development of rich and animated graphical user interfaces."
3
4IMAGE_FEATURES += "splash package-management x11-base x11-sato ssh-server-dropbear"
5
6LICENSE = "MIT"
7
8IMAGE_INSTALL = "\
9 ${CORE_IMAGE_BASE_INSTALL} \
10 packagegroup-core-clutter-core \
11 "
12
13inherit core-image
14
15QB_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..09e87b5b65
--- /dev/null
+++ b/meta/recipes-graphics/images/core-image-weston-sdk.bb
@@ -0,0 +1,15 @@
1require core-image-weston.bb
2
3DESCRIPTION = "Image with Weston support that includes everything within \
4core-image-weston plus meta-toolchain, development headers and libraries to \
5form a standalone SDK."
6HOMEPAGE = "https://www.yoctoproject.org/"
7
8IMAGE_FEATURES += "dev-pkgs tools-sdk \
9 tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks ssh-server-openssh"
10
11IMAGE_INSTALL += "kernel-devsrc"
12
13# Compiling stuff, specifically SystemTap probes, can require lots of memory
14# See https://bugzilla.yoctoproject.org/show_bug.cgi?id=14673
15QB_MEM = "-m 768"
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 @@
1SUMMARY = "A very basic Wayland image with a terminal" 1SUMMARY = "A very basic Wayland image with a terminal"
2 2
3IMAGE_FEATURES += "splash package-management ssh-server-dropbear hwcodecs" 3IMAGE_FEATURES += "splash package-management ssh-server-dropbear hwcodecs weston"
4 4
5LICENSE = "MIT" 5LICENSE = "MIT"
6 6
7inherit core-image features_check 7inherit core-image
8 8
9REQUIRED_DISTRO_FEATURES = "wayland" 9CORE_IMAGE_BASE_INSTALL += "gtk+3-demo"
10
11CORE_IMAGE_BASE_INSTALL += "weston weston-init weston-examples wayland-utils gtk+3-demo clutter-1.0-examples"
12CORE_IMAGE_BASE_INSTALL += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'weston-xwayland matchbox-terminal', '', d)}" 10CORE_IMAGE_BASE_INSTALL += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'weston-xwayland matchbox-terminal', '', d)}"
13 11
14QB_MEM = "-m 512" 12QB_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
deleted file mode 100644
index 152db441bc..0000000000
--- a/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From 5cf847b5bef8dc3f9f89bd09dd5af4e6603f393c Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com>
3Date: Mon, 27 Aug 2018 16:10:55 +0800
4Subject: [PATCH] libjpeg-turbo: fix package_qa error
5
6Fix package qa errors like below:
7libjpeg.so.62.3.0 contains probably-redundant RPATH /usr/lib [useless-rpaths]
8usr/bin/cjpeg contains probably-redundant RPATH /usr/lib
9
10Upstream-Status: Inappropriate[oe-specific]
11
12Signed-off-by: Changqing Li <changqing.li@windriver.com>
13Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
14---
15 CMakeLists.txt | 4 ----
16 1 file changed, 4 deletions(-)
17
18diff --git a/CMakeLists.txt b/CMakeLists.txt
19index 2bc3458..ea3041e 100644
20--- a/CMakeLists.txt
21+++ b/CMakeLists.txt
22@@ -191,10 +191,6 @@ endif()
23 report_option(ENABLE_SHARED "Shared libraries")
24 report_option(ENABLE_STATIC "Static libraries")
25
26-if(ENABLE_SHARED)
27- set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR})
28-endif()
29-
30 if(WITH_JPEG8 OR WITH_JPEG7)
31 set(WITH_ARITH_ENC 1)
32 set(WITH_ARITH_DEC 1)
diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb
deleted file mode 100644
index b6efc6bca0..0000000000
--- a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb
+++ /dev/null
@@ -1,59 +0,0 @@
1SUMMARY = "Hardware accelerated JPEG compression/decompression library"
2DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression"
3HOMEPAGE = "http://libjpeg-turbo.org/"
4
5LICENSE = "BSD-3-Clause"
6LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=8184bcc7c4ac7b9edc6a7bc00f231d0b \
7 file://jpeglib.h;endline=16;md5=52b5eaade8d5b6a452a7693dfe52c084 \
8 file://djpeg.c;endline=11;md5=302e980133b5c0c7f4dcb4ca0df41090 \
9"
10DEPENDS_append_x86-64_class-target = " nasm-native"
11DEPENDS_append_x86_class-target = " nasm-native"
12
13SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
14 file://0001-libjpeg-turbo-fix-package_qa-error.patch \
15 "
16
17SRC_URI[md5sum] = "4cada3f0bdc93d826fa31bf9e4469ef6"
18SRC_URI[sha256sum] = "d74b92ac33b0e3657123ddcf6728788c90dc84dcb6a52013d758af3c4af481bb"
19UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
20UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
21
22PE = "1"
23
24# Drop-in replacement for jpeg
25PROVIDES = "jpeg"
26RPROVIDES_${PN} += "jpeg"
27RREPLACES_${PN} += "jpeg"
28RCONFLICTS_${PN} += "jpeg"
29
30inherit cmake pkgconfig
31
32export NASMENV = "--debug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
33
34# Add nasm-native dependency consistently for all build arches is hard
35EXTRA_OECMAKE_append_class-native = " -DWITH_SIMD=False"
36EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_SIMD=False"
37
38# Work around missing x32 ABI support
39EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}"
40
41# Work around missing non-floating point ABI support in MIPS
42EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
43
44# Provide a workaround if Altivec unit is not present in PPC
45EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
46EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
47
48DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
49DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
50
51PACKAGES =+ "jpeg-tools libturbojpeg"
52
53DESCRIPTION_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."
54FILES_jpeg-tools = "${bindir}/*"
55
56DESCRIPTION_libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs"
57FILES_libturbojpeg = "${libdir}/libturbojpeg.so.*"
58
59BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_3.0.1.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_3.0.1.bb
new file mode 100644
index 0000000000..132d4b375a
--- /dev/null
+++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_3.0.1.bb
@@ -0,0 +1,58 @@
1SUMMARY = "Hardware accelerated JPEG compression/decompression library"
2DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression"
3HOMEPAGE = "http://libjpeg-turbo.org/"
4
5LICENSE = "IJG & BSD-3-Clause & Zlib"
6LIC_FILES_CHKSUM = "file://LICENSE.md;md5=2a8e0d8226a102f07ab63ed7fd6ce155"
7
8DEPENDS:append:x86-64:class-target = " nasm-native"
9DEPENDS:append:x86:class-target = " nasm-native"
10
11SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
12
13SRC_URI[sha256sum] = "22429507714ae147b3acacd299e82099fce5d9f456882fc28e252e4579ba2a75"
14UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
15UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
16
17PE = "1"
18
19# Drop-in replacement for jpeg
20PROVIDES = "jpeg"
21RPROVIDES:${PN} += "jpeg"
22RREPLACES:${PN} += "jpeg"
23RCONFLICTS:${PN} += "jpeg"
24
25inherit cmake pkgconfig
26
27export NASMENV = "--reproducible --debug-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}"
28
29# Add nasm-native dependency consistently for all build arches is hard
30EXTRA_OECMAKE:append:class-native = " -DWITH_SIMD=False"
31EXTRA_OECMAKE:append:class-nativesdk = " -DWITH_SIMD=False"
32
33# Work around missing x32 ABI support
34EXTRA_OECMAKE:append:class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}"
35
36# Work around missing non-floating point ABI support in MIPS
37EXTRA_OECMAKE:append:class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
38
39EXTRA_OECMAKE:append:class-target:arm = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "", "-DWITH_SIMD=False", d)}"
40EXTRA_OECMAKE:append:class-target:armeb = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "", "-DWITH_SIMD=False", d)}"
41
42# Provide a workaround if Altivec unit is not present in PPC
43EXTRA_OECMAKE:append:class-target:powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
44EXTRA_OECMAKE:append:class-target:powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
45EXTRA_OECMAKE:append:class-target:powerpc64le = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
46
47DEBUG_OPTIMIZATION:append:armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
48DEBUG_OPTIMIZATION:append:armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
49
50PACKAGES =+ "jpeg-tools libturbojpeg"
51
52DESCRIPTION: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."
53FILES:jpeg-tools = "${bindir}/*"
54
55DESCRIPTION:libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs"
56FILES:libturbojpeg = "${libdir}/libturbojpeg.so.*"
57
58BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/kmscube/kmscube/0001-cube-gears-Change-header-file-to-GLES3-gl3.h.patch b/meta/recipes-graphics/kmscube/kmscube/0001-cube-gears-Change-header-file-to-GLES3-gl3.h.patch
new file mode 100644
index 0000000000..f8608d4676
--- /dev/null
+++ b/meta/recipes-graphics/kmscube/kmscube/0001-cube-gears-Change-header-file-to-GLES3-gl3.h.patch
@@ -0,0 +1,31 @@
1From 5f54f067da7ee24a61d6cb41e0636383729e2bad Mon Sep 17 00:00:00 2001
2From: Fabio Estevam <festevam@gmail.com>
3Date: Mon, 8 Jan 2024 15:00:01 -0300
4Subject: [PATCH] cube-gears: Change header file to <GLES3/gl3.h>
5
6Since commit 96d63eb59e34 ("kmscube: Add gears mode"), kmscube fails
7to build on platforms without <GL/gl.h>.
8
9Fix it by changing the header file to <GLES3/gl3.h>.
10
11Reported-by: Martin Jansa <martin.jansa@gmail.com>
12Suggested-by: Martin Jansa <martin.jansa@gmail.com>
13Signed-off-by: Fabio Estevam <festevam@gmail.com>
14Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/kmscube/-/merge_requests/51]
15---
16 cube-gears.c | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/cube-gears.c b/cube-gears.c
20index d5b7a5f..cb538ec 100644
21--- a/cube-gears.c
22+++ b/cube-gears.c
23@@ -31,7 +31,7 @@
24 #include <sys/time.h>
25 #include <math.h>
26
27-#include <GL/gl.h>
28+#include <GLES3/gl3.h>
29
30 #include "common.h"
31 #include "esUtil.h"
diff --git a/meta/recipes-graphics/kmscube/kmscube_git.bb b/meta/recipes-graphics/kmscube/kmscube_git.bb
index f4e6cd41e7..19bbcd195d 100644
--- a/meta/recipes-graphics/kmscube/kmscube_git.bb
+++ b/meta/recipes-graphics/kmscube/kmscube_git.bb
@@ -6,19 +6,28 @@ OpenGL or OpenGL ES."
6HOMEPAGE = "https://cgit.freedesktop.org/mesa/kmscube/" 6HOMEPAGE = "https://cgit.freedesktop.org/mesa/kmscube/"
7LICENSE = "MIT" 7LICENSE = "MIT"
8SECTION = "graphics" 8SECTION = "graphics"
9DEPENDS = "virtual/libgles2 virtual/egl libdrm" 9DEPENDS = "virtual/libgles3 virtual/libgles2 virtual/egl libdrm virtual/libgbm"
10 10
11LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb" 11LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb"
12 12
13SRCREV = "9f63f359fab1b5d8e862508e4e51c9dfe339ccb0" 13SRCREV = "6ab022fdfcfedd28f4b5dbd8d3299414a367746f"
14SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https" 14SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https \
15 file://0001-cube-gears-Change-header-file-to-GLES3-gl3.h.patch \
16 "
17
15UPSTREAM_CHECK_COMMITS = "1" 18UPSTREAM_CHECK_COMMITS = "1"
16 19
17S = "${WORKDIR}/git" 20S = "${WORKDIR}/git"
18 21
22BASEPV = "0.0.1"
23PV = "${BASEPV}+git"
24
19inherit meson pkgconfig features_check 25inherit meson pkgconfig features_check
20 26
21REQUIRED_DISTRO_FEATURES = "opengl" 27REQUIRED_DISTRO_FEATURES = "opengl"
22 28
23PACKAGECONFIG ??= "" 29PACKAGECONFIG ??= ""
24PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base" 30PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base"
31
32CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}"
33
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
deleted file mode 100644
index 971a3f54e0..0000000000
--- a/meta/recipes-graphics/libepoxy/files/0001-dispatch_common.h-define-also-EGL_NO_X11.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From 7211120d1e2f059d900f3379b9790484dbcf7761 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Fri, 25 Oct 2019 11:09:34 +0000
4Subject: [PATCH] dispatch_common.h: define also EGL_NO_X11
5
6MESA_EGL_NO_X11_HEADERS was renamed to EGL_NO_X11 in:
7https://github.com/mesa3d/mesa/commit/6202a13b71e18dc31ba7e2f4ea915b67eacc1ddb
8
9Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
10Upstream-Status: Pending
11
12---
13 src/dispatch_common.h | 1 +
14 1 file changed, 1 insertion(+)
15
16diff --git a/src/dispatch_common.h b/src/dispatch_common.h
17index a136943..448c9b1 100644
18--- a/src/dispatch_common.h
19+++ b/src/dispatch_common.h
20@@ -55,6 +55,7 @@
21 * as EGL_NO_X11
22 */
23 # define MESA_EGL_NO_X11_HEADERS 1
24+# define EGL_NO_X11 1
25 # endif
26 #include "epoxy/egl.h"
27 #endif
diff --git a/meta/recipes-graphics/libepoxy/libepoxy_1.5.5.bb b/meta/recipes-graphics/libepoxy/libepoxy_1.5.10.bb
index a404fe2852..384afa6907 100644
--- a/meta/recipes-graphics/libepoxy/libepoxy_1.5.5.bb
+++ b/meta/recipes-graphics/libepoxy/libepoxy_1.5.10.bb
@@ -9,13 +9,11 @@ SECTION = "libs"
9LICENSE = "MIT" 9LICENSE = "MIT"
10LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b" 10LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b"
11 11
12SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \ 12SRC_URI = "git://github.com/anholt/libepoxy;branch=master;protocol=https"
13 file://0001-dispatch_common.h-define-also-EGL_NO_X11.patch \ 13SRCREV = "c84bc9459357a40e46e2fec0408d04fbdde2c973"
14 " 14S = "${WORKDIR}/git"
15SRC_URI[sha256sum] = "261663db21bcc1cc232b07ea683252ee6992982276536924271535875f5b0556"
16UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases"
17 15
18inherit meson pkgconfig features_check 16inherit meson pkgconfig features_check github-releases
19 17
20REQUIRED_DISTRO_FEATURES = "opengl" 18REQUIRED_DISTRO_FEATURES = "opengl"
21 19
@@ -25,8 +23,8 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl"
25 23
26EXTRA_OEMESON += "-Dtests=false" 24EXTRA_OEMESON += "-Dtests=false"
27 25
28PACKAGECONFIG_class-native = "egl x11" 26PACKAGECONFIG:class-native = "egl x11"
29PACKAGECONFIG_class-nativesdk = "egl x11" 27PACKAGECONFIG:class-nativesdk = "egl x11"
30 28
31BBCLASSEXTEND = "native nativesdk" 29BBCLASSEXTEND = "native nativesdk"
32 30
diff --git a/meta/recipes-graphics/libfakekey/libfakekey_git.bb b/meta/recipes-graphics/libfakekey/libfakekey_git.bb
index ab6f5ac9ed..5f902d3a67 100644
--- a/meta/recipes-graphics/libfakekey/libfakekey_git.bb
+++ b/meta/recipes-graphics/libfakekey/libfakekey_git.bb
@@ -4,16 +4,16 @@ key-presses."
4HOMEPAGE = "http://matchbox-project.org/" 4HOMEPAGE = "http://matchbox-project.org/"
5BUGTRACKER = "http://bugzilla.yoctoproject.org/" 5BUGTRACKER = "http://bugzilla.yoctoproject.org/"
6 6
7LICENSE = "LGPLv2+" 7LICENSE = "LGPL-2.0-or-later"
8LIC_FILES_CHKSUM = "file://src/libfakekey.c;endline=30;md5=602b5ccd48f64407510867f3373b448c" 8LIC_FILES_CHKSUM = "file://src/libfakekey.c;endline=30;md5=602b5ccd48f64407510867f3373b448c"
9 9
10DEPENDS = "libxtst" 10DEPENDS = "libxtst"
11SECTION = "x11/wm" 11SECTION = "x11/wm"
12 12
13SRCREV = "7ad885912efb2131e80914e964d5e635b0d07b40" 13SRCREV = "7ad885912efb2131e80914e964d5e635b0d07b40"
14PV = "0.3+git${SRCPV}" 14PV = "0.3+git"
15 15
16SRC_URI = "git://git.yoctoproject.org/${BPN}" 16SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https"
17 17
18S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
19 19
diff --git a/meta/recipes-graphics/libmatchbox/libmatchbox_1.12.bb b/meta/recipes-graphics/libmatchbox/libmatchbox_1.12.bb
index 1a31677978..bf3f5c005d 100644
--- a/meta/recipes-graphics/libmatchbox/libmatchbox_1.12.bb
+++ b/meta/recipes-graphics/libmatchbox/libmatchbox_1.12.bb
@@ -7,7 +7,7 @@ SECTION = "x11/libs"
7HOMEPAGE = "http://matchbox-project.org/" 7HOMEPAGE = "http://matchbox-project.org/"
8BUGTRACKER = "http://bugzilla.yoctoproject.com/" 8BUGTRACKER = "http://bugzilla.yoctoproject.com/"
9 9
10LICENSE = "LGPLv2+ & MIT" 10LICENSE = "LGPL-2.0-or-later & MIT"
11LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \ 11LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \
12 file://COPYING.MIT;md5=f45ed9332b4f50a35adf2065adde4ca7 \ 12 file://COPYING.MIT;md5=f45ed9332b4f50a35adf2065adde4ca7 \
13 file://libmb/mbexp.c;endline=20;md5=28c0aef3b23e308464f5dae6a11b0d2f \ 13 file://libmb/mbexp.c;endline=20;md5=28c0aef3b23e308464f5dae6a11b0d2f \
@@ -17,7 +17,7 @@ DEPENDS = "virtual/libx11 libxext"
17 17
18#SRCREV for 1.12 18#SRCREV for 1.12
19SRCREV = "e846ee434f8e23d9db38af13c523f791495e0e87" 19SRCREV = "e846ee434f8e23d9db38af13c523f791495e0e87"
20SRC_URI = "git://git.yoctoproject.org/${BPN}" 20SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https"
21 21
22S = "${WORKDIR}/git" 22S = "${WORKDIR}/git"
23 23
diff --git a/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch b/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch
deleted file mode 100644
index 8ca52ebde7..0000000000
--- a/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch
+++ /dev/null
@@ -1,60 +0,0 @@
1From e0f4b6d18ce6f025c78773e909b9c395ad833c7a Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@intel.com>
3Date: Mon, 29 Jul 2019 08:38:32 +0800
4Subject: [PATCH] configure: fix dependencies
5
6Many source files include e.g. wayland-protocols.h which should be found in the
7sysroot but SDL wants to build its own headers from the XML definitions.
8
9However the rules to generate those headers are only dependencies of the
10top-level libSDL2.la object so can be built in parallel with the rest of the
11objects, which can lead to interesting errors if the header is parsed by the
12compiler whilst it's being written by another process:
13
14| gen/wayland-client-protocol.h:3: error: unterminated #ifndef
15| #ifndef WAYLAND_CLIENT_PROTOCOL_H
16
17Solve this by adding more dependencies so the generated files are built before
18the primary objects.
19
20Upstream-Status: Pending
21Signed-off-by: Ross Burton <ross.burton@intel.com>
22[Moved to configure.ac]
23Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
24---
25 configure.ac | 6 +++---
26 1 file changed, 3 insertions(+), 3 deletions(-)
27
28diff --git a/configure.ac b/configure.ac
29index 9e782c6..997915a 100644
30--- a/configure.ac
31+++ b/configure.ac
32@@ -4061,7 +4061,7 @@ DEPENDS=`echo $SOURCES | tr ' ' '\n'`
33 for EXT in asm cc m c S; do
34 OBJECTS=`echo "$OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.'$EXT',$(objects)/\1.lo,g'`
35 DEPENDS=`echo "$DEPENDS" | sed "s,^\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.$EXT\\$,\\\\
36-\\$(objects)/\\2.lo: \\1/\\2.$EXT \\$(objects)/.created\\\\
37+\\$(objects)/\\2.lo: \\1/\\2.$EXT \\$(objects)/.created \\$(GEN_OBJECTS)\\\\
38 \\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
39 done
40
41@@ -4078,14 +4078,14 @@ SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES`
42 SDLMAIN_DEPENDS=`echo $SDLMAIN_SOURCES`
43 SDLMAIN_OBJECTS=`echo "$SDLMAIN_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
44 SDLMAIN_DEPENDS=`echo "$SDLMAIN_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\
45-\\$(objects)/\\2.lo: \\1/\\2.c \\$(objects)/.created\\\\
46+\\$(objects)/\\2.lo: \\1/\\2.c \\$(objects)/.created \\$(GEN_OBJECTS)\\\\
47 \\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
48
49 SDLTEST_OBJECTS=`echo $SDLTEST_SOURCES`
50 SDLTEST_DEPENDS=`echo $SDLTEST_SOURCES`
51 SDLTEST_OBJECTS=`echo "$SDLTEST_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
52 SDLTEST_DEPENDS=`echo "$SDLTEST_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\
53-\\$(objects)/\\2.lo: \\1/\\2.c \\$(objects)/.created\\\\
54+\\$(objects)/\\2.lo: \\1/\\2.c \\$(objects)/.created \\$(GEN_OBJECTS)\\\\
55 \\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
56
57 # Set runtime shared library paths as needed
58--
592.7.4
60
diff --git a/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb b/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb
deleted file mode 100644
index 872592fdae..0000000000
--- a/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb
+++ /dev/null
@@ -1,80 +0,0 @@
1SUMMARY = "Simple DirectMedia Layer"
2DESCRIPTION = "Simple DirectMedia Layer is a cross-platform multimedia \
3library designed to provide low level access to audio, keyboard, mouse, \
4joystick, 3D hardware via OpenGL, and 2D video framebuffer."
5HOMEPAGE = "http://www.libsdl.org"
6BUGTRACKER = "http://bugzilla.libsdl.org/"
7
8SECTION = "libs"
9
10LICENSE = "Zlib"
11LIC_FILES_CHKSUM = "file://COPYING.txt;md5=2d4af6adb4d89aad0cdedbcc18c9a32f"
12
13# arm-neon adds MIT license
14LICENSE_append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', '& MIT', '', d)}"
15LIC_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)}"
16
17PROVIDES = "virtual/libsdl2"
18
19SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \
20 file://more-gen-depends.patch \
21"
22
23S = "${WORKDIR}/SDL2-${PV}"
24
25SRC_URI[sha256sum] = "d8215b571a581be1332d2106f8036fcb03d12a70bae01e20f424976d275432bc"
26
27inherit autotools lib_package binconfig-disabled pkgconfig
28
29BINCONFIG = "${bindir}/sdl2-config"
30
31CVE_PRODUCT = "simple_directmedia_layer sdl"
32
33EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \
34 --disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \
35 --disable-video-dummy \
36 --disable-video-rpi \
37 --enable-pthreads \
38 --enable-sdl-dlopen \
39 --disable-rpath \
40 --disable-sndio \
41 --disable-fcitx --disable-ibus \
42 "
43
44# opengl packageconfig factored out to make it easy for distros
45# and BSP layers to pick either (desktop) opengl, gles2, or no GL
46PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
47
48PACKAGECONFIG_class-native = "x11 ${PACKAGECONFIG_GL}"
49PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${PACKAGECONFIG_GL}"
50PACKAGECONFIG ??= " \
51 ${PACKAGECONFIG_GL} \
52 ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \
53 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \
54 ${@bb.utils.contains("TUNE_FEATURES", "neon","arm-neon","",d)} \
55"
56PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib,"
57PACKAGECONFIG[arm-neon] = "--enable-arm-neon,--disable-arm-neon"
58PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb,directfb"
59PACKAGECONFIG[gles2] = "--enable-video-opengles,--disable-video-opengles,virtual/libgles2"
60PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
61PACKAGECONFIG[kmsdrm] = "--enable-video-kmsdrm,--disable-video-kmsdrm,libdrm virtual/libgbm"
62PACKAGECONFIG[opengl] = "--enable-video-opengl,--disable-video-opengl,virtual/libgl"
63PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
64PACKAGECONFIG[wayland] = "--enable-video-wayland,--disable-video-wayland,wayland-native wayland wayland-protocols libxkbcommon"
65PACKAGECONFIG[x11] = "--enable-video-x11,--disable-video-x11,virtual/libx11 libxext libxrandr libxrender"
66
67EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader"
68
69do_configure_prepend() {
70 # Remove old libtool macros.
71 MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
72 for i in ${MACROS}; do
73 rm -f ${S}/acinclude/$i
74 done
75 export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
76}
77
78FILES_${PN}-dev += "${libdir}/cmake"
79
80BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/libsdl2/libsdl2_2.30.2.bb b/meta/recipes-graphics/libsdl2/libsdl2_2.30.2.bb
new file mode 100644
index 0000000000..f9dacb288c
--- /dev/null
+++ b/meta/recipes-graphics/libsdl2/libsdl2_2.30.2.bb
@@ -0,0 +1,85 @@
1SUMMARY = "Simple DirectMedia Layer"
2DESCRIPTION = "Simple DirectMedia Layer is a cross-platform multimedia \
3library designed to provide low level access to audio, keyboard, mouse, \
4joystick, 3D hardware via OpenGL, and 2D video framebuffer."
5HOMEPAGE = "http://www.libsdl.org"
6BUGTRACKER = "http://bugzilla.libsdl.org/"
7
8SECTION = "libs"
9
10LICENSE = "Zlib & BSD-2-Clause"
11LIC_FILES_CHKSUM = "\
12 file://LICENSE.txt;md5=25231a5b96ccdd8f39eb53c07717be64 \
13 file://src/hidapi/LICENSE.txt;md5=7c3949a631240cb6c31c50f3eb696077 \
14 file://src/hidapi/LICENSE-bsd.txt;md5=b5fa085ce0926bb50d0621620a82361f \
15 file://src/video/yuv2rgb/LICENSE;md5=79f8f3418d91531e05f0fc94ca67e071 \
16"
17
18# arm-neon adds MIT license
19LICENSE:append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', '& MIT', '', d)}"
20LIC_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)}"
21
22PROVIDES = "virtual/libsdl2"
23
24SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz"
25
26S = "${WORKDIR}/SDL2-${PV}"
27
28SRC_URI[sha256sum] = "891d66ac8cae51361d3229e3336ebec1c407a8a2a063b61df14f5fdf3ab5ac31"
29
30inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even
31
32BINCONFIG = "${bindir}/sdl2-config"
33
34CVE_PRODUCT = "simple_directmedia_layer sdl"
35
36EXTRA_OECMAKE = "-DSDL_OSS=OFF -DSDL_ESD=OFF -DSDL_ARTS=OFF \
37 -DSDL_DISKAUDIO=OFF -DSDL_NAS=OFF -DSDL_ESD_SHARED=OFF \
38 -DSDL_DUMMYVIDEO=OFF \
39 -DSDL_RPI=OFF \
40 -DSDL_PTHREADS=ON \
41 -DSDL_RPATH=OFF \
42 -DSDL_SNDIO=OFF \
43 -DSDL_X11_XCURSOR=OFF \
44 -DSDL_X11_XDBE=OFF \
45 -DSDL_X11_XFIXES=OFF \
46 -DSDL_X11_XINPUT=OFF \
47 -DSDL_X11_XRANDR=OFF \
48 -DSDL_X11_XSCRNSAVER=OFF \
49 -DSDL_X11_XSHAPE=OFF \
50"
51
52# opengl packageconfig factored out to make it easy for distros
53# and BSP layers to pick either (desktop) opengl, gles2, or no GL
54PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
55
56PACKAGECONFIG:class-native = "x11 ${PACKAGECONFIG_GL}"
57PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${PACKAGECONFIG_GL}"
58PACKAGECONFIG ??= " \
59 ${PACKAGECONFIG_GL} \
60 ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio pipewire x11 vulkan', d)} \
61 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \
62 ${@bb.utils.contains("TUNE_FEATURES", "neon","arm-neon","",d)} \
63"
64PACKAGECONFIG[alsa] = "-DSDL_ALSA=ON,-DSDL_ALSA=OFF,alsa-lib,"
65PACKAGECONFIG[arm-neon] = "-DSDL_ARMNEON=ON,-DSDL_ARMNEON=OFF"
66PACKAGECONFIG[directfb] = "-DSDL_DIRECTFB=ON,-DSDL_DIRECTFB=OFF,directfb,directfb"
67PACKAGECONFIG[gles2] = "-DSDL_OPENGLES=ON,-DSDL_OPENGLES=OFF,virtual/libgles2"
68PACKAGECONFIG[jack] = "-DSDL_JACK=ON,-DSDL_JACK=OFF,jack"
69PACKAGECONFIG[kmsdrm] = "-DSDL_KMSDRM=ON,-DSDL_KMSDRM=OFF,libdrm virtual/libgbm"
70# The hidraw support doesn't catch Xbox, PS4 and Nintendo controllers,
71# so we'll just use libusb when it's available.
72PACKAGECONFIG[libusb] = ",,libusb1"
73PACKAGECONFIG[libdecor] = "-DSDL_WAYLAND_LIBDECOR=ON,-DSDL_WAYLAND_LIBDECOR=OFF,libdecor,libdecor"
74PACKAGECONFIG[opengl] = "-DSDL_OPENGL=ON,-DSDL_OPENGL=OFF,virtual/egl"
75PACKAGECONFIG[pipewire] = "-DSDL_PIPEWIRE_SHARED=ON,-DSDL_PIPEWIRE_SHARED=OFF,pipewire"
76PACKAGECONFIG[pulseaudio] = "-DSDL_PULSEAUDIO=ON,-DSDL_PULSEAUDIO=OFF,pulseaudio"
77PACKAGECONFIG[vulkan] = "-DSDL_VULKAN=ON,-DSDL_VULKAN=OFF"
78PACKAGECONFIG[wayland] = "-DSDL_WAYLAND=ON,-DSDL_WAYLAND=OFF,wayland-native wayland wayland-protocols libxkbcommon"
79PACKAGECONFIG[x11] = "-DSDL_X11=ON,-DSDL_X11=OFF,virtual/libx11 libxext libxrandr libxrender"
80
81CFLAGS:append:class-native = " -DNO_SHARED_MEMORY"
82
83FILES:${PN} += "${datadir}/licenses/SDL2/LICENSE.txt"
84
85BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/libva/libva-initial_2.10.0.bb b/meta/recipes-graphics/libva/libva-initial_2.20.0.bb
index 5c6abeafe6..453096822f 100644
--- a/meta/recipes-graphics/libva/libva-initial_2.10.0.bb
+++ b/meta/recipes-graphics/libva/libva-initial_2.20.0.bb
@@ -1,5 +1,8 @@
1require libva.inc 1require libva.inc
2 2
3do_install_append () { 3PACKAGECONFIG ?= ""
4
5do_install:append () {
4 rm -f ${D}${libdir}/*.so* 6 rm -f ${D}${libdir}/*.so*
5} 7}
8
diff --git a/meta/recipes-graphics/libva/libva-utils_2.10.0.bb b/meta/recipes-graphics/libva/libva-utils_2.20.1.bb
index 828f4fb317..3bce9a1e32 100644
--- a/meta/recipes-graphics/libva/libva-utils_2.10.0.bb
+++ b/meta/recipes-graphics/libva/libva-utils_2.20.1.bb
@@ -14,8 +14,8 @@ SECTION = "x11"
14LICENSE = "MIT" 14LICENSE = "MIT"
15LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e" 15LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e"
16 16
17SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.10-branch" 17SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.20-branch;protocol=https"
18SRCREV = "f112ee75fcd1472131b20f901b93f6ac1d293fad" 18SRCREV = "2ad888bb463dc9bfb3deb512ec9faf78f1d3bfa8"
19S = "${WORKDIR}/git" 19S = "${WORKDIR}/git"
20 20
21UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))$" 21UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))$"
diff --git a/meta/recipes-graphics/libva/libva.inc b/meta/recipes-graphics/libva/libva.inc
index d251afa125..486291bced 100644
--- a/meta/recipes-graphics/libva/libva.inc
+++ b/meta/recipes-graphics/libva/libva.inc
@@ -16,14 +16,22 @@ BUGTRACKER = "https://github.com/intel/libva/issues"
16SECTION = "x11" 16SECTION = "x11"
17LICENSE = "MIT" 17LICENSE = "MIT"
18 18
19SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2" 19SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/libva-${PV}.tar.bz2"
20LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" 20LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
21SRC_URI[sha256sum] = "fa81e35b50d9818fce5ec9eeeeff08a24a8864ceeb9a5c8e7ae4446eacfc0236" 21SRC_URI[sha256sum] = "f72bdb4f48dfe71ad01f1cbefe069672a2c949a6abd51cf3c4d4784210badc49"
22 22
23S = "${WORKDIR}/libva-${PV}" 23S = "${WORKDIR}/libva-${PV}"
24 24
25UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases" 25GITHUB_BASE_URI = "https://github.com/intel/libva/releases"
26 26
27DEPENDS = "libdrm" 27DEPENDS = "libdrm"
28 28
29inherit meson pkgconfig 29inherit meson pkgconfig github-releases
30
31PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxext libxfixes"
32PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/mesa"
33
34PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland"
35
36BBCLASSEXTEND = "native nativesdk"
37
diff --git a/meta/recipes-graphics/libva/libva_2.10.0.bb b/meta/recipes-graphics/libva/libva_2.10.0.bb
deleted file mode 100644
index 4d3fa50963..0000000000
--- a/meta/recipes-graphics/libva/libva_2.10.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
1require libva.inc
2
3PACKAGECONFIG ??= " \
4 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', '', d)} \
5 ${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)} \
6"
7
8PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxext libxfixes"
9PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/mesa"
10
11PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland"
12
13PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland"
14
15RDEPENDS_${PN}-x11 =+ "${PN}"
16RDEPENDS_${PN}-glx =+ "${PN}-x11"
17
18FILES_${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}"
19FILES_${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}"
20FILES_${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}"
diff --git a/meta/recipes-graphics/libva/libva_2.20.0.bb b/meta/recipes-graphics/libva/libva_2.20.0.bb
new file mode 100644
index 0000000000..63dc5af8f2
--- /dev/null
+++ b/meta/recipes-graphics/libva/libva_2.20.0.bb
@@ -0,0 +1,15 @@
1require libva.inc
2
3PACKAGECONFIG ??= " \
4 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', '', d)} \
5 ${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)} \
6"
7
8PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland"
9
10RDEPENDS:${PN}-x11 =+ "${PN}"
11RDEPENDS:${PN}-glx =+ "${PN}-x11"
12
13FILES:${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}"
14FILES:${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}"
15FILES:${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..d1f0a67d84 100644
--- a/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb
+++ b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb
@@ -3,20 +3,19 @@ DESCRIPTION = "Very simple session manager for matchbox tools"
3HOMEPAGE = "http://www.matchbox-project.org/" 3HOMEPAGE = "http://www.matchbox-project.org/"
4BUGTRACKER = "http://bugzilla.yoctoproject.org/" 4BUGTRACKER = "http://bugzilla.yoctoproject.org/"
5 5
6LICENSE = "GPLv2" 6LICENSE = "GPL-2.0-only"
7LIC_FILES_CHKSUM = "file://matchbox-session;endline=20;md5=180f1c169a15d059a56c30094f6fb5ea" 7LIC_FILES_CHKSUM = "file://matchbox-session;endline=20;md5=180f1c169a15d059a56c30094f6fb5ea"
8 8
9SECTION = "x11" 9SECTION = "x11"
10RCONFLICTS_${PN} = "matchbox-common" 10RCONFLICTS:${PN} = "matchbox-common"
11 11
12SRC_URI = "file://matchbox-session" 12SRC_URI = "file://matchbox-session"
13S = "${WORKDIR}" 13S = "${WORKDIR}"
14 14
15PR = "r4"
16 15
17inherit update-alternatives 16inherit update-alternatives
18 17
19ALTERNATIVE_${PN} = "x-session-manager" 18ALTERNATIVE:${PN} = "x-session-manager"
20ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/matchbox-session" 19ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/matchbox-session"
21ALTERNATIVE_PRIORITY = "100" 20ALTERNATIVE_PRIORITY = "100"
22 21
diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm/0001-Fix-build-with-gcc-10.patch b/meta/recipes-graphics/matchbox-wm/matchbox-wm/0001-Fix-build-with-gcc-10.patch
deleted file mode 100644
index 541b5c9c84..0000000000
--- a/meta/recipes-graphics/matchbox-wm/matchbox-wm/0001-Fix-build-with-gcc-10.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From 8a8f8446e803cad04d7bbceaab78ee45d9778c3c Mon Sep 17 00:00:00 2001
2From: Adrian Bunk <bunk@stusta.de>
3Date: Tue, 12 May 2020 09:44:05 +0300
4Subject: Fix build with gcc 10
5
6Upstream-Status: Pending
7Signed-off-by: Adrian Bunk <bunk@stusta.de>
8---
9 src/mbtheme.h | 2 +-
10 src/structs.h | 2 +-
11 2 files changed, 2 insertions(+), 2 deletions(-)
12
13diff --git a/src/mbtheme.h b/src/mbtheme.h
14index aa9a7c5..ad03bde 100644
15--- a/src/mbtheme.h
16+++ b/src/mbtheme.h
17@@ -46,7 +46,7 @@ typedef struct _mb_theme_param
18
19 } MBThemeParam;
20
21-enum {
22+typedef enum {
23 LAYER_GRADIENT_HORIZ = 1,
24 LAYER_GRADIENT_VERT,
25 LAYER_LABEL,
26diff --git a/src/structs.h b/src/structs.h
27index 24985e7..8f53e72 100644
28--- a/src/structs.h
29+++ b/src/structs.h
30@@ -148,7 +148,7 @@
31
32 /* Atoms, if you change these check ewmh_init() first */
33
34-enum {
35+typedef enum {
36 WM_STATE = 0,
37 WM_CHANGE_STATE,
38 WM_PROTOCOLS,
39--
402.17.1
41
diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb
index a08eb252ce..880d4ed666 100644
--- a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb
+++ b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb
@@ -2,18 +2,16 @@ SUMMARY = "Matchbox lightweight window manager"
2HOMEPAGE = "http://matchbox-project.org" 2HOMEPAGE = "http://matchbox-project.org"
3BUGTRACKER = "http://bugzilla.yoctoproject.org/" 3BUGTRACKER = "http://bugzilla.yoctoproject.org/"
4 4
5LICENSE = "GPLv2+" 5LICENSE = "GPL-2.0-or-later"
6LIC_FILES_CHKSUM = "file://src/wm.h;endline=21;md5=a7e844465edbcf79c282369f93caa835 \ 6LIC_FILES_CHKSUM = "file://src/wm.h;endline=21;md5=ce20617ac10f26045cc57b8d977ab552 \
7 file://src/main.c;endline=21;md5=3e5d9f832b527b0d72dbe8e3c4c60b95 \ 7 file://src/main.c;endline=21;md5=508f280276140250ce483e0a44f7a9ec \
8 file://src/wm.c;endline=21;md5=8dc9d24477d87ef5dfbc2e4927146aab" 8 file://src/wm.c;endline=21;md5=f54584fb0d48cfc2e6876e0f0e272e6c"
9 9
10SECTION = "x11/wm" 10SECTION = "x11/wm"
11DEPENDS = "libmatchbox virtual/libx11 libxext libxrender startup-notification expat gconf libxcursor libxfixes" 11DEPENDS = "libmatchbox virtual/libx11 libxext libxrender startup-notification expat gconf libxcursor libxfixes"
12 12
13# SRCREV tagged 1.2.2 13SRCREV = "ce8c1053270d960a7235ab5c3435f707541810a4"
14SRCREV = "27da947e7fbdf9659f7e5bd1e92af92af6c03970" 14SRC_URI = "git://git.yoctoproject.org/matchbox-window-manager;branch=master;protocol=https \
15SRC_URI = "git://git.yoctoproject.org/matchbox-window-manager \
16 file://0001-Fix-build-with-gcc-10.patch \
17 file://kbdconfig" 15 file://kbdconfig"
18 16
19S = "${WORKDIR}/git" 17S = "${WORKDIR}/git"
@@ -22,7 +20,7 @@ inherit autotools pkgconfig features_check
22# depends on virtual/libx11 20# depends on virtual/libx11
23REQUIRED_DISTRO_FEATURES = "x11" 21REQUIRED_DISTRO_FEATURES = "x11"
24 22
25FILES_${PN} = "${bindir}/* \ 23FILES:${PN} = "${bindir}/* \
26 ${datadir}/matchbox \ 24 ${datadir}/matchbox \
27 ${sysconfdir}/matchbox \ 25 ${sysconfdir}/matchbox \
28 ${datadir}/themes/blondie/matchbox \ 26 ${datadir}/themes/blondie/matchbox \
@@ -35,6 +33,6 @@ EXTRA_OECONF = " --enable-startup-notification \
35 --with-expat-lib=${STAGING_LIBDIR} \ 33 --with-expat-lib=${STAGING_LIBDIR} \
36 --with-expat-includes=${STAGING_INCDIR}" 34 --with-expat-includes=${STAGING_INCDIR}"
37 35
38do_install_prepend() { 36do_install:prepend() {
39 install ${WORKDIR}/kbdconfig ${S}/data/kbdconfig 37 install ${WORKDIR}/kbdconfig ${S}/data/kbdconfig
40} 38}
diff --git a/meta/recipes-graphics/menu-cache/menu-cache_1.1.0.bb b/meta/recipes-graphics/menu-cache/menu-cache_1.1.0.bb
index fc4e0a4d84..8875a939e0 100644
--- a/meta/recipes-graphics/menu-cache/menu-cache_1.1.0.bb
+++ b/meta/recipes-graphics/menu-cache/menu-cache_1.1.0.bb
@@ -2,7 +2,7 @@ SUMMARY = "Library for caching application menus"
2DESCRIPTION = "A library creating and utilizing caches to speed up freedesktop.org application menus" 2DESCRIPTION = "A library creating and utilizing caches to speed up freedesktop.org application menus"
3HOMEPAGE = "http://lxde.sourceforge.net/" 3HOMEPAGE = "http://lxde.sourceforge.net/"
4 4
5LICENSE = "LGPLv2.1+" 5LICENSE = "LGPL-2.1-or-later"
6LIC_FILES_CHKSUM = "file://COPYING;md5=0964c689fcf4c21c6797ea87408416b6" 6LIC_FILES_CHKSUM = "file://COPYING;md5=0964c689fcf4c21c6797ea87408416b6"
7 7
8SECTION = "x11/libs" 8SECTION = "x11/libs"
diff --git a/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch b/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch
new file mode 100644
index 0000000000..1711e22585
--- /dev/null
+++ b/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch
@@ -0,0 +1,53 @@
1From 051f41beda540f0ae77b341db01a6de83c9e938a Mon Sep 17 00:00:00 2001
2From: Markus Volk <f_l_k@t-online.de>
3Date: Fri, 8 Mar 2024 15:53:11 +0100
4Subject: [PATCH] Revert "meson: do not pull in clc for clover"
5
6This reverts commit 815a6647eb1383e9dc704ffcc266d85f3b13338a.
7Upstream-Status: Inappropriate [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27783/diffs?commit_id=a976f2c9f0c07f9e06cc9affd9124b45bc60c2bd]
8
9Once the merge request above was added, it will only be possible to provide opencl spir-v with gallium-rusticl=true. This is not yet supported in the mesa recipe.
10For now reverting this commit allows to still use clover with opencl-spirv, which would otherwise be broken starting from mesa 24.0.2.
11
12After it was merged, this patch needs to be removed and rusticl support will be required
13
14Signed-off-by: Markus Volk <f_l_k@t-online.de>
15---
16 meson.build | 3 ++-
17 src/compiler/meson.build | 2 +-
18 2 files changed, 3 insertions(+), 2 deletions(-)
19
20diff --git a/meson.build b/meson.build
21index 2db6185..741b5d1 100644
22--- a/meson.build
23+++ b/meson.build
24@@ -813,6 +813,7 @@ if _opencl != 'disabled'
25 error('The Clover OpenCL state tracker requires rtti')
26 endif
27
28+ with_clc = true
29 with_gallium_opencl = true
30 with_opencl_icd = _opencl == 'icd'
31 else
32@@ -837,7 +838,7 @@ if with_gallium_rusticl
33 endif
34
35 dep_clc = null_dep
36-if with_gallium_opencl or with_clc
37+if with_clc
38 dep_clc = dependency('libclc')
39 endif
40
41diff --git a/src/compiler/meson.build b/src/compiler/meson.build
42index 8d73544..1dae56d 100644
43--- a/src/compiler/meson.build
44+++ b/src/compiler/meson.build
45@@ -79,7 +79,7 @@ subdir('nir')
46
47 subdir('spirv')
48
49-if with_clc
50+if with_opencl_spirv
51 subdir('clc')
52 endif
53 if with_gallium
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 @@
1From f148d4f1b5b13288b254ead07f1d008d997e2342 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Mon, 2 Nov 2020 23:23:53 +0100
4Subject: [PATCH] anv: fix a build race between generating a header and using
5 it
6
7anv_batch_chain.c includes genX_bits.h but doesn't ensure it gets
8generated first. This causes build failures, as observed here:
9https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/1501/steps/8/logs/step2d
10
11Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7412]
12Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
13---
14 src/intel/vulkan/meson.build | 1 +
15 1 file changed, 1 insertion(+)
16
17diff --git a/src/intel/vulkan/meson.build b/src/intel/vulkan/meson.build
18index 36e1689314e..b713d8eade3 100644
19--- a/src/intel/vulkan/meson.build
20+++ b/src/intel/vulkan/meson.build
21@@ -131,6 +131,7 @@ libanv_files = files(
22 anv_deps = [
23 dep_libdrm,
24 dep_valgrind,
25+ idep_genxml,
26 idep_nir_headers,
27 idep_vulkan_util_headers,
28 ]
29--
302.29.0
31
diff --git a/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch b/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch
new file mode 100644
index 0000000000..ab16152090
--- /dev/null
+++ b/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch
@@ -0,0 +1,58 @@
1From 4bd15a419e892da843489c374c58c5b29c40b5d6 Mon Sep 17 00:00:00 2001
2From: Romain Naour <romain.naour@smile.fr>
3Date: Tue, 6 Feb 2024 09:47:09 +0100
4Subject: [PATCH 1/2] drisw: fix build without dri3
5
6commit 1887368df41 ("glx/sw: check for modifier support in the kopper path")
7added dri3_priv.h header and dri3_check_multibuffer() function in drisw that
8can be build without dri3.
9
10 i686-buildroot-linux-gnu/bin/ld: src/glx/libglx.a.p/drisw_glx.c.o: in function `driswCreateScreenDriver':
11 drisw_glx.c:(.text.driswCreateScreenDriver+0x3a0): undefined reference to `dri3_check_multibuffer'
12 collect2: error: ld returned 1 exit status
13
14Add HAVE_DRI3 guard around dri3_priv.h header and the zink code using
15dri3_check_multibuffer().
16
17Fixes: 1887368df41 ("glx/sw: check for modifier support in the kopper path")
18
19Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478]
20Signed-off-by: Romain Naour <romain.naour@smile.fr>
21Signed-off-by: Khem Raj <raj.khem@gmail.com>
22---
23 src/glx/drisw_glx.c | 4 ++++
24 1 file changed, 4 insertions(+)
25
26diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c
27index 3d3f752..4b19e2d 100644
28--- a/src/glx/drisw_glx.c
29+++ b/src/glx/drisw_glx.c
30@@ -32,7 +32,9 @@
31 #include <dlfcn.h>
32 #include "dri_common.h"
33 #include "drisw_priv.h"
34+#ifdef HAVE_DRI3
35 #include "dri3_priv.h"
36+#endif
37 #include <X11/extensions/shmproto.h>
38 #include <assert.h>
39 #include <vulkan/vulkan_core.h>
40@@ -995,6 +997,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv,
41 goto handle_error;
42 }
43
44+#ifdef HAVE_DRI3
45 if (pdpyp->zink) {
46 bool err;
47 psc->has_multibuffer = dri3_check_multibuffer(priv->dpy, &err);
48@@ -1005,6 +1008,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv,
49 goto handle_error;
50 }
51 }
52+#endif
53
54 glx_config_destroy_list(psc->base.configs);
55 psc->base.configs = configs;
56--
572.44.0
58
diff --git a/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch b/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch
deleted file mode 100644
index 8bedbac669..0000000000
--- a/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From 8973e297f2f9b17498b9dc0e37a19481d4bb7df9 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 16 Oct 2020 11:03:47 -0700
4Subject: [PATCH] futex.h: Define __NR_futex if it does not exist
5
6__NR_futex is not defines by newer architectures e.g. arc, riscv32 as
7they only have 64bit variant of time_t. Glibc defines SYS_futex interface based on
8__NR_futex, since this is used in applications, such applications start
9to fail to build for these newer architectures. This patch defines a
10fallback to alias __NR_futex to __NR_futex_tim64 so SYS_futex keeps
11working
12
13Upstream-Status: Pending
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15---
16 src/util/futex.h | 4 ++++
17 1 file changed, 4 insertions(+)
18
19--- a/src/util/futex.h
20+++ b/src/util/futex.h
21@@ -34,6 +34,10 @@
22 #include <sys/syscall.h>
23 #include <sys/time.h>
24
25+#if !defined(SYS_futex) && defined(SYS_futex_time64)
26+# define SYS_futex SYS_futex_time64
27+#endif
28+
29 static inline long sys_futex(void *addr1, int op, int val1, const struct timespec *timeout, void *addr2, int val3)
30 {
31 return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
diff --git a/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch b/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
index 15485feb71..baa98a0d46 100644
--- a/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
+++ b/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
@@ -1,4 +1,4 @@
1From bb2f0bea553d51d659a9bc46f7ae186885405151 Mon Sep 17 00:00:00 2001 1From 02cc21800fe29f566add525e63f619c0536d6e7b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 13 Jan 2020 15:23:47 -0800 3Date: Mon, 13 Jan 2020 15:23:47 -0800
4Subject: [PATCH] meson misdetects 64bit atomics on mips/clang 4Subject: [PATCH] meson misdetects 64bit atomics on mips/clang
@@ -10,7 +10,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
10 1 file changed, 1 insertion(+), 1 deletion(-) 10 1 file changed, 1 insertion(+), 1 deletion(-)
11 11
12diff --git a/src/util/u_atomic.c b/src/util/u_atomic.c 12diff --git a/src/util/u_atomic.c b/src/util/u_atomic.c
13index e4bffa8..58e1ddd 100644 13index 5a5eab4..e499516 100644
14--- a/src/util/u_atomic.c 14--- a/src/util/u_atomic.c
15+++ b/src/util/u_atomic.c 15+++ b/src/util/u_atomic.c
16@@ -21,7 +21,7 @@ 16@@ -21,7 +21,7 @@
@@ -22,6 +22,3 @@ index e4bffa8..58e1ddd 100644
22 22
23 #include <stdint.h> 23 #include <stdint.h>
24 #include <pthread.h> 24 #include <pthread.h>
25--
262.24.1
27
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..7be7d81eeb 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 @@
1From 0d9ed002eff176b902da266d89829a9b0cb10946 Mon Sep 17 00:00:00 2001 1From e8ec6b1cc5e401ba719095722d8b317d755ae613 Mon Sep 17 00:00:00 2001
2From: Alistair Francis <alistair@alistair23.me> 2From: Alistair Francis <alistair@alistair23.me>
3Date: Thu, 14 Nov 2019 13:04:49 -0800 3Date: Thu, 14 Nov 2019 13:04:49 -0800
4Subject: [PATCH] meson.build: check for all linux host_os combinations 4Subject: [PATCH] meson.build: check for all linux host_os combinations
@@ -14,30 +14,29 @@ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
14Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> 14Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
15Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> 15Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
16Signed-off-by: Alistair Francis <alistair@alistair23.me> 16Signed-off-by: Alistair Francis <alistair@alistair23.me>
17
18--- 17---
19 meson.build | 4 ++-- 18 meson.build | 4 ++--
20 1 file changed, 2 insertions(+), 2 deletions(-) 19 1 file changed, 2 insertions(+), 2 deletions(-)
21 20
22diff --git a/meson.build b/meson.build 21diff --git a/meson.build b/meson.build
23index 898d025..09e3759 100644 22index 133fd9a..817861e 100644
24--- a/meson.build 23--- a/meson.build
25+++ b/meson.build 24+++ b/meson.build
26@@ -124,7 +124,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2 25@@ -128,7 +128,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
27 # Only build shared_glapi if at least one OpenGL API is enabled 26 # Only build shared_glapi if at least one OpenGL API is enabled
28 with_shared_glapi = with_shared_glapi and with_any_opengl 27 with_shared_glapi = with_shared_glapi and with_any_opengl
29 28
30-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos'].contains(host_machine.system()) 29-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android', 'managarm'].contains(host_machine.system())
31+system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly'].contains(host_machine.system()) or host_machine.system().startswith('linux') 30+system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android', 'managarm'].contains(host_machine.system()) or host_machine.system().startswith('linux')
32 31
33 dri_drivers = get_option('dri-drivers') 32 gallium_drivers = get_option('gallium-drivers')
34 if dri_drivers.contains('auto') 33 if gallium_drivers.contains('auto')
35@@ -884,7 +884,7 @@ if cc.compiles('__uint128_t foo(void) { return 0; }', 34@@ -997,7 +997,7 @@ if cc.has_function('fmemopen')
36 endif 35 endif
37 36
38 # TODO: this is very incomplete 37 # TODO: this is very incomplete
39-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd'].contains(host_machine.system()) 38-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android', 'managarm'].contains(host_machine.system())
40+if ['cygwin', 'gnu', 'gnu/kfreebsd'].contains(host_machine.system()) or host_machine.system().startswith('linux') 39+if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android', 'managarm'].contains(host_machine.system()) or host_machine.system().startswith('linux')
41 pre_args += '-D_GNU_SOURCE' 40 pre_args += '-D_GNU_SOURCE'
42 elif host_machine.system() == 'sunos' 41 elif host_machine.system() == 'sunos'
43 pre_args += '-D__EXTENSIONS__' 42 pre_args += '-D__EXTENSIONS__'
diff --git a/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch b/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch
new file mode 100644
index 0000000000..036a0b4945
--- /dev/null
+++ b/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch
@@ -0,0 +1,42 @@
1From 62495ebb977866c52d5bed8499a547c49f0d9bc1 Mon Sep 17 00:00:00 2001
2From: Romain Naour <romain.naour@smile.fr>
3Date: Tue, 6 Feb 2024 09:47:10 +0100
4Subject: [PATCH 2/2] glxext: don't try zink if not enabled in mesa
5
6Commit 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers")
7added an automatic zink fallback even when the zink gallium is not
8enabled at build time.
9
10It leads to unexpected error log while loading drisw driver and
11zink is not installed on the rootfs:
12
13 MESA-LOADER: failed to open zink: /usr/lib/dri/zink_dri.so
14
15Fixes: 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers")
16
17Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478]
18Signed-off-by: Romain Naour <romain.naour@smile.fr>
19Signed-off-by: Khem Raj <raj.khem@gmail.com>
20---
21 src/glx/glxext.c | 2 ++
22 1 file changed, 2 insertions(+)
23
24diff --git a/src/glx/glxext.c b/src/glx/glxext.c
25index 05c825a..7a06aa9 100644
26--- a/src/glx/glxext.c
27+++ b/src/glx/glxext.c
28@@ -908,9 +908,11 @@ __glXInitialize(Display * dpy)
29 #endif /* HAVE_DRI3 */
30 if (!debug_get_bool_option("LIBGL_DRI2_DISABLE", false))
31 dpyPriv->dri2Display = dri2CreateDisplay(dpy);
32+#if defined(HAVE_ZINK)
33 if (!dpyPriv->dri3Display && !dpyPriv->dri2Display)
34 try_zink = !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false) &&
35 !getenv("GALLIUM_DRIVER");
36+#endif /* HAVE_ZINK */
37 }
38 #endif /* GLX_USE_DRM */
39 if (glx_direct)
40--
412.44.0
42
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
deleted file mode 100644
index 89c0d150fa..0000000000
--- a/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
+++ /dev/null
@@ -1,61 +0,0 @@
1From ce57ce220d9c377beabf4914f33c43118f672ffe Mon Sep 17 00:00:00 2001
2From: Alistair Francis <alistair@alistair23.me>
3Date: Thu, 14 Nov 2019 13:08:31 -0800
4Subject: [PATCH] meson.build: make TLS ELF optional
5
6USE_ELF_TLS has replaced GLX_USE_TLS so this patch is the original "make
7TLS GLX optional again" patch updated to the latest mesa.
8
9For details, see:
10https://gitlab.freedesktop.org/mesa/mesa/-/issues/966
11
12This prevents runtime segfault on musl:
13
14Traceback (most recent call last):
15 File "/home/pokybuild/yocto-worker/musl-qemux86/build/meta/lib/oeqa/core/decorator/__init__.py", line 36, in wrapped_f
16 return func(*args, **kwargs)
17 File "/home/pokybuild/yocto-worker/musl-qemux86/build/meta/lib/oeqa/runtime/cases/parselogs.py", line 378, in test_parselogs
18 self.assertEqual(errcount, 0, msg=self.msg)
19AssertionError: 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
20-----------------------
21Central 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
22***********************
23
24Upstream-Status: Inappropriate [configuration]
25Signed-off-by: Alistair Francis <alistair@alistair23.me>
26
27---
28 meson.build | 2 +-
29 meson_options.txt | 6 ++++++
30 2 files changed, 7 insertions(+), 1 deletion(-)
31
32diff --git a/meson.build b/meson.build
33index c5136ea..185270d 100644
34--- a/meson.build
35+++ b/meson.build
36@@ -424,7 +424,7 @@ endif
37
38 # Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS.
39 use_elf_tls = false
40-if not ['windows', 'freebsd', 'openbsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29)
41+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')
42 pre_args += '-DUSE_ELF_TLS'
43 use_elf_tls = true
44 endif
45diff --git a/meson_options.txt b/meson_options.txt
46index 2d39d13..72006eb 100644
47--- a/meson_options.txt
48+++ b/meson_options.txt
49@@ -368,6 +368,12 @@ option(
50 value : true,
51 description : 'Enable direct rendering in GLX and EGL for DRI',
52 )
53+option(
54+ 'elf-tls',
55+ type : 'boolean',
56+ value : true,
57+ description : 'Enable TLS support in ELF',
58+)
59 option(
60 'prefer-iris',
61 type : 'boolean',
diff --git a/meta/recipes-graphics/mesa/libglu_9.0.1.bb b/meta/recipes-graphics/mesa/libglu_9.0.3.bb
index 703f131f79..8151727c52 100644
--- a/meta/recipes-graphics/mesa/libglu_9.0.1.bb
+++ b/meta/recipes-graphics/mesa/libglu_9.0.3.bb
@@ -10,21 +10,22 @@ LIC_FILES_CHKSUM = "file://include/GL/glu.h;endline=29;md5=6b79c570f644363b35645
10 10
11# Epoch as this used to be part of mesa 11# Epoch as this used to be part of mesa
12PE = "2" 12PE = "2"
13PR = "0"
14 13
15SRC_URI = "https://mesa.freedesktop.org/archive/glu/glu-${PV}.tar.gz" 14SRC_URI = "https://mesa.freedesktop.org/archive/glu/glu-${PV}.tar.xz \
15 "
16 16
17SRC_URI[md5sum] = "5599a0e0a97335e10239d9165aced60d" 17SRC_URI[sha256sum] = "bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f"
18SRC_URI[sha256sum] = "f6f484cfcd51e489afe88031afdea1e173aa652697e4c19ddbcb8260579a10f7"
19 18
20S = "${WORKDIR}/glu-${PV}" 19S = "${WORKDIR}/glu-${PV}"
21 20
22DEPENDS = "virtual/libgl" 21DEPENDS = "virtual/libgl"
23 22
24inherit autotools pkgconfig features_check 23inherit meson pkgconfig features_check
24
25EXTRA_OEMESON = "-Dgl_provider=gl"
25 26
26# Requires libGL.so which is provided by mesa when x11 in DISTRO_FEATURES 27# Requires libGL.so which is provided by mesa when x11 in DISTRO_FEATURES
27REQUIRED_DISTRO_FEATURES = "x11 opengl" 28REQUIRED_DISTRO_FEATURES = "x11 opengl"
28 29
29# Remove the mesa-glu dependency in mesa-glu-dev, as mesa-glu is empty 30# Remove the mesa-glu dependency in mesa-glu-dev, as mesa-glu is empty
30RDEPENDS_${PN}-dev = "" 31DEV_PKG_DEPENDENCY = ""
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
deleted file mode 100644
index f6b59a11fe..0000000000
--- a/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch
+++ /dev/null
@@ -1,377 +0,0 @@
1From 779438770bedf3d53e6ad8f7cd6889b7f50daf3b Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Wed, 9 Jul 2014 14:23:41 +0200
4Subject: [PATCH] configure: Allow to disable demos which require GLEW or GLU
5
6* in some systems without X11 support we don't have GLEW, but
7 mesa-demos are still useful
8
9Upstream-Status: Pending
10
11Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
12
13Port to 8.3.0
14Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
15---
16 configure.ac | 49 ++++++++++++++++++++---------
17 src/Makefile.am | 18 ++++++++---
18 src/demos/Makefile.am | 73 ++++++++++++++++++++++++-------------------
19 src/egl/Makefile.am | 8 +++--
20 src/egl/opengles1/Makefile.am | 10 ++++--
21 src/egl/opengles2/Makefile.am | 29 ++++++++---------
22 6 files changed, 117 insertions(+), 70 deletions(-)
23
24diff --git a/configure.ac b/configure.ac
25index 0525b09..28834cd 100644
26--- a/configure.ac
27+++ b/configure.ac
28@@ -93,25 +93,44 @@ AC_EGREP_HEADER([glutInitContextProfile],
29 [AC_DEFINE(HAVE_FREEGLUT)],
30 [])
31
32-dnl Check for GLEW
33-PKG_CHECK_MODULES(GLEW, [glew >= 1.5.4])
34-DEMO_CFLAGS="$DEMO_CFLAGS $GLEW_CFLAGS"
35-DEMO_LIBS="$DEMO_LIBS $GLEW_LIBS"
36+AC_ARG_ENABLE([glew],
37+ [AS_HELP_STRING([--enable-glew],
38+ [build demos which require glew @<:@default=yes@:>@])],
39+ [enable_glew="$enableval"],
40+ [enable_glew=yes]
41+)
42+
43+if test "x$enable_glew" = xyes; then
44+ dnl Check for GLEW
45+ PKG_CHECK_MODULES(GLEW, [glew >= 1.5.4], [glew_enabled=yes], [glew_enabled=no])
46+ DEMO_CFLAGS="$DEMO_CFLAGS $GLEW_CFLAGS"
47+ DEMO_LIBS="$DEMO_LIBS $GLEW_LIBS"
48+fi
49
50 # LIBS was set by AC_CHECK_LIB above
51 LIBS=""
52
53-PKG_CHECK_MODULES(GLU, [glu], [],
54- [AC_CHECK_HEADER([GL/glu.h],
55- [],
56- AC_MSG_ERROR([GLU not found]))
57- AC_CHECK_LIB([GLU],
58- [gluBeginCurve],
59- [GLU_LIBS=-lGLU],
60- AC_MSG_ERROR([GLU required])) ])
61+AC_ARG_ENABLE([glu],
62+ [AS_HELP_STRING([--enable-glu],
63+ [build demos which require glu @<:@default=yes@:>@])],
64+ [enable_glu="$enableval"],
65+ [enable_glu=yes]
66+)
67
68-DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS"
69-DEMO_LIBS="$DEMO_LIBS $GLU_LIBS"
70+if test "x$enable_glu" = xyes; then
71+ PKG_CHECK_MODULES(GLU, [glu], [glu_enabled=yes],
72+ [AC_CHECK_HEADER([GL/glu.h],
73+ [],
74+ AC_MSG_ERROR([GLU not found]))
75+ AC_CHECK_LIB([GLU],
76+ [gluBeginCurve],
77+ [GLU_LIBS=-lGLU
78+ glu_enabled=yes],
79+ AC_MSG_ERROR([GLU required])) ])
80+
81+ DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS"
82+ DEMO_LIBS="$DEMO_LIBS $GLU_LIBS"
83+fi
84
85 AC_ARG_ENABLE([egl],
86 [AS_HELP_STRING([--enable-egl],
87@@ -304,6 +323,8 @@ AC_SUBST([WAYLAND_CFLAGS])
88 AC_SUBST([WAYLAND_LIBS])
89
90
91+AM_CONDITIONAL(HAVE_GLU, test "x$glu_enabled" = "xyes")
92+AM_CONDITIONAL(HAVE_GLEW, test "x$glew_enabled" = "xyes")
93 AM_CONDITIONAL(HAVE_EGL, test "x$egl_enabled" = "xyes")
94 AM_CONDITIONAL(HAVE_GLESV1, test "x$glesv1_enabled" = "xyes")
95 AM_CONDITIONAL(HAVE_GLESV2, test "x$glesv2_enabled" = "xyes")
96diff --git a/src/Makefile.am b/src/Makefile.am
97index 1647d64..8b89dee 100644
98--- a/src/Makefile.am
99+++ b/src/Makefile.am
100@@ -22,15 +22,19 @@
101 # Authors:
102 # Eric Anholt <eric@anholt.net>
103
104+if HAVE_GLEW
105+UTIL = util
106+endif
107+
108 SUBDIRS = \
109- util \
110+ $(UTIL) \
111 data \
112 demos \
113 egl \
114 fp \
115 fpglsl \
116 glsl \
117- gs \
118+ gs \
119 objviewer \
120 osdemos \
121 perf \
122@@ -40,8 +44,12 @@ SUBDIRS = \
123 slang \
124 tests \
125 tools \
126- trivial \
127- vp \
128- vpglsl \
129 wgl \
130 xdemos
131+
132+if HAVE_GLEW
133+SUBDIRS += \
134+ vp \
135+ vpglsl \
136+ trivial
137+endif
138diff --git a/src/demos/Makefile.am b/src/demos/Makefile.am
139index 41603fa..ab1e3ab 100644
140--- a/src/demos/Makefile.am
141+++ b/src/demos/Makefile.am
142@@ -30,91 +30,100 @@ AM_LDFLAGS = \
143 $(DEMO_LIBS) \
144 $(GLUT_LIBS)
145
146+bin_PROGRAMS =
147+
148 if HAVE_GLUT
149-bin_PROGRAMS = \
150+if HAVE_GLEW
151+bin_PROGRAMS += \
152 arbfplight \
153 arbfslight \
154 arbocclude \
155 arbocclude2 \
156- bounce \
157- clearspd \
158 copypix \
159 cubemap \
160 cuberender \
161 dinoshade \
162- dissolve \
163- drawpix \
164 engine \
165 fbo_firecube \
166 fbotexture \
167- fire \
168 fogcoord \
169 fplight \
170 fslight \
171+ gloss \
172+ isosurf \
173+ multiarb \
174+ paltex \
175+ pointblast \
176+ projtex \
177+ shadowtex \
178+ spriteblast \
179+ stex3d \
180+ textures \
181+ vao_demo \
182+ winpos
183+
184+copypix_LDADD = ../util/libutil.la
185+cubemap_LDADD = ../util/libutil.la
186+cuberender_LDADD = ../util/libutil.la
187+engine_LDADD = ../util/libutil.la
188+fbo_firecube_LDADD = ../util/libutil.la
189+gloss_LDADD = ../util/libutil.la
190+isosurf_LDADD = ../util/libutil.la
191+multiarb_LDADD = ../util/libutil.la
192+projtex_LDADD = ../util/libutil.la
193+textures_LDADD = ../util/libutil.la
194+winpos_LDADD = ../util/libutil.la
195+endif
196+
197+if HAVE_GLU
198+bin_PROGRAMS += \
199+ bounce \
200+ clearspd \
201+ dissolve \
202+ drawpix \
203+ fire \
204 gamma \
205 gearbox \
206 gears \
207 geartrain \
208 glinfo \
209- gloss \
210 gltestperf \
211 ipers \
212- isosurf \
213 lodbias \
214 morph3d \
215- multiarb \
216- paltex \
217 pixeltest \
218- pointblast \
219- projtex \
220 ray \
221 readpix \
222 reflect \
223 renormal \
224- shadowtex \
225 singlebuffer \
226 spectex \
227- spriteblast \
228- stex3d \
229 teapot \
230 terrain \
231 tessdemo \
232 texcyl \
233 texenv \
234- textures \
235 trispd \
236 tunnel2 \
237- tunnel \
238- vao_demo \
239- winpos
240-endif
241+ tunnel
242
243 tunnel_SOURCES = \
244 tunnel.c \
245 tunneldat.h
246
247-copypix_LDADD = ../util/libutil.la
248-cubemap_LDADD = ../util/libutil.la
249-cuberender_LDADD = ../util/libutil.la
250-drawpix_LDADD = ../util/libutil.la
251 dissolve_LDADD = ../util/libutil.la
252-engine_LDADD = ../util/libutil.la
253-fbo_firecube_LDADD = ../util/libutil.la
254+drawpix_LDADD = ../util/libutil.la
255 fire_LDADD = ../util/libutil.la
256-gloss_LDADD = ../util/libutil.la
257 ipers_LDADD = ../util/libutil.la
258-isosurf_LDADD = ../util/libutil.la
259 lodbias_LDADD = ../util/libutil.la
260-multiarb_LDADD = ../util/libutil.la
261-projtex_LDADD = ../util/libutil.la
262 readpix_LDADD = ../util/libutil.la
263 reflect_LDADD = ../util/libutil.la
264 teapot_LDADD = ../util/libutil.la
265 texcyl_LDADD = ../util/libutil.la
266-textures_LDADD = ../util/libutil.la
267 tunnel_LDADD = ../util/libutil.la
268 tunnel2_LDADD = ../util/libutil.la
269-winpos_LDADD = ../util/libutil.la
270+endif
271+endif
272
273 EXTRA_DIST = \
274 README
275diff --git a/src/egl/Makefile.am b/src/egl/Makefile.am
276index d64a49e..4fe1ca8 100644
277--- a/src/egl/Makefile.am
278+++ b/src/egl/Makefile.am
279@@ -24,8 +24,12 @@
280
281 SUBDIRS = \
282 eglut \
283- opengl \
284- openvg \
285 opengles1 \
286 opengles2 \
287 oes_vg
288+
289+if HAVE_GLU
290+SUBDIRS += \
291+ opengl \
292+ openvg
293+endif
294diff --git a/src/egl/opengles1/Makefile.am b/src/egl/opengles1/Makefile.am
295index fa397c2..21853e8 100644
296--- a/src/egl/opengles1/Makefile.am
297+++ b/src/egl/opengles1/Makefile.am
298@@ -36,9 +36,12 @@ AM_LDFLAGS = \
299 $(EGL_LIBS) \
300 -lm
301
302+noinst_PROGRAMS =
303+
304 if HAVE_EGL
305 if HAVE_GLESV1
306-noinst_PROGRAMS = \
307+if HAVE_X11
308+bin_PROGRAMS = \
309 bindtex \
310 clear \
311 drawtex_x11 \
312@@ -52,8 +55,6 @@ noinst_PROGRAMS = \
313 torus_x11 \
314 tri_x11 \
315 two_win
316-endif
317-endif
318
319 bindtex_LDADD = $(X11_LIBS)
320 es1_info_LDADD = $(X11_LIBS)
321@@ -76,3 +77,6 @@ drawtex_x11_LDADD = ../eglut/libeglut_x11.la
322 gears_x11_LDADD = ../eglut/libeglut_x11.la
323 torus_x11_LDADD = ../eglut/libeglut_x11.la
324 tri_x11_LDADD = ../eglut/libeglut_x11.la
325+endif
326+endif
327+endif
328diff --git a/src/egl/opengles2/Makefile.am b/src/egl/opengles2/Makefile.am
329index b80ba50..17f8d49 100644
330--- a/src/egl/opengles2/Makefile.am
331+++ b/src/egl/opengles2/Makefile.am
332@@ -33,27 +33,28 @@ AM_LDFLAGS = \
333 $(EGL_LIBS) \
334 -lm
335
336+bin_PROGRAMS =
337+
338 if HAVE_EGL
339 if HAVE_GLESV2
340-bin_PROGRAMS =
341-if HAVE_X11
342-bin_PROGRAMS += \
343- es2_info \
344- es2gears_x11 \
345- es2tri
346-endif
347 if HAVE_WAYLAND
348 bin_PROGRAMS += es2gears_wayland
349-endif
350-endif
351+
352+es2gears_wayland_SOURCES = es2gears.c
353+es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la
354 endif
355
356-es2_info_LDADD = $(X11_LIBS)
357-es2tri_LDADD = $(X11_LIBS)
358+if HAVE_X11
359+bin_PROGRAMS += \
360+ es2tri \
361+ es2_info \
362+ es2gears_x11
363
364+es2_info_LDADD = $(X11_LIBS)
365 es2gears_x11_SOURCES = es2gears.c
366-
367 es2gears_x11_LDADD = ../eglut/libeglut_x11.la
368+es2tri_LDADD = $(X11_LIBS)
369+endif
370+endif
371+endif
372
373-es2gears_wayland_SOURCES = es2gears.c
374-es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la
375--
3762.1.4
377
diff --git a/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch b/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch
deleted file mode 100644
index b27d9eafa5..0000000000
--- a/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1From 2e0367a941445a862ab99c54ec85d1357d0f73c0 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Thu, 10 Jul 2014 14:30:52 +0200
4Subject: [PATCH] Install few more test programs
5
6Upstream-Status: Pending
7
8Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
9
10Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
11
12---
13 src/egl/opengl/Makefile.am | 3 +--
14 src/egl/openvg/Makefile.am | 2 +-
15 2 files changed, 2 insertions(+), 3 deletions(-)
16
17diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am
18index 6d184ff6..ab09d028 100644
19--- a/src/egl/opengl/Makefile.am
20+++ b/src/egl/opengl/Makefile.am
21@@ -57,8 +57,7 @@ endif
22
23 if HAVE_EGL
24 bin_PROGRAMS = \
25- eglinfo
26-noinst_PROGRAMS = \
27+ eglinfo \
28 peglgears \
29 $(EGL_DRM_DEMOS) \
30 $(EGL_X11_DEMOS) \
31diff --git a/src/egl/openvg/Makefile.am b/src/egl/openvg/Makefile.am
32index b0f1212f..5fd1cf83 100644
33--- a/src/egl/openvg/Makefile.am
34+++ b/src/egl/openvg/Makefile.am
35@@ -49,7 +49,7 @@ endif
36
37 if HAVE_EGL
38 if HAVE_VG
39-noinst_PROGRAMS = \
40+bin_PROGRAMS = \
41 $(EGL_X11_DEMOS)
42 endif
43 endif
diff --git a/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch b/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch
deleted file mode 100644
index a6d168175f..0000000000
--- a/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch
+++ /dev/null
@@ -1,99 +0,0 @@
1From 894add34c2b5e6b4ccc78996bf681d7ec7bc9e36 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Thu, 10 Jul 2014 14:29:27 +0200
4Subject: [PATCH] glsl, perf: Add few missing .glsl, .vert, .frag files to
5 EXTRA_DATA
6
7Upstream-Status: Pending
8
9Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
10
11---
12 src/fpglsl/Makefile.am | 2 ++
13 src/glsl/Makefile.am | 10 ++++++++--
14 src/perf/Makefile.am | 6 ++++++
15 src/vpglsl/Makefile.am | 1 +
16 4 files changed, 17 insertions(+), 2 deletions(-)
17
18diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am
19index 47c1039f..fd43c919 100644
20--- a/src/fpglsl/Makefile.am
21+++ b/src/fpglsl/Makefile.am
22@@ -39,10 +39,12 @@ noinst_PROGRAMS = \
23 endif
24
25 EXTRA_DIST = \
26+ depth-read.glsl \
27 dowhile2.glsl \
28 dowhile.glsl \
29 forbreak.glsl \
30 for.glsl \
31+ infinite-loop.glsl \
32 mov.glsl \
33 mov-imm.glsl \
34 simpleif.glsl \
35diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
36index 4faa8dbf..079a29d8 100644
37--- a/src/glsl/Makefile.am
38+++ b/src/glsl/Makefile.am
39@@ -37,7 +37,7 @@ AM_LDFLAGS = \
40 if HAVE_GLUT
41 bin_PROGRAMS = \
42 array \
43- bezier \
44+ bezier \
45 bitmap \
46 brick \
47 bump \
48@@ -123,12 +123,16 @@ EXTRA_DIST = \
49 CH06-brick.vert \
50 CH11-bumpmap.frag \
51 CH11-bumpmap.vert \
52+ CH11-bumpmaptex.frag \
53 CH11-toyball.frag \
54 CH11-toyball.vert \
55 CH18-mandel.frag \
56 CH18-mandel.vert \
57- bezier.geom \
58+ bezier.geom \
59 brick.shtest \
60+ blinking-teapot.frag \
61+ blinking-teapot.vert \
62+ convolution.frag \
63 convolution.vert \
64 cubemap.frag \
65 mandelbrot.shtest \
66@@ -138,5 +142,7 @@ EXTRA_DIST = \
67 reflect.vert \
68 shadowtex.frag \
69 simple.vert \
70+ simplex-noise.glsl \
71 skinning.frag \
72+ skinning.vert \
73 toyball.shtest
74diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am
75index f0031fea..60069396 100644
76--- a/src/perf/Makefile.am
77+++ b/src/perf/Makefile.am
78@@ -59,3 +59,9 @@ endif
79
80 glslstateschange_LDADD = libperf.la ../util/libutil.la
81 glsl_compile_time_LDADD = ../util/libutil.la
82+
83+EXTRA_DIST = \
84+ glslstateschange1.frag \
85+ glslstateschange1.vert \
86+ glslstateschange2.frag \
87+ glslstateschange2.vert
88diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am
89index 4a85ed40..48b08f48 100644
90--- a/src/vpglsl/Makefile.am
91+++ b/src/vpglsl/Makefile.am
92@@ -44,6 +44,7 @@ EXTRA_DIST = \
93 func2.glsl \
94 ifelse.glsl \
95 if.glsl \
96+ infinite-loop.glsl \
97 mov.glsl \
98 nestedifs.glsl \
99 nestedswizzle.glsl \
diff --git a/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch b/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch
deleted file mode 100644
index 8a98ba60d1..0000000000
--- a/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch
+++ /dev/null
@@ -1,71 +0,0 @@
1From 477ab6d90a17d8e4d3935be6ce8b8e154db0e3e5 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Thu, 10 Jul 2014 14:48:12 +0200
4Subject: [PATCH] glsl, perf: Install .glsl, .vert, .frag files
5
6Upstream-Status: Pending
7Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
8
9---
10 src/fpglsl/Makefile.am | 3 ++-
11 src/glsl/Makefile.am | 3 ++-
12 src/perf/Makefile.am | 3 ++-
13 src/vpglsl/Makefile.am | 3 ++-
14 4 files changed, 8 insertions(+), 4 deletions(-)
15
16diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am
17index fd43c919..2bf51de4 100644
18--- a/src/fpglsl/Makefile.am
19+++ b/src/fpglsl/Makefile.am
20@@ -38,7 +38,8 @@ noinst_PROGRAMS = \
21 fp-tri
22 endif
23
24-EXTRA_DIST = \
25+demosdatadir=$(datadir)/$(PACKAGE)/
26+dist_demosdata_DATA= \
27 depth-read.glsl \
28 dowhile2.glsl \
29 dowhile.glsl \
30diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
31index 079a29d8..f66ec299 100644
32--- a/src/glsl/Makefile.am
33+++ b/src/glsl/Makefile.am
34@@ -118,7 +118,8 @@ vert_or_frag_only_LDADD = ../util/libutil.la
35 vert_tex_LDADD = ../util/libutil.la
36 vsraytrace_LDADD = ../util/libutil.la
37
38-EXTRA_DIST = \
39+demosdatadir=$(datadir)/$(PACKAGE)/
40+dist_demosdata_DATA= \
41 CH06-brick.frag \
42 CH06-brick.vert \
43 CH11-bumpmap.frag \
44diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am
45index 60069396..469bdf45 100644
46--- a/src/perf/Makefile.am
47+++ b/src/perf/Makefile.am
48@@ -60,7 +60,8 @@ endif
49 glslstateschange_LDADD = libperf.la ../util/libutil.la
50 glsl_compile_time_LDADD = ../util/libutil.la
51
52-EXTRA_DIST = \
53+demosdatadir=$(datadir)/$(PACKAGE)/
54+dist_demosdata_DATA= \
55 glslstateschange1.frag \
56 glslstateschange1.vert \
57 glslstateschange2.frag \
58diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am
59index 48b08f48..55268675 100644
60--- a/src/vpglsl/Makefile.am
61+++ b/src/vpglsl/Makefile.am
62@@ -38,7 +38,8 @@ noinst_PROGRAMS = \
63 vp-tris
64 endif
65
66-EXTRA_DIST = \
67+demosdatadir=$(datadir)/$(PACKAGE)/
68+dist_demosdata_DATA= \
69 for.glsl \
70 func.glsl \
71 func2.glsl \
diff --git a/meta/recipes-graphics/mesa/mesa-demos/0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch b/meta/recipes-graphics/mesa/mesa-demos/0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch
deleted file mode 100644
index c687647407..0000000000
--- a/meta/recipes-graphics/mesa/mesa-demos/0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1From 3aa84c47e88a4c38446ce1323abf6f2c77389104 Mon Sep 17 00:00:00 2001
2From: Prabhu <prabhu.sundararaj@freescale.com>
3Date: Mon, 16 Nov 2015 17:09:32 -0600
4Subject: [PATCH] mesa-demos: OpenVG demos with single frame need eglSwapBuffer
5
6sp and text demos rendering single frame. to display the
7single frame rendered needed a eglSwapBuffer to diplay to window.
8Hence added eglutPostRedisplay to display the frame
9
10Upstream-Status: Pending
11
12Signed-off-by: Prabhu <prabhu.sundararaj@freescale.com>
13---
14 src/egl/openvg/sp.c | 1 +
15 src/egl/openvg/text.c | 1 +
16 2 files changed, 2 insertions(+)
17
18diff --git a/src/egl/openvg/sp.c b/src/egl/openvg/sp.c
19index a20c0a3..468e91e 100644
20--- a/src/egl/openvg/sp.c
21+++ b/src/egl/openvg/sp.c
22@@ -500,6 +500,7 @@ draw(void)
23 }
24
25 vgFlush();
26+ eglutPostRedisplay();
27 }
28
29
30diff --git a/src/egl/openvg/text.c b/src/egl/openvg/text.c
31index f5c6de8..492581c 100644
32--- a/src/egl/openvg/text.c
33+++ b/src/egl/openvg/text.c
34@@ -360,6 +360,7 @@ display(void)
35 {
36 vgClear(0, 0, width, height);
37 glyph_string_draw(10.0, 10.0);
38+ eglutPostRedisplay();
39 }
40
41
42--
432.5.1
44
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 @@
1From 322af294390a7f4e1524c5a79312be6cbebce988 Mon Sep 17 00:00:00 2001
2From: Awais Belal <awais_belal@mentor.com>
3Date: Wed, 11 Nov 2015 17:22:12 +0500
4Subject: [PATCH] only build GLX demos if needed
5
6There are platforms that default to EGL only configurations
7in which case the GLX applications are not required
8at all. Allow the user to control generation of these
9demos as needed through a configure switch.
10
11Signed-off-by: Awais Belal <awais_belal@mentor.com>
12Upstream-Status: Pending
13---
14 configure.ac | 9 +++++++++
15 src/Makefile.am | 6 +++++-
16 2 files changed, 14 insertions(+), 1 deletion(-)
17
18diff --git a/configure.ac b/configure.ac
19index f8ec7e3..1a4d96d 100644
20--- a/configure.ac
21+++ b/configure.ac
22@@ -132,6 +132,11 @@ if test "x$enable_glu" = xyes; then
23 DEMO_LIBS="$DEMO_LIBS $GLU_LIBS"
24 fi
25
26+AC_ARG_ENABLE([glx-demos],
27+ [AS_HELP_STRING([--enable-glx-demos],
28+ [enable GLX demos @<:@default=auto@:>@])],
29+ [glx_demos_enabled="$enableval"],
30+ [glx_demos_enabled=yes])
31 AC_ARG_ENABLE([egl],
32 [AS_HELP_STRING([--enable-egl],
33 [enable EGL library @<:@default=auto@:>@])],
34@@ -325,6 +333,7 @@ AC_SUBST([WAYLAND_LIBS])
35
36 AM_CONDITIONAL(HAVE_GLU, test "x$glu_enabled" = "xyes")
37 AM_CONDITIONAL(HAVE_GLEW, test "x$glew_enabled" = "xyes")
38+AM_CONDITIONAL(HAVE_GLX, test "x$glx_demos_enabled" = "xyes")
39 AM_CONDITIONAL(HAVE_EGL, test "x$egl_enabled" = "xyes")
40 AM_CONDITIONAL(HAVE_GLESV1, test "x$glesv1_enabled" = "xyes")
41 AM_CONDITIONAL(HAVE_GLESV2, test "x$glesv2_enabled" = "xyes")
42diff --git a/src/Makefile.am b/src/Makefile.am
43index 8b89dee..a4d7e8f 100644
44--- a/src/Makefile.am
45+++ b/src/Makefile.am
46@@ -44,8 +44,12 @@ SUBDIRS = \
47 slang \
48 tests \
49 tools \
50- wgl \
51+ wgl
52+
53+if HAVE_GLX
54+SUBDIRS += \
55 xdemos
56+endif
57
58 if HAVE_GLEW
59 SUBDIRS += \
60--
611.9.1
62
diff --git a/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb b/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb
deleted file mode 100644
index 38bdbded29..0000000000
--- a/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb
+++ /dev/null
@@ -1,59 +0,0 @@
1SUMMARY = "Mesa demo applications"
2DESCRIPTION = "This package includes the demonstration application, such as glxgears. \
3These applications can be used for Mesa validation and benchmarking."
4HOMEPAGE = "http://mesa3d.org"
5BUGTRACKER = "https://bugs.freedesktop.org"
6SECTION = "x11"
7
8LICENSE = "MIT & PD"
9LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \
10 file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06"
11
12SRC_URI = "https://mesa.freedesktop.org/archive/demos/${BPN}-${PV}.tar.bz2 \
13 file://0001-mesa-demos-Add-missing-data-files.patch \
14 file://0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch \
15 file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \
16 file://0007-Install-few-more-test-programs.patch \
17 file://0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch \
18 file://0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch \
19 file://0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch \
20 file://0013-only-build-GLX-demos-if-needed.patch \
21 "
22SRC_URI[md5sum] = "6b65a02622765522176d00f553086fa3"
23SRC_URI[sha256sum] = "01e99c94a0184e63e796728af89bfac559795fb2a0d6f506fa900455ca5fff7d"
24
25inherit autotools pkgconfig features_check
26# depends on virtual/egl, virtual/libgl ...
27REQUIRED_DISTRO_FEATURES = "opengl x11"
28
29PACKAGECONFIG ?= "drm osmesa freetype2 gbm egl gles1 gles2 \
30 x11 glew glu glx"
31
32# The Wayland code doesn't work with Wayland 1.0, so disable it for now
33#${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"
34
35EXTRA_OECONF = "--with-system-data-files"
36
37PACKAGECONFIG[drm] = "--enable-libdrm,--disable-libdrm,libdrm"
38PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl"
39PACKAGECONFIG[freetype2] = "--enable-freetype2,--disable-freetype2,freetype"
40PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgl"
41PACKAGECONFIG[gles1] = "--enable-gles1,--disable-gles1,virtual/libgles1"
42PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2"
43PACKAGECONFIG[glut] = "--with-glut=${STAGING_EXECPREFIXDIR},--without-glut,freeglut"
44PACKAGECONFIG[osmesa] = "--enable-osmesa,--disable-osmesa,"
45PACKAGECONFIG[vg] = "--enable-vg,--disable-vg,virtual/libopenvg"
46PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,virtual/libgl wayland"
47PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11"
48PACKAGECONFIG[glew] = "--enable-glew,--disable-glew,glew"
49PACKAGECONFIG[glu] = "--enable-glu,--disable-glu,virtual/libgl"
50PACKAGECONFIG[glx] = "--enable-glx-demos,--disable-glx-demos"
51
52do_install_append() {
53 # it can be completely empty when all PACKAGECONFIG options are disabled
54 rmdir --ignore-fail-on-non-empty ${D}${bindir}
55
56 if [ -f ${D}${bindir}/clear ]; then
57 mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos
58 fi
59}
diff --git a/meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb b/meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb
new file mode 100644
index 0000000000..12f41d75a5
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb
@@ -0,0 +1,43 @@
1SUMMARY = "Mesa demo applications"
2DESCRIPTION = "This package includes the demonstration application, such as glxgears. \
3These applications can be used for Mesa validation and benchmarking."
4HOMEPAGE = "http://mesa3d.org"
5BUGTRACKER = "https://bugs.freedesktop.org"
6SECTION = "x11"
7
8LICENSE = "MIT & PD"
9LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \
10 file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06"
11
12SRC_URI = "https://mesa.freedesktop.org/archive/demos/${PV}/${BPN}-${PV}.tar.bz2 \
13 file://0001-mesa-demos-Add-missing-data-files.patch \
14 file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \
15 "
16SRC_URI[sha256sum] = "cea2df0a80f09a30f635c4eb1a672bf90c5ddee0b8e77f4d70041668ef71aac1"
17
18inherit meson pkgconfig features_check
19# depends on virtual/egl, virtual/libgl ...
20REQUIRED_DISTRO_FEATURES = "opengl x11"
21
22EXTRA_OEMESON = "-Dwith-system-data-files=true"
23
24PACKAGECONFIG ?= "drm egl gles1 gles2 \
25 ${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}"
26
27PACKAGECONFIG[drm] = "-Dlibdrm=enabled,-Dlibdrm=disabled,libdrm"
28PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl"
29PACKAGECONFIG[gles1] = "-Dgles1=enabled,-Dgles1=disabled,virtual/libgles1"
30PACKAGECONFIG[gles2] = "-Dgles2=enabled,-Dgles2=disabled,virtual/libgles2"
31PACKAGECONFIG[glut] = "-Dwith-glut=${STAGING_EXECPREFIXDIR},,freeglut"
32PACKAGECONFIG[osmesa] = "-Dosmesa=enabled,-Dosmesa=disabled,"
33PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/libgl wayland wayland-native wayland-protocols"
34PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libglu"
35
36do_install:append() {
37 # it can be completely empty when all PACKAGECONFIG options are disabled
38 rmdir --ignore-fail-on-non-empty ${D}${bindir}
39
40 if [ -f ${D}${bindir}/clear ]; then
41 mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos
42 fi
43}
diff --git a/meta/recipes-graphics/mesa/mesa-gl_20.3.4.bb b/meta/recipes-graphics/mesa/mesa-gl_20.3.4.bb
deleted file mode 100644
index e50782be1c..0000000000
--- a/meta/recipes-graphics/mesa/mesa-gl_20.3.4.bb
+++ /dev/null
@@ -1,15 +0,0 @@
1require mesa.inc
2
3SUMMARY += " (OpenGL only, no EGL/GLES)"
4
5PROVIDES = "virtual/libgl virtual/mesa"
6
7S = "${WORKDIR}/mesa-${PV}"
8
9# At least one DRI rendering engine is required to build mesa.
10# When no X11 is available, use osmesa for the rendering engine.
11PACKAGECONFIG ??= "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}"
12PACKAGECONFIG_class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}"
13
14# When NOT using X11, we need to make sure we have swrast available.
15DRIDRIVERS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', ',swrast', d)}"
diff --git a/meta/recipes-graphics/mesa/mesa-gl_24.0.3.bb b/meta/recipes-graphics/mesa/mesa-gl_24.0.3.bb
new file mode 100644
index 0000000000..ca160f1bfc
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-gl_24.0.3.bb
@@ -0,0 +1,15 @@
1require mesa.inc
2
3SUMMARY += " (OpenGL only, no EGL/GLES)"
4
5PROVIDES = "virtual/libgl virtual/mesa"
6
7S = "${WORKDIR}/mesa-${PV}"
8
9TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm"
10
11# At least one DRI rendering engine is required to build mesa.
12# When no X11 is available, use osmesa for the rendering engine.
13PACKAGECONFIG ??= "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}"
14PACKAGECONFIG:class-target = "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}"
15
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 9f8ec112cf..1c9fa66c72 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -10,35 +10,39 @@ HOMEPAGE = "http://mesa3d.org"
10BUGTRACKER = "https://bugs.freedesktop.org" 10BUGTRACKER = "https://bugs.freedesktop.org"
11SECTION = "x11" 11SECTION = "x11"
12LICENSE = "MIT" 12LICENSE = "MIT"
13LIC_FILES_CHKSUM = "file://docs/license.rst;md5=9aa1bc48c9826ad9fdb16661f6930496" 13LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10"
14 14
15PE = "2" 15PE = "2"
16 16
17SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ 17SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
18 file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \ 18 file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
19 file://0002-meson.build-make-TLS-ELF-optional.patch \
20 file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ 19 file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
21 file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \ 20 file://0001-drisw-fix-build-without-dri3.patch \
22 file://0001-anv-fix-a-build-race-between-generating-a-header-and.patch \ 21 file://0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch \
23 " 22 file://0001-Revert-meson-do-not-pull-in-clc-for-clover.patch \
23"
24 24
25SRC_URI[sha256sum] = "dc21a987ec1ff45b278fe4b1419b1719f1968debbb80221480e44180849b4084" 25SRC_URI[sha256sum] = "77aec9a2a37b7d3596ea1640b3cc53d0b5d9b3b52abed89de07e3717e91bfdbe"
26 26
27UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)" 27UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
28 28
29#because we cannot rely on the fact that all apps will use pkgconfig, 29#because we cannot rely on the fact that all apps will use pkgconfig,
30#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER 30#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
31do_install_append() { 31do_install:append() {
32 if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then 32 # sed can't find EGL/eglplatform.h as it doesn't get installed when glvnd enabled.
33 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 33 # So, check if EGL/eglplatform.h exists before running sed.
34 fi 34 if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)} && [ -f ${D}${includedir}/EGL/eglplatform.h ]; then
35 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
36 fi
35} 37}
36 38
37DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native" 39DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native"
40DEPENDS:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'mesa-native', '', d)}"
38EXTRANATIVEPATH += "chrpath-native" 41EXTRANATIVEPATH += "chrpath-native"
39PROVIDES = " \ 42PROVIDES = " \
40 ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \ 43 ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \
41 ${@bb.utils.contains('PACKAGECONFIG', 'gles', 'virtual/libgles1 virtual/libgles2', '', d)} \ 44 ${@bb.utils.contains('PACKAGECONFIG', 'glvnd', 'virtual/libglx', '', d)} \
45 ${@bb.utils.contains('PACKAGECONFIG', 'gles', 'virtual/libgles1 virtual/libgles2 virtual/libgles3', '', d)} \
42 ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \ 46 ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \
43 ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'virtual/libgbm', '', d)} \ 47 ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'virtual/libgbm', '', d)} \
44 virtual/mesa \ 48 virtual/mesa \
@@ -48,17 +52,10 @@ inherit meson pkgconfig python3native gettext features_check
48 52
49BBCLASSEXTEND = "native nativesdk" 53BBCLASSEXTEND = "native nativesdk"
50 54
51ANY_OF_DISTRO_FEATURES_class-target = "opengl vulkan" 55ANY_OF_DISTRO_FEATURES = "opengl vulkan"
52 56
53PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}" 57PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}"
54 58
55export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE}/llvm-config"
56export YOCTO_ALTERNATE_MULTILIB_NAME = "${base_libdir}"
57export LLVM_CONFIG = "${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE}"
58export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}"
59
60MESA_LLVM_RELEASE ?= "${LLVMVERSION}"
61
62# set the MESA_BUILD_TYPE to either 'release' (default) or 'debug' 59# set the MESA_BUILD_TYPE to either 'release' (default) or 'debug'
63# by default the upstream mesa sources build a debug release 60# by default the upstream mesa sources build a debug release
64# here we assume the user will want a release build by default 61# here we assume the user will want a release build by default
@@ -74,145 +71,199 @@ MESON_BUILDTYPE = "${@check_buildtype(d)}"
74 71
75EXTRA_OEMESON = " \ 72EXTRA_OEMESON = " \
76 -Dshared-glapi=enabled \ 73 -Dshared-glapi=enabled \
77 -Dgallium-opencl=disabled \
78 -Dglx-read-only-text=true \ 74 -Dglx-read-only-text=true \
79 -Dplatforms='${@",".join("${PLATFORMS}".split())}' \ 75 -Dplatforms='${@",".join("${PLATFORMS}".split())}' \
80" 76"
81 77
78EXTRA_OEMESON:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', '-Dintel-clc=system', '', d)}"
79EXTRA_OEMESON:append:class-native = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', '-Dintel-clc=enabled', '', d)}"
80
82def strip_comma(s): 81def strip_comma(s):
83 return s.strip(',') 82 return s.strip(',')
84 83
85PACKAGECONFIG_class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \ 84PACKAGECONFIG = " \
86 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri gallium virgl', '', d)} \ 85 gallium \
87 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)} \ 86 video-codecs \
88 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \ 87 ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland', d)} \
89 elf-tls \ 88 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \
90 " 89 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'dri3', '', d)} \
91PACKAGECONFIG_class-native ?= "gbm dri egl opengl elf-tls x11" 90 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
92PACKAGECONFIG_class-nativesdk ?= "gbm dri egl opengl elf-tls x11" 91 ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \
92"
93 93
94PACKAGECONFIG_remove_libc-musl = "elf-tls" 94PACKAGECONFIG:append:class-native = "gallium-llvm r600"
95 95
96# "gbm" requires "dri", "opengl" 96# "gbm" requires "opengl"
97PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled" 97PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled"
98 98
99X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr" 99X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr"
100# "x11" requires "opengl" 100# "x11" requires "opengl"
101PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}" 101PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}"
102PACKAGECONFIG[elf-tls] = "-Delf-tls=true, -Delf-tls=false"
103PACKAGECONFIG[xvmc] = "-Dgallium-xvmc=enabled,-Dgallium-xvmc=disabled,libxvmc"
104PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols" 102PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols"
105 103
106DRIDRIVERS_class-native = "swrast"
107DRIDRIVERS_class-nativesdk = "swrast"
108DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915"
109DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915"
110# "dri" requires "opengl"
111PACKAGECONFIG[dri] = "-Ddri-drivers=${@strip_comma('${DRIDRIVERS}')}, -Ddri-drivers='', xorgproto libdrm"
112PACKAGECONFIG[dri3] = "-Ddri3=enabled, -Ddri3=disabled, xorgproto libxshmfence" 104PACKAGECONFIG[dri3] = "-Ddri3=enabled, -Ddri3=disabled, xorgproto libxshmfence"
113 105
114# Vulkan drivers need dri3 enabled 106# Vulkan drivers need dri3 enabled
115# amd could be enabled as well but requires gallium-llvm with llvm >= 3.9 107# amd could be enabled as well but requires gallium-llvm with llvm >= 3.9
116VULKAN_DRIVERS = "" 108VULKAN_DRIVERS = ""
117VULKAN_DRIVERS_append_x86_class-target = ",intel" 109VULKAN_DRIVERS:append:x86 = ",intel,amd"
118VULKAN_DRIVERS_append_x86-64_class-target = ",intel" 110VULKAN_DRIVERS:append:x86-64 = ",intel,amd"
119VULKAN_DRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" 111# i686 is a 32 bit override for mesa-native
120PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers=''," 112VULKAN_DRIVERS:append:i686 = ",intel,amd"
113VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
114VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
115VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}"
116VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}"
117PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers"
118
119# mesa development and testing tools support, per driver
120TOOLS = ""
121TOOLS_DEPS = ""
122TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
123TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
124TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
125TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
126TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}"
127
128# dependencies for tools.
129TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurses libxml2 ', '', d)}"
130
131# the fdperf tool requires libconfig (a part of meta-oe) so it needs special
132# treatment in addition to the usual 'freedreno tools'.
133PACKAGECONFIG[freedreno-fdperf] = ",,libconfig"
134
135PACKAGECONFIG[tools] = "-Dtools=${@strip_comma('${TOOLS}')}, -Dtools='', ${TOOLS_DEPS}"
121 136
122PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false" 137PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false"
138PACKAGECONFIG[glvnd] = "-Dglvnd=true, -Dglvnd=false, libglvnd"
123 139
124# "gles" requires "opengl" 140# "gles" requires "opengl"
125PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2=disabled" 141PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2=disabled"
126 142
127# "egl" requires "dri", "opengl" 143# "egl" requires "opengl"
128PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled" 144PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled"
129 145
146# "opencl" requires libclc from meta-clang and spirv-tools from OE-Core
147OPENCL_NATIVE = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', '-Dopencl-native=true', '', d)}"
148PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd -Dopencl-spirv=true ${OPENCL_NATIVE},-Dgallium-opencl=disabled -Dopencl-spirv=false,libclc spirv-tools python3-ply-native"
149
150PACKAGECONFIG[broadcom] = ""
130PACKAGECONFIG[etnaviv] = "" 151PACKAGECONFIG[etnaviv] = ""
131PACKAGECONFIG[freedreno] = "" 152PACKAGECONFIG[freedreno] = ""
132PACKAGECONFIG[kmsro] = "" 153PACKAGECONFIG[kmsro] = ""
133PACKAGECONFIG[vc4] = "" 154PACKAGECONFIG[vc4] = ""
134PACKAGECONFIG[v3d] = "" 155PACKAGECONFIG[v3d] = ""
156PACKAGECONFIG[zink] = ""
135 157
136GALLIUMDRIVERS = "swrast" 158GALLIUMDRIVERS = "swrast"
137# gallium swrast was found to crash Xorg on startup in x32 qemu 159# gallium swrast was found to crash Xorg on startup in x32 qemu
138GALLIUMDRIVERS_x86-x32 = "" 160GALLIUMDRIVERS:x86-x32 = ""
139 161GALLIUMDRIVERS:append:x86 = ",i915,iris,crocus"
140GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" 162GALLIUMDRIVERS:append:x86-64 = ",i915,iris,crocus"
141GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" 163# i686 is a 32 bit override for mesa-native
142GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}" 164GALLIUMDRIVERS:append:i686 = ",i915,iris,crocus"
143GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}" 165
144GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}" 166GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
167GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
168GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}"
169GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
170GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
171GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}"
145 172
146# radeonsi requires LLVM 173# radeonsi requires LLVM
147GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}" 174GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}"
148GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${GALLIUMDRIVERS_RADEONSI}" 175GALLIUMDRIVERS_LLVM = ",r300,nouveau${GALLIUMDRIVERS_RADEONSI}"
176GALLIUMDRIVERS_LLVM:append:x86 = ",svga"
177GALLIUMDRIVERS_LLVM:append:x86-64 = ",svga"
178# i686 is a 32 bit override for mesa-native
179GALLIUMDRIVERS_LLVM:append:i686 = ",svga"
149 180
150PACKAGECONFIG[r600] = "" 181PACKAGECONFIG[r600] = ""
151PACKAGECONFIG[virgl] = "" 182PACKAGECONFIG[virgl] = ""
152 183
153GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}" 184GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${GALLIUMDRIVERS_LLVM}', '', d)}"
154GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}" 185GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}"
155GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}" 186GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}"
156 187
157PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers=''" 188PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm"
158PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm${MESA_LLVM_RELEASE} llvm-native \ 189PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm llvm-native elfutils"
159 elfutils"
160PACKAGECONFIG[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled" 190PACKAGECONFIG[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled"
161PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial" 191PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial"
162
163PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau" 192PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau"
164 193
194PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false"
195
165PACKAGECONFIG[lima] = "" 196PACKAGECONFIG[lima] = ""
166GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}" 197GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
167 198
168PACKAGECONFIG[panfrost] = "" 199PACKAGECONFIG[panfrost] = ""
169GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}" 200GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
170 201
171OSMESA = "${@bb.utils.contains('PACKAGECONFIG', 'gallium', 'gallium', 'classic', d)}" 202PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false"
172PACKAGECONFIG[osmesa] = "-Dosmesa=${OSMESA},-Dosmesa=none" 203
204PACKAGECONFIG[osmesa] = "-Dosmesa=true,-Dosmesa=false"
205
206PACKAGECONFIG[perfetto] = "-Dperfetto=true,-Dperfetto=false,libperfetto"
173 207
174PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" 208PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
175 209
210PACKAGECONFIG[lmsensors] = "-Dlmsensors=enabled,-Dlmsensors=disabled,lmsensors"
211
212VIDEO_CODECS ?= "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'all', 'all_free', d)}"
213PACKAGECONFIG[video-codecs] = "-Dvideo-codecs=${VIDEO_CODECS}, -Dvideo-codecs=''"
214
176# llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2) 215# llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2)
177FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer" 216FULL_OPTIMIZATION:append = " -fno-omit-frame-pointer"
178 217
179CFLAGS_append_armv5 = " -DMISSING_64BIT_ATOMICS" 218CFLAGS:append:armv5 = " -DMISSING_64BIT_ATOMICS"
180CFLAGS_append_armv6 = " -DMISSING_64BIT_ATOMICS" 219CFLAGS:append:armv6 = " -DMISSING_64BIT_ATOMICS"
181 220
182# Remove the mesa dependency on mesa-dev, as mesa is empty 221# Remove the mesa dependency on mesa-dev, as mesa is empty
183RDEPENDS_${PN}-dev = "" 222DEV_PKG_DEPENDENCY = ""
223
224# Khronos documentation says that include/GLES2/gl2ext.h can be used for
225# OpenGL ES 3 specification as well as for OpenGL ES 2.
226# There can be applications including GLES2/gl2ext.h instead of GLES3/gl3ext.h
227# meaning we should probably bring in GLES2/gl2ext.h if someone asks for
228# development package of libgles3.
229RDEPENDS:libgles3-mesa-dev += "libgles2-mesa-dev"
184 230
185# Add dependency so that GLES3 header don't need to be added manually 231RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools', '', d)}"
186RDEPENDS_libgles2-mesa-dev += "libgles3-mesa-dev"
187 232
188PACKAGES =+ "libegl-mesa libegl-mesa-dev \ 233PACKAGES =+ "libegl-mesa libegl-mesa-dev \
189 libosmesa libosmesa-dev \ 234 libosmesa libosmesa-dev \
190 libgl-mesa libgl-mesa-dev \ 235 libgl-mesa libgl-mesa-dev \
236 libglx-mesa libglx-mesa-dev \
191 libglapi libglapi-dev \ 237 libglapi libglapi-dev \
192 libgbm libgbm-dev \ 238 libgbm libgbm-dev \
193 libgles1-mesa libgles1-mesa-dev \ 239 libgles1-mesa libgles1-mesa-dev \
194 libgles2-mesa libgles2-mesa-dev \ 240 libgles2-mesa libgles2-mesa-dev \
195 libgles3-mesa libgles3-mesa-dev \ 241 libgles3-mesa libgles3-mesa-dev \
242 libopencl-mesa libopencl-mesa-dev \
196 libxatracker libxatracker-dev \ 243 libxatracker libxatracker-dev \
197 mesa-megadriver mesa-vulkan-drivers \ 244 mesa-megadriver mesa-vulkan-drivers \
198 mesa-vdpau-drivers \ 245 mesa-vdpau-drivers mesa-tools \
199 " 246 "
200 247
201do_install_append () { 248do_install:append () {
202 # Drivers never need libtool .la files 249 # Drivers never need libtool .la files
203 rm -f ${D}${libdir}/dri/*.la 250 rm -f ${D}${libdir}/dri/*.la
204 rm -f ${D}${libdir}/egl/*.la 251 rm -f ${D}${libdir}/egl/*.la
205 rm -f ${D}${libdir}/gallium-pipe/*.la 252 rm -f ${D}${libdir}/gallium-pipe/*.la
206 rm -f ${D}${libdir}/gbm/*.la 253 rm -f ${D}${libdir}/gbm/*.la
207 254
208 # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used
209 chrpath --delete ${D}${libdir}/dri/*_dri.so || true
210
211 # libwayland-egl has been moved to wayland 1.15+ 255 # libwayland-egl has been moved to wayland 1.15+
212 rm -f ${D}${libdir}/libwayland-egl* 256 rm -f ${D}${libdir}/libwayland-egl*
213 rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc 257 rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc
214} 258}
215 259
260do_install:append:class-native () {
261 if ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'true', 'false', d)}; then
262 install -d ${D}${bindir}
263 install -m0755 ${B}/src/intel/compiler/intel_clc ${D}${bindir}
264 fi
265}
266
216# For the packages that make up the OpenGL interfaces, inject variables so that 267# For the packages that make up the OpenGL interfaces, inject variables so that
217# they don't get Debian-renamed (which would remove the -mesa suffix), and 268# they don't get Debian-renamed (which would remove the -mesa suffix), and
218# RPROVIDEs/RCONFLICTs on the generic libgl name. 269# RPROVIDEs/RCONFLICTs on the generic libgl name.
@@ -222,87 +273,96 @@ python __anonymous() {
222 if "-native" in d.getVar("PN"): 273 if "-native" in d.getVar("PN"):
223 suffix = "-native" 274 suffix = "-native"
224 for p in (("egl", "libegl", "libegl1"), 275 for p in (("egl", "libegl", "libegl1"),
225 ("dri", "libgl", "libgl1"), 276 ("opengl", "libgl", "libgl1"),
277 ("glvnd", "libglx",),
226 ("gles", "libgles1", "libglesv1-cm1"), 278 ("gles", "libgles1", "libglesv1-cm1"),
227 ("gles", "libgles2", "libglesv2-2"), 279 ("gles", "libgles2", "libglesv2-2"),
228 ("gles", "libgles3",)): 280 ("gles", "libgles3",),
281 ("opencl", "libopencl",)):
229 if not p[0] in pkgconfig: 282 if not p[0] in pkgconfig:
230 continue 283 continue
231 mlprefix = d.getVar("MLPREFIX") 284 mlprefix = d.getVar("MLPREFIX")
232 fullp = mlprefix + p[1] + "-mesa" + suffix 285 fullp = mlprefix + p[1] + "-mesa" + suffix
233 mlprefix = d.getVar("MLPREFIX") 286 mlprefix = d.getVar("MLPREFIX")
234 pkgs = " ".join(mlprefix + x + suffix for x in p[1:]) 287 pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:])
235 d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1") 288 d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
236 d.appendVar("RREPLACES_" + fullp, pkgs) 289 d.appendVar("RREPLACES:" + fullp, pkgs)
237 d.appendVar("RPROVIDES_" + fullp, pkgs) 290 d.appendVar("RPROVIDES:" + fullp, pkgs)
238 d.appendVar("RCONFLICTS_" + fullp, pkgs) 291 d.appendVar("RCONFLICTS:" + fullp, pkgs)
239 292
240 d.appendVar("RRECOMMENDS_" + fullp, " ${MLPREFIX}mesa-megadriver" + suffix) 293 d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}mesa-megadriver" + suffix)
241 294
242 # For -dev, the first element is both the Debian and original name 295 # For -dev, the first element is both the Debian and original name
243 fullp = mlprefix + p[1] + "-mesa-dev" + suffix 296 fullp = mlprefix + p[1] + "-mesa-dev" + suffix
244 pkgs = mlprefix + p[1] + "-dev" + suffix 297 pkgs = " " + mlprefix + p[1] + "-dev" + suffix
245 d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1") 298 d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
246 d.appendVar("RREPLACES_" + fullp, pkgs) 299 d.appendVar("RREPLACES:" + fullp, pkgs)
247 d.appendVar("RPROVIDES_" + fullp, pkgs) 300 d.appendVar("RPROVIDES:" + fullp, pkgs)
248 d.appendVar("RCONFLICTS_" + fullp, pkgs) 301 d.appendVar("RCONFLICTS:" + fullp, pkgs)
249} 302}
250 303
251python mesa_populate_packages() { 304python mesa_populate_packages() {
252 pkgs = ['mesa', 'mesa-dev', 'mesa-dbg'] 305 pkgs = ['mesa', 'mesa-dev', 'mesa-dbg']
253 for pkg in pkgs: 306 for pkg in pkgs:
254 d.setVar("RPROVIDES_%s" % pkg, pkg.replace("mesa", "mesa-dri", 1)) 307 d.setVar("RPROVIDES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
255 d.setVar("RCONFLICTS_%s" % pkg, pkg.replace("mesa", "mesa-dri", 1)) 308 d.setVar("RCONFLICTS:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
256 d.setVar("RREPLACES_%s" % pkg, pkg.replace("mesa", "mesa-dri", 1)) 309 d.setVar("RREPLACES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
257 310
258 import re 311 import re
259 dri_drivers_root = oe.path.join(d.getVar('PKGD'), d.getVar('libdir'), "dri") 312 dri_drivers_root = oe.path.join(d.getVar('PKGD'), d.getVar('libdir'), "dri")
260 if os.path.isdir(dri_drivers_root): 313 if os.path.isdir(dri_drivers_root):
261 dri_pkgs = os.listdir(dri_drivers_root) 314 dri_pkgs = sorted(os.listdir(dri_drivers_root))
262 lib_name = d.expand("${MLPREFIX}mesa-megadriver") 315 lib_name = d.expand("${MLPREFIX}mesa-megadriver")
263 for p in dri_pkgs: 316 for p in dri_pkgs:
264 m = re.match(r'^(.*)_dri\.so$', p) 317 m = re.match(r'^(.*)_dri\.so$', p)
265 if m: 318 if m:
266 pkg_name = " ${MLPREFIX}mesa-driver-%s" % legitimize_package_name(m.group(1)) 319 pkg_name = " ${MLPREFIX}mesa-driver-%s" % legitimize_package_name(m.group(1))
267 d.appendVar("RPROVIDES_%s" % lib_name, pkg_name) 320 d.appendVar("RPROVIDES:%s" % lib_name, pkg_name)
268 d.appendVar("RCONFLICTS_%s" % lib_name, pkg_name) 321 d.appendVar("RCONFLICTS:%s" % lib_name, pkg_name)
269 d.appendVar("RREPLACES_%s" % lib_name, pkg_name) 322 d.appendVar("RREPLACES:%s" % lib_name, pkg_name)
270 323
271 pipe_drivers_root = os.path.join(d.getVar('libdir'), "gallium-pipe") 324 pipe_drivers_root = os.path.join(d.getVar('libdir'), "gallium-pipe")
272 do_split_packages(d, pipe_drivers_root, r'^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='') 325 do_split_packages(d, pipe_drivers_root, r'^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='')
273} 326}
274 327
275PACKAGESPLITFUNCS_prepend = "mesa_populate_packages " 328PACKAGESPLITFUNCS =+ "mesa_populate_packages"
276 329
277PACKAGES_DYNAMIC += "^mesa-driver-.*" 330PACKAGES_DYNAMIC += "^mesa-driver-.*"
278PACKAGES_DYNAMIC_class-native = "^mesa-driver-.*-native" 331PACKAGES_DYNAMIC:class-native = "^mesa-driver-.*-native"
279 332
280FILES_mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d/00-mesa-defaults.conf" 333FILES:mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d"
281FILES_mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${datadir}/vulkan" 334FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${libdir}/libpowervr_rogue.so ${datadir}/vulkan"
282FILES_${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*" 335FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*"
283FILES_libegl-mesa = "${libdir}/libEGL.so.*" 336FILES:libegl-mesa = "${libdir}/libEGL*.so.* ${datadir}/glvnd/egl_vendor.d"
284FILES_libgbm = "${libdir}/libgbm.so.*" 337FILES:libgbm = "${libdir}/libgbm.so.*"
285FILES_libgles1-mesa = "${libdir}/libGLESv1*.so.*" 338FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*"
286FILES_libgles2-mesa = "${libdir}/libGLESv2.so.*" 339FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*"
287FILES_libgl-mesa = "${libdir}/libGL.so.*" 340FILES:libgl-mesa = "${libdir}/libGL.so.*"
288FILES_libglapi = "${libdir}/libglapi.so.*" 341FILES:libglx-mesa = "${libdir}/libGLX*.so.*"
289FILES_libosmesa = "${libdir}/libOSMesa.so.*" 342FILES:libopencl-mesa = "${libdir}/libMesaOpenCL.so.* ${libdir}/gallium-pipe/*.so ${sysconfdir}/OpenCL/vendors/mesa.icd"
290FILES_libxatracker = "${libdir}/libxatracker.so.*" 343FILES:libglapi = "${libdir}/libglapi.so.*"
291 344FILES:libosmesa = "${libdir}/libOSMesa.so.*"
292FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan ${libdir}/vdpau/*.so" 345FILES:libxatracker = "${libdir}/libxatracker.so.*"
293FILES_libegl-mesa-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" 346
294FILES_libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h" 347FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan ${libdir}/vdpau/*.so"
295FILES_libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc" 348FILES:libegl-mesa-dev = "${libdir}/libEGL*.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
296FILES_libglapi-dev = "${libdir}/libglapi.*" 349FILES:libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
297FILES_libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc" 350FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc"
298FILES_libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc" 351FILES:libglx-mesa-dev = "${libdir}/libGLX*.*"
299FILES_libgles3-mesa-dev = "${includedir}/GLES3" 352FILES:libglapi-dev = "${libdir}/libglapi.*"
300FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir}/pkgconfig/osmesa.pc" 353FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc"
301FILES_libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \ 354FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc"
355FILES:libgles3-mesa-dev = "${includedir}/GLES3"
356FILES:libopencl-mesa-dev = "${libdir}/libMesaOpenCL.so"
357FILES:libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir}/pkgconfig/osmesa.pc"
358FILES:libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \
302 ${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \ 359 ${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \
303 ${libdir}/pkgconfig/xatracker.pc" 360 ${libdir}/pkgconfig/xatracker.pc"
361# catch all to get all the tools and data
362FILES:${PN}-tools = "${bindir} ${datadir}"
363ALLOW_EMPTY:${PN}-tools = "1"
304 364
305# Fix upgrade path from mesa to mesa-megadriver 365# Fix upgrade path from mesa to mesa-megadriver
306RREPLACES_mesa-megadriver = "mesa" 366RREPLACES:mesa-megadriver = "mesa"
307RCONFLICTS_mesa-megadriver = "mesa" 367RCONFLICTS:mesa-megadriver = "mesa"
308RPROVIDES_mesa-megadriver = "mesa" 368RPROVIDES:mesa-megadriver = "mesa"
diff --git a/meta/recipes-graphics/mesa/mesa_20.3.4.bb b/meta/recipes-graphics/mesa/mesa_24.0.3.bb
index 96e8aa38d6..96e8aa38d6 100644
--- a/meta/recipes-graphics/mesa/mesa_20.3.4.bb
+++ b/meta/recipes-graphics/mesa/mesa_24.0.3.bb
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 549b0cbdf7..ba81d0b17a 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
@@ -3,22 +3,21 @@ DESCRIPTION = "Simple session manager for X, that provides just the right boiler
3HOMEPAGE = "http://www.yoctoproject.org" 3HOMEPAGE = "http://www.yoctoproject.org"
4BUGTRACKER = "http://bugzilla.pokylinux.org" 4BUGTRACKER = "http://bugzilla.pokylinux.org"
5 5
6PR = "r4"
7 6
8LICENSE = "GPLv2" 7LICENSE = "GPL-2.0-only"
9LIC_FILES_CHKSUM = "file://mini-x-session;endline=5;md5=b6430bffbcf05f9760e72938826b7487" 8LIC_FILES_CHKSUM = "file://mini-x-session;endline=5;md5=b6430bffbcf05f9760e72938826b7487"
10 9
11SECTION = "x11" 10SECTION = "x11"
12RCONFLICTS_${PN} = "matchbox-common" 11RCONFLICTS:${PN} = "matchbox-common"
13 12
14SRC_URI = "file://mini-x-session" 13SRC_URI = "file://mini-x-session"
15S = "${WORKDIR}" 14S = "${WORKDIR}"
16 15
17RDEPENDS_${PN} = "sudo" 16RDEPENDS:${PN} = "sudo"
18 17
19inherit update-alternatives 18inherit update-alternatives
20 19
21ALTERNATIVE_${PN} = "x-session-manager" 20ALTERNATIVE:${PN} = "x-session-manager"
22ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/mini-x-session" 21ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/mini-x-session"
23ALTERNATIVE_PRIORITY = "50" 22ALTERNATIVE_PRIORITY = "50"
24 23
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 @@
1Fix missing include directory when building tests
2
3This patch is currently required for all versions of mx
4Upstream-Status: Submitted @ https://github.com/clutter-project/mx/issues/82
5Signed-off-by: Tomas Frydrych <tomas@sleepfive.com>
6--
7Index: git/tests/Makefile.am
8===================================================================
9--- git.orig/tests/Makefile.am 2013-05-08 15:18:56.918596425 +0100
10+++ git/tests/Makefile.am 2013-05-08 15:23:26.864781401 +0100
11@@ -10,7 +10,8 @@
12
13 INCLUDES = \
14 -I$(top_srcdir) \
15- -I$(top_builddir)
16+ -I$(top_builddir)\
17+ -I$(top_builddir)/mx
18
19 noinst_PROGRAMS = \
20 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 @@
1require mx.inc
2
3# The 1.4.7 tag does not build against cogl 1.14, pull in a revision with a fix
4SRCREV = "9b1db6b8060bd00b121a692f942404a24ae2960f"
5PV = "1.4.7+git${SRCPV}"
6
7# Exclude x.99.x versions from upstream checks
8UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>^\d+(\.(?!99)\d+)+)"
9
10SRC_URI = "git://github.com/clutter-project/mx.git;branch=mx-1.4 \
11 file://fix-test-includes.patch \
12 "
13S = "${WORKDIR}/git"
14
15LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \
16 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 c977849c96..0000000000
--- a/meta/recipes-graphics/mx/mx.inc
+++ /dev/null
@@ -1,27 +0,0 @@
1SUMMARY = "Clutter based UI widget library"
2DESCRIPTION = "Mx is a widget toolkit using Clutter that provides a set of standard interface \
3elements, including buttons, progress bars, scroll bars and others. It also \
4implements some standard managers. One other interesting feature is the \
5possibility setting style properties from a CSS format file."
6HOMEPAGE = "https://github.com/clutter-project/mx"
7BUGTRACKER = "https://github.com/clutter-project/mx/issues"
8LICENSE = "LGPLv2.1"
9
10inherit clutter autotools features_check gobject-introspection gtk-doc
11# depends on clutter-1.0 which depends on cogl-1.0
12REQUIRED_DISTRO_FEATURES = "opengl"
13
14DEPENDS = "intltool-native clutter-1.0 dbus-glib gdk-pixbuf"
15
16SRC_URI = "http://source.clutter-project.org/sources/mx/${@get_verdir("${PV}")}/mx-${PV}.tar.xz"
17
18EXTRA_OECONF = "--disable-gtk-widgets \
19 --with-dbus \
20 --with-winsys=none \
21 --without-clutter-imcontext \
22 --without-clutter-gesture \
23 --without-startup-notification \
24 --without-glade \
25 "
26
27FILES_${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 @@
1#
2# Copyright (C) 2007 OpenedHand Ltd.
3#
4
5SUMMARY = "Clutter package groups"
6
7PR = "r6"
8
9inherit packagegroup features_check
10# rdepends on clutter-*
11REQUIRED_DISTRO_FEATURES = "opengl"
12
13PACKAGES = "\
14 ${PN}-core \
15 "
16
17SUMMARY_${PN}-core = "Clutter graphics library"
18RDEPENDS_${PN}-core = "\
19 clutter-1.0 \
20 clutter-gst-3.0 \
21 clutter-gtk-1.0 \
22 "
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..dd302c89e7
--- /dev/null
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-weston.bb
@@ -0,0 +1,14 @@
1SUMMARY = "Basic Weston compositor setup"
2DESCRIPTION = "Packages required to set up a basic working Weston session"
3
4inherit packagegroup features_check
5
6# weston-init requires pam enabled if started via systemd
7REQUIRED_DISTRO_FEATURES = "wayland ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
8
9RDEPENDS:${PN} = "\
10 weston \
11 weston-init \
12 weston-examples \
13 wayland-utils \
14 "
diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb
index 9ca2705a5f..db6242af33 100644
--- a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb
@@ -1,15 +1,13 @@
1SUMMARY = "Basic X11 session" 1SUMMARY = "Basic X11 session"
2DESCRIPTION = "Packages required to set up a basic working X11 session" 2DESCRIPTION = "Packages required to set up a basic working X11 session"
3PR = "r1"
4 3
5inherit packagegroup features_check 4inherit packagegroup features_check
6# rdepends on matchbox-wm 5# rdepends on matchbox-wm
7REQUIRED_DISTRO_FEATURES = "x11" 6REQUIRED_DISTRO_FEATURES = "x11"
8 7
9RDEPENDS_${PN} = "\ 8RDEPENDS:${PN} = "\
10 packagegroup-core-x11-xserver \ 9 packagegroup-core-x11-xserver \
11 packagegroup-core-x11-utils \ 10 packagegroup-core-x11-utils \
12 dbus \
13 matchbox-terminal \ 11 matchbox-terminal \
14 matchbox-wm \ 12 matchbox-wm \
15 mini-x-session \ 13 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..ebc1330055 100644
--- a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb
@@ -3,7 +3,6 @@
3# 3#
4 4
5SUMMARY = "X11 display server" 5SUMMARY = "X11 display server"
6PR = "r40"
7 6
8PACKAGE_ARCH = "${MACHINE_ARCH}" 7PACKAGE_ARCH = "${MACHINE_ARCH}"
9 8
@@ -11,10 +10,13 @@ inherit packagegroup features_check
11# rdepends on XSERVER 10# rdepends on XSERVER
12REQUIRED_DISTRO_FEATURES = "x11" 11REQUIRED_DISTRO_FEATURES = "x11"
13 12
14XSERVER ?= "xserver-xorg xf86-video-fbdev" 13XSERVER ?= "xserver-xorg \
14 xf86-video-fbdev \
15 xf86-video-modesetting \
16 "
15XSERVERCODECS ?= "" 17XSERVERCODECS ?= ""
16 18
17RDEPENDS_${PN} = "\ 19RDEPENDS:${PN} = "\
18 ${XSERVER} \ 20 ${XSERVER} \
19 ${XSERVERCODECS} \ 21 ${XSERVERCODECS} \
20 " 22 "
diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb
index cddf1932f3..91db7ed33b 100644
--- a/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb
@@ -2,7 +2,6 @@
2# Copyright (C) 2011 Intel Corporation 2# Copyright (C) 2011 Intel Corporation
3# 3#
4 4
5PR = "r40"
6 5
7inherit packagegroup features_check 6inherit packagegroup features_check
8REQUIRED_DISTRO_FEATURES = "x11" 7REQUIRED_DISTRO_FEATURES = "x11"
@@ -16,13 +15,13 @@ VIRTUAL-RUNTIME_xserver_common ?= ""
16VIRTUAL-RUNTIME_graphical_init_manager ?= "xserver-nodm-init" 15VIRTUAL-RUNTIME_graphical_init_manager ?= "xserver-nodm-init"
17 16
18SUMMARY = "X11 display server and basic utilities" 17SUMMARY = "X11 display server and basic utilities"
19RDEPENDS_${PN} = "\ 18RDEPENDS:${PN} = "\
20 ${PN}-xserver \ 19 ${PN}-xserver \
21 ${PN}-utils \ 20 ${PN}-utils \
22 " 21 "
23 22
24SUMMARY_${PN}-utils = "X11 basic utilities and init" 23SUMMARY:${PN}-utils = "X11 basic utilities and init"
25RDEPENDS_${PN}-utils = "\ 24RDEPENDS:${PN}-utils = "\
26 ${VIRTUAL-RUNTIME_xserver_common} \ 25 ${VIRTUAL-RUNTIME_xserver_common} \
27 ${VIRTUAL-RUNTIME_graphical_init_manager} \ 26 ${VIRTUAL-RUNTIME_graphical_init_manager} \
28 xauth \ 27 xauth \
diff --git a/meta/recipes-graphics/pango/pango/0001-Skip-running-test-layout-test.patch b/meta/recipes-graphics/pango/pango/0001-Skip-running-test-layout-test.patch
new file mode 100644
index 0000000000..ec7fb4727e
--- /dev/null
+++ b/meta/recipes-graphics/pango/pango/0001-Skip-running-test-layout-test.patch
@@ -0,0 +1,45 @@
1From b9bfe3a79f165682a6db3d7ee1928365e93b1ccf Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 13 Apr 2022 19:39:29 -0700
4Subject: [PATCH] Skip running test-layout test
5
6This fails intermittently, it varies based on what version of harfbuzz
7is installed and if it does not match with what pango CI tests then we
8get random failures in this test. This has been disabled in other
9distros [1] too
10
11We want to drop this on next upgrade and see if this test passes if not
12then keep it disabled
13
14Fixes
15
16Running test: pango/test-layout.test
171..36
18ok 1 /layout/letterspacing.layout
19ok 2 /layout/valid-7.layout
20not ok 3 /layout/valid-14.layout
21Bail out!
22FAIL: pango/test-layout.test (Child process killed by signal 6)
23
24[1] https://github.com/archlinux/svntogit-packages/commit/3f883e7ff8071adad23b6bcc0ba4b995aff10d52
25
26Upstream-Status: Inappropriate [bugfix https://gitlab.gnome.org/GNOME/pango/-/issues/677]
27Signed-off-by: Khem Raj <raj.khem@gmail.com>
28---
29 tests/test-layout.c | 2 +-
30 1 file changed, 1 insertion(+), 1 deletion(-)
31
32diff --git a/tests/test-layout.c b/tests/test-layout.c
33index 1139e4f..b47a066 100644
34--- a/tests/test-layout.c
35+++ b/tests/test-layout.c
36@@ -222,5 +222,5 @@ main (int argc, char *argv[])
37 }
38 g_dir_close (dir);
39
40- return g_test_run ();
41+ return 77;
42 }
43--
442.35.2
45
diff --git a/meta/recipes-graphics/pango/pango/run-ptest b/meta/recipes-graphics/pango/pango/run-ptest
index fa87a75779..e1fab050ef 100644
--- a/meta/recipes-graphics/pango/pango/run-ptest
+++ b/meta/recipes-graphics/pango/pango/run-ptest
@@ -1,3 +1,6 @@
1#! /bin/sh 1#! /bin/sh
2 2
3# workaround for https://gitlab.gnome.org/GNOME/pango/-/issues/668
4mkdir -p /usr/share/fonts/pango-private
5cp -rf /usr/libexec/installed-tests/pango/fonts/* /usr/share/fonts/pango-private
3gnome-desktop-testing-runner pango 6gnome-desktop-testing-runner pango
diff --git a/meta/recipes-graphics/pango/pango_1.48.2.bb b/meta/recipes-graphics/pango/pango_1.52.2.bb
index 1dcb43b5e1..4f748e6554 100644
--- a/meta/recipes-graphics/pango/pango_1.48.2.bb
+++ b/meta/recipes-graphics/pango/pango_1.52.2.bb
@@ -7,18 +7,23 @@ core of text and font handling for GTK+-2.x."
7HOMEPAGE = "http://www.pango.org/" 7HOMEPAGE = "http://www.pango.org/"
8BUGTRACKER = "http://bugzilla.gnome.org" 8BUGTRACKER = "http://bugzilla.gnome.org"
9SECTION = "libs" 9SECTION = "libs"
10LICENSE = "LGPLv2.0+" 10LICENSE = "LGPL-2.0-or-later"
11 11
12LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" 12LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
13 13
14GNOMEBASEBUILDCLASS = "meson"
15 14
16inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspection 15inherit gnomebase gi-docgen ptest-gnome upstream-version-is-even gobject-introspection
16
17UPSTREAM_CHECK_REGEX = "pango-(?P<pver>\d+\.(?!9\d+)\d+\.\d+)"
17 18
18GIR_MESON_ENABLE_FLAG = "enabled" 19GIR_MESON_ENABLE_FLAG = "enabled"
19GIR_MESON_DISABLE_FLAG = "disabled" 20GIR_MESON_DISABLE_FLAG = "disabled"
20 21
21SRC_URI[archive.sha256sum] = "d21f8b30dc8abdfc55de25656ecb88dc1105eeeb315e5e2a980dcef8010c2c80" 22SRC_URI += "file://run-ptest \
23 file://0001-Skip-running-test-layout-test.patch \
24 "
25
26SRC_URI[archive.sha256sum] = "d0076afe01082814b853deec99f9349ece5f2ce83908b8e58ff736b41f78a96b"
22 27
23DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" 28DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi"
24 29
@@ -27,27 +32,22 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \
27 32
28PACKAGECONFIG[x11] = ",,virtual/libx11 libxft" 33PACKAGECONFIG[x11] = ",,virtual/libx11 libxft"
29PACKAGECONFIG[tests] = "-Dinstall-tests=true, -Dinstall-tests=false" 34PACKAGECONFIG[tests] = "-Dinstall-tests=true, -Dinstall-tests=false"
30PACKAGECONFIG[thai] = ",,libthai" 35PACKAGECONFIG[thai] = "-Dlibthai=enabled,-Dlibthai=disabled,libthai"
31 36
32GTKDOC_MESON_OPTION = "gtk_doc"
33GIR_MESON_OPTION = 'introspection' 37GIR_MESON_OPTION = 'introspection'
34 38
35do_configure_prepend() { 39do_configure:prepend() {
36 chmod +x ${S}/tests/*.py 40 chmod +x ${S}/tests/*.py
37}
38
39do_configure_prepend_toolchain-clang() {
40 sed -i -e "/Werror=implicit-fallthrough/d" ${S}/meson.build
41} 41}
42 42
43LEAD_SONAME = "libpango-1.0*" 43LEAD_SONAME = "libpango-1.0*"
44 44
45FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}" 45FILES:${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}"
46 46
47RDEPENDS_${PN}-ptest += "cantarell-fonts" 47RDEPENDS:${PN}-ptest += "cantarell-fonts"
48RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-en-us" 48RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us"
49 49
50RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \ 50RPROVIDES:${PN} += "pango-modules pango-module-indic-lang \
51 pango-module-basic-fc pango-module-arabic-lang" 51 pango-module-basic-fc pango-module-arabic-lang"
52 52
53BBCLASSEXTEND = "native nativesdk" 53BBCLASSEXTEND = "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
deleted file mode 100644
index caa48e088d..0000000000
--- a/meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From d623e9797b7ee9b3739a8a4afe1a01f7e03754aa Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Sun, 1 Nov 2020 20:08:49 +0000
4Subject: [PATCH] Add a missing include for htobe32 definition
5
6Upstream-Status: Pending
7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
8---
9 tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c | 2 ++
10 1 file changed, 2 insertions(+)
11
12diff --git a/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c b/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c
13index 5f45e0c23..c755ee29a 100644
14--- a/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c
15+++ b/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c
16@@ -34,6 +34,8 @@
17
18 #include "piglit-util-gl.h"
19
20+#include <endian.h>
21+
22 #define IMAGE_WIDTH 60
23 #define IMAGE_HEIGHT 60
24
25--
262.17.1
27
diff --git a/meta/recipes-graphics/piglit/piglit/0001-cmake-install-bash-completions-in-the-right-place.patch b/meta/recipes-graphics/piglit/piglit/0001-cmake-install-bash-completions-in-the-right-place.patch
deleted file mode 100644
index e07e810a73..0000000000
--- a/meta/recipes-graphics/piglit/piglit/0001-cmake-install-bash-completions-in-the-right-place.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1From 26faa2c157a27a18a9f767976730fe0c115e3af4 Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Wed, 13 Jul 2016 19:19:02 +0300
4Subject: [PATCH] cmake: install bash-completions in the right place
5
6The completionsdir variable is a full path and should not be
7prefixed.
8
9This does mean the files may be installed outside of
10CMAKE_INSTALL_PREFIX -- the alternative is more difficult and
11means that bash completion files may be installed where
12bash-completion can't find them.
13
14Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
15Upstream-Status: Submitted [mailing list]
16---
17 CMakeLists.txt | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/CMakeLists.txt b/CMakeLists.txt
21index 8e2abba..784a8f9 100644
22--- a/CMakeLists.txt
23+++ b/CMakeLists.txt
24@@ -532,7 +532,7 @@ install (
25 if (BASH_COMPLETION_FOUND)
26 install(
27 FILES completions/bash/piglit
28- DESTINATION ${CMAKE_INSTALL_PREFIX}/${BASH_COMPLETION_COMPLETIONSDIR}/
29+ DESTINATION ${BASH_COMPLETION_COMPLETIONSDIR}/
30 )
31 endif (BASH_COMPLETION_FOUND)
32
33--
342.8.1
35
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
deleted file mode 100644
index cc9482c047..0000000000
--- a/meta/recipes-graphics/piglit/piglit/0001-framework-profile.py-make-test-lists-reproducible.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From 9086d42df1f3134bafcfe33ff16db7bbb9d9a0fd Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Mon, 30 Nov 2020 23:08:22 +0000
4Subject: [PATCH] framework/profile.py: make test lists reproducible
5
6These are created with os.walk, which yields different
7order depending on where it's run.
8
9Upstream-Status: Pending
10Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
11---
12 framework/profile.py | 6 +++++-
13 1 file changed, 5 insertions(+), 1 deletion(-)
14
15diff --git a/framework/profile.py b/framework/profile.py
16index c210e535e..9b5d51d68 100644
17--- a/framework/profile.py
18+++ b/framework/profile.py
19@@ -528,7 +528,11 @@ class TestProfile(object):
20 else:
21 opts[n] = self.test_list[n]
22 else:
23- opts = self.test_list # pylint: disable=redefined-variable-type
24+ opts = collections.OrderedDict()
25+ test_keys = list(self.test_list.keys())
26+ test_keys.sort()
27+ for k in test_keys:
28+ opts[k] = self.test_list[k]
29
30 for k, v in self.filters.run(opts.items()):
31 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
deleted file mode 100644
index 8704f98500..0000000000
--- a/meta/recipes-graphics/piglit/piglit/0001-generated_tests-gen_tcs-tes_input_tests.py-do-not-ha.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1From 1b23539aece156f6fe0789cb988f22e5915228f6 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Tue, 10 Nov 2020 17:12:32 +0000
4Subject: [PATCH 1/2] generated_tests/gen_tcs/tes_input_tests.py: do not
5 hardcode the full binary path
6
7This helps reproducibility.
8
9Upstream-Status: Pending
10Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
11---
12 generated_tests/gen_tcs_input_tests.py | 2 +-
13 generated_tests/gen_tes_input_tests.py | 2 +-
14 2 files changed, 2 insertions(+), 2 deletions(-)
15
16diff --git a/generated_tests/gen_tcs_input_tests.py b/generated_tests/gen_tcs_input_tests.py
17index face4f19a..e36671af4 100644
18--- a/generated_tests/gen_tcs_input_tests.py
19+++ b/generated_tests/gen_tcs_input_tests.py
20@@ -272,7 +272,7 @@ class Test(object):
21 relative probe rgb (0.75, 0.75) (0.0, 1.0, 0.0)
22 """)
23
24- test = test.format(self=self, generator_command=" ".join(sys.argv))
25+ test = test.format(self=self, generator_command="generated_tests/gen_tcs_input_tests.py")
26
27 filename = self.filename()
28 dirname = os.path.dirname(filename)
29diff --git a/generated_tests/gen_tes_input_tests.py b/generated_tests/gen_tes_input_tests.py
30index 3d847b5cc..954840b20 100644
31--- a/generated_tests/gen_tes_input_tests.py
32+++ b/generated_tests/gen_tes_input_tests.py
33@@ -301,7 +301,7 @@ class Test(object):
34 relative probe rgb (0.75, 0.75) (0.0, 1.0, 0.0)
35 """)
36
37- test = test.format(self=self, generator_command=" ".join(sys.argv))
38+ test = test.format(self=self, generator_command="generated_tests/gen_tes_input_tests.py")
39
40 filename = self.filename()
41 dirname = os.path.dirname(filename)
42--
432.17.1
44
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
deleted file mode 100644
index 2efba6f866..0000000000
--- a/meta/recipes-graphics/piglit/piglit/0001-serializer.py-make-.gz-files-reproducible.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From 1919bb7f4072d73dcbb64d0e06eff5b04529c3db Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Mon, 16 Nov 2020 18:01:02 +0000
4Subject: [PATCH] serializer.py: make .gz files reproducible
5
6.gz format contains mtime of the compressed data, and
7SOURCE_DATE_EPOCH is the standard way to make it reproducuble.
8
9Upstream-Status: Pending
10Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
11---
12 tests/serializer.py | 5 ++++-
13 1 file changed, 4 insertions(+), 1 deletion(-)
14
15diff --git a/tests/serializer.py b/tests/serializer.py
16index bd14bc3db..bc5b45d7f 100644
17--- a/tests/serializer.py
18+++ b/tests/serializer.py
19@@ -138,7 +138,10 @@ def serializer(name, profile, outfile):
20 et.SubElement(env, 'env', name=k, value=v)
21
22 tree = et.ElementTree(root)
23- with gzip.open(outfile, 'wb') as f:
24+ reproducible_mtime = None
25+ if 'SOURCE_DATE_EPOCH' in os.environ:
26+ reproducible_mtime=os.environ['SOURCE_DATE_EPOCH']
27+ with gzip.GzipFile(outfile, 'wb', mtime=reproducible_mtime) as f:
28 tree.write(f, encoding='utf-8', xml_declaration=True)
29
30
diff --git a/meta/recipes-graphics/piglit/piglit/0001-tests-Fix-narrowing-errors-seen-with-clang.patch b/meta/recipes-graphics/piglit/piglit/0001-tests-Fix-narrowing-errors-seen-with-clang.patch
new file mode 100644
index 0000000000..08e709b1d0
--- /dev/null
+++ b/meta/recipes-graphics/piglit/piglit/0001-tests-Fix-narrowing-errors-seen-with-clang.patch
@@ -0,0 +1,50 @@
1From 77f327909e4a99c64261290cd76e234e10cc64d2 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 3 May 2023 21:59:43 -0700
4Subject: [PATCH] tests: Fix narrowing errors seen with clang
5
6Fixes
7piglit-test-pattern.cpp:656:26: error: type 'float' cannot be narrowed to 'int' in initiali
8zer list [-Wc++11-narrowing]
9
10Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/807]
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 .../spec/ext_framebuffer_multisample/draw-buffers-common.cpp | 4 ++--
14 tests/util/piglit-test-pattern.cpp | 4 ++--
15 2 files changed, 4 insertions(+), 4 deletions(-)
16
17diff --git a/tests/spec/ext_framebuffer_multisample/draw-buffers-common.cpp b/tests/spec/ext_framebuffer_multisample/draw-buffers-common.cpp
18index 48e1ad4a5..b36830c45 100644
19--- a/tests/spec/ext_framebuffer_multisample/draw-buffers-common.cpp
20+++ b/tests/spec/ext_framebuffer_multisample/draw-buffers-common.cpp
21@@ -353,8 +353,8 @@ draw_pattern(bool sample_alpha_to_coverage,
22 float vertices[4][2] = {
23 { 0.0f, 0.0f + i * (pattern_height / num_rects) },
24 { 0.0f, (i + 1.0f) * (pattern_height / num_rects) },
25- { pattern_width, (i + 1.0f) * (pattern_height / num_rects) },
26- { pattern_width, 0.0f + i * (pattern_height / num_rects) } };
27+ { static_cast<float>(pattern_width), (i + 1.0f) * (pattern_height / num_rects) },
28+ { static_cast<float>(pattern_width), 0.0f + i * (pattern_height / num_rects) } };
29
30 glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE,
31 sizeof(vertices[0]),
32diff --git a/tests/util/piglit-test-pattern.cpp b/tests/util/piglit-test-pattern.cpp
33index 43d451d6a..52ee94457 100644
34--- a/tests/util/piglit-test-pattern.cpp
35+++ b/tests/util/piglit-test-pattern.cpp
36@@ -653,12 +653,12 @@ ColorGradientSunburst::draw_with_scale_and_offset(const float (*proj)[4],
37 {
38 switch (out_type) {
39 case GL_INT: {
40- int clear_color[4] = { offset, offset, offset, offset };
41+ int clear_color[4] = { static_cast<int>(offset), static_cast<int>(offset), static_cast<int>(offset), static_cast<int>(offset) };
42 glClearBufferiv(GL_COLOR, 0, clear_color);
43 break;
44 }
45 case GL_UNSIGNED_INT: {
46- unsigned clear_color[4] = { offset, offset, offset, offset };
47+ unsigned clear_color[4] = { static_cast<unsigned>(offset), static_cast<unsigned>(offset), static_cast<unsigned>(offset), static_cast<unsigned>(offset) };
48 glClearBufferuiv(GL_COLOR, 0, clear_color);
49 break;
50 }
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
deleted file mode 100644
index 8321be8490..0000000000
--- a/meta/recipes-graphics/piglit/piglit/0001-tests-shader.py-sort-the-file-list-before-working-on.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From 5bf89c6a314952313b2b762fff0d5501fe57ac53 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Wed, 2 Dec 2020 21:21:52 +0000
4Subject: [PATCH] tests/shader.py: sort the file list before working on it
5
6This allows later xml output to be reproducible.
7
8Upstream-Status: Pending
9Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
10---
11 tests/shader.py | 4 +++-
12 1 file changed, 3 insertions(+), 1 deletion(-)
13
14diff --git a/tests/shader.py b/tests/shader.py
15index 849273660..e6e65d1ba 100644
16--- a/tests/shader.py
17+++ b/tests/shader.py
18@@ -52,7 +52,9 @@ for basedir in [TESTS_DIR, GENERATED_TESTS_DIR]:
19 for group, files in shader_tests.items():
20 assert group not in profile.test_list, 'duplicate group: {}'.format(group)
21
22- # We'll end up with a list of tuples, split that into two lists
23+ # This makes the xml output reproducible, as os.walk() order is random
24+ files.sort()
25+ # We'll end up with a list of tuples, split that into two list
26 files, installedfiles = list(zip(*files))
27 files = list(files)
28 installedfiles = list(installedfiles)
diff --git a/meta/recipes-graphics/piglit/piglit/0001-utils-Include-libgen.h-on-musl-linux-systems.patch b/meta/recipes-graphics/piglit/piglit/0001-utils-Include-libgen.h-on-musl-linux-systems.patch
new file mode 100644
index 0000000000..2875dd52ec
--- /dev/null
+++ b/meta/recipes-graphics/piglit/piglit/0001-utils-Include-libgen.h-on-musl-linux-systems.patch
@@ -0,0 +1,83 @@
1From 6c852e6ac292008137a6f3a8aa908090bb5b4b11 Mon Sep 17 00:00:00 2001
2From: Erik Faye-Lund <erik.faye-lund@collabora.com>
3Date: Tue, 19 Mar 2024 16:34:02 +0100
4Subject: [PATCH] properly check for libgen.h
5
6Some users are reporting that basename is not available when building on
7Linux with musl libc. And since the POSIX spec[1] says that basename is
8defined in libgen.h, we should include that when available.
9
10So let's properly detect the header, and include it if it exists. This
11should hopefully make things a bit more robust.
12
13Since we're also including this from the CL program-tester, let's
14rearrange the includes a bit so we know that config.h has been included.
15
16Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/888]
17Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
18Signed-off-by: Khem Raj <raj.khem@gmail.com>
19---
20 CMakeLists.txt | 1 +
21 tests/cl/program/program-tester.c | 5 ++++-
22 tests/util/config.h.in | 1 +
23 tests/util/piglit-util.h | 4 ++--
24 4 files changed, 8 insertions(+), 3 deletions(-)
25
26diff --git a/CMakeLists.txt b/CMakeLists.txt
27index dd2bf67125..5563fe0e20 100644
28--- a/CMakeLists.txt
29+++ b/CMakeLists.txt
30@@ -492,6 +492,7 @@ check_include_file(unistd.h HAVE_UNISTD_H)
31 check_include_file(fcntl.h HAVE_FCNTL_H)
32 check_include_file(linux/sync_file.h HAVE_LINUX_SYNC_FILE_H)
33 check_include_file(endian.h HAVE_ENDIAN_H)
34+check_include_file(libgen.h HAVE_LIBGEN_H)
35
36 if(DEFINED PIGLIT_INSTALL_VERSION)
37 set(PIGLIT_INSTALL_VERSION_SUFFIX
38diff --git a/tests/cl/program/program-tester.c b/tests/cl/program/program-tester.c
39index 97fe64906d..e47fb5aacc 100644
40--- a/tests/cl/program/program-tester.c
41+++ b/tests/cl/program/program-tester.c
42@@ -31,10 +31,13 @@
43 #include <inttypes.h>
44 #include <math.h>
45 #include <regex.h>
46-#include <libgen.h>
47
48 #include "piglit-framework-cl-program.h"
49
50+#ifdef HAVE_LIBGEN_H
51+#include <libgen.h>
52+#endif
53+
54 /* Regexes */
55
56 /*
57diff --git a/tests/util/config.h.in b/tests/util/config.h.in
58index 8ed5af1709..437eb91418 100644
59--- a/tests/util/config.h.in
60+++ b/tests/util/config.h.in
61@@ -16,3 +16,4 @@
62 #cmakedefine HAVE_SYS_RESOURCE_H 1
63 #cmakedefine HAVE_UNISTD_H 1
64 #cmakedefine HAVE_ENDIAN_H 1
65+#cmakedefine HAVE_LIBGEN_H 1
66diff --git a/tests/util/piglit-util.h b/tests/util/piglit-util.h
67index 4d3606c708..de999980b6 100644
68--- a/tests/util/piglit-util.h
69+++ b/tests/util/piglit-util.h
70@@ -52,8 +52,8 @@ extern "C" {
71 #include <math.h>
72 #include <float.h>
73
74-#if defined(__APPLE__) || defined(__MINGW32__)
75-# include "libgen.h" // for basename
76+#ifdef HAVE_LIBGEN_H
77+# include <libgen.h> // for basename
78 #elif defined(_MSC_VER)
79
80 static inline char *
81--
82GitLab
83
diff --git a/meta/recipes-graphics/piglit/piglit/0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch b/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
index 5d6ec368ba..70bb55053d 100644
--- a/meta/recipes-graphics/piglit/piglit/0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
+++ b/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
@@ -1,4 +1,4 @@
1From 3bf1beee1ddd19bc536ff2856e04ac269d43daa2 Mon Sep 17 00:00:00 2001 1From cb8e4b99fcfe81399e3e6d922156db4a48a39a8e Mon Sep 17 00:00:00 2001
2From: Pascal Bach <pascal.bach@siemens.com> 2From: Pascal Bach <pascal.bach@siemens.com>
3Date: Thu, 4 Oct 2018 14:43:17 +0200 3Date: Thu, 4 Oct 2018 14:43:17 +0200
4Subject: [PATCH] cmake: use proper WAYLAND_INCLUDE_DIRS variable 4Subject: [PATCH] cmake: use proper WAYLAND_INCLUDE_DIRS variable
@@ -15,7 +15,7 @@ Upstream-Status: Submitted [piglit@lists.freedesktop.org]
15 1 file changed, 1 insertion(+), 1 deletion(-) 15 1 file changed, 1 insertion(+), 1 deletion(-)
16 16
17diff --git a/tests/util/CMakeLists.txt b/tests/util/CMakeLists.txt 17diff --git a/tests/util/CMakeLists.txt b/tests/util/CMakeLists.txt
18index a5f080156..a303a9f58 100644 18index 1714ab41f..3b67aa7da 100644
19--- a/tests/util/CMakeLists.txt 19--- a/tests/util/CMakeLists.txt
20+++ b/tests/util/CMakeLists.txt 20+++ b/tests/util/CMakeLists.txt
21@@ -97,7 +97,7 @@ if(PIGLIT_USE_WAFFLE) 21@@ -97,7 +97,7 @@ if(PIGLIT_USE_WAFFLE)
@@ -27,6 +27,3 @@ index a5f080156..a303a9f58 100644
27 ) 27 )
28 endif() 28 endif()
29 if(PIGLIT_HAS_X11) 29 if(PIGLIT_HAS_X11)
30--
312.11.0
32
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/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
index 16c7c5c803..ce5cbd3ea9 100644
--- a/meta/recipes-graphics/piglit/piglit/0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
+++ b/meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
@@ -1,8 +1,8 @@
1From 1c67250308a92d4991ed05d9d240090ab84accae Mon Sep 17 00:00:00 2001 1From 7d2d23125f1946a7b74f9a427388d469500fcd8d Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Tue, 10 Nov 2020 17:13:50 +0000 3Date: Tue, 10 Nov 2020 17:13:50 +0000
4Subject: [PATCH 2/2] tests/util/piglit-shader.c: do not hardcode build path 4Subject: [PATCH] tests/util/piglit-shader.c: do not hardcode build path into
5 into target binary 5 target binary
6 6
7This helps reproducibilty. 7This helps reproducibilty.
8 8
@@ -13,7 +13,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
13 1 file changed, 1 insertion(+), 1 deletion(-) 13 1 file changed, 1 insertion(+), 1 deletion(-)
14 14
15diff --git a/tests/util/piglit-shader.c b/tests/util/piglit-shader.c 15diff --git a/tests/util/piglit-shader.c b/tests/util/piglit-shader.c
16index 4fd68d21e..c9ea8295e 100644 16index 1787eb180..9e74704b1 100644
17--- a/tests/util/piglit-shader.c 17--- a/tests/util/piglit-shader.c
18+++ b/tests/util/piglit-shader.c 18+++ b/tests/util/piglit-shader.c
19@@ -73,7 +73,7 @@ piglit_compile_shader(GLenum target, const char *filename) 19@@ -73,7 +73,7 @@ piglit_compile_shader(GLenum target, const char *filename)
@@ -25,6 +25,3 @@ index 4fd68d21e..c9ea8295e 100644
25 } 25 }
26 26
27 snprintf(filename_with_path, FILENAME_MAX - 1, 27 snprintf(filename_with_path, FILENAME_MAX - 1,
28--
292.17.1
30
diff --git a/meta/recipes-graphics/piglit/piglit_git.bb b/meta/recipes-graphics/piglit/piglit_git.bb
index 14f4c75a2c..99d75e64f8 100644
--- a/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/meta/recipes-graphics/piglit/piglit_git.bb
@@ -3,31 +3,27 @@ DESCRIPTION = "Piglit is an open-source test suite for OpenGL and OpenCL \
3implementations." 3implementations."
4HOMEPAGE = "https://gitlab.freedesktop.org/mesa/piglit" 4HOMEPAGE = "https://gitlab.freedesktop.org/mesa/piglit"
5BUGTRACKER = "https://gitlab.freedesktop.org/mesa/piglit/-/issues" 5BUGTRACKER = "https://gitlab.freedesktop.org/mesa/piglit/-/issues"
6LICENSE = "MIT & LGPLv2+ & GPLv3 & GPLv2+ & BSD-3-Clause" 6LICENSE = "MIT & LGPL-2.0-or-later & GPL-3.0-only & GPL-2.0-or-later & BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0" 7LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0"
8 8
9SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https \ 9SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=main \
10 file://0001-cmake-install-bash-completions-in-the-right-place.patch \ 10 file://0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
11 file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \ 11 file://0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \
12 file://0001-Add-a-missing-include-for-htobe32-definition.patch \ 12 file://0001-tests-Fix-narrowing-errors-seen-with-clang.patch \
13 file://0001-generated_tests-gen_tcs-tes_input_tests.py-do-not-ha.patch \ 13 file://0001-utils-Include-libgen.h-on-musl-linux-systems.patch \
14 file://0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \
15 file://0001-serializer.py-make-.gz-files-reproducible.patch \
16 file://0001-framework-profile.py-make-test-lists-reproducible.patch \
17 file://0001-tests-shader.py-sort-the-file-list-before-working-on.patch \
18 " 14 "
19UPSTREAM_CHECK_COMMITS = "1" 15UPSTREAM_CHECK_COMMITS = "1"
20 16
21SRCREV = "d4d9353b7290ed22cb7349226a8e4017402d3f02" 17SRCREV = "22eaf6a91cfd57f7bb3df4e5068c2ac1472d4ec1"
22# (when PV goes above 1.0 remove the trailing r) 18# (when PV goes above 1.0 remove the trailing r)
23PV = "1.0+gitr${SRCPV}" 19PV = "1.0+gitr"
24 20
25S = "${WORKDIR}/git" 21S = "${WORKDIR}/git"
26 22
27X11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}" 23X11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}"
28X11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}" 24X11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}"
29 25
30DEPENDS = "libpng waffle libxkbcommon virtual/libgl python3-mako-native python3-numpy-native python3-six-native virtual/egl" 26DEPENDS = "libpng waffle libxkbcommon python3-mako-native python3-numpy-native python3-six-native virtual/egl"
31 27
32inherit cmake pkgconfig python3native features_check bash-completion 28inherit cmake pkgconfig python3native features_check bash-completion
33 29
@@ -40,34 +36,39 @@ REQUIRED_DISTRO_FEATURES += "opengl"
40export TEMP = "${B}/temp/" 36export TEMP = "${B}/temp/"
41do_compile[dirs] =+ "${B}/temp/" 37do_compile[dirs] =+ "${B}/temp/"
42 38
43PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" 39PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 glx', '', d)}"
44PACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut," 40PACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut,"
41PACKAGECONFIG[glx] = "-DPIGLIT_BUILD_GLX_TESTS=ON,-DPIGLIT_BUILD_GLX_TESTS=OFF"
42PACKAGECONFIG[opencl] = "-DPIGLIT_BUILD_CL_TESTS=ON,-DPIGLIT_BUILD_CL_TESTS=OFF,virtual/opencl-icd"
45PACKAGECONFIG[x11] = "-DPIGLIT_BUILD_GL_TESTS=ON,-DPIGLIT_BUILD_GL_TESTS=OFF,${X11_DEPS}, ${X11_RDEPS}" 43PACKAGECONFIG[x11] = "-DPIGLIT_BUILD_GL_TESTS=ON,-DPIGLIT_BUILD_GL_TESTS=OFF,${X11_DEPS}, ${X11_RDEPS}"
44PACKAGECONFIG[vulkan] = "-DPIGLIT_BUILD_VK_TESTS=ON,-DPIGLIT_BUILD_VK_TESTS=OFF,glslang-native vulkan-loader,glslang"
46 45
47export PIGLIT_BUILD_DIR = "../../../../git" 46export PIGLIT_BUILD_DIR = "../../../../git"
48 47
49do_configure_prepend() { 48do_configure:prepend() {
50 if [ "${@bb.utils.contains('PACKAGECONFIG', 'freeglut', 'yes', 'no', d)}" = "no" ]; then 49 if [ "${@bb.utils.contains('PACKAGECONFIG', 'freeglut', 'yes', 'no', d)}" = "no" ]; then
51 sed -i -e "/^#.*include <GL\/freeglut_ext.h>$/d" ${S}/src/piglit/glut_wrap.h 50 sed -i -e "/^#.*include <GL\/freeglut_ext.h>$/d" ${S}/src/piglit/glut_wrap.h
52 sed -i -e "/^#.*include.*<GL\/glut.h>$/d" ${S}/src/piglit/glut_wrap.h 51 sed -i -e "/^#.*include.*<GL\/glut.h>$/d" ${S}/src/piglit/glut_wrap.h
53 fi 52 fi
54} 53}
55 54
56# Forcibly strip because Piglit is *huge* 55# Forcibly strip because Piglit is *huge*, and don't bother trying to split/strip the result.
57OECMAKE_TARGET_INSTALL = "install/strip" 56OECMAKE_TARGET_INSTALL = "install/strip"
57INHIBIT_PACKAGE_STRIP = "1"
58INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
58 59
59RDEPENDS_${PN} = "waffle waffle-bin python3 python3-mako python3-json \ 60RDEPENDS:${PN} = "waffle waffle-bin python3 python3-mako python3-json \
60 python3-misc \ 61 python3-misc \
61 python3-unixadmin python3-xml python3-multiprocessing \ 62 python3-unixadmin python3-xml python3-multiprocessing \
62 python3-six python3-shell python3-io \ 63 python3-six python3-shell python3-io \
63 python3-netserver bash \ 64 python3-netserver bash \
64 " 65 "
65 66
66INSANE_SKIP_${PN} += "dev-so already-stripped" 67INSANE_SKIP:${PN} += "dev-so already-stripped"
67 68
68# As nothing builds against Piglit we don't need to have anything in the 69# As nothing builds against Piglit we don't need to have anything in the
69# sysroot, especially when this is ~2GB of test suite 70# sysroot, especially when this is ~2GB of test suite
70SYSROOT_DIRS_remove = "${libdir}" 71SYSROOT_DIRS:remove = "${libdir}"
71 72
72# Can't be built with ccache 73# Can't be built with ccache
73CCACHE_DISABLE = "1" 74CCACHE_DISABLE = "1"
diff --git a/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb b/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb
index c3c237eee7..d0794f8ee6 100644
--- a/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb
+++ b/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb
@@ -1,5 +1,5 @@
1SUMMARY = "A clock combined with a game of pong" 1SUMMARY = "A clock combined with a game of pong"
2LICENSE = "GPLv2+" 2LICENSE = "GPL-2.0-or-later"
3DEPENDS = "virtual/libx11 xdmcp xau" 3DEPENDS = "virtual/libx11 xdmcp xau"
4 4
5inherit features_check pkgconfig 5inherit features_check pkgconfig
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
index cc9a400028..5c49aa7fd5 100644
--- 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
@@ -1,7 +1,7 @@
1From 071a9d71bea91bbefcf15e061fc87e53568f3188 Mon Sep 17 00:00:00 2001 1From 941f5f5831e7a52c26168f81f25d0470860ca6f1 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com> 2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sat, 13 Feb 2021 00:45:56 +0000 3Date: Sat, 13 Feb 2021 00:45:56 +0000
4Subject: [PATCH 1/3] cmake: disable building external dependencies 4Subject: [PATCH] cmake: disable building external dependencies
5 5
6- add cmake option to disable the build of the third_party dependencies 6- add cmake option to disable the build of the third_party dependencies
7- change the update_build_version.py to use pkg-config when third_party dependencies not found 7- change the update_build_version.py to use pkg-config when third_party dependencies not found
@@ -15,18 +15,18 @@ Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
15 2 files changed, 25 insertions(+), 10 deletions(-) 15 2 files changed, 25 insertions(+), 10 deletions(-)
16 16
17diff --git a/CMakeLists.txt b/CMakeLists.txt 17diff --git a/CMakeLists.txt b/CMakeLists.txt
18index 5c74cd8..b358f6b 100644 18index ffcb54b..cce715e 100644
19--- a/CMakeLists.txt 19--- a/CMakeLists.txt
20+++ b/CMakeLists.txt 20+++ b/CMakeLists.txt
21@@ -41,6 +41,7 @@ else() 21@@ -62,6 +62,7 @@ else()
22 endif() 22 endif()
23 23
24 option(SHADERC_ENABLE_WERROR_COMPILE "Enable passing -Werror to compiler, if available" ON) 24 option(SHADERC_ENABLE_WERROR_COMPILE "Enable passing -Werror to compiler, if available" ON)
25+option(BUILD_EXTERNAL "Build external dependencies in /third_party" ON) 25+option(BUILD_EXTERNAL "Build external dependencies in /third_party" ON)
26 26
27 set (CMAKE_CXX_STANDARD 11) 27 set (CMAKE_CXX_STANDARD 17)
28 28
29@@ -101,8 +102,14 @@ endif(MSVC) 29@@ -119,8 +120,14 @@ endif(MSVC)
30 30
31 31
32 # Configure subdirectories. 32 # Configure subdirectories.
@@ -43,9 +43,9 @@ index 5c74cd8..b358f6b 100644
43 43
44 add_subdirectory(libshaderc_util) 44 add_subdirectory(libshaderc_util)
45 add_subdirectory(libshaderc) 45 add_subdirectory(libshaderc)
46@@ -112,7 +119,7 @@ add_subdirectory(examples) 46@@ -132,7 +139,7 @@ endif()
47 add_custom_target(build-version 47 add_custom_target(build-version
48 ${PYTHON_EXECUTABLE} 48 ${Python_EXECUTABLE}
49 ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py 49 ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py
50- ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/build-version.inc 50- ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/build-version.inc
51+ ${CMAKE_CURRENT_BINARY_DIR}/build-version.inc ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} 51+ ${CMAKE_CURRENT_BINARY_DIR}/build-version.inc ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR}
@@ -53,7 +53,7 @@ index 5c74cd8..b358f6b 100644
53 53
54 function(define_pkg_config_file NAME LIBS) 54 function(define_pkg_config_file NAME LIBS)
55diff --git a/utils/update_build_version.py b/utils/update_build_version.py 55diff --git a/utils/update_build_version.py b/utils/update_build_version.py
56index 5785390..f72b762 100755 56index b7ce5b8..95b34c5 100755
57--- a/utils/update_build_version.py 57--- a/utils/update_build_version.py
58+++ b/utils/update_build_version.py 58+++ b/utils/update_build_version.py
59@@ -30,6 +30,7 @@ import re 59@@ -30,6 +30,7 @@ import re
@@ -104,6 +104,3 @@ index 5785390..f72b762 100755
104 mkdir_p(os.path.dirname(output_file)) 104 mkdir_p(os.path.dirname(output_file))
105 105
106 if os.path.isfile(output_file): 106 if os.path.isfile(output_file):
107--
1082.30.1
109
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
index df670cdded..39f982b7f3 100644
--- 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
@@ -1,7 +1,7 @@
1From 046c3c2da9c4ff66f14db5bd68e9557504a49241 Mon Sep 17 00:00:00 2001 1From ec2442940e1d5338971861bb81537bae3a6c19e2 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com> 2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sat, 13 Feb 2021 00:45:56 +0000 3Date: Sat, 13 Feb 2021 00:45:56 +0000
4Subject: [PATCH 2/3] libshaderc_util: fix glslang header file location 4Subject: [PATCH] libshaderc_util: fix glslang header file location
5 5
6Upstream-Status: Pending 6Upstream-Status: Pending
7 7
@@ -11,7 +11,7 @@ Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
11 1 file changed, 1 insertion(+), 1 deletion(-) 11 1 file changed, 1 insertion(+), 1 deletion(-)
12 12
13diff --git a/libshaderc_util/src/compiler.cc b/libshaderc_util/src/compiler.cc 13diff --git a/libshaderc_util/src/compiler.cc b/libshaderc_util/src/compiler.cc
14index c5ce37e..4703634 100644 14index e5f5d10..5fd6d3c 100644
15--- a/libshaderc_util/src/compiler.cc 15--- a/libshaderc_util/src/compiler.cc
16+++ b/libshaderc_util/src/compiler.cc 16+++ b/libshaderc_util/src/compiler.cc
17@@ -20,7 +20,7 @@ 17@@ -20,7 +20,7 @@
@@ -21,8 +21,5 @@ index c5ce37e..4703634 100644
21-#include "SPIRV/GlslangToSpv.h" 21-#include "SPIRV/GlslangToSpv.h"
22+#include "glslang/SPIRV/GlslangToSpv.h" 22+#include "glslang/SPIRV/GlslangToSpv.h"
23 #include "libshaderc_util/format.h" 23 #include "libshaderc_util/format.h"
24 #include "libshaderc_util/io.h" 24 #include "libshaderc_util/io_shaderc.h"
25 #include "libshaderc_util/message.h" 25 #include "libshaderc_util/message.h"
26--
272.30.1
28
diff --git a/meta/recipes-graphics/shaderc/files/0003-cmake-add-option-to-skip-build-the-examples.patch b/meta/recipes-graphics/shaderc/files/0003-cmake-add-option-to-skip-build-the-examples.patch
deleted file mode 100644
index 43f9edc031..0000000000
--- a/meta/recipes-graphics/shaderc/files/0003-cmake-add-option-to-skip-build-the-examples.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1From f1064e4b6cfc5955bc7e2b036f2d05540da9f09b Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sat, 13 Feb 2021 00:45:56 +0000
4Subject: [PATCH 3/3] cmake: add option to skip build the examples
5
6Upstream-Status: Backport [https://github.com/google/shaderc/commit/8d081127ee28ff5df8123c994c00bc66a57e9e9c]
7
8Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
9---
10 CMakeLists.txt | 14 +++++++++++++-
11 1 file changed, 13 insertions(+), 1 deletion(-)
12
13diff --git a/CMakeLists.txt b/CMakeLists.txt
14index b358f6b..d8a5405 100644
15--- a/CMakeLists.txt
16+++ b/CMakeLists.txt
17@@ -40,6 +40,16 @@ else()
18 message(STATUS "Configuring Shaderc to avoid building tests.")
19 endif()
20
21+option(SHADERC_SKIP_EXAMPLES "Skip building examples" ${SHADERC_SKIP_EXAMPLES})
22+if(NOT ${SHADERC_SKIP_EXAMPLES})
23+ set(SHADERC_ENABLE_EXAMPLES ON)
24+endif()
25+if(${SHADERC_ENABLE_EXAMPLES})
26+ message(STATUS "Configuring Shaderc to build examples.")
27+else()
28+ message(STATUS "Configuring Shaderc to avoid building examples.")
29+endif()
30+
31 option(SHADERC_ENABLE_WERROR_COMPILE "Enable passing -Werror to compiler, if available" ON)
32 option(BUILD_EXTERNAL "Build external dependencies in /third_party" ON)
33
34@@ -114,7 +124,9 @@ endif()
35 add_subdirectory(libshaderc_util)
36 add_subdirectory(libshaderc)
37 add_subdirectory(glslc)
38-add_subdirectory(examples)
39+if(${SHADERC_ENABLE_EXAMPLES})
40+ add_subdirectory(examples)
41+endif()
42
43 add_custom_target(build-version
44 ${PYTHON_EXECUTABLE}
45--
462.30.1
47
diff --git a/meta/recipes-graphics/shaderc/shaderc_2020.4.bb b/meta/recipes-graphics/shaderc/shaderc_2024.0.bb
index 73aa0ee969..9975c608ac 100644
--- a/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
+++ b/meta/recipes-graphics/shaderc/shaderc_2024.0.bb
@@ -6,16 +6,15 @@ HOMEPAGE = "https://github.com/google/shaderc"
6LICENSE = "Apache-2.0" 6LICENSE = "Apache-2.0"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" 7LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
8 8
9SRCREV = "0dbd899941a43ffd55df527d65128b3b66e75c9c" 9SRCREV = "9f56ca620c07d6c4d119c65c1c1f3f1c584c9985"
10SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \ 10SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \
11 file://0001-cmake-disable-building-external-dependencies.patch \ 11 file://0001-cmake-disable-building-external-dependencies.patch \
12 file://0002-libshaderc_util-fix-glslang-header-file-location.patch \ 12 file://0002-libshaderc_util-fix-glslang-header-file-location.patch \
13 file://0003-cmake-add-option-to-skip-build-the-examples.patch \
14 " 13 "
15UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$" 14UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
16S = "${WORKDIR}/git" 15S = "${WORKDIR}/git"
17 16
18inherit cmake python3native 17inherit cmake python3native pkgconfig
19 18
20DEPENDS = "spirv-headers spirv-tools glslang" 19DEPENDS = "spirv-headers spirv-tools glslang"
21 20
@@ -24,6 +23,7 @@ EXTRA_OECMAKE = " \
24 -DBUILD_EXTERNAL=OFF \ 23 -DBUILD_EXTERNAL=OFF \
25 -DSHADERC_SKIP_TESTS=ON \ 24 -DSHADERC_SKIP_TESTS=ON \
26 -DSHADERC_SKIP_EXAMPLES=ON \ 25 -DSHADERC_SKIP_EXAMPLES=ON \
26 -DSHADERC_SKIP_COPYRIGHT_CHECK=ON \
27" 27"
28 28
29BBCLASSEXTEND = "native nativesdk" 29BBCLASSEXTEND = "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 @@
1From caf59c46ea5dc49e4dbf756c642b03e52c1b5468 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 20 Dec 2019 07:02:24 -0800
4Subject: [PATCH] Respect CMAKE_INSTALL_LIBDIR in installed CMake files
5
6Upstream-Status: Submitted [https://github.com/google/effcee/pull/36]
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9 CMakeLists.txt | 1 +
10 effcee/CMakeLists.txt | 4 ++--
11 2 files changed, 3 insertions(+), 2 deletions(-)
12
13--- a/external/effcee/CMakeLists.txt
14+++ b/external/effcee/CMakeLists.txt
15@@ -27,6 +27,7 @@ endif()
16
17 include(cmake/setup_build.cmake)
18 include(cmake/utils.cmake)
19+include(GNUInstallDirs)
20
21 add_subdirectory(third_party)
22 add_subdirectory(effcee)
23--- a/external/effcee/effcee/CMakeLists.txt
24+++ b/external/effcee/effcee/CMakeLists.txt
25@@ -14,8 +14,8 @@ install(
26 DESTINATION
27 include/effcee)
28 install(TARGETS effcee
29- LIBRARY DESTINATION lib
30- ARCHIVE DESTINATION lib)
31+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
32+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
33
34 if(EFFCEE_BUILD_TESTING)
35 add_executable(effcee-test
diff --git a/meta/recipes-graphics/spir/spirv-headers_1.3.280.0.bb b/meta/recipes-graphics/spir/spirv-headers_1.3.280.0.bb
new file mode 100644
index 0000000000..26bfd9c4fa
--- /dev/null
+++ b/meta/recipes-graphics/spir/spirv-headers_1.3.280.0.bb
@@ -0,0 +1,20 @@
1SUMMARY = "Machine-readable files for the SPIR-V Registry"
2SECTION = "graphics"
3HOMEPAGE = "https://www.khronos.org/registry/spir-v"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=d14ee3b13f42e9c9674acc5925c3d741"
6
7SRCREV = "8b246ff75c6615ba4532fe4fde20f1be090c3764"
8SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=main"
9PE = "1"
10# These recipes need to be updated in lockstep with each other:
11# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools
12# vulkan-validation-layers, vulkan-utility-libraries.
13# The tags versions should always be sdk-x.y.z, as this is what
14# upstream considers a release.
15UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
16S = "${WORKDIR}/git"
17
18inherit cmake
19
20BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb b/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb
deleted file mode 100644
index 14723f951b..0000000000
--- a/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
1SUMMARY = "Machine-readable files for the SPIR-V Registry"
2DESCRIPTION = "Headers are provided in the include directory, with up-to-date \
3headers in the unified1 subdirectory. Older headers are provided according to \
4their version."
5SECTION = "graphics"
6HOMEPAGE = "https://www.khronos.org/registry/spir-v"
7LICENSE = "MIT"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d"
9
10SRCREV = "f027d53ded7e230e008d37c8b47ede7cd308e19d"
11SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https"
12UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
13S = "${WORKDIR}/git"
14
15inherit cmake
16
17BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/spir/spirv-tools_2020.6.bb b/meta/recipes-graphics/spir/spirv-tools_1.3.280.0.bb
index f1fe40096e..d2b6acf946 100644
--- a/meta/recipes-graphics/spir/spirv-tools_2020.6.bb
+++ b/meta/recipes-graphics/spir/spirv-tools_1.3.280.0.bb
@@ -7,9 +7,15 @@ SECTION = "graphics"
7LICENSE = "Apache-2.0" 7LICENSE = "Apache-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" 8LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
9 9
10SRCREV = "b27b1afd12d05bf238ac7368bb49de73cd620a8e" 10SRCREV = "04896c462d9f3f504c99a4698605b6524af813c1"
11SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git" 11SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=main;protocol=https"
12UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$" 12PE = "1"
13# These recipes need to be updated in lockstep with each other:
14# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools
15# vulkan-validation-layers, vulkan-utility-libraries.
16# The tags versions should always be sdk-x.y.z, as this is what
17# upstream considers a release.
18UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
13S = "${WORKDIR}/git" 19S = "${WORKDIR}/git"
14 20
15inherit cmake 21inherit cmake
@@ -23,10 +29,11 @@ EXTRA_OECMAKE += "\
23 -DSPIRV_SKIP_TESTS=ON \ 29 -DSPIRV_SKIP_TESTS=ON \
24" 30"
25 31
26do_install_append_class-target() { 32do_install:append:class-target() {
27 # reproducibility: remove build host path 33 # Properly set _IMPORT_PREFIX in INTERFACE_LINK_LIBRARIES so that dependent
34 # tools can find the right library
28 sed -i ${D}${libdir}/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake \ 35 sed -i ${D}${libdir}/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake \
29 -e 's:${STAGING_DIR_HOST}::g' 36 -e 's:INTERFACE_LINK_LIBRARIES.*$:INTERFACE_LINK_LIBRARIES "\$\{_IMPORT_PREFIX\}/${baselib}":'
30} 37}
31 38
32# all the libraries are unversioned, so don't pack it on PN-dev 39# all the libraries are unversioned, so don't pack it on PN-dev
@@ -34,7 +41,7 @@ SOLIBS = ".so"
34FILES_SOLIBSDEV = "" 41FILES_SOLIBSDEV = ""
35 42
36PACKAGES =+ "${PN}-lesspipe" 43PACKAGES =+ "${PN}-lesspipe"
37FILES_${PN}-lesspipe = "${base_bindir}/spirv-lesspipe.sh" 44FILES:${PN}-lesspipe = "${base_bindir}/spirv-lesspipe.sh"
38RDEPENDS_${PN}-lesspipe += "${PN} bash" 45RDEPENDS:${PN}-lesspipe += "${PN} bash"
39 46
40BBCLASSEXTEND = "native nativesdk" 47BBCLASSEXTEND = "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 f69e4838f4..aa18881a12 100644
--- a/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb
+++ b/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb
@@ -7,13 +7,12 @@ BUGTRACKER = "https://gitlab.freedesktop.org/xdg/startup-notification/-/issues"
7 7
8# most files are under MIT, but libsn/sn-util.c is under LGPL, the 8# most files are under MIT, but libsn/sn-util.c is under LGPL, the
9# effective license is LGPL 9# effective license is LGPL
10LICENSE = "LGPLv2+" 10LICENSE = "LGPL-2.0-or-later"
11LIC_FILES_CHKSUM = "file://COPYING;md5=a2ae2cd47d6d2f238410f5364dfbc0f2 \ 11LIC_FILES_CHKSUM = "file://COPYING;md5=a2ae2cd47d6d2f238410f5364dfbc0f2 \
12 file://libsn/sn-util.c;endline=18;md5=18a14dc1825d38e741d772311fea9ee1 \ 12 file://libsn/sn-util.c;endline=18;md5=18a14dc1825d38e741d772311fea9ee1 \
13 file://libsn/sn-common.h;endline=23;md5=6d05bc0ebdcf5513a6e77cb26e8cd7e2 \ 13 file://libsn/sn-common.h;endline=23;md5=6d05bc0ebdcf5513a6e77cb26e8cd7e2 \
14 file://test/test-boilerplate.h;endline=23;md5=923e706b2a70586176eead261cc5bb98" 14 file://test/test-boilerplate.h;endline=23;md5=923e706b2a70586176eead261cc5bb98"
15 15
16PR = "r2"
17 16
18SECTION = "libs" 17SECTION = "libs"
19 18
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 abc216f434..b7fdc0d399 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"
2DESCRIPTION = "The Liberation(tm) Fonts is a font family originally \ 2DESCRIPTION = "The Liberation(tm) Fonts is a font family originally \
3created by Ascender(c) which aims at metric compatibility with \ 3created by Ascender(c) which aims at metric compatibility with \
4Arial, Times New Roman, Courier New." 4Arial, Times New Roman, Courier New."
5HOMEPAGE = "https://releases.pagure.org/liberation-fonts/" 5HOMEPAGE = "https://github.com/liberationfonts/liberation-fonts"
6BUGTRACKER = "https://bugzilla.redhat.com/" 6BUGTRACKER = "https://bugzilla.redhat.com/"
7 7
8SECTION = "x11/fonts" 8SECTION = "x11/fonts"
@@ -10,21 +10,14 @@ LICENSE = "OFL-1.1"
10LIC_FILES_CHKSUM = "file://LICENSE;md5=f96db970a9a46c5369142b99f530366b" 10LIC_FILES_CHKSUM = "file://LICENSE;md5=f96db970a9a46c5369142b99f530366b"
11PE = "1" 11PE = "1"
12 12
13# remove at next version upgrade or when output changes 13SRC_URI = "https://github.com/liberationfonts/liberation-fonts/files/7261482/liberation-fonts-ttf-${PV}.tar.gz \
14PR = "r1"
15HASHEQUIV_HASH_VERSION .= ".2"
16
17inherit allarch fontcache
18
19FONT_PACKAGES = "${PN}"
20
21SRC_URI = "https://releases.pagure.org/liberation-fonts/liberation-fonts-ttf-${PV}.tar.gz \
22 file://30-liberation-aliases.conf" 14 file://30-liberation-aliases.conf"
15SRC_URI[sha256sum] = "7191c669bf38899f73a2094ed00f7b800553364f90e2637010a69c0e268f25d0"
16GITHUB_BASE_URI = "https://github.com/liberationfonts/liberation-fonts/releases"
23 17
24S = "${WORKDIR}/liberation-fonts-ttf-${PV}" 18S = "${WORKDIR}/liberation-fonts-ttf-${PV}"
25 19
26SRC_URI[md5sum] = "5c781723a0d9ed6188960defba8e91cf" 20inherit allarch fontcache github-releases
27SRC_URI[sha256sum] = "7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504"
28 21
29do_install () { 22do_install () {
30 install -d ${D}${datadir}/fonts/ttf/ 23 install -d ${D}${datadir}/fonts/ttf/
@@ -40,6 +33,6 @@ do_install () {
40} 33}
41 34
42PACKAGES = "${PN}" 35PACKAGES = "${PN}"
43FILES_${PN} += "${sysconfdir} ${datadir}" 36FILES:${PN} += "${sysconfdir} ${datadir}"
44 37
45BBCLASSEXTEND = "native nativesdk" 38BBCLASSEXTEND = "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 50c79b3bf0..0fc075a468 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 @@
1SUMMARY = "The Bitstream Vera fonts - TTF Edition" 1SUMMARY = "The Bitstream Vera fonts - TTF Edition"
2HOMEPAGE = "https://www.gnome.org/fonts/"
2DESCRIPTION = "The Bitstream Vera fonts include four monospace and sans \ 3DESCRIPTION = "The Bitstream Vera fonts include four monospace and sans \
3faces (normal, oblique, bold, bold oblique) and two serif faces (normal \ 4faces (normal, oblique, bold, bold oblique) and two serif faces (normal \
4and bold). In addition Fontconfig/Xft2 can artificially oblique the \ 5and bold). In addition Fontconfig/Xft2 can artificially oblique the \
@@ -7,13 +8,9 @@ but is visibly different than normal and bold, and reasonably pleasing."
7SECTION = "x11/fonts" 8SECTION = "x11/fonts"
8LICENSE = "BitstreamVera" 9LICENSE = "BitstreamVera"
9LIC_FILES_CHKSUM = "file://COPYRIGHT.TXT;md5=27d7484b1e18d0ee4ce538644a3f04be" 10LIC_FILES_CHKSUM = "file://COPYRIGHT.TXT;md5=27d7484b1e18d0ee4ce538644a3f04be"
10PR = "r8"
11 11
12inherit allarch fontcache 12inherit allarch fontcache
13 13
14# remove at next version upgrade or when output changes
15HASHEQUIV_HASH_VERSION .= ".1"
16
17FONT_PACKAGES = "${PN}" 14FONT_PACKAGES = "${PN}"
18 15
19SRC_URI = "${GNOME_MIRROR}/ttf-bitstream-vera/1.10/ttf-bitstream-vera-${PV}.tar.bz2" 16SRC_URI = "${GNOME_MIRROR}/ttf-bitstream-vera/1.10/ttf-bitstream-vera-${PV}.tar.bz2"
@@ -32,4 +29,4 @@ do_install () {
32 done 29 done
33} 30}
34 31
35FILES_${PN} = "${datadir}/fonts" 32FILES:${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 @@
1From 3d30df8d8ccb919733b5339b2a82474305b83998 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 6 Aug 2019 01:19:48 +0000
4Subject: [PATCH] gallium: Expand libc check to be platform OS check
5
6endianness on musl based systems can also be detected in same way as
7glibc, therefore check for __linux__ define instead of __GLIBC__
8
9Fixes build on musl/mips
10
11| ../../../../git/src/gallium/include/pipe/p_config.h:171:2: error: #error Unknown Endianness
12| #error Unknown Endianness
13| ^~~~~
14
15Upstream-Status: Pending
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 src/gallium/include/pipe/p_config.h | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h
22index d603681..71cdf49 100644
23--- a/src/gallium/include/pipe/p_config.h
24+++ b/src/gallium/include/pipe/p_config.h
25@@ -130,7 +130,7 @@
26 * Endian detection.
27 */
28
29-#ifdef __GLIBC__
30+#ifdef __linux__
31 #include <endian.h>
32
33 #if __BYTE_ORDER == __LITTLE_ENDIAN
34--
352.17.1
36
diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch b/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch
index 0fd1d511d6..3e12495970 100644
--- a/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch
+++ b/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch
@@ -1,4 +1,4 @@
1From 63788c63ed39a3ce9994f4315d8997e1a9300d4d Mon Sep 17 00:00:00 2001 1From dec8cca59124d7f8796b54902482ceb295a71b51 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Mon, 6 Jan 2020 12:44:42 +0100 3Date: Mon, 6 Jan 2020 12:44:42 +0100
4Subject: [PATCH] meson.build: use 'python3' directly for python 4Subject: [PATCH] meson.build: use 'python3' directly for python
@@ -8,20 +8,21 @@ its configuration).
8 8
9Upstream-Status: Inappropriate [oe-core specific] 9Upstream-Status: Inappropriate [oe-core specific]
10Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 10Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
11
11--- 12---
12 meson.build | 2 +- 13 meson.build | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-) 14 1 file changed, 1 insertion(+), 1 deletion(-)
14 15
15diff --git a/meson.build b/meson.build 16diff --git a/meson.build b/meson.build
16index 682d7c8..19d2eae 100644 17index 9f91ff2f..2391f89d 100644
17--- a/meson.build 18--- a/meson.build
18+++ b/meson.build 19+++ b/meson.build
19@@ -60,7 +60,7 @@ foreach w : warnings 20@@ -74,7 +74,7 @@ flags = [
20 endif 21
21 endforeach 22 add_project_arguments(cc.get_supported_arguments(flags), language : 'c')
22 23
23-prog_python = import('python').find_installation('python3') 24-prog_python = import('python').find_installation('python3')
24+prog_python = 'python3' 25+prog_python = 'python3'
25 26
26 libdrm_dep = dependency('libdrm', version : '>=2.4.50') 27 not_found = dependency('', required: false)
27 thread_dep = dependency('threads') 28 libdrm_dep = dependency('libdrm', version : '>=2.4.50', required: get_option('drm').enabled() or get_option('venus'))
diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.2.bb b/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.2.bb
deleted file mode 100644
index 52821195d1..0000000000
--- a/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.2.bb
+++ /dev/null
@@ -1,24 +0,0 @@
1SUMMARY = "VirGL virtual OpenGL renderer"
2DESCRIPTION = "Virgil is a research project to investigate the possibility of \
3creating a virtual 3D GPU for use inside qemu virtual machines, that allows \
4the guest operating system to use the capabilities of the host GPU to \
5accelerate 3D rendering."
6HOMEPAGE = "https://virgil3d.github.io/"
7
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10"
10
11DEPENDS = "libdrm virtual/libgl libepoxy"
12SRCREV = "7d204f3927be65fb3365dce01dbcd04d447a4985"
13SRC_URI = "git://anongit.freedesktop.org/virglrenderer \
14 file://0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch \
15 file://0001-meson.build-use-python3-directly-for-python.patch \
16 "
17
18S = "${WORKDIR}/git"
19
20inherit meson pkgconfig features_check
21
22BBCLASSEXTEND = "native nativesdk"
23
24REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer_1.0.1.bb b/meta/recipes-graphics/virglrenderer/virglrenderer_1.0.1.bb
new file mode 100644
index 0000000000..0501b0c59c
--- /dev/null
+++ b/meta/recipes-graphics/virglrenderer/virglrenderer_1.0.1.bb
@@ -0,0 +1,33 @@
1SUMMARY = "VirGL virtual OpenGL renderer"
2DESCRIPTION = "Virgil is a research project to investigate the possibility of \
3creating a virtual 3D GPU for use inside qemu virtual machines, that allows \
4the guest operating system to use the capabilities of the host GPU to \
5accelerate 3D rendering."
6HOMEPAGE = "https://virgil3d.github.io/"
7
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10"
10
11DEPENDS = "libdrm libepoxy virtual/egl virtual/libgbm"
12SRCREV = "690680e5f0f952e22424fca1538c1b24457a0868"
13SRC_URI = "git://gitlab.freedesktop.org/virgl/virglrenderer.git;branch=main;protocol=https \
14 file://0001-meson.build-use-python3-directly-for-python.patch \
15 "
16
17S = "${WORKDIR}/git"
18
19inherit meson pkgconfig features_check
20
21PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'venus', '', d)}"
22
23PACKAGECONFIG[venus] = "-Dvenus=true,-Dvenus=false,vulkan-loader vulkan-headers"
24PACKAGECONFIG[va] = "-Dvideo=true,-Dvideo=false,libva"
25PACKAGECONFIG[render-server] = "-Drender-server=true,-Drender-server=false"
26PACKAGECONFIG[drm-msm-experimental] = "-Ddrm-msm-experimental=true,-Ddrm-msm-experimental=false"
27PACKAGECONFIG[minigbm_allocation] = "-Dminigbm_allocation=true,-Dminigbm_allocation=false"
28PACKAGECONFIG[venus-validate] = "-Dvenus-validate=true,-Dvenus-validate=false"
29PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,libcheck"
30
31BBCLASSEXTEND = "native nativesdk"
32
33REQUIRED_DISTRO_FEATURES = "opengl"
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 @@
1From 58f576d6f240b08957a402960cdf06c74201ac7b Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Thu, 12 Dec 2019 22:16:15 -0800
4Subject: [PATCH] Use ASSIMP_LIB_INSTALL_DIR to search library
5
6Use ASSIMP_LIB_INSTALL_DIR rather than hardcoded /lib to search library
7
8Upstream-Status: Inappropriate [oe specific]
9
10Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
11
12---
13 assimpTargets-release.cmake.in | 16 ++++++++--------
14 1 file changed, 8 insertions(+), 8 deletions(-)
15
16diff --git a/assimpTargets-release.cmake.in b/assimpTargets-release.cmake.in
17index f3db8f1..b8a066a 100644
18--- a/assimpTargets-release.cmake.in
19+++ b/assimpTargets-release.cmake.in
20@@ -42,11 +42,11 @@ if(MSVC)
21 # Import target "assimp::assimp" for configuration "Release"
22 set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
23 set_target_properties(assimp::assimp PROPERTIES
24- IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/${importLibraryName}"
25+ IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${importLibraryName}"
26 IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/${sharedLibraryName}"
27 )
28 list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
29- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${importLibraryName}")
30+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${importLibraryName}")
31 list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" )
32 else()
33 set(staticLibraryName "assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
34@@ -54,10 +54,10 @@ if(MSVC)
35 # Import target "assimp::assimp" for configuration "Release"
36 set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
37 set_target_properties(assimp::assimp PROPERTIES
38- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
39+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}"
40 )
41 list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
42- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}")
43+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}")
44 endif()
45
46 else()
47@@ -70,17 +70,17 @@ else()
48 endif()
49 set_target_properties(assimp::assimp PROPERTIES
50 IMPORTED_SONAME_RELEASE "${sharedLibraryName}"
51- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${sharedLibraryName}"
52+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${sharedLibraryName}"
53 )
54 list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
55- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" )
56+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${sharedLibraryName}" )
57 else()
58 set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
59 set_target_properties(assimp::assimp PROPERTIES
60- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
61+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}"
62 )
63 list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
64- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}" )
65+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}" )
66 endif()
67 endif()
68
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 @@
1From 7fc220b2350d78942fb3935cad0b1564418ebe8f Mon Sep 17 00:00:00 2001
2From: Kim Kulling <kim.kulling@googlemail.com>
3Date: Tue, 19 Nov 2019 20:30:40 +0100
4Subject: [PATCH] closes https://github.com/assimp/assimp/issues/2733: update
5 of zlip to fix gcc build for v9.2.0 32 bit
6
7Upstream-Status: Backport [https://github.com/assimp/assimp/commit/f78446b14aff46db2ef27d062a275b6a01fd68b1]
8Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
9---
10 contrib/zip/.gitignore | 2 +
11 contrib/zip/CMakeLists.txt | 83 +++++-
12 contrib/zip/README.md | 12 +-
13 contrib/zip/appveyor.yml | 2 +-
14 contrib/zip/src/miniz.h | 457 ++++++++++++++++++++++++++++----
15 contrib/zip/src/zip.c | 62 +++--
16 contrib/zip/src/zip.h | 457 ++++++++++++++++----------------
17 contrib/zip/test/CMakeLists.txt | 27 +-
18 contrib/zip/test/test.c | 38 ++-
19 contrib/zip/test/test_miniz.c | 25 +-
20 10 files changed, 821 insertions(+), 344 deletions(-)
21
22diff --git a/contrib/zip/.gitignore b/contrib/zip/.gitignore
23index a7904a1e..49b2cb2f 100644
24--- a/contrib/zip/.gitignore
25+++ b/contrib/zip/.gitignore
26@@ -1,6 +1,7 @@
27 /build/
28 /test/build/
29 /xcodeproj/
30+.vscode/
31
32 # Object files
33 *.o
34@@ -54,3 +55,4 @@ zip.dir/
35 test/test.exe.vcxproj.filters
36 test/test.exe.vcxproj
37 test/test.exe.dir/
38+
39diff --git a/contrib/zip/CMakeLists.txt b/contrib/zip/CMakeLists.txt
40index b46dbb1d..77916d2e 100644
41--- a/contrib/zip/CMakeLists.txt
42+++ b/contrib/zip/CMakeLists.txt
43@@ -1,10 +1,14 @@
44-cmake_minimum_required(VERSION 2.8)
45-project(zip)
46-enable_language(C)
47+cmake_minimum_required(VERSION 3.0)
48+
49+project(zip
50+ LANGUAGES C
51+ VERSION "0.1.15")
52 set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
53
54+option(CMAKE_DISABLE_TESTING "Disable test creation" OFF)
55+
56 if (MSVC)
57- # Use secure functions by defaualt and suppress warnings about "deprecated" functions
58+ # Use secure functions by default and suppress warnings about "deprecated" functions
59 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1")
60 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1")
61 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_NONSTDC_NO_WARNINGS=1 /D _CRT_SECURE_NO_WARNINGS=1")
62@@ -12,28 +16,80 @@ elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR
63 "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" OR
64 "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang")
65 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wall -Wextra -Werror -pedantic")
66+ if(ENABLE_COVERAGE)
67+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
68+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
69+ endif()
70 endif (MSVC)
71
72 # zip
73 set(SRC src/miniz.h src/zip.h src/zip.c)
74 add_library(${PROJECT_NAME} ${SRC})
75-target_include_directories(${PROJECT_NAME} INTERFACE src)
76+target_include_directories(${PROJECT_NAME} PUBLIC
77+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
78+ $<INSTALL_INTERFACE:include>
79+)
80
81 # test
82 if (NOT CMAKE_DISABLE_TESTING)
83 enable_testing()
84 add_subdirectory(test)
85 find_package(Sanitizers)
86- add_sanitizers(${PROJECT_NAME} test.exe)
87- add_sanitizers(${PROJECT_NAME} test_miniz.exe)
88+ add_sanitizers(${PROJECT_NAME} ${test_out} ${test_miniz_out})
89 endif()
90
91+####
92+# Installation (https://github.com/forexample/package-example) {
93+
94+set(CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}")
95+set(INCLUDE_INSTALL_DIR "include")
96+
97+set(GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated")
98+
99+# Configuration
100+set(VERSION_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake")
101+set(PROJECT_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}Config.cmake")
102+set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
103+set(NAMESPACE "${PROJECT_NAME}::")
104+
105+# Include module with fuction 'write_basic_package_version_file'
106+include(CMakePackageConfigHelpers)
107+
108+# Note: PROJECT_VERSION is used as a VERSION
109+write_basic_package_version_file(
110+ "${VERSION_CONFIG}" COMPATIBILITY SameMajorVersion
111+)
112+
113+# Use variables:
114+# * TARGETS_EXPORT_NAME
115+# * PROJECT_NAME
116+configure_package_config_file(
117+ "cmake/Config.cmake.in"
118+ "${PROJECT_CONFIG}"
119+ INSTALL_DESTINATION "${CONFIG_INSTALL_DIR}"
120+)
121+
122+install(
123+ FILES "${PROJECT_CONFIG}" "${VERSION_CONFIG}"
124+ DESTINATION "${CONFIG_INSTALL_DIR}"
125+)
126+
127+install(
128+ EXPORT "${TARGETS_EXPORT_NAME}"
129+ NAMESPACE "${NAMESPACE}"
130+ DESTINATION "${CONFIG_INSTALL_DIR}"
131+)
132+
133+# }
134+
135 install(TARGETS ${PROJECT_NAME}
136+ EXPORT ${TARGETS_EXPORT_NAME}
137 RUNTIME DESTINATION bin
138 ARCHIVE DESTINATION lib
139 LIBRARY DESTINATION lib
140- COMPONENT library)
141-install(FILES ${PROJECT_SOURCE_DIR}/src/zip.h DESTINATION include)
142+ INCLUDES DESTINATION ${INCLUDE_INSTALL_DIR}
143+)
144+install(FILES ${PROJECT_SOURCE_DIR}/src/zip.h DESTINATION ${INCLUDE_INSTALL_DIR}/zip)
145
146 # uninstall target (https://gitlab.kitware.com/cmake/community/wikis/FAQ#can-i-do-make-uninstall-with-cmake)
147 if(NOT TARGET uninstall)
148@@ -45,3 +101,12 @@ if(NOT TARGET uninstall)
149 add_custom_target(uninstall
150 COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake_uninstall.cmake)
151 endif()
152+
153+find_package(Doxygen)
154+if(DOXYGEN_FOUND)
155+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
156+ add_custom_target(doc
157+ ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
158+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
159+ COMMENT "Generating API documentation with Doxygen" VERBATIM)
160+endif()
161diff --git a/contrib/zip/README.md b/contrib/zip/README.md
162index d5fb8cd2..14eb9a34 100644
163--- a/contrib/zip/README.md
164+++ b/contrib/zip/README.md
165@@ -71,7 +71,7 @@ int arg = 2;
166 zip_extract("foo.zip", "/tmp", on_extract_entry, &arg);
167 ```
168
169-* Extract a zip entry into memory.
170+* Extract a zip entry into memory.
171 ```c
172 void *buf = NULL;
173 size_t bufsize;
174@@ -89,7 +89,7 @@ zip_close(zip);
175 free(buf);
176 ```
177
178-* Extract a zip entry into memory (no internal allocation).
179+* Extract a zip entry into memory (no internal allocation).
180 ```c
181 unsigned char *buf;
182 size_t bufsize;
183@@ -110,7 +110,7 @@ zip_close(zip);
184 free(buf);
185 ```
186
187-* Extract a zip entry into memory using callback.
188+* Extract a zip entry into memory using callback.
189 ```c
190 struct buffer_t {
191 char *data;
192@@ -144,7 +144,7 @@ free(buf.data);
193 ```
194
195
196-* Extract a zip entry into a file.
197+* Extract a zip entry into a file.
198 ```c
199 struct zip_t *zip = zip_open("foo.zip", 0, 'r');
200 {
201@@ -157,7 +157,7 @@ struct zip_t *zip = zip_open("foo.zip", 0, 'r');
202 zip_close(zip);
203 ```
204
205-* List of all zip entries
206+* List of all zip entries
207 ```c
208 struct zip_t *zip = zip_open("foo.zip", 0, 'r');
209 int i, n = zip_total_entries(zip);
210@@ -174,7 +174,7 @@ for (i = 0; i < n; ++i) {
211 zip_close(zip);
212 ```
213
214-## Bindings
215+# Bindings
216 Compile zip library as a dynamic library.
217 ```shell
218 $ mkdir build
219diff --git a/contrib/zip/appveyor.yml b/contrib/zip/appveyor.yml
220index 0be6373c..ea17f5de 100644
221--- a/contrib/zip/appveyor.yml
222+++ b/contrib/zip/appveyor.yml
223@@ -1,4 +1,4 @@
224-version: zip-0.1.9.{build}
225+version: zip-0.1.15.{build}
226 build_script:
227 - cmd: >-
228 cd c:\projects\zip
229diff --git a/contrib/zip/src/miniz.h b/contrib/zip/src/miniz.h
230index 2c27a94d..c4fcfb83 100644
231--- a/contrib/zip/src/miniz.h
232+++ b/contrib/zip/src/miniz.h
233@@ -221,6 +221,7 @@
234 #ifndef MINIZ_HEADER_INCLUDED
235 #define MINIZ_HEADER_INCLUDED
236
237+#include <stdint.h>
238 #include <stdlib.h>
239
240 // Defines to completely disable specific portions of miniz.c:
241@@ -284,7 +285,8 @@
242 /* Set MINIZ_USE_UNALIGNED_LOADS_AND_STORES only if not set */
243 #if !defined(MINIZ_USE_UNALIGNED_LOADS_AND_STORES)
244 #if MINIZ_X86_OR_X64_CPU
245-/* Set MINIZ_USE_UNALIGNED_LOADS_AND_STORES to 1 on CPU's that permit efficient integer loads and stores from unaligned addresses. */
246+/* Set MINIZ_USE_UNALIGNED_LOADS_AND_STORES to 1 on CPU's that permit efficient
247+ * integer loads and stores from unaligned addresses. */
248 #define MINIZ_USE_UNALIGNED_LOADS_AND_STORES 1
249 #define MINIZ_UNALIGNED_USE_MEMCPY
250 #else
251@@ -354,6 +356,44 @@ enum {
252 MZ_FIXED = 4
253 };
254
255+/* miniz error codes. Be sure to update mz_zip_get_error_string() if you add or
256+ * modify this enum. */
257+typedef enum {
258+ MZ_ZIP_NO_ERROR = 0,
259+ MZ_ZIP_UNDEFINED_ERROR,
260+ MZ_ZIP_TOO_MANY_FILES,
261+ MZ_ZIP_FILE_TOO_LARGE,
262+ MZ_ZIP_UNSUPPORTED_METHOD,
263+ MZ_ZIP_UNSUPPORTED_ENCRYPTION,
264+ MZ_ZIP_UNSUPPORTED_FEATURE,
265+ MZ_ZIP_FAILED_FINDING_CENTRAL_DIR,
266+ MZ_ZIP_NOT_AN_ARCHIVE,
267+ MZ_ZIP_INVALID_HEADER_OR_CORRUPTED,
268+ MZ_ZIP_UNSUPPORTED_MULTIDISK,
269+ MZ_ZIP_DECOMPRESSION_FAILED,
270+ MZ_ZIP_COMPRESSION_FAILED,
271+ MZ_ZIP_UNEXPECTED_DECOMPRESSED_SIZE,
272+ MZ_ZIP_CRC_CHECK_FAILED,
273+ MZ_ZIP_UNSUPPORTED_CDIR_SIZE,
274+ MZ_ZIP_ALLOC_FAILED,
275+ MZ_ZIP_FILE_OPEN_FAILED,
276+ MZ_ZIP_FILE_CREATE_FAILED,
277+ MZ_ZIP_FILE_WRITE_FAILED,
278+ MZ_ZIP_FILE_READ_FAILED,
279+ MZ_ZIP_FILE_CLOSE_FAILED,
280+ MZ_ZIP_FILE_SEEK_FAILED,
281+ MZ_ZIP_FILE_STAT_FAILED,
282+ MZ_ZIP_INVALID_PARAMETER,
283+ MZ_ZIP_INVALID_FILENAME,
284+ MZ_ZIP_BUF_TOO_SMALL,
285+ MZ_ZIP_INTERNAL_ERROR,
286+ MZ_ZIP_FILE_NOT_FOUND,
287+ MZ_ZIP_ARCHIVE_TOO_LARGE,
288+ MZ_ZIP_VALIDATION_FAILED,
289+ MZ_ZIP_WRITE_CALLBACK_FAILED,
290+ MZ_ZIP_TOTAL_ERRORS
291+} mz_zip_error;
292+
293 // Method
294 #define MZ_DEFLATED 8
295
296@@ -696,6 +736,7 @@ typedef size_t (*mz_file_read_func)(void *pOpaque, mz_uint64 file_ofs,
297 void *pBuf, size_t n);
298 typedef size_t (*mz_file_write_func)(void *pOpaque, mz_uint64 file_ofs,
299 const void *pBuf, size_t n);
300+typedef mz_bool (*mz_file_needs_keepalive)(void *pOpaque);
301
302 struct mz_zip_internal_state_tag;
303 typedef struct mz_zip_internal_state_tag mz_zip_internal_state;
304@@ -707,13 +748,27 @@ typedef enum {
305 MZ_ZIP_MODE_WRITING_HAS_BEEN_FINALIZED = 3
306 } mz_zip_mode;
307
308-typedef struct mz_zip_archive_tag {
309+typedef enum {
310+ MZ_ZIP_TYPE_INVALID = 0,
311+ MZ_ZIP_TYPE_USER,
312+ MZ_ZIP_TYPE_MEMORY,
313+ MZ_ZIP_TYPE_HEAP,
314+ MZ_ZIP_TYPE_FILE,
315+ MZ_ZIP_TYPE_CFILE,
316+ MZ_ZIP_TOTAL_TYPES
317+} mz_zip_type;
318+
319+typedef struct {
320 mz_uint64 m_archive_size;
321 mz_uint64 m_central_directory_file_ofs;
322- mz_uint m_total_files;
323+
324+ /* We only support up to UINT32_MAX files in zip64 mode. */
325+ mz_uint32 m_total_files;
326 mz_zip_mode m_zip_mode;
327+ mz_zip_type m_zip_type;
328+ mz_zip_error m_last_error;
329
330- mz_uint m_file_offset_alignment;
331+ mz_uint64 m_file_offset_alignment;
332
333 mz_alloc_func m_pAlloc;
334 mz_free_func m_pFree;
335@@ -722,6 +777,7 @@ typedef struct mz_zip_archive_tag {
336
337 mz_file_read_func m_pRead;
338 mz_file_write_func m_pWrite;
339+ mz_file_needs_keepalive m_pNeeds_keepalive;
340 void *m_pIO_opaque;
341
342 mz_zip_internal_state *m_pState;
343@@ -1263,6 +1319,9 @@ mz_uint tdefl_create_comp_flags_from_zip_params(int level, int window_bits,
344 int strategy);
345 #endif // #ifndef MINIZ_NO_ZLIB_APIS
346
347+#define MZ_UINT16_MAX (0xFFFFU)
348+#define MZ_UINT32_MAX (0xFFFFFFFFU)
349+
350 #ifdef __cplusplus
351 }
352 #endif
353@@ -1311,6 +1370,11 @@ typedef unsigned char mz_validate_uint64[sizeof(mz_uint64) == 8 ? 1 : -1];
354 ((mz_uint32)(((const mz_uint8 *)(p))[3]) << 24U))
355 #endif
356
357+#define MZ_READ_LE64(p) \
358+ (((mz_uint64)MZ_READ_LE32(p)) | \
359+ (((mz_uint64)MZ_READ_LE32((const mz_uint8 *)(p) + sizeof(mz_uint32))) \
360+ << 32U))
361+
362 #ifdef _MSC_VER
363 #define MZ_FORCEINLINE __forceinline
364 #elif defined(__GNUC__)
365@@ -4160,6 +4224,17 @@ enum {
366 MZ_ZIP_LOCAL_DIR_HEADER_SIZE = 30,
367 MZ_ZIP_CENTRAL_DIR_HEADER_SIZE = 46,
368 MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE = 22,
369+
370+ /* ZIP64 archive identifier and record sizes */
371+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIG = 0x06064b50,
372+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIG = 0x07064b50,
373+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE = 56,
374+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE = 20,
375+ MZ_ZIP64_EXTENDED_INFORMATION_FIELD_HEADER_ID = 0x0001,
376+ MZ_ZIP_DATA_DESCRIPTOR_ID = 0x08074b50,
377+ MZ_ZIP_DATA_DESCRIPTER_SIZE64 = 24,
378+ MZ_ZIP_DATA_DESCRIPTER_SIZE32 = 16,
379+
380 // Central directory header record offsets
381 MZ_ZIP_CDH_SIG_OFS = 0,
382 MZ_ZIP_CDH_VERSION_MADE_BY_OFS = 4,
383@@ -4199,6 +4274,31 @@ enum {
384 MZ_ZIP_ECDH_CDIR_SIZE_OFS = 12,
385 MZ_ZIP_ECDH_CDIR_OFS_OFS = 16,
386 MZ_ZIP_ECDH_COMMENT_SIZE_OFS = 20,
387+
388+ /* ZIP64 End of central directory locator offsets */
389+ MZ_ZIP64_ECDL_SIG_OFS = 0, /* 4 bytes */
390+ MZ_ZIP64_ECDL_NUM_DISK_CDIR_OFS = 4, /* 4 bytes */
391+ MZ_ZIP64_ECDL_REL_OFS_TO_ZIP64_ECDR_OFS = 8, /* 8 bytes */
392+ MZ_ZIP64_ECDL_TOTAL_NUMBER_OF_DISKS_OFS = 16, /* 4 bytes */
393+
394+ /* ZIP64 End of central directory header offsets */
395+ MZ_ZIP64_ECDH_SIG_OFS = 0, /* 4 bytes */
396+ MZ_ZIP64_ECDH_SIZE_OF_RECORD_OFS = 4, /* 8 bytes */
397+ MZ_ZIP64_ECDH_VERSION_MADE_BY_OFS = 12, /* 2 bytes */
398+ MZ_ZIP64_ECDH_VERSION_NEEDED_OFS = 14, /* 2 bytes */
399+ MZ_ZIP64_ECDH_NUM_THIS_DISK_OFS = 16, /* 4 bytes */
400+ MZ_ZIP64_ECDH_NUM_DISK_CDIR_OFS = 20, /* 4 bytes */
401+ MZ_ZIP64_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS = 24, /* 8 bytes */
402+ MZ_ZIP64_ECDH_CDIR_TOTAL_ENTRIES_OFS = 32, /* 8 bytes */
403+ MZ_ZIP64_ECDH_CDIR_SIZE_OFS = 40, /* 8 bytes */
404+ MZ_ZIP64_ECDH_CDIR_OFS_OFS = 48, /* 8 bytes */
405+ MZ_ZIP_VERSION_MADE_BY_DOS_FILESYSTEM_ID = 0,
406+ MZ_ZIP_DOS_DIR_ATTRIBUTE_BITFLAG = 0x10,
407+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_IS_ENCRYPTED = 1,
408+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_COMPRESSED_PATCH_FLAG = 32,
409+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_USES_STRONG_ENCRYPTION = 64,
410+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_LOCAL_DIR_IS_MASKED = 8192,
411+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_UTF8 = 1 << 11
412 };
413
414 typedef struct {
415@@ -4211,7 +4311,24 @@ struct mz_zip_internal_state_tag {
416 mz_zip_array m_central_dir;
417 mz_zip_array m_central_dir_offsets;
418 mz_zip_array m_sorted_central_dir_offsets;
419+
420+ /* The flags passed in when the archive is initially opened. */
421+ uint32_t m_init_flags;
422+
423+ /* MZ_TRUE if the archive has a zip64 end of central directory headers, etc.
424+ */
425+ mz_bool m_zip64;
426+
427+ /* MZ_TRUE if we found zip64 extended info in the central directory (m_zip64
428+ * will also be slammed to true too, even if we didn't find a zip64 end of
429+ * central dir header, etc.) */
430+ mz_bool m_zip64_has_extended_info_fields;
431+
432+ /* These fields are used by the file, FILE, memory, and memory/heap read/write
433+ * helpers. */
434 MZ_FILE *m_pFile;
435+ mz_uint64 m_file_archive_start_ofs;
436+
437 void *m_pMem;
438 size_t m_mem_size;
439 size_t m_mem_capacity;
440@@ -4363,6 +4480,13 @@ static mz_bool mz_zip_set_file_times(const char *pFilename, time_t access_time,
441 #endif /* #ifndef MINIZ_NO_STDIO */
442 #endif /* #ifndef MINIZ_NO_TIME */
443
444+static MZ_FORCEINLINE mz_bool mz_zip_set_error(mz_zip_archive *pZip,
445+ mz_zip_error err_num) {
446+ if (pZip)
447+ pZip->m_last_error = err_num;
448+ return MZ_FALSE;
449+}
450+
451 static mz_bool mz_zip_reader_init_internal(mz_zip_archive *pZip,
452 mz_uint32 flags) {
453 (void)flags;
454@@ -4480,127 +4604,346 @@ mz_zip_reader_sort_central_dir_offsets_by_filename(mz_zip_archive *pZip) {
455 }
456 }
457
458-static mz_bool mz_zip_reader_read_central_dir(mz_zip_archive *pZip,
459- mz_uint32 flags) {
460- mz_uint cdir_size, num_this_disk, cdir_disk_index;
461- mz_uint64 cdir_ofs;
462+static mz_bool mz_zip_reader_locate_header_sig(mz_zip_archive *pZip,
463+ mz_uint32 record_sig,
464+ mz_uint32 record_size,
465+ mz_int64 *pOfs) {
466 mz_int64 cur_file_ofs;
467- const mz_uint8 *p;
468 mz_uint32 buf_u32[4096 / sizeof(mz_uint32)];
469 mz_uint8 *pBuf = (mz_uint8 *)buf_u32;
470- mz_bool sort_central_dir =
471- ((flags & MZ_ZIP_FLAG_DO_NOT_SORT_CENTRAL_DIRECTORY) == 0);
472- // Basic sanity checks - reject files which are too small, and check the first
473- // 4 bytes of the file to make sure a local header is there.
474- if (pZip->m_archive_size < MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE)
475+
476+ /* Basic sanity checks - reject files which are too small */
477+ if (pZip->m_archive_size < record_size)
478 return MZ_FALSE;
479- // Find the end of central directory record by scanning the file from the end
480- // towards the beginning.
481+
482+ /* Find the record by scanning the file from the end towards the beginning. */
483 cur_file_ofs =
484 MZ_MAX((mz_int64)pZip->m_archive_size - (mz_int64)sizeof(buf_u32), 0);
485 for (;;) {
486 int i,
487 n = (int)MZ_MIN(sizeof(buf_u32), pZip->m_archive_size - cur_file_ofs);
488+
489 if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pBuf, n) != (mz_uint)n)
490 return MZ_FALSE;
491- for (i = n - 4; i >= 0; --i)
492- if (MZ_READ_LE32(pBuf + i) == MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG)
493- break;
494+
495+ for (i = n - 4; i >= 0; --i) {
496+ mz_uint s = MZ_READ_LE32(pBuf + i);
497+ if (s == record_sig) {
498+ if ((pZip->m_archive_size - (cur_file_ofs + i)) >= record_size)
499+ break;
500+ }
501+ }
502+
503 if (i >= 0) {
504 cur_file_ofs += i;
505 break;
506 }
507+
508+ /* Give up if we've searched the entire file, or we've gone back "too far"
509+ * (~64kb) */
510 if ((!cur_file_ofs) || ((pZip->m_archive_size - cur_file_ofs) >=
511- (0xFFFF + MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE)))
512+ (MZ_UINT16_MAX + record_size)))
513 return MZ_FALSE;
514+
515 cur_file_ofs = MZ_MAX(cur_file_ofs - (sizeof(buf_u32) - 3), 0);
516 }
517- // Read and verify the end of central directory record.
518+
519+ *pOfs = cur_file_ofs;
520+ return MZ_TRUE;
521+}
522+
523+static mz_bool mz_zip_reader_read_central_dir(mz_zip_archive *pZip,
524+ mz_uint flags) {
525+ mz_uint cdir_size = 0, cdir_entries_on_this_disk = 0, num_this_disk = 0,
526+ cdir_disk_index = 0;
527+ mz_uint64 cdir_ofs = 0;
528+ mz_int64 cur_file_ofs = 0;
529+ const mz_uint8 *p;
530+
531+ mz_uint32 buf_u32[4096 / sizeof(mz_uint32)];
532+ mz_uint8 *pBuf = (mz_uint8 *)buf_u32;
533+ mz_bool sort_central_dir =
534+ ((flags & MZ_ZIP_FLAG_DO_NOT_SORT_CENTRAL_DIRECTORY) == 0);
535+ mz_uint32 zip64_end_of_central_dir_locator_u32
536+ [(MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE + sizeof(mz_uint32) - 1) /
537+ sizeof(mz_uint32)];
538+ mz_uint8 *pZip64_locator = (mz_uint8 *)zip64_end_of_central_dir_locator_u32;
539+
540+ mz_uint32 zip64_end_of_central_dir_header_u32
541+ [(MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE + sizeof(mz_uint32) - 1) /
542+ sizeof(mz_uint32)];
543+ mz_uint8 *pZip64_end_of_central_dir =
544+ (mz_uint8 *)zip64_end_of_central_dir_header_u32;
545+
546+ mz_uint64 zip64_end_of_central_dir_ofs = 0;
547+
548+ /* Basic sanity checks - reject files which are too small, and check the first
549+ * 4 bytes of the file to make sure a local header is there. */
550+ if (pZip->m_archive_size < MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE)
551+ return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE);
552+
553+ if (!mz_zip_reader_locate_header_sig(
554+ pZip, MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG,
555+ MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE, &cur_file_ofs))
556+ return mz_zip_set_error(pZip, MZ_ZIP_FAILED_FINDING_CENTRAL_DIR);
557+
558+ /* Read and verify the end of central directory record. */
559 if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pBuf,
560 MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE) !=
561 MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE)
562- return MZ_FALSE;
563- if ((MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_SIG_OFS) !=
564- MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG) ||
565- ((pZip->m_total_files =
566- MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_CDIR_TOTAL_ENTRIES_OFS)) !=
567- MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS)))
568- return MZ_FALSE;
569+ return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
570+
571+ if (MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_SIG_OFS) !=
572+ MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG)
573+ return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE);
574+
575+ if (cur_file_ofs >= (MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE +
576+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE)) {
577+ if (pZip->m_pRead(pZip->m_pIO_opaque,
578+ cur_file_ofs - MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE,
579+ pZip64_locator,
580+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE) ==
581+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE) {
582+ if (MZ_READ_LE32(pZip64_locator + MZ_ZIP64_ECDL_SIG_OFS) ==
583+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIG) {
584+ zip64_end_of_central_dir_ofs = MZ_READ_LE64(
585+ pZip64_locator + MZ_ZIP64_ECDL_REL_OFS_TO_ZIP64_ECDR_OFS);
586+ if (zip64_end_of_central_dir_ofs >
587+ (pZip->m_archive_size - MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE))
588+ return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE);
589+
590+ if (pZip->m_pRead(pZip->m_pIO_opaque, zip64_end_of_central_dir_ofs,
591+ pZip64_end_of_central_dir,
592+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE) ==
593+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE) {
594+ if (MZ_READ_LE32(pZip64_end_of_central_dir + MZ_ZIP64_ECDH_SIG_OFS) ==
595+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIG) {
596+ pZip->m_pState->m_zip64 = MZ_TRUE;
597+ }
598+ }
599+ }
600+ }
601+ }
602
603+ pZip->m_total_files = MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_CDIR_TOTAL_ENTRIES_OFS);
604+ cdir_entries_on_this_disk =
605+ MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS);
606 num_this_disk = MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_NUM_THIS_DISK_OFS);
607 cdir_disk_index = MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_NUM_DISK_CDIR_OFS);
608+ cdir_size = MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_CDIR_SIZE_OFS);
609+ cdir_ofs = MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_CDIR_OFS_OFS);
610+
611+ if (pZip->m_pState->m_zip64) {
612+ mz_uint32 zip64_total_num_of_disks =
613+ MZ_READ_LE32(pZip64_locator + MZ_ZIP64_ECDL_TOTAL_NUMBER_OF_DISKS_OFS);
614+ mz_uint64 zip64_cdir_total_entries = MZ_READ_LE64(
615+ pZip64_end_of_central_dir + MZ_ZIP64_ECDH_CDIR_TOTAL_ENTRIES_OFS);
616+ mz_uint64 zip64_cdir_total_entries_on_this_disk = MZ_READ_LE64(
617+ pZip64_end_of_central_dir + MZ_ZIP64_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS);
618+ mz_uint64 zip64_size_of_end_of_central_dir_record = MZ_READ_LE64(
619+ pZip64_end_of_central_dir + MZ_ZIP64_ECDH_SIZE_OF_RECORD_OFS);
620+ mz_uint64 zip64_size_of_central_directory =
621+ MZ_READ_LE64(pZip64_end_of_central_dir + MZ_ZIP64_ECDH_CDIR_SIZE_OFS);
622+
623+ if (zip64_size_of_end_of_central_dir_record <
624+ (MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE - 12))
625+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
626+
627+ if (zip64_total_num_of_disks != 1U)
628+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK);
629+
630+ /* Check for miniz's practical limits */
631+ if (zip64_cdir_total_entries > MZ_UINT32_MAX)
632+ return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES);
633+
634+ pZip->m_total_files = (mz_uint32)zip64_cdir_total_entries;
635+
636+ if (zip64_cdir_total_entries_on_this_disk > MZ_UINT32_MAX)
637+ return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES);
638+
639+ cdir_entries_on_this_disk =
640+ (mz_uint32)zip64_cdir_total_entries_on_this_disk;
641+
642+ /* Check for miniz's current practical limits (sorry, this should be enough
643+ * for millions of files) */
644+ if (zip64_size_of_central_directory > MZ_UINT32_MAX)
645+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE);
646+
647+ cdir_size = (mz_uint32)zip64_size_of_central_directory;
648+
649+ num_this_disk = MZ_READ_LE32(pZip64_end_of_central_dir +
650+ MZ_ZIP64_ECDH_NUM_THIS_DISK_OFS);
651+
652+ cdir_disk_index = MZ_READ_LE32(pZip64_end_of_central_dir +
653+ MZ_ZIP64_ECDH_NUM_DISK_CDIR_OFS);
654+
655+ cdir_ofs =
656+ MZ_READ_LE64(pZip64_end_of_central_dir + MZ_ZIP64_ECDH_CDIR_OFS_OFS);
657+ }
658+
659+ if (pZip->m_total_files != cdir_entries_on_this_disk)
660+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK);
661+
662 if (((num_this_disk | cdir_disk_index) != 0) &&
663 ((num_this_disk != 1) || (cdir_disk_index != 1)))
664- return MZ_FALSE;
665+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK);
666
667- if ((cdir_size = MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_CDIR_SIZE_OFS)) <
668- pZip->m_total_files * MZ_ZIP_CENTRAL_DIR_HEADER_SIZE)
669- return MZ_FALSE;
670+ if (cdir_size < pZip->m_total_files * MZ_ZIP_CENTRAL_DIR_HEADER_SIZE)
671+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
672
673- cdir_ofs = MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_CDIR_OFS_OFS);
674 if ((cdir_ofs + (mz_uint64)cdir_size) > pZip->m_archive_size)
675- return MZ_FALSE;
676+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
677
678 pZip->m_central_directory_file_ofs = cdir_ofs;
679
680 if (pZip->m_total_files) {
681 mz_uint i, n;
682-
683- // Read the entire central directory into a heap block, and allocate another
684- // heap block to hold the unsorted central dir file record offsets, and
685- // another to hold the sorted indices.
686+ /* Read the entire central directory into a heap block, and allocate another
687+ * heap block to hold the unsorted central dir file record offsets, and
688+ * possibly another to hold the sorted indices. */
689 if ((!mz_zip_array_resize(pZip, &pZip->m_pState->m_central_dir, cdir_size,
690 MZ_FALSE)) ||
691 (!mz_zip_array_resize(pZip, &pZip->m_pState->m_central_dir_offsets,
692 pZip->m_total_files, MZ_FALSE)))
693- return MZ_FALSE;
694+ return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
695
696 if (sort_central_dir) {
697 if (!mz_zip_array_resize(pZip,
698 &pZip->m_pState->m_sorted_central_dir_offsets,
699 pZip->m_total_files, MZ_FALSE))
700- return MZ_FALSE;
701+ return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
702 }
703
704 if (pZip->m_pRead(pZip->m_pIO_opaque, cdir_ofs,
705 pZip->m_pState->m_central_dir.m_p,
706 cdir_size) != cdir_size)
707- return MZ_FALSE;
708+ return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
709
710- // Now create an index into the central directory file records, do some
711- // basic sanity checking on each record, and check for zip64 entries (which
712- // are not yet supported).
713+ /* Now create an index into the central directory file records, do some
714+ * basic sanity checking on each record */
715 p = (const mz_uint8 *)pZip->m_pState->m_central_dir.m_p;
716 for (n = cdir_size, i = 0; i < pZip->m_total_files; ++i) {
717- mz_uint total_header_size, comp_size, decomp_size, disk_index;
718+ mz_uint total_header_size, disk_index, bit_flags, filename_size,
719+ ext_data_size;
720+ mz_uint64 comp_size, decomp_size, local_header_ofs;
721+
722 if ((n < MZ_ZIP_CENTRAL_DIR_HEADER_SIZE) ||
723 (MZ_READ_LE32(p) != MZ_ZIP_CENTRAL_DIR_HEADER_SIG))
724- return MZ_FALSE;
725+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
726+
727 MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_central_dir_offsets, mz_uint32,
728 i) =
729 (mz_uint32)(p - (const mz_uint8 *)pZip->m_pState->m_central_dir.m_p);
730+
731 if (sort_central_dir)
732 MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_sorted_central_dir_offsets,
733 mz_uint32, i) = i;
734+
735 comp_size = MZ_READ_LE32(p + MZ_ZIP_CDH_COMPRESSED_SIZE_OFS);
736 decomp_size = MZ_READ_LE32(p + MZ_ZIP_CDH_DECOMPRESSED_SIZE_OFS);
737- if (((!MZ_READ_LE32(p + MZ_ZIP_CDH_METHOD_OFS)) &&
738- (decomp_size != comp_size)) ||
739- (decomp_size && !comp_size) || (decomp_size == 0xFFFFFFFF) ||
740- (comp_size == 0xFFFFFFFF))
741- return MZ_FALSE;
742+ local_header_ofs = MZ_READ_LE32(p + MZ_ZIP_CDH_LOCAL_HEADER_OFS);
743+ filename_size = MZ_READ_LE16(p + MZ_ZIP_CDH_FILENAME_LEN_OFS);
744+ ext_data_size = MZ_READ_LE16(p + MZ_ZIP_CDH_EXTRA_LEN_OFS);
745+
746+ if ((!pZip->m_pState->m_zip64_has_extended_info_fields) &&
747+ (ext_data_size) &&
748+ (MZ_MAX(MZ_MAX(comp_size, decomp_size), local_header_ofs) ==
749+ MZ_UINT32_MAX)) {
750+ /* Attempt to find zip64 extended information field in the entry's extra
751+ * data */
752+ mz_uint32 extra_size_remaining = ext_data_size;
753+
754+ if (extra_size_remaining) {
755+ const mz_uint8 *pExtra_data;
756+ void *buf = NULL;
757+
758+ if (MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + filename_size + ext_data_size >
759+ n) {
760+ buf = MZ_MALLOC(ext_data_size);
761+ if (buf == NULL)
762+ return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
763+
764+ if (pZip->m_pRead(pZip->m_pIO_opaque,
765+ cdir_ofs + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE +
766+ filename_size,
767+ buf, ext_data_size) != ext_data_size) {
768+ MZ_FREE(buf);
769+ return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
770+ }
771+
772+ pExtra_data = (mz_uint8 *)buf;
773+ } else {
774+ pExtra_data = p + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + filename_size;
775+ }
776+
777+ do {
778+ mz_uint32 field_id;
779+ mz_uint32 field_data_size;
780+
781+ if (extra_size_remaining < (sizeof(mz_uint16) * 2)) {
782+ MZ_FREE(buf);
783+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
784+ }
785+
786+ field_id = MZ_READ_LE16(pExtra_data);
787+ field_data_size = MZ_READ_LE16(pExtra_data + sizeof(mz_uint16));
788+
789+ if ((field_data_size + sizeof(mz_uint16) * 2) >
790+ extra_size_remaining) {
791+ MZ_FREE(buf);
792+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
793+ }
794+
795+ if (field_id == MZ_ZIP64_EXTENDED_INFORMATION_FIELD_HEADER_ID) {
796+ /* Ok, the archive didn't have any zip64 headers but it uses a
797+ * zip64 extended information field so mark it as zip64 anyway
798+ * (this can occur with infozip's zip util when it reads
799+ * compresses files from stdin). */
800+ pZip->m_pState->m_zip64 = MZ_TRUE;
801+ pZip->m_pState->m_zip64_has_extended_info_fields = MZ_TRUE;
802+ break;
803+ }
804+
805+ pExtra_data += sizeof(mz_uint16) * 2 + field_data_size;
806+ extra_size_remaining =
807+ extra_size_remaining - sizeof(mz_uint16) * 2 - field_data_size;
808+ } while (extra_size_remaining);
809+
810+ MZ_FREE(buf);
811+ }
812+ }
813+
814+ /* I've seen archives that aren't marked as zip64 that uses zip64 ext
815+ * data, argh */
816+ if ((comp_size != MZ_UINT32_MAX) && (decomp_size != MZ_UINT32_MAX)) {
817+ if (((!MZ_READ_LE32(p + MZ_ZIP_CDH_METHOD_OFS)) &&
818+ (decomp_size != comp_size)) ||
819+ (decomp_size && !comp_size))
820+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
821+ }
822+
823 disk_index = MZ_READ_LE16(p + MZ_ZIP_CDH_DISK_START_OFS);
824- if ((disk_index != num_this_disk) && (disk_index != 1))
825- return MZ_FALSE;
826- if (((mz_uint64)MZ_READ_LE32(p + MZ_ZIP_CDH_LOCAL_HEADER_OFS) +
827- MZ_ZIP_LOCAL_DIR_HEADER_SIZE + comp_size) > pZip->m_archive_size)
828- return MZ_FALSE;
829+ if ((disk_index == MZ_UINT16_MAX) ||
830+ ((disk_index != num_this_disk) && (disk_index != 1)))
831+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK);
832+
833+ if (comp_size != MZ_UINT32_MAX) {
834+ if (((mz_uint64)MZ_READ_LE32(p + MZ_ZIP_CDH_LOCAL_HEADER_OFS) +
835+ MZ_ZIP_LOCAL_DIR_HEADER_SIZE + comp_size) > pZip->m_archive_size)
836+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
837+ }
838+
839+ bit_flags = MZ_READ_LE16(p + MZ_ZIP_CDH_BIT_FLAG_OFS);
840+ if (bit_flags & MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_LOCAL_DIR_IS_MASKED)
841+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION);
842+
843 if ((total_header_size = MZ_ZIP_CENTRAL_DIR_HEADER_SIZE +
844 MZ_READ_LE16(p + MZ_ZIP_CDH_FILENAME_LEN_OFS) +
845 MZ_READ_LE16(p + MZ_ZIP_CDH_EXTRA_LEN_OFS) +
846 MZ_READ_LE16(p + MZ_ZIP_CDH_COMMENT_LEN_OFS)) >
847 n)
848- return MZ_FALSE;
849+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
850+
851 n -= total_header_size;
852 p += total_header_size;
853 }
854diff --git a/contrib/zip/src/zip.c b/contrib/zip/src/zip.c
855index ff3a8fe1..1abcfd8f 100644
856--- a/contrib/zip/src/zip.c
857+++ b/contrib/zip/src/zip.c
858@@ -24,7 +24,6 @@
859 ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) && \
860 (P)[1] == ':')
861 #define FILESYSTEM_PREFIX_LEN(P) (HAS_DEVICE(P) ? 2 : 0)
862-#define ISSLASH(C) ((C) == '/' || (C) == '\\')
863
864 #else
865
866@@ -48,7 +47,7 @@ int symlink(const char *target, const char *linkpath); // needed on Linux
867 #endif
868
869 #ifndef ISSLASH
870-#define ISSLASH(C) ((C) == '/')
871+#define ISSLASH(C) ((C) == '/' || (C) == '\\')
872 #endif
873
874 #define CLEANUP(ptr) \
875@@ -78,26 +77,34 @@ static const char *base_name(const char *name) {
876 return base;
877 }
878
879-static int mkpath(const char *path) {
880- char const *p;
881+static int mkpath(char *path) {
882+ char *p;
883 char npath[MAX_PATH + 1];
884 int len = 0;
885 int has_device = HAS_DEVICE(path);
886
887 memset(npath, 0, MAX_PATH + 1);
888-
889-#ifdef _WIN32
890- // only on windows fix the path
891- npath[0] = path[0];
892- npath[1] = path[1];
893- len = 2;
894-#endif // _WIN32
895-
896+ if (has_device) {
897+ // only on windows
898+ npath[0] = path[0];
899+ npath[1] = path[1];
900+ len = 2;
901+ }
902 for (p = path + len; *p && len < MAX_PATH; p++) {
903 if (ISSLASH(*p) && ((!has_device && len > 0) || (has_device && len > 2))) {
904- if (MKDIR(npath) == -1)
905- if (errno != EEXIST)
906+#if defined(_WIN32) || defined(__WIN32__) || defined(_MSC_VER) || \
907+ defined(__MINGW32__)
908+#else
909+ if ('\\' == *p) {
910+ *p = '/';
911+ }
912+#endif
913+
914+ if (MKDIR(npath) == -1) {
915+ if (errno != EEXIST) {
916 return -1;
917+ }
918+ }
919 }
920 npath[len++] = *p;
921 }
922@@ -279,7 +286,14 @@ int zip_entry_open(struct zip_t *zip, const char *entryname) {
923 zip->entry.header_offset = zip->archive.m_archive_size;
924 memset(zip->entry.header, 0, MZ_ZIP_LOCAL_DIR_HEADER_SIZE * sizeof(mz_uint8));
925 zip->entry.method = 0;
926+
927+ // UNIX or APPLE
928+#if MZ_PLATFORM == 3 || MZ_PLATFORM == 19
929+ // regular file with rw-r--r-- persmissions
930+ zip->entry.external_attr = (mz_uint32)(0100644) << 16;
931+#else
932 zip->entry.external_attr = 0;
933+#endif
934
935 num_alignment_padding_bytes =
936 mz_zip_writer_compute_padding_needed_for_file_alignment(pzip);
937@@ -660,7 +674,7 @@ ssize_t zip_entry_noallocread(struct zip_t *zip, void *buf, size_t bufsize) {
938 }
939
940 if (!mz_zip_reader_extract_to_mem_no_alloc(pzip, (mz_uint)zip->entry.index,
941- buf, bufsize, 0, NULL, 0)) {
942+ buf, bufsize, 0, NULL, 0)) {
943 return -1;
944 }
945
946@@ -670,10 +684,7 @@ ssize_t zip_entry_noallocread(struct zip_t *zip, void *buf, size_t bufsize) {
947 int zip_entry_fread(struct zip_t *zip, const char *filename) {
948 mz_zip_archive *pzip = NULL;
949 mz_uint idx;
950-#if defined(_MSC_VER)
951-#else
952 mz_uint32 xattr = 0;
953-#endif
954 mz_zip_archive_file_stat info;
955
956 if (!zip) {
957@@ -875,12 +886,19 @@ int zip_extract(const char *zipname, const char *dir,
958 goto out;
959 }
960
961- 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)
962- && info.m_external_attr & (0x20 << 24)) { // and has sym link attribute (0x80 is file, 0x40 is directory)
963+ if ((((info.m_version_made_by >> 8) == 3) ||
964+ ((info.m_version_made_by >> 8) ==
965+ 19)) // if zip is produced on Unix or macOS (3 and 19 from
966+ // section 4.4.2.2 of zip standard)
967+ && info.m_external_attr &
968+ (0x20 << 24)) { // and has sym link attribute (0x80 is file, 0x40
969+ // is directory)
970 #if defined(_WIN32) || defined(__WIN32__) || defined(_MSC_VER) || \
971 defined(__MINGW32__)
972-#else
973- 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)) {
974+#else
975+ if (info.m_uncomp_size > MAX_PATH ||
976+ !mz_zip_reader_extract_to_mem_no_alloc(&zip_archive, i, symlink_to,
977+ MAX_PATH, 0, NULL, 0)) {
978 goto out;
979 }
980 symlink_to[info.m_uncomp_size] = '\0';
981diff --git a/contrib/zip/src/zip.h b/contrib/zip/src/zip.h
982index 5f39df50..a48d64d6 100644
983--- a/contrib/zip/src/zip.h
984+++ b/contrib/zip/src/zip.h
985@@ -20,241 +20,240 @@ extern "C" {
986 #endif
987
988 #if !defined(_SSIZE_T_DEFINED) && !defined(_SSIZE_T_DEFINED_) && \
989- !defined(_SSIZE_T) && !defined(_SSIZE_T_) && !defined(__ssize_t_defined)
990-#define _SSIZE_T
991+ !defined(__DEFINED_ssize_t) && !defined(__ssize_t_defined) && \
992+ !defined(_SSIZE_T) && !defined(_SSIZE_T_)
993+
994 // 64-bit Windows is the only mainstream platform
995 // where sizeof(long) != sizeof(void*)
996 #ifdef _WIN64
997-typedef long long ssize_t; /* byte count or error */
998+typedef long long ssize_t; /* byte count or error */
999 #else
1000-typedef long ssize_t; /* byte count or error */
1001+typedef long ssize_t; /* byte count or error */
1002 #endif
1003+
1004+#define _SSIZE_T_DEFINED
1005+#define _SSIZE_T_DEFINED_
1006+#define __DEFINED_ssize_t
1007+#define __ssize_t_defined
1008+#define _SSIZE_T
1009+#define _SSIZE_T_
1010+
1011 #endif
1012
1013 #ifndef MAX_PATH
1014 #define MAX_PATH 32767 /* # chars in a path name including NULL */
1015 #endif
1016
1017+/**
1018+ * @mainpage
1019+ *
1020+ * Documenation for @ref zip.
1021+ */
1022+
1023+/**
1024+ * @addtogroup zip
1025+ * @{
1026+ */
1027+
1028+/**
1029+ * Default zip compression level.
1030+ */
1031+
1032 #define ZIP_DEFAULT_COMPRESSION_LEVEL 6
1033
1034-/*
1035- This data structure is used throughout the library to represent zip archive
1036- - forward declaration.
1037-*/
1038+/**
1039+ * @struct zip_t
1040+ *
1041+ * This data structure is used throughout the library to represent zip archive -
1042+ * forward declaration.
1043+ */
1044 struct zip_t;
1045
1046-/*
1047- Opens zip archive with compression level using the given mode.
1048-
1049- Args:
1050- zipname: zip archive file name.
1051- level: compression level (0-9 are the standard zlib-style levels).
1052- mode: file access mode.
1053- 'r': opens a file for reading/extracting (the file must exists).
1054- 'w': creates an empty file for writing.
1055- 'a': appends to an existing archive.
1056-
1057- Returns:
1058- The zip archive handler or NULL on error
1059-*/
1060+/**
1061+ * Opens zip archive with compression level using the given mode.
1062+ *
1063+ * @param zipname zip archive file name.
1064+ * @param level compression level (0-9 are the standard zlib-style levels).
1065+ * @param mode file access mode.
1066+ * - 'r': opens a file for reading/extracting (the file must exists).
1067+ * - 'w': creates an empty file for writing.
1068+ * - 'a': appends to an existing archive.
1069+ *
1070+ * @return the zip archive handler or NULL on error
1071+ */
1072 extern struct zip_t *zip_open(const char *zipname, int level, char mode);
1073
1074-/*
1075- Closes the zip archive, releases resources - always finalize.
1076-
1077- Args:
1078- zip: zip archive handler.
1079-*/
1080+/**
1081+ * Closes the zip archive, releases resources - always finalize.
1082+ *
1083+ * @param zip zip archive handler.
1084+ */
1085 extern void zip_close(struct zip_t *zip);
1086
1087-/*
1088- Opens an entry by name in the zip archive.
1089- For zip archive opened in 'w' or 'a' mode the function will append
1090- a new entry. In readonly mode the function tries to locate the entry
1091- in global dictionary.
1092-
1093- Args:
1094- zip: zip archive handler.
1095- entryname: an entry name in local dictionary.
1096-
1097- Returns:
1098- The return code - 0 on success, negative number (< 0) on error.
1099-*/
1100+/**
1101+ * Opens an entry by name in the zip archive.
1102+ *
1103+ * For zip archive opened in 'w' or 'a' mode the function will append
1104+ * a new entry. In readonly mode the function tries to locate the entry
1105+ * in global dictionary.
1106+ *
1107+ * @param zip zip archive handler.
1108+ * @param entryname an entry name in local dictionary.
1109+ *
1110+ * @return the return code - 0 on success, negative number (< 0) on error.
1111+ */
1112 extern int zip_entry_open(struct zip_t *zip, const char *entryname);
1113
1114-/*
1115- Opens a new entry by index in the zip archive.
1116- This function is only valid if zip archive was opened in 'r' (readonly) mode.
1117-
1118- Args:
1119- zip: zip archive handler.
1120- index: index in local dictionary.
1121-
1122- Returns:
1123- The return code - 0 on success, negative number (< 0) on error.
1124-*/
1125+/**
1126+ * Opens a new entry by index in the zip archive.
1127+ *
1128+ * This function is only valid if zip archive was opened in 'r' (readonly) mode.
1129+ *
1130+ * @param zip zip archive handler.
1131+ * @param index index in local dictionary.
1132+ *
1133+ * @return the return code - 0 on success, negative number (< 0) on error.
1134+ */
1135 extern int zip_entry_openbyindex(struct zip_t *zip, int index);
1136
1137-/*
1138- Closes a zip entry, flushes buffer and releases resources.
1139-
1140- Args:
1141- zip: zip archive handler.
1142-
1143- Returns:
1144- The return code - 0 on success, negative number (< 0) on error.
1145-*/
1146+/**
1147+ * Closes a zip entry, flushes buffer and releases resources.
1148+ *
1149+ * @param zip zip archive handler.
1150+ *
1151+ * @return the return code - 0 on success, negative number (< 0) on error.
1152+ */
1153 extern int zip_entry_close(struct zip_t *zip);
1154
1155-/*
1156- Returns a local name of the current zip entry.
1157- The main difference between user's entry name and local entry name
1158- is optional relative path.
1159- Following .ZIP File Format Specification - the path stored MUST not contain
1160- a drive or device letter, or a leading slash.
1161- All slashes MUST be forward slashes '/' as opposed to backwards slashes '\'
1162- for compatibility with Amiga and UNIX file systems etc.
1163-
1164- Args:
1165- zip: zip archive handler.
1166-
1167- Returns:
1168- The pointer to the current zip entry name, or NULL on error.
1169-*/
1170+/**
1171+ * Returns a local name of the current zip entry.
1172+ *
1173+ * The main difference between user's entry name and local entry name
1174+ * is optional relative path.
1175+ * Following .ZIP File Format Specification - the path stored MUST not contain
1176+ * a drive or device letter, or a leading slash.
1177+ * All slashes MUST be forward slashes '/' as opposed to backwards slashes '\'
1178+ * for compatibility with Amiga and UNIX file systems etc.
1179+ *
1180+ * @param zip: zip archive handler.
1181+ *
1182+ * @return the pointer to the current zip entry name, or NULL on error.
1183+ */
1184 extern const char *zip_entry_name(struct zip_t *zip);
1185
1186-/*
1187- Returns an index of the current zip entry.
1188-
1189- Args:
1190- zip: zip archive handler.
1191-
1192- Returns:
1193- The index on success, negative number (< 0) on error.
1194-*/
1195+/**
1196+ * Returns an index of the current zip entry.
1197+ *
1198+ * @param zip zip archive handler.
1199+ *
1200+ * @return the index on success, negative number (< 0) on error.
1201+ */
1202 extern int zip_entry_index(struct zip_t *zip);
1203
1204-/*
1205- Determines if the current zip entry is a directory entry.
1206-
1207- Args:
1208- zip: zip archive handler.
1209-
1210- Returns:
1211- The return code - 1 (true), 0 (false), negative number (< 0) on error.
1212-*/
1213+/**
1214+ * Determines if the current zip entry is a directory entry.
1215+ *
1216+ * @param zip zip archive handler.
1217+ *
1218+ * @return the return code - 1 (true), 0 (false), negative number (< 0) on
1219+ * error.
1220+ */
1221 extern int zip_entry_isdir(struct zip_t *zip);
1222
1223-/*
1224- Returns an uncompressed size of the current zip entry.
1225-
1226- Args:
1227- zip: zip archive handler.
1228-
1229- Returns:
1230- The uncompressed size in bytes.
1231-*/
1232+/**
1233+ * Returns an uncompressed size of the current zip entry.
1234+ *
1235+ * @param zip zip archive handler.
1236+ *
1237+ * @return the uncompressed size in bytes.
1238+ */
1239 extern unsigned long long zip_entry_size(struct zip_t *zip);
1240
1241-/*
1242- Returns CRC-32 checksum of the current zip entry.
1243-
1244- Args:
1245- zip: zip archive handler.
1246-
1247- Returns:
1248- The CRC-32 checksum.
1249-*/
1250+/**
1251+ * Returns CRC-32 checksum of the current zip entry.
1252+ *
1253+ * @param zip zip archive handler.
1254+ *
1255+ * @return the CRC-32 checksum.
1256+ */
1257 extern unsigned int zip_entry_crc32(struct zip_t *zip);
1258
1259-/*
1260- Compresses an input buffer for the current zip entry.
1261-
1262- Args:
1263- zip: zip archive handler.
1264- buf: input buffer.
1265- bufsize: input buffer size (in bytes).
1266-
1267- Returns:
1268- The return code - 0 on success, negative number (< 0) on error.
1269-*/
1270+/**
1271+ * Compresses an input buffer for the current zip entry.
1272+ *
1273+ * @param zip zip archive handler.
1274+ * @param buf input buffer.
1275+ * @param bufsize input buffer size (in bytes).
1276+ *
1277+ * @return the return code - 0 on success, negative number (< 0) on error.
1278+ */
1279 extern int zip_entry_write(struct zip_t *zip, const void *buf, size_t bufsize);
1280
1281-/*
1282- Compresses a file for the current zip entry.
1283-
1284- Args:
1285- zip: zip archive handler.
1286- filename: input file.
1287-
1288- Returns:
1289- The return code - 0 on success, negative number (< 0) on error.
1290-*/
1291+/**
1292+ * Compresses a file for the current zip entry.
1293+ *
1294+ * @param zip zip archive handler.
1295+ * @param filename input file.
1296+ *
1297+ * @return the return code - 0 on success, negative number (< 0) on error.
1298+ */
1299 extern int zip_entry_fwrite(struct zip_t *zip, const char *filename);
1300
1301-/*
1302- Extracts the current zip entry into output buffer.
1303- The function allocates sufficient memory for a output buffer.
1304-
1305- Args:
1306- zip: zip archive handler.
1307- buf: output buffer.
1308- bufsize: output buffer size (in bytes).
1309-
1310- Note:
1311- - remember to release memory allocated for a output buffer.
1312- - for large entries, please take a look at zip_entry_extract function.
1313-
1314- Returns:
1315- The return code - the number of bytes actually read on success.
1316- Otherwise a -1 on error.
1317-*/
1318+/**
1319+ * Extracts the current zip entry into output buffer.
1320+ *
1321+ * The function allocates sufficient memory for a output buffer.
1322+ *
1323+ * @param zip zip archive handler.
1324+ * @param buf output buffer.
1325+ * @param bufsize output buffer size (in bytes).
1326+ *
1327+ * @note remember to release memory allocated for a output buffer.
1328+ * for large entries, please take a look at zip_entry_extract function.
1329+ *
1330+ * @return the return code - the number of bytes actually read on success.
1331+ * Otherwise a -1 on error.
1332+ */
1333 extern ssize_t zip_entry_read(struct zip_t *zip, void **buf, size_t *bufsize);
1334
1335-/*
1336- Extracts the current zip entry into a memory buffer using no memory
1337- allocation.
1338-
1339- Args:
1340- zip: zip archive handler.
1341- buf: preallocated output buffer.
1342- bufsize: output buffer size (in bytes).
1343-
1344- Note:
1345- - ensure supplied output buffer is large enough.
1346- - zip_entry_size function (returns uncompressed size for the current entry)
1347- can be handy to estimate how big buffer is needed.
1348- - for large entries, please take a look at zip_entry_extract function.
1349-
1350- Returns:
1351- The return code - the number of bytes actually read on success.
1352- Otherwise a -1 on error (e.g. bufsize is not large enough).
1353-*/
1354-extern ssize_t zip_entry_noallocread(struct zip_t *zip, void *buf, size_t bufsize);
1355-
1356-/*
1357- Extracts the current zip entry into output file.
1358-
1359- Args:
1360- zip: zip archive handler.
1361- filename: output file.
1362-
1363- Returns:
1364- The return code - 0 on success, negative number (< 0) on error.
1365-*/
1366+/**
1367+ * Extracts the current zip entry into a memory buffer using no memory
1368+ * allocation.
1369+ *
1370+ * @param zip zip archive handler.
1371+ * @param buf preallocated output buffer.
1372+ * @param bufsize output buffer size (in bytes).
1373+ *
1374+ * @note ensure supplied output buffer is large enough.
1375+ * zip_entry_size function (returns uncompressed size for the current
1376+ * entry) can be handy to estimate how big buffer is needed. for large
1377+ * entries, please take a look at zip_entry_extract function.
1378+ *
1379+ * @return the return code - the number of bytes actually read on success.
1380+ * Otherwise a -1 on error (e.g. bufsize is not large enough).
1381+ */
1382+extern ssize_t zip_entry_noallocread(struct zip_t *zip, void *buf,
1383+ size_t bufsize);
1384+
1385+/**
1386+ * Extracts the current zip entry into output file.
1387+ *
1388+ * @param zip zip archive handler.
1389+ * @param filename output file.
1390+ *
1391+ * @return the return code - 0 on success, negative number (< 0) on error.
1392+ */
1393 extern int zip_entry_fread(struct zip_t *zip, const char *filename);
1394
1395-/*
1396- Extracts the current zip entry using a callback function (on_extract).
1397-
1398- Args:
1399- zip: zip archive handler.
1400- on_extract: callback function.
1401- arg: opaque pointer (optional argument,
1402- which you can pass to the on_extract callback)
1403-
1404- Returns:
1405- The return code - 0 on success, negative number (< 0) on error.
1406+/**
1407+ * Extracts the current zip entry using a callback function (on_extract).
1408+ *
1409+ * @param zip zip archive handler.
1410+ * @param on_extract callback function.
1411+ * @param arg opaque pointer (optional argument, which you can pass to the
1412+ * on_extract callback)
1413+ *
1414+ * @return the return code - 0 on success, negative number (< 0) on error.
1415 */
1416 extern int
1417 zip_entry_extract(struct zip_t *zip,
1418@@ -262,53 +261,49 @@ zip_entry_extract(struct zip_t *zip,
1419 const void *data, size_t size),
1420 void *arg);
1421
1422-/*
1423- Returns the number of all entries (files and directories) in the zip archive.
1424-
1425- Args:
1426- zip: zip archive handler.
1427-
1428- Returns:
1429- The return code - the number of entries on success,
1430- negative number (< 0) on error.
1431-*/
1432+/**
1433+ * Returns the number of all entries (files and directories) in the zip archive.
1434+ *
1435+ * @param zip zip archive handler.
1436+ *
1437+ * @return the return code - the number of entries on success, negative number
1438+ * (< 0) on error.
1439+ */
1440 extern int zip_total_entries(struct zip_t *zip);
1441
1442-/*
1443- Creates a new archive and puts files into a single zip archive.
1444-
1445- Args:
1446- zipname: zip archive file.
1447- filenames: input files.
1448- len: number of input files.
1449-
1450- Returns:
1451- The return code - 0 on success, negative number (< 0) on error.
1452-*/
1453+/**
1454+ * Creates a new archive and puts files into a single zip archive.
1455+ *
1456+ * @param zipname zip archive file.
1457+ * @param filenames input files.
1458+ * @param len: number of input files.
1459+ *
1460+ * @return the return code - 0 on success, negative number (< 0) on error.
1461+ */
1462 extern int zip_create(const char *zipname, const char *filenames[], size_t len);
1463
1464-/*
1465- Extracts a zip archive file into directory.
1466-
1467- If on_extract_entry is not NULL, the callback will be called after
1468- successfully extracted each zip entry.
1469- Returning a negative value from the callback will cause abort and return an
1470- error. The last argument (void *arg) is optional, which you can use to pass
1471- data to the on_extract_entry callback.
1472-
1473- Args:
1474- zipname: zip archive file.
1475- dir: output directory.
1476- on_extract_entry: on extract callback.
1477- arg: opaque pointer.
1478-
1479- Returns:
1480- The return code - 0 on success, negative number (< 0) on error.
1481-*/
1482+/**
1483+ * Extracts a zip archive file into directory.
1484+ *
1485+ * If on_extract_entry is not NULL, the callback will be called after
1486+ * successfully extracted each zip entry.
1487+ * Returning a negative value from the callback will cause abort and return an
1488+ * error. The last argument (void *arg) is optional, which you can use to pass
1489+ * data to the on_extract_entry callback.
1490+ *
1491+ * @param zipname zip archive file.
1492+ * @param dir output directory.
1493+ * @param on_extract_entry on extract callback.
1494+ * @param arg opaque pointer.
1495+ *
1496+ * @return the return code - 0 on success, negative number (< 0) on error.
1497+ */
1498 extern int zip_extract(const char *zipname, const char *dir,
1499 int (*on_extract_entry)(const char *filename, void *arg),
1500 void *arg);
1501
1502+/** @} */
1503+
1504 #ifdef __cplusplus
1505 }
1506 #endif
1507diff --git a/contrib/zip/test/CMakeLists.txt b/contrib/zip/test/CMakeLists.txt
1508index 9b2a8db1..cc060b00 100644
1509--- a/contrib/zip/test/CMakeLists.txt
1510+++ b/contrib/zip/test/CMakeLists.txt
1511@@ -1,19 +1,16 @@
1512 cmake_minimum_required(VERSION 2.8)
1513
1514-if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang")
1515- if(ENABLE_COVERAGE)
1516- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g ")
1517- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0")
1518- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs")
1519- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ftest-coverage")
1520- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
1521- endif()
1522-endif ()
1523-
1524 # test
1525-include_directories(../src)
1526-add_executable(test.exe test.c ../src/zip.c)
1527-add_executable(test_miniz.exe test_miniz.c)
1528+set(test_out test.out)
1529+set(test_miniz_out test_miniz.out)
1530+
1531+add_executable(${test_out} test.c)
1532+target_link_libraries(${test_out} zip)
1533+add_executable(${test_miniz_out} test_miniz.c)
1534+target_link_libraries(${test_miniz_out} zip)
1535+
1536+add_test(NAME ${test_out} COMMAND ${test_out})
1537+add_test(NAME ${test_miniz_out} COMMAND ${test_miniz_out})
1538
1539-add_test(NAME test COMMAND test.exe)
1540-add_test(NAME test_miniz COMMAND test_miniz.exe)
1541+set(test_out ${test_out} PARENT_SCOPE)
1542+set(test_miniz_out ${test_miniz_out} PARENT_SCOPE)
1543diff --git a/contrib/zip/test/test.c b/contrib/zip/test/test.c
1544index 45443053..a9b2ddab 100644
1545--- a/contrib/zip/test/test.c
1546+++ b/contrib/zip/test/test.c
1547@@ -29,6 +29,8 @@
1548 #define XFILE "7.txt\0"
1549 #define XMODE 0100777
1550
1551+#define UNIXMODE 0100644
1552+
1553 #define UNUSED(x) (void)x
1554
1555 static int total_entries = 0;
1556@@ -102,7 +104,8 @@ static void test_read(void) {
1557 assert(0 == zip_entry_close(zip));
1558 free(buf);
1559 buf = NULL;
1560-
1561+ bufsize = 0;
1562+
1563 assert(0 == zip_entry_open(zip, "test/test-2.txt"));
1564 assert(strlen(TESTDATA2) == zip_entry_size(zip));
1565 assert(CRC32DATA2 == zip_entry_crc32(zip));
1566@@ -131,7 +134,8 @@ static void test_read(void) {
1567 assert(0 == zip_entry_close(zip));
1568 free(buf);
1569 buf = NULL;
1570-
1571+ bufsize = 0;
1572+
1573 buftmp = strlen(TESTDATA1);
1574 buf = calloc(buftmp, sizeof(char));
1575 assert(0 == zip_entry_open(zip, "test/test-1.txt"));
1576@@ -433,6 +437,35 @@ static void test_mtime(void) {
1577 remove(ZIPNAME);
1578 }
1579
1580+static void test_unix_permissions(void) {
1581+#if defined(_WIN64) || defined(_WIN32) || defined(__WIN32__)
1582+#else
1583+ // UNIX or APPLE
1584+ struct MZ_FILE_STAT_STRUCT file_stats;
1585+
1586+ remove(ZIPNAME);
1587+
1588+ struct zip_t *zip = zip_open(ZIPNAME, ZIP_DEFAULT_COMPRESSION_LEVEL, 'w');
1589+ assert(zip != NULL);
1590+
1591+ assert(0 == zip_entry_open(zip, RFILE));
1592+ assert(0 == zip_entry_write(zip, TESTDATA1, strlen(TESTDATA1)));
1593+ assert(0 == zip_entry_close(zip));
1594+
1595+ zip_close(zip);
1596+
1597+ remove(RFILE);
1598+
1599+ assert(0 == zip_extract(ZIPNAME, ".", NULL, NULL));
1600+
1601+ assert(0 == MZ_FILE_STAT(RFILE, &file_stats));
1602+ assert(UNIXMODE == file_stats.st_mode);
1603+
1604+ remove(RFILE);
1605+ remove(ZIPNAME);
1606+#endif
1607+}
1608+
1609 int main(int argc, char *argv[]) {
1610 UNUSED(argc);
1611 UNUSED(argv);
1612@@ -453,6 +486,7 @@ int main(int argc, char *argv[]) {
1613 test_write_permissions();
1614 test_exe_permissions();
1615 test_mtime();
1616+ test_unix_permissions();
1617
1618 remove(ZIPNAME);
1619 return 0;
1620diff --git a/contrib/zip/test/test_miniz.c b/contrib/zip/test/test_miniz.c
1621index ebc0564d..babcaecd 100644
1622--- a/contrib/zip/test/test_miniz.c
1623+++ b/contrib/zip/test/test_miniz.c
1624@@ -23,16 +23,39 @@ int main(int argc, char *argv[]) {
1625 uint step = 0;
1626 int cmp_status;
1627 uLong src_len = (uLong)strlen(s_pStr);
1628- uLong cmp_len = compressBound(src_len);
1629 uLong uncomp_len = src_len;
1630+ uLong cmp_len;
1631 uint8 *pCmp, *pUncomp;
1632+ size_t sz;
1633 uint total_succeeded = 0;
1634 (void)argc, (void)argv;
1635
1636 printf("miniz.c version: %s\n", MZ_VERSION);
1637
1638 do {
1639+ pCmp = (uint8 *)tdefl_compress_mem_to_heap(s_pStr, src_len, &cmp_len, 0);
1640+ if (!pCmp) {
1641+ printf("tdefl_compress_mem_to_heap failed\n");
1642+ return EXIT_FAILURE;
1643+ }
1644+ if (src_len <= cmp_len) {
1645+ printf("tdefl_compress_mem_to_heap failed: from %u to %u bytes\n",
1646+ (mz_uint32)uncomp_len, (mz_uint32)cmp_len);
1647+ free(pCmp);
1648+ return EXIT_FAILURE;
1649+ }
1650+
1651+ sz = tdefl_compress_mem_to_mem(pCmp, cmp_len, s_pStr, src_len, 0);
1652+ if (sz != cmp_len) {
1653+ printf("tdefl_compress_mem_to_mem failed: expected %u, got %u\n",
1654+ (mz_uint32)cmp_len, (mz_uint32)sz);
1655+ free(pCmp);
1656+ return EXIT_FAILURE;
1657+ }
1658+
1659 // Allocate buffers to hold compressed and uncompressed data.
1660+ free(pCmp);
1661+ cmp_len = compressBound(src_len);
1662 pCmp = (mz_uint8 *)malloc((size_t)cmp_len);
1663 pUncomp = (mz_uint8 *)malloc((size_t)src_len);
1664 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 @@
1DESCRIPTION = "Open Asset Import Library is a portable Open Source library to import \
2 various well-known 3D model formats in a uniform manner."
3HOMEPAGE = "http://www.assimp.org/"
4SECTION = "devel"
5
6LICENSE = "BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=2119edef0916b0bd511cb3c731076271"
8
9DEPENDS = "zlib"
10
11SRC_URI = "git://github.com/assimp/assimp.git;branch=assimp_5.0_release \
12 file://0001-closes-https-github.com-assimp-assimp-issues-2733-up.patch \
13 file://0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch \
14 "
15UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(\d+(\.\d+)+))"
16
17SRCREV = "8f0c6b04b2257a520aaab38421b2e090204b69df"
18
19S = "${WORKDIR}/git"
20
21inherit cmake
22
23EXTRA_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.162.0.bb b/meta/recipes-graphics/vulkan/vulkan-headers_1.3.280.0.bb
index 19ae67cdd4..371cc7304d 100644
--- a/meta/recipes-graphics/vulkan/vulkan-headers_1.2.162.0.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-headers_1.3.280.0.bb
@@ -7,16 +7,22 @@ HOMEPAGE = "https://www.khronos.org/vulkan/"
7BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers" 7BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers"
8SECTION = "libs" 8SECTION = "libs"
9 9
10LICENSE = "Apache-2.0" 10LICENSE = "Apache-2.0 & MIT"
11LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" 11LIC_FILES_CHKSUM = "file://LICENSE.md;md5=1bc355d8c4196f774c8b87ed1a8dd625"
12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=master" 12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https"
13 13
14SRCREV = "87aaa16d4c8e1ac70f8f04acdcd46eed4bd77209" 14SRCREV = "577baa05033cf1d9236b3d078ca4b3269ed87a2b"
15 15
16S = "${WORKDIR}/git" 16S = "${WORKDIR}/git"
17 17
18inherit cmake 18inherit cmake
19 19
20FILES_${PN} += "${datadir}/vulkan" 20FILES:${PN} += "${datadir}/vulkan"
21RDEPENDS:${PN} += "python3-core"
21 22
23# These recipes need to be updated in lockstep with each other:
24# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools,
25# vulkan-validation-layers, vulkan-utility-libraries.
26# The tags versions should always be sdk-x.y.z, as this is what
27# upstream considers a release.
22UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 28UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/meta/recipes-graphics/vulkan/vulkan-loader/0001-Rename-LIB_SUFFIX-to-VULKAN_LIB_SUFFIX.patch b/meta/recipes-graphics/vulkan/vulkan-loader/0001-Rename-LIB_SUFFIX-to-VULKAN_LIB_SUFFIX.patch
deleted file mode 100644
index 26b1a40f26..0000000000
--- a/meta/recipes-graphics/vulkan/vulkan-loader/0001-Rename-LIB_SUFFIX-to-VULKAN_LIB_SUFFIX.patch
+++ /dev/null
@@ -1,40 +0,0 @@
1From 5ae24ece75f2caa69216da7075334711642f5588 Mon Sep 17 00:00:00 2001
2From: Michel Zou <xantares09@hotmail.com>
3Date: Wed, 16 Dec 2020 15:03:23 +0100
4Subject: [PATCH] Rename LIB_SUFFIX to VULKAN_LIB_SUFFIX
5
6Closes #527
7
8Upstream-Status: Backport [https://github.com/KhronosGroup/Vulkan-Loader/commit/66a23ac8c566299343668f094de50798a5f4a0e4]
9Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
10---
11 loader/CMakeLists.txt | 2 +-
12 loader/vulkan.pc.in | 2 +-
13 2 files changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
16index 659511855..ba9f460f1 100644
17--- a/loader/CMakeLists.txt
18+++ b/loader/CMakeLists.txt
19@@ -327,7 +327,7 @@ if(PKG_CONFIG_FOUND)
20 set(PRIVATE_LIBS "${PRIVATE_LIBS} -l${LIB}")
21 endforeach()
22 if(WIN32)
23- set(LIB_SUFFIX "-1")
24+ set(VULKAN_LIB_SUFFIX "-1")
25 endif ()
26 configure_file("vulkan.pc.in" "vulkan.pc" @ONLY)
27 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/vulkan.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
28diff --git a/loader/vulkan.pc.in b/loader/vulkan.pc.in
29index fc17cb1f3..44049ee34 100644
30--- a/loader/vulkan.pc.in
31+++ b/loader/vulkan.pc.in
32@@ -6,7 +6,7 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
33 Name: @CMAKE_PROJECT_NAME@
34 Description: Vulkan Loader
35 Version: @VK_API_VERSION@
36-Libs: -L${libdir} -lvulkan@LIB_SUFFIX@
37+Libs: -L${libdir} -lvulkan@VULKAN_LIB_SUFFIX@
38 Libs.private: @PRIVATE_LIBS@
39 Cflags: -I${includedir}
40
diff --git a/meta/recipes-graphics/vulkan/vulkan-loader_1.2.162.0.bb b/meta/recipes-graphics/vulkan/vulkan-loader_1.3.280.0.bb
index d39e7af975..b738771801 100644
--- a/meta/recipes-graphics/vulkan/vulkan-loader_1.2.162.0.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-loader_1.3.280.0.bb
@@ -9,17 +9,14 @@ SECTION = "libs"
9 9
10LICENSE = "Apache-2.0" 10LICENSE = "Apache-2.0"
11LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac" 11LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git \ 12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=vulkan-sdk-1.3.280;protocol=https"
13 file://0001-Rename-LIB_SUFFIX-to-VULKAN_LIB_SUFFIX.patch \ 13SRCREV = "61a9c50248e09f3a0e0be7ce6f8bb1663855f979"
14 "
15SRCREV = "7a313093b5c4af964d50a5a64e73d7df6152ea3f"
16 14
17S = "${WORKDIR}/git" 15S = "${WORKDIR}/git"
18 16
19REQUIRED_DISTRO_FEATURES = "vulkan" 17REQUIRED_DISTRO_FEATURES = "vulkan"
20 18
21inherit cmake features_check 19inherit cmake features_check pkgconfig
22ANY_OF_DISTRO_FEATURES = "x11 wayland"
23 20
24DEPENDS += "vulkan-headers" 21DEPENDS += "vulkan-headers"
25 22
@@ -27,14 +24,20 @@ EXTRA_OECMAKE = "\
27 -DBUILD_TESTS=OFF \ 24 -DBUILD_TESTS=OFF \
28 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \ 25 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
29 -DASSEMBLER_WORKS=FALSE \ 26 -DASSEMBLER_WORKS=FALSE \
27 -DVulkanHeaders_INCLUDE_DIR=${STAGING_INCDIR} \
28 -DVulkanRegistry_DIR=${RECIPE_SYSROOT}/${datadir} \
30 " 29 "
31 30
32# must choose x11 or wayland or both
33PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" 31PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
34 32
35PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr" 33PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
36PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" 34PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
37 35
38RRECOMMENDS_${PN} = "mesa-vulkan-drivers" 36RRECOMMENDS:${PN} = "mesa-vulkan-drivers"
39 37
38# These recipes need to be updated in lockstep with each other:
39# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools,
40# vulkan-validation-layers, vulkan-utility-libraries.
41# The tags versions should always be sdk-x.y.z, as this is what
42# upstream considers a release.
40UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 43UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch
deleted file mode 100644
index 90fe277a41..0000000000
--- a/meta/recipes-graphics/vulkan/vulkan-samples/0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 5fb216d35b6846074196e80421f3162df3b9c8cd Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Sun, 1 Nov 2020 23:19:22 +0000
4Subject: [PATCH] CMakeLists.txt: do not hardcode 'lib' as installation target
5
6Upstream-Status: Inappropriate [already fixed in newer versions]
7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
8---
9 CMakeLists.txt | 4 ++--
10 1 file changed, 2 insertions(+), 2 deletions(-)
11
12diff --git a/CMakeLists.txt b/CMakeLists.txt
13index e00f8c77..f9896eed 100644
14--- a/third_party/spirv-cross/CMakeLists.txt
15+++ b/third_party/spirv-cross/CMakeLists.txt
16@@ -67,8 +67,8 @@ macro(spirv_cross_add_library name config_name)
17 install(TARGETS ${name}
18 EXPORT ${config_name}Config
19 RUNTIME DESTINATION bin
20- LIBRARY DESTINATION lib
21- ARCHIVE DESTINATION lib
22+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
23+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
24 PUBLIC_HEADER DESTINATION include/spirv_cross)
25 install(FILES ${hdrs} DESTINATION include/spirv_cross)
26 install(EXPORT ${config_name}Config DESTINATION share/${config_name}/cmake)
27--
282.17.1
29
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/0001-Deprecate-u8string_view.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-Deprecate-u8string_view.patch
new file mode 100644
index 0000000000..c2304bdd48
--- /dev/null
+++ b/meta/recipes-graphics/vulkan/vulkan-samples/0001-Deprecate-u8string_view.patch
@@ -0,0 +1,59 @@
1From 93987b1ce7d6f91387202495aac61026070597df Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 15 Jan 2023 21:37:52 -0800
4Subject: [PATCH] Deprecate u8string_view
5
6Use basic_string_view instead
7
8Upstream-Status: Backport [https://github.com/fmtlib/fmt/commit/dea7fde8b7d649923dd41b0766bdf076033c62a2]
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 include/spdlog/fmt/bundled/core.h | 3 ++-
12 include/spdlog/fmt/bundled/format.h | 15 ++-------------
13 2 files changed, 4 insertions(+), 14 deletions(-)
14
15diff --git a/include/spdlog/fmt/bundled/core.h b/include/spdlog/fmt/bundled/core.h
16index 50b79351..e8b029ef 100644
17--- a/include/spdlog/fmt/bundled/core.h
18+++ b/include/spdlog/fmt/bundled/core.h
19@@ -1484,7 +1484,8 @@ FMT_API void vprint(wstring_view format_str, wformat_args args);
20
21 /**
22 \rst
23- Prints formatted data to ``stdout``.
24+ Formats ``args`` according to specifications in ``format_str`` and writes the
25+ output to ``stdout``.
26
27 **Example**::
28
29diff --git a/include/spdlog/fmt/bundled/format.h b/include/spdlog/fmt/bundled/format.h
30index 1bb24a52..39426361 100644
31--- a/include/spdlog/fmt/bundled/format.h
32+++ b/include/spdlog/fmt/bundled/format.h
33@@ -407,21 +407,10 @@ void basic_buffer<T>::append(const U *begin, const U *end) {
34 enum char8_t: unsigned char {};
35 #endif
36
37-// A UTF-8 string view.
38-class u8string_view : public basic_string_view<char8_t> {
39- public:
40- typedef char8_t char_type;
41-
42- u8string_view(const char *s):
43- basic_string_view<char8_t>(reinterpret_cast<const char8_t*>(s)) {}
44- u8string_view(const char *s, size_t count) FMT_NOEXCEPT:
45- basic_string_view<char8_t>(reinterpret_cast<const char8_t*>(s), count) {}
46-};
47-
48 #if FMT_USE_USER_DEFINED_LITERALS
49 inline namespace literals {
50-inline u8string_view operator"" _u(const char *s, std::size_t n) {
51- return {s, n};
52+inline basic_string_view<char8_t> operator"" _u(const char* s, std::size_t n) {
53+ return {reinterpret_cast<const char8_t*>(s), n};
54 }
55 }
56 #endif
57--
582.39.0
59
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/0001-Do-not-use-LFS64-functions-on-linux-musl.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-Do-not-use-LFS64-functions-on-linux-musl.patch
new file mode 100644
index 0000000000..f2bd7e510b
--- /dev/null
+++ b/meta/recipes-graphics/vulkan/vulkan-samples/0001-Do-not-use-LFS64-functions-on-linux-musl.patch
@@ -0,0 +1,37 @@
1From ce7a593e74c8e0c2ece15c73e7614d4f13a19a53 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 30 Dec 2022 13:04:08 -0800
4Subject: [PATCH] Do not use LFS64 functions on linux/musl
5
6On musl, off_t is 64bit always ( even on 32bit platforms ), therefore using
7LFS64 funcitons is not needed on such platforms. Moreover, musl has stopped
8providing aliases for these functions [1] which means it wont compile on
9newer musl systems. Therefore only use it on 32bit glibc/linux platforms
10and exclude musl like cygwin or OSX
11
12[1] https://git.musl-libc.org/cgit/musl/commit/?id=246f1c811448f37a44b41cd8df8d0ef9736d95f4
13
14Upstream-Status: Submitted [https://github.com/gabime/spdlog/pull/2589]
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16---
17 include/spdlog/details/os.h | 4 +++-
18 1 file changed, 3 insertions(+), 1 deletion(-)
19
20diff --git a/include/spdlog/details/os.h b/include/spdlog/details/os.h
21index 8e8476f0..be0a67b8 100644
22--- a/include/spdlog/details/os.h
23+++ b/include/spdlog/details/os.h
24@@ -227,7 +227,9 @@ inline size_t filesize(FILE *f)
25 #else // unix
26 int fd = fileno(f);
27 // 64 bits(but not in osx or cygwin, where fstat64 is deprecated)
28-#if !defined(__FreeBSD__) && !defined(__APPLE__) && (defined(__x86_64__) || defined(__ppc64__)) && !defined(__CYGWIN__)
29+#if !defined(__FreeBSD__) && !defined(__APPLE__) && \
30+ (defined(__linux__) && defined(__GLIBC__)) && \
31+ (defined(__x86_64__) || defined(__ppc64__)) && !defined(__CYGWIN__)
32 struct stat64 st;
33 if (::fstat64(fd, &st) == 0)
34 {
35--
362.39.0
37
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/debugfix.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-vulkan-samples-Fix-reproducibility-issue.patch
index d723fcc19a..c16e05112f 100644
--- a/meta/recipes-graphics/vulkan/vulkan-samples/debugfix.patch
+++ b/meta/recipes-graphics/vulkan/vulkan-samples/0001-vulkan-samples-Fix-reproducibility-issue.patch
@@ -1,10 +1,15 @@
1From d998c753254649c7cf7c64e3fed78e41c11ad7ed Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Wed, 23 Aug 2023 09:38:37 +0200
4Subject: [PATCH] vulkan-samples: Fix reproducibility issue
5
1There is code to remove the prefix CMAKE_SOURCE_DIR from __FILENAME__ paths 6There is code to remove the prefix CMAKE_SOURCE_DIR from __FILENAME__ paths
2used for logging with LOGE() in the code. We need to make this match the value we use 7used for logging with LOGE() in the code. We need to make this match the value we use
3in the debug source remapping from CFLAGS 8in the debug source remapping from CFLAGS
4 9
5We export the right path to use in the recipe with: 10We export the right path to use in the recipe with:
6 11
7EXTRA_OECMAKE = "-DCMAKE_DEBUG_SRCDIR=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/" 12EXTRA_OECMAKE = "-DCMAKE_DEBUG_SRCDIR=${TARGET_DBGSRC_DIR}/"
8 13
9and we then patch this into the code instead of the broken use 14and we then patch this into the code instead of the broken use
10of CMAKE_SOURCE_DIR since __FILENAME__ will match our path prefix 15of CMAKE_SOURCE_DIR since __FILENAME__ will match our path prefix
@@ -16,11 +21,16 @@ will currently change the output!
16Upstream-Status: Pending [needs to be discussed upstream] 21Upstream-Status: Pending [needs to be discussed upstream]
17Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 22Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
18 23
19Index: git/bldsys/cmake/global_options.cmake 24Signed-off-by: Julien Stephan <jstephan@baylibre.com>
20=================================================================== 25---
21--- git.orig/bldsys/cmake/global_options.cmake 26 bldsys/cmake/global_options.cmake | 2 +-
22+++ git/bldsys/cmake/global_options.cmake 27 1 file changed, 1 insertion(+), 1 deletion(-)
23@@ -47,7 +47,7 @@ set(CMAKE_CXX_STANDARD 14) 28
29diff --git a/bldsys/cmake/global_options.cmake b/bldsys/cmake/global_options.cmake
30index b15c2da..d8952e5 100644
31--- a/bldsys/cmake/global_options.cmake
32+++ b/bldsys/cmake/global_options.cmake
33@@ -62,7 +62,7 @@ set(CMAKE_CXX_STANDARD 14)
24 set(CMAKE_DISABLE_SOURCE_CHANGES ON) 34 set(CMAKE_DISABLE_SOURCE_CHANGES ON)
25 set(CMAKE_DISABLE_IN_SOURCE_BUILD ON) 35 set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
26 36
@@ -29,3 +39,5 @@ Index: git/bldsys/cmake/global_options.cmake
29 add_definitions(-DROOT_PATH_SIZE=${ROOT_PATH_SIZE}) 39 add_definitions(-DROOT_PATH_SIZE=${ROOT_PATH_SIZE})
30 40
31 set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 ${CMAKE_C_FLAGS_DEBUG}") 41 set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 ${CMAKE_C_FLAGS_DEBUG}")
42--
432.41.0
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/32bit.patch b/meta/recipes-graphics/vulkan/vulkan-samples/32bit.patch
new file mode 100644
index 0000000000..644c3b6167
--- /dev/null
+++ b/meta/recipes-graphics/vulkan/vulkan-samples/32bit.patch
@@ -0,0 +1,101 @@
1From 49761ca63797014223d8e3ff6fb2c0235803c19c Mon Sep 17 00:00:00 2001
2From: asuessenbach <asuessenbach@nvidia.com>
3Date: Wed, 3 May 2023 09:50:08 +0200
4Subject: [PATCH] Resolve some Vulkan-Hpp-related issues on Win32.
5
6This patch fixes vulkan-samples compilation on 32-bit hosts.
7
8Upstream-Status: Backport
9Signed-off-by: Ross Burton <ross.burton@arm.com>
10
11---
12 framework/common/hpp_vk_common.h | 4 ++--
13 framework/core/hpp_buffer.cpp | 4 ++--
14 framework/core/hpp_buffer.h | 2 +-
15 framework/core/hpp_image.cpp | 2 +-
16 samples/api/hpp_texture_loading/hpp_texture_loading.cpp | 2 +-
17 5 files changed, 7 insertions(+), 7 deletions(-)
18
19diff --git a/framework/common/hpp_vk_common.h b/framework/common/hpp_vk_common.h
20index 39ed3dcde..0cbbe479e 100644
21--- a/framework/common/hpp_vk_common.h
22+++ b/framework/common/hpp_vk_common.h
23@@ -92,7 +92,7 @@ inline bool is_dynamic_buffer_descriptor_type(vk::DescriptorType descriptor_type
24
25 inline vk::ShaderModule load_shader(const std::string &filename, vk::Device device, vk::ShaderStageFlagBits stage)
26 {
27- return vkb::load_shader(filename, device, static_cast<VkShaderStageFlagBits>(stage));
28+ return static_cast<vk::ShaderModule>(vkb::load_shader(filename, device, static_cast<VkShaderStageFlagBits>(stage)));
29 }
30
31 inline void set_image_layout(vk::CommandBuffer command_buffer,
32@@ -104,7 +104,7 @@ inline void set_image_layout(vk::CommandBuffer command_buffer,
33 vk::PipelineStageFlags dst_mask = vk::PipelineStageFlagBits::eAllCommands)
34 {
35 vkb::set_image_layout(command_buffer,
36- image,
37+ static_cast<VkImage>(image),
38 static_cast<VkImageLayout>(old_layout),
39 static_cast<VkImageLayout>(new_layout),
40 static_cast<VkImageSubresourceRange>(subresource_range),
41diff --git a/framework/core/hpp_buffer.cpp b/framework/core/hpp_buffer.cpp
42index 8da265acb..e6509b9f4 100644
43--- a/framework/core/hpp_buffer.cpp
44+++ b/framework/core/hpp_buffer.cpp
45@@ -84,7 +84,7 @@ HPPBuffer::~HPPBuffer()
46 if (get_handle() && (allocation != VK_NULL_HANDLE))
47 {
48 unmap();
49- vmaDestroyBuffer(get_device().get_memory_allocator(), get_handle(), allocation);
50+ vmaDestroyBuffer(get_device().get_memory_allocator(), static_cast<VkBuffer>(get_handle()), allocation);
51 }
52 }
53
54@@ -93,7 +93,7 @@ VmaAllocation HPPBuffer::get_allocation() const
55 return allocation;
56 }
57
58-VkDeviceMemory HPPBuffer::get_memory() const
59+vk::DeviceMemory HPPBuffer::get_memory() const
60 {
61 return memory;
62 }
63diff --git a/framework/core/hpp_buffer.h b/framework/core/hpp_buffer.h
64index 7a243c265..bad47406d 100644
65--- a/framework/core/hpp_buffer.h
66+++ b/framework/core/hpp_buffer.h
67@@ -55,7 +55,7 @@ class HPPBuffer : public vkb::core::HPPVulkanResource<vk::Buffer>
68
69 VmaAllocation get_allocation() const;
70 const uint8_t *get_data() const;
71- VkDeviceMemory get_memory() const;
72+ vk::DeviceMemory get_memory() const;
73
74 /**
75 * @return Return the buffer's device address (note: requires that the buffer has been created with the VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT usage fla)
76diff --git a/framework/core/hpp_image.cpp b/framework/core/hpp_image.cpp
77index 00fa89ba7..5e6f27363 100644
78--- a/framework/core/hpp_image.cpp
79+++ b/framework/core/hpp_image.cpp
80@@ -138,7 +138,7 @@ HPPImage::~HPPImage()
81 if (get_handle() && memory)
82 {
83 unmap();
84- vmaDestroyImage(get_device().get_memory_allocator(), get_handle(), memory);
85+ vmaDestroyImage(get_device().get_memory_allocator(), static_cast<VkImage>(get_handle()), memory);
86 }
87 }
88
89diff --git a/samples/api/hpp_texture_loading/hpp_texture_loading.cpp b/samples/api/hpp_texture_loading/hpp_texture_loading.cpp
90index 11a1f24c1..cbdd22773 100644
91--- a/samples/api/hpp_texture_loading/hpp_texture_loading.cpp
92+++ b/samples/api/hpp_texture_loading/hpp_texture_loading.cpp
93@@ -170,7 +170,7 @@ void HPPTextureLoading::load_texture()
94 memory_allocate_info = {memory_requirements.size,
95 get_device()->get_gpu().get_memory_type(memory_requirements.memoryTypeBits, vk::MemoryPropertyFlagBits::eDeviceLocal)};
96 texture.device_memory = get_device()->get_handle().allocateMemory(memory_allocate_info);
97- VK_CHECK(vkBindImageMemory(get_device()->get_handle(), texture.image, texture.device_memory, 0));
98+ get_device()->get_handle().bindImageMemory(texture.image, texture.device_memory, 0);
99
100 vk::CommandBuffer copy_command = get_device()->create_command_buffer(vk::CommandBufferLevel::ePrimary, true);
101
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
index b7c38f6543..d60c0f3190 100644
--- a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
@@ -1,17 +1,19 @@
1DESCRIPTION = "The Vulkan Samples is collection of resources to help develop optimized Vulkan applications." 1SUMMARY = "The Vulkan Samples is collection of resources to help develop optimized Vulkan applications."
2HOMEPAGE = "https://www.khronos.org/vulkan/" 2HOMEPAGE = "https://www.khronos.org/vulkan/"
3BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Samples/issues" 3BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Samples/issues"
4LICENSE = "Apache-2.0" 4LICENSE = "Apache-2.0"
5 5
6LIC_FILES_CHKSUM = "file://LICENSE;md5=48aa35cefb768436223a6e7f18dc2a2a" 6LIC_FILES_CHKSUM = "file://LICENSE;md5=48aa35cefb768436223a6e7f18dc2a2a"
7 7
8SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git \ 8SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git;branch=main;protocol=https;lfs=0 \
9 file://0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch \ 9 file://0001-vulkan-samples-Fix-reproducibility-issue.patch \
10 file://debugfix.patch \ 10 file://0001-Do-not-use-LFS64-functions-on-linux-musl.patch;patchdir=third_party/spdlog \
11 file://0001-Deprecate-u8string_view.patch;patchdir=third_party/spdlog \
12 file://32bit.patch \
11 " 13 "
12 14
13UPSTREAM_CHECK_COMMITS = "1" 15UPSTREAM_CHECK_COMMITS = "1"
14SRCREV = "55cebd9e7cc4153a3a7b3a45d42274c0e2a17815" 16SRCREV = "2307c3eb5608cb1205fa3514b3a31dbfb857d00c"
15 17
16UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for" 18UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
17S = "${WORKDIR}/git" 19S = "${WORKDIR}/git"
@@ -20,15 +22,18 @@ REQUIRED_DISTRO_FEATURES = 'vulkan'
20 22
21inherit cmake features_check 23inherit cmake features_check
22 24
23FILES_${PN} += "${datadir}" 25FILES:${PN} += "${datadir}"
24 26
25# 27#
26# There is code to remove the prefix CMAKE_SOURCE_DIR from __FILENAME__ paths 28# There is code to remove the prefix CMAKE_SOURCE_DIR from __FILENAME__ paths
27# used for logging with LOGE in the code. We need to make this match the value we use 29# used for logging with LOGE in the code. We need to make this match the value we use
28# in the debug source remapping from CFLAGS 30# in the debug source remapping from CFLAGS
29# 31#
30EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/" 32EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=${TARGET_DBGSRC_DIR}/"
31# Binaries built with PCH enabled don't appear reproducible, differing results were seen 33# Binaries built with PCH enabled don't appear reproducible, differing results were seen
32# from some builds depending on the point the PCH was compiled. Disable it to be 34# from some builds depending on the point the PCH was compiled. Disable it to be
33# deterministic 35# deterministic
34EXTRA_OECMAKE += "-DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON" 36EXTRA_OECMAKE += "-DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON"
37
38# This needs to be specified explicitly to avoid xcb/xlib dependencies
39EXTRA_OECMAKE += "-DVKB_WSI_SELECTION=D2D"
diff --git a/meta/recipes-graphics/vulkan/vulkan-tools_1.2.162.1.bb b/meta/recipes-graphics/vulkan/vulkan-tools_1.3.280.0.bb
index a5c3bbcb14..a7e4a67aaa 100644
--- a/meta/recipes-graphics/vulkan/vulkan-tools_1.2.162.1.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-tools_1.3.280.0.bb
@@ -6,16 +6,16 @@ SECTION = "libs"
6 6
7LICENSE = "Apache-2.0" 7LICENSE = "Apache-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" 8LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
9SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.2.162" 9SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=vulkan-sdk-1.3.280;protocol=https"
10SRCREV = "8f0c2e40d4134f53f82ce48de72c7be92baa6b3d" 10SRCREV = "136976082d0b14dad8b9687982b2a80cc6e6a633"
11 11
12S = "${WORKDIR}/git" 12S = "${WORKDIR}/git"
13 13
14inherit cmake features_check 14inherit cmake features_check pkgconfig
15ANY_OF_DISTRO_FEATURES = "x11 wayland" 15ANY_OF_DISTRO_FEATURES = "x11 wayland"
16REQUIRED_DISTRO_FEATURES = "vulkan" 16REQUIRED_DISTRO_FEATURES = "vulkan"
17 17
18DEPENDS += "vulkan-headers vulkan-loader" 18DEPENDS += "vulkan-headers vulkan-loader vulkan-volk"
19 19
20EXTRA_OECMAKE = "\ 20EXTRA_OECMAKE = "\
21 -DBUILD_TESTS=OFF \ 21 -DBUILD_TESTS=OFF \
@@ -29,4 +29,9 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
29PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr" 29PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
30PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" 30PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
31 31
32# These recipes need to be updated in lockstep with each other:
33# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools
34# vulkan-validation-layers, vulkan-utility-libraries.
35# The tags versions should always be sdk-x.y.z, as this is what
36# upstream considers a release.
32UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 37UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.280.0.bb b/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.280.0.bb
new file mode 100644
index 0000000000..3ab31af96a
--- /dev/null
+++ b/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.280.0.bb
@@ -0,0 +1,33 @@
1SUMMARY = "Vulkan Utility Libraries"
2DESCRIPTION = "Common libraries created to share code across various \
3Vulkan repositories, solving long standing issues for Vulkan SDK \
4developers and users."
5HOMEPAGE = "https://www.khronos.org/vulkan/"
6BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Utility-Libraries"
7SECTION = "libs"
8
9LICENSE = "Apache-2.0"
10LIC_FILES_CHKSUM = "file://LICENSE.md;md5=4ca2d6799091aaa98a8520f1b793939b"
11
12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Utility-Libraries.git;branch=main;protocol=https"
13SRCREV = "a4140c5fd47dcf3a030726a60b293db61cfb54a3"
14
15S = "${WORKDIR}/git"
16
17REQUIRED_DISTRO_FEATURES = "vulkan"
18
19DEPENDS = "vulkan-headers"
20
21EXTRA_OECMAKE = "\
22 -DBUILD_TESTS=OFF \
23 "
24
25inherit cmake features_check pkgconfig
26
27# These recipes need to be updated in lockstep with each other:
28# glslang, vulkan-headers, vulkan-loader, vulkan-tools,
29# vulkan-validation-layers, spirv-headers, spirv-tools,
30# vulkan-utility-libraries.
31# The tags versions should always be sdk-x.y.z, as this is what
32# upstream considers a release.
33UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.280.0.bb b/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.280.0.bb
new file mode 100644
index 0000000000..c488309c91
--- /dev/null
+++ b/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.280.0.bb
@@ -0,0 +1,49 @@
1SUMMARY = "Vulkan Validation layers"
2DESCRIPTION = "Khronos official Vulkan validation layers to assist developers \
3in verifying that their applications correctly use the Vulkan API"
4HOMEPAGE = "https://www.khronos.org/vulkan/"
5BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-ValidationLayers"
6SECTION = "libs"
7
8LICENSE = "Apache-2.0 & MIT"
9LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd3c0bc366cd9b6a906e22f0bcb5910f"
10
11SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=vulkan-sdk-1.3.280;protocol=https"
12SRCREV = "8506077b9a25a00684e8be24b779733ae1405a54"
13
14S = "${WORKDIR}/git"
15
16REQUIRED_DISTRO_FEATURES = "vulkan"
17
18DEPENDS = "vulkan-headers vulkan-loader spirv-headers spirv-tools glslang vulkan-utility-libraries"
19
20# BUILD_TESTS - Not required for OE builds
21# USE_ROBIN_HOOD_HASHING - Provides substantial performance improvements on all platforms.
22# Yocto project doesn't contain a recipe for package so disabled it.
23EXTRA_OECMAKE = "\
24 -DBUILD_TESTS=OFF \
25 -DUSE_ROBIN_HOOD_HASHING=OFF \
26 -DGLSLANG_INSTALL_DIR=${STAGING_LIBDIR} \
27 -DVULKAN_HEADERS_INSTALL_DIR=${STAGING_EXECPREFIXDIR} \
28 -DSPIRV_HEADERS_INSTALL_DIR=${STAGING_EXECPREFIXDIR} \
29 "
30
31PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
32PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
33
34PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}"
35
36inherit cmake features_check pkgconfig
37
38FILES:${PN} += "${datadir}/vulkan"
39
40SOLIBS = ".so"
41FILES_SOLIBSDEV = ""
42
43# These recipes need to be updated in lockstep with each other:
44# glslang, vulkan-headers, vulkan-loader, vulkan-tools,
45# vulkan-validation-layers, spirv-headers, spirv-tools,
46# vulkan-utility-libraries.
47# The tags versions should always be sdk-x.y.z, as this is what
48# upstream considers a release.
49UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/meta/recipes-graphics/vulkan/vulkan-volk_1.3.280.0.bb b/meta/recipes-graphics/vulkan/vulkan-volk_1.3.280.0.bb
new file mode 100644
index 0000000000..2ef12fedf8
--- /dev/null
+++ b/meta/recipes-graphics/vulkan/vulkan-volk_1.3.280.0.bb
@@ -0,0 +1,37 @@
1SUMMARY = "A meta-loader for Vulkan"
2DESCRIPTION = "Volk allows one to dynamically load entrypoints required \
3to use Vulkan without linking to vulkan-1.dll or statically linking Vulkan loader. \
4"
5HOMEPAGE = "https://www.khronos.org/vulkan/"
6BUGTRACKER = "https://github.com/zeux/volk"
7SECTION = "libs"
8
9LICENSE = "MIT"
10LIC_FILES_CHKSUM = "file://LICENSE.md;md5=12e6af3a0e2a5e5dbf7796aa82b64626"
11
12SRC_URI = "git://github.com/zeux/volk.git;branch=master;protocol=https"
13SRCREV = "01986ac85fa2e5c70df09aeae9c907e27c5d50b2"
14
15S = "${WORKDIR}/git"
16
17REQUIRED_DISTRO_FEATURES = "vulkan"
18
19DEPENDS = "vulkan-headers"
20
21EXTRA_OECMAKE = "\
22 -DVOLK_INSTALL=ON \
23 "
24
25inherit cmake features_check pkgconfig
26
27# These recipes need to be updated in lockstep with each other:
28# glslang, vulkan-headers, vulkan-loader, vulkan-tools,
29# vulkan-validation-layers, spirv-headers, spirv-tools,
30# vulkan-utility-libraries.
31# The tags versions should always be sdk-x.y.z, as this is what
32# upstream considers a release.
33UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
34
35do_install:append() {
36 sed -i -e 's,${STAGING_DIR_TARGET},,g' ${D}${libdir}/cmake/volk/volkTargets.cmake
37}
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..31ac3e0dd1
--- /dev/null
+++ b/meta/recipes-graphics/waffle/waffle/0001-waffle-do-not-make-core-protocol-into-the-library.patch
@@ -0,0 +1,40 @@
1From 79b9e4338f803d79449e53a40b1ecc0a5a5889e4 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Tue, 26 Oct 2021 08:52:17 +0200
4Subject: [PATCH] waffle: do not make core protocol into the library
5
6None of the consumers (which is just piglit) use it, and
7this avoids host contamination from pkg-config suggesting
8wayland.xml from the host.
9
10Upstream-Status: Inappropriate [oe-core specific]
11Signed-off-by: Alexander Kanavin <alex@linutronix.de>
12---
13 src/waffle/meson.build | 7 -------
14 1 file changed, 7 deletions(-)
15
16diff --git a/src/waffle/meson.build b/src/waffle/meson.build
17index 1cc99f6..022745a 100644
18--- a/src/waffle/meson.build
19+++ b/src/waffle/meson.build
20@@ -89,12 +89,6 @@ if build_surfaceless
21 endif
22
23 if build_wayland
24- wl_core_proto_c = custom_target(
25- 'wl-core-proto.c',
26- input: wayland_core_xml,
27- output: 'wl-core-proto.c',
28- command: [prog_wayland_scanner, 'private-code', '@INPUT@', '@OUTPUT@'],
29- )
30 wl_xdg_shell_proto_c = custom_target(
31 'wl-xdg-shell-proto.c',
32 input: wayland_xdg_shell_xml,
33@@ -115,7 +109,6 @@ if build_wayland
34 'wayland/wayland_wrapper.c',
35 )
36 files_libwaffle += [
37- wl_core_proto_c,
38 wl_xdg_shell_proto_c,
39 wl_xdg_shell_proto_h,
40 ]
diff --git a/meta/recipes-graphics/waffle/waffle_1.6.1.bb b/meta/recipes-graphics/waffle/waffle_1.8.0.bb
index 07d7279c2b..ad8649b40e 100644
--- a/meta/recipes-graphics/waffle/waffle_1.6.1.bb
+++ b/meta/recipes-graphics/waffle/waffle_1.8.0.bb
@@ -3,27 +3,28 @@ DESCRIPTION = "A cross-platform C library that allows one to defer selection \
3of an OpenGL API and window system until runtime. For example, on Linux, Waffle \ 3of an OpenGL API and window system until runtime. For example, on Linux, Waffle \
4enables an application to select X11/EGL with an OpenGL 3.3 core profile, \ 4enables an application to select X11/EGL with an OpenGL 3.3 core profile, \
5Wayland with OpenGL ES2, and other window system / API combinations." 5Wayland with OpenGL ES2, and other window system / API combinations."
6HOMEPAGE = "http://www.waffle-gl.org/" 6HOMEPAGE = "https://gitlab.freedesktop.org/mesa/waffle"
7BUGTRACKER = "https://gitlab.freedesktop.org/mesa/waffle" 7BUGTRACKER = "https://gitlab.freedesktop.org/mesa/waffle"
8LICENSE = "BSD-2-Clause" 8LICENSE = "BSD-2-Clause"
9LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \ 9LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \
10 file://include/waffle/waffle.h;endline=24;md5=61dbf8697f61c78645e75a93c585b1bf" 10 file://include/waffle-1/waffle.h;endline=24;md5=61dbf8697f61c78645e75a93c585b1bf"
11 11
12SRC_URI = "http://waffle-gl.org/files/release/${BPN}-${PV}/${BPN}-${PV}.tar.xz" 12SRC_URI = "git://gitlab.freedesktop.org/mesa/waffle.git;protocol=https;branch=master \
13SRC_URI[md5sum] = "c91529e579483f44fb330052872b9c73" 13 file://0001-waffle-do-not-make-core-protocol-into-the-library.patch \
14SRC_URI[sha256sum] = "31565649ff0e2d8dff1b8f7f2264ab7a78452063c7e04adfc4ce03e64b655080" 14 "
15SRCREV = "580b912a30085528886603942c100c7b309b3bdb"
16S = "${WORKDIR}/git"
15 17
16UPSTREAM_CHECK_URI = "http://www.waffle-gl.org/releases.html" 18inherit meson features_check lib_package bash-completion pkgconfig
17 19
18inherit meson features_check lib_package bash-completion 20DEPENDS:append = " python3"
19
20DEPENDS_append = " python3"
21 21
22# This should be overridden per-machine to reflect the capabilities of the GL 22# This should be overridden per-machine to reflect the capabilities of the GL
23# stack. 23# stack.
24PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11-egl', '', d)} \ 24PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11-egl', '', d)} \
25 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ 25 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
26 surfaceless-egl gbm" 26 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gbm surfaceless-egl', '', d)} \
27"
27 28
28# virtual/libgl requires opengl in DISTRO_FEATURES. 29# virtual/libgl requires opengl in DISTRO_FEATURES.
29REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/${MLPREFIX}libgl', 'opengl', '', d)}" 30REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/${MLPREFIX}libgl', 'opengl', '', d)}"
@@ -31,15 +32,19 @@ REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/${MLPREFIX
31# I say virtual/libgl, actually wants gl.pc 32# I say virtual/libgl, actually wants gl.pc
32PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/${MLPREFIX}libgl libx11" 33PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/${MLPREFIX}libgl libx11"
33 34
34# I say virtual/libgl, actually wants wayland-egl.pc, egl.pc, and the wayland 35# wants wayland-egl.pc, egl.pc, and the wayland
35# DISTRO_FEATURE. 36# DISTRO_FEATURE.
36PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/${MLPREFIX}libgl wayland" 37PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/${MLPREFIX}egl wayland wayland-native wayland-protocols"
37 38
38# I say virtual/libgl, actually wants gbm.pc egl.pc 39# wants gbm.pc egl.pc
39PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled,virtual/${MLPREFIX}libgl udev" 40PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled,virtual/${MLPREFIX}egl virtual/${MLPREFIX}libgbm libdrm"
40 41
41# I say virtual/libgl, actually wants egl.pc 42# wants egl.pc
42PACKAGECONFIG[x11-egl] = "-Dx11_egl=enabled,-Dx11_egl=disabled,virtual/${MLPREFIX}libgl libxcb" 43PACKAGECONFIG[x11-egl] = "-Dx11_egl=enabled,-Dx11_egl=disabled,virtual/${MLPREFIX}egl libxcb"
43PACKAGECONFIG[surfaceless-egl] = "-Dsurfaceless_egl=enabled,-Dsurfaceless_egl=disabled,virtual/${MLPREFIX}libgl" 44PACKAGECONFIG[surfaceless-egl] = "-Dsurfaceless_egl=enabled,-Dsurfaceless_egl=disabled,virtual/${MLPREFIX}egl"
44 45
45# TODO: optionally build manpages and examples 46# TODO: optionally build manpages and examples
47
48do_install:append() {
49 rm -rf ${D}${datadir}/zsh
50}
diff --git a/meta/recipes-graphics/wayland/libinput/determinism.patch b/meta/recipes-graphics/wayland/libinput/determinism.patch
deleted file mode 100644
index cb554030cf..0000000000
--- a/meta/recipes-graphics/wayland/libinput/determinism.patch
+++ /dev/null
@@ -1,21 +0,0 @@
1This finds our outer git tree and that version information breaks
2determinism of this recipe. Disable it.
3
4RP 2020/2/6
5
6Upstream-Status: Pending
7Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8
9Index: libinput-1.14.3/meson.build
10===================================================================
11--- libinput-1.14.3.orig/meson.build
12+++ libinput-1.14.3/meson.build
13@@ -387,7 +387,7 @@ pkgconfig.generate(
14 libraries : lib_libinput
15 )
16
17-git_version_h = vcs_tag(command : ['git', 'describe'],
18+git_version_h = vcs_tag(command : ['false'],
19 fallback : 'unknown',
20 input : 'src/libinput-git-version.h.in',
21 output :'libinput-git-version.h')
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 @@
1#!/bin/sh 1#!/bin/sh
2 2
3/usr/libexec/libinput/libinput-test-suite 3/usr/libexec/libinput/libinput-test-suite -j1
4if [ $? -eq 0 ]; then 4if [ $? -eq 0 ]; then
5 echo 'PASS: libinput-test-suite' 5 echo 'PASS: libinput-test-suite'
6else 6else
diff --git a/meta/recipes-graphics/wayland/libinput_1.16.4.bb b/meta/recipes-graphics/wayland/libinput_1.25.0.bb
index 17b73e3827..517b247fed 100644
--- a/meta/recipes-graphics/wayland/libinput_1.16.4.bb
+++ b/meta/recipes-graphics/wayland/libinput_1.25.0.bb
@@ -8,42 +8,42 @@ HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/"
8SECTION = "libs" 8SECTION = "libs"
9 9
10LICENSE = "MIT" 10LICENSE = "MIT"
11LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63" 11LIC_FILES_CHKSUM = "file://COPYING;md5=bab4ac7dc1c10bc0fb037dc76c46ef8a"
12 12
13DEPENDS = "libevdev udev mtdev libcheck" 13DEPENDS = "libevdev udev mtdev"
14 14
15SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \ 15SRC_URI = "git://gitlab.freedesktop.org/libinput/libinput.git;protocol=https;branch=main \
16 file://run-ptest \ 16 file://run-ptest \
17 file://determinism.patch \
18 " 17 "
19SRC_URI[sha256sum] = "65923a06d5a8970e4a999c4668797b9b689614b62b1d44432ab1c87b65e39e29" 18SRCREV = "3fd38d89276b679ac3565efd7c2150fd047902cb"
19S = "${WORKDIR}/git"
20 20
21UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" 21UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
22 22
23inherit meson pkgconfig lib_package ptest 23inherit meson pkgconfig lib_package ptest
24 24
25# Patch out build directory, otherwise it leaks into ptest binary 25# Patch out build directory, otherwise it leaks into ptest binary
26do_configure_append() { 26do_configure:append() {
27 sed -i -e "s,${WORKDIR},,g" config.h 27 sed -i -e "s,${WORKDIR},,g" config.h
28 if [ -e "litest-config.h" ]; then 28 if [ -e "litest-config.h" ]; then
29 sed -i -e "s,${WORKDIR},,g" litest-config.h 29 sed -i -e "s,${WORKDIR},,g" litest-config.h
30 fi 30 fi
31} 31}
32 32
33PACKAGECONFIG ??= "" 33PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
34PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom" 34PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom"
35PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3" 35PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3"
36PACKAGECONFIG[tests] = "-Dtests=true -Dinstall-tests=true,-Dtests=false -Dinstall-tests=false,libcheck"
36 37
37UDEVDIR = "`pkg-config --variable=udevdir udev`" 38UDEVDIR = "`pkg-config --variable=udevdir udev`"
38 39
39EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \ 40EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \
40 -Ddocumentation=false \ 41 -Ddocumentation=false \
41 ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dtests=true -Dinstall-tests=true', '-Dtests=false -Dinstall-tests=false', d)} \
42 -Dzshcompletiondir=no" 42 -Dzshcompletiondir=no"
43 43
44# package name changed in 1.8.1 upgrade: make sure package upgrades work 44# package name changed in 1.8.1 upgrade: make sure package upgrades work
45RPROVIDES_${PN} = "libinput" 45RPROVIDES:${PN} = "libinput"
46RREPLACES_${PN} = "libinput" 46RREPLACES:${PN} = "libinput"
47RCONFLICTS_${PN} = "libinput" 47RCONFLICTS:${PN} = "libinput"
48 48
49FILES_${PN}-ptest += "${libexecdir}/libinput/libinput-test-suite" 49FILES:${PN}-ptest += "${libexecdir}/libinput/libinput-test-suite"
diff --git a/meta/recipes-graphics/wayland/mtdev_1.1.6.bb b/meta/recipes-graphics/wayland/mtdev_1.1.7.bb
index 7c1cb5e4ec..24803c4238 100644
--- a/meta/recipes-graphics/wayland/mtdev_1.1.6.bb
+++ b/meta/recipes-graphics/wayland/mtdev_1.1.7.bb
@@ -12,7 +12,6 @@ LICENSE = "MIT"
12LIC_FILES_CHKSUM = "file://COPYING;md5=ea6bd0268bb0fcd6b27698616ceee5d6" 12LIC_FILES_CHKSUM = "file://COPYING;md5=ea6bd0268bb0fcd6b27698616ceee5d6"
13 13
14SRC_URI = "http://bitmath.org/code/${BPN}/${BP}.tar.bz2" 14SRC_URI = "http://bitmath.org/code/${BPN}/${BP}.tar.bz2"
15SRC_URI[md5sum] = "bf8ef2482e84a00b5db8fbd3ce00e249" 15SRC_URI[sha256sum] = "a107adad2101fecac54ac7f9f0e0a0dd155d954193da55c2340c97f2ff1d814e"
16SRC_URI[sha256sum] = "15d7b28da8ac71d8bc8c9287c2045fd174267bc740bec10cfda332dc1204e0e0"
17 16
18inherit autotools pkgconfig 17inherit autotools pkgconfig
diff --git a/meta/recipes-graphics/wayland/required-distro-features.inc b/meta/recipes-graphics/wayland/required-distro-features.inc
new file mode 100644
index 0000000000..bb4a0e8ebd
--- /dev/null
+++ b/meta/recipes-graphics/wayland/required-distro-features.inc
@@ -0,0 +1,8 @@
1# distro features required by weston recipes
2
3inherit features_check
4
5# requires pam enabled if started via systemd
6#
7REQUIRED_DISTRO_FEATURES = "wayland opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
8
diff --git a/meta/recipes-graphics/wayland/wayland-protocols_1.20.bb b/meta/recipes-graphics/wayland/wayland-protocols_1.35.bb
index 3fb78f658c..7e70de346c 100644
--- a/meta/recipes-graphics/wayland/wayland-protocols_1.20.bb
+++ b/meta/recipes-graphics/wayland/wayland-protocols_1.35.bb
@@ -9,14 +9,17 @@ LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ 9LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
10 file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53" 10 file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
11 11
12SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ 12SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${PV}/downloads/wayland-protocols-${PV}.tar.xz"
13 " 13SRC_URI[sha256sum] = "37a2716a28133dc819341c568a29d21e8cb72130e5c126a1fcfc9f42c23d95ab"
14SRC_URI[md5sum] = "b0836533a3f2dc6585b1dae00341157f"
15SRC_URI[sha256sum] = "9782b7a1a863d82d7c92478497d13c758f52e7da4f197aa16443f73de77e4de7"
16 14
17UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" 15UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tags"
18 16
19inherit allarch autotools pkgconfig 17inherit meson pkgconfig allarch
18
19EXTRA_OEMESON += "-Dtests=false"
20 20
21PACKAGES = "${PN}" 21PACKAGES = "${PN}"
22FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc" 22FILES:${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
23
24BBCLASSEXTEND = "native nativesdk"
25
diff --git a/meta/recipes-graphics/wayland/wayland-utils_1.0.0.bb b/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb
index 4c51f7e8c5..878c7a267e 100644
--- a/meta/recipes-graphics/wayland/wayland-utils_1.0.0.bb
+++ b/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb
@@ -9,12 +9,14 @@ LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://COPYING;md5=548a66038a77415e1df51118625e832f \ 9LIC_FILES_CHKSUM = "file://COPYING;md5=548a66038a77415e1df51118625e832f \
10 " 10 "
11 11
12SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ 12SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz"
13 " 13SRC_URI[sha256sum] = "d9278c22554586881802540751bcc42569262bf80cd9ac9b0fd12ff4bd09a9e4"
14SRC_URI[sha256sum] = "64fecc4c58e87ae9b302901abe10c2e8af69c7503c221a96ecd0700e0aa268c0"
15 14
16UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" 15UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/tags"
17 16
18inherit meson pkgconfig 17inherit meson pkgconfig
19 18
20DEPENDS += "wayland wayland-native wayland-protocols" 19DEPENDS += "wayland wayland-native wayland-protocols"
20
21PACKAGECONFIG ??= "drm"
22PACKAGECONFIG[drm] = "-Ddrm=enabled,-Ddrm=disabled,libdrm"
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 ad1063b2c3..bc753de113 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 @@
1From 6a6223a8e217664a348835e92d5a602f50e18b2c Mon Sep 17 00:00:00 2001 1From b4c64b6f07743e3fb63ce52359bc664ab7d60df0 Mon Sep 17 00:00:00 2001
2From: Joshua Watt <JPEWhacker@gmail.com> 2From: Joshua Watt <JPEWhacker@gmail.com>
3Date: Thu, 20 Feb 2020 15:20:45 -0600 3Date: Thu, 20 Feb 2020 15:20:45 -0600
4Subject: [PATCH] build: Fix strndup detection on MinGW 4Subject: [PATCH] build: Fix strndup detection on MinGW
@@ -11,27 +11,31 @@ for strndup().
11 11
12See: https://github.com/mesonbuild/meson/issues/3672 12See: https://github.com/mesonbuild/meson/issues/3672
13 13
14Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
15Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/wayland/merge_requests/63] 14Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/wayland/merge_requests/63]
16 15
16Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
17Signed-off-by: Denys Dmytriyenko <denis@denix.org>
17--- 18---
18 meson.build | 2 +- 19 meson.build | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-) 20 1 file changed, 1 insertion(+), 1 deletion(-)
20 21
21diff --git a/meson.build b/meson.build 22diff --git a/meson.build b/meson.build
22index 11c35fa..80729d0 100644 23index 3bc25c9..adde7b9 100644
23--- a/meson.build 24--- a/meson.build
24+++ b/meson.build 25+++ b/meson.build
25@@ -36,11 +36,11 @@ have_funcs = [ 26@@ -38,11 +38,11 @@ have_funcs = [
26 'posix_fallocate',
27 'prctl', 27 'prctl',
28 'memfd_create', 28 'memfd_create',
29 'mremap',
29- 'strndup', 30- 'strndup',
30 ] 31 ]
31 foreach f: have_funcs 32 foreach f: have_funcs
32 config_h.set('HAVE_' + f.underscorify().to_upper(), cc.has_function(f)) 33 config_h.set('HAVE_' + f.underscorify().to_upper(), cc.has_function(f))
33 endforeach 34 endforeach
34+config_h.set('HAVE_STRNDUP', cc.has_function('strndup') and cc.has_header_symbol('string.h', 'strndup')) 35+config_h.set('HAVE_STRNDUP', cc.has_function('strndup') and cc.has_header_symbol('string.h', 'strndup'))
35 36 config_h.set10('HAVE_XUCRED_CR_PID', cc.has_member('struct xucred', 'cr_pid', prefix : '#include <sys/ucred.h>'))
36 if get_option('libraries') 37 have_broken_msg_cmsg_cloexec = false
37 ffi_dep = dependency('libffi') 38 if host_machine.system() == 'freebsd'
39--
402.7.4
41
diff --git a/meta/recipes-graphics/wayland/wayland/0002-Consider-pkgconfig-sysroot-for-pkgdatadir.patch b/meta/recipes-graphics/wayland/wayland/0002-Consider-pkgconfig-sysroot-for-pkgdatadir.patch
new file mode 100644
index 0000000000..4573bb635a
--- /dev/null
+++ b/meta/recipes-graphics/wayland/wayland/0002-Consider-pkgconfig-sysroot-for-pkgdatadir.patch
@@ -0,0 +1,46 @@
1From ff8ecbe8891d592e645927659318720f9e190054 Mon Sep 17 00:00:00 2001
2From: Andreas Cord-Landwehr <cordlandwehr@kde.org>
3Date: Sun, 6 Feb 2022 17:23:46 +0100
4Subject: [PATCH] Consider pkgconfig sysroot for pkgdatadir
5
6For libs/cflags this is done automatically, but not for manually accessed
7variables. This matches what wayland-protocols does.
8
9Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/272]
10---
11 src/meson.build | 6 +++---
12 1 file changed, 3 insertions(+), 3 deletions(-)
13
14diff --git a/src/meson.build b/src/meson.build
15index a8a1d2b..721e151 100644
16--- a/src/meson.build
17+++ b/src/meson.build
18@@ -65,7 +65,7 @@ if get_option('scanner')
19 version: meson.project_version(),
20 variables: [
21 'datarootdir=' + join_paths('${prefix}', get_option('datadir')),
22- 'pkgdatadir=' + join_paths('${datarootdir}', meson.project_name()),
23+ 'pkgdatadir=' + join_paths('${pc_sysrootdir}${datarootdir}', meson.project_name()),
24 'bindir=' + join_paths('${prefix}', get_option('bindir')),
25 'wayland_scanner=${bindir}/wayland-scanner'
26 ],
27@@ -211,7 +211,7 @@ if get_option('libraries')
28 filebase: 'wayland-server',
29 variables: [
30 'datarootdir=' + join_paths('${prefix}', get_option('datadir')),
31- 'pkgdatadir=' + join_paths('${datarootdir}', meson.project_name())
32+ 'pkgdatadir=' + join_paths('${pc_sysrootdir}${datarootdir}', meson.project_name())
33 ]
34 )
35
36@@ -250,7 +250,7 @@ if get_option('libraries')
37 filebase: 'wayland-client',
38 variables: [
39 'datarootdir=' + join_paths('${prefix}', get_option('datadir')),
40- 'pkgdatadir=' + join_paths('${datarootdir}', meson.project_name())
41+ 'pkgdatadir=' + join_paths('${pc_sysrootdir}${datarootdir}', meson.project_name())
42 ]
43 )
44
45--
462.37.2
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
deleted file mode 100644
index e3e71925b8..0000000000
--- a/meta/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From 3e7cd56611aeec274e48a4816bc7c21f74f15be0 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Mon, 17 Feb 2020 21:46:18 +0100
4Subject: [PATCH] Do not hardcode the path to wayland-scanner
5
6This results in host contamination during builds.
7
8Upstream-Status: Inappropriate [oe-core specific]
9Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
10
11---
12 src/meson.build | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/src/meson.build b/src/meson.build
16index 15730a3..61edbc8 100644
17--- a/src/meson.build
18+++ b/src/meson.build
19@@ -52,7 +52,7 @@ if get_option('scanner')
20 'datarootdir=' + join_paths('${prefix}', get_option('datadir')),
21 'pkgdatadir=' + join_paths('${datarootdir}', meson.project_name()),
22 'bindir=' + join_paths('${prefix}', get_option('bindir')),
23- 'wayland_scanner=${bindir}/wayland-scanner'
24+ 'wayland_scanner=wayland-scanner'
25 ],
26 filebase: 'wayland-scanner'
27 )
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 11dc069147..0000000000
--- a/meta/recipes-graphics/wayland/wayland/0002-meson.build-find-the-native-wayland-scanner-directly.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From 98e7902a4ddcd80b61cce6f35f97907e841a5eda Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Sun, 16 Feb 2020 16:29:53 +0100
4Subject: [PATCH] meson.build: find the native wayland-scanner directly in PATH
5
6Otherwise, meson attempts to use the target pkg-config and fails.
7
8Upstream-Status: Pending
9Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
10
11---
12 src/meson.build | 3 +--
13 1 file changed, 1 insertion(+), 2 deletions(-)
14
15diff --git a/src/meson.build b/src/meson.build
16index d91c503..15730a3 100644
17--- a/src/meson.build
18+++ b/src/meson.build
19@@ -59,8 +59,7 @@ if get_option('scanner')
20 endif
21
22 if meson.is_cross_build() or not get_option('scanner')
23- scanner_dep = dependency('wayland-scanner', native: true, version: meson.project_version())
24- wayland_scanner_for_build = find_program(scanner_dep.get_pkgconfig_variable('wayland_scanner'))
25+ wayland_scanner_for_build = find_program('wayland-scanner')
26 else
27 wayland_scanner_for_build = wayland_scanner
28 endif
diff --git a/meta/recipes-graphics/wayland/wayland_1.19.0.bb b/meta/recipes-graphics/wayland/wayland_1.22.0.bb
index 8f121601c4..6aa76063ea 100644
--- a/meta/recipes-graphics/wayland/wayland_1.19.0.bb
+++ b/meta/recipes-graphics/wayland/wayland_1.22.0.bb
@@ -12,15 +12,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b31d8f53b6aaf2b4985d7dd7810a70d1 \
12 12
13DEPENDS = "expat libffi wayland-native" 13DEPENDS = "expat libffi wayland-native"
14 14
15SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ 15SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
16 file://run-ptest \ 16 file://run-ptest \
17 file://0002-meson.build-find-the-native-wayland-scanner-directly.patch \
18 file://0002-Do-not-hardcode-the-path-to-wayland-scanner.patch \
19 file://0001-build-Fix-strndup-detection-on-MinGW.patch \ 17 file://0001-build-Fix-strndup-detection-on-MinGW.patch \
18 file://0002-Consider-pkgconfig-sysroot-for-pkgdatadir.patch \
20 " 19 "
21SRC_URI[sha256sum] = "baccd902300d354581cd5ad3cc49daa4921d55fb416a5883e218750fef166d15" 20SRC_URI[sha256sum] = "1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842"
22 21
23UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" 22UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/tags"
23UPSTREAM_CHECK_REGEX = "wayland-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
24 24
25inherit meson pkgconfig ptest 25inherit meson pkgconfig ptest
26 26
@@ -28,11 +28,11 @@ PACKAGECONFIG ??= "dtd-validation"
28PACKAGECONFIG[dtd-validation] = "-Ddtd_validation=true,-Ddtd_validation=false,libxml2,," 28PACKAGECONFIG[dtd-validation] = "-Ddtd_validation=true,-Ddtd_validation=false,libxml2,,"
29 29
30EXTRA_OEMESON = "-Ddocumentation=false" 30EXTRA_OEMESON = "-Ddocumentation=false"
31EXTRA_OEMESON_class-native = "-Ddocumentation=false -Dlibraries=false" 31EXTRA_OEMESON:class-native = "-Ddocumentation=false"
32 32
33# Wayland installs a M4 macro for other projects to use, which uses the target 33# Wayland installs a M4 macro for other projects to use, which uses the target
34# pkg-config to find files. Replace pkg-config with pkg-config-native. 34# pkg-config to find files. Replace pkg-config with pkg-config-native.
35do_install_append_class-native() { 35do_install:append:class-native() {
36 sed -e 's,PKG_CHECK_MODULES(.*),,g' \ 36 sed -e 's,PKG_CHECK_MODULES(.*),,g' \
37 -e 's,$PKG_CONFIG,pkg-config-native,g' \ 37 -e 's,$PKG_CONFIG,pkg-config-native,g' \
38 -i ${D}/${datadir}/aclocal/wayland-scanner.m4 38 -i ${D}/${datadir}/aclocal/wayland-scanner.m4
@@ -47,14 +47,16 @@ do_install_ptest() {
47 cp -rf ${S}/egl/wayland-egl-symbols-check ${D}${PTEST_PATH}/tests/ 47 cp -rf ${S}/egl/wayland-egl-symbols-check ${D}${PTEST_PATH}/tests/
48} 48}
49 49
50sysroot_stage_all_append_class-target () { 50sysroot_stage_all:append:class-target () {
51 rm ${SYSROOT_DESTDIR}/${datadir}/aclocal/wayland-scanner.m4 51 rm ${SYSROOT_DESTDIR}/${datadir}/aclocal/wayland-scanner.m4
52 cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/ 52 cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/
53} 53}
54 54
55FILES_${PN} = "${libdir}/*${SOLIBS}" 55PACKAGES =+ "${PN}-tools"
56FILES_${PN}-dev += "${bindir} ${datadir}/wayland" 56
57FILES:${PN}-tools = "${bindir}/wayland-scanner"
58FILES:${PN}-dev += "${datadir}/${BPN}/wayland-scanner.mk"
57 59
58BBCLASSEXTEND = "native nativesdk" 60BBCLASSEXTEND = "native nativesdk"
59 61
60RDEPENDS_${PN}-ptest += "binutils sed" 62RDEPENDS:${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..024e400665 100644
--- a/meta/recipes-graphics/wayland/weston-init.bb
+++ b/meta/recipes-graphics/wayland/weston-init.bb
@@ -9,73 +9,88 @@ SRC_URI = "file://init \
9 file://weston.ini \ 9 file://weston.ini \
10 file://weston.service \ 10 file://weston.service \
11 file://weston.socket \ 11 file://weston.socket \
12 file://weston-socket.sh \
12 file://weston-autologin \ 13 file://weston-autologin \
13 file://weston-start" 14 file://weston-start"
14 15
15S = "${WORKDIR}" 16S = "${WORKDIR}"
16 17
17PACKAGECONFIG ??= "" 18PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)}"
19PACKAGECONFIG:append:qemuriscv64 = " use-pixman"
20PACKAGECONFIG:append:qemuppc64 = " use-pixman"
18 21
22PACKAGECONFIG[xwayland] = ",,"
19PACKAGECONFIG[no-idle-timeout] = ",," 23PACKAGECONFIG[no-idle-timeout] = ",,"
24PACKAGECONFIG[use-pixman] = ",,"
20 25
21DEFAULTBACKEND ??= "" 26DEFAULTBACKEND ??= ""
22DEFAULTBACKEND_qemuall ?= "fbdev" 27DEFAULTBACKEND:qemuall ?= "drm"
23DEFAULTBACKEND_qemuarm64 = "drm"
24DEFAULTBACKEND_qemux86 = "drm"
25DEFAULTBACKEND_qemux86-64 = "drm"
26# gallium swrast was found to crash weston on startup in x32 qemu
27DEFAULTBACKEND_qemux86-64_x86-x32 = "fbdev"
28DEFAULTBACKEND_x86-x32 = "fbdev"
29 28
30do_install() { 29do_install() {
31 if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then 30 # Install weston-start script
31 if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then
32 install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start
33 sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start
34 sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start
32 install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston 35 install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
33 fi 36 sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}/${sysconfdir}/init.d/weston
37 fi
38
39 # Install Weston systemd service
40 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
41 install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service
42 install -D -p -m0644 ${WORKDIR}/weston.socket ${D}${systemd_system_unitdir}/weston.socket
43 install -D -p -m0644 ${WORKDIR}/weston-socket.sh ${D}${sysconfdir}/profile.d/weston-socket.sh
44 sed -i -e s:/etc:${sysconfdir}:g \
45 -e s:/usr/bin:${bindir}:g \
46 -e s:/var:${localstatedir}:g \
47 ${D}${systemd_system_unitdir}/weston.service
48 fi
49
50 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
51 install -D -p -m0644 ${WORKDIR}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin
52 fi
53
34 install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini 54 install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini
35 install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston 55 install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston
36 56
37 # Install Weston systemd service and accompanying udev rule 57 if [ -n "${DEFAULTBACKEND}" ]; then
38 install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service
39 install -D -p -m0644 ${WORKDIR}/weston.socket ${D}${systemd_system_unitdir}/weston.socket
40 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
41 install -D -p -m0644 ${WORKDIR}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin
42 fi
43 sed -i -e s:/etc:${sysconfdir}:g \
44 -e s:/usr/bin:${bindir}:g \
45 -e s:/var:${localstatedir}:g \
46 ${D}${systemd_unitdir}/system/weston.service
47 # Install weston-start script
48 install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start
49 sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start
50 sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start
51 if [ -n "${DEFAULTBACKEND}" ]; then
52 sed -i -e "/^\[core\]/a backend=${DEFAULTBACKEND}-backend.so" ${D}${sysconfdir}/xdg/weston/weston.ini 58 sed -i -e "/^\[core\]/a backend=${DEFAULTBACKEND}-backend.so" ${D}${sysconfdir}/xdg/weston/weston.ini
53 fi 59 fi
54 60
61 if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
62 sed -i -e "/^\[core\]/a xwayland=true" ${D}${sysconfdir}/xdg/weston/weston.ini
63 fi
64
55 if [ "${@bb.utils.contains('PACKAGECONFIG', 'no-idle-timeout', 'yes', 'no', d)}" = "yes" ]; then 65 if [ "${@bb.utils.contains('PACKAGECONFIG', 'no-idle-timeout', 'yes', 'no', d)}" = "yes" ]; then
56 sed -i -e "/^\[core\]/a idle-time=0" ${D}${sysconfdir}/xdg/weston/weston.ini 66 sed -i -e "/^\[core\]/a idle-time=0" ${D}${sysconfdir}/xdg/weston/weston.ini
57 fi 67 fi
58 68
69 if [ "${@bb.utils.contains('PACKAGECONFIG', 'use-pixman', 'yes', 'no', d)}" = "yes" ]; then
70 sed -i -e "/^\[core\]/a use-pixman=true" ${D}${sysconfdir}/xdg/weston/weston.ini
71 fi
72
59 install -dm 755 -o weston -g weston ${D}/home/weston 73 install -dm 755 -o weston -g weston ${D}/home/weston
60} 74}
61 75
62INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}" 76INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}"
63 77
64inherit update-rc.d features_check systemd useradd 78inherit update-rc.d systemd useradd
65 79
66USERADD_PACKAGES = "${PN}" 80USERADD_PACKAGES = "${PN}"
67 81
68# rdepends on weston which depends on virtual/egl 82# rdepends on weston which depends on virtual/egl
69# requires pam enabled if started via systemd 83#
70REQUIRED_DISTRO_FEATURES = "opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}" 84require ${THISDIR}/required-distro-features.inc
71 85
72RDEPENDS_${PN} = "weston kbd" 86RDEPENDS:${PN} = "weston kbd"
73 87
74INITSCRIPT_NAME = "weston" 88INITSCRIPT_NAME = "weston"
75INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." 89INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
76 90
77FILES_${PN} += "\ 91FILES:${PN} += "\
78 ${sysconfdir}/xdg/weston/weston.ini \ 92 ${sysconfdir}/xdg/weston/weston.ini \
93 ${sysconfdir}/profile.d/weston-socket.sh \
79 ${systemd_system_unitdir}/weston.service \ 94 ${systemd_system_unitdir}/weston.service \
80 ${systemd_system_unitdir}/weston.socket \ 95 ${systemd_system_unitdir}/weston.socket \
81 ${sysconfdir}/default/weston \ 96 ${sysconfdir}/default/weston \
@@ -83,9 +98,9 @@ FILES_${PN} += "\
83 /home/weston \ 98 /home/weston \
84 " 99 "
85 100
86CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston" 101CONFFILES:${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston"
87 102
88SYSTEMD_SERVICE_${PN} = "weston.service weston.socket" 103SYSTEMD_SERVICE:${PN} = "weston.service weston.socket"
89USERADD_PARAM_${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input weston" 104USERADD_PARAM:${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input,render,wayland weston"
90GROUPADD_PARAM_${PN} = "-r wayland" 105GROUPADD_PARAM:${PN} = "-r wayland; -r render"
91 106
diff --git a/meta/recipes-graphics/wayland/weston-init/init b/meta/recipes-graphics/wayland/weston-init/init
index d3e87c6cef..a5c54e001e 100644
--- a/meta/recipes-graphics/wayland/weston-init/init
+++ b/meta/recipes-graphics/wayland/weston-init/init
@@ -30,8 +30,9 @@ done
30case "$1" in 30case "$1" in
31 start) 31 start)
32 . /etc/profile 32 . /etc/profile
33 export HOME=ROOTHOME
33 34
34 weston-start -- $OPTARGS 35 WESTON_USER=weston weston-start $OPTARGS &
35 ;; 36 ;;
36 37
37 stop) 38 stop)
diff --git a/meta/recipes-graphics/wayland/weston-init/weston-socket.sh b/meta/recipes-graphics/wayland/weston-init/weston-socket.sh
new file mode 100755
index 0000000000..86389d63a3
--- /dev/null
+++ b/meta/recipes-graphics/wayland/weston-init/weston-socket.sh
@@ -0,0 +1,20 @@
1#!/bin/sh
2
3# set weston variables for use with global weston socket
4global_socket="/run/wayland-0"
5if [ -e "$global_socket" ]; then
6 weston_group=$(stat -c "%G" "$global_socket")
7 if [ "$(id -u)" = "0" ]; then
8 export WAYLAND_DISPLAY="$global_socket"
9 else
10 case "$(groups "$USER")" in
11 *"$weston_group"*)
12 export WAYLAND_DISPLAY="$global_socket"
13 ;;
14 *)
15 ;;
16 esac
17 fi
18 unset weston_group
19fi
20unset global_socket
diff --git a/meta/recipes-graphics/wayland/weston-init/weston-start b/meta/recipes-graphics/wayland/weston-init/weston-start
index 0b93dc964a..01670cd4f5 100755
--- a/meta/recipes-graphics/wayland/weston-init/weston-start
+++ b/meta/recipes-graphics/wayland/weston-init/weston-start
@@ -6,7 +6,7 @@ export PATH="/sbin:/usr/sbin:/bin:/usr/bin"
6 6
7usage() { 7usage() {
8 cat <<EOF 8 cat <<EOF
9 $0 [<openvt arguments>] [-- <weston options>] 9 $0 [<weston options>]
10EOF 10EOF
11} 11}
12 12
@@ -18,9 +18,12 @@ add_weston_argument() {
18 weston_args="$weston_args $1" 18 weston_args="$weston_args $1"
19} 19}
20 20
21# Add openvt extra argument 21## Add module to --modules argument
22add_openvt_argument() { 22add_weston_module() {
23 openvt_args="$openvt_args $1" 23 if [[ "x${weston_modules}" == "x" ]]; then
24 weston_modules="--modules "
25 fi;
26 weston_modules+="${1},"
24} 27}
25 28
26if [ -n "$WAYLAND_DISPLAY" ]; then 29if [ -n "$WAYLAND_DISPLAY" ]; then
@@ -29,33 +32,12 @@ if [ -n "$WAYLAND_DISPLAY" ]; then
29fi 32fi
30 33
31if [ -n "$WESTON_USER" ]; then 34if [ -n "$WESTON_USER" ]; then
32 if [ -z "$WESTON_TTY" ]; then
33 echo "ERROR: If you have WESTON_USER variable set, you also need WESTON_TTY."
34 exit 1
35 fi
36 if [ -z "$WESTON_GROUP" ]; then 35 if [ -z "$WESTON_GROUP" ]; then
37 # no explicit WESTON_GROUP given, therefore use WESTON_USER 36 # no explicit WESTON_GROUP given, therefore use WESTON_USER
38 export WESTON_GROUP="${WESTON_USER}" 37 export WESTON_GROUP="${WESTON_USER}"
39 fi 38 fi
40 weston_args_user="-u $WESTON_USER -t $WESTON_TTY"
41fi
42
43if [ -n "$DISPLAY" ]; then
44 launcher="weston"
45else
46 launcher="weston-launch $weston_args_user --"
47fi 39fi
48 40
49openvt_args="-s"
50while [ -n "$1" ]; do
51 if [ "$1" = "--" ]; then
52 shift
53 break
54 fi
55 openvt_args="$openvt_args $1"
56 shift
57done
58
59weston_args=$* 41weston_args=$*
60 42
61# Load and run modules 43# Load and run modules
@@ -68,6 +50,9 @@ if [ -d "$modules_dir" ]; then
68 50
69 # process module 51 # process module
70 . $m 52 . $m
53 if [[ x"{$weston_modules}" != "x" ]]; then
54 add_weston_argument "${weston_modules}"
55 fi;
71 done 56 done
72fi 57fi
73 58
@@ -83,4 +68,4 @@ if test -z "$XDG_RUNTIME_DIR"; then
83 fi 68 fi
84fi 69fi
85 70
86exec openvt $openvt_args -- $launcher $weston_args --log=@LOCALSTATEDIR@/log/weston.log 71su -c "XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` weston $weston_args --log=/tmp/weston.log" $WESTON_USER
diff --git a/meta/recipes-graphics/wayland/weston-init/weston.service b/meta/recipes-graphics/wayland/weston-init/weston.service
index e09625b31c..80745998ed 100644
--- a/meta/recipes-graphics/wayland/weston-init/weston.service
+++ b/meta/recipes-graphics/wayland/weston-init/weston.service
@@ -37,8 +37,8 @@ EnvironmentFile=/etc/default/weston
37ExecStart=/usr/bin/weston --modules=systemd-notify.so 37ExecStart=/usr/bin/weston --modules=systemd-notify.so
38 38
39# Optional watchdog setup 39# Optional watchdog setup
40TimeoutStartSec=60 40#TimeoutStartSec=60
41WatchdogSec=20 41#WatchdogSec=20
42 42
43# The user to run Weston as. 43# The user to run Weston as.
44User=weston 44User=weston
diff --git a/meta/recipes-graphics/wayland/weston/0001-libweston-tools-Include-libgen.h-for-basename-signat.patch b/meta/recipes-graphics/wayland/weston/0001-libweston-tools-Include-libgen.h-for-basename-signat.patch
new file mode 100644
index 0000000000..1d281fa832
--- /dev/null
+++ b/meta/recipes-graphics/wayland/weston/0001-libweston-tools-Include-libgen.h-for-basename-signat.patch
@@ -0,0 +1,48 @@
1From 2b53236ac637dfa7fb0f438f7391a73f6ef92a06 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 14 Dec 2023 09:13:54 -0800
4Subject: [PATCH] libweston,tools: Include libgen.h for basename signature
5
6Latest musl has removed the declaration from string.h [1] as it only
7implements POSIX version alone and string.h in glibc implements GNU
8version of basename. This now results in compile errors on musl.
9
10This might be a warning with older compilers but it is error with
11Clang-17+ as it treats -Wimplicit-function-declaration as error
12
13[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
14
15Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1420]
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 libweston/backend-drm/libbacklight.c | 1 +
19 tools/zunitc/src/zunitc_impl.c | 1 +
20 2 files changed, 2 insertions(+)
21
22diff --git a/libweston/backend-drm/libbacklight.c b/libweston/backend-drm/libbacklight.c
23index ca7f2d68..74690fa7 100644
24--- a/libweston/backend-drm/libbacklight.c
25+++ b/libweston/backend-drm/libbacklight.c
26@@ -41,6 +41,7 @@
27 #include <drm.h>
28 #include <fcntl.h>
29 #include <malloc.h>
30+#include <libgen.h>
31 #include <string.h>
32 #include <errno.h>
33
34diff --git a/tools/zunitc/src/zunitc_impl.c b/tools/zunitc/src/zunitc_impl.c
35index 18f03015..9b460fa0 100644
36--- a/tools/zunitc/src/zunitc_impl.c
37+++ b/tools/zunitc/src/zunitc_impl.c
38@@ -27,6 +27,7 @@
39
40 #include <errno.h>
41 #include <fcntl.h>
42+#include <libgen.h>
43 #include <stdarg.h>
44 #include <stdbool.h>
45 #include <stdio.h>
46--
472.43.0
48
diff --git a/meta/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch b/meta/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch
deleted file mode 100644
index 6fe86ff3f0..0000000000
--- a/meta/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1From 58760e09eed662a72da939ff4802d605489cff8e Mon Sep 17 00:00:00 2001
2From: Denys Dmytriyenko <denys@ti.com>
3Date: Tue, 8 Sep 2020 19:37:42 -0400
4Subject: [PATCH] tests: include fcntl.h for open(), O_RDWR, O_CLOEXEC and
5 O_CREAT
6
7musl libc (unlike glibc) requires explicitly incuding fcntl.h to define open(),
8O_RDWR, O_CLOEXEC and O_CREAT. Otherwise the build fails with the errors:
9
10| ../weston-9.0.0/tests/weston-test-fixture-compositor.c: In function 'wait_for_lock':
11| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:7: warning: implicit declaration of function 'open'; did you mean 'popen'? [-Wimplicit-function-declaration]
12| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700);
13| | ^~~~
14| | popen
15| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:23: error: 'O_RDWR' undeclared (first use in this function)
16| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700);
17| | ^~~~~~
18| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:23: note: each undeclared identifier is reported only once for each function it appears in
19| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:32: error: 'O_CLOEXEC' undeclared (first use in this function)
20| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700);
21| | ^~~~~~~~~
22| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:44: error: 'O_CREAT' undeclared (first use in this function)
23| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700);
24| | ^~~~~~~
25
26Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/493/diffs?commit_id=b10c0e843dcb8148bbe869bb15261955b94ac98c]
27
28Signed-off-by: Denys Dmytriyenko <denys@ti.com>
29---
30 tests/weston-test-fixture-compositor.c | 1 +
31 1 file changed, 1 insertion(+)
32
33diff --git a/tests/weston-test-fixture-compositor.c b/tests/weston-test-fixture-compositor.c
34index 0c9855f..e0e32c9 100644
35--- a/tests/weston-test-fixture-compositor.c
36+++ b/tests/weston-test-fixture-compositor.c
37@@ -31,6 +31,7 @@
38 #include <unistd.h>
39 #include <sys/file.h>
40 #include <errno.h>
41+#include <fcntl.h>
42
43 #include "shared/helpers.h"
44 #include "weston-test-fixture-compositor.h"
45--
462.7.4
47
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
deleted file mode 100644
index 3279a728cc..0000000000
--- a/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
+++ /dev/null
@@ -1,199 +0,0 @@
1From a1548c742bf2dedbb47282d8a00407b60bbab669 Mon Sep 17 00:00:00 2001
2From: Tom Hochstein <tom.hochstein@nxp.com>
3Date: Wed, 22 Feb 2017 15:53:30 +0200
4Subject: [PATCH] weston-launch: Provide a default version that doesn't require
5
6 PAM
7
8weston-launch requires PAM for starting weston as a non-root user.
9
10Since starting weston as root is a valid use case by itself, if
11PAM is not available, provide a default version of weston-launch
12without non-root-user support.
13
14Upstream-Status: Pending
15
16Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
17Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
18Signed-off-by: Denys Dmytriyenko <denys@ti.com>
19Signed-off-by: Ming Liu <ming.liu@toradex.com>
20
21---
22 libweston/meson.build | 16 ++++++++++++----
23 libweston/weston-launch.c | 21 +++++++++++++++++++++
24 meson_options.txt | 7 +++++++
25 3 files changed, 40 insertions(+), 4 deletions(-)
26
27diff --git a/libweston/meson.build b/libweston/meson.build
28index 08d23ec..cb9fd3f 100644
29--- a/libweston/meson.build
30+++ b/libweston/meson.build
31@@ -216,16 +216,24 @@ dep_vertex_clipping = declare_dependency(
32 )
33
34 if get_option('weston-launch')
35- dep_pam = cc.find_library('pam')
36+ deps_weston_launch = [systemd_dep, dep_libdrm]
37
38- if not cc.has_function('pam_open_session', dependencies: dep_pam)
39- error('pam_open_session not found for weston-launch')
40+ if get_option('pam')
41+ dep_pam = cc.find_library('pam')
42+ if not cc.has_function('pam_open_session', dependencies: dep_pam)
43+ error('pam_open_session not found for weston-launch')
44+ endif
45+
46+ if dep_pam.found()
47+ deps_weston_launch += dep_pam
48+ config_h.set('HAVE_PAM', '1')
49+ endif
50 endif
51
52 executable(
53 'weston-launch',
54 'weston-launch.c',
55- dependencies: [dep_pam, systemd_dep, dep_libdrm],
56+ dependencies: deps_weston_launch,
57 include_directories: common_inc,
58 install: true
59 )
60diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
61index 521cb2c..2d42d33 100644
62--- a/libweston/weston-launch.c
63+++ b/libweston/weston-launch.c
64@@ -51,7 +51,9 @@
65
66 #include <pwd.h>
67 #include <grp.h>
68+#ifdef HAVE_PAM
69 #include <security/pam_appl.h>
70+#endif
71
72 #ifdef HAVE_SYSTEMD_LOGIN
73 #include <systemd/sd-login.h>
74@@ -100,8 +102,10 @@ drmSetMaster(int drm_fd)
75 #endif
76
77 struct weston_launch {
78+#ifdef HAVE_PAM
79 struct pam_conv pc;
80 pam_handle_t *ph;
81+#endif
82 int tty;
83 int ttynr;
84 int sock[2];
85@@ -192,6 +196,7 @@ weston_launch_allowed(struct weston_launch *wl)
86 return false;
87 }
88
89+#ifdef HAVE_PAM
90 static int
91 pam_conversation_fn(int msg_count,
92 const struct pam_message **messages,
93@@ -232,6 +237,7 @@ setup_pam(struct weston_launch *wl)
94
95 return 0;
96 }
97+#endif
98
99 static int
100 setup_launcher_socket(struct weston_launch *wl)
101@@ -466,6 +472,7 @@ quit(struct weston_launch *wl, int status)
102 close(wl->signalfd);
103 close(wl->sock[0]);
104
105+#ifdef HAVE_PAM
106 if (wl->new_user) {
107 err = pam_close_session(wl->ph, 0);
108 if (err)
109@@ -473,6 +480,7 @@ quit(struct weston_launch *wl, int status)
110 err, pam_strerror(wl->ph, err));
111 pam_end(wl->ph, err);
112 }
113+#endif
114
115 /*
116 * Get a fresh handle to the tty as the previous one is in
117@@ -710,6 +718,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
118 setenv("HOME", wl->pw->pw_dir, 1);
119 setenv("SHELL", wl->pw->pw_shell, 1);
120
121+#ifdef HAVE_PAM
122 env = pam_getenvlist(wl->ph);
123 if (env) {
124 for (i = 0; env[i]; ++i) {
125@@ -718,6 +727,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
126 }
127 free(env);
128 }
129+#endif
130
131 /*
132 * We open a new session, so it makes sense
133@@ -789,8 +799,10 @@ static void
134 help(const char *name)
135 {
136 fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name);
137+#ifdef HAVE_PAM
138 fprintf(stderr, " -u, --user Start session as specified username,\n"
139 " e.g. -u joe, requires root.\n");
140+#endif
141 fprintf(stderr, " -t, --tty Start session on alternative tty,\n"
142 " e.g. -t /dev/tty4, requires -u option.\n");
143 fprintf(stderr, " -v, --verbose Be verbose\n");
144@@ -804,7 +816,9 @@ main(int argc, char *argv[])
145 int i, c;
146 char *tty = NULL;
147 struct option opts[] = {
148+#ifdef HAVE_PAM
149 { "user", required_argument, NULL, 'u' },
150+#endif
151 { "tty", required_argument, NULL, 't' },
152 { "verbose", no_argument, NULL, 'v' },
153 { "help", no_argument, NULL, 'h' },
154@@ -816,11 +830,16 @@ main(int argc, char *argv[])
155 while ((c = getopt_long(argc, argv, "u:t:vh", opts, &i)) != -1) {
156 switch (c) {
157 case 'u':
158+#ifdef HAVE_PAM
159 wl.new_user = optarg;
160 if (getuid() != 0) {
161 fprintf(stderr, "weston: Permission denied. -u allowed for root only\n");
162 exit(EXIT_FAILURE);
163 }
164+#else
165+ fprintf(stderr, "weston: -u is unsupported in this weston-launch build\n");
166+ exit(EXIT_FAILURE);
167+#endif
168 break;
169 case 't':
170 tty = optarg;
171@@ -872,8 +891,10 @@ main(int argc, char *argv[])
172 if (setup_tty(&wl, tty) < 0)
173 exit(EXIT_FAILURE);
174
175+#ifdef HAVE_PAM
176 if (wl.new_user && setup_pam(&wl) < 0)
177 exit(EXIT_FAILURE);
178+#endif
179
180 if (setup_launcher_socket(&wl) < 0)
181 exit(EXIT_FAILURE);
182diff --git a/meson_options.txt b/meson_options.txt
183index 239bd2d..99e4ec3 100644
184--- a/meson_options.txt
185+++ b/meson_options.txt
186@@ -73,6 +73,13 @@ option(
187 )
188
189 option(
190+ 'pam',
191+ type: 'boolean',
192+ value: true,
193+ description: 'Define if PAM is available'
194+)
195+
196+option(
197 'xwayland',
198 type: 'boolean',
199 value: true,
diff --git a/meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch b/meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch
deleted file mode 100644
index a4444e5d18..0000000000
--- a/meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch
+++ /dev/null
@@ -1,23 +0,0 @@
1Fix atomic modesetting with musl
2
3atomic modesetting seems to fail with drm weston backend and this patch fixes
4it, below errors are seen before weston exits
5
6atomic: couldn't commit new state: Invalid argument
7
8Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/issues/158]
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10
11--- a/libweston/backend-drm/kms.c
12+++ b/libweston/backend-drm/kms.c
13@@ -1168,8 +1168,8 @@ drm_pending_state_apply_atomic(struct dr
14 wl_list_for_each(plane, &b->plane_list, link) {
15 drm_debug(b, "\t\t[atomic] starting with plane %lu disabled\n",
16 (unsigned long) plane->plane_id);
17- plane_add_prop(req, plane, WDRM_PLANE_CRTC_ID, 0);
18- plane_add_prop(req, plane, WDRM_PLANE_FB_ID, 0);
19+ //plane_add_prop(req, plane, WDRM_PLANE_CRTC_ID, 0);
20+ //plane_add_prop(req, plane, WDRM_PLANE_FB_ID, 0);
21 }
22
23 flags |= DRM_MODE_ATOMIC_ALLOW_MODESET;
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 @@
1#!/bin/sh
2
3# SPDX-FileCopyrightText: Huawei Inc.
4# SPDX-License-Identifier: Apache-2.0
5
6
7if [[ -x "/usr/lib/weston/systemd-notify.so" ]]; then
8 add_weston_module "systemd-notify.so"
9fi
diff --git a/meta/recipes-graphics/wayland/weston/xwayland.weston-start b/meta/recipes-graphics/wayland/weston/xwayland.weston-start
index b483c97cf1..342ac8d129 100644
--- a/meta/recipes-graphics/wayland/weston/xwayland.weston-start
+++ b/meta/recipes-graphics/wayland/weston/xwayland.weston-start
@@ -1,7 +1,6 @@
1#!/bin/sh 1#!/bin/sh
2 2
3if type Xwayland >/dev/null 2>/dev/null; then 3if type Xwayland >/dev/null 2>/dev/null; then
4 mkdir -p /tmp/.X11-unix 4 mkdir -m 775 -p /tmp/.X11-unix
5 5 chown root:video /tmp/.X11-unix
6 add_weston_argument "--modules=xwayland.so"
7fi 6fi
diff --git a/meta/recipes-graphics/wayland/weston_9.0.0.bb b/meta/recipes-graphics/wayland/weston_13.0.0.bb
index 50fbfa613b..b728bd0ef3 100644
--- a/meta/recipes-graphics/wayland/weston_9.0.0.bb
+++ b/meta/recipes-graphics/wayland/weston_13.0.0.bb
@@ -3,26 +3,27 @@ DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
3HOMEPAGE = "http://wayland.freedesktop.org" 3HOMEPAGE = "http://wayland.freedesktop.org"
4LICENSE = "MIT" 4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \ 5LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
6 file://libweston/compositor.c;endline=27;md5=6c53bbbd99273f4f7c4affa855c33c0a" 6 file://libweston/compositor.c;endline=27;md5=eb6d5297798cabe2ddc65e2af519bcf0 \
7 "
7 8
8SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ 9SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
10 file://0001-libweston-tools-Include-libgen.h-for-basename-signat.patch \
9 file://weston.png \ 11 file://weston.png \
10 file://weston.desktop \ 12 file://weston.desktop \
11 file://xwayland.weston-start \ 13 file://xwayland.weston-start \
12 file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ 14 file://systemd-notify.weston-start \
13 file://0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch \ 15 "
14"
15 16
16SRC_URI_append_libc-musl = " file://dont-use-plane-add-prop.patch " 17SRC_URI[sha256sum] = "52ff1d4aa2394a2e416c85a338b627ce97fa71d43eb762fd4aaf145d36fc795a"
17 18
18SRC_URI[sha256sum] = "5cf5d6ce192e0eb15c1fc861a436bf21b5bb3b91dbdabbdebe83e1f83aa098fe" 19UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/weston/-/tags"
20UPSTREAM_CHECK_REGEX = "weston-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
19 21
20UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" 22inherit meson pkgconfig useradd
21 23
22inherit meson pkgconfig useradd features_check
23# depends on virtual/egl 24# depends on virtual/egl
24# weston-init requires pam enabled if started via systemd 25#
25REQUIRED_DISTRO_FEATURES = "opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}" 26require ${THISDIR}/required-distro-features.inc
26 27
27DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0" 28DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0"
28DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" 29DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native"
@@ -31,34 +32,36 @@ LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '',
31 32
32WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" 33WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
33 34
34EXTRA_OEMESON += "-Dbackend-default=auto -Dbackend-rdp=false -Dpipewire=false" 35EXTRA_OEMESON += "-Dpipewire=false"
35 36
36PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl clients', '', d)} \ 37PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayland egl clients', '', d)} \
37 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ 38 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
38 ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \ 39 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
39 ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \ 40 ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \
40 launch \
41 image-jpeg \ 41 image-jpeg \
42 screenshare \ 42 screenshare \
43 shell-desktop \ 43 shell-desktop \
44 shell-fullscreen \ 44 shell-fullscreen \
45 shell-ivi" 45 shell-ivi \
46 shell-kiosk \
47 "
48
49# Can be 'damage', 'im', 'egl', 'shm', 'touch', 'dmabuf-feedback', 'dmabuf-v4l', 'dmabuf-egl' or 'all'
50SIMPLECLIENTS ?= "all"
46 51
47# 52#
48# Compositor choices 53# Compositor choices
49# 54#
50# Weston on KMS 55# Weston on KMS
51PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev virtual/egl virtual/libgles2 virtual/libgbm mtdev" 56PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev seatd virtual/egl virtual/libgles2 virtual/libgbm mtdev"
52# Weston on Wayland (nested Weston) 57# Weston on Wayland (nested Weston)
53PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/egl virtual/libgles2" 58PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/egl virtual/libgles2"
54# Weston on X11 59# Weston on X11
55PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libxcb libxcb libxcursor cairo" 60PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libxcb libxcursor"
56# Headless Weston 61# Headless Weston
57PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false" 62PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
58# Weston on framebuffer 63# Weston on RDP
59PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev" 64PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp"
60# weston-launch
61PACKAGECONFIG[launch] = "-Dweston-launch=true,-Dweston-launch=false,drm"
62# VA-API desktop recorder 65# VA-API desktop recorder
63PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva" 66PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva"
64# Weston with EGL support 67# Weston with EGL support
@@ -67,18 +70,16 @@ PACKAGECONFIG[egl] = "-Drenderer-gl=true,-Drenderer-gl=false,virtual/egl"
67PACKAGECONFIG[lcms] = "-Dcolor-management-lcms=true,-Dcolor-management-lcms=false,lcms" 70PACKAGECONFIG[lcms] = "-Dcolor-management-lcms=true,-Dcolor-management-lcms=false,lcms"
68# Weston with webp support 71# Weston with webp support
69PACKAGECONFIG[webp] = "-Dimage-webp=true,-Dimage-webp=false,libwebp" 72PACKAGECONFIG[webp] = "-Dimage-webp=true,-Dimage-webp=false,libwebp"
70# Weston with systemd-login support 73# Weston with systemd support
71PACKAGECONFIG[systemd] = "-Dsystemd=true -Dlauncher-logind=true,-Dsystemd=false -Dlauncher-logind=false,systemd dbus" 74PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd dbus"
72# Weston with Xwayland support (requires X11 and Wayland) 75# Weston with Xwayland support (requires X11 and Wayland)
73PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false" 76PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcb libxcursor xcb-util-cursor xwayland"
74# colord CMS support 77# colord CMS support
75PACKAGECONFIG[colord] = "-Dcolor-management-colord=true,-Dcolor-management-colord=false,colord" 78PACKAGECONFIG[colord] = "-Ddeprecated-color-management-colord=true,-Ddeprecated-color-management-colord=false,colord"
76# Clients support 79# Clients support
77PACKAGECONFIG[clients] = "-Dsimple-clients=all -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false" 80PACKAGECONFIG[clients] = "-Dsimple-clients=${SIMPLECLIENTS} -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
78# Virtual remote output with GStreamer on DRM backend 81# Virtual remote output with GStreamer on DRM backend
79PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base" 82PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base"
80# Weston with PAM support
81PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam"
82# Weston with screen-share support 83# Weston with screen-share support
83PACKAGECONFIG[screenshare] = "-Dscreenshare=true,-Dscreenshare=false" 84PACKAGECONFIG[screenshare] = "-Dscreenshare=true,-Dscreenshare=false"
84# Traditional desktop shell 85# Traditional desktop shell
@@ -87,10 +88,17 @@ PACKAGECONFIG[shell-desktop] = "-Dshell-desktop=true,-Dshell-desktop=false"
87PACKAGECONFIG[shell-fullscreen] = "-Dshell-fullscreen=true,-Dshell-fullscreen=false" 88PACKAGECONFIG[shell-fullscreen] = "-Dshell-fullscreen=true,-Dshell-fullscreen=false"
88# In-Vehicle Infotainment (IVI) shell 89# In-Vehicle Infotainment (IVI) shell
89PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false" 90PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false"
91# Kiosk shell
92PACKAGECONFIG[shell-kiosk] = "-Dshell-kiosk=true,-Dshell-kiosk=false"
90# JPEG image loading support 93# JPEG image loading support
91PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg" 94PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg"
95# screencasting via PipeWire
96PACKAGECONFIG[pipewire] = "-Dbackend-pipewire=true,-Dbackend-pipewire=false,pipewire"
97# VNC remote screensharing
98PACKAGECONFIG[vnc] = "-Dbackend-vnc=true,-Dbackend-vnc=false,neatvnc"
99
92 100
93do_install_append() { 101do_install:append() {
94 # Weston doesn't need the .la files to load modules, so wipe them 102 # Weston doesn't need the .la files to load modules, so wipe them
95 rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la 103 rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la
96 104
@@ -107,6 +115,10 @@ do_install_append() {
107 install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland 115 install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland
108 fi 116 fi
109 117
118 if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then
119 install -Dm 644 ${WORKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify
120 fi
121
110 if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then 122 if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then
111 chmod u+s ${D}${bindir}/weston-launch 123 chmod u+s ${D}${bindir}/weston-launch
112 fi 124 fi
@@ -115,20 +127,20 @@ do_install_append() {
115PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \ 127PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \
116 libweston-${WESTON_MAJOR_VERSION} ${PN}-examples" 128 libweston-${WESTON_MAJOR_VERSION} ${PN}-examples"
117 129
118FILES_${PN}-dev += "${libdir}/${BPN}/libexec_weston.so" 130FILES:${PN}-dev += "${libdir}/${BPN}/libexec_weston.so"
119FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}" 131FILES:${PN} = "${sysconfdir} ${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}"
120 132
121FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so" 133FILES:libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so"
122SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'." 134SUMMARY:libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'."
123 135
124FILES_${PN}-examples = "${bindir}/*" 136FILES:${PN}-examples = "${bindir}/*"
125 137
126FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so" 138FILES:${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so"
127RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland" 139RDEPENDS:${PN}-xwayland += "xwayland"
128 140
129RDEPENDS_${PN} += "xkeyboard-config" 141RDEPENDS:${PN} += "xkeyboard-config"
130RRECOMMENDS_${PN} = "weston-init liberation-fonts" 142RRECOMMENDS:${PN} = "weston-init liberation-fonts"
131RRECOMMENDS_${PN}-dev += "wayland-protocols" 143RRECOMMENDS:${PN}-dev += "wayland-protocols"
132 144
133USERADD_PACKAGES = "${PN}" 145USERADD_PACKAGES = "${PN}"
134GROUPADD_PARAM_${PN} = "--system weston-launch" 146GROUPADD_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..671c0a290e 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
@@ -1,8 +1,7 @@
1SUMMARY = "Simple Xserver Init Script (no dm)" 1SUMMARY = "Simple Xserver Init Script (no dm)"
2LICENSE = "GPLv2" 2LICENSE = "GPL-2.0-only"
3LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" 3LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
4SECTION = "x11" 4SECTION = "x11"
5PR = "r31"
6 5
7SRC_URI = "file://xserver-nodm \ 6SRC_URI = "file://xserver-nodm \
8 file://Xserver \ 7 file://Xserver \
@@ -52,9 +51,9 @@ do_install() {
52 sed -i "s:@NO_CURSOR_ARG@:${NO_CURSOR_ARG}:" ${D}${sysconfdir}/default/xserver-nodm 51 sed -i "s:@NO_CURSOR_ARG@:${NO_CURSOR_ARG}:" ${D}${sysconfdir}/default/xserver-nodm
53 52
54 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then 53 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
55 install -d ${D}${systemd_unitdir}/system 54 install -d ${D}${systemd_system_unitdir}
56 install -m 0644 ${WORKDIR}/xserver-nodm.service.in ${D}${systemd_unitdir}/system/xserver-nodm.service 55 install -m 0644 ${WORKDIR}/xserver-nodm.service.in ${D}${systemd_system_unitdir}/xserver-nodm.service
57 sed -i "s:@USER@:${XUSER}:" ${D}${systemd_unitdir}/system/xserver-nodm.service 56 sed -i "s:@USER@:${XUSER}:" ${D}${systemd_system_unitdir}/xserver-nodm.service
58 fi 57 fi
59 58
60 if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then 59 if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
@@ -63,10 +62,10 @@ do_install() {
63 fi 62 fi
64} 63}
65 64
66RDEPENDS_${PN} = "xinit ${@oe.utils.conditional('ROOTLESS_X', '1', 'xuser-account libcap libcap-bin', '', d)}" 65RDEPENDS:${PN} = "xinit ${@oe.utils.conditional('ROOTLESS_X', '1', 'xuser-account libcap libcap-bin', '', d)}"
67 66
68INITSCRIPT_NAME = "xserver-nodm" 67INITSCRIPT_NAME = "xserver-nodm"
69INITSCRIPT_PARAMS = "start 9 5 . stop 20 0 1 2 3 6 ." 68INITSCRIPT_PARAMS = "start 9 5 . stop 20 0 1 2 3 6 ."
70SYSTEMD_SERVICE_${PN} = "xserver-nodm.service" 69SYSTEMD_SERVICE:${PN} = "xserver-nodm.service"
71 70
72RCONFLICTS_${PN} = "xserver-common (< 1.34-r9) x11-common" 71RCONFLICTS:${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..40b77422bf 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
@@ -2,19 +2,19 @@ SUMMARY = "Transparent X11 cursor theme for touchscreens"
2HOMEPAGE = "http://www.matchbox-project.org/" 2HOMEPAGE = "http://www.matchbox-project.org/"
3BUGTRACKER = "http://bugzilla.yoctoproject.org/" 3BUGTRACKER = "http://bugzilla.yoctoproject.org/"
4 4
5LICENSE = "GPLv2" 5LICENSE = "GPL-2.0-only"
6LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" 6LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
7 7
8SECTION = "x11/base" 8SECTION = "x11/base"
9 9
10SRCREV = "23c8af5ba4a1b7efbaf0bbca59a65ff7e10a1a06" 10SRCREV = "23c8af5ba4a1b7efbaf0bbca59a65ff7e10a1a06"
11PV = "0.1.1+git${SRCPV}" 11PV = "0.1.1+git"
12 12
13SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master" 13SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https"
14UPSTREAM_CHECK_COMMITS = "1" 14UPSTREAM_CHECK_COMMITS = "1"
15 15
16S = "${WORKDIR}/git" 16S = "${WORKDIR}/git"
17 17
18inherit autotools allarch 18inherit autotools allarch
19 19
20FILES_${PN} = "${datadir}/icons/xcursor-transparent/cursors/*" 20FILES:${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 baaf8fa9ad..5c9742fb20 100644
--- a/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb
+++ b/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb
@@ -5,7 +5,6 @@ BUGTRACKER = "https://github.com/tias/xinput_calibrator/issues"
5LICENSE = "MIT" 5LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 6LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
7 7
8PR = "r7"
9 8
10SRC_URI = "file://pointercal.xinput" 9SRC_URI = "file://pointercal.xinput"
11S = "${WORKDIR}" 10S = "${WORKDIR}"
@@ -20,4 +19,4 @@ do_install() {
20} 19}
21 20
22PACKAGE_ARCH = "${MACHINE_ARCH}" 21PACKAGE_ARCH = "${MACHINE_ARCH}"
23CONFFILES_${PN} = "${sysconfdir}/pointercal.xinput" 22CONFFILES:${PN} = "${sysconfdir}/pointercal.xinput"
diff --git a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch
index 86982924a8..de0862599d 100644
--- a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch
+++ b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch
@@ -1,4 +1,4 @@
1Upstream-Status: Pending 1Upstream-Status: Inactive-Upstream [last commits over a decade ago]
2 2
3From 14734a93bd3fc323325459e24b04795422e395e6 Mon Sep 17 00:00:00 2001 3From 14734a93bd3fc323325459e24b04795422e395e6 Mon Sep 17 00:00:00 2001
4From: Laurentiu Palcu <laurentiu.palcu@intel.com> 4From: Laurentiu Palcu <laurentiu.palcu@intel.com>
diff --git a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
index d2a16643fe..7b49668f92 100644
--- a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
+++ b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
@@ -1,18 +1,17 @@
1SUMMARY = "Touchscreen calibration program for X11" 1SUMMARY = "Touchscreen calibration program for X11"
2HOMEPAGE = "http://www.freedesktop.org/wiki/Software/xinput_calibrator" 2HOMEPAGE = "http://www.freedesktop.org/wiki/Software/xinput_calibrator"
3LICENSE = "MIT-X" 3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://src/calibrator.cpp;endline=22;md5=1bcba08f67cdb56f34021557898e4b5a" 4LIC_FILES_CHKSUM = "file://src/calibrator.cpp;endline=22;md5=1bcba08f67cdb56f34021557898e4b5a"
5DEPENDS = "virtual/libx11 libxi libxrandr" 5DEPENDS = "virtual/libx11 libxi libxrandr"
6 6
7PV = "0.7.5+git${SRCPV}" 7PV = "0.7.5+git"
8PR = "r6"
9 8
10inherit autotools pkgconfig features_check 9inherit autotools pkgconfig features_check
11# depends on virtual/libx11 10# depends on virtual/libx11
12REQUIRED_DISTRO_FEATURES = "x11" 11REQUIRED_DISTRO_FEATURES = "x11"
13 12
14SRCREV = "18ec53f1cada39f905614ebfaffed5c7754ecf46" 13SRCREV = "18ec53f1cada39f905614ebfaffed5c7754ecf46"
15SRC_URI = "git://github.com/kreijack/xinput_calibrator.git;branch=libinput \ 14SRC_URI = "git://github.com/kreijack/xinput_calibrator.git;branch=libinput;protocol=https \
16 file://30xinput_calibrate.sh \ 15 file://30xinput_calibrate.sh \
17 file://Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch \ 16 file://Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch \
18 file://0001-calibrator.hh-Include-string-to-get-std-string.patch \ 17 file://0001-calibrator.hh-Include-string-to-get-std-string.patch \
@@ -23,7 +22,7 @@ S = "${WORKDIR}/git"
23# force native X11 ui as we don't have gtk+ in DEPENDS 22# force native X11 ui as we don't have gtk+ in DEPENDS
24EXTRA_OECONF += "--with-gui=x11" 23EXTRA_OECONF += "--with-gui=x11"
25 24
26do_install_append() { 25do_install:append() {
27 install -d ${D}${bindir} 26 install -d ${D}${bindir}
28 install -m 0755 ${S}/scripts/xinput_calibrator_pointercal.sh ${D}${bindir}/xinput_calibrator_once.sh 27 install -m 0755 ${S}/scripts/xinput_calibrator_pointercal.sh ${D}${bindir}/xinput_calibrator_once.sh
29 28
@@ -34,6 +33,6 @@ do_install_append() {
34 sed -e 's,^Exec=.*,Exec=${bindir}/xinput_calibrator_once.sh,' ${S}/scripts/xinput_calibrator.desktop > ${D}${sysconfdir}/xdg/autostart/xinput_calibrator.desktop 33 sed -e 's,^Exec=.*,Exec=${bindir}/xinput_calibrator_once.sh,' ${S}/scripts/xinput_calibrator.desktop > ${D}${sysconfdir}/xdg/autostart/xinput_calibrator.desktop
35} 34}
36 35
37FILES_${PN} += "${sysconfdir}/xdg/autostart" 36FILES:${PN} += "${sysconfdir}/xdg/autostart"
38RDEPENDS_${PN} = "xinput formfactor" 37RDEPENDS:${PN} = "xinput formfactor"
39RRECOMMENDS_${PN} = "pointercal-xinput" 38RRECOMMENDS:${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.3.bb
index a767ee847b..aa79902a34 100644
--- a/meta/recipes-graphics/xorg-app/mkfontscale_1.2.1.bb
+++ b/meta/recipes-graphics/xorg-app/mkfontscale_1.2.3.bb
@@ -11,11 +11,11 @@ is used by the mkfontdir program."
11DEPENDS = "util-macros-native zlib libfontenc freetype xorgproto" 11DEPENDS = "util-macros-native zlib libfontenc freetype xorgproto"
12 12
13PROVIDES += "mkfontdir" 13PROVIDES += "mkfontdir"
14RPROVIDES_${PN} += "mkfontdir" 14RPROVIDES:${PN} += "mkfontdir"
15 15
16BBCLASSEXTEND = "native" 16BBCLASSEXTEND = "native"
17 17
18LIC_FILES_CHKSUM = "file://COPYING;md5=99b1e1269aba5179139b9e4380fc0934" 18LIC_FILES_CHKSUM = "file://COPYING;md5=5a60c596d1b5f3dee9f005b703b3180d"
19 19
20SRC_URI[md5sum] = "215940de158b1a3d8b3f8b442c606e2f" 20SRC_URI_EXT = "xz"
21SRC_URI[sha256sum] = "ca0495eb974a179dd742bfa6199d561bda1c8da4a0c5a667f21fd82aaab6bac7" 21SRC_URI[sha256sum] = "2921cdc344f1acee04bcd6ea1e29565c1308263006e134a9ee38cf9c9d6fe75e"
diff --git a/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb b/meta/recipes-graphics/xorg-app/rgb_1.1.0.bb
index c3e853631b..f14da7fd21 100644
--- a/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb
+++ b/meta/recipes-graphics/xorg-app/rgb_1.1.0.bb
@@ -10,7 +10,7 @@ DEPENDS += " xorgproto util-macros"
10LIC_FILES_CHKSUM = "file://COPYING;md5=ef598adbe241bd0b0b9113831f6e249a" 10LIC_FILES_CHKSUM = "file://COPYING;md5=ef598adbe241bd0b0b9113831f6e249a"
11PE = "1" 11PE = "1"
12 12
13SRC_URI[md5sum] = "eab5bbd7642e5c784429307ec210d198" 13SRC_URI_EXT = "xz"
14SRC_URI[sha256sum] = "bbca7c6aa59939b9f6a0fb9fff15dfd62176420ffd4ae30c8d92a6a125fbe6b0" 14SRC_URI[sha256sum] = "fc03d7f56e5b2a617668167f8927948cce54f93097e7ccd9f056077f479ed37b"
15 15
16FILES_${PN} += "${datadir}/X11" 16FILES:${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
17 17
18MULTILIB_SCRIPTS = "${PN}:${bindir}/x11perfcomp" 18MULTILIB_SCRIPTS = "${PN}:${bindir}/x11perfcomp"
19 19
20do_install_append_class-target () { 20do_install:append:class-target () {
21 sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}${bindir}/x11perfcomp 21 sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}${bindir}/x11perfcomp
22} 22}
23 23
24FILES_${PN} += "${libdir}/X11/x11perfcomp/*" 24FILES:${PN} += "${libdir}/X11/x11perfcomp/*"
25 25
26SRC_URI[md5sum] = "e96b56756990c56c24d2d02c2964456b" 26SRC_URI[md5sum] = "e96b56756990c56c24d2d02c2964456b"
27SRC_URI[sha256sum] = "1c7e0b8ffc2794b4ccf11e04d551823abe0ea47b4f7db0637390db6fbe817c34" 27SRC_URI[sha256sum] = "1c7e0b8ffc2794b4ccf11e04d551823abe0ea47b4f7db0637390db6fbe817c34"
diff --git a/meta/recipes-graphics/xorg-app/xauth_1.1.bb b/meta/recipes-graphics/xorg-app/xauth_1.1.3.bb
index 24ad9606ec..b0ca33bf4b 100644
--- a/meta/recipes-graphics/xorg-app/xauth_1.1.bb
+++ b/meta/recipes-graphics/xorg-app/xauth_1.1.3.bb
@@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b"
8DEPENDS += "libxau libxext libxmu" 8DEPENDS += "libxau libxext libxmu"
9PE = "1" 9PE = "1"
10 10
11SRC_URI[md5sum] = "e50587c1bb832aafd1a19d91a0890a0b" 11SRC_URI_EXT = "xz"
12SRC_URI[sha256sum] = "6d1dd1b79dd185107c5b0fdd22d1d791ad749ad6e288d0cdf80964c4ffa7530c" 12SRC_URI[sha256sum] = "e7075498bae332f917f01d660f9b940c0752b2556a8da61ccb62a44d0ffe9d33"
13 13
14PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" 14PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
15PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," 15PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb b/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.4.bb
index 2d10b7acca..3becd40281 100644
--- a/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb
+++ b/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.4.bb
@@ -9,12 +9,12 @@ clients and the server, and the different types of screens and visuals \
9that are available." 9that are available."
10 10
11LIC_FILES_CHKSUM = "file://COPYING;md5=f3d09e6b9e203a1af489e16c708f4fb3" 11LIC_FILES_CHKSUM = "file://COPYING;md5=f3d09e6b9e203a1af489e16c708f4fb3"
12DEPENDS += "libxtst libxext libxxf86vm libxi libxrender libxinerama libdmx libxau libxcomposite" 12DEPENDS += "libxtst libxext libxxf86vm libxi libxrender libxinerama libxau libxcomposite"
13PE = "1" 13PE = "1"
14 14
15SRC_URI += "file://disable-xkb.patch" 15SRC_URI += "file://disable-xkb.patch"
16 16
17SRC_URI[md5sum] = "8809037bd48599af55dad81c508b6b39" 17SRC_URI_EXT = "xz"
18SRC_URI[sha256sum] = "30238ed915619e06ceb41721e5f747d67320555cc38d459e954839c189ccaf51" 18SRC_URI[sha256sum] = "a8ada581dbd7266440d7c3794fa89edf6b99b8857fc2e8c31042684f3af4822b"
19 19
20EXTRA_OECONF = "--disable-xkb" 20EXTRA_OECONF = "--disable-xkb"
diff --git a/meta/recipes-graphics/xorg-app/xev/diet-x11.patch b/meta/recipes-graphics/xorg-app/xev/diet-x11.patch
deleted file mode 100644
index 361369b291..0000000000
--- a/meta/recipes-graphics/xorg-app/xev/diet-x11.patch
+++ /dev/null
@@ -1,114 +0,0 @@
1From b9b2b8d1af283a13cdccea55562cf332de48dcb9 Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross@openedhand.com>
3Date: Wed, 28 Mar 2007 16:10:50 +0000
4Subject: [PATCH] Add xev
5
6Upstream-Status: Inappropriate [disable feature]
7
8---
9 xev.c | 64 +----------------------------------------------------------
10 1 file changed, 1 insertion(+), 63 deletions(-)
11
12diff --git a/xev.c b/xev.c
13index ea69234..6d5eb30 100644
14--- a/xev.c
15+++ b/xev.c
16@@ -175,17 +175,6 @@ do_KeyPress(XEvent *eventp)
17 nbytes = XLookupString(e, str, 256, &ks, NULL);
18
19 /* not supposed to call XmbLookupString on a key release event */
20- if (e->type == KeyPress && xic) {
21- do {
22- nmbbytes = XmbLookupString(xic, e, buf, bsize - 1, &ks, &status);
23- buf[nmbbytes] = '\0';
24-
25- if (status == XBufferOverflow) {
26- bsize = nmbbytes + 1;
27- buf = realloc(buf, bsize);
28- }
29- } while (status == XBufferOverflow);
30- }
31
32 if (ks == NoSymbol)
33 ksname = "NoSymbol";
34@@ -220,16 +209,6 @@ do_KeyPress(XEvent *eventp)
35 }
36
37 /* not supposed to call XmbLookupString on a key release event */
38- if (e->type == KeyPress && xic) {
39- output(Indent, "XmbLookupString gives %d bytes: ", nmbbytes);
40- if (nmbbytes > 0) {
41- dump(buf, nmbbytes);
42- output(NewLine, " \"%s\"", buf);
43- }
44- else {
45- output_new_line();
46- }
47- }
48
49 output(Indent | NewLine, "XFilterEvent returns: %s",
50 XFilterEvent(eventp, e->window) ? "True" : "False");
51@@ -1211,7 +1190,7 @@ parse_event_mask(const char *s, long event_masks[])
52 if (s)
53 return True;
54 }
55- }
56+ }
57
58 if (s != NULL)
59 fprintf(stderr, "%s: unrecognized event mask '%s'\n", ProgramName, s);
60@@ -1361,37 +1340,6 @@ main(int argc, char **argv)
61 fprintf(stderr, "%s: XSetLocaleModifiers failed\n", ProgramName);
62 }
63
64- xim = XOpenIM(dpy, NULL, NULL, NULL);
65- if (xim == NULL) {
66- fprintf(stderr, "%s: XOpenIM failed\n", ProgramName);
67- }
68-
69- if (xim) {
70- imvalret = XGetIMValues(xim, XNQueryInputStyle, &xim_styles, NULL);
71- if (imvalret != NULL || xim_styles == NULL) {
72- fprintf(stderr, "%s: input method doesn't support any styles\n",
73- ProgramName);
74- }
75-
76- if (xim_styles) {
77- xim_style = 0;
78- for (i = 0; i < xim_styles->count_styles; i++) {
79- if (xim_styles->supported_styles[i] ==
80- (XIMPreeditNothing | XIMStatusNothing)) {
81- xim_style = xim_styles->supported_styles[i];
82- break;
83- }
84- }
85-
86- if (xim_style == 0) {
87- fprintf(stderr,
88- "%s: input method doesn't support the style we support\n",
89- ProgramName);
90- }
91- XFree(xim_styles);
92- }
93- }
94-
95 screen = DefaultScreen(dpy);
96
97 attr.event_mask = event_masks[EVENT_MASK_INDEX_CORE];
98@@ -1446,16 +1394,6 @@ main(int argc, char **argv)
99 printf("Outer window is 0x%lx, inner window is 0x%lx\n", w, subw);
100 }
101
102- if (xim && xim_style) {
103- xic = XCreateIC(xim,
104- XNInputStyle, xim_style,
105- XNClientWindow, w, XNFocusWindow, w, NULL);
106-
107- if (xic == NULL) {
108- fprintf(stderr, "XCreateIC failed\n");
109- }
110- }
111-
112 have_rr = XRRQueryExtension(dpy, &rr_event_base, &rr_error_base);
113 if (have_rr) {
114 int rr_major, rr_minor;
diff --git a/meta/recipes-graphics/xorg-app/xev_1.2.4.bb b/meta/recipes-graphics/xorg-app/xev_1.2.6.bb
index 9407fa65f1..182aeff1b7 100644
--- a/meta/recipes-graphics/xorg-app/xev_1.2.4.bb
+++ b/meta/recipes-graphics/xorg-app/xev_1.2.6.bb
@@ -12,6 +12,6 @@ PE = "1"
12 12
13DEPENDS += "libxrandr xorgproto" 13DEPENDS += "libxrandr xorgproto"
14 14
15SRC_URI += "file://diet-x11.patch" 15SRC_URI[sha256sum] = "61e1c5e008ac9973aca7cdddf36e9df7410e77083b030eb04f4dc737c51807d7"
16 16
17SRC_URI[sha256sum] = "d700e08bfe751ed2dbf802baa204b056d0e49348b6eb3c6f9cb035d8ae4885e2" 17SRC_URI_EXT = "xz"
diff --git a/meta/recipes-graphics/xorg-app/xeyes_1.1.2.bb b/meta/recipes-graphics/xorg-app/xeyes_1.3.0.bb
index 06885f8f53..3d1a7063ea 100644
--- a/meta/recipes-graphics/xorg-app/xeyes_1.1.2.bb
+++ b/meta/recipes-graphics/xorg-app/xeyes_1.3.0.bb
@@ -8,7 +8,7 @@ PE = "1"
8 8
9LIC_FILES_CHKSUM = "file://COPYING;md5=3ea51b365051ac32d1813a7dbaa4bfc6" 9LIC_FILES_CHKSUM = "file://COPYING;md5=3ea51b365051ac32d1813a7dbaa4bfc6"
10 10
11SRC_URI[md5sum] = "6f0543ec84283df5743eeafc173bea4a" 11SRC_URI_EXT = "xz"
12SRC_URI[sha256sum] = "57bcec0d2d167af9e5d44d0dbd74c6d7c0f0591cd0608952b23c749fdd910553" 12SRC_URI[sha256sum] = "0950c600bf33447e169a539ee6655ef9f36d6cebf2c1be67f7ab55dacb753023"
13 13
14DEPENDS += "libxau libxt libxext libxmu libxrender" 14DEPENDS += "libxau libxt libxext libxmu libxrender libxi"
diff --git a/meta/recipes-graphics/xorg-app/xhost_1.0.8.bb b/meta/recipes-graphics/xorg-app/xhost_1.0.9.bb
index 26bec3f0dd..d54e6cae65 100644
--- a/meta/recipes-graphics/xorg-app/xhost_1.0.8.bb
+++ b/meta/recipes-graphics/xorg-app/xhost_1.0.9.bb
@@ -9,12 +9,13 @@ and security. Environments which require more sophisticated measures \
9should implement the user-based mechanism or use the hooks in the \ 9should implement the user-based mechanism or use the hooks in the \
10protocol for passing other authentication data to the server." 10protocol for passing other authentication data to the server."
11 11
12LIC_FILES_CHKSUM = "file://COPYING;md5=8fbed71dddf48541818cef8079124199" 12LIC_FILES_CHKSUM = "file://COPYING;md5=b1f81049109f21bb3c365d9f42f79f3b"
13DEPENDS += "libxmu libxau" 13DEPENDS += "libxmu libxau gettext-native"
14PE = "1" 14PE = "1"
15 15
16SRC_URI[md5sum] = "a48c72954ae6665e0616f6653636da8c" 16SRC_URI_EXT = "xz"
17SRC_URI[sha256sum] = "a2dc3c579e13674947395ef8ccc1b3763f89012a216c2cc6277096489aadc396" 17
18SRC_URI[sha256sum] = "ea86b531462035b19a2e5e01ef3d9a35cca7d984086645e2fc844d8f0e346645"
18 19
19PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" 20PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
20PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," 21PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb b/meta/recipes-graphics/xorg-app/xinit_1.4.2.bb
index 301ea1c243..82c0b0d833 100644
--- a/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb
+++ b/meta/recipes-graphics/xorg-app/xinit_1.4.2.bb
@@ -14,12 +14,13 @@ PE = "1"
14 14
15SRC_URI += "file://0001-Make-manpage-multilib-identical.patch" 15SRC_URI += "file://0001-Make-manpage-multilib-identical.patch"
16 16
17SRC_URI[md5sum] = "6d506ab2efc17a08e87778654e099d37" 17SRC_URI_EXT = "xz"
18SRC_URI[sha256sum] = "de9b8f617b68a70f6caf87da01fcf0ebd2b75690cdcba9c921d0ef54fa54abb9" 18
19SRC_URI[sha256sum] = "b7d8dc8d22ef9f15985a10b606ee4f2aad6828befa437359934647e88d331f23"
19 20
20EXTRA_OECONF = "ac_cv_path_MCOOKIE=${bindir}/mcookie" 21EXTRA_OECONF = "ac_cv_path_MCOOKIE=${bindir}/mcookie"
21 22
22PACKAGECONFIG ??= "rxvt" 23PACKAGECONFIG ??= "rxvt"
23PACKAGECONFIG[rxvt] = "--with-xterm=rxvt,,,rxvt-unicode" 24PACKAGECONFIG[rxvt] = "--with-xterm=rxvt,,,rxvt-unicode"
24 25
25RDEPENDS_${PN} += "util-linux-mcookie" 26RDEPENDS:${PN} += "util-linux-mcookie"
diff --git a/meta/recipes-graphics/xorg-app/xinput_1.6.3.bb b/meta/recipes-graphics/xorg-app/xinput_1.6.4.bb
index ff1f1c9148..f5e3f5da12 100644
--- a/meta/recipes-graphics/xorg-app/xinput_1.6.3.bb
+++ b/meta/recipes-graphics/xorg-app/xinput_1.6.4.bb
@@ -8,5 +8,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=881525f89f99cad39c9832bcb72e6fa5"
8 8
9DEPENDS += " libxi libxrandr libxinerama" 9DEPENDS += " libxi libxrandr libxinerama"
10 10
11SRC_URI[md5sum] = "ac6b7432726008b2f50eba82b0e2dbe4" 11SRC_URI_EXT = "xz"
12SRC_URI[sha256sum] = "35a281dd3b9b22ea85e39869bb7670ba78955d5fec17c6ef7165d61e5aeb66ed" 12SRC_URI[md5sum] = "8e4d14823b7cbefe1581c398c6ab0035"
13SRC_URI[sha256sum] = "ad04d00d656884d133110eeddc34e9c69e626ebebbbab04dc95791c2907057c8"
diff --git a/meta/recipes-graphics/xorg-app/xkbcomp_1.4.4.bb b/meta/recipes-graphics/xorg-app/xkbcomp_1.4.7.bb
index 44143a04ca..f259f33dd8 100644
--- a/meta/recipes-graphics/xorg-app/xkbcomp_1.4.4.bb
+++ b/meta/recipes-graphics/xorg-app/xkbcomp_1.4.7.bb
@@ -7,7 +7,7 @@ XKB keymap into one of several output formats. The most common use for \
7xkbcomp is to create a compiled keymap file (.xkm extension) which can \ 7xkbcomp is to create a compiled keymap file (.xkm extension) which can \
8be read directly by XKB-capable X servers or utilities." 8be read directly by XKB-capable X servers or utilities."
9 9
10LIC_FILES_CHKSUM = "file://COPYING;md5=08436e4f4476964e2e2dd7e7e41e076a" 10LIC_FILES_CHKSUM = "file://COPYING;md5=be5e191f04d3f2cd80aa83b928ba984c"
11 11
12DEPENDS += "libxkbfile" 12DEPENDS += "libxkbfile"
13 13
@@ -15,4 +15,5 @@ BBCLASSEXTEND = "native"
15 15
16EXTRA_OECONF += "--disable-selective-werror" 16EXTRA_OECONF += "--disable-selective-werror"
17 17
18SRC_URI[sha256sum] = "59cce603a607a17722a0a1cf99010f4894e7812beb5d695abbc08474d59af27e" 18SRC_URI_EXT = "xz"
19SRC_URI[sha256sum] = "0a288114e5f44e31987042c79aecff1ffad53a8154b8ec971c24a69a80f81f77"
diff --git a/meta/recipes-graphics/xorg-app/xmodmap_1.0.10.bb b/meta/recipes-graphics/xorg-app/xmodmap_1.0.11.bb
index 7dedb03a2b..dc955aa977 100644
--- a/meta/recipes-graphics/xorg-app/xmodmap_1.0.10.bb
+++ b/meta/recipes-graphics/xorg-app/xmodmap_1.0.11.bb
@@ -12,5 +12,6 @@ LICENSE = "MIT"
12LIC_FILES_CHKSUM = "file://COPYING;md5=272c17e96370e1e74773fa22d9989621" 12LIC_FILES_CHKSUM = "file://COPYING;md5=272c17e96370e1e74773fa22d9989621"
13 13
14PE = "1" 14PE = "1"
15SRC_URI[md5sum] = "51f1d30a525e9903280ffeea2744b1f6" 15SRC_URI[sha256sum] = "9a2f8168f7b0bc382828847403902cb6bf175e17658b36189eac87edda877e81"
16SRC_URI[sha256sum] = "473f0941d7439d501bb895ff358832b936ec34c749b9704c37a15e11c318487c" 16
17SRC_URI_EXT = "xz"
diff --git a/meta/recipes-graphics/xorg-app/xorg-app-common.inc b/meta/recipes-graphics/xorg-app/xorg-app-common.inc
index cb8cf4f5fa..5dbe8abe86 100644
--- a/meta/recipes-graphics/xorg-app/xorg-app-common.inc
+++ b/meta/recipes-graphics/xorg-app/xorg-app-common.inc
@@ -2,14 +2,15 @@ SUMMARY = "X application"
2HOMEPAGE = "http://www.x.org/" 2HOMEPAGE = "http://www.x.org/"
3BUGTRACKER = "https://bugs.freedesktop.org" 3BUGTRACKER = "https://bugs.freedesktop.org"
4SECTION = "x11/apps" 4SECTION = "x11/apps"
5LICENSE = "MIT-X" 5LICENSE = "MIT"
6DEPENDS = "util-macros-native virtual/libx11" 6DEPENDS = "util-macros-native virtual/libx11"
7 7
8# depends on virtual/libx11 8# depends on virtual/libx11
9REQUIRED_DISTRO_FEATURES = "x11" 9REQUIRED_DISTRO_FEATURES = "x11"
10 10
11SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.bz2" 11SRC_URI_EXT = "bz2"
12SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.${SRC_URI_EXT}"
12 13
13inherit autotools pkgconfig features_check 14inherit autotools pkgconfig features_check
14 15
15FILES_${PN} += " ${libdir}/X11/${BPN} ${datadir}/X11/app-defaults/" 16FILES:${PN} += " ${libdir}/X11/${BPN} ${datadir}/X11/app-defaults/"
diff --git a/meta/recipes-graphics/xorg-app/xprop_1.2.5.bb b/meta/recipes-graphics/xorg-app/xprop_1.2.7.bb
index b1589a8d75..96e364b2b3 100644
--- a/meta/recipes-graphics/xorg-app/xprop_1.2.5.bb
+++ b/meta/recipes-graphics/xorg-app/xprop_1.2.7.bb
@@ -14,4 +14,5 @@ DEPENDS += "libxmu"
14 14
15PE = "1" 15PE = "1"
16 16
17SRC_URI[sha256sum] = "9b92ed0316bf2486121d8bac88bd1878f16b43bd335f18009b1f941f1eca93a1" 17SRC_URI_EXT = "xz"
18SRC_URI[sha256sum] = "4436e3148bb91a162406230d9f736a49ca8b50b74790015dc15d78d6ce8e825f"
diff --git a/meta/recipes-graphics/xorg-app/xrandr_1.5.1.bb b/meta/recipes-graphics/xorg-app/xrandr_1.5.2.bb
index 57b43ff28c..1e29031849 100644
--- a/meta/recipes-graphics/xorg-app/xrandr_1.5.1.bb
+++ b/meta/recipes-graphics/xorg-app/xrandr_1.5.2.bb
@@ -11,9 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fe1608bdb33cf8c62a4438f7d34679b3"
11DEPENDS += "libxrandr libxrender" 11DEPENDS += "libxrandr libxrender"
12PE = "1" 12PE = "1"
13 13
14SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.xz" 14SRC_URI_EXT = "xz"
15 15SRC_URI[sha256sum] = "c8bee4790d9058bacc4b6246456c58021db58a87ddda1a9d0139bf5f18f1f240"
16SRC_URI[md5sum] = "fe40f7a4fd39dd3a02248d3e0b1972e4"
17SRC_URI[sha256sum] = "7bc76daf9d72f8aff885efad04ce06b90488a1a169d118dea8a2b661832e8762"
18 16
19BBCLASSEXTEND = "native nativesdk" 17BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-app/xset/disable-xkb.patch b/meta/recipes-graphics/xorg-app/xset/disable-xkb.patch
index a97c7b72fa..0bb05a3b88 100644
--- a/meta/recipes-graphics/xorg-app/xset/disable-xkb.patch
+++ b/meta/recipes-graphics/xorg-app/xset/disable-xkb.patch
@@ -1,14 +1,21 @@
1add "-disable-xkb" option 1From 3090dcafac7c8080091b5e3e3720209c65251a1a Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard@openedhand.com>
3Date: Mon, 22 May 2006 22:15:57 +0000
4Subject: [PATCH] add "-disable-xkb" option
2 5
3Upstream-Status: Pending 6Upstream-Status: Pending
4 7
5Rebase for 1.2.1 by: Yu Ke <ke.yu@intel.com> 8Rebase for 1.2.1 by: Yu Ke <ke.yu@intel.com>
6 9
7Index: xset-1.2.3/configure.ac 10---
8=================================================================== 11 configure.ac | 4 ++++
9--- xset-1.2.3.orig/configure.ac 12 1 file changed, 4 insertions(+)
10+++ xset-1.2.3/configure.ac 13
11@@ -53,11 +53,15 @@ PKG_CHECK_MODULES(SET_XEXT, xext, 14diff --git a/configure.ac b/configure.ac
15index e7c2bdf..8e1ed5e 100644
16--- a/configure.ac
17+++ b/configure.ac
18@@ -52,11 +52,15 @@ PKG_CHECK_MODULES(SET_XEXT, xext,
12 AC_CHECK_HEADERS([X11/extensions/dpms.h X11/extensions/MITMisc.h],,,[#include <X11/Xlib.h>]) 19 AC_CHECK_HEADERS([X11/extensions/dpms.h X11/extensions/MITMisc.h],,,[#include <X11/Xlib.h>])
13 CPPFLAGS="$SAVE_CPPFLAGS"],[echo "not found"]) 20 CPPFLAGS="$SAVE_CPPFLAGS"],[echo "not found"])
14 21
@@ -22,5 +29,5 @@ Index: xset-1.2.3/configure.ac
22 CPPFLAGS="$SAVE_CPPFLAGS"],[echo "not found"]) 29 CPPFLAGS="$SAVE_CPPFLAGS"],[echo "not found"])
23+fi 30+fi
24 31
25 AC_ARG_WITH(xf86misc, AS_HELP_STRING([--without-xf86misc],[Disable xf86misc support.]), 32 AC_ARG_WITH(xf86misc, AS_HELP_STRING([--with-xf86misc],[Enable xf86misc support.]),
26 [USE_XF86MISC="$withval"], [USE_XF86MISC="yes"]) 33 [USE_XF86MISC="$withval"], [USE_XF86MISC="no"])
diff --git a/meta/recipes-graphics/xorg-app/xset_1.2.4.bb b/meta/recipes-graphics/xorg-app/xset_1.2.5.bb
index e21120e788..398530f342 100644
--- a/meta/recipes-graphics/xorg-app/xset_1.2.4.bb
+++ b/meta/recipes-graphics/xorg-app/xset_1.2.5.bb
@@ -12,8 +12,9 @@ PE = "1"
12 12
13SRC_URI += "file://disable-xkb.patch" 13SRC_URI += "file://disable-xkb.patch"
14 14
15SRC_URI[md5sum] = "70ea7bc7bacf1a124b1692605883f620" 15SRC_URI_EXT = "xz"
16SRC_URI[sha256sum] = "e4fd95280df52a88e9b0abc1fee11dcf0f34fc24041b9f45a247e52df941c957" 16
17SRC_URI[sha256sum] = "9f692d55635b3862cd63633b1222a87680ec283c7a8e8ed6dd698a3147f75e2f"
17 18
18CFLAGS += "-D_GNU_SOURCE" 19CFLAGS += "-D_GNU_SOURCE"
19EXTRA_OECONF = "--disable-xkb --without-fontcache" 20EXTRA_OECONF = "--disable-xkb --without-fontcache"
diff --git a/meta/recipes-graphics/xorg-app/xvinfo_1.1.4.bb b/meta/recipes-graphics/xorg-app/xvinfo_1.1.5.bb
index a913ae11f3..d7e5d917ef 100644
--- a/meta/recipes-graphics/xorg-app/xvinfo_1.1.4.bb
+++ b/meta/recipes-graphics/xorg-app/xvinfo_1.1.5.bb
@@ -10,5 +10,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b664101ad7a1dc758a4c4109bf978e68"
10DEPENDS += " libxv" 10DEPENDS += " libxv"
11PE = "1" 11PE = "1"
12 12
13SRC_URI[md5sum] = "b13afec137b9b331814a9824ab03ec80" 13SRC_URI_EXT = "xz"
14SRC_URI[sha256sum] = "0353220d6606077ba42363db65f50410759f9815352f77adc799e2adfa76e73f" 14SRC_URI[sha256sum] = "3ede71ecb26d9614ccbc6916720285e95a2c7e0c5e19b8570eaaf72ad7c5c404"
diff --git a/meta/recipes-graphics/xorg-app/xwininfo_1.1.5.bb b/meta/recipes-graphics/xorg-app/xwininfo_1.1.6.bb
index ec9f08268e..39ec76724c 100644
--- a/meta/recipes-graphics/xorg-app/xwininfo_1.1.5.bb
+++ b/meta/recipes-graphics/xorg-app/xwininfo_1.1.6.bb
@@ -6,10 +6,11 @@ DESCRIPTION = "Xwininfo is a utility for displaying information about \
6windows. Information may include window position, size, color depth, \ 6windows. Information may include window position, size, color depth, \
7and a number of other items." 7and a number of other items."
8 8
9LIC_FILES_CHKSUM = "file://COPYING;md5=78976cd3115f6faf615accc4e094d90e" 9LIC_FILES_CHKSUM = "file://COPYING;md5=a1b9559d7b7997a6e9588012ebf8769a"
10DEPENDS += "libxext libxmu gettext-native" 10DEPENDS += "libxext libxmu gettext-native"
11 11
12PE = "0" 12PE = "0"
13 13
14SRC_URI[md5sum] = "26d46f7ef0588d3392da3ad5802be420" 14SRC_URI_EXT = "xz"
15SRC_URI[sha256sum] = "7a405441dfc476666c744f5fcd1bc8a75abf8b5b1d85db7b88b370982365080e" 15SRC_URI[md5sum] = "c91201bc1eb5e7b38933be8d0f7f16a8"
16SRC_URI[sha256sum] = "3518897c17448df9ba99ad6d9bb1ca0f17bc0ed7c0fd61281b34ceed29a9253f"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.9.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.9.0.bb
deleted file mode 100644
index 1896fff9f9..0000000000
--- a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.9.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
1require xorg-driver-input.inc
2
3SUMMARY = "X.Org X server -- keyboard input driver"
4
5DESCRIPTION = "keyboard is an Xorg input driver for keyboards. The \
6driver supports the standard OS-provided keyboard interface. The driver \
7functions as a keyboard input device, and may be used as the X server's \
8core keyboard."
9
10LIC_FILES_CHKSUM = "file://COPYING;md5=ea2099d24ac9e316a6d4b9f20b3d4e10"
11
12SRC_URI[md5sum] = "a3a3f0dd32361dcdbd406e894dafe090"
13SRC_URI[sha256sum] = "f7c900f21752683402992b288d5a2826de7a6c0c0abac2aadd7e8a409e170388"
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 @@
1require xorg-driver-input.inc
2
3SUMMARY = "Generic input driver for the X.Org server based on libinput"
4LIC_FILES_CHKSUM = "file://COPYING;md5=5e6b20ea2ef94a998145f0ea3f788ee0"
5
6DEPENDS += "libinput"
7
8SRC_URI[md5sum] = "11dcfa2cc39f790731a9545fcdeea717"
9SRC_URI[sha256sum] = "f9c7f9fd41ae14061e0e9c3bd45fa170e5e21027a2bc5810034e1e748db996c0"
10
11FILES_${PN} += "${datadir}/X11/xorg.conf.d"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.4.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.4.0.bb
new file mode 100644
index 0000000000..92272c3f2a
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.4.0.bb
@@ -0,0 +1,12 @@
1require xorg-driver-input.inc
2
3SUMMARY = "Generic input driver for the X.Org server based on libinput"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://COPYING;md5=a22925127bd3c827c384cedd23ed2309"
6
7DEPENDS += "libinput"
8
9XORG_DRIVER_COMPRESSOR = ".tar.xz"
10SRC_URI[sha256sum] = "3a3d14cd895dc75b59ae2783b888031956a0bac7a1eff16d240dbb9d5df3e398"
11
12FILES:${PN} += "${datadir}/X11/xorg.conf.d"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.3.bb b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.5.bb
index c38dab505b..92e54d9701 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.3.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.5.bb
@@ -8,7 +8,7 @@ functions as a pointer input device, and may be used as the X server's \
8core pointer. Multiple mice are supported by multiple instances of this \ 8core pointer. Multiple mice are supported by multiple instances of this \
9driver." 9driver."
10 10
11LIC_FILES_CHKSUM = "file://COPYING;md5=90ea9f90d72b6d9327dede5ffdb2a510" 11LIC_FILES_CHKSUM = "file://COPYING;md5=d213a69053dffe9bcab94abf60013d33"
12 12
13SRC_URI[md5sum] = "a2104693bbcfe1413397f7905eecd3dc" 13SRC_URI[sha256sum] = "4fde8ae9b44352e2a208584c36528ee3ed13cf5fe4417208a9785daccefd9968"
14SRC_URI[sha256sum] = "93ecb350604d05be98b7d4e5db3b8155a44890069a7d8d6b800c0bea79c85cc5" 14XORG_DRIVER_COMPRESSOR = ".tar.xz"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/64bit_time_t_support.patch b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/64bit_time_t_support.patch
deleted file mode 100644
index 4bb7fb3e23..0000000000
--- a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/64bit_time_t_support.patch
+++ /dev/null
@@ -1,51 +0,0 @@
1This patch avoids using time field of input_event structure which is not available
2on 32bit arches supporting 64bit time_t structs, Patch makes it compatible with new
3and keeps old input.h implementation functional as well.
4
5See https://sourceware.org/glibc/wiki/Y2038ProofnessDesign
6
7Upstream-Status: Pending
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9
10--- a/src/eventcomm.c
11+++ b/src/eventcomm.c
12@@ -575,10 +575,12 @@ SynapticsReadEvent(InputInfoPtr pInfo, s
13 ev->type = EV_SYN;
14 ev->code = SYN_REPORT;
15 ev->value = 0;
16- ev->time = last_event_time;
17- } else if (ev->type == EV_SYN)
18- last_event_time = ev->time;
19-
20+ ev->input_event_sec = last_event_time.tv_sec;
21+ ev->input_event_usec = last_event_time.tv_usec;
22+ } else if (ev->type == EV_SYN) {
23+ last_event_time.tv_sec = ev->input_event_sec;
24+ last_event_time.tv_usec = ev->input_event_usec;
25+ }
26 return TRUE;
27 }
28
29@@ -725,7 +727,7 @@ EventReadHwState(InputInfoPtr pInfo,
30 case SYN_REPORT:
31 hw->numFingers = count_fingers(pInfo, comm);
32 if (proto_data->have_monotonic_clock)
33- hw->millis = 1000 * ev.time.tv_sec + ev.time.tv_usec / 1000;
34+ hw->millis = 1000 * ev.input_event_sec + ev.input_event_usec / 1000;
35 else
36 hw->millis = GetTimeInMillis();
37 SynapticsCopyHwState(hwRet, hw);
38--- a/src/eventcomm.h
39+++ b/src/eventcomm.h
40@@ -34,6 +34,11 @@
41 #include <xf86Xinput.h>
42 #include "synproto.h"
43
44+#ifndef input_event_sec
45+#define input_event_sec time.tv_sec
46+#define input_event_usec time.tv_usec
47+#endif
48+
49 /* for auto-dev: */
50 #define DEV_INPUT_EVENT "/dev/input"
51 #define EVENT_DEV_NAME "event"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.1.bb b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.2.bb
index 388350c96e..8e446290b2 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.1.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.2.bb
@@ -10,9 +10,8 @@ advanced features of the touchpad to become available."
10 10
11LIC_FILES_CHKSUM = "file://COPYING;md5=55aacd3535a741824955c5eb8f061398" 11LIC_FILES_CHKSUM = "file://COPYING;md5=55aacd3535a741824955c5eb8f061398"
12 12
13SRC_URI += "file://64bit_time_t_support.patch" 13SRC_URI[sha256sum] = "b8fa4aab913fc63754bbd6439e020658c412743a055201ddf212760593962c38"
14
15SRC_URI[md5sum] = "cfb79d3c975151f9bbf30b727c260cb9"
16SRC_URI[sha256sum] = "7af83526eff1c76e8b9e1553b34245c203d029028d8044dd9dcf71eef1001576"
17 14
18DEPENDS += "libxi mtdev libxtst libevdev" 15DEPENDS += "libxi mtdev libxtst libevdev"
16
17XORG_DRIVER_COMPRESSOR = ".tar.xz"
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.2.0.bb
index 92a1b25ebe..7567b1ef2b 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.2.0.bb
@@ -6,16 +6,17 @@ protocol that is provided by VMware virtual machines to give absolute \
6pointer positioning. The vmmouse driver is capable of falling back to the \ 6pointer positioning. The vmmouse driver is capable of falling back to the \
7standard 'mouse' driver if a VMware virtual machine is not detected." 7standard 'mouse' driver if a VMware virtual machine is not detected."
8 8
9SRC_URI[md5sum] = "85e2e464b7219c495ad3a16465c226ed" 9XORG_DRIVER_COMPRESSOR = ".tar.xz"
10SRC_URI[sha256sum] = "0af558957ac1be1b2863712c2475de8f4d7f14921fd01ded2e2fde4921b19319"
11 10
12RDEPENDS_${PN} += "xf86-input-mouse" 11SRC_URI[sha256sum] = "56f077580ab8f02e2f40358c5c46b0ae3e1828fc77744526b24adf1ceea339b8"
12
13RDEPENDS:${PN} += "xf86-input-mouse"
13 14
14LIC_FILES_CHKSUM = "file://COPYING;md5=622841c068a9d7625fbfe7acffb1a8fc" 15LIC_FILES_CHKSUM = "file://COPYING;md5=622841c068a9d7625fbfe7acffb1a8fc"
15 16
16COMPATIBLE_HOST = '(i.86|x86_64).*-linux' 17COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
17 18
18do_install_append () { 19do_install:append () {
19 # We don't care about hal 20 # We don't care about hal
20 rm -rf ${D}${datadir}/hal/ 21 rm -rf ${D}${datadir}/hal/
21 rm -rf ${D}${libdir}/hal/ 22 rm -rf ${D}${libdir}/hal/
@@ -23,4 +24,4 @@ do_install_append () {
23 24
24EXTRA_OECONF = "--with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d" 25EXTRA_OECONF = "--with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d"
25 26
26FILES_${PN} += "${datadir}/X11/xorg.conf.d" 27FILES:${PN} += "${datadir}/X11/xorg.conf.d"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.5.3.bb b/meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.6.0.bb
index c498477604..32eb8a4816 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.5.3.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.6.0.bb
@@ -7,7 +7,8 @@ the driver is still useful."
7 7
8LIC_FILES_CHKSUM = "file://COPYING;md5=6ddc7ca860dc5fd014e7f160ea699295" 8LIC_FILES_CHKSUM = "file://COPYING;md5=6ddc7ca860dc5fd014e7f160ea699295"
9 9
10SRC_URI[md5sum] = "7d7dfd4cdc42aa8b6e923510fa00ad2b" 10SRC_URI[sha256sum] = "0ef3fa0083de3d9a040f11b3af38598d8405f1165b908fdd6712c30038326401"
11SRC_URI[sha256sum] = "edc87b20a55259126b5239b5c1ef913419eab7ded0ed12ae9ae989460d7351ab"
12 11
13DEPENDS += "libpciaccess" 12DEPENDS += "libpciaccess"
13
14XORG_DRIVER_COMPRESSOR = ".tar.xz"
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 @@
1From 05909fea93f29b2b6e1d554dd64201551bd7a022 Mon Sep 17 00:00:00 2001
2From: Liwei Song <liwei.song@windriver.com>
3Date: Fri, 17 Apr 2020 16:11:59 +0800
4Subject: [PATCH] Sync i915_pciids upto 8717c6b7414f
5
6Import the kernel's i915_pciids.h, up to:
7
8commit 8717c6b7414ffb890672276dccc284c23078ac0e
9Author: Lee Shawn C <shawn.c.lee@intel.com>
10Date: Tue Dec 10 23:04:15 2019 +0800
11
12 drm/i915/cml: Separate U series pci id from origianl list.
13
14Upstream-Status: Submitted [https://patchwork.kernel.org/patch/11494645/]
15
16Signed-off-by: Liwei Song <liwei.song@windriver.com>
17---
18 src/i915_pciids.h | 265 ++++++++++++++++++++++++++++++++++-----------
19 src/intel_module.c | 2 +-
20 test/dri3-test.c | 2 +-
21 3 files changed, 206 insertions(+), 63 deletions(-)
22
23diff --git a/src/i915_pciids.h b/src/i915_pciids.h
24index fd965ffbb92e..1d2c12219f44 100644
25--- a/src/i915_pciids.h
26+++ b/src/i915_pciids.h
27@@ -108,8 +108,10 @@
28 INTEL_VGA_DEVICE(0x2e42, info), /* B43_G */ \
29 INTEL_VGA_DEVICE(0x2e92, info) /* B43_G.1 */
30
31-#define INTEL_PINEVIEW_IDS(info) \
32- INTEL_VGA_DEVICE(0xa001, info), \
33+#define INTEL_PINEVIEW_G_IDS(info) \
34+ INTEL_VGA_DEVICE(0xa001, info)
35+
36+#define INTEL_PINEVIEW_M_IDS(info) \
37 INTEL_VGA_DEVICE(0xa011, info)
38
39 #define INTEL_IRONLAKE_D_IDS(info) \
40@@ -166,7 +168,18 @@
41 #define INTEL_IVB_Q_IDS(info) \
42 INTEL_QUANTA_VGA_DEVICE(info) /* Quanta transcode */
43
44+#define INTEL_HSW_ULT_GT1_IDS(info) \
45+ INTEL_VGA_DEVICE(0x0A02, info), /* ULT GT1 desktop */ \
46+ INTEL_VGA_DEVICE(0x0A0A, info), /* ULT GT1 server */ \
47+ INTEL_VGA_DEVICE(0x0A0B, info), /* ULT GT1 reserved */ \
48+ INTEL_VGA_DEVICE(0x0A06, info) /* ULT GT1 mobile */
49+
50+#define INTEL_HSW_ULX_GT1_IDS(info) \
51+ INTEL_VGA_DEVICE(0x0A0E, info) /* ULX GT1 mobile */
52+
53 #define INTEL_HSW_GT1_IDS(info) \
54+ INTEL_HSW_ULT_GT1_IDS(info), \
55+ INTEL_HSW_ULX_GT1_IDS(info), \
56 INTEL_VGA_DEVICE(0x0402, info), /* GT1 desktop */ \
57 INTEL_VGA_DEVICE(0x040a, info), /* GT1 server */ \
58 INTEL_VGA_DEVICE(0x040B, info), /* GT1 reserved */ \
59@@ -175,20 +188,26 @@
60 INTEL_VGA_DEVICE(0x0C0A, info), /* SDV GT1 server */ \
61 INTEL_VGA_DEVICE(0x0C0B, info), /* SDV GT1 reserved */ \
62 INTEL_VGA_DEVICE(0x0C0E, info), /* SDV GT1 reserved */ \
63- INTEL_VGA_DEVICE(0x0A02, info), /* ULT GT1 desktop */ \
64- INTEL_VGA_DEVICE(0x0A0A, info), /* ULT GT1 server */ \
65- INTEL_VGA_DEVICE(0x0A0B, info), /* ULT GT1 reserved */ \
66 INTEL_VGA_DEVICE(0x0D02, info), /* CRW GT1 desktop */ \
67 INTEL_VGA_DEVICE(0x0D0A, info), /* CRW GT1 server */ \
68 INTEL_VGA_DEVICE(0x0D0B, info), /* CRW GT1 reserved */ \
69 INTEL_VGA_DEVICE(0x0D0E, info), /* CRW GT1 reserved */ \
70 INTEL_VGA_DEVICE(0x0406, info), /* GT1 mobile */ \
71 INTEL_VGA_DEVICE(0x0C06, info), /* SDV GT1 mobile */ \
72- INTEL_VGA_DEVICE(0x0A06, info), /* ULT GT1 mobile */ \
73- INTEL_VGA_DEVICE(0x0A0E, info), /* ULX GT1 mobile */ \
74 INTEL_VGA_DEVICE(0x0D06, info) /* CRW GT1 mobile */
75
76+#define INTEL_HSW_ULT_GT2_IDS(info) \
77+ INTEL_VGA_DEVICE(0x0A12, info), /* ULT GT2 desktop */ \
78+ INTEL_VGA_DEVICE(0x0A1A, info), /* ULT GT2 server */ \
79+ INTEL_VGA_DEVICE(0x0A1B, info), /* ULT GT2 reserved */ \
80+ INTEL_VGA_DEVICE(0x0A16, info) /* ULT GT2 mobile */
81+
82+#define INTEL_HSW_ULX_GT2_IDS(info) \
83+ INTEL_VGA_DEVICE(0x0A1E, info) /* ULX GT2 mobile */ \
84+
85 #define INTEL_HSW_GT2_IDS(info) \
86+ INTEL_HSW_ULT_GT2_IDS(info), \
87+ INTEL_HSW_ULX_GT2_IDS(info), \
88 INTEL_VGA_DEVICE(0x0412, info), /* GT2 desktop */ \
89 INTEL_VGA_DEVICE(0x041a, info), /* GT2 server */ \
90 INTEL_VGA_DEVICE(0x041B, info), /* GT2 reserved */ \
91@@ -197,9 +216,6 @@
92 INTEL_VGA_DEVICE(0x0C1A, info), /* SDV GT2 server */ \
93 INTEL_VGA_DEVICE(0x0C1B, info), /* SDV GT2 reserved */ \
94 INTEL_VGA_DEVICE(0x0C1E, info), /* SDV GT2 reserved */ \
95- INTEL_VGA_DEVICE(0x0A12, info), /* ULT GT2 desktop */ \
96- INTEL_VGA_DEVICE(0x0A1A, info), /* ULT GT2 server */ \
97- INTEL_VGA_DEVICE(0x0A1B, info), /* ULT GT2 reserved */ \
98 INTEL_VGA_DEVICE(0x0D12, info), /* CRW GT2 desktop */ \
99 INTEL_VGA_DEVICE(0x0D1A, info), /* CRW GT2 server */ \
100 INTEL_VGA_DEVICE(0x0D1B, info), /* CRW GT2 reserved */ \
101@@ -207,11 +223,17 @@
102 INTEL_VGA_DEVICE(0x0416, info), /* GT2 mobile */ \
103 INTEL_VGA_DEVICE(0x0426, info), /* GT2 mobile */ \
104 INTEL_VGA_DEVICE(0x0C16, info), /* SDV GT2 mobile */ \
105- INTEL_VGA_DEVICE(0x0A16, info), /* ULT GT2 mobile */ \
106- INTEL_VGA_DEVICE(0x0A1E, info), /* ULX GT2 mobile */ \
107 INTEL_VGA_DEVICE(0x0D16, info) /* CRW GT2 mobile */
108
109+#define INTEL_HSW_ULT_GT3_IDS(info) \
110+ INTEL_VGA_DEVICE(0x0A22, info), /* ULT GT3 desktop */ \
111+ INTEL_VGA_DEVICE(0x0A2A, info), /* ULT GT3 server */ \
112+ INTEL_VGA_DEVICE(0x0A2B, info), /* ULT GT3 reserved */ \
113+ INTEL_VGA_DEVICE(0x0A26, info), /* ULT GT3 mobile */ \
114+ INTEL_VGA_DEVICE(0x0A2E, info) /* ULT GT3 reserved */
115+
116 #define INTEL_HSW_GT3_IDS(info) \
117+ INTEL_HSW_ULT_GT3_IDS(info), \
118 INTEL_VGA_DEVICE(0x0422, info), /* GT3 desktop */ \
119 INTEL_VGA_DEVICE(0x042a, info), /* GT3 server */ \
120 INTEL_VGA_DEVICE(0x042B, info), /* GT3 reserved */ \
121@@ -220,16 +242,11 @@
122 INTEL_VGA_DEVICE(0x0C2A, info), /* SDV GT3 server */ \
123 INTEL_VGA_DEVICE(0x0C2B, info), /* SDV GT3 reserved */ \
124 INTEL_VGA_DEVICE(0x0C2E, info), /* SDV GT3 reserved */ \
125- INTEL_VGA_DEVICE(0x0A22, info), /* ULT GT3 desktop */ \
126- INTEL_VGA_DEVICE(0x0A2A, info), /* ULT GT3 server */ \
127- INTEL_VGA_DEVICE(0x0A2B, info), /* ULT GT3 reserved */ \
128 INTEL_VGA_DEVICE(0x0D22, info), /* CRW GT3 desktop */ \
129 INTEL_VGA_DEVICE(0x0D2A, info), /* CRW GT3 server */ \
130 INTEL_VGA_DEVICE(0x0D2B, info), /* CRW GT3 reserved */ \
131 INTEL_VGA_DEVICE(0x0D2E, info), /* CRW GT3 reserved */ \
132 INTEL_VGA_DEVICE(0x0C26, info), /* SDV GT3 mobile */ \
133- INTEL_VGA_DEVICE(0x0A26, info), /* ULT GT3 mobile */ \
134- INTEL_VGA_DEVICE(0x0A2E, info), /* ULT GT3 reserved */ \
135 INTEL_VGA_DEVICE(0x0D26, info) /* CRW GT3 mobile */
136
137 #define INTEL_HSW_IDS(info) \
138@@ -245,35 +262,59 @@
139 INTEL_VGA_DEVICE(0x0157, info), \
140 INTEL_VGA_DEVICE(0x0155, info)
141
142-#define INTEL_BDW_GT1_IDS(info) \
143- INTEL_VGA_DEVICE(0x1602, info), /* GT1 ULT */ \
144+#define INTEL_BDW_ULT_GT1_IDS(info) \
145 INTEL_VGA_DEVICE(0x1606, info), /* GT1 ULT */ \
146- INTEL_VGA_DEVICE(0x160B, info), /* GT1 Iris */ \
147- INTEL_VGA_DEVICE(0x160E, info), /* GT1 ULX */ \
148+ INTEL_VGA_DEVICE(0x160B, info) /* GT1 Iris */
149+
150+#define INTEL_BDW_ULX_GT1_IDS(info) \
151+ INTEL_VGA_DEVICE(0x160E, info) /* GT1 ULX */
152+
153+#define INTEL_BDW_GT1_IDS(info) \
154+ INTEL_BDW_ULT_GT1_IDS(info), \
155+ INTEL_BDW_ULX_GT1_IDS(info), \
156+ INTEL_VGA_DEVICE(0x1602, info), /* GT1 ULT */ \
157 INTEL_VGA_DEVICE(0x160A, info), /* GT1 Server */ \
158 INTEL_VGA_DEVICE(0x160D, info) /* GT1 Workstation */
159
160-#define INTEL_BDW_GT2_IDS(info) \
161- INTEL_VGA_DEVICE(0x1612, info), /* GT2 Halo */ \
162+#define INTEL_BDW_ULT_GT2_IDS(info) \
163 INTEL_VGA_DEVICE(0x1616, info), /* GT2 ULT */ \
164- INTEL_VGA_DEVICE(0x161B, info), /* GT2 ULT */ \
165- INTEL_VGA_DEVICE(0x161E, info), /* GT2 ULX */ \
166+ INTEL_VGA_DEVICE(0x161B, info) /* GT2 ULT */
167+
168+#define INTEL_BDW_ULX_GT2_IDS(info) \
169+ INTEL_VGA_DEVICE(0x161E, info) /* GT2 ULX */
170+
171+#define INTEL_BDW_GT2_IDS(info) \
172+ INTEL_BDW_ULT_GT2_IDS(info), \
173+ INTEL_BDW_ULX_GT2_IDS(info), \
174+ INTEL_VGA_DEVICE(0x1612, info), /* GT2 Halo */ \
175 INTEL_VGA_DEVICE(0x161A, info), /* GT2 Server */ \
176 INTEL_VGA_DEVICE(0x161D, info) /* GT2 Workstation */
177
178+#define INTEL_BDW_ULT_GT3_IDS(info) \
179+ INTEL_VGA_DEVICE(0x1626, info), /* ULT */ \
180+ INTEL_VGA_DEVICE(0x162B, info) /* Iris */ \
181+
182+#define INTEL_BDW_ULX_GT3_IDS(info) \
183+ INTEL_VGA_DEVICE(0x162E, info) /* ULX */
184+
185 #define INTEL_BDW_GT3_IDS(info) \
186+ INTEL_BDW_ULT_GT3_IDS(info), \
187+ INTEL_BDW_ULX_GT3_IDS(info), \
188 INTEL_VGA_DEVICE(0x1622, info), /* ULT */ \
189- INTEL_VGA_DEVICE(0x1626, info), /* ULT */ \
190- INTEL_VGA_DEVICE(0x162B, info), /* Iris */ \
191- INTEL_VGA_DEVICE(0x162E, info), /* ULX */\
192 INTEL_VGA_DEVICE(0x162A, info), /* Server */ \
193 INTEL_VGA_DEVICE(0x162D, info) /* Workstation */
194
195+#define INTEL_BDW_ULT_RSVD_IDS(info) \
196+ INTEL_VGA_DEVICE(0x1636, info), /* ULT */ \
197+ INTEL_VGA_DEVICE(0x163B, info) /* Iris */
198+
199+#define INTEL_BDW_ULX_RSVD_IDS(info) \
200+ INTEL_VGA_DEVICE(0x163E, info) /* ULX */
201+
202 #define INTEL_BDW_RSVD_IDS(info) \
203+ INTEL_BDW_ULT_RSVD_IDS(info), \
204+ INTEL_BDW_ULX_RSVD_IDS(info), \
205 INTEL_VGA_DEVICE(0x1632, info), /* ULT */ \
206- INTEL_VGA_DEVICE(0x1636, info), /* ULT */ \
207- INTEL_VGA_DEVICE(0x163B, info), /* Iris */ \
208- INTEL_VGA_DEVICE(0x163E, info), /* ULX */ \
209 INTEL_VGA_DEVICE(0x163A, info), /* Server */ \
210 INTEL_VGA_DEVICE(0x163D, info) /* Workstation */
211
212@@ -289,25 +330,40 @@
213 INTEL_VGA_DEVICE(0x22b2, info), \
214 INTEL_VGA_DEVICE(0x22b3, info)
215
216+#define INTEL_SKL_ULT_GT1_IDS(info) \
217+ INTEL_VGA_DEVICE(0x1906, info) /* ULT GT1 */
218+
219+#define INTEL_SKL_ULX_GT1_IDS(info) \
220+ INTEL_VGA_DEVICE(0x190E, info) /* ULX GT1 */
221+
222 #define INTEL_SKL_GT1_IDS(info) \
223- INTEL_VGA_DEVICE(0x1906, info), /* ULT GT1 */ \
224- INTEL_VGA_DEVICE(0x190E, info), /* ULX GT1 */ \
225+ INTEL_SKL_ULT_GT1_IDS(info), \
226+ INTEL_SKL_ULX_GT1_IDS(info), \
227 INTEL_VGA_DEVICE(0x1902, info), /* DT GT1 */ \
228 INTEL_VGA_DEVICE(0x190B, info), /* Halo GT1 */ \
229 INTEL_VGA_DEVICE(0x190A, info) /* SRV GT1 */
230
231-#define INTEL_SKL_GT2_IDS(info) \
232+#define INTEL_SKL_ULT_GT2_IDS(info) \
233 INTEL_VGA_DEVICE(0x1916, info), /* ULT GT2 */ \
234- INTEL_VGA_DEVICE(0x1921, info), /* ULT GT2F */ \
235- INTEL_VGA_DEVICE(0x191E, info), /* ULX GT2 */ \
236+ INTEL_VGA_DEVICE(0x1921, info) /* ULT GT2F */
237+
238+#define INTEL_SKL_ULX_GT2_IDS(info) \
239+ INTEL_VGA_DEVICE(0x191E, info) /* ULX GT2 */
240+
241+#define INTEL_SKL_GT2_IDS(info) \
242+ INTEL_SKL_ULT_GT2_IDS(info), \
243+ INTEL_SKL_ULX_GT2_IDS(info), \
244 INTEL_VGA_DEVICE(0x1912, info), /* DT GT2 */ \
245 INTEL_VGA_DEVICE(0x191B, info), /* Halo GT2 */ \
246 INTEL_VGA_DEVICE(0x191A, info), /* SRV GT2 */ \
247 INTEL_VGA_DEVICE(0x191D, info) /* WKS GT2 */
248
249+#define INTEL_SKL_ULT_GT3_IDS(info) \
250+ INTEL_VGA_DEVICE(0x1926, info) /* ULT GT3 */
251+
252 #define INTEL_SKL_GT3_IDS(info) \
253+ INTEL_SKL_ULT_GT3_IDS(info), \
254 INTEL_VGA_DEVICE(0x1923, info), /* ULT GT3 */ \
255- INTEL_VGA_DEVICE(0x1926, info), /* ULT GT3 */ \
256 INTEL_VGA_DEVICE(0x1927, info), /* ULT GT3 */ \
257 INTEL_VGA_DEVICE(0x192B, info), /* Halo GT3 */ \
258 INTEL_VGA_DEVICE(0x192D, info) /* SRV GT3 */
259@@ -336,45 +392,91 @@
260 INTEL_VGA_DEVICE(0x3184, info), \
261 INTEL_VGA_DEVICE(0x3185, info)
262
263-#define INTEL_KBL_GT1_IDS(info) \
264- INTEL_VGA_DEVICE(0x5913, info), /* ULT GT1.5 */ \
265- INTEL_VGA_DEVICE(0x5915, info), /* ULX GT1.5 */ \
266+#define INTEL_KBL_ULT_GT1_IDS(info) \
267 INTEL_VGA_DEVICE(0x5906, info), /* ULT GT1 */ \
268+ INTEL_VGA_DEVICE(0x5913, info) /* ULT GT1.5 */
269+
270+#define INTEL_KBL_ULX_GT1_IDS(info) \
271 INTEL_VGA_DEVICE(0x590E, info), /* ULX GT1 */ \
272+ INTEL_VGA_DEVICE(0x5915, info) /* ULX GT1.5 */
273+
274+#define INTEL_KBL_GT1_IDS(info) \
275+ INTEL_KBL_ULT_GT1_IDS(info), \
276+ INTEL_KBL_ULX_GT1_IDS(info), \
277 INTEL_VGA_DEVICE(0x5902, info), /* DT GT1 */ \
278 INTEL_VGA_DEVICE(0x5908, info), /* Halo GT1 */ \
279 INTEL_VGA_DEVICE(0x590B, info), /* Halo GT1 */ \
280 INTEL_VGA_DEVICE(0x590A, info) /* SRV GT1 */
281
282-#define INTEL_KBL_GT2_IDS(info) \
283+#define INTEL_KBL_ULT_GT2_IDS(info) \
284 INTEL_VGA_DEVICE(0x5916, info), /* ULT GT2 */ \
285+ INTEL_VGA_DEVICE(0x5921, info) /* ULT GT2F */
286+
287+#define INTEL_KBL_ULX_GT2_IDS(info) \
288+ INTEL_VGA_DEVICE(0x591E, info) /* ULX GT2 */
289+
290+#define INTEL_KBL_GT2_IDS(info) \
291+ INTEL_KBL_ULT_GT2_IDS(info), \
292+ INTEL_KBL_ULX_GT2_IDS(info), \
293 INTEL_VGA_DEVICE(0x5917, info), /* Mobile GT2 */ \
294- INTEL_VGA_DEVICE(0x5921, info), /* ULT GT2F */ \
295- INTEL_VGA_DEVICE(0x591E, info), /* ULX GT2 */ \
296 INTEL_VGA_DEVICE(0x5912, info), /* DT GT2 */ \
297 INTEL_VGA_DEVICE(0x591B, info), /* Halo GT2 */ \
298 INTEL_VGA_DEVICE(0x591A, info), /* SRV GT2 */ \
299 INTEL_VGA_DEVICE(0x591D, info) /* WKS GT2 */
300
301+#define INTEL_KBL_ULT_GT3_IDS(info) \
302+ INTEL_VGA_DEVICE(0x5926, info) /* ULT GT3 */
303+
304 #define INTEL_KBL_GT3_IDS(info) \
305+ INTEL_KBL_ULT_GT3_IDS(info), \
306 INTEL_VGA_DEVICE(0x5923, info), /* ULT GT3 */ \
307- INTEL_VGA_DEVICE(0x5926, info), /* ULT GT3 */ \
308 INTEL_VGA_DEVICE(0x5927, info) /* ULT GT3 */
309
310 #define INTEL_KBL_GT4_IDS(info) \
311 INTEL_VGA_DEVICE(0x593B, info) /* Halo GT4 */
312
313 /* AML/KBL Y GT2 */
314-#define INTEL_AML_GT2_IDS(info) \
315+#define INTEL_AML_KBL_GT2_IDS(info) \
316 INTEL_VGA_DEVICE(0x591C, info), /* ULX GT2 */ \
317 INTEL_VGA_DEVICE(0x87C0, info) /* ULX GT2 */
318
319+/* AML/CFL Y GT2 */
320+#define INTEL_AML_CFL_GT2_IDS(info) \
321+ INTEL_VGA_DEVICE(0x87CA, info)
322+
323+/* CML GT1 */
324+#define INTEL_CML_GT1_IDS(info) \
325+ INTEL_VGA_DEVICE(0x9BA5, info), \
326+ INTEL_VGA_DEVICE(0x9BA8, info), \
327+ INTEL_VGA_DEVICE(0x9BA4, info), \
328+ INTEL_VGA_DEVICE(0x9BA2, info)
329+
330+#define INTEL_CML_U_GT1_IDS(info) \
331+ INTEL_VGA_DEVICE(0x9B21, info), \
332+ INTEL_VGA_DEVICE(0x9BAA, info), \
333+ INTEL_VGA_DEVICE(0x9BAC, info)
334+
335+/* CML GT2 */
336+#define INTEL_CML_GT2_IDS(info) \
337+ INTEL_VGA_DEVICE(0x9BC5, info), \
338+ INTEL_VGA_DEVICE(0x9BC8, info), \
339+ INTEL_VGA_DEVICE(0x9BC4, info), \
340+ INTEL_VGA_DEVICE(0x9BC2, info), \
341+ INTEL_VGA_DEVICE(0x9BC6, info), \
342+ INTEL_VGA_DEVICE(0x9BE6, info), \
343+ INTEL_VGA_DEVICE(0x9BF6, info)
344+
345+#define INTEL_CML_U_GT2_IDS(info) \
346+ INTEL_VGA_DEVICE(0x9B41, info), \
347+ INTEL_VGA_DEVICE(0x9BCA, info), \
348+ INTEL_VGA_DEVICE(0x9BCC, info)
349+
350 #define INTEL_KBL_IDS(info) \
351 INTEL_KBL_GT1_IDS(info), \
352 INTEL_KBL_GT2_IDS(info), \
353 INTEL_KBL_GT3_IDS(info), \
354 INTEL_KBL_GT4_IDS(info), \
355- INTEL_AML_GT2_IDS(info)
356+ INTEL_AML_KBL_GT2_IDS(info)
357
358 /* CFL S */
359 #define INTEL_CFL_S_GT1_IDS(info) \
360@@ -390,6 +492,9 @@
361 INTEL_VGA_DEVICE(0x3E9A, info) /* SRV GT2 */
362
363 /* CFL H */
364+#define INTEL_CFL_H_GT1_IDS(info) \
365+ INTEL_VGA_DEVICE(0x3E9C, info)
366+
367 #define INTEL_CFL_H_GT2_IDS(info) \
368 INTEL_VGA_DEVICE(0x3E9B, info), /* Halo GT2 */ \
369 INTEL_VGA_DEVICE(0x3E94, info) /* Halo GT2 */
370@@ -407,30 +512,43 @@
371
372 /* WHL/CFL U GT1 */
373 #define INTEL_WHL_U_GT1_IDS(info) \
374- INTEL_VGA_DEVICE(0x3EA1, info)
375+ INTEL_VGA_DEVICE(0x3EA1, info), \
376+ INTEL_VGA_DEVICE(0x3EA4, info)
377
378 /* WHL/CFL U GT2 */
379 #define INTEL_WHL_U_GT2_IDS(info) \
380- INTEL_VGA_DEVICE(0x3EA0, info)
381+ INTEL_VGA_DEVICE(0x3EA0, info), \
382+ INTEL_VGA_DEVICE(0x3EA3, info)
383
384 /* WHL/CFL U GT3 */
385 #define INTEL_WHL_U_GT3_IDS(info) \
386- INTEL_VGA_DEVICE(0x3EA2, info), \
387- INTEL_VGA_DEVICE(0x3EA3, info), \
388- INTEL_VGA_DEVICE(0x3EA4, info)
389+ INTEL_VGA_DEVICE(0x3EA2, info)
390
391 #define INTEL_CFL_IDS(info) \
392 INTEL_CFL_S_GT1_IDS(info), \
393 INTEL_CFL_S_GT2_IDS(info), \
394+ INTEL_CFL_H_GT1_IDS(info), \
395 INTEL_CFL_H_GT2_IDS(info), \
396 INTEL_CFL_U_GT2_IDS(info), \
397 INTEL_CFL_U_GT3_IDS(info), \
398 INTEL_WHL_U_GT1_IDS(info), \
399 INTEL_WHL_U_GT2_IDS(info), \
400- INTEL_WHL_U_GT3_IDS(info)
401+ INTEL_WHL_U_GT3_IDS(info), \
402+ INTEL_AML_CFL_GT2_IDS(info), \
403+ INTEL_CML_GT1_IDS(info), \
404+ INTEL_CML_GT2_IDS(info), \
405+ INTEL_CML_U_GT1_IDS(info), \
406+ INTEL_CML_U_GT2_IDS(info)
407
408 /* CNL */
409+#define INTEL_CNL_PORT_F_IDS(info) \
410+ INTEL_VGA_DEVICE(0x5A54, info), \
411+ INTEL_VGA_DEVICE(0x5A5C, info), \
412+ INTEL_VGA_DEVICE(0x5A44, info), \
413+ INTEL_VGA_DEVICE(0x5A4C, info)
414+
415 #define INTEL_CNL_IDS(info) \
416+ INTEL_CNL_PORT_F_IDS(info), \
417 INTEL_VGA_DEVICE(0x5A51, info), \
418 INTEL_VGA_DEVICE(0x5A59, info), \
419 INTEL_VGA_DEVICE(0x5A41, info), \
420@@ -440,22 +558,47 @@
421 INTEL_VGA_DEVICE(0x5A42, info), \
422 INTEL_VGA_DEVICE(0x5A4A, info), \
423 INTEL_VGA_DEVICE(0x5A50, info), \
424- INTEL_VGA_DEVICE(0x5A40, info), \
425- INTEL_VGA_DEVICE(0x5A54, info), \
426- INTEL_VGA_DEVICE(0x5A5C, info), \
427- INTEL_VGA_DEVICE(0x5A44, info), \
428- INTEL_VGA_DEVICE(0x5A4C, info)
429+ INTEL_VGA_DEVICE(0x5A40, info)
430
431 /* ICL */
432-#define INTEL_ICL_11_IDS(info) \
433+#define INTEL_ICL_PORT_F_IDS(info) \
434 INTEL_VGA_DEVICE(0x8A50, info), \
435- INTEL_VGA_DEVICE(0x8A51, info), \
436 INTEL_VGA_DEVICE(0x8A5C, info), \
437- INTEL_VGA_DEVICE(0x8A5D, info), \
438+ INTEL_VGA_DEVICE(0x8A59, info), \
439+ INTEL_VGA_DEVICE(0x8A58, info), \
440 INTEL_VGA_DEVICE(0x8A52, info), \
441 INTEL_VGA_DEVICE(0x8A5A, info), \
442 INTEL_VGA_DEVICE(0x8A5B, info), \
443+ INTEL_VGA_DEVICE(0x8A57, info), \
444+ INTEL_VGA_DEVICE(0x8A56, info), \
445 INTEL_VGA_DEVICE(0x8A71, info), \
446- INTEL_VGA_DEVICE(0x8A70, info)
447+ INTEL_VGA_DEVICE(0x8A70, info), \
448+ INTEL_VGA_DEVICE(0x8A53, info), \
449+ INTEL_VGA_DEVICE(0x8A54, info)
450+
451+#define INTEL_ICL_11_IDS(info) \
452+ INTEL_ICL_PORT_F_IDS(info), \
453+ INTEL_VGA_DEVICE(0x8A51, info), \
454+ INTEL_VGA_DEVICE(0x8A5D, info)
455+
456+/* EHL/JSL */
457+#define INTEL_EHL_IDS(info) \
458+ INTEL_VGA_DEVICE(0x4500, info), \
459+ INTEL_VGA_DEVICE(0x4571, info), \
460+ INTEL_VGA_DEVICE(0x4551, info), \
461+ INTEL_VGA_DEVICE(0x4541, info), \
462+ INTEL_VGA_DEVICE(0x4E71, info), \
463+ INTEL_VGA_DEVICE(0x4E61, info), \
464+ INTEL_VGA_DEVICE(0x4E51, info)
465+
466+/* TGL */
467+#define INTEL_TGL_12_IDS(info) \
468+ INTEL_VGA_DEVICE(0x9A49, info), \
469+ INTEL_VGA_DEVICE(0x9A40, info), \
470+ INTEL_VGA_DEVICE(0x9A59, info), \
471+ INTEL_VGA_DEVICE(0x9A60, info), \
472+ INTEL_VGA_DEVICE(0x9A68, info), \
473+ INTEL_VGA_DEVICE(0x9A70, info), \
474+ INTEL_VGA_DEVICE(0x9A78, info)
475
476 #endif /* _I915_PCIIDS_H */
477diff --git a/src/intel_module.c b/src/intel_module.c
478index a71c2e40b774..e0b94c190254 100644
479--- a/src/intel_module.c
480+++ b/src/intel_module.c
481@@ -357,7 +357,7 @@ static const struct pci_id_match intel_device_match[] = {
482 INTEL_I945GM_IDS(&intel_i945_info),
483
484 INTEL_G33_IDS(&intel_g33_info),
485- INTEL_PINEVIEW_IDS(&intel_g33_info),
486+ INTEL_PINEVIEW_G_IDS(&intel_g33_info),
487
488 INTEL_I965G_IDS(&intel_i965_info),
489 INTEL_I965GM_IDS(&intel_i965_info),
490diff --git a/test/dri3-test.c b/test/dri3-test.c
491index 78e105a8b64a..5265a30cea1b 100644
492--- a/test/dri3-test.c
493+++ b/test/dri3-test.c
494@@ -76,7 +76,7 @@ static const struct pci_id_match ids[] = {
495 INTEL_I945GM_IDS(031),
496
497 INTEL_G33_IDS(033),
498- INTEL_PINEVIEW_IDS(033),
499+ INTEL_PINEVIEW_G_IDS(033),
500
501 INTEL_I965G_IDS(040),
502 INTEL_I965GM_IDS(040),
503--
5042.17.1
505
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 @@
1From c2d730cf79eb3e4bea41f5ed8a8a21092ced8b03 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Hanno=20B=C3=B6ck?= <hanno@gentoo.org>
3Date: Sun, 2 Feb 2020 14:18:39 +0100
4Subject: [PATCH] i810: Avoid duplicate definition of I810PatternROP
5
6Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/commit/652d93cbbdc159c0883f1b626ea48e28bac63ae3]
7Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 src/legacy/i810/i810.h | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/src/legacy/i810/i810.h b/src/legacy/i810/i810.h
14index 347188c9..19be049c 100644
15--- a/src/legacy/i810/i810.h
16+++ b/src/legacy/i810/i810.h
17@@ -322,6 +322,6 @@ extern void I810InitMC(ScreenPtr pScreen);
18 extern const OptionInfoRec *I810AvailableOptions(int chipid, int busid);
19
20 extern const int I810CopyROP[16];
21-const int I810PatternROP[16];
22+extern const int I810PatternROP[16];
23
24 #endif /* _I810_H_ */
25--
262.28.0
27
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..2e526bd799 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
@@ -9,34 +9,29 @@ Infrastructure (DRI)."
9 9
10LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e" 10LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e"
11 11
12SRCREV = "f66d39544bb8339130c96d282a80f87ca1606caf" 12SRCREV = "31486f40f8e8f8923ca0799aea84b58799754564"
13PV = "2.99.917+git${SRCPV}" 13PV = "2.99.917+git"
14S = "${WORKDIR}/git" 14S = "${WORKDIR}/git"
15 15
16SRC_URI = "git://anongit.freedesktop.org/xorg/driver/xf86-video-intel \ 16SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel;protocol=https;branch=master"
17 file://0001-Sync-i915_pciids-upto-8717c6b7414f.patch \
18 file://0001-i810-Avoid-duplicate-definition-of-I810PatternROP.patch \
19"
20 17
21UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" 18UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
22 19
23DEPENDS += "virtual/libx11 drm libpciaccess pixman" 20DEPENDS += "virtual/libx11 drm libpciaccess pixman cairo libpng libxcb libxcomposite libxdamage libxrender libxrandr libxext libxfixes"
24 21
25PACKAGECONFIG ??= "sna xvmc uxa udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri2 dri3', '', d)}" 22PACKAGECONFIG ??= "sna xvmc uxa udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri2 dri3', '', d)}"
26 23
27PACKAGECONFIG[dri] = "--enable-dri,--disable-dri"
28PACKAGECONFIG[dri1] = "--enable-dri1,--disable-dri1"
29PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2" 24PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2"
30PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3" 25PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3"
31PACKAGECONFIG[sna] = "--enable-sna,--disable-sna" 26PACKAGECONFIG[sna] = "--enable-sna,--disable-sna"
32PACKAGECONFIG[uxa] = "--enable-uxa,--disable-uxa" 27PACKAGECONFIG[uxa] = "--enable-uxa,--disable-uxa"
33PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev" 28PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
34PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc xcb-util" 29PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc xcb-util"
35PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,libxinerama libxrandr libxdamage libxfixes libxcursor libxtst libxrender libxscrnsaver libxext libx11 pixman libxcb libxshmfence" 30PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,libxinerama libxcursor libxtst libxscrnsaver libxshmfence"
36 31
37# --enable-kms-only option is required by ROOTLESS_X 32# --enable-kms-only option is required by ROOTLESS_X
38EXTRA_OECONF += '${@oe.utils.conditional( "ROOTLESS_X", "1", " --enable-kms-only", "", d )}' 33EXTRA_OECONF += '${@oe.utils.conditional( "ROOTLESS_X", "1", " --enable-kms-only", "", d )}'
39 34
40COMPATIBLE_HOST = '(i.86|x86_64).*-linux' 35COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
41 36
42FILES_${PN} += "${datadir}/polkit-1" 37FILES:${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.6.0.bb
index d313c8c6a8..33c2035f6b 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.6.0.bb
@@ -13,7 +13,8 @@ DEPENDS += "virtual/libx11 xorgproto libpciaccess"
13 13
14COMPATIBLE_HOST = '(i.86|x86_64).*-linux' 14COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
15 15
16RRECOMMENDS_${PN} += "xserver-xorg-module-libint10" 16RRECOMMENDS:${PN} += "xserver-xorg-module-libint10"
17 17
18SRC_URI[sha256sum] = "1f1624f3c73906801ad1bc98335a2cb5676a7a4d18e5374d9a1d18464e54c659" 18XORG_DRIVER_COMPRESSOR = ".tar.xz"
19SRC_URI[sha256sum] = "10082771b1a8f659c60b3d9b70456a4b59948a75b3cade2dfa33b8b05e549bb1"
19 20
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
deleted file mode 100644
index 5bda720ce5..0000000000
--- a/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch
+++ /dev/null
@@ -1,103 +0,0 @@
1From da6612659a279bcb02f70622b53a3894fbc11052 Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Fri, 9 Dec 2016 14:35:45 +0200
4Subject: [PATCH] Add option for vmwgfx
5
6Upstream-Status:Submitted
7
8Signed-off-by: Ross Burton <ross.burton@intel.com>
9Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
10---
11 configure.ac | 51 +++++++++++++++++++++------------------------------
12 1 file changed, 21 insertions(+), 30 deletions(-)
13
14diff --git a/configure.ac b/configure.ac
15index 9f259ce..f3fec57 100644
16--- a/configure.ac
17+++ b/configure.ac
18@@ -64,6 +64,13 @@ AC_ARG_ENABLE(vmwarectrl-client,
19 [VMWARECTRL=$enableval], [VMWARECTRL=no])
20 AM_CONDITIONAL(BUILD_VMWARECTRL, [test "x$VMWARECTRL" = xyes])
21
22+# Define a configure option to build the vmwgfx driver
23+AC_ARG_ENABLE(vmwgfx,
24+ AS_HELP_STRING([--disable-vmwgfx],
25+ [Disable vmwgfx driver (KMS/3D) (default: enabled)]),
26+ [VMWGFX="$enableval"], [VMWGFX="yes"])
27+AM_CONDITIONAL(BUILD_VMWGFX, test "x$VMWGFX" = xyes)
28+
29 # Store the list of server defined optional extensions in REQUIRED_MODULES
30 XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
31 XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
32@@ -85,11 +92,6 @@ PKG_CHECK_EXISTS([xorg-server >= 1.4.99],
33 [AC_DEFINE([HAVE_XORG_SERVER_1_5_0], 1,
34 [Has version 1.5.0 or greater of the Xserver])])
35
36-PKG_CHECK_EXISTS([xorg-server >= 1.7.0],
37- [AC_DEFINE([HAVE_XORG_SERVER_1_7_0], 1,
38- [Has version 1.7.0 or greater of the Xserver])
39- BUILD_VMWGFX=yes],[BUILD_VMWGFX=no])
40-
41 PKG_CHECK_EXISTS([xorg-server >= 1.12.0],
42 [AC_DEFINE([HAVE_XORG_SERVER_1_12_0], 1,
43 [Has version 1.12.0 or greater of the Xserver])])
44@@ -114,34 +116,22 @@ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
45
46 AC_SUBST([moduledir])
47
48-if test x$BUILD_VMWGFX = xyes; then
49- PKG_CHECK_MODULES([LIBDRM], [libdrm],[],[BUILD_VMWGFX=no])
50-fi
51-if test x$BUILD_VMWGFX = xyes; then
52-#
53-# Early versions of mesa 10 forgot to bump the XA major version number in
54-# the xa_tracker.h header
55-#
56- PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0],
57- [PKG_CHECK_EXISTS([xatracker = 2.0.0],
58- [AC_DEFINE([HAVE_XA_2], 1,
59- [Has version 2 of XA])])],
60- [BUILD_VMWGFX=no])
61-#
62-# Check for prime.
63-#
64+AC_MSG_CHECKING([whether to build Kernel Mode Setting and 3D])
65+if test x$VMWGFX = xyes; then
66+ AC_MSG_RESULT([yes])
67+ PKG_CHECK_MODULES([LIBDRM], [libdrm])
68+ # Check for prime.
69 PKG_CHECK_EXISTS([libdrm >= 2.4.38],
70 [AC_DEFINE([HAVE_LIBDRM_2_4_38], 1,
71 [Has version 2.4.38 or greater of libdrm])])
72-fi
73
74-DRIVER_NAME=vmware
75-AC_SUBST([DRIVER_NAME])
76-
77-AC_MSG_CHECKING([whether to build Kernel Mode Setting and 3D])
78-if test x$BUILD_VMWGFX = xyes; then
79- AC_MSG_RESULT([yes])
80- AC_DEFINE([BUILD_VMWGFX], 1, [Building the vmwgfx driver path])
81+ # Early versions of mesa 10 forgot to bump the XA major version number
82+ # in the xa_tracker.h header
83+ PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0],
84+ [PKG_CHECK_EXISTS([xatracker = 2.0.0],
85+ [AC_DEFINE([HAVE_XA_2], 1,
86+ [Has version 2 of XA])])])
87+ AC_DEFINE([BUILD_VMWGFX], 1, [Building the vmwgfx driver path])
88 libudev_check=yes
89 AC_ARG_WITH([libudev],
90 [AS_HELP_STRING([--without-libudev],
91@@ -158,7 +148,8 @@ else
92 AC_MSG_RESULT([no])
93 fi
94
95-AM_CONDITIONAL(BUILD_VMWGFX, test "x$BUILD_VMWGFX" = xyes)
96+DRIVER_NAME=vmware
97+AC_SUBST([DRIVER_NAME])
98
99 AC_CONFIG_FILES([
100 Makefile
101--
1022.1.4
103
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.3.0.bb b/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.4.0.bb
index 41612b7f07..d7ba2b9e86 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.3.0.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.4.0.bb
@@ -7,13 +7,8 @@ DESCRIPTION = "vmware is an Xorg driver for VMware virtual video cards."
7LIC_FILES_CHKSUM = "file://COPYING;md5=5fcd7d437a959a15fbee8707747c6b53" 7LIC_FILES_CHKSUM = "file://COPYING;md5=5fcd7d437a959a15fbee8707747c6b53"
8 8
9DEPENDS += "virtual/libx11 xorgproto libpciaccess" 9DEPENDS += "virtual/libx11 xorgproto libpciaccess"
10XORG_DRIVER_COMPRESSOR = ".tar.xz"
10 11
11SRC_URI += "file://0002-add-option-for-vmwgfx.patch" 12SRC_URI[sha256sum] = "aed31ee5ed5ecc6e2226705383e7ad06f7602c1376a295305f376b17af3eb81a"
12
13SRC_URI[md5sum] = "08d66d062055080ff699ab4869726ea2"
14SRC_URI[sha256sum] = "47971924659e51666a757269ad941a059ef5afe7a47b5101c174a6022ac4066c"
15 13
16COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)' 14COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
17
18PACKAGECONFIG ?= ""
19PACKAGECONFIG[vmwgfx] = "--enable-vmwgfx, --disable-vmwgfx, libdrm virtual/mesa"
diff --git a/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc b/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
index 493b90a298..c61cdd05b3 100644
--- a/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
+++ b/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
@@ -2,25 +2,27 @@ SUMMARY = "X driver"
2HOMEPAGE = "http://www.x.org" 2HOMEPAGE = "http://www.x.org"
3BUGTRACKER = "https://bugs.freedesktop.org" 3BUGTRACKER = "https://bugs.freedesktop.org"
4SECTION = "x11/drivers" 4SECTION = "x11/drivers"
5LICENSE = "MIT-X" 5LICENSE = "MIT"
6 6
7PE = "2" 7PE = "2"
8 8
9DEPENDS = "virtual/xserver xorgproto util-macros" 9DEPENDS = "virtual/xserver xorgproto util-macros"
10 10
11SRC_URI = "${XORG_MIRROR}/individual/driver/${BPN}-${PV}.tar.bz2" 11XORG_DRIVER_COMPRESSOR ?= ".tar.bz2"
12SRC_URI = "${XORG_MIRROR}/individual/driver/${BPN}-${PV}${XORG_DRIVER_COMPRESSOR}"
12 13
13FILES_${PN} += " ${libdir}/xorg/modules/drivers/*.so" 14FILES:${PN} += " ${libdir}/xorg/modules/drivers/*.so"
14 15
16inherit pkgconfig features_check
15XORGBUILDCLASS ??= "autotools" 17XORGBUILDCLASS ??= "autotools"
16inherit ${XORGBUILDCLASS} pkgconfig features_check 18inherit_defer ${XORGBUILDCLASS}
17 19
18# depends on virtual/xserver 20# depends on virtual/xserver
19REQUIRED_DISTRO_FEATURES = "x11" 21REQUIRED_DISTRO_FEATURES = "x11"
20 22
21# FIXME: We don't want to include the libtool archives (*.la) from modules 23# FIXME: We don't want to include the libtool archives (*.la) from modules
22# directory, as they serve no useful purpose. Upstream should fix Makefile.am 24# directory, as they serve no useful purpose. Upstream should fix Makefile.am
23do_install_append() { 25do_install:append() {
24 find ${D}${libdir}/xorg/modules -regex ".*\.la$" | xargs rm -f -- 26 find ${D}${libdir}/xorg/modules -regex ".*\.la$" | xargs rm -f --
25} 27}
26 28
@@ -38,6 +40,6 @@ def _add_xorg_abi_depends(d, name):
38 abi = "%sxorg-abi-%s-%s" % (mlprefix, name, output.split(".")[0]) 40 abi = "%sxorg-abi-%s-%s" % (mlprefix, name, output.split(".")[0])
39 41
40 pn = d.getVar("PN") 42 pn = d.getVar("PN")
41 d.appendVar('RDEPENDS_' + pn, ' ' + abi) 43 d.appendVar('RDEPENDS:' + pn, ' ' + abi)
42 44
43SECURITY_LDFLAGS = "${SECURITY_X_LDFLAGS}" 45SECURITY_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() {
7} 7}
8PACKAGEFUNCS =+ "add_xorg_abi_depends" 8PACKAGEFUNCS =+ "add_xorg_abi_depends"
9 9
10FILES_${PN} += " ${libdir}/xorg/modules/input/*.so \ 10FILES:${PN} += " ${libdir}/xorg/modules/input/*.so \
11 ${datadir}/X11/xorg.conf.d \ 11 ${datadir}/X11/xorg.conf.d \
12 " 12 "
diff --git a/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch b/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch
deleted file mode 100644
index ec7c7d80c1..0000000000
--- a/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From b08c43a0842076e0a94e88ad6456a9326cd7ffc9 Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Tue, 17 May 2011 23:03:02 +0000
4Subject: [PATCH] Improve handling of 'all' architecture recipes and their
5
6Upstream-Status: Inappropriate [configuration]
7
8XORG_DEFAULT_OPTIONS pulls in the following dependency chains:
9
10XORG_CWARNFLAGS -> AC_PROG_CC_C99
11XORG_STRICT_OPTION -> AC_PROG_CC_C99, XORG_CWARNFLAGS
12XORG_MANPAGE_SECTIONS -> AC_CANONICAL_HOST -> Checks host
13
14each of which triggers the use of the host compiler. As an "all"
15architecture package, it shouldn't need a compiler (and doesn't).
16
17RP 17/5/2011
18
19---
20 configure.ac | 6 +++---
21 1 file changed, 3 insertions(+), 3 deletions(-)
22
23diff --git a/configure.ac b/configure.ac
24index 622c27b..5ee84ed 100644
25--- a/configure.ac
26+++ b/configure.ac
27@@ -3,12 +3,12 @@ AC_INIT([encodings], [1.0.5],
28 [https://gitlab.freedesktop.org/xorg/font/encodings/issues])
29 AM_INIT_AUTOMAKE([foreign dist-bzip2])
30
31-# Require xorg-macros: XORG_DEFAULT_OPTIONS
32 m4_ifndef([XORG_MACROS_VERSION],
33 [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
34 XORG_MACROS_VERSION(1.3)
35-XORG_DEFAULT_OPTIONS
36-
37+XORG_RELEASE_VERSION
38+XORG_CHANGELOG
39+XORG_INSTALL
40 AC_PROG_INSTALL
41
42 # Require X.Org's font util macros 1.2 or later
diff --git a/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb b/meta/recipes-graphics/xorg-font/encodings_1.1.0.bb
index 713fcfb935..7432c08ec0 100644
--- a/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb
+++ b/meta/recipes-graphics/xorg-font/encodings_1.1.0.bb
@@ -7,19 +7,18 @@ require xorg-font-common.inc
7LICENSE = "PD" 7LICENSE = "PD"
8LIC_FILES_CHKSUM = "file://COPYING;md5=9da93f2daf2d5572faa2bfaf0dbd9e76" 8LIC_FILES_CHKSUM = "file://COPYING;md5=9da93f2daf2d5572faa2bfaf0dbd9e76"
9PE = "1" 9PE = "1"
10PR = "r3"
11 10
12DEPENDS = "mkfontscale-native mkfontdir-native font-util-native" 11DEPENDS = "mkfontscale-native mkfontdir-native font-util-native"
13RDEPENDS_${PN} = "" 12RDEPENDS:${PN} = ""
14 13
15SRC_URI += "file://nocompiler.patch" 14SRC_URI[sha256sum] = "9ff13c621756cfa12e95f32ba48a5b23839e8f577d0048beda66c67dab4de975"
16SRC_URI[md5sum] = "bbae4f247b88ccde0e85ed6a403da22a" 15
17SRC_URI[sha256sum] = "bd96e16143a044b19e87f217cf6a3763a70c561d1076aad6f6d862ec41774a31" 16SRC_URI_EXT = "xz"
18 17
19inherit allarch 18inherit allarch
20 19
21EXTRA_OECONF += "--with-encodingsdir=${datadir}/fonts/X11/encodings" 20EXTRA_OECONF += "--with-encodingsdir=${datadir}/fonts/X11/encodings"
22 21
23# postinst from .inc doesn't apply to this recipe 22# postinst from .inc doesn't apply to this recipe
24pkg_postinst_${PN} () { 23pkg_postinst:${PN} () {
25} 24}
diff --git a/meta/recipes-graphics/xorg-font/font-alias-1.0.4/nocompiler.patch b/meta/recipes-graphics/xorg-font/font-alias-1.0.4/nocompiler.patch
deleted file mode 100644
index e54eee4ea9..0000000000
--- a/meta/recipes-graphics/xorg-font/font-alias-1.0.4/nocompiler.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From fa2bbd48a55d54bd2dae30edf7936e3ab7587c96 Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Tue, 17 May 2011 23:03:02 +0000
4Subject: [PATCH] Improve handling of 'all' architecture recipes and their
5
6Upstream-Status: Inappropriate [configuration]
7
8XORG_DEFAULT_OPTIONS pulls in the following dependency chains:
9
10XORG_CWARNFLAGS -> AC_PROG_CC_C99
11XORG_STRICT_OPTION -> AC_PROG_CC_C99, XORG_CWARNFLAGS
12XORG_MANPAGE_SECTIONS -> AC_CANONICAL_HOST -> Checks host
13
14each of which triggers the use of the host compiler. As an "all"
15architecture package, it shouldn't need a compiler (and doesn't).
16
17RP 17/5/2011
18
19---
20 configure.ac | 6 +++---
21 1 file changed, 3 insertions(+), 3 deletions(-)
22
23diff --git a/configure.ac b/configure.ac
24index 3407c69..9fe1f89 100644
25--- a/configure.ac
26+++ b/configure.ac
27@@ -27,12 +27,12 @@ AC_INIT([font-alias], [1.0.4],
28 [font-alias])
29 AM_INIT_AUTOMAKE([foreign dist-bzip2])
30
31-# Require xorg-macros: XORG_DEFAULT_OPTIONS
32 m4_ifndef([XORG_MACROS_VERSION],
33 [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
34 XORG_MACROS_VERSION(1.3)
35-XORG_DEFAULT_OPTIONS
36-
37+XORG_RELEASE_VERSION
38+XORG_CHANGELOG
39+XORG_INSTALL
40 AC_PROG_INSTALL
41
42 # Require X.Org's font util macros 1.2 or later
diff --git a/meta/recipes-graphics/xorg-font/font-alias_1.0.4.bb b/meta/recipes-graphics/xorg-font/font-alias_1.0.5.bb
index e4b70c69dc..03c39a4334 100644
--- a/meta/recipes-graphics/xorg-font/font-alias_1.0.4.bb
+++ b/meta/recipes-graphics/xorg-font/font-alias_1.0.5.bb
@@ -9,15 +9,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bf0158b89be493d523d69d9f29265038 \
9 file://misc/fonts.alias;md5=1bdafa7c31aa54f87f3531f2ef8ed5a6 \ 9 file://misc/fonts.alias;md5=1bdafa7c31aa54f87f3531f2ef8ed5a6 \
10 file://100dpi/fonts.alias;md5=85bebd6ca213aa656c301a72eb4397cb \ 10 file://100dpi/fonts.alias;md5=85bebd6ca213aa656c301a72eb4397cb \
11 " 11 "
12 12SRC_URI_EXT = "xz"
13SRC_URI += "file://nocompiler.patch"
14 13
15DEPENDS = "util-macros-native font-util-native" 14DEPENDS = "util-macros-native font-util-native"
16RDEPENDS_${PN} = "encodings font-util" 15RDEPENDS:${PN} = "encodings font-util"
17RDEPENDS_${PN}_class-native = "font-util-native" 16RDEPENDS:${PN}:class-native = "font-util-native"
18 17
19inherit allarch 18inherit allarch
20 19
21PE = "1" 20PE = "1"
22 21
23SRC_URI[sha256sum] = "f3111ae8bf2e980f5f56af400e8eefe5fc9f4207f4a412ea79637fd66c945276" 22SRC_URI[sha256sum] = "9f89e217bb73e0e3636a0a493fbf8b7c995156e0c53d9a0476d201b67c2d6b6e"
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
deleted file mode 100644
index ebe7a603fa..0000000000
--- a/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb
+++ /dev/null
@@ -1,22 +0,0 @@
1SUMMARY = "X.Org font package creation/installation utilities"
2
3require xorg-font-common.inc
4
5#Unicode is MIT
6LICENSE = "BSD & MIT"
7LIC_FILES_CHKSUM = "file://COPYING;md5=5df208ec65eb84ce5bb8d82d8f3b9675 \
8 file://ucs2any.c;endline=28;md5=8357dc567fc628bd12696f15b2a33bcb \
9 file://bdftruncate.c;endline=26;md5=4f82ffc101a1b165eae9c6998abff937 \
10 file://map-ISO8859-1;beginline=9;endline=23;md5=1cecb984063248f29ffe5c46f5c04f34"
11
12DEPENDS = "encodings util-macros"
13DEPENDS_class-native = "util-macros-native"
14RDEPENDS_${PN} = "mkfontdir mkfontscale encodings"
15RDEPENDS_${PN}_class-native = ""
16
17BBCLASSEXTEND = "native"
18
19SRC_URI[md5sum] = "3d6adb76fdd072db8c8fae41b40855e8"
20SRC_URI[sha256sum] = "3ad880444123ac06a7238546fa38a2a6ad7f7e0cc3614de7e103863616522282"
21
22SYSROOT_DIRS_BLACKLIST_remove = "${datadir}/fonts"
diff --git a/meta/recipes-graphics/xorg-font/font-util_1.4.1.bb b/meta/recipes-graphics/xorg-font/font-util_1.4.1.bb
new file mode 100644
index 0000000000..0c65927fb4
--- /dev/null
+++ b/meta/recipes-graphics/xorg-font/font-util_1.4.1.bb
@@ -0,0 +1,23 @@
1SUMMARY = "X.Org font package creation/installation utilities"
2
3require xorg-font-common.inc
4
5LICENSE = "Unicode-TOU & BSD-4-Clause & BSD-2-Clause"
6LIC_FILES_CHKSUM = "file://COPYING;md5=2a9e705c00e463c8d294f90486852e06 \
7 file://ucs2any.c;endline=28;md5=8357dc567fc628bd12696f15b2a33bcb \
8 file://bdftruncate.c;endline=26;md5=4f82ffc101a1b165eae9c6998abff937 \
9 file://map-ISO8859-1;beginline=1;endline=4;md5=9c9c1d525d29c0e82b5c99edbb8e71c1 \
10 "
11
12DEPENDS = "encodings util-macros"
13DEPENDS:class-native = "util-macros-native"
14RDEPENDS:${PN} = "mkfontdir mkfontscale encodings"
15RDEPENDS:${PN}:class-native = ""
16
17BBCLASSEXTEND = "native"
18
19SRC_URI[sha256sum] = "5c9f64123c194b150fee89049991687386e6ff36ef2af7b80ba53efaf368cc95"
20
21SYSROOT_DIRS_IGNORE:remove = "${datadir}/fonts"
22
23SRC_URI_EXT = "xz"
diff --git a/meta/recipes-graphics/xorg-font/xorg-font-common.inc b/meta/recipes-graphics/xorg-font/xorg-font-common.inc
index 7ca5c76a66..edf7cf7642 100644
--- a/meta/recipes-graphics/xorg-font/xorg-font-common.inc
+++ b/meta/recipes-graphics/xorg-font/xorg-font-common.inc
@@ -2,14 +2,15 @@ HOMEPAGE = "http://www.x.org"
2BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" 2BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
3 3
4SECTION = "x11/fonts" 4SECTION = "x11/fonts"
5LICENSE = "MIT-X" 5LICENSE = "MIT"
6 6
7DEPENDS = " encodings font-alias font-util-native" 7DEPENDS = " encodings font-alias font-util-native"
8RDEPENDS_${PN} = "encodings font-util font-alias" 8RDEPENDS:${PN} = "encodings font-util font-alias"
9 9
10XORG_PN = "${BPN}" 10XORG_PN = "${BPN}"
11 11
12SRC_URI = "${XORG_MIRROR}/individual/font/${XORG_PN}-${PV}.tar.bz2" 12SRC_URI_EXT = "bz2"
13SRC_URI = "${XORG_MIRROR}/individual/font/${XORG_PN}-${PV}.tar.${SRC_URI_EXT}"
13S = "${WORKDIR}/${XORG_PN}-${PV}" 14S = "${WORKDIR}/${XORG_PN}-${PV}"
14 15
15inherit autotools pkgconfig features_check 16inherit autotools pkgconfig features_check
@@ -19,17 +20,17 @@ REQUIRED_DISTRO_FEATURES = "x11"
19 20
20EXTRA_OEMAKE += "FCCACHE=/bin/true UTIL_DIR=${STAGING_DIR_TARGET}\$\(MAPFILES_PATH\)" 21EXTRA_OEMAKE += "FCCACHE=/bin/true UTIL_DIR=${STAGING_DIR_TARGET}\$\(MAPFILES_PATH\)"
21 22
22do_install_append() { 23do_install:append() {
23 find ${D}${libdir}/X11/fonts -type f -name fonts.dir | xargs rm -f 24 find ${D}${libdir}/X11/fonts -type f -name fonts.dir | xargs rm -f
24 find ${D}${libdir}/X11/fonts -type f -name fonts.scale | xargs rm -f 25 find ${D}${libdir}/X11/fonts -type f -name fonts.scale | xargs rm -f
25 find ${D}${datadir}/fonts/X11 -type f -name fonts.dir | xargs rm -f 26 find ${D}${datadir}/fonts/X11 -type f -name fonts.dir | xargs rm -f
26 find ${D}${datadir}/fonts/X11 -type f -name fonts.scale | xargs rm -f 27 find ${D}${datadir}/fonts/X11 -type f -name fonts.scale | xargs rm -f
27} 28}
28 29
29FILES_${PN} += " ${libdir}/X11/fonts ${datadir}" 30FILES:${PN} += " ${libdir}/X11/fonts ${datadir}"
30 31
31PACKAGE_WRITE_DEPS += "mkfontdir-native mkfontscale-native" 32PACKAGE_WRITE_DEPS += "mkfontdir-native mkfontscale-native"
32pkg_postinst_${PN} () { 33pkg_postinst:${PN} () {
33 for fontdir in `find $D/usr/lib/X11/fonts -type d`; do 34 for fontdir in `find $D/usr/lib/X11/fonts -type d`; do
34 mkfontdir $fontdir 35 mkfontdir $fontdir
35 mkfontscale $fontdir 36 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 f0c77f33bd..d32ef77447 100644
--- a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb
+++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb
@@ -13,9 +13,6 @@ SRC_URI = "file://misc"
13SOURCE_DATE_EPOCH = "1613559011" 13SOURCE_DATE_EPOCH = "1613559011"
14 14
15PE = "1" 15PE = "1"
16PR = "r4"
17# remove at next version upgrade or when output changes
18HASHEQUIV_HASH_VERSION .= ".1"
19 16
20inherit allarch features_check 17inherit allarch features_check
21 18
@@ -25,8 +22,8 @@ REQUIRED_DISTRO_FEATURES = "x11"
25S = "${WORKDIR}/misc" 22S = "${WORKDIR}/misc"
26 23
27PACKAGES = "${PN}" 24PACKAGES = "${PN}"
28FILES_${PN} = "${libdir}/X11/ ${datadir}/fonts/X11/" 25FILES:${PN} = "${libdir}/X11/ ${datadir}/fonts/X11/"
29RDEPENDS_${PN} += "font-alias" 26RDEPENDS:${PN} += "font-alias"
30 27
31do_install() { 28do_install() {
32 install -d ${D}/${datadir}/fonts/X11/misc 29 install -d ${D}/${datadir}/fonts/X11/misc
diff --git a/meta/recipes-graphics/xorg-lib/libdmx_1.1.4.bb b/meta/recipes-graphics/xorg-lib/libdmx_1.1.4.bb
deleted file mode 100644
index 66172cb30c..0000000000
--- a/meta/recipes-graphics/xorg-lib/libdmx_1.1.4.bb
+++ /dev/null
@@ -1,20 +0,0 @@
1require xorg-lib-common.inc
2
3SUMMARY = "DMX: Distributed Multihead X extension library"
4
5DESCRIPTION = "The DMX extension provides support for communication with \
6and control of Xdmx(1) server. Attributes of the Xdmx(1) server and of \
7the back-end screens attached to the server can be queried and modified \
8via this protocol."
9
10LICENSE = "MIT"
11LIC_FILES_CHKSUM = "file://COPYING;md5=a3c3499231a8035efd0e004cfbd3b72a \
12 file://src/dmx.c;endline=33;md5=c43f19af03c7c8619cadc9724ed9afe1"
13
14DEPENDS += "libxext xorgproto"
15
16PE = "1"
17
18SRC_URI[md5sum] = "d2f1f0ec68ac3932dd7f1d9aa0a7a11c"
19SRC_URI[sha256sum] = "253f90005d134fa7a209fbcbc5a3024335367c930adf0f3203e754cf32747243"
20
diff --git a/meta/recipes-graphics/xorg-lib/libfontenc_1.1.4.bb b/meta/recipes-graphics/xorg-lib/libfontenc_1.1.8.bb
index 1fc74b1995..0fc117fc58 100644
--- a/meta/recipes-graphics/xorg-lib/libfontenc_1.1.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libfontenc_1.1.8.bb
@@ -11,7 +11,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=96254c20ab81c63e65b26f0dbcd4a1c1"
11DEPENDS += "zlib xorgproto font-util" 11DEPENDS += "zlib xorgproto font-util"
12PE = "1" 12PE = "1"
13 13
14SRC_URI[md5sum] = "6447db6a689fb530c218f0f8328c3abc" 14SRC_URI[sha256sum] = "7b02c3d405236e0d86806b1de9d6868fe60c313628b38350b032914aa4fd14c6"
15SRC_URI[sha256sum] = "2cfcce810ddd48f2e5dc658d28c1808e86dcf303eaff16728b9aa3dbc0092079"
16 15
17BBCLASSEXTEND = "native" 16BBCLASSEXTEND = "native"
diff --git a/meta/recipes-graphics/xorg-lib/libice_1.0.10.bb b/meta/recipes-graphics/xorg-lib/libice_1.1.1.bb
index 6a6316f320..d5e3d28e06 100644
--- a/meta/recipes-graphics/xorg-lib/libice_1.0.10.bb
+++ b/meta/recipes-graphics/xorg-lib/libice_1.1.1.bb
@@ -8,7 +8,7 @@ negotiating versions, and for reporting errors. "
8 8
9require xorg-lib-common.inc 9require xorg-lib-common.inc
10 10
11LICENSE = "MIT-style" 11LICENSE = "MIT"
12LIC_FILES_CHKSUM = "file://COPYING;md5=d162b1b3c6fa812da9d804dcf8584a93" 12LIC_FILES_CHKSUM = "file://COPYING;md5=d162b1b3c6fa812da9d804dcf8584a93"
13 13
14DEPENDS += "xorgproto xtrans" 14DEPENDS += "xorgproto xtrans"
@@ -20,8 +20,7 @@ XORG_PN = "libICE"
20 20
21BBCLASSEXTEND = "native nativesdk" 21BBCLASSEXTEND = "native nativesdk"
22 22
23SRC_URI[md5sum] = "76d77499ee7120a56566891ca2c0dbcf" 23SRC_URI[sha256sum] = "03e77afaf72942c7ac02ccebb19034e6e20f456dcf8dddadfeb572aa5ad3e451"
24SRC_URI[sha256sum] = "6f86dce12cf4bcaf5c37dddd8b1b64ed2ddf1ef7b218f22b9942595fb747c348"
25 24
26PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" 25PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
27PACKAGECONFIG[arc4] = "ac_cv_lib_bsd_arc4random_buf=yes,ac_cv_lib_bsd_arc4random_buf=no,libbsd" 26PACKAGECONFIG[arc4] = "ac_cv_lib_bsd_arc4random_buf=yes,ac_cv_lib_bsd_arc4random_buf=no,libbsd"
diff --git a/meta/recipes-graphics/xorg-lib/libpciaccess_0.16.bb b/meta/recipes-graphics/xorg-lib/libpciaccess_0.16.bb
deleted file mode 100644
index b58cb80dc3..0000000000
--- a/meta/recipes-graphics/xorg-lib/libpciaccess_0.16.bb
+++ /dev/null
@@ -1,19 +0,0 @@
1SUMMARY = "Generic PCI access library for X"
2
3DESCRIPTION = "libpciaccess provides functionality for X to access the \
4PCI bus and devices in a platform-independent way."
5
6require xorg-lib-common.inc
7
8SRC_URI += "\
9"
10
11SRC_URI[md5sum] = "b34e2cbdd6aa8f9cc3fa613fd401a6d6"
12SRC_URI[sha256sum] = "214c9d0d884fdd7375ec8da8dcb91a8d3169f263294c9a90c575bf1938b9f489"
13
14LICENSE = "MIT & MIT-style"
15LIC_FILES_CHKSUM = "file://COPYING;md5=277aada5222b9a22fbf3471ff3687068"
16
17REQUIRED_DISTRO_FEATURES = ""
18
19BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libpciaccess_0.18.1.bb b/meta/recipes-graphics/xorg-lib/libpciaccess_0.18.1.bb
new file mode 100644
index 0000000000..d311fd95e0
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libpciaccess_0.18.1.bb
@@ -0,0 +1,26 @@
1SUMMARY = "Generic PCI access library for X"
2
3DESCRIPTION = "libpciaccess provides functionality for X to access the \
4PCI bus and devices in a platform-independent way."
5
6HOMEPAGE = "http://www.x.org"
7BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
8
9SECTION = "x11/libs"
10LICENSE = "MIT"
11DEPENDS = "util-macros"
12
13SRC_URI = "${XORG_MIRROR}/individual/lib/${BP}.tar.xz"
14
15inherit features_check pkgconfig meson
16
17REQUIRED_DISTRO_FEATURES ?= "x11"
18
19SRC_URI[sha256sum] = "4af43444b38adb5545d0ed1c2ce46d9608cc47b31c2387fc5181656765a6fa76"
20
21LICENSE = "MIT & MIT"
22LIC_FILES_CHKSUM = "file://COPYING;md5=54c978968e565218eea36cf03ef24352"
23
24REQUIRED_DISTRO_FEATURES = ""
25
26BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb b/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.5.bb
index ffa1c859d6..62384e6d2e 100644
--- a/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.5.bb
@@ -7,13 +7,12 @@ SECTION = "x11/libs"
7LICENSE = "MIT" 7LICENSE = "MIT"
8LIC_FILES_CHKSUM = "file://COPYING;md5=6edc1fea03d959f0c2d743fe5ca746ad" 8LIC_FILES_CHKSUM = "file://COPYING;md5=6edc1fea03d959f0c2d743fe5ca746ad"
9 9
10SRC_URI = "http://xcb.freedesktop.org/dist/${BP}.tar.bz2" 10SRC_URI = "http://xcb.freedesktop.org/dist/${BP}.tar.xz"
11SRC_URI[md5sum] = "48c1544854a94db0e51499cc3afd797f" 11SRC_URI[sha256sum] = "59da566decceba7c2a7970a4a03b48d9905f1262ff94410a649224e33d2442bc"
12SRC_URI[sha256sum] = "e4d05911a3165d3b18321cc067fdd2f023f06436e391c6a28dff618a78d2e733"
13 12
14inherit autotools 13inherit autotools
15 14
16RDEPENDS_${PN}-dev = "" 15DEV_PKG_DEPENDENCY = ""
17RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" 16RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
18 17
19BBCLASSEXTEND = "native nativesdk" 18BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libsm_1.2.3.bb b/meta/recipes-graphics/xorg-lib/libsm_1.2.4.bb
index 49df690f0a..ab030723c6 100644
--- a/meta/recipes-graphics/xorg-lib/libsm_1.2.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libsm_1.2.4.bb
@@ -8,7 +8,7 @@ has a particular state."
8 8
9require xorg-lib-common.inc 9require xorg-lib-common.inc
10 10
11LICENSE = "MIT-style" 11LICENSE = "MIT"
12LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb37f44e02bdbde80546024400728d" 12LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb37f44e02bdbde80546024400728d"
13 13
14DEPENDS += "libice xorgproto xtrans" 14DEPENDS += "libice xorgproto xtrans"
@@ -22,8 +22,7 @@ PE = "1"
22 22
23XORG_PN = "libSM" 23XORG_PN = "libSM"
24 24
25SRC_URI[md5sum] = "87c7fad1c1813517979184c8ccd76628" 25SRC_URI[sha256sum] = "fdcbe51e4d1276b1183da77a8a4e74a137ca203e0bcfb20972dd5f3347e97b84"
26SRC_URI[sha256sum] = "2d264499dcb05f56438dee12a1b4b71d76736ce7ba7aa6efbf15ebb113769cbb"
27 26
28PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" 27PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
29PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," 28PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/meta/recipes-graphics/xorg-lib/libx11-compose-data/0001-Drop-x11-dependencies.patch b/meta/recipes-graphics/xorg-lib/libx11-compose-data/0001-Drop-x11-dependencies.patch
index 46a53a17f2..61af98d95e 100644
--- a/meta/recipes-graphics/xorg-lib/libx11-compose-data/0001-Drop-x11-dependencies.patch
+++ b/meta/recipes-graphics/xorg-lib/libx11-compose-data/0001-Drop-x11-dependencies.patch
@@ -6,12 +6,16 @@ Subject: [PATCH] Drop x11 dependencies
6Upstream-Status: Inappropriate [OE-Specific] 6Upstream-Status: Inappropriate [OE-Specific]
7 7
8Signed-off-by: Ming Liu <ming.liu@toradex.com> 8Signed-off-by: Ming Liu <ming.liu@toradex.com>
9
10Rebase for version 1.8.3.
11
12Signed-off-by: Kai Kang <kai.kang@windriver.com>
9--- 13---
10 configure.ac | 44 -------------------------------------------- 14 configure.ac | 44 --------------------------------------------
11 1 file changed, 44 deletions(-) 15 1 file changed, 44 deletions(-)
12 16
13diff --git a/configure.ac b/configure.ac 17diff --git a/configure.ac b/configure.ac
14index a5fd706..b42488c 100644 18index 33d0102..50e2d93 100644
15--- a/configure.ac 19--- a/configure.ac
16+++ b/configure.ac 20+++ b/configure.ac
17@@ -76,27 +76,8 @@ fi 21@@ -76,27 +76,8 @@ fi
@@ -20,7 +24,7 @@ index a5fd706..b42488c 100644
20 # Checks for pkg-config packages 24 # Checks for pkg-config packages
21- 25-
22-# Always required 26-# Always required
23-X11_REQUIRES='xproto >= 7.0.17 xextproto xtrans xcb >= 1.11.1' 27-X11_REQUIRES='xproto >= 7.0.25 xextproto xtrans xcb >= 1.11.1'
24-X11_EXTRA_DEPS="xcb >= 1.11.1" 28-X11_EXTRA_DEPS="xcb >= 1.11.1"
25- 29-
26 PKG_PROG_PKG_CONFIG() 30 PKG_PROG_PKG_CONFIG()
@@ -42,7 +46,7 @@ index a5fd706..b42488c 100644
42 # Check for dlopen 46 # Check for dlopen
43 AC_MSG_CHECKING([if run-time linking is supported]) 47 AC_MSG_CHECKING([if run-time linking is supported])
44 AC_SEARCH_LIBS(dlopen,[dl svld]) 48 AC_SEARCH_LIBS(dlopen,[dl svld])
45@@ -237,30 +218,6 @@ AC_SUBST(XTHREAD_CFLAGS) 49@@ -255,30 +236,6 @@ AC_SUBST(USE_THREAD_LIBS)
46 50
47 AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], ) 51 AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], )
48 52
@@ -73,7 +77,7 @@ index a5fd706..b42488c 100644
73 AC_ARG_ENABLE(xcms, 77 AC_ARG_ENABLE(xcms,
74 AS_HELP_STRING([--disable-xcms], 78 AS_HELP_STRING([--disable-xcms],
75 [Disable Xlib support for CMS *EXPERIMENTAL*]), 79 [Disable Xlib support for CMS *EXPERIMENTAL*]),
76@@ -340,7 +297,6 @@ X11_LIBDIR="${libdir}/X11" 80@@ -358,7 +315,6 @@ X11_LIBDIR="${libdir}/X11"
77 AX_DEFINE_DIR(X11_LIBDIR, X11_LIBDIR, [Location of libX11 library data]) 81 AX_DEFINE_DIR(X11_LIBDIR, X11_LIBDIR, [Location of libX11 library data])
78 AC_SUBST(X11_LIBDIR) 82 AC_SUBST(X11_LIBDIR)
79 83
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.8.4.bb
index 0f4be35770..2131f46213 100644
--- a/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb
+++ b/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.8.4.bb
@@ -8,22 +8,19 @@ python () {
8 8
9require xorg-lib-common.inc 9require xorg-lib-common.inc
10 10
11LICENSE = "MIT & MIT-style & BSD" 11LICENSE = "MIT & BSD-1-Clause & HPND & HPND-sell-variant & ISC"
12LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" 12LIC_FILES_CHKSUM = "file://COPYING;md5=1d49cdd2b386c5db11ec636d680b7116"
13 13
14SRC_URI[md5sum] = "c5fa5a86a20e3591bed6c046498d4b8f" 14XORG_PN = "libX11"
15SRC_URI[sha256sum] = "b289a845c189e251e0e884cc0f9269bbe97c238df3741e854ec4c17c21e473d5"
16 15
17SRC_URI += "file://0001-Drop-x11-dependencies.patch \ 16SRC_URI += "file://0001-Drop-x11-dependencies.patch \
18 " 17 "
19 18
20XORG_PN = "libX11" 19SRC_URI[sha256sum] = "c9a287a5aefa9804ce3cfafcf516fe96ed3f7e8e45c0e2ee59e84c86757df518"
21 20
22EXTRA_OECONF += "--disable-xkb" 21REQUIRED_DISTRO_FEATURES = ""
23
24PACKAGES = "${PN}"
25 22
26FILES_${PN} = "${datadir}/X11/locale ${libdir}/X11/locale" 23EXTRA_OECONF += "--disable-xkb"
27 24
28do_compile() { 25do_compile() {
29 oe_runmake -C nls 26 oe_runmake -C nls
@@ -33,4 +30,6 @@ do_install() {
33 oe_runmake DESTDIR=${D} -C nls install 30 oe_runmake DESTDIR=${D} -C nls install
34} 31}
35 32
36REQUIRED_DISTRO_FEATURES = "" 33PACKAGES = "${PN}"
34
35FILES:${PN} = "${datadir}/X11/locale ${libdir}/X11/locale"
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 @@
1From 5235a7f3692a4c3c90dd4ac1be3c670388904bbe Mon Sep 17 00:00:00 2001
2From: Tatu Frisk <tatu.frisk@ge.com>
3Date: Tue, 14 Mar 2017 14:41:27 +0200
4Subject: [PATCH] Fix hanging issue in _XReply
5
6Assume event queue is empty if another thread is blocking waiting for event.
7
8If one thread was blocking waiting for an event and another thread sent a
9reply to the X server, both threads got blocked until an event was
10received.
11
12Upstream-Status: Submitted [https://patchwork.freedesktop.org/patch/171458/]
13
14This patch needs to be removed once the corresponding patch has been merged upstream.
15
16https://patchwork.freedesktop.org/patch/171458/
17
18Signed-off-by: Tatu Frisk <tatu.frisk@ge.com>
19Signed-off-by: Jose Alarcon <jose.alarcon@ge.com>
20
21[Refreshed for 1.6.7 update]
22Signed-off-by: Armin Kuster <akuster808@gmail.com>
23
24---
25 src/xcb_io.c | 19 +++++++------------
26 1 file changed, 7 insertions(+), 12 deletions(-)
27
28Index: libX11-1.6.7/src/xcb_io.c
29===================================================================
30--- libX11-1.6.7.orig/src/xcb_io.c
31+++ libX11-1.6.7/src/xcb_io.c
32@@ -620,18 +620,14 @@ Status _XReply(Display *dpy, xReply *rep
33 if(dpy->xcb->event_owner == XlibOwnsEventQueue)
34 {
35 xcb_generic_reply_t *event;
36- /* If some thread is already waiting for events,
37- * it will get the first one. That thread must
38- * process that event before we can continue. */
39- /* FIXME: That event might be after this reply,
40- * and might never even come--or there might be
41- * multiple threads trying to get events. */
42- while(dpy->xcb->event_waiter)
43- { /* need braces around ConditionWait */
44- ConditionWait(dpy, dpy->xcb->event_notify);
45- }
46- while((event = poll_for_event(dpy, True)))
47- handle_response(dpy, event, True);
48+
49+ /* Assume event queue is empty if another thread is blocking
50+ * waiting for event. */
51+ if(!dpy->xcb->event_waiter)
52+ {
53+ while((event = poll_for_response(dpy)))
54+ handle_response(dpy, event, True);
55+ }
56 }
57
58 req->reply_waiter = 0;
diff --git a/meta/recipes-graphics/xorg-lib/libx11_1.7.0.bb b/meta/recipes-graphics/xorg-lib/libx11_1.7.0.bb
deleted file mode 100644
index 3faee6e497..0000000000
--- a/meta/recipes-graphics/xorg-lib/libx11_1.7.0.bb
+++ /dev/null
@@ -1,45 +0,0 @@
1SUMMARY = "Xlib: C Language X Interface library"
2
3DESCRIPTION = "This package provides a client interface to the X Window \
4System, otherwise known as 'Xlib'. It provides a complete API for the \
5basic functions of the window system."
6
7require xorg-lib-common.inc
8
9FILESEXTRAPATHS =. "${FILE_DIRNAME}/libx11:"
10
11PE = "1"
12
13SRC_URI += "file://Fix-hanging-issue-in-_XReply.patch \
14 file://disable_tests.patch \
15 "
16
17SRC_URI[sha256sum] = "36c8f93b6595437c8cfbc9f08618bcb3041cbd303e140a0013f88e4c2977cb54"
18
19PROVIDES = "virtual/libx11"
20
21XORG_PN = "libX11"
22LICENSE = "MIT & MIT-style & BSD"
23LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7"
24
25DEPENDS += "xorgproto xtrans libxcb"
26DEPENDS += "xorgproto-native"
27
28EXTRA_OECONF += "--with-keysymdefdir=${STAGING_INCDIR}/X11/ --disable-xf86bigfont"
29EXTRA_OEMAKE += 'CWARNFLAGS=""'
30
31PACKAGECONFIG ??= "xcms"
32PACKAGECONFIG[xcms] = "--enable-xcms,--disable-xcms"
33
34# src/util/makekeys is built natively but needs -D_GNU_SOURCE defined.
35CPPFLAGS_FOR_BUILD += "-D_GNU_SOURCE"
36
37PACKAGES =+ "${PN}-xcb"
38
39inherit gettext
40
41FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${datadir}/X11/Xcms.txt"
42FILES_${PN}-xcb += "${libdir}/libX11-xcb.so.*"
43FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale"
44
45BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libx11_1.8.9.bb b/meta/recipes-graphics/xorg-lib/libx11_1.8.9.bb
new file mode 100644
index 0000000000..5dcb063473
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libx11_1.8.9.bb
@@ -0,0 +1,43 @@
1SUMMARY = "Xlib: C Language X Interface library"
2
3DESCRIPTION = "This package provides a client interface to the X Window \
4System, otherwise known as 'Xlib'. It provides a complete API for the \
5basic functions of the window system."
6
7require xorg-lib-common.inc
8
9LICENSE = "MIT & BSD-1-Clause & HPND & HPND-sell-variant & ISC"
10LIC_FILES_CHKSUM = "file://COPYING;md5=1d49cdd2b386c5db11ec636d680b7116"
11
12DEPENDS += "xorgproto \
13 xtrans \
14 libxcb \
15 xorgproto-native \
16 autoconf-archive-native \
17 "
18
19PROVIDES = "virtual/libx11"
20
21PE = "1"
22
23XORG_PN = "libX11"
24
25SRC_URI += "file://disable_tests.patch"
26
27SRC_URI[sha256sum] = "779d8f111d144ef93e2daa5f23a762ce9555affc99592844e71c4243d3bd3262"
28
29inherit gettext
30
31EXTRA_OECONF += "--with-keysymdefdir=${STAGING_INCDIR}/X11/ --disable-xf86bigfont"
32EXTRA_OEMAKE += 'CWARNFLAGS=""'
33
34PACKAGECONFIG ??= "xcms"
35PACKAGECONFIG[xcms] = "--enable-xcms,--disable-xcms"
36
37PACKAGES =+ "${PN}-xcb"
38
39FILES:${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${datadir}/X11/Xcms.txt"
40FILES:${PN}-xcb += "${libdir}/libX11-xcb.so.*"
41FILES:${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale"
42
43BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libxau_1.0.9.bb b/meta/recipes-graphics/xorg-lib/libxau_1.0.11.bb
index dcfc66652a..f1b492c39f 100644
--- a/meta/recipes-graphics/xorg-lib/libxau_1.0.9.bb
+++ b/meta/recipes-graphics/xorg-lib/libxau_1.0.11.bb
@@ -8,7 +8,7 @@ require xorg-lib-common.inc
8 8
9inherit gettext 9inherit gettext
10 10
11LICENSE = "MIT-style" 11LICENSE = "MIT"
12LIC_FILES_CHKSUM = "file://COPYING;md5=7908e342491198401321cec1956807ec" 12LIC_FILES_CHKSUM = "file://COPYING;md5=7908e342491198401321cec1956807ec"
13 13
14DEPENDS += " xorgproto" 14DEPENDS += " xorgproto"
@@ -20,5 +20,4 @@ XORG_PN = "libXau"
20 20
21BBCLASSEXTEND = "native nativesdk" 21BBCLASSEXTEND = "native nativesdk"
22 22
23SRC_URI[md5sum] = "c5f16288f2da9f071b29111d68797480" 23SRC_URI[sha256sum] = "f3fa3282f5570c3f6bd620244438dbfbdd580fc80f02f549587a0f8ab329bbeb"
24SRC_URI[sha256sum] = "ccf8cbf0dbf676faa2ea0a6d64bcc3b6746064722b606c8c52917ed00dcb73ec"
diff --git a/meta/recipes-graphics/xorg-lib/libxcb/0001-use-_Alignof-to-avoid-UB-in-ALIGNOF.patch b/meta/recipes-graphics/xorg-lib/libxcb/0001-use-_Alignof-to-avoid-UB-in-ALIGNOF.patch
new file mode 100644
index 0000000000..5b159d646d
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libxcb/0001-use-_Alignof-to-avoid-UB-in-ALIGNOF.patch
@@ -0,0 +1,45 @@
1From d55b6b1fa87700f3eae3a29522972d2e7be7d53e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 14 Jan 2023 10:11:35 -0800
4Subject: [PATCH] use _Alignof to avoid UB in ALIGNOF
5
6WG14 N2350 clearly says that it is an UB having type definitions
7within "offsetof" [1]. Clang 16+ has started diagnosing it [2].
8This patch changes the implementation of macro
9"ALIGNOF" to builtin "_Alignof" to avoid undefined behavior.
10
11_Alignof() return the ABI required minimum alignment.
12
13[1] https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2350.htm
14[2] https://reviews.llvm.org/D133574
15
16Upstream-Status: Submitted [https://gitlab.freedesktop.org/xorg/lib/libxcb/-/merge_requests/42]
17Signed-off-by: Khem Raj <raj.khem@gmail.com>
18---
19 src/c_client.py | 3 +--
20 1 file changed, 1 insertion(+), 2 deletions(-)
21
22diff --git a/src/c_client.py b/src/c_client.py
23index fd256f0..4e48f13 100644
24--- a/src/c_client.py
25+++ b/src/c_client.py
26@@ -288,7 +288,6 @@ def c_open(self):
27 _c('#include "%s.h"', _ns.header)
28
29 _c('')
30- _c('#define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)')
31
32 if _ns.is_ext:
33 for (n, h) in self.direct_imports:
34@@ -1266,7 +1265,7 @@ def _c_serialize_helper_fields(context, self,
35 count += 1
36
37 code_lines.append(
38- '%s xcb_align_to = ALIGNOF(%s);'
39+ '%s xcb_align_to = _Alignof(%s);'
40 % (space,
41 'char'
42 if field.c_field_type == 'void' or field.type.is_switch
43--
442.39.0
45
diff --git a/meta/recipes-graphics/xorg-lib/libxcb/disable-check.patch b/meta/recipes-graphics/xorg-lib/libxcb/disable-check.patch
deleted file mode 100644
index c0efbdc213..0000000000
--- a/meta/recipes-graphics/xorg-lib/libxcb/disable-check.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1The "check" package is checked for without an explicit enable/disable option,
2which can lead to non-deterministic build issues with both check and libxslt.
3
4As the unit test suite is minimal at present, simply disable the test suite. In
5the future if the test suite is expanded this can be made conditional on the
6ptest DISTRO_FEATURE.
7
8Upstream-Status: Inappropriate
9Signed-off-by: Ross Burton <ross.burton@intel.com>
10
11
12Index: libxcb-1.12/configure.ac
13===================================================================
14--- libxcb-1.12.orig/configure.ac
15+++ libxcb-1.12/configure.ac
16@@ -36,7 +36,8 @@ if test x"$HAVE_DOT" = xno; then
17 AC_MSG_WARN([dot not found - doxygen targets will be skipped])
18 fi
19
20-PKG_CHECK_MODULES(CHECK, [check >= 0.9.4], [HAVE_CHECK=yes], [HAVE_CHECK=no])
21+dnl PKG_CHECK_MODULES(CHECK, [check >= 0.9.4], [HAVE_CHECK=yes], [HAVE_CHECK=no])
22+HAVE_CHECK=no
23 AM_CONDITIONAL(HAVE_CHECK, test x$HAVE_CHECK = xyes)
24
25 XSLTPROC=no
diff --git a/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb b/meta/recipes-graphics/xorg-lib/libxcb_1.16.1.bb
index e9f6051b6e..de3290aa9f 100644
--- a/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb
+++ b/meta/recipes-graphics/xorg-lib/libxcb_1.16.1.bb
@@ -10,18 +10,17 @@ LICENSE = "MIT"
10LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7" 10LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7"
11 11
12SRC_URI = "http://xcb.freedesktop.org/dist/libxcb-${PV}.tar.xz \ 12SRC_URI = "http://xcb.freedesktop.org/dist/libxcb-${PV}.tar.xz \
13 file://disable-check.patch \ 13 file://0001-use-_Alignof-to-avoid-UB-in-ALIGNOF.patch"
14 "
15 14
16SRC_URI[sha256sum] = "a55ed6db98d43469801262d81dc2572ed124edc3db31059d4e9916eb9f844c34" 15SRC_URI[sha256sum] = "f24d187154c8e027b358fc7cb6588e35e33e6a92f11c668fe77396a7ae66e311"
17 16
18BBCLASSEXTEND = "native nativesdk" 17BBCLASSEXTEND = "native nativesdk"
19 18
20DEPENDS = "xcb-proto xorgproto libxau libpthread-stubs libxdmcp" 19DEPENDS = "xcb-proto xorgproto libxau libpthread-stubs libxdmcp"
21 20
22PACKAGES_DYNAMIC = "^libxcb-.*" 21PACKAGES_DYNAMIC = "^${PN}-.*"
23 22
24FILES_${PN} = "${libdir}/libxcb.so.*" 23FILES:${PN} = "${libdir}/libxcb.so.*"
25 24
26inherit autotools pkgconfig features_check 25inherit autotools pkgconfig features_check
27 26
@@ -30,10 +29,10 @@ REQUIRED_DISTRO_FEATURES = "x11"
30 29
31export PYTHON = "python3" 30export PYTHON = "python3"
32 31
33do_install_append () { 32do_install:append () {
34 chown root.root ${D}${datadir}/doc/${BPN}/tutorial -R 33 chown root.root ${D}${datadir}/doc/${BPN}/tutorial -R
35} 34}
36 35
37python populate_packages_prepend () { 36python populate_packages:prepend () {
38 do_split_packages(d, '${libdir}', r'^libxcb-(.*)\.so\..*$', 'libxcb-%s', 'XCB library module for %s', allow_links=True) 37 do_split_packages(d, '${libdir}', r'^libxcb-(.*)\.so\..*$', '${PN}-%s', 'XCB library module for %s', allow_links=True)
39} 38}
diff --git a/meta/recipes-graphics/xorg-lib/libxcomposite/change-include-order.patch b/meta/recipes-graphics/xorg-lib/libxcomposite/change-include-order.patch
deleted file mode 100644
index 60331f6e78..0000000000
--- a/meta/recipes-graphics/xorg-lib/libxcomposite/change-include-order.patch
+++ /dev/null
@@ -1,18 +0,0 @@
1Upstream-Status: Inappropriate [configuration]
2
3This patch makes the build use its own Xcomposite.h over rather than an
4older Xcomposite.h that might already be installed in the staging dir.
5
6Index: libXcomposite-0.4.3/src/Makefile.am
7===================================================================
8--- libXcomposite-0.4.3.orig/src/Makefile.am 2010-06-30 22:42:53.000000000 -0700
9+++ libXcomposite-0.4.3/src/Makefile.am 2010-11-23 23:09:34.544322930 -0800
10@@ -19,7 +19,7 @@
11 # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
12 # PERFORMANCE OF THIS SOFTWARE.
13
14-AM_CFLAGS = $(CWARNFLAGS) $(XCOMPOSITE_CFLAGS) $(XFIXES_CFLAGS)
15+AM_CFLAGS = -I$(top_srcdir)/include $(CWARNFLAGS) $(XCOMPOSITE_CFLAGS) $(XFIXES_CFLAGS)
16 AM_CPPFLAGS = -I$(top_srcdir)/include
17
18 lib_LTLIBRARIES = libXcomposite.la
diff --git a/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.5.bb b/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.6.bb
index 3ef3ddb817..881f579695 100644
--- a/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.5.bb
+++ b/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.6.bb
@@ -11,7 +11,7 @@ compositing transformations through a client."
11 11
12require xorg-lib-common.inc 12require xorg-lib-common.inc
13 13
14LICENSE = "MIT-style" 14LICENSE = "MIT"
15LIC_FILES_CHKSUM = "file://COPYING;md5=3f2907aad541f6f226fbc58cc1b3cdf1" 15LIC_FILES_CHKSUM = "file://COPYING;md5=3f2907aad541f6f226fbc58cc1b3cdf1"
16 16
17DEPENDS += " xorgproto virtual/libx11 libxfixes libxext" 17DEPENDS += " xorgproto virtual/libx11 libxfixes libxext"
@@ -22,7 +22,4 @@ PE = "1"
22 22
23XORG_PN = "libXcomposite" 23XORG_PN = "libXcomposite"
24 24
25SRC_URI += " file://change-include-order.patch" 25SRC_URI[sha256sum] = "fe40bcf0ae1a09070eba24088a5eb9810efe57453779ec1e20a55080c6dc2c87"
26
27SRC_URI[md5sum] = "3fa0841ea89024719b20cd702a9b54e0"
28SRC_URI[sha256sum] = "b3218a2c15bab8035d16810df5b8251ffc7132ff3aa70651a1fba0bfe9634e8f"
diff --git a/meta/recipes-graphics/xorg-lib/libxcursor_1.2.0.bb b/meta/recipes-graphics/xorg-lib/libxcursor_1.2.2.bb
index 2df7a3a4f2..159ac4f7fa 100644
--- a/meta/recipes-graphics/xorg-lib/libxcursor_1.2.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libxcursor_1.2.2.bb
@@ -7,9 +7,10 @@ can exist in several sizes and the library automatically picks the best \
7size." 7size."
8 8
9require xorg-lib-common.inc 9require xorg-lib-common.inc
10SRC_URI = "${XORG_MIRROR}/individual/lib/${XORG_PN}-${PV}.tar.xz"
10 11
11LICENSE = "MIT-style" 12LICENSE = "MIT"
12LIC_FILES_CHKSUM = "file://COPYING;md5=8902e6643f7bcd7793b23dcd5d8031a4" 13LIC_FILES_CHKSUM = "file://COPYING;md5=dbf3bd0f2348eeccd0f217146ba26250"
13 14
14DEPENDS += "libxrender libxfixes" 15DEPENDS += "libxrender libxfixes"
15 16
@@ -17,7 +18,6 @@ PE = "1"
17 18
18XORG_PN = "libXcursor" 19XORG_PN = "libXcursor"
19 20
20SRC_URI[md5sum] = "9b9be0e289130fb820aedf67705fc549" 21SRC_URI[sha256sum] = "53d071bd2cc56e517a30998d5e685c8a74556ddada43c6985d14da9a023a88ee"
21SRC_URI[sha256sum] = "3ad3e9f8251094af6fe8cb4afcf63e28df504d46bfa5a5529db74a505d628782"
22 22
23BBCLASSEXTEND = "native nativesdk" 23BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libxcvt_0.1.2.bb b/meta/recipes-graphics/xorg-lib/libxcvt_0.1.2.bb
new file mode 100644
index 0000000000..e62fabdf58
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libxcvt_0.1.2.bb
@@ -0,0 +1,19 @@
1SUMMARY = "Library providing a standalone version of the X server \
2implementation of the VESA CVT standard timing modelines generator"
3HOMEPAGE = "https://gitlab.freedesktop.org/xorg/lib/libxcvt"
4BUGTRACKER = "https://gitlab.freedesktop.org/xorg/lib/libxcvt/-/issues"
5LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://COPYING;md5=129947a06984d6faa6f9a9788fa2a03f"
7SECTION = "x11/libs"
8
9SRC_URI = "git://gitlab.freedesktop.org/xorg/lib/libxcvt.git;protocol=https;branch=master"
10SRCREV = "d9ca87eea9eecddaccc3a77227bcb3acf84e89df"
11
12S = "${WORKDIR}/git"
13
14inherit meson
15
16FILES:${PN} = " \
17 ${libdir}/libxcvt.so.0* \
18 ${bindir}/cvt \
19"
diff --git a/meta/recipes-graphics/xorg-lib/libxdamage_1.1.5.bb b/meta/recipes-graphics/xorg-lib/libxdamage_1.1.6.bb
index b201124d86..279d6c33dc 100644
--- a/meta/recipes-graphics/xorg-lib/libxdamage_1.1.5.bb
+++ b/meta/recipes-graphics/xorg-lib/libxdamage_1.1.6.bb
@@ -23,7 +23,6 @@ PE = "1"
23 23
24XORG_PN = "libXdamage" 24XORG_PN = "libXdamage"
25 25
26SRC_URI[md5sum] = "e3f554267a7a04b042dc1f6352bd6d99" 26SRC_URI[sha256sum] = "52733c1f5262fca35f64e7d5060c6fcd81a880ba8e1e65c9621cf0727afb5d11"
27SRC_URI[sha256sum] = "b734068643cac3b5f3d2c8279dd366b5bf28c7219d9e9d8717e1383995e0ea45"
28 27
29BBCLASSEXTEND = "native nativesdk" 28BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.3.bb b/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.5.bb
index d43a146fd7..d1a1a2e7f9 100644
--- a/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.5.bb
@@ -10,7 +10,7 @@ require xorg-lib-common.inc
10 10
11inherit gettext 11inherit gettext
12 12
13LICENSE = "MIT-style" 13LICENSE = "MIT"
14LIC_FILES_CHKSUM = "file://COPYING;md5=d559fb26e129626022e052a5e6e0e123" 14LIC_FILES_CHKSUM = "file://COPYING;md5=d559fb26e129626022e052a5e6e0e123"
15 15
16DEPENDS += "xorgproto" 16DEPENDS += "xorgproto"
@@ -22,8 +22,7 @@ XORG_PN = "libXdmcp"
22 22
23BBCLASSEXTEND = "native nativesdk" 23BBCLASSEXTEND = "native nativesdk"
24 24
25SRC_URI[md5sum] = "115c5c12ecce0e749cd91d999a5fd160" 25SRC_URI[sha256sum] = "d8a5222828c3adab70adf69a5583f1d32eb5ece04304f7f8392b6a353aa2228c"
26SRC_URI[sha256sum] = "20523b44aaa513e17c009e873ad7bbc301507a3224c232610ce2e099011c6529"
27 26
28PACKAGECONFIG ??= "" 27PACKAGECONFIG ??= ""
29PACKAGECONFIG[arc4] = "ac_cv_lib_bsd_arc4random_buf=yes,ac_cv_lib_bsd_arc4random_buf=no,libbsd" 28PACKAGECONFIG[arc4] = "ac_cv_lib_bsd_arc4random_buf=yes,ac_cv_lib_bsd_arc4random_buf=no,libbsd"
diff --git a/meta/recipes-graphics/xorg-lib/libxext_1.3.4.bb b/meta/recipes-graphics/xorg-lib/libxext_1.3.6.bb
index 9493111a67..275926a885 100644
--- a/meta/recipes-graphics/xorg-lib/libxext_1.3.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libxext_1.3.6.bb
@@ -10,8 +10,8 @@ extensions."
10 10
11require xorg-lib-common.inc 11require xorg-lib-common.inc
12 12
13LICENSE = "MIT-style" 13LICENSE = "MIT"
14LIC_FILES_CHKSUM = "file://COPYING;md5=879ce266785414bd1cbc3bc2f4d9d7c8" 14LIC_FILES_CHKSUM = "file://COPYING;md5=4234bb3b2f1521ea101e4e9db7c33c69"
15 15
16DEPENDS += "xorgproto virtual/libx11" 16DEPENDS += "xorgproto virtual/libx11"
17PROVIDES = "xext" 17PROVIDES = "xext"
@@ -19,8 +19,6 @@ PROVIDES = "xext"
19PE = "1" 19PE = "1"
20 20
21XORG_PN = "libXext" 21XORG_PN = "libXext"
22
23BBCLASSEXTEND = "native nativesdk" 22BBCLASSEXTEND = "native nativesdk"
24 23
25SRC_URI[md5sum] = "f5b48bb76ba327cd2a8dc7a383532a95" 24SRC_URI[sha256sum] = "edb59fa23994e405fdc5b400afdf5820ae6160b94f35e3dc3da4457a16e89753"
26SRC_URI[sha256sum] = "59ad6fcce98deaecc14d39a672cf218ca37aba617c9a0f691cac3bcd28edf82b"
diff --git a/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb b/meta/recipes-graphics/xorg-lib/libxfixes_6.0.1.bb
index f0e2f606ce..28df7bb805 100644
--- a/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxfixes_6.0.1.bb
@@ -6,18 +6,16 @@ provide the minimal server-side support necessary to eliminate problems \
6caused by these workarounds." 6caused by these workarounds."
7 7
8require xorg-lib-common.inc 8require xorg-lib-common.inc
9SRC_URI[sha256sum] = "b695f93cd2499421ab02d22744458e650ccc88c1d4c8130d60200213abc02d58"
9 10
10LICENSE = "MIT-style" 11LICENSE = "MIT"
11LIC_FILES_CHKSUM = "file://COPYING;md5=3c1ce42c334a6f5cccb0277556a053e0" 12LIC_FILES_CHKSUM = "file://COPYING;md5=a5a9755c8921cc7dc08a5cfe4267d0ff"
12 13
13DEPENDS += "virtual/libx11 xorgproto" 14DEPENDS += "virtual/libx11 xorgproto"
14 15
15PE = "1" 16PE = "1"
16 17
17XORG_PN = "libXfixes" 18XORG_PN = "libXfixes"
19XORG_EXT = "tar.xz"
18 20
19BBCLASSEXTEND = "native nativesdk" 21BBCLASSEXTEND = "native nativesdk"
20
21SRC_URI[md5sum] = "07e01e046a0215574f36a3aacb148be0"
22SRC_URI[sha256sum] = "de1cd33aff226e08cefd0e6759341c2c8e8c9faf8ce9ac6ec38d43e287b22ad6"
23
diff --git a/meta/recipes-graphics/xorg-lib/libxfont2_2.0.4.bb b/meta/recipes-graphics/xorg-lib/libxfont2_2.0.6.bb
index 1c9cc0a21d..535e7f629e 100644
--- a/meta/recipes-graphics/xorg-lib/libxfont2_2.0.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libxfont2_2.0.6.bb
@@ -6,7 +6,7 @@ such as freetype)."
6 6
7require xorg-lib-common.inc 7require xorg-lib-common.inc
8 8
9LICENSE = "MIT & MIT-style & BSD" 9LICENSE = "MIT & MIT & BSD-4-Clause & BSD-2-Clause"
10LIC_FILES_CHKSUM = "file://COPYING;md5=a46c8040f2f737bcd0c435feb2ab1c2c" 10LIC_FILES_CHKSUM = "file://COPYING;md5=a46c8040f2f737bcd0c435feb2ab1c2c"
11 11
12DEPENDS += "freetype xtrans xorgproto libfontenc zlib" 12DEPENDS += "freetype xtrans xorgproto libfontenc zlib"
@@ -15,8 +15,7 @@ XORG_PN = "libXfont2"
15 15
16BBCLASSEXTEND = "native" 16BBCLASSEXTEND = "native"
17 17
18SRC_URI[md5sum] = "00516bed7ec1453d56974560379fff2f" 18SRC_URI[sha256sum] = "74ca20017eb0fb3f56d8d5e60685f560fc85e5ff3d84c61c4cb891e40c27aef4"
19SRC_URI[sha256sum] = "6d151b3368e5035efede4b6264c0fdc6662c1c99dbc2de425e3480cababc69e6"
20 19
21PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" 20PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
22PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," 21PACKAGECONFIG[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..fa6585d6dc 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)."
6 6
7require xorg-lib-common.inc 7require xorg-lib-common.inc
8 8
9LICENSE = "MIT & MIT-style & BSD" 9LICENSE = "MIT & MIT & BSD-3-Clause"
10LIC_FILES_CHKSUM = "file://COPYING;md5=a46c8040f2f737bcd0c435feb2ab1c2c" 10LIC_FILES_CHKSUM = "file://COPYING;md5=a46c8040f2f737bcd0c435feb2ab1c2c"
11 11
12DEPENDS += "freetype xtrans xorgproto libfontenc zlib" 12DEPENDS += "freetype xtrans xorgproto libfontenc zlib"
@@ -15,6 +15,7 @@ PROVIDES = "xfont"
15PE = "1" 15PE = "1"
16 16
17XORG_PN = "libXfont" 17XORG_PN = "libXfont"
18XORG_EXT = "tar.bz2"
18 19
19BBCLASSEXTEND = "native" 20BBCLASSEXTEND = "native"
20 21
diff --git a/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb b/meta/recipes-graphics/xorg-lib/libxft_2.3.8.bb
index 65bd9ae494..2699c1dfd7 100644
--- a/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxft_2.3.8.bb
@@ -20,14 +20,13 @@ PROVIDES = "xft"
20 20
21PE = "1" 21PE = "1"
22 22
23SRC_URI[md5sum] = "4a433c24627b4ff60a4dd403a0990796" 23SRC_URI[sha256sum] = "5e8c3c4bc2d4c0a40aef6b4b38ed2fb74301640da29f6528154b5009b1c6dd49"
24SRC_URI[sha256sum] = "225c68e616dd29dbb27809e45e9eadf18e4d74c50be43020ef20015274529216"
25 24
26XORG_PN = "libXft" 25XORG_PN = "libXft"
27 26
28BBCLASSEXTEND = "native nativesdk" 27BBCLASSEXTEND = "native nativesdk"
29 28
30python () { 29python populate_packages:prepend () {
31 if d.getVar('DEBIAN_NAMES'): 30 if d.getVar('DEBIAN_NAMES'):
32 d.setVar('PKG_${PN}', '${MLPREFIX}libxft2') 31 d.setVar('PKG:${PN}', '${MLPREFIX}libxft2')
33} 32}
diff --git a/meta/recipes-graphics/xorg-lib/libxi_1.7.10.bb b/meta/recipes-graphics/xorg-lib/libxi_1.8.1.bb
index 5a08e07362..00bd46ef13 100644
--- a/meta/recipes-graphics/xorg-lib/libxi_1.7.10.bb
+++ b/meta/recipes-graphics/xorg-lib/libxi_1.8.1.bb
@@ -7,7 +7,7 @@ input devices other than the core X keyboard and pointer. It allows \
7client programs to select input from these devices independently from \ 7client programs to select input from these devices independently from \
8each other and independently from the core devices." 8each other and independently from the core devices."
9 9
10LICENSE = "MIT & MIT-style" 10LICENSE = "MIT & MIT"
11LIC_FILES_CHKSUM = "file://COPYING;md5=17b064789fab936a1c58c4e13d965b0f \ 11LIC_FILES_CHKSUM = "file://COPYING;md5=17b064789fab936a1c58c4e13d965b0f \
12 file://src/XIGetDevFocus.c;endline=23;md5=cdfb0d435a33ec57ea0d1e8e395b729f" 12 file://src/XIGetDevFocus.c;endline=23;md5=cdfb0d435a33ec57ea0d1e8e395b729f"
13 13
@@ -16,8 +16,8 @@ DEPENDS += "libxext xorgproto libxfixes"
16PE = "1" 16PE = "1"
17 17
18XORG_PN = "libXi" 18XORG_PN = "libXi"
19XORG_EXT = "tar.xz"
19 20
20SRC_URI[md5sum] = "62c4af0839072024b4b1c8cbe84216c7" 21SRC_URI[sha256sum] = "89bfc0e814f288f784202e6e5f9b362b788ccecdeb078670145eacd8749656a7"
21SRC_URI[sha256sum] = "36a30d8f6383a72e7ce060298b4b181fd298bc3a135c8e201b7ca847f5f81061"
22 22
23BBCLASSEXTEND = "native nativesdk" 23BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libxinerama_1.1.4.bb b/meta/recipes-graphics/xorg-lib/libxinerama_1.1.5.bb
index edce35da5d..421b64e68d 100644
--- a/meta/recipes-graphics/xorg-lib/libxinerama_1.1.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libxinerama_1.1.5.bb
@@ -15,8 +15,6 @@ PROVIDES = "xinerama"
15PE = "1" 15PE = "1"
16 16
17XORG_PN = "libXinerama" 17XORG_PN = "libXinerama"
18 18SRC_URI[sha256sum] = "5094d1f0fcc1828cb1696d0d39d9e866ae32520c54d01f618f1a3c1e30c2085c"
19SRC_URI[md5sum] = "0d5f826a197dae74da67af4a9ef35885"
20SRC_URI[sha256sum] = "0008dbd7ecf717e1e507eed1856ab0d9cf946d03201b85d5dcf61489bb02d720"
21 19
22BBCLASSEXTEND = "native nativesdk" 20BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.3.bb b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.3.bb
deleted file mode 100644
index 99f55f4a14..0000000000
--- a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.3.bb
+++ /dev/null
@@ -1,26 +0,0 @@
1SUMMARY = "Generic XKB keymap library"
2DESCRIPTION = "libxkbcommon is a keymap compiler and support library which \
3processes a reduced subset of keymaps as defined by the XKB specification."
4HOMEPAGE = "http://www.xkbcommon.org"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=e525ed9809e1f8a07cf4bce8b09e8b87"
6LICENSE = "MIT & MIT-style"
7
8DEPENDS = "util-macros flex-native bison-native"
9
10SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz"
11
12SRC_URI[sha256sum] = "a2202f851e072b84e64a395212cbd976ee18a8ee602008b0bad02a13247dbc52"
13
14UPSTREAM_CHECK_URI = "http://xkbcommon.org/"
15
16inherit meson pkgconfig
17
18EXTRA_OEMESON = "-Denable-docs=false -Denable-xkbregistry=false"
19
20PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}"
21PACKAGECONFIG[x11] = "-Denable-x11=true,-Denable-x11=false,libxcb xkeyboard-config,"
22PACKAGECONFIG[wayland] = "-Denable-wayland=true,-Denable-wayland=false,wayland-native wayland wayland-protocols,"
23
24# Fix a following runtime error:
25# xkbcommon: ERROR: couldn't find a Compose file for locale "C"
26RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}"
diff --git a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.7.0.bb b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.7.0.bb
new file mode 100644
index 0000000000..40cf616f0b
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.7.0.bb
@@ -0,0 +1,40 @@
1SUMMARY = "Generic XKB keymap library"
2DESCRIPTION = "libxkbcommon is a keymap compiler and support library which \
3processes a reduced subset of keymaps as defined by the XKB specification."
4HOMEPAGE = "http://www.xkbcommon.org"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=e525ed9809e1f8a07cf4bce8b09e8b87"
6LICENSE = "MIT & MIT"
7
8DEPENDS = "flex-native bison-native"
9
10SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz"
11
12SRC_URI[sha256sum] = "65782f0a10a4b455af9c6baab7040e2f537520caa2ec2092805cdfd36863b247"
13
14UPSTREAM_CHECK_URI = "http://xkbcommon.org/"
15
16inherit meson pkgconfig bash-completion
17
18PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)} xkbregistry"
19
20PACKAGECONFIG[docs] = "-Denable-docs=true,-Denable-docs=false,doxygen-native"
21PACKAGECONFIG[wayland] = "-Denable-wayland=true,-Denable-wayland=false,wayland-native wayland wayland-protocols,"
22PACKAGECONFIG[x11] = "-Denable-x11=true,-Denable-x11=false,libxcb xkeyboard-config,"
23PACKAGECONFIG[xkbregistry] = "-Denable-xkbregistry=true,-Denable-xkbregistry=false,libxml2"
24
25PACKAGE_BEFORE_PN += "xkbcli"
26FILES:${PN} = ""
27FILES:xkbcli = "${bindir}/xkbcli ${libexecdir}/xkbcommon/xkbcli-*"
28
29python populate_packages:prepend () {
30 # Put the libraries into separate packages to avoid dependency creep
31 do_split_packages(d, d.expand('${libdir}'), r'^(lib.*)\.so\.*', '%s', '%s library', extra_depends='', allow_links=True)
32}
33
34# Fix a following runtime error:
35# xkbcommon: ERROR: couldn't find a Compose file for locale "C"
36RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}"
37
38BBCLASSEXTEND += "native"
39
40CVE_PRODUCT += "xkbcommon:libxkbcommon"
diff --git a/meta/recipes-graphics/xorg-lib/libxkbfile_1.1.0.bb b/meta/recipes-graphics/xorg-lib/libxkbfile_1.1.3.bb
index 3a6c50ca21..aab6284384 100644
--- a/meta/recipes-graphics/xorg-lib/libxkbfile_1.1.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libxkbfile_1.1.3.bb
@@ -5,7 +5,7 @@ description files for XKB, the X11 keyboard configuration extension."
5 5
6require xorg-lib-common.inc 6require xorg-lib-common.inc
7 7
8LICENSE = "MIT-style" 8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://COPYING;md5=8be7367f7e5d605a426f76bb37d4d61f" 9LIC_FILES_CHKSUM = "file://COPYING;md5=8be7367f7e5d605a426f76bb37d4d61f"
10 10
11DEPENDS += "virtual/libx11 xorgproto" 11DEPENDS += "virtual/libx11 xorgproto"
@@ -13,6 +13,4 @@ DEPENDS += "virtual/libx11 xorgproto"
13PE = "1" 13PE = "1"
14 14
15BBCLASSEXTEND = "native" 15BBCLASSEXTEND = "native"
16 16SRC_URI[sha256sum] = "a9b63eea997abb9ee6a8b4fbb515831c841f471af845a09de443b28003874bec"
17SRC_URI[md5sum] = "dd7e1e946def674e78c0efbc5c7d5b3b"
18SRC_URI[sha256sum] = "758dbdaa20add2db4902df0b1b7c936564b7376c02a0acd1f2a331bd334b38c7"
diff --git a/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb b/meta/recipes-graphics/xorg-lib/libxmu_1.2.1.bb
index dc3179f53e..51faf170bf 100644
--- a/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxmu_1.2.1.bb
@@ -9,8 +9,8 @@ second library, libXmuu."
9 9
10require xorg-lib-common.inc 10require xorg-lib-common.inc
11 11
12LICENSE = "MIT & MIT-style" 12LICENSE = "MIT & MIT"
13LIC_FILES_CHKSUM = "file://COPYING;md5=def3d8e4e9c42004f1941fa22f01dc18" 13LIC_FILES_CHKSUM = "file://COPYING;md5=e79ad4fcc53b9bfe0fc38507a56446b9"
14 14
15DEPENDS += "libxt libxext" 15DEPENDS += "libxt libxext"
16PROVIDES = "xmu" 16PROVIDES = "xmu"
@@ -23,12 +23,8 @@ LEAD_SONAME = "libXmu"
23 23
24PACKAGES =+ "libxmuu" 24PACKAGES =+ "libxmuu"
25 25
26FILES_libxmuu = "${libdir}/libXmuu.so.*" 26FILES:libxmuu = "${libdir}/libXmuu.so.*"
27 27
28BBCLASSEXTEND = "native" 28BBCLASSEXTEND = "native"
29 29
30SRC_URI[md5sum] = "ac774cff8b493f566088a255dbf91201" 30SRC_URI[sha256sum] = "fcb27793248a39e5fcc5b9c4aec40cc0734b3ca76aac3d7d1c264e7f7e14e8b2"
31SRC_URI[sha256sum] = "9c343225e7c3dc0904f2122b562278da5fed639b1b5e880d25111561bac5b731"
32
33PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
34PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/meta/recipes-graphics/xorg-lib/libxpm_3.5.13.bb b/meta/recipes-graphics/xorg-lib/libxpm_3.5.17.bb
index fda8e32d2c..8e15ecc0d4 100644
--- a/meta/recipes-graphics/xorg-lib/libxpm_3.5.13.bb
+++ b/meta/recipes-graphics/xorg-lib/libxpm_3.5.17.bb
@@ -11,17 +11,17 @@ an extension of the monochrome XBM bitmap specificied in the X \
11protocol." 11protocol."
12 12
13LICENSE = "MIT" 13LICENSE = "MIT"
14LIC_FILES_CHKSUM = "file://COPYING;md5=51f4270b012ecd4ab1a164f5f4ed6cf7" 14LIC_FILES_CHKSUM = "file://COPYING;md5=903942ebc9d807dfb68540f40bae5aff"
15DEPENDS += "libxext libsm libxt gettext-native" 15DEPENDS += "libxext libsm libxt gettext-native"
16PE = "1" 16PE = "1"
17 17
18XORG_PN = "libXpm" 18XORG_PN = "libXpm"
19EXTRA_OECONF += "--disable-open-zfile"
19 20
20PACKAGES =+ "sxpm cxpm" 21PACKAGES =+ "sxpm cxpm"
21FILES_cxpm = "${bindir}/cxpm" 22FILES:cxpm = "${bindir}/cxpm"
22FILES_sxpm = "${bindir}/sxpm" 23FILES:sxpm = "${bindir}/sxpm"
23 24
24SRC_URI[md5sum] = "6f0ecf8d103d528cfc803aa475137afa" 25SRC_URI[sha256sum] = "64b31f81019e7d388c822b0b28af8d51c4622b83f1f0cb6fa3fc95e271226e43"
25SRC_URI[sha256sum] = "9cd1da57588b6cb71450eff2273ef6b657537a9ac4d02d0014228845b935ac25"
26 26
27BBCLASSEXTEND = "native" 27BBCLASSEXTEND = "native"
diff --git a/meta/recipes-graphics/xorg-lib/libxrandr_1.5.2.bb b/meta/recipes-graphics/xorg-lib/libxrandr_1.5.4.bb
index 53a8335d64..3e2825b916 100644
--- a/meta/recipes-graphics/xorg-lib/libxrandr_1.5.2.bb
+++ b/meta/recipes-graphics/xorg-lib/libxrandr_1.5.4.bb
@@ -8,7 +8,7 @@ specified in the Proceedings of the 2001 Usenix Technical Conference \
8 8
9require xorg-lib-common.inc 9require xorg-lib-common.inc
10 10
11LICENSE = "MIT-style" 11LICENSE = "MIT"
12LIC_FILES_CHKSUM = "file://COPYING;md5=c9d1a2118a6cd5727521db8e7a2fee69" 12LIC_FILES_CHKSUM = "file://COPYING;md5=c9d1a2118a6cd5727521db8e7a2fee69"
13 13
14DEPENDS += "virtual/libx11 xorgproto libxrender libxext" 14DEPENDS += "virtual/libx11 xorgproto libxrender libxext"
@@ -19,5 +19,4 @@ XORG_PN = "libXrandr"
19 19
20BBCLASSEXTEND = "native nativesdk" 20BBCLASSEXTEND = "native nativesdk"
21 21
22SRC_URI[md5sum] = "18f3b20d522f45e4dadd34afb5bea048" 22SRC_URI[sha256sum] = "1ad5b065375f4a85915aa60611cc6407c060492a214d7f9daf214be752c3b4d3"
23SRC_URI[sha256sum] = "8aea0ebe403d62330bb741ed595b53741acf45033d3bda1792f1d4cc3daee023"
diff --git a/meta/recipes-graphics/xorg-lib/libxrender_0.9.10.bb b/meta/recipes-graphics/xorg-lib/libxrender_0.9.11.bb
index 9b18366138..e138764dff 100644
--- a/meta/recipes-graphics/xorg-lib/libxrender_0.9.10.bb
+++ b/meta/recipes-graphics/xorg-lib/libxrender_0.9.11.bb
@@ -8,7 +8,7 @@ drawn by loading glyphs into the server and rendering sets of them."
8 8
9require xorg-lib-common.inc 9require xorg-lib-common.inc
10 10
11LICENSE = "MIT-style" 11LICENSE = "MIT"
12LIC_FILES_CHKSUM = "file://COPYING;md5=d8bc71986d3b9b3639f6dfd6fac8f196" 12LIC_FILES_CHKSUM = "file://COPYING;md5=d8bc71986d3b9b3639f6dfd6fac8f196"
13 13
14DEPENDS += "virtual/libx11 xorgproto" 14DEPENDS += "virtual/libx11 xorgproto"
@@ -18,7 +18,5 @@ PE = "1"
18XORG_PN = "libXrender" 18XORG_PN = "libXrender"
19 19
20BBCLASSEXTEND = "native nativesdk" 20BBCLASSEXTEND = "native nativesdk"
21 21SRC_URI[sha256sum] = "bc53759a3a83d1ff702fb59641b3d2f7c56e05051fa0cfa93501166fa782dc24"
22SRC_URI[md5sum] = "802179a76bded0b658f4e9ec5e1830a4"
23SRC_URI[sha256sum] = "c06d5979f86e64cabbde57c223938db0b939dff49fdb5a793a1d3d0396650949"
24 22
diff --git a/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb b/meta/recipes-graphics/xorg-lib/libxres_1.2.2.bb
index af6bb19a25..72b28d9107 100644
--- a/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libxres_1.2.2.bb
@@ -16,5 +16,4 @@ PE = "1"
16 16
17XORG_PN = "libXres" 17XORG_PN = "libXres"
18 18
19SRC_URI[md5sum] = "5d6d443d1abc8e1f6fc1c57fb27729bb" 19SRC_URI[sha256sum] = "9a7446f3484b9b7538ac5ee30d2c1ce9e5b7fbbaf1440e02f6cca186a1fa745f"
20SRC_URI[sha256sum] = "ff75c1643488e64a7cfbced27486f0f944801319c84c18d3bd3da6bf28c812d4"
diff --git a/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.3.bb b/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.4.bb
index aed52e75ee..1b407f52f0 100644
--- a/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.4.bb
@@ -14,10 +14,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=21fd154ee757813632ada871a34113fb"
14 14
15DEPENDS += "libxext xorgproto" 15DEPENDS += "libxext xorgproto"
16PROVIDES = "libxss" 16PROVIDES = "libxss"
17RREPLACES_${PN} = "libxss" 17RREPLACES:${PN} = "libxss"
18PE = "1" 18PE = "1"
19 19
20XORG_PN = "libXScrnSaver" 20XORG_PN = "libXScrnSaver"
21 21
22SRC_URI[md5sum] = "eeea9d5af3e6c143d0ea1721d27a5e49" 22SRC_URI[sha256sum] = "75cd2859f38e207a090cac980d76bc71e9da99d48d09703584e00585abc920fe"
23SRC_URI[sha256sum] = "f917075a1b7b5a38d67a8b0238eaab14acd2557679835b154cf2bca576e89bf8"
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 @@
1From 5827f6389a227157958d14a687fb29223cb3a03a Mon Sep 17 00:00:00 2001
2From: Mingli Yu <mingli.yu@windriver.com>
3Date: Wed, 7 Apr 2021 07:48:42 +0000
4Subject: [PATCH] xshmfence_futex.h: Define SYS_futex if it does not exist
5
6_NR_futex is not defines by newer architectures e.g. riscv32 as
7they only have 64bit variant of time_t. Glibc defines SYS_futex
8interface based on __NR_futex, since this is used in applications,
9such applications start to fail to build for these newer architectures.
10This patch defines a fallback to alias __NR_futex to __NR_futex_time64
11to make SYS_futex keep working.
12
13Reference: https://git.openembedded.org/openembedded-core/commit/?id=7a218adf9990f5e18d0b6a33eb34091969f979c7
14
15Upstream-Status: Pending
16
17Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
18---
19 src/xshmfence_futex.h | 4 ++++
20 1 file changed, 4 insertions(+)
21
22diff --git a/src/xshmfence_futex.h b/src/xshmfence_futex.h
23index 673ac0e..a71efa5 100644
24--- a/src/xshmfence_futex.h
25+++ b/src/xshmfence_futex.h
26@@ -53,6 +53,10 @@ static inline int futex_wait(int32_t *addr, int32_t value) {
27 #include <sys/time.h>
28 #include <sys/syscall.h>
29
30+#if !defined(SYS_futex) && defined(SYS_futex_time64)
31+#define SYS_futex SYS_futex_time64
32+#endif
33+
34 static inline long sys_futex(void *addr1, int op, int val1, struct timespec *timeout, void *addr2, int val3)
35 {
36 return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
37--
382.29.2
39
diff --git a/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb b/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.2.bb
index cc45696530..0a7da938e1 100644
--- a/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.2.bb
@@ -6,14 +6,15 @@ using file descriptor passing."
6 6
7require xorg-lib-common.inc 7require xorg-lib-common.inc
8 8
9LICENSE = "MIT-style" 9LICENSE = "HPND"
10LIC_FILES_CHKSUM = "file://COPYING;md5=47e508ca280fde97906eacb77892c3ac" 10LIC_FILES_CHKSUM = "file://COPYING;md5=47e508ca280fde97906eacb77892c3ac"
11 11
12DEPENDS += "virtual/libx11" 12DEPENDS += "virtual/libx11"
13 13
14EXTRA_OECONF += "--with-shared-memory-dir=/dev/shm" 14EXTRA_OECONF += "--with-shared-memory-dir=/dev/shm"
15 15
16BBCLASSEXTEND = "native nativesdk" 16SRC_URI += "file://0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch"
17
18SRC_URI[sha256sum] = "870df257bc40b126d91b5a8f1da6ca8a524555268c50b59c0acd1a27f361606f"
17 19
18SRC_URI[md5sum] = "42dda8016943dc12aff2c03a036e0937" 20BBCLASSEXTEND = "native nativesdk"
19SRC_URI[sha256sum] = "b884300d26a14961a076fbebc762a39831cb75f92bed5ccf9836345b459220c7"
diff --git a/meta/recipes-graphics/xorg-lib/libxt_1.2.1.bb b/meta/recipes-graphics/xorg-lib/libxt_1.3.0.bb
index 8f2cded1df..1805dae772 100644
--- a/meta/recipes-graphics/xorg-lib/libxt_1.2.1.bb
+++ b/meta/recipes-graphics/xorg-lib/libxt_1.3.0.bb
@@ -12,8 +12,8 @@ independent of any particular user interface policy or style."
12 12
13require xorg-lib-common.inc 13require xorg-lib-common.inc
14 14
15LICENSE = "MIT & MIT-style" 15LICENSE = "MIT & MIT"
16LIC_FILES_CHKSUM = "file://COPYING;md5=73d55cea4d27ca1a09a5d23378b3ecf8" 16LIC_FILES_CHKSUM = "file://COPYING;md5=d6e9ca2c4b2276625afe025b0a2a4d8c"
17 17
18DEPENDS += "util-linux libxcb libsm virtual/libx11 xorgproto libxdmcp" 18DEPENDS += "util-linux libxcb libsm virtual/libx11 xorgproto libxdmcp"
19PROVIDES = "xt" 19PROVIDES = "xt"
@@ -21,10 +21,11 @@ PROVIDES = "xt"
21PE = "1" 21PE = "1"
22 22
23XORG_PN = "libXt" 23XORG_PN = "libXt"
24XORG_EXT = "tar.xz"
24 25
25SRC_URI += "file://libxt_fix_for_x32.patch" 26SRC_URI += "file://libxt_fix_for_x32.patch"
26 27
27SRC_URI[sha256sum] = "679cc08f1646dbd27f5e48ffe8dd49406102937109130caab02ca32c083a3d60" 28SRC_URI[sha256sum] = "52820b3cdb827d08dc90bdfd1b0022a3ad8919b57a39808b12591973b331bf91"
28 29
29BBCLASSEXTEND = "native nativesdk" 30BBCLASSEXTEND = "native nativesdk"
30 31
diff --git a/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb b/meta/recipes-graphics/xorg-lib/libxtst_1.2.4.bb
index 7837f69d38..db0621ba2e 100644
--- a/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxtst_1.2.4.bb
@@ -6,7 +6,7 @@ DESCRIPTION = "This extension is a minimal set of client and server \
6extensions required to completely test the X11 server with no user \ 6extensions required to completely test the X11 server with no user \
7intervention." 7intervention."
8 8
9LICENSE = "MIT-style" 9LICENSE = "MIT"
10LIC_FILES_CHKSUM = "file://COPYING;md5=bb4f89972c3869f617f61c1a79ad1952 \ 10LIC_FILES_CHKSUM = "file://COPYING;md5=bb4f89972c3869f617f61c1a79ad1952 \
11 file://src/XTest.c;beginline=2;endline=32;md5=b1c8c9dff842b4d5b89ca5fa32c40e99" 11 file://src/XTest.c;beginline=2;endline=32;md5=b1c8c9dff842b4d5b89ca5fa32c40e99"
12 12
@@ -15,8 +15,6 @@ PROVIDES = "xtst"
15PE = "1" 15PE = "1"
16 16
17XORG_PN = "libXtst" 17XORG_PN = "libXtst"
18 18SRC_URI[sha256sum] = "84f5f30b9254b4ffee14b5b0940e2622153b0d3aed8286a3c5b7eeb340ca33c8"
19SRC_URI[md5sum] = "ef8c2c1d16a00bd95b9fdcef63b8a2ca"
20SRC_URI[sha256sum] = "4655498a1b8e844e3d6f21f3b2c4e2b571effb5fd83199d428a6ba7ea4bf5204"
21 19
22BBCLASSEXTEND = "native nativesdk" 20BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libxv_1.0.11.bb b/meta/recipes-graphics/xorg-lib/libxv_1.0.12.bb
index c6027233ef..7f9c5e5cbc 100644
--- a/meta/recipes-graphics/xorg-lib/libxv_1.0.11.bb
+++ b/meta/recipes-graphics/xorg-lib/libxv_1.0.12.bb
@@ -7,13 +7,12 @@ clients, which may draw in a number of colourspaces, including YUV."
7 7
8require xorg-lib-common.inc 8require xorg-lib-common.inc
9 9
10LICENSE = "MIT-style" 10LICENSE = "MIT"
11LIC_FILES_CHKSUM = "file://COPYING;md5=827da9afab1f727f2a66574629e0f39c" 11LIC_FILES_CHKSUM = "file://COPYING;md5=827da9afab1f727f2a66574629e0f39c"
12 12
13DEPENDS += "libxext xorgproto" 13DEPENDS += "libxext xorgproto"
14 14
15XORG_PN = "libXv" 15XORG_PN = "libXv"
16 16
17SRC_URI[md5sum] = "210b6ef30dda2256d54763136faa37b9" 17SRC_URI[sha256sum] = "aaf7fa09f689f7a2000fe493c0d64d1487a1210db154053e9e2336b860c63848"
18SRC_URI[sha256sum] = "d26c13eac99ac4504c532e8e76a1c8e4bd526471eb8a0a4ff2a88db60cb0b088"
19 18
diff --git a/meta/recipes-graphics/xorg-lib/libxvmc_1.0.12.bb b/meta/recipes-graphics/xorg-lib/libxvmc_1.0.14.bb
index 29ed0c43d1..af18afc62d 100644
--- a/meta/recipes-graphics/xorg-lib/libxvmc_1.0.12.bb
+++ b/meta/recipes-graphics/xorg-lib/libxvmc_1.0.14.bb
@@ -4,6 +4,7 @@ DESCRIPTION = "XvMC extends the X Video extension (Xv) and enables \
4hardware rendered motion compensation support." 4hardware rendered motion compensation support."
5 5
6require xorg-lib-common.inc 6require xorg-lib-common.inc
7SRC_URI = "${XORG_MIRROR}/individual/lib/${XORG_PN}-${PV}.tar.xz"
7 8
8LICENSE = "MIT" 9LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://COPYING;md5=0a207f08d4961489c55046c9a5e500da \ 10LIC_FILES_CHKSUM = "file://COPYING;md5=0a207f08d4961489c55046c9a5e500da \
@@ -15,5 +16,4 @@ PE = "1"
15 16
16XORG_PN = "libXvMC" 17XORG_PN = "libXvMC"
17 18
18SRC_URI[md5sum] = "3569ff7f3e26864d986d6a21147eaa58" 19SRC_URI[sha256sum] = "e4be9eb6b6bafdbbf81f47f7163047215376e45e2dc786d0ea6181c930725ed9"
19SRC_URI[sha256sum] = "6b3da7977b3f7eaf4f0ac6470ab1e562298d82c4e79077765787963ab7966dcd"
diff --git a/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.4.bb b/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.5.bb
index 1612a50f19..16fd29ebcd 100644
--- a/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.5.bb
@@ -15,8 +15,6 @@ DEPENDS += "libxext xorgproto"
15PE = "1" 15PE = "1"
16 16
17XORG_PN = "libXxf86vm" 17XORG_PN = "libXxf86vm"
18 18SRC_URI[sha256sum] = "247fef48b3e0e7e67129e41f1e789e8d006ba47dba1c0cdce684b9b703f888e7"
19SRC_URI[md5sum] = "298b8fff82df17304dfdb5fe4066fe3a"
20SRC_URI[sha256sum] = "afee27f93c5f31c0ad582852c0fb36d50e4de7cd585fcf655e278a633d85cd57"
21 19
22BBCLASSEXTEND = "native nativesdk" 20BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb b/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb
index 5a3bb22ec3..23ae0cbb27 100644
--- a/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb
+++ b/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb
@@ -10,15 +10,14 @@ DEPENDS = "zlib"
10SRC_URI = "https://www.cairographics.org/releases/${BP}.tar.gz \ 10SRC_URI = "https://www.cairographics.org/releases/${BP}.tar.gz \
11 file://0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch \ 11 file://0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch \
12 " 12 "
13SRC_URI[md5sum] = "73858c0862dd9896fb5f62ae267084a4" 13SRC_URI[sha256sum] = "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e"
14SRC_URI[sha256sum] = "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc"
15 14
16# see http://cairographics.org/releases/ - only even minor versions are stable 15# see http://cairographics.org/releases/ - only even minor versions are stable
17UPSTREAM_CHECK_REGEX = "pixman-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)" 16UPSTREAM_CHECK_REGEX = "pixman-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
18 17
19PE = "1" 18PE = "1"
20 19
21LICENSE = "MIT & MIT-style & PD" 20LICENSE = "MIT & PD"
22LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \ 21LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \
23 file://pixman/pixman-matrix.c;endline=21;md5=4a018dff3e4e25302724c88ff95c2456 \ 22 file://pixman/pixman-matrix.c;endline=21;md5=4a018dff3e4e25302724c88ff95c2456 \
24 file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \ 23 file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \
@@ -31,5 +30,18 @@ EXTRA_OEMESON = "-Dgtk=disabled -Dlibpng=disabled"
31# ld: pixman/libpixman-mmx.a(pixman-mmx.c.o): 30# ld: pixman/libpixman-mmx.a(pixman-mmx.c.o):
32# linking mips:loongson_2f module with previous mips:isa64 modules 31# linking mips:loongson_2f module with previous mips:isa64 modules
33EXTRA_OEMESON += "-Dloongson-mmi=disabled" 32EXTRA_OEMESON += "-Dloongson-mmi=disabled"
33# disable iwmmxt due to compile fails on most arm platforms.
34EXTRA_OEMESON += "-Diwmmxt=disabled"
35
36EXTRA_OEMESON:append:class-target:powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}"
37EXTRA_OEMESON:append:class-target:powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}"
38EXTRA_OEMESON:append:class-target:powerpc64le = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}"
39
40EXTRA_OEMESON:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon",""," -Dneon=disabled",d)}"
41EXTRA_OEMESON:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon",""," -Dneon=disabled",d)}"
42
43EXTRA_OEMESON:append:class-native = " -Dopenmp=disabled"
34 44
35BBCLASSEXTEND = "native nativesdk" 45BBCLASSEXTEND = "native nativesdk"
46
47CVE_STATUS[CVE-2023-37769] = "not-applicable-config: stress-test is an uninstalled test"
diff --git a/meta/recipes-graphics/xorg-lib/xcb-util-cursor_0.1.4.bb b/meta/recipes-graphics/xorg-lib/xcb-util-cursor_0.1.4.bb
new file mode 100644
index 0000000000..047697845c
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/xcb-util-cursor_0.1.4.bb
@@ -0,0 +1,10 @@
1require recipes-graphics/xorg-lib/xcb-util.inc
2
3SUMMARY = "XCB port of libXcursor"
4
5DEPENDS += "xcb-util xcb-util-renderutil xcb-util-image"
6
7LICENSE = "MIT"
8LIC_FILES_CHKSUM = "file://COPYING;md5=ce469b61c70ff8d7cce0547476891974"
9
10SRC_URI[sha256sum] = "28dcfe90bcab7b3561abe0dd58eb6832aa9cc77cfe42fcdfa4ebe20d605231fb"
diff --git a/meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.0.bb b/meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.1.bb
index c6bb5a61cd..018ac913bf 100644
--- a/meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.0.bb
+++ b/meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.1.bb
@@ -9,5 +9,4 @@ LIC_FILES_CHKSUM = "file://image/xcb_image.c;endline=24;md5=eafdf965cfb89955fded
9SRC_URI += "file://clang.patch \ 9SRC_URI += "file://clang.patch \
10" 10"
11 11
12SRC_URI[md5sum] = "08fe8ffecc8d4e37c0ade7906b3f4c87" 12SRC_URI[sha256sum] = "ccad8ee5dadb1271fd4727ad14d9bd77a64e505608766c4e98267d9aede40d3d"
13SRC_URI[sha256sum] = "2db96a37d78831d643538dd1b595d7d712e04bdccf8896a5e18ce0f398ea2ffc"
diff --git a/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.0.bb b/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.1.bb
index bca64ed61f..f1a4c3e500 100644
--- a/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.0.bb
+++ b/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.1.bb
@@ -3,7 +3,6 @@ require xcb-util.inc
3LICENSE = "MIT" 3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://keysyms/keysyms.c;endline=30;md5=2f8de023ed823bb92f0b47900574ea9e \ 4LIC_FILES_CHKSUM = "file://keysyms/keysyms.c;endline=30;md5=2f8de023ed823bb92f0b47900574ea9e \
5 " 5 "
6SRC_URI[md5sum] = "1022293083eec9e62d5659261c29e367" 6SRC_URI[sha256sum] = "7c260a5294412aed429df1da2f8afd3bd07b7cba3fec772fba15a613a6d5c638"
7SRC_URI[sha256sum] = "0ef8490ff1dede52b7de533158547f8b454b241aa3e4dcca369507f66f216dd9"
8 7
9 8
diff --git a/meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.9.bb b/meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.10.bb
index 25c22e5fa7..6590fa3301 100644
--- a/meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.9.bb
+++ b/meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.10.bb
@@ -6,5 +6,4 @@ LIC_FILES_CHKSUM = "file://renderutil/glyph.c;endline=24;md5=c517c483b8d726234ec
6 file://renderutil/xcb_renderutil.h;endline=24;md5=d0ddab3052dd4949c93cfcb0891c96df \ 6 file://renderutil/xcb_renderutil.h;endline=24;md5=d0ddab3052dd4949c93cfcb0891c96df \
7 " 7 "
8 8
9SRC_URI[md5sum] = "468b119c94da910e1291f3ffab91019a" 9SRC_URI[sha256sum] = "3e15d4f0e22d8ddbfbb9f5d77db43eacd7a304029bf25a6166cc63caa96d04ba"
10SRC_URI[sha256sum] = "c6e97e48fb1286d6394dddb1c1732f00227c70bd1bedb7d1acabefdd340bea5b"
diff --git a/meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.1.bb b/meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.2.bb
index 39f1383299..65d340f88c 100644
--- a/meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.1.bb
+++ b/meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.2.bb
@@ -7,5 +7,4 @@ LIC_FILES_CHKSUM = "file://ewmh/ewmh.c.m4;endline=27;md5=63fd80552d7dc886f4eb267
7 file://icccm/xcb_icccm.h;beginline=4;endline=31;md5=393772b7b07b9868d479d538238c1d8a \ 7 file://icccm/xcb_icccm.h;beginline=4;endline=31;md5=393772b7b07b9868d479d538238c1d8a \
8 " 8 "
9 9
10SRC_URI[md5sum] = "87b19a1cd7bfcb65a24e36c300e03129" 10SRC_URI[sha256sum] = "62c34e21d06264687faea7edbf63632c9f04d55e72114aa4a57bb95e4f888a0b"
11SRC_URI[sha256sum] = "28bf8179640eaa89276d2b0f1ce4285103d136be6c98262b6151aaee1d3c2a3f"
diff --git a/meta/recipes-graphics/xorg-lib/xcb-util.inc b/meta/recipes-graphics/xorg-lib/xcb-util.inc
index 0e5ab70b2d..9898a6a13e 100644
--- a/meta/recipes-graphics/xorg-lib/xcb-util.inc
+++ b/meta/recipes-graphics/xorg-lib/xcb-util.inc
@@ -16,7 +16,7 @@ SECTION = "x11/libs"
16DEPENDS = "libxcb" 16DEPENDS = "libxcb"
17DEPENDS += "gperf-native" 17DEPENDS += "gperf-native"
18 18
19SRC_URI = "http://xcb.freedesktop.org/dist/${BPN}-${PV}.tar.bz2" 19SRC_URI = "http://xcb.freedesktop.org/dist/${BPN}-${PV}.tar.xz"
20 20
21inherit autotools pkgconfig features_check 21inherit autotools pkgconfig features_check
22 22
diff --git a/meta/recipes-graphics/xorg-lib/xcb-util_0.4.0.bb b/meta/recipes-graphics/xorg-lib/xcb-util_0.4.1.bb
index 206f07a65c..0da004f907 100644
--- a/meta/recipes-graphics/xorg-lib/xcb-util_0.4.0.bb
+++ b/meta/recipes-graphics/xorg-lib/xcb-util_0.4.1.bb
@@ -1,8 +1,9 @@
1require xcb-util.inc 1require xcb-util.inc
2 2
3SRC_URI = "http://xcb.freedesktop.org/dist/${BPN}-${PV}.tar.xz"
4
3LICENSE = "MIT" 5LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://src/xcb_aux.c;endline=30;md5=ae305b9c2a38f9ba27060191046a6460 \ 6LIC_FILES_CHKSUM = "file://src/xcb_aux.c;endline=30;md5=ae305b9c2a38f9ba27060191046a6460 \
5 file://src/xcb_event.h;endline=27;md5=627be355aee59e1b8ade80d5bd90fad9" 7 file://src/xcb_event.h;endline=27;md5=627be355aee59e1b8ade80d5bd90fad9"
6 8
7SRC_URI[md5sum] = "2e97feed81919465a04ccc71e4073313" 9SRC_URI[sha256sum] = "5abe3bbbd8e54f0fa3ec945291b7e8fa8cfd3cccc43718f8758430f94126e512"
8SRC_URI[sha256sum] = "46e49469cb3b594af1d33176cd7565def2be3fa8be4371d62271fabb5eae50e9"
diff --git a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.32.bb b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.41.bb
index daa07a4d02..79ce7dea35 100644
--- a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.32.bb
+++ b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.41.bb
@@ -9,22 +9,24 @@ systems."
9HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig" 9HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig"
10BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-config" 10BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-config"
11 11
12LICENSE = "MIT & MIT-style" 12LICENSE = "MIT & MIT"
13LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9" 13LIC_FILES_CHKSUM = "file://COPYING;md5=8fc8ae699974c360e2e2e883a63ce264"
14 14
15SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2" 15SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.xz"
16SRC_URI[sha256sum] = "1feee317ba39b91902b0cbd2987c0c73e6afbfc8f4c096367a5c86c216c036a8" 16SRC_URI[sha256sum] = "f02cd6b957295e0d50236a3db15825256c92f67ef1f73bf1c77a4b179edf728f"
17 17
18SECTION = "x11/libs" 18SECTION = "x11/libs"
19DEPENDS = "util-macros libxslt-native" 19DEPENDS = "util-macros libxslt-native"
20 20
21EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps" 21EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps"
22 22
23FILES_${PN} += "${datadir}/X11/xkb" 23FILES:${PN} += "${datadir}/X11/xkb"
24 24
25inherit autotools pkgconfig gettext python3native 25inherit meson pkgconfig gettext python3native
26 26
27do_install_append () { 27do_install:append () {
28 install -d ${D}${datadir}/X11/xkb/compiled 28 install -d ${D}${datadir}/X11/xkb/compiled
29 cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg 29 cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg
30} 30}
31
32BBCLASSEXTEND += "native"
diff --git a/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc b/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
index a566eaa45e..15c7ecf782 100644
--- a/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
+++ b/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
@@ -2,12 +2,13 @@ HOMEPAGE = "http://www.x.org"
2BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" 2BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
3 3
4SECTION = "x11/libs" 4SECTION = "x11/libs"
5LICENSE = "MIT-X" 5LICENSE = "MIT"
6DEPENDS = "util-macros" 6DEPENDS = "util-macros"
7 7
8XORG_PN = "${BPN}" 8XORG_PN = "${BPN}"
9XORG_EXT ?= "tar.xz"
9 10
10SRC_URI = "${XORG_MIRROR}/individual/lib/${XORG_PN}-${PV}.tar.bz2" 11SRC_URI = "${XORG_MIRROR}/individual/lib/${XORG_PN}-${PV}.${XORG_EXT}"
11 12
12S = "${WORKDIR}/${XORG_PN}-${PV}" 13S = "${WORKDIR}/${XORG_PN}-${PV}"
13 14
@@ -18,7 +19,7 @@ EXTRA_OECONF = "--disable-specs --without-groff --without-ps2pdf --without-fop"
18PACKAGECONFIG ??= "" 19PACKAGECONFIG ??= ""
19PACKAGECONFIG[xmlto] = "--with-xmlto, --without-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" 20PACKAGECONFIG[xmlto] = "--with-xmlto, --without-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
20 21
21UNKNOWN_CONFIGURE_WHITELIST += "--enable-malloc0returnsnull --disable-malloc0returnsnull \ 22UNKNOWN_CONFIGURE_OPT_IGNORE += "--enable-malloc0returnsnull --disable-malloc0returnsnull \
22 --disable-specs --without-groff --without-ps2pdf --without-fop \ 23 --disable-specs --without-groff --without-ps2pdf --without-fop \
23 --without-xmlto --with-xmlto \ 24 --without-xmlto --with-xmlto \
24" 25"
diff --git a/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb b/meta/recipes-graphics/xorg-lib/xtrans_1.5.0.bb
index 5bf134b5f8..781382e516 100644
--- a/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb
+++ b/meta/recipes-graphics/xorg-lib/xtrans_1.5.0.bb
@@ -9,18 +9,17 @@ except in the X Transport Interface code."
9 9
10require xorg-lib-common.inc 10require xorg-lib-common.inc
11 11
12LICENSE = "MIT & MIT-style" 12LICENSE = "MIT"
13LIC_FILES_CHKSUM = "file://COPYING;md5=49347921d4d5268021a999f250edc9ca" 13LIC_FILES_CHKSUM = "file://COPYING;md5=bc875e1c864f4f62b29f7d8651f627fa"
14 14
15SRC_URI += "file://multilibfix.patch" 15SRC_URI += "file://multilibfix.patch"
16 16
17PE = "1" 17PE = "1"
18 18
19RDEPENDS_${PN}-dev = "" 19DEV_PKG_DEPENDENCY = ""
20 20
21inherit gettext 21inherit gettext
22 22
23BBCLASSEXTEND = "native nativesdk" 23BBCLASSEXTEND = "native nativesdk"
24 24
25SRC_URI[md5sum] = "ce2fb8100c6647ee81451ebe388b17ad" 25SRC_URI[sha256sum] = "1ba4b703696bfddbf40bacf25bce4e3efb2a0088878f017a50e9884b0c8fb1bd"
26SRC_URI[sha256sum] = "377c4491593c417946efcd2c7600d1e62639f7a8bbca391887e2c4679807d773"
diff --git a/meta/recipes-graphics/xorg-proto/xcb-proto/0001-Fix-install-conflict-when-enable-multilib.patch b/meta/recipes-graphics/xorg-proto/xcb-proto/0001-Fix-install-conflict-when-enable-multilib.patch
new file mode 100644
index 0000000000..4209139da8
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/xcb-proto/0001-Fix-install-conflict-when-enable-multilib.patch
@@ -0,0 +1,32 @@
1From fc28149b6b198042c8d29e0931415adad7ed3231 Mon Sep 17 00:00:00 2001
2From: Wang Mingyu <wangmy@fujitsu.com>
3Date: Thu, 16 Mar 2023 08:03:47 +0000
4Subject: [PATCH] Fix install conflict when enable multilib.
5
6Automake defines pythondir in terms of libdir (rather than hardcode 'lib' or query it from python as automake upstream does)
7https://git.yoctoproject.org/poky/tree/meta/recipes-devtools/automake/automake/0001-automake-Update-for-python.m4-to-respect-libdir.patch
8
9So libdir needs to be defined when pythondir is defined.
10
11Upstream-Status: Inappropriate
12
13Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
14---
15 Makefile.am | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/Makefile.am b/Makefile.am
19index 8b57a83..580f5bc 100644
20--- a/Makefile.am
21+++ b/Makefile.am
22@@ -1,6 +1,6 @@
23 SUBDIRS = src xcbgen
24
25-pkgconfigdir = $(datarootdir)/pkgconfig
26+pkgconfigdir = $(libdir)/pkgconfig
27 pkgconfig_DATA = xcb-proto.pc
28
29 EXTRA_DIST=doc xcb-proto.pc.in autogen.sh README.md
30--
312.34.1
32
diff --git a/meta/recipes-graphics/xorg-proto/xcb-proto/0001-xcb-proto.pc.in-reinstate-libdir.patch b/meta/recipes-graphics/xorg-proto/xcb-proto/0001-xcb-proto.pc.in-reinstate-libdir.patch
new file mode 100644
index 0000000000..fe0a96c207
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/xcb-proto/0001-xcb-proto.pc.in-reinstate-libdir.patch
@@ -0,0 +1,29 @@
1From ed499cffabe64fc1dc5898cb69ffa7e62c19e9d8 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Tue, 5 Jul 2022 21:19:20 +0200
4Subject: [PATCH] xcb-proto.pc.in: reinstate libdir
5
6Otherwise the following occurs when building libxcb:
7| checking for xcb-proto >= 1.14... no
8| configure: error: Package requirements (xcb-proto >= 1.14) were not met:
9|
10| Variable 'libdir' not defined in '/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/libxcb/1.15-r0/recipe-sysroot/usr/share/pkgconfig/xcb-proto.pc'
11
12Upstream-Status: Submitted [https://gitlab.freedesktop.org/xorg/proto/xcbproto/-/merge_requests/31]
13Signed-off-by: Alexander Kanavin <alex@linutronix.de>
14---
15 xcb-proto.pc.in | 1 +
16 1 file changed, 1 insertion(+)
17
18diff --git a/xcb-proto.pc.in b/xcb-proto.pc.in
19index 0822b18..c7c8b47 100644
20--- a/xcb-proto.pc.in
21+++ b/xcb-proto.pc.in
22@@ -2,6 +2,7 @@ prefix=@prefix@
23 exec_prefix=@exec_prefix@
24 datarootdir=@datarootdir@
25 datadir=@datadir@
26+libdir=@libdir@
27 xcbincludedir=${pc_sysrootdir}@xcbincludedir@
28 PYTHON_PREFIX=@PYTHON_PREFIX@
29 pythondir=${pc_sysrootdir}@pythondir@
diff --git a/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb b/meta/recipes-graphics/xorg-proto/xcb-proto_1.17.0.bb
index 52e474a2e9..2a78a87e77 100644
--- a/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb
+++ b/meta/recipes-graphics/xorg-proto/xcb-proto_1.17.0.bb
@@ -11,18 +11,21 @@ LICENSE = "MIT"
11LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7 \ 11LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7 \
12 file://src/dri2.xml;beginline=2;endline=28;md5=f8763b13ff432e8597e0d610cf598e65" 12 file://src/dri2.xml;beginline=2;endline=28;md5=f8763b13ff432e8597e0d610cf598e65"
13 13
14SRC_URI = "https://xorg.freedesktop.org/archive/individual/proto/${BP}.tar.xz" 14SRC_URI = "https://xorg.freedesktop.org/archive/individual/proto/${BP}.tar.xz \
15SRC_URI[sha256sum] = "f04add9a972ac334ea11d9d7eb4fc7f8883835da3e4859c9afa971efdf57fcc3" 15 file://0001-xcb-proto.pc.in-reinstate-libdir.patch \
16 file://0001-Fix-install-conflict-when-enable-multilib.patch \
17 "
18SRC_URI[sha256sum] = "2c1bacd2110f4799f74de6ebb714b94cf6f80fb112316b1219480fd22562148c"
16 19
17inherit autotools pkgconfig python3native 20inherit autotools pkgconfig python3native
18 21
19PACKAGES += "python-xcbgen" 22PACKAGES += "python-xcbgen"
20 23
21FILES_${PN} = "" 24FILES:${PN} = ""
22FILES_${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd" 25FILES:${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd"
23FILES_python-xcbgen = "${PYTHON_SITEPACKAGES_DIR}" 26FILES:python-xcbgen = "${PYTHON_SITEPACKAGES_DIR}"
24 27
25RDEPENDS_${PN}-dev = "" 28DEV_PKG_DEPENDENCY = ""
26RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" 29RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
27 30
28BBCLASSEXTEND = "native nativesdk" 31BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-proto/xorgproto_2020.1.bb b/meta/recipes-graphics/xorg-proto/xorgproto_2024.1.bb
index c71bc9038f..3f56e21a55 100644
--- a/meta/recipes-graphics/xorg-proto/xorgproto_2020.1.bb
+++ b/meta/recipes-graphics/xorg-proto/xorgproto_2024.1.bb
@@ -1,4 +1,3 @@
1
2SUMMARY = "X Window System unified protocol definitions" 1SUMMARY = "X Window System unified protocol definitions"
3DESCRIPTION = "This package provides the headers and specification documents defining \ 2DESCRIPTION = "This package provides the headers and specification documents defining \
4the core protocol and (many) extensions for the X Window System" 3the core protocol and (many) extensions for the X Window System"
@@ -6,12 +5,11 @@ HOMEPAGE = "http://www.x.org"
6BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" 5BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
7 6
8SECTION = "x11/libs" 7SECTION = "x11/libs"
9LICENSE = "MIT-style" 8LICENSE = "MIT"
10LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=b9e051107d5628966739a0b2e9b32676" 9LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=0b9fe3db4015bcbe920e7c67a39ee3f1"
11 10
12SRC_URI = "${XORG_MIRROR}/individual/proto/${BP}.tar.bz2" 11SRC_URI = "${XORG_MIRROR}/individual/proto/${BP}.tar.xz"
13SRC_URI[md5sum] = "c29f4fa78f53b52b3efdc71ebd9506b6" 12SRC_URI[sha256sum] = "372225fd40815b8423547f5d890c5debc72e88b91088fbfb13158c20495ccb59"
14SRC_URI[sha256sum] = "54a153f139035a376c075845dd058049177212da94d7a9707cf9468367b699d2"
15 13
16inherit meson 14inherit meson
17 15
@@ -21,7 +19,7 @@ PACKAGECONFIG[legacy] = "-Dlegacy=true,-Dlegacy=false"
21# Datadir only used to install pc files, $datadir/pkgconfig 19# Datadir only used to install pc files, $datadir/pkgconfig
22datadir="${libdir}" 20datadir="${libdir}"
23# ${PN} is empty so we need to tweak -dev and -dbg package dependencies 21# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
24RDEPENDS_${PN}-dev = "" 22DEV_PKG_DEPENDENCY = ""
25RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" 23RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
26 24
27BBCLASSEXTEND = "native nativesdk" 25BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-util/makedepend_1.0.6.bb b/meta/recipes-graphics/xorg-util/makedepend_1.0.9.bb
index 2760edd173..6db7d04079 100644
--- a/meta/recipes-graphics/xorg-util/makedepend_1.0.6.bb
+++ b/meta/recipes-graphics/xorg-util/makedepend_1.0.9.bb
@@ -17,5 +17,4 @@ BBCLASSEXTEND = "native"
17 17
18LIC_FILES_CHKSUM = "file://COPYING;md5=43a6eda34b48ee821b3b66f4f753ce4f" 18LIC_FILES_CHKSUM = "file://COPYING;md5=43a6eda34b48ee821b3b66f4f753ce4f"
19 19
20SRC_URI[md5sum] = "8a583055c84914060c35b6c2f963fc07" 20SRC_URI[sha256sum] = "bc94ffda6cd4671603a69c39dbe8f96b317707b9185b2aaa3b54b5d134b41884"
21SRC_URI[sha256sum] = "845f6708fc850bf53f5b1d0fb4352c4feab3949f140b26f71b22faba354c3365"
diff --git a/meta/recipes-graphics/xorg-util/util-macros/0001-xorg-macros.m4.in-do-not-run-AC_CANONICAL_HOST-in-ma.patch b/meta/recipes-graphics/xorg-util/util-macros/0001-xorg-macros.m4.in-do-not-run-AC_CANONICAL_HOST-in-ma.patch
new file mode 100644
index 0000000000..e08b586bf0
--- /dev/null
+++ b/meta/recipes-graphics/xorg-util/util-macros/0001-xorg-macros.m4.in-do-not-run-AC_CANONICAL_HOST-in-ma.patch
@@ -0,0 +1,28 @@
1From 6afaaf164ab9370204856961a92ad8ee523a8293 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Fri, 3 Mar 2023 13:24:58 +0100
4Subject: [PATCH] xorg-macros.m4.in: do not run AC_CANONICAL_HOST in manpage
5 section macro
6
7This doesn't work when building allarch items, as it calls into
8config.sub with the host triplet, and config.sub can't match
9it against any architeture it knows.
10
11Upstream-Status: Inappropriate [oe specific]
12Signed-off-by: Alexander Kanavin <alex@linutronix.de>
13---
14 xorg-macros.m4.in | 1 -
15 1 file changed, 1 deletion(-)
16
17diff --git a/xorg-macros.m4.in b/xorg-macros.m4.in
18index 3b8b8e9..6541236 100644
19--- a/xorg-macros.m4.in
20+++ b/xorg-macros.m4.in
21@@ -111,7 +111,6 @@ AC_SUBST(TRADITIONALCPPFLAGS)
22 # Added AC_PROG_SED in version 1.8
23
24 AC_DEFUN([XORG_MANPAGE_SECTIONS],[
25-AC_REQUIRE([AC_CANONICAL_HOST])
26 AC_REQUIRE([AC_PROG_SED])
27
28 case $host_os in
diff --git a/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb b/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb
deleted file mode 100644
index 27898709fc..0000000000
--- a/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb
+++ /dev/null
@@ -1,19 +0,0 @@
1SUMMARY = "X autotools macros"
2
3DESCRIPTION = "M4 autotools macros used by various X.org programs."
4
5require xorg-util-common.inc
6
7LICENSE = "MIT & MIT-style"
8LIC_FILES_CHKSUM = "file://COPYING;md5=1970511fddd439b07a6ba789d28ff662"
9
10PE = "1"
11
12SRC_URI[md5sum] = "66cb74d4a0120a06e32c3b01c29417d8"
13SRC_URI[sha256sum] = "624bb6c3a4613d18114a7e3849a3d70f2d7af9dc6eabeaba98060d87e3aef35b"
14
15# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
16RDEPENDS_${PN}-dev = ""
17RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
18
19BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-util/util-macros_1.20.1.bb b/meta/recipes-graphics/xorg-util/util-macros_1.20.1.bb
new file mode 100644
index 0000000000..8a0e7bec41
--- /dev/null
+++ b/meta/recipes-graphics/xorg-util/util-macros_1.20.1.bb
@@ -0,0 +1,20 @@
1SUMMARY = "X autotools macros"
2
3DESCRIPTION = "M4 autotools macros used by various X.org programs."
4
5require xorg-util-common.inc
6
7LICENSE = "MIT & MIT"
8LIC_FILES_CHKSUM = "file://COPYING;md5=42ba50748cb7ccf8739424e5e2072b02"
9
10PE = "1"
11
12SRC_URI += "file://0001-xorg-macros.m4.in-do-not-run-AC_CANONICAL_HOST-in-ma.patch"
13
14SRC_URI[sha256sum] = "b373f72887b1394ce2193180a60cb0d1fb8b17bc96ddd770cfd7a808cb489a15"
15
16# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
17DEV_PKG_DEPENDENCY = ""
18RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
19
20BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-util/xorg-util-common.inc b/meta/recipes-graphics/xorg-util/xorg-util-common.inc
index 18d022c49f..a4c85a4ebc 100644
--- a/meta/recipes-graphics/xorg-util/xorg-util-common.inc
+++ b/meta/recipes-graphics/xorg-util/xorg-util-common.inc
@@ -2,7 +2,7 @@ HOMEPAGE = "http://www.x.org"
2BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" 2BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
3 3
4SECTION = "x11/utils" 4SECTION = "x11/utils"
5LICENSE = "MIT-X" 5LICENSE = "MIT"
6 6
7XORG_PN = "${BPN}" 7XORG_PN = "${BPN}"
8 8
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf
index f4cd139e8d..3eb380a0a4 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf
@@ -35,4 +35,8 @@ Section "ServerLayout"
35 Identifier "Default Layout" 35 Identifier "Default Layout"
36 Screen "Default Screen" 36 Screen "Default Screen"
37 Option "AllowEmptyInput" "no" 37 Option "AllowEmptyInput" "no"
38 Option "BlankTime" "0"
39 Option "StandbyTime" "0"
40 Option "SuspendTime" "0"
41 Option "OffTime" "0"
38EndSection 42EndSection
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf
index f4cd139e8d..3eb380a0a4 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf
@@ -35,4 +35,8 @@ Section "ServerLayout"
35 Identifier "Default Layout" 35 Identifier "Default Layout"
36 Screen "Default Screen" 36 Screen "Default Screen"
37 Option "AllowEmptyInput" "no" 37 Option "AllowEmptyInput" "no"
38 Option "BlankTime" "0"
39 Option "StandbyTime" "0"
40 Option "SuspendTime" "0"
41 Option "OffTime" "0"
38EndSection 42EndSection
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf
index f4cd139e8d..3eb380a0a4 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf
@@ -35,4 +35,8 @@ Section "ServerLayout"
35 Identifier "Default Layout" 35 Identifier "Default Layout"
36 Screen "Default Screen" 36 Screen "Default Screen"
37 Option "AllowEmptyInput" "no" 37 Option "AllowEmptyInput" "no"
38 Option "BlankTime" "0"
39 Option "StandbyTime" "0"
40 Option "SuspendTime" "0"
41 Option "OffTime" "0"
38EndSection 42EndSection
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf
index c12d92c201..c01c3331c5 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf
@@ -30,4 +30,8 @@ Section "ServerLayout"
30 Identifier "Default Layout" 30 Identifier "Default Layout"
31 Screen "Default Screen" 31 Screen "Default Screen"
32 Option "AllowEmptyInput" "no" 32 Option "AllowEmptyInput" "no"
33 Option "BlankTime" "0"
34 Option "StandbyTime" "0"
35 Option "SuspendTime" "0"
36 Option "OffTime" "0"
33EndSection 37EndSection
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf
index c12d92c201..c01c3331c5 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf
@@ -30,4 +30,8 @@ Section "ServerLayout"
30 Identifier "Default Layout" 30 Identifier "Default Layout"
31 Screen "Default Screen" 31 Screen "Default Screen"
32 Option "AllowEmptyInput" "no" 32 Option "AllowEmptyInput" "no"
33 Option "BlankTime" "0"
34 Option "StandbyTime" "0"
35 Option "SuspendTime" "0"
36 Option "OffTime" "0"
33EndSection 37EndSection
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..03f14cef2b 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
@@ -1,18 +1,17 @@
1SUMMARY = "X.Org X server configuration file" 1SUMMARY = "X.Org X server configuration file"
2HOMEPAGE = "http://www.x.org" 2HOMEPAGE = "http://www.x.org"
3SECTION = "x11/base" 3SECTION = "x11/base"
4LICENSE = "MIT-X" 4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 5LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
6PR = "r33"
7 6
8SRC_URI = "file://xorg.conf" 7SRC_URI = "file://xorg.conf"
9 8
10S = "${WORKDIR}" 9S = "${WORKDIR}"
11 10
12CONFFILES_${PN} = "${sysconfdir}/X11/xorg.conf" 11CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf"
13 12
14PACKAGE_ARCH = "${MACHINE_ARCH}" 13PACKAGE_ARCH = "${MACHINE_ARCH}"
15ALLOW_EMPTY_${PN} = "1" 14ALLOW_EMPTY:${PN} = "1"
16 15
17do_install () { 16do_install () {
18 if test -s ${WORKDIR}/xorg.conf; then 17 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..22f7d9a8ad 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
@@ -1,7 +1,7 @@
1SUMMARY = "The X.Org X server" 1SUMMARY = "The X.Org X server"
2HOMEPAGE = "http://www.x.org" 2HOMEPAGE = "http://www.x.org"
3SECTION = "x11/base" 3SECTION = "x11/base"
4LICENSE = "MIT-X" 4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880" 5LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
6 6
7# xf86-*-* packages depend on an X server built with the xfree86 DDX 7# xf86-*-* packages depend on an X server built with the xfree86 DDX
@@ -15,18 +15,29 @@ PROVIDES += "virtual/xserver"
15PE = "2" 15PE = "2"
16 16
17XORG_PN = "xorg-server" 17XORG_PN = "xorg-server"
18SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2" 18SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.xz"
19 19
20CVE_PRODUCT = "xorg-server" 20UPSTREAM_CHECK_REGEX = "xorg-server-(?P<pver>\d+(\.(?!99)\d+)+)\.tar"
21
22CVE_PRODUCT = "xorg-server x_server"
23
24CVE_STATUS[CVE-2011-4613] = "not-applicable-platform: This is specific to Debian's xserver-wrapper.c"
25CVE_STATUS[CVE-2020-25697] = "upstream-wontfix: \
26As per upstream, exploiting this flaw is non-trivial and it requires exact \
27timing on the behalf of the attacker. Many graphical applications exit if their \
28connection to the X server is lost, so a typical desktop session is either \
29impossible or difficult to exploit. There is currently no upstream patch \
30available for this flaw."
31CVE_STATUS[CVE-2022-3553] = "cpe-incorrect: This is specific to XQuartz, which is the macOS X server port"
21 32
22S = "${WORKDIR}/${XORG_PN}-${PV}" 33S = "${WORKDIR}/${XORG_PN}-${PV}"
23 34
24inherit autotools pkgconfig 35inherit meson pkgconfig
25 36
26inherit features_check 37inherit features_check
27REQUIRED_DISTRO_FEATURES = "x11" 38REQUIRED_DISTRO_FEATURES = "x11"
28 39
29LIB_DEPS = "pixman libxfont2 xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess" 40LIB_DEPS = "pixman libxfont2 xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess libxcvt libtirpc"
30DEPENDS = "xorgproto ${LIB_DEPS} font-util" 41DEPENDS = "xorgproto ${LIB_DEPS} font-util"
31 42
32# Split out some modules and extensions from the main package 43# Split out some modules and extensions from the main package
@@ -67,96 +78,80 @@ PACKAGES =+ "${PN}-sdl \
67 ${PN}-module-libxf4bpp \ 78 ${PN}-module-libxf4bpp \
68 xf86-video-modesetting" 79 xf86-video-modesetting"
69 80
70SUMMARY_xf86-video-modesetting = "X.Org X server -- modesetting display driver" 81SUMMARY:xf86-video-modesetting = "X.Org X server -- modesetting display driver"
71INSANE_SKIP_${MLPREFIX}xf86-video-modesetting = "xorg-driver-abi" 82INSANE_SKIP:${MLPREFIX}xf86-video-modesetting = "xorg-driver-abi"
72 83
73XSERVER_RRECOMMENDS = "xkeyboard-config rgb xserver-xf86-config xkbcomp xf86-input-libinput" 84XSERVER_RDEPENDS = "xkeyboard-config rgb xserver-xf86-config xkbcomp xf86-input-libinput"
74RRECOMMENDS_${PN} += "${XSERVER_RRECOMMENDS}" 85RDEPENDS:${PN} += "${XSERVER_RDEPENDS}"
75RRECOMMENDS_${PN}-xwayland += "${XSERVER_RRECOMMENDS}" 86RDEPENDS:${PN}-xwayland += "${XSERVER_RDEPENDS}"
76RDEPENDS_${PN}-xvfb += "xkeyboard-config" 87RDEPENDS:${PN}-xvfb += "xkeyboard-config"
77RDEPENDS_${PN}-module-exa = "${PN} (= ${EXTENDPKGV})" 88RDEPENDS:${PN}-module-exa = "${PN} (= ${EXTENDPKGV})"
78 89
79FILES_${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" 90FILES:${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"
80FILES_${PN}-dev += "${libdir}/xorg/modules/*.la ${libdir}/xorg/modules/*/*.la" 91FILES:${PN}-dev += "${libdir}/xorg/modules/*.la ${libdir}/xorg/modules/*/*.la"
81FILES_${PN}-doc += "${libdir}/X11/doc ${datadir}/X11/xkb/compiled/README.compiled ${localstatedir}/lib/xkb/README.compiled" 92FILES:${PN}-doc += "${libdir}/X11/doc ${datadir}/X11/xkb/compiled/README.compiled ${localstatedir}/lib/xkb/README.compiled"
82FILES_${PN}-sdl = "${bindir}/Xsdl" 93FILES:${PN}-sdl = "${bindir}/Xsdl"
83FILES_${PN}-fbdev = "${bindir}/Xfbdev" 94FILES:${PN}-fbdev = "${bindir}/Xfbdev"
84FILES_${PN}-xvfb = "${bindir}/Xvfb" 95FILES:${PN}-xvfb = "${bindir}/Xvfb"
85FILES_${PN}-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl" 96FILES:${PN}-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl"
86FILES_${PN}-xephyr = "${bindir}/Xephyr" 97FILES:${PN}-xephyr = "${bindir}/Xephyr"
87FILES_${PN}-xwayland = "${bindir}/Xwayland" 98FILES:${PN}-xwayland = "${bindir}/Xwayland"
88FILES_${PN}-multimedia-modules = "${libdir}/xorg/modules/multimedia/*drv*" 99FILES:${PN}-multimedia-modules = "${libdir}/xorg/modules/multimedia/*drv*"
89FILES_${PN}-extension-dri = "${libdir}/xorg/modules/extensions/libdri.so" 100FILES:${PN}-extension-dri = "${libdir}/xorg/modules/extensions/libdri.so"
90FILES_${PN}-extension-dri2 = "${libdir}/xorg/modules/extensions/libdri2.so" 101FILES:${PN}-extension-dri2 = "${libdir}/xorg/modules/extensions/libdri2.so"
91FILES_${PN}-extension-glx = "${libdir}/xorg/modules/extensions/libglx.so" 102FILES:${PN}-extension-glx = "${libdir}/xorg/modules/extensions/libglx.so"
92FILES_${PN}-extension-record = "${libdir}/xorg/modules/extensions/librecord.so" 103FILES:${PN}-extension-record = "${libdir}/xorg/modules/extensions/librecord.so"
93FILES_${PN}-extension-extmod = "${libdir}/xorg/modules/extensions/libextmod.so" 104FILES:${PN}-extension-extmod = "${libdir}/xorg/modules/extensions/libextmod.so"
94FILES_${PN}-extension-dbe = "${libdir}/xorg/modules/extensions/libdbe.so" 105FILES:${PN}-extension-dbe = "${libdir}/xorg/modules/extensions/libdbe.so"
95FILES_${PN}-module-libint10 = "${libdir}/xorg/modules/libint10.so" 106FILES:${PN}-module-libint10 = "${libdir}/xorg/modules/libint10.so"
96FILES_${PN}-module-libafb = "${libdir}/xorg/modules/libafb.so" 107FILES:${PN}-module-libafb = "${libdir}/xorg/modules/libafb.so"
97FILES_${PN}-module-libwfb = "${libdir}/xorg/modules/libwfb.so" 108FILES:${PN}-module-libwfb = "${libdir}/xorg/modules/libwfb.so"
98FILES_${PN}-module-libmfb = "${libdir}/xorg/modules/libmfb.so" 109FILES:${PN}-module-libmfb = "${libdir}/xorg/modules/libmfb.so"
99FILES_${PN}-module-libcfb = "${libdir}/xorg/modules/libcfb.so" 110FILES:${PN}-module-libcfb = "${libdir}/xorg/modules/libcfb.so"
100FILES_${PN}-module-exa = "${libdir}/xorg/modules/libexa.so" 111FILES:${PN}-module-exa = "${libdir}/xorg/modules/libexa.so"
101FILES_${PN}-module-xaa = "${libdir}/xorg/modules/libxaa.so" 112FILES:${PN}-module-xaa = "${libdir}/xorg/modules/libxaa.so"
102FILES_${PN}-module-libxf1bpp = "${libdir}/xorg/modules/libxf1bpp.so" 113FILES:${PN}-module-libxf1bpp = "${libdir}/xorg/modules/libxf1bpp.so"
103FILES_${PN}-module-libxf4bpp = "${libdir}/xorg/modules/libxf4bpp.so" 114FILES:${PN}-module-libxf4bpp = "${libdir}/xorg/modules/libxf4bpp.so"
104FILES_xf86-video-modesetting = "${libdir}/xorg/modules/drivers/modesetting_drv.so" 115FILES:xf86-video-modesetting = "${libdir}/xorg/modules/drivers/modesetting_drv.so"
105 116
106EXTRA_OECONF += "--with-fop=no \ 117EXTRA_OEMESON += " \
107 --with-pic \ 118 -Dxnest=false \
108 --disable-static \ 119 -Ddtrace=false \
109 --disable-record \ 120 -Dint10=x86emu \
110 --disable-dmx \ 121 -Dxkb_output_dir=/var/lib/xkb \
111 --disable-xnest \
112 --enable-xvfb \
113 --enable-composite \
114 --without-dtrace \
115 --with-int10=x86emu \
116 --sysconfdir=/etc/X11 \
117 --localstatedir=/var \
118 --with-xkb-output=/var/lib/xkb \
119 --with-os-name=Linux \
120" 122"
121 123
122OPENGL_PKGCONFIGS = "dri glx glamor dri3 xshmfence" 124OPENGL_PKGCONFIGS = "dri glx glamor dri3"
123PACKAGECONFIG ??= "dga dri2 udev ${XORG_CRYPTO} \ 125PACKAGECONFIG ??= "dga dri2 udev ${XORG_CRYPTO} \
124 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \ 126 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \
125 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'xwayland', '', d)} \ 127 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-logind', '', d)} \
126 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-logind', '', d)} \
127" 128"
128 129
129PACKAGECONFIG[udev] = "--enable-config-udev,--disable-config-udev,udev" 130PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev"
130PACKAGECONFIG[dga] = "--enable-dga,--disable-dga" 131PACKAGECONFIG[dga] = "-Ddga=true,-Ddga=false"
131PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,virtual/mesa" 132PACKAGECONFIG[dri] = "-Ddri1=true,-Ddri1=false,virtual/mesa"
132PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2" 133PACKAGECONFIG[dri2] = "-Ddri2=true,-Ddri2=false"
133# DRI3 requires xshmfence to also be enabled 134PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false"
134PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3" 135PACKAGECONFIG[glx] = "-Dglx=true,-Dglx=false,virtual/libgl virtual/libx11"
135PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,virtual/libgl virtual/libx11" 136PACKAGECONFIG[glamor] = "-Dglamor=true,-Dglamor=false,libepoxy virtual/libgbm,libegl"
136PACKAGECONFIG[glamor] = "--enable-glamor,--disable-glamor,libepoxy virtual/libgbm,libegl" 137PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind"
137PACKAGECONFIG[unwind] = "--enable-libunwind,--disable-libunwind,libunwind" 138PACKAGECONFIG[systemd-logind] = "-Dsystemd_logind=true,-Dsystemd_logind=false,dbus,"
138PACKAGECONFIG[xshmfence] = "--enable-xshmfence,--disable-xshmfence,libxshmfence" 139PACKAGECONFIG[xinerama] = "-Dxinerama=true,-Dxinerama=false"
139PACKAGECONFIG[xmlto] = "--with-xmlto, --without-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" 140PACKAGECONFIG[xvfb] = "-Dxvfb=true,-Dxvfb=false"
140PACKAGECONFIG[systemd-logind] = "--enable-systemd-logind=yes,--enable-systemd-logind=no,dbus,"
141PACKAGECONFIG[systemd] = "--with-systemd-daemon,--without-systemd-daemon,systemd"
142PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama"
143PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland,wayland wayland-native wayland-protocols libepoxy"
144 141
145# Xorg requires a SHA1 implementation, pick one 142# Xorg requires a SHA1 implementation, pick one
146XORG_CRYPTO ??= "openssl" 143XORG_CRYPTO ??= "openssl"
147PACKAGECONFIG[openssl] = "--with-sha1=libcrypto,,openssl" 144PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl"
148PACKAGECONFIG[nettle] = "--with-sha1=libnettle,,nettle" 145PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle"
149PACKAGECONFIG[gcrypt] = "--with-sha1=libgcrypt,,libgcrypt" 146PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt"
150 147
151do_install_append () { 148do_install:append () {
152 # Its assumed base-files creates this for us
153 rmdir ${D}${localstatedir}/log/
154 sed -i -e 's,${libdir}/xorg/modules,${prefix}/lib*/xorg/modules,' ${D}${mandir}/man5/xorg.conf.5 149 sed -i -e 's,${libdir}/xorg/modules,${prefix}/lib*/xorg/modules,' ${D}${mandir}/man5/xorg.conf.5
155} 150}
156 151
157# Add runtime provides for the ABI versions of the video and input subsystems, 152# Add runtime provides for the ABI versions of the video and input subsystems,
158# so that drivers can depend on the relevant version. 153# so that drivers can depend on the relevant version.
159python populate_packages_prepend() { 154python populate_packages:prepend() {
160 import subprocess 155 import subprocess
161 156
162 # Set PKG_CONFIG_PATH so pkg-config looks at the .pc files that are going 157 # Set PKG_CONFIG_PATH so pkg-config looks at the .pc files that are going
@@ -177,6 +172,8 @@ python populate_packages_prepend() {
177 return "%sxorg-abi-%s-%s" % (mlprefix, name, output) 172 return "%sxorg-abi-%s-%s" % (mlprefix, name, output)
178 173
179 pn = d.getVar("PN") 174 pn = d.getVar("PN")
180 d.appendVar("RPROVIDES_" + pn, " " + get_abi("input")) 175 d.appendVar("RPROVIDES:" + pn, " " + get_abi("input"))
181 d.appendVar("RPROVIDES_" + pn, " " + get_abi("video")) 176 d.appendVar("RPROVIDES:" + pn, " " + get_abi("video"))
182} 177}
178
179CVE_STATUS[CVE-2023-5574] = "${@bb.utils.contains('PACKAGECONFIG', 'xvfb', '', 'not-applicable-config: specific to Xvfb', d)}"
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 @@
1From fc04acfd948ac99d04a5dc08c78f3b13bc0c5c41 Mon Sep 17 00:00:00 2001 1From ce3b8a230a3805c9b557c1f106795675bd034860 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 17 Aug 2020 10:50:51 -0700 3Date: Mon, 17 Aug 2020 10:50:51 -0700
4Subject: [PATCH] Avoid duplicate definitions of IOPortBase 4Subject: [PATCH] Avoid duplicate definitions of IOPortBase
@@ -10,26 +10,13 @@ compiler.h:528: multiple definition of `IOPortBase';
10 10
11Upstream-Status: Pending 11Upstream-Status: Pending
12Signed-off-by: Khem Raj <raj.khem@gmail.com> 12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13
13--- 14---
14 hw/xfree86/common/compiler.h | 2 +-
15 hw/xfree86/os-support/linux/lnx_video.c | 1 + 15 hw/xfree86/os-support/linux/lnx_video.c | 1 +
16 2 files changed, 2 insertions(+), 1 deletion(-) 16 1 file changed, 1 insertion(+)
17 17
18diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
19index 2b2008b..c7d617e 100644
20--- a/hw/xfree86/common/compiler.h
21+++ b/hw/xfree86/common/compiler.h
22@@ -525,7 +525,7 @@ xf86WriteMmio32Le(__volatile__ void *base, const unsigned long offset,
23 #define PORT_SIZE short
24 #endif
25
26-_X_EXPORT unsigned int IOPortBase; /* Memory mapped I/O port area */
27+extern _X_EXPORT unsigned int IOPortBase; /* Memory mapped I/O port area */
28
29 static __inline__ void
30 outb(unsigned PORT_SIZE port, unsigned char val)
31diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c 18diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c
32index 04e4509..9dc7316 100644 19index fd83022..1d0d96e 100644
33--- a/hw/xfree86/os-support/linux/lnx_video.c 20--- a/hw/xfree86/os-support/linux/lnx_video.c
34+++ b/hw/xfree86/os-support/linux/lnx_video.c 21+++ b/hw/xfree86/os-support/linux/lnx_video.c
35@@ -78,6 +78,7 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem) 22@@ -78,6 +78,7 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem)
@@ -40,6 +27,3 @@ index 04e4509..9dc7316 100644
40 27
41 #if defined(__powerpc__) 28 #if defined(__powerpc__)
42 volatile unsigned char *ioBase = NULL; 29 volatile unsigned char *ioBase = NULL;
43--
442.28.0
45
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 @@
1From e50c85f4ebf559a3bac4817b41074c43d4691779 Mon Sep 17 00:00:00 2001
2From: Eric Anholt <eric@anholt.net>
3Date: Fri, 26 Oct 2018 17:47:30 -0700
4Subject: [PATCH] Fix segfault on probing a non-PCI platform device on a system
5 with PCI.
6
7Some Broadcom set-top-box boards have PCI busses, but the GPU is still
8probed through DT. We would dereference a null busid here in that
9case.
10
11Signed-off-by: Eric Anholt <eric@anholt.net>
12
13Upstream-Status: Backport [https://github.com/freedesktop/xorg-xserver/commit/e50c85f4e]
14Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
15---
16 hw/xfree86/common/xf86platformBus.c | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
20index cef47da03..dadbac6c8 100644
21--- a/hw/xfree86/common/xf86platformBus.c
22+++ b/hw/xfree86/common/xf86platformBus.c
23@@ -289,7 +289,7 @@ xf86platformProbe(void)
24 for (i = 0; i < xf86_num_platform_devices; i++) {
25 char *busid = xf86_platform_odev_attributes(i)->busid;
26
27- if (pci && (strncmp(busid, "pci:", 4) == 0)) {
28+ if (pci && busid && (strncmp(busid, "pci:", 4) == 0)) {
29 platform_find_pci_info(&xf86_platform_devices[i], busid);
30 }
31
32--
332.28.0
34
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 @@
1From 84338444179cab7ede1252a11b66e3b8f657e6a4 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 7 Feb 2020 20:36:45 +0100
4Subject: [PATCH] drmmode_display.c: add missing mi.h include
5
6Upstream-Status: Pending
7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
8---
9 hw/xfree86/drivers/modesetting/drmmode_display.c | 1 +
10 1 file changed, 1 insertion(+)
11
12diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c
13index e18cc37..3445cce 100644
14--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
15+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
16@@ -46,6 +46,7 @@
17 #include "xf86Crtc.h"
18 #include "drmmode_display.h"
19 #include "present.h"
20+#include "mi.h"
21
22 #include <cursorstr.h>
23
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 @@
1From 8a382c015cd3c69fcfc146ef03dcbf30c77ff207 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 1 Mar 2019 09:47:57 -0800
4Subject: [PATCH] test/xtest: Initialize array with braces
5
6Fixes an error when extra warnings are enabled, this is caught with clang
7
8test/xtest.c:64:23: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
9 WindowRec root = {0};
10 ^
11 {}
121 error generated.
13
14Upstream-Status: Pending
15
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 test/xtest.c | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/test/xtest.c b/test/xtest.c
22index fc5e433..d7e6620 100644
23--- a/test/xtest.c
24+++ b/test/xtest.c
25@@ -61,7 +61,7 @@ xtest_init_devices(void)
26 {
27 ScreenRec screen = {0};
28 ClientRec server_client = {0};
29- WindowRec root = {0};
30+ WindowRec root = {{0}};
31 WindowOptRec optional = {0};
32
33 /* random stuff that needs initialization */
34--
352.21.0
36
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 @@
1Upstream-Status: Submitted [https://gitlab.freedesktop.org/xorg/xserver/merge_requests/22]
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From 5f65a6246fe752764045dd1e38912f1dccec71e4 Mon Sep 17 00:00:00 2001
5From: Ross Burton <ross.burton@intel.com>
6Date: Thu, 20 Sep 2018 20:12:24 +0100
7Subject: [PATCH] xorg-server.m4: just all cflags instead of just sdkdir
8
9Instead of fetching just the sdkdir variable of xorg-server using pkg-config,
10simply get all of the CFLAGS. Aside from completeness, this helps builds in
11sysroots as pkg-config knows what to do with --cflags but doesn't remap
12arbitrary variables.
13
14Signed-off-by: Ross Burton <ross.burton@intel.com>
15---
16 xorg-server.m4 | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/xorg-server.m4 b/xorg-server.m4
20index 18255b91a..195bda5d8 100644
21--- a/xorg-server.m4
22+++ b/xorg-server.m4
23@@ -31,7 +31,7 @@ dnl
24 AC_DEFUN([XORG_DRIVER_CHECK_EXT],[
25 AC_REQUIRE([PKG_PROG_PKG_CONFIG])
26 SAVE_CFLAGS="$CFLAGS"
27- CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`"
28+ CFLAGS="$CFLAGS `$PKG_CONFIG --cflags xorg-server`"
29 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
30 #include "xorg-server.h"
31 #if !defined $1
32--
332.11.0
34
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 @@
1Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/merge_requests/253]
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From ca832598d38ba55a001088b57d73c6d7261dc9a7 Mon Sep 17 00:00:00 2001
5From: Ross Burton <ross.burton@intel.com>
6Date: Thu, 1 Aug 2019 15:24:51 +0100
7Subject: [PATCH] sdksyms.sh: don't embed the build path
8
9This script generates a header that has a comment containing the build path for
10no real reason. As this source can end up deployed on targets in debug packages
11this means there is both potentially sensitive information leakage about the
12build environment, and a source of change for reproducible builds.
13---
14 hw/xfree86/sdksyms.sh | 7 +++++--
15 1 file changed, 5 insertions(+), 2 deletions(-)
16
17diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
18index 39e33711d..bdf47a71a 100755
19--- a/hw/xfree86/sdksyms.sh
20+++ b/hw/xfree86/sdksyms.sh
21@@ -302,13 +302,16 @@ LC_ALL=C
22 export LC_ALL
23 ${CPP:-cpp} "$@" sdksyms.c > /dev/null || exit $?
24 ${CPP:-cpp} "$@" sdksyms.c | ${AWK:-awk} -v topdir=$topdir '
25+function basename(file) {
26+ sub(".*/", "", file)
27+ return file
28+}
29 BEGIN {
30 sdk = 0;
31 print("/*");
32 print(" * These symbols are referenced to ensure they");
33 print(" * will be available in the X Server binary.");
34 print(" */");
35- printf("/* topdir=%s */\n", topdir);
36 print("_X_HIDDEN void *xorg_symbols[] = {");
37
38 printf("sdksyms.c:") > "sdksyms.dep";
39@@ -337,7 +340,7 @@ BEGIN {
40 # remove quotes
41 gsub(/"/, "", $3);
42 line = $2;
43- header = $3;
44+ header = basename($3);
45 if (! headers[$3]) {
46 printf(" \\\n %s", $3) >> "sdksyms.dep";
47 headers[$3] = 1;
48--
492.20.1
50
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.10.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.11.bb
index 5c6dbac4d7..6506d775ca 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.10.bb
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.11.bb
@@ -1,31 +1,26 @@
1require xserver-xorg.inc 1require xserver-xorg.inc
2 2
3SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \ 3SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \
4 file://pkgconfig.patch \
5 file://0001-test-xtest-Initialize-array-with-braces.patch \
6 file://sdksyms-no-build-path.patch \
7 file://0001-drmmode_display.c-add-missing-mi.h-include.patch \
8 file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \ 4 file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \
9 file://0001-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch \
10 " 5 "
11SRC_URI[sha256sum] = "977420c082450dc808de301ef56af4856d653eea71519a973c3490a780cb7c99" 6SRC_URI[sha256sum] = "1d3dadbd57fb86b16a018e9f5f957aeeadf744f56c0553f55737628d06d326ef"
12 7
13# These extensions are now integrated into the server, so declare the migration 8# These extensions are now integrated into the server, so declare the migration
14# path for in-place upgrades. 9# path for in-place upgrades.
15 10
16RREPLACES_${PN} = "${PN}-extension-dri \ 11RREPLACES:${PN} = "${PN}-extension-dri \
17 ${PN}-extension-dri2 \ 12 ${PN}-extension-dri2 \
18 ${PN}-extension-record \ 13 ${PN}-extension-record \
19 ${PN}-extension-extmod \ 14 ${PN}-extension-extmod \
20 ${PN}-extension-dbe \ 15 ${PN}-extension-dbe \
21 " 16 "
22RPROVIDES_${PN} = "${PN}-extension-dri \ 17RPROVIDES:${PN} = "${PN}-extension-dri \
23 ${PN}-extension-dri2 \ 18 ${PN}-extension-dri2 \
24 ${PN}-extension-record \ 19 ${PN}-extension-record \
25 ${PN}-extension-extmod \ 20 ${PN}-extension-extmod \
26 ${PN}-extension-dbe \ 21 ${PN}-extension-dbe \
27 " 22 "
28RCONFLICTS_${PN} = "${PN}-extension-dri \ 23RCONFLICTS:${PN} = "${PN}-extension-dri \
29 ${PN}-extension-dri2 \ 24 ${PN}-extension-dri2 \
30 ${PN}-extension-record \ 25 ${PN}-extension-record \
31 ${PN}-extension-extmod \ 26 ${PN}-extension-extmod \
diff --git a/meta/recipes-graphics/xrestop/xrestop_0.4.bb b/meta/recipes-graphics/xrestop/xrestop_0.4.bb
index c7b8716f6f..a6b6c4238d 100644
--- a/meta/recipes-graphics/xrestop/xrestop_0.4.bb
+++ b/meta/recipes-graphics/xrestop/xrestop_0.4.bb
@@ -5,12 +5,11 @@ DESCRIPTION = "top-like statistics of X11 server resource usage by clients"
5HOMEPAGE = "http://www.freedesktop.org/wiki/Software/xrestop" 5HOMEPAGE = "http://www.freedesktop.org/wiki/Software/xrestop"
6BUGTRACKER = "https://bugs.freedesktop.org/" 6BUGTRACKER = "https://bugs.freedesktop.org/"
7 7
8LICENSE = "GPLv2+" 8LICENSE = "GPL-2.0-or-later"
9LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ 9LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
10 file://xrestop.c;endline=18;md5=730876c30f0d8a928676bcd1242a3b35" 10 file://xrestop.c;endline=18;md5=730876c30f0d8a928676bcd1242a3b35"
11 11
12SECTION = "x11/utils" 12SECTION = "x11/utils"
13PR = "r3"
14 13
15DEPENDS = "libxres libxext virtual/libx11 ncurses" 14DEPENDS = "libxres libxext virtual/libx11 ncurses"
16 15
diff --git a/meta/recipes-graphics/xwayland/xwayland_23.2.6.bb b/meta/recipes-graphics/xwayland/xwayland_23.2.6.bb
new file mode 100644
index 0000000000..f51429bc8c
--- /dev/null
+++ b/meta/recipes-graphics/xwayland/xwayland_23.2.6.bb
@@ -0,0 +1,50 @@
1SUMMARY = "XWayland is an X Server that runs under Wayland."
2DESCRIPTION = "XWayland is an X Server running as a Wayland client, \
3and thus is capable of displaying native X11 client applications in a \
4Wayland compositor environment. The goal of XWayland is to facilitate \
5the transition from X Window System to Wayland environments, providing \
6a way to run unported applications in the meantime."
7HOMEPAGE = "https://fedoraproject.org/wiki/Changes/XwaylandStandalone"
8
9LICENSE = "MIT"
10LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
11
12SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz"
13SRC_URI[sha256sum] = "1c9a366b4e7ccadba0f9bd313c59eae12d23bd72543b22a26eaf8b20835cfc6d"
14
15UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar"
16
17inherit meson features_check pkgconfig
18REQUIRED_DISTRO_FEATURES = "x11 opengl"
19
20DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy libxcvt"
21
22OPENGL_PKGCONFIGS = "glx glamor dri3"
23PACKAGECONFIG ??= "${XORG_CRYPTO} ${XWAYLAND_EI} \
24 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \
25"
26PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false,libxshmfence"
27PACKAGECONFIG[libdecor] = "-Dlibdecor=true,-Dlibdecor=false,libdecor"
28PACKAGECONFIG[glx] = "-Dglx=true,-Dglx=false,virtual/libgl virtual/libx11"
29PACKAGECONFIG[glamor] = "-Dglamor=true,-Dglamor=false,libepoxy virtual/libgbm,libegl"
30PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind"
31PACKAGECONFIG[xinerama] = "-Dxinerama=true,-Dxinerama=false"
32
33# Xorg requires a SHA1 implementation, pick one
34XORG_CRYPTO ??= "openssl"
35PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl"
36PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle"
37PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt"
38XWAYLAND_EI ??= "xwayland_ei_false"
39PACKAGECONFIG[xwayland_ei_false] = "-Dxwayland_ei=false"
40PACKAGECONFIG[xwayland_ei_portal] = "-Dxwayland_ei=portal,,libei"
41PACKAGECONFIG[xwayland_ei_socket] = "-Dxwayland_ei=socket,,libei"
42
43do_install:append() {
44 # remove files not needed and clashing with xserver-xorg
45 rm -rf ${D}/${libdir}/xorg/
46}
47
48FILES:${PN} += "${libdir}/xorg/protocol.txt"
49
50RDEPENDS:${PN} += "xkbcomp"