[NEW] x11/notion 4.0.2 (successor to x11/ion)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[NEW] x11/notion 4.0.2 (successor to x11/ion)

Stefan Hagen-3
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

notion-4_0_2.tar.gz (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] x11/notion 4.0.2 (successor to x11/ion)

Stefan Hagen-3
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

Reply | Threaded
Open this post in threaded view
|

Re: [NEW] x11/notion 4.0.2 (successor to x11/ion) (fixed)

Stefan Hagen-3
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

notion-4_0_2.tar.gz (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] x11/notion 4.0.2 (successor to x11/ion) (fixed)

Stefan Hagen-3
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.
One more fix. The example configuration moved from $PREFIX/etc
to $PREFIX/share/doc/notion/config.

Port attached.

Best Regards,
Stefan

notion-4_0_2.tar.gz (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] x11/notion 4.0.2 (successor to x11/ion) (fixed)

Stefan Hagen-3
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

notion-4_0_2.tar.gz (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] x11/notion 4.0.2 (successor to x11/ion) (fixed)

Stuart Henderson
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.

Reply | Threaded
Open this post in threaded view
|

Re: [NEW] x11/notion 4.0.2 (successor to x11/ion) (fixed)

Stefan Hagen-3
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.
I think there is no need to have the files twice on the system.
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

notion-4_0_2.tar.gz (6K) Download Attachment