pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

openscad: Import from cad/openscad and patch for cgal-5+



Module Name:	pkgsrc-wip
Committed By:	Paul Ripke <stix%stix.id.au@localhost>
Pushed By:	stix
Date:		Mon Feb 19 09:00:18 2024 +1100
Changeset:	5283dc31e440c6a8699a50ed4d1e1ee8541ce411

Added Files:
	openscad/COMMIT_MSG
	openscad/DESCR
	openscad/Makefile
	openscad/PLIST
	openscad/distinfo
	openscad/patches/patch-features_qscintilla2-priv.prf
	openscad/patches/patch-openscad.pro
	openscad/patches/patch-scripts_translation-update.sh
	openscad/patches/patch-src_cgalutils-polyhedron.cc
	openscad/patches/patch-src_cgalutils-tess.cc
	openscad/patches/patch-src_colormap.h
	openscad/patches/patch-src_openscad.cc
	openscad/patches/patch-src_scintillaeditor.h

Log Message:
openscad: Import from cad/openscad and patch for cgal-5+

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=5283dc31e440c6a8699a50ed4d1e1ee8541ce411

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 openscad/COMMIT_MSG                                |   1 +
 openscad/DESCR                                     |  22 ++++
 openscad/Makefile                                  |  52 +++++++++
 openscad/PLIST                                     | 127 +++++++++++++++++++++
 openscad/distinfo                                  |  13 +++
 .../patches/patch-features_qscintilla2-priv.prf    |  19 +++
 openscad/patches/patch-openscad.pro                |  15 +++
 .../patches/patch-scripts_translation-update.sh    |  15 +++
 openscad/patches/patch-src_cgalutils-polyhedron.cc |  27 +++++
 openscad/patches/patch-src_cgalutils-tess.cc       |  30 +++++
 openscad/patches/patch-src_colormap.h              |  19 +++
 openscad/patches/patch-src_openscad.cc             |  56 +++++++++
 openscad/patches/patch-src_scintillaeditor.h       |  18 +++
 13 files changed, 414 insertions(+)

diffs:
diff --git a/openscad/COMMIT_MSG b/openscad/COMMIT_MSG
new file mode 100644
index 0000000000..bedf7abc4a
--- /dev/null
+++ b/openscad/COMMIT_MSG
@@ -0,0 +1 @@
+Patch to support CGAL-5 and later.
diff --git a/openscad/DESCR b/openscad/DESCR
new file mode 100644
index 0000000000..9ce661efc8
--- /dev/null
+++ b/openscad/DESCR
@@ -0,0 +1,22 @@
+OpenSCAD is free software for creating solid 3D CAD objects.
+
+Unlike most free software for creating 3D models (such as the famous
+application 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.
+
+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 (see examples below). 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 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. As data
+exchange format format for this 2D outlines Autocad DXF files are used. In
+addition to 2D paths for extrusion it is also possible to read design
+parametes from DXF files. Besides DXF files OpenSCAD can read and create 3D
+models in the STL and OFF file formats.
diff --git a/openscad/Makefile b/openscad/Makefile
new file mode 100644
index 0000000000..0b993ca380
--- /dev/null
+++ b/openscad/Makefile
@@ -0,0 +1,52 @@
+# $NetBSD: Makefile,v 1.103 2023/11/12 13:20:48 wiz Exp $
+
+VERSION=	2021.01
+DISTNAME=	openscad-${VERSION}
+PKGREVISION=	27
+CATEGORIES=	cad
+MASTER_SITES=	${MASTER_SITE_GITHUB:=openscad/}
+GITHUB_TAG=	openscad-${VERSION}
+
+MAINTAINER=	reinoud%NetBSD.org@localhost
+HOMEPAGE=	https://www.openscad.org/
+COMMENT=	OpenSCAD - The Programmers Solid 3D CAD Modeller
+LICENSE=	gnu-gpl-v2
+
+USE_LANGUAGES=	c c++
+USE_TOOLS+=	bison gettext pkg-config itstool
+USE_LIBTOOL=	yes
+
+WRKSRC=		${WRKDIR}/${PKGBASE}-${DISTNAME}
+
+CHECK_PORTABILITY_SKIP+=	tests/compare-bitmaps.sh
+
+.include "../../lang/python/application.mk"
+
+MAKE_ENV+=	INSTALL_ROOT=${DESTDIR}
+
+do-configure:
+	cd ${WRKSRC} && ${QTDIR}/bin/qmake \
+	    PREFIX=${PREFIX} -after QMAKE_YACC=bison QMAKE_LEX=flex \
+	    QMAKE_CXXFLAGS+=-std=c++0x
+
+.include "../../devel/boost-headers/buildlink3.mk"
+.include "../../devel/boost-libs/buildlink3.mk"
+# DragonFly requires FlexLexer.h from pkgsrc - base doesn't cut it.
+.include "../../devel/flex/buildlink3.mk"
+.include "../../devel/gmp/buildlink3.mk"
+.include "../../fonts/fontconfig/buildlink3.mk"
+.include "../../fonts/harfbuzz/buildlink3.mk"
+.include "../../graphics/freetype2/buildlink3.mk"
+.include "../../graphics/glew/buildlink3.mk"
+.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
+.include "../../graphics/opencsg/buildlink3.mk"
+.include "../../math/cgal/buildlink3.mk"
+.include "../../math/eigen3/buildlink3.mk"
+.include "../../math/mpfr/buildlink3.mk"
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+.include "../../x11/qt5-qtbase/buildlink3.mk"
+.include "../../x11/qt5-qtmultimedia/buildlink3.mk"
+.include "../../x11/qt5-qscintilla/buildlink3.mk"
+.include "../../textproc/libxml++/buildlink3.mk"
+.include "../../math/double-conversion/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/openscad/PLIST b/openscad/PLIST
new file mode 100644
index 0000000000..9d632e76e0
--- /dev/null
+++ b/openscad/PLIST
@@ -0,0 +1,127 @@
+@comment $NetBSD: PLIST,v 1.4 2021/04/08 10:26:08 bouyer Exp $
+bin/openscad
+man/man1/openscad.1
+share/applications/openscad.desktop
+share/icons/hicolor/128x128/apps/openscad.png
+share/icons/hicolor/256x256/apps/openscad.png
+share/icons/hicolor/48x48/apps/openscad.png
+share/icons/hicolor/512x512/apps/openscad.png
+share/icons/hicolor/64x64/apps/openscad.png
+share/metainfo/org.openscad.OpenSCAD.appdata.xml
+share/mime/packages/openscad.xml
+share/openscad/color-schemes/editor/dark-background.json
+share/openscad/color-schemes/editor/light-background.json
+share/openscad/color-schemes/editor/monokai.json
+share/openscad/color-schemes/editor/solarized-dark.json
+share/openscad/color-schemes/editor/solarized-light.json
+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/readme.txt
+share/openscad/color-schemes/render/beforedawn.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/solarized.json
+share/openscad/color-schemes/render/starnight.json
+share/openscad/color-schemes/render/sunset.json
+share/openscad/color-schemes/render/tomorrow-night.json
+share/openscad/color-schemes/render/tomorrow.json
+share/openscad/examples/Advanced/GEB.scad
+share/openscad/examples/Advanced/animation.scad
+share/openscad/examples/Advanced/assert.scad
+share/openscad/examples/Advanced/children.scad
+share/openscad/examples/Advanced/children_indexed.scad
+share/openscad/examples/Advanced/module_recursion.scad
+share/openscad/examples/Advanced/offset.scad
+share/openscad/examples/Advanced/surface_image.png
+share/openscad/examples/Advanced/surface_image.scad
+share/openscad/examples/Basics/CSG-modules.scad
+share/openscad/examples/Basics/CSG.scad
+share/openscad/examples/Basics/LetterBlock.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/rotate_extrude.scad
+share/openscad/examples/Basics/text_on_cube.scad
+share/openscad/examples/COPYING-CC0.txt
+share/openscad/examples/Functions/echo.scad
+share/openscad/examples/Functions/functions.scad
+share/openscad/examples/Functions/list_comprehensions.scad
+share/openscad/examples/Functions/polygon_areas.scad
+share/openscad/examples/Functions/recursion.scad
+share/openscad/examples/Old/example001.scad
+share/openscad/examples/Old/example002.scad
+share/openscad/examples/Old/example003.scad
+share/openscad/examples/Old/example004.scad
+share/openscad/examples/Old/example005.scad
+share/openscad/examples/Old/example006.scad
+share/openscad/examples/Old/example007.dxf
+share/openscad/examples/Old/example007.scad
+share/openscad/examples/Old/example008.dxf
+share/openscad/examples/Old/example008.scad
+share/openscad/examples/Old/example009.dxf
+share/openscad/examples/Old/example009.scad
+share/openscad/examples/Old/example010.dat
+share/openscad/examples/Old/example010.scad
+share/openscad/examples/Old/example011.scad
+share/openscad/examples/Old/example012.scad
+share/openscad/examples/Old/example012.stl
+share/openscad/examples/Old/example013.dxf
+share/openscad/examples/Old/example013.scad
+share/openscad/examples/Old/example014.scad
+share/openscad/examples/Old/example015.scad
+share/openscad/examples/Old/example016.scad
+share/openscad/examples/Old/example016.stl
+share/openscad/examples/Old/example017.scad
+share/openscad/examples/Old/example018.scad
+share/openscad/examples/Old/example019.scad
+share/openscad/examples/Old/example020.scad
+share/openscad/examples/Old/example021.scad
+share/openscad/examples/Old/example022.scad
+share/openscad/examples/Old/example023.scad
+share/openscad/examples/Old/example024.scad
+share/openscad/examples/Parametric/candleStand.json
+share/openscad/examples/Parametric/candleStand.scad
+share/openscad/examples/Parametric/sign.json
+share/openscad/examples/Parametric/sign.scad
+share/openscad/examples/examples.json
+share/openscad/fonts/05-osx-fonts.conf
+share/openscad/fonts/10-liberation.conf
+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/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/locale/cs/LC_MESSAGES/openscad.mo
+share/openscad/locale/de/LC_MESSAGES/openscad.mo
+share/openscad/locale/es/LC_MESSAGES/openscad.mo
+share/openscad/locale/fr/LC_MESSAGES/openscad.mo
+share/openscad/locale/hy/LC_MESSAGES/openscad.mo
+share/openscad/locale/pl/LC_MESSAGES/openscad.mo
+share/openscad/locale/ru/LC_MESSAGES/openscad.mo
+share/openscad/locale/uk/LC_MESSAGES/openscad.mo
+share/openscad/locale/zh_CN/LC_MESSAGES/openscad.mo
+share/openscad/locale/zh_TW/LC_MESSAGES/openscad.mo
+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
+@pkgdir share/openscad/libraries/MCAD
diff --git a/openscad/distinfo b/openscad/distinfo
new file mode 100644
index 0000000000..32f78f5361
--- /dev/null
+++ b/openscad/distinfo
@@ -0,0 +1,13 @@
+$NetBSD: distinfo,v 1.14 2021/10/26 10:04:14 nia Exp $
+
+BLAKE2s (openscad-2021.01.tar.gz) = dc3d5a762d8b334fcdefc41d3c15a3b01023ce93ed4b2bae2f9d13c5100c7918
+SHA512 (openscad-2021.01.tar.gz) = 2dac2d9c2fdbb720bc2e56f66849a75abe10ee646f918c53dadf33d57a30f3c605a536483bd97410d715309064ac99330ce15657440e4d66b426635dfab6a32b
+Size (openscad-2021.01.tar.gz) = 15656800 bytes
+SHA1 (patch-features_qscintilla2-priv.prf) = ca5d5735d091441d6daf7535802f5ba7362c808c
+SHA1 (patch-openscad.pro) = 55e97368d2fdd77c8a4773699cfffdaccd65d63f
+SHA1 (patch-scripts_translation-update.sh) = 24929df617e450558934e46b1711f241945da7eb
+SHA1 (patch-src_cgalutils-polyhedron.cc) = b775822c0cb921a196a7dd4356f19e8f30631bbf
+SHA1 (patch-src_cgalutils-tess.cc) = b6571d63159e222fbcbfc89bc05984264304bfb7
+SHA1 (patch-src_colormap.h) = d218a17ac71e0178d32b79723b532c9f098bc038
+SHA1 (patch-src_openscad.cc) = ec2898bf5236ee5be2150cc74f1615c4dd0c2ae0
+SHA1 (patch-src_scintillaeditor.h) = 47d2cde8d7349a23770c549e5df9b219678825e9
diff --git a/openscad/patches/patch-features_qscintilla2-priv.prf b/openscad/patches/patch-features_qscintilla2-priv.prf
new file mode 100644
index 0000000000..5a8060e3b1
--- /dev/null
+++ b/openscad/patches/patch-features_qscintilla2-priv.prf
@@ -0,0 +1,19 @@
+$NetBSD: patch-features_qscintilla2-priv.prf,v 1.1 2019/06/22 12:57:50 mef Exp $
+
+To avoid following problem
+-------
+ ....
+QtMultimedia -lQtOpenGL -lQtGui -lQtNetwork -lQtCore -lGLU -lGL -lXmu -lX11
+ld: cannot find -lqscintilla2_qt4
+*** [openscad] Error code 1
+-------
+
+--- features/qscintilla2-priv.prf.orig	2019-05-10 14:03:44.000000000 +0900
++++ features/qscintilla2-priv.prf	2019-05-28 21:34:58.087656036 +0900
+@@ -23,5 +23,5 @@ CONFIG(debug, debug|release) {
+         }
+     }
+ } else {
+-    LIBS += -lqscintilla2_qt$${QT_MAJOR_VERSION}
++    LIBS += -lqscintilla2
+ }
diff --git a/openscad/patches/patch-openscad.pro b/openscad/patches/patch-openscad.pro
new file mode 100644
index 0000000000..47cabc07c8
--- /dev/null
+++ b/openscad/patches/patch-openscad.pro
@@ -0,0 +1,15 @@
+$NetBSD: patch-openscad.pro,v 1.3 2021/04/08 10:26:08 bouyer Exp $
+
+install manpage to correct location
+
+--- openscad.pro.orig	2021-01-31 18:41:09.000000000 +0100
++++ openscad.pro	2021-04-04 20:58:11.094361964 +0200
+@@ -757,7 +757,7 @@
+ 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
+ 
diff --git a/openscad/patches/patch-scripts_translation-update.sh b/openscad/patches/patch-scripts_translation-update.sh
new file mode 100644
index 0000000000..77b7061ceb
--- /dev/null
+++ b/openscad/patches/patch-scripts_translation-update.sh
@@ -0,0 +1,15 @@
+$NetBSD: patch-scripts_translation-update.sh,v 1.1 2021/09/23 18:38:35 nia Exp $
+
+Use unlink instead of rm - more likely to be available in $PATH...
+
+--- scripts/translation-update.sh.orig	2021-01-31 17:41:09.000000000 +0000
++++ scripts/translation-update.sh
+@@ -100,7 +100,7 @@ updatemo()
+ 
+   # 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
diff --git a/openscad/patches/patch-src_cgalutils-polyhedron.cc b/openscad/patches/patch-src_cgalutils-polyhedron.cc
new file mode 100644
index 0000000000..66d44133c3
--- /dev/null
+++ b/openscad/patches/patch-src_cgalutils-polyhedron.cc
@@ -0,0 +1,27 @@
+$NetBSD$
+
+Upstream patch for cgal 5.3
+https://github.com/openscad/openscad/commit/71f2831c0484c3f35cbf44e1d1dc2c857384100b
+
+--- src/cgalutils-polyhedron.cc.orig	2021-01-31 17:41:09.000000000 +0000
++++ src/cgalutils-polyhedron.cc
+@@ -337,19 +337,6 @@ namespace CGALUtils {
+     }
+ 	};
+ 
+-	template <typename Polyhedron>
+-	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 */
diff --git a/openscad/patches/patch-src_cgalutils-tess.cc b/openscad/patches/patch-src_cgalutils-tess.cc
new file mode 100644
index 0000000000..fed6115564
--- /dev/null
+++ b/openscad/patches/patch-src_cgalutils-tess.cc
@@ -0,0 +1,30 @@
+$NetBSD$
+
+Upstream patch for cgal 5.4
+https://github.com/openscad/openscad/commit/71f2831c0484c3f35cbf44e1d1dc2c857384100b
+
+--- src/cgalutils-tess.cc.orig	2021-01-31 17:41:09.000000000 +0000
++++ src/cgalutils-tess.cc
+@@ -6,10 +6,12 @@
+ #pragma push_macro("NDEBUG")
+ #undef NDEBUG
+ #include <CGAL/Constrained_Delaunay_triangulation_2.h>
+-#if CGAL_VERSION_NR >= CGAL_VERSION_NUMBER(4,11,0)
++#if CGAL_VERSION_NR < 1050401000
+   #include <CGAL/Triangulation_2_projection_traits_3.h>
++typedef CGAL::Triangulation_2_filtered_projection_traits_3<K> Projection;
+ #else
+-  #include <CGAL/Triangulation_2_filtered_projection_traits_3.h>
++#include <CGAL/Projection_traits_3.h>
++typedef CGAL::Filtered_projection_traits_3<K> Projection;
+ #endif
+ #include <CGAL/Triangulation_face_base_with_info_2.h>
+ #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<K> Projection;
+ typedef CGAL::Triangulation_face_base_with_info_2<FaceInfo, K> Fbb;
+ typedef CGAL::Triangulation_data_structure_2<
+ 	CGAL::Triangulation_vertex_base_2<Projection>,
diff --git a/openscad/patches/patch-src_colormap.h b/openscad/patches/patch-src_colormap.h
new file mode 100644
index 0000000000..a1e803df86
--- /dev/null
+++ b/openscad/patches/patch-src_colormap.h
@@ -0,0 +1,19 @@
+$NetBSD: patch-src_colormap.h,v 1.2 2019/06/22 12:57:50 mef Exp $
+
+the Qt4 moc has some difficulty parsing in the boost headers. Apply
+the workaround from https://bugreports.qt.io/browse/QTBUG-22829
+
+--- src/colormap.h.orig	2018-03-13 12:12:43.000000000 +0000
++++ src/colormap.h
+@@ -6,9 +6,10 @@
+ #include "linalg.h"
+ 
+ #include "memory.h"
++#ifndef Q_MOC_RUN
+ #include <boost/filesystem.hpp>
+ #include <boost/property_tree/ptree.hpp>
+-
++#endif
+ namespace fs = boost::filesystem;
+ 
+ enum class RenderColor {
diff --git a/openscad/patches/patch-src_openscad.cc b/openscad/patches/patch-src_openscad.cc
new file mode 100644
index 0000000000..c4748cc52c
--- /dev/null
+++ b/openscad/patches/patch-src_openscad.cc
@@ -0,0 +1,56 @@
+$NetBSD$
+
+Compile fix from upstream, fixing ::join ambiguity
+https://github.com/openscad/openscad/commit/9b79576c1ee9d57d0f4a5de5c1365bb87c548f36
+
+--- src/openscad.cc.orig	2021-01-31 17:41:09.000000000 +0000
++++ src/openscad.cc
+@@ -65,7 +65,6 @@
+ #include <chrono>
+ #include <boost/algorithm/string.hpp>
+ #include <boost/algorithm/string/split.hpp>
+-#include <boost/algorithm/string/join.hpp>
+ #include <boost/range/adaptor/transformed.hpp>
+ #include <boost/program_options.hpp>
+ #include <boost/filesystem.hpp>
+@@ -307,7 +306,7 @@ void set_render_color_scheme(const std::
+ 	}
+ 
+ 	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 <class Seq, typename ToString>
+-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<string>(), "customizer parameter set")
+ #ifdef ENABLE_EXPERIMENTAL
+ 		("enable", po::value<vector<string>>(), ("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<string>()->implicit_value(""), "for full geometry evaluation when exporting png")
+ 		("preview", po::value<string>()->implicit_value(""), "[=throwntogether] -for ThrownTogether preview png")
+ 		("animate", po::value<unsigned>(), "export N animated frames")
+-		("view", po::value<CommaSeparatedVector>(), ("=view options: " + boost::join(viewOptions.names(), " | ")).c_str())
++		("view", po::value<CommaSeparatedVector>(), ("=view options: " + boost::algorithm::join(viewOptions.names(), " | ")).c_str())
+ 		("projection", po::value<string>(), "=(o)rtho or (p)erspective when exporting png")
+ 		("csglimit", po::value<unsigned int>(), "=n -stop rendering at n CSG elements when exporting png")
+ 		("colorscheme", po::value<string>(), ("=colorscheme: " +
+-		                                      join(ColorMap::inst()->colorSchemeNames(), " | ",
++		                                      str_join(ColorMap::inst()->colorSchemeNames(), " | ",
+ 		                                           [](const std::string& colorScheme) {
+ 		                                               return (colorScheme == ColorMap::inst()->defaultColorSchemeName() ? "*" : "") + colorScheme;
+ 		                                           }) +
diff --git a/openscad/patches/patch-src_scintillaeditor.h b/openscad/patches/patch-src_scintillaeditor.h
new file mode 100644
index 0000000000..aed82bfa01
--- /dev/null
+++ b/openscad/patches/patch-src_scintillaeditor.h
@@ -0,0 +1,18 @@
+$NetBSD: patch-src_scintillaeditor.h,v 1.3 2021/04/08 10:26:08 bouyer Exp $
+
+the Qt4 moc has some difficulty parsing in the boost headers. Apply
+the workaround from https://bugreports.qt.io/browse/QTBUG-22829
+
+--- src/scintillaeditor.h.orig	2021-01-31 18:41:09.000000000 +0100
++++ src/scintillaeditor.h	2021-04-04 21:01:50.732077378 +0200
+@@ -1,8 +1,10 @@
+ #pragma once
+ 
+ #include <functional>
++#ifndef Q_MOC_RUN
+ #include <boost/property_tree/ptree.hpp>
+ #include <boost/property_tree/json_parser.hpp>
++#endif
+ 
+ #include <QMap>
+ #include <QObject>


Home | Main Index | Thread Index | Old Index