unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Nicolas Graves via Guix-patches via <guix-patches@gnu.org>
To: 61204@debbugs.gnu.org
Cc: ngraves@ngraves.fr
Subject: [bug#61204] [PATCH] gnu: Add scilab.
Date: Sat, 11 Feb 2023 11:09:37 +0100	[thread overview]
Message-ID: <20230211100937.8616-1-ngraves@ngraves.fr> (raw)
In-Reply-To: <87h6w6tcqz.fsf@ngraves.fr>

* gnu/packages/maths.scm (scilab): New variable.
---
 gnu/packages/maths.scm | 106 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 106 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 741ecc2798..81dba14674 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -8319,3 +8319,109 @@ (define-public optizelle
 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:gpl2)))
-- 
2.39.1





  parent reply	other threads:[~2023-02-11 10:10 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-01  1:07 [bug#61204] Scilab scientific software Nicolas Graves via Guix-patches via
2023-02-01  1:12 ` [bug#61204] [PATCH 1/6] gnu: matio: Add header file Nicolas Graves via Guix-patches via
2023-02-01  1:12   ` [bug#61204] [PATCH 2/6] gnu: Add metis-4 Nicolas Graves via Guix-patches via
2023-02-01  1:12   ` [bug#61204] [PATCH 3/6] gnu: Add suitesparse-3 Nicolas Graves via Guix-patches via
2023-02-01  1:12   ` [bug#61204] [PATCH 5/6] gnu: scilab: Update to 5.5.1 Nicolas Graves via Guix-patches via
2023-02-01  1:12   ` [bug#61204] [PATCH 6/6] gnu: scilab: Update to 5.5.2 Nicolas Graves via Guix-patches via
2023-02-10 23:08 ` [bug#61204] Scilab scientific software Ludovic Courtès
2023-02-11 10:11   ` Nicolas Graves via Guix-patches via
2023-02-11 10:09 ` Nicolas Graves via Guix-patches via [this message]
2023-02-15 15:57 ` Simon Tournier
2023-03-16 11:26   ` Ludovic Courtès
2023-03-25 14:17     ` Nicolas Graves via Guix-patches via
2023-04-03 15:43       ` Simon Tournier
2023-03-25 14:15 ` [bug#61204] [PATCH v2 1/3] gnu: matio: Add header file Nicolas Graves via Guix-patches via
2023-03-25 14:15   ` [bug#61204] [PATCH v2 2/3] gnu: Add suitesparse-3 Nicolas Graves via Guix-patches via
2023-03-25 14:15   ` [bug#61204] [PATCH v2 3/3] gnu: Add scilab Nicolas Graves via Guix-patches via
2023-03-30 20:43     ` bug#61204: " Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230211100937.8616-1-ngraves@ngraves.fr \
    --to=guix-patches@gnu.org \
    --cc=61204@debbugs.gnu.org \
    --cc=ngraves@ngraves.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).