guix-glicid/glicid/packages/science.scm
2024-07-10 11:31:56 +02:00

156 lines
6.5 KiB
Scheme
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(define-module (glicid packages science)
#: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 (past 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))
(define-public loki
(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+)))
;; was commented out… guix repl is ok… so uncomment right now
(define-public yade-2022.01a
(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")))
;; (string-append "-DQGLVIEWER_INCLUDE_DIR="
;; 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))
;; (lambda _ (invoke
;; "cmake" "../trunk"
;; configure-flags))))))
(propagated-inputs `(("gdb" ,gdb)
("sqlite" ,sqlite)
("openmpi" ,openmpi)
("python" ,python) ;; beware python 3.10 is *NOT* supported
("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)
;; ("qt" ,qt)
("freeglut" ,freeglut)
("gts" ,gts)
("pkg-config" ,pkg-config)
("libqglviewer" ,libqglviewer)
("eigen" ,eigen)
;; ("loki" ,loki)
;; ("vtk" ,vtk)
;; ("qtwebkit" ,qtwebkit)
("openblas" ,openblas)
("suitesparse" ,suitesparse)
("gcc-toolchain" ,gcc-toolchain)
("metis" ,metis)
("cgal" ,cgal)
("qtsvg" ,qtsvg)
("qtwebengine" ,qtwebengine)
("mpfr" ,mpfr)))
(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+)))
(define-public yade-2023.02a
(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"))))))
(define-public yade yade-2022.01a)
(define-public yade-glicid-waves
(package
(inherit (transform-package ((instead-of "openmpi-glicid-waves" openmpi)
yade) "waves"))
(name "yade-glicid-waves")))