commit: 5b37553a9c5af8e400cd23a2dd79ecdf4b32812e Author: Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com> AuthorDate: Wed May 1 08:48:39 2024 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Thu May 2 03:54:25 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b37553a
x11-wm/notion: Fix passing of incompatible pointer type TODO: According to developer/s, frame->mplex->win would be a more type-safe way to achieve the same, but then it becomes less clear whether this is an 'is' or a 'has' relationship. Closes: https://bugs.gentoo.org/919249 Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com> Closes: https://github.com/gentoo/gentoo/pull/36498 Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/notion-4.0.2-gcc14-build-fix.patch | 49 ++++++++++++++++++++++ ...999.ebuild => notion-4.0.2_p20220613-r1.ebuild} | 10 ++++- x11-wm/notion/notion-9999.ebuild | 6 ++- 3 files changed, 62 insertions(+), 3 deletions(-) diff --git a/x11-wm/notion/files/notion-4.0.2-gcc14-build-fix.patch b/x11-wm/notion/files/notion-4.0.2-gcc14-build-fix.patch new file mode 100644 index 000000000000..94782a30a8cc --- /dev/null +++ b/x11-wm/notion/files/notion-4.0.2-gcc14-build-fix.patch @@ -0,0 +1,49 @@ +https://github.com/raboof/notion/commit/3c81575d48b2fd1b851536e305961bb199ea36b5.patch +From: Brahmajit Das <[email protected]> +Date: Wed, 1 May 2024 11:35:59 +0530 +Subject: [PATCH] Fix build with GCC 14 and above +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Newer compilers such as GCC 14 ( and above ) have enabled a few compiler +flags by default, -Wincompatible-pointer-types being one of them. Thus +resulting in build errors such as: + +frame.c: In function ‘frame_set_numbers_extl’: +frame.c:799:32: error: passing argument 1 of ‘ioncore_grab_establish’ from incompatible pointer type [-Wincompatible-pointer-types] + 799 | ioncore_grab_establish(frame, numbers_grab_handler, NULL, + | ^~~~~ + | | + | WFrame * {aka struct WFrame_struct *} + +For now a type casting can be used to supress the error, as changing the type +of frame would require touching other parts of the codebase. This should be +fine for now as WFrame is a WMPlex which is a WWindow. + +TODO: +According to developer/s, frame->mplex->win would be a more type-safe way to +achieve the same, but then it becomes less clear whether this is an 'is' or a +'has' relationship. + +First reported on Gentoo Linux with GCC 14, for more details please +reffer https://bugs.gentoo.org/919249 + +Signed-off-by: Brahmajit Das <[email protected]> +--- + ioncore/frame.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ioncore/frame.c b/ioncore/frame.c +index dbe0d107c..2f7663815 100644 +--- a/ioncore/frame.c ++++ b/ioncore/frame.c +@@ -796,7 +796,7 @@ bool frame_set_numbers_extl(WFrame *frame, const char *how) + { + if(how!=NULL && strcmp(how, "during_grab")==0){ + bool new_state = frame_set_numbers(frame, SETPARAM_SET); +- ioncore_grab_establish(frame, numbers_grab_handler, NULL, ++ ioncore_grab_establish((WRegion *)frame, numbers_grab_handler, NULL, + 0, GRAB_DEFAULT_FLAGS&~GRAB_POINTER); + return new_state; + } diff --git a/x11-wm/notion/notion-9999.ebuild b/x11-wm/notion/notion-4.0.2_p20220613-r1.ebuild similarity index 88% copy from x11-wm/notion/notion-9999.ebuild copy to x11-wm/notion/notion-4.0.2_p20220613-r1.ebuild index 3bc5247a3ad3..8838324ac69b 100644 --- a/x11-wm/notion/notion-9999.ebuild +++ b/x11-wm/notion/notion-4.0.2_p20220613-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -14,7 +14,9 @@ if [[ ${PV} == *9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/raboof/${PN}.git" else - SRC_URI="https://github.com/raboof/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + inherit vcs-snapshot + COMMIT="f161c1b4dbba1ac81d8e9c3d7e5e353058a4d7d1" + SRC_URI="https://github.com/raboof/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" KEYWORDS="~amd64 ~x86" fi @@ -43,6 +45,10 @@ BDEPEND=" ${LUA_DEPS} virtual/pkgconfig" +PATCHES=( + "${FILESDIR}"/${PN}-4.0.2-gcc14-build-fix.patch +) + src_configure() { tc-export AR CC PKG_CONFIG export INSTALL_STRIP="" diff --git a/x11-wm/notion/notion-9999.ebuild b/x11-wm/notion/notion-9999.ebuild index 3bc5247a3ad3..213357db0dbf 100644 --- a/x11-wm/notion/notion-9999.ebuild +++ b/x11-wm/notion/notion-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -43,6 +43,10 @@ BDEPEND=" ${LUA_DEPS} virtual/pkgconfig" +PATCHES=( + "${FILESDIR}"/${PN}-4.0.2-gcc14-build-fix.patch +) + src_configure() { tc-export AR CC PKG_CONFIG export INSTALL_STRIP=""
