From: Johannes Thyssen Tishman Subject: [update] cad/solvespace 3.1 -> 3.2 To: ports@openbsd.org Date: Fri, 22 May 2026 08:50:53 +0000 Please find below an update for cad/solvespace to version 3.2. Changelog: https://github.com/solvespace/solvespace/blob/master/CHANGELOG.md#changelog Notes about this update: 1. Test results (turns out they are not broken hehe): Success! 255 test cases (0 skipped), 884 checks, 3.163s 2. Major bump due to dynamic export removal Index: Makefile =================================================================== RCS file: /cvs/ports/cad/solvespace/Makefile,v retrieving revision 1.6 diff -u -p -r1.6 Makefile --- Makefile 13 Feb 2026 12:02:14 -0000 1.6 +++ Makefile 22 May 2026 08:49:33 -0000 @@ -1,10 +1,9 @@ COMMENT = parametric 2D/3D CAD program -V = 3.1 +V = 3.2 DISTNAME = solvespace-${V} CATEGORIES = cad -REVISION = 1 -SHARED_LIBS += slvs 0.0 +SHARED_LIBS += slvs 1.0 HOMEPAGE = https://solvespace.com/ @@ -29,6 +28,8 @@ BUILD_DEPENDS = devel/gettext,-runtime \ math/eigen3 LIB_DEPENDS = devel/json-c \ + graphics/cairo \ + graphics/png \ x11/gtk3mm RUN_DEPENDS = devel/desktop-file-utils \ @@ -43,23 +44,11 @@ CONFIGURE_ARGS+= -DENABLE_GUI=ON \ -DFORCE_VENDORED_Eigen3=OFF \ -DENABLE_LTO=OFF \ -DENABLE_COVERAGE=OFF \ - -DENABLE_TESTS=OFF \ + -DENABLE_TESTS=ON \ -DENABLE_OPENMP=OFF \ - -DENABLE_SANITIZERS=OFF \ - -DMI_SECURE=ON \ - -DMI_LIBATOMIC=OFF \ - -DMI_BUILD_TESTS=OFF \ - -DMI_OVERRIDE=OFF \ - -DMI_BUILD_SHARED=OFF \ - -DMI_BUILD_OBJECT=OFF - -MODCMAKE_POLICY_VERSION_OVERRIDE = Yes - -# testsuite broken as is -NO_TEST = YES - -# add FindCairo.cmake -post-extract: - cp ${FILESDIR}/FindCairo.cmake ${WRKSRC}/cmake/ + -DENABLE_SANITIZERS=OFF + +do-test: + cd ${WRKSRC} && ${WRKBUILD}/bin/solvespace-testsuite .include Index: distinfo =================================================================== RCS file: /cvs/ports/cad/solvespace/distinfo,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 distinfo --- distinfo 3 Jul 2023 13:43:48 -0000 1.1.1.1 +++ distinfo 22 May 2026 08:49:33 -0000 @@ -1,2 +1,2 @@ -SHA256 (solvespace-3.1.tar.xz) = NKJzzmQtDHe48QFGNzDtTq3n2Qz6v+SG8+fL9JT/Eyo= -SIZE (solvespace-3.1.tar.xz) = 46083984 +SHA256 (solvespace-3.2.tar.xz) = 2T6BZme2xvBfq8Pzy214P60qOAXEbSTijy69kbw23nY= +SIZE (solvespace-3.2.tar.xz) = 53579228 Index: patches/patch-CMakeLists_txt =================================================================== RCS file: /cvs/ports/cad/solvespace/patches/patch-CMakeLists_txt,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 patch-CMakeLists_txt --- patches/patch-CMakeLists_txt 3 Jul 2023 13:43:48 -0000 1.1.1.1 +++ patches/patch-CMakeLists_txt 22 May 2026 08:49:33 -0000 @@ -1,32 +1,11 @@ Index: CMakeLists.txt --- CMakeLists.txt.orig +++ CMakeLists.txt -@@ -34,9 +34,9 @@ endif() - # NOTE TO PACKAGERS: The embedded git commit hash is critical for rapid bug triage when the builds - # can come from a variety of sources. If you are mirroring the sources or otherwise build when - # the .git directory is not present, please comment the following line: --include(GetGitCommitHash) -+#include(GetGitCommitHash) - # and instead uncomment the following, adding the complete git hash of the checkout you are using: --# set(GIT_COMMIT_HASH 0000000000000000000000000000000000000000) -+set(GIT_COMMIT_HASH 70bde63cb32a7f049fa56cbdf924e2695fcb2916) - - string(SUBSTRING "${GIT_COMMIT_HASH}" 0 8 solvespace_GIT_HASH) - project(solvespace -@@ -269,7 +269,7 @@ else() - find_package(ZLIB REQUIRED) - find_package(PNG REQUIRED) - find_package(Freetype REQUIRED) -- pkg_check_modules(CAIRO REQUIRED cairo) -+ find_package(Cairo REQUIRED) - endif() - - # GUI dependencies -@@ -305,7 +305,6 @@ if(ENABLE_GUI) - find_library(APPKIT_LIBRARY AppKit REQUIRED) +@@ -381,7 +381,6 @@ if(ENABLE_GUI) + # Everything is built in else() find_package(OpenGL REQUIRED) - find_package(SpaceWare) pkg_check_modules(FONTCONFIG REQUIRED fontconfig) - pkg_check_modules(JSONC REQUIRED json-c) - pkg_check_modules(GTKMM REQUIRED gtkmm-3.0>=3.18 pangomm-1.4 x11) + if (NOT USE_QT_GUI) + pkg_check_modules(JSONC REQUIRED json-c) Index: patches/patch-src_platform_guigtk_cpp =================================================================== RCS file: /cvs/ports/cad/solvespace/patches/patch-src_platform_guigtk_cpp,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 patch-src_platform_guigtk_cpp --- patches/patch-src_platform_guigtk_cpp 3 Jul 2023 13:43:48 -0000 1.1.1.1 +++ patches/patch-src_platform_guigtk_cpp 22 May 2026 08:49:33 -0000 @@ -3,7 +3,7 @@ don't exit the program for Glib charset Index: src/platform/guigtk.cpp --- src/platform/guigtk.cpp.orig +++ src/platform/guigtk.cpp -@@ -1505,10 +1505,7 @@ std::vector InitGui(int argc, char **argv +@@ -1626,10 +1626,7 @@ std::vector InitGui(int argc, char **argv // character set; otherwise it thinks it is always ANSI_X3.4-1968. // We set it back to C after all so that printf() and friends behave in a consistent way. setlocale(LC_ALL, ""); @@ -13,5 +13,5 @@ Index: src/platform/guigtk.cpp - } + Glib::get_charset(); setlocale(LC_ALL, "C"); - + // Let GTK parse arguments and update argc/argv. (They're passed by reference.) Index: patches/patch-src_resource_cpp =================================================================== RCS file: patches/patch-src_resource_cpp diff -N patches/patch-src_resource_cpp --- patches/patch-src_resource_cpp 3 Jul 2023 13:43:48 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,34 +0,0 @@ -avoid console spamming - -Index: src/resource.cpp ---- src/resource.cpp.orig -+++ src/resource.cpp -@@ -1456,12 +1456,10 @@ Translation Translation::From(const std::string &poDat - const std::string &Translation::Translate(const TranslationKey &key) { - auto it = messages.find(key); - if(it == messages.end()) { -- dbp("Missing (absent) translation for %s'%s'", key.context.c_str(), key.ident.c_str()); - messages[key].emplace_back(key.ident); - it = messages.find(key); - } - if(it->second[0].empty()) { -- dbp("Missing (empty) translation for %s'%s'", key.context.c_str(), key.ident.c_str()); - it->second[0] = key.ident; - } - if(it->second.size() != 1) { -@@ -1476,15 +1474,12 @@ const std::string &Translation::TranslatePlural(const - - auto it = messages.find(key); - if(it == messages.end()) { -- dbp("Missing (absent) translation for %s'%s'", key.context.c_str(), key.ident.c_str()); - for(unsigned i = 0; i < pluralCount; i++) { - messages[key].emplace_back(key.ident); - } - it = messages.find(key); - } - if(it->second[pluralForm].empty()) { -- dbp("Missing (empty) translation for %s'%s'[%d]", -- key.context.c_str(), key.ident.c_str(), pluralForm); - it->second[pluralForm] = key.ident; - } - return it->second[pluralForm]; Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/cad/solvespace/pkg/PLIST,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 PLIST --- pkg/PLIST 3 Jul 2023 13:43:48 -0000 1.1.1.1 +++ pkg/PLIST 22 May 2026 08:49:33 -0000 @@ -70,6 +70,8 @@ share/solvespace/icons/graphics-window/t share/solvespace/icons/graphics-window/trim.png share/solvespace/icons/graphics-window/vert.png share/solvespace/icons/text-window/ +share/solvespace/icons/text-window/constraint-dimo.png +share/solvespace/icons/text-window/constraint-wo.png share/solvespace/icons/text-window/constraint.png share/solvespace/icons/text-window/construction.png share/solvespace/icons/text-window/edges.png @@ -85,10 +87,12 @@ share/solvespace/icons/text-window/shade share/solvespace/icons/text-window/workplane.png share/solvespace/locales/ share/solvespace/locales.txt +share/solvespace/locales/cs_CZ.po share/solvespace/locales/de_DE.po share/solvespace/locales/en_US.po share/solvespace/locales/es_AR.po share/solvespace/locales/fr_FR.po +share/solvespace/locales/ja_JP.po share/solvespace/locales/ru_RU.po share/solvespace/locales/tr_TR.po share/solvespace/locales/uk_UA.po @@ -115,3 +119,4 @@ share/solvespace/threejs/three-r111.min. @tag update-desktop-database @tag gtk-update-icon-cache %D/share/icons/hicolor @tag update-mime-database +share/thumbnailers/solvespace.thumbnailer