[packages/openscad] - up to 2026.03.08, uses Qt6 now

baggins baggins at pld-linux.org
Sat Mar 14 13:44:49 CET 2026


commit 3abf5f9d1403f97c4f581a2a82e6c9eef064a7a2
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sat Mar 14 14:44:12 2026 +0100

    - up to 2026.03.08, uses Qt6 now

 localedir.patch             | 15 +++++-----
 openscad-polyclipping.patch | 63 ----------------------------------------
 openscad.spec               | 71 ++++++++++++++++++++++-----------------------
 tests.patch                 | 23 ---------------
 4 files changed, 42 insertions(+), 130 deletions(-)
---
diff --git a/openscad.spec b/openscad.spec
index c64455c..1094e1c 100644
--- a/openscad.spec
+++ b/openscad.spec
@@ -9,9 +9,9 @@
 Summary:	The Programmers Solid 3D CAD Modeller
 Summary(pl.UTF-8):	Program CAD do modelowania brył 3D
 Name:		openscad
-%define	hash	fd3a9aa
-Version:	2024.11.03
-Release:	8
+%define	hash	1e5d8ca
+Version:	2026.03.08
+Release:	1
 # COPYING contains a linking exception for CGAL
 # Appdata file is CC0
 # Examples are CC0
@@ -19,32 +19,32 @@ License:	GPL v2 with exceptions, CC0
 Group:		Applications/Engineering
 #Source0:	http://files.openscad.org/%{name}-%{version}.src.tar.gz
 Source0:	https://github.com/openscad/openscad/archive/%{hash}/%{name}-%{version}.tar.gz
-# Source0-md5:	0eebc48f5fc493d3f57896dec43e5ba1
+# Source0-md5:	475d58035886bf5dd745837b42e3e024
 # see libraries/MCAD on github for submodule reference
 %define	mcad_gitref	1ea402208c3127ffb443931e9bb1681c191dacca
 Source1:	https://github.com/openscad/MCAD/archive/%{mcad_gitref}/MCAD-%{mcad_gitref}.tar.gz
 # Source1-md5:	a86572e744abff686ee146274eda87f4
-Patch0:		%{name}-polyclipping.patch
 Patch1:		localedir.patch
-Patch2:		tests.patch
 URL:		https://openscad.org/
-BuildRequires:	CGAL-devel >= 5.0
+BuildRequires:	CGAL-devel >= 6.1.1
+BuildRequires:	Clipper2-devel
 BuildRequires:	EGL-devel
 %{?with_tests:BuildRequires:	ImageMagick}
 %{?with_tests:BuildRequires:	ImageMagick-coder-png}
 %{?with_tests:BuildRequires:	Mesa-dri-driver-swrast}
 BuildRequires:	OpenGL-GLX-devel
 BuildRequires:	OpenGL-devel
-BuildRequires:	Qt5Concurrent-devel >= 5.12
-BuildRequires:	Qt5Core-devel >= 5.12
-BuildRequires:	Qt5DBus-devel >= 5
-BuildRequires:	Qt5Gamepad-devel >= 5
-BuildRequires:	Qt5Multimedia-devel >= 5.12
-BuildRequires:	Qt5Network-devel >= 5.12
-BuildRequires:	Qt5OpenGL-devel >= 5.12
-BuildRequires:	Qt5Svg-devel >= 5.12
-BuildRequires:	Qt5Widgets-devel >= 5.12
-# or Qt6{Concurrent,Core,Core5Compat,DBus,Multimedia,Network,OpenGL,OpenGLWidgets,Svg,Widgets} >= 6 + Qt6QScintilla >= 2.8.0
+BuildRequires:	Qt6Concurrent-devel
+BuildRequires:	Qt6Core-devel
+BuildRequires:	Qt6DBus-devel
+BuildRequires:	Qt6Multimedia-devel
+BuildRequires:	Qt6Network-devel
+BuildRequires:	Qt6OpenGL-devel
+BuildRequires:	Qt6PrintSupport-devel
+BuildRequires:	Qt6Qt5Compat-devel
+BuildRequires:	Qt6Svg-devel
+BuildRequires:	Qt6Wayland-devel
+BuildRequires:	Qt6Widgets-devel
 BuildRequires:	bison >= 2.4
 BuildRequires:	boost-devel >= 1.56
 BuildRequires:	cairo-devel >= 1.14
@@ -68,16 +68,15 @@ BuildRequires:	libspnav-devel
 BuildRequires:	libstdc++-devel >= 6:7
 BuildRequires:	libxml2-devel >= 1:2.9
 BuildRequires:	libzip-devel
-BuildRequires:	manifold-devel
+BuildRequires:	manifold-devel >= 3.4.0
 BuildRequires:	mimalloc-devel
 BuildRequires:	mpfr-devel >= 3.0.0
 BuildRequires:	opencsg-devel >= 1.3.2
 BuildRequires:	pkgconfig
-BuildRequires:	polyclipping-devel >= 6.1.3
 BuildRequires:	procps
 BuildRequires:	python3 >= 1:3.4
-BuildRequires:	qscintilla2-qt5-devel >= 2.11.2
-BuildRequires:	qt5-build >= 5.12
+BuildRequires:	qscintilla2-qt6-devel
+BuildRequires:	qt6-build
 BuildRequires:	rpm-build >= 4.6
 BuildRequires:	rpmbuild(macros) >= 2.016
 BuildRequires:	sanitizers-cmake
@@ -86,15 +85,17 @@ BuildRequires:	xorg-lib-libX11-devel
 %{?with_tests:BuildRequires:	xorg-xserver-Xvfb}
 # Library may have new symbols without soname change
 %requires_eq	tbb
-Requires:	Qt5Concurrent >= 5.12
-Requires:	Qt5Core >= 5.12
-Requires:	Qt5DBus >= 5
-Requires:	Qt5Gamepad >= 5
-Requires:	Qt5Multimedia >= 5.12
-Requires:	Qt5Network >= 5.12
-Requires:	Qt5OpenGL >= 5.12
-Requires:	Qt5Svg >= 5.12
-Requires:	Qt5Widgets >= 5.12
+Requires:	Qt6Concurrent
+Requires:	Qt6Core
+Requires:	Qt6DBus
+Requires:	Qt6Multimedia
+Requires:	Qt6Network
+Requires:	Qt6OpenGL
+Requires:	Qt6PrintSupport
+Requires:	Qt6Qt5Compat
+Requires:	Qt6Svg
+Requires:	Qt6Wayland
+Requires:	Qt6Widgets
 Requires:	cairo >= 1.14
 Requires:	font(liberationmono)
 Requires:	font(liberationsans)
@@ -110,8 +111,7 @@ Requires:	lib3mf >= 1.8.1
 Requires:	libxml2 >= 1:2.9
 Requires:	mpfr >= 3.0.0
 Requires:	opencsg >= 1.3.2
-Requires:	polyclipping >= 6.1.3
-Requires:	qscintilla2-qt5 >= 2.11.2
+Requires:	qscintilla2-qt6
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 ### LICENSES:
@@ -215,18 +215,15 @@ mechanicznych. Obecnie nie jest skończona i można spodziewać się
 zmian API, ale wiele rzeczy już działa.
 
 %prep
-%setup -q -n openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f
-%patch -P0 -p1
+%setup -q -n openscad-1e5d8ca4bb937582781a99b65cc0b3b5bd047ec8
 %patch -P1 -p1
 
 %{__tar} xf %{SOURCE1} -C libraries/MCAD --strip-components=1
 
-# use system package
-%{__rm} -r src/ext/polyclipping
-
 %build
 %cmake -B build \
 	-DUSE_BUILTIN_MANIFOLD=OFF \
+	-DUSE_BUILTIN_CLIPPER2=OFF \
 	-DUSE_CCACHE=OFF \
 	%{cmake_on_off tests ENABLE_TESTS}
 
diff --git a/localedir.patch b/localedir.patch
index 1ee207d..d990b39 100644
--- a/localedir.patch
+++ b/localedir.patch
@@ -1,10 +1,10 @@
---- openscad-2019.01-RC2/src/openscad.cc~	2019-01-28 20:47:07.000000000 +0100
+- >= 2.11.2-- openscad-2019.01-RC2/src/openscad.cc~	2019-01-28 20:47:07.000000000 +0100
 +++ openscad-2019.01-RC2/src/openscad.cc	2019-04-19 15:35:44.398250089 +0200
-@@ -144,17 +144,10 @@
-  * files.
+@@ -144,18 +144,10 @@
   */
- void localization_init() {
--  fs::path po_dir(PlatformUtils::resourcePath("locale"));
+ void localization_init()
+ {
+-  fs::path const po_dir(PlatformUtils::resourcePath("locale"));
 -  const std::string& locale_path(po_dir.string());
 -
 -  if (fs::is_directory(locale_path)) {
@@ -14,8 +14,9 @@
      bind_textdomain_codeset("openscad", "UTF-8");
      textdomain("openscad");
 -  } else {
--    LOG("Could not initialize localization (application path is '%1$s').", PlatformUtils::applicationPath());
+-    LOG("Could not initialize localization (application path is '%1$s').",
+-        PlatformUtils::applicationPath());
 -  }
  }
  
- Camera get_camera(const po::variables_map& vm)
+ #ifdef Q_OS_MACOS
diff --git a/openscad-polyclipping.patch b/openscad-polyclipping.patch
deleted file mode 100644
index a565fbc..0000000
--- a/openscad-polyclipping.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff -ur openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f.orig/CMakeLists.txt openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f/CMakeLists.txt
---- openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f.orig/CMakeLists.txt	2024-11-03 14:01:44.000000000 +0100
-+++ openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f/CMakeLists.txt	2024-11-05 22:30:51.409115362 +0100
-@@ -794,7 +794,6 @@
-   src/ext/libtess2/Source/sweep.c
-   src/ext/libtess2/Source/tess.c
-   src/ext/lodepng/lodepng.cpp
--  src/ext/polyclipping/clipper.cpp
-   src/geometry/ClipperUtils.cc
-   src/geometry/Geometry.cc
-   src/geometry/GeometryCache.cc
-@@ -1177,10 +1176,8 @@
-     src/gui/parameter/ParameterWidget.ui
- )
- 
--if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
--  # Ignore specific warning on external lib
--  set_source_files_properties("src/ext/polyclipping/clipper.cpp" PROPERTIES COMPILE_FLAGS "-Wno-class-memaccess")
--endif()
-+pkg_check_modules(polyclipping REQUIRED polyclipping)
-+target_link_libraries(OpenSCAD PRIVATE ${polyclipping_LIBRARIES})
- 
- if (ENABLE_MANIFOLD)
-   target_compile_definitions(OpenSCAD PRIVATE ENABLE_MANIFOLD)
-Only in openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f: CMakeLists.txt~
-diff -ur openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f.orig/src/core/OffsetNode.h openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f/src/core/OffsetNode.h
---- openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f.orig/src/core/OffsetNode.h	2024-11-03 14:01:44.000000000 +0100
-+++ openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f/src/core/OffsetNode.h	2024-11-05 22:26:57.833523910 +0100
-@@ -1,7 +1,7 @@
- #pragma once
- 
- #include "core/node.h"
--#include "polyclipping/clipper.hpp"
-+#include <polyclipping/clipper.hpp>
- 
- #include <string>
- 
-Only in openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f/src/core: OffsetNode.h~
-diff -ur openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f.orig/src/geometry/ClipperUtils.h openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f/src/geometry/ClipperUtils.h
---- openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f.orig/src/geometry/ClipperUtils.h	2024-11-03 14:01:44.000000000 +0100
-+++ openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f/src/geometry/ClipperUtils.h	2024-11-05 22:27:27.884243264 +0100
-@@ -1,6 +1,6 @@
- #pragma once
- 
--#include "polyclipping/clipper.hpp"
-+#include <polyclipping/clipper.hpp>
- #include "geometry/Polygon2d.h"
- 
- #include <memory>
-Only in openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f/src/geometry: ClipperUtils.h~
-diff -ur openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f.orig/src/libsvg/shape.h openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f/src/libsvg/shape.h
---- openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f.orig/src/libsvg/shape.h	2024-11-03 14:01:44.000000000 +0100
-+++ openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f/src/libsvg/shape.h	2024-11-05 22:27:49.318089688 +0100
-@@ -38,7 +38,7 @@
- 
- #include <boost/optional.hpp>
- 
--#include "polyclipping/clipper.hpp"
-+#include <polyclipping/clipper.hpp>
- 
- namespace libsvg {
- class shape;
-Only in openscad-fd3a9aad2bcd913ac1830e11670f0a422231e43f/src/libsvg: shape.h~
diff --git a/tests.patch b/tests.patch
deleted file mode 100644
index 6055b6d..0000000
--- a/tests.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 9c3406c34fe79419b74867e33b47db00b3a348af Mon Sep 17 00:00:00 2001
-From: Torsten Paul <Torsten.Paul at gmx.de>
-Date: Thu, 14 Apr 2022 16:07:04 +0200
-Subject: [PATCH] Remove double quoting of the output file parameter for
- ghostscript.
-
----
- tests/export_pngtest.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/export_pngtest.py b/tests/export_pngtest.py
-index 2293148e75..94c81960e1 100644
---- a/tests/export_pngtest.py
-+++ b/tests/export_pngtest.py
-@@ -82,7 +82,7 @@ def createImport(inputfile, scadfile):
- if result != 0:
-     failquit('OpenSCAD failed with return code ' + str(result))
- 
--convert_cmd = gs_cmd + ["-sOutputFile=\"" + pngfile + "\"", exportfile]
-+convert_cmd = gs_cmd + ["-sOutputFile=" + pngfile, exportfile]
- print('Running Converter:', ' '.join(convert_cmd), file=sys.stderr)
- result = subprocess.call(convert_cmd)
- if result != 0:
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/openscad.git/commitdiff/3abf5f9d1403f97c4f581a2a82e6c9eef064a7a2



More information about the pld-cvs-commit mailing list