summaryrefslogtreecommitdiff
path: root/wm
diff options
context:
space:
mode:
authorjmmv <jmmv@pkgsrc.org>2019-04-02 01:49:09 +0000
committerjmmv <jmmv@pkgsrc.org>2019-04-02 01:49:09 +0000
commitfec369238be0d3d18c1545ffe85cd1012086e9ba (patch)
tree338e9feb8c28bdd60f50c4003dd9dceb425ceff4 /wm
parent163a35e3d62cff3b9b3286196f1f740d355da3c1 (diff)
downloadpkgsrc-fec369238be0d3d18c1545ffe85cd1012086e9ba.tar.gz
Initial addition of chunkwm-0.4.8:
chunkwm is a tiling window manager for macOS that uses a plugin architecture, successor to kwm. chunkwm represents windows as the leaves of a binary tree, and supports binary space partitioned, monocle and floating desktops. Development is happening on macOS Mojave (10.14), but OSX El Capitan (10.11.6) and newer should work fine. Older versions may or may not be compatible and will not be officially supported. chunkwm is controlled via the chunkc command-line utility, which sends commands to chunkwm to manipulate windows. chunkwm does not handle any keyboard input. A third party program (e.g. skhd) is needed to map keyboard events to chunkwm actions via chunkc.
Diffstat (limited to 'wm')
-rw-r--r--wm/Makefile3
-rw-r--r--wm/chunkwm/DESCR14
-rw-r--r--wm/chunkwm/MESSAGE16
-rw-r--r--wm/chunkwm/Makefile56
-rw-r--r--wm/chunkwm/PLIST10
-rw-r--r--wm/chunkwm/distinfo11
-rw-r--r--wm/chunkwm/patches/patch-src_plugins_border.diff16
-rw-r--r--wm/chunkwm/patches/patch-src_plugins_ffm.diff16
-rw-r--r--wm/chunkwm/patches/patch-src_plugins_purify.diff16
-rw-r--r--wm/chunkwm/patches/patch-src_plugins_template.diff16
-rw-r--r--wm/chunkwm/patches/patch-src_plugins_tiling.diff16
11 files changed, 189 insertions, 1 deletions
diff --git a/wm/Makefile b/wm/Makefile
index 67062fa4bee..797320287fe 100644
--- a/wm/Makefile
+++ b/wm/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.135 2018/11/01 09:25:29 bsiegert Exp $
+# $NetBSD: Makefile,v 1.136 2019/04/02 01:49:09 jmmv Exp $
#
COMMENT= X11 window managers, configuration tools, and themes
@@ -22,6 +22,7 @@ SUBDIR+= bmpanel2
SUBDIR+= bsetroot
SUBDIR+= bspwm
SUBDIR+= ccsm
+SUBDIR+= chunkwm
SUBDIR+= compiz
SUBDIR+= compiz-fusion-plugins-extra
SUBDIR+= compiz-fusion-plugins-main
diff --git a/wm/chunkwm/DESCR b/wm/chunkwm/DESCR
new file mode 100644
index 00000000000..bf6804d595e
--- /dev/null
+++ b/wm/chunkwm/DESCR
@@ -0,0 +1,14 @@
+chunkwm is a tiling window manager for macOS that uses a plugin
+architecture, successor to kwm. chunkwm represents windows as the
+leaves of a binary tree, and supports binary space partitioned, monocle
+and floating desktops.
+
+Development is happening on macOS Mojave (10.14), but OSX El Capitan
+(10.11.6) and newer should work fine. Older versions may or may not be
+compatible and will not be officially supported.
+
+chunkwm is controlled via the chunkc command-line utility, which sends
+commands to chunkwm to manipulate windows.
+
+chunkwm does not handle any keyboard input. A third party program (e.g.
+skhd) is needed to map keyboard events to chunkwm actions via chunkc.
diff --git a/wm/chunkwm/MESSAGE b/wm/chunkwm/MESSAGE
new file mode 100644
index 00000000000..7b56a2b5815
--- /dev/null
+++ b/wm/chunkwm/MESSAGE
@@ -0,0 +1,16 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2019/04/02 01:49:09 jmmv Exp $
+
+chunkwm has been configured to start with your session.
+
+To get started, copy ${PREFIX}/share/examples/chunkwm/chunkwmrc to
+~/.chunkwmrc and edit at will. The configuration file must be executable.
+
+Once done, launch chunkwm with:
+
+launchctl load /Library/LaunchAgents/com.koekeishiya.chunkwm.plist
+
+You should also install skhd, the keyboard daemon to capture key presses
+and send commands to chunkwm.
+
+===========================================================================
diff --git a/wm/chunkwm/Makefile b/wm/chunkwm/Makefile
new file mode 100644
index 00000000000..f1bd51ef4c6
--- /dev/null
+++ b/wm/chunkwm/Makefile
@@ -0,0 +1,56 @@
+# $NetBSD: Makefile,v 1.1 2019/04/02 01:49:09 jmmv Exp $
+
+DISTNAME= ${PKGNAME:S/chunkwm-/v/}
+PKGNAME= chunkwm-0.4.8
+CATEGORIES= wm
+MASTER_SITES= ${MASTER_SITE_GITHUB:=koekeishiya/}chunkwm/archive/
+DIST_SUBDIR= chunkwm
+
+MAINTAINER= jmmv@NetBSD.org
+COMMENT= Tiling window manager for macOS based on plugin architecture
+LICENSE= mit
+
+ONLY_FOR_PLATFORM= Darwin-*-*
+
+USE_LANGUAGES= c++11 obj-c++
+USE_TOOLS= gmake
+WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}
+
+SUBST_CLASSES+= build
+SUBST_STAGE.build= pre-configure
+SUBST_FILES.build= makefile
+SUBST_SED.build= -e 's,GIT_VERSION.*=.*,GIT_VERSION=\\"${DISTNAME}\\",g'
+
+SUBST_CLASSES+= paths
+SUBST_STAGE.paths= pre-configure
+SUBST_FILES.paths= examples/chunkwmrc
+SUBST_FILES.paths+= examples/com.koekeishiya.chunkwm.plist
+SUBST_SED.paths= -e 's,/usr/local,${PREFIX},g'
+SUBST_SED.paths+= -e 's,~/\.chunkwm_plugins,${PREFIX}/libexec/chunkwm,g'
+
+CONF_FILES= ${PREFIX}/share/chunkwm/com.koekeishiya.chunkwm.plist \
+ /Library/LaunchAgents/com.koekeishiya.chunkwm.plist
+
+do-build:
+.for d in . src/chunkc src/plugins/border src/plugins/ffm src/plugins/purify \
+ src/plugins/template src/plugins/tiling
+ cd ${WRKSRC}/${d} && gmake \
+ BUILD_FLAGS="-O2 -std=c++11 -Wall" \
+ PLUGINSDIR=${PREFIX}/libexec/chunkwm
+.endfor
+
+INSTALLATION_DIRS= bin libexec/chunkwm share/chunkwm share/examples/chunkwm
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/chunkwm \
+ ${DESTDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/src/chunkc/bin/chunkc \
+ ${DESTDIR}${PREFIX}/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/examples/chunkwmrc \
+ ${DESTDIR}${PREFIX}/share/examples/chunkwm
+ ${INSTALL_DATA} ${WRKSRC}/examples/com.koekeishiya.chunkwm.plist \
+ ${DESTDIR}${PREFIX}/share/chunkwm
+ ${INSTALL_LIB} ${WRKSRC}/plugins/*.so \
+ ${DESTDIR}${PREFIX}/libexec/chunkwm
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/wm/chunkwm/PLIST b/wm/chunkwm/PLIST
new file mode 100644
index 00000000000..bb047a50c61
--- /dev/null
+++ b/wm/chunkwm/PLIST
@@ -0,0 +1,10 @@
+@comment $NetBSD: PLIST,v 1.1 2019/04/02 01:49:09 jmmv Exp $
+bin/chunkc
+bin/chunkwm
+libexec/chunkwm/border.so
+libexec/chunkwm/ffm.so
+libexec/chunkwm/purify.so
+libexec/chunkwm/template.so
+libexec/chunkwm/tiling.so
+share/chunkwm/com.koekeishiya.chunkwm.plist
+share/examples/chunkwm/chunkwmrc
diff --git a/wm/chunkwm/distinfo b/wm/chunkwm/distinfo
new file mode 100644
index 00000000000..8cf5532c275
--- /dev/null
+++ b/wm/chunkwm/distinfo
@@ -0,0 +1,11 @@
+$NetBSD: distinfo,v 1.1 2019/04/02 01:49:09 jmmv Exp $
+
+SHA1 (chunkwm/v0.4.8.tar.gz) = 1c1337429d4595f7691e2c52194f21dd668a19e8
+RMD160 (chunkwm/v0.4.8.tar.gz) = a5177a6a9f7c65bb427a68c0eb4d6c434b02b28e
+SHA512 (chunkwm/v0.4.8.tar.gz) = b93b2081efba53268b1d2e83787bb3af505be84544d4becc688fb3da2673cf483e3b6acd6dbc7a8007685f6df4da54f2830727a5a4f1ea6a9efdf3bb981cd8eb
+Size (chunkwm/v0.4.8.tar.gz) = 161867 bytes
+SHA1 (patch-src_plugins_border.diff) = 76edaea66066b6697956654a91f87c63f9962d7a
+SHA1 (patch-src_plugins_ffm.diff) = 9e26031bd527568fabdb45fb36daf2dd3c8a4577
+SHA1 (patch-src_plugins_purify.diff) = 10ab103d8467f474439dc9e393d3057698f8d4a1
+SHA1 (patch-src_plugins_template.diff) = 1c95e16afae5d0919178a407d2495679d46cc889
+SHA1 (patch-src_plugins_tiling.diff) = eb4c74ad03bf18e3bdfb7c6ab91ef51809a91956
diff --git a/wm/chunkwm/patches/patch-src_plugins_border.diff b/wm/chunkwm/patches/patch-src_plugins_border.diff
new file mode 100644
index 00000000000..366dc161f49
--- /dev/null
+++ b/wm/chunkwm/patches/patch-src_plugins_border.diff
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_plugins_border.diff,v 1.1 2019/04/02 01:49:09 jmmv Exp $
+
+Avoid references to the work directory in the built .so plugins.
+We rely on the pkgsrc Makefile to set PLUGINSDIR at build time.
+
+--- src/plugins/border/makefile.orig 2019-02-24 16:52:45.000000000 +0000
++++ src/plugins/border/makefile
+@@ -5,7 +5,7 @@ DEV_BIN_PATH = ./../../../plugins
+ DEV_BUILD_PATH = ./bin
+ DEV_BINS = $(DEV_BUILD_PATH)/border
+ SRC = ./plugin.mm
+-LINK = -shared -fPIC -framework Carbon -framework Cocoa -framework ApplicationServices
++LINK = -shared -fPIC -framework Carbon -framework Cocoa -framework ApplicationServices -Wl,-install_name -Wl,$(PLUGINSDIR)/border.so
+ DIR := ${CURDIR}
+ NOW := $(shell date "+%s")
+
diff --git a/wm/chunkwm/patches/patch-src_plugins_ffm.diff b/wm/chunkwm/patches/patch-src_plugins_ffm.diff
new file mode 100644
index 00000000000..0dc81d23832
--- /dev/null
+++ b/wm/chunkwm/patches/patch-src_plugins_ffm.diff
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_plugins_ffm.diff,v 1.1 2019/04/02 01:49:09 jmmv Exp $
+
+Avoid references to the work directory in the built .so plugins.
+We rely on the pkgsrc Makefile to set PLUGINSDIR at build time.
+
+--- src/plugins/ffm/makefile.orig 2019-02-24 16:52:45.000000000 +0000
++++ src/plugins/ffm/makefile
+@@ -2,7 +2,7 @@ BUILD_FLAGS = -O0 -g -DCHUNKWM_DEBUG -s
+ BUILD_PATH = ./../../../plugins
+ SRC = ./plugin.cpp
+ BINS = $(BUILD_PATH)/ffm.so
+-LINK = -shared -fPIC -framework Carbon -framework ApplicationServices
++LINK = -shared -fPIC -framework Carbon -framework ApplicationServices -Wl,-install_name -Wl,$(PLUGINSDIR)/ffm.so
+
+ all: $(BINS)
+
diff --git a/wm/chunkwm/patches/patch-src_plugins_purify.diff b/wm/chunkwm/patches/patch-src_plugins_purify.diff
new file mode 100644
index 00000000000..28f321d3c54
--- /dev/null
+++ b/wm/chunkwm/patches/patch-src_plugins_purify.diff
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_plugins_purify.diff,v 1.1 2019/04/02 01:49:09 jmmv Exp $
+
+Avoid references to the work directory in the built .so plugins.
+We rely on the pkgsrc Makefile to set PLUGINSDIR at build time.
+
+--- src/plugins/purify/makefile.orig 2019-02-24 16:52:45.000000000 +0000
++++ src/plugins/purify/makefile
+@@ -2,7 +2,7 @@ BUILD_FLAGS = -O0 -g -std=c++11 -Wall
+ BUILD_PATH = ./../../../plugins
+ SRC = ./plugin.mm
+ BINS = $(BUILD_PATH)/purify.so
+-LINK = -shared -fPIC -framework Carbon -framework Cocoa -framework ApplicationServices
++LINK = -shared -fPIC -framework Carbon -framework Cocoa -framework ApplicationServices -Wl,-install_name -Wl,$(PLUGINSDIR)/purify.so
+
+ all: $(BINS)
+
diff --git a/wm/chunkwm/patches/patch-src_plugins_template.diff b/wm/chunkwm/patches/patch-src_plugins_template.diff
new file mode 100644
index 00000000000..fa79432dcc7
--- /dev/null
+++ b/wm/chunkwm/patches/patch-src_plugins_template.diff
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_plugins_template.diff,v 1.1 2019/04/02 01:49:09 jmmv Exp $
+
+Avoid references to the work directory in the built .so plugins.
+We rely on the pkgsrc Makefile to set PLUGINSDIR at build time.
+
+--- src/plugins/template/makefile.orig 2019-02-24 16:52:45.000000000 +0000
++++ src/plugins/template/makefile
+@@ -2,7 +2,7 @@ BUILD_FLAGS = -O0 -g -std=c++11 -Wall
+ BUILD_PATH = ./../../../plugins
+ SRC = ./plugin.cpp
+ BINS = $(BUILD_PATH)/template.so
+-LINK = -shared -fPIC -framework Carbon -framework Cocoa -framework ApplicationServices
++LINK = -shared -fPIC -framework Carbon -framework Cocoa -framework ApplicationServices -Wl,-install_name -Wl,$(PLUGINSDIR)/template.so
+
+ all: $(BINS)
+
diff --git a/wm/chunkwm/patches/patch-src_plugins_tiling.diff b/wm/chunkwm/patches/patch-src_plugins_tiling.diff
new file mode 100644
index 00000000000..1729ca86470
--- /dev/null
+++ b/wm/chunkwm/patches/patch-src_plugins_tiling.diff
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_plugins_tiling.diff,v 1.1 2019/04/02 01:49:09 jmmv Exp $
+
+Avoid references to the work directory in the built .so plugins.
+We rely on the pkgsrc Makefile to set PLUGINSDIR at build time.
+
+--- src/plugins/tiling/makefile.orig 2019-02-24 16:52:45.000000000 +0000
++++ src/plugins/tiling/makefile
+@@ -5,7 +5,7 @@ DEV_BIN_PATH = ./../../../plugins
+ DEV_BUILD_PATH = ./bin
+ DEV_BINS = $(DEV_BUILD_PATH)/tiling
+ SRC = ./plugin.mm
+-LINK = -shared -fPIC -framework Carbon -framework Cocoa -framework ApplicationServices
++LINK = -shared -fPIC -framework Carbon -framework Cocoa -framework ApplicationServices -Wl,-install_name -Wl,$(PLUGINSDIR)/tiling.so
+ DIR := ${CURDIR}
+ NOW := $(shell date "+%s")
+