aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2023-01-16 20:50:37 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2023-01-16 21:07:26 +0000
commitcdfc8f759d7f08e89c95d802ba11575d7eb0317f (patch)
tree4b73964a6670cab1158cd214c0871b829d08531b
parentef30279ef248ec6b2a24d80ad207d6f4b3ae1bb0 (diff)
downloadports-cdfc8f759d7f08e89c95d802ba11575d7eb0317f.tar.gz
ports-cdfc8f759d7f08e89c95d802ba11575d7eb0317f.zip
cad/antimony: New port: CAD from a parallel universe
-rw-r--r--cad/Makefile1
-rw-r--r--cad/antimony/Makefile25
-rw-r--r--cad/antimony/distinfo3
-rw-r--r--cad/antimony/files/patch-app_app_app.cpp13
-rw-r--r--cad/antimony/files/patch-app_app_main.cpp20
-rw-r--r--cad/antimony/pkg-descr2
-rw-r--r--cad/antimony/pkg-plist96
7 files changed, 160 insertions, 0 deletions
diff --git a/cad/Makefile b/cad/Makefile
index 2248b9d2b435..fa412f520987 100644
--- a/cad/Makefile
+++ b/cad/Makefile
@@ -6,6 +6,7 @@
SUBDIR += admesh
SUBDIR += adms
SUBDIR += alliance
+ SUBDIR += antimony
SUBDIR += appcsxcad
SUBDIR += archimedes
SUBDIR += astk-client
diff --git a/cad/antimony/Makefile b/cad/antimony/Makefile
new file mode 100644
index 000000000000..4d932e8b9217
--- /dev/null
+++ b/cad/antimony/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= antimony
+DISTVERSION= 0.9.3b-37
+DISTVERSIONSUFFIX= -g8b805c67
+CATEGORIES= cad
+PKGNAMESUFFIX= -cad
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= CAD from a parallel universe
+WWW= https://www.mattkeeter.com/projects/antimony/3/
+
+LICENSE= MIT
+
+BUILD_DEPENDS= lemon:devel/lemon
+LIB_DEPENDS= ${PY_BOOST} \
+ libpng16.so:graphics/png
+
+USES= cmake python qt:5
+USE_QT= concurrent core gui network opengl widgets buildtools:build qmake:build
+
+USE_GITHUB= yes
+GH_ACCOUNT= mkeeter
+
+CMAKE_ARGS= -DPython_EXECUTABLE=${PYTHON_CMD}
+
+.include <bsd.port.mk>
diff --git a/cad/antimony/distinfo b/cad/antimony/distinfo
new file mode 100644
index 000000000000..21410ba8409c
--- /dev/null
+++ b/cad/antimony/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1673898074
+SHA256 (mkeeter-antimony-0.9.3b-37-g8b805c67_GH0.tar.gz) = d51dee5240c0adf08db367b4ece2d760420a9aee28af7efe72f1241468112c9f
+SIZE (mkeeter-antimony-0.9.3b-37-g8b805c67_GH0.tar.gz) = 1030558
diff --git a/cad/antimony/files/patch-app_app_app.cpp b/cad/antimony/files/patch-app_app_app.cpp
new file mode 100644
index 000000000000..9c8b86e03c9b
--- /dev/null
+++ b/cad/antimony/files/patch-app_app_app.cpp
@@ -0,0 +1,13 @@
+--- app/app/app.cpp.orig 2023-01-16 19:49:55 UTC
++++ app/app/app.cpp
+@@ -63,6 +63,10 @@ QStringList App::nodePaths() const
+ // If we're running Antimony from the build folder, use sb/nodes
+ paths << applicationDirPath() + "/sb/nodes";
+ paths << applicationDirPath() + "/../share/antimony/nodes";
++#elif defined Q_OS_FREEBSD
++ // If we're running Antimony from the build folder, use sb/nodes
++ paths << applicationDirPath() + "/sb/nodes";
++ paths << applicationDirPath() + "/../share/antimony/nodes";
+ #elif defined Q_OS_WIN32
+ // Windows only supports running from the build directory
+ paths << applicationDirPath() + "/sb/nodes";
diff --git a/cad/antimony/files/patch-app_app_main.cpp b/cad/antimony/files/patch-app_app_main.cpp
new file mode 100644
index 000000000000..07bb69e6cf33
--- /dev/null
+++ b/cad/antimony/files/patch-app_app_main.cpp
@@ -0,0 +1,20 @@
+--- app/app/main.cpp.orig 2023-01-16 19:52:05 UTC
++++ app/app/main.cpp
+@@ -69,6 +69,17 @@ int main(int argc, char *argv[])
+ fab_paths.push_back(p.toStdString());
+ }
+ fab::postInit(fab_paths);
++#elif defined Q_OS_FREEBSD
++ auto dir = QCoreApplication::applicationDirPath();
++ std::vector<std::string> fab_paths =
++ {(dir + "/sb").toStdString(),
++ (dir + "/../share/antimony/").toStdString()};
++ for (auto p : QStandardPaths::standardLocations(
++ QStandardPaths::AppDataLocation))
++ {
++ fab_paths.push_back(p.toStdString());
++ }
++ fab::postInit(fab_paths);
+ #elif defined Q_OS_WIN32
+ auto dir = QCoreApplication::applicationDirPath();
+ fab::postInit({(dir + "/sb").toStdString()});
diff --git a/cad/antimony/pkg-descr b/cad/antimony/pkg-descr
new file mode 100644
index 000000000000..ecd91d6f10bf
--- /dev/null
+++ b/cad/antimony/pkg-descr
@@ -0,0 +1,2 @@
+Antimony is a computer-aided design (CAD) tool from a parallel universe in which
+CAD software evolved from Lisp machines rather than drafting tables.
diff --git a/cad/antimony/pkg-plist b/cad/antimony/pkg-plist
new file mode 100644
index 000000000000..1c622283384e
--- /dev/null
+++ b/cad/antimony/pkg-plist
@@ -0,0 +1,96 @@
+bin/antimony
+%%DATADIR%%/fab/__init__.py
+%%DATADIR%%/fab/shapes.py
+%%DATADIR%%/fab/types.py
+%%DATADIR%%/nodes/2D → 3D/Revolve/revolve_xy_x.node
+%%DATADIR%%/nodes/2D → 3D/Revolve/revolve_xy_y.node
+%%DATADIR%%/nodes/2D → 3D/extrude.node
+%%DATADIR%%/nodes/2D → 3D/loft.node
+%%DATADIR%%/nodes/2D/Circles/circle_center.node
+%%DATADIR%%/nodes/2D/Circles/circle_edge.node
+%%DATADIR%%/nodes/2D/Rectangles/rectangle_center.node
+%%DATADIR%%/nodes/2D/Rectangles/rectangle_center_rounded.node
+%%DATADIR%%/nodes/2D/Rectangles/rectangle_corner.node
+%%DATADIR%%/nodes/2D/Rectangles/rectangle_corner_rounded.node
+%%DATADIR%%/nodes/2D/Triangles/triangle.node
+%%DATADIR%%/nodes/2D/Triangles/triangle_right.node
+%%DATADIR%%/nodes/2D/point.node
+%%DATADIR%%/nodes/2D/polygon.node
+%%DATADIR%%/nodes/2D/text.node
+%%DATADIR%%/nodes/3D → 2D/slice_xy.node
+%%DATADIR%%/nodes/3D → 2D/slice_xz.node
+%%DATADIR%%/nodes/3D → 2D/slice_yz.node
+%%DATADIR%%/nodes/3D/Cones/cone.node
+%%DATADIR%%/nodes/3D/Cones/cone_edge.node
+%%DATADIR%%/nodes/3D/Cones/cone_height.node
+%%DATADIR%%/nodes/3D/Cubes/cube_center.node
+%%DATADIR%%/nodes/3D/Cubes/cube_center_rounded.node
+%%DATADIR%%/nodes/3D/Cubes/cube_corner.node
+%%DATADIR%%/nodes/3D/Cubes/cube_corner_rounded.node
+%%DATADIR%%/nodes/3D/Cylinders/cylinder_x.node
+%%DATADIR%%/nodes/3D/Cylinders/cylinder_y.node
+%%DATADIR%%/nodes/3D/Cylinders/cylinder_z.node
+%%DATADIR%%/nodes/3D/Pyramids/pyramid_center.node
+%%DATADIR%%/nodes/3D/Pyramids/pyramid_edge.node
+%%DATADIR%%/nodes/3D/Spheres/sphere_center.node
+%%DATADIR%%/nodes/3D/Spheres/sphere_edge.node
+%%DATADIR%%/nodes/3D/Toruses/torus_x.node
+%%DATADIR%%/nodes/3D/Toruses/torus_y.node
+%%DATADIR%%/nodes/3D/Toruses/torus_z.node
+%%DATADIR%%/nodes/3D/Volumes/gyroid.node
+%%DATADIR%%/nodes/3D/Volumes/schwarz_d.node
+%%DATADIR%%/nodes/3D/Volumes/schwarz_p.node
+%%DATADIR%%/nodes/3D/point.node
+%%DATADIR%%/nodes/Array/array_2d.node
+%%DATADIR%%/nodes/Array/array_3d.node
+%%DATADIR%%/nodes/Array/array_polar.node
+%%DATADIR%%/nodes/CSG/blend.node
+%%DATADIR%%/nodes/CSG/clearance.node
+%%DATADIR%%/nodes/CSG/copy.node
+%%DATADIR%%/nodes/CSG/difference.node
+%%DATADIR%%/nodes/CSG/hide.node
+%%DATADIR%%/nodes/CSG/intersection.node
+%%DATADIR%%/nodes/CSG/invert.node
+%%DATADIR%%/nodes/CSG/morph.node
+%%DATADIR%%/nodes/CSG/offset.node
+%%DATADIR%%/nodes/CSG/shell.node
+%%DATADIR%%/nodes/CSG/union.node
+%%DATADIR%%/nodes/Color/set_color.node
+%%DATADIR%%/nodes/Color/set_color_hsb.node
+%%DATADIR%%/nodes/Deform/Shear/shear_cos_x_y.node
+%%DATADIR%%/nodes/Deform/Shear/shear_cos_xy_z.node
+%%DATADIR%%/nodes/Deform/Shear/shear_x_y.node
+%%DATADIR%%/nodes/Deform/Shear/shear_xy_z.node
+%%DATADIR%%/nodes/Deform/attract.node
+%%DATADIR%%/nodes/Deform/cylinderwrap.node
+%%DATADIR%%/nodes/Deform/repel.node
+%%DATADIR%%/nodes/Deform/twist.node
+%%DATADIR%%/nodes/Export/export_heightmap.node
+%%DATADIR%%/nodes/Export/export_stl.node
+%%DATADIR%%/nodes/Math/function_xy.node
+%%DATADIR%%/nodes/Math/function_xyz.node
+%%DATADIR%%/nodes/Math/map_xyz.node
+%%DATADIR%%/nodes/Math/show_math_string.node
+%%DATADIR%%/nodes/Reflect/reflect_x.node
+%%DATADIR%%/nodes/Reflect/reflect_xy.node
+%%DATADIR%%/nodes/Reflect/reflect_xz.node
+%%DATADIR%%/nodes/Reflect/reflect_y.node
+%%DATADIR%%/nodes/Reflect/reflect_yz.node
+%%DATADIR%%/nodes/Reflect/reflect_z.node
+%%DATADIR%%/nodes/Rotate/rotate_x.node
+%%DATADIR%%/nodes/Rotate/rotate_y.node
+%%DATADIR%%/nodes/Rotate/rotate_z.node
+%%DATADIR%%/nodes/Scale/Taper/taper_x_y.node
+%%DATADIR%%/nodes/Scale/Taper/taper_xy_z.node
+%%DATADIR%%/nodes/Scale/scale_cos_x_y.node
+%%DATADIR%%/nodes/Scale/scale_cos_xy_z.node
+%%DATADIR%%/nodes/Scale/scale_x.node
+%%DATADIR%%/nodes/Scale/scale_xy.node
+%%DATADIR%%/nodes/Scale/scale_xyz.node
+%%DATADIR%%/nodes/Scale/scale_y.node
+%%DATADIR%%/nodes/Scale/scale_z.node
+%%DATADIR%%/nodes/Scale/scale_z_r.node
+%%DATADIR%%/nodes/Translate/origin_xy.node
+%%DATADIR%%/nodes/Translate/origin_xyz.node
+%%DATADIR%%/nodes/Translate/recenter.node
+%%DATADIR%%/nodes/Translate/translate.node