From owner-svn-ports-head@freebsd.org Wed Sep 19 22:44:38 2018 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8E0CE10A9520; Wed, 19 Sep 2018 22:44:38 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 448E9960D7; Wed, 19 Sep 2018 22:44:38 +0000 (UTC) (envelope-from 0mp@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 3F84A15546; Wed, 19 Sep 2018 22:44:38 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w8JMiceI052874; Wed, 19 Sep 2018 22:44:38 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w8JMiaG9052867; Wed, 19 Sep 2018 22:44:36 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <201809192244.w8JMiaG9052867@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Wed, 19 Sep 2018 22:44:36 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r480119 - in head/cad: . k40-whisperer k40-whisperer/files X-SVN-Group: ports-head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: in head/cad: . k40-whisperer k40-whisperer/files X-SVN-Commit-Revision: 480119 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Sep 2018 22:44:38 -0000 Author: 0mp Date: Wed Sep 19 22:44:36 2018 New Revision: 480119 URL: https://svnweb.freebsd.org/changeset/ports/480119 Log: New port: cad/k40-whisperer GUI control software for the stock K40 laser cutter controller K40 Whisperer is an alternative to the Laser Draw (LaserDRW) program that comes with some Chinese laser cutters. It reads SVG and DXF files, interprets the data and sends commands to the K40 controller to move the laser head and control the laser accordingly. K40 Whisperer does not require a USB key (dongle) to function. Features: - Reads SVG files and DXF files. - Splits input design based on color formatting (red, blue). - In SVG files blue and red paths are interpreted as vectors for vector engraving and cutting. Everything else is transferred as a raster image. - In DXF files blue paths are interpreted as vector engrave (blue). Everything else is interpreted as vector cut (red). - Performs cuts on features inside of other features before cutting the outside features. (If you cut the outside first the part might drop out of the stock material.) - Converts gray scale images to halftone images to simulating varying levels of gray (i.e. engraving pictures). The Halftone option needs to be selected under "Raster"-"Settings" to enable halftoning. WWW: http://www.scorchworks.com/K40whisperer/k40whisperer.html PR: 228466 Reviewed by: mat (mentor) Approved by: mat (mentor) Sponsored by: Warsaw Hackerspace Differential Revision: https://reviews.freebsd.org/D16339 Added: head/cad/k40-whisperer/ head/cad/k40-whisperer/Makefile (contents, props changed) head/cad/k40-whisperer/distinfo (contents, props changed) head/cad/k40-whisperer/files/ head/cad/k40-whisperer/files/k40-whisperer.in (contents, props changed) head/cad/k40-whisperer/files/pkg-message.in (contents, props changed) head/cad/k40-whisperer/pkg-descr (contents, props changed) head/cad/k40-whisperer/pkg-plist (contents, props changed) Modified: head/cad/Makefile Modified: head/cad/Makefile ============================================================================== --- head/cad/Makefile Wed Sep 19 22:17:02 2018 (r480118) +++ head/cad/Makefile Wed Sep 19 22:44:36 2018 (r480119) @@ -44,6 +44,7 @@ SUBDIR += irsim SUBDIR += iverilog SUBDIR += jspice3 + SUBDIR += k40-whisperer SUBDIR += kicad SUBDIR += kicad-devel SUBDIR += kicad-library Added: head/cad/k40-whisperer/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cad/k40-whisperer/Makefile Wed Sep 19 22:44:36 2018 (r480119) @@ -0,0 +1,67 @@ +# $FreeBSD$ + +PORTNAME= k40-whisperer +DISTVERSION= 0.19 +CATEGORIES= cad python +MASTER_SITES= http://www.scorchworks.com/K40whisperer/ +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= K40_Whisperer-${DISTVERSION}_src + +MAINTAINER= 0mp@FreeBSD.org +COMMENT= GUI control software for the stock K40 laser cutter controller + +LICENSE= GPLv3+ +LICENSE_FILE= ${WRKSRC}/gpl-3.0.txt + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}usb>0:devel/py-usb@${PY_FLAVOR} + +USES= python:2.7 zip + +OPTIONS_DEFINE= DOCS + +NO_BUILD= yes + +WHISPERER_COMMAND= ${PORTNAME} +SUB_FILES= pkg-message ${WHISPERER_COMMAND} +SUB_LIST= PYTHON_CMD=${PYTHON_CMD} WHISPERER_COMMAND=${WHISPERER_COMMAND} +PLIST_SUB= WHISPERER_COMMAND=${WHISPERER_COMMAND} + +DATA= bezmisc.py \ + CC.png \ + cspsubdiv.py \ + cubicsuperpath.py \ + down.png \ + dxf.py \ + egv.py \ + emblem64 \ + ffgeom.py \ + g_code_library.py \ + inkex.py \ + interpolate.py \ + k40_whisperer.py \ + left.png \ + LL.png \ + LR.png \ + nano_library.py \ + right.png \ + simplepath.py \ + simplestyle.py \ + simpletransform.py \ + svg_reader.py \ + UL.png \ + up.png \ + UR.png + +DOCS= README_Linux.txt \ + README_MacOS.md + +do-install: + ${INSTALL_SCRIPT} ${WRKDIR}/${WHISPERER_COMMAND} ${STAGEDIR}${PREFIX}/bin + @${MKDIR} ${STAGEDIR}${DATADIR} + ${INSTALL_DATA} ${DATA:S,^,${WRKSRC}/,} ${STAGEDIR}${DATADIR} + @${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${DOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR} + +.include Added: head/cad/k40-whisperer/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cad/k40-whisperer/distinfo Wed Sep 19 22:44:36 2018 (r480119) @@ -0,0 +1,3 @@ +TIMESTAMP = 1527085070 +SHA256 (K40_Whisperer-0.19_src.zip) = c688cf1746aa391b6a9d4cfb3e66c2f183d1f45da88a2770e8ddefac44349193 +SIZE (K40_Whisperer-0.19_src.zip) = 121328 Added: head/cad/k40-whisperer/files/k40-whisperer.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cad/k40-whisperer/files/k40-whisperer.in Wed Sep 19 22:44:36 2018 (r480119) @@ -0,0 +1,5 @@ +#! /bin/sh - +# +# $FreeBSD$ + +exec %%PYTHON_CMD%% %%DATADIR%%/k40_whisperer.py Added: head/cad/k40-whisperer/files/pkg-message.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cad/k40-whisperer/files/pkg-message.in Wed Sep 19 22:44:36 2018 (r480119) @@ -0,0 +1,5 @@ +At the moment K40 Whisperer has to be run as root unless devd(8) is properly +configured. Some notes on how it is handled on macOS and Linux can be +found in %%DATADIR%%. + +K40 Whisperer can be launched with a `%%WHISPERER_COMMAND%%` command. Added: head/cad/k40-whisperer/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cad/k40-whisperer/pkg-descr Wed Sep 19 22:44:36 2018 (r480119) @@ -0,0 +1,21 @@ +K40 Whisperer is an alternative to the Laser Draw (LaserDRW) program that comes +with some Chinese laser cutters. It reads SVG and DXF files, interprets the +data and sends commands to the K40 controller to move the laser head and +control the laser accordingly. K40 Whisperer does not require a USB key +(dongle) to function. + +Features: +- Reads SVG files and DXF files. +- Splits input design based on color formatting (red, blue). +- In SVG files blue and red paths are interpreted as vectors for vector + engraving and cutting. Everything else is transferred as a raster image. +- In DXF files blue paths are interpreted as vector engrave (blue). + Everything else is interpreted as vector cut (red). +- Performs cuts on features inside of other features before cutting the outside + features. (If you cut the outside first the part might drop out of the stock + material.) +- Converts gray scale images to halftone images to simulating varying levels of + gray (i.e. engraving pictures). The Halftone option needs to be selected + under "Raster"-"Settings" to enable halftoning. + +WWW: http://www.scorchworks.com/K40whisperer/k40whisperer.html Added: head/cad/k40-whisperer/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cad/k40-whisperer/pkg-plist Wed Sep 19 22:44:36 2018 (r480119) @@ -0,0 +1,28 @@ +bin/%%WHISPERER_COMMAND%% +%%PORTDOCS%%%%DOCSDIR%%/README_Linux.txt +%%PORTDOCS%%%%DOCSDIR%%/README_MacOS.md +%%DATADIR%%/CC.png +%%DATADIR%%/LL.png +%%DATADIR%%/LR.png +%%DATADIR%%/UL.png +%%DATADIR%%/UR.png +%%DATADIR%%/bezmisc.py +%%DATADIR%%/cspsubdiv.py +%%DATADIR%%/cubicsuperpath.py +%%DATADIR%%/down.png +%%DATADIR%%/dxf.py +%%DATADIR%%/egv.py +%%DATADIR%%/emblem64 +%%DATADIR%%/ffgeom.py +%%DATADIR%%/g_code_library.py +%%DATADIR%%/inkex.py +%%DATADIR%%/interpolate.py +%%DATADIR%%/k40_whisperer.py +%%DATADIR%%/left.png +%%DATADIR%%/nano_library.py +%%DATADIR%%/right.png +%%DATADIR%%/simplepath.py +%%DATADIR%%/simplestyle.py +%%DATADIR%%/simpletransform.py +%%DATADIR%%/svg_reader.py +%%DATADIR%%/up.png