Subject: [PATCH] gnu: openscad: Fix python support
From: nomike <[email-masked]>
To: [email-masked]
Cc: nomike <[email-masked]>
Date: Wed, 14 May 2025 02:16:47 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/engineering.scm (emacs-scad-mode): Add missing nettle input; add patch for CMake to fail build if nettle isn't found

Change-Id: Ic6bea14048daac56dc8773bf8fbdbd3bb1f0eae9
---
Python support requires Nettle as an input which is nowhere documented.
Also due to a bug in the CMake scripts, the build process doesn't fail if
CMake is missing but just disables Python support in that case.

I've filed an upsrtream bug report and pull request for fixing CMake,
added a temporary patch to the packet until the PR is merged
and added the missing Nettle input.

 gnu/packages/engineering.scm | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 377f9cc791..540a122b01 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -137,6 +137,7 @@ (define-module (gnu packages engineering)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages mpi)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages nettle)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages openkinect)
   #:use-module (gnu packages parallel)
@@ -3236,6 +3237,9 @@ (define-public openscad
       list(APPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
       find_package(EGL REQUIRED)
       target_link_libraries(OpenSCAD PRIVATE EGL::EGL)")
+                  ;; <https://github.com/openscad/openscad/issues/5897>
+                  (("find_package\\(Nettle 3.4\\)")
+                   "find_package(Nettle 3.4 REQUIRED)")
                   ;; Use the system sanitizers-cmake module.
                   (("\\$\\{CMAKE_SOURCE_DIR\\}/submodules/sanitizers-cmake/cmake")
                    (string-append (assoc-ref inputs "sanitizers-cmake")
@@ -3263,6 +3267,7 @@ (define-public openscad
                     mesa ; or libglvnd if we had mesa-glvnd, too
                     mimalloc
                     mpfr
+                    nettle
                     opencsg
                     python
                     python-numpy
-- 
2.49.0