Hi, Here's an WIP update to latest pekwm RC.
PekWM seems to have switched to using c++11 so use ports gcc for building it. Also added pledge clause in it. Still need to check the pekwm scripts that they work ok. Otherwise pekwm seems usable. Timo Index: Makefile =================================================================== RCS file: /cvs/ports/x11/pekwm/Makefile,v retrieving revision 1.28 diff -u -p -r1.28 Makefile --- Makefile 31 Oct 2016 17:07:30 -0000 1.28 +++ Makefile 30 Nov 2016 04:40:02 -0000 @@ -2,7 +2,8 @@ COMMENT= aewm++ based pretty themable window manager -DISTNAME= pekwm-0.1.17 +DISTNAME= pekwm-0.1.18-rc1 +PKGNAME= pekwm-0.1.18 CATEGORIES= x11 HOMEPAGE= https://www.pekwm.org/ @@ -12,11 +13,16 @@ MAINTAINER= Timo Myyra <timo.myyra@wicke # GPLv2 PERMIT_PACKAGE_CDROM= Yes +# uses pledge() WANTLIB += ICE SM X11 Xext Xft Xinerama Xpm Xrandr c iconv jpeg m png -WANTLIB += stdc++ + +MODULES = gcc4 + +MODGCC4_ARCHS = * +MODGCC4_LANGS = c++ MASTER_SITES= ${HOMEPAGE}/files/ -EXTRACT_SUFX= .tar.bz2 +EXTRACT_SUFX= .tar.xz LIB_DEPENDS= converters/libiconv \ graphics/jpeg \ graphics/png @@ -25,10 +31,12 @@ NO_TEST= Yes USE_GMAKE= Yes -CONFIGURE_STYLE=gnu +CONFIGURE_STYLE=autoconf CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ LDFLAGS="-L${LOCALBASE}/lib" CONFIGURE_ARGS= --enable-xinerama + +AUTOCONF_VERSION= 2.69 post-install: @mv ${WRKINST}/etc/pekwm ${PREFIX}/share/examples Index: distinfo =================================================================== RCS file: /cvs/ports/x11/pekwm/distinfo,v retrieving revision 1.11 diff -u -p -r1.11 distinfo --- distinfo 31 Oct 2016 17:07:30 -0000 1.11 +++ distinfo 30 Nov 2016 04:40:02 -0000 @@ -1,2 +1,2 @@ -SHA256 (pekwm-0.1.17.tar.bz2) = ih/Tv5846Me7KyhkwJD5hrYM7CKB7PG7pGLRIPsyfQA= -SIZE (pekwm-0.1.17.tar.bz2) = 405742 +SHA256 (pekwm-0.1.18-rc1.tar.xz) = wlK5O++PkNkG+HvOioEntxFmYX9HDtgFFME1ALa7f0M= +SIZE (pekwm-0.1.18-rc1.tar.xz) = 381716 Index: patches/patch-configure_ac =================================================================== RCS file: patches/patch-configure_ac diff -N patches/patch-configure_ac --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-configure_ac 30 Nov 2016 04:40:02 -0000 @@ -0,0 +1,13 @@ +$OpenBSD$ +--- configure.ac.orig Tue Nov 29 19:41:44 2016 ++++ configure.ac Tue Nov 29 19:42:13 2016 +@@ -32,6 +32,9 @@ CXXFLAGS="$CXXFLAGS $INCICONV" + dnl Check for iconvctl + AC_CHECK_FUNC(iconvctl, [AC_DEFINE(HAVE_ICONVCTL, [1], [Define to 1 if you the iconvctl call])], ) + ++dnl Check for pledge ++AC_CHECK_FUNC(pledge, [AC_DEFINE(HAVE_PLEDGE, [1], [Define to 1 if you the pledge call])], ) ++ + dnl add x11 to the env + AC_PATH_X + AC_PATH_XTRA Index: patches/patch-data_scripts_pekwm_screenshot_sh =================================================================== RCS file: /cvs/ports/x11/pekwm/patches/patch-data_scripts_pekwm_screenshot_sh,v retrieving revision 1.1 diff -u -p -r1.1 patch-data_scripts_pekwm_screenshot_sh --- patches/patch-data_scripts_pekwm_screenshot_sh 31 Oct 2016 17:07:30 -0000 1.1 +++ patches/patch-data_scripts_pekwm_screenshot_sh 30 Nov 2016 04:40:02 -0000 @@ -1,76 +1,12 @@ $OpenBSD: patch-data_scripts_pekwm_screenshot_sh,v 1.1 2016/10/31 17:07:30 ajacoutot Exp $ No need for bash here, use /bin/sh ---- data/scripts/pekwm_screenshot.sh.orig Sun May 26 15:01:18 2013 -+++ data/scripts/pekwm_screenshot.sh Tue Mar 22 09:16:26 2016 -@@ -1,30 +1,30 @@ --#!/usr/bin/env bash -+#!/bin/sh - # - # Copyright © 2013 the pekwm development team - # - --function screenshot_scrot -+screenshot_scrot() - { - scrot -z "$1" - } - --function screenshot_xwd_netpbm -+screenshot_xwd_netpbm() - { - xwd -root | xwdtopnm 2>/dev/null | pnmtopng > "$1" - } - --function screenshot_imagemagick -+screenshot_imagemagick() - { - import -window root "$1" - } - --function is_in_path -+is_in_path() - { - which $1 >/dev/null 2>&1 - return $? - } - --function detect_command -+detect_command() - { - is_in_path "scrot" - if test $? -eq 0; then -@@ -45,7 +45,7 @@ function detect_command - fi - } - --function usage -+usage() - { - echo "usage: pekwm_screenshot.sh [-c scrot|netpbm|magick] [-d delay] [-o output.png]" - echo "" -@@ -61,7 +61,7 @@ function usage - exit 0 - } - --function usage_command -+usage_command() - { - echo "Unable to find any supported commands for taking screenshots" - echo "" -@@ -74,7 +74,7 @@ function usage_command - exit 1 - } - --function main -+main() - { - # Initialize for strict mode - command="" -@@ -146,6 +146,6 @@ function main +--- data/scripts/pekwm_screenshot.sh.orig Thu Nov 17 06:51:12 2016 ++++ data/scripts/pekwm_screenshot.sh Thu Nov 17 06:51:28 2016 +@@ -151,6 +151,6 @@ main() exit 0 } -OPTIONS=$(getopt -o c:d:ho: -n 'pekwm_screenshot.sh' -- "$@") -+OPTIONS=$(getopt c:d:ho: $*) ++OPTIONS=$(getopt -o c:d:ho: -- "$@") main Index: patches/patch-src_main_cc =================================================================== RCS file: patches/patch-src_main_cc diff -N patches/patch-src_main_cc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_main_cc 30 Nov 2016 04:40:02 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ +--- src/main.cc.orig Thu Oct 20 07:08:31 2016 ++++ src/main.cc Tue Nov 29 19:42:36 2016 +@@ -128,6 +128,13 @@ main(int argc, char **argv) + + WindowManager *wm = WindowManager::start(config_file, replace); + ++#if HAVE_PLEDGE ++ if (pledge("stdio rpath wpath cpath proc exec", NULL) == -1) { ++ cerr << "failed to pledge" << endl; ++ return 1; ++ } ++#endif ++ + if (wm) { + try { + wm->doEventLoop(); Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/x11/pekwm/pkg/PLIST,v retrieving revision 1.8 diff -u -p -r1.8 PLIST --- pkg/PLIST 31 Oct 2016 17:07:30 -0000 1.8 +++ pkg/PLIST 30 Nov 2016 04:40:02 -0000 @@ -44,6 +44,15 @@ share/pekwm/themes/default/bottom-left.p share/pekwm/themes/default/bottom-left_unfocus.png share/pekwm/themes/default/bottom-right.png share/pekwm/themes/default/bottom-right_unfocus.png +share/pekwm/themes/default/button-close.png +share/pekwm/themes/default/button-close_hover.png +share/pekwm/themes/default/button-close_press.png +share/pekwm/themes/default/button-max.png +share/pekwm/themes/default/button-max_hover.png +share/pekwm/themes/default/button-max_press.png +share/pekwm/themes/default/button-min.png +share/pekwm/themes/default/button-min_hover.png +share/pekwm/themes/default/button-min_press.png share/pekwm/themes/default/button.png share/pekwm/themes/default/button_hover.png share/pekwm/themes/default/button_press.png @@ -66,5 +75,8 @@ share/pekwm/themes/default/top-border.pn share/pekwm/themes/default/top-border_unfocus.png share/pekwm/themes/default/top-left.png share/pekwm/themes/default/top-left_unfocus.png +share/pekwm/themes/default/top-right-no-buttons.png share/pekwm/themes/default/top-right.png share/pekwm/themes/default/top-right_unfocus.png +share/pekwm/themes/pion/ +share/pekwm/themes/pion/theme