diff mbox series

[meta-gnome,5/6] gnome-shell: update

Message ID 20260903081916.156273-5-f_l_k@t-online.de
State New
Headers show
Series [meta-gnome,1/6] glycin: add recipe | expand

Commit Message

Markus Volk Sept. 3, 2026, 8:19 a.m. UTC
Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 ...ver-Fix-build-failure-with-libical-4.patch | 44 ++++++++++++++++++
 ...nome-shell_48.8.bb => gnome-shell_50.4.bb} | 45 ++++++++++++-------
 2 files changed, 73 insertions(+), 16 deletions(-)
 create mode 100644 meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0002-calendar-server-Fix-build-failure-with-libical-4.patch
 rename meta-gnome/recipes-gnome/gnome-shell/{gnome-shell_48.8.bb => gnome-shell_50.4.bb} (65%)

Comments

Ankur Tyagi Sept. 3, 2026, 8:22 a.m. UTC | #1
will be good to include from and to version in the commit message as well

On Thu, Sep 3, 2026 at 8:19 PM Markus Volk via lists.openembedded.org
<f_l_k=t-online.de@lists.openembedded.org> wrote:
>
> Signed-off-by: Markus Volk <f_l_k@t-online.de>
> ---
>  ...ver-Fix-build-failure-with-libical-4.patch | 44 ++++++++++++++++++
>  ...nome-shell_48.8.bb => gnome-shell_50.4.bb} | 45 ++++++++++++-------
>  2 files changed, 73 insertions(+), 16 deletions(-)
>  create mode 100644 meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0002-calendar-server-Fix-build-failure-with-libical-4.patch
>  rename meta-gnome/recipes-gnome/gnome-shell/{gnome-shell_48.8.bb => gnome-shell_50.4.bb} (65%)
>
> diff --git a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0002-calendar-server-Fix-build-failure-with-libical-4.patch b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0002-calendar-server-Fix-build-failure-with-libical-4.patch
> new file mode 100644
> index 0000000000..d64cf38ccc
> --- /dev/null
> +++ b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0002-calendar-server-Fix-build-failure-with-libical-4.patch
> @@ -0,0 +1,44 @@
> +From 91eaa9221b45b506d7a5d84a9ec8c204b5c8c34f Mon Sep 17 00:00:00 2001
> +From: Xi Ruoyao <xry111@xry111.site>
> +Date: Fri, 8 May 2026 13:13:37 +0800
> +Subject: [PATCH] calendar-server: Fix build failure with libical 4
> +
> +Fix the following build error with libical 4 due to function signature changes:
> +
> +    error: passing argument 4 of 'get_time_from_property' from incompatible pointer type [-Wincompatible-pointer-types]
> +    note: expected 'ICalTime * (*)(ICalProperty *)' but argument is of type 'ICalTime * (*)(const ICalProperty *)'
> +
> +Link: https://github.com/libical/libical/blob/4.0/docs/MigrationGuide_to_4.md
> +Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4215>
> +
> +Only the gnome-shell-calendar-server.c hunk of the upstream commit is taken;
> +src/calendar-server/reminder-watcher.c does not exist in the 50.x series.
> +
> +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/b34766f3992c7616b7816a47249fb463c053e5fa]
> +---
> + src/calendar-server/gnome-shell-calendar-server.c | 8 +++++++-
> + 1 file changed, 7 insertions(+), 1 deletion(-)
> +
> +diff --git a/src/calendar-server/gnome-shell-calendar-server.c b/src/calendar-server/gnome-shell-calendar-server.c
> +index 0b2f88eb7..622c16181 100644
> +--- a/src/calendar-server/gnome-shell-calendar-server.c
> ++++ b/src/calendar-server/gnome-shell-calendar-server.c
> +@@ -112,11 +112,17 @@ typedef struct
> +   time_t  end_time;
> + } CalendarAppointment;
> +
> ++#if ICAL_CHECK_VERSION(4, 0, 0)
> ++typedef ICalTime * (* GetICalPropFunc) (const ICalProperty *prop);
> ++#else
> ++typedef ICalTime * (* GetICalPropFunc) (ICalProperty *prop);
> ++#endif
> ++
> + static gboolean
> + get_time_from_property (ECalClient            *cal,
> +                         ICalComponent         *icomp,
> +                         ICalPropertyKind       prop_kind,
> +-                        ICalTime * (* get_prop_func) (ICalProperty *prop),
> ++                        GetICalPropFunc        get_prop_func,
> +                         ICalTimezone          *default_zone,
> +                         ICalTime              **out_itt,
> +                         ICalTimezone          **out_timezone)
> diff --git a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.8.bb b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_50.4.bb
> similarity index 65%
> rename from meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.8.bb
> rename to meta-gnome/recipes-gnome/gnome-shell/gnome-shell_50.4.bb
> index e8b1bd6d0c..f39d72532e 100644
> --- a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.8.bb
> +++ b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_50.4.bb
> @@ -2,48 +2,58 @@ SUMMARY = "GNOME Shell is the graphical shell of the GNOME desktop environment"
>  LICENSE = "GPL-2.0-only"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>
> -
>  DEPENDS = " \
>      libxml2-native \
> -    gtk4 \
> -    mutter \
> +    at-spi2-core \
>      evolution-data-server \
>      gcr \
> -    geocode-glib \
> +    gdk-pixbuf \
>      gjs \
>      gnome-autoar \
>      gnome-desktop \
> -    gnome-control-center \
> -    polkit \
> -    pipewire \
> -    libsoup-3.0 \
> -    ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'startup-notification', d)} \
> -    ibus \
>      gsettings-desktop-schemas \
> +    gtk4 \
> +    libsoup-3.0 \
> +    libxml2 \
> +    mutter \
> +    pango \
> +    polkit \
>  "
>
>  inherit gnomebase gsettings gettext gobject-introspection gtk-icon-cache features_check bash-completion
>
> -REQUIRED_DISTRO_FEATURES = "polkit systemd pam"
> +REQUIRED_DISTRO_FEATURES = "polkit systemd pam wayland"
>
>  GTKIC_VERSION = "4"
> -GTKDOC_MESON_OPTION = "gtk_doc"
>  GIR_MESON_OPTION = ""
>
>  # gobject-introspection is mandatory and cannot be configured
>  REQUIRED_DISTRO_FEATURES += "gobject-introspection-data"
>
>  SRC_URI += "file://0001-shell-app-usage.c-only-include-x11-headers-if-HAVE_X.patch"
> -SRC_URI[archive.sha256sum] = "cb9b7d86cf362530e648e68caaf109a32af4e832874a26791ca8789773efd233"
> -
> -PACKAGECONFIG ??= "bluetooth nm ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
> +SRC_URI += "file://0002-calendar-server-Fix-build-failure-with-libical-4.patch"
> +SRC_URI[archive.sha256sum] = "c531939539db316a41aef23670370abd1330d3254f84bcb0f9f4dae5d6e362cf"
> +
> +PACKAGECONFIG ??= " \
> +    camera-monitor \
> +    extensions-tool \
> +    nm \
> +    portal-helper \
> +    bluetooth \
> +    ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
> +"
>  PACKAGECONFIG[bluetooth] = ",,gnome-bluetooth"
> -PACKAGECONFIG[nm] = "-Dnetworkmanager=true, -Dnetworkmanager=false,networkmanager libsecret,networkmanager"
> +PACKAGECONFIG[camera-monitor] = "-Dcamera_monitor=true, -Dcamera_monitor=false, pipewire"
> +PACKAGECONFIG[extensions-app] = "-Dextensions_app=true, -Dextensions_app=false"
> +PACKAGECONFIG[extensions-tool] = "-Dextensions_tool=true, -Dextensions_tool=false, gnome-autoar json-glib libsoup-3.0"
> +PACKAGECONFIG[nm] = "-Dnetworkmanager=true, -Dnetworkmanager=false, networkmanager libsecret, networkmanager"
> +PACKAGECONFIG[portal-helper] = "-Dportal_helper=true, -Dportal_helper=false"
>  PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd"
>
>  EXTRA_OEMESON += " \
>      -Dtests=false \
>      -Dman=false \
> +    -Dgtk_doc=false \
>      --cross-file=${WORKDIR}/meson-${PN}.cross \
>  "
>
> @@ -88,6 +98,9 @@ RDEPENDS:${PN} += " \
>         librsvg-gtk \
>  "
>
> +# The extensions app is a GJS application and pulls libadwaita at runtime only.
> +RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'extensions-app', 'libadwaita', '', d)}"
> +
>  PACKAGES =+ "${PN}-tools ${PN}-gsettings"
>  FILES:${PN}-tools = "${bindir}/*-tool"
>  RDEPENDS:${PN}-tools = "python3-core"
> --
> 2.55.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#129707): https://lists.openembedded.org/g/openembedded-devel/message/129707
> Mute This Topic: https://lists.openembedded.org/mt/121065948/3619737
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [ankur.tyagi85@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0002-calendar-server-Fix-build-failure-with-libical-4.patch b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0002-calendar-server-Fix-build-failure-with-libical-4.patch
new file mode 100644
index 0000000000..d64cf38ccc
--- /dev/null
+++ b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0002-calendar-server-Fix-build-failure-with-libical-4.patch
@@ -0,0 +1,44 @@ 
+From 91eaa9221b45b506d7a5d84a9ec8c204b5c8c34f Mon Sep 17 00:00:00 2001
+From: Xi Ruoyao <xry111@xry111.site>
+Date: Fri, 8 May 2026 13:13:37 +0800
+Subject: [PATCH] calendar-server: Fix build failure with libical 4
+
+Fix the following build error with libical 4 due to function signature changes:
+
+    error: passing argument 4 of 'get_time_from_property' from incompatible pointer type [-Wincompatible-pointer-types]
+    note: expected 'ICalTime * (*)(ICalProperty *)' but argument is of type 'ICalTime * (*)(const ICalProperty *)'
+
+Link: https://github.com/libical/libical/blob/4.0/docs/MigrationGuide_to_4.md
+Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4215>
+
+Only the gnome-shell-calendar-server.c hunk of the upstream commit is taken;
+src/calendar-server/reminder-watcher.c does not exist in the 50.x series.
+
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/b34766f3992c7616b7816a47249fb463c053e5fa]
+---
+ src/calendar-server/gnome-shell-calendar-server.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/src/calendar-server/gnome-shell-calendar-server.c b/src/calendar-server/gnome-shell-calendar-server.c
+index 0b2f88eb7..622c16181 100644
+--- a/src/calendar-server/gnome-shell-calendar-server.c
++++ b/src/calendar-server/gnome-shell-calendar-server.c
+@@ -112,11 +112,17 @@ typedef struct
+   time_t  end_time;
+ } CalendarAppointment;
+ 
++#if ICAL_CHECK_VERSION(4, 0, 0)
++typedef ICalTime * (* GetICalPropFunc) (const ICalProperty *prop);
++#else
++typedef ICalTime * (* GetICalPropFunc) (ICalProperty *prop);
++#endif
++
+ static gboolean
+ get_time_from_property (ECalClient            *cal,
+                         ICalComponent         *icomp,
+                         ICalPropertyKind       prop_kind,
+-                        ICalTime * (* get_prop_func) (ICalProperty *prop),
++                        GetICalPropFunc        get_prop_func,
+                         ICalTimezone          *default_zone,
+                         ICalTime              **out_itt,
+                         ICalTimezone          **out_timezone)
diff --git a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.8.bb b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_50.4.bb
similarity index 65%
rename from meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.8.bb
rename to meta-gnome/recipes-gnome/gnome-shell/gnome-shell_50.4.bb
index e8b1bd6d0c..f39d72532e 100644
--- a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.8.bb
+++ b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_50.4.bb
@@ -2,48 +2,58 @@  SUMMARY = "GNOME Shell is the graphical shell of the GNOME desktop environment"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-
 DEPENDS = " \
     libxml2-native \
-    gtk4 \
-    mutter \
+    at-spi2-core \
     evolution-data-server \
     gcr \
-    geocode-glib \
+    gdk-pixbuf \
     gjs \
     gnome-autoar \
     gnome-desktop \
-    gnome-control-center \
-    polkit \
-    pipewire \
-    libsoup-3.0 \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'startup-notification', d)} \
-    ibus \
     gsettings-desktop-schemas \
+    gtk4 \
+    libsoup-3.0 \
+    libxml2 \
+    mutter \
+    pango \
+    polkit \
 "
 
 inherit gnomebase gsettings gettext gobject-introspection gtk-icon-cache features_check bash-completion
 
-REQUIRED_DISTRO_FEATURES = "polkit systemd pam"
+REQUIRED_DISTRO_FEATURES = "polkit systemd pam wayland"
 
 GTKIC_VERSION = "4"
-GTKDOC_MESON_OPTION = "gtk_doc"
 GIR_MESON_OPTION = ""
 
 # gobject-introspection is mandatory and cannot be configured
 REQUIRED_DISTRO_FEATURES += "gobject-introspection-data"
 
 SRC_URI += "file://0001-shell-app-usage.c-only-include-x11-headers-if-HAVE_X.patch"
-SRC_URI[archive.sha256sum] = "cb9b7d86cf362530e648e68caaf109a32af4e832874a26791ca8789773efd233"
-
-PACKAGECONFIG ??= "bluetooth nm ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+SRC_URI += "file://0002-calendar-server-Fix-build-failure-with-libical-4.patch"
+SRC_URI[archive.sha256sum] = "c531939539db316a41aef23670370abd1330d3254f84bcb0f9f4dae5d6e362cf"
+
+PACKAGECONFIG ??= " \
+    camera-monitor \
+    extensions-tool \
+    nm \
+    portal-helper \
+    bluetooth \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+"
 PACKAGECONFIG[bluetooth] = ",,gnome-bluetooth"
-PACKAGECONFIG[nm] = "-Dnetworkmanager=true, -Dnetworkmanager=false,networkmanager libsecret,networkmanager"
+PACKAGECONFIG[camera-monitor] = "-Dcamera_monitor=true, -Dcamera_monitor=false, pipewire"
+PACKAGECONFIG[extensions-app] = "-Dextensions_app=true, -Dextensions_app=false"
+PACKAGECONFIG[extensions-tool] = "-Dextensions_tool=true, -Dextensions_tool=false, gnome-autoar json-glib libsoup-3.0"
+PACKAGECONFIG[nm] = "-Dnetworkmanager=true, -Dnetworkmanager=false, networkmanager libsecret, networkmanager"
+PACKAGECONFIG[portal-helper] = "-Dportal_helper=true, -Dportal_helper=false"
 PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd"
 
 EXTRA_OEMESON += " \
     -Dtests=false \
     -Dman=false \
+    -Dgtk_doc=false \
     --cross-file=${WORKDIR}/meson-${PN}.cross \
 "
 
@@ -88,6 +98,9 @@  RDEPENDS:${PN} += " \
 	librsvg-gtk \
 "
 
+# The extensions app is a GJS application and pulls libadwaita at runtime only.
+RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'extensions-app', 'libadwaita', '', d)}"
+
 PACKAGES =+ "${PN}-tools ${PN}-gsettings"
 FILES:${PN}-tools = "${bindir}/*-tool"
 RDEPENDS:${PN}-tools = "python3-core"