svn commit: r480119 - in head/cad: . k40-whisperer k40-whisperer/files
Mateusz Piotrowski
0mp at FreeBSD.org
Wed Sep 19 22:44:38 UTC 2018
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 at 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 <bsd.port.mk>
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
More information about the svn-ports-head
mailing list