commit:     96d79b46c143bd29658dc8c74a6809f5e806bfde
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  9 10:44:44 2025 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Nov  9 10:44:44 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96d79b46

x11-wm/notion: add 4.0.4

Closes: https://bugs.gentoo.org/946693
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 x11-wm/notion/Manifest                     |  1 +
 x11-wm/notion/files/notion-4.0.4-c23.patch | 19 ++++++
 x11-wm/notion/notion-4.0.4.ebuild          | 98 ++++++++++++++++++++++++++++++
 3 files changed, 118 insertions(+)

diff --git a/x11-wm/notion/Manifest b/x11-wm/notion/Manifest
index 53468ff21994..0c6e32402098 100644
--- a/x11-wm/notion/Manifest
+++ b/x11-wm/notion/Manifest
@@ -1 +1,2 @@
 DIST notion-4.0.3.tar.gz 791823 BLAKE2B 
2aa50eb4f710bf289dd6edb6f4696662e8d2588b337f038845efdf79aa2e2b28a725734c829de5184def6fd5d32c51f511025dadf4ad6a689c0dc4e0b0d8e3eb
 SHA512 
7c187571a00bdf5736032c0ff0b57a0afdb20a7b4f6e66877c84bf112922ec8f5b853165d419ecc7c18fc84a873b278c3cbdad5e7399e0312066141de1dc6673
+DIST notion-4.0.4.tar.gz 791823 BLAKE2B 
2aa50eb4f710bf289dd6edb6f4696662e8d2588b337f038845efdf79aa2e2b28a725734c829de5184def6fd5d32c51f511025dadf4ad6a689c0dc4e0b0d8e3eb
 SHA512 
7c187571a00bdf5736032c0ff0b57a0afdb20a7b4f6e66877c84bf112922ec8f5b853165d419ecc7c18fc84a873b278c3cbdad5e7399e0312066141de1dc6673

diff --git a/x11-wm/notion/files/notion-4.0.4-c23.patch 
b/x11-wm/notion/files/notion-4.0.4-c23.patch
new file mode 100644
index 000000000000..7ba10a440f0a
--- /dev/null
+++ b/x11-wm/notion/files/notion-4.0.4-c23.patch
@@ -0,0 +1,19 @@
+https://github.com/raboof/notion/pull/389
+
+From 89c92f49abfeae1168ad343d4f529a52d0edd78c Mon Sep 17 00:00:00 2001
+From: David Seifert <[email protected]>
+Date: Sun, 9 Nov 2025 11:41:32 +0100
+Subject: [PATCH] C23 fixes
+
+Bug: https://bugs.gentoo.org/946693
+--- a/libtu/objp.h
++++ b/libtu/objp.h
+@@ -26,7 +26,7 @@ DECLSTRUCT(ClassDescr){
+     ClassDescr *ancestor;
+     int funtab_n;
+     DynFunTab *funtab;
+-    void (*destroy_fn)();
++    void (*destroy_fn)(Obj *obj);
+ };
+ 
+ #define OBJ_TYPESTR(OBJ) ((OBJ) ? ((Obj*)OBJ)->obj_type->name : NULL)

diff --git a/x11-wm/notion/notion-4.0.4.ebuild 
b/x11-wm/notion/notion-4.0.4.ebuild
new file mode 100644
index 000000000000..f965b8cb9780
--- /dev/null
+++ b/x11-wm/notion/notion-4.0.4.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-4 )
+
+inherit lua-single toolchain-funcs readme.gentoo-r1
+
+DESCRIPTION="Notion is a tiling, tabbed window manager for the X window system"
+HOMEPAGE="https://notionwm.net/";
+
+if [[ ${PV} == *9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/raboof/${PN}.git";
+else
+       inherit vcs-snapshot
+       COMMIT="f161c1b4dbba1ac81d8e9c3d7e5e353058a4d7d1"
+       SRC_URI="https://github.com/raboof/${PN}/archive/${COMMIT}.tar.gz -> 
${P}.tar.gz"
+
+       KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="nls xinerama +xrandr"
+# needs slingshot,... not in tree
+RESTRICT="test"
+# mod_xrandr references mod_xinerama
+REQUIRED_USE="
+       ${LUA_REQUIRED_USE}
+       xrandr? ( xinerama )"
+
+RDEPEND="
+       ${LUA_DEPS}
+       x11-libs/libSM
+       x11-libs/libX11
+       x11-libs/libXext
+       nls? ( sys-devel/gettext )
+       xinerama? ( x11-libs/libXinerama )
+       xrandr? ( x11-libs/libXrandr )"
+DEPEND="${RDEPEND}"
+# luac is called at build time
+BDEPEND="
+       ${LUA_DEPS}
+       virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-4.0.2-gcc14-build-fix.patch
+       "${FILESDIR}"/${PN}-4.0.4-c23.patch
+)
+
+src_configure() {
+       tc-export AR CC PKG_CONFIG
+       export INSTALL_STRIP=""
+
+       cat > system-local.mk <<- _EOF_ || die
+               PREFIX=${EPREFIX}/usr
+               DOCDIR=\$(PREFIX)/share/doc/${PF}
+               ETCDIR=${EPREFIX}/etc/${PN}
+               LIBDIR=\$(PREFIX)/$(get_libdir)
+               VARDIR=${EPREFIX}/var/cache/${PN}
+               LUA_MANUAL=1
+               LUA=${LUA}
+               LUAC=${BROOT}/usr/bin/${ELUA/lua/luac}
+               LUA_LIBS=$(lua_get_LIBS)
+               LUA_INCLUDES=$(lua_get_CFLAGS)
+               $(usev !nls "DEFINES+=-DCF_NO_LOCALE -DCF_NO_GETTEXT")
+       _EOF_
+
+       if ! use xinerama ; then
+               sed -e 's/mod_xinerama//g' -i modulelist.mk || die
+       fi
+
+       if ! use xrandr ; then
+               sed -e 's/mod_xrandr//g' -i modulelist.mk || die
+               sed -e '/mod_xrandr/d' -i etc/cfg_defaults.lua || die
+       fi
+}
+
+src_install() {
+       default
+
+       exeinto /etc/X11/Sessions
+       doexe "${FILESDIR}"/notion
+
+       insinto /usr/share/xsessions
+       doins "${FILESDIR}"/notion.desktop
+
+       local DOC_CONTENTS="
+               If you want notion to have an ability to view a file based on 
its
+               guessed MIME type you should emerge app-misc/run-mailcap."
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       readme.gentoo_print_elog
+}

Reply via email to