summaryrefslogtreecommitdiff
path: root/gnu/packages/engineering.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r--gnu/packages/engineering.scm240
1 files changed, 125 insertions, 115 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index fbec628c0e..11585f6234 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -15,12 +15,12 @@
;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
-;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020,2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
-;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
-;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
+;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -50,6 +50,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system ant)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system emacs)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
@@ -1214,14 +1215,14 @@ use on a given system.")
(define-public libredwg
(package
(name "libredwg")
- (version "0.11.1")
+ (version "0.12")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/libredwg/libredwg-"
version ".tar.xz"))
(sha256
- (base32 "1xx6y6ckm4mzqln8y8lqf5frcn2b32ypc0d0h9dzpz6363zh7pdn"))))
+ (base32 "0z5algzi3alq166885y0qyj2gnc7gc6vhnz7nw0kwc0d236p6md8"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-bindings")))
@@ -1524,7 +1525,7 @@ bindings for Python, Java, OCaml and more.")
(define-public radare2
(package
(name "radare2")
- (version "4.4.0")
+ (version "5.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1532,7 +1533,7 @@ bindings for Python, Java, OCaml and more.")
(commit version)))
(sha256
(base32
- "0gwdnrnk7wdgkajp2qwg4fyplh7nsbmf01bzx07px6xmiscd9z2s"))
+ "0aa7c27kd0l55fy5qfvxqmakp4pz6240v3hn84095qmqkzcbs420"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -2367,7 +2368,7 @@ simulation.")
(define-public cutter
(package
(name "cutter")
- (version "1.10.3")
+ (version "1.12.0")
(source
(origin
(method git-fetch)
@@ -2376,7 +2377,7 @@ simulation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0qj8jyij02nif4jpirl09ygwnv8a9zi3vkb5sf5s8mg7qwlpnvyk"))))
+ (base32 "0ljj3j3apbbw628n2nyrxpbnclixx20bqjxm0xwggqzz9vywsar0"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -2513,122 +2514,131 @@ full programmatic control over your models.")
(home-page "https://www.openscad.org/")
(license license:gpl2+)))
-(define-public freecad
+(define-public emacs-scad-mode
(package
- (name "freecad")
- (version "0.18.5")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/FreeCAD/FreeCAD")
- (commit version)))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Fix build with Python 3.8, see
- ;; <https://tracker.freecadweb.org/view.php?id=4143>.
- (substitute* "src/Base/swigpyrun.inl"
- (("PyObject \\*modules = interp->modules;")
- "PyObject *modules = PyEval_GetBuiltins();"))
- #t))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0r31jzzkamf76l19fb175hhv48irk06fpi8ldxdlr31w8c1ix4aa"))))
- (build-system qt-build-system)
- (native-inputs
- `(("doxygen" ,doxygen)
- ("graphviz" ,graphviz)
- ("qttools" ,qttools)
- ("pkg-config" ,pkg-config)
- ("swig" ,swig)))
- (inputs
- `(("boost" ,boost)
- ("coin3D" ,coin3D)
- ("eigen" ,eigen)
- ("freetype" ,freetype)
- ("glew" ,glew)
- ("hdf5" ,hdf5-1.10)
- ("libarea" ,libarea)
- ("libmedfile" ,libmedfile)
- ("libspnav" ,libspnav)
- ("libxi" ,libxi)
- ("libxmu" ,libxmu)
- ("openmpi" ,openmpi)
- ("opencascade-occt" ,opencascade-occt)
- ("python-matplotlib" ,python-matplotlib)
- ("python-pyside-2" ,python-pyside-2)
- ("python-pyside-2-tools" ,python-pyside-2-tools)
- ("python-shiboken-2" ,python-shiboken-2)
- ("python-wrapper" ,python-wrapper)
- ("qtbase" ,qtbase)
- ("qtsvg" ,qtsvg)
- ("qtx11extras" ,qtx11extras)
- ("qtxmlpatterns" ,qtxmlpatterns)
- ;; qtwebkit is optional. We remove it currently, because it takes
- ;; much time to compile and substitutes are often unavailable
- ;;("qtwebkit" ,qtwebkit)
- ("tbb" ,tbb)
- ("vtk" ,vtk)
- ("xerces-c" ,xerces-c)
- ("zlib" ,zlib)))
+ (inherit openscad)
+ (name "emacs-scad-mode")
+ (native-inputs '())
+ (inputs '())
+ (build-system emacs-build-system)
(arguments
- `(#:tests? #f
- #:configure-flags
- (list
- "-DBUILD_QT5=ON"
- (string-append "-DCMAKE_INSTALL_LIBDIR=" (assoc-ref %outputs "out") "/lib")
-
- (string-append "-DPYSIDE2UICBINARY="
- (assoc-ref %build-inputs "python-pyside-2-tools")
- "/bin/uic")
- (string-append "-DPYSIDE2RCCBINARY="
- (assoc-ref %build-inputs "python-pyside-2-tools")
- "/bin/rcc")
-
- "-DPYSIDE_LIBRARY=PySide2::pyside2"
- (string-append
- "-DPYSIDE_INCLUDE_DIR="
- (assoc-ref %build-inputs "python-pyside-2") "/include;"
- (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2;"
- (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtCore;"
- (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtWidgets;"
- (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtGui;")
-
- "-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken"
- (string-append "-DSHIBOKEN_INCLUDE_DIR="
- (assoc-ref %build-inputs "python-shiboken-2")
- "/include/shiboken2"))
- #:phases
+ `(#:phases
(modify-phases %standard-phases
- (add-before 'configure 'restore-pythonpath
+ (add-after 'unpack 'chdir-elisp
+ ;; Elisp directory is not in root of the source.
(lambda _
- (substitute* "src/Main/MainGui.cpp"
- (("_?putenv\\(\"PYTHONPATH=\"\\);") ""))
- #t))
- (add-after 'install 'wrap-pythonpath
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-program (string-append out "/bin/FreeCAD")
- (list "PYTHONPATH"
- 'prefix (list (getenv "PYTHONPATH")))))
+ (chdir "contrib")
#t)))))
- (home-page "https://www.freecadweb.org/")
- (synopsis "Your Own 3D Parametric Modeler")
- (description
- "FreeCAD is a general purpose feature-based, parametric 3D modeler for
+ (synopsis "Emacs major mode for editing editing OpenSCAD code")
+ (description "@code{scad-mode} provides an Emacs major mode for editing
+OpenSCAD code. It supports syntax highlighting, indenting and refilling of
+comments.")))
+
+(define-public freecad
+ (let ((commit-ref "7616153b3c31ace006169cdc2fdafab484498858")
+ (revision "1"))
+ (package
+ (name "freecad")
+ (version (git-version "0.18.5" revision commit-ref))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/FreeCAD/FreeCAD")
+ (commit commit-ref)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16965yxnp2pq7nm8z3p0pjkzjdyq62vfrj8j3nk26bwc898czyn2"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("doxygen" ,doxygen)
+ ("graphviz" ,graphviz)
+ ("qttools" ,qttools)
+ ("pkg-config" ,pkg-config)
+ ("python-pyside-2-tools" ,python-pyside-2-tools)
+ ("swig" ,swig)))
+ (inputs
+ `(("boost" ,boost)
+ ("coin3D" ,coin3D)
+ ("eigen" ,eigen)
+ ("freetype" ,freetype)
+ ("glew" ,glew)
+ ("hdf5" ,hdf5-1.10)
+ ("libarea" ,libarea)
+ ("libmedfile" ,libmedfile)
+ ("libspnav" ,libspnav)
+ ("libxi" ,libxi)
+ ("libxmu" ,libxmu)
+ ("openmpi" ,openmpi)
+ ("opencascade-occt" ,opencascade-occt)
+ ("python-matplotlib" ,python-matplotlib)
+ ("python-pyside-2" ,python-pyside-2)
+ ("python-shiboken-2" ,python-shiboken-2)
+ ("python-pivy" ,python-pivy)
+ ("python-wrapper" ,python-wrapper)
+ ("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)
+ ("qtx11extras" ,qtx11extras)
+ ("qtxmlpatterns" ,qtxmlpatterns)
+ ("qtwebkit" ,qtwebkit)
+ ("tbb" ,tbb)
+ ("vtk" ,vtk)
+ ("xerces-c" ,xerces-c)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:tests? #f
+ #:configure-flags
+ (list
+ "-DBUILD_QT5=ON"
+ (string-append "-DCMAKE_INSTALL_LIBDIR=" (assoc-ref %outputs "out") "/lib")
+ (string-append "-DPYSIDE2UICBINARY="
+ (assoc-ref %build-inputs "python-pyside-2-tools")
+ "/bin/uic")
+ (string-append "-DPYSIDE2RCCBINARY="
+ (assoc-ref %build-inputs "python-pyside-2-tools")
+ "/bin/rcc")
+ "-DPYSIDE_LIBRARY=PySide2::pyside2"
+ (string-append
+ "-DPYSIDE_INCLUDE_DIR="
+ (assoc-ref %build-inputs "python-pyside-2") "/include;"
+ (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2;"
+ (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtCore;"
+ (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtWidgets;"
+ (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtGui;")
+ "-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken"
+ (string-append "-DSHIBOKEN_INCLUDE_DIR="
+ (assoc-ref %build-inputs "python-shiboken-2")
+ "/include/shiboken2"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'restore-pythonpath
+ (lambda _
+ (substitute* "src/Main/MainGui.cpp"
+ (("_?putenv\\(\"PYTHONPATH=\"\\);") ""))
+ #t))
+ (add-after 'install 'wrap-pythonpath
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/FreeCAD")
+ (list "PYTHONPATH"
+ 'prefix (list (getenv "PYTHONPATH")))))
+ #t)))))
+ (home-page "https://www.freecadweb.org/")
+ (synopsis "Your Own 3D Parametric Modeler")
+ (description
+ "FreeCAD is a general purpose feature-based, parametric 3D modeler for
CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and
product design but also fits a wider range of uses in engineering, such as
architecture or other engineering specialties. It is 100% Open Source (LGPL2+
license) and extremely modular, allowing for very advanced extension and
customization.")
- (license
- (list
- license:lgpl2.1+
- license:lgpl2.0+
- license:gpl3+
- license:bsd-3))))
+ (license
+ (list
+ license:lgpl2.1+
+ license:lgpl2.0+
+ license:gpl3+
+ license:bsd-3)))))
(define-public libmedfile
(package