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.scm141
1 files changed, 95 insertions, 46 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index e0fe0f354f..23133a50eb 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -23,7 +23,7 @@
;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021 Gerd Heber <gerd.heber@gmail.com>
-;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
@@ -97,6 +97,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux) ;FIXME: for pcb
@@ -716,6 +717,43 @@ ready for production.")
;; released under GPLv3+.
(license (list license:gpl3+ license:cc-by-sa3.0))))
+(define-public qelectrotech
+ (package
+ (name "qelectrotech")
+ (version "0.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://git.tuxfamily.org/qet/qet.git/"
+ "snapshot/qet-" version ".tar.gz"))
+ (sha256
+ (base32 "0w70fqwhqqzga1kfp34v8z1xf9988nvvi3d5gwl2sg429p9mpsk2"))))
+ (build-system qt-build-system)
+ (arguments
+ ;; XXX: tests are built for the CMake build option but it seems to be
+ ;; broken in 0.8.0.
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Patch hardcoded path before running qmake.
+ (substitute* "qelectrotech.pro" (("\\/usr\\/local") out))
+ (invoke "qmake")))))))
+ (native-inputs
+ (list pkg-config qttools))
+ (inputs
+ (list kcoreaddons kwidgetsaddons qtbase-5 qtsvg sqlite))
+ (home-page "https://qelectrotech.org/")
+ (synopsis "CAD/CAE editor focusing on schematics drawing features")
+ (description "QElectroTech, or QET in short, is a desktop application to
+create diagrams and schematics. The software is primarily intended to create
+electrical documentation but it can also be used to draw any kinds of diagrams,
+such as those made in pneumatics, hydraulics, process industries, electronics,
+and others.")
+ (license license:gpl2+)))
+
(define-public gerbv
(package
(name "gerbv")
@@ -830,7 +868,10 @@ function calls into the geometry kernel: everything is visible to the user.
Even fundamental, primitive shapes are represented as code in the user-level
language.")
(license (list license:mpl2.0 ;library
- license:gpl2+))))) ;Guile bindings and GUI
+ license:gpl2+)) ;Guile bindings and GUI
+
+ ;; Mark as tunable to take advantage of SIMD code in Eigen.
+ (properties '((tunable? . #t))))))
(define-public inspekt3d
(let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef")
@@ -884,7 +925,7 @@ Emacs).")
(define-public kicad
(package
(name "kicad")
- (version "5.1.10")
+ (version "5.1.12")
(source
(origin
(method git-fetch)
@@ -892,7 +933,7 @@ Emacs).")
(url "https://gitlab.com/kicad/code/kicad.git")
(commit version)))
(sha256
- (base32 "10ix560bqy0lprnik1bprxw9ix4g8w2ipvyikx551ak9ryvgwjcc"))
+ (base32 "0kgikchqxds3mp71nkg307mr4c1dgv8akbmksz4w9x8jg4i1mfqq"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -900,9 +941,12 @@ Emacs).")
#:tests? #f ; no tests
#:build-type "Release"
#:configure-flags
- (list "-DKICAD_SCRIPTING_PYTHON3=ON"
- "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
- "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
+ ,#~(list
+ "-DKICAD_SCRIPTING_PYTHON3=ON"
+ "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
+ "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE"
+ (string-append "-DOCC_INCLUDE_DIR="
+ #$(this-package-input "opencascade-occt") "/include/opencascade"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-ngspice-detection
@@ -978,7 +1022,7 @@ Emacs).")
("libngspice" ,libngspice)
("libsm" ,libsm)
("mesa" ,mesa)
- ("opencascade-oce" ,opencascade-oce)
+ ("opencascade-occt" ,opencascade-occt)
("openssl" ,openssl)
("python" ,python-wrapper)
("wxwidgets" ,wxwidgets)
@@ -1030,7 +1074,7 @@ translations for KiCad.")
(file-name (git-file-name name version))
(sha256
(base32
- "005ljkb7liayvyj4vxd5ncrknfbhnk6xvyjk43qz810hrp1fv0hk"))))
+ "026cz4zm903i75yhdvzha2nsnk4c0w07q3gd3xw3jmsmn18imgm3"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html")
@@ -1064,7 +1108,7 @@ translations for KiCad.")
(file-name (git-file-name name version))
(sha256
(base32
- "0n25rq32jwyigfw26faqraillwv6zbi2ywy26dkz5zqlf5xp56ad"))))
+ "1zdajim409570xzis53kmrbdcf7000v2vmc90f49h214lrx2zhr2"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no tests exist
@@ -1093,7 +1137,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
- "0gyqxryda273hjn2rv8dha461j9bjh054y5dlpiw1wiha65lrf9i"))))
+ "0qpii55dgv2gxqg1qq0dngdnbb9din790qi5qv0l6qqrzx843h5s"))))
(synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries.")))
@@ -1110,7 +1154,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
- "1szcin52fcsyb55bj7xq7lz6ig187dpz3lk7blwab7b9c4dn3c3y"))))
+ "12w7m5nbk9kcnlnlg4sk1sd7xgb9i2kxfi0jcbd0phs89qyl7wjr"))))
(synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries.")))
@@ -1127,7 +1171,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
- "1a8xfcbdbb4ylrb5m7n2jjk9kwvgmlx1pmnn2cwj327a2b3m4jjs"))))
+ "1fbhn1l3j2rwc29aida9b408wif55i23bp9ddcs7dvf83smjm05g"))))
(synopsis "Official KiCad project and worksheet templates")
(description "This package contains the official KiCad project and
worksheet templates.")))
@@ -1608,10 +1652,9 @@ bindings for Python, Java, OCaml and more.")
(base32
"0d69rd9h8wrzjvfrc66vmz4qd5hly2fpdcwj2bdrlb7dbwikv5c7"))))
(build-system python-build-system)
- (arguments
- `(#:tests? #f)) ;XXX: require python-reedsolo
(propagated-inputs
- (list python-ecdsa python-pyaes python-pyserial))
+ (list python-ecdsa python-pyaes python-pyserial python-reedsolo
+ python-cryptography python-bitstring))
(home-page "https://github.com/espressif/esptool")
(synopsis "Bootloader utility for Espressif ESP8266 & ESP32 chips")
(description
@@ -2387,7 +2430,7 @@ comments.")))
(define-public freecad
(package
(name "freecad")
- (version "0.19.2")
+ (version "0.19.3")
(source
(origin
(method git-fetch)
@@ -2396,7 +2439,7 @@ comments.")))
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0fhjv0x3dix1c7jml91yx63z9xifjlbhjbcdb73lw80smpxrq7mm"))
+ (base32 "1dkiwnqr6bhi2d90hz7ijqd872144c9n9xxpd1vbrmxr2x8cfl88"))
(patches (search-patches "freecad-vtk9.patch"
"freecad-boost-serialization.patch"))))
(build-system qt-build-system)
@@ -2434,13 +2477,16 @@ comments.")))
python-gitpython
python-matplotlib
python-pivy
+ python-ply
python-pyside-2
python-pyyaml
python-shiboken-2
python-wrapper
qtbase-5
+ qtdeclarative
qtsvg
- qtwebkit
+ qtwebchannel
+ qtwebengine
qtx11extras
qtxmlpatterns
sqlite
@@ -3148,7 +3194,7 @@ visualization, matrix manipulation.")
(define-public prusa-slicer
(package
(name "prusa-slicer")
- (version "2.3.3")
+ (version "2.4.0")
(source
(origin
(method git-fetch)
@@ -3157,7 +3203,7 @@ visualization, matrix manipulation.")
(url "https://github.com/prusa3d/PrusaSlicer")
(commit (string-append "version_" version))))
(file-name (git-file-name name version))
- (sha256 (base32 "0w0synqi3iz9aigsgv6x1c6sg123fasbx19h4w3ic1l48r8qmpwm"))
+ (sha256 (base32 "1mb7v0khrmsgy3inmh4mjn709jlhx422kvbnrhsqziph2wwak9bz"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -3192,32 +3238,35 @@ visualization, matrix manipulation.")
(native-inputs
(list pkg-config))
(inputs
- `(("boost" ,boost)
- ("cereal" ,cereal)
- ("cgal" ,cgal)
- ("curl" ,curl)
- ("dbus" ,dbus)
- ("eigen" ,eigen)
- ("expat" ,expat)
- ("glew" ,glew)
- ("glib" ,glib)
- ("gmp" ,gmp)
- ("gtk" ,gtk+)
- ("hidapi" ,hidapi)
- ("ilmbase" ,ilmbase)
- ("libigl" ,libigl)
- ("libpng" ,libpng)
- ("mesa" ,mesa)
- ("mpfr" ,mpfr)
- ("nlopt" ,nlopt)
- ("openvdb" ,openvdb)
- ("pango" ,pango)
- ("tbb" ,tbb)
- ("udev" ,eudev)
- ("wxwidgets" ,wxwidgets)
- ("zlib" ,zlib)))
+ (list boost
+ cereal
+ cgal
+ curl
+ dbus
+ eigen
+ expat
+ glew
+ glib
+ gmp
+ gtk+
+ hidapi
+ ilmbase
+ libigl
+ libpng
+ mesa
+ mpfr
+ nlopt
+ openvdb
+ pango
+ tbb
+ eudev
+ wxwidgets
+ zlib))
(home-page "https://www.prusa3d.com/prusaslicer/")
(synopsis "G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)")
(description "PrusaSlicer takes 3D models (STL, OBJ, AMF) and converts them into
G-code instructions for FFF printers or PNG layers for mSLA 3D printers.")
- (license license:agpl3)))
+ (license license:agpl3)
+
+ ;; Mark as tunable to take advantage of SIMD code in Eigen and in libigl.
+ (properties '((tunable? . #t)))))