Date: Sun, 10 Nov 2019 15:37:37 +0000 (UTC) From: Jan Beich <jbeich@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r517213 - in head/x11-wm: . chamfer chamfer/files Message-ID: <201911101537.xAAFbb6O080027@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@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 +@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201911101537.xAAFbb6O080027>