Index: head/cad/Makefile =================================================================== --- head/cad/Makefile +++ head/cad/Makefile @@ -44,6 +44,7 @@ SUBDIR += irsim SUBDIR += iverilog SUBDIR += jspice3 + SUBDIR += k40-whisperer SUBDIR += kicad SUBDIR += kicad-devel SUBDIR += kicad-library Index: head/cad/k40-whisperer/Makefile =================================================================== --- head/cad/k40-whisperer/Makefile +++ head/cad/k40-whisperer/Makefile @@ -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 Index: head/cad/k40-whisperer/distinfo =================================================================== --- head/cad/k40-whisperer/distinfo +++ head/cad/k40-whisperer/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1527085070 +SHA256 (K40_Whisperer-0.19_src.zip) = c688cf1746aa391b6a9d4cfb3e66c2f183d1f45da88a2770e8ddefac44349193 +SIZE (K40_Whisperer-0.19_src.zip) = 121328 Index: head/cad/k40-whisperer/files/k40-whisperer.in =================================================================== --- head/cad/k40-whisperer/files/k40-whisperer.in +++ head/cad/k40-whisperer/files/k40-whisperer.in @@ -0,0 +1,5 @@ +#! /bin/sh - +# +# $FreeBSD$ + +exec %%PYTHON_CMD%% %%DATADIR%%/k40_whisperer.py Index: head/cad/k40-whisperer/files/pkg-message.in =================================================================== --- head/cad/k40-whisperer/files/pkg-message.in +++ head/cad/k40-whisperer/files/pkg-message.in @@ -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. Index: head/cad/k40-whisperer/pkg-descr =================================================================== --- head/cad/k40-whisperer/pkg-descr +++ head/cad/k40-whisperer/pkg-descr @@ -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 Index: head/cad/k40-whisperer/pkg-plist =================================================================== --- head/cad/k40-whisperer/pkg-plist +++ head/cad/k40-whisperer/pkg-plist @@ -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