From 53ae8d4ef80566a54a6a759a1d01a54456fefebe Mon Sep 17 00:00:00 2001 From: c0dev0id Date: Sun, 19 Feb 2023 15:17:25 +0100 Subject: [PATCH] notion: update to HEAD --- x11/notion/Makefile | 53 +++++++ x11/notion/distinfo | 2 + x11/notion/patches/patch-build_libs_mk | 24 +++ x11/notion/patches/patch-etc_cfg_defaults_lua | 14 ++ x11/notion/patches/patch-man_Makefile | 12 ++ x11/notion/patches/patch-system-autodetect_mk | 32 ++++ x11/notion/pkg/DESCR | 8 + x11/notion/pkg/PLIST | 139 ++++++++++++++++++ x11/notion/pkg/README | 28 ++++ 9 files changed, 312 insertions(+) create mode 100644 x11/notion/Makefile create mode 100644 x11/notion/distinfo create mode 100644 x11/notion/patches/patch-build_libs_mk create mode 100644 x11/notion/patches/patch-etc_cfg_defaults_lua create mode 100644 x11/notion/patches/patch-man_Makefile create mode 100644 x11/notion/patches/patch-system-autodetect_mk create mode 100644 x11/notion/pkg/DESCR create mode 100644 x11/notion/pkg/PLIST create mode 100644 x11/notion/pkg/README diff --git a/x11/notion/Makefile b/x11/notion/Makefile new file mode 100644 index 0000000..8e94a59 --- /dev/null +++ b/x11/notion/Makefile @@ -0,0 +1,53 @@ +COMMENT= light, keyboard friendly static tiling window manager + +GH_ACCOUNT= raboof +GH_PROJECT= notion +GH_COMMIT= 7b0650b35fa96d3d79850adab1cf9411c9b10ef4 +#GH_TAGNAME= 4.0.2 +DISTNAME= notion-4.0.2p20230207 + +CATEGORIES= x11 + +HOMEPAGE= https://notionwm.net + +MAINTAINER= Stefan Hagen + +# LGPL +PERMIT_PACKAGE= Yes + +MODULES= lang/lua + +# works with lua 5.1-5.3 +MODLUA_VERSION= 5.3 + +WANTLIB += ICE SM X11 Xext Xft Xinerama Xrandr c intl +WANTLIB += readline ${MODLUA_WANTLIB} + +BUILD_DEPENDS= devel/gettext,-tools + +LIB_DEPENDS= ${MODLUA_LIB_DEPENDS} \ + devel/gettext,-runtime + +USE_GMAKE= Yes + +MAKE_FLAGS= ETCDIR=$(SYSCONFDIR)/notion \ + LOCALBASE=${LOCALBASE} \ + NOTION_RELEASE=${GH_TAGNAME} +FAKE_FLAGS= ETCDIR=$(PREFIX)/share/examples/notion \ + MANDIR=$(PREFIX)/man \ + PREFIX=${TRUEPREFIX} + +CFLAGS+= -I${LOCALBASE}/include -I${MODLUA_INCL_DIR} +LDFLAGS+= -L${LOCALBASE}/lib -L$(MODLUA_LIBDIR) -lintl -l$(MODLUA_LIB) + +NOTION_DIR= ${SYSCONFDIR}/notion +SUBST_VARS+= NOTION_DIR + +## XXX should set LUA_VERSION in MAKE_FLAGS instead, but that doesn't work +## with our non-standard lua binary/pkg-config naming scheme +# +#pre-configure: +# sed -e 's/5\.3\ 5\.2 5\.1/$(MODLUA_DEP_VERSION)/g' -i \ +# $(WRKSRC)/build/lua-detect.mk + +.include diff --git a/x11/notion/distinfo b/x11/notion/distinfo new file mode 100644 index 0000000..133972a --- /dev/null +++ b/x11/notion/distinfo @@ -0,0 +1,2 @@ +SHA256 (notion-4.0.2p20230207-7b0650b3.tar.gz) = 3JiEei2jK9uwOXGNGix97T8emBPfcX3he80BH1oPmPw= +SIZE (notion-4.0.2p20230207-7b0650b3.tar.gz) = 791843 diff --git a/x11/notion/patches/patch-build_libs_mk b/x11/notion/patches/patch-build_libs_mk new file mode 100644 index 0000000..eb1e085 --- /dev/null +++ b/x11/notion/patches/patch-build_libs_mk @@ -0,0 +1,24 @@ +libtu,libext need want gettext + +Index: build/libs.mk +--- build/libs.mk.orig ++++ build/libs.mk +@@ -10,14 +10,14 @@ CFLAGS += -DNOTION_RELEASE='"$(NOTION_RELEASE)"' + LIBS_SUBDIRS += libtu + + LIBTU_DIR = $(TOPDIR)/libtu +-LIBTU_INCLUDES = -I$(TOPDIR) +-LIBTU_LIBS = -L$(LIBTU_DIR) -ltu ++LIBTU_INCLUDES = -I$(TOPDIR) -I${LOCALBASE}/include ++LIBTU_LIBS = -L$(LIBTU_DIR) -L${LOCALBASE}/lib -lintl -liconv -ltu + + #libextl + LIBS_SUBDIRS += libextl + + LIBEXTL_DIR = $(TOPDIR)/libextl +-LIBEXTL_INCLUDES = -I$(TOPDIR) +-LIBEXTL_LIBS = -L$(LIBEXTL_DIR) -lextl ++LIBEXTL_INCLUDES = -I$(TOPDIR) -I${LOCALBASE}/include ++LIBEXTL_LIBS = -L$(LIBEXTL_DIR) -L${LOCALBASE}/lib -lintl -liconv -lextl + + MKEXPORTS = $(LUA) $(LIBEXTL_DIR)/libextl-mkexports diff --git a/x11/notion/patches/patch-etc_cfg_defaults_lua b/x11/notion/patches/patch-etc_cfg_defaults_lua new file mode 100644 index 0000000..f8b1dfe --- /dev/null +++ b/x11/notion/patches/patch-etc_cfg_defaults_lua @@ -0,0 +1,14 @@ +Disable "remote control" modules, which per readme is a "gaping security hole" + +Index: etc/cfg_defaults.lua +--- etc/cfg_defaults.lua.orig ++++ etc/cfg_defaults.lua +@@ -10,7 +10,7 @@ dopath("mod_menu") + dopath("mod_tiling") + dopath("mod_dock") + dopath("mod_sp") +-dopath("mod_notionflux") ++-- dopath("mod_notionflux") + dopath("mod_xrandr") + + dopath("net_client_list") diff --git a/x11/notion/patches/patch-man_Makefile b/x11/notion/patches/patch-man_Makefile new file mode 100644 index 0000000..0a73bc9 --- /dev/null +++ b/x11/notion/patches/patch-man_Makefile @@ -0,0 +1,12 @@ +Index: man/Makefile +--- man/Makefile.orig ++++ man/Makefile +@@ -13,7 +13,7 @@ SHELL=sh -e + TARGETS=notion.1 notionflux.1 welcome.txt + + MKMAN=$(LUA) ../build/mkman.lua +-NROFF=nroff -man -Tlatin1 ++NROFF=mandoc + #FILTERCRAP=perl -p -i -e 's/.\10//g' + FILTERCRAP=$(LUA) -e 'io.write((string.gsub(io.read("*a"), ".\8", "")))' + LUA_REFVERSION:=$(shell $(LUA) -e 'print(_VERSION:match("[\x25d.]+"))') diff --git a/x11/notion/patches/patch-system-autodetect_mk b/x11/notion/patches/patch-system-autodetect_mk new file mode 100644 index 0000000..c6b7125 --- /dev/null +++ b/x11/notion/patches/patch-system-autodetect_mk @@ -0,0 +1,32 @@ +Configure for OpenBSD + +Index: system-autodetect.mk +--- system-autodetect.mk.orig ++++ system-autodetect.mk +@@ -61,7 +61,7 @@ endif + #PRELOAD_MODULES=1 + + # Flags to link with libdl. +-DL_LIBS=-ldl ++#DL_LIBS=-ldl + + + ## +@@ -79,7 +79,7 @@ X11_INCLUDES:=$(shell $(PKG_CONFIG) --cflags-only-I x1 + + # XFree86 libraries up to 4.3.0 have a bug that can cause a segfault. + # The following setting should work around that situation. +-DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND ++#DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND + + # Use the Xutf8 routines (XFree86 extension) instead of the Xmb routines + # in an UTF-8 locale. (No, you don't need this in UTF-8 locales, and +@@ -153,7 +153,7 @@ HAS_SYSTEM_ASPRINTF ?= 1 + # The following setting is needed with GNU libc for clock_gettime and the + # monotonic clock. Other systems may not need it, or may not provide a + # monotonic clock at all (which Ion can live with, and usually detect). +-LIBS += -lrt ++#LIBS += -lrt + + # Cygwin needs this. Also when you disable _BSD_SOURCE you may need it. + #DEFINES += -DCF_NO_GETLOADAVG diff --git a/x11/notion/pkg/DESCR b/x11/notion/pkg/DESCR new file mode 100644 index 0000000..faa74a0 --- /dev/null +++ b/x11/notion/pkg/DESCR @@ -0,0 +1,8 @@ +Notion is a static tiling, tabbed window manager for the X window system. + +Notion simply divides the screen into frames that take the whole screen. +Big displays have so much space that this is convenient and smaller +displays couldn't show more than one window at a time anyway. The frames +can be split and growing the size of one will shrink others. + +Notion is the successor of Ion3, which has been discontinued in 2009. diff --git a/x11/notion/pkg/PLIST b/x11/notion/pkg/PLIST new file mode 100644 index 0000000..9e8185f --- /dev/null +++ b/x11/notion/pkg/PLIST @@ -0,0 +1,139 @@ +@sample ${NOTION_DIR}/ +@bin bin/notion +@bin bin/notionflux +lib/notion/ +lib/notion/bin/ +@bin lib/notion/bin/ion-completefile +@bin lib/notion/bin/ion-statusd +lib/notion/lc/ +lib/notion/lc/de.lc +lib/notion/lc/ioncore_bindings.lc +lib/notion/lc/ioncore_efbb.lc +lib/notion/lc/ioncore_ext.lc +lib/notion/lc/ioncore_luaext.lc +lib/notion/lc/ioncore_menudb.lc +lib/notion/lc/ioncore_misc.lc +lib/notion/lc/ioncore_wd.lc +lib/notion/lc/ioncore_winprops.lc +lib/notion/lc/mod_dock.lc +lib/notion/lc/mod_menu.lc +lib/notion/lc/mod_mgmtmode.lc +lib/notion/lc/mod_notionflux.lc +lib/notion/lc/mod_query.lc +lib/notion/lc/mod_query_chdir.lc +lib/notion/lc/mod_sm.lc +lib/notion/lc/mod_sp.lc +lib/notion/lc/mod_statusbar.lc +lib/notion/lc/mod_tiling.lc +lib/notion/lc/mod_xinerama.lc +lib/notion/lc/mod_xkbevents.lc +lib/notion/lc/mod_xrandr.lc +lib/notion/lc/statusd_date.lc +lib/notion/lc/statusd_load.lc +lib/notion/lc/statusd_mail.lc +lib/notion/mod/ +@so lib/notion/mod/de.so +@so lib/notion/mod/mod_dock.so +@so lib/notion/mod/mod_menu.so +@so lib/notion/mod/mod_mgmtmode.so +@so lib/notion/mod/mod_notionflux.so +@so lib/notion/mod/mod_query.so +@so lib/notion/mod/mod_sm.so +@so lib/notion/mod/mod_sp.so +@so lib/notion/mod/mod_statusbar.so +@so lib/notion/mod/mod_tiling.so +@so lib/notion/mod/mod_xinerama.so +@so lib/notion/mod/mod_xkbevents.so +@so lib/notion/mod/mod_xrandr.so +@man man/man1/notion.1 +@man man/man1/notionflux.1 +share/doc/notion/ +share/doc/notion/AUTHORS +share/doc/notion/CONTRIBUTING.md +share/doc/notion/LICENSE +share/doc/notion/README.md +share/doc/pkg-readmes/${PKGSTEM} +share/examples/notion/ +share/examples/notion/cfg_bindings.lua +@sample ${NOTION_DIR}/cfg_bindings.lua +share/examples/notion/cfg_defaults.lua +@sample ${NOTION_DIR}/cfg_defaults.lua +share/examples/notion/cfg_dock.lua +@sample ${NOTION_DIR}/cfg_dock.lua +share/examples/notion/cfg_kludges.lua +@sample ${NOTION_DIR}/cfg_kludges.lua +share/examples/notion/cfg_layouts.lua +@sample ${NOTION_DIR}/cfg_layouts.lua +share/examples/notion/cfg_menu.lua +@sample ${NOTION_DIR}/cfg_menu.lua +share/examples/notion/cfg_notion.lua +@sample ${NOTION_DIR}/cfg_notion.lua +share/examples/notion/cfg_notion3_keybindings.lua +@sample ${NOTION_DIR}/cfg_notion3_keybindings.lua +share/examples/notion/cfg_notion3_tiling.lua +@sample ${NOTION_DIR}/cfg_notion3_tiling.lua +share/examples/notion/cfg_notioncore.lua +@sample ${NOTION_DIR}/cfg_notioncore.lua +share/examples/notion/cfg_query.lua +@sample ${NOTION_DIR}/cfg_query.lua +share/examples/notion/cfg_sp.lua +@sample ${NOTION_DIR}/cfg_sp.lua +share/examples/notion/cfg_statusbar.lua +@sample ${NOTION_DIR}/cfg_statusbar.lua +share/examples/notion/cfg_tiling.lua +@sample ${NOTION_DIR}/cfg_tiling.lua +share/examples/notion/cfg_xrandr.lua +@sample ${NOTION_DIR}/cfg_xrandr.lua +share/examples/notion/look.lua +@sample ${NOTION_DIR}/look.lua +share/examples/notion/look_brownsteel.lua +@sample ${NOTION_DIR}/look_brownsteel.lua +share/examples/notion/look_clean.lua +@sample ${NOTION_DIR}/look_clean.lua +share/examples/notion/look_cleanios.lua +@sample ${NOTION_DIR}/look_cleanios.lua +share/examples/notion/look_cleanviolet.lua +@sample ${NOTION_DIR}/look_cleanviolet.lua +share/examples/notion/look_dusky.lua +@sample ${NOTION_DIR}/look_dusky.lua +share/examples/notion/look_greenlight.lua +@sample ${NOTION_DIR}/look_greenlight.lua +share/examples/notion/look_greyviolet.lua +@sample ${NOTION_DIR}/look_greyviolet.lua +share/examples/notion/look_ios.lua +@sample ${NOTION_DIR}/look_ios.lua +share/examples/notion/look_newviolet.lua +@sample ${NOTION_DIR}/look_newviolet.lua +share/examples/notion/look_newviolet_hidpi.lua +@sample ${NOTION_DIR}/look_newviolet_hidpi.lua +share/examples/notion/look_paper.lua +@sample ${NOTION_DIR}/look_paper.lua +share/examples/notion/look_simpleblue.lua +@sample ${NOTION_DIR}/look_simpleblue.lua +share/examples/notion/lookcommon_clean.lua +@sample ${NOTION_DIR}/lookcommon_clean.lua +share/examples/notion/lookcommon_clean_frame.lua +@sample ${NOTION_DIR}/lookcommon_clean_frame.lua +share/examples/notion/lookcommon_clean_stdisp.lua +@sample ${NOTION_DIR}/lookcommon_clean_stdisp.lua +share/examples/notion/lookcommon_clean_tab.lua +@sample ${NOTION_DIR}/lookcommon_clean_tab.lua +share/examples/notion/lookcommon_emboss.lua +@sample ${NOTION_DIR}/lookcommon_emboss.lua +share/examples/notion/lookcommon_emboss_frame.lua +@sample ${NOTION_DIR}/lookcommon_emboss_frame.lua +share/examples/notion/lookcommon_emboss_stdisp.lua +@sample ${NOTION_DIR}/lookcommon_emboss_stdisp.lua +share/examples/notion/lookcommon_emboss_tab.lua +@sample ${NOTION_DIR}/lookcommon_emboss_tab.lua +share/examples/notion/net_client_list.lua +@sample ${NOTION_DIR}/net_client_list.lua +share/locale/cs/LC_MESSAGES/notion.mo +share/locale/fi/LC_MESSAGES/notion.mo +share/notion/ +share/notion/ion-completeman +share/notion/ion-runinxterm +share/notion/notion-lock +share/notion/notion.1 +share/notion/notionflux.1 +share/notion/welcome.txt diff --git a/x11/notion/pkg/README b/x11/notion/pkg/README new file mode 100644 index 0000000..f951cdb --- /dev/null +++ b/x11/notion/pkg/README @@ -0,0 +1,28 @@ ++----------------------------------------------------------------------- +| Running ${PKGSTEM} on OpenBSD ++----------------------------------------------------------------------- + +Default Keybindings +=================== + +The notion default keybindings assume a standard US keyboard layout. In +some situations, default keys cannot be mapped because they are either +not available (for example grave key on a Germany layout) or Caps_Lock +(when you mapped Ctrl or Esc to it). + +When starting notion, a popup will show you which key bindings it was +not able to map. + +You can adjust bindings system wide by editing +${SYSCONFDIR}/notion/cfg_bindings.lua or only for your user by copying +${LOCALBASE}/share/examples/notion/cfg_bindings.lua to ~/.notion. + +$ mkdir ~/.notion/ +$ cp ${LOCALBASE}/share/examples/notion/cfg_bindings.lua ~/.notion/ + +Then adjust the binding that causes trouble. For example by searching +for "grave" or "Caps_Lock" and assigning another key. + +Extensive documentation on keybindings and general notion configuration +can be found in the "Documentation" section on the notion website: +https://notionwm.net