GNU bug report logs - #77881
[PATCH] gnu: Add opencascade-occt-7.6.1.

Previous Next

Package: guix-patches;

Reported by: nomike <nomike <at> nomike.com>

Date: Thu, 17 Apr 2025 22:54:03 UTC

Severity: normal

Tags: patch

Done: Andreas Enge <andreas <at> enge.fr>

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Andreas Enge <andreas <at> enge.fr>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#77881: closed ([PATCH] gnu: Add opencascade-occt-7.6.1.)
Date: Mon, 26 May 2025 16:25:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 26 May 2025 18:24:46 +0200
with message-id <aDSVzlh3e1Z0CsPi <at> jurong>
and subject line Re: [PATCH] gnu: Add opencascade-occt-7.6.1.
has caused the debbugs.gnu.org bug report #77881,
regarding [PATCH] gnu: Add opencascade-occt-7.6.1.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
77881: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=77881
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: nomike <nomike <at> nomike.com>
To: guix-patches <at> gnu.org
Cc: nomike <nomike <at> nomike.com>
Subject: [PATCH] gnu: Add opencascade-occt-7.6.1.
Date: Fri, 18 Apr 2025 00:48:59 +0200
* gnu/packages/maths.scm (opencascade-7.6.1): New variable.

Change-Id: I24a4df83c77f62707ceff88ee1880d859c2bb2b5
---
prusa-slicer reverted back to version 7.6.1 of opencascade-occt as a hard-coded dependency
"because newer versions are triangulating chamfers incorrectly.".
See https://github.com/prusa3d/PrusaSlicer/commit/c6a02106fd1d3caa9a48a6b7c2bdd04546b24485.

This patch adds that version, so prusa-slicer could be built successfully.

gnu/packages/maths.scm | 96 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 96 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 4be9e71320..9efce08fb7 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3324,6 +3324,102 @@ (define-public octave
                #t))))))
     (synopsis "High-level language for numerical computation (with GUI)")))
 
+(define-public opencascade-occt-7.6.1
+  ;; As of version 2.9.2 PrusaSlicer has a hard dependency on this version of OCCT
+  ;; "because newer versions are triangulating chamfers incorrectly.".
+  ;; See https://github.com/prusa3d/PrusaSlicer/commit/c6a02106fd1d3caa9a48a6b7c2bdd04546b24485
+  (package
+    (name "opencascade-occt")
+    (version "7.6.1")
+    (properties '((release-tag-prefix . "^V")
+                  (release-tag-version-delimiter . "_")))
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://git.dev.opencascade.org/repos/occt.git")
+             (commit (string-append "V"
+                                    (string-map (lambda (x)
+                                                  (if (eq? x #\.) #\_ x))
+                                                version)))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1cc7n4rs26lm1awwn2bijvjq9b3kz204ffnks02lrpgs7pf8yk8b"))
+       (modules '((guix build utils)))
+       (snippet '(begin
+                   ;; Remove files specific to non-free operating systems.
+                   (delete-file-recursively "samples/ios")
+                   (delete-file-recursively "samples/mfc")
+                   (delete-file-recursively "samples/qt/FuncDemo")
+                   (delete-file "genconf.bat")
+                   (delete-file "gendoc.bat")
+                   (delete-file "genproj.bat")
+                   (delete-file "upgrade.bat")
+                   ;; Remove references to deleted files.
+                   (substitute* "dox/FILES_HTML.txt"
+                     ((".*standard.*")
+                      "")
+                     ((".*UIKitSample.*")
+                      ""))
+                   #t))))
+    (build-system cmake-build-system)
+    (arguments
+     '( ;There is no test target for make.  OCCT provides an
+       ;; 'Automated Testing System', which may be accessed after
+       ;; installation via the draw.sh script.  draw.sh is located in
+       ;; the bin directory. For details see:
+       ;; https://www.opencascade.com/doc/occt-7.3.0/overview/html/\
+       ;; occt_dev_guides__tests.html
+       #:tests? #f
+       ;; Configure without freeimage: attempting to link against the
+       ;; freeimage version 3.17 library leads to 'undefined
+       ;; reference' errors.
+       #:configure-flags (list "-DUSE_FREEIMAGE:BOOL=OFF"
+                               "-DUSE_TBB:BOOL=ON"
+                               "-DUSE_VTK:BOOL=OFF"
+                               "-DBUILD_DOC_Overview:BOOL=OFF"
+                               "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON"
+                               "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON"
+                               "-UCMAKE_INSTALL_LIBDIR")))
+    (native-inputs (list doxygen fontconfig))
+    (inputs (list freetype
+                  ;; ("freeimage" ,freeimage)
+                  glu
+                  libxext
+                  libxi
+                  libxmu
+                  mesa
+                  tbb-2020
+                  tcl
+                  tk))
+    ;; TODO: build Overview documentation and add 'doc' output.
+    (home-page "https://www.opencascade.com")
+    (synopsis "Libraries for 3D modeling and numerical simulation")
+    (description
+     "Open CASCADE is a set of libraries for the development of applications
+dealing with 3D CAD data or requiring industrial 3D capabilities.  It includes
+C++ class libraries providing services for 3D surface and solid modeling, CAD
+data exchange, and visualization.  It is used for development of specialized
+software dealing with 3D models in design (CAD), manufacturing (CAM),
+numerical simulation (CAE), measurement equipment (CMM), and quality
+control (CAQ) domains.
+
+This is the certified version of the Open Cascade Technology (OCCT) library.")
+    (license (list ;OCCT library:
+                   license:lgpl2.1 ;with an exception for the use of header
+                   ;; files, see OCCT_LGPL_EXCEPTION.txt.
+                   ;; Files src/OpenGl/glext.h, adm/cmake/cotire.cmake and
+                   ;; src/OpenGl/OpenGl_HaltonSampler.hxx:
+                   license:expat
+                   ;; Files src/ExprIntrp/ExprIntrp.tab.* and
+                   ;; src/StepFile/step.tab.*:
+                   license:gpl3+ ;with Bison 2.2 exception.
+                   ;; File src/NCollection/NCollection_UtfIterator.lxx:
+                   (license:non-copyleft
+                    "https://www.unicode.org/license.html")
+                   ;; File src/NCollection/NCollection_StdAllocator.hxx:
+                   license:public-domain))))
+
 (define-public opencascade-occt
   (package
     (name "opencascade-occt")
-- 
2.49.0



[Message part 3 (message/rfc822, inline)]
From: Andreas Enge <andreas <at> enge.fr>
To: "nomike (they/them)" <nomike <at> nomike.com>
Cc: 77881-done <at> debbugs.gnu.org
Subject: Re: [PATCH] gnu: Add opencascade-occt-7.6.1.
Date: Mon, 26 May 2025 18:24:46 +0200
Am Sat, May 24, 2025 at 02:11:10AM +0200 schrieb nomike (they/them):
> This ticket could be closed in favor of https://issues.guix.gnu.org/78002.

Done.

Andreas



This bug report was last modified 23 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.