summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--documentation/ref-manual/yocto-project-supported-features.rst2
-rw-r--r--meta/classes-recipe/image_types_wic.bbclass12
-rw-r--r--meta/classes/buildhistory.bbclass74
-rw-r--r--meta/conf/distro/include/default-providers.inc18
-rw-r--r--meta/conf/distro/include/maintainers.inc1
-rw-r--r--meta/conf/machine/include/qemu.inc7
-rw-r--r--meta/conf/machine/qemux86-64.conf6
-rw-r--r--meta/conf/machine/qemux86.conf6
-rw-r--r--meta/lib/oeqa/selftest/cases/distrodata.py2
-rw-r--r--meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb39
-rw-r--r--meta/recipes-graphics/mesa/mesa.inc4
11 files changed, 70 insertions, 101 deletions
diff --git a/documentation/ref-manual/yocto-project-supported-features.rst b/documentation/ref-manual/yocto-project-supported-features.rst
index f67da0e6e8..06e298cbe5 100644
--- a/documentation/ref-manual/yocto-project-supported-features.rst
+++ b/documentation/ref-manual/yocto-project-supported-features.rst
@@ -226,7 +226,7 @@ builder(s):
226 - meta-virt 226 - meta-virt
227 * - :wikipedia:`RISC-V (32-bit) <RISC-V>` 227 * - :wikipedia:`RISC-V (32-bit) <RISC-V>`
228 - RISC-V architecture testing (32-bit) 228 - RISC-V architecture testing (32-bit)
229 - Collective effort 229 - TBD
230 - qemuriscv32, 230 - qemuriscv32,
231 qemuriscv32, 231 qemuriscv32,
232 qemuriscv32-tc 232 qemuriscv32-tc
diff --git a/meta/classes-recipe/image_types_wic.bbclass b/meta/classes-recipe/image_types_wic.bbclass
index 740ed946f8..6180874a4c 100644
--- a/meta/classes-recipe/image_types_wic.bbclass
+++ b/meta/classes-recipe/image_types_wic.bbclass
@@ -57,6 +57,16 @@ def wks_search(files, search_path):
57 if searched: 57 if searched:
58 return searched 58 return searched
59 59
60def wks_checksums(files, search_path):
61 ret = ""
62 for f in files:
63 found, hist = bb.utils.which(search_path, f, history=True)
64 ret = ret + " " + " ".join(h + ":False" for h in hist[:-1])
65 if found:
66 ret = ret + " " + found + ":True"
67 return ret
68
69
60WIC_CREATE_EXTRA_ARGS ?= "" 70WIC_CREATE_EXTRA_ARGS ?= ""
61 71
62IMAGE_CMD:wic () { 72IMAGE_CMD:wic () {
@@ -98,7 +108,7 @@ do_image_wic[cleandirs] = "${WORKDIR}/build-wic"
98 108
99# Rebuild when the wks file or vars in WICVARS change 109# Rebuild when the wks file or vars in WICVARS change
100USING_WIC = "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic ' + ' '.join('wic.%s' % c for c in '${CONVERSIONTYPES}'.split()), '1', '', d)}" 110USING_WIC = "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic ' + ' '.join('wic.%s' % c for c in '${CONVERSIONTYPES}'.split()), '1', '', d)}"
101WKS_FILE_CHECKSUM = "${@'${WKS_FULL_PATH}:%s' % os.path.exists('${WKS_FULL_PATH}') if '${USING_WIC}' else ''}" 111WKS_FILE_CHECKSUM = "${@wks_checksums(d.getVar('WKS_FILES').split(), d.getVar('WKS_SEARCH_PATH')) if '${USING_WIC}' else ''}"
102do_image_wic[file-checksums] += "${WKS_FILE_CHECKSUM}" 112do_image_wic[file-checksums] += "${WKS_FILE_CHECKSUM}"
103do_image_wic[depends] += "${@' '.join('%s-native:do_populate_sysroot' % r for r in ('parted', 'gptfdisk', 'dosfstools', 'mtools'))}" 113do_image_wic[depends] += "${@' '.join('%s-native:do_populate_sysroot' % r for r in ('parted', 'gptfdisk', 'dosfstools', 'mtools'))}"
104 114
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index e970182620..4a380c10c6 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -16,28 +16,6 @@ BUILDHISTORY_DIR ?= "${TOPDIR}/buildhistory"
16BUILDHISTORY_DIR_IMAGE = "${BUILDHISTORY_DIR}/images/${MACHINE_ARCH}/${TCLIBC}/${IMAGE_BASENAME}" 16BUILDHISTORY_DIR_IMAGE = "${BUILDHISTORY_DIR}/images/${MACHINE_ARCH}/${TCLIBC}/${IMAGE_BASENAME}"
17BUILDHISTORY_DIR_PACKAGE = "${BUILDHISTORY_DIR}/packages/${MULTIMACH_TARGET_SYS}/${PN}" 17BUILDHISTORY_DIR_PACKAGE = "${BUILDHISTORY_DIR}/packages/${MULTIMACH_TARGET_SYS}/${PN}"
18 18
19# Setting this to non-empty will remove the old content of the buildhistory as part of
20# the current bitbake invocation and replace it with information about what was built
21# during the build.
22#
23# This is meant to be used in continuous integration (CI) systems when invoking bitbake
24# for full world builds. The effect in that case is that information about packages
25# that no longer get build also gets removed from the buildhistory, which is not
26# the case otherwise.
27#
28# The advantage over manually cleaning the buildhistory outside of bitbake is that
29# the "version-going-backwards" check still works. When relying on that, be careful
30# about failed world builds: they will lead to incomplete information in the
31# buildhistory because information about packages that could not be built will
32# also get removed. A CI system should handle that by discarding the buildhistory
33# of failed builds.
34#
35# The expected usage is via auto.conf, but passing via the command line also works
36# with: BB_ENV_PASSTHROUGH_ADDITIONS=BUILDHISTORY_RESET BUILDHISTORY_RESET=1
37BUILDHISTORY_RESET ?= ""
38
39BUILDHISTORY_OLD_DIR = "${BUILDHISTORY_DIR}/${@ "old" if "${BUILDHISTORY_RESET}" else ""}"
40BUILDHISTORY_OLD_DIR_PACKAGE = "${BUILDHISTORY_OLD_DIR}/packages/${MULTIMACH_TARGET_SYS}/${PN}"
41BUILDHISTORY_DIR_SDK = "${BUILDHISTORY_DIR}/sdk/${SDK_NAME}${SDK_EXT}/${IMAGE_BASENAME}" 19BUILDHISTORY_DIR_SDK = "${BUILDHISTORY_DIR}/sdk/${SDK_NAME}${SDK_EXT}/${IMAGE_BASENAME}"
42BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group" 20BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group"
43BUILDHISTORY_SDK_FILES ?= "conf/local.conf conf/bblayers.conf conf/auto.conf conf/locked-sigs.inc conf/devtool.conf" 21BUILDHISTORY_SDK_FILES ?= "conf/local.conf conf/bblayers.conf conf/auto.conf conf/locked-sigs.inc conf/devtool.conf"
@@ -70,9 +48,10 @@ SSTATEPOSTUNPACKFUNCS[vardepvalueexclude] .= "| buildhistory_emit_outputsigs"
70# necessary because some of these items (package directories, files that 48# necessary because some of these items (package directories, files that
71# we no longer emit) might be obsolete. 49# we no longer emit) might be obsolete.
72# 50#
73# When extending build history, derive your class from buildhistory.bbclass 51# The files listed here are either written by tasks that aren't do_package (e.g.
74# and extend this list here with the additional files created by the derived 52# latest_srcrev from do_fetch) so do_package must not remove them, or, they're
75# class. 53# used to read values in do_package before always being overwritten, e.g. latest,
54# for version backwards checks.
76BUILDHISTORY_PRESERVE = "latest latest_srcrev sysroot" 55BUILDHISTORY_PRESERVE = "latest latest_srcrev sysroot"
77 56
78PATCH_GIT_USER_EMAIL ?= "buildhistory@oe" 57PATCH_GIT_USER_EMAIL ?= "buildhistory@oe"
@@ -108,7 +87,6 @@ python buildhistory_emit_pkghistory() {
108 return 0 87 return 0
109 88
110 pkghistdir = d.getVar('BUILDHISTORY_DIR_PACKAGE') 89 pkghistdir = d.getVar('BUILDHISTORY_DIR_PACKAGE')
111 oldpkghistdir = d.getVar('BUILDHISTORY_OLD_DIR_PACKAGE')
112 90
113 class RecipeInfo: 91 class RecipeInfo:
114 def __init__(self, name): 92 def __init__(self, name):
@@ -203,7 +181,7 @@ python buildhistory_emit_pkghistory() {
203 181
204 def getlastpkgversion(pkg): 182 def getlastpkgversion(pkg):
205 try: 183 try:
206 histfile = os.path.join(oldpkghistdir, pkg, "latest") 184 histfile = os.path.join(pkghistdir, pkg, "latest")
207 return readPackageInfo(pkg, histfile) 185 return readPackageInfo(pkg, histfile)
208 except EnvironmentError: 186 except EnvironmentError:
209 return None 187 return None
@@ -219,20 +197,6 @@ python buildhistory_emit_pkghistory() {
219 items.sort() 197 items.sort()
220 return ' '.join(items) 198 return ' '.join(items)
221 199
222 def preservebuildhistoryfiles(pkg, preserve):
223 if os.path.exists(os.path.join(oldpkghistdir, pkg)):
224 listofobjs = os.listdir(os.path.join(oldpkghistdir, pkg))
225 for obj in listofobjs:
226 if obj not in preserve:
227 continue
228 try:
229 bb.utils.mkdirhier(os.path.join(pkghistdir, pkg))
230 shutil.copyfile(os.path.join(oldpkghistdir, pkg, obj), os.path.join(pkghistdir, pkg, obj))
231 except IOError as e:
232 bb.note("Unable to copy file. %s" % e)
233 except EnvironmentError as e:
234 bb.note("Unable to copy file. %s" % e)
235
236 pn = d.getVar('PN') 200 pn = d.getVar('PN')
237 pe = d.getVar('PE') or "0" 201 pe = d.getVar('PE') or "0"
238 pv = d.getVar('PV') 202 pv = d.getVar('PV')
@@ -260,14 +224,6 @@ python buildhistory_emit_pkghistory() {
260 if not os.path.exists(pkghistdir): 224 if not os.path.exists(pkghistdir):
261 bb.utils.mkdirhier(pkghistdir) 225 bb.utils.mkdirhier(pkghistdir)
262 else: 226 else:
263 # We need to make sure that all files kept in
264 # buildhistory/old are restored successfully
265 # otherwise next block of code wont have files to
266 # check and purge
267 if d.getVar("BUILDHISTORY_RESET"):
268 for pkg in packagelist:
269 preservebuildhistoryfiles(pkg, preserve)
270
271 # Remove files for packages that no longer exist 227 # Remove files for packages that no longer exist
272 for item in os.listdir(pkghistdir): 228 for item in os.listdir(pkghistdir):
273 if item not in preserve: 229 if item not in preserve:
@@ -887,25 +843,7 @@ END
887 843
888python buildhistory_eventhandler() { 844python buildhistory_eventhandler() {
889 if (e.data.getVar('BUILDHISTORY_FEATURES') or "").strip(): 845 if (e.data.getVar('BUILDHISTORY_FEATURES') or "").strip():
890 reset = e.data.getVar("BUILDHISTORY_RESET") 846 if isinstance(e, bb.event.BuildCompleted):
891 olddir = e.data.getVar("BUILDHISTORY_OLD_DIR")
892 if isinstance(e, bb.event.BuildStarted):
893 if reset:
894 import shutil
895 # Clean up after potentially interrupted build.
896 if os.path.isdir(olddir):
897 shutil.rmtree(olddir)
898 rootdir = e.data.getVar("BUILDHISTORY_DIR")
899 bb.utils.mkdirhier(rootdir)
900 entries = [ x for x in os.listdir(rootdir) if not x.startswith('.') ]
901 bb.utils.mkdirhier(olddir)
902 for entry in entries:
903 bb.utils.rename(os.path.join(rootdir, entry),
904 os.path.join(olddir, entry))
905 elif isinstance(e, bb.event.BuildCompleted):
906 if reset:
907 import shutil
908 shutil.rmtree(olddir)
909 if e.data.getVar("BUILDHISTORY_COMMIT") == "1": 847 if e.data.getVar("BUILDHISTORY_COMMIT") == "1":
910 bb.note("Writing buildhistory") 848 bb.note("Writing buildhistory")
911 bb.build.exec_func("buildhistory_write_sigs", d) 849 bb.build.exec_func("buildhistory_write_sigs", d)
diff --git a/meta/conf/distro/include/default-providers.inc b/meta/conf/distro/include/default-providers.inc
index 4f09416354..3f113543cd 100644
--- a/meta/conf/distro/include/default-providers.inc
+++ b/meta/conf/distro/include/default-providers.inc
@@ -6,15 +6,13 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
6PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xorg" 6PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xorg"
7PREFERRED_PROVIDER_virtual/libsdl2 ?= "libsdl2" 7PREFERRED_PROVIDER_virtual/libsdl2 ?= "libsdl2"
8PREFERRED_PROVIDER_virtual/libsdl2-native ?= "libsdl2-native" 8PREFERRED_PROVIDER_virtual/libsdl2-native ?= "libsdl2-native"
9PREFERRED_PROVIDER_virtual/egl ?= "mesa" 9PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
10PREFERRED_PROVIDER_virtual/libegl-icd ?= "mesa" 10PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd', 'mesa',d)}"
11PREFERRED_PROVIDER_virtual/libgl ?= "mesa" 11PREFERRED_PROVIDER_virtual/libgl-native ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd-native', 'mesa-native',d)}"
12PREFERRED_PROVIDER_virtual/libglx-icd ?= "mesa" 12PREFERRED_PROVIDER_virtual/nativesdk-libgl ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'nativesdk-libglvnd', 'nativesdk-mesa',d)}"
13PREFERRED_PROVIDER_virtual/libgl-native ?= "mesa-native" 13PREFERRED_PROVIDER_virtual/libgles1 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd', 'mesa',d)}"
14PREFERRED_PROVIDER_virtual/nativesdk-libgl ?= "nativesdk-mesa" 14PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd', 'mesa',d)}"
15PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" 15PREFERRED_PROVIDER_virtual/libgles3 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd', 'mesa',d)}"
16PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
17PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa"
18PREFERRED_PROVIDER_virtual/mesa ?= "mesa" 16PREFERRED_PROVIDER_virtual/mesa ?= "mesa"
19PREFERRED_PROVIDER_virtual/update-alternatives ?= "opkg-utils" 17PREFERRED_PROVIDER_virtual/update-alternatives ?= "opkg-utils"
20PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-utils-native" 18PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-utils-native"
@@ -68,4 +66,6 @@ PREFERRED_RPROVIDER_initd-functions ?= "initscripts"
68PREFERRED_PROVIDER_nativesdk-mesa ?= "nativesdk-mesa" 66PREFERRED_PROVIDER_nativesdk-mesa ?= "nativesdk-mesa"
69PREFERRED_PROVIDER_virtual/nativesdk-libsdl2 ?= "nativesdk-libsdl2" 67PREFERRED_PROVIDER_virtual/nativesdk-libsdl2 ?= "nativesdk-libsdl2"
70 68
69PREFERRED_RPROVIDER_virtual-libegl-icd ?= "mesa"
70PREFERRED_RPROVIDER_virtual-libglx-icd ?= "mesa"
71PREFERRED_RPROVIDER_virtual-x-terminal-emulator ?= "rxvt-unicode" 71PREFERRED_RPROVIDER_virtual-x-terminal-emulator ?= "rxvt-unicode"
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 870c81e85f..d94fb693e3 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -353,6 +353,7 @@ RECIPE_MAINTAINER:pn-libgcrypt = "Hongxu Jia <hongxu.jia@windriver.com>"
353RECIPE_MAINTAINER:pn-libgfortran = "Khem Raj <raj.khem@gmail.com>" 353RECIPE_MAINTAINER:pn-libgfortran = "Khem Raj <raj.khem@gmail.com>"
354RECIPE_MAINTAINER:pn-libgit2 = "Unassigned <unassigned@yoctoproject.org>" 354RECIPE_MAINTAINER:pn-libgit2 = "Unassigned <unassigned@yoctoproject.org>"
355RECIPE_MAINTAINER:pn-libgloss = "Alejandro Hernandez <alejandro@enedino.org>" 355RECIPE_MAINTAINER:pn-libgloss = "Alejandro Hernandez <alejandro@enedino.org>"
356RECIPE_MAINTAINER:pn-libglvnd = "Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>"
356RECIPE_MAINTAINER:pn-libglu = "Ross Burton <ross.burton@arm.com>" 357RECIPE_MAINTAINER:pn-libglu = "Ross Burton <ross.burton@arm.com>"
357RECIPE_MAINTAINER:pn-libgpg-error = "Hongxu Jia <hongxu.jia@windriver.com>" 358RECIPE_MAINTAINER:pn-libgpg-error = "Hongxu Jia <hongxu.jia@windriver.com>"
358RECIPE_MAINTAINER:pn-libgudev = "Ross Burton <ross.burton@arm.com>" 359RECIPE_MAINTAINER:pn-libgudev = "Ross Burton <ross.burton@arm.com>"
diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
index d7392d4762..c143e37f71 100644
--- a/meta/conf/machine/include/qemu.inc
+++ b/meta/conf/machine/include/qemu.inc
@@ -1,10 +1,3 @@
1PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
2PREFERRED_PROVIDER_virtual/egl ?= "mesa"
3PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
4PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
5PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
6PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa"
7
8XSERVER ?= "xserver-xorg \ 1XSERVER ?= "xserver-xorg \
9 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \ 2 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \
10 xf86-video-fbdev \ 3 xf86-video-fbdev \
diff --git a/meta/conf/machine/qemux86-64.conf b/meta/conf/machine/qemux86-64.conf
index 4a9c6d364b..62108b703b 100644
--- a/meta/conf/machine/qemux86-64.conf
+++ b/meta/conf/machine/qemux86-64.conf
@@ -2,12 +2,6 @@
2#@NAME: QEMU x86-64 machine 2#@NAME: QEMU x86-64 machine
3#@DESCRIPTION: Machine configuration for running an x86-64 system on QEMU 3#@DESCRIPTION: Machine configuration for running an x86-64 system on QEMU
4 4
5PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
6PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
7PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
8PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
9PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa"
10
11require conf/machine/include/qemu.inc 5require conf/machine/include/qemu.inc
12DEFAULTTUNE ?= "core2-64" 6DEFAULTTUNE ?= "core2-64"
13require conf/machine/include/x86/tune-x86-64-v3.inc 7require conf/machine/include/x86/tune-x86-64-v3.inc
diff --git a/meta/conf/machine/qemux86.conf b/meta/conf/machine/qemux86.conf
index 1e072e1ae2..51f080bd2a 100644
--- a/meta/conf/machine/qemux86.conf
+++ b/meta/conf/machine/qemux86.conf
@@ -2,12 +2,6 @@
2#@NAME: QEMU x86 machine 2#@NAME: QEMU x86 machine
3#@DESCRIPTION: Machine configuration for running an x86 system on QEMU 3#@DESCRIPTION: Machine configuration for running an x86 system on QEMU
4 4
5PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
6PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
7PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
8PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
9PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa"
10
11require conf/machine/include/qemu.inc 5require conf/machine/include/qemu.inc
12DEFAULTTUNE ?= "core2-32" 6DEFAULTTUNE ?= "core2-32"
13require conf/machine/include/x86/tune-corei7.inc 7require conf/machine/include/x86/tune-corei7.inc
diff --git a/meta/lib/oeqa/selftest/cases/distrodata.py b/meta/lib/oeqa/selftest/cases/distrodata.py
index 1e88ea82e6..f2c6124d70 100644
--- a/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -56,7 +56,7 @@ but their recipes claim otherwise by setting UPSTREAM_VERSION_UNKNOWN. Please re
56 56
57 def is_maintainer_exception(entry): 57 def is_maintainer_exception(entry):
58 exceptions = ["musl", "newlib", "picolibc", "linux-yocto", "linux-dummy", "mesa-gl", "libgfortran", "libx11-compose-data", 58 exceptions = ["musl", "newlib", "picolibc", "linux-yocto", "linux-dummy", "mesa-gl", "libgfortran", "libx11-compose-data",
59 "cve-update-nvd2-native", "barebox"] 59 "cve-update-nvd2-native", "barebox", "libglvnd"]
60 for i in exceptions: 60 for i in exceptions:
61 if i in entry: 61 if i in entry:
62 return True 62 return True
diff --git a/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb b/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb
new file mode 100644
index 0000000000..d2a4b2dc51
--- /dev/null
+++ b/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb
@@ -0,0 +1,39 @@
1SUMMARY = "the GL Vendor-Neutral Dispatch library"
2DESCRIPTION = "libglvnd is a vendor-neutral dispatch layer for arbitrating \
3OpenGL API calls between multiple vendors."
4HOMEPAGE = "https://gitlab.freedesktop.org/glvnd/libglvnd"
5LICENSE = "MIT & BSD-1-Clause & BSD-3-Clause & GPL-3.0-with-autoconf-exception"
6LIC_FILES_CHKSUM = "file://README.md;beginline=323;md5=7ac5f0111f648b92fe5427efeb08e8c4"
7
8SRC_URI = "git://gitlab.freedesktop.org/glvnd/libglvnd.git;protocol=https;branch=master"
9
10SRCREV = "faa23f21fc677af5792825dc30cb1ccef4bf33a6"
11
12REQUIRED_DISTRO_FEATURES = "opengl glvnd"
13
14inherit meson pkgconfig features_check
15
16S = "${WORKDIR}/git"
17
18PACKAGECONFIG ?= "\
19 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
20 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl gles1 gles2', '', d)} \
21 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'glx', '', d)} \
22 "
23
24PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,libx11 libxext xorgproto"
25PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,libx11 libxext xorgproto,,virtual-libglx-icd"
26PACKAGECONFIG[egl] = "-Degl=true,-Degl=false,,virtual-libegl-icd"
27PACKAGECONFIG[gles1] = "-Dgles1=true,-Dgles1=false,"
28PACKAGECONFIG[gles2] = "-Dgles2=true,-Dgles2=false,"
29
30BBCLASSEXTEND = "native nativesdk"
31
32PROVIDES = " \
33 ${@bb.utils.contains('PACKAGECONFIG', 'glx', 'virtual/libgl', '', d)} \
34 ${@bb.utils.contains('PACKAGECONFIG', 'gles1', 'virtual/libgles1', '', d)} \
35 ${@bb.utils.contains('PACKAGECONFIG', 'gles2', 'virtual/libgles2 virtual/libgles3', '', d)} \
36 ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \
37"
38
39RPROVIDES:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'egl', 'libegl', '', d)}"
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index c3adb5ef78..6b42a238cc 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -84,7 +84,7 @@ def strip_comma(s):
84PACKAGECONFIG = " \ 84PACKAGECONFIG = " \
85 gallium \ 85 gallium \
86 video-codecs \ 86 video-codecs \
87 ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland', d)} \ 87 ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', d)} \
88 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ 88 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \
89 ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ 89 ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \
90" 90"
@@ -286,7 +286,7 @@ python __anonymous() {
286 if 'glvnd' in pkgconfig: 286 if 'glvnd' in pkgconfig:
287 for p in ("libegl", "libglx"): 287 for p in ("libegl", "libglx"):
288 fullp = mlprefix + p + "-mesa" + suffix 288 fullp = mlprefix + p + "-mesa" + suffix
289 d.appendVar("RPROVIDES:" + fullp, '%s-icd' % p) 289 d.appendVar("RPROVIDES:" + fullp, ' virtual-%s-icd' % p)
290 else: 290 else:
291 for p in (("egl", "libegl", "libegl1"), 291 for p in (("egl", "libegl", "libegl1"),
292 ("opengl", "libgl", "libgl1"), 292 ("opengl", "libgl", "libgl1"),