From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id SGpDN2P4EWVdFgEAauVa8A:P1 (envelope-from ) for ; Mon, 25 Sep 2023 23:15:16 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id SGpDN2P4EWVdFgEAauVa8A (envelope-from ) for ; Mon, 25 Sep 2023 23:15:15 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 74727B4DB for ; Mon, 25 Sep 2023 23:15:15 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=Ov3aWsMh; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1695676515; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=6ZEH6qsQb9gAxqOMAiLbBPmu6vTJxfEVjS+wjcHfgOw=; b=JUShz0dJFYXqtHAqOcVt2wWLcKTsyXiq7a0U6ArDguc/WC/q3RZLAj016L/JLXgUXt+x1E BCmu2NTgn4YV2KHu7CdWb7wooYWufCk8QClkKs4qD289eEq0UCW3J7m2fveGH/smEWCWDq ipRIIfdY/HSnLUq4fNxEG2CHweCaHJk1+qzzxOcFX+TtwjDq4XS7igZ0iM7qUxQyzlF3i0 sui0s2YhA8qQNQdsgiKUIhevgehIqvx6g8oN9L2j21xDzOuxftANEggyTM/713Y1SNFur6 rmGcz1EXVqrU0sCXOXelRhr/NGTraQBRfPDIOABY4HHadVJ0M2gA40awNyzvrw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1695676515; a=rsa-sha256; cv=none; b=iX9zjMNQMNk3wWR+utkK7YaUM3nN51epR+TLosnpXio9iAU2dOn+NZFXrPS4g7xjhBjfR2 24Li2e/5exFd490tbccVPj7Wi3qpcKkiXyeA4UuCu2FB5PSvYhniCV3iYHJrNN7VmlosC4 iTXjubdcmYLQT8pdhZ2t4jLXjbhsjGkWgOY2qnskudTv5NmLhyC/Q7ZP1iXEHDYkyTLBYv bOR5pJ78bQpyoHwOtafR93BA43PwEczS02jWyD7K9UhZ2xnVKj7TgK5n4ohv2Iun7FI6mA TAJLYLpD9lquu44klCmClqRR7r0ze86H1NnJcTbLren819b/AhnJC+XHJZg6RQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=Ov3aWsMh; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qksuq-00087c-KA; Mon, 25 Sep 2023 17:14:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qksun-00087L-Py for guix-patches@gnu.org; Mon, 25 Sep 2023 17:14:49 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qksun-00041Y-Hp for guix-patches@gnu.org; Mon, 25 Sep 2023 17:14:49 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qksuz-0005ub-T0 for guix-patches@gnu.org; Mon, 25 Sep 2023 17:15:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#66201] [PATCH 1/2] gnu: scilab: Update to 2023.1.0. References: <20230925210126.8730-1-david.elsing@posteo.net> In-Reply-To: <20230925210126.8730-1-david.elsing@posteo.net> Resent-From: David Elsing Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 25 Sep 2023 21:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66201 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 66201@debbugs.gnu.org Cc: David Elsing Received: via spool by 66201-submit@debbugs.gnu.org id=B66201.169567644722639 (code B ref 66201); Mon, 25 Sep 2023 21:15:01 +0000 Received: (at 66201) by debbugs.gnu.org; 25 Sep 2023 21:14:07 +0000 Received: from localhost ([127.0.0.1]:46783 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qksu5-0005t4-VV for submit@debbugs.gnu.org; Mon, 25 Sep 2023 17:14:06 -0400 Received: from mout02.posteo.de ([185.67.36.66]:51637) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qkstz-0005sF-UL for 66201@debbugs.gnu.org; Mon, 25 Sep 2023 17:14:04 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 1A630240101 for <66201@debbugs.gnu.org>; Mon, 25 Sep 2023 23:13:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1695676421; bh=PfSurJbseia7WWYc3V9shB/UZpGL02AR5H9eaRREhGQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:From; b=Ov3aWsMh6pwzWWZTFkfdpNCQ/bh8b5dBEYfIRcWVFW5R6QOQl5Ww8S2PnlVtW61Gn JMN0bzCLbeGFmqN11Y7gQLK/YF7HvmIUHDlWZUqqdT/s9pURehtLRV5rJEecDLRtzC Pt8k2t6v3MtfOnojqMGvCn7FUH09H9XFqWbH6KcFLcFYso1c+/ZE3XM8C94NV+qSVY iiBT+10ZfQ4fcsJ7RWYnFv5R3Zjapt9RZ3FAjQim92kuikCmKZ/ddAgFxIyPnrZeuA swPsuvjlu1jitrltbTsn17a/b6QObHxt1tLL3nq0/2ti/E3/iakYQ9yEBZAmyeFc3N 5ymo/0PdTE8WQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4RvbFw466Nz9ryV; Mon, 25 Sep 2023 23:13:40 +0200 (CEST) From: David Elsing Date: Mon, 25 Sep 2023 21:13:12 +0000 Message-ID: <20230925211319.9698-1-david.elsing@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Scanner: mx0.migadu.com X-Migadu-Spam-Score: -1.34 X-Spam-Score: -1.34 X-Migadu-Queue-Id: 74727B4DB X-TUID: D4lh4sabix8B * gnu/packages/maths.scm (scilab): Update to 2023.1.0. [source] Use git-fetch. : Add (guix build utils) and (ice-9 ftw). : Add patch for hdf5 >= 1.10. : Move contents of the "scilab" directory to its parents. Remove the other files and autogenerated files. [native-inputs]: Add autoconf, autoconf-archive, automake, bison, eigen, flex, libtool, ocaml and ocaml-findlib. [inputs]: Add ocaml-num, replace hdf5-1.8 by hdf5-1.14 and suitesparse-3 by suitesparse. [arguments]: Remove quasiquote. Add --enable-build-parser, --with-eigen-include=..., OCAMLC=... and OCAMLOPT=... to #:configure-flags. <#:phases>: Add fix-ocaml-num, remove-desktop-files, bootstrap-dynamic_link-scripts and build-parsers phases. Remove fixes for compilation and linker errors from the pre-build phase. [home-page]: Update URL. [description]: Add two spaces between sentences. [license]: Update to gpl2 and bsd-3. --- gnu/packages/maths.scm | 256 +++++++++++------- .../patches/scilab-hdf5-1.8-api.patch | 71 +++++ 2 files changed, 236 insertions(+), 91 deletions(-) create mode 100644 gnu/packages/patches/scilab-hdf5-1.8-api.patch diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 62d4adfbd1..ff50a99599 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -61,6 +61,7 @@ ;;; Copyright © 2022 Roman Scherer ;;; Copyright © 2023 Jake Leporte ;;; Copyright © 2023 Camilo Q.S. (Distopico) +;;; Copyright © 2023 David Elsing ;;; ;;; This file is part of GNU Guix. ;;; @@ -8422,112 +8423,185 @@ (define-public optizelle (define-public scilab (package (name "scilab") - (version "5.5.2") + (version "2023.1.0") (source (origin - (method url-fetch) - (uri - (string-append "https://www.scilab.org/download/" - version "/scilab-" version "-src.tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/scilab/scilab") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0phg9pn24yw98hbh475ik84dnikf1225b2knh7qbhdbdx6fm2d57")))) + (base32 + "0hbqsnc67b4f8zc690kl79bwhjaasykjlmqbln8iymnjcn3l5ypd")) + (modules '((guix build utils) + (ice-9 ftw))) + (patches (search-patches "scilab-hdf5-1.8-api.patch")) + (snippet + #~(begin + (for-each + (lambda (file) + (unless (member file '("." ".." "scilab")) + (delete-file-recursively file))) + (scandir ".")) + (for-each + (lambda (file) + (unless (member file '("." "..")) + (rename-file (string-append "scilab/" file) file))) + (scandir "scilab")) + (delete-file-recursively "scilab") + (delete-file "aclocal.m4") + (for-each + delete-file + (find-files "." "^Makefile\\.in$")) + (delete-file-recursively "config") + (delete-file "configure") + (delete-file-recursively "libs/GetWindowsVersion") + (delete-file "m4/ax_cxx_compile_stdcxx.m4") + (delete-file "m4/lib-ld.m4") + (delete-file "m4/libtool.m4") + (delete-file "m4/ltoptions.m4") + (delete-file "m4/ltsugar.m4") + (delete-file "m4/ltversion.m4") + (delete-file "m4/lt~obsolete.m4") + (delete-file "m4/pkg.m4") + (for-each + (lambda (file) + (delete-file + (string-append "modules/dynamic_link/src/scripts/" file))) + '("aclocal.m4" + "configure" + "compile" + "config.guess" + "config.sub" + "ltmain.sh" + "depcomp" + "install-sh" + "missing")) + (delete-file-recursively "modules/dynamic_link/src/scripts/m4") + (delete-file "modules/ast/src/cpp/parse/scanscilab.cpp") + (delete-file "modules/ast/src/cpp/parse/bison/parsescilab.output") + (delete-file "modules/ast/includes/parse/parsescilab.hxx") + (delete-file "modules/ast/src/cpp/parse/parsescilab.cpp"))))) (build-system gnu-build-system) - (native-inputs (list pkg-config gfortran)) - (inputs (list libxml2 - `(,pcre "bin") + (native-inputs + (list autoconf + autoconf-archive + automake + bison + eigen + flex + gfortran + libtool + ocaml + ocaml-findlib + pkg-config)) + (inputs (list `(,pcre "bin") `(,pcre "out") - readline - hdf5-1.8 - curl - openblas - lapack + libxml2 arpack-ng + curl fftw gettext-minimal - suitesparse-3 - tcl - tk + hdf5-1.14 + lapack libx11 - matio)) + matio + ocaml-num + openblas + readline + suitesparse + tcl + tk)) (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"))) - ;; Fix CPP compilation errors. - (substitute* "modules/output_stream/src/cpp/diary_manager.cpp" - (("if \\(array_size > 0\\)") - "if (*array_size > 0)")) - ;; Set SCIHOME to /tmp before macros compilation. - (setenv "SCIHOME" "/tmp")))))) - (home-page "https://scilab.org") + (list + ;; The tests require java code. + #:tests? #f + #:configure-flags + #~(list + "--enable-relocatable" + "--disable-static-system-lib" + "--enable-build-parser" + ;; 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"))) + (string-append "--with-eigen-include=" + #$(this-package-native-input "eigen") + "/include/eigen3") + ;; Find and link to the OCaml Num package + "OCAMLC=ocamlfind ocamlc -package num" + "OCAMLOPT=ocamlfind ocamlopt -package num -linkpkg" + ;; There are some 2018-fortran errors that are ignored + ;; with this fortran compiler flag. + "FFLAGS=-fallow-argument-mismatch") + #:phases + #~(modify-phases %standard-phases + ;; The Num library is specified with the OCAMLC and + ;; OCAMLOPT variables above. + (add-after 'unpack 'fix-ocaml-num + (lambda _ + (substitute* + '("modules/scicos/Makefile.modelica.am" + "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 =")))) + ;; These generated files are assumed to be present during + ;; the build. + (add-after 'bootstrap 'bootstrap-dynamic_link-scripts + (lambda _ + (with-directory-excursion "modules/dynamic_link/src/scripts" + (invoke "autoreconf" "-i")))) + (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")) + ;; Set SCIHOME to /tmp before macros compilation. + (setenv "SCIHOME" "/tmp"))) + ;; Prevent race condition + (add-after 'pre-build 'build-parsers + (lambda _ + (with-directory-excursion "modules/ast" + (invoke "make" "src/cpp/parse/parsescilab.cpp" + "src/cpp/parse/scanscilab.cpp"))))))) + (home-page "https://www.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, +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 + (license (list license:gpl2 license:bsd-3)))) (define-public ruy (let ((commit "caa244343de289f913c505100e6a463d46c174de") diff --git a/gnu/packages/patches/scilab-hdf5-1.8-api.patch b/gnu/packages/patches/scilab-hdf5-1.8-api.patch new file mode 100644 index 0000000000..8b453e4720 --- /dev/null +++ b/gnu/packages/patches/scilab-hdf5-1.8-api.patch @@ -0,0 +1,71 @@ +This patch fixes the compilation with hdf5 version >= 1.10. Adapted from +https://aur.archlinux.org/cgit/aur.git/plain/hdf5_18_api.patch?h=scilab-git. + +diff -ur a/scilab/modules/hdf5/includes/HDF5Objects.h b/scilab/modules/hdf5/includes/HDF5Objects.h +--- a/scilab/modules/hdf5/includes/HDF5Objects.h ++++ b/scilab/modules/hdf5/includes/HDF5Objects.h +@@ -16,14 +16,12 @@ + #ifndef __HDF5OBJECTS_H__ + #define __HDF5OBJECTS_H__ + +-#define H5_NO_DEPRECATED_SYMBOLS + #undef H5_USE_16_API ++#define H5_USE_18_API + +-#define H5Eset_auto_vers 2 + #include + #include + +-#undef H5_NO_DEPRECATED_SYMBOLS + + //#define __HDF5OBJECTS_DEBUG__ + //#define __HDF5ERROR_PRINT__ +diff -ur a/scilab/modules/hdf5/Makefile.am b/scilab/modules/hdf5/Makefile.am +--- a/scilab/modules/hdf5/Makefile.am ++++ b/scilab/modules/hdf5/Makefile.am +@@ -104,8 +104,7 @@ + -DH5Gopen_vers=2 \ + -DH5Tget_array_dims_vers=2 \ + -DH5Acreate_vers=2 \ +- -DH5Rdereference_vers=2 \ +- -DNO_DEPRECATED_SYMBOLS ++ -DH5Rdereference_vers=2 + + + libscihdf5_la_CPPFLAGS = \ +diff -ur a/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp b/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp +--- a/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp ++++ b/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp +@@ -13,6 +13,8 @@ + * + */ + ++#define H5_USE_18_API ++ + #include + #include "function.hxx" + #include "string.hxx" +diff -ur a/scilab/modules/hdf5/src/c/h5_readDataFromFile.c b/scilab/modules/hdf5/src/c/h5_readDataFromFile.c +--- a/scilab/modules/hdf5/src/c/h5_readDataFromFile.c ++++ b/scilab/modules/hdf5/src/c/h5_readDataFromFile.c +@@ -13,7 +13,7 @@ + * + */ + +-#define H5_NO_DEPRECATED_SYMBOLS ++#define H5_USE_18_API + + #ifndef _MSC_VER + #include +diff -ur a/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c b/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c +--- a/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c ++++ b/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c +@@ -13,7 +13,7 @@ + * + */ + +-#define H5_NO_DEPRECATED_SYMBOLS ++#define H5_USE_18_API + + #ifndef _MSC_VER + #include -- 2.41.0