too long lines were shrinked: keybindingmanager.c:1388:13: note: in expansion of macro g_once_init_enter 1388 | if (g_once_init_enter (&keybinding_manager_type_id__once)) { | ^~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -include ../../config.h -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/lib64/libffi/include -I/usr/include/libmou panel.c:47:10: fatal error: libnotify/notify.h: No such file or directory 47 | #include <libnotify/notify.h> | ^~~~~~~~~~~~~~~~~~~~ ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_desktop_gnome-j4-20221029-213919 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-12 * clang/llvm (if any): /usr/lib/llvm/15 15.0.3 Python 3.10.8 Available Rust versions: [1] rust-1.64.0 * php cli (if any): GNU Make 4.3 HEAD of ::gentoo commit 7534ded561b230bf984a1d3be0a1a6c92c1bbd22 Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Sat Oct 29 19:31:52 2022 +0000 2022-10-29 19:31:51 UTC emerge -qpvO app-i18n/ibus [ebuild N ] app-i18n/ibus-1.5.27 USE="X appindicator emoji gtk3 gtk4 gui introspection nls python unicode vala wayland -gtk2 -libnotify -systemd -test" PYTHON_TARGETS="python3_10 -python3_8 -python3_9"
Created attachment 826129 [details] emerge-info.txt
Created attachment 826131 [details] app-i18n:ibus-1.5.27:20221030-013946.log.bz2
Created attachment 826133 [details] emerge-history.txt
Created attachment 826135 [details] environment
Created attachment 826137 [details] etc.portage.tar.bz2
Created attachment 826139 [details] logs.tar.bz2
Created attachment 826141 [details] temp.tar.bz2
Looks like it still tries to use libnotify even when libnotify support has been disabled.
It looks like issue caused by pre-generated code from vala. If it is regenerated, everything builds fine. Some change like following should help: $ diff -u /usr/portage/app-i18n/ibus/ibus-1.5.27.ebuild ibus-1.5.27.ebuild --- /usr/portage/app-i18n/ibus/ibus-1.5.27.ebuild 2023-02-24 05:40:28.000000000 +0100 +++ ibus-1.5.27.ebuild 2023-02-24 23:28:27.834473614 +0100 @@ -19,10 +19,11 @@ LICENSE="LGPL-2.1" SLOT="0" KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86" -IUSE="X appindicator +emoji gtk2 +gtk3 +gtk4 +gui +introspection libnotify nls +python systemd test +unicode vala wayland" +IUSE="X appindicator +emoji gtk2 +gtk3 +gtk4 +gui +introspection libnotify nls +python systemd test +unicode +vala wayland" RESTRICT="!test? ( test )" REQUIRED_USE=" appindicator? ( gtk3 ) + !libnotify? ( vala ) python? ( ${PYTHON_REQUIRED_USE} introspection @@ -93,6 +94,9 @@ if ! use appindicator; then touch ui/gtk3/panel.vala || die fi + if ! use libnotify; then + touch ui/gtk3/panel.vala || die + fi if [[ -n ${GENTOO_VER} ]]; then einfo "Try to apply Gentoo specific patch set" eapply "${WORKDIR}"/patches-gentoo/*.patch
(In reply to i.Dark_Templar from comment #9) > It looks like issue caused by pre-generated code from vala. If it is > regenerated, everything builds fine. Some change like following should help: Thanks, that hint was enough to get it to build for me after finding this bug. I put this in /etc/portage/patches/ to get the same result without maintaining a hacked ebuild indefinitely: `````` diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala index b24c23ac7..2dd7c2750 100644 --- a/ui/gtk3/panel.vala +++ b/ui/gtk3/panel.vala @@ -23,2 +23,3 @@ + class Panel : IBus.PanelService { ``````
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5e1ee182afd8c4933d0daf37565f0f81b6548350 commit 5e1ee182afd8c4933d0daf37565f0f81b6548350 Author: Eli Schwartz <eschwartz@gentoo.org> AuthorDate: 2025-01-31 08:28:48 +0000 Commit: Eli Schwartz <eschwartz@gentoo.org> CommitDate: 2025-02-02 05:13:50 +0000 app-i18n/ibus: always forcibly regenerate vala files Upstream says to do it. We chased around trying to only rebuild a handful of them depending on arcane decisions such as USE flags or even whether a system dependency (???) was installed, but the correct answer was always to unconditionally do so. It is needed for correctness, to ensure that econf options are actually respected, since vala `#define`s work at the time the *.c files themselves are generated. In particular, checking whether gtk as currently installed is compiled with wayland support is an obvious red flag that the resulting behavior isn't compatible with USE flags. The build system compiles C code using an *unconditional* wayland API/ABI on gtk, if the wayland USE flag is set on ibus itself, as enforced by touching and regenerating these vala -> C files. The upstream distfile generated these C files in a build where `$(use_enable wayland)` was in an enabled state. (There are also handwritten C files with automagic dependencies, but that is the next commit.) Bug: https://github.com/ibus/ibus/issues/2609 Bug: https://gitlab.gnome.org/GNOME/vala/-/issues/1580 Closes: https://bugs.gentoo.org/878813 Signed-off-by: Eli Schwartz <eschwartz@gentoo.org> app-i18n/ibus/ibus-1.5.29.ebuild | 25 ++++++++++++------------- app-i18n/ibus/ibus-1.5.30.ebuild | 25 ++++++++++++------------- app-i18n/ibus/ibus-1.5.31.ebuild | 25 ++++++++++++------------- 3 files changed, 36 insertions(+), 39 deletions(-)