[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
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 36615
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch