Message ID | 20250506002203.1766376-1-rs@ti.com |
---|---|
State | New |
Headers | show |
Series | [meta-arago,scarthgap/master] mesa-demos: add a git version | expand |
On Mon, May 05, 2025 at 07:22:03PM -0500, rs@ti.com wrote: > From: Randolph Sapp <rs@ti.com> > > Add a newer git version of this package to fetch modifications that > allow us to build the EGL and GLES specific demos without the hard > Desktop GL and X11 dependencies. > > These modification have not made it into a tag yet, but this recipe can > be removed once oe-core's version of the package passes > 02eae079cb0b8186064d5b194ca4cc2995f099ee. Adding a different version of an upstream recipe potentially causes signature change during YP compliance checks. There are 2 alternatives: 1. Do a .bbappend that modifies SRC_URI, SRCREV, S and anything else you need. That way you can activate it based on one of the overrides, such as :arago 2. Set DEFAULT_PREFERENCE = "-1" in the recipe and then force preference in a distro conf with PREFERRED_VERSION. And you have to set the correct PV here. > Signed-off-by: Randolph Sapp <rs@ti.com> > --- > .../recipes-graphics/mesa/mesa-demos_git.bb | 43 +++++++++++++++++++ > 1 file changed, 43 insertions(+) > create mode 100644 meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb > > diff --git a/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb b/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb > new file mode 100644 > index 00000000..5dd5a8ec > --- /dev/null > +++ b/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb > @@ -0,0 +1,43 @@ > +SUMMARY = "Mesa demo applications" > +DESCRIPTION = "This package includes the demonstration application, such as glxgears. \ > +These applications can be used for Mesa validation and benchmarking." > +HOMEPAGE = "http://mesa3d.org" > +BUGTRACKER = "https://bugs.freedesktop.org" > + > +LICENSE = "MIT & PD" > +LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=a481fbdb2ac800ecb12405c33bcfacae \ > + file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06" > + > +SRC_URI = "git://gitlab.freedesktop.org/mesa/demos.git;protocol=https;branch=main" > +SRCREV = "02eae079cb0b8186064d5b194ca4cc2995f099ee" > +S = "${WORKDIR}/git" > + > +inherit meson pkgconfig features_check > +# depends on virtual/egl, virtual/libgl ... > +REQUIRED_DISTRO_FEATURES = "opengl" > + > +EXTRA_OEMESON = "-Dwith-system-data-files=true" > + > +# Note: wayland is not included as the feature requires libdecor recipe, > +# which is not currently in core > +PACKAGECONFIG ?= "drm egl gles1 gles2 \ > + ${@bb.utils.filter('DISTRO_FEATURES', 'vulkan x11 wayland', d)}" > + > +PACKAGECONFIG[drm] = "-Dlibdrm=enabled,-Dlibdrm=disabled,libdrm" > +PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl" > +PACKAGECONFIG[gles1] = "-Dgles1=enabled,-Dgles1=disabled,virtual/libgles1" > +PACKAGECONFIG[gles2] = "-Dgles2=enabled,-Dgles2=disabled,virtual/libgles2" > +PACKAGECONFIG[glut] = "-Dwith-glut=${STAGING_EXECPREFIXDIR},-Dglut=disabled,freeglut" > +PACKAGECONFIG[osmesa] = "-Dosmesa=enabled,-Dosmesa=disabled," > +PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader glslang-native" > +PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/libgl wayland wayland-native wayland-protocols libxkbcommon libdecor" > +PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libglu libxkbcommon libxcb" > + > +do_install:append() { > + # it can be completely empty when all PACKAGECONFIG options are disabled > + rmdir --ignore-fail-on-non-empty ${D}${bindir} > + > + if [ -f ${D}${bindir}/clear ]; then > + mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos > + fi > +} > -- > 2.49.0 >
On Tue May 6, 2025 at 11:08 AM CDT, Denys Dmytriyenko wrote: > On Mon, May 05, 2025 at 07:22:03PM -0500, rs@ti.com wrote: >> From: Randolph Sapp <rs@ti.com> >> >> Add a newer git version of this package to fetch modifications that >> allow us to build the EGL and GLES specific demos without the hard >> Desktop GL and X11 dependencies. >> >> These modification have not made it into a tag yet, but this recipe can >> be removed once oe-core's version of the package passes >> 02eae079cb0b8186064d5b194ca4cc2995f099ee. > > Adding a different version of an upstream recipe potentially causes signature > change during YP compliance checks. > > There are 2 alternatives: > > 1. Do a .bbappend that modifies SRC_URI, SRCREV, S and anything else you need. > That way you can activate it based on one of the overrides, such as :arago > > 2. Set DEFAULT_PREFERENCE = "-1" in the recipe and then force preference in a > distro conf with PREFERRED_VERSION. And you have to set the correct PV here. > 2 seems the most applicable here since it's a significant version bump. Unfortunately it's a git package. No real version to tag. I see the use of "<rev>+git" is common in oe-core. Any complaints about using that here? >> Signed-off-by: Randolph Sapp <rs@ti.com> >> --- >> .../recipes-graphics/mesa/mesa-demos_git.bb | 43 +++++++++++++++++++ >> 1 file changed, 43 insertions(+) >> create mode 100644 meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb >> >> diff --git a/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb b/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb >> new file mode 100644 >> index 00000000..5dd5a8ec >> --- /dev/null >> +++ b/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb >> @@ -0,0 +1,43 @@ >> +SUMMARY = "Mesa demo applications" >> +DESCRIPTION = "This package includes the demonstration application, such as glxgears. \ >> +These applications can be used for Mesa validation and benchmarking." >> +HOMEPAGE = "http://mesa3d.org" >> +BUGTRACKER = "https://bugs.freedesktop.org" >> + >> +LICENSE = "MIT & PD" >> +LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=a481fbdb2ac800ecb12405c33bcfacae \ >> + file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06" >> + >> +SRC_URI = "git://gitlab.freedesktop.org/mesa/demos.git;protocol=https;branch=main" >> +SRCREV = "02eae079cb0b8186064d5b194ca4cc2995f099ee" >> +S = "${WORKDIR}/git" >> + >> +inherit meson pkgconfig features_check >> +# depends on virtual/egl, virtual/libgl ... >> +REQUIRED_DISTRO_FEATURES = "opengl" >> + >> +EXTRA_OEMESON = "-Dwith-system-data-files=true" >> + >> +# Note: wayland is not included as the feature requires libdecor recipe, >> +# which is not currently in core >> +PACKAGECONFIG ?= "drm egl gles1 gles2 \ >> + ${@bb.utils.filter('DISTRO_FEATURES', 'vulkan x11 wayland', d)}" >> + >> +PACKAGECONFIG[drm] = "-Dlibdrm=enabled,-Dlibdrm=disabled,libdrm" >> +PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl" >> +PACKAGECONFIG[gles1] = "-Dgles1=enabled,-Dgles1=disabled,virtual/libgles1" >> +PACKAGECONFIG[gles2] = "-Dgles2=enabled,-Dgles2=disabled,virtual/libgles2" >> +PACKAGECONFIG[glut] = "-Dwith-glut=${STAGING_EXECPREFIXDIR},-Dglut=disabled,freeglut" >> +PACKAGECONFIG[osmesa] = "-Dosmesa=enabled,-Dosmesa=disabled," >> +PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader glslang-native" >> +PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/libgl wayland wayland-native wayland-protocols libxkbcommon libdecor" >> +PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libglu libxkbcommon libxcb" >> + >> +do_install:append() { >> + # it can be completely empty when all PACKAGECONFIG options are disabled >> + rmdir --ignore-fail-on-non-empty ${D}${bindir} >> + >> + if [ -f ${D}${bindir}/clear ]; then >> + mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos >> + fi >> +} >> -- >> 2.49.0 >>
On Tue, May 06, 2025 at 01:16:56PM -0500, Randolph Sapp wrote: > On Tue May 6, 2025 at 11:08 AM CDT, Denys Dmytriyenko wrote: > > On Mon, May 05, 2025 at 07:22:03PM -0500, rs@ti.com wrote: > >> From: Randolph Sapp <rs@ti.com> > >> > >> Add a newer git version of this package to fetch modifications that > >> allow us to build the EGL and GLES specific demos without the hard > >> Desktop GL and X11 dependencies. > >> > >> These modification have not made it into a tag yet, but this recipe can > >> be removed once oe-core's version of the package passes > >> 02eae079cb0b8186064d5b194ca4cc2995f099ee. > > > > Adding a different version of an upstream recipe potentially causes signature > > change during YP compliance checks. > > > > There are 2 alternatives: > > > > 1. Do a .bbappend that modifies SRC_URI, SRCREV, S and anything else you need. > > That way you can activate it based on one of the overrides, such as :arago > > > > 2. Set DEFAULT_PREFERENCE = "-1" in the recipe and then force preference in a > > distro conf with PREFERRED_VERSION. And you have to set the correct PV here. > > > > 2 seems the most applicable here since it's a significant version bump. > Unfortunately it's a git package. No real version to tag. I see the use of > "<rev>+git" is common in oe-core. Any complaints about using that here? Yes, that's a correct use - it's previous tag plus git sha after it, which gets automatically expanded in the package version. We also use this extensively in our layers. > >> Signed-off-by: Randolph Sapp <rs@ti.com> > >> --- > >> .../recipes-graphics/mesa/mesa-demos_git.bb | 43 +++++++++++++++++++ > >> 1 file changed, 43 insertions(+) > >> create mode 100644 meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb > >> > >> diff --git a/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb b/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb > >> new file mode 100644 > >> index 00000000..5dd5a8ec > >> --- /dev/null > >> +++ b/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb > >> @@ -0,0 +1,43 @@ > >> +SUMMARY = "Mesa demo applications" > >> +DESCRIPTION = "This package includes the demonstration application, such as glxgears. \ > >> +These applications can be used for Mesa validation and benchmarking." > >> +HOMEPAGE = "http://mesa3d.org" > >> +BUGTRACKER = "https://bugs.freedesktop.org" > >> + > >> +LICENSE = "MIT & PD" > >> +LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=a481fbdb2ac800ecb12405c33bcfacae \ > >> + file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06" > >> + > >> +SRC_URI = "git://gitlab.freedesktop.org/mesa/demos.git;protocol=https;branch=main" > >> +SRCREV = "02eae079cb0b8186064d5b194ca4cc2995f099ee" > >> +S = "${WORKDIR}/git" > >> + > >> +inherit meson pkgconfig features_check > >> +# depends on virtual/egl, virtual/libgl ... > >> +REQUIRED_DISTRO_FEATURES = "opengl" > >> + > >> +EXTRA_OEMESON = "-Dwith-system-data-files=true" > >> + > >> +# Note: wayland is not included as the feature requires libdecor recipe, > >> +# which is not currently in core > >> +PACKAGECONFIG ?= "drm egl gles1 gles2 \ > >> + ${@bb.utils.filter('DISTRO_FEATURES', 'vulkan x11 wayland', d)}" > >> + > >> +PACKAGECONFIG[drm] = "-Dlibdrm=enabled,-Dlibdrm=disabled,libdrm" > >> +PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl" > >> +PACKAGECONFIG[gles1] = "-Dgles1=enabled,-Dgles1=disabled,virtual/libgles1" > >> +PACKAGECONFIG[gles2] = "-Dgles2=enabled,-Dgles2=disabled,virtual/libgles2" > >> +PACKAGECONFIG[glut] = "-Dwith-glut=${STAGING_EXECPREFIXDIR},-Dglut=disabled,freeglut" > >> +PACKAGECONFIG[osmesa] = "-Dosmesa=enabled,-Dosmesa=disabled," > >> +PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader glslang-native" > >> +PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/libgl wayland wayland-native wayland-protocols libxkbcommon libdecor" > >> +PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libglu libxkbcommon libxcb" > >> + > >> +do_install:append() { > >> + # it can be completely empty when all PACKAGECONFIG options are disabled > >> + rmdir --ignore-fail-on-non-empty ${D}${bindir} > >> + > >> + if [ -f ${D}${bindir}/clear ]; then > >> + mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos > >> + fi > >> +} > >> -- > >> 2.49.0 > >>
diff --git a/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb b/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb new file mode 100644 index 00000000..5dd5a8ec --- /dev/null +++ b/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb @@ -0,0 +1,43 @@ +SUMMARY = "Mesa demo applications" +DESCRIPTION = "This package includes the demonstration application, such as glxgears. \ +These applications can be used for Mesa validation and benchmarking." +HOMEPAGE = "http://mesa3d.org" +BUGTRACKER = "https://bugs.freedesktop.org" + +LICENSE = "MIT & PD" +LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=a481fbdb2ac800ecb12405c33bcfacae \ + file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06" + +SRC_URI = "git://gitlab.freedesktop.org/mesa/demos.git;protocol=https;branch=main" +SRCREV = "02eae079cb0b8186064d5b194ca4cc2995f099ee" +S = "${WORKDIR}/git" + +inherit meson pkgconfig features_check +# depends on virtual/egl, virtual/libgl ... +REQUIRED_DISTRO_FEATURES = "opengl" + +EXTRA_OEMESON = "-Dwith-system-data-files=true" + +# Note: wayland is not included as the feature requires libdecor recipe, +# which is not currently in core +PACKAGECONFIG ?= "drm egl gles1 gles2 \ + ${@bb.utils.filter('DISTRO_FEATURES', 'vulkan x11 wayland', d)}" + +PACKAGECONFIG[drm] = "-Dlibdrm=enabled,-Dlibdrm=disabled,libdrm" +PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl" +PACKAGECONFIG[gles1] = "-Dgles1=enabled,-Dgles1=disabled,virtual/libgles1" +PACKAGECONFIG[gles2] = "-Dgles2=enabled,-Dgles2=disabled,virtual/libgles2" +PACKAGECONFIG[glut] = "-Dwith-glut=${STAGING_EXECPREFIXDIR},-Dglut=disabled,freeglut" +PACKAGECONFIG[osmesa] = "-Dosmesa=enabled,-Dosmesa=disabled," +PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader glslang-native" +PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/libgl wayland wayland-native wayland-protocols libxkbcommon libdecor" +PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libglu libxkbcommon libxcb" + +do_install:append() { + # it can be completely empty when all PACKAGECONFIG options are disabled + rmdir --ignore-fail-on-non-empty ${D}${bindir} + + if [ -f ${D}${bindir}/clear ]; then + mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos + fi +}