[PATCH] gnu: Add opencascade-occt.

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Paul Garlick
Owner
unassigned
Submitted by
Paul Garlick
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.scm
index 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 tarballs
are 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 OpenCASCADE
so 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 accessible
after installation, via a shell script, so I have included a comment
and a link to the documentation for that.

This version of OpenCASCADE is the upstream version. In recent times
it has been updated more regularly than the oce version.

Best regards,

Paul.
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 fixed
close 36615
quit
?