svn commit: r517213 - in head/x11-wm: . chamfer chamfer/files
Jan Beich
jbeich at FreeBSD.org
Sun Nov 10 15:37:39 UTC 2019
Author: jbeich
Date: Sun Nov 10 15:37:37 2019
New Revision: 517213
URL: https://svnweb.freebsd.org/changeset/ports/517213
Log:
x11-wm/chamfer: add new port
Chamferwm is a dynamic tiling window manager with a built-in Vulkan
based compositor. Besides aiming to be a fully featured and highly
configurable window manager, significant effort is put to provide a
complete control over the appearance of the desktop. With its shader
based customization system, Chamferwm enables rendering of arbitrary
window decorations, borders and effects, maximizing the potential for
visual personalization.
Window manager:
- Dynamic horizontal and vertical tiling with gaps and stacking
- Specify container size restrictions, overlap when necessary
- Resize and translate individual containers in their place while
keeping the surrounding layout
- Floating containers and automatic dialog, dock, widget etc. handling
- Yank and paste containers to move them within the tree hierarchy
along with typical move operations
- Configuration with python, scriptable behaviour with client and
container specific callbacks
- Fully keyboard controllable
Compositor:
- Vulkan renderer
- Arbitrary window decorations and borders with user supplied shaders
- Per-client materials
- Optional, alternatively use any other external compositor
https://jaelpark.github.io/chamferwm-docs/
Added:
head/x11-wm/chamfer/
head/x11-wm/chamfer/Makefile (contents, props changed)
head/x11-wm/chamfer/distinfo (contents, props changed)
head/x11-wm/chamfer/files/
head/x11-wm/chamfer/files/patch-main.cpp (contents, props changed)
head/x11-wm/chamfer/pkg-descr (contents, props changed)
head/x11-wm/chamfer/pkg-plist (contents, props changed)
Modified:
head/x11-wm/Makefile (contents, props changed)
Modified: head/x11-wm/Makefile
==============================================================================
--- head/x11-wm/Makefile Sun Nov 10 15:36:04 2019 (r517212)
+++ head/x11-wm/Makefile Sun Nov 10 15:37:37 2019 (r517213)
@@ -17,6 +17,7 @@
SUBDIR += bspwm
SUBDIR += cage
SUBDIR += ccsm
+ SUBDIR += chamfer
SUBDIR += clementine-wm
SUBDIR += compiz
SUBDIR += compiz-fusion
Added: head/x11-wm/chamfer/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/x11-wm/chamfer/Makefile Sun Nov 10 15:37:37 2019 (r517213)
@@ -0,0 +1,55 @@
+# $FreeBSD$
+
+PORTNAME= chamfer
+DISTVERSION= s20191106
+CATEGORIES= x11-wm
+
+MAINTAINER= jbeich at FreeBSD.org
+COMMENT= Tiling X11 window manager with Vulkan compositor
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:devel/vulkan-headers \
+ glslc:graphics/shaderc \
+ glm>0:math/glm
+LIB_DEPENDS= libboost_filesystem.so:devel/boost-libs \
+ ${PY_BOOST} \
+ libvulkan.so:graphics/vulkan-loader \
+ libxcb-cursor.so:x11/xcb-util-cursor \
+ libxcb-keysyms.so:x11/xcb-util-keysyms \
+ libxcb-icccm.so:x11/xcb-util-wm
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}xlib>0:x11-toolkits/py-xlib@${PY_FLAVOR}
+
+USES= compiler:c++17-lang meson localbase pkgconfig python:3.3+ xorg
+USE_GITHUB= yes
+USE_XORG= xcb
+GH_ACCOUNT= jaelpark
+GH_PROJECT= ${PORTNAME}wm
+GH_TAGNAME= 176bb1d
+CXXFLAGS+= -Wno-narrowing
+
+post-patch:
+ @${REINPLACE_CMD} -e 's,/usr,${PREFIX},' \
+ ${WRKSRC}/src/config.cpp ${WRKSRC}/src/main.cpp
+# XXX import('python').find_installation().dependency()
+# XXX https://github.com/mesonbuild/meson/issues/4788
+ @${REINPLACE_CMD} -e '/boost/!s/python3/python-${PYTHON_VER}/' \
+ -e '/boost/s/python3/python${PYTHON_SUFFIX}/' \
+ ${WRKSRC}/meson.build
+
+do-install:
+ ${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/${PORTNAME} \
+ ${STAGEDIR}${PREFIX}/bin
+ ${MKDIR} ${STAGEDIR}${DATADIR}/shaders
+ ${INSTALL_DATA} ${INSTALL_WRKSRC}/*.spv \
+ ${STAGEDIR}${DATADIR}/shaders
+ ${MKDIR} ${STAGEDIR}${DATADIR}/config
+ ${INSTALL_DATA} ${WRKSRC}/config/config.py \
+ ${STAGEDIR}${DATADIR}/config/config.py.sample
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/xsessions/
+ ${INSTALL_DATA} ${WRKSRC}/share/${PORTNAME}.desktop \
+ ${STAGEDIR}${PREFIX}/share/xsessions/
+
+.include <bsd.port.mk>
Added: head/x11-wm/chamfer/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/x11-wm/chamfer/distinfo Sun Nov 10 15:37:37 2019 (r517213)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1573053413
+SHA256 (jaelpark-chamferwm-s20191106-176bb1d_GH0.tar.gz) = 9821401d30cfb7c3babdd63322d37318314a430f8dfba82b067559597146102e
+SIZE (jaelpark-chamferwm-s20191106-176bb1d_GH0.tar.gz) = 119191
Added: head/x11-wm/chamfer/files/patch-main.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/x11-wm/chamfer/files/patch-main.cpp Sun Nov 10 15:37:37 2019 (r517213)
@@ -0,0 +1,13 @@
+- Add default shader path
+
+--- src/main.cpp.orig 2019-08-02 19:10:02 UTC
++++ src/main.cpp
+@@ -806,7 +806,7 @@ int main(sint argc, const char **pargv){
+ args::ValueFlag<uint> deviceIndexOpt(group_comp,"id","GPU to use by its index. By default the first device in the list of enumerated GPUs will be used.",{"device-index"});
+ args::Flag debugLayersOpt(group_comp,"debugLayers","Enable Vulkan debug layers.",{"debug-layers",'l'},false);
+ args::Flag noScissoringOpt(group_comp,"noScissoring","Disable scissoring optimization.",{"no-scissoring"},false);
+- args::ValueFlagList<std::string> shaderPaths(group_comp,"path","Shader lookup path. SPIR-V shader objects are identified by an '.spv' extension. Multiple paths may be specified.",{"shader-path"});
++ args::ValueFlagList<std::string> shaderPaths(group_comp,"path","Shader lookup path. SPIR-V shader objects are identified by an '.spv' extension. Multiple paths may be specified.",{"shader-path"},{"/usr/share/chamfer/shaders"});
+
+ try{
+ parser.ParseCLI(argc,pargv);
Added: head/x11-wm/chamfer/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/x11-wm/chamfer/pkg-descr Sun Nov 10 15:37:37 2019 (r517213)
@@ -0,0 +1,27 @@
+Chamferwm is a dynamic tiling window manager with a built-in Vulkan
+based compositor. Besides aiming to be a fully featured and highly
+configurable window manager, significant effort is put to provide a
+complete control over the appearance of the desktop. With its shader
+based customization system, Chamferwm enables rendering of arbitrary
+window decorations, borders and effects, maximizing the potential for
+visual personalization.
+
+Window manager:
+- Dynamic horizontal and vertical tiling with gaps and stacking
+- Specify container size restrictions, overlap when necessary
+- Resize and translate individual containers in their place while
+ keeping the surrounding layout
+- Floating containers and automatic dialog, dock, widget etc. handling
+- Yank and paste containers to move them within the tree hierarchy
+ along with typical move operations
+- Configuration with python, scriptable behaviour with client and
+ container specific callbacks
+- Fully keyboard controllable
+
+Compositor:
+- Vulkan renderer
+- Arbitrary window decorations and borders with user supplied shaders
+- Per-client materials
+- Optional, alternatively use any other external compositor
+
+WWW: https://jaelpark.github.io/chamferwm-docs/
Added: head/x11-wm/chamfer/pkg-plist
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/x11-wm/chamfer/pkg-plist Sun Nov 10 15:37:37 2019 (r517213)
@@ -0,0 +1,10 @@
+bin/chamfer
+ at sample %%DATADIR%%/config/config.py.sample
+%%DATADIR%%/shaders/default_fragment.spv
+%%DATADIR%%/shaders/default_geometry.spv
+%%DATADIR%%/shaders/default_vertex.spv
+%%DATADIR%%/shaders/frame_fragment.spv
+%%DATADIR%%/shaders/frame_geometry.spv
+%%DATADIR%%/shaders/frame_vertex.spv
+%%DATADIR%%/shaders/solid_fragment.spv
+share/xsessions/chamfer.desktop
More information about the svn-ports-head
mailing list