cad/antimony: New port: CAD from a parallel universe

This commit is contained in:
Yuri Victorovich 2023-01-16 12:50:37 -08:00
parent ef30279ef2
commit cdfc8f759d
7 changed files with 160 additions and 0 deletions

View file

@ -6,6 +6,7 @@
SUBDIR += admesh
SUBDIR += adms
SUBDIR += alliance
SUBDIR += antimony
SUBDIR += appcsxcad
SUBDIR += archimedes
SUBDIR += astk-client

25
cad/antimony/Makefile Normal file
View file

@ -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>

3
cad/antimony/distinfo Normal file
View file

@ -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

View file

@ -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";

View file

@ -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()});

2
cad/antimony/pkg-descr Normal file
View file

@ -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.

96
cad/antimony/pkg-plist Normal file
View file

@ -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