diff --git a/cad/Makefile b/cad/Makefile index 2248b9d2b435..fa412f520987 100644 --- a/cad/Makefile +++ b/cad/Makefile @@ -1,153 +1,154 @@ COMMENT = CAD tools SUBDIR += NASTRAN-95 SUBDIR += PrusaSlicer SUBDIR += abc SUBDIR += admesh SUBDIR += adms SUBDIR += alliance + SUBDIR += antimony SUBDIR += appcsxcad SUBDIR += archimedes SUBDIR += astk-client SUBDIR += astk-serveur SUBDIR += atlc SUBDIR += brlcad SUBDIR += calculix SUBDIR += calculix-ccx SUBDIR += camotics SUBDIR += caneda SUBDIR += cascade SUBDIR += cascade-compiler SUBDIR += chipvault SUBDIR += csxcad SUBDIR += cura SUBDIR += cura-engine SUBDIR += cvc SUBDIR += digital SUBDIR += dinotrace SUBDIR += ecpprog SUBDIR += electric SUBDIR += electric-ng SUBDIR += fasm SUBDIR += fdm_materials SUBDIR += feappv SUBDIR += fidocadj SUBDIR += freecad SUBDIR += freehdl SUBDIR += fritzing SUBDIR += gds3d SUBDIR += gdsreader SUBDIR += gdt SUBDIR += geda SUBDIR += gerbv SUBDIR += gmsh SUBDIR += gnucap SUBDIR += gplcver SUBDIR += graywolf SUBDIR += gspiceui SUBDIR += gtkwave SUBDIR += horizon-eda SUBDIR += ifcopenshell SUBDIR += impact SUBDIR += irsim SUBDIR += iverilog SUBDIR += jspice3 SUBDIR += k40-whisperer SUBDIR += kicad SUBDIR += kicad-devel SUBDIR += kicad-doc SUBDIR += kicad-library-footprints SUBDIR += kicad-library-footprints-devel SUBDIR += kicad-library-packages3d SUBDIR += kicad-library-packages3d-devel SUBDIR += kicad-library-symbols SUBDIR += kicad-library-symbols-devel SUBDIR += kicad-library-templates SUBDIR += kicad-library-templates-devel SUBDIR += klayout SUBDIR += ktechlab SUBDIR += ldraw SUBDIR += ldview SUBDIR += leocad SUBDIR += lepton-eda SUBDIR += libgdsii SUBDIR += libopencad SUBDIR += librecad SUBDIR += libredwg SUBDIR += librepcb SUBDIR += librnd SUBDIR += logisim SUBDIR += magic SUBDIR += meshdev SUBDIR += meshlab SUBDIR += netgen SUBDIR += netgen-lvs SUBDIR += ngspice_rework SUBDIR += nvc SUBDIR += opencascade SUBDIR += opencascade740 SUBDIR += openctm SUBDIR += openfpgaloader SUBDIR += openroad SUBDIR += openscad SUBDIR += openscad-devel SUBDIR += opentimer SUBDIR += openvsp SUBDIR += oregano SUBDIR += p5-GDS2 SUBDIR += p5-Verilog-Perl SUBDIR += padring SUBDIR += pcb SUBDIR += pcb-rnd SUBDIR += pdnmesh SUBDIR += py-cadquery SUBDIR += py-cq-editor SUBDIR += py-edalize SUBDIR += py-ezdxf SUBDIR += py-gdspy SUBDIR += py-gmsh SUBDIR += py-lcapy SUBDIR += py-ocp SUBDIR += py-phidl SUBDIR += py-pyfda SUBDIR += py-pygmsh SUBDIR += py-pymtl SUBDIR += py-vunit-hdl SUBDIR += python-gdsii SUBDIR += qcad SUBDIR += qcsxcad SUBDIR += qelectrotech SUBDIR += qflow SUBDIR += qmls SUBDIR += qrouter SUBDIR += qucs-s SUBDIR += qucsator SUBDIR += repsnapper SUBDIR += rubygem-gdsii SUBDIR += scotch SUBDIR += silice SUBDIR += solvespace SUBDIR += sp2sp SUBDIR += spice SUBDIR += stepcode SUBDIR += stm32flash SUBDIR += sumo SUBDIR += surelog SUBDIR += svlint SUBDIR += svls SUBDIR += sweethome3d SUBDIR += tkgate SUBDIR += tochnog SUBDIR += uhdm SUBDIR += uranium SUBDIR += verilator SUBDIR += verilog-mode.el SUBDIR += veroroute SUBDIR += veryl SUBDIR += xcircuit SUBDIR += xyce SUBDIR += yosys SUBDIR += z88 SUBDIR += zcad .include 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 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 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