2022-09-19 09:11:47 +02:00
( define-module ( glicid packages science )
2023-01-02 11:18:12 +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 )
2024-01-11 17:09:59 +01:00
; #:use-module (past packages python)
2023-01-02 11:18:12 +01:00
# :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
2023-01-02 11:18:12 +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 .
2022-09-19 09:02:58 +02:00
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 . " )
2023-01-02 11:18:12 +01:00
( home-page "http://loki-lib.sourceforge.net/index.php?n=Main.HomePage" )
( license gpl3+ ) ) )
2022-09-19 09:02:58 +02:00
2023-03-28 15:29:29 +02:00
;; was commented out… guix repl is ok… so uncomment right now
2024-07-10 11:20:37 +02:00
( define-public yade-2022 . 01 a
2022-09-19 09:02:58 +02:00
( package
2023-01-02 11:18:12 +01:00
( 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 )
2024-01-11 17:09:59 +01:00
( "python" , python ) ;; beware python 3.10 is *NOT* supported
2023-01-02 11:18:12 +01:00
( "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)
2023-03-28 15:58:38 +02:00
;; ("qtwebkit" ,qtwebkit)
2023-01-02 11:18:12 +01:00
( "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
2023-01-02 11:18:12 +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 . 02 a
( package
( inherit yade-2022 . 01 a )
( 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
2024-07-10 11:31:56 +02:00
"1hdhxyaqdavrwpvam759835zyhn49c777kclz9p720pjlw55lszp" ) ) ) ) ) )
2024-07-10 11:20:37 +02:00
( define-public yade yade-2022 . 01 a )
2022-09-19 09:02:58 +02:00
( define-public yade-glicid-waves
2023-01-02 11:18:12 +01:00
( package
2025-01-28 19:07:48 +01:00
; (inherit (transform-package ((instead-of "openmpi-glicid-waves" openmpi)
; yade) "waves"))
( inherit yade )
2023-01-02 11:18:12 +01:00
( name "yade-glicid-waves" ) ) )
2023-03-28 15:58:38 +02:00