summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRomain GARBAGE <romain.garbage@inria.fr>2026-01-15 15:50:03 +0100
committerRomain GARBAGE <romain.garbage@inria.fr>2026-01-19 10:00:36 +0100
commit884f8912a3ff18beca3eb4f197b817eb05be8229 (patch)
treeef91499207ee335bc522b89a722f2a5f982df25d
parenta93e1970826a03ff83d1e779ee2023047cdd69f7 (diff)
simulation: Add simgrid.
* guix-science/packages/simulation.scm: New file. (simgrid): New variable.
-rw-r--r--guix-science/packages/simulation.scm58
1 files changed, 58 insertions, 0 deletions
diff --git a/guix-science/packages/simulation.scm b/guix-science/packages/simulation.scm
new file mode 100644
index 0000000..d6ca20f
--- /dev/null
+++ b/guix-science/packages/simulation.scm
@@ -0,0 +1,58 @@
1;;; SPDX-License-Identifier: GPL-3.0-or-later
2
3(define-module (guix-science packages simulation)
4 #:use-module (guix)
5 #:use-module (guix build-system cmake)
6 #:use-module (guix build-system meson)
7 #:use-module (guix gexp)
8 #:use-module (guix git-download)
9 #:use-module (guix packages)
10 #:use-module ((guix licenses)
11 #:prefix license:)
12 #:use-module (gnu packages algebra)
13 #:use-module (gnu packages boost)
14 #:use-module (gnu packages cpp)
15 #:use-module (gnu packages gcc)
16 #:use-module (gnu packages perl)
17 #:use-module (gnu packages pkg-config)
18
19(define-public simgrid
20 (package
21 (name "simgrid")
22 (version "4.1")
23 (source
24 (origin
25 (method git-fetch)
26 (uri (git-reference
27 (url "https://framagit.org/simgrid/simgrid")
28 (commit (string-append "v" version))))
29 (file-name (git-file-name name version))
30 (sha256
31 (base32
32 "178nli9kzabahpvplj10da43yq693kfc39kf1nfkiifbzxd624h7"))))
33 (build-system cmake-build-system)
34 (arguments
35 (list
36 ;; FIXME: 8% of the tests fail, but they typically rely on diffing logs,
37 ;; and said logs include timestamps, pointer values, file names, etc.
38 #:tests? #f))
39 (native-inputs
40 (list gfortran
41 perl
42 python-wrapper))
43 (inputs
44 (list boost
45 eigen
46 `(,gfortran "lib")
47 nlohmann-json))
48 ;; XXX: 'smpicc' and 'smpicxx' retain references to GCC.
49 (home-page "https://simgrid.org/")
50 (synopsis "Distributed system simulator")
51 (description
52 "SimGrid is a scientific instrument to study the behavior of large-scale
53distributed systems such as grids, \"clouds\", HPC, and P2P systems. It can
54be used to evaluate heuristics, prototype applications or even assess legacy
55MPI applications.")
56 ;; 'COPYING' lists the licenses of pieces of software included in
57 ;; SimGrid; they are all under non-copyleft licenses though.
58 (license license:lgpl2.1+)))