summaryrefslogtreecommitdiff
path: root/gnu/packages/engineering.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-04-16 14:39:48 +0300
committerEfraim Flashner <efraim@flashner.co.il>2021-04-16 14:39:48 +0300
commitfcc39864dba82e14895afbe841091091366c96bc (patch)
tree6e0f05495fd6512051224dc85fd3ab495cbf1a24 /gnu/packages/engineering.scm
parent76fc36d0a7215979bb74c05840f5a4de4ab5ea93 (diff)
parent44f9432705d04c069a8acf9e37e3ad856ac0bf82 (diff)
downloadguix-patches-fcc39864dba82e14895afbe841091091366c96bc.tar
guix-patches-fcc39864dba82e14895afbe841091091366c96bc.tar.gz
Merge remote-tracking branch 'origin/master' into core-updates
Conflicts: gnu/local.mk gnu/packages/boost.scm gnu/packages/chez.scm gnu/packages/compression.scm gnu/packages/crates-io.scm gnu/packages/docbook.scm gnu/packages/engineering.scm gnu/packages/gcc.scm gnu/packages/gl.scm gnu/packages/gtk.scm gnu/packages/nettle.scm gnu/packages/python-check.scm gnu/packages/python-xyz.scm gnu/packages/radio.scm gnu/packages/rust.scm gnu/packages/sqlite.scm guix/build-system/node.scm
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r--gnu/packages/engineering.scm468
1 files changed, 120 insertions, 348 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index d7c9f9f142..cbe9d79d78 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
-;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018, 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
@@ -17,7 +17,7 @@
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; 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, 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
@@ -112,6 +112,8 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages serialization)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages swig)
#:use-module (gnu packages tbb)
#:use-module (gnu packages tcl)
@@ -122,6 +124,7 @@
#:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
+ #:use-module (gnu packages xiph)
#:use-module (gnu packages openkinect)
#:use-module (gnu packages xorg))
@@ -266,7 +269,7 @@ plans and designs.")
suite grouped together under the gEDA name. gEDA/gaf is a collection of tools
which currently includes: gschem, a schematic capture program; gnetlist, a
netlist generation program; gsymcheck, a syntax checker for schematic symbols;
-gattrib, a spreadsheet programm that manipulates the properties of symbols of
+gattrib, a spreadsheet programme that manipulates the properties of symbols of
a schematic; libgeda, libraries for gschem gnetlist and gsymcheck; gsch2pcb, a
tool to forward annotation from your schematic to layout using PCB; some minor
utilities.")
@@ -1248,7 +1251,7 @@ replacement for the OpenDWG libraries.")
(define-public minicom
(package
(name "minicom")
- (version "2.7.1")
+ (version "2.8")
(source
(origin
(method git-fetch)
@@ -1256,13 +1259,16 @@ replacement for the OpenDWG libraries.")
(url "https://salsa.debian.org/minicom-team/minicom.git")
(commit (string-append "v" version))))
(sha256
- (base32 "0f36wv015zpz1x895qv0z6marlynzyh0d5mfkyd7lfyy2xd1i2w0"))
+ (base32 "0kfihxbh9qkjk9m1932ajyqx384c2aj3d9yaphh3i9i7y1shxlpx"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-lock-dir=/var/lock")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'make-git-checkout-writable
+ (lambda _
+ (for-each make-file-writable (find-files "."))))
(replace 'bootstrap
;; autogen.sh needlessly hard-codes aclocal-1.14.
(lambda _
@@ -2016,256 +2022,6 @@ parallel computing platforms. It also supports serial execution.")
(license (list license:gpl2+
license:lgpl2.0+)))) ; freehdl's libraries
-(define-public qucs
- ;; Qucs 0.0.19 segfaults when using glibc-2.26. Temporarily build from git.
- ;; TODO: When qucs-0.0.20 is released, revert the commit that introduced this
- ;; comment and update the package.
- (let ((commit "b4f27d9222568066cd59e4c387c51a35056c99d8")
- (revision "0"))
- (package
- (name "qucs")
- (version (git-version "0.0.19" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/Qucs/qucs")
- (commit commit)))
- (sha256
- (base32 "10bclay9xhkffmsh4j4l28kj1qpxx0pnxja5vx6305cllnq4r3gb"))
- (file-name (string-append name "-" version "-checkout"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'bootstrap 'patch-bootstrap
- (lambda _
- (for-each patch-shebang
- '("bootstrap"
- "qucs/bootstrap"
- "qucs-doc/bootstrap"
- "qucs-core/bootstrap"))
- #t))
- (add-before 'configure 'patch-configure
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "qucs/configure"
- (("\\$QTDIR") (assoc-ref inputs "qt4")))
- #t))
- (add-after 'patch-configure 'patch-scripts
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* '("qucs/qucs/qucsdigi"
- "qucs/qucs/qucsdigilib"
- "qucs/qucs/qucsveri")
- (("\\$BINDIR")
- (string-append (assoc-ref outputs "out") "/bin"))
- (("freehdl-config")
- (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-config"))
- (("freehdl-v2cc")
- (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-v2cc"))
- (("cp ")
- (string-append (assoc-ref inputs "coreutils") "/bin/cp "))
- (("glibtool")
- (string-append (assoc-ref inputs "libtool") "/bin/libtool"))
- (("sed")
- (string-append (assoc-ref inputs "sed") "/bin/sed"))
- (("iverilog")
- (string-append (assoc-ref inputs "iverilog") "/bin/iverilog"))
- (("vvp")
- (string-append (assoc-ref inputs "iverilog") "/bin/vvp")))
- #t))
- (add-before 'check 'pre-check
- (lambda _
- ;; The test suite requires a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- #t))
- (add-after 'install 'make-wrapper
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- ;; 'qucs' directly invokes gcc, hence this wrapping.
- (wrap-program (string-append out "/bin/qucs")
- `("CPLUS_INCLUDE_PATH" ":" prefix
- (,(string-append (assoc-ref inputs "gcc-toolchain")
- "/include")))
- `("PATH" ":" prefix
- (,(string-append (assoc-ref inputs "gcc-toolchain")
- "/bin")))
- `("LIBRARY_PATH" ":" prefix
- (,(string-append (assoc-ref inputs "gcc-toolchain")
- "/lib")))
- `("ADMSXMLBINDIR" ":" prefix
- (,(string-append (assoc-ref inputs "adms") "/bin")))
- `("ASCOBINDIR" ":" prefix
- (,(string-append (assoc-ref inputs "asco") "/bin")))
- `("QUCS_OCTAVE" ":" prefix
- (,(string-append (assoc-ref inputs "octave") "/bin/octave")))))
- #t)))
- #:parallel-build? #f ; race condition
- #:configure-flags '("--disable-doc"))) ; we need octave-epstk
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("bison" ,bison)
- ("flex" ,flex)
- ("gperf" ,gperf)
- ("libtool-native" ,libtool)
- ("pkg-config" ,pkg-config)
- ("python" ,python-2) ; for tests
- ("matplotlib" ,python2-matplotlib) ; for tests
- ("numpy" ,python2-numpy) ; for tests
- ("xorg-server" ,xorg-server-for-tests))) ; for tests
- (inputs
- `(("adms" ,adms)
- ("asco" ,asco)
- ("coreutils" ,coreutils)
- ("freehdl" ,freehdl)
- ("gcc-toolchain" ,gcc-toolchain)
- ("iverilog" ,iverilog)
- ("libtool" ,libtool)
- ("octave" ,octave-cli)
- ("qt4" ,qt-4)
- ("sed" ,sed)))
- (home-page "http://qucs.sourceforge.net/")
- (synopsis "Circuit simulator with graphical user interface")
- (description
- "Qucs is a circuit simulator with graphical user interface. The software
-aims to support all kinds of circuit simulation types---e.g. DC, AC,
-S-parameter, transient, noise and harmonic balance analysis. Pure digital
-simulations are also supported.")
- (license license:gpl2+))))
-
-(define-public qucs-s
- (package
- (name "qucs-s")
- (version "0.0.21")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/ra3xdh/qucs_s/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "12m1jwhb9qwvb141qzyskbxnw3wn1x22d02z4b4862p7xvccl5h7"))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'patch-scripts
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* '("qucs/qucsdigi"
- "qucs/qucsdigilib"
- "qucs/qucsveri")
- (("\\$BINDIR")
- (string-append (assoc-ref inputs "qucs") "/bin"))
- (("freehdl-config")
- (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-config"))
- (("freehdl-v2cc")
- (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-v2cc"))
- (("cp ")
- (string-append (assoc-ref inputs "coreutils") "/bin/cp "))
- (("glibtool")
- (string-append (assoc-ref inputs "libtool") "/bin/libtool"))
- (("sed")
- (string-append (assoc-ref inputs "sed") "/bin/sed"))
- (("iverilog")
- (string-append (assoc-ref inputs "iverilog") "/bin/iverilog"))
- (("vvp")
- (string-append (assoc-ref inputs "iverilog") "/bin/vvp")))
- #t))
- (add-after 'patch-scripts 'patch-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "qucs/main.cpp"
- (((string-append "QucsSettings\\.Qucsator = QucsSettings\\.BinDir "
- "\\+ \"qucsator\" \\+ executableSuffix"))
- (string-append "}{ QucsSettings.Qucsator = \""
- (assoc-ref inputs "qucs") "/bin/qucsator\""))
- (((string-append "QucsSettings\\.XyceExecutable = "
- "\"/usr/local/Xyce-Release-6.8.0-OPENSOURCE/bin/Xyce"))
- (string-append "}{ QucsSettings.XyceExecutable = \""
- (assoc-ref inputs "xyce-serial") "/bin/Xyce"))
- (((string-append "else QucsSettings\\.XyceParExecutable = "
- "\"mpirun -np %p /usr/local"
- "/Xyce-Release-6.8.0-OPENMPI-OPENSOURCE/bin/Xyce"))
- (string-append "QucsSettings.XyceParExecutable = \""
- (assoc-ref inputs "mpi") "/bin/mpirun -np %p "
- (assoc-ref inputs "xyce-parallel") "/bin/Xyce"))
- (("else QucsSettings\\.NgspiceExecutable = \"ngspice\"")
- (string-append "QucsSettings.NgspiceExecutable = " "\""
- (assoc-ref inputs "ngspice") "/bin/ngspice\"")))
- (substitute* "qucs/extsimkernels/ngspice.cpp"
- (("share/qucs/xspice_cmlib") "share/qucs-s/xspice_cmlib"))
- (substitute* "qucs/qucs_actions.cpp"
- (("qucstrans")
- (string-append (assoc-ref inputs "qucs") "/bin/qucstrans"))
- (("qucsattenuator")
- (string-append (assoc-ref inputs "qucs") "/bin/qucsattenuator"))
- (("qucsrescodes")
- (string-append (assoc-ref inputs "qucs") "/bin/qucsrescodes")))
- #t))
- (add-after 'install 'install-scripts
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (for-each
- (lambda (script)
- (let ((file (string-append "../qucs_s-" ,version
- "/qucs/" script))
- (out (assoc-ref outputs "out")))
- (install-file file (string-append out "/bin"))
- (chmod (string-append out "/bin/" script) #o555)))
- '("qucsdigi" "qucsdigilib" "qucsveri"))
- #t))
- (add-after 'install-scripts 'make-wrapper
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (file (string-append out "/bin/qucs-s"))
- (qucs (assoc-ref inputs "qucs"))
- (qucsator (string-append qucs "/bin/qucsator")))
- (wrap-program file
- `("CPLUS_INCLUDE_PATH" ":" prefix
- (,(string-append (assoc-ref inputs "gcc-toolchain")
- "/include")))
- `("PATH" ":" prefix
- (,(string-append (assoc-ref inputs "gcc-toolchain")
- "/bin")))
- `("LIBRARY_PATH" ":" prefix
- (,(string-append (assoc-ref inputs "gcc-toolchain")
- "/lib")))
- `("QUCSATOR" ":" prefix (,qucsator))
- `("QUCSCONV" ":" prefix (,(string-append qucsator "/bin/qucsconv")))
- `("ADMSXMLBINDIR" ":" prefix (,(string-append (assoc-ref inputs "adms")
- "/bin")))
- `("ASCOBINDIR" ":" prefix (,(string-append (assoc-ref inputs "asco")
- "/bin")))
- `("QUCS_OCTAVE" ":" prefix (,(string-append (assoc-ref inputs "octave")
- "/bin/octave"))))
- (symlink qucsator (string-append out "/bin/qucsator"))
- #t))))))
- (native-inputs
- `(("libtool-native" ,libtool)))
- (inputs
- `(("adms" ,adms)
- ("asco" ,asco)
- ("coreutils" ,coreutils)
- ("freehdl" ,freehdl)
- ("gcc-toolchain" ,gcc-toolchain)
- ("iverilog" ,iverilog)
- ("libtool" ,libtool)
- ("mpi" ,openmpi)
- ("ngspice" ,ngspice)
- ("octave" ,octave-cli)
- ("qt4" ,qt-4)
- ("qucs" ,qucs)
- ("sed" ,sed)
- ("xyce-serial" ,xyce-serial)
- ("xyce-parallel" ,xyce-parallel)))
- (home-page "https://ra3xdh.github.io/")
- (synopsis "Circuit simulator with graphical user interface")
- (description
- "Qucs-S is a spin-off of the Qucs cross-platform circuit simulator.
-The S letter indicates SPICE. The purpose of the Qucs-S subproject is to use
-free SPICE circuit simulation kernels with the Qucs GUI. It provides the
-simulator backends @code{Qucsator}, @code{ngspice} and @code{Xyce}.")
- (license license:gpl2+)))
-
(define-public librepcb
(package
(name "librepcb")
@@ -2601,104 +2357,120 @@ 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-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.19.1")
+ (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
+ "0c53q2iawy4yfp11czyc7lbr9ivp3r7v24x4c20myh11wyplffc0"))))
+ (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)
+ ("double-conversion" ,double-conversion)
+ ("eigen" ,eigen)
+ ("freetype" ,freetype)
+ ("gl2ps" ,gl2ps)
+ ("glew" ,glew)
+ ("hdf5" ,hdf5-1.10)
+ ("jsoncpp" ,jsoncpp)
+ ("libarea" ,libarea)
+ ("libjpeg-turbo" ,libjpeg-turbo)
+ ("libmedfile" ,libmedfile)
+ ("libspnav" ,libspnav)
+ ("libtheora" ,libtheora)
+ ("libtiff" ,libtiff)
+ ("libxi" ,libxi)
+ ("libxmlplusplus" ,libxmlplusplus)
+ ("libxmu" ,libxmu)
+ ("lz4" ,lz4)
+ ("netcdf" ,netcdf)
+ ("opencascade-occt" ,opencascade-occt)
+ ("openmpi" ,openmpi)
+ ("proj" ,proj)
+ ("python-gitpython" ,python-gitpython)
+ ("python-matplotlib" ,python-matplotlib)
+ ("python-pivy" ,python-pivy)
+ ("python-pyside-2" ,python-pyside-2)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-shiboken-2" ,python-shiboken-2)
+ ("python-wrapper" ,python-wrapper)
+ ("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)
+ ("qtwebkit" ,qtwebkit)
+ ("qtx11extras" ,qtx11extras)
+ ("qtxmlpatterns" ,qtxmlpatterns)
+ ("sqlite" ,sqlite)
+ ("tbb" ,tbb)
+ ("vtk" ,vtk-8)
+ ("xerces-c" ,xerces-c)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:tests? #f ; Project has no tests
+ #:configure-flags
+ (list
+ "-DBUILD_QT5=ON"
+ "-DBUILD_FLAT_MESH:BOOL=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=\"\\);") ""))))
+ (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"))))))))))
+ (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