guix-glicid/glicid/packages/science.scm

126 lines
7.3 KiB
Scheme
Raw Normal View History

2022-09-19 09:11:47 +02:00
(define-module (glicid packages science)
2025-02-10 13:12:59 +01:00
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt)
#:use-module (gnu packages gl)
#:use-module (gnu packages boost)
#:use-module (gnu packages algebra)
#:use-module (gnu packages gdb)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages graphics)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages commencement)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages multiprecision)
#:use-module (glicid packages mpi)
#:use-module (glicid utils))
2022-09-19 09:02:58 +02:00
(define-public loki
2025-02-10 13:12:59 +01:00
(package
(name "loki")
(version "0.1.7")
(source (origin
(method url-fetch)
(uri (string-append
"https://downloads.sourceforge.net/project/loki-lib/Loki/Loki%200.1.7/loki-"
version ".zip"))
(sha256 (base32 "0p23k4dipk5nnfpvhhqj9apz8rhnd62qdydjmzx8q78sxpwims4w"))))
(build-system gnu-build-system)
(inputs `(("gcc-toolchain" ,gcc-toolchain)))
(synopsis "Loki is a C++ library of designs, containing flexible implementations of common design patterns and idioms.")
(description "Loki is the name of a C++ software library written by Andrei Alexandrescu as part of his book Modern C++ Design.
The library makes extensive use of C++ template metaprogramming and implements several commonly used tools: typelist, functor, singleton, smart pointer, object factory, visitor and multimethods.")
(home-page "http://loki-lib.sourceforge.net/index.php?n=Main.HomePage")
(license gpl3+)))
2023-03-28 15:29:29 +02:00
2024-07-10 11:20:37 +02:00
(define-public yade-2022.01a
2025-02-10 13:12:59 +01:00
(package
(name "yade")
(version "2022.01a")
(source (origin
(method url-fetch)
(uri (string-append "https://gitlab.com/yade-dev/trunk/-/archive/2022.01a/trunk-" version ".tar.gz"))
(sha256 (base32 "0k4hnvi70cqzl0q54kkbij6jwxydhfwcacp9s49n3fkaf1dihxiv"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DENABLE_POTENTIAL_BLOCKS=OFF"
(string-append "-DCMAKE_INSTALL_PREFIX=" (assoc-ref %outputs "out"))
(string-append "-DQGLVIEWER_INCLUDE_DIR=" (assoc-ref %build-inputs "libqglviewer")))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'post-unpack
(lambda* (#:key outputs inputs #:allow-other-keys)
(mkdir-p "./build")
(chdir "./build")))
(replace 'configure
(lambda* (#:key inputs outputs configure-flags
#:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(apply invoke "cmake" "../" configure-flags)))))
#:tests? #f))
(propagated-inputs `(("gdb" ,gdb)
("sqlite" ,sqlite)
("openmpi" ,openmpi)
("python" ,python)
("python-numpy" ,python-numpy)
("python-matplotlib" ,python-matplotlib)
("python-sphinx" ,python-sphinx)
("python-ipython" ,python-ipython)
("python-mpi4py" ,python-mpi4py)
("python-mpmath" ,python-mpmath)
("python-pygraphviz" ,python-pygraphviz)
("python-xlib" ,python-xlib)
("python-future" ,python-future)
("python-pyqt" ,python-pyqt)
("python-pyqtwebengine" ,python-pyqtwebengine)
("python-qtpy" ,python-qtpy)))
(inputs `(("boost" ,boost)
("qtbase-5" ,qtbase-5)
("freeglut" ,freeglut)
("gts" ,gts)
("pkg-config" ,pkg-config)
("libqglviewer" ,libqglviewer)
("eigen" ,eigen)
("openblas" ,openblas)
("suitesparse" ,suitesparse)
("gcc-toolchain" ,gcc-toolchain)
("metis" ,metis)
("cgal" ,cgal)
("qtsvg" ,qtsvg)
("qtwebengine" ,qtwebengine)
("mpfr" ,mpfr)))
2022-09-19 09:02:58 +02:00
2025-02-10 13:12:59 +01:00
(synopsis "Yade is an extensible open-source framework for discrete numerical models, focused on Discrete Element Method.")
(description "Yade is an extensible open-source framework for discrete numerical models, focused on Discrete Element Method. The computation parts are written in c++ using flexible object model, allowing independent implementation of new algorithms and interfaces. Python is used for rapid and concise scene construction, simulation control, postprocessing and debugging.")
(home-page "https://www.yade-dem.org/")
(license gpl3+)))
2022-09-19 09:02:58 +02:00
2024-07-10 11:20:37 +02:00
(define-public yade-2023.02a
2025-02-10 13:12:59 +01:00
(package
(inherit yade-2022.01a)
(version "2023.02a")
(source (origin
(method url-fetch)
(uri (string-append "https://gitlab.com/yade-dev/trunk/-/archive/2023.02a/trunk-" version ".tar.gz"))
(sha256 (base32 "1hdhxyaqdavrwpvam759835zyhn49c777kclz9p720pjlw55lszp"))))))
2024-07-10 11:20:37 +02:00
(define-public yade yade-2022.01a)
2022-09-19 09:02:58 +02:00
(define-public yade-glicid-waves
2025-02-10 13:12:59 +01:00
(package
(inherit yade)
(name "yade-glicid-waves")))
2023-03-28 15:58:38 +02:00