From 4e20935b811efd84eacec08caf9eb134f9e25c86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eric=20M=C3=BCller?= <mueller@kip.uni-heidelberg.de> Date: Thu, 21 Mar 2024 10:05:57 +0100 Subject: [PATCH] fix(open3d): Build w/o glu The glew package requires the "depender" to set this preprocessor define if a build w/o GLU support is requested. (I.e. this removes the build dependency of glew on glu.) --- packages/open3d/glew-no-glu.patch | 15 +++++++++++++++ packages/open3d/package.py | 4 ++++ 2 files changed, 19 insertions(+) create mode 100644 packages/open3d/glew-no-glu.patch diff --git a/packages/open3d/glew-no-glu.patch b/packages/open3d/glew-no-glu.patch new file mode 100644 index 00000000..84baf0ec --- /dev/null +++ b/packages/open3d/glew-no-glu.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a87d542b5..509a50633 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -41,6 +41,10 @@ endif() + include(CMakeDependentOption) + + # Open3D build options ++option(DEFINE_GLEW_NO_GLU "Glew without GLU" OFF) ++if(DEFINE_GLEW_NO_GLU) ++ add_definitions(-DGLEW_NO_GLU) ++endif(DEFINE_GLEW_NO_GLU) + option(BUILD_SHARED_LIBS "Build shared libraries" OFF) + option(BUILD_EXAMPLES "Build Open3D examples programs" ON ) + option(BUILD_UNIT_TESTS "Build Open3D unit tests" OFF) diff --git a/packages/open3d/package.py b/packages/open3d/package.py index 86883731..d97a7e03 100644 --- a/packages/open3d/package.py +++ b/packages/open3d/package.py @@ -85,6 +85,8 @@ class Open3d(CMakePackage, CudaPackage): # LLVM must be built with the C++ library conflicts("^llvm libcxx=none") + patch("glew-no-glu.patch") + def patch(self): # Force Python libraries to be installed to self.prefix args = std_pip_args + ["--prefix=" + self.prefix] @@ -148,6 +150,8 @@ class Open3d(CMakePackage, CudaPackage): # args.append(self.define("USE_SYSTEM_VTK", True)) if self.spec.satisfies("@0.18:"): args.append(self.define("USE_SYSTEM_EMBREE", True)) + # cf. https://github.com/spack/spack/issues/42839 + args.append(self.define("DEFINE_GLEW_NO_GLU", True)) # end EBRAINS if "+python" in self.spec: -- GitLab