[bug#77881] gnu: Add opencascade-occt-7.6.1.
Commit Message
* 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(+)
@@ -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")