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>
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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.