summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--x11-wm/notion/Manifest1
-rw-r--r--x11-wm/notion/files/notion-4.0.4-c23.patch19
-rw-r--r--x11-wm/notion/notion-4.0.4.ebuild98
3 files changed, 118 insertions, 0 deletions
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 <soap@gentoo.org>
+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
+}