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>

To reply to this bug, email your comments to 77881 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#77881; Package guix-patches. (Thu, 17 Apr 2025 22:54:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to nomike <nomike <at> nomike.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 17 Apr 2025 22:54:04 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

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





Information forwarded to guix-patches <at> gnu.org:
bug#77881; Package guix-patches. (Tue, 29 Apr 2025 11:23:05 GMT) Full text and rfc822 format available.

Message #8 received at 77881 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Enge <andreas <at> enge.fr>
To: nomike <nomike <at> nomike.com>
Cc: 77881 <at> debbugs.gnu.org, Kurt Kremitzki <kurt <at> kwk.systems>
Subject: Re: [PATCH] gnu: Add opencascade-occt-7.6.1.
Date: Tue, 29 Apr 2025 13:22:35 +0200
Hello Nomike,

thanks for the patch! I would suggest to not simply copy-paste
the @7.6.2 package, but to use inheritance:
(define-public opencascade-occt-7.6.1
  (package
    (inherit opencascade-occt)
and then to simply modify the differing packages
(version and source, probably).

In the meantime a different issue has been submitted for upgrading
opencascade-occt, its author is cc-ed. So we need to coordinate for a
consistent result; I would suggest to push this package addition first,
and then to see how to upgrade following
   https://issues.guix.gnu.org/78002

Andreas





Information forwarded to guix-patches <at> gnu.org:
bug#77881; Package guix-patches. (Sat, 24 May 2025 00:12:02 GMT) Full text and rfc822 format available.

Message #11 received at 77881 <at> debbugs.gnu.org (full text, mbox):

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

Thanks

nomike






Reply sent to Andreas Enge <andreas <at> enge.fr>:
You have taken responsibility. (Mon, 26 May 2025 16:25:01 GMT) Full text and rfc822 format available.

Notification sent to nomike <nomike <at> nomike.com>:
bug acknowledged by developer. (Mon, 26 May 2025 16:25:01 GMT) Full text and rfc822 format available.

Message #16 received at 77881-done <at> debbugs.gnu.org (full text, mbox):

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.