elementary / notifications

Gtk Notifications Server
https://elementary.io
GNU General Public License v3.0
38 stars 6 forks source link

FTBFS with Vala 0.56.16 #222

Closed bobby285271 closed 5 months ago

bobby285271 commented 5 months ago

Prerequisites

Describe the bug

Vala 0.56.16, GLib 2.80.0:

FAILED: io.elementary.notifications.p/src/AbstractBubble.c io.elementary.notifications.p/src/Application.c io.elementary.notifications.p/src/Bubble.c io.elementary.notifications.p/src/Confirmation.c io.elementary.notifications.p/src/DBus.c io.elementary.notifications.p/src/FdoActionGroup.c io.elementary.notifications.p/src/Notification.c io.elementary.notifications.p/src/Widgets/MaskedImage.c 
valac -C --vapidir /build/source/vapi --pkg libhandy-1 --pkg gtk+-3.0 --pkg granite --pkg gio-2.0 --pkg gobject-2.0 --pkg glib-2.0 --pkg libcanberra-gtk3 --pkg libcanberra --color=always --directory io.elementary.notifications.p --basedir ../ --gresources=../data/notifications.gresource.xml ../src/AbstractBubble.vala ../src/Application.vala ../src/Bubble.vala ../src/Confirmation.vala ../src/DBus.vala ../src/FdoActionGroup.vala ../src/Notification.vala ../src/Widgets/MaskedImage.vala
../src/FdoActionGroup.vala:62.5-62.37: error: overriding method `Notifications.Fdo.ActionGroup.query_action' is incompatible with base method `bool GLib.ActionGroup.query_action (string, out bool, out weak GLib.VariantType, out weak GLib.VariantType, out GLib.Variant, out GLib.Variant)': incompatible type of parameter 3.
   62 |     public override bool query_action (
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
Compilation failed: 1 error(s), 0 warning(s)
[6/18] Compiling Vala source ../demo/Application.vala ../demo/MainWindow.vala
ninja: build stopped: subcommand failed.
Full build log ``` building '/nix/store/fpq5jfbh4w81flwj0m7dpribxaj7fnrb-elementary-notifications-7.0.1.drv'... Running phase: unpackPhase unpacking source archive /nix/store/p4awzw8gypli49mqc0v51xy1mkrdwc7r-source source root is source Running phase: patchPhase Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase mesonConfigurePhase flags: --prefix=/nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1 --libdir=/nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/lib --libexecdir=/nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/libexec --bindir=/nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/bin --sbindir=/nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/sbin --includedir=/nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/include --mandir=/nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/share/man --infodir=/nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/share/info --localedir=/nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/share/locale -Dauto_features=enabled -Dwrap_mode=nodownload --buildtype=plain The Meson build system Version: 1.3.2 Source dir: /build/source Build dir: /build/source/build Build type: native build Project name: io.elementary.notifications Project version: 7.0.1 C compiler for the host machine: gcc (gcc 13.2.0 "gcc (GCC) 13.2.0") C linker for the host machine: gcc ld.bfd 2.41 Vala compiler for the host machine: valac (valac 0.56.16) Host machine cpu family: x86_64 Host machine cpu: x86_64 Found pkg-config: YES (/nix/store/a3752l19hc76dmzh1wgrxbsxh6lfx67z-pkg-config-wrapper-0.29.2/bin/pkg-config) 0.29.2 Build-time dependency gio-2.0 found: YES 2.80.0 Program /nix/store/615hnkjcbk0b6yv3mxsbmzzh6c1gai3d-glib-2.80.0-dev/bin/glib-compile-resources found: YES (/nix/store/615hnkjcbk0b6yv3mxsbmzzh6c1gai3d-glib-2.80.0-dev/bin/glib-compile-resources) Run-time dependency libcanberra found: YES 0.30 Run-time dependency libcanberra-gtk3 found: YES 0.30 Run-time dependency glib-2.0 found: YES 2.80.0 Run-time dependency gobject-2.0 found: YES 2.80.0 Dependency gio-2.0 found: YES 2.80.0 (cached) Run-time dependency granite found: YES 6.2.0 Run-time dependency gtk+-3.0 found: YES 3.24.41 Run-time dependency libhandy-1 found: YES 1.8.3 Program msgfmt found: YES (/nix/store/c34vc40ksciy7y2w1d410gwragbx8sch-gettext-0.21.1/bin/msgfmt) Dependency granite found: YES 6.2.0 (cached) Dependency gtk+-3.0 found: YES 3.24.41 (cached) po/extra/meson.build:2: WARNING: Project targets '>= 0.57' but uses feature deprecated since '0.56.0': meson.source_root. use meson.project_source_root() or meson.global_source_root() instead. Program msginit found: YES (/nix/store/c34vc40ksciy7y2w1d410gwragbx8sch-gettext-0.21.1/bin/msginit) Program msgmerge found: YES (/nix/store/c34vc40ksciy7y2w1d410gwragbx8sch-gettext-0.21.1/bin/msgmerge) Program xgettext found: YES (/nix/store/c34vc40ksciy7y2w1d410gwragbx8sch-gettext-0.21.1/bin/xgettext) Dependency gio-2.0 found: YES 2.80.0 (cached) Program /nix/store/615hnkjcbk0b6yv3mxsbmzzh6c1gai3d-glib-2.80.0-dev/bin/glib-compile-schemas found: YES (/nix/store/615hnkjcbk0b6yv3mxsbmzzh6c1gai3d-glib-2.80.0-dev/bin/glib-compile-schemas) Build targets in project: 208 WARNING: Deprecated features used: * 0.56.0: {'meson.source_root'} io.elementary.notifications 7.0.1 User defined options auto_features: enabled bindir : /nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/bin buildtype : plain includedir : /nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/include infodir : /nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/share/info libdir : /nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/lib libexecdir : /nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/libexec localedir : /nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/share/locale mandir : /nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/share/man prefix : /nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1 sbindir : /nix/store/kw16g8rv4ggys0w37ml0j30igyld9arf-elementary-notifications-7.0.1/sbin wrap_mode : nodownload Found ninja-1.11.1 at /nix/store/d6bvhfhg3aw2lj0nyb08y0ahlj5md6p8-ninja-1.11.1/bin/ninja mesonConfigurePhase: enabled\ parallel\ building Running phase: buildPhase build flags: -j12 [1/18] Generating css-resource_h with a custom command [2/18] Generating css-resource_c with a custom command [3/18] Merging translations for data/io.elementary.notifications.metainfo.xml [4/18] Compiling C object io.elementary.notifications.p/meson-generated_.._css-resource.c.o [5/18] Compiling Vala source ../src/AbstractBubble.vala ../src/Application.vala ../src/Bubble.vala ../src/Confirmation.vala ../src/DBus.vala ../src/FdoActionGroup.vala ../src/Notification.vala ../src/Widgets/MaskedImage.vala FAILED: io.elementary.notifications.p/src/AbstractBubble.c io.elementary.notifications.p/src/Application.c io.elementary.notifications.p/src/Bubble.c io.elementary.notifications.p/src/Confirmation.c io.elementary.notifications.p/src/DBus.c io.elementary.notifications.p/src/FdoActionGroup.c io.elementary.notifications.p/src/Notification.c io.elementary.notifications.p/src/Widgets/MaskedImage.c valac -C --vapidir /build/source/vapi --pkg libhandy-1 --pkg gtk+-3.0 --pkg granite --pkg gio-2.0 --pkg gobject-2.0 --pkg glib-2.0 --pkg libcanberra-gtk3 --pkg libcanberra --color=always --directory io.elementary.notifications.p --basedir ../ --gresources=../data/notifications.gresource.xml ../src/AbstractBubble.vala ../src/Application.vala ../src/Bubble.vala ../src/Confirmation.vala ../src/DBus.vala ../src/FdoActionGroup.vala ../src/Notification.vala ../src/Widgets/MaskedImage.vala ../src/FdoActionGroup.vala:62.5-62.37: error: overriding method `Notifications.Fdo.ActionGroup.query_action' is incompatible with base method `bool GLib.ActionGroup.query_action (string, out bool, out weak GLib.VariantType, out weak GLib.VariantType, out GLib.Variant, out GLib.Variant)': incompatible type of parameter 3. 62 | public override bool query_action ( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Compilation failed: 1 error(s), 0 warning(s) [6/18] Compiling Vala source ../demo/Application.vala ../demo/MainWindow.vala ninja: build stopped: subcommand failed. ```

We are able to workaround the issue by replacing out VariantType with out unowned VariantType, though it is always unclear to me whether this is actually an elementary issue :joy:

https://github.com/elementary/notifications/blob/9b07160abbed0d82b60933b5067710f6a035317a/src/FdoActionGroup.vala#L65-L66

To Reproduce

Steps to reproduce the behavior:

  1. Build with Vala 0.56.16

Expected behavior

Builds.

Platform Information

NixOS (using custom checkout).