Subject: [bug#65853] [PATCH v3 2/8] gnu: scilab: Activate tests and disable failing tests.

From: Nicolas Graves <[email-masked]>
Date: Mon, 6 Nov 2023 00:51:45 +0100

* gnu/packages/maths.scm (scilab): Activate tests and disable failing tests.
[arguments]:
  (tests?): Activate tests.
  (phases):
    [remove-desktop-files]: Extend and rename to restrain-to-scilab-cli.
    [disable-failing-tests]: Add phase.

Change-Id: Icfec349c6efe14e7787ba8d385e5d51f82be82ea
---
 gnu/packages/maths.scm | 33 +++++++++++++++++++++++++--------
 1 file changed, 25 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 88b52eb4fc..f6d0575979 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -9622,8 +9622,6 @@ (define-public scilab
                   tk))
     (arguments
      (list
-      ;; The tests require java code.
-      #:tests? #f
       #:configure-flags
       #~(list
          "--enable-relocatable"
@@ -9663,12 +9661,31 @@ (define-public scilab
                   "modules/scicos/src/translator/makefile.mak"
                   "modules/scicos/src/modelica_compiler/makefile.mak")
                 (("nums\\.cmx?a") ""))))
-          ;; Install only scilab-cli.desktop
-          (add-after 'unpack 'remove-desktop-files
-            (lambda _
-              (substitute* "desktop/Makefile.am"
-                (("desktop_DATA =")
-                 "desktop_DATA = scilab-cli.desktop\nDUMMY ="))))
+            (add-after 'unpack 'restrain-to-scilab-cli
+              (lambda _
+                ;; Install only scilab-cli.desktop
+                (substitute* "desktop/Makefile.am"
+                  (("desktop_DATA =")
+                   "desktop_DATA = scilab-cli.desktop\nDUMMY ="))
+                ;; Replace scilab with scilab-cli for tests.
+                (substitute* "Makefile.incl.am"
+                  (("scilab-bin") "scilab-cli-bin")
+                  (("scilab -nwni") "scilab-cli")
+                  ;; Do not install tests, demos and examples.
+                  ;; This saves up to 140 Mo in the final output.
+                  (("(TESTS|DEMOS|EXAMPLES)_DIR=.*" all kind)
+                   (string-append kind "_DIR=")))))
+            (add-before 'check 'disable-failing-tests
+              (lambda _
+                (substitute* "Makefile"
+                  (("TESTS = .*")
+                   "TESTS =\n"))
+                (substitute* "modules/functions_manager/Makefile"
+                  (("check:.*")
+                   "check:\n"))
+                (substitute* "modules/types/Makefile"
+                  (("\\$\\(MAKE\\) \\$\\(AM_MAKEFLAGS\\) check-am")
+                   ""))))
           ;; These generated files are assumed to be present during
           ;; the build.
           (add-after 'bootstrap 'bootstrap-dynamic_link-scripts
-- 
2.41.0