Hello ports@,

Find an update for herbstluftwm, jointly done with Florian (in CC).
We'll take maintainership of the port while at it.

Too many fixes and improvements to list. Find them in [0].

Portwise:
- Upstream changed build system to CMake. That allows us to get rid of
  FAKE_FLAGS.
- Dist tarball includes compiled manpages. Use them instead of building
  ourselves, saving a depend on asciidoc.
- We no longer install the HTML versions of manpages. We aren't sure if
  this is the prefered way, given there are the manpages already, so let
  us know if we should re-add them.
- Makefile aesthetics: reorder according to Makefile.template and align
  values. That's a lot whitespace churn.
- Fixes for portcheck and make port-lib-depends-check. glib-2.0 and
  intl are out of WANTLIB and glib-2.0 is not a dep.
- hlwm now ships tests! Sadly, they rely on pyewmh[1] and
  pytest-xfvb[2]. Porting pyewmh was a piece of cake; didn't manage to
  make pytest-xfvb run its own tests, as it seems it isn't running a new
  Xvfb as a subprocess while executing internal pytest tests. Also I'm
  not sure if importing 2 ports for being able to run tests is
  desirable. So, for the time being, keep NO_TEST=Yes.
- We aren't sure if we should add x11/dmenu to RUN_DEPENDS. One of the
  4 scripts it installs to /etc/xdg/herbstluftwm needs it, but that
  script isn't referenced by the others, unlike the case x11/dzen2.
  Advice is welcome in here, too.
- PLIST changes:
  - HTML manuals are gone (as said, can be added back)
  - share/examples/herbstluftwm/ -> share/doc/herbstluftwm/examples/,
    which is what upstream ships as docs
  - share/examples/herbstluftwm/xdg/herbstluftwm/ ->
    share/examples/herbstluftwm/
  - dmenu_run_hlwm was being installed to bin/; now resides in
    share/examples/herbstluftwm/
  - Bash completions in share/bash-completion/completions/herbstclient,
    ZSH completions in share/zsh/site-functions/ and now support for
    fish too
  - mv share/{applications,xsessions}/herbstluftwm.desktop

We have been using it without problems in amd64 and i386.

Inlined is the cvs diff -w output. The "real" patch is attached.

-Lucas

[0]: https://raw.githubusercontent.com/herbstluftwm/herbstluftwm/master/NEWS
[1]: https://github.com/parkouss/pyewmh
[2]: https://github.com/The-Compiler/pytest-xvfb


Index: Makefile
===================================================================
RCS file: /home/cvs/ports/x11/herbstluftwm/Makefile,v
retrieving revision 1.15
diff -u -p -w -r1.15 Makefile
--- Makefile    17 Oct 2019 20:23:03 -0000      1.15
+++ Makefile    2 Jun 2020 12:38:35 -0000
@@ -1,39 +1,52 @@
 # $OpenBSD: Makefile,v 1.15 2019/10/17 20:23:03 rsadowski Exp $
 
 COMMENT =      manual tiling window manager
-DISTNAME =     herbstluftwm-0.7.2
+DISTNAME =             herbstluftwm-0.8.2
 CATEGORIES =   x11
 
 HOMEPAGE =     https://herbstluftwm.org/
 
+MAINTAINER =           Lucas <lu...@sexy.is>, \
+                       Florian Viehweger <open...@out-of-creativity.de>
+
 # BSD
 PERMIT_PACKAGE =       Yes
 
-WANTLIB += X11 Xext Xinerama c glib-2.0 intl m pthread ${COMPILER_LIBCXX}
+WANTLIB +=             X11 Xext Xinerama Xrandr c m pthread ${COMPILER_LIBCXX}
 
 MASTER_SITES = https://herbstluftwm.org/tarballs/
 
 # c++11
 COMPILER =     base-clang ports-gcc
 
-LIB_DEPENDS += devel/glib2
+MODULES +=             devel/cmake
 
 RUN_DEPENDS += devel/desktop-file-utils \
                shells/bash \
                x11/dzen2,-gadgets
 
-CPPFLAGS +=    -I${LOCALBASE}/include
-USE_GMAKE =    Yes
-MAKE_FLAGS =   LDFLAGS= VERBOSE= COLOR=0 CC='${CC}' LDXX='${CXX}' CXX='${CXX}'
-
-BASEDIR =      ${PREFIX}/share/examples/herbstluftwm
-FAKE_FLAGS =   SYSCONFDIR="${BASEDIR}" \
-               EXAMPLESDIR="${BASEDIR}" \
-               ZSHCOMPLETIONDIR="${BASEDIR}/zsh/functions/Completion/X" \
-               MANDIR="${PREFIX}/man" \
-               PREFIX="${PREFIX}" \
-               XSESSIONSDIR="${PREFIX}/share/applications"
+# tarball already includes generated manpages
+# saves depend on asciidoc
+CONFIGURE_ARGS +=      -DWITH_DOCUMENTATION=NO
 
+# requires unported pyewmh, pytest-xvfb and maybe more
 NO_TEST =      Yes
+
+post-install:
+       ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/herbstluftwm
+       ${INSTALL_SCRIPT} ${WRKINST}/etc/xdg/herbstluftwm/autostart \
+               ${PREFIX}/share/examples/herbstluftwm/
+       mv ${WRKINST}/etc/xdg/herbstluftwm/dmenu_run_hlwm \
+               ${PREFIX}/share/examples/herbstluftwm/
+       ${INSTALL_SCRIPT} ${WRKINST}/etc/xdg/herbstluftwm/panel.sh \
+               ${PREFIX}/share/examples/herbstluftwm/
+       ${INSTALL_SCRIPT} ${WRKINST}/etc/xdg/herbstluftwm/restartpanels.sh \
+               ${PREFIX}/share/examples/herbstluftwm/
+       ${INSTALL_MAN} ${WRKSRC}/doc/herbstclient.1 \
+               ${PREFIX}/man/man1/herbstclient.1
+       ${INSTALL_MAN} ${WRKSRC}/doc/herbstluftwm.1 \
+               ${PREFIX}/man/man1/herbstluftwm.1
+       ${INSTALL_MAN} ${WRKSRC}/doc/herbstluftwm-tutorial.7 \
+               ${PREFIX}/man/man7/herbstluftwm-tutorial.7
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/x11/herbstluftwm/distinfo,v
retrieving revision 1.5
diff -u -p -w -r1.5 distinfo
--- distinfo    17 Oct 2019 20:23:03 -0000      1.5
+++ distinfo    2 Jun 2020 03:29:16 -0000
@@ -1,2 +1,2 @@
-SHA256 (herbstluftwm-0.7.2.tar.gz) = 
3/YT/G14g+ogETGO+KexW5L3hk6vYyKd+c4OmaRCgc0=
-SIZE (herbstluftwm-0.7.2.tar.gz) = 245506
+SHA256 (herbstluftwm-0.8.2.tar.gz) = 
BKByLuLA4rYAAhG24FdKu0uuTVl8VmwoDYY1/oIOdHE=
+SIZE (herbstluftwm-0.8.2.tar.gz) = 377790
Index: pkg/PLIST
===================================================================
RCS file: /home/cvs/ports/x11/herbstluftwm/pkg/PLIST,v
retrieving revision 1.5
diff -u -p -w -r1.5 PLIST
--- pkg/PLIST   4 Jan 2019 00:25:47 -0000       1.5
+++ pkg/PLIST   2 Jun 2020 12:20:01 -0000
@@ -1,56 +1,56 @@
 @comment $OpenBSD: PLIST,v 1.5 2019/01/04 00:25:47 jca Exp $
-bin/dmenu_run_hlwm
+@tag update-desktop-database
+@sample ${SYSCONFDIR}/xdg/
+@sample ${SYSCONFDIR}/xdg/herbstluftwm/
 @bin bin/herbstclient
 @bin bin/herbstluftwm
 @man man/man1/herbstclient.1
 @man man/man1/herbstluftwm.1
 @man man/man7/herbstluftwm-tutorial.7
-share/applications/herbstluftwm.desktop
+share/bash-completion/completions/herbstclient
 share/doc/herbstluftwm/
 share/doc/herbstluftwm/BUGS
-share/doc/herbstluftwm/INSTALL
 share/doc/herbstluftwm/LICENSE
 share/doc/herbstluftwm/NEWS
-share/doc/herbstluftwm/herbstclient.html
-share/doc/herbstluftwm/herbstluftwm-tutorial.html
-share/doc/herbstluftwm/herbstluftwm.html
+share/doc/herbstluftwm/examples/
+share/doc/herbstluftwm/examples/README
+share/doc/herbstluftwm/examples/dmenu.sh
+share/doc/herbstluftwm/examples/dumpbeautify.sh
+share/doc/herbstluftwm/examples/exec_on_tag.sh
+share/doc/herbstluftwm/examples/execwith.sh
+share/doc/herbstluftwm/examples/float-maximize.sh
+share/doc/herbstluftwm/examples/floatmon.sh
+share/doc/herbstluftwm/examples/herbstcommander.sh
+share/doc/herbstluftwm/examples/keychain.sh
+share/doc/herbstluftwm/examples/lasttag.sh
+share/doc/herbstluftwm/examples/layout.sh
+share/doc/herbstluftwm/examples/loadstate.sh
+share/doc/herbstluftwm/examples/maximize.sh
+share/doc/herbstluftwm/examples/q3terminal.sh
+share/doc/herbstluftwm/examples/savestate.sh
+share/doc/herbstluftwm/examples/scratchpad.sh
+share/doc/herbstluftwm/examples/toggledualhead.sh
+share/doc/herbstluftwm/examples/windowmenu.sh
+share/doc/herbstluftwm/examples/wselect.sh
 share/examples/herbstluftwm/
-share/examples/herbstluftwm/README
-share/examples/herbstluftwm/bash_completion.d/
-@sample ${SYSCONFDIR}/bash_completion.d/
-share/examples/herbstluftwm/bash_completion.d/herbstclient-completion
-@sample ${SYSCONFDIR}/bash_completion.d/herbstclient-completion
-share/examples/herbstluftwm/dmenu.sh
-share/examples/herbstluftwm/dumpbeautify.sh
-share/examples/herbstluftwm/exec_on_tag.sh
-share/examples/herbstluftwm/execwith.sh
-share/examples/herbstluftwm/float-maximize.sh
-share/examples/herbstluftwm/floatmon.sh
-share/examples/herbstluftwm/herbstcommander.sh
-share/examples/herbstluftwm/keychain.sh
-share/examples/herbstluftwm/lasttag.sh
-share/examples/herbstluftwm/layout.sh
-share/examples/herbstluftwm/loadstate.sh
-share/examples/herbstluftwm/maximize.sh
-share/examples/herbstluftwm/q3terminal.sh
-share/examples/herbstluftwm/savestate.sh
-share/examples/herbstluftwm/scratchpad.sh
-share/examples/herbstluftwm/toggledualhead.sh
-share/examples/herbstluftwm/windowmenu.sh
-share/examples/herbstluftwm/wselect.sh
-share/examples/herbstluftwm/xdg/
-share/examples/herbstluftwm/xdg/herbstluftwm/
-@sample ${SYSCONFDIR}/xdg/herbstluftwm/
-share/examples/herbstluftwm/xdg/herbstluftwm/autostart
+share/examples/herbstluftwm/autostart
 @mode 755
 @sample ${SYSCONFDIR}/xdg/herbstluftwm/autostart
-share/examples/herbstluftwm/xdg/herbstluftwm/panel.sh
+@mode
+share/examples/herbstluftwm/dmenu_run_hlwm
+share/examples/herbstluftwm/panel.sh
+@mode 755
 @sample ${SYSCONFDIR}/xdg/herbstluftwm/panel.sh
-share/examples/herbstluftwm/xdg/herbstluftwm/restartpanels.sh
+@mode
+share/examples/herbstluftwm/restartpanels.sh
+@mode 755
 @sample ${SYSCONFDIR}/xdg/herbstluftwm/restartpanels.sh
-share/examples/herbstluftwm/zsh/
-share/examples/herbstluftwm/zsh/functions/
-share/examples/herbstluftwm/zsh/functions/Completion/
-share/examples/herbstluftwm/zsh/functions/Completion/X/
-share/examples/herbstluftwm/zsh/functions/Completion/X/_herbstclient
-@tag update-desktop-database
+@mode
+share/fish/
+share/fish/vendor_completions.d/
+share/fish/vendor_completions.d/herbstclient.fish
+share/xsessions/
+share/xsessions/herbstluftwm.desktop
+share/zsh/
+share/zsh/site-functions/
+share/zsh/site-functions/_herbstclient

Index: Makefile
===================================================================
RCS file: /home/cvs/ports/x11/herbstluftwm/Makefile,v
retrieving revision 1.15
diff -u -p -r1.15 Makefile
--- Makefile    17 Oct 2019 20:23:03 -0000      1.15
+++ Makefile    2 Jun 2020 12:38:35 -0000
@@ -1,39 +1,52 @@
 # $OpenBSD: Makefile,v 1.15 2019/10/17 20:23:03 rsadowski Exp $
 
-COMMENT =      manual tiling window manager
-DISTNAME =     herbstluftwm-0.7.2
-CATEGORIES =   x11
+COMMENT =              manual tiling window manager
+DISTNAME =             herbstluftwm-0.8.2
+CATEGORIES =           x11
 
-HOMEPAGE =     https://herbstluftwm.org/
+HOMEPAGE =             https://herbstluftwm.org/
+
+MAINTAINER =           Lucas <lu...@sexy.is>, \
+                       Florian Viehweger <open...@out-of-creativity.de>
 
 # BSD
 PERMIT_PACKAGE =       Yes
 
-WANTLIB += X11 Xext Xinerama c glib-2.0 intl m pthread ${COMPILER_LIBCXX}
+WANTLIB +=             X11 Xext Xinerama Xrandr c m pthread ${COMPILER_LIBCXX}
 
-MASTER_SITES = https://herbstluftwm.org/tarballs/
+MASTER_SITES =         https://herbstluftwm.org/tarballs/
 
 # c++11
-COMPILER =     base-clang ports-gcc
-
-LIB_DEPENDS += devel/glib2
+COMPILER =             base-clang ports-gcc
 
-RUN_DEPENDS += devel/desktop-file-utils \
-               shells/bash \
-               x11/dzen2,-gadgets
-
-CPPFLAGS +=    -I${LOCALBASE}/include
-USE_GMAKE =    Yes
-MAKE_FLAGS =   LDFLAGS= VERBOSE= COLOR=0 CC='${CC}' LDXX='${CXX}' CXX='${CXX}'
-
-BASEDIR =      ${PREFIX}/share/examples/herbstluftwm
-FAKE_FLAGS =   SYSCONFDIR="${BASEDIR}" \
-               EXAMPLESDIR="${BASEDIR}" \
-               ZSHCOMPLETIONDIR="${BASEDIR}/zsh/functions/Completion/X" \
-               MANDIR="${PREFIX}/man" \
-               PREFIX="${PREFIX}" \
-               XSESSIONSDIR="${PREFIX}/share/applications"
+MODULES +=             devel/cmake
 
-NO_TEST =      Yes
+RUN_DEPENDS +=         devel/desktop-file-utils \
+                       shells/bash \
+                       x11/dzen2,-gadgets
+
+# tarball already includes generated manpages
+# saves depend on asciidoc
+CONFIGURE_ARGS +=      -DWITH_DOCUMENTATION=NO
+
+# requires unported pyewmh, pytest-xvfb and maybe more
+NO_TEST =              Yes
+
+post-install:
+       ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/herbstluftwm
+       ${INSTALL_SCRIPT} ${WRKINST}/etc/xdg/herbstluftwm/autostart \
+               ${PREFIX}/share/examples/herbstluftwm/
+       mv ${WRKINST}/etc/xdg/herbstluftwm/dmenu_run_hlwm \
+               ${PREFIX}/share/examples/herbstluftwm/
+       ${INSTALL_SCRIPT} ${WRKINST}/etc/xdg/herbstluftwm/panel.sh \
+               ${PREFIX}/share/examples/herbstluftwm/
+       ${INSTALL_SCRIPT} ${WRKINST}/etc/xdg/herbstluftwm/restartpanels.sh \
+               ${PREFIX}/share/examples/herbstluftwm/
+       ${INSTALL_MAN} ${WRKSRC}/doc/herbstclient.1 \
+               ${PREFIX}/man/man1/herbstclient.1
+       ${INSTALL_MAN} ${WRKSRC}/doc/herbstluftwm.1 \
+               ${PREFIX}/man/man1/herbstluftwm.1
+       ${INSTALL_MAN} ${WRKSRC}/doc/herbstluftwm-tutorial.7 \
+               ${PREFIX}/man/man7/herbstluftwm-tutorial.7
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/x11/herbstluftwm/distinfo,v
retrieving revision 1.5
diff -u -p -r1.5 distinfo
--- distinfo    17 Oct 2019 20:23:03 -0000      1.5
+++ distinfo    2 Jun 2020 03:29:16 -0000
@@ -1,2 +1,2 @@
-SHA256 (herbstluftwm-0.7.2.tar.gz) = 
3/YT/G14g+ogETGO+KexW5L3hk6vYyKd+c4OmaRCgc0=
-SIZE (herbstluftwm-0.7.2.tar.gz) = 245506
+SHA256 (herbstluftwm-0.8.2.tar.gz) = 
BKByLuLA4rYAAhG24FdKu0uuTVl8VmwoDYY1/oIOdHE=
+SIZE (herbstluftwm-0.8.2.tar.gz) = 377790
Index: pkg/PLIST
===================================================================
RCS file: /home/cvs/ports/x11/herbstluftwm/pkg/PLIST,v
retrieving revision 1.5
diff -u -p -r1.5 PLIST
--- pkg/PLIST   4 Jan 2019 00:25:47 -0000       1.5
+++ pkg/PLIST   2 Jun 2020 12:20:01 -0000
@@ -1,56 +1,56 @@
 @comment $OpenBSD: PLIST,v 1.5 2019/01/04 00:25:47 jca Exp $
-bin/dmenu_run_hlwm
+@tag update-desktop-database
+@sample ${SYSCONFDIR}/xdg/
+@sample ${SYSCONFDIR}/xdg/herbstluftwm/
 @bin bin/herbstclient
 @bin bin/herbstluftwm
 @man man/man1/herbstclient.1
 @man man/man1/herbstluftwm.1
 @man man/man7/herbstluftwm-tutorial.7
-share/applications/herbstluftwm.desktop
+share/bash-completion/completions/herbstclient
 share/doc/herbstluftwm/
 share/doc/herbstluftwm/BUGS
-share/doc/herbstluftwm/INSTALL
 share/doc/herbstluftwm/LICENSE
 share/doc/herbstluftwm/NEWS
-share/doc/herbstluftwm/herbstclient.html
-share/doc/herbstluftwm/herbstluftwm-tutorial.html
-share/doc/herbstluftwm/herbstluftwm.html
+share/doc/herbstluftwm/examples/
+share/doc/herbstluftwm/examples/README
+share/doc/herbstluftwm/examples/dmenu.sh
+share/doc/herbstluftwm/examples/dumpbeautify.sh
+share/doc/herbstluftwm/examples/exec_on_tag.sh
+share/doc/herbstluftwm/examples/execwith.sh
+share/doc/herbstluftwm/examples/float-maximize.sh
+share/doc/herbstluftwm/examples/floatmon.sh
+share/doc/herbstluftwm/examples/herbstcommander.sh
+share/doc/herbstluftwm/examples/keychain.sh
+share/doc/herbstluftwm/examples/lasttag.sh
+share/doc/herbstluftwm/examples/layout.sh
+share/doc/herbstluftwm/examples/loadstate.sh
+share/doc/herbstluftwm/examples/maximize.sh
+share/doc/herbstluftwm/examples/q3terminal.sh
+share/doc/herbstluftwm/examples/savestate.sh
+share/doc/herbstluftwm/examples/scratchpad.sh
+share/doc/herbstluftwm/examples/toggledualhead.sh
+share/doc/herbstluftwm/examples/windowmenu.sh
+share/doc/herbstluftwm/examples/wselect.sh
 share/examples/herbstluftwm/
-share/examples/herbstluftwm/README
-share/examples/herbstluftwm/bash_completion.d/
-@sample ${SYSCONFDIR}/bash_completion.d/
-share/examples/herbstluftwm/bash_completion.d/herbstclient-completion
-@sample ${SYSCONFDIR}/bash_completion.d/herbstclient-completion
-share/examples/herbstluftwm/dmenu.sh
-share/examples/herbstluftwm/dumpbeautify.sh
-share/examples/herbstluftwm/exec_on_tag.sh
-share/examples/herbstluftwm/execwith.sh
-share/examples/herbstluftwm/float-maximize.sh
-share/examples/herbstluftwm/floatmon.sh
-share/examples/herbstluftwm/herbstcommander.sh
-share/examples/herbstluftwm/keychain.sh
-share/examples/herbstluftwm/lasttag.sh
-share/examples/herbstluftwm/layout.sh
-share/examples/herbstluftwm/loadstate.sh
-share/examples/herbstluftwm/maximize.sh
-share/examples/herbstluftwm/q3terminal.sh
-share/examples/herbstluftwm/savestate.sh
-share/examples/herbstluftwm/scratchpad.sh
-share/examples/herbstluftwm/toggledualhead.sh
-share/examples/herbstluftwm/windowmenu.sh
-share/examples/herbstluftwm/wselect.sh
-share/examples/herbstluftwm/xdg/
-share/examples/herbstluftwm/xdg/herbstluftwm/
-@sample ${SYSCONFDIR}/xdg/herbstluftwm/
-share/examples/herbstluftwm/xdg/herbstluftwm/autostart
+share/examples/herbstluftwm/autostart
 @mode 755
 @sample ${SYSCONFDIR}/xdg/herbstluftwm/autostart
-share/examples/herbstluftwm/xdg/herbstluftwm/panel.sh
+@mode
+share/examples/herbstluftwm/dmenu_run_hlwm
+share/examples/herbstluftwm/panel.sh
+@mode 755
 @sample ${SYSCONFDIR}/xdg/herbstluftwm/panel.sh
-share/examples/herbstluftwm/xdg/herbstluftwm/restartpanels.sh
+@mode
+share/examples/herbstluftwm/restartpanels.sh
+@mode 755
 @sample ${SYSCONFDIR}/xdg/herbstluftwm/restartpanels.sh
-share/examples/herbstluftwm/zsh/
-share/examples/herbstluftwm/zsh/functions/
-share/examples/herbstluftwm/zsh/functions/Completion/
-share/examples/herbstluftwm/zsh/functions/Completion/X/
-share/examples/herbstluftwm/zsh/functions/Completion/X/_herbstclient
-@tag update-desktop-database
+@mode
+share/fish/
+share/fish/vendor_completions.d/
+share/fish/vendor_completions.d/herbstclient.fish
+share/xsessions/
+share/xsessions/herbstluftwm.desktop
+share/zsh/
+share/zsh/site-functions/
+share/zsh/site-functions/_herbstclient

Reply via email to