summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Graves <ngraves@ngraves.fr>2023-03-25 15:15:22 +0100
committerLudovic Courtès <ludo@gnu.org>2023-03-30 23:18:16 +0200
commit1984d56b0e437af7be7fa6cf8e1a00e45eb8ffa1 (patch)
tree1ea499e7529e67a0632ecbe0a8214f0618a82c1a
parent13b2d110eec89f856964dce0a66783fbd824c4a4 (diff)
gnu: Add scilab.
* gnu/packages/maths.scm (scilab): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/maths.scm106
1 files changed, 106 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 22464ea3d1..72dccd04bf 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -8650,3 +8650,109 @@ primal-dual interior-point method are made available. Interfaces are
provided for applications written in C++ and Python. Parallel
computation is supported via MPI.")
(license license:bsd-2))))
+
+(define-public scilab
+ (package
+ (name "scilab")
+ (version "5.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://oos.eu-west-2.outscale.com/scilab-releases/"
+ version "/scilab-" version "-src.tar.gz"))
+ (sha256
+ (base32 "1hx57aji5d78brwqcf8a34i1hasm3h4nw46xjg7cgxj09s8yz5kq"))))
+ (build-system gnu-build-system)
+ (native-inputs (list pkg-config gfortran))
+ (inputs (list libxml2
+ `(,pcre "bin")
+ `(,pcre "out")
+ readline
+ hdf5-1.8
+ curl
+ openblas
+ lapack
+ arpack-ng
+ fftw
+ gettext-minimal
+ suitesparse-3
+ tcl
+ tk
+ libx11
+ matio))
+ (arguments
+ `(#:tests? #f
+ #:configure-flags
+ ,#~(list
+ "--enable-relocatable"
+ "--disable-static-system-lib"
+ ;; Disable all java code.
+ "--without-gui"
+ "--without-javasci"
+ "--disable-build-help"
+ "--with-external-scirenderer"
+ ;; Tcl and Tk library locations.
+ (string-append "--with-tcl-include="
+ (string-drop-right
+ (search-input-file %build-inputs "include/tcl.h")
+ (string-length "/tcl.h")))
+ (string-append "--with-tcl-library="
+ (string-drop-right
+ (search-input-directory %build-inputs "lib/tcl8")
+ (string-length "/tcl8")))
+ (string-append "--with-tk-include="
+ (string-drop-right
+ (search-input-file %build-inputs "include/tk.h")
+ (string-length "/tk.h")))
+ (string-append "--with-tk-library="
+ (string-drop-right
+ (search-input-directory %build-inputs "lib/tk8.6")
+ (string-length "/tk8.6")))
+ ;; There are some 2018-fortran errors that are ignored
+ ;; with this fortran compiler flag.
+ "FFLAGS=-fallow-argument-mismatch")
+ #:phases
+ ,#~(modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda _
+ ;; Fix scilab script.
+ (substitute* "bin/scilab"
+ (("\\/bin\\/ls")
+ (which "ls")))
+ ;; Fix core.start.
+ (substitute* "modules/core/etc/core.start"
+ (("'SCI/modules")
+ "SCI+'/modules"))
+ ;; Fix fortran compilation error.
+ (substitute*
+ "modules/differential_equations/src/fortran/twodq.f"
+ (("node\\(10\\),node1\\(10\\),node2\\(10\\),coef")
+ "node(9),node1(9),node2(9),coef"))
+ ;; Fix C compilation errors.
+ ;; remove &
+ (substitute* "modules/hdf5/src/c/h5_readDataFromFile_v1.c"
+ (("(H5Rdereference\\(_iDatasetId, H5R_OBJECT, )&(.*)\\);$"
+ all common ref)
+ (string-append common ref)))
+ ;; fix multiple definitions
+ (substitute* "modules/tclsci/src/c/TCL_Command.h"
+ (("^__thread")
+ "extern __thread"))
+ (substitute* "modules/tclsci/src/c/InitTclTk.c"
+ (("BOOL TK_Started = FALSE;" all)
+ (string-append all "\n"
+ "__threadId TclThread;" "\n"
+ "__threadSignal InterpReady;" "\n"
+ "__threadSignalLock InterpReadyLock;"
+ "\n")))
+ ;; Set SCIHOME to /tmp before macros compilation.
+ (setenv "SCIHOME" "/tmp"))))))
+ (home-page "https://scilab.org")
+ (synopsis "Software for engineers and scientists")
+ (description "This package provides the non-graphical version of the Scilab
+software for engineers and scientists. Scilab is used for signal processing,
+statistical analysis, image enhancement, fluid dynamics simulations, numerical
+optimization, and modeling, simulation of explicit and implicit dynamical
+systems and symbolic manipulations.")
+ (license license:cecill))) ;CeCILL v2.1