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.scm251
1 files changed, 120 insertions, 131 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 6b11fc54f0..190af4edfb 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1840,7 +1840,8 @@ an embedded event driven algorithm.")
(arguments
(substitute-keyword-arguments (package-arguments libngspice)
((#:configure-flags flags)
- `(delete "--with-ngshared" ,flags))
+ `(cons "--with-readline=yes"
+ (delete "--with-ngshared" ,flags)))
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'delete-include-files
@@ -2430,111 +2431,106 @@ OpenSCAD code. It supports syntax highlighting, indenting and refilling of
comments.")))
(define-public freecad
- ;; FIXME: We use a commit directly because upstream has compatibility fixes
- ;; that are not in a release yet for boost, opencascade-occt-7.6 and vtk-9.
- ;; Switch back to a regular version (probably 0.20) when it is released.
- (let ((commit "09a05a9cd0c4692a57a3e038268b4389b4657fc6")
- (revision "0"))
- (package
- (name "freecad")
- (version (git-version "0.19.3" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/FreeCAD/FreeCAD")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0818basym0n44dsgix0yv1l00xgv9igrr7wkszd8x74lh1rr591r"))))
- (build-system qt-build-system)
- (native-inputs
- (list doxygen
- graphviz
- qttools
- pkg-config
- python-pyside-2-tools
- swig))
- (inputs
- (list boost
- coin3D
- double-conversion
- eigen
- fontconfig
- freetype
- gl2ps
- glew
- hdf5-1.10
- jsoncpp
- libarea
- libjpeg-turbo
- libmedfile
- libspnav
- libtheora
- libtiff
- libxi
- libxml++
- libxmu
- lz4
- netcdf
- opencascade-occt
- openmpi
- proj
- python-gitpython
- python-matplotlib
- python-pivy
- python-ply
- python-pyside-2
- python-pyyaml
- python-shiboken-2
- python-wrapper
- qtbase-5
- qtdeclarative
- qtsvg
- qtwebchannel
- qtwebengine
- qtx11extras
- qtxmlpatterns
- sqlite
- tbb-2020 ; Same version as opencascade-occt
- vtk
- xerces-c
- zlib))
- (arguments
- `(#:tests? #f ; Project has no tests
- #:configure-flags
- ,#~(list
- "-DBUILD_QT5=ON"
- "-DBUILD_FLAT_MESH:BOOL=ON"
- "-DBUILD_ENABLE_CXX_STD:STRING=C++17"
- (string-append "-DCMAKE_INSTALL_LIBDIR=" #$output "/lib"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'restore-pythonpath
- (lambda _
- (substitute* "src/Main/MainGui.cpp"
- (("_?putenv\\(\"PYTHONPATH=\"\\);") ""))))
- (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 "GUIX_PYTHONPATH"
- 'prefix (list (getenv "GUIX_PYTHONPATH"))))))))))
- (home-page "https://www.freecadweb.org/")
- (synopsis "Your Own 3D Parametric Modeler")
- (description
- "FreeCAD is a general purpose feature-based, parametric 3D modeler for
+ (package
+ (name "freecad")
+ (version "0.20")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/FreeCAD/FreeCAD")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14bn75bjh93f8k3hinqw913z1q0ywq7niklwbbd99hf5n342hsv4"))))
+ (build-system qt-build-system)
+ (native-inputs
+ (list doxygen
+ graphviz
+ qttools
+ pkg-config
+ python-pyside-2-tools
+ swig))
+ (inputs
+ (list boost
+ coin3D
+ double-conversion
+ eigen
+ fontconfig
+ freetype
+ gl2ps
+ glew
+ hdf5-1.10
+ jsoncpp
+ libarea
+ libjpeg-turbo
+ libmedfile
+ libspnav
+ libtheora
+ libtiff
+ libxi
+ libxml++
+ libxmu
+ lz4
+ netcdf
+ opencascade-occt
+ openmpi
+ proj
+ python-gitpython
+ python-matplotlib
+ python-pivy
+ python-ply
+ python-pyside-2
+ python-pyyaml
+ python-shiboken-2
+ python-wrapper
+ qtbase-5
+ qtdeclarative
+ qtsvg
+ qtwebchannel
+ qtwebengine
+ qtx11extras
+ qtxmlpatterns
+ sqlite
+ tbb-2020 ; Same version as opencascade-occt
+ vtk
+ xerces-c
+ zlib))
+ (arguments
+ `(#:tests? #f ; Project has no tests
+ #:configure-flags
+ ,#~(list
+ "-DBUILD_QT5=ON"
+ "-DBUILD_FLAT_MESH:BOOL=ON"
+ "-DBUILD_ENABLE_CXX_STD:STRING=C++17"
+ (string-append "-DCMAKE_INSTALL_LIBDIR=" #$output "/lib"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'restore-pythonpath
+ (lambda _
+ (substitute* "src/Main/MainGui.cpp"
+ (("_?putenv\\(\"PYTHONPATH=\"\\);") ""))))
+ (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 "GUIX_PYTHONPATH"
+ 'prefix (list (getenv "GUIX_PYTHONPATH"))))))))))
+ (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
@@ -2740,21 +2736,19 @@ export filters.")
(define-public meshlab
(package
(name "meshlab")
- (version "2020.06")
+ (version "2022.02")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cnr-isti-vclab/meshlab")
- (commit (string-append "Meshlab-" version))
+ (commit (string-append "MeshLab-" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
- (base32 "1cgx24wxh2ah5pff51rcrk6x8qcdjpkxcdak7s4cfzmxvjlshydd"))))
+ (base32 "0dkh9qw9z2160s6gjiv0a601kp6hvl66cplvi8rfc892zcykgiwd"))))
(build-system cmake-build-system)
(inputs
(list qtbase-5
- qtscript
- qtxmlpatterns
mesa
glu
glew
@@ -2764,34 +2758,29 @@ export filters.")
libfreenect
lib3ds
openctm
- ;; FIXME: Compilation fails with system qhull:
- ;; https://github.com/cnr-isti-vclab/meshlab/issues/678
- ;; ("qhull" ,qhull)
- ))
+ qhull))
(arguments
- `(#:tests? #f ; Has no tests
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'go-to-source-dir
- (lambda _ (chdir "src") #t))
- (add-after 'install 'move-files
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((lib (string-append (assoc-ref outputs "out")
- "/lib")))
- (rename-file
- (string-append lib "/meshlab/libmeshlab-common.so")
- (string-append lib "/libmeshlab-common.so"))
- #t))))))
+ (list #:tests? #f ; Has no tests
+ #:configure-flags
+ #~(list (string-append "-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath="
+ #$output "/lib/meshlab")
+ (string-append "-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-rpath="
+ #$output "/lib/meshlab")
+ (string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath="
+ #$output "/lib/meshlab"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'go-to-source-dir
+ (lambda _ (chdir "src"))))))
(synopsis "3D triangular mesh processing and editing software")
(home-page "https://www.meshlab.net/")
- (description "MeshLab is a system for the processing and
-editing of unstructured large 3D triangular meshes. It is aimed to help the
-processing of the typical not-so-small unstructured models arising in 3D
-scanning, providing a set of tools for editing, cleaning, healing, inspecting,
-rendering and converting this kind of meshes. These tools include MeshLab
-proper, a versatile program with a graphical user interface, and meshlabserver,
-a program that can perform mesh processing tasks in batch mode, without a
-GUI.")
+ (description "MeshLab is a system for the processing and editing of large,
+unstructured, 3D triangular meshes. It is aimed to help the processing of the
+typical, not-so-small unstructured models arising in 3D scanning, providing a
+set of tools for editing, cleaning, healing, inspecting, rendering and
+converting this kind of meshes. These tools include MeshLab proper, a
+versatile program with a graphical user interface, and @samp{meshlabserver}, a
+program that can perform mesh processing tasks in batch mode, without a GUI.")
(license license:gpl3+)))
(define-public poke