* [bug#36615] [PATCH] gnu: Add opencascade-occt.
@ 2019-07-12 10:07 Paul Garlick
2019-07-12 21:51 ` Ludovic Courtès
0 siblings, 1 reply; 5+ messages in thread
From: Paul Garlick @ 2019-07-12 10:07 UTC (permalink / raw)
To: 36615; +Cc: Paul Garlick
* gnu/packages/maths.scm (opencascade-occt): New variable.
---
gnu/packages/maths.scm | 87 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 86 insertions(+), 1 deletion(-)
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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#36615] [PATCH] gnu: Add opencascade-occt.
2019-07-12 10:07 [bug#36615] [PATCH] gnu: Add opencascade-occt Paul Garlick
@ 2019-07-12 21:51 ` Ludovic Courtès
2019-07-15 18:33 ` Paul Garlick
0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2019-07-12 21:51 UTC (permalink / raw)
To: Paul Garlick; +Cc: 36615
Hi Paul,
Paul Garlick <pgarlick@tourbillion-technology.com> skribis:
> * gnu/packages/maths.scm (opencascade-occt): New variable.
[...]
> + (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.
> + (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’.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [bug#36615] [PATCH] gnu: Add opencascade-occt.
2019-07-12 21:51 ` Ludovic Courtès
@ 2019-07-15 18:33 ` Paul Garlick
2019-07-15 19:59 ` Ludovic Courtès
0 siblings, 1 reply; 5+ messages in thread
From: Paul Garlick @ 2019-07-15 18:33 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 36615
[-- Attachment #1: Type: text/plain, Size: 768 bytes --]
Hi Ludo,
Many thanks for your review. I attach the revised patch.
> 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.
> 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.
[-- Attachment #2: Type: text/x-patch, Size: 5332 bytes --]
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.
---
gnu/packages/maths.scm | 91 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 90 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#36615] [PATCH] gnu: Add opencascade-occt.
2019-07-15 18:33 ` Paul Garlick
@ 2019-07-15 19:59 ` Ludovic Courtès
2019-07-16 21:32 ` Paul Garlick
0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2019-07-15 19:59 UTC (permalink / raw)
To: Paul Garlick; +Cc: 36615
Hi Paul,
Paul Garlick <pgarlick@tourbillion-technology.com> skribis:
>> 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.
> This version of OpenCASCADE is the upstream version. In recent times
> it has been updated more regularly than the oce version.
I see.
> 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.
[...]
> + (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.
> + ;; 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’.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-07-16 21:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-07-12 10:07 [bug#36615] [PATCH] gnu: Add opencascade-occt Paul Garlick
2019-07-12 21:51 ` Ludovic Courtès
2019-07-15 18:33 ` Paul Garlick
2019-07-15 19:59 ` Ludovic Courtès
2019-07-16 21:32 ` Paul Garlick
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.