Hello,
attached is a new port for x11/notion (successor of x11/ion). $ cat DESCR: 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. Homepage: https://notionwm.net Development happens here: https://github.com/raboof/notion I've added myself as maintainer because I'm using it myself. There are a few patches, because I removed the (broken) DESTDIR handling from all the Makefiles. Most other fixes are taken from x11/ion. A testsuite is available now, but it's currently not running on OpenBSD: ld: error: undefined symbol: libintl_dgettext referenced by tokenizer.c:582 (../tokenizer.c:582) /tmp/tokenizer-05acd0.o:(tokz_warn_error) referenced by tokenizer.c:582 (../tokenizer.c:582) /tmp/tokenizer-05acd0.o:(tokz_get_token) referenced by output.c:116 (../output.c:116) /tmp/output-03e3a0.o:(fallback_warn) ld: error: undefined symbol: libintl_textdomain referenced by util.c:28 (../util.c:28) /tmp/util-192f5b.o:(libtu_init) cc: error: linker command failed with exit code 1 (use -v to see invocation) Therefore I've disabled tests for now. Notion itself is running fine and stable on OpenBSD amd64 here. The configuration is slightly incompatible to the one that runs in x11/ion, therefore it would be good to have both ports for a while. portcheck -N, port-lib-depends-check are both ok. What do you think? Can it go in in its current form? Best Regards, Stefan |
Stefan Hagen wrote:
> attached is a new port for x11/notion (successor of x11/ion). I have a better version coming up, which fixes the test suite and also compiles on sparc64. I'm fiddling here: https://fossil.codevoid.de/openbsd-mystuff/dir?ci=tip&name=x11/notion Best Regards, Stefan |
Stefan Hagen wrote:
> Stefan Hagen wrote: >> attached is a new port for x11/notion (successor of x11/ion). > > I have a better version coming up, which fixes the test suite and also > compiles on sparc64. Here we go. Attached is a better port. I've tested it on amd64 and sparc64. portcheck -N: ok make-lib-depends-check: ok make test: ok Patches are cleaner now and I moved the DESTDIR removal into the Makefile. OK now? Best Regards, Stefan |
Stefan Hagen wrote:
> Stefan Hagen wrote: >> Stefan Hagen wrote: >>> attached is a new port for x11/notion (successor of x11/ion). >> >> I have a better version coming up, which fixes the test suite and also >> compiles on sparc64. > > Here we go. Attached is a better port. > > I've tested it on amd64 and sparc64. > > portcheck -N: ok > make-lib-depends-check: ok > make test: ok > > Patches are cleaner now and I moved the DESTDIR removal into the > Makefile. to $PREFIX/share/doc/notion/config. Port attached. Best Regards, Stefan |
Stuart Henderson wrote:
> Sample config usually goes in share/examples rather than under doc/. Thank you, attached the next try with sample config in share/examples/notion. I've tried to bring as much work as possible from patches into the Makefile. The LUA_VERSION is now also configurable and switches library/include paths and flags consistently. What's a good default here? Notion normally tries to use the highest lua version it can find. So I've set it to 5.3. But there's no functional loss if we leave it at MODLUA_DEFAULT_VERSION (which is 5.1). Best Regards, Stefan |
On 2021/04/10 19:09, Stefan Hagen wrote:
> Stuart Henderson wrote: > > Sample config usually goes in share/examples rather than under doc/. > > Thank you, attached the next try with sample config in > share/examples/notion. oh, I see, that's actually where it loads from, not just installed as sample? # Configuration .lua files. Overrideable, as config files are usually # not placed under $(PREFIX). -ETCDIR ?= $(PREFIX)/etc/notion +ETCDIR ?= $(PREFIX)/share/examples/notion I think what's wanted here is probably to get rid of that patch and set MAKE_FLAGS= ETCDIR=${SYSCONFDIR}/notion (used during build to tell the program where to look for files at runtime ) and then FAKE_FLAGS= ETCDIR=$(PREFIX)/share/examples/notion so fake-install copies the sample files there. Then use @sample in the PLIST to have pkg_add copy the files at install time. This is so that the user can modify the files if needed without causing conflicts. > I've tried to bring as much work as possible from patches into the > Makefile. The LUA_VERSION is now also configurable and switches > library/include paths and flags consistently. good, that's needed. > What's a good default here? Notion normally tries to use the highest > lua version it can find. So I've set it to 5.3. But there's no > functional loss if we leave it at MODLUA_DEFAULT_VERSION (which > is 5.1). Generally best is to set it to prefer whichever upstream prefers. Make sure it's forced in some way so that e.g. if they normally check in order for 5.4 5.3 5.2 5.1, it won't start picking up 5.4 when that version gets added to ports. |
Stuart Henderson wrote:
> On 2021/04/10 19:09, Stefan Hagen wrote: >> Stuart Henderson wrote: >>> Sample config usually goes in share/examples rather than under doc/. >> >> Thank you, attached the next try with sample config in >> share/examples/notion. > > oh, I see, that's actually where it loads from, not just installed as sample? > > # Configuration .lua files. Overrideable, as config files are usually > # not placed under $(PREFIX). > -ETCDIR ?= $(PREFIX)/etc/notion >+ETCDIR ?= $(PREFIX)/share/examples/notion > > I think what's wanted here is probably to get rid of that patch and set > MAKE_FLAGS= ETCDIR=${SYSCONFDIR}/notion (used during build to tell the > program where to look for files at runtime ) and then FAKE_FLAGS= > ETCDIR=$(PREFIX)/share/examples/notion so fake-install copies the > sample files there. Then use @sample in the PLIST to have pkg_add > copy the files at install time. This is so that the user can modify the > files if needed without causing conflicts. Configuration should be made by copying these files over to $HOME/.notion and then go from there. Therefore I did not want to pollute /etc/ with them. I also noticed (after my last mail) that these files are used at runtime when $HOME/.notion is not available - even when they're in the example folder. This is not desired. Setting ETCDIR from the port Makefile did not work as expected. I assume ${PREFIX} is evaluated early when used in FLAGS_* and not for each phase. It was empty and did not hold the fake path in the fake phase. I'm still setting ETCDIR via patch in the attached version. I decided to set it to $(SHAREDIR)/etc, which will be /usr/local/share/notion/etc. I think this is a good place for files that are used as config template and fallback configuration. Two more little fixes in this version. 1: I've added another patch for man/Makefile to get rid of the bash dependency. -o pipefail is supported on OpenBSD sh, but not on linux. I don't see were it would be of use. -SHELL=bash -o pipefail +SHELL=sh -o pipefail 2: I removed X11_PREFIX from the Makefile. It's set wrong in system-autodetect.mk on first sight, but X11_LIBS and X11_INCLUDES are properly filled by pkg-config. That's all that's needed. Thanks for reviewing! Best Regards, Stefan |
Free forum by Nabble | Edit this page |