From owner-svn-ports-all@freebsd.org Sun Nov 10 15:37:39 2019 Return-Path: Delivered-To: svn-ports-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 722481B74B3; Sun, 10 Nov 2019 15:37:39 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 479ynH2PvRz44v4; Sun, 10 Nov 2019 15:37:39 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3604E10B3; Sun, 10 Nov 2019 15:37:39 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id xAAFbcCn080033; Sun, 10 Nov 2019 15:37:38 GMT (envelope-from jbeich@FreeBSD.org) Received: (from jbeich@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id xAAFbb6O080027; Sun, 10 Nov 2019 15:37:37 GMT (envelope-from jbeich@FreeBSD.org) Message-Id: <201911101537.xAAFbb6O080027@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jbeich set sender to jbeich@FreeBSD.org using -f From: Jan Beich Date: Sun, 10 Nov 2019 15:37:37 +0000 (UTC) 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 X-SVN-Group: ports-head X-SVN-Commit-Author: jbeich X-SVN-Commit-Paths: in head/x11-wm: . chamfer chamfer/files X-SVN-Commit-Revision: 517213 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Nov 2019 15:37:39 -0000 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 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 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 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 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