From: Andrew Hewus Fresh Subject: Re: [UPDATE] cad/openscad to 2025.10.14 To: ports@openbsd.org Date: Sat, 15 Nov 2025 15:23:58 -0800 I did not update this to a newer than 2025.10.14, will look at an update after it is imported. On Fri, Nov 07, 2025 at 10:59:10AM -0800, Andrew Hewus Fresh wrote: > I got this to work with QT6 as suggested and put back the `unlink` patch > because I actually did hit it. > > Once we solve the manifold and clipper2 being picked up by blender > questions, I'll ask for an OK. > > For now, here's the current patch for testing, unless someone wants to > OK contingent on the dependencies going in. > > On Wed, Oct 01, 2025 at 08:22:20PM -0700, Andrew Hewus Fresh wrote: > > This updates OpenSCAD to a relatively recent "nightly". This is the one > > I have been testing, but should be relatively easy to watch for good > > places to pull in in he future. > > > > I haven't done significant work in it yet, but the few things I have > > tried have worked great and the new manifold renderer is _so_ much > > faster. > > > > It does use a shell script shim to make sure it gets executed with the > > full path so the application and resource paths get set up correctly. > > > > I removed the "unlink" patch, I am not sure if that is a vestigial > > script that is no longer used, but it doesn't seem to be a problem when > > building. I also removed "the" from the comment, due to portcheck(1), > > but can put it back. > > > > It still wasn't building right on my sparc64, but not a SIGILL, just > > weird compile problems. I did not get it working on any platforms other > > than amd64, but might try sparc64 again and even try my macppc. > > > > You an also see it on my cvsweb or anoncvs checkout: > > > > https://cvs.afresh1.com/cgi-bin/cvsweb/mystuff-openscad/ > > > > $ cvs -d anoncvs@cvs.afresh1.com:/cvs co mystuff-openscad > > > > Comments, OK? (once the four new dependencies get imported) > > Index: Makefile =================================================================== RCS file: /cvs/ports/cad/openscad/Makefile,v diff -u -p -r1.56 Makefile --- Makefile 28 Apr 2025 07:19:19 -0000 1.56 +++ Makefile 15 Nov 2025 23:17:42 -0000 @@ -1,70 +1,121 @@ -BROKEN = update to git snapshot to build with 1.87 -COMMENT = the programmer's solid 3D CAD modeller -BROKEN-sparc64= SIGILL on src/cgalutils.cc with CGAL-4.6.3 +COMMENT = programmers solid 3D CAD modeller -V = 2021.01 +V = 2025.10.14 DISTNAME = openscad-${V} -REVISION = 12 CATEGORIES = cad HOMEPAGE = https://www.openscad.org/ +TEST_IS_INTERACTIVE = X11 -# GPLv2+ with CGAL exception +# AGPL-3.0 PERMIT_PACKAGE = Yes -WANTLIB += ${COMPILER_LIBCXX} GL GLEW GLU Qt5Concurrent Qt5Core -WANTLIB += Qt5DBus Qt5Gamepad Qt5Gui Qt5Multimedia Qt5Network -WANTLIB += Qt5PrintSupport Qt5Widgets X11 boost_filesystem-mt -WANTLIB += boost_program_options-mt boost_regex-mt boost_system-mt -WANTLIB += boost_thread-mt c cairo double-conversion fontconfig -WANTLIB += freetype glib-2.0 gmp harfbuzz intl m mpfr opencsg -WANTLIB += qscintilla2_qt5 xml2 zip +GH_ACCOUNT = openscad +GH_PROJECT = openscad +GH_COMMIT = b0f18e9b4d61288b2cd6c659135f7e77def179e0 -SITES = https://files.openscad.org/ -EXTRACT_SUFX = .src.tar.gz +MCAD_COMMIT = 1ea402208c3127ffb443931e9bb1681c191dacca +SITES.mcad = https://github.com/${GH_ACCOUNT}/MCAD/archive/ -MODULES = devel/qmake \ +DISTFILES.mcad = MCAD-${MCAD_COMMIT:C/(........).*/\1/}{${MCAD_COMMIT}}${EXTRACT_SUFX} + +MODULES = devel/cmake \ lang/python \ - x11/qt5 + x11/qt6 + +WANTLIB += ${COMPILER_LIBCXX} 3mf Clipper2 EGL GL GLEW GLU Qt6Concurrent +WANTLIB += Qt6Core Qt6Core5Compat Qt6DBus Qt6Gui Qt6Multimedia +WANTLIB += Qt6Network Qt6OpenGL Qt6OpenGLWidgets Qt6Svg Qt6Widgets +WANTLIB += boost_atomic-mt boost_filesystem-mt boost_program_options-mt +WANTLIB += boost_regex-mt boost_system-mt c cairo double-conversion +WANTLIB += fontconfig freetype glib-2.0 gmp gmpxx harfbuzz intl +WANTLIB += m manifold mpfr opencsg qscintilla2_qt6 tbb xml2 zip + +# Match devel/boost +COMPILER = base-clang ports-gcc -BUILD_DEPENDS = devel/bison \ +BUILD_DEPENDS = cad/clipper2 \ + devel/bison \ devel/gettext,-tools \ + devel/sanitizers-cmake \ + graphics/glslang \ + graphics/vulkan-tools \ math/cgal \ - math/eigen3 + math/eigen3 \ + shells/bash LIB_DEPENDS = archivers/libzip \ + cad/clipper2 \ + cad/manifold \ devel/boost \ + devel/gettext \ + devel/glib2 \ devel/gmp \ - devel/harfbuzz \ + devel/gmp,-cxx \ + devel/lib3mf \ devel/mpfr \ - editors/qscintilla \ + devel/tbb \ + editors/qscintilla,qt6 \ graphics/glew \ graphics/opencsg \ - math/double-conversion \ - x11/qt5/qtgamepad \ - x11/qt5/qtmultimedia + x11/qt6/qt5compat \ + x11/qt6/qtbase \ + x11/qt6/qtmultimedia \ + x11/qt6/qtsvg RUN_DEPENDS = devel/desktop-file-utils \ - fonts/liberation-fonts \ misc/shared-mime-info \ + net/curl \ x11/gtk+4,-guic -# virtual memory exhausted: Cannot allocate memory -.if ${MACHINE_ARCH:Malpha} -COPTS += -O1 -CXXOPTS += -O1 -.endif -MODQMAKE_ARGS = VERSION=${V} -SEPARATE_BUILD = No +# I didn't test fully, but it does complain +BUILD_DEPENDS += ${RUN_DEPENDS} + +TEST_DEPENDS = graphics/ImageMagick + +# A test requires this +TEST_DEPENDS += shells/bash + +# The openscad script wrapper breaks debug packages +#DEBUG_PACKAGES = ${BUILD_PACKAGES} + +# Make about say the "right" thing +CONFIGURE_ARGS += -DOPENSCAD_VERSION=${V} + +# Don't use the included stuff, use ours +CONFIGURE_ARGS += -DUSE_BUILTIN_CLIPPER2=OFF \ + -DUSE_BUILTIN_MANIFOLD=OFF + +# Our QT6 port is more stable +CONFIGURE_ARGS += -DUSE_QT6=ON + +# It might be faster, but at what cost? +CONFIGURE_ARGS += -DUSE_MIMALLOC=OFF + +# We don't have Pillow +CONFIGURE_ARGS += -DUSE_IMAGE_COMPARE_PY=OFF -NO_TEST = Yes +# I don't know how link in comms/libhidapi +CONFIGURE_ARGS += -DENABLE_HIDAPI=OFF -pre-configure: - ln -sf ${LOCALBASE}/bin/bison ${WRKDIR}/bin/yacc +post-extract: + rmdir ${WRKSRC}/libraries/MCAD + cp -a ${WRKDIR}/MCAD-${MCAD_COMMIT} ${WRKSRC}/libraries/MCAD + #find ${WRKSRC} -type f -exec sed -i '1s,^#!/bin/sh,#!${PREFIX}/bin/bash,' {} + +# OpenSCAD uses the program_location (see patch-src_openscad_cc) to +# figure out resource paths, but on OpenBSD that doesn't work when +# launched from the PATH So, add a shell script shim to fix up argv[0] +# to be absolute so our patch works. post-install: + mv ${PREFIX}/bin/openscad ${PREFIX}/libexec/openscad + ${INSTALL_SCRIPT} /dev/null ${PREFIX}/bin/openscad + printf "%s\n%s\n" \ + '#!/bin/sh' \ + 'exec ${TRUEPREFIX}/libexec/openscad "$$@"' \ + > ${PREFIX}/bin/openscad ${MODPY_COMPILEALL} ${PREFIX}/share/openscad/libraries/MCAD/ .include Index: distinfo =================================================================== RCS file: /cvs/ports/cad/openscad/distinfo,v diff -u -p -r1.7 distinfo --- distinfo 14 Feb 2021 16:14:54 -0000 1.7 +++ distinfo 15 Nov 2025 23:17:42 -0000 @@ -1,2 +1,4 @@ -SHA256 (openscad-2021.01.src.tar.gz) = 2TjCl+fl9l26sUYcrEcvxg3+qkmZ6iwZsxpBhPLXA1k= -SIZE (openscad-2021.01.src.tar.gz) = 15817555 +SHA256 (MCAD-1ea40220.tar.gz) = PQQHfTaYFGOMPwGP7MOUOQEaR/VFAm9DwaRlvOF3P1c= +SHA256 (openscad-2025.10.14-b0f18e9b.tar.gz) = T5Tn5sOZNDDWuWYX+4NTWRIMa16d6nGnaqcptHLEvEg= +SIZE (MCAD-1ea40220.tar.gz) = 56943 +SIZE (openscad-2025.10.14-b0f18e9b.tar.gz) = 24859679 Index: patches/patch-CMakeLists_txt =================================================================== RCS file: patches/patch-CMakeLists_txt diff -N patches/patch-CMakeLists_txt --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-CMakeLists_txt 15 Nov 2025 23:17:42 -0000 @@ -0,0 +1,42 @@ +Index: CMakeLists.txt +--- CMakeLists.txt.orig ++++ CMakeLists.txt +@@ -396,7 +396,7 @@ else() + target_link_libraries(OpenSCAD PRIVATE Eigen3::Eigen) + message(STATUS "Eigen: ${Eigen3_VERSION}") + +- find_package(Boost 1.70 REQUIRED QUIET COMPONENTS regex program_options) ++ find_package(Boost 1.70 REQUIRED QUIET COMPONENTS filesystem regex program_options) + message(STATUS "Boost: ${Boost_VERSION}") + target_include_directories(OpenSCAD SYSTEM PRIVATE ${Boost_INCLUDE_DIRS}) + target_link_libraries(OpenSCAD PRIVATE ${Boost_LIBRARIES}) +@@ -559,7 +559,7 @@ if(ENABLE_CAIRO STREQUAL "AUTO") + if(CAIRO_VERSION OR CAIRO_FOUND) + message(STATUS "Cairo: ${CAIRO_VERSION}") + target_include_directories(OpenSCAD SYSTEM PRIVATE ${CAIRO_INCLUDE_DIRS}) +- target_link_libraries(OpenSCAD PRIVATE ${CAIRO_LIBRARIES}) ++ target_link_libraries(OpenSCAD PRIVATE ${CAIRO_LINK_LIBRARIES}) + target_compile_definitions(OpenSCAD PRIVATE ENABLE_CAIRO) + else() + message(STATUS "Cairo: disabled (not found)") +@@ -806,7 +806,7 @@ elseif(UNIX) + if (NOT USE_GLAD) + target_compile_definitions(OpenSCAD PRIVATE GLEW_EGL) + endif() +- target_link_libraries(OpenSCAD PRIVATE OpenGL::EGL) ++ target_link_libraries(OpenSCAD PRIVATE ${OPENGL_egl_LIBRARY}) + endif() + if(ENABLE_GLX AND OpenGL_GLX_FOUND) + target_compile_definitions(OpenSCAD PRIVATE ENABLE_GLX) +@@ -1121,11 +1121,6 @@ else() + ${GLEW_SOURCES}) + endif() + +- +-if(UNIX AND (NOT APPLE) AND (NOT HEADLESS)) +- set(PLATFORM_INPUT_DRIVER_SOURCES src/gui/input/JoystickInputDriver.cc) +- target_compile_definitions(OpenSCAD PRIVATE ENABLE_JOYSTICK) +-endif() + + set(INPUT_DRIVER_SOURCES + ${PLATFORM_INPUT_DRIVER_SOURCES} Index: patches/patch-features_boost_prf =================================================================== RCS file: patches/patch-features_boost_prf diff -N patches/patch-features_boost_prf --- patches/patch-features_boost_prf 11 Mar 2022 18:24:31 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: features/boost.prf ---- features/boost.prf.orig -+++ features/boost.prf -@@ -71,7 +71,7 @@ isEmpty(BOOST_LINK_FLAGS) { - - isEmpty(BOOST_LINK_FLAGS) { - unix|macx { -- BOOST_LINK_FLAGS = -lboost_thread -lboost_program_options -lboost_filesystem -lboost_system -lboost_regex -+ BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_regex-mt - } - } - Index: patches/patch-openscad_pro =================================================================== RCS file: patches/patch-openscad_pro diff -N patches/patch-openscad_pro --- patches/patch-openscad_pro 11 Mar 2022 18:24:31 -0000 1.5 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,45 +0,0 @@ -- remove unsupported compiler flag (that is NOT ignored) -- don't use bundled Liberation fonts, use RDEP on fonts/liberation-fonts instead -- fix manpage installation dir -- disable hidapi support, it doesn't compile - -Index: openscad.pro ---- openscad.pro.orig -+++ openscad.pro -@@ -150,7 +150,6 @@ netbsd* { - # See Dec 2011 OpenSCAD mailing list, re: CGAL/GCC bugs. - *g++* { - QMAKE_CXXFLAGS *= -fno-strict-aliasing -- QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-local-typedefs # ignored before 4.8 - - # Disable attributes warnings on MSYS/MXE due to gcc bug spamming the logs: Issue #2771 - win* | CONFIG(mingw-cross-env)|CONFIG(mingw-cross-env-shared) { -@@ -193,7 +192,7 @@ CONFIG += lib3mf - CONFIG += gettext - CONFIG += libxml2 - CONFIG += libzip --CONFIG += hidapi -+#CONFIG += hidapi - CONFIG += spnav - CONFIG += double-conversion - CONFIG += cairo -@@ -721,10 +720,6 @@ libraries.path = "$$PREFIX/share/$${FULLNAME}/librarie - libraries.files = libraries/* - INSTALLS += libraries - --fonts.path = "$$PREFIX/share/$${FULLNAME}/fonts/" --fonts.files = fonts/* --INSTALLS += fonts -- - colorschemes.path = "$$PREFIX/share/$${FULLNAME}/color-schemes/" - colorschemes.files = color-schemes/* - INSTALLS += colorschemes -@@ -757,7 +752,7 @@ icon512.path = $$PREFIX/share/icons/hicolor/512x512/ap - icon512.extra = test -f icons/$${FULLNAME}-512.png && cp -f icons/$${FULLNAME}-512.png \"\$(INSTALL_ROOT)$${icon512.path}/$${FULLNAME}.png\" || cp -f icons/openscad-512.png \"\$(INSTALL_ROOT)$${icon512.path}/$${FULLNAME}.png\" - INSTALLS += icon48 icon64 icon128 icon256 icon512 - --man.path = $$PREFIX/share/man/man1 -+man.path = $$PREFIX/man/man1 - man.extra = cp -f doc/openscad.1 \"\$(INSTALL_ROOT)$${man.path}/$${FULLNAME}.1\" - INSTALLS += man - Index: patches/patch-scripts_translation-update_sh =================================================================== RCS file: /cvs/ports/cad/openscad/patches/patch-scripts_translation-update_sh,v diff -u -p -r1.2 patch-scripts_translation-update_sh --- patches/patch-scripts_translation-update_sh 11 Mar 2022 18:24:31 -0000 1.2 +++ patches/patch-scripts_translation-update_sh 15 Nov 2025 23:17:42 -0000 @@ -1,14 +1,12 @@ -OpenBSD does not have unlink in base - Index: scripts/translation-update.sh --- scripts/translation-update.sh.orig +++ scripts/translation-update.sh -@@ -100,7 +100,7 @@ updatemo() +@@ -101,7 +101,7 @@ updatemo() - # clean the mess - for LANGCODE in `cat locale/LINGUAS | grep -v "#"`; do -- unlink ./locale/$LANGCODE/LC_MESSAGES/$LANGCODE.mo -+ rm ./locale/$LANGCODE/LC_MESSAGES/$LANGCODE.mo - done - else - if [ x"$(uname -s)" = x"Linux" ]; then + # clean the mess + for LANGCODE in `cat locale/LINGUAS | grep -v "#"`; do +- unlink ./locale/$LANGCODE/LC_MESSAGES/$LANGCODE.mo ++ rm -f ./locale/$LANGCODE/LC_MESSAGES/$LANGCODE.mo + done + else + if [ x"$(uname -s)" = x"Linux" ]; then Index: patches/patch-src_cgalutils-polyhedron_cc =================================================================== RCS file: patches/patch-src_cgalutils-polyhedron_cc diff -N patches/patch-src_cgalutils-polyhedron_cc --- patches/patch-src_cgalutils-polyhedron_cc 31 Oct 2023 23:33:26 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,26 +0,0 @@ -Backport from upstream -Commit: cc49ad8dac24309f5452d5dea9abd406615a52d9 - -Index: src/cgalutils-polyhedron.cc ---- src/cgalutils-polyhedron.cc.orig -+++ src/cgalutils-polyhedron.cc -@@ -337,19 +337,6 @@ namespace CGALUtils { - } - }; - -- template -- std::string printPolyhedron(const Polyhedron &p) { -- std::ostringstream sstream; -- sstream.precision(20); -- -- Polyhedron_writer writer; -- generic_print_polyhedron(sstream, p, writer); -- -- return sstream.str(); -- } -- -- template std::string printPolyhedron(const CGAL_Polyhedron &p); -- - }; // namespace CGALUtils - - #endif /* ENABLE_CGAL */ Index: patches/patch-src_cgalutils-tess_cc =================================================================== RCS file: patches/patch-src_cgalutils-tess_cc diff -N patches/patch-src_cgalutils-tess_cc --- patches/patch-src_cgalutils-tess_cc 31 Oct 2023 23:33:26 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,29 +0,0 @@ -Backport from upstream -Commit: d559fa838ea919e664661bfcf1d3274c83743d61 - -Index: src/cgalutils-tess.cc ---- src/cgalutils-tess.cc.orig -+++ src/cgalutils-tess.cc -@@ -6,10 +6,12 @@ - #pragma push_macro("NDEBUG") - #undef NDEBUG - #include --#if CGAL_VERSION_NR >= CGAL_VERSION_NUMBER(4,11,0) -+#if CGAL_VERSION_NR < 1050401000 - #include -+ typedef CGAL::Triangulation_2_filtered_projection_traits_3 Projection; - #else -- #include -+ #include -+ typedef CGAL::Filtered_projection_traits_3 Projection; - #endif - #include - #pragma pop_macro("NDEBUG") -@@ -19,7 +21,6 @@ struct FaceInfo { - bool in_domain() { return nesting_level%2 == 1; } - }; - --typedef CGAL::Triangulation_2_filtered_projection_traits_3 Projection; - typedef CGAL::Triangulation_face_base_with_info_2 Fbb; - typedef CGAL::Triangulation_data_structure_2< - CGAL::Triangulation_vertex_base_2, Index: patches/patch-src_cgalutils_h =================================================================== RCS file: patches/patch-src_cgalutils_h diff -N patches/patch-src_cgalutils_h --- patches/patch-src_cgalutils_h 31 Oct 2023 23:33:26 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -Backport from upstream -Commit: cc49ad8dac24309f5452d5dea9abd406615a52d9 - -Index: src/cgalutils.h ---- src/cgalutils.h.orig -+++ src/cgalutils.h -@@ -45,7 +45,6 @@ namespace CGALUtils { - bool is_approximately_convex(const PolySet &ps); - Geometry const* applyMinkowski(const Geometry::Geometries &children); - -- template std::string printPolyhedron(const Polyhedron &p); - template bool createPolySetFromPolyhedron(const Polyhedron &p, PolySet &ps); - template bool createPolyhedronFromPolySet(const PolySet &ps, Polyhedron &p); - template Index: patches/patch-src_openscad_cc =================================================================== RCS file: /cvs/ports/cad/openscad/patches/patch-src_openscad_cc,v diff -u -p -r1.1 patch-src_openscad_cc --- patches/patch-src_openscad_cc 31 Oct 2023 23:33:26 -0000 1.1 +++ patches/patch-src_openscad_cc 15 Nov 2025 23:17:42 -0000 @@ -1,55 +1,20 @@ -Backport from upstream -Commit: d559fa838ea919e664661bfcf1d3274c83743d61 - -Index: src/openscad.cc +IZZndex: src/openscad.cc --- src/openscad.cc.orig +++ src/openscad.cc -@@ -65,7 +65,6 @@ - #include - #include +@@ -60,6 +60,7 @@ + #include #include --#include - #include - #include - #include -@@ -307,7 +306,7 @@ void set_render_color_scheme(const std::string color_s - } + #include ++#include + #include + #include + #include +@@ -814,7 +815,7 @@ int main(int argc, char **argv) - if (exit_if_not_found) { -- LOG(message_group::None,Location::NONE,"",(boost::join(ColorMap::inst()->colorSchemeNames(), "\n"))); -+ LOG(message_group::None,Location::NONE,"",(boost::algorithm::join(ColorMap::inst()->colorSchemeNames(), "\n"))); - - exit(1); - } else { -@@ -885,7 +884,7 @@ struct CommaSeparatedVector - }; - - template --std::string join(const Seq &seq, const std::string &sep, const ToString &toString) -+std::string str_join(const Seq &seq, const std::string &sep, const ToString &toString) - { - return boost::algorithm::join(boost::adaptors::transform(seq, toString), sep); - } -@@ -947,7 +946,7 @@ int main(int argc, char **argv) - ("P,P", po::value(), "customizer parameter set") - #ifdef ENABLE_EXPERIMENTAL - ("enable", po::value>(), ("enable experimental features: " + -- join(boost::make_iterator_range(Feature::begin(), Feature::end()), " | ", -+ str_join(boost::make_iterator_range(Feature::begin(), Feature::end()), " | ", - [](const Feature *feature) { - return feature->get_name(); - }) + -@@ -964,11 +963,11 @@ int main(int argc, char **argv) - ("render", po::value()->implicit_value(""), "for full geometry evaluation when exporting png") - ("preview", po::value()->implicit_value(""), "[=throwntogether] -for ThrownTogether preview png") - ("animate", po::value(), "export N animated frames") -- ("view", po::value(), ("=view options: " + boost::join(viewOptions.names(), " | ")).c_str()) -+ ("view", po::value(), ("=view options: " + boost::algorithm::join(viewOptions.names(), " | ")).c_str()) - ("projection", po::value(), "=(o)rtho or (p)erspective when exporting png") - ("csglimit", po::value(), "=n -stop rendering at n CSG elements when exporting png") - ("colorscheme", po::value(), ("=colorscheme: " + -- join(ColorMap::inst()->colorSchemeNames(), " | ", -+ str_join(ColorMap::inst()->colorSchemeNames(), " | ", - [](const std::string& colorScheme) { - return (colorScheme == ColorMap::inst()->defaultColorSchemeName() ? "*" : "") + colorScheme; - }) + + #ifndef __EMSCRIPTEN__ + const auto applicationPath = +- weakly_canonical(boost::dll::program_location()).parent_path().generic_string(); ++ boost::filesystem::system_complete(argv[0]).parent_path().generic_string(); + #else + const auto applicationPath = boost::dll::fs::current_path(); + #endif Index: patches/patch-tests_virtualfb_sh =================================================================== RCS file: patches/patch-tests_virtualfb_sh diff -N patches/patch-tests_virtualfb_sh --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-tests_virtualfb_sh 15 Nov 2025 23:17:42 -0000 @@ -0,0 +1,9 @@ +Index: tests/virtualfb.sh +--- tests/virtualfb.sh.orig ++++ tests/virtualfb.sh +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/usr/local/bin/bash + + # Toggle the Virtual Framebuffer + # If started, stop. If stopped, start. Index: pkg/DESCR =================================================================== RCS file: /cvs/ports/cad/openscad/pkg/DESCR,v diff -u -p -r1.1.1.1 DESCR --- pkg/DESCR 29 Apr 2011 18:55:37 -0000 1.1.1.1 +++ pkg/DESCR 15 Nov 2025 23:17:42 -0000 @@ -1,13 +1,23 @@ -OpenSCAD is a software for creating 3D CAD objects. +OpenSCAD is software for creating solid 3D CAD models. It is free +software and available for Linux/UNIX, Windows and Mac OS X. Unlike +most free software for creating 3D models (such as Blender) it does +not focus on the artistic aspects of 3D modelling but instead on +the CAD aspects. Thus it might be the application you are looking +for when you are planning to create 3D models of machine parts but +pretty sure is not what you are looking for when you are more +interested in creating computer-animated movies. -Unlike most free software for creating 3D models, it does not focus on -the artistic aspects of 3D modelling but instead on the CAD aspects. -Thus it is more suitable for creating 3D models of machine parts but -perhaps not when creating computer-animated movies. +OpenSCAD is not an interactive modeller. Instead it is something +like a 3D-compiler that reads in a script file that describes the +object and renders the 3D model from this script file. This gives +you (the designer) full control over the modelling process and +enables you to easily change any step in the modelling process or +make designs that are defined by configurable parameters. -OpenSCAD is not an interactive modeller. Instead it is something like -a 3D-compiler that reads in a script file that describes the object -and renders the 3D model from this script file. This gives designers -full control over the modelling process and enables them to easily -change any step in the modelling process or make designes that are -defined by configurable parameters. +OpenSCAD provides two main modelling techniques: First there is +constructive solid geometry (aka CSG) and second there is extrusion +of 2D outlines. Autocad DXF files can be used as the data exchange +format for such 2D outlines. In addition to 2D paths for extrusion +it is also possible to read design parameters from DXF files. Besides +DXF files OpenSCAD can read and create 3D models in the STL and OFF +file formats. Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/cad/openscad/pkg/PLIST,v diff -u -p -r1.14 PLIST --- pkg/PLIST 23 Oct 2025 13:19:03 -0000 1.14 +++ pkg/PLIST 15 Nov 2025 23:17:42 -0000 @@ -1,4 +1,5 @@ -@bin bin/openscad +bin/openscad +@bin libexec/openscad @man man/man1/openscad.1 share/applications/openscad.desktop share/icons/hicolor/128x128/apps/openscad.png @@ -13,6 +14,8 @@ share/openscad/ share/openscad/color-schemes/ share/openscad/color-schemes/editor/ share/openscad/color-schemes/editor/dark-background.json +share/openscad/color-schemes/editor/high-contrast-dark.json +share/openscad/color-schemes/editor/high-contrast-light.json share/openscad/color-schemes/editor/light-background.json share/openscad/color-schemes/editor/monokai.json share/openscad/color-schemes/editor/solarized-dark.json @@ -20,13 +23,17 @@ share/openscad/color-schemes/editor/sola share/openscad/color-schemes/editor/tomorrow-night.json share/openscad/color-schemes/editor/tomorrow.json share/openscad/color-schemes/editor/visualstudio.json +share/openscad/color-schemes/editor/xcode.json share/openscad/color-schemes/readme.txt share/openscad/color-schemes/render/ share/openscad/color-schemes/render/beforedawn.json +share/openscad/color-schemes/render/clearsky.json +share/openscad/color-schemes/render/daylight-gem.json share/openscad/color-schemes/render/deepocean.json share/openscad/color-schemes/render/metallic.json share/openscad/color-schemes/render/monotone.json share/openscad/color-schemes/render/nature.json +share/openscad/color-schemes/render/nocturnal-gem.json share/openscad/color-schemes/render/solarized.json share/openscad/color-schemes/render/starnight.json share/openscad/color-schemes/render/sunset.json @@ -39,6 +46,7 @@ share/openscad/examples/Advanced/animati share/openscad/examples/Advanced/assert.scad share/openscad/examples/Advanced/children.scad share/openscad/examples/Advanced/children_indexed.scad +share/openscad/examples/Advanced/example-dir.json share/openscad/examples/Advanced/module_recursion.scad share/openscad/examples/Advanced/offset.scad share/openscad/examples/Advanced/surface_image.png @@ -47,16 +55,20 @@ share/openscad/examples/Basics/ share/openscad/examples/Basics/CSG-modules.scad share/openscad/examples/Basics/CSG.scad share/openscad/examples/Basics/LetterBlock.scad +share/openscad/examples/Basics/example-dir.json +share/openscad/examples/Basics/hull.scad share/openscad/examples/Basics/linear_extrude.scad share/openscad/examples/Basics/logo.scad share/openscad/examples/Basics/logo_and_text.scad share/openscad/examples/Basics/projection.scad share/openscad/examples/Basics/projection.stl +share/openscad/examples/Basics/roof.scad share/openscad/examples/Basics/rotate_extrude.scad share/openscad/examples/Basics/text_on_cube.scad share/openscad/examples/COPYING-CC0.txt share/openscad/examples/Functions/ share/openscad/examples/Functions/echo.scad +share/openscad/examples/Functions/example-dir.json share/openscad/examples/Functions/functions.scad share/openscad/examples/Functions/list_comprehensions.scad share/openscad/examples/Functions/polygon_areas.scad @@ -96,12 +108,33 @@ share/openscad/examples/Old/example024.s share/openscad/examples/Parametric/ share/openscad/examples/Parametric/candleStand.json share/openscad/examples/Parametric/candleStand.scad +share/openscad/examples/Parametric/example-dir.json share/openscad/examples/Parametric/sign.json share/openscad/examples/Parametric/sign.scad -share/openscad/examples/examples.json +share/openscad/fonts/ +share/openscad/fonts/05-osx-fonts.conf +share/openscad/fonts/10-liberation.conf +share/openscad/fonts/Liberation-2.00.1/ +share/openscad/fonts/Liberation-2.00.1/AUTHORS +share/openscad/fonts/Liberation-2.00.1/ChangeLog +share/openscad/fonts/Liberation-2.00.1/LICENSE +share/openscad/fonts/Liberation-2.00.1/README +share/openscad/fonts/Liberation-2.00.1/TODO +share/openscad/fonts/Liberation-2.00.1/ttf/ +share/openscad/fonts/Liberation-2.00.1/ttf/LiberationMono-Bold.ttf +share/openscad/fonts/Liberation-2.00.1/ttf/LiberationMono-BoldItalic.ttf +share/openscad/fonts/Liberation-2.00.1/ttf/LiberationMono-Italic.ttf +share/openscad/fonts/Liberation-2.00.1/ttf/LiberationMono-Regular.ttf +share/openscad/fonts/Liberation-2.00.1/ttf/LiberationSans-Bold.ttf +share/openscad/fonts/Liberation-2.00.1/ttf/LiberationSans-BoldItalic.ttf +share/openscad/fonts/Liberation-2.00.1/ttf/LiberationSans-Italic.ttf +share/openscad/fonts/Liberation-2.00.1/ttf/LiberationSans-Regular.ttf +share/openscad/fonts/Liberation-2.00.1/ttf/LiberationSerif-Bold.ttf +share/openscad/fonts/Liberation-2.00.1/ttf/LiberationSerif-BoldItalic.ttf +share/openscad/fonts/Liberation-2.00.1/ttf/LiberationSerif-Italic.ttf +share/openscad/fonts/Liberation-2.00.1/ttf/LiberationSerif-Regular.ttf share/openscad/libraries/ share/openscad/libraries/MCAD/ -share/openscad/libraries/MCAD/.gitignore share/openscad/libraries/MCAD/2Dshapes.scad share/openscad/libraries/MCAD/3d_triangle.scad share/openscad/libraries/MCAD/README.markdown @@ -118,6 +151,7 @@ share/openscad/libraries/MCAD/${MODPY_PY share/openscad/libraries/MCAD/${MODPY_PYCACHE}test_docs.${MODPY_PYC_MAGIC_TAG}pyc share/openscad/libraries/MCAD/${MODPY_PYCACHE}test_mcad.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} share/openscad/libraries/MCAD/${MODPY_PYCACHE}test_mcad.${MODPY_PYC_MAGIC_TAG}pyc +share/openscad/libraries/MCAD/array.scad share/openscad/libraries/MCAD/bearing.scad share/openscad/libraries/MCAD/bitmap/ share/openscad/libraries/MCAD/bitmap/README @@ -126,6 +160,7 @@ share/openscad/libraries/MCAD/bitmap/bit share/openscad/libraries/MCAD/bitmap/height_map.scad share/openscad/libraries/MCAD/bitmap/letter_necklace.scad share/openscad/libraries/MCAD/bitmap/name_tag.scad +share/openscad/libraries/MCAD/bitmap/test_name_tag.scad share/openscad/libraries/MCAD/boxes.scad share/openscad/libraries/MCAD/constants.scad share/openscad/libraries/MCAD/curves.scad @@ -138,6 +173,7 @@ share/openscad/libraries/MCAD/layouts.sc share/openscad/libraries/MCAD/lego_compatibility.scad share/openscad/libraries/MCAD/lgpl-2.1.txt share/openscad/libraries/MCAD/libtriangles.scad +share/openscad/libraries/MCAD/linear_bearing.scad share/openscad/libraries/MCAD/materials.scad share/openscad/libraries/MCAD/math.scad share/openscad/libraries/MCAD/metric_fastners.scad @@ -147,6 +183,7 @@ share/openscad/libraries/MCAD/nuts_and_b share/openscad/libraries/MCAD/openscad_testing.py share/openscad/libraries/MCAD/openscad_utils.py share/openscad/libraries/MCAD/polyholes.scad +share/openscad/libraries/MCAD/profiles.scad share/openscad/libraries/MCAD/regular_shapes.scad share/openscad/libraries/MCAD/screw.scad share/openscad/libraries/MCAD/servos.scad @@ -177,28 +214,47 @@ share/openscad/locale/fr/LC_MESSAGES/ope share/openscad/locale/hy/ share/openscad/locale/hy/LC_MESSAGES/ share/openscad/locale/hy/LC_MESSAGES/openscad.mo +share/openscad/locale/it/ +share/openscad/locale/it/LC_MESSAGES/ +share/openscad/locale/it/LC_MESSAGES/openscad.mo +share/openscad/locale/ka/ +share/openscad/locale/ka/LC_MESSAGES/ +share/openscad/locale/ka/LC_MESSAGES/openscad.mo share/openscad/locale/pl/ share/openscad/locale/pl/LC_MESSAGES/ share/openscad/locale/pl/LC_MESSAGES/openscad.mo +share/openscad/locale/pt_BR/ +share/openscad/locale/pt_BR/LC_MESSAGES/ +share/openscad/locale/pt_BR/LC_MESSAGES/openscad.mo share/openscad/locale/ru/ share/openscad/locale/ru/LC_MESSAGES/ share/openscad/locale/ru/LC_MESSAGES/openscad.mo +share/openscad/locale/tr/ +share/openscad/locale/tr/LC_MESSAGES/ +share/openscad/locale/tr/LC_MESSAGES/openscad.mo share/openscad/locale/uk/ share/openscad/locale/uk/LC_MESSAGES/ share/openscad/locale/uk/LC_MESSAGES/openscad.mo -@tag update-desktop-database -@tag update-mime-database share/openscad/locale/zh_CN/ share/openscad/locale/zh_CN/LC_MESSAGES/ share/openscad/locale/zh_CN/LC_MESSAGES/openscad.mo share/openscad/locale/zh_TW/ share/openscad/locale/zh_TW/LC_MESSAGES/ share/openscad/locale/zh_TW/LC_MESSAGES/openscad.mo +share/openscad/shaders/ +share/openscad/shaders/MouseSelector.frag +share/openscad/shaders/MouseSelector.vert +share/openscad/shaders/OpenCSG.vert +share/openscad/shaders/ViewEdges.frag +share/openscad/shaders/ViewEdges.vert share/openscad/templates/ +share/openscad/templates/CC0.json share/openscad/templates/difference.json share/openscad/templates/for.json share/openscad/templates/function.json share/openscad/templates/module.json share/openscad/templates/rotate.json share/openscad/templates/translate.json +@tag update-mime-database +@tag update-desktop-database @tag gtk-update-icon-cache %D/share/icons/hicolor -- andrew Hey, I think I see a barn up ahead. -- The American Astronaut