From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 9006B158B20 for ; Sun, 02 Feb 2025 05:29:48 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 799A934314D for ; Sun, 02 Feb 2025 05:29:48 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 9D2DC1103B6; Sun, 02 Feb 2025 05:29:44 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 97CDE1103B6 for ; Sun, 02 Feb 2025 05:29:44 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 3B8FC343175 for ; Sun, 02 Feb 2025 05:29:44 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 786ED1CE6 for ; Sun, 02 Feb 2025 05:29:42 +0000 (UTC) From: "Eli Schwartz" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Eli Schwartz" Message-ID: <1738473230.5e1ee182afd8c4933d0daf37565f0f81b6548350.eschwartz@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-i18n/ibus/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-i18n/ibus/ibus-1.5.29.ebuild app-i18n/ibus/ibus-1.5.30.ebuild app-i18n/ibus/ibus-1.5.31.ebuild X-VCS-Directories: app-i18n/ibus/ X-VCS-Committer: eschwartz X-VCS-Committer-Name: Eli Schwartz X-VCS-Revision: 5e1ee182afd8c4933d0daf37565f0f81b6548350 X-VCS-Branch: master Date: Sun, 02 Feb 2025 05:29:42 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 4b3763bb-920b-4738-af47-1ede7e22138c X-Archives-Hash: 32aec0d5464bb6cbaa94d0bf26595302 commit: 5e1ee182afd8c4933d0daf37565f0f81b6548350 Author: Eli Schwartz gentoo org> AuthorDate: Fri Jan 31 08:28:48 2025 +0000 Commit: Eli Schwartz gentoo org> CommitDate: Sun Feb 2 05:13:50 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5e1ee182 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 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(-) diff --git a/app-i18n/ibus/ibus-1.5.29.ebuild b/app-i18n/ibus/ibus-1.5.29.ebuild index b8e1fcc24e03..dcc89a5ba88d 100644 --- a/app-i18n/ibus/ibus-1.5.29.ebuild +++ b/app-i18n/ibus/ibus-1.5.29.ebuild @@ -87,19 +87,18 @@ S=${WORKDIR}/${PN}-${MY_PV_DERP} src_prepare() { vala_setup --ignore-use - if ! has_version 'x11-libs/gtk+:3[wayland]'; then - touch ui/gtk3/panelbinding.vala \ - ui/gtk3/panel.vala \ - ui/gtk3/emojierapp.vala || die - fi - if ! use emoji; then - touch \ - tools/main.vala \ - ui/gtk3/panel.vala || die - fi - if ! use appindicator; then - touch ui/gtk3/panel.vala || die - fi + # Under various circumstances, vala transpiles will need to be redone due to + # encoding false assumptions about enabled features at the time the distfile + # was produced. Vala's conditional compilation encodes the configure options + # from the maintainer's machine when creating distfiles. + # + # See: + # - https://github.com/ibus/ibus/issues/2609 + # - https://gitlab.gnome.org/GNOME/vala/-/issues/1580 + # + # Force all vala files to be regenerated no matter what. + find . -name '*.vala' -exec touch {} + || die + if [[ -n ${GENTOO_VER} ]]; then einfo "Try to apply Gentoo specific patch set" eapply "${WORKDIR}"/patches-gentoo/*.patch diff --git a/app-i18n/ibus/ibus-1.5.30.ebuild b/app-i18n/ibus/ibus-1.5.30.ebuild index 1c54952f1872..ff30e4b764a9 100644 --- a/app-i18n/ibus/ibus-1.5.30.ebuild +++ b/app-i18n/ibus/ibus-1.5.30.ebuild @@ -84,19 +84,18 @@ BDEPEND=" src_prepare() { vala_setup --ignore-use - if ! has_version 'x11-libs/gtk+:3[wayland]'; then - touch ui/gtk3/panelbinding.vala \ - ui/gtk3/panel.vala \ - ui/gtk3/emojierapp.vala || die - fi - if ! use emoji; then - touch \ - tools/main.vala \ - ui/gtk3/panel.vala || die - fi - if ! use appindicator; then - touch ui/gtk3/panel.vala || die - fi + # Under various circumstances, vala transpiles will need to be redone due to + # encoding false assumptions about enabled features at the time the distfile + # was produced. Vala's conditional compilation encodes the configure options + # from the maintainer's machine when creating distfiles. + # + # See: + # - https://github.com/ibus/ibus/issues/2609 + # - https://gitlab.gnome.org/GNOME/vala/-/issues/1580 + # + # Force all vala files to be regenerated no matter what. + find . -name '*.vala' -exec touch {} + || die + if [[ -n ${GENTOO_VER} ]]; then einfo "Try to apply Gentoo specific patch set" eapply "${WORKDIR}"/patches-gentoo/*.patch diff --git a/app-i18n/ibus/ibus-1.5.31.ebuild b/app-i18n/ibus/ibus-1.5.31.ebuild index 4d286675ba7d..45f554b527e7 100644 --- a/app-i18n/ibus/ibus-1.5.31.ebuild +++ b/app-i18n/ibus/ibus-1.5.31.ebuild @@ -84,19 +84,18 @@ BDEPEND=" src_prepare() { vala_setup --ignore-use - if ! has_version 'x11-libs/gtk+:3[wayland]'; then - touch ui/gtk3/panelbinding.vala \ - ui/gtk3/panel.vala \ - ui/gtk3/emojierapp.vala || die - fi - if ! use emoji; then - touch \ - tools/main.vala \ - ui/gtk3/panel.vala || die - fi - if ! use appindicator; then - touch ui/gtk3/panel.vala || die - fi + # Under various circumstances, vala transpiles will need to be redone due to + # encoding false assumptions about enabled features at the time the distfile + # was produced. Vala's conditional compilation encodes the configure options + # from the maintainer's machine when creating distfiles. + # + # See: + # - https://github.com/ibus/ibus/issues/2609 + # - https://gitlab.gnome.org/GNOME/vala/-/issues/1580 + # + # Force all vala files to be regenerated no matter what. + find . -name '*.vala' -exec touch {} + || die + if [[ -n ${GENTOO_VER} ]]; then einfo "Try to apply Gentoo specific patch set" eapply "${WORKDIR}"/patches-gentoo/*.patch