summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2024-08-22 15:30:32 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2024-08-22 15:34:12 +0200
commit6bec6c20b6b18dc173383a6828f1bb84314f986b (patch)
tree4451821834a05e5d8139296570586eca1137e2f5 /gnu/packages/patches
parent645cb9b6f609a6e399437d2c76f9b61b8e6dd7a3 (diff)
downloadguix-6bec6c20b6b18dc173383a6828f1bb84314f986b.tar.gz
gnu: openscad: Fix build.
Fixes <https://issues.guix.gnu.org/72693>.

* gnu/packages/patches/openscad-fix-boost-join.patch: New file.
* gnu/packages/patches/openscad-with-cgal-5.3.patch: New file.
* gnu/packages/patches/openscad-with-cgal-5.4.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register new patches.
* gnu/packages/engineering.scm (openscad)[source]: Use new patches.
  [inputs, native-inputs]: Remove labels.
  [arguments]: Disable a few more tests. Remove trailing booleans.

Change-Id: I3ce103afd8669dd68c95352a87d76994a3f08504
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/openscad-fix-boost-join.patch62
-rw-r--r--gnu/packages/patches/openscad-with-cgal-5.3.patch47
-rw-r--r--gnu/packages/patches/openscad-with-cgal-5.4.patch38
3 files changed, 147 insertions, 0 deletions
diff --git a/gnu/packages/patches/openscad-fix-boost-join.patch b/gnu/packages/patches/openscad-fix-boost-join.patch
new file mode 100644
index 0000000000..1347c2746a
--- /dev/null
+++ b/gnu/packages/patches/openscad-fix-boost-join.patch
@@ -0,0 +1,62 @@
+From 08bf69b4115c989fc5671254e0d05735d01bcca5 Mon Sep 17 00:00:00 2001
+From: Torsten Paul <Torsten.Paul@gmx.de>
+Date: Wed, 2 Feb 2022 00:50:43 +0100
+Subject: [PATCH] Fix build issue with overloaded join().
+
+---
+ src/openscad.cc | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/src/openscad.cc b/src/openscad.cc
+index a6f648d2a2..3c46cda2af 100644
+--- a/src/openscad.cc
++++ b/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::string color_scheme, const bool exit_if_
+ 	}
+ 
+ 	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/gnu/packages/patches/openscad-with-cgal-5.3.patch b/gnu/packages/patches/openscad-with-cgal-5.3.patch
new file mode 100644
index 0000000000..dc3c1caa3b
--- /dev/null
+++ b/gnu/packages/patches/openscad-with-cgal-5.3.patch
@@ -0,0 +1,47 @@
+From 9aa0d7e9f2914fe5f547bdde69202161d1c6064d Mon Sep 17 00:00:00 2001
+From: Jordan Brown <github@jordan.maileater.net>
+Date: Sun, 18 Jul 2021 21:01:46 -0700
+Subject: [PATCH] Fix build failure with "generic_print_polyhedron" on
+ CGAL-5.3.
+
+---
+ src/cgalutils-polyhedron.cc | 13 -------------
+ src/cgalutils.h             |  1 -
+ 2 files changed, 14 deletions(-)
+
+diff --git a/src/cgalutils-polyhedron.cc b/src/cgalutils-polyhedron.cc
+index 9f4f98f623..41cca4b3f2 100644
+--- a/src/cgalutils-polyhedron.cc
++++ b/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/src/cgalutils.h b/src/cgalutils.h
+index 21a01cdba6..c08a3aa7df 100644
+--- a/src/cgalutils.h
++++ b/src/cgalutils.h
+@@ -45,7 +45,6 @@ namespace CGALUtils {
+ 	bool is_approximately_convex(const PolySet &ps);
+ 	Geometry const* applyMinkowski(const Geometry::Geometries &children);
+ 
+-	template <typename Polyhedron> std::string printPolyhedron(const Polyhedron &p);
+ 	template <typename Polyhedron> bool createPolySetFromPolyhedron(const Polyhedron &p, PolySet &ps);
+ 	template <typename Polyhedron> bool createPolyhedronFromPolySet(const PolySet &ps, Polyhedron &p);
+ 	template <class Polyhedron_A, class Polyhedron_B> 
diff --git a/gnu/packages/patches/openscad-with-cgal-5.4.patch b/gnu/packages/patches/openscad-with-cgal-5.4.patch
new file mode 100644
index 0000000000..f1fedc2cd8
--- /dev/null
+++ b/gnu/packages/patches/openscad-with-cgal-5.4.patch
@@ -0,0 +1,38 @@
+From abfebc651343909b534ef337aacc7604c99cf0ea Mon Sep 17 00:00:00 2001
+From: Torsten Paul <Torsten.Paul@gmx.de>
+Date: Wed, 2 Feb 2022 02:30:59 +0100
+Subject: [PATCH] CGAL build fix, v5.4 renames projection traits header files
+ and classes.
+
+---
+ src/cgalutils-tess.cc | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/src/cgalutils-tess.cc b/src/cgalutils-tess.cc
+index ec1cc1eeb3..37f8cf08b1 100644
+--- a/src/cgalutils-tess.cc
++++ b/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)
+-  #include <CGAL/Triangulation_2_projection_traits_3.h>
++#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>,