GNOME upgrade to 46.0

Recipes updated:

  adwaita-icon-theme             43 --> 46.0
  cairomm                    1.12.0 --> 1.18
  gdm                          42.0 --> 45.0
  glibmm                     2.62.0 --> 2.78.0
  gjs                       1.77.90 --> 1.80.0
  gnome-backgrounds            45.0 --> 46.0
  gnome-bluetooth              42.4 --> 46.0
  gnome-control-center         45.0 --> 46.0
  gnome-disk-utility           42.0 --> 46.0
  gnome-session                42.0 --> 46.0
  gnome-settings-daemon        45.0 --> 46.0
  gnome-shell                  45.0 --> 46.0
  gnome-system-monitor         42.0 --> 46.0
  gsettings-desktop-schemas    45.0 --> 46.0
  gtk4                       4.12.1 --> 4.14.1
  gvfs                       1.50.2 --> 1.54.0
  libadwaita                  1.4.0 --> 1.5.0
  libgtop                    2.40.0 --> 2.41.3
  libgweather4                4.2.0 --> 4.4.2
  libwacom                     0.26 --> 2.8.0
  mutter                       45.0 --> 46.0
  pangomm                    2.46.2 --> 2.50.1

New recipes added:

  pipewire 1.0.4
  wireplumber 0.5.0
  doxygen 1.9.3
  gcr 4.2.0
  rtkit 0.13
  libopus 1.5.1
  libjxl 0.10.2
  wayland
  gtkmm4  4.14.0
This commit is contained in:
Bruce Leidl 2024-05-08 11:00:03 -04:00
parent b795062914
commit 4831a46764
98 changed files with 4110 additions and 794 deletions

View File

@ -0,0 +1,2 @@
PACKAGECONFIG = "nm alsa gudev wayland"
EXTRA_OEMESON += " -Dwwan=false"

View File

@ -0,0 +1 @@
RRECOMMENDS:${PN}:remove = "adwaita-icon-theme"

View File

@ -1 +1 @@
PACKAGECONFIG="orc soup3 pulseaudio x11 asm bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 speex taglib v4l2 vpx"
PACKAGECONFIG="orc soup3 x11 asm bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 speex taglib v4l2 vpx"

View File

@ -0,0 +1,2 @@
# Remove this dependency so it doesn't get dragged in with gtk. These icons are in citadel-extra-image now
GTKBASE_RRECOMMENDS:remove = "adwaita-icon-theme-symbolic"

View File

@ -0,0 +1 @@
PACKAGECONFIG = "pulseaudio gtk3"

View File

@ -0,0 +1,42 @@
PACKAGECONFIG:remove = "avahi jack libcamera webrtc-echo-cancelling libusb systemd-system-service v4l2"
FILES:${PN} += "\
${sysconfdir}/systemd/user/default.target.wants/filter-chain.service \
${sysconfdir}/systemd/user/default.target.wants/pipewire.service \
${sysconfdir}/systemd/user/sockets.target.wants/pipewire.socket \
"
FILES:${PN}-pulse += "\
${sysconfdir}/systemd/user/default.target.wants/pipewire-pulse.service \
${sysconfdir}/systemd/user/sockets.target.wants/pipewire-pulse.socket \
"
do_install:append() {
install -d ${D}${sysconfdir}/systemd/user/default.target.wants
install -d ${D}${sysconfdir}/systemd/user/sockets.target.wants
# filter-chain.service
# [Install]
# WantedBy=default.target
ln -sf ${systemd_user_unitdir}/filter-chain.service ${D}${sysconfdir}/systemd/user/default.target.wants/filter-chain.service
# pipewire.socket
# [Install]
# WantedBy=sockets.target
ln -sf ${systemd_user_unitdir}/pipewire.socket ${D}${sysconfdir}/systemd/user/sockets.target.wants/pipewire.socket
# pipewire.service
# [Install]
# WantedBy=default.target
ln -sf ${systemd_user_unitdir}/pipewire.service ${D}${sysconfdir}/systemd/user/default.target.wants/pipewire.service
# pipewire-pulse.socket
# [Install]
# WantedBy=sockets.target
ln -sf ${systemd_user_unitdir}/pipewire-pulse.socket ${D}${sysconfdir}/systemd/user/sockets.target.wants/pipewire-pulse.socket
# pipewire-pulse.service
# [Install]
# WantedBy=default.target
ln -sf ${systemd_user_unitdir}/pipewire-pulse.service ${D}${sysconfdir}/systemd/user/default.target.wants/pipewire-pulse.service
}

View File

@ -0,0 +1,14 @@
PACKAGECONFIG:remove = "systemd-system-service"
do_install:append() {
install -d ${D}${sysconfdir}/systemd/user/pipewire.service.wants
# wireplumber.service
# [Install]
# WantedBy=pipewire.service
ln -sf ${systemd_user_unitdir}/wireplumber.service ${D}${sysconfdir}/systemd/user/pipewire.service.wants/wireplumber.service
# Alias=pipewire-session-manager.service
ln -sf ${systemd_user_unitdir}/wireplumber.service ${D}${sysconfdir}/systemd/user/pipewire-session-manager.service
}

View File

@ -11,9 +11,7 @@ PACKAGE_INSTALL = "\
base16-vim \
adwaita-icon-theme \
adwaita-icon-theme-cursors \
adwaita-icon-theme-hires \
adwaita-icon-theme-symbolic \
adwaita-icon-theme-symbolic-hires \
"
CITADEL_IMAGE_VERSION = "${CITADEL_IMAGE_VERSION_extra}"

View File

@ -9,7 +9,6 @@ BASH_COMPLETION = "\
bash-completion \
iproute2-bash-completion \
glib-2.0-bash-completion \
pulseaudio-bash-completion \
systemd-bash-completion \
util-linux-bash-completion \
"

View File

@ -17,7 +17,6 @@ RDEPENDS:${PN} = "\
gdm \
plymouth \
shared-mime-info \
pulseaudio-server \
sound-theme-freedesktop \
iso-codes \
libgudev \
@ -45,4 +44,10 @@ RDEPENDS:${PN} = "\
librsvg \
librsvg-gtk \
glib-2.0-utils \
virglrenderer \
rtkit \
libcanberra-pulse \
pipewire-tools \
pipewire-spa-tools \
alsa-utils \
"

View File

@ -0,0 +1,59 @@
SUMMARY = "Userspace interface to the kernel DRM services"
DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
stands for \"Direct Rendering Manager\", which is the kernel portion of the \
\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
accelerated OpenGL drivers."
HOMEPAGE = "http://dri.freedesktop.org"
SECTION = "x11/base"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
PROVIDES = "drm"
DEPENDS = "libpthread-stubs"
SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \
"
SRC_URI[sha256sum] = "3bf55363f76c7250946441ab51d3a6cc0ae518055c0ff017324ab76cdefb327a"
inherit meson pkgconfig manpages
PACKAGECONFIG ??= "intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv tests install-test-programs"
PACKAGECONFIG[intel] = "-Dintel=enabled,-Dintel=disabled,libpciaccess"
PACKAGECONFIG[radeon] = "-Dradeon=enabled,-Dradeon=disabled"
PACKAGECONFIG[amdgpu] = "-Damdgpu=enabled,-Damdgpu=disabled"
PACKAGECONFIG[nouveau] = "-Dnouveau=enabled,-Dnouveau=disabled"
PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=enabled,-Dvmwgfx=disabled"
PACKAGECONFIG[omap] = "-Domap=enabled,-Domap=disabled"
PACKAGECONFIG[exynos] = "-Dexynos=enabled,-Dexynos=disabled"
PACKAGECONFIG[freedreno] = "-Dfreedreno=enabled,-Dfreedreno=disabled"
PACKAGECONFIG[tegra] = "-Dtegra=enabled,-Dtegra=disabled"
PACKAGECONFIG[vc4] = "-Dvc4=enabled,-Dvc4=disabled"
PACKAGECONFIG[etnaviv] = "-Detnaviv=enabled,-Detnaviv=disabled"
PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false"
PACKAGECONFIG[valgrind] = "-Dvalgrind=enabled,-Dvalgrind=disabled,valgrind"
PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false"
PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=enabled,-Dcairo-tests=disabled"
PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev"
PACKAGECONFIG[manpages] = "-Dman-pages=enabled,-Dman-pages=disabled,libxslt-native xmlto-native python3-docutils-native"
ALLOW_EMPTY:${PN}-drivers = "1"
PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
${PN}-intel ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
${PN}-etnaviv"
RRECOMMENDS:${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
${PN}-etnaviv"
FILES:${PN}-tests = "${bindir}/*"
FILES:${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
FILES:${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
FILES:${PN}-omap = "${libdir}/libdrm_omap.so.*"
FILES:${PN}-intel = "${libdir}/libdrm_intel.so.*"
FILES:${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
FILES:${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
FILES:${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids"
FILES:${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
BBCLASSEXTEND = "native nativesdk"

View File

@ -0,0 +1,56 @@
From fe4600de549549fbb3033fc1b37904ba6b3fe2af Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Fri, 8 Mar 2024 15:53:11 +0100
Subject: [PATCH] Revert "meson: do not pull in clc for clover"
This reverts commit 815a6647eb1383e9dc704ffcc266d85f3b13338a.
Upstream-Status: Inappropriate [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27783/diffs?commit_id=a976f2c9f0c07f9e06cc9affd9124b45bc60c2bd]
Once 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.
For now reverting this commit allows to still use clover with opencl-spirv, which would otherwise be broken starting from mesa 24.0.2.
After it was merged, this patch needs to be removed and rusticl support will be required
Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
meson.build | 3 ++-
src/compiler/meson.build | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index 25e92ea5f95..3956e19c08f 100644
--- a/meson.build
+++ b/meson.build
@@ -818,6 +818,7 @@ if _opencl != 'disabled'
error('The Clover OpenCL state tracker requires rtti')
endif
+ with_clc = true
with_gallium_opencl = true
with_opencl_icd = _opencl == 'icd'
else
@@ -842,7 +843,7 @@ if with_gallium_rusticl
endif
dep_clc = null_dep
-if with_gallium_opencl or with_clc
+if with_clc
dep_clc = dependency('libclc')
endif
diff --git a/src/compiler/meson.build b/src/compiler/meson.build
index 8d73544c6d8..1dae56d1b2b 100644
--- a/src/compiler/meson.build
+++ b/src/compiler/meson.build
@@ -79,7 +79,7 @@ subdir('nir')
subdir('spirv')
-if with_clc
+if with_opencl_spirv
subdir('clc')
endif
if with_gallium
--
2.44.0

View File

@ -0,0 +1,58 @@
From 4bd15a419e892da843489c374c58c5b29c40b5d6 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@smile.fr>
Date: Tue, 6 Feb 2024 09:47:09 +0100
Subject: [PATCH 1/2] drisw: fix build without dri3
commit 1887368df41 ("glx/sw: check for modifier support in the kopper path")
added dri3_priv.h header and dri3_check_multibuffer() function in drisw that
can be build without dri3.
i686-buildroot-linux-gnu/bin/ld: src/glx/libglx.a.p/drisw_glx.c.o: in function `driswCreateScreenDriver':
drisw_glx.c:(.text.driswCreateScreenDriver+0x3a0): undefined reference to `dri3_check_multibuffer'
collect2: error: ld returned 1 exit status
Add HAVE_DRI3 guard around dri3_priv.h header and the zink code using
dri3_check_multibuffer().
Fixes: 1887368df41 ("glx/sw: check for modifier support in the kopper path")
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/glx/drisw_glx.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c
index 3d3f752..4b19e2d 100644
--- a/src/glx/drisw_glx.c
+++ b/src/glx/drisw_glx.c
@@ -32,7 +32,9 @@
#include <dlfcn.h>
#include "dri_common.h"
#include "drisw_priv.h"
+#ifdef HAVE_DRI3
#include "dri3_priv.h"
+#endif
#include <X11/extensions/shmproto.h>
#include <assert.h>
#include <vulkan/vulkan_core.h>
@@ -995,6 +997,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv,
goto handle_error;
}
+#ifdef HAVE_DRI3
if (pdpyp->zink) {
bool err;
psc->has_multibuffer = dri3_check_multibuffer(priv->dpy, &err);
@@ -1005,6 +1008,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv,
goto handle_error;
}
}
+#endif
glx_config_destroy_list(psc->base.configs);
psc->base.configs = configs;
--
2.44.0

View File

@ -0,0 +1,40 @@
From 3e1e5c475b52651657c906e6b03ee13567cccdd7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 23 Jun 2023 01:20:38 -0700
Subject: [PATCH] gallium: Fix build with llvm 17
These headers are not available for C files in llvm 17+
and they seem to be not needed to compile after all with llvm 17
so add conditions to exclude them for llvm >= 17
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23827]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/gallium/auxiliary/gallivm/lp_bld_init.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
index cd2108f..b1a4d03 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
@@ -46,15 +46,19 @@
#if GALLIVM_USE_NEW_PASS == 1
#include <llvm-c/Transforms/PassBuilder.h>
#elif GALLIVM_HAVE_CORO == 1
+#if LLVM_VERSION_MAJOR < 17
#include <llvm-c/Transforms/Scalar.h>
-#if LLVM_VERSION_MAJOR >= 7
+#endif
+#if LLVM_VERSION_MAJOR >= 7 && LLVM_VERSION_MAJOR < 17
#include <llvm-c/Transforms/Utils.h>
#endif
#if LLVM_VERSION_MAJOR <= 8 && (DETECT_ARCH_AARCH64 || DETECT_ARCH_ARM || DETECT_ARCH_S390 || DETECT_ARCH_MIPS64)
#include <llvm-c/Transforms/IPO.h>
#endif
+#if LLVM_VERSION_MAJOR < 17
#include <llvm-c/Transforms/Coroutines.h>
#endif
+#endif
unsigned gallivm_perf = 0;

View File

@ -0,0 +1,24 @@
From 02cc21800fe29f566add525e63f619c0536d6e7b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 13 Jan 2020 15:23:47 -0800
Subject: [PATCH] meson misdetects 64bit atomics on mips/clang
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/util/u_atomic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/util/u_atomic.c b/src/util/u_atomic.c
index 5a5eab4..e499516 100644
--- a/src/util/u_atomic.c
+++ b/src/util/u_atomic.c
@@ -21,7 +21,7 @@
* IN THE SOFTWARE.
*/
-#if defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
+#if !defined(__clang__) && defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
#include <stdint.h>
#include <pthread.h>

View File

@ -0,0 +1,42 @@
From e8ec6b1cc5e401ba719095722d8b317d755ae613 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair@alistair23.me>
Date: Thu, 14 Nov 2019 13:04:49 -0800
Subject: [PATCH] meson.build: check for all linux host_os combinations
Make sure that we are also looking for our host_os combinations like
linux-musl etc. when assuming support for DRM/KMS.
Also delete a duplicate line.
Upstream-Status: Pending
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Alistair Francis <alistair@alistair23.me>
---
meson.build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index 133fd9a..817861e 100644
--- a/meson.build
+++ b/meson.build
@@ -128,7 +128,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
# Only build shared_glapi if at least one OpenGL API is enabled
with_shared_glapi = with_shared_glapi and with_any_opengl
-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android', 'managarm'].contains(host_machine.system())
+system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android', 'managarm'].contains(host_machine.system()) or host_machine.system().startswith('linux')
gallium_drivers = get_option('gallium-drivers')
if gallium_drivers.contains('auto')
@@ -997,7 +997,7 @@ if cc.has_function('fmemopen')
endif
# TODO: this is very incomplete
-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android', 'managarm'].contains(host_machine.system())
+if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android', 'managarm'].contains(host_machine.system()) or host_machine.system().startswith('linux')
pre_args += '-D_GNU_SOURCE'
elif host_machine.system() == 'sunos'
pre_args += '-D__EXTENSIONS__'

View File

@ -0,0 +1,42 @@
From 62495ebb977866c52d5bed8499a547c49f0d9bc1 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@smile.fr>
Date: Tue, 6 Feb 2024 09:47:10 +0100
Subject: [PATCH 2/2] glxext: don't try zink if not enabled in mesa
Commit 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers")
added an automatic zink fallback even when the zink gallium is not
enabled at build time.
It leads to unexpected error log while loading drisw driver and
zink is not installed on the rootfs:
MESA-LOADER: failed to open zink: /usr/lib/dri/zink_dri.so
Fixes: 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers")
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/glx/glxext.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/glx/glxext.c b/src/glx/glxext.c
index 05c825a..7a06aa9 100644
--- a/src/glx/glxext.c
+++ b/src/glx/glxext.c
@@ -908,9 +908,11 @@ __glXInitialize(Display * dpy)
#endif /* HAVE_DRI3 */
if (!debug_get_bool_option("LIBGL_DRI2_DISABLE", false))
dpyPriv->dri2Display = dri2CreateDisplay(dpy);
+#if defined(HAVE_ZINK)
if (!dpyPriv->dri3Display && !dpyPriv->dri2Display)
try_zink = !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false) &&
!getenv("GALLIUM_DRIVER");
+#endif /* HAVE_ZINK */
}
#endif /* GLX_USE_DRM */
if (glx_direct)
--
2.44.0

View File

@ -0,0 +1,31 @@
SUMMARY = "The OpenGL utility toolkit"
DESCRIPTION = "GLU is a utility toolkit used with OpenGL implementations"
HOMEPAGE = "http://mesa3d.org"
BUGTRACKER = "https://bugs.freedesktop.org"
SECTION = "x11"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://include/GL/glu.h;endline=29;md5=6b79c570f644363b356456e7d44471d9 \
file://src/libtess/tess.c;endline=29;md5=6b79c570f644363b356456e7d44471d9"
# Epoch as this used to be part of mesa
PE = "2"
SRC_URI = "https://mesa.freedesktop.org/archive/glu/glu-${PV}.tar.xz \
"
SRC_URI[sha256sum] = "bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f"
S = "${WORKDIR}/glu-${PV}"
DEPENDS = "virtual/libgl"
inherit meson pkgconfig features_check
EXTRA_OEMESON = "-Dgl_provider=gl"
# Requires libGL.so which is provided by mesa when x11 in DISTRO_FEATURES
REQUIRED_DISTRO_FEATURES = "x11 opengl"
# Remove the mesa-glu dependency in mesa-glu-dev, as mesa-glu is empty
DEV_PKG_DEPENDENCY = ""

View File

@ -0,0 +1,624 @@
From b695c3a3fa3f4cd48c13aa26542110de27075518 Mon Sep 17 00:00:00 2001
From: Drew Moseley <drew_moseley@mentor.com>
Date: Mon, 12 May 2014 15:22:32 -0400
Subject: [PATCH 1/9] mesa-demos: Add missing data files.
Add some data files that are present in the git repository:
http://cgit.freedesktop.org/mesa/demos/tree/?id=mesa-demos-8.1.0
but not in the release tarball
ftp://ftp.freedesktop.org/pub/mesa/demos/8.1.0/mesa-demos-8.1.0.tar.bz2
Upstream-Status: Backport
Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/fpglsl/depth-read.glsl | 4 +
src/fpglsl/infinite-loop.glsl | 7 +
src/glsl/CH11-bumpmaptex.frag | 47 +++++++
src/glsl/blinking-teapot.frag | 31 +++++
src/glsl/blinking-teapot.vert | 16 +++
src/glsl/convolution.frag | 21 +++
src/glsl/simplex-noise.glsl | 279 ++++++++++++++++++++++++++++++++++++++++
src/glsl/skinning.vert | 24 ++++
src/perf/glslstateschange1.frag | 19 +++
src/perf/glslstateschange1.vert | 14 ++
src/perf/glslstateschange2.frag | 17 +++
src/perf/glslstateschange2.vert | 14 ++
src/vpglsl/infinite-loop.glsl | 8 ++
13 files changed, 501 insertions(+)
create mode 100644 src/fpglsl/depth-read.glsl
create mode 100644 src/fpglsl/infinite-loop.glsl
create mode 100644 src/glsl/CH11-bumpmaptex.frag
create mode 100644 src/glsl/blinking-teapot.frag
create mode 100644 src/glsl/blinking-teapot.vert
create mode 100644 src/glsl/convolution.frag
create mode 100644 src/glsl/simplex-noise.glsl
create mode 100644 src/glsl/skinning.vert
create mode 100644 src/perf/glslstateschange1.frag
create mode 100644 src/perf/glslstateschange1.vert
create mode 100644 src/perf/glslstateschange2.frag
create mode 100644 src/perf/glslstateschange2.vert
create mode 100644 src/vpglsl/infinite-loop.glsl
diff --git a/src/fpglsl/depth-read.glsl b/src/fpglsl/depth-read.glsl
new file mode 100644
index 0000000..86d298e
--- /dev/null
+++ b/src/fpglsl/depth-read.glsl
@@ -0,0 +1,4 @@
+void main()
+{
+ gl_FragColor = gl_FragCoord.zzzz;
+}
diff --git a/src/fpglsl/infinite-loop.glsl b/src/fpglsl/infinite-loop.glsl
new file mode 100644
index 0000000..c6dc6ee
--- /dev/null
+++ b/src/fpglsl/infinite-loop.glsl
@@ -0,0 +1,7 @@
+void main() {
+ vec4 sum = vec4(0);
+ for (int i = 1; i != 2; i += 2) {
+ sum += vec4(0.1, 0.1, 0.1, 0.1);
+ }
+ gl_FragColor = sum;
+}
diff --git a/src/glsl/CH11-bumpmaptex.frag b/src/glsl/CH11-bumpmaptex.frag
new file mode 100644
index 0000000..b5dabb4
--- /dev/null
+++ b/src/glsl/CH11-bumpmaptex.frag
@@ -0,0 +1,47 @@
+//
+// Fragment shader for procedural bumps
+//
+// Authors: John Kessenich, Randi Rost
+//
+// Copyright (c) 2002-2006 3Dlabs Inc. Ltd.
+//
+// See 3Dlabs-License.txt for license information
+//
+// Texture mapping/modulation added by Brian Paul
+//
+
+varying vec3 LightDir;
+varying vec3 EyeDir;
+
+uniform float BumpDensity; // = 16.0
+uniform float BumpSize; // = 0.15
+uniform float SpecularFactor; // = 0.5
+
+uniform sampler2D Tex;
+
+void main()
+{
+ vec3 ambient = vec3(0.25);
+ vec3 litColor;
+ vec2 c = BumpDensity * gl_TexCoord[0].st;
+ vec2 p = fract(c) - vec2(0.5);
+
+ float d, f;
+ d = p.x * p.x + p.y * p.y;
+ f = inversesqrt(d + 1.0);
+
+ if (d >= BumpSize)
+ { p = vec2(0.0); f = 1.0; }
+
+ vec3 SurfaceColor = texture2D(Tex, gl_TexCoord[0].st).xyz;
+
+ vec3 normDelta = vec3(p.x, p.y, 1.0) * f;
+ litColor = SurfaceColor * (ambient + max(dot(normDelta, LightDir), 0.0));
+ vec3 reflectDir = reflect(LightDir, normDelta);
+
+ float spec = max(dot(EyeDir, reflectDir), 0.0);
+ spec *= SpecularFactor;
+ litColor = min(litColor + spec, vec3(1.0));
+
+ gl_FragColor = vec4(litColor, 1.0);
+}
diff --git a/src/glsl/blinking-teapot.frag b/src/glsl/blinking-teapot.frag
new file mode 100644
index 0000000..0db060b
--- /dev/null
+++ b/src/glsl/blinking-teapot.frag
@@ -0,0 +1,31 @@
+#extension GL_ARB_uniform_buffer_object : enable
+
+layout(std140) uniform colors0
+{
+ float DiffuseCool;
+ float DiffuseWarm;
+ vec3 SurfaceColor;
+ vec3 WarmColor;
+ vec3 CoolColor;
+ vec4 some[8];
+};
+
+varying float NdotL;
+varying vec3 ReflectVec;
+varying vec3 ViewVec;
+
+void main (void)
+{
+
+ vec3 kcool = min(CoolColor + DiffuseCool * SurfaceColor, 1.0);
+ vec3 kwarm = min(WarmColor + DiffuseWarm * SurfaceColor, 1.0);
+ vec3 kfinal = mix(kcool, kwarm, NdotL);
+
+ vec3 nreflect = normalize(ReflectVec);
+ vec3 nview = normalize(ViewVec);
+
+ float spec = max(dot(nreflect, nview), 0.0);
+ spec = pow(spec, 32.0);
+
+ gl_FragColor = vec4 (min(kfinal + spec, 1.0), 1.0);
+}
diff --git a/src/glsl/blinking-teapot.vert b/src/glsl/blinking-teapot.vert
new file mode 100644
index 0000000..397d733
--- /dev/null
+++ b/src/glsl/blinking-teapot.vert
@@ -0,0 +1,16 @@
+vec3 LightPosition = vec3(0.0, 10.0, 4.0);
+
+varying float NdotL;
+varying vec3 ReflectVec;
+varying vec3 ViewVec;
+
+void main(void)
+{
+ vec3 ecPos = vec3 (gl_ModelViewMatrix * gl_Vertex);
+ vec3 tnorm = normalize(gl_NormalMatrix * gl_Normal);
+ vec3 lightVec = normalize(LightPosition - ecPos);
+ ReflectVec = normalize(reflect(-lightVec, tnorm));
+ ViewVec = normalize(-ecPos);
+ NdotL = (dot(lightVec, tnorm) + 1.0) * 0.5;
+ gl_Position = ftransform();
+}
diff --git a/src/glsl/convolution.frag b/src/glsl/convolution.frag
new file mode 100644
index 0000000..e49b8ac
--- /dev/null
+++ b/src/glsl/convolution.frag
@@ -0,0 +1,21 @@
+
+const int KernelSize = 9;
+
+//texture offsets
+uniform vec2 Offset[KernelSize];
+//convolution kernel
+uniform vec4 KernelValue[KernelSize];
+uniform sampler2D srcTex;
+uniform vec4 ScaleFactor;
+uniform vec4 BaseColor;
+
+void main(void)
+{
+ int i;
+ vec4 sum = vec4(0.0);
+ for (i = 0; i < KernelSize; ++i) {
+ vec4 tmp = texture2D(srcTex, gl_TexCoord[0].st + Offset[i]);
+ sum += tmp * KernelValue[i];
+ }
+ gl_FragColor = sum * ScaleFactor + BaseColor;
+}
diff --git a/src/glsl/simplex-noise.glsl b/src/glsl/simplex-noise.glsl
new file mode 100644
index 0000000..b6833cb
--- /dev/null
+++ b/src/glsl/simplex-noise.glsl
@@ -0,0 +1,279 @@
+//
+// Description : Array and textureless GLSL 2D/3D/4D simplex
+// noise functions.
+// Author : Ian McEwan, Ashima Arts.
+// Maintainer : ijm
+// Lastmod : 20110223
+// License : Copyright (C) 2011 Ashima Arts. All rights reserved.
+// Distributed under the Artistic License 2.0; See LICENCE file.
+//
+
+#define NORMALIZE_GRADIENTS
+#undef USE_CIRCLE
+#define COLLAPSE_SORTNET
+
+float permute(float x0,vec3 p) {
+ float x1 = mod(x0 * p.y, p.x);
+ return floor( mod( (x1 + p.z) *x0, p.x ));
+ }
+vec2 permute(vec2 x0,vec3 p) {
+ vec2 x1 = mod(x0 * p.y, p.x);
+ return floor( mod( (x1 + p.z) *x0, p.x ));
+ }
+vec3 permute(vec3 x0,vec3 p) {
+ vec3 x1 = mod(x0 * p.y, p.x);
+ return floor( mod( (x1 + p.z) *x0, p.x ));
+ }
+vec4 permute(vec4 x0,vec3 p) {
+ vec4 x1 = mod(x0 * p.y, p.x);
+ return floor( mod( (x1 + p.z) *x0, p.x ));
+ }
+
+uniform vec4 pParam;
+// Example
+// const vec4 pParam = vec4( 17.* 17., 34., 1., 7.);
+
+float taylorInvSqrt(float r)
+ {
+ return ( 0.83666002653408 + 0.7*0.85373472095314 - 0.85373472095314 * r );
+ }
+
+float simplexNoise2(vec2 v)
+ {
+ const vec2 C = vec2(0.211324865405187134, // (3.0-sqrt(3.0))/6.;
+ 0.366025403784438597); // 0.5*(sqrt(3.0)-1.);
+ const vec3 D = vec3( 0., 0.5, 2.0) * 3.14159265358979312;
+// First corner
+ vec2 i = floor(v + dot(v, C.yy) );
+ vec2 x0 = v - i + dot(i, C.xx);
+
+// Other corners
+ vec2 i1 = (x0.x > x0.y) ? vec2(1.,0.) : vec2(0.,1.) ;
+
+ // x0 = x0 - 0. + 0. * C
+ vec2 x1 = x0 - i1 + 1. * C.xx ;
+ vec2 x2 = x0 - 1. + 2. * C.xx ;
+
+// Permutations
+ i = mod(i, pParam.x);
+ vec3 p = permute( permute(
+ i.y + vec3(0., i1.y, 1. ), pParam.xyz)
+ + i.x + vec3(0., i1.x, 1. ), pParam.xyz);
+
+#ifndef USE_CIRCLE
+// ( N points uniformly over a line, mapped onto a diamond.)
+ vec3 x = fract(p / pParam.w) ;
+ vec3 h = 0.5 - abs(x) ;
+
+ vec3 sx = vec3(lessThan(x,D.xxx)) *2. -1.;
+ vec3 sh = vec3(lessThan(h,D.xxx));
+
+ vec3 a0 = x + sx*sh;
+ vec2 p0 = vec2(a0.x,h.x);
+ vec2 p1 = vec2(a0.y,h.y);
+ vec2 p2 = vec2(a0.z,h.z);
+
+#ifdef NORMALISE_GRADIENTS
+ p0 *= taylorInvSqrt(dot(p0,p0));
+ p1 *= taylorInvSqrt(dot(p1,p1));
+ p2 *= taylorInvSqrt(dot(p2,p2));
+#endif
+
+ vec3 g = 2.0 * vec3( dot(p0, x0), dot(p1, x1), dot(p2, x2) );
+#else
+// N points around a unit circle.
+ vec3 phi = D.z * mod(p,pParam.w) /pParam.w ;
+ vec4 a0 = sin(phi.xxyy+D.xyxy);
+ vec2 a1 = sin(phi.zz +D.xy);
+ vec3 g = vec3( dot(a0.xy, x0), dot(a0.zw, x1), dot(a1.xy, x2) );
+#endif
+// mix
+ vec3 m = max(0.5 - vec3(dot(x0,x0), dot(x1,x1), dot(x2,x2)), 0.);
+ m = m*m ;
+ return 1.66666* 70.*dot(m*m, g);
+ }
+
+float simplexNoise3(vec3 v)
+ {
+ const vec2 C = vec2(1./6. , 1./3. ) ;
+ const vec4 D = vec4(0., 0.5, 1.0, 2.0);
+
+// First corner
+ vec3 i = floor(v + dot(v, C.yyy) );
+ vec3 x0 = v - i + dot(i, C.xxx) ;
+
+// Other corners
+#ifdef COLLAPSE_SORTNET
+ vec3 g = vec3( greaterThan( x0.xyz, x0.yzx) );
+ vec3 l = vec3( lessThanEqual( x0.xyz, x0.yzx) );
+
+ vec3 i1 = g.xyz * l.zxy;
+ vec3 i2 = max( g.xyz, l.zxy);
+#else
+// Keeping this clean - let the compiler optimize.
+ vec3 q1;
+ q1.x = max(x0.x, x0.y);
+ q1.y = min(x0.x, x0.y);
+ q1.z = x0.z;
+
+ vec3 q2;
+ q2.x = max(q1.x,q1.z);
+ q2.z = min(q1.x,q1.z);
+ q2.y = q1.y;
+
+ vec3 q3;
+ q3.y = max(q2.y, q2.z);
+ q3.z = min(q2.y, q2.z);
+ q3.x = q2.x;
+
+ vec3 i1 = vec3(equal(q3.xxx, x0));
+ vec3 i2 = i1 + vec3(equal(q3.yyy, x0));
+#endif
+
+ // x0 = x0 - 0. + 0. * C
+ vec3 x1 = x0 - i1 + 1. * C.xxx;
+ vec3 x2 = x0 - i2 + 2. * C.xxx;
+ vec3 x3 = x0 - 1. + 3. * C.xxx;
+
+// Permutations
+ i = mod(i, pParam.x );
+ vec4 p = permute( permute( permute(
+ i.z + vec4(0., i1.z, i2.z, 1. ), pParam.xyz)
+ + i.y + vec4(0., i1.y, i2.y, 1. ), pParam.xyz)
+ + i.x + vec4(0., i1.x, i2.x, 1. ), pParam.xyz);
+
+// Gradients
+// ( N*N points uniformly over a square, mapped onto a octohedron.)
+ float n_ = 1.0/pParam.w ;
+ vec3 ns = n_ * D.wyz - D.xzx ;
+
+ vec4 j = p - pParam.w*pParam.w*floor(p * ns.z *ns.z); // mod(p,N*N)
+
+ vec4 x_ = floor(j * ns.z) ;
+ vec4 y_ = floor(j - pParam.w * x_ ) ; // mod(j,N)
+
+ vec4 x = x_ *ns.x + ns.yyyy;
+ vec4 y = y_ *ns.x + ns.yyyy;
+ vec4 h = 1. - abs(x) - abs(y);
+
+ vec4 b0 = vec4( x.xy, y.xy );
+ vec4 b1 = vec4( x.zw, y.zw );
+
+ vec4 s0 = vec4(lessThan(b0,D.xxxx)) *2. -1.;
+ vec4 s1 = vec4(lessThan(b1,D.xxxx)) *2. -1.;
+ vec4 sh = vec4(lessThan(h, D.xxxx));
+
+ vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;
+ vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;
+
+ vec3 p0 = vec3(a0.xy,h.x);
+ vec3 p1 = vec3(a0.zw,h.y);
+ vec3 p2 = vec3(a1.xy,h.z);
+ vec3 p3 = vec3(a1.zw,h.w);
+
+#ifdef NORMALISE_GRADIENTS
+ p0 *= taylorInvSqrt(dot(p0,p0));
+ p1 *= taylorInvSqrt(dot(p1,p1));
+ p2 *= taylorInvSqrt(dot(p2,p2));
+ p3 *= taylorInvSqrt(dot(p3,p3));
+#endif
+
+// Mix
+ vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.);
+ m = m * m;
+//used to be 64.
+ return 48.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1),
+ dot(p2,x2), dot(p3,x3) ) );
+ }
+
+vec4 grad4(float j, vec4 ip)
+ {
+ const vec4 ones = vec4(1.,1.,1.,-1.);
+ vec4 p,s;
+
+ p.xyz = floor( fract (vec3(j) * ip.xyz) *pParam.w) * ip.z -1.0;
+ p.w = 1.5 - dot(abs(p.xyz), ones.xyz);
+ s = vec4(lessThan(p,vec4(0.)));
+ p.xyz = p.xyz + (s.xyz*2.-1.) * s.www;
+
+ return p;
+ }
+
+float simplexNoise4(vec4 v)
+ {
+ const vec2 C = vec2( 0.138196601125010504, // (5 - sqrt(5))/20 G4
+ 0.309016994374947451); // (sqrt(5) - 1)/4 F4
+// First corner
+ vec4 i = floor(v + dot(v, C.yyyy) );
+ vec4 x0 = v - i + dot(i, C.xxxx);
+
+// Other corners
+
+// Force existance of strict total ordering in sort.
+ vec4 q0 = floor(x0 * 1024.0) + vec4( 0., 1./4., 2./4. , 3./4.);
+ vec4 q1;
+ q1.xy = max(q0.xy,q0.zw); // x:z y:w
+ q1.zw = min(q0.xy,q0.zw);
+
+ vec4 q2;
+ q2.xz = max(q1.xz,q1.yw); // x:y z:w
+ q2.yw = min(q1.xz,q1.yw);
+
+ vec4 q3;
+ q3.y = max(q2.y,q2.z); // y:z
+ q3.z = min(q2.y,q2.z);
+ q3.xw = q2.xw;
+
+ vec4 i1 = vec4(lessThanEqual(q3.xxxx, q0));
+ vec4 i2 = vec4(lessThanEqual(q3.yyyy, q0));
+ vec4 i3 = vec4(lessThanEqual(q3.zzzz, q0));
+
+ // x0 = x0 - 0. + 0. * C
+ vec4 x1 = x0 - i1 + 1. * C.xxxx;
+ vec4 x2 = x0 - i2 + 2. * C.xxxx;
+ vec4 x3 = x0 - i3 + 3. * C.xxxx;
+ vec4 x4 = x0 - 1. + 4. * C.xxxx;
+
+// Permutations
+ i = mod(i, pParam.x );
+ float j0 = permute( permute( permute( permute (
+ i.w, pParam.xyz) + i.z, pParam.xyz)
+ + i.y, pParam.xyz) + i.x, pParam.xyz);
+ vec4 j1 = permute( permute( permute( permute (
+ i.w + vec4(i1.w, i2.w, i3.w, 1. ), pParam.xyz)
+ + i.z + vec4(i1.z, i2.z, i3.z, 1. ), pParam.xyz)
+ + i.y + vec4(i1.y, i2.y, i3.y, 1. ), pParam.xyz)
+ + i.x + vec4(i1.x, i2.x, i3.x, 1. ), pParam.xyz);
+// Gradients
+// ( N*N*N points uniformly over a cube, mapped onto a 4-octohedron.)
+ vec4 ip = pParam ;
+ ip.xy *= pParam.w ;
+ ip.x *= pParam.w ;
+ ip = vec4(1.,1.,1.,2.) / ip ;
+
+ vec4 p0 = grad4(j0, ip);
+ vec4 p1 = grad4(j1.x, ip);
+ vec4 p2 = grad4(j1.y, ip);
+ vec4 p3 = grad4(j1.z, ip);
+ vec4 p4 = grad4(j1.w, ip);
+
+#ifdef NORMALISE_GRADIENTS
+ p0 *= taylorInvSqrt(dot(p0,p0));
+ p1 *= taylorInvSqrt(dot(p1,p1));
+ p2 *= taylorInvSqrt(dot(p2,p2));
+ p3 *= taylorInvSqrt(dot(p3,p3));
+ p4 *= taylorInvSqrt(dot(p4,p4));
+#endif
+
+// Mix
+ vec3 m0 = max(0.6 - vec3(dot(x0,x0), dot(x1,x1), dot(x2,x2)), 0.);
+ vec2 m1 = max(0.6 - vec2(dot(x3,x3), dot(x4,x4) ), 0.);
+ m0 = m0 * m0;
+ m1 = m1 * m1;
+ return 32. * ( dot(m0*m0, vec3( dot( p0, x0 ), dot( p1, x1 ), dot( p2, x2 )))
+ + dot(m1*m1, vec2( dot( p3, x3 ), dot( p4, x4 ) ) ) ) ;
+
+ }
+
+
+
diff --git a/src/glsl/skinning.vert b/src/glsl/skinning.vert
new file mode 100644
index 0000000..28970ee
--- /dev/null
+++ b/src/glsl/skinning.vert
@@ -0,0 +1,24 @@
+// Vertex weighting/blendin shader
+// Brian Paul
+// 4 Nov 2008
+
+uniform mat4 mat0, mat1;
+attribute float weight;
+
+void main()
+{
+ // simple diffuse shading
+ // Note that we should really transform the normal vector along with
+ // the postion below... someday.
+ vec3 lightVec = vec3(0, 0, 1);
+ vec3 norm = gl_NormalMatrix * gl_Normal;
+ float dot = 0.2 + max(0.0, dot(norm, lightVec));
+ gl_FrontColor = vec4(dot);
+
+ // compute sum of weighted transformations
+ vec4 pos0 = mat0 * gl_Vertex;
+ vec4 pos1 = mat1 * gl_Vertex;
+ vec4 pos = mix(pos0, pos1, weight);
+
+ gl_Position = gl_ModelViewProjectionMatrix * pos;
+}
diff --git a/src/perf/glslstateschange1.frag b/src/perf/glslstateschange1.frag
new file mode 100644
index 0000000..0839436
--- /dev/null
+++ b/src/perf/glslstateschange1.frag
@@ -0,0 +1,19 @@
+// Multi-texture fragment shader
+// Brian Paul
+
+// Composite second texture over first.
+// We're assuming the 2nd texture has a meaningful alpha channel.
+
+uniform sampler2D tex1;
+uniform sampler2D tex2;
+uniform vec4 UniV1;
+uniform vec4 UniV2;
+
+void main()
+{
+ vec4 t3;
+ vec4 t1 = texture2D(tex1, gl_TexCoord[0].xy);
+ vec4 t2 = texture2D(tex2, gl_TexCoord[1].xy);
+ t3 = mix(t1, t2, t2.w);
+ gl_FragColor = t3 + UniV1 + UniV2;
+}
diff --git a/src/perf/glslstateschange1.vert b/src/perf/glslstateschange1.vert
new file mode 100644
index 0000000..cef50db
--- /dev/null
+++ b/src/perf/glslstateschange1.vert
@@ -0,0 +1,14 @@
+// Multi-texture vertex shader
+// Brian Paul
+
+
+attribute vec4 TexCoord0, TexCoord1;
+attribute vec4 VertCoord;
+
+void main()
+{
+ gl_TexCoord[0] = TexCoord0;
+ gl_TexCoord[1] = TexCoord1;
+ // note: may use gl_Vertex or VertCoord here for testing:
+ gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
+}
diff --git a/src/perf/glslstateschange2.frag b/src/perf/glslstateschange2.frag
new file mode 100644
index 0000000..0df0319
--- /dev/null
+++ b/src/perf/glslstateschange2.frag
@@ -0,0 +1,17 @@
+// Multi-texture fragment shader
+// Brian Paul
+
+// Composite second texture over first.
+// We're assuming the 2nd texture has a meaningful alpha channel.
+
+uniform sampler2D tex1;
+uniform sampler2D tex2;
+uniform vec4 UniV1;
+uniform vec4 UniV2;
+
+void main()
+{
+ vec4 t1 = texture2D(tex1, gl_TexCoord[0].xy);
+ vec4 t2 = texture2D(tex2, gl_TexCoord[1].xy);
+ gl_FragColor = t1 + t2 + UniV1 + UniV2;
+}
diff --git a/src/perf/glslstateschange2.vert b/src/perf/glslstateschange2.vert
new file mode 100644
index 0000000..cef50db
--- /dev/null
+++ b/src/perf/glslstateschange2.vert
@@ -0,0 +1,14 @@
+// Multi-texture vertex shader
+// Brian Paul
+
+
+attribute vec4 TexCoord0, TexCoord1;
+attribute vec4 VertCoord;
+
+void main()
+{
+ gl_TexCoord[0] = TexCoord0;
+ gl_TexCoord[1] = TexCoord1;
+ // note: may use gl_Vertex or VertCoord here for testing:
+ gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
+}
diff --git a/src/vpglsl/infinite-loop.glsl b/src/vpglsl/infinite-loop.glsl
new file mode 100644
index 0000000..bc7ae4b
--- /dev/null
+++ b/src/vpglsl/infinite-loop.glsl
@@ -0,0 +1,8 @@
+void main() {
+ gl_Position = gl_Vertex;
+ vec4 sum = vec4(0);
+ for (int i = 1; i != 2; i += 2) {
+ sum += vec4(0.1, 0.1, 0.1, 0.1);
+ }
+ gl_FrontColor = sum;
+}
--
2.0.0

View File

@ -0,0 +1,234 @@
From 5e10108d76a59abac21c7e540bcfd2ddaccca2cb Mon Sep 17 00:00:00 2001
From: Drew Moseley <drew_moseley@mentor.com>
Date: Fri, 9 May 2014 11:50:24 -0400
Subject: [PATCH 4/9] Use DEMOS_DATA_DIR to locate data files
Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=78496]
Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
---
src/glsl/bezier.c | 2 +-
src/glsl/blinking-teapot.c | 4 ++--
src/glsl/brick.c | 4 ++--
src/glsl/bump.c | 6 +++---
src/glsl/convolutions.c | 2 +-
src/glsl/mandelbrot.c | 4 ++--
src/glsl/multitex.c | 4 ++--
src/glsl/simplex-noise.c | 2 +-
src/glsl/skinning.c | 4 ++--
src/glsl/texdemo1.c | 8 ++++----
src/glsl/toyball.c | 4 ++--
src/objviewer/objview.c | 12 ++++++------
src/perf/glslstateschange.c | 8 ++++----
13 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/src/glsl/bezier.c b/src/glsl/bezier.c
index 0b56bc1..e01603d 100644
--- a/src/glsl/bezier.c
+++ b/src/glsl/bezier.c
@@ -13,7 +13,7 @@
#include "glut_wrap.h"
#include "shaderutil.h"
-static const char *filename = "bezier.geom";
+static const char *filename = DEMOS_DATA_DIR "bezier.geom";
static GLuint fragShader;
static GLuint vertShader;
diff --git a/src/glsl/blinking-teapot.c b/src/glsl/blinking-teapot.c
index e3bf24d..7662b1f 100644
--- a/src/glsl/blinking-teapot.c
+++ b/src/glsl/blinking-teapot.c
@@ -63,8 +63,8 @@ init_opengl (void)
exit(1);
}
- vshad_id = CompileShaderFile (GL_VERTEX_SHADER, "blinking-teapot.vert");
- fshad_id = CompileShaderFile (GL_FRAGMENT_SHADER, "blinking-teapot.frag");
+ vshad_id = CompileShaderFile (GL_VERTEX_SHADER, DEMOS_DATA_DIR "blinking-teapot.vert");
+ fshad_id = CompileShaderFile (GL_FRAGMENT_SHADER, DEMOS_DATA_DIR "blinking-teapot.frag");
prog_id = LinkShaders (vshad_id, fshad_id);
UseProgram (prog_id);
diff --git a/src/glsl/brick.c b/src/glsl/brick.c
index 3021856..fe5f190 100644
--- a/src/glsl/brick.c
+++ b/src/glsl/brick.c
@@ -14,8 +14,8 @@
#include "shaderutil.h"
-static char *FragProgFile = "CH06-brick.frag";
-static char *VertProgFile = "CH06-brick.vert";
+static char *FragProgFile = DEMOS_DATA_DIR "CH06-brick.frag";
+static char *VertProgFile = DEMOS_DATA_DIR "CH06-brick.vert";
/* program/shader objects */
static GLuint fragShader;
diff --git a/src/glsl/bump.c b/src/glsl/bump.c
index 59f62cd..3a1b20a 100644
--- a/src/glsl/bump.c
+++ b/src/glsl/bump.c
@@ -15,9 +15,9 @@
#include "readtex.h"
-static char *FragProgFile = "CH11-bumpmap.frag";
-static char *FragTexProgFile = "CH11-bumpmaptex.frag";
-static char *VertProgFile = "CH11-bumpmap.vert";
+static char *FragProgFile = DEMOS_DATA_DIR "CH11-bumpmap.frag";
+static char *FragTexProgFile = DEMOS_DATA_DIR "CH11-bumpmaptex.frag";
+static char *VertProgFile = DEMOS_DATA_DIR "CH11-bumpmap.vert";
static char *TextureFile = DEMOS_DATA_DIR "tile.rgb";
/* program/shader objects */
diff --git a/src/glsl/convolutions.c b/src/glsl/convolutions.c
index a120cfe..9312f00 100644
--- a/src/glsl/convolutions.c
+++ b/src/glsl/convolutions.c
@@ -340,7 +340,7 @@ static void init(void)
menuInit();
readTexture(textureLocation);
- createProgram("convolution.vert", "convolution.frag");
+ createProgram(DEMOS_DATA_DIR "convolution.vert", DEMOS_DATA_DIR "convolution.frag");
glEnable(GL_TEXTURE_2D);
glClearColor(1.0, 1.0, 1.0, 1.0);
diff --git a/src/glsl/mandelbrot.c b/src/glsl/mandelbrot.c
index 31ede1d..ab34a0f 100644
--- a/src/glsl/mandelbrot.c
+++ b/src/glsl/mandelbrot.c
@@ -14,8 +14,8 @@
#include "shaderutil.h"
-static char *FragProgFile = "CH18-mandel.frag";
-static char *VertProgFile = "CH18-mandel.vert";
+static char *FragProgFile = DEMOS_DATA_DIR "CH18-mandel.frag";
+static char *VertProgFile = DEMOS_DATA_DIR "CH18-mandel.vert";
/* program/shader objects */
static GLuint fragShader;
diff --git a/src/glsl/multitex.c b/src/glsl/multitex.c
index 262ea50..546bd27 100644
--- a/src/glsl/multitex.c
+++ b/src/glsl/multitex.c
@@ -35,8 +35,8 @@
static const char *Demo = "multitex";
-static const char *VertFile = "multitex.vert";
-static const char *FragFile = "multitex.frag";
+static const char *VertFile = DEMOS_DATA_DIR "multitex.vert";
+static const char *FragFile = DEMOS_DATA_DIR "multitex.frag";
static const char *TexFiles[2] =
{
diff --git a/src/glsl/simplex-noise.c b/src/glsl/simplex-noise.c
index 13fdd5d..885f01e 100644
--- a/src/glsl/simplex-noise.c
+++ b/src/glsl/simplex-noise.c
@@ -169,7 +169,7 @@ SpecialKey(int key, int x, int y)
static void
Init(void)
{
- const char *filename = "simplex-noise.glsl";
+ const char *filename = DEMOS_DATA_DIR "simplex-noise.glsl";
char noiseText[10000];
FILE *f;
int len;
diff --git a/src/glsl/skinning.c b/src/glsl/skinning.c
index bf38d77..536d475 100644
--- a/src/glsl/skinning.c
+++ b/src/glsl/skinning.c
@@ -20,8 +20,8 @@
#define M_PI 3.1415926535
#endif
-static char *FragProgFile = "skinning.frag";
-static char *VertProgFile = "skinning.vert";
+static char *FragProgFile = DEMOS_DATA_DIR "skinning.frag";
+static char *VertProgFile = DEMOS_DATA_DIR "skinning.vert";
/* program/shader objects */
static GLuint fragShader;
diff --git a/src/glsl/texdemo1.c b/src/glsl/texdemo1.c
index 6cde239..a082342 100644
--- a/src/glsl/texdemo1.c
+++ b/src/glsl/texdemo1.c
@@ -35,11 +35,11 @@
static const char *Demo = "texdemo1";
-static const char *ReflectVertFile = "reflect.vert";
-static const char *CubeFragFile = "cubemap.frag";
+static const char *ReflectVertFile = DEMOS_DATA_DIR "reflect.vert";
+static const char *CubeFragFile = DEMOS_DATA_DIR "cubemap.frag";
-static const char *SimpleVertFile = "simple.vert";
-static const char *SimpleTexFragFile = "shadowtex.frag";
+static const char *SimpleVertFile = DEMOS_DATA_DIR "simple.vert";
+static const char *SimpleTexFragFile = DEMOS_DATA_DIR "shadowtex.frag";
static const char *GroundImage = DEMOS_DATA_DIR "tile.rgb";
diff --git a/src/glsl/toyball.c b/src/glsl/toyball.c
index 5f27951..4e7e832 100644
--- a/src/glsl/toyball.c
+++ b/src/glsl/toyball.c
@@ -14,8 +14,8 @@
#include "shaderutil.h"
-static char *FragProgFile = "CH11-toyball.frag";
-static char *VertProgFile = "CH11-toyball.vert";
+static char *FragProgFile = DEMOS_DATA_DIR "CH11-toyball.frag";
+static char *VertProgFile = DEMOS_DATA_DIR "CH11-toyball.vert";
/* program/shader objects */
static GLuint fragShader;
diff --git a/src/objviewer/objview.c b/src/objviewer/objview.c
index 6def726..78a6acf 100644
--- a/src/objviewer/objview.c
+++ b/src/objviewer/objview.c
@@ -162,12 +162,12 @@ init_model(void)
static void
init_skybox(void)
{
- SkyboxTex = LoadSkyBoxCubeTexture("alpine_east.rgb",
- "alpine_west.rgb",
- "alpine_up.rgb",
- "alpine_down.rgb",
- "alpine_south.rgb",
- "alpine_north.rgb");
+ SkyboxTex = LoadSkyBoxCubeTexture(DEMOS_DATA_DIR "alpine_east.rgb",
+ DEMOS_DATA_DIR "alpine_west.rgb",
+ DEMOS_DATA_DIR "alpine_up.rgb",
+ DEMOS_DATA_DIR "alpine_down.rgb",
+ DEMOS_DATA_DIR "alpine_south.rgb",
+ DEMOS_DATA_DIR "alpine_north.rgb");
glmSpecularTexture(Model, SkyboxTex);
}
diff --git a/src/perf/glslstateschange.c b/src/perf/glslstateschange.c
index 7422b78..dbf8332 100644
--- a/src/perf/glslstateschange.c
+++ b/src/perf/glslstateschange.c
@@ -33,10 +33,10 @@
#include "glmain.h"
#include "common.h"
-static const char *VertFile1 = "glslstateschange1.vert";
-static const char *FragFile1 = "glslstateschange1.frag";
-static const char *VertFile2 = "glslstateschange2.vert";
-static const char *FragFile2 = "glslstateschange2.frag";
+static const char *VertFile1 = DEMOS_DATA_DIR "glslstateschange1.vert";
+static const char *FragFile1 = DEMOS_DATA_DIR "glslstateschange1.frag";
+static const char *VertFile2 = DEMOS_DATA_DIR "glslstateschange2.vert";
+static const char *FragFile2 = DEMOS_DATA_DIR "glslstateschange2.frag";
static struct uniform_info Uniforms1[] = {
{ "tex1", 1, GL_SAMPLER_2D, { 0, 0, 0, 0 }, -1 },
{ "tex2", 1, GL_SAMPLER_2D, { 1, 0, 0, 0 }, -1 },
--
2.0.0

View File

@ -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"
SECTION = "x11"
LICENSE = "MIT & PD"
LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \
file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06"
SRC_URI = "https://mesa.freedesktop.org/archive/demos/${PV}/${BPN}-${PV}.tar.bz2 \
file://0001-mesa-demos-Add-missing-data-files.patch \
file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \
"
SRC_URI[sha256sum] = "cea2df0a80f09a30f635c4eb1a672bf90c5ddee0b8e77f4d70041668ef71aac1"
inherit meson pkgconfig features_check
# depends on virtual/egl, virtual/libgl ...
REQUIRED_DISTRO_FEATURES = "opengl x11"
EXTRA_OEMESON = "-Dwith-system-data-files=true"
PACKAGECONFIG ?= "drm egl gles1 gles2 \
${@bb.utils.filter('DISTRO_FEATURES', '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},,freeglut"
PACKAGECONFIG[osmesa] = "-Dosmesa=enabled,-Dosmesa=disabled,"
PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/libgl wayland wayland-native wayland-protocols"
PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libglu"
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
}

View File

@ -0,0 +1,15 @@
require mesa.inc
SUMMARY += " (OpenGL only, no EGL/GLES)"
PROVIDES = "virtual/libgl virtual/mesa"
S = "${WORKDIR}/mesa-${PV}"
TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm"
# At least one DRI rendering engine is required to build mesa.
# When no X11 is available, use osmesa for the rendering engine.
PACKAGECONFIG ??= "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}"
PACKAGECONFIG:class-target = "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}"

View File

@ -0,0 +1,369 @@
SUMMARY = "A free implementation of the OpenGL API"
DESCRIPTION = "Mesa is an open-source implementation of the OpenGL specification - \
a system for rendering interactive 3D graphics. \
A variety of device drivers allows Mesa to be used in many different environments \
ranging from software emulation to complete hardware acceleration for modern GPUs. \
Mesa is used as part of the overall Direct Rendering Infrastructure and X.org \
environment."
HOMEPAGE = "http://mesa3d.org"
BUGTRACKER = "https://bugs.freedesktop.org"
SECTION = "x11"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10"
PE = "2"
SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
file://0001-gallium-Fix-build-with-llvm-17.patch \
file://0001-drisw-fix-build-without-dri3.patch \
file://0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch \
file://0001-Revert-meson-do-not-pull-in-clc-for-clover.patch \
"
SRC_URI[sha256sum] = "94e28a8edad06d8ed2b83eb53f253b9eb5aa62c3080f939702e1b3039b56c9e8"
UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
#because we cannot rely on the fact that all apps will use pkgconfig,
#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
do_install:append() {
# sed can't find EGL/eglplatform.h as it doesn't get installed when glvnd enabled.
# So, check if EGL/eglplatform.h exists before running sed.
if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)} && [ -f ${D}${includedir}/EGL/eglplatform.h ]; then
sed -i -e 's/^#elif defined(__unix__) && defined(EGL_NO_X11)$/#elif defined(__unix__) \&\& defined(EGL_NO_X11) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
fi
}
DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native"
DEPENDS:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'mesa-native', '', d)}"
EXTRANATIVEPATH += "chrpath-native"
PROVIDES = " \
${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'glvnd', 'virtual/libglx', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'gles', 'virtual/libgles1 virtual/libgles2 virtual/libgles3', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'virtual/libgbm', '', d)} \
virtual/mesa \
"
inherit meson pkgconfig python3native gettext features_check
BBCLASSEXTEND = "native nativesdk"
ANY_OF_DISTRO_FEATURES = "opengl vulkan"
PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}"
# set the MESA_BUILD_TYPE to either 'release' (default) or 'debug'
# by default the upstream mesa sources build a debug release
# here we assume the user will want a release build by default
MESA_BUILD_TYPE ?= "release"
def check_buildtype(d):
_buildtype = d.getVar('MESA_BUILD_TYPE')
if _buildtype not in ['release', 'debug']:
bb.fatal("unknown build type (%s), please set MESA_BUILD_TYPE to either 'release' or 'debug'" % _buildtype)
if _buildtype == 'debug':
return 'debugoptimized'
return 'plain'
MESON_BUILDTYPE = "${@check_buildtype(d)}"
EXTRA_OEMESON = " \
-Dshared-glapi=enabled \
-Dglx-read-only-text=true \
-Dplatforms='${@",".join("${PLATFORMS}".split())}' \
"
EXTRA_OEMESON:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', '-Dintel-clc=system', '', d)}"
EXTRA_OEMESON:append:class-native = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', '-Dintel-clc=enabled', '', d)}"
def strip_comma(s):
return s.strip(',')
PACKAGECONFIG = " \
gallium \
video-codecs \
${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'dri3', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \
"
PACKAGECONFIG:append:class-native = "gallium-llvm r600"
# "gbm" requires "opengl"
PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled"
X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr"
# "x11" requires "opengl"
PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}"
PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols"
PACKAGECONFIG[dri3] = "-Ddri3=enabled, -Ddri3=disabled, xorgproto libxshmfence"
# Vulkan drivers need dri3 enabled
# amd could be enabled as well but requires gallium-llvm with llvm >= 3.9
VULKAN_DRIVERS = ""
VULKAN_DRIVERS:append:x86 = ",intel,amd"
VULKAN_DRIVERS:append:x86-64 = ",intel,amd"
# i686 is a 32 bit override for mesa-native
VULKAN_DRIVERS:append:i686 = ",intel,amd"
VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}"
VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}"
PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers"
# mesa development and testing tools support, per driver
TOOLS = ""
TOOLS_DEPS = ""
TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}"
# dependencies for tools.
TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurses libxml2 ', '', d)}"
# the fdperf tool requires libconfig (a part of meta-oe) so it needs special
# treatment in addition to the usual 'freedreno tools'.
PACKAGECONFIG[freedreno-fdperf] = ",,libconfig"
PACKAGECONFIG[tools] = "-Dtools=${@strip_comma('${TOOLS}')}, -Dtools='', ${TOOLS_DEPS}"
PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false"
PACKAGECONFIG[glvnd] = "-Dglvnd=true, -Dglvnd=false, libglvnd"
# "gles" requires "opengl"
PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2=disabled"
# "egl" requires "opengl"
PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled"
# "opencl" requires libclc from meta-clang and spirv-tools from OE-Core
OPENCL_NATIVE = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', '-Dopencl-native=true', '', d)}"
PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd -Dopencl-spirv=true ${OPENCL_NATIVE},-Dgallium-opencl=disabled -Dopencl-spirv=false,libclc spirv-tools python3-ply-native"
PACKAGECONFIG[broadcom] = ""
PACKAGECONFIG[etnaviv] = ""
PACKAGECONFIG[freedreno] = ""
PACKAGECONFIG[kmsro] = ""
PACKAGECONFIG[vc4] = ""
PACKAGECONFIG[v3d] = ""
PACKAGECONFIG[zink] = ""
GALLIUMDRIVERS = "swrast"
# gallium swrast was found to crash Xorg on startup in x32 qemu
GALLIUMDRIVERS:x86-x32 = ""
GALLIUMDRIVERS:append:x86 = ",i915,iris,crocus"
GALLIUMDRIVERS:append:x86-64 = ",i915,iris,crocus"
# i686 is a 32 bit override for mesa-native
GALLIUMDRIVERS:append:i686 = ",i915,iris,crocus"
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}"
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}"
# radeonsi requires LLVM
GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}"
GALLIUMDRIVERS_LLVM = ",r300,nouveau${GALLIUMDRIVERS_RADEONSI}"
GALLIUMDRIVERS_LLVM:append:x86 = ",svga"
GALLIUMDRIVERS_LLVM:append:x86-64 = ",svga"
# i686 is a 32 bit override for mesa-native
GALLIUMDRIVERS_LLVM:append:i686 = ",svga"
PACKAGECONFIG[r600] = ""
PACKAGECONFIG[virgl] = ""
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${GALLIUMDRIVERS_LLVM}', '', d)}"
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}"
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}"
PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm"
PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm llvm-native elfutils"
PACKAGECONFIG[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled"
PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial"
PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau"
PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false"
PACKAGECONFIG[lima] = ""
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
PACKAGECONFIG[panfrost] = ""
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false"
PACKAGECONFIG[osmesa] = "-Dosmesa=true,-Dosmesa=false"
PACKAGECONFIG[perfetto] = "-Dperfetto=true,-Dperfetto=false,libperfetto"
PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
PACKAGECONFIG[lmsensors] = "-Dlmsensors=enabled,-Dlmsensors=disabled,lmsensors"
VIDEO_CODECS ?= "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'all', 'all_free', d)}"
PACKAGECONFIG[video-codecs] = "-Dvideo-codecs=${VIDEO_CODECS}, -Dvideo-codecs=''"
# llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2)
FULL_OPTIMIZATION:append = " -fno-omit-frame-pointer"
CFLAGS:append:armv5 = " -DMISSING_64BIT_ATOMICS"
CFLAGS:append:armv6 = " -DMISSING_64BIT_ATOMICS"
# Remove the mesa dependency on mesa-dev, as mesa is empty
DEV_PKG_DEPENDENCY = ""
# Khronos documentation says that include/GLES2/gl2ext.h can be used for
# OpenGL ES 3 specification as well as for OpenGL ES 2.
# There can be applications including GLES2/gl2ext.h instead of GLES3/gl3ext.h
# meaning we should probably bring in GLES2/gl2ext.h if someone asks for
# development package of libgles3.
RDEPENDS:libgles3-mesa-dev += "libgles2-mesa-dev"
RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools', '', d)}"
PACKAGES =+ "libegl-mesa libegl-mesa-dev \
libosmesa libosmesa-dev \
libgl-mesa libgl-mesa-dev \
libglx-mesa libglx-mesa-dev \
libglapi libglapi-dev \
libgbm libgbm-dev \
libgles1-mesa libgles1-mesa-dev \
libgles2-mesa libgles2-mesa-dev \
libgles3-mesa libgles3-mesa-dev \
libopencl-mesa libopencl-mesa-dev \
libxatracker libxatracker-dev \
mesa-megadriver mesa-vulkan-drivers \
mesa-vdpau-drivers mesa-tools \
"
do_install:append () {
# Drivers never need libtool .la files
rm -f ${D}${libdir}/dri/*.la
rm -f ${D}${libdir}/egl/*.la
rm -f ${D}${libdir}/gallium-pipe/*.la
rm -f ${D}${libdir}/gbm/*.la
# libwayland-egl has been moved to wayland 1.15+
rm -f ${D}${libdir}/libwayland-egl*
rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc
}
do_install:append:class-native () {
if ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'true', 'false', d)}; then
install -d ${D}${bindir}
install -m0755 ${B}/src/intel/compiler/intel_clc ${D}${bindir}
fi
}
# For the packages that make up the OpenGL interfaces, inject variables so that
# they don't get Debian-renamed (which would remove the -mesa suffix), and
# RPROVIDEs/RCONFLICTs on the generic libgl name.
python __anonymous() {
pkgconfig = (d.getVar('PACKAGECONFIG') or "").split()
suffix = ""
if "-native" in d.getVar("PN"):
suffix = "-native"
for p in (("egl", "libegl", "libegl1"),
("opengl", "libgl", "libgl1"),
("glvnd", "libglx",),
("gles", "libgles1", "libglesv1-cm1"),
("gles", "libgles2", "libglesv2-2"),
("gles", "libgles3",),
("opencl", "libopencl",)):
if not p[0] in pkgconfig:
continue
mlprefix = d.getVar("MLPREFIX")
fullp = mlprefix + p[1] + "-mesa" + suffix
mlprefix = d.getVar("MLPREFIX")
pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:])
d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
d.appendVar("RREPLACES:" + fullp, pkgs)
d.appendVar("RPROVIDES:" + fullp, pkgs)
d.appendVar("RCONFLICTS:" + fullp, pkgs)
d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}mesa-megadriver" + suffix)
# For -dev, the first element is both the Debian and original name
fullp = mlprefix + p[1] + "-mesa-dev" + suffix
pkgs = " " + mlprefix + p[1] + "-dev" + suffix
d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
d.appendVar("RREPLACES:" + fullp, pkgs)
d.appendVar("RPROVIDES:" + fullp, pkgs)
d.appendVar("RCONFLICTS:" + fullp, pkgs)
}
python mesa_populate_packages() {
pkgs = ['mesa', 'mesa-dev', 'mesa-dbg']
for pkg in pkgs:
d.setVar("RPROVIDES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
d.setVar("RCONFLICTS:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
d.setVar("RREPLACES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
import re
dri_drivers_root = oe.path.join(d.getVar('PKGD'), d.getVar('libdir'), "dri")
if os.path.isdir(dri_drivers_root):
dri_pkgs = sorted(os.listdir(dri_drivers_root))
lib_name = d.expand("${MLPREFIX}mesa-megadriver")
for p in dri_pkgs:
m = re.match(r'^(.*)_dri\.so$', p)
if m:
pkg_name = " ${MLPREFIX}mesa-driver-%s" % legitimize_package_name(m.group(1))
d.appendVar("RPROVIDES:%s" % lib_name, pkg_name)
d.appendVar("RCONFLICTS:%s" % lib_name, pkg_name)
d.appendVar("RREPLACES:%s" % lib_name, pkg_name)
pipe_drivers_root = os.path.join(d.getVar('libdir'), "gallium-pipe")
do_split_packages(d, pipe_drivers_root, r'^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='')
}
PACKAGESPLITFUNCS =+ "mesa_populate_packages"
PACKAGES_DYNAMIC += "^mesa-driver-.*"
PACKAGES_DYNAMIC:class-native = "^mesa-driver-.*-native"
FILES:mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d"
FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${libdir}/libpowervr_rogue.so ${datadir}/vulkan"
FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*"
FILES:libegl-mesa = "${libdir}/libEGL*.so.* ${datadir}/glvnd/egl_vendor.d"
FILES:libgbm = "${libdir}/libgbm.so.*"
FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*"
FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*"
FILES:libgl-mesa = "${libdir}/libGL.so.*"
FILES:libglx-mesa = "${libdir}/libGLX*.so.*"
FILES:libopencl-mesa = "${libdir}/libMesaOpenCL.so.* ${libdir}/gallium-pipe/*.so ${sysconfdir}/OpenCL/vendors/mesa.icd"
FILES:libglapi = "${libdir}/libglapi.so.*"
FILES:libosmesa = "${libdir}/libOSMesa.so.*"
FILES:libxatracker = "${libdir}/libxatracker.so.*"
FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan ${libdir}/vdpau/*.so"
FILES:libegl-mesa-dev = "${libdir}/libEGL*.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
FILES:libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc"
FILES:libglx-mesa-dev = "${libdir}/libGLX*.*"
FILES:libglapi-dev = "${libdir}/libglapi.*"
FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc"
FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc"
FILES:libgles3-mesa-dev = "${includedir}/GLES3"
FILES:libopencl-mesa-dev = "${libdir}/libMesaOpenCL.so"
FILES:libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir}/pkgconfig/osmesa.pc"
FILES:libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \
${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \
${libdir}/pkgconfig/xatracker.pc"
# catch all to get all the tools and data
FILES:${PN}-tools = "${bindir} ${datadir}"
ALLOW_EMPTY:${PN}-tools = "1"
# Fix upgrade path from mesa to mesa-megadriver
RREPLACES:mesa-megadriver = "mesa"
RCONFLICTS:mesa-megadriver = "mesa"
RPROVIDES:mesa-megadriver = "mesa"

View File

@ -0,0 +1,2 @@
require ${BPN}.inc

View File

@ -0,0 +1,28 @@
From dec8cca59124d7f8796b54902482ceb295a71b51 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 6 Jan 2020 12:44:42 +0100
Subject: [PATCH] meson.build: use 'python3' directly for python
This avoids a dependency on target python (due to meson probing
its configuration).
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 9f91ff2f..2391f89d 100644
--- a/meson.build
+++ b/meson.build
@@ -74,7 +74,7 @@ flags = [
add_project_arguments(cc.get_supported_arguments(flags), language : 'c')
-prog_python = import('python').find_installation('python3')
+prog_python = 'python3'
not_found = dependency('', required: false)
libdrm_dep = dependency('libdrm', version : '>=2.4.50', required: get_option('drm').enabled() or get_option('venus'))

View File

@ -0,0 +1,33 @@
SUMMARY = "VirGL virtual OpenGL renderer"
DESCRIPTION = "Virgil is a research project to investigate the possibility of \
creating a virtual 3D GPU for use inside qemu virtual machines, that allows \
the guest operating system to use the capabilities of the host GPU to \
accelerate 3D rendering."
HOMEPAGE = "https://virgil3d.github.io/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10"
DEPENDS = "libdrm libepoxy virtual/egl virtual/libgbm"
SRCREV = "690680e5f0f952e22424fca1538c1b24457a0868"
SRC_URI = "git://gitlab.freedesktop.org/virgl/virglrenderer.git;branch=main;protocol=https \
file://0001-meson.build-use-python3-directly-for-python.patch \
"
S = "${WORKDIR}/git"
inherit meson pkgconfig features_check
PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'venus', '', d)}"
PACKAGECONFIG[venus] = "-Dvenus=true,-Dvenus=false,vulkan-loader vulkan-headers"
PACKAGECONFIG[va] = "-Dvideo=true,-Dvideo=false,libva"
PACKAGECONFIG[render-server] = "-Drender-server=true,-Drender-server=false"
PACKAGECONFIG[drm-msm-experimental] = "-Ddrm-msm-experimental=true,-Ddrm-msm-experimental=false"
PACKAGECONFIG[minigbm_allocation] = "-Dminigbm_allocation=true,-Dminigbm_allocation=false"
PACKAGECONFIG[venus-validate] = "-Dvenus-validate=true,-Dvenus-validate=false"
PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,libcheck"
BBCLASSEXTEND = "native nativesdk"
REQUIRED_DISTRO_FEATURES = "opengl"

View File

@ -1,42 +0,0 @@
From c79a3fb51718c4286b74edf0f758df9219994844 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Wed, 14 Sep 2022 09:07:10 +0200
Subject: [PATCH] wayland-info: Fix build without libdrm
wayland-info can optionally use libdrm to provide a description of the
dmabuf format modifiers.
When not using libdrm however, the build fails because "dev_t" is not
defined.
The definition of "dev_t" comes from <sys/types.h> which is included
from <libdrm.h>, which is not included without libdrm support, hence the
build failure.
Simply include <sys/types.h> unconditionally to make sure "dev_t" is
defined regardless of libdrm support, to fix the build failure.
Closes: https://gitlab.freedesktop.org/wayland/wayland-utils/-/issues/6
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Fixes: 240cb739 - "Add support for linux_dmabuf version 4"
Reviewed-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>
Upstream-Status: Backport [https://gitlab.freedesktop.org/wayland/wayland-utils/-/commit/baa65ba9f62e6a05c32b9202b524158a21f24245]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
wayland-info/wayland-info.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/wayland-info/wayland-info.c b/wayland-info/wayland-info.c
index 53cd04b..98ff205 100644
--- a/wayland-info/wayland-info.c
+++ b/wayland-info/wayland-info.c
@@ -34,6 +34,7 @@
#include <ctype.h>
#include <unistd.h>
#include <sys/mman.h>
+#include <sys/types.h>
#include <wayland-client.h>
#if HAVE_HUMAN_FORMAT_MODIFIER

View File

@ -1,21 +0,0 @@
This finds our outer git tree and that version information breaks
determinism of this recipe. Disable it.
RP 2020/2/6
Upstream-Status: Pending
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Index: libinput-1.14.3/meson.build
===================================================================
--- libinput-1.14.3.orig/meson.build
+++ libinput-1.14.3/meson.build
@@ -387,7 +387,7 @@ pkgconfig.generate(
libraries : lib_libinput
)
-git_version_h = vcs_tag(command : ['git', 'describe'],
+git_version_h = vcs_tag(command : ['false'],
fallback : 'unknown',
input : 'src/libinput-git-version.h.in',
output :'libinput-git-version.h')

View File

@ -10,13 +10,13 @@ SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=bab4ac7dc1c10bc0fb037dc76c46ef8a"
DEPENDS = "libevdev udev mtdev libcheck"
DEPENDS = "libevdev udev mtdev"
SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \
SRC_URI = "git://gitlab.freedesktop.org/libinput/libinput.git;protocol=https;branch=main \
file://run-ptest \
file://determinism.patch \
"
SRC_URI[sha256sum] = "ff33a570b5a936c81e6c08389a8581c2665311d026ce3d225c88d09c49f9b440"
SRCREV = "3fd38d89276b679ac3565efd7c2150fd047902cb"
S = "${WORKDIR}/git"
UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
@ -30,15 +30,15 @@ do_configure:append() {
fi
}
PACKAGECONFIG ??= ""
PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom"
PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3"
PACKAGECONFIG[tests] = "-Dtests=true -Dinstall-tests=true,-Dtests=false -Dinstall-tests=false,libcheck"
UDEVDIR = "`pkg-config --variable=udevdir udev`"
EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \
-Ddocumentation=false \
${@bb.utils.contains('PTEST_ENABLED', '1', '-Dtests=true -Dinstall-tests=true', '-Dtests=false -Dinstall-tests=false', d)} \
-Dzshcompletiondir=no"
# package name changed in 1.8.1 upgrade: make sure package upgrades work

View File

@ -10,9 +10,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${PV}/downloads/wayland-protocols-${PV}.tar.xz"
SRC_URI[sha256sum] = "9046f10a425d4e2a00965a03acfb6b3fb575a56503ac72c2b86821c69653375c"
SRC_URI[sha256sum] = "94f0c50b090d6e61a03f62048467b19abbe851be4e11ae7b36f65f8b98c3963a"
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tags"
inherit meson pkgconfig allarch

View File

@ -9,13 +9,14 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=548a66038a77415e1df51118625e832f \
"
SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
file://0001-wayland-info-Fix-build-without-libdrm.patch \
"
SRC_URI[sha256sum] = "9e685863025b4feade36d53bbc8e31b43e26498be743dea84c7a84912959410a"
SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz"
SRC_URI[sha256sum] = "d9278c22554586881802540751bcc42569262bf80cd9ac9b0fd12ff4bd09a9e4"
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/tags"
inherit meson pkgconfig
DEPENDS += "wayland wayland-native wayland-protocols"
PACKAGECONFIG ??= "drm"
PACKAGECONFIG[drm] = "-Ddrm=enabled,-Ddrm=disabled,libdrm"

View File

@ -0,0 +1,46 @@
From ff8ecbe8891d592e645927659318720f9e190054 Mon Sep 17 00:00:00 2001
From: Andreas Cord-Landwehr <cordlandwehr@kde.org>
Date: Sun, 6 Feb 2022 17:23:46 +0100
Subject: [PATCH] Consider pkgconfig sysroot for pkgdatadir
For libs/cflags this is done automatically, but not for manually accessed
variables. This matches what wayland-protocols does.
Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/272]
---
src/meson.build | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/meson.build b/src/meson.build
index a8a1d2b..721e151 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -65,7 +65,7 @@ if get_option('scanner')
version: meson.project_version(),
variables: [
'datarootdir=' + join_paths('${prefix}', get_option('datadir')),
- 'pkgdatadir=' + join_paths('${datarootdir}', meson.project_name()),
+ 'pkgdatadir=' + join_paths('${pc_sysrootdir}${datarootdir}', meson.project_name()),
'bindir=' + join_paths('${prefix}', get_option('bindir')),
'wayland_scanner=${bindir}/wayland-scanner'
],
@@ -211,7 +211,7 @@ if get_option('libraries')
filebase: 'wayland-server',
variables: [
'datarootdir=' + join_paths('${prefix}', get_option('datadir')),
- 'pkgdatadir=' + join_paths('${datarootdir}', meson.project_name())
+ 'pkgdatadir=' + join_paths('${pc_sysrootdir}${datarootdir}', meson.project_name())
]
)
@@ -250,7 +250,7 @@ if get_option('libraries')
filebase: 'wayland-client',
variables: [
'datarootdir=' + join_paths('${prefix}', get_option('datadir')),
- 'pkgdatadir=' + join_paths('${datarootdir}', meson.project_name())
+ 'pkgdatadir=' + join_paths('${pc_sysrootdir}${datarootdir}', meson.project_name())
]
)
--
2.37.2

View File

@ -15,10 +15,11 @@ DEPENDS = "expat libffi wayland-native"
SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
file://run-ptest \
file://0001-build-Fix-strndup-detection-on-MinGW.patch \
file://0002-Consider-pkgconfig-sysroot-for-pkgdatadir.patch \
"
SRC_URI[sha256sum] = "6dc64d7fc16837a693a51cfdb2e568db538bfdc9f457d4656285bb9594ef11ac"
SRC_URI[sha256sum] = "1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842"
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/tags"
UPSTREAM_CHECK_REGEX = "wayland-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
inherit meson pkgconfig ptest

View File

@ -9,15 +9,17 @@ SRC_URI = "file://init \
file://weston.ini \
file://weston.service \
file://weston.socket \
file://weston-socket.sh \
file://weston-autologin \
file://weston-start"
S = "${WORKDIR}"
PACKAGECONFIG ??= ""
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)}"
PACKAGECONFIG:append:qemuriscv64 = " use-pixman"
PACKAGECONFIG:append:qemuppc64 = " use-pixman"
PACKAGECONFIG[xwayland] = ",,"
PACKAGECONFIG[no-idle-timeout] = ",,"
PACKAGECONFIG[use-pixman] = ",,"
@ -25,32 +27,38 @@ DEFAULTBACKEND ??= ""
DEFAULTBACKEND:qemuall ?= "drm"
do_install() {
if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then
# Install weston-start script
if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then
install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start
sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start
sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start
install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}/${sysconfdir}/init.d/weston
fi
fi
# Install Weston systemd service
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service
install -D -p -m0644 ${WORKDIR}/weston.socket ${D}${systemd_system_unitdir}/weston.socket
install -D -p -m0644 ${WORKDIR}/weston-socket.sh ${D}${sysconfdir}/profile.d/weston-socket.sh
sed -i -e s:/etc:${sysconfdir}:g \
-e s:/usr/bin:${bindir}:g \
-e s:/var:${localstatedir}:g \
${D}${systemd_system_unitdir}/weston.service
fi
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
install -D -p -m0644 ${WORKDIR}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin
fi
install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini
install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston
# Install Weston systemd service and accompanying udev rule
install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service
install -D -p -m0644 ${WORKDIR}/weston.socket ${D}${systemd_system_unitdir}/weston.socket
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
install -D -p -m0644 ${WORKDIR}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin
fi
sed -i -e s:/etc:${sysconfdir}:g \
-e s:/usr/bin:${bindir}:g \
-e s:/var:${localstatedir}:g \
${D}${systemd_system_unitdir}/weston.service
# Install weston-start script
install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start
sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start
sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start
if [ -n "${DEFAULTBACKEND}" ]; then
if [ -n "${DEFAULTBACKEND}" ]; then
sed -i -e "/^\[core\]/a backend=${DEFAULTBACKEND}-backend.so" ${D}${sysconfdir}/xdg/weston/weston.ini
fi
if [ "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'yes', 'no', d)}" = "yes" ]; then
if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
sed -i -e "/^\[core\]/a xwayland=true" ${D}${sysconfdir}/xdg/weston/weston.ini
fi
@ -82,6 +90,7 @@ INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
FILES:${PN} += "\
${sysconfdir}/xdg/weston/weston.ini \
${sysconfdir}/profile.d/weston-socket.sh \
${systemd_system_unitdir}/weston.service \
${systemd_system_unitdir}/weston.socket \
${sysconfdir}/default/weston \
@ -92,6 +101,6 @@ FILES:${PN} += "\
CONFFILES:${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston"
SYSTEMD_SERVICE:${PN} = "weston.service weston.socket"
USERADD_PARAM:${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input weston"
GROUPADD_PARAM:${PN} = "-r wayland"
USERADD_PARAM:${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input,render,wayland weston"
GROUPADD_PARAM:${PN} = "-r wayland; -r render"

View File

@ -30,7 +30,7 @@ done
case "$1" in
start)
. /etc/profile
export HOME=ROOTHOME
export HOME=ROOTHOME
WESTON_USER=weston weston-start $OPTARGS &
;;

View File

@ -0,0 +1,20 @@
#!/bin/sh
# set weston variables for use with global weston socket
global_socket="/run/wayland-0"
if [ -e "$global_socket" ]; then
weston_group=$(stat -c "%G" "$global_socket")
if [ "$(id -u)" = "0" ]; then
export WAYLAND_DISPLAY="$global_socket"
else
case "$(groups "$USER")" in
*"$weston_group"*)
export WAYLAND_DISPLAY="$global_socket"
;;
*)
;;
esac
fi
unset weston_group
fi
unset global_socket

View File

@ -0,0 +1,48 @@
From 2b53236ac637dfa7fb0f438f7391a73f6ef92a06 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 14 Dec 2023 09:13:54 -0800
Subject: [PATCH] libweston,tools: Include libgen.h for basename signature
Latest musl has removed the declaration from string.h [1] as it only
implements POSIX version alone and string.h in glibc implements GNU
version of basename. This now results in compile errors on musl.
This might be a warning with older compilers but it is error with
Clang-17+ as it treats -Wimplicit-function-declaration as error
[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1420]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
libweston/backend-drm/libbacklight.c | 1 +
tools/zunitc/src/zunitc_impl.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/libweston/backend-drm/libbacklight.c b/libweston/backend-drm/libbacklight.c
index ca7f2d68..74690fa7 100644
--- a/libweston/backend-drm/libbacklight.c
+++ b/libweston/backend-drm/libbacklight.c
@@ -41,6 +41,7 @@
#include <drm.h>
#include <fcntl.h>
#include <malloc.h>
+#include <libgen.h>
#include <string.h>
#include <errno.h>
diff --git a/tools/zunitc/src/zunitc_impl.c b/tools/zunitc/src/zunitc_impl.c
index 18f03015..9b460fa0 100644
--- a/tools/zunitc/src/zunitc_impl.c
+++ b/tools/zunitc/src/zunitc_impl.c
@@ -27,6 +27,7 @@
#include <errno.h>
#include <fcntl.h>
+#include <libgen.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stdio.h>
--
2.43.0

View File

@ -7,15 +7,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
"
SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
file://0001-libweston-tools-Include-libgen.h-for-basename-signat.patch \
file://weston.png \
file://weston.desktop \
file://xwayland.weston-start \
file://systemd-notify.weston-start \
"
SRC_URI[sha256sum] = "89646ca0d9f8d413c2767e5c3828eaa3fa149c2a105b3729a6894fa7cf1549e7"
SRC_URI[sha256sum] = "52ff1d4aa2394a2e416c85a338b627ce97fa71d43eb762fd4aaf145d36fc795a"
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/weston/-/tags"
UPSTREAM_CHECK_REGEX = "weston-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
inherit meson pkgconfig useradd
@ -37,12 +38,13 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayla
${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \
${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'sysvinit', 'launcher-libseat', '', d)} \
image-jpeg \
screenshare \
shell-desktop \
shell-fullscreen \
shell-ivi"
shell-ivi \
shell-kiosk \
"
# Can be 'damage', 'im', 'egl', 'shm', 'touch', 'dmabuf-feedback', 'dmabuf-v4l', 'dmabuf-egl' or 'all'
SIMPLECLIENTS ?= "all"
@ -51,19 +53,15 @@ SIMPLECLIENTS ?= "all"
# Compositor choices
#
# Weston on KMS
PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev virtual/egl virtual/libgles2 virtual/libgbm mtdev"
PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev seatd virtual/egl virtual/libgles2 virtual/libgbm mtdev"
# Weston on Wayland (nested Weston)
PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/egl virtual/libgles2"
# Weston on X11
PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libxcb libxcb libxcursor cairo"
PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libxcb libxcursor"
# Headless Weston
PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
# Weston on framebuffer
PACKAGECONFIG[fbdev] = "-Ddeprecated-backend-fbdev=true,-Ddeprecated-backend-fbdev=false,udev mtdev"
# Weston on RDP
PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp"
# weston-launch
PACKAGECONFIG[launch] = "-Ddeprecated-weston-launch=true,-Ddeprecated-weston-launch=false,drm"
# VA-API desktop recorder
PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva"
# Weston with EGL support
@ -72,12 +70,12 @@ PACKAGECONFIG[egl] = "-Drenderer-gl=true,-Drenderer-gl=false,virtual/egl"
PACKAGECONFIG[lcms] = "-Dcolor-management-lcms=true,-Dcolor-management-lcms=false,lcms"
# Weston with webp support
PACKAGECONFIG[webp] = "-Dimage-webp=true,-Dimage-webp=false,libwebp"
# Weston with systemd-login support
PACKAGECONFIG[systemd] = "-Dsystemd=true -Dlauncher-logind=true,-Dsystemd=false -Dlauncher-logind=false,systemd dbus"
# Weston with systemd support
PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd dbus"
# Weston with Xwayland support (requires X11 and Wayland)
PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false"
PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcb libxcursor xcb-util-cursor xwayland"
# colord CMS support
PACKAGECONFIG[colord] = "-Dcolor-management-colord=true,-Dcolor-management-colord=false,colord"
PACKAGECONFIG[colord] = "-Ddeprecated-color-management-colord=true,-Ddeprecated-color-management-colord=false,colord"
# Clients support
PACKAGECONFIG[clients] = "-Dsimple-clients=${SIMPLECLIENTS} -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
# Virtual remote output with GStreamer on DRM backend
@ -90,10 +88,15 @@ PACKAGECONFIG[shell-desktop] = "-Dshell-desktop=true,-Dshell-desktop=false"
PACKAGECONFIG[shell-fullscreen] = "-Dshell-fullscreen=true,-Dshell-fullscreen=false"
# In-Vehicle Infotainment (IVI) shell
PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false"
# Kiosk shell
PACKAGECONFIG[shell-kiosk] = "-Dshell-kiosk=true,-Dshell-kiosk=false"
# JPEG image loading support
PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg"
# support libseat based launch
PACKAGECONFIG[launcher-libseat] = "-Dlauncher-libseat=true,-Dlauncher-libseat=false,seatd"
# screencasting via PipeWire
PACKAGECONFIG[pipewire] = "-Dbackend-pipewire=true,-Dbackend-pipewire=false,pipewire"
# VNC remote screensharing
PACKAGECONFIG[vnc] = "-Dbackend-vnc=true,-Dbackend-vnc=false,neatvnc"
do_install:append() {
# Weston doesn't need the .la files to load modules, so wipe them
@ -125,7 +128,7 @@ PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland',
libweston-${WESTON_MAJOR_VERSION} ${PN}-examples"
FILES:${PN}-dev += "${libdir}/${BPN}/libexec_weston.so"
FILES:${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}"
FILES:${PN} = "${sysconfdir} ${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}"
FILES:libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so"
SUMMARY:libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'."

View File

@ -1,27 +0,0 @@
From e1a12b73c25d1ad0f267b22ac5d799bc1fbd0fa4 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 30 May 2017 14:55:49 +0300
Subject: [PATCH] Don't use AC_CANONICAL_HOST
This won't work when building allarch (and is only used to find out if
target is windows).
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
configure.ac | 1 -
1 file changed, 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 6ddc49b..39752bb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,6 @@ AC_PREREQ(2.53)
AC_INIT([adwaita-icon-theme], [43],
[http://bugzilla.gnome.org/enter_bug.cgi?product=adwaita-icon-theme])
-AC_CANONICAL_HOST
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([index.theme.in])

View File

@ -1,40 +0,0 @@
SUMMARY = "GTK+ icon theme"
DESCRIPTION = "The Adwaita icon theme is the default icon theme of the GNOME desktop \
This package package contains an icon theme for Gtk+ 3 applications."
HOMEPAGE = "https://gitlab.gnome.org/GNOME/adwaita-icon-theme"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/adwaita-icon-theme/issues"
SECTION = "x11/gnome"
LICENSE = "LGPL-3.0-only | CC-BY-SA-3.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c \
file://COPYING_CCBYSA3;md5=96143d33de3a79321b1006c4e8ed07e7 \
file://COPYING_LGPL;md5=e6a600fd5e1d9cbde2d983680233ad02"
inherit allarch autotools pkgconfig gettext gtk-icon-cache gnomebase
SRC_URI += " file://0001-Don-t-use-AC_CANONICAL_HOST.patch"
SRC_URI[archive.sha256sum] = "2e3ac77d32a6aa5554155df37e8f0a0dd54fc5a65fd721e88d505f970da32ec6"
DEPENDS += "librsvg-native"
PACKAGES = "${PN}-cursors ${PN}-symbolic-hires ${PN}-symbolic ${PN}-hires ${PN}"
RREPLACES:${PN} = "gnome-icon-theme"
RCONFLICTS:${PN} = "gnome-icon-theme"
RPROVIDES:${PN} = "gnome-icon-theme"
FILES:${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/"
FILES:${PN}-symbolic-hires = "${prefix}/share/icons/Adwaita/96x96/*/*.symbolic.png \
${prefix}/share/icons/Adwaita/64x64/*/*.symbolic.png \
${prefix}/share/icons/Adwaita/48x48/*/*.symbolic.png \
${prefix}/share/icons/Adwaita/32x32/*/*.symbolic.png"
FILES:${PN}-symbolic = "${prefix}/share/icons/Adwaita/16x16/*/*.symbolic.png \
${prefix}/share/icons/Adwaita/24x24/*/*.symbolic.png \
${prefix}/share/icons/Adwaita/scalable/*/*-symbolic*.svg"
FILES:${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/ \
${prefix}/share/icons/Adwaita/512x512/"
FILES:${PN} = "${prefix}/share/icons/Adwaita/ \
${prefix}/share/pkgconfig/adwaita-icon-theme.pc"
BBCLASSEXTEND = "native nativesdk"

View File

@ -0,0 +1,30 @@
SUMMARY = "GTK+ icon theme"
DESCRIPTION = "The Adwaita icon theme is the default icon theme of the GNOME desktop \
This package package contains an icon theme for Gtk+ 3 applications."
HOMEPAGE = "https://gitlab.gnome.org/GNOME/adwaita-icon-theme"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/adwaita-icon-theme/issues"
SECTION = "x11/gnome"
LICENSE = "LGPL-3.0-only | CC-BY-SA-3.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c \
file://COPYING_CCBYSA3;md5=96143d33de3a79321b1006c4e8ed07e7 \
file://COPYING_LGPL;md5=e6a600fd5e1d9cbde2d983680233ad02"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase allarch gtk-icon-cache
SRC_URI[archive.sha256sum] = "4bcb539bd75d64da385d6fa08cbaa9ddeaceb6ac8e82b85ba6c41117bf5ba64e"
DEPENDS += "librsvg-native"
PACKAGES =+ "${PN}-cursors ${PN}-symbolic"
RREPLACES:${PN} = "gnome-icon-theme"
RCONFLICTS:${PN} = "gnome-icon-theme"
RPROVIDES:${PN} = "gnome-icon-theme"
FILES:${PN}-cursors = "${datadir}/icons/Adwaita/cursors/"
FILES:${PN}-symbolic = "${datadir}/icons/Adwaita/symbolic*/"
FILES:${PN}-doc += "${datadir}/licenses/adwaita-icon-theme"
BBCLASSEXTEND = "native nativesdk"

View File

@ -3,12 +3,14 @@ LICENSE="GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = " \
accountsservice \
dconf-native \
gtk+3 \
accountsservice \
keyutils \
libcanberra \
libpam \
libgudev \
libpam \
xserver-xorg \
"
REQUIRED_DISTRO_FEATURES = "x11 systemd pam polkit gobject-introspection-data"
@ -16,9 +18,9 @@ GIR_MESON_OPTION = ""
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gobject-introspection gettext systemd useradd itstool gnome-help features_check
SRC_URI[archive.sha256sum] = "a328ac976937bec179971ff07829a1246b98ce724181c128ae32a0ba47ad3855"
inherit gnomebase gsettings pkgconfig gobject-introspection gettext systemd useradd itstool gnome-help features_check
SRC_URI = "https://download.gnome.org/sources/gdm/${@oe.utils.trim_version("${PV}", 1)}/gdm-${PV}.tar.xz"
SRC_URI[sha256sum] = "6572578c05e3c6569d6ed269f7de2aaf3a035657654586d8243907bb7a6ffa85"
EXTRA_OEMESON = " \
-Dplymouth=disabled \
@ -26,6 +28,13 @@ EXTRA_OEMESON = " \
-Dpam-mod-dir=${base_libdir}/security \
"
do_install:prepend() {
sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-worker-enum-types.c
sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-worker-enum-types.h
sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-enum-types.c
sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-enum-types.h
}
do_install:append() {
rm -rf ${D}/run ${D}${localstatedir}/run
}
@ -55,4 +64,3 @@ FILES:${PN} += " \
"
RDEPENDS:${PN} += "${PN}-base"

View File

@ -1,4 +1,4 @@
From 11a6b636ed27eb695b15a1ad6c00f1d1aa02735a Mon Sep 17 00:00:00 2001
From 8a78a7996b01aba21377ceb7547da673fd30a391 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Wed, 27 Oct 2021 20:18:47 +0200
Subject: [PATCH] Support cross builds a bit better
@ -12,16 +12,15 @@ Content-Transfer-Encoding: 8bit
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/690]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
meson.build | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index ba81cd1..0e0b28e 100644
index c9b26d6..3058e8c 100644
--- a/meson.build
+++ b/meson.build
@@ -255,6 +255,7 @@ release builds of SpiderMonkey. Try configuring SpiderMonkey with
@@ -262,6 +262,7 @@ release builds of SpiderMonkey. Try configuring SpiderMonkey with
--disable-debug.''')
endif
@ -29,7 +28,7 @@ index ba81cd1..0e0b28e 100644
# Check if a minimal SpiderMonkey program compiles, links, and runs. If not,
# it's most likely the case that SpiderMonkey was configured incorrectly, for
# example by building mozglue as a shared library.
@@ -285,6 +286,7 @@ elif minimal_program.returncode() != 0
@@ -292,6 +293,7 @@ elif minimal_program.returncode() != 0
failed to execute. Most likely you should build it with a different
configuration.''' + recommended_configuration)
endif
@ -37,7 +36,7 @@ index ba81cd1..0e0b28e 100644
have_printf_alternative_int = cc.compiles('''
#include <stdio.h>
@@ -683,7 +685,7 @@ subdir('installed-tests')
@@ -690,7 +692,7 @@ subdir('installed-tests')
# Note: The test program in test/ needs to be ported
# to Windows before we can build it on Windows.

View File

@ -1,13 +1,12 @@
From d46af224b10d9ff9f1e88f9381fd046ad554e373 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
From 29221ae42e424c6100b8c313d2b61801430c872d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller=20installed=5Ftests=20is=20false?=
<schnitzeltony@gmail.com>
Date: Wed, 27 Oct 2021 20:04:02 +0200
Subject: [PATCH] meson.build: Do not add dir installed-tests when
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
installed_tests is false
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@ -15,16 +14,15 @@ Content-Transfer-Encoding: 8bit
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/690]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
meson.build | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 0e0b28e..321b243 100644
index 3058e8c..06cf8da 100644
--- a/meson.build
+++ b/meson.build
@@ -681,7 +681,9 @@ endif
@@ -688,7 +688,9 @@ endif
### Tests and test setups ######################################################

View File

@ -6,10 +6,9 @@ GNOMEBASEBUILDCLASS = "meson"
DEPENDS = "mozjs-115 cairo"
inherit gnomebase gsettings gobject-introspection vala gettext features_check upstream-version-is-even pkgconfig
SRC_URI[archive.sha256sum] = "70db967ae98bde69b38475ef60bb9a3302990fa615baf46820194b302a29dbf8"
inherit gnomebase gsettings gobject-introspection gettext features_check upstream-version-is-even pkgconfig
SRC_URI[archive.sha256sum] = "0f78cd3f0e8eb446517d665e4fde1d66302b0c283bbe87b78e9cbfd4d86ed576"
SRC_URI += " \
file://0001-Support-cross-builds-a-bit-better.patch \
file://0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch \

View File

@ -8,7 +8,7 @@ GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext allarch
SRC_URI[archive.sha256sum] = "cee0e688fbae5ef7a75f335ada2d10779e08ebca9445f1586de32c5a9b6dee2d"
SRC_URI[archive.sha256sum] = "4ddd3ac439a4a067876805921bb75f4d3c8b85a218d47c276dddde8928443c2e"
FILES:${PN} += " \

View File

@ -24,9 +24,9 @@ GTKIC_VERSION = "4"
inherit features_check gnomebase gtk-icon-cache gtk-doc gobject-introspection
REQUIRED_DISTRO_FEATURES = "x11"
REQUIRED_DISTRO_FEATURES = "x11 opengl"
SRC_URI[archive.sha256sum] = "1d6fcf1cdb6cc9923ab334a2c0bc37a2c1bba9d18de153d484eedc04f3c0bcdc"
SRC_URI[archive.sha256sum] = "13fe1e75f317acdbdf5e80c9029d2e0632d60a9ccf72a43ae36eb7545021fbef"
BT_PULSE_PACKS = " \
pulseaudio-lib-bluez5-util \

View File

@ -1,55 +1,47 @@
From ba8aebe1259ae3f7f5a4827e5a47bb95c568b218 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Tue, 21 May 2019 16:07:46 +0200
From 1a48df2a8da44410bbd767c2420d363f6180c79a Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Mon, 18 Mar 2024 05:50:21 +0100
Subject: [PATCH] Add meson option to pass sysroot
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We need to pass this to meson to help it finding gdesktop-enums.h:
| panels/background/meson.build:38:0: ERROR: File /usr/include/gsettings-desktop-schemas/gdesktop-enums.h does not exist.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
meson_options.txt | 1 +
panels/background/meson.build | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
panels/system/meson.build | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/meson_options.txt b/meson_options.txt
index 8ee7b6e..7e6adc6 100644
index e53d6e3..8fae4c8 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,3 +1,4 @@
+option('oe_sysroot', type: 'string', value: '', description: 'Directory for OE-sysroot')
option('deprecated-declarations', type: 'feature', value: 'disabled', description: 'build with deprecated declaration warnings')
option('documentation', type: 'boolean', value: false, description: 'build documentation')
option('ibus', type: 'boolean', value: true, description: 'build with IBus support')
option('privileged_group', type: 'string', value: 'wheel', description: 'name of group that has elevated permissions')
diff --git a/panels/background/meson.build b/panels/background/meson.build
index 9bf5435..96f2ac0 100644
index 6ced050..df1f808 100644
--- a/panels/background/meson.build
+++ b/panels/background/meson.build
@@ -19,7 +19,7 @@ common_sources = []
@@ -24,7 +24,7 @@ common_sources += gnome.mkenums_simple(
enums = 'gdesktop-enums-types'
enums_header = files(
- gsettings_desktop_dep.get_variable(pkgconfig: 'prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h',
+ get_option('oe_sysroot') + gsettings_desktop_dep.get_pkgconfig_variable('prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h',
'cc-background-item.h'
- gsettings_desktop_dep.get_variable(pkgconfig: 'prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h'
+ get_option('oe_sysroot') + gsettings_desktop_dep.get_variable(pkgconfig: 'prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h'
)
diff --git a/panels/datetime/meson.build b/panels/datetime/meson.build
index 8cb3b63..1665632 100644
--- a/panels/datetime/meson.build
+++ b/panels/datetime/meson.build
@@ -37,7 +37,7 @@ sources = files(
common_sources += gnome.mkenums(
diff --git a/panels/system/meson.build b/panels/system/meson.build
index 4fee822..979332a 100644
--- a/panels/system/meson.build
+++ b/panels/system/meson.build
@@ -73,7 +73,7 @@ sources += gnome.compile_resources(
)
enums = 'gdesktop-enums-types'
enums_header = files(
- gsettings_desktop_dep.get_variable(pkgconfig: 'prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h',
+ get_option('oe_sysroot') + gsettings_desktop_dep.get_pkgconfig_variable('prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h',
'cc-datetime-panel.h'
+ get_option('oe_sysroot') + gsettings_desktop_dep.get_variable(pkgconfig: 'prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h',
'datetime/cc-datetime-page.h'
)

View File

@ -1,6 +1,6 @@
From 2b1c7399ee9f0e8c1eefbb5f5cda23afac3028f2 Mon Sep 17 00:00:00 2001
From 2f2469b859ddc78f989e365aaffccbabc8bd465f Mon Sep 17 00:00:00 2001
From: Bruce Leidl <bruce@subgraph.com>
Date: Fri, 23 Sep 2022 10:34:36 -0400
Date: Wed, 3 Apr 2024 10:09:32 -0400
Subject: [PATCH] Don't update icon cache
---
@ -8,10 +8,10 @@ Subject: [PATCH] Don't update icon cache
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 6b31d76..11d1b9e 100644
index 99c4228..c1c1d4a 100644
--- a/meson.build
+++ b/meson.build
@@ -339,7 +339,7 @@ endif
@@ -348,7 +348,7 @@ endif
gnome.post_install(
glib_compile_schemas: true,

View File

@ -1,23 +1,32 @@
From 2f5368dd4eef27ee3afaed761932601393e4875e Mon Sep 17 00:00:00 2001
From a134a4b633953eed419b1f63ff2c5df9b19c5981 Mon Sep 17 00:00:00 2001
From: Bruce Leidl <bruce@subgraph.com>
Date: Thu, 22 Sep 2022 20:31:50 -0400
Subject: [PATCH] Remove panels for Citadel
Date: Wed, 3 Apr 2024 11:26:34 -0400
Subject: [PATCH] Remove panels for citadel
---
meson.build | 25 -----------
panels/meson.build | 4 --
panels/system/cc-system-panel.c | 72 --------------------------------
panels/system/cc-system-panel.ui | 62 +--------------------------
panels/system/meson.build | 36 ----------------
shell/cc-panel-list.c | 4 --
shell/cc-panel-loader.c | 9 ----
tests/meson.build | 3 --
8 files changed, 1 insertion(+), 214 deletions(-)
diff --git a/meson.build b/meson.build
index 6b31d76..d997ed2 100644
index c1c1d4a..5134a63 100644
--- a/meson.build
+++ b/meson.build
@@ -172,7 +172,6 @@ gnome_desktop_dep = dependency('gnome-desktop-4')
@@ -184,7 +184,6 @@ gnome_desktop_dep = dependency('gnome-desktop-4')
gnome_bg_dep = dependency('gnome-bg-4')
gnome_rr_dep = dependency('gnome-rr-4')
gnome_settings_dep = dependency('gnome-settings-daemon', version: '>= 41.0')
-goa_dep = dependency('goa-1.0', version: goa_req_version)
gsettings_desktop_dep = dependency('gsettings-desktop-schemas', version: '>= 42.alpha')
gsettings_desktop_dep = dependency('gsettings-desktop-schemas', version: '>= 46.beta')
libxml_dep = dependency('libxml-2.0')
pulse_dep = dependency('libpulse', version: pulse_req_version)
@@ -206,30 +205,6 @@ foreach polkit_file: polkit_files
@@ -218,30 +217,6 @@ foreach polkit_file: polkit_files
assert(r.returncode() == 0, 'ITS support missing from polkit, please upgrade or contact your distribution')
endforeach
@ -49,21 +58,18 @@ index 6b31d76..d997ed2 100644
enable_ibus = get_option('ibus')
if enable_ibus
diff --git a/panels/meson.build b/panels/meson.build
index 502fa3b..d8b2e25 100644
index 3067635..6c1d9d9 100644
--- a/panels/meson.build
+++ b/panels/meson.build
@@ -1,28 +1,21 @@
@@ -1,7 +1,6 @@
subdir('common')
panels = [
- 'applications',
'background',
'color',
'datetime',
- 'default-apps',
'display',
'info-overview',
'keyboard',
@@ -9,12 +8,9 @@ panels = [
'mouse',
'multitasking',
'notifications',
@ -71,53 +77,312 @@ index 502fa3b..d8b2e25 100644
'power',
- 'printers',
'privacy',
'region',
- 'removable-media',
'search',
- 'sharing',
'sound',
'system',
'universal-access',
- 'user-accounts',
'wwan',
]
diff --git a/panels/system/cc-system-panel.c b/panels/system/cc-system-panel.c
index 3574100..a509574 100644
--- a/panels/system/cc-system-panel.c
+++ b/panels/system/cc-system-panel.c
@@ -30,9 +30,6 @@
#include "about/cc-about-page.h"
#include "datetime/cc-datetime-page.h"
#include "region/cc-region-page.h"
-#include "remote-desktop/cc-remote-desktop-page.h"
-#include "remote-login/cc-remote-login-page.h"
-#include "users/cc-users-page.h"
struct _CcSystemPanel
{
@@ -40,7 +37,6 @@ struct _CcSystemPanel
AdwNavigationView *navigation;
- GtkWidget *remote_login_dialog;
AdwNavigationPage *software_updates_group;
};
@@ -68,65 +64,6 @@ gnome_software_allows_updates (void)
return g_settings_get_boolean (settings, "allow-updates");
}
-static gboolean
-gnome_software_exists (void)
-{
- g_autofree gchar *path = g_find_program_in_path ("gnome-software");
- return path != NULL;
-}
-
-static gboolean
-gpk_update_viewer_exists (void)
-{
- g_autofree gchar *path = g_find_program_in_path ("gpk-update-viewer");
- return path != NULL;
-}
-
-static gboolean
-show_software_updates_group (CcSystemPanel *self)
-{
- return (gnome_software_exists () && gnome_software_allows_updates ()) ||
- gpk_update_viewer_exists ();
-}
-
-static void
-cc_system_page_open_software_update (CcSystemPanel *self)
-{
- g_autoptr(GError) error = NULL;
- gboolean ret;
- char *argv[3];
-
- if (gnome_software_exists ())
- {
- argv[0] = "gnome-software";
- argv[1] = "--mode=updates";
- argv[2] = NULL;
- }
- else
- {
- argv[0] = "gpk-update-viewer";
- argv[1] = NULL;
- }
-
- ret = g_spawn_async (NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &error);
- if (!ret)
- g_warning ("Failed to spawn %s: %s", argv[0], error->message);
-}
-
-static void
-on_secure_shell_row_clicked (CcSystemPanel *self)
-{
- if (self->remote_login_dialog == NULL) {
- GtkWidget *parent = cc_shell_get_toplevel (cc_panel_get_shell (CC_PANEL (self)));
-
- self->remote_login_dialog = g_object_new (CC_TYPE_REMOTE_LOGIN_PAGE, NULL);
-
- gtk_window_set_transient_for (GTK_WINDOW (self->remote_login_dialog),
- GTK_WINDOW (parent));
- }
-
- gtk_window_present (GTK_WINDOW (self->remote_login_dialog));
-}
static void
on_subpage_set (CcSystemPanel *self)
@@ -151,17 +88,10 @@ cc_system_panel_class_init (CcSystemPanelClass *klass)
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/system/cc-system-panel.ui");
gtk_widget_class_bind_template_child (widget_class, CcSystemPanel, navigation);
- gtk_widget_class_bind_template_child (widget_class, CcSystemPanel, software_updates_group);
-
- gtk_widget_class_bind_template_callback (widget_class, cc_system_page_open_software_update);
- gtk_widget_class_bind_template_callback (widget_class, on_secure_shell_row_clicked);
g_type_ensure (CC_TYPE_ABOUT_PAGE);
g_type_ensure (CC_TYPE_DATE_TIME_PAGE);
g_type_ensure (CC_TYPE_REGION_PAGE);
- g_type_ensure (CC_TYPE_REMOTE_DESKTOP_PAGE);
- g_type_ensure (CC_TYPE_REMOTE_LOGIN_PAGE);
- g_type_ensure (CC_TYPE_USERS_PAGE);
}
static void
@@ -170,7 +100,5 @@ cc_system_panel_init (CcSystemPanel *self)
g_resources_register (cc_system_get_resource ());
gtk_widget_init_template (GTK_WIDGET (self));
- gtk_widget_set_visible (GTK_WIDGET (self->software_updates_group), show_software_updates_group (self));
-
g_signal_connect_object (self, "notify::subpage", G_CALLBACK (on_subpage_set), self, G_CONNECT_SWAPPED);
}
diff --git a/panels/system/cc-system-panel.ui b/panels/system/cc-system-panel.ui
index 5c05149..e13de91 100644
--- a/panels/system/cc-system-panel.ui
+++ b/panels/system/cc-system-panel.ui
@@ -40,40 +40,6 @@
</object>
</child>
- <child>
- <object class="CcListRow">
- <property name="title" translatable="yes">_Users</property>
- <property name="subtitle" translatable="yes">Add and remove accounts, change password</property>
- <property name="icon-name">org.gnome.Settings-users-symbolic</property>
- <property name="use-underline">True</property>
- <property name="show-arrow">True</property>
- <property name="action-name">navigation.push</property>
- <property name="action-target">'users'</property>
- </object>
- </child>
-
- <child>
- <object class="CcListRow">
- <property name="visible" bind-source="remote_desktop_page" bind-property="visible" bind-flags="sync-create"/>
- <property name="title" translatable="yes">R_emote Desktop</property>
- <property name="subtitle" translatable="yes">Allow this device to be used remotely</property>
- <property name="icon-name">org.gnome.Settings-remote-desktop-symbolic</property>
- <property name="show-arrow">True</property>
- <property name="action-name">navigation.push</property>
- <property name="action-target">'remote-desktop'</property>
- </object>
- </child>
-
- <child>
- <object class="CcListRow">
- <property name="title" translatable="yes">Secu_re Shell</property>
- <property name="subtitle" translatable="yes">SSH network access</property>
- <property name="icon-name">utilities-terminal-symbolic</property>
- <property name="show-arrow">True</property>
- <signal name="activated" handler="on_secure_shell_row_clicked" object="CcSystemPanel" swapped="yes"/>
- </object>
- </child>
-
<child>
<object class="CcListRow">
<property name="title" translatable="yes">_About</property>
@@ -87,27 +53,7 @@
</object>
</child>
- <child>
- <!-- Software Updates -->
- <object class="AdwPreferencesGroup" id="software_updates_group">
- <property name="visible">False</property>
- <child>
- <object class="AdwActionRow">
- <property name="activatable">True</property>
- <property name="title" translatable="yes">Software _Updates</property>
- <property name="icon-name">update-symbolic</property>
- <property name="use-underline">True</property>
- <signal name="activated" handler="cc_system_page_open_software_update" swapped="yes"/>
- <child type="suffix">
- <object class="GtkImage">
- <property name="valign">center</property>
- <property name="icon-name">adw-external-link-symbolic</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
+
</object>
</property>
@@ -122,12 +68,6 @@
<child>
<object class="CcDateTimePage" id="datetime_page"/>
</child>
- <child>
- <object class="CcUsersPage" id="users_page"/>
- </child>
- <child>
- <object class="CcRemoteDesktopPage" id="remote_desktop_page"/>
- </child>
<child>
<object class="CcAboutPage" id="about_page"/>
</child>
diff --git a/panels/system/meson.build b/panels/system/meson.build
index 979332a..530273d 100644
--- a/panels/system/meson.build
+++ b/panels/system/meson.build
@@ -39,30 +39,6 @@ sources = files(
'region/cc-region-page.c',
'region/cc-format-chooser.c',
'region/cc-format-preview.c',
- 'remote-desktop/cc-desktop-sharing-page.c',
- 'remote-desktop/cc-encryption-fingerprint-dialog.c',
- 'remote-desktop/cc-gnome-remote-desktop.c',
- 'remote-desktop/cc-remote-desktop-page.c',
- 'remote-desktop/cc-remote-session-page.c',
- 'remote-desktop/cc-tls-certificate.c',
- 'remote-desktop/cc-systemd-service.c',
- 'remote-login/cc-remote-login.c',
- 'remote-login/cc-remote-login-page.c',
- 'remote-login/cc-systemd-service.c',
- 'users/cc-add-user-dialog.c',
- 'users/cc-avatar-chooser.c',
- 'users/cc-crop-area.c',
- 'users/cc-entry-feedback.c',
- 'users/cc-enterprise-login-dialog.c',
- 'users/cc-fingerprint-dialog.c',
- 'users/cc-fingerprint-manager.c',
- 'users/cc-password-dialog.c',
- 'users/cc-realm-manager.c',
- 'users/cc-user-page.c',
- 'users/cc-users-page.c',
- 'users/pw-utils.c',
- 'users/run-passwd.c',
- 'users/user-utils.c',
)
sources += gnome.compile_resources(
@@ -97,26 +73,17 @@ sources += gnome.mkenums(
vtail: ' { 0, NULL, NULL }\n };\n etype = g_@type@_register_static ("@EnumName@", values);\n }\n return etype;\n}\n'
)
-libsecret_dep = dependency('libsecret-1')
-gnutls_dep = dependency('gnutls')
libgtop2 = dependency('libgtop-2.0')
udisks2 = dependency('udisks2', version: '>= 2.8.2')
-# Kerberos support
-krb_dep = dependency('krb5', required: false)
-assert(krb_dep.found(), 'kerberos libraries not found in your path')
-
deps = common_deps + [
accounts_dep,
gcr_dep,
gdk_pixbuf_dep,
gnome_desktop_dep,
- gnutls_dep,
gudev_dep,
libgtop2,
liblanguage_dep,
- libsecret_dep,
- krb_dep,
polkit_gobject_dep,
pwquality_dep,
udisks2,
@@ -150,9 +117,6 @@ cflags += [
subdir('about')
subdir('datetime')
subdir('region')
-subdir('remote-desktop')
-subdir('remote-login')
-subdir('users')
panels_libs += static_library(
cappletname,
diff --git a/shell/cc-panel-list.c b/shell/cc-panel-list.c
index a39c880..9f95193 100644
index 14ae7d0..a34c137 100644
--- a/shell/cc-panel-list.c
+++ b/shell/cc-panel-list.c
@@ -365,10 +365,7 @@ static const gchar * const panel_order[] = {
@@ -376,18 +376,14 @@ static const gchar * const panel_order[] = {
"separator",
- "applications",
"notifications",
"search",
"multitasking",
- "applications",
"privacy",
- "online-accounts",
- "sharing",
/* Devices page */
"sound",
@@ -376,16 +373,12 @@ static const gchar * const panel_order[] = {
"display",
"separator",
"mouse",
"keyboard",
- "printers",
- "removable-media",
"wacom",
"color",
- "printers",
"wacom",
/* Details page */
"region",
"universal-access",
- "user-accounts",
- "default-apps",
"reset-settings",
"datetime",
"info-overview",
"separator",
diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
index 3b33f4e..6eff958 100644
index 71b7686..c322944 100644
--- a/shell/cc-panel-loader.c
+++ b/shell/cc-panel-loader.c
@@ -31,14 +31,12 @@
@@ -31,7 +31,6 @@
#ifndef CC_PANEL_LOADER_NO_GTYPES
/* Extension points */
@ -125,14 +390,7 @@ index 3b33f4e..6eff958 100644
extern GType cc_background_panel_get_type (void);
#ifdef BUILD_BLUETOOTH
extern GType cc_bluetooth_panel_get_type (void);
#endif /* BUILD_BLUETOOTH */
extern GType cc_color_panel_get_type (void);
extern GType cc_date_time_panel_get_type (void);
-extern GType cc_default_apps_panel_get_type (void);
extern GType cc_display_panel_get_type (void);
extern GType cc_info_overview_panel_get_type (void);
extern GType cc_keyboard_panel_get_type (void);
@@ -49,17 +47,12 @@ extern GType cc_network_panel_get_type (void);
@@ -47,12 +46,9 @@ extern GType cc_network_panel_get_type (void);
extern GType cc_wifi_panel_get_type (void);
#endif /* BUILD_NETWORK */
extern GType cc_notifications_panel_get_type (void);
@ -140,17 +398,12 @@ index 3b33f4e..6eff958 100644
extern GType cc_power_panel_get_type (void);
-extern GType cc_printers_panel_get_type (void);
extern GType cc_privacy_panel_get_type (void);
extern GType cc_region_panel_get_type (void);
-extern GType cc_removable_media_panel_get_type (void);
extern GType cc_search_panel_get_type (void);
-extern GType cc_sharing_panel_get_type (void);
extern GType cc_sound_panel_get_type (void);
extern GType cc_system_panel_get_type (void);
extern GType cc_ua_panel_get_type (void);
-extern GType cc_user_panel_get_type (void);
#ifdef BUILD_WACOM
extern GType cc_wacom_panel_get_type (void);
#endif /* BUILD_WACOM */
@@ -88,14 +81,12 @@ extern void cc_wwan_panel_static_init_func (void);
@@ -84,7 +80,6 @@ extern void cc_wwan_panel_static_init_func (void);
static CcPanelLoaderVtable default_panels[] =
{
@ -158,14 +411,7 @@ index 3b33f4e..6eff958 100644
PANEL_TYPE("background", cc_background_panel_get_type, NULL),
#ifdef BUILD_BLUETOOTH
PANEL_TYPE("bluetooth", cc_bluetooth_panel_get_type, NULL),
#endif
PANEL_TYPE("color", cc_color_panel_get_type, NULL),
PANEL_TYPE("datetime", cc_date_time_panel_get_type, NULL),
- PANEL_TYPE("default-apps", cc_default_apps_panel_get_type, NULL),
PANEL_TYPE("display", cc_display_panel_get_type, NULL),
PANEL_TYPE("info-overview", cc_info_overview_panel_get_type, NULL),
PANEL_TYPE("keyboard", cc_keyboard_panel_get_type, NULL),
@@ -106,17 +97,12 @@ static CcPanelLoaderVtable default_panels[] =
@@ -99,12 +94,9 @@ static CcPanelLoaderVtable default_panels[] =
PANEL_TYPE("wifi", cc_wifi_panel_get_type, cc_wifi_panel_static_init_func),
#endif
PANEL_TYPE("notifications", cc_notifications_panel_get_type, NULL),
@ -173,24 +419,27 @@ index 3b33f4e..6eff958 100644
PANEL_TYPE("power", cc_power_panel_get_type, NULL),
- PANEL_TYPE("printers", cc_printers_panel_get_type, NULL),
PANEL_TYPE("privacy", cc_privacy_panel_get_type, NULL),
PANEL_TYPE("region", cc_region_panel_get_type, NULL),
- PANEL_TYPE("removable-media", cc_removable_media_panel_get_type, NULL),
PANEL_TYPE("search", cc_search_panel_get_type, NULL),
- PANEL_TYPE("sharing", cc_sharing_panel_get_type, NULL),
PANEL_TYPE("sound", cc_sound_panel_get_type, NULL),
PANEL_TYPE("system", cc_system_panel_get_type, NULL),
PANEL_TYPE("universal-access", cc_ua_panel_get_type, NULL),
- PANEL_TYPE("user-accounts", cc_user_panel_get_type, NULL),
#ifdef BUILD_WACOM
PANEL_TYPE("wacom", cc_wacom_panel_get_type, cc_wacom_panel_static_init_func),
#endif
@@ -133,7 +125,6 @@ static CcSubpageLoaderVtable default_subpages[] =
{CC_CATEGORY_SYSTEM, "about"},
{CC_CATEGORY_SYSTEM, "datetime"},
{CC_CATEGORY_SYSTEM, "region"},
- {CC_CATEGORY_SYSTEM, "users"},
};
static CcSubpageLoaderVtable *subpages_vtable = default_subpages;
static gsize supages_vtable_len = G_N_ELEMENTS (default_subpages);
diff --git a/tests/meson.build b/tests/meson.build
index 37334b7..d942799 100644
index ad645c2..c10ce2f 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -9,6 +9,4 @@ if not libadwaita_is_subproject
@@ -8,6 +8,3 @@ endif
if not libadwaita_is_subproject
subdir('interactive-panels')
endif
-
-subdir('printers')
subdir('info')
-subdir('keyboard')

View File

@ -39,12 +39,11 @@ inherit gtk-icon-cache pkgconfig gnomebase gsettings gettext upstream-version-is
REQUIRED_DISTRO_FEATURES += "opengl polkit pulseaudio systemd x11"
SRC_URI += " \
file://0001-Add-meson-option-to-pass-sysroot.patch \
file://0002-Don-t-update-icon-cache.patch \
file://0003-Remove-panels-for-citadel.patch \
"
SRC_URI[archive.sha256sum] = "83df6a90f98914f2c19a872ce06562acef40927637f679c383099265ccfa42cf"
SRC_URI += "file://0001-Add-meson-option-to-pass-sysroot.patch \
file://0002-Don-t-update-icon-cache.patch \
file://0003-Remove-panels-for-citadel.patch \
"
SRC_URI[archive.sha256sum] = "25f67de05897868b2e97eaa0ecc986a408af08d4985c8a9da44f0d7bd8fea7a4"
PACKAGECONFIG ??= "ibus ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"

View File

@ -0,0 +1,135 @@
From 36cbdd82f21e4ef37da9f05c1c5e770b6cd66df2 Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Sun, 29 May 2022 06:35:26 +0200
Subject: [PATCH] gnome-disk-utility: remove libcanberra dependency
libcanberra-gtk3 module isn't buildable for wayland.
Remove its dpendency.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Upstream-Status: Inappropriate
---
meson.build | 1 -
src/disks/gducreatediskimagedialog.c | 27 ++-------------------------
src/disks/gdurestorediskimagedialog.c | 20 +-------------------
src/disks/meson.build | 1 -
4 files changed, 3 insertions(+), 46 deletions(-)
diff --git a/meson.build b/meson.build
index 0daf7f82..cba6c74b 100644
--- a/meson.build
+++ b/meson.build
@@ -72,7 +72,6 @@ dvdread_dep = dependency('dvdread', version: '>= 4.2.0')
gio_unix_dep = dependency('gio-unix-2.0', version: '>= 2.31.0')
gmodule_dep = dependency('gmodule-2.0')
gtk_dep = dependency('gtk+-3.0', version: '>= 3.16.0')
-libcanberra_dep = dependency('libcanberra-gtk3', version: '>= 0.1')
# Keep the version here synchronised with subprojects/libhandy.wrap
libhandy_dep = dependency('libhandy-1', version: '>= 1.5.0', fallback: ['libhandy', 'libhandy_dep'])
liblzma_dep = dependency('liblzma', version: '>= 5.0.5')
diff --git a/src/disks/gducreatediskimagedialog.c b/src/disks/gducreatediskimagedialog.c
index 181b2892..a22004cf 100644
--- a/src/disks/gducreatediskimagedialog.c
+++ b/src/disks/gducreatediskimagedialog.c
@@ -21,8 +21,6 @@
#include <sys/ioctl.h>
#include <linux/fs.h>
-#include <canberra-gtk.h>
-
#include "gduapplication.h"
#include "gduwindow.h"
#include "gducreatediskimagedialog.h"
@@ -297,19 +295,7 @@ create_disk_image_populate (DialogData *data)
static void
play_read_error_sound (DialogData *data)
-{
- const gchar *sound_message;
-
- /* Translators: A descriptive string for the sound played when
- * there's a read error that's being ignored, see
- * CA_PROP_EVENT_DESCRIPTION
- */
- sound_message = _("Disk image read error");
- ca_gtk_play_for_widget (GTK_WIDGET (data->window), 0,
- CA_PROP_EVENT_ID, "dialog-warning",
- CA_PROP_EVENT_DESCRIPTION, sound_message,
- NULL);
-}
+{}
/* ---------------------------------------------------------------------------------------------------- */
@@ -403,16 +389,7 @@ update_job (DialogData *data,
static void
play_complete_sound (DialogData *data)
-{
- const gchar *sound_message;
-
- /* Translators: A descriptive string for the 'complete' sound, see CA_PROP_EVENT_DESCRIPTION */
- sound_message = _("Disk image copying complete");
- ca_gtk_play_for_widget (GTK_WIDGET (data->window), 0,
- CA_PROP_EVENT_ID, "complete",
- CA_PROP_EVENT_DESCRIPTION, sound_message,
- NULL);
-}
+{}
/* ---------------------------------------------------------------------------------------------------- */
diff --git a/src/disks/gdurestorediskimagedialog.c b/src/disks/gdurestorediskimagedialog.c
index bccf97e9..e7ec81cb 100644
--- a/src/disks/gdurestorediskimagedialog.c
+++ b/src/disks/gdurestorediskimagedialog.c
@@ -17,8 +17,6 @@
#include <sys/ioctl.h>
#include <linux/fs.h>
-#include <canberra-gtk.h>
-
#include "gduapplication.h"
#include "gduwindow.h"
#include "gdurestorediskimagedialog.h"
@@ -606,23 +604,7 @@ update_job (DialogData *data,
static void
play_complete_sound (DialogData *data)
-{
- const gchar *sound_message;
-
- /* Translators: A descriptive string for the 'complete' sound, see CA_PROP_EVENT_DESCRIPTION */
- sound_message = _("Disk image copying complete");
- ca_gtk_play_for_widget (GTK_WIDGET (data->dialog), 0,
- CA_PROP_EVENT_ID, "complete",
- CA_PROP_EVENT_DESCRIPTION, sound_message,
- NULL);
-
- if (data->inhibit_cookie > 0)
- {
- gtk_application_uninhibit (GTK_APPLICATION (gdu_window_get_application (data->window)),
- data->inhibit_cookie);
- data->inhibit_cookie = 0;
- }
-}
+{}
/* ---------------------------------------------------------------------------------------------------- */
diff --git a/src/disks/meson.build b/src/disks/meson.build
index 35b2f103..6fc367b4 100644
--- a/src/disks/meson.build
+++ b/src/disks/meson.build
@@ -85,7 +85,6 @@ deps = [
dvdread_dep,
gio_unix_dep,
gmodule_dep,
- libcanberra_dep,
libgdu_dep,
libhandy_dep,
liblzma_dep,
--
2.25.1

View File

@ -5,33 +5,37 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SECTION = "x11/gnome"
DEPENDS = " \
desktop-file-utils-native \
gtk+3 \
libdvdread \
libcanberra \
libnotify \
libsecret \
libpwquality \
udisks2 \
libhandy \
xz \
"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gtk-icon-cache gettext features_check mime-xdg
REQUIRED_DISTRO_FEATURES = "x11 polkit"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
REQUIRED_DISTRO_FEATURES = "polkit"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}"
# As soon as elogind is of interest this needs rework: meson option is combo
PACKAGECONFIG[systemd] = "-Dlogind=libsystemd,-Dlogind=none,systemd"
PACKAGECONFIG[x11] = ",,libcanberra"
SRC_URI += "file://0001-Don-t-display-ignored-disks.patch"
SRC_URI[archive.sha256sum] = "1b6564454d67426322cb3bfc5a5558653bfc7dfeea2ae0825b1d08629f01090b"
SRC_URI:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'file://0001-gnome-disk-utility-remove-libcanberra-dependency.patch', '', d)}"
SRC_URI[archive.sha256sum] = "464649148c6d6771f1ac2ebfe43a4e519205b11c2d914a09f2a001821d06957d"
EXTRA_OEMESON = "-Dman=false"
PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
FILES:${PN} += " \
${datadir}/metainfo \
${datadir}/dbus-1 \

View File

@ -1,50 +0,0 @@
From 5ec8ebdb6ffa4af30deee2c3a594a57f9f5a9b28 Mon Sep 17 00:00:00 2001
From: Bruce Leidl <bruce@subgraph.com>
Date: Fri, 27 May 2022 14:55:58 -0400
Subject: [PATCH] Add --systemd and --session to desktop files
---
data/gnome-wayland.desktop.in.in | 2 +-
data/gnome-xorg.desktop.in.in | 2 +-
data/gnome.desktop.in.in | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/data/gnome-wayland.desktop.in.in b/data/gnome-wayland.desktop.in.in
index b48eecd..18f5c7e 100644
--- a/data/gnome-wayland.desktop.in.in
+++ b/data/gnome-wayland.desktop.in.in
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=GNOME on Wayland
Comment=This session logs you into GNOME
-Exec=@bindir@/gnome-session
+Exec=@bindir@/gnome-session --systemd --session=gnome
TryExec=@bindir@/gnome-session
Type=Application
DesktopNames=GNOME
diff --git a/data/gnome-xorg.desktop.in.in b/data/gnome-xorg.desktop.in.in
index 9a76fac..40ec660 100644
--- a/data/gnome-xorg.desktop.in.in
+++ b/data/gnome-xorg.desktop.in.in
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=GNOME on Xorg
Comment=This session logs you into GNOME
-Exec=@bindir@/gnome-session
+Exec=@bindir@/gnome-session --systemd --session=gnome
TryExec=@bindir@/gnome-session
Type=Application
DesktopNames=GNOME
diff --git a/data/gnome.desktop.in.in b/data/gnome.desktop.in.in
index 7eec1de..d83655e 100644
--- a/data/gnome.desktop.in.in
+++ b/data/gnome.desktop.in.in
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=GNOME
Comment=This session logs you into GNOME
-Exec=@bindir@/gnome-session
+Exec=@bindir@/gnome-session --systemd --session=gnome
TryExec=@bindir@/gnome-session
Type=Application
DesktopNames=GNOME

View File

@ -1,41 +0,0 @@
SUMMARY = "GNOME session"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = " \
glib-2.0-native \
libxslt-native \
xmlto-native \
xtrans \
libice \
libsm \
virtual/libx11 \
gtk+3 \
gnome-desktop \
gsettings-desktop-schemas \
json-glib \
"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext gsettings upstream-version-is-even features_check
REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data"
SRC_URI += "file://0001-Patch-locking-logout-so-it-does-not-disable-shutting.patch \
file://0002-Add-systemd-and-session-to-desktop-files.patch \
"
SRC_URI[archive.sha256sum] = "3cca06053ab682926920951a7da95f8cc6d72da74c682c46d0a0653332969caa"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit',d)}"
PACKAGECONFIG[consolekit] = "-Dconsolekit=true, -Dconsolekit=false, consolekit"
PACKAGECONFIG[systemd] = "-Dsystemd=true -Dsystemd_journal=true, -Dsystemd=false -Dsystemd_journal=false, systemd"
FILES:${PN} += " \
${datadir}/xsessions \
${datadir}/wayland-sessions \
${systemd_user_unitdir} \
"
RDEPENDS:${PN} += "gnome-shell gnome-settings-daemon gsettings-desktop-schemas"

View File

@ -0,0 +1,36 @@
SUMMARY = "GNOME session"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = " \
glib-2.0-native \
xtrans \
libice \
libsm \
virtual/libx11 \
gtk+3 \
gnome-desktop \
json-glib \
systemd \
"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext gsettings upstream-version-is-even features_check
REQUIRED_DISTRO_FEATURES = "polkit systemd pam gobject-introspection-data"
SRC_URI[archive.sha256sum] = "c6e1624af6090bc4e1a191fe2268abfa7a8de07831ca7a57f217e679bf7b9a54"
SRC_URI += "file://0001-Patch-locking-logout-so-it-does-not-disable-shutting.patch"
PACKAGECONFIG ??= ""
PACKAGECONFIG[docbook] = "-Ddocbook=true, -Ddocbook=false"
PACKAGECONFIG[man] = "-Dman=true, -Dman=false,xmlto-native libxslt-native"
FILES:${PN} += " \
${datadir}/xdg-desktop-portal \
${datadir}/xsessions \
${datadir}/wayland-sessions \
${systemd_user_unitdir} \
"

View File

@ -1,76 +0,0 @@
diff --git a/plugins/meson.build b/plugins/meson.build
index c8c10db..30c38ab 100644
--- a/plugins/meson.build
+++ b/plugins/meson.build
@@ -20,6 +20,8 @@ all_plugins = [
disabled_plugins = []
+disabled_plugins += ['sharing']
+
if not enable_smartcard
disabled_plugins += ['smartcard']
endif
@@ -33,7 +35,7 @@ if not enable_wacom
endif
if not enable_cups
- disabled_plugins += ['cups']
+ disabled_plugins += ['print-notifications']
endif
if not enable_rfkill
diff --git a/plugins/power/meson.build b/plugins/power/meson.build
index 69e619f..cd1c88b 100644
--- a/plugins/power/meson.build
+++ b/plugins/power/meson.build
@@ -102,49 +102,4 @@ if host_is_linux
)
endif
-output = 'gsdpowerconstants.py'
-
-gsdpowerconstants_py = custom_target(
- output,
- input: 'gsd-power-constants.h',
- output: output,
- build_by_default: true,
- command: [join_paths(meson.current_source_dir(), 'gsd-power-constants-update.pl'), '@INPUT@', '@OUTPUT@']
-)
-
-output = 'gsdpowerenums.py'
-
-gsdpowerenums_py = custom_target(
- output,
- output: output,
- capture: true,
- build_by_default: true,
- command: [gsd_power_enums_update]
-)
-
-test_py = find_program('test.py')
-
-envs = environment()
-#envs.prepend('G_DEBUG', 'fatal-warnings')
-envs.set('BUILDDIR', meson.current_build_dir())
-envs.set('TOP_BUILDDIR', meson.build_root())
-envs.set('LD_PRELOAD', 'libumockdev-preload.so.0')
-envs.set('NO_AT_BRIDGE', '1')
-envs.set('HAVE_SYSFS_BACKLIGHT', host_is_linux ? '1' : '0')
-
-if get_option('b_sanitize').split(',').contains('address')
- # libasan needs to be loaded first; so we need to explicitly preload it
- envs.set('POWER_LD_PRELOAD', 'libasan.so.5')
-endif
-
-foreach i : [ 1, 2, 3, 4, 5, 6, 7, 8 ]
- test(
- 'test-power @0@/8'.format(i),
- test_py,
- args: [ 'PowerPluginTest@0@'.format(i) ],
- env: envs,
- # The first set of tests takes very long because of SCREENSAVER_TIMEOUT_BLANK
- timeout: i == 1 ? 180 : 120
- )
-endforeach

View File

@ -26,11 +26,10 @@ DEPENDS = " \
REQUIRED_DISTRO_FEATURES = "x11 polkit pulseaudio systemd gobject-introspection-data"
GIR_MESON_OPTION = ""
SRC_URI[archive.sha256sum] = "bb4dc46950e2a90f38f23225848856d2a7b1b718c89d0285ce197b7016bb1dc8"
SRC_URI[archive.sha256sum] = "0b9a0f64fa18a8e7e09b4c95a3f754fa033c2cdbd2dc35701f0618572c1cb3d7"
PACKAGECONFIG ??= " \
nm \
cups nm \
alsa gudev \
smartcard \
${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
@ -42,11 +41,12 @@ PACKAGECONFIG[nm] = "-Dnetwork_manager=true,-Dnetwork_manager=false,networkmanag
PACKAGECONFIG[smartcard] = "-Dsmartcard=true,-Dsmartcard=false,nss"
PACKAGECONFIG[wayland] = "-Dwayland=true,-Dwayland=false,wayland"
EXTRA_OEMESON += "\
-Dwwan=false \
"
def gnome_verdir(v):
return oe.utils.trim_version(v, 1)
PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
FILES:${PN} += " \
${systemd_user_unitdir} \
/usr/lib/gnome-settings-daemon-45/libgsd.so \
${libdir}/gnome-settings-daemon-${@gnome_verdir("${PV}")}/libgsd.so \
"

View File

@ -6,10 +6,10 @@ REQUIRED_DISTRO_FEATURES = "x11 systemd pam"
GIR_MESON_OPTION = ""
GTKIC_VERSION = "4"
SRCREV = "4474416d653af44a9ba9724583ddff091a92a948"
SRCREV = "fdacdf5cc80a94e04549d864f2d4dbac5f15f4bc"
EXTERNAL_TREE_VAR="CITADEL_GNOME_SHELL_PATH"
GIT_URI = "gitsm://github.com/brl/gnome-shell.git;branch=citadel-45.0;protocol=https"
GIT_URI = "gitsm://github.com/brl/gnome-shell.git;branch=citadel-46.0;protocol=https"
GNOMEBASEBUILDCLASS = "meson"
@ -28,11 +28,12 @@ DEPENDS = " \
startup-notification \
ibus \
gsettings-desktop-schemas \
pipewire \
"
inherit gnomebase gsettings gettext gobject-introspection gtk-icon-cache features_check external-tree
RDEPENDS:${PN} = "gsettings-desktop-schemas librsvg-gtk tecla"
RDEPENDS:${PN} = "gsettings-desktop-schemas librsvg-gtk tecla libjxl pipewire"
FILES:${PN} += "\
${datadir}/dbus-1 \

View File

@ -6,7 +6,10 @@ DEPENDS = " \
gnome-common-native \
libxml2-native \
glib-2.0-native \
gtkmm3 \
glibmm-2.68 \
gtkmm4 \
gtk4 \
libadwaita \
libgtop \
librsvg \
polkit \
@ -17,12 +20,13 @@ GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gnome-help itstool gtk-icon-cache features_check gettext
REQUIRED_DISTRO_FEATURES = "x11 polkit"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
REQUIRED_DISTRO_FEATURES = "polkit"
def gnome_verdir(v):
return oe.utils.trim_version(v, 1)
SRC_URI[archive.sha256sum] = "13239d22032201a22bd29833c575b684816700d2de168a1530223577c5c075dc"
SRC_URI[archive.sha256sum] = "5376248158c686c308255472e8c2a9e4c17255642c149fc7198c6d034e547599"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd"

View File

@ -13,4 +13,4 @@ GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gobject-introspection gettext
SRC_URI[archive.sha256sum] = "365c8d04daf79b38c8b3dc9626349a024f9e4befdd31fede74b42f7a9fbe0ae2"
SRC_URI[archive.sha256sum] = "493a46a1161b6388d57aa72f632a79ce96c42d5ffbd1d0b00f496ec5876f8575"

View File

@ -5,22 +5,27 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings bash-completion gettext upstream-version-is-even features_check useradd
DEPENDS += "libsecret glib-2.0 glib-2.0-native libgudev shadow-native \
gsettings-desktop-schemas dbus"
DEPENDS += "\
dbus \
glib-2.0 \
glib-2.0-native \
gsettings-desktop-schemas \
libgudev \
libsecret \
libxml2 \
shadow-native \
"
RDEPENDS:${PN} += "gsettings-desktop-schemas"
SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
SRC_URI[archive.sha256sum] = "03d72b8c15ef438110f0cf457b5655266c8b515d0412b30f4d55cfa0da06ac5e"
SRC_URI[archive.sha256sum] = "f53d81df86c2e86cdd25182c2d8a669a22371e83623ded1b9d5416dcfc6de366"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
EXTRA_OEMESON = " \
-Dbluray=false \
-Dgoa=false \
-Dgoogle=false \
-Dnfs=false \
"
PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
@ -55,10 +60,15 @@ PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist"
PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive"
PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi"
PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr"
PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-2.4"
PACKAGECONFIG[gcrypt] = "-Dgcrypt=true, -Dgcrypt=false, libgcrypt"
PACKAGECONFIG[goa] = "-Dgoa=true, -Dgoa=false, gnome-online-accounts"
PACKAGECONFIG[google] = "-Dgoogle=true, -Dgoogle=false, libgdata"
PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-3.0"
PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp"
PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd"
PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2"
PACKAGECONFIG[nfs] = "-Dnfs=true, -Dnfs=false,libnfs"
PACKAGECONFIG[onedrive] = "-Donedrive=true, -Donedrive=false, msgraph"
PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba"
PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd"
@ -69,13 +79,13 @@ PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse3"
PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia"
USERADD_PACKAGES = "${PN}"
USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd"
USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd"
do_install:append() {
if ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'true', 'false', d)}; then
# Fix up permissions on polkit rules.d to work with rpm4 constraints
chmod 700 ${D}/${datadir}/polkit-1/rules.d
chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
chmod 700 ${D}${datadir}/polkit-1/rules.d
chown polkitd:root ${D}${datadir}/polkit-1/rules.d
fi
# After rebuilds (not from scracth) it can happen that the executables in

View File

@ -3,16 +3,16 @@ HOMEPAGE = "https://gitlab.gnome.org/GNOME/libadwaita"
LICENSE="LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
GNOMEBASEBUILDCLASS = "meson"
DEPENDS = " \
gtk4 \
appstream \
"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gobject-introspection gi-docgen vala features_check
SRC_URI[archive.sha256sum] = "e51a098a54d43568218fc48fcf52e80e36f469b3ce912d8ce9c308a37e9f47c2"
SRC_URI[archive.sha256sum] = "fd92287df9bb95c963654fb6e70d3e082e2bcb37b147e0e3c905567167993783"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
REQUIRED_DISTRO_FEATURES = "opengl"

View File

@ -1,22 +0,0 @@
From fd7b272714b62e5193faef8be56d0722361fd282 Mon Sep 17 00:00:00 2001
From: Bruce Leidl <bruce@subgraph.com>
Date: Sun, 1 Nov 2020 08:54:33 -0500
Subject: [PATCH] Fix hostleak in link path
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 472f44b..aa7c729 100644
--- a/configure.ac
+++ b/configure.ac
@@ -270,7 +270,7 @@ AC_ARG_ENABLE(fatal-warnings,
[Define to enable fatal warnings]))
dnl These definitions are expanded in make.
-LIBGTOP_LIBS='-L$(libdir)'
+LIBGTOP_LIBS='-L=$(libdir)'
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
if test x$libgtop_have_sysinfo = xyes ; then

View File

@ -1,15 +0,0 @@
SUMMARY = "Library for accessing information about running processes"
HOMEPAGE = "https://developer.gnome.org/libgtop/stable/"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
DEPENDS = "libx11 glib-2.0 libxau"
inherit gnomebase perlnative gettext pkgconfig autotools
SRC_URI[archive.md5sum] = "c6d67325cd97b2208b41e07e6cc7b947"
SRC_URI[archive.sha256sum] = "78f3274c0c79c434c03655c1b35edf7b95ec0421430897fb1345a98a265ed2d4"
SRC_URI += " file://0001-Fix-hostleak-in-link-path.patch"
EXTRA_OECONF = "--with-examples=no"

View File

@ -0,0 +1,12 @@
SUMMARY = "A library for collecting system monitoring data"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase lib_package gtk-doc gobject-introspection gettext upstream-version-is-even features_check
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
SRC_URI[archive.sha256sum] = "775676df958e2ea2452f7568f28b2ea581063d312773dd5c0b7624c1b9b2da8c"
DEPENDS = "glib-2.0 libxau"

View File

@ -3,18 +3,19 @@ SUMMARY = "A library to access weather information from online services"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
GNOMEBASEBUILDCLASS = "meson"
GNOMEBN = "libgweather"
S = "${WORKDIR}/${GNOMEBN}-${PV}"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gobject-introspection gettext gi-docgen vala features_check
REQUIRED_DISTRO_FEATURES = "opengl"
SRC_URI += "file://0001-Allow-building-gir-in-cross-environments.patch"
SRC_URI[archive.sha256sum] = "af8a812da0d8976a000e1d62572c256086a817323fbf35b066dbfdd8d2ca6203"
SRC_URI[archive.sha256sum] = "a6e427b4770ada48945f3aa906af710fc833cff0d42df91f1828302740d794ec"
GTKDOC_MESON_OPTION = "gtk_doc"
VALA_MESON_OPTION = "enable_vala"
DEPENDS = " \
geocode-glib \

View File

@ -16,7 +16,7 @@ DEPENDS = " \
mesa \
upower \
xwayland \
gtk+3 \
gtk4 \
gdk-pixbuf \
cairo \
pango \
@ -32,17 +32,16 @@ DEPENDS = " \
graphene-native \
wayland-protocols \
wayland-native \
zenity \
gobject-introspection \
gobject-introspection-native \
"
RDEPENDS:${PN} += " xwayland zenity"
SRCREV = "d195a063858494cf9c222c5928b1ca1d5eec8624"
SRCREV = "ab32580b4c916914aec8429b3d4d68fef1dd583e"
EXTERNAL_TREE_VAR="CITADEL_MUTTER_PATH"
GIT_URI = "git://github.com/brl/mutter.git;branch=citadel-45.0;protocol=https"
GIT_URI = "git://github.com/brl/mutter.git;branch=citadel-46.0;protocol=https"
GNOMEBASEBUILDCLASS = "meson"
@ -67,7 +66,7 @@ EXTRA_OEMESON += " \
-Dgles2_libname=libGLESv2.so.2 \
"
MUTTER_API_NAME = "mutter-13"
MUTTER_API_NAME = "mutter-14"
do_install:append() {
# Add gir links in standard paths. That makes dependents life much easier

View File

@ -0,0 +1,64 @@
SUMMARY = "Multimedia processing server for Linux"
HOMEPAGE = "https://pipewire.org"
SECTION = "multimedia"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = " \
file://LICENSE;md5=d8153c6e65986f862a0550ca74a3ed73 \
file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
"
DEPENDS = "alsa-lib dbus udev"
SRCREV = "14c11c0fe4d366bad4cfecdee97b6652ff9ed63d"
PV = "0.2.7"
SRC_URI = "git://github.com/PipeWire/pipewire;branch=master;protocol=https"
S = "${WORKDIR}/git"
inherit meson pkgconfig systemd manpages
PACKAGECONFIG ??= "\
${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
gstreamer \
"
PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd"
PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base"
PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxml-parser-perl-native"
PACKAGES =+ "\
${PN}-spa-plugins \
${PN}-alsa \
${PN}-config \
gstreamer1.0-${PN} \
lib${PN} \
lib${PN}-modules \
"
RDEPENDS:lib${PN} += "lib${PN}-modules ${PN}-spa-plugins"
FILES:${PN} = "\
${sysconfdir}/pipewire/pipewire.conf \
${bindir}/pipewire* \
${systemd_user_unitdir}/* \
"
FILES:lib${PN} = "\
${libdir}/libpipewire-*.so.* \
"
FILES:lib${PN}-modules = "\
${libdir}/pipewire-*/* \
"
FILES:${PN}-spa-plugins = "\
${bindir}/spa-* \
${libdir}/spa/* \
"
FILES:${PN}-alsa = "\
${libdir}/alsa-lib/* \
${datadir}/alsa/alsa.conf.d/50-pipewire.conf \
"
FILES:gstreamer1.0-${PN} = "\
${libdir}/gstreamer-1.0/* \
"
CONFFILES:${PN} = "\
${sysconfdir}/pipewire/pipewire.conf \
"

View File

@ -0,0 +1,26 @@
SUMMARY = "PipeWire Media Session is an example session manager for PipeWire"
HOMEPAGE = "https://gitlab.freedesktop.org/pipewire/media-session"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a"
DEPENDS = " \
pipewire \
alsa-lib \
dbus \
"
SRC_URI = "git://gitlab.freedesktop.org/pipewire/media-session.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
SRCREV = "80dae7e24bec02b2befe09a72fbac6e2b38ccb5c"
inherit meson pkgconfig
# https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2952
CFLAGS += "-DPW_ENABLE_DEPRECATED"
FILES:${PN} += " \
${systemd_user_unitdir}/pipewire-media-session.service \
${datadir}/pipewire/media-session.d/* \
"
RRECOMMENDS:${PN} += "pipewire"

View File

@ -0,0 +1,388 @@
SUMMARY = "Multimedia processing server for Linux"
DESCRIPTION = "Linux server for handling and routing audio and video streams between applications and multimedia I/O devices"
HOMEPAGE = "https://pipewire.org/"
BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/pipewire/issues"
SECTION = "multimedia"
LICENSE = "MIT & LGPL-2.1-or-later & GPL-2.0-only"
LIC_FILES_CHKSUM = " \
file://LICENSE;md5=2158739e172e58dc9ab1bdd2d6ec9c72 \
file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \
"
DEPENDS = "dbus ncurses"
SRCREV = "f2874ad1c2f7f0b9a1da05cc4f402b3ea3761ee6"
SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=1.0;protocol=https"
S = "${WORKDIR}/git"
inherit meson pkgconfig systemd gettext useradd
USERADD_PACKAGES = "${PN}"
GROUPADD_PARAM:${PN} = "--system pipewire"
USERADD_PARAM:${PN} = "--system --home / --no-create-home \
--comment 'PipeWire multimedia daemon' \
--gid pipewire --groups audio,video \
pipewire"
SYSTEMD_PACKAGES = "${PN}"
# For "EVL", look up https://evlproject.org/ . It involves
# a specially prepared kernel, and is currently unavailable
# in Yocto.
#
#
# manpage generation requires xmltoman, which is not available.
#
# The session-managers list specifies which session managers Meson
# shall download (via git clone) and build as subprojects. In OE,
# this is not how a session manager should be built. Instead, they
# should be integrated as separate OE recipes. To prevent PipeWire
# from using this Meson feature, set an empty list.
# This does not disable support or the need for session managers,
# it just prevents this subproject feature.
#
# AptX and LDAC are not available in OE. Currently, neither
# are lv2, ROC, and libmysofa.
#
# The RTKit module is deprecated in favor of the newer RT module.
# It still exists for legacy setups that still include it in
# their PipeWire configuration files.
EXTRA_OEMESON += " \
-Devl=disabled \
-Dtests=disabled \
-Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \
-Dsystemd-system-unit-dir=${systemd_system_unitdir} \
-Dsystemd-user-unit-dir=${systemd_user_unitdir} \
-Dman=disabled \
-Dsession-managers='[]' \
-Dlv2=disabled \
-Droc=disabled \
-Dbluez5-codec-aptx=disabled \
-Dbluez5-codec-ldac=disabled \
-Dlegacy-rtkit=false \
-Dlibmysofa=disabled \
"
# spa alsa plugin code uses typedef redefinition, which is officially a C11 feature.
# Pipewire builds with 'c_std=gnu99' by default. Recent versions of gcc don't issue this warning in gnu99
# mode but it looks like clang still does
CFLAGS:append = " -Wno-typedef-redefinition"
# According to wireplumber documentation only one session manager should be installed at a time
# Possible options are media-session, which has fewer dependencies but is very simple,
# or wireplumber, which is more powerful.
PIPEWIRE_SESSION_MANAGER ??= "wireplumber"
FFMPEG_AVAILABLE = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)}"
BLUETOOTH_AAC = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'bluez-aac', '', d)}"
PACKAGECONFIG:class-target ??= " \
${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez bluez-opus ${BLUETOOTH_AAC}', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'alsa vulkan pulseaudio', d)} \
${PIPEWIRE_SESSION_MANAGER} \
${FFMPEG_AVAILABLE} avahi flatpak gstreamer gsettings jack libusb pw-cat raop sndfile v4l2 udev volume webrtc-echo-cancelling libcamera readline \
"
# "jack" and "pipewire-jack" packageconfigs cannot be both enabled,
# since "jack" imports libjack, and "pipewire-jack" generates
# libjack.so* files, thus colliding with the libpack package. This
# is why these two are marked in their respective packageconfigs
# as being in conflict.
PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev,,pipewire-alsa pipewire-alsa-card-profile"
PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi"
PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc"
PACKAGECONFIG[bluez-aac] = "-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac"
PACKAGECONFIG[bluez-opus] = "-Dbluez5-codec-opus=enabled,-Dbluez5-codec-opus=disabled,libopus"
PACKAGECONFIG[bluez-lc3] = "-Dbluez5-codec-lc3=enabled,-Dbluez5-codec-lc3=disabled,liblc3"
# From the pipewire git log:
# "Some Linux phones doesn't use oFono but ModemManager to control the modem."
# This packageconfig enables modemmanager specific code in the BlueZ backend.
PACKAGECONFIG[bluez-backend-native-mm] = "-Dbluez5-backend-native-mm=enabled,-Dbluez5-backend-native-mm=disabled,modemmanager"
PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native graphviz-native"
PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg"
PACKAGECONFIG[flatpak] = "-Dflatpak=enabled,-Dflatpak=disabled,glib-2.0"
PACKAGECONFIG[gsettings] = "-Dgsettings=enabled,-Dgsettings=disabled,glib-2.0"
PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base,,gstreamer1.0-pipewire"
PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack"
PACKAGECONFIG[libcamera] = "-Dlibcamera=enabled,-Dlibcamera=disabled,libcamera libdrm"
PACKAGECONFIG[libcanberra] = "-Dlibcanberra=enabled,-Dlibcanberra=disabled,libcanberra"
PACKAGECONFIG[libusb] = "-Dlibusb=enabled,-Dlibusb=disabled,libusb"
PACKAGECONFIG[media-session] = ",,,pipewire-media-session,,wireplumber"
PACKAGECONFIG[pulseaudio] = "-Dlibpulse=enabled,-Dlibpulse=disabled,pulseaudio,,pipewire-pulse"
PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib"
PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,pipewire-jack,jack"
PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled"
PACKAGECONFIG[raop] = "-Draop=enabled,-Draop=disabled,openssl"
# Starting with version 0.3.60, readline usage can be turned off in pw-cli.
# If it is disabled, getline() is used as a fallback.
PACKAGECONFIG[readline] = "-Dreadline=enabled,-Dreadline=disabled,readline"
PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,libsdl2"
PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=enabled,-Dsystemd-system-service=disabled,systemd"
# "systemd-user-service" packageconfig will only install service
# files to rootfs but not enable them as systemd.bbclass
# currently lacks the feature of enabling user services.
PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=enabled,-Dsystemd-user-service=disabled,systemd"
# pw-cat needs sndfile packageconfig to be enabled
PACKAGECONFIG[udev] = "-Dudev=enabled,-Dudev=disabled,udev"
PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev"
PACKAGECONFIG[volume] = "-Dvolume=enabled,-Dvolume=disabled"
PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-headers vulkan-loader"
PACKAGECONFIG[webrtc-echo-cancelling] = "-Decho-cancel-webrtc=enabled,-Decho-cancel-webrtc=disabled,webrtc-audio-processing-1"
PACKAGECONFIG[wireplumber] = ",,,wireplumber,,media-session"
PACKAGESPLITFUNCS:prepend = " split_dynamic_packages "
PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends "
SPA_SUBDIR = "spa-0.2"
PW_MODULE_SUBDIR = "pipewire-0.3"
remove_unused_installed_files() {
# jack.conf is used by pipewire-jack (not the JACK SPA plugin).
# Remove it if pipewire-jack is not built to avoid creating the
# pipewire-jack package.
if ${@bb.utils.contains('PACKAGECONFIG', 'pipewire-jack', 'false', 'true', d)}; then
rm -f "${D}${datadir}/pipewire/jack.conf"
fi
# minimal.conf is an example of how to minimally configure the
# daemon and is not meant to be used for production.
rm -f "${D}${datadir}/pipewire/minimal.conf"
}
do_install[postfuncs] += "remove_unused_installed_files"
python split_dynamic_packages () {
# Create packages for each SPA plugin. These plugins are located
# in individual subdirectories, so a recursive search is needed.
spa_libdir = d.expand('${libdir}/${SPA_SUBDIR}')
do_split_packages(d, spa_libdir, r'^libspa-(.*)\.so$', d.expand('${PN}-spa-plugins-%s'), 'PipeWire SPA plugin for %s', extra_depends='', recursive=True)
# Create packages for each PipeWire module.
pw_module_libdir = d.expand('${libdir}/${PW_MODULE_SUBDIR}')
do_split_packages(d, pw_module_libdir, r'^libpipewire-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'PipeWire %s module', extra_depends='', recursive=False)
}
python set_dynamic_metapkg_rdepends () {
import os
import oe.utils
if bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('native', d):
return
# Go through all generated SPA plugin and PipeWire module packages
# (excluding the main package and the -meta package itself) and
# add them to the -meta package as RDEPENDS.
base_pn = d.getVar('PN')
spa_pn = base_pn + '-spa-plugins'
spa_metapkg = spa_pn + '-meta'
pw_module_pn = base_pn + '-modules'
pw_module_metapkg = pw_module_pn + '-meta'
d.setVar('ALLOW_EMPTY:' + spa_metapkg, "1")
d.setVar('FILES:' + spa_metapkg, "")
d.setVar('ALLOW_EMPTY:' + pw_module_metapkg, "1")
d.setVar('FILES:' + pw_module_metapkg, "")
blacklist = [ spa_pn, spa_metapkg, pw_module_pn, pw_module_metapkg ]
spa_metapkg_rdepends = []
pw_module_metapkg_rdepends = []
pkgdest = d.getVar('PKGDEST')
for pkg in oe.utils.packages_filter_out_system(d):
if pkg in blacklist:
continue
is_spa_pkg = pkg.startswith(spa_pn)
is_pw_module_pkg = pkg.startswith(pw_module_pn)
if not is_spa_pkg and not is_pw_module_pkg:
continue
if pkg in spa_metapkg_rdepends or pkg in pw_module_metapkg_rdepends:
continue
# See if the package is empty by looking at the contents of its
# PKGDEST subdirectory. If this subdirectory is empty, then then
# package is empty as well. Empty packages do not get added to
# the meta package's RDEPENDS.
pkgdir = os.path.join(pkgdest, pkg)
if os.path.exists(pkgdir):
dir_contents = os.listdir(pkgdir) or []
else:
dir_contents = []
is_empty = len(dir_contents) == 0
if not is_empty:
if is_spa_pkg:
spa_metapkg_rdepends.append(pkg)
if is_pw_module_pkg:
pw_module_metapkg_rdepends.append(pkg)
d.setVar('RDEPENDS:' + spa_metapkg, ' '.join(spa_metapkg_rdepends))
d.setVar('DESCRIPTION:' + spa_metapkg, spa_pn + ' meta package')
d.setVar('RDEPENDS:' + pw_module_metapkg, ' '.join(pw_module_metapkg_rdepends))
d.setVar('DESCRIPTION:' + pw_module_metapkg, pw_module_pn + ' meta package')
}
PACKAGES =+ "\
libpipewire \
${PN}-tools \
${PN}-pulse \
${PN}-alsa \
${PN}-jack \
${PN}-spa-plugins \
${PN}-spa-plugins-meta \
${PN}-spa-tools \
${PN}-modules \
${PN}-modules-meta \
${PN}-alsa-card-profile \
${PN}-v4l2 \
${PN}-aes67 \
gstreamer1.0-pipewire \
"
PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*"
PACKAGES_DYNAMIC:class-native = ""
SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd-system-service', 'pipewire.service', '', d)}"
CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf"
FILES:${PN} = " \
${datadir}/pipewire \
${systemd_system_unitdir}/pipewire* \
${systemd_user_unitdir} \
${bindir}/pipewire \
${bindir}/pipewire-avb \
${bindir}/pipewire-vulkan \
"
RRECOMMENDS:${PN}:class-target += " \
pipewire-modules-meta \
pipewire-spa-plugins-meta \
"
FILES:${PN}-dev += " \
${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so \
"
CONFFILES:libpipewire += "${datadir}/pipewire/client.conf"
FILES:libpipewire = " \
${datadir}/pipewire/client.conf \
${libdir}/libpipewire-*.so.* \
"
# Add the bare minimum modules and plugins required to be able
# to use libpipewire. Without these, it is essentially unusable.
RDEPENDS:libpipewire += " \
${PN}-modules-client-node \
${PN}-modules-protocol-native \
${PN}-spa-plugins-support \
"
FILES:${PN}-tools = " \
${bindir}/pw-cat \
${bindir}/pw-cli \
${bindir}/pw-config \
${bindir}/pw-dot \
${bindir}/pw-dsdplay \
${bindir}/pw-dump \
${bindir}/pw-encplay \
${bindir}/pw-link \
${bindir}/pw-loopback \
${bindir}/pw-metadata \
${bindir}/pw-mididump \
${bindir}/pw-midiplay \
${bindir}/pw-midirecord \
${bindir}/pw-mon \
${bindir}/pw-play \
${bindir}/pw-profiler \
${bindir}/pw-record \
${bindir}/pw-reserve \
${bindir}/pw-top \
"
# This is a shim daemon that is intended to be used as a
# drop-in PulseAudio replacement, providing a pulseaudio-compatible
# socket that can be used by applications that use libpulse.
CONFFILES:${PN}-pulse += "${datadir}/pipewire/pipewire-pulse.conf"
FILES:${PN}-pulse = " \
${datadir}/pipewire/pipewire-pulse.conf \
${systemd_system_unitdir}/pipewire-pulse.* \
${systemd_user_unitdir}/pipewire-pulse.* \
${bindir}/pipewire-pulse \
"
RDEPENDS:${PN}-pulse += " \
${PN}-modules-protocol-pulse \
"
# ALSA plugin to redirect audio to pipewire.
FILES:${PN}-alsa = "\
${libdir}/alsa-lib/* \
${datadir}/alsa/alsa.conf.d/* \
"
# JACK drop-in libraries to redirect audio to pipewire.
CONFFILES:${PN}-jack = "${datadir}/pipewire/jack.conf"
FILES:${PN}-jack = "\
${bindir}/pw-jack \
${datadir}/pipewire/jack.conf \
${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so.* \
"
# Dynamic SPA plugin packages (see set_dynamic_metapkg_rdepends).
FILES:${PN}-spa-plugins = ""
RRECOMMENDS:${PN}-spa-plugins += "${PN}-spa-plugins-meta"
FILES:${PN}-spa-plugins-bluez5 += " \
${datadir}/${SPA_SUBDIR}/bluez5/* \
"
FILES:${PN}-spa-tools = " \
${bindir}/spa-* \
"
# Dynamic PipeWire module packages (see set_dynamic_metapkg_rdepends).
FILES:${PN}-modules = ""
RRECOMMENDS:${PN}-modules += "${PN}-modules-meta"
CONFFILES:${PN}-modules-rt = "${datadir}/pipewire/client-rt.conf"
FILES:${PN}-modules-rt += " \
${datadir}/pipewire/client-rt.conf \
${sysconfdir}/security/limits.d/* \
"
CONFFILES:${PN}-modules-filter-chain = "${datadir}/pipewire/filter-chain/*"
FILES:${PN}-modules-filter-chain += " \
${datadir}/pipewire/filter-chain/* \
"
FILES:${PN}-alsa-card-profile = " \
${datadir}/alsa-card-profile/* \
${nonarch_base_libdir}/udev/rules.d/90-pipewire-alsa.rules \
"
# V4L2 interface emulator for sending/receiving data between PipeWire and V4L2 applications.
FILES:${PN}-v4l2 += " \
${bindir}/pw-v4l2 \
${libdir}/${PW_MODULE_SUBDIR}/v4l2/libpw-v4l2.so \
"
# AES67 is a standard for audio over IP, from the Audio Engineering Society (AES).
FILES:${PN}-aes67 += " \
${bindir}/pipewire-aes67 \
"
FILES:gstreamer1.0-pipewire = " \
${libdir}/gstreamer-1.0/* \
"
BBCLASSEXTEND = "native nativesdk"

View File

@ -0,0 +1,5 @@
-- These features require a session DBus instance, which is not available
-- by default in OE generated images. The absence of such a DBus instance
-- causes WirePlumber to fail to start. Turn these off to prevent that.
alsa_monitor.properties["alsa.reserve"] = false
default_access.properties["enable-flatpak-portal"] = false

View File

@ -0,0 +1,145 @@
SUMMARY = "Session / policy manager implementation for PipeWire"
HOMEPAGE = "https://gitlab.freedesktop.org/pipewire/wireplumber"
BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/wireplumber/issues"
SECTION = "multimedia"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=17d1fe479cdec331eecbc65d26bc7e77"
DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \
${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \
"
SRCREV = "59d190a2bd400f3b093f99b16fc0fb06f6cb2cfe"
SRC_URI = " \
git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \
file://90-OE-disable-session-dbus-dependent-features.lua \
"
S = "${WORKDIR}/git"
inherit meson pkgconfig gobject-introspection systemd
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
# Enable system-lua to let wireplumber use OE's lua.
# Documentation needs python-sphinx, which is not in oe-core or meta-python2 for now.
# elogind is not (yet) available in OE, so disable support.
EXTRA_OEMESON += " \
-Ddoc=disabled \
-Dsystem-lua=true \
-Delogind=disabled \
-Dsystemd-system-unit-dir=${systemd_system_unitdir} \
-Dsystemd-user-unit-dir=${systemd_user_unitdir} \
-Dtests=false \
"
PACKAGECONFIG ??= " dbus \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \
"
PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=true,-Dsystemd-system-service=false,systemd"
# "systemd-user-service" packageconfig will only install service
# files to rootfs but not enable them as systemd.bbclass
# currently lacks the feature of enabling user services.
PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=true,-Dsystemd-user-service=false,systemd"
PACKAGECONFIG[dbus] = ""
PACKAGESPLITFUNCS:prepend = " split_dynamic_packages "
PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends "
WP_MODULE_SUBDIR = "wireplumber-0.5"
do_install:append() {
if ${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'false', 'true', d)}; then
install -m 0644 ${WORKDIR}/90-OE-disable-session-dbus-dependent-features.lua ${D}${datadir}/wireplumber/main.lua.d
fi
}
python split_dynamic_packages () {
# Create packages for each WirePlumber module.
wp_module_libdir = d.expand('${libdir}/${WP_MODULE_SUBDIR}')
do_split_packages(d, wp_module_libdir, r'^libwireplumber-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'WirePlumber %s module', extra_depends='', recursive=False)
}
python set_dynamic_metapkg_rdepends () {
import os
import oe.utils
# Go through all generated WirePlumber module packages
# (excluding the main package and the -meta package itself)
# and add them to the -meta package as RDEPENDS.
base_pn = d.getVar('PN')
wp_module_pn = base_pn + '-modules'
wp_module_metapkg = wp_module_pn + '-meta'
d.setVar('ALLOW_EMPTY:' + wp_module_metapkg, "1")
d.setVar('FILES:' + wp_module_metapkg, "")
blacklist = [ wp_module_pn, wp_module_metapkg ]
wp_module_metapkg_rdepends = []
pkgdest = d.getVar('PKGDEST')
for pkg in oe.utils.packages_filter_out_system(d):
if pkg in blacklist:
continue
is_wp_module_pkg = pkg.startswith(wp_module_pn)
if not is_wp_module_pkg:
continue
if pkg in wp_module_metapkg_rdepends:
continue
# See if the package is empty by looking at the contents of its
# PKGDEST subdirectory. If this subdirectory is empty, then then
# package is empty as well. Empty packages do not get added to
# the meta package's RDEPENDS.
pkgdir = os.path.join(pkgdest, pkg)
if os.path.exists(pkgdir):
dir_contents = os.listdir(pkgdir) or []
else:
dir_contents = []
is_empty = len(dir_contents) == 0
if not is_empty:
if is_wp_module_pkg:
wp_module_metapkg_rdepends.append(pkg)
d.setVar('RDEPENDS:' + wp_module_metapkg, ' '.join(wp_module_metapkg_rdepends))
d.setVar('DESCRIPTION:' + wp_module_metapkg, wp_module_pn + ' meta package')
}
PACKAGES =+ "\
libwireplumber \
${PN}-default-config \
${PN}-scripts \
${PN}-modules \
${PN}-modules-meta \
"
PACKAGES_DYNAMIC = "^${PN}-modules.*"
CONFFILES:${PN} += " \
${datadir}/wireplumber/wireplumber.conf \
${datadir}/wireplumber/*.lua.d/* \
"
# Add pipewire to RRECOMMENDS, since WirePlumber expects a PipeWire daemon to
# be present. While in theory any application that uses libpipewire can configure
# itself to become a daemon, in practice, the PipeWire daemon is used.
RRECOMMENDS:${PN} += "pipewire ${PN}-scripts ${PN}-modules-meta"
FILES:${PN} += "${systemd_user_unitdir} ${systemd_system_unitdir} ${datadir}/zsh"
FILES:libwireplumber = " \
${libdir}/libwireplumber-*.so.* \
"
FILES:${PN}-scripts += "${datadir}/wireplumber/scripts/*"
# Dynamic packages (see set_dynamic_metapkg_rdepends).
FILES:${PN}-modules = ""
RRECOMMENDS:${PN}-modules += "${PN}-modules-meta"

View File

@ -0,0 +1,37 @@
From 24650b0c7db6b213a2eaa5061b75b9f1b43f1ce9 Mon Sep 17 00:00:00 2001
From: Bartosz Golaszewski <brgl@bgdev.pl>
Date: Fri, 23 Nov 2018 11:44:56 +0100
Subject: [PATCH] build: don't look for Iconv
Drop the find_package() for Iconv. CMake is unable to find iconv.h in
native build but all modern systems supply it as part of the standard
C library. We don't need this check in meta-openembedded.
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Upstream-Status: Inappropriate
- upstream doxygen must build on many architectures, this change is
too intrusive for upstream
---
CMakeLists.txt | 4 ----
1 file changed, 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 06b9696f..f30b46b8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -117,10 +117,6 @@ if (sqlite3)
endif()
endif()
-find_package(Iconv REQUIRED)
-include_directories(${ICONV_INCLUDE_DIR})
-
-
#set(DOXYDOCS ${PROJECT_SOURCE_DIR}/doc CACHE INTERNAL "Path to doxygen docs")
set(DOXYDOCS ${PROJECT_BINARY_DIR}/doc)
set(ENV{DOXYGEN_DOCDIR} ${DOXYDOCS})
--
2.27.0

View File

@ -0,0 +1,232 @@
From daf686508f2ee4711d93e96e5b100e50bf161656 Mon Sep 17 00:00:00 2001
From: Leon Anavi <leon.anavi@konsulko.com>
Date: Wed, 26 Aug 2020 10:52:10 +0300
Subject: [PATCH] doxygen: Fix Python issues for doxygen-native
It fails to compile doxygen-native when /usr/bin/python is a link
to python3 on build host:
| Failed to import the site module
| Traceback (most recent call last):
| File "/usr/lib64/python3.6/site.py", line 564, in <module>
| main()
| File "/usr/lib64/python3.6/site.py", line 550, in main
| known_paths = addusersitepackages(known_paths)
| File "/usr/lib64/python3.6/site.py", line 282, in addusersitepackages
| user_site = getusersitepackages()
| File "/usr/lib64/python3.6/site.py", line 258, in getusersitepackages
| user_base = getuserbase() # this will also set USER_BASE
| File "/usr/lib64/python3.6/site.py", line 248, in getuserbase
| USER_BASE = get_config_var('userbase')
| File "/usr/lib64/python3.6/sysconfig.py", line 604, in get_config_var
| return get_config_vars().get(name)
| File "/usr/lib64/python3.6/sysconfig.py", line 553, in get_config_vars
| _init_posix(_CONFIG_VARS)
| File "/usr/lib64/python3.6/sysconfig.py", line 424, in _init_posix
| _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0)
| ModuleNotFoundError: No module named '_sysconfigdata'
Replace find_package PythonInterp with Python3 to fix this issue
that it uses python3 from python3-native. And it also replaces the
result variable PYTHON_EXECUTABLE with Python3_EXECUTABLE.
This patch is only needded by doxygen-native.
Updated to apply to release 1.9.1.
Upstream-Status: Inappropriate [oe specific]
Co-Authored-By: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
---
CMakeLists.txt | 2 +-
addon/doxywizard/CMakeLists.txt | 6 +++---
doc/CMakeLists.txt | 6 +++---
examples/CMakeLists.txt | 4 ++--
libmscgen/CMakeLists.txt | 2 +-
src/CMakeLists.txt | 10 +++++-----
testing/CMakeLists.txt | 4 ++--
7 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2455793..28f0d83 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -105,7 +105,7 @@ else ()
endif ()
find_program(DOT NAMES dot)
-find_package(PythonInterp REQUIRED)
+find_package(Python3 REQUIRED)
find_package(FLEX REQUIRED)
find_package(BISON REQUIRED)
if (BISON_VERSION VERSION_LESS 2.7)
diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt
index 63ac8e3..d37d1d0 100644
--- a/addon/doxywizard/CMakeLists.txt
+++ b/addon/doxywizard/CMakeLists.txt
@@ -57,7 +57,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/settings.h PROPERTIES GENERA
# generate version.cpp
add_custom_command(
- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp
+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp
DEPENDS ${PROJECT_SOURCE_DIR}/VERSION ${PROJECT_SOURCE_DIR}/src/version.py
OUTPUT ${GENERATED_SRC_WIZARD}/version.cpp
)
@@ -65,7 +65,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/version.cpp PROPERTIES GENER
# generate configdoc.cpp
add_custom_command(
- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/configgen.py -wiz ${PROJECT_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/configgen.py -wiz ${PROJECT_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
DEPENDS ${PROJECT_SOURCE_DIR}/src/configgen.py ${PROJECT_SOURCE_DIR}/src/config.xml
OUTPUT ${GENERATED_SRC_WIZARD}/configdoc.cpp
)
@@ -74,7 +74,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GEN
set(LEX_FILES config_doxyw)
foreach(lex_file ${LEX_FILES})
add_custom_command(
- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
DEPENDS ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l
OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
)
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index ec63ceb..49a2bda 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -168,7 +168,7 @@ configure_file(${PROJECT_SOURCE_DIR}/doc/doxyindexer.1 ${PROJECT_BINARY_DIR
# doc/language.doc (see tag Doxyfile:INPUT)
add_custom_command(
- COMMAND ${PYTHON_EXECUTABLE} translator.py ${PROJECT_SOURCE_DIR}
+ COMMAND ${Python3_EXECUTABLE} translator.py ${PROJECT_SOURCE_DIR}
DEPENDS ${PROJECT_SOURCE_DIR}/doc/maintainers.txt ${PROJECT_SOURCE_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py ${LANG_FILES}
OUTPUT language.doc
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc
@@ -177,7 +177,7 @@ set_source_files_properties(language.doc PROPERTIES GENERATED 1)
# doc/config.doc (see tag Doxyfile:INPUT)
add_custom_command(
- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc
+ COMMAND ${Python3_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc
DEPENDS ${TOP}/src/config.xml ${TOP}/src/configgen.py
OUTPUT config.doc
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
@@ -228,7 +228,7 @@ add_custom_target(docs_chm
COMMAND ${CMAKE_COMMAND} -E echo " for file in files:" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
COMMAND ${CMAKE_COMMAND} -E echo " if file.endswith('.html') or file.endswith('.png') or file.endswith('.css') or file.endswith('.gif'):" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
COMMAND ${CMAKE_COMMAND} -E echo " print(os.path.join(root, file))" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
- COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${PYTHON_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp
+ COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${Python3_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm "${HTML_HELP_COMPILER}" doxygen_manual.hhp || echo > nul
COMMAND ${CMAKE_COMMAND} -E rename ${PROJECT_BINARY_DIR}/chm/index.chm ${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm
DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 194b427..248b807 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -54,7 +54,7 @@ foreach (f_inp ${BASIC_EXAMPLES})
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/examples/${f}
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/latex/examples/${f}
COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen ${f}.cfg
- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex
+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex
DEPENDS doxygen ${f}.${f_ext} ${f}.cfg ${TOP}/examples/strip_example.py
OUTPUT ${PROJECT_BINARY_DIR}/html/examples/${f}/html/index.html ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex
)
@@ -73,7 +73,7 @@ if (DOT)
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/examples/diagrams
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/latex/examples/diagrams
COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen diagrams.cfg
- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman_doc.tex
+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex
DEPENDS doxygen diagrams_a.h diagrams_b.h diagrams_c.h diagrams_d.h diagrams_e.h diagrams.cfg ${TOP}/examples/strip_example.py
OUTPUT ${PROJECT_BINARY_DIR}/html/examples/diagrams/html/index.html ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman_doc.tex
)
diff --git a/libmscgen/CMakeLists.txt b/libmscgen/CMakeLists.txt
index 34cf4d8..f015afc 100644
--- a/libmscgen/CMakeLists.txt
+++ b/libmscgen/CMakeLists.txt
@@ -7,7 +7,7 @@ include_directories(
set(LEX_FILES mscgen_lexer)
foreach(lex_file ${LEX_FILES})
add_custom_command(
- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
DEPENDS ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l
OUTPUT ${GENERATED_SRC}/${lex_file}.l.h
)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 0e0c5f7..c1d3ca5 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -40,7 +40,7 @@ set_source_files_properties(${GENERATED_SRC}/settings.h PROPERTIES GENERATED 1)
# configvalues.h
add_custom_command(
- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maph ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.h
+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maph ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.h
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py
OUTPUT ${GENERATED_SRC}/configvalues.h
)
@@ -52,7 +52,7 @@ add_custom_target(
# configvalues.cpp
add_custom_command(
- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maps ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.cpp
+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maps ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.cpp
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py
OUTPUT ${GENERATED_SRC}/configvalues.cpp
)
@@ -60,7 +60,7 @@ set_source_files_properties(${GENERATED_SRC}/configvalues.cpp PROPERTIES GENERAT
# configoptions.cpp
add_custom_command(
- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -cpp ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configoptions.cpp
+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -cpp ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configoptions.cpp
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py
OUTPUT ${GENERATED_SRC}/configoptions.cpp
)
@@ -95,7 +95,7 @@ endif()
# resources.cpp
add_custom_command(
COMMENT "Generating ${GENERATED_SRC}/resources.cpp"
- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${PROJECT_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp
+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${PROJECT_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp
DEPENDS ${RESOURCES} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py
OUTPUT ${GENERATED_SRC}/resources.cpp
)
@@ -126,7 +126,7 @@ foreach(lex_file ${LEX_FILES})
set(LEX_FILES_H ${LEX_FILES_H} " " ${GENERATED_SRC}/${lex_file}.l.h CACHE INTERNAL "Stores generated files")
set(LEX_FILES_CPP ${LEX_FILES_CPP} " " ${GENERATED_SRC}/${lex_file}.cpp CACHE INTERNAL "Stores generated files")
add_custom_command(
- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l
OUTPUT ${GENERATED_SRC}/${lex_file}.l.h
)
diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt
index fd6912e..0af1865 100644
--- a/testing/CMakeLists.txt
+++ b/testing/CMakeLists.txt
@@ -1,7 +1,7 @@
# run all tests sequentially (keep for backward compatibility)
add_custom_target(tests
COMMENT "Running doxygen tests..."
- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
DEPENDS doxygen
)
@@ -19,6 +19,6 @@ foreach(TEST_FILE ${TEST_FILES})
string(REGEX REPLACE "^.*/([0-9][0-9][0-9]*).*$" "\\1" TEST_ID "${TEST_FILE}")
# add a test target for each test
add_test(NAME ${TEST_NAME}
- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $<TARGET_FILE:doxygen> --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $<TARGET_FILE:doxygen> --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
)
endforeach()

View File

@ -0,0 +1,21 @@
DESCRIPTION = "Doxygen is the de facto standard tool for generating documentation from annotated C++ sources."
HOMEPAGE = "http://www.doxygen.org/"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "flex-native bison-native"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz \
file://0001-build-don-t-look-for-Iconv.patch \
"
SRC_URI:append:class-native = " file://doxygen-native-only-check-python3.patch"
SRC_URI[sha256sum] = "f352dbc3221af7012b7b00935f2dfdc9fb67a97d43287d2f6c81c50449d254e0"
inherit cmake python3native
EXTRA_OECMAKE += "\
-DFLEX_TARGET_ARG_COMPILE_FLAGS='--noline' \
-DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines' \
"
BBCLASSEXTEND = "native nativesdk"

View File

@ -0,0 +1,59 @@
SUMMARY = "A library for bits of crypto UI and parsing etc"
DESCRIPTION = "GCR is a library for displaying certificates, and crypto UI, \
accessing key stores. It also provides the viewer for crypto files on the \
GNOME desktop."
HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcr"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/gcr/issues"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
DEPENDS = "p11-kit glib-2.0 libgcrypt gnupg-native \
${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}"
CACHED_CONFIGUREVARS += "ac_cv_path_GPG='gpg2'"
CFLAGS += "-D_GNU_SOURCE"
GNOMEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = "gtk_doc"
inherit gnomebase gtk-icon-cache gi-docgen features_check vala gobject-introspection gettext mime mime-xdg
REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', '', d)}"
SRC_URI[archive.sha256sum] = "e15e31329e0171229d552d25563f176c5b6179795bf91fae2b141f69a9b7c480"
PACKAGECONFIG ??= " \
${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gtk', '', d)} \
${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vapi', '', d)} \
"
PACKAGECONFIG[gtk] = "-Dgtk4=true,-Dgtk4=false,gtk4"
PACKAGECONFIG[ssh_agent] = "-Dssh_agent=true,-Dssh_agent=false,libsecret,openssh"
#'Use systemd socket activation for server programs'
PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
PACKAGECONFIG[vapi] = "-Dvapi=true,-Dvapi=false,"
FILES:${PN} += " \
${datadir}/dbus-1 \
${datadir}/gcr-4 \
${systemd_user_unitdir}/gcr-ssh-agent.socket \
${systemd_user_unitdir}/gcr-ssh-agent.service \
"
# http://errors.yoctoproject.org/Errors/Details/20229/
ARM_INSTRUCTION_SET:armv4 = "arm"
ARM_INSTRUCTION_SET:armv5 = "arm"
ARM_INSTRUCTION_SET:armv6 = "arm"
EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross"
do_write_config:append() {
cat >${WORKDIR}/meson-${PN}.cross <<EOF
[binaries]
gpg2 = '${bindir}/gpg2'
ssh-add = '${bindir}/ssh-add'
ssh-agent = '${bindir}/ssh-agent'
EOF
}

View File

@ -37,10 +37,12 @@ MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz"
SRC_URI[sha256sum] = "b8b61d6cf94fac64bf3a0bfc7af137c9dd2f8360033fdeb0cfe9612b77a99a72"
SRC_URI[sha256sum] = "fcefb3f132f8cc4711a9efa5b353c9ae9bb5eeff0246fa74dbc2f2f839b9e308"
S = "${WORKDIR}/gtk-${PV}"
CVE_PRODUCT = "gnome:gtk"
inherit meson gettext pkgconfig gi-docgen update-alternatives gsettings features_check gobject-introspection
# TBD: nativesdk
@ -66,10 +68,9 @@ PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)
PACKAGECONFIG[x11] = "-Dx11-backend=true,-Dx11-backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes xinerama"
PACKAGECONFIG[wayland] = "-Dwayland-backend=true,-Dwayland-backend=false,wayland wayland-protocols virtual/egl virtual/libgles2 wayland-native"
PACKAGECONFIG[cloudproviders] = "-Dcloudproviders=enabled,-Dcloudproviders=disabled,libcloudproviders"
PACKAGECONFIG[cups] = "-Dprint-cups=enabled,-Dprint-cups=disabled,cups,cups"
PACKAGECONFIG[cups] = "-Dprint-cups=enabled,-Dprint-cups=disabled,cups,cups gtk4-printbackend-cups"
PACKAGECONFIG[colord] = "-Dcolord=enabled,-Dcolord=disabled,colord"
PACKAGECONFIG[iso-codes] = ",,iso-codes,iso-codes"
PACKAGECONFIG[ffmpeg] = "-Dmedia-ffmpeg=enabled,-Dmedia-ffmpeg=disabled,ffmpeg"
# gtk4 wants gstreamer-player-1.0 -> gstreamer1.0-plugins-bad
PACKAGECONFIG[gstreamer] = "-Dmedia-gstreamer=enabled,-Dmedia-gstreamer=disabled,gstreamer1.0-plugins-bad"
PACKAGECONFIG[tracker] = "-Dtracker=enabled,-Dtracker=disabled,tracker,tracker-miners"

View File

@ -0,0 +1,22 @@
SUMMARY = "C++ bindings for the GTK+ toolkit V4"
HOMEPAGE = "http://www.gtkmm.org/"
SECTION = "libs"
LICENSE = "LGPL-2.1-only & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "glib-2.0-native atkmm-2.36 pangomm-2.48 glibmm-2.68 gtk4 cairomm-1.16 gdk-pixbuf-native"
BPN = "gtkmm"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase features_check
REQUIRED_DISTRO_FEATURES = "opengl"
SRC_URI[archive.sha256sum] = "9350a0444b744ca3dc69586ebd1b6707520922b6d9f4f232103ce603a271ecda"
EXTRA_OEMESON = "-Dbuild-demos=false"
FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"

View File

@ -0,0 +1,94 @@
From 4a89ddffbb14d747adbe3365ace4db87de52ba39 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Mon, 16 Sep 2013 16:08:28 +0200
Subject: [PATCH] build gtk- and gtk3-version for canberra_gtk_play
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
Upstream-Status: Pending
src/Makefile.am | 25 +++++++++++++++----------
1 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 56ed96d..fc72e1f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -319,9 +319,6 @@ endif
if HAVE_GTK_ANY
-bin_PROGRAMS += \
- canberra-gtk-play
-
include_HEADERS += \
canberra-gtk.h
@@ -329,6 +326,9 @@ endif
if HAVE_GTK3
+bin_PROGRAMS += \
+ canberra-gtk3-play
+
lib_LTLIBRARIES += \
libcanberra-gtk3.la
@@ -367,6 +367,9 @@ endif
if HAVE_GTK
+bin_PROGRAMS += \
+ canberra-gtk-play
+
lib_LTLIBRARIES += \
libcanberra-gtk.la
@@ -399,14 +402,17 @@ endif
if HAVE_GTK3
-canberra_gtk_play_LDADD = \
+canberra_gtk3_play_LDADD = \
$(GTK3_LIBS) \
libcanberra.la \
libcanberra-gtk3.la
-canberra_gtk_play_CFLAGS = \
+canberra_gtk3_play_CFLAGS = \
$(GTK3_CFLAGS)
-else
+canberra_gtk3_play_SOURCES = \
+ canberra-gtk-play.c
+
+endif
if HAVE_GTK
canberra_gtk_play_LDADD = \
@@ -416,7 +422,9 @@ canberra_gtk_play_LDADD = \
canberra_gtk_play_CFLAGS = \
$(GTK_CFLAGS)
-endif
+canberra_gtk_play_SOURCES = \
+ canberra-gtk-play.c
+
endif
if HAVE_GTK_ANY
@@ -424,9 +432,6 @@ if HAVE_GTK_ANY
dist_gsdgtkmodules_DATA = \
canberra-gtk-module.desktop
-canberra_gtk_play_SOURCES = \
- canberra-gtk-play.c
-
EXTRA_DIST += \
libcanberra-login-sound.desktop.in \
libcanberra-ready-sound.desktop.in \
--
1.7.6.5

View File

@ -0,0 +1,65 @@
From c0620e432650e81062c1967cc669829dbd29b310 Mon Sep 17 00:00:00 2001
From: Michael Meeks <michael.meeks@suse.com>
Date: Fri, 9 Nov 2012 16:16:40 +0000
Subject: [PATCH] gtk: Don't assume all GdkDisplays are GdkX11Displays:
broadway/wayland
---
Upstream-Status: Pending
src/canberra-gtk-module.c | 15 +++++++++++++++
src/canberra-gtk.c | 5 +++++
2 files changed, 20 insertions(+)
--- a/src/canberra-gtk-module.c
+++ b/src/canberra-gtk-module.c
@@ -307,6 +307,11 @@ static gint window_get_desktop(GdkDispla
guchar *data = NULL;
gint ret = -1;
+#ifdef GDK_IS_X11_DISPLAY
+ if (!GDK_IS_X11_DISPLAY(d))
+ return 0;
+#endif
+
if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w),
gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"),
0, G_MAXLONG, False, XA_CARDINAL, &type_return,
@@ -335,6 +340,11 @@ static gint display_get_desktop(GdkDispl
guchar *data = NULL;
gint ret = -1;
+#ifdef GDK_IS_X11_DISPLAY
+ if (!GDK_IS_X11_DISPLAY(d))
+ return 0;
+#endif
+
if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), DefaultRootWindow(GDK_DISPLAY_XDISPLAY(d)),
gdk_x11_get_xatom_by_name_for_display(d, "_NET_CURRENT_DESKTOP"),
0, G_MAXLONG, False, XA_CARDINAL, &type_return,
@@ -365,6 +375,11 @@ static gboolean window_is_xembed(GdkDisp
gboolean ret = FALSE;
Atom xembed;
+#ifdef GDK_IS_X11_DISPLAY
+ if (!GDK_IS_X11_DISPLAY(d))
+ return FALSE;
+#endif
+
/* Gnome Panel applets are XEMBED windows. We need to make sure we
* ignore them */
--- a/src/canberra-gtk.c
+++ b/src/canberra-gtk.c
@@ -185,6 +185,11 @@ static gint window_get_desktop(GdkDispla
guchar *data = NULL;
gint ret = -1;
+#ifdef GDK_IS_X11_DISPLAY
+ if (!GDK_IS_X11_DISPLAY(d))
+ return 0;
+#endif
+
if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w),
gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"),
0, G_MAXLONG, False, XA_CARDINAL, &type_return,

View File

@ -0,0 +1,65 @@
From dfd3ef4caac300f517f8eeb378f0b0f9ba6a9b06 Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Tue, 15 Aug 2023 15:41:03 +0200
Subject: [PATCH] remove dropped gtkdoc templates
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Upstream-Status: Pending
---
--- a/gtkdoc/gtk-doc.make 2011-08-25 23:20:22.000000000 +0200
+++ b/gtkdoc/gtk-doc.make 2023-08-15 18:08:02.430729073 +0200
@@ -33,9 +33,9 @@
$(HTML_IMAGES) \
$(SETUP_FILES)
-DOC_STAMPS=setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \
+DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \
html-build.stamp pdf-build.stamp \
- tmpl.stamp sgml.stamp html.stamp pdf.stamp
+ sgml.stamp html.stamp pdf.stamp
SCANOBJ_FILES = \
$(DOC_MODULE).args \
@@ -120,27 +120,12 @@
$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
@true
-#### templates ####
-
-tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
- @echo ' DOC Rebuilding template files'
- @gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
- @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- if test -w $(abs_srcdir) ; then \
- cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \
- fi \
- fi
- @touch tmpl-build.stamp
-
-tmpl.stamp: tmpl-build.stamp
- @true
-
$(srcdir)/tmpl/*.sgml:
@true
#### xml ####
-sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
+sgml-build.stamp: $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
@echo ' DOC Building XML'
@-chmod -R u+w $(srcdir)
@_source_dir='' ; \
--- a/gtkdoc/Makefile.am 2009-01-21 21:52:46.000000000 +0100
+++ b/gtkdoc/Makefile.am 2023-08-15 17:41:59.002498772 +0200
@@ -31,10 +31,6 @@
# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
MKDB_OPTIONS=--sgml-mode --output-format=xml
-# Extra options to supply to gtkdoc-mktmpl
-# e.g. MKTMPL_OPTIONS=--only-section-tmpl
-MKTMPL_OPTIONS=
-
# Extra options to supply to gtkdoc-fixref. Not normally needed.
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
FIXXREF_OPTIONS=

View File

@ -1,30 +1,64 @@
SUMMARY = "An implementation of XDG Sound Theme and Name specification for generating sound events on free desktops"
HOMEPAGE = "http://0pointer.de/lennart/projects/libcanberra"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1"
SUMMARY = "Implementation of XDG Sound Theme and Name Specifications"
DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops."
LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
file://src/canberra.h;beginline=7;endline=24;md5=c616c687cf8da540a14f917e0d23ab03"
SRC_URI = "http://0pointer.de/lennart/projects/libcanberra/libcanberra-${PV}.tar.xz"
DEPENDS = "libtool libvorbis"
inherit autotools gtk-doc
SRC_URI = " \
http://0pointer.de/lennart/projects/${BPN}/${BPN}-${PV}.tar.xz \
file://0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch \
file://0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch \
file://0001-remove-dropped-templates.patch \
"
SRC_URI[md5sum] = "34cb7e4430afaf6f447c4ebdb9b42072"
SRC_URI[sha256sum] = "c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72"
DEPENDS = "libtool glib-2.0 alsa-lib libvorbis systemd gtk+3"
FILES:${PN} += "\
${libdir}/${PN}-${PV} \
${datadir}/gnome \
${datadir}/gdm \
${libdir}/gtk-3.0 \
"
FILES:${PN}-dev += "\
${libdir}/gnome-settings-daemon-3.0 \
${libdir}/gtk-3.0/modules/libcanberra-gtk-module.so \
EXTRA_OECONF = "\
--enable-null \
--disable-oss \
--disable-tdb \
--disable-lynx \
"
do_install:append () {
rm -rf ${D}/${datadir}/vala
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk gtk3', '', d)} \
"
PACKAGECONFIG[alsa] = "--enable-alsa, --disable-alsa, alsa-lib"
PACKAGECONFIG[pulseaudio] = "--enable-pulse, --disable-pulse, pulseaudio"
PACKAGECONFIG[gstreamer] = "--enable-gstreamer, --disable-gstreamer, gstreamer1.0"
PACKAGECONFIG[gtk] = "--enable-gtk, --disable-gtk, gtk+"
PACKAGECONFIG[gtk3] = "--enable-gtk3, --disable-gtk3, gtk+3"
python populate_packages:prepend() {
plugindir = d.expand('${libdir}/${BPN}-${PV}/')
do_split_packages(d, plugindir, r'^libcanberra-(.*)\.so$', 'libcanberra-%s', '%s support library', extra_depends='' )
do_split_packages(d, plugindir, r'^libcanberra-(.*)\.la$', 'libcanberra-%s', '%s support library', extra_depends='' )
}
inherit pkgconfig autotools
PACKAGES =+ "${PN}-gnome ${PN}-gtk2 ${PN}-gtk3 ${PN}-systemd"
PACKAGES_DYNAMIC += "^libcanberra-.*"
EXTRA_OECONF = "--disable-oss --disable-pulse --disable-gstreamer --disable-tdb --disable-lynx --disable-gtk-doc --disable-udev"
FILES:${PN} = "${bindir}/ ${libdir}/${BPN}.so.*"
FILES:${PN}-dev += "${datadir}/vala/vapi ${libdir}/*/modules/*.la ${libdir}/*/*.la"
FILES:${PN}-dbg += "${libdir}/${BPN}-${PV}/.debug ${libdir}/gtk-*/modules/.debug"
FILES:${PN}-gtk2 = "${libdir}/${BPN}-gtk.so.* \
${libdir}/gtk-2.0/modules/*.so \
${bindir}/canberra-gtk-play"
# -gtk3 ships a symlink to a .so
INSANE_SKIP:${PN}-gtk3 = "dev-so"
FILES:${PN}-gtk3 = "${libdir}/${BPN}-gtk3.so.* \
${libdir}/gtk-3.0/modules/*.so \
${bindir}/canberra-gtk3-play"
FILES:${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/ \
${datadir}/gdm/ ${datadir}/gnome/"
FILES:${PN}-systemd = "${systemd_unitdir}/system/*.service"

View File

@ -0,0 +1,44 @@
SUMMARY = "Reference implementation of JPEG XL (encoder and decoder)"
HOMEPAGE = "https://github.com/libjxl/libjxl/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=6a905a337cc228a1f68f0b5416f52a7f"
inherit cmake pkgconfig pixbufcache mime
DEPENDS = "gdk-pixbuf gdk-pixbuf-native"
SRC_URI = " \
gitsm://github.com/libjxl/libjxl.git;protocol=https;nobranch=1 \
"
PV = "0.10.2"
SRCREV = "e1489592a770b989303b0edc5cc1dc447bbe0515"
S = "${WORKDIR}/git"
EXTRA_OECMAKE = " \
-DJPEGXL_BUNDLE_LIBPNG=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DJPEGXL_ENABLE_PLUGINS=ON\
-DBUILD_TESTING=OFF \
-DJPEGXL_WARNINGS_AS_ERRORS=OFF \
-DJPEGXL_ENABLE_SIZELESS_VECTORS=ON \
-DJPEGXL_ENABLE_SIZELESS_VECTORS=ON \
-DJPEGXL_ENABLE_SJPEG=OFF \
-DJPEGXL_ENABLE_BENCHMARK=OFF \
-DJPEGXL_ENABLE_EXAMPLES=OFF \
-DJPEGXL_ENABLE_MANPAGES=OFF \
-DJPEGXL_ENABLE_SKCMS=OFF \
-DJPEGXL_ENABLE_JNI=OFF \
-DJPEGXL_ENABLE_TCMALLOC=OFF \
-DJPEGXL_ENABLE_TOOLS=OFF \
-DJPEGXL_ENABLE_VIEWERS=OFF \
"
CXXFLAGS:append:arm = " -mfp16-format=ieee"
FILES:${PN} += "\
${libdir}/gdk-pixbuf-2.0/*/*/*.so \
${datadir}/thumbnailers/jxl.thumbnailer \
${datadir}/mime/packages/image-jxl.xml \
"

View File

@ -0,0 +1,56 @@
SUMMARY = "Opus Audio Codec"
DESCRIPTION = "The Opus codec is designed for interactive \
speech and audio transmission over the Internet. It is \
designed by the IETF Codec Working Group and incorporates \
technology from Skype's SILK codec and Xiph.Org's CELT codec."
HOMEPAGE = "http://www.opus-codec.org/"
SECTION = "libs/multimedia"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=4b365c2155d66e550e1447075d6744a5"
SRC_URI = "http://downloads.xiph.org/releases/opus/opus-${PV}.tar.gz"
SRC_URI[sha256sum] = "b84610959b8d417b611aa12a22565e0a3732097c6389d19098d844543e340f85"
S = "${WORKDIR}/opus-${PV}"
inherit autotools pkgconfig
PACKAGECONFIG ??= ""
PACKAGECONFIG[fixed-point] = "--enable-fixed-point,,"
PACKAGECONFIG[float-approx] = "--enable-float-approx,,"
EXTRA_OECONF = " \
--with-NE10-includes=${STAGING_DIR_TARGET}${includedir} \
--with-NE10-libraries=${STAGING_DIR_TARGET}${libdir} \
--enable-asm \
--enable-intrinsics \
--enable-custom-modes \
"
# ne10 is available only for armv7a, armv7ve and aarch64
DEPENDS:append:aarch64 = " ne10"
DEPENDS:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon"," ne10","",d)}"
DEPENDS:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon"," ne10","",d)}"
python () {
if d.getVar('TARGET_FPU') in [ 'soft' ]:
d.appendVar('PACKAGECONFIG', ' fixed-point')
}
# Fails to build with thumb-1 (qemuarm)
#| {standard input}: Assembler messages:
#| {standard input}:389: Error: selected processor does not support Thumb mode `smull r5,r7,r1,r4'
#| {standard input}:418: Error: selected processor does not support Thumb mode `smull r5,r6,r4,r1'
#| {standard input}:448: Error: selected processor does not support Thumb mode `smull r4,r5,r1,r0'
#| {standard input}:474: Error: selected processor does not support Thumb mode `smull r0,r4,r8,r1'
#| {standard input}:510: Error: selected processor does not support Thumb mode `smull fp,r0,r10,r1'
#| {standard input}:553: Error: selected processor does not support Thumb mode `smull fp,r1,r10,r3'
#| {standard input}:741: Error: selected processor does not support Thumb mode `smull r3,r0,r6,r10'
#| {standard input}:761: Error: selected processor does not support Thumb mode `smull fp,r2,r3,r9'
#| {standard input}:773: Error: selected processor does not support Thumb mode `smull fp,r3,r5,r8'
#| make[2]: *** [celt/celt.lo] Error 1
ARM_INSTRUCTION_SET:armv5 = "arm"
BBCLASSEXTEND = "native nativesdk"
CVE_PRODUCT += "opus-codec:opus"

View File

@ -1,15 +0,0 @@
SUMMARY = "Library to identify and configure Wacom tablets"
HOMEPAGE = "http://linuxwacom.sourceforge.net/wiki/index.php/Libwacom"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e"
SRC_URI = "https://downloads.sourceforge.net/linuxwacom/libwacom-${PV}.tar.bz2"
SRC_URI[md5sum] = "00d7f50bc7feda6a01f2b2546f787bc9"
SRC_URI[sha256sum] = "c3e4109c8aa675ca42cafbf39992dcd1fd6582314441c42ba32b49f5b79cfb76"
DEPENDS = "libgudev libxml2 glib-2.0"
inherit pkgconfig autotools
EXTRA_OECONF = ""

View File

@ -0,0 +1,24 @@
SUMMARY = "A tablet description library"
DESCRIPTION = "libwacom is a library to identify Wacom tablets and their model-specific features. \
It provides easy access to information such as 'is this a built-in on-screen tablet\', \
'what is the size of this model', etc."
HOMEPAGE = "https://github.com/linuxwacom/libwacom"
BUGTRACKER = "https://github.com/linuxwacom/libwacom/issues"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e"
SRC_URI = "git://github.com/linuxwacom/libwacom.git;branch=master;protocol=https"
SRCREV = "f5b92814320d0a5745b50b7b36103843ad23e299"
DEPENDS = " \
libxml2-native \
libgudev \
"
S = "${WORKDIR}/git"
inherit meson pkgconfig
EXTRA_OEMESON = " \
-Dtests=disabled \
"

View File

@ -0,0 +1,23 @@
SUMMARY = "C++ bindings for the atk"
SECTION = "libs"
LICENSE = "LGPL-2.1-only & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "atk glibmm-2.68"
GNOMEBN = "atkmm"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase features_check
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
SRC_URI[archive.sha256sum] = "6f62dd99f746985e573605937577ccfc944368f606a71ca46342d70e1cdae079"
S = "${WORKDIR}/${GNOMEBN}-${PV}"
EXTRA_OEMESON = "-Dbuild-documentation=false"
FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"

View File

@ -1,19 +0,0 @@
SUMMARY = "C++ bindings for the atk"
SECTION = "libs"
LICENSE = "LGPL-2.1-only & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "atk glibmm"
inherit features_check gnomebase autotools pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI[archive.md5sum] = "6194ac577f15567adfa3c923944c6651"
SRC_URI[archive.sha256sum] = "4c4cfc917fd42d3879ce997b463428d6982affa0fb660cafcc0bc2d9afcedd3a"
EXTRA_OECONF = " --disable-documentation "
FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"

View File

@ -0,0 +1,18 @@
SUMMARY = "C++ bindings for Cairo graphics library"
LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase
DEPENDS += "boost cairo libsigc++-3"
SRC_URI = "https://www.cairographics.org/releases/cairomm-${PV}.tar.xz"
SRC_URI[sha256sum] = "b81255394e3ea8e8aa887276d22afa8985fc8daef60692eb2407d23049f03cfb"
S = "${WORKDIR}/cairomm-${PV}"
FILES:${PN}-doc += "${datadir}/devhelp"
FILES:${PN}-dev += "${libdir}/cairomm-*/"

View File

@ -1,15 +0,0 @@
SUMMARY = "C++ bindings for Cairo graphics library"
LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
inherit gnomebase
DEPENDS = "cairo libsigc++-2.0"
SRC_URI[archive.md5sum] = "c62b476b61bd0abf7e9851f417d73291"
SRC_URI[archive.sha256sum] = "a54ada8394a86182525c0762e6f50db6b9212a2109280d13ec6a0b29bfd1afe6"
FILES:${PN}-doc += "${datadir}/devhelp"
FILES:${PN}-dev += "${libdir}/cairomm-*/"

View File

@ -0,0 +1,33 @@
SUMMARY = "C++ bindings for the glib library"
HOMEPAGE = "http://www.gtkmm.org/"
SECTION = "libs"
LICENSE = "LGPL-2.1-only & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "mm-common glib-2.0 libsigc++-3 glib-2.0-native"
GNOMEBN = "glibmm"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase
SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
SRC_URI[archive.sha256sum] = "5d2e872564996f02a06d8bbac3677e7c394af8b00dd1526aebd47af842a3ef50"
S = "${WORKDIR}/${GNOMEBN}-${PV}"
FILES:${PN} = "${libdir}/lib*.so.*"
FILES:${PN}-dev += "${datadir}/glibmm-* ${libdir}/${BPN}/include/ ${libdir}/${BPN}/proc/ ${libdir}/giomm-2.68/include/"
RDEPENDS:${PN}-dev = "perl"
EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross -Dmaintainer-mode=false"
do_write_config:append() {
cat >${WORKDIR}/meson-${PN}.cross <<EOF
[binaries]
m4 = '${bindir}/m4'
perl = '${bindir}/perl'
EOF
}

View File

@ -1,40 +0,0 @@
From 52360260c0d73a00082d867bc416225fbc2b657e Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Tue, 12 Jul 2011 11:46:37 +0200
Subject: [PATCH] glibmm: add 2.28.2
---
Makefile.am | 7 +------
configure.ac | 1 -
2 files changed, 1 insertion(+), 7 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 1b366b4..0ff58b5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -23,12 +23,7 @@ src_subdirs = glib/src gio/src
else
src_subdirs =
endif
-if ENABLE_DOCUMENTATION
-doc_subdirs = docs
-else
-doc_subdirs =
-endif
-SUBDIRS = tools $(src_subdirs) glib/glibmm gio/giomm tests examples $(doc_subdirs)
+SUBDIRS = tools $(src_subdirs) glib/glibmm gio/giomm tests
glibmm_includedir = $(includedir)/$(GLIBMM_MODULE_NAME)
glibmm_include_HEADERS = glib/glibmm.h
diff --git a/configure.ac b/configure.ac
index e706687..198e0d0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -166,7 +166,6 @@ AC_CONFIG_FILES([Makefile
gio/src/Makefile
gio/giomm/Makefile
tests/Makefile
- examples/Makefile
docs/Makefile
docs/reference/Doxyfile
MSVC_NMake/glibmm/glibmm.rc

View File

@ -1,35 +0,0 @@
SUMMARY = "C++ bindings for the glib library"
HOMEPAGE = "http://www.gtkmm.org/"
SECTION = "libs"
LICENSE = "LGPL-2.1-only & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "mm-common glib-2.0 libsigc++-2.0 glib-2.0-native"
inherit gnomebase
SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
SRC_URI += " \
file://remove-examples.patch \
"
SRC_URI[archive.md5sum] = "7da228e3f0c6a10024b9a7708c53691e"
SRC_URI[archive.sha256sum] = "36659f13cc73282392d1305858f3bbca46fbd1ce2f078cc9db8b9f79b2e93cfe"
do_install:append() {
install -d ${D}${datadir}/glibmm-2.4
install -d ${D}${datadir}/aclocal
install -m 0644 glib/glibmmconfig.h ${D}${datadir}/glibmm-2.4/
install -m 0644 scripts/glibmm_check_perl.m4 ${D}${datadir}/aclocal/ || true
for i in generate_wrap_init.pl gmmproc; do
sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/glibmm-2.4/proc/$i
done
}
FILES:${PN} = "${libdir}/lib*.so.*"
FILES:${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
RDEPENDS:${PN}-dev = "perl"
SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"

View File

@ -1,51 +0,0 @@
From 6914eccee34376f9067b0ee9f17039fe182125e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 31 Mar 2018 22:29:16 +0200
Subject: [PATCH] do not build demos
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
They are not installed anyway and add libepoxy dependency
Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
Makefile.am | 3 ++-
configure.ac | 3 ---
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 984b6a7..6c754a6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -28,7 +28,8 @@ doc_subdirs = docs
else
doc_subdirs =
endif
-SUBDIRS = tools $(src_subdirs) gdk/gdkmm gtk/gtkmm tests demos $(doc_subdirs)
+
+SUBDIRS = tools $(src_subdirs) gdk/gdkmm gtk/gtkmm tests $(doc_subdirs)
gdkmm_includedir = $(includedir)/$(GDKMM_MODULE_NAME)
gdkmm_include_HEADERS = gdk/gdkmm.h
diff --git a/configure.ac b/configure.ac
index e5e82dc..c1c7658 100644
--- a/configure.ac
+++ b/configure.ac
@@ -109,11 +109,8 @@ AS_IF([test "x$gtkmm_enable_api_atkmm" != xno],
[GTKMM_MODULES="atkmm-1.6 >= 2.24.2 $GTKMM_MODULES"])
AC_SUBST([GTKMM_MODULES])
-AC_SUBST([GTKMM_DEMOS_EXTRA_MODULES], ['epoxy >= 1.2'])
-
PKG_CHECK_MODULES([GDKMM], [$GDKMM_MODULES])
PKG_CHECK_MODULES([GTKMM], [$GTKMM_MODULES])
-PKG_CHECK_MODULES([GTKMM_DEMOS_EXTRA], [$GTKMM_DEMOS_EXTRA_MODULES])
MM_PKG_CONFIG_SUBST([GTHREAD_CFLAGS], [--cflags-only-other gthread-2.0])
MM_PKG_CONFIG_SUBST([GTHREAD_LIBS], [--libs gthread-2.0])
--
2.14.3

View File

@ -1,23 +0,0 @@
SUMMARY = "C++ bindings for the GTK+ toolkit V3"
HOMEPAGE = "http://www.gtkmm.org/"
SECTION = "libs"
LICENSE = "LGPL-2.1-only & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "atkmm pangomm glibmm gtk+3 cairomm"
BPN = "gtkmm"
inherit gnomebase features_check
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI[archive.md5sum] = "e311db484ca9c53f1689d35f5f58a06b"
SRC_URI[archive.sha256sum] = "6d71091bcd1863133460d4188d04102810e9123de19706fb656b7bb915b4adc3"
SRC_URI += "file://0001-do-not-build-demos.patch"
EXTRA_OECONF = " --disable-documentation "
FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"

View File

@ -4,15 +4,16 @@ LICENSE = "LGPL-2.1-only & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "mm-common cairomm glibmm pango"
DEPENDS = "mm-common cairomm-1.16 glibmm-2.68 pango"
GNOMEBN = "pangomm"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase features_check
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
SRC_URI[archive.sha256sum] = "ccc9923413e408c2bff637df663248327d72822f11e394b423e1c5652b7d9214"
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI[archive.sha256sum] = "57442ab4dc043877bfe3839915731ab2d693fc6634a71614422fb530c9eaa6f4"
S = "${WORKDIR}/${GNOMEBN}-${PV}"
FILES:${PN} = "${libdir}/lib*.so.*"
FILES:${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/"

View File

@ -0,0 +1,23 @@
DESCRIPTION = "REALTIMEKIT Realtime Policy and Watchdog Daemon"
LICENSE = "GPL-3.0-only & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a8e768468b658b3ed44971b53d4a6716"
SRC_URI = "git://github.com/heftig/rtkit.git;protocol=https;branch=master"
SRCREV = "b9169402fe5e82d20efb754509eb0b191f214599"
S = "${WORKDIR}/git"
inherit meson pkgconfig features_check useradd
REQUIRED_DISTRO_FEATURES = "polkit"
DEPENDS = "dbus libcap polkit xxd-native"
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[systemd] = ",,systemd"
USERADD_PACKAGES = "${PN}"
USERADD_PARAM:${PN} = "--system --no-create-home --user-group --shell /bin/nologin rtkit"
FILES:${PN} += "${libdir} ${datadir} ${systemd_system_unitdir}"