[PATCH] gnu: Add opencascade-occt.

DoneSubmitted by Paul Garlick.
Details
2 participants
  • Ludovic Courtès
  • Paul Garlick
Owner
unassigned
Severity
normal
P
P
Paul Garlick wrote on 12 Jul 2019 12:07
(address . guix-patches@gnu.org)(name . Paul Garlick)(address . pgarlick@tourbillion-technology.com)
1562926068-5497-1-git-send-email-pgarlick@tourbillion-technology.com
* gnu/packages/maths.scm (opencascade-occt): New variable.--- gnu/packages/maths.scm | 87 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 86 insertions(+), 1 deletion(-)
Toggle diff (107 lines)diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scmindex 7d2c479..8b23459 100644--- a/gnu/packages/maths.scm+++ b/gnu/packages/maths.scm@@ -15,7 +15,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>-;;; Copyright © 2017, 2018 Paul Garlick <pgarlick@tourbillion-technology.com>+;;; Copyright © 2017, 2018, 2019 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>@@ -1618,6 +1618,91 @@ Open CASCADE library.") license:expat; file src/OpenGl/OpenGl_glext.h license:bsd-3)))); test framework gtest +(define-public opencascade-occt+ (package+ (name "opencascade-occt")+ (version "7.3.0p3")+ (source+ (origin+ (method url-fetch)+ (uri (string-append+ "https://git.dev.opencascade.org/gitweb/?p=occt.git;"+ "a=snapshot;sf=tgz;h=refs/tags/V"+ (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)))+ (file-name (string-append name "-" version ".tar.gz"))+ (sha256+ (base32 "06zjsirydlz9i0ww4s3fgwy6qjflli7041m6i0di64skwyrnvm7v"))+ (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.+ #: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")))+ (inputs+ `(("doxygen" ,doxygen)+ ;("freeimage" ,freeimage)+ ("freetype" ,freetype)+ ("glu" ,glu)+ ("libxext" ,libxext)+ ("libxi" ,libxi)+ ("libxmu" ,libxmu)+ ("mesa" ,mesa)+ ("tbb" ,tbb)+ ("tcl" ,tcl)+ ("tk" ,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 gmsh (package (name "gmsh")-- 1.8.3.1
L
L
Ludovic Courtès wrote on 12 Jul 2019 23:51
(name . Paul Garlick)(address . pgarlick@tourbillion-technology.com)(address . 36615@debbugs.gnu.org)
87blxydiqk.fsf@gnu.org
Hi Paul,
Paul Garlick <pgarlick@tourbillion-technology.com> skribis:
Toggle quote (2 lines)> * gnu/packages/maths.scm (opencascade-occt): New variable.
[...]
Toggle quote (7 lines)> + (origin> + (method url-fetch)> + (uri (string-append> + "https://git.dev.opencascade.org/gitweb/?p=occt.git;"> + "a=snapshot;sf=tgz;h=refs/tags/V"> + (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)))
I think you should use ‘git-fetch’ instead because generated tarballsare notoriously prone to silent change.
Toggle quote (4 lines)> + (arguments> + '(;; There is no test target for make.> + #:tests? #f
Sometimes CMake-based packages have a configure-time option like-DWITH_TESTS=ON. Is there something like that here?
Apart from that it LGTM. Thank you!
Ludo’.
P
P
Paul Garlick wrote on 15 Jul 2019 20:33
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 36615@debbugs.gnu.org)
3458feeb2324ad0285fea2ac4b16330c64e59b99.camel@tourbillion-technology.com
Hi Ludo,
Many thanks for your review. I attach the revised patch.

Toggle quote (3 lines)> I think you should use ‘git-fetch’ instead because generated tarballs> are notoriously prone to silent change.
'git-fetch' it is. There is a clone-via-https option for OpenCASCADEso I have updated the 'origin' section accordingly.

Toggle quote (3 lines)> Sometimes CMake-based packages have a configure-time option like> -DWITH_TESTS=ON. Is there something like that here?
Not in this case, AFAICS. There is a test system that is accessibleafter installation, via a shell script, so I have included a commentand a link to the documentation for that.
This version of OpenCASCADE is the upstream version. In recent timesit has been updated more regularly than the oce version.
Best regards,
Paul.
From 3f50efc7447e7d511cca0ca05ec3539df73838fa Mon Sep 17 00:00:00 2001From: Paul Garlick <pgarlick@tourbillion-technology.com>Date: Fri, 12 Jul 2019 10:56:41 +0100Subject: [PATCH] gnu: Add opencascade-occt.
* gnu/packages/maths.scm (opencascade-occt): New variable.--- gnu/packages/maths.scm | 91 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 90 insertions(+), 1 deletion(-)
Toggle diff (111 lines)diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scmindex 7d2c479..afeac50 100644--- a/gnu/packages/maths.scm+++ b/gnu/packages/maths.scm@@ -15,7 +15,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>-;;; Copyright © 2017, 2018 Paul Garlick <pgarlick@tourbillion-technology.com>+;;; Copyright © 2017, 2018, 2019 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>@@ -1618,6 +1618,95 @@ Open CASCADE library.") license:expat; file src/OpenGl/OpenGl_glext.h license:bsd-3)))); test framework gtest +(define-public opencascade-occt+ (package+ (name "opencascade-occt")+ (version "7.3.0p3")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://git.dev.opencascade.org/repos/occt.git")+ (commit "e1c158598a585694ad769cde5fe705a23dd586f0")))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0bdywwxb6mk0ykbiajlvsb37295akqjp0a60y672qjfa67k0ljv4"))+ (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")))+ (inputs+ `(("doxygen" ,doxygen)+ ;("freeimage" ,freeimage)+ ("freetype" ,freetype)+ ("glu" ,glu)+ ("libxext" ,libxext)+ ("libxi" ,libxi)+ ("libxmu" ,libxmu)+ ("mesa" ,mesa)+ ("tbb" ,tbb)+ ("tcl" ,tcl)+ ("tk" ,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 gmsh (package (name "gmsh")-- 1.8.3.1
L
L
Ludovic Courtès wrote on 15 Jul 2019 21:59
(name . Paul Garlick)(address . pgarlick@tourbillion-technology.com)(address . 36615@debbugs.gnu.org)
87tvbnhxwk.fsf@gnu.org
Hi Paul,
Paul Garlick <pgarlick@tourbillion-technology.com> skribis:
Toggle quote (7 lines)>> Sometimes CMake-based packages have a configure-time option like>> -DWITH_TESTS=ON. Is there something like that here?>> Not in this case, AFAICS. There is a test system that is accessible> after installation, via a shell script, so I have included a comment> and a link to the documentation for that.
OK, sounds good.
Toggle quote (3 lines)> This version of OpenCASCADE is the upstream version. In recent times> it has been updated more regularly than the oce version.
I see.
Toggle quote (7 lines)> From 3f50efc7447e7d511cca0ca05ec3539df73838fa Mon Sep 17 00:00:00 2001> From: Paul Garlick <pgarlick@tourbillion-technology.com>> Date: Fri, 12 Jul 2019 10:56:41 +0100> Subject: [PATCH] gnu: Add opencascade-occt.>> * gnu/packages/maths.scm (opencascade-occt): New variable.
[...]
Toggle quote (8 lines)> + (version "7.3.0p3")> + (source> + (origin> + (method git-fetch)> + (uri (git-reference> + (url "https://git.dev.opencascade.org/repos/occt.git")> + (commit "e1c158598a585694ad769cde5fe705a23dd586f0")))
If there’s a “v7.3.0p3” tag or similar, please use that in the ‘commit’field to make it clear that the commit matches the version string.
Toggle quote (4 lines)> + ;; Remove references to deleted files.> + (substitute* "dox/FILES_HTML.txt"> + ((".*standard.*") "" )> + ((".*UIKitSample.*") ""))
^Nitpick: this is usually aligned below the first ‘u’ of ‘substitute*’.:-)
OK to push with these changes, thank you!
Ludo’.
P
P
Paul Garlick wrote on 16 Jul 2019 23:32
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 36615@debbugs.gnu.org)
18a9257fc85933a5f1e469e91f8d1ec4fd83e0d7.camel@tourbillion-technology.com
Hi Ludo,
Toggle quote (2 lines)> OK to push with these changes, thank you!
Pushed as commit 37dc29200c44adc0474476b8df46ed44e8a1d41a.
Thanks!
Paul.
L
L
Ludovic Courtès wrote on 17 Jul 2019 14:53
control message for bug #36615
(address . control@debbugs.gnu.org)
87muhcddp7.fsf@gnu.org
tags 36615 fixedclose 36615 quit
?
Your comment

This issue is archived.

To comment on this conversation send email to 36615@debbugs.gnu.org