2026-06-27T15:22:26-0700 Andrew Hewus Fresh <andrew@afresh1.com>:
> On Fri, Jun 26, 2026 at 08:20:36PM -0700, Andrew Hewus Fresh wrote:
> > On Fri, Jun 26, 2026 at 03:51:04PM +0000, Johannes Thyssen Tishman wrote:
> > > 2026-06-26T15:44:35+0000 Johannes Thyssen Tishman <jtt@openbsd.org>:
> > > > 2026-06-23T18:20:54-0700 Andrew Hewus Fresh <andrew@afresh1.com>:
> <SNIP>
> > > Forgot to mention that I wasn't able to run the tests as I build-tested
> > > in a chroot and couldn't yet figure out how to make the display work.
> > > Are they passing for you?
> >
> > Most pass, and they all seem to pass on Linux, so not sure what's up with that.
> >
> > https://github.com/openscad/openscad/actions/runs/27914115886/job/82596254873
>
>
> Between jtt@'s OOB suggestion to set `+PORTHOME=${WRKDIR}` and
> symlinking the "shaders" directory into WRKBUILD so the tests could find
> them, the cache warnings went away as did the shader loading errors.
> Plus, quite a few more tests passed. Only a few now that don't.
>
> The following tests FAILED:
> 1827 - render-monotone_polyhedron-single-triangle (Failed)
> 1828 - render-monotone_cube10 (Failed)
> 1829 - render-monotone_square10 (Failed)
> 2650 - openscad-colorscheme-metallic_logo (Failed)
> 2651 - openscad-colorscheme-sunset_logo (Failed)
> 2652 - openscad-colorscheme-starnight_logo (Failed)
> 2653 - openscad-colorscheme-monotone_logo (Failed)
> 2654 - openscad-colorscheme-clearsky_logo (Failed)
> 2655 - openscad-colorscheme-metallic-render_CSG (Failed)
>
> Those seem to be:
>
> stderr output: Could not initialize localization (application path is
> '/usr/ports/pobj/openscad-2026.06.21/build-amd64').
>
> Could be other resources that need to be linked into WRKBUILD, I'll see
> if that helps, although linking the "locale" subdir didn't.
I linked the locale and color-schemes directories and got the following:
99% tests passed, 2 tests failed out of 2611
1011 - preview-cgal_issue267-normalization-crash (Failed)
1275 - preview-manifold_issue267-normalization-crash (Failed)
I don't see these failing for you so maybe it's related to my setup
(chroot + Xephyr).
Also, I noticed that if ghostscript is not installed, the following
tests also fail:
2581 - export-pdf_centered (Failed)
2582 - export-pdf_simple-pdf (Failed)
2583 - export-pdf_utf8-_-2D (Failed)
2584 - export-pdf-fill_centered (Failed)
2585 - export-pdf-fill_simple-pdf (Failed)
2586 - export-pdf-fill_utf8-_-2D (Failed)
While we could add print/ghostscript/gnu to RUN_DEPENDS, as it is
probably needed to export PDF's, I would only add it to TEST_DEPENDS and
let users install if needed. Otherwise we would have to install all
other potential dependencies needed to export in other formats. Up to
you.
One more nit, git is picked up at configure time if installed. It seems
that this is only needed to fill the OPENSCAD_PATCH and OPENSCAD_BUILD
variables for the version string. May I suggest adding
CMAKE_DISABLE_FIND_PACKAGE_Git=ON to CONFIGURE_ARGS to disable this?
Diff below with these changes. Ok jtt@ regardless of how you decide to
proceed with my above suggestions.
Index: Makefile
===================================================================
RCS file: /cvs/ports/cad/openscad/Makefile,v
diff -u -p -r1.61 Makefile
--- Makefile 23 Apr 2026 07:51:18 -0000 1.61
+++ Makefile 28 Jun 2026 12:33:39 -0000
@@ -1,8 +1,7 @@
COMMENT = programmers solid 3D CAD modeller
-V = 2026.02.24
+V = 2026.06.21
DISTNAME = openscad-${V}
-REVISION = 0
CATEGORIES = cad
@@ -13,7 +12,7 @@ PERMIT_PACKAGE = Yes
GH_ACCOUNT = openscad
GH_PROJECT = openscad
-GH_COMMIT = 665ba242e8b61aee10a4b09af94c094e1eb354f8
+GH_COMMIT = fb3d125fc17debb48080cd3551e944fcb8d97701
MCAD_COMMIT = 1ea402208c3127ffb443931e9bb1681c191dacca
SITES.mcad = https://github.com/${GH_ACCOUNT}/MCAD/archive/
@@ -24,13 +23,14 @@ MODULES = devel/cmake \
lang/python \
x11/qt6
-WANTLIB += ${COMPILER_LIBCXX} 3mf Clipper2 EGL GL GLEW GLU Qt6Concurrent
+WANTLIB += ${COMPILER_LIBCXX} 3mf Clipper2 EGL GL 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 c cairo double-conversion
-WANTLIB += fontconfig freetype glib-2.0 gmp gmpxx harfbuzz intl
-WANTLIB += m manifold mpfr opencsg qscintilla2_qt6 tbb xml2 zip
+WANTLIB += X11 boost_atomic-mt boost_container-mt boost_filesystem-mt
+WANTLIB += boost_program_options-mt boost_regex-mt c cairo crypto
+WANTLIB += double-conversion fontconfig freetype glib-2.0 gmp
+WANTLIB += gmpxx harfbuzz intl m manifold mpfr opencsg qscintilla2_qt6
+WANTLIB += ssl tbb xml2 zip
# Match devel/boost
COMPILER = base-clang ports-gcc
@@ -48,7 +48,8 @@ BUILD_DEPENDS = devel/bison \
shells/bash \
x11/xkbcommon
-TEST_DEPENDS = graphics/py-Pillow
+TEST_DEPENDS = graphics/py-Pillow \
+ print/ghostscript/gnu
LIB_DEPENDS = archivers/libzip \
cad/clipper2 \
@@ -62,7 +63,6 @@ LIB_DEPENDS = archivers/libzip \
devel/mpfr \
devel/tbb \
editors/qscintilla,qt6 \
- graphics/glew \
graphics/opencsg \
x11/qt6/qt5compat \
x11/qt6/qtbase \
@@ -100,8 +100,18 @@ CONFIGURE_ARGS += -DENABLE_HIDAPI=OFF
# We don't have SpNav. Disable in case it get's ported.
CONFIGURE_ARGS += -DCMAKE_DISABLE_FIND_PACKAGE_SpNav=ON
+CONFIGURE_ARGS += -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
+
+# The tests want to write a shader cache to HOME
+PORTHOME = ${WRKDIR}
TEST_IS_INTERACTIVE = X11
+
+# Tests need the shaders somewhere they can be found
+pre-test:
+ ln -sf ${WRKSRC}/locale ${WRKBUILD}/locale
+ ln -sf ${WRKSRC}/color-schemes ${WRKBUILD}/color-schemes
+ ln -sf ${WRKSRC}/shaders ${WRKBUILD}/shaders
post-extract:
rmdir ${WRKSRC}/libraries/MCAD
Index: distinfo
===================================================================
RCS file: /cvs/ports/cad/openscad/distinfo,v
diff -u -p -r1.9 distinfo
--- distinfo 6 Apr 2026 02:28:34 -0000 1.9
+++ distinfo 28 Jun 2026 12:33:39 -0000
@@ -1,4 +1,4 @@
SHA256 (MCAD-1ea40220.tar.gz) = PQQHfTaYFGOMPwGP7MOUOQEaR/VFAm9DwaRlvOF3P1c=
-SHA256 (openscad-2026.02.24-665ba242.tar.gz) = zRqlHFp/2Puc15m+Hvuv3kZKIzqJliUUU6L9nmlfq30=
+SHA256 (openscad-2026.06.21-fb3d125f.tar.gz) = I6qVF/HgTFC6GL+odttHnAtiwI8CJIAF9N1lmk/zwm4=
SIZE (MCAD-1ea40220.tar.gz) = 56943
-SIZE (openscad-2026.02.24-665ba242.tar.gz) = 25351660
+SIZE (openscad-2026.06.21-fb3d125f.tar.gz) = 25409018
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: /cvs/ports/cad/openscad/patches/patch-CMakeLists_txt,v
diff -u -p -r1.2 patch-CMakeLists_txt
--- patches/patch-CMakeLists_txt 6 Apr 2026 02:28:34 -0000 1.2
+++ patches/patch-CMakeLists_txt 28 Jun 2026 12:33:39 -0000
@@ -1,7 +1,15 @@
Index: CMakeLists.txt
--- CMakeLists.txt.orig
+++ CMakeLists.txt
-@@ -527,10 +527,10 @@ else()
+@@ -461,6 +461,7 @@ macro(find_graphics)
+ set(GLEW_SOURCES src/glview/glew-utils.cc)
+ endif()
+
++ set(OPENGL_glx_LIBRARY /usr/X11R6/lib/modules/extensions/libglx.so)
+ find_package(OpenGL REQUIRED QUIET)
+ target_link_libraries(OpenSCADLibInternal PUBLIC ${OPENGL_LIBRARIES})
+ message(STATUS "OpenGL: ${OPENGL_LIBRARIES}")
+@@ -528,10 +529,10 @@ else()
target_link_libraries(svg PUBLIC Eigen3::Eigen)
message(STATUS "Eigen: ${Eigen3_VERSION}")
@@ -14,7 +22,7 @@ Index: CMakeLists.txt
target_link_libraries(svg PUBLIC Boost::headers)
find_package(HarfBuzz 0.9.19 REQUIRED QUIET)
-@@ -693,7 +693,7 @@ if(ENABLE_CAIRO STREQUAL "AUTO")
+@@ -703,7 +704,7 @@ if(ENABLE_CAIRO STREQUAL "AUTO")
if(CAIRO_VERSION OR CAIRO_FOUND)
message(STATUS "Cairo: ${CAIRO_VERSION}")
target_include_directories(OpenSCADLibInternal SYSTEM PUBLIC ${CAIRO_INCLUDE_DIRS})
@@ -23,7 +31,7 @@ Index: CMakeLists.txt
target_compile_definitions(OpenSCADLibInternal PUBLIC ENABLE_CAIRO)
else()
message(STATUS "Cairo: disabled (not found)")
-@@ -957,7 +957,7 @@ elseif(UNIX)
+@@ -967,7 +968,7 @@ elseif(UNIX)
if (NOT USE_GLAD)
target_compile_definitions(OpenSCADLibInternal PUBLIC GLEW_EGL)
endif()
@@ -32,8 +40,8 @@ Index: CMakeLists.txt
endif()
if(ENABLE_GLX AND OpenGL_GLX_FOUND)
target_compile_definitions(OpenSCADLibInternal PUBLIC ENABLE_GLX)
-@@ -1260,11 +1260,6 @@ else()
- ${GLEW_SOURCES})
+@@ -1279,11 +1280,6 @@ else()
+ endif()
endif()
-