aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThierry Thomas <thierry@FreeBSD.org>2022-05-21 08:56:42 +0000
committerThierry Thomas <thierry@FreeBSD.org>2022-05-21 08:56:42 +0000
commit3a63bbd85bd196569eca764dd9579e77eaf59a2d (patch)
tree48a75ad3eb2aeedb0c956594ba847fad19387b0a
parentde46dbf2724c28e2c1a833e1e640be6e58d68900 (diff)
downloadports-3a63bbd85bd196569eca764dd9579e77eaf59a2d.tar.gz
ports-3a63bbd85bd196569eca764dd9579e77eaf59a2d.zip
cad/camotics: adding CAMotics, Simulation & Computer Aided Machining
The latest stable release, v1.2.0, is for Python-2.7, this is why I ported this -RC1, but it is somewhat buggy. Do not hesitate to report any problem! PR: 262763 Requested by: luzpaz (at) pm.me
-rw-r--r--cad/Makefile1
-rw-r--r--cad/camotics/Makefile102
-rw-r--r--cad/camotics/distinfo3
-rw-r--r--cad/camotics/files/patch-config_qt5_____init____.py26
-rw-r--r--cad/camotics/pkg-descr8
-rw-r--r--cad/camotics/pkg-plist10
6 files changed, 150 insertions, 0 deletions
diff --git a/cad/Makefile b/cad/Makefile
index d3459b8e3f19..3229fe0b7c5f 100644
--- a/cad/Makefile
+++ b/cad/Makefile
@@ -15,6 +15,7 @@
SUBDIR += brlcad
SUBDIR += calculix
SUBDIR += calculix-ccx
+ SUBDIR += camotics
SUBDIR += caneda
SUBDIR += cascade
SUBDIR += cascade-compiler
diff --git a/cad/camotics/Makefile b/cad/camotics/Makefile
new file mode 100644
index 000000000000..08ccaaec69c9
--- /dev/null
+++ b/cad/camotics/Makefile
@@ -0,0 +1,102 @@
+# Created by: thierry@pompo.net
+
+PORTNAME= CAMotics
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.2.2-rc1
+CATEGORIES= cad
+
+MAINTAINER= thierry@FreeBSD.org
+COMMENT= 3-axis CNC GCode simulator
+
+LICENSE= GPLv2+
+
+BUILD_DEPENDS= boost-libs>0:devel/boost-libs \
+ ${LOCALBASE}/lib/libdxflib.a:cad/qcad \
+ ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}
+LIB_DEPENDS= libv8.so:lang/v8 \
+ libre2.so:devel/re2 \
+ libcbang0.so:devel/cbang \
+ liblz4.so:archivers/liblz4 \
+ libevent.so:devel/libevent \
+ libexpat.so:textproc/expat2 \
+ libyaml.so:textproc/libyaml \
+ libsnappy.so:archivers/snappy \
+ libsysinfo.so:devel/libsysinfo \
+ libleveldb.so:databases/leveldb
+
+USE_GITHUB= yes
+GH_ACCOUNT= CauldronDevelopmentLLC
+
+USES= compiler:c++14-lang desktop-file-utils gettext-runtime gl gnome \
+ localbase:ldflags mysql:client pkgconfig python qt:5 scons \
+ shared-mime-info shebangfix sqlite ssl
+SHEBANG_FILES= examples/python/camotics_python_example.py
+USE_GL= gl glu
+USE_GNOME= cairo
+USE_QT= assistant buildtools core dbus gui linguisttools network opengl \
+ websockets widgets
+QT5_INC= -I${LOCALBASE}/include/qt5 \
+ -I${LOCALBASE}/include/qt5/QtCore \
+ -I${LOCALBASE}/include/qt5/QtGui \
+ -I${LOCALBASE}/include/qt5/QtNetwork \
+ -I${LOCALBASE}/include/qt5/QtOpenGL \
+ -I${LOCALBASE}/include/qt5/QtWidgets
+QT5_LIBS_= ${qt-core_LIB} \
+ ${qt-gui_LIB} \
+ ${qt-network_LIB} \
+ ${qt-opengl_LIB} \
+ ${qt-websockets_LIB} \
+ ${qt-widgets_LIB}
+QT5_LIBS= -L${QT_LIBDIR} ${QT5_LIBS_:C/^lib/-l/:C/.so//}
+
+OPTIONS_DEFINE= EXAMPLES
+PORTEXAMPLES= *
+
+MAKE_ARGS+= cc="${CC}" \
+ cxx="${CXX}" \
+ cxxstd="c++14" \
+ ccflags="${CCFLAGS}" \
+ cxxflags="${CXXFLAGS} ${QT5_INC}" \
+ linkflags="${LDFLAGS} ${QT5_LIBS}" \
+ libpath="${LIBPATH}" \
+ sharedlib=1 \
+ install_prefix="${STAGEDIR}${PREFIX}" \
+ compiler="${CHOSEN_COMPILER_TYPE:C/gcc/gnu/}" \
+ disable_local="zlib bzip2 lz4 sqlite3 expat libevent re2 libyaml"
+MAKE_ENV+= QT5DIR="${LOCALBASE}" \
+ CBANG_HOME="${WRKDIR}/cbang"
+.if defined(WITH_DEBUG)
+MAKE_ARGS+= debug=1 strict=0
+.endif
+
+TEST_WRKSRC= ${WRKSRC}/tests
+DO_MAKE_TEST= ${SETENV} ${TEST_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${TEST_ARGS}
+
+pre-configure:
+ ${CP} -R ${LOCALBASE}/share/cbang ${WRKDIR}
+ ${RLN} ${LOCALBASE}/include ${WRKDIR}/cbang/
+ ${REINPLACE_CMD} -e "/python_version/s|'3'|'${PYTHON_VER}'|" \
+ ${WRKSRC}/SConstruct
+ ${REINPLACE_CMD} -e 's|/usr/bin/env python2| ${PYTHON_CMD}|' \
+ ${TEST_WRKSRC}/testHarness
+
+post-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/metainfo \
+ ${STAGEDIR}${PREFIX}/share/mime/packages
+ ${INSTALL_DATA} ${WRKSRC}/CAMotics.desktop \
+ ${STAGEDIR}${PREFIX}/share/applications/
+ ${INSTALL_DATA} ${WRKSRC}/CAMotics.appdata.xml \
+ ${STAGEDIR}${PREFIX}/share/metainfo
+ ${INSTALL_DATA} ${WRKSRC}/mime.xml \
+ ${STAGEDIR}${PREFIX}/share/mime/packages/${PORTNAME}.xml
+ ${INSTALL_DATA} ${WRKSRC}/images/*.png \
+ ${STAGEDIR}${PREFIX}/share/pixmaps
+
+post-install-EXAMPLES-on:
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
+
+#do-test:
+# (cd ${TEST_WRKSRC} && ./testHarness)
+
+.include <bsd.port.mk>
diff --git a/cad/camotics/distinfo b/cad/camotics/distinfo
new file mode 100644
index 000000000000..8968e40da060
--- /dev/null
+++ b/cad/camotics/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1652128288
+SHA256 (CauldronDevelopmentLLC-CAMotics-v1.2.2-rc1_GH0.tar.gz) = c928d58c31b42eb970ed4022fac86c73a082c67b336eb4a83cd1100d4dee2e60
+SIZE (CauldronDevelopmentLLC-CAMotics-v1.2.2-rc1_GH0.tar.gz) = 12570228
diff --git a/cad/camotics/files/patch-config_qt5_____init____.py b/cad/camotics/files/patch-config_qt5_____init____.py
new file mode 100644
index 000000000000..4e48a0bdd748
--- /dev/null
+++ b/cad/camotics/files/patch-config_qt5_____init____.py
@@ -0,0 +1,26 @@
+--- config/qt5/__init__.py.orig 2021-07-27 23:51:08 UTC
++++ config/qt5/__init__.py
+@@ -710,6 +710,13 @@ def generate(env):
+ Action = SCons.Action.Action
+ Builder = SCons.Builder.Builder
+
++ version = tuple(map(int, SCons.__version__.split('.')))
++
++ QT5_MOCDEFINES = \
++ '${_defines(QT5_MOCDEFPREFIX, CPPDEFINES, QT5_MOCDEFSUFFIX, __env__'
++ if (4, 2, 0) <= version: QT5_MOCDEFINES += ', TARGET, SOURCE'
++ QT5_MOCDEFINES += ')}'
++
+ env['QT5DIR'] = _detect(env)
+ env.Replace(
+ QT5DIR = _detect(env),
+@@ -762,8 +769,7 @@ def generate(env):
+ QT5_QRCCXXPREFIX = 'qrc_',
+ QT5_MOCDEFPREFIX = '-D',
+ QT5_MOCDEFSUFFIX = '',
+- QT5_MOCDEFINES = '${_defines(QT5_MOCDEFPREFIX, CPPDEFINES, '
+- 'QT5_MOCDEFSUFFIX, __env__)}',
++ QT5_MOCDEFINES = QT5_MOCDEFINES,
+ QT5_MOCCPPPATH = [],
+ QT5_MOCINCFLAGS = '$( ${_concat(QT5_MOCINCPREFIX, QT5_MOCCPPPATH, '
+ 'INCSUFFIX, __env__, RDirs)} $)',
diff --git a/cad/camotics/pkg-descr b/cad/camotics/pkg-descr
new file mode 100644
index 000000000000..3a522a9100c8
--- /dev/null
+++ b/cad/camotics/pkg-descr
@@ -0,0 +1,8 @@
+CAMotics is an Open-Source software which can simulate 3-axis NC machining. It
+is a fast, flexible and user friendly simulation software for the DIY and
+Open-Source community.
+
+
+
+WWW: http://camotics.org/
+WWW: https://github.com/CauldronDevelopmentLLC/CAMotics
diff --git a/cad/camotics/pkg-plist b/cad/camotics/pkg-plist
new file mode 100644
index 000000000000..42f0cd651e07
--- /dev/null
+++ b/cad/camotics/pkg-plist
@@ -0,0 +1,10 @@
+bin/camotics
+bin/camsim
+bin/gcodetool
+bin/planner
+bin/tplang
+share/applications/CAMotics.desktop
+share/metainfo/CAMotics.appdata.xml
+share/mime/packages/CAMotics.xml
+share/pixmaps/camotics-logo.png
+share/pixmaps/camotics.png