[RFC PATCH 00/10] Add sagemath.

  • Open
  • quality assurance status badge
Details
5 participants
  • Andreas Enge
  • vicvbcun
  • Ludovic Courtès
  • Maxime Devos
  • (
Owner
unassigned
Submitted by
vicvbcun
Severity
normal
V
V
vicvbcun wrote on 23 Jul 2022 21:59
(address . guix-patches@gnu.org)(name . vicvbcun)(address . guix@ikherbers.com)
cover.1658595756.git.guix@ikherbers.com
Hello Guix!

This series adds SageMath. Everything compiles just fine and even the
Jupyter notebook interface works, but there is still much work to do. So
far, I have only added the minimal set of inputs required for the build
to succeed. Tests and documentations are still missing.

vicvbcun (10):
gnu: edge-addition-planarity-suite: Update to 3.0.2.0.
gnu: gap: Update to 4.11.1.
gnu: Remove ecl-16.
gnu: cliquer: Update to 1.22.
gnu: lcalc: Update to 2.0.5.
gnu: ntl: Update to 11.5.1.
gnu: eclib: Update to 20220621.
gnu: Add python-memory-allocator.
gnu: Add python-pplpy.
gnu: Add sagemath.

gnu/local.mk | 4 -
gnu/packages/algebra.scm | 19 +-
gnu/packages/graph.scm | 4 +-
.../patches/lcalc-default-parameters-1.patch | 26 --
.../patches/lcalc-default-parameters-2.patch | 58 ----
gnu/packages/patches/lcalc-lcommon-h.patch | 13 -
.../patches/lcalc-using-namespace-std.patch | 43 ---
gnu/packages/sagemath.scm | 267 ++++++++++++------
8 files changed, 194 insertions(+), 240 deletions(-)
delete mode 100644 gnu/packages/patches/lcalc-default-parameters-1.patch
delete mode 100644 gnu/packages/patches/lcalc-default-parameters-2.patch
delete mode 100644 gnu/packages/patches/lcalc-lcommon-h.patch
delete mode 100644 gnu/packages/patches/lcalc-using-namespace-std.patch


base-commit: f6904c0b19c2fcca41bbf1400c738bd833fec9a8
--
2.37.0
V
V
vicvbcun wrote on 23 Jul 2022 22:51
[RFC PATCH 01/10] gnu: edge-addition-planarity-suite: Update to 3.0.2.0.
(address . 56729@debbugs.gnu.org)(name . vicvbcun)(address . guix@ikherbers.com)
396b0cfe9a4b49129c9de2ef950bee0fee00bc19.1658595756.git.guix@ikherbers.com
* gnu/packages/graph.scm (edge-addition-planarity-suite): Update to 3.0.2.0.
---
gnu/packages/graph.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 9aadab45e6..109ba68675 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -537,7 +537,7 @@ (define-public python-leidenalg
(define-public edge-addition-planarity-suite
(package
(name "edge-addition-planarity-suite")
- (version "3.0.0.5")
+ (version "3.0.2.0")
(source
(origin
(method git-fetch)
@@ -548,7 +548,7 @@ (define-public edge-addition-planarity-suite
(file-name (git-file-name name version))
(sha256
(base32
- "01cm7ay1njkfsdnmnvh5zwc7wg7x189hq1vbfhh9p3ihrbnmqzh8"))))
+ "1c7bnxgiz28mqsq3a3msznmjq629w0qqjynm2rqnnjn2qpc22h3i"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake libtool))
--
2.37.0
V
V
vicvbcun wrote on 23 Jul 2022 22:51
[RFC PATCH 02/10] gnu: gap: Update to 4.11.1.
(address . 56729@debbugs.gnu.org)(name . vicvbcun)(address . guix@ikherbers.com)
28cd72717547c8d8b6a3bf6d993cb07c897a1ba6.1658595756.git.guix@ikherbers.com
* gnu/packages/algebra.scm (gap): Update to 4.11.1.
[install]: install missing config.h header
---
gnu/packages/algebra.scm | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

Toggle diff (36 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 95fbdb5e36..b236313129 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1209,17 +1209,17 @@ (define-public xtensor-benchmark
(define-public gap
(package
(name "gap")
- (version "4.11.0")
+ (version "4.11.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://files.gap-system.org/gap-"
(version-major+minor version)
- "/tar.bz2/gap-"
+ "/tar.gz/gap-"
version
- ".tar.bz2"))
+ ".tar.gz"))
(sha256
- (base32 "00l6hvy4iggnlrib4vp805sxdm3j7n3hzpv5zs9hbiiavh80l1xz"))
+ (base32 "01535s81h254zcs84zi95xqmhvvn6fn9qss8761myxc2gpdcadb6"))
(modules '((guix build utils) (ice-9 ftw) (srfi srfi-1)))
(snippet
'(begin
@@ -1316,6 +1316,7 @@ (define-public gap
;; Install the headers and library, which are needed by Sage.
(invoke "make" "install-headers")
(invoke "make" "install-libgap")
+ (install-file "gen/config.h" (string-append out "/include/gap"))
;; Remove information on the build directory from sysinfo.gap.
(substitute* "sysinfo.gap"
(("GAP_BIN_DIR=\".*\"") "GAP_BIN_DIR=\"\"")
--
2.37.0
V
V
vicvbcun wrote on 23 Jul 2022 22:51
[RFC PATCH 03/10] gnu: Remove ecl-16.
(address . 56729@debbugs.gnu.org)(name . vicvbcun)(address . guix@ikherbers.com)
3cf16c89d261aae63fbf9b4965e1b676d76e9609.1658595756.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (ecl-16): Delete variable.
---
gnu/packages/sagemath.scm | 21 ---------------------
1 file changed, 21 deletions(-)

Toggle diff (34 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 7f76f8912b..75720f31a5 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -174,27 +174,6 @@ (define-public libhomfly
(license license:public-domain)
(home-page "https://github.com/miguelmarco/libhomfly")))
-;; Sage 9.1 doesn't build with ECL 20. This won't be necessary once 9.2 is
-;; released. See https://trac.sagemath.org/ticket/22191
-(define-public ecl-16
- (package
- (inherit ecl)
- (version "16.1.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://common-lisp.net/project/ecl/static/files/release/ecl"
- "-" version ".tgz"))
- (sha256
- (base32 "0m0j24w5d5a9dwwqyrg0d35c0nys16ijb4r0nyk87yp82v38b9bn"))
- (patches (search-patches
- "ecl-16-libffi.patch"
- "ecl-16-ignore-stderr-write-error.patch"
- "ecl-16-format-directive-limit.patch"))))
- ;; Current ECL uses LGPL 2.1+
- (license license:lgpl2.0+)))
-
(define-public pynac
(package
(name "pynac")
--
2.37.0
V
V
vicvbcun wrote on 23 Jul 2022 22:52
[RFC PATCH 07/10] gnu: eclib: Update to 20220621.
(address . 56729@debbugs.gnu.org)(name . vicvbcun)(address . guix@ikherbers.com)
2d2e9b3ebd21513d55114b86f45ad8300c112cb1.1658595756.git.guix@ikherbers.com
* gnu/packages/algebra.scm (eclib): Update to 20220621.
---
gnu/packages/algebra.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 85e8e77d83..13aaec1af5 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1593,16 +1593,16 @@ (define-public m4rie
(define-public eclib
(package
(name "eclib")
- (version "20190909")
+ (version "20220621")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JohnCremona/eclib/")
- (commit (string-append "v" version))))
+ (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "1gw27lqc3f525n8qdcmr2nyn16y9g10z9f6dnmckyyxcdzvhq35n"))))
+ "07wbkzmn6w0hrv2vim7f0il7k59ccc66x5vnn623xkmhfw32b3nz"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake libtool))
--
2.37.0
V
V
vicvbcun wrote on 23 Jul 2022 22:52
[RFC PATCH 06/10] gnu: ntl: Update to 11.5.1.
(address . 56729@debbugs.gnu.org)(name . vicvbcun)(address . guix@ikherbers.com)
1ef310525b39ba9f58bfd7d62d1327a7e0458677.1658595756.git.guix@ikherbers.com
* gnu/packages/algebra.scm (ntl): Update to 11.5.1.
---
gnu/packages/algebra.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index b236313129..85e8e77d83 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -540,14 +540,14 @@ (define-public python-flint
(define-public ntl
(package
(name "ntl")
- (version "11.4.4")
+ (version "11.5.1")
(source (origin
(method url-fetch)
(uri (string-append "https://shoup.net/ntl/ntl-"
version ".tar.gz"))
(sha256
(base32
- "1nr1h27j2gdz6badzz9lk2pknxhdijqdxqhd3haryh0sw616wzwx"))
+ "12ka3hym4skg63mp8vgkin79svbpdk2m6i41yvmcdjq62g1hc391"))
(modules '((guix build utils)))
(snippet
'(begin
--
2.37.0
V
V
vicvbcun wrote on 23 Jul 2022 22:52
[RFC PATCH 09/10] gnu: Add python-pplpy.
(address . 56729@debbugs.gnu.org)(name . vicvbcun)(address . guix@ikherbers.com)
4b6d43aae30a919993773f511c6097b0268a3c53.1658595756.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (python-pplpy): New variable.
---
gnu/packages/sagemath.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 2e9de70e4a..335d98d9f4 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -36,6 +36,7 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages compression)
#:use-module (gnu packages image)
#:use-module (gnu packages lisp)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
@@ -373,3 +374,29 @@ (define-public python-memory-allocator
(synopsis "An extension class to allocate memory easily with cython")
(description "An extension class to allocate memory easily with cython")
(license license:gpl3)))
+
+(define-public python-pplpy
+ (package
+ (name "python-pplpy")
+ (version "0.8.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pplpy" version))
+ (sha256
+ (base32
+ "1gfq5czkqxl395k06s77zij3xv7maiwagjvzmrpraxhsmvsd02sh"))))
+ (build-system python-build-system)
+ (inputs (list gmp
+ mpc
+ mpfr
+ pari-gp
+ ppl
+ python-cysignals
+ python-gmpy2))
+ (native-inputs (list python-cython))
+ (home-page "https://gitlab.com/videlec/pplpy")
+ (synopsis "Python PPL wrapper")
+ (description
+ "This Python module pplpy provides a wrapper to the C++ Parma Polyhedra
+Library (PPL).")
+ (license license:gpl3)))
--
2.37.0
V
V
vicvbcun wrote on 23 Jul 2022 22:52
[RFC PATCH 08/10] gnu: Add python-memory-allocator.
(address . 56729@debbugs.gnu.org)(name . vicvbcun)(address . guix@ikherbers.com)
9e76f5f7308040e7e28ab6643eabe5be55674876.1658595756.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (python-memory-allocator): New variable.
---
gnu/packages/sagemath.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

Toggle diff (27 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 1237ff8e04..2e9de70e4a 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -356,3 +356,20 @@ (define-public ratpoints
a given height bound on a hyperelliptic curve in a very efficient way,
by using an optimized quadratic sieve algorithm.")
(license license:gpl2+)))
+
+(define-public python-memory-allocator
+ (package
+ (name "python-memory-allocator")
+ (version "0.1.3")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "memory_allocator" version))
+ (sha256
+ (base32
+ "0qiijpv8zr7c5rjy64i4q3rb8qhn6v4yms5mza4p86y0w4m5r00k"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-cython))
+ (home-page "https://github.com/sagemath/memory_allocator")
+ (synopsis "An extension class to allocate memory easily with cython")
+ (description "An extension class to allocate memory easily with cython")
+ (license license:gpl3)))
--
2.37.0
V
V
vicvbcun wrote on 23 Jul 2022 22:51
[RFC PATCH 05/10] gnu: lcalc: Update to 2.0.5.
(address . 56729@debbugs.gnu.org)(name . vicvbcun)(address . guix@ikherbers.com)
8fad623072b4075781f6936fd1a324950886023c.1658595756.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (lcalc): Update to 2.0.5.
* gnu/packages/patches/lcalc-default-parameters-1.patch,
gnu/packages/patches/lcalc-default-parameters-2.patch,
gnu/packages/patches/lcalc-lcommon-h.patch,
gnu/packages/patches/lcalc-using-namespace-std.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove here.
---
gnu/local.mk | 4 --
.../patches/lcalc-default-parameters-1.patch | 26 -------
.../patches/lcalc-default-parameters-2.patch | 58 ---------------
gnu/packages/patches/lcalc-lcommon-h.patch | 13 ----
.../patches/lcalc-using-namespace-std.patch | 43 -----------
gnu/packages/sagemath.scm | 71 ++++++-------------
6 files changed, 20 insertions(+), 195 deletions(-)
delete mode 100644 gnu/packages/patches/lcalc-default-parameters-1.patch
delete mode 100644 gnu/packages/patches/lcalc-default-parameters-2.patch
delete mode 100644 gnu/packages/patches/lcalc-lcommon-h.patch
delete mode 100644 gnu/packages/patches/lcalc-using-namespace-std.patch

Toggle diff (272 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 07e3497d10..84c88ea905 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1371,10 +1371,6 @@ dist_patch_DATA = \
%D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \
%D%/packages/patches/kodi-skip-test-449.patch \
%D%/packages/patches/laby-make-install.patch \
- %D%/packages/patches/lcalc-default-parameters-1.patch \
- %D%/packages/patches/lcalc-default-parameters-2.patch \
- %D%/packages/patches/lcalc-lcommon-h.patch \
- %D%/packages/patches/lcalc-using-namespace-std.patch \
%D%/packages/patches/ldns-drill-examples.patch \
%D%/packages/patches/leela-zero-gtest.patch \
%D%/packages/patches/less-hurd-path-max.patch \
diff --git a/gnu/packages/patches/lcalc-default-parameters-1.patch b/gnu/packages/patches/lcalc-default-parameters-1.patch
deleted file mode 100644
index 19b0776320..0000000000
--- a/gnu/packages/patches/lcalc-default-parameters-1.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Patch taken from the Sage packaging system.
-
-diff -Naur lcalc-1.23-vanilla/include/Ldirichlet_series.h lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h
---- lcalc-1.23-vanilla/include/Ldirichlet_series.h 2012-08-08 23:21:55.000000000 +0200
-+++ lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h 2014-04-21 14:37:59.027464849 +0200
-@@ -43,7 +43,7 @@
- //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- template <class ttype>
- Complex L_function <ttype>::
--dirichlet_series(Complex s, long long N=-1)
-+dirichlet_series(Complex s, long long N)
- {
- Complex z=0.;
- long long m,n;
-diff -Naur lcalc-1.23-vanilla/include/L.h lcalc-1.23-fixed-gcc.4.9/include/L.h
---- lcalc-1.23-vanilla/include/L.h 2012-08-08 23:21:55.000000000 +0200
-+++ lcalc-1.23-fixed-gcc.4.9/include/L.h 2014-04-21 14:32:04.003467348 +0200
-@@ -491,7 +491,7 @@
-
- //#include "Ldirichlet_series.h" //for computing Dirichlet series
- Complex partial_dirichlet_series(Complex s, long long N1, long long N2);
-- Complex dirichlet_series(Complex s, long long N);
-+ Complex dirichlet_series(Complex s, long long N=-1LL);
-
- //#include "Ltaylor_series.h" //for computing taylor series for Dirichlet series
- //void compute_taylor_series(int N, int K, Complex s_0, Complex *series);
diff --git a/gnu/packages/patches/lcalc-default-parameters-2.patch b/gnu/packages/patches/lcalc-default-parameters-2.patch
deleted file mode 100644
index 1d881ee0c4..0000000000
--- a/gnu/packages/patches/lcalc-default-parameters-2.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-Patch taken from the Sage packaging system.
-
---- lcalc-1.23/include/Lgamma.h 2012-08-08 23:21:55.000000000 +0200
-+++ lcalc-1.23/include/Lgamma.h 2014-05-18 21:15:27.786889718 +0200
-@@ -77,7 +77,7 @@
- //n=0 should just give log_GAMMA(z)... thus making log_GAMMA
- //code obsolete. But leave log_GAMMA intact anyways.
- template <class ttype>
--precise(ttype) log_GAMMA (ttype z,int n=0)
-+precise(ttype) log_GAMMA (ttype z,int n)
- {
- int M;
- precise(ttype) log_G,r,r2,y;
-@@ -230,7 +230,7 @@
- //value exp_w which holds exp(-w)
- //computes G(z,w), so there's an extra w^(-z) factor.
- template <class ttype>
--Complex inc_GAMMA (ttype z,ttype w, const char *method="temme", ttype exp_w = 0, bool recycle=false)
-+Complex inc_GAMMA (ttype z,ttype w, const char *method, ttype exp_w, bool recycle)
- {
-
- Complex G;
-@@ -334,7 +334,7 @@
-
-
- template <class ttype>
--ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w=0, bool recycle=false) //computes G(z,w) via continued fraction
-+ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via continued fraction
- {
-
- ttype G;
-@@ -424,7 +424,7 @@
- }
-
- template <class ttype>
--ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w = 0, bool recycle=false) //computes G(z,w) via asymptotic series
-+ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via asymptotic series
- {
-
- if(my_verbose>3) cout << "called asympt_GAMMA("<<z<<","<<w<<")"<< endl;
-@@ -446,7 +446,7 @@
-
-
- template <class ttype>
--ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w = 0, bool recycle=false) //computes g(z,w)
-+ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w, bool recycle) //computes g(z,w)
- {
-
- ttype g;
-@@ -604,7 +604,7 @@
- }
-
- template <class ttype>
--Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta=1, const char *method="temme")
-+Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta, const char *method)
- {
- Complex SUM=0;
-
diff --git a/gnu/packages/patches/lcalc-lcommon-h.patch b/gnu/packages/patches/lcalc-lcommon-h.patch
deleted file mode 100644
index 897956de64..0000000000
--- a/gnu/packages/patches/lcalc-lcommon-h.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Patch taken from the Sage packaging system.
-
---- src/include/Lcommon.h 2010-01-31 15:16:45.000000000 +0000
-+++ src/include/Lcommon.h 2011-03-08 21:19:11.849443238 +0000
-@@ -25,7 +25,7 @@
- #ifdef USE_MPFR
- inline double lcalc_to_double(const double& x) { return x; }
- #endif
--//inline double lcalc_to_double(const long double& x) { return x; }
-+inline double lcalc_to_double(const long double& x) { return x; }
- inline double lcalc_to_double(const int& x) { return x; }
- inline double lcalc_to_double(const long long& x) { return x; }
- inline double lcalc_to_double(const short& x) { return x; }
diff --git a/gnu/packages/patches/lcalc-using-namespace-std.patch b/gnu/packages/patches/lcalc-using-namespace-std.patch
deleted file mode 100644
index 6e0075fdc8..0000000000
--- a/gnu/packages/patches/lcalc-using-namespace-std.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Patch taken from the Sage packaging system.
-
-diff --git a/include/Lcommon.h b/include/Lcommon.h
-index 1b3be43..bf40532 100644
---- a/include/Lcommon.h
-+++ b/include/Lcommon.h
-@@ -48,7 +48,7 @@ const bool outputSeries=true; // Whether to output the coefficients or just th
-
- // Loop i from m to n
- // Useful in tidying up most for loops
--#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++)
-+#define loop(i,m,n) for(auto i=(m); i!=(n); i++)
-
- // A class for calculations involving polynomials of small degree
- // Not efficient enough for huge polynomials
-diff --git a/include/Lcommon_ld.h b/include/Lcommon_ld.h
-index 86ae4df..33c560c 100644
---- a/include/Lcommon_ld.h
-+++ b/include/Lcommon_ld.h
-@@ -53,7 +53,7 @@ const bool outputSeries=true; // Whether to output the coefficients or just th
-
- // Loop i from m to n
- // Useful in tidying up most for loops
--#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++)
-+#define loop(i,m,n) for(auto i=(m); i!=(n); i++)
-
- // A class for calculations involving polynomials of small degree
- // Not efficient enough for huge polynomials
-diff --git a/include/Lglobals.h b/include/Lglobals.h
-index 60002e4..ca2606c 100644
---- a/include/Lglobals.h
-+++ b/include/Lglobals.h
-@@ -24,9 +24,9 @@
- #ifndef Lglobals_H
- #define Lglobals_H
-
-+#include <valarray>
- using namespace std;
-
--#include <valarray>
- #ifdef USE_MPFR
- #include "Lgmpfrxx.h"
- typedef mpfr_class Double;
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index b29620a946..1237ff8e04 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -38,6 +38,7 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages lisp)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz))
@@ -292,59 +293,27 @@ (define-public brial
(define-public lcalc
(package
(name "lcalc")
- (version "1.23")
- ;; The original home page of the project has disappeared, as well as
- ;; code hosted by the original author on Google Code. The latter has
- ;; been copied to gitlab.com/sagemath and purportedly contains patches
- ;; for a never released version 1.3, that supposedly follows 1.23.
- ;; We use the tarball as well as the patches hosted inside the sage
- ;; package system distributed with the sage tarball.
- (source
- (origin
- (method url-fetch)
- (uri (string-append "ftp://ftp.fu-berlin.de/unix/misc/sage/spkg/"
- "upstream/lcalc/lcalc-1.23.tar.bz2"))
- (sha256
- (base32
- "1c6dsdshgxhqppjxvxhp8yhpxaqvnz3d1mlh26r571gkq8z2bm43"))
- (patches (search-patches "lcalc-lcommon-h.patch"
- "lcalc-default-parameters-1.patch"
- "lcalc-default-parameters-2.patch"
- "lcalc-using-namespace-std.patch"))))
+ (version "2.0.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/sagemath/lcalc")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1rwyx292y3jbsp88wagn9nhl9z7wsnl2yrs5imxkbxq87pnrj5a7"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ;no tests
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (add-before 'build 'prepare-build
- (lambda* (#:key outputs #:allow-other-keys)
- (chdir "src")
- (let ((out (assoc-ref outputs "out")))
- (substitute* "Makefile"
- (("^INSTALL_DIR= /usr/local")
- (string-append "INSTALL_DIR=" out))))
- #t))
- (add-before 'install 'make-output-dirs
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (lib (string-append out "/lib"))
- (include (string-append out "/include")))
- (mkdir-p bin)
- (mkdir-p lib)
- (mkdir-p include))
- #t)))))
- ;; FIXME:
- ;; We need to add pari-gp and probably pari related patches from the
- ;; sage project, as well as uncomment the line setting PARI_DEFINE in
- ;; the Makefile to get the full functionality of this package.
- ;; For the time being, we hope that sage can be compiled without.
- (synopsis "C++ library for L-functions")
- (description "Lcalc computes L-functions, in particular the Riemann
-zeta function and its twists by quadratic characters.")
- (license license:gpl2+)
- (home-page "https://gitlab.com/sagemath/sage")))
+ (list #:configure-flags '(list "--with-pari")))
+ (inputs (list pari-gp))
+ (native-inputs (list autoconf automake libtool pkg-config gengetopt))
+ (home-page "https://gitlab.com/sagemath/lcalc")
+ (synopsis "C++ library for with L-functions")
+ (description
+ "Lcalc computes L-functions, in particular the Riemann zeta function and its
+twists by quadratic characters.")
+ (license license:gpl2+)))
(define-public ratpoints
(package
--
2.37.0
V
V
vicvbcun wrote on 23 Jul 2022 22:52
[RFC PATCH 10/10] gnu: Add sagemath.
(address . 56729@debbugs.gnu.org)(name . vicvbcun)(address . guix@ikherbers.com)
8b34d84b936a6f6d94479116e15bd5dfa2cd2cdb.1658595756.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath): New variable.
---

Notes:
- I'm not sure about native inputs vs. inputs here.
- There is a broken symlink in share/jupyter/kernels/sagemath/doc is
currently a broken symlink. We should probably remove it and add it
into the documentation output.
- bin/ is currently full of random stuff, we probably only need a few
things.

gnu/packages/sagemath.scm | 106 ++++++++++++++++++++++++++++++++++++++
1 file changed, 106 insertions(+)

Toggle diff (144 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 335d98d9f4..f84440db93 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Jakub K?dzio?ka <kuba@kadziolka.net>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2022 vicvbcun <guix@ikherbers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,6 +26,7 @@ (define-module (gnu packages sagemath)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
@@ -34,6 +36,8 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages gd)
+ #:use-module (gnu packages graph)
#:use-module (gnu packages image)
#:use-module (gnu packages lisp)
#:use-module (gnu packages maths)
@@ -41,6 +45,7 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz))
@@ -400,3 +405,104 @@ (define-public python-pplpy
"This Python module pplpy provides a wrapper to the C++ Parma Polyhedra
Library (PPL).")
(license license:gpl3)))
+
+(define-public sagemath
+ (package
+ (name "sagemath")
+ (version "9.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sagemath/sage")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k91l3aid09hy94ps2r6acg22bxgsprxnh1b92hma3z1mn0ii3s1"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:tests? #f ; may take a long time, I'm scared
+ #:use-setuptools? #f
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'prepare-build
+ (lambda _
+ (setenv "SAGE_NUM_THREADS"
+ (number->string (parallel-job-count)))
+ (setenv "SAGE_VENV" #$output)
+ (chdir "src")))
+ (add-after 'install 'fix-logo-symlinks
+ ;; these symlinks point to /tmp/guix-build-... so we
+ ;; need to recreate them
+ (lambda _
+ (for-each
+ (lambda (file)
+ (let
+ ((source (string-append "sage/ext_data/notebook-ipython/" file))
+ (target (string-append #$output "/share/jupyter/kernels/sagemath/" file)))
+ (delete-file target)
+ (copy-file source target)))
+ '("logo.svg" "logo-64x64.png"))))
+ (add-after 'install 'delete-nbextensions
+ ;; broken symlink to threejs-sage which we
+ ;; don't even package
+ (lambda _
+ (delete-file-recursively (string-append #$output "/share/jupyter/nbextensions"))))
+ (add-after 'install 'install-bin
+ ;; so far, we have only installed the
+ ;; library part of sage
+ (lambda _
+ ;; this copies way to much
+ (copy-recursively "bin" (string-append #$output "/bin")))))))
+ (inputs (list arb
+ boost
+ brial
+ cliquer
+ ecl
+ eclib
+ edge-addition-planarity-suite
+ flint
+ gap
+ gd
+ giac
+ givaro
+ glpk
+ gmp
+ gmp-ecm
+ gsl
+ iml
+ lcalc
+ libbraiding
+ libhomfly
+ linbox
+ m4ri
+ m4rie
+ mpc
+ mpfi
+ ntl
+ openblas
+ pari-gp
+ python-cypari2
+ python-gmpy2
+ python-jinja2
+ python-jupyter-core
+ python-memory-allocator
+ python-numpy
+ python-pkgconfig
+ python-pplpy
+ python-setuptools
+ python-wheel
+ rw
+ singular
+ symmetrica
+ zlib
+ zn-poly))
+ (native-inputs (list pkg-config python-cython))
+ (home-page "https://www.sagemath.org")
+ (synopsis "Python-based computer algebra system")
+ (description
+ "SageMath is a free open-source mathematics software system licensed under the
+GPL. It builds on top of many existing open-source packages: NumPy, SciPy,
+matplotlib, Sympy, Maxima, GAP, FLINT, R and many more. Access their combined
+power through a common, Python-based language or directly via interfaces or
+wrappers.")
+ (license license:gpl3)))
--
2.37.0
V
V
vicvbcun wrote on 23 Jul 2022 22:51
[RFC PATCH 04/10] gnu: cliquer: Update to 1.22.
(address . 56729@debbugs.gnu.org)(name . vicvbcun)(address . guix@ikherbers.com)
a92553c08f12f536582ab3a4ea5bf914c94ed38c.1658595756.git.guix@ikherbers.com
Switch to an autotoolized fork.

* gnu/packages/sagemath.scm (cliquer): Update to 1.22.
---
gnu/packages/sagemath.scm | 25 ++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)

Toggle diff (46 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 75720f31a5..b29620a946 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -101,19 +101,18 @@ (define-public python-gmpy2
(define-public cliquer
(package
(name "cliquer")
- (version "1.21")
- ;; The original source package is available from the home page and
- ;; has not seen any release since 2010; it comes with only a Makefile
- ;; without an "install" target. Instead, there is an autotoolized
- ;; tarball available from the Sage project.
- (source
- (origin
- (method url-fetch)
- (uri "http://users.ox.ac.uk/~coml0531/sage/cliquer-1.21.tar.gz")
- (sha256
- (base32
- "1hdzrmrx0nvvj8kbwxrs8swqgkd284khzl623jizixcv28xb77aq"))))
+ (version "1.22")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dimpase/autocliquer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00gcmrhi2fjn8b246w5a3b0pl7p6haxy5wjvd9kcqib1xanz59z4"))))
(build-system gnu-build-system)
+ (native-inputs (list autoconf automake libtool))
(synopsis "C routines for finding cliques in weighted graphs")
(description "Cliquer is a set of reentrant C routines for finding
cliques in a weighted or unweighted graph. It uses an exact
@@ -122,7 +121,7 @@ (define-public cliquer
search to maximal cliques, store cliques in memory and call a user-defined
function for every found clique.")
(license license:gpl2+)
- (home-page "https://users.aalto.fi/~pat/cliquer.html")))
+ (home-page "https://github.com/dimpase/autocliquer")))
(define-public libbraiding
(package
--
2.37.0
L
L
Ludovic Courtès wrote on 1 Aug 2022 11:24
Re: bug#56729: [RFC PATCH 00/10] Add sagemath.
(name . vicvbcun)(address . guix@ikherbers.com)
87y1w81flc.fsf@gnu.org
Hello!

vicvbcun <guix@ikherbers.com> skribis:

Toggle quote (5 lines)
> This series adds SageMath. Everything compiles just fine and even the
> Jupyter notebook interface works, but there is still much work to do. So
> far, I have only added the minimal set of inputs required for the build
> to succeed. Tests and documentations are still missing.

This looks great already! To make sure things don’t stall, we could
apply the patch series piecemeal, starting with the dependencies that
you think are ready, and leaving more time to polish the ‘sagemath’
package.

WDYT?

Regarding SageMath, my understanding is that it bundles lots of things.
In Guix, we’d like to make sure we do not use the bundled packages,
unless we practically can’t avoid it. To do that, the best option is to
remove “third-party” (or similar) directories right in the ‘snippet’ of
the ‘sagemath’ package. Could you give that a try?

Then, as you note, we’d rather run tests to make sure the package works
as intended.

Cc’ing Andreas, who I think is quite familiar with Sage.

Ludo’.
G
Re: [bug#56729] [RFC PATCH 00/10] Add sagemath.
(name . Ludovic Courtès)(address . ludo@gnu.org)
Yuo+J48rdyIRZzPZ@localhost
Hello,

On 2022-08-01T11:24:31+0200, Ludovic Courtès wrote:
Toggle quote (11 lines)
> > This series adds SageMath. Everything compiles just fine and even the
> > Jupyter notebook interface works, but there is still much work to do. So
> > far, I have only added the minimal set of inputs required for the build
> > to succeed. Tests and documentations are still missing.
>
> This looks great already! To make sure things don’t stall, we could
> apply the patch series piecemeal, starting with the dependencies that
> you think are ready, and leaving more time to polish the ‘sagemath’
> package.
>
> WDYT?
Sounds like a good idea. The updates all seem fine to me (except gap)
and other than perhaps a better description for python-memory-allocator
I don't think there is much left to do for the other ones.

As for gap, I took another stab at it and it now builds reproducibly for
me. I also removed all the trailing #t's and changed the phases to use a
gexp.
By the way, the gap definition contains a snippet that deletes many gap
packages over concerns due to missing explicit licenses. However in a
cursory look at the tarball, I can see many LICENSE/COPYING files so
that may have changed.

Toggle quote (5 lines)
> Regarding SageMath, my understanding is that it bundles lots of things.
> In Guix, we’d like to make sure we do not use the bundled packages,
> unless we practically can’t avoid it. To do that, the best option is to
> remove “third-party” (or similar) directories right in the ‘snippet’ of
> the ‘sagemath’ package. Could you give that a try?
If I understand the Sage build system correctly, missing dependencies
are automatically retrieved and build only when using the provided
Makefile. As is, the package definition builds and installs only the
python library part using setup.py. Thus a missing dependency probably
leads to a runtime error, though I haven't checked this.

Toggle quote (2 lines)
> Then, as you note, we’d rather run tests to make sure the package works
> as intended.
I will try to see if I can get tests to work, though probably as
separate "package" like nixpkgs does[0], to avoid rebuilding sagemath so
often :).

As for sagemath itself, I will have a look at what exactly we need in
bin/.

[0]:
V
V
vicvbcun wrote on 3 Aug 2022 11:25
[RFC PATCH v2] gnu: gap: Update to 4.11.1.
(address . 56729@debbugs.gnu.org)
f3547b7c9e719d788dde289a470b72a4ebb44527.1659518175.git.guix@ikherbers.com
Remove logs that are not reproducible.

* gnu/packages/algebra.scm (gap): Update to 4.11.1.
[source]<snippet>: Remove trailing #t.
[arguments]<#:phases>: Remove trailing #t, use gexps.
[install]: Install missing config.h header.
---
gnu/packages/algebra.scm | 181 +++++++++++++++++++--------------------
1 file changed, 90 insertions(+), 91 deletions(-)

Toggle diff (215 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 95fbdb5e36..c3b1c7fc3b 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1209,17 +1209,17 @@ (define-public xtensor-benchmark
(define-public gap
(package
(name "gap")
- (version "4.11.0")
+ (version "4.11.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://files.gap-system.org/gap-"
(version-major+minor version)
- "/tar.bz2/gap-"
+ "/tar.gz/gap-"
version
- ".tar.bz2"))
+ ".tar.gz"))
(sha256
- (base32 "00l6hvy4iggnlrib4vp805sxdm3j7n3hzpv5zs9hbiiavh80l1xz"))
+ (base32 "01535s81h254zcs84zi95xqmhvvn6fn9qss8761myxc2gpdcadb6"))
(modules '((guix build utils) (ice-9 ftw) (srfi srfi-1)))
(snippet
'(begin
@@ -1235,97 +1235,96 @@ (define-public gap
;; given by their names up to version numbers.
(with-directory-excursion "pkg"
(for-each delete-file-recursively
- (lset-difference
- (lambda (all keep) (string-prefix? keep all))
- (scandir ".")
- '("." ".."
- ;; Necessary packages.
- "GAPDoc-"
- "primgrp-"
- "SmallGrp-" ; artistic2.0
- "transgrp" ; artistic2.0 for data,
- ; gpl2 or gpl3 for code
- ;; Recommended package.
- "io-" ; gpl3+
- ;; Optional packages, searched for at start,
- ;; and their depedencies.
- "alnuth-"
- "autpgrp-"
- "crisp-" ; bsd-2
- "ctbllib" ; gpl3+, clarified in the next release;
- ; see
- ; http://www.math.rwth-aachen.de/~Thomas.Breuer/ctbllib/README.md
- "FactInt-"
- "fga"
- "irredsol-" ; bsd-2
- "laguna-"
- "polenta-"
- "polycyclic-"
- "radiroot-"
- "resclasses-"
- "sophus-"
- "tomlib-"
- "utils-"))))
- #t))))
+ (lset-difference
+ (lambda (all keep) (string-prefix? keep all))
+ (scandir ".")
+ '("." ".."
+ ;; Necessary packages.
+ "GAPDoc-"
+ "primgrp-"
+ "SmallGrp-" ; artistic2.0
+ "transgrp" ; artistic2.0 for data,
+ ; gpl2 or gpl3 for code
+ ;; Recommended package.
+ "io-" ; gpl3+
+ ;; Optional packages, searched for at start,
+ ;; and their depedencies.
+ "alnuth-"
+ "autpgrp-"
+ "crisp-" ; bsd-2
+ "ctbllib" ; gpl3+, clarified in the next release;
+ ; see
+ ; http://www.math.rwth-aachen.de/~Thomas.Breuer/ctbllib/README.md
+ "FactInt-"
+ "fga"
+ "irredsol-" ; bsd-2
+ "laguna-"
+ "polenta-"
+ "polycyclic-"
+ "radiroot-"
+ "resclasses-"
+ "sophus-"
+ "tomlib-"
+ "utils-"))))))))
(build-system gnu-build-system)
(inputs
(list gmp readline zlib))
(arguments
- `(#:modules ((ice-9 ftw)
- (srfi srfi-26)
- (guix build gnu-build-system)
- (guix build utils))
- #:phases
- (modify-phases %standard-phases
- (add-after 'build 'build-packages
- ;; Compile all packages that have not been deleted by the
- ;; code snippet above.
- (lambda _
- (setenv "CONFIG_SHELL" (which "bash"))
- (with-directory-excursion "pkg"
- (invoke "../bin/BuildPackages.sh")
- #t)))
- (add-after 'build-packages 'build-doc
- ;; The documentation is bundled, but we create it from source.
- (lambda _
- (with-directory-excursion "doc"
- (invoke "./make_doc"))
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (prog (string-append bin "/gap"))
- (prog-real (string-append bin "/.gap-real"))
- (share (string-append out "/share/gap")))
- ;; Install only the gap binary; the gac compiler is left
- ;; for maybe later. "Wrap" it in a shell script that calls
- ;; the binary with the correct parameter.
- ;; The make target install-bin is supposed to do that, but
- ;; is not currently working.
- (mkdir-p bin)
- (copy-file "gap" prog-real)
- (call-with-output-file prog
- (lambda (port)
- (format port
- "#!~a~%exec ~a -l ~a \"$@\"~%"
- (which "bash")
- prog-real
- share)))
- (chmod prog #o755)
- ;; Install the headers and library, which are needed by Sage.
- (invoke "make" "install-headers")
- (invoke "make" "install-libgap")
- ;; Remove information on the build directory from sysinfo.gap.
- (substitute* "sysinfo.gap"
- (("GAP_BIN_DIR=\".*\"") "GAP_BIN_DIR=\"\"")
- (("GAP_LIB_DIR=\".*\"") "GAP_LIB_DIR=\"\"")
- (("GAP_CPPFLAGS=\".*\"") "GAP_CPPFLAGS=\"\""))
- (invoke "make" "install-gaproot")
- ;; Copy the directory of compiled packages; the make target
- ;; install-pkg is currently empty.
- (copy-recursively "pkg" (string-append share "/pkg")))
- #t)))))
+ (list #:modules '((ice-9 ftw)
+ (srfi srfi-26)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'build 'build-packages
+ ;; Compile all packages that have not been deleted by the
+ ;; code snippet above.
+ (lambda _
+ (setenv "CONFIG_SHELL" (which "bash"))
+ (with-directory-excursion "pkg"
+ (invoke "../bin/BuildPackages.sh"))))
+ (add-after 'build-packages 'build-doc
+ ;; The documentation is bundled, but we create it from source.
+ (lambda _
+ (with-directory-excursion "doc"
+ (invoke "./make_doc"))))
+ (replace 'install
+ (lambda _
+ (let* ((bin (string-append #$output "/bin"))
+ (prog (string-append bin "/gap"))
+ (prog-real (string-append bin "/.gap-real"))
+ (share (string-append #$output "/share/gap")))
+ ;; Install only the gap binary; the gac compiler is left
+ ;; for maybe later. "Wrap" it in a shell script that calls
+ ;; the binary with the correct parameter.
+ ;; The make target install-bin is supposed to do that, but
+ ;; is not currently working.
+ (mkdir-p bin)
+ (copy-file "gap" prog-real)
+ (call-with-output-file prog
+ (lambda (port)
+ (format port
+ "#!~a~%exec ~a -l ~a \"$@\"~%"
+ (which "bash")
+ prog-real
+ share)))
+ (chmod prog #o755)
+ ;; Install the headers and library, which are needed by Sage.
+ (invoke "make" "install-headers")
+ (invoke "make" "install-libgap")
+ (install-file "gen/config.h" (string-append #$output "/include/gap"))
+ ;; Remove information on the build directory from sysinfo.gap.
+ (substitute* "sysinfo.gap"
+ (("GAP_BIN_DIR=\".*\"") "GAP_BIN_DIR=\"\"")
+ (("GAP_LIB_DIR=\".*\"") "GAP_LIB_DIR=\"\"")
+ (("GAP_CPPFLAGS=\".*\"") "GAP_CPPFLAGS=\"\""))
+ (invoke "make" "install-gaproot")
+ ;; Copy the directory of compiled packages; the make target
+ ;; install-pkg is currently empty.
+ (copy-recursively "pkg" (string-append share "/pkg"))
+ ;; these log files are not reproducible
+ (delete-file (string-append share "/pkg/io-4.7.0/config.log"))
+ (delete-file-recursively (string-append share "/pkg/log"))))))))
(home-page "https://www.gap-system.org/")
(synopsis
"System for computational group theory")

base-commit: f6904c0b19c2fcca41bbf1400c738bd833fec9a8
prerequisite-patch-id: 73510fd06d7520fe1f53a6d654ad79bfb197731a
--
2.37.0
V
V
vicvbcun wrote on 6 Aug 2022 03:28
Re: [bug#56729] [RFC PATCH 00/10] Add sagemath.
(address . 56729@debbugs.gnu.org)
Yu3Dxy53b55SP7CR@localhost
On 2022-07-23T21:59:07+0200, vicvbcun wrote:
Toggle quote (2 lines)
> Everything compiles just fine and even the Jupyter notebook interface
> works, [...]
Well, I spoke to soon. As it turns out, the `sage' command I invoked to
test things a bit wound up using the sage installed by pacman, so no
wonder it worked perfectly. Nonetheless, I got some things working in a
guix shell container (so hopefully this wont happen again) with the help
of wrap-program and a few more dependencies.

I will try to post something that actually works a bit soon.
A
A
Andreas Enge wrote on 8 Aug 2022 16:40
Re: bug#56729: [RFC PATCH 00/10] Add sagemath.
(name . Ludovic Courtès)(address . ludo@gnu.org)
YvEgZWGgYSkaEx3J@jurong
Attachment: file
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 02/29] gnu: edge-addition-planarity-suite: Update to 3.0.2.0.
(address . 56729@debbugs.gnu.org)
c852616a132bfca5b96416c8d2b2d762520a7116.1659973115.git.guix@ikherbers.com
* gnu/packages/graph.scm (edge-addition-planarity-suite): Update to 3.0.2.0.
---
gnu/packages/graph.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 9aadab45e6..109ba68675 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -537,7 +537,7 @@ (define-public python-leidenalg
(define-public edge-addition-planarity-suite
(package
(name "edge-addition-planarity-suite")
- (version "3.0.0.5")
+ (version "3.0.2.0")
(source
(origin
(method git-fetch)
@@ -548,7 +548,7 @@ (define-public edge-addition-planarity-suite
(file-name (git-file-name name version))
(sha256
(base32
- "01cm7ay1njkfsdnmnvh5zwc7wg7x189hq1vbfhh9p3ihrbnmqzh8"))))
+ "1c7bnxgiz28mqsq3a3msznmjq629w0qqjynm2rqnnjn2qpc22h3i"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake libtool))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:46
[RFC PATCH v2 27/29] gnu: Add sagemath-just-build.
(address . 56729@debbugs.gnu.org)
da87cdc939ce3cb5d10f703a2dd79f7b451a06d1.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath-just-build): New variable.
---
gnu/packages/sagemath.scm | 134 ++++++++++++++++++++++++++++++++++++++
1 file changed, 134 insertions(+)

Toggle diff (158 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 5a3c893b61..cf48182047 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -39,6 +39,8 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages gd)
+ #:use-module (gnu packages graph)
#:use-module (gnu packages image)
#:use-module (gnu packages lisp)
#:use-module (gnu packages maths)
@@ -46,6 +48,7 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz))
@@ -772,3 +775,134 @@ (define-public pari-galdata
(description synopsis)
;; see home-page
(license license:gpl2+)))
+
+;;; This only builds sagemath, using the minimum set of dependencies
+(define-public sagemath-just-build
+ (package
+ (name "sagemath-just-build")
+ (version "9.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sagemath/sage")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k91l3aid09hy94ps2r6acg22bxgsprxnh1b92hma3z1mn0ii3s1"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:tests? #f ; see sagemath-tests
+ #:use-setuptools? #f
+ #:modules '((guix build python-build-system)
+ (guix build utils)
+ (ice-9 ftw))
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'prepare-build
+ (lambda _
+ (setenv "SAGE_NUM_THREADS"
+ (number->string (parallel-job-count)))
+ (setenv "SAGE_VENV" #$output)
+ (chdir "src")))
+ (add-after 'install 'fix-logo-symlinks
+ ;; these symlinks point to /tmp/guix-build-... so we
+ ;; need to recreate them
+ (lambda _
+ (for-each
+ (lambda (file)
+ (let
+ ((source (string-append "sage/ext_data/notebook-ipython/" file))
+ (target (string-append #$output "/share/jupyter/kernels/sagemath/" file)))
+ (delete-file target)
+ (copy-file source target)))
+ '("logo.svg" "logo-64x64.png"))))
+ (add-after 'install 'delete-nbextensions
+ ;; broken symlink to threejs-sage which we don't
+ ;; even package
+ (lambda _
+ (delete-file-recursively (string-append #$output "/share/jupyter/nbextensions"))))
+ (add-after 'install 'install-missing-files
+ ;; not installed yet for some reason
+ (lambda _
+ (copy-recursively "sage/ext_data"
+ (string-append #$output "/lib/python3.9/site-packages/sage/ext_data"))
+ (install-file "sage/libs/gap/sage.gaprc"
+ (string-append #$output "/lib/python3.9/site-packages/sage/libs/gap"))
+ (install-file "sage/interfaces/sage-maxima.lisp"
+ (string-append #$output "/lib/python3.9/site-packages/sage/interfaces"))))
+ (add-after 'install 'install-bin
+ ;; so far, we have only installed the
+ ;; library part of sage
+ (lambda _
+ (copy-recursively "bin" (string-append #$output "/bin"))
+ ;; we don't need these
+ (delete-file (string-append #$output "/bin/sage-env-config.in"))
+ (delete-file (string-append #$output "/bin/sage-src-env-config.in"))))
+ (add-after 'install-bin 'wrap-bin
+ (lambda _
+ (with-directory-excursion (string-append #$output "/bin")
+ (for-each
+ (lambda (file)
+ (wrap-program file
+ `("PATH" ":" suffix (,(string-append #$output "/bin")
+ #$(file-append sed "/bin")
+ #$(file-append coreutils "/bin")
+ #$(file-append python "/bin")))))
+ (scandir "."
+ ;; select only executables
+ (lambda (file)
+ (and (eq? 'regular (stat:type (stat file)))
+ (access? file X_OK)))))))))))
+ (inputs (list arb
+ boost
+ brial
+ cliquer
+ ecl
+ eclib
+ edge-addition-planarity-suite
+ flint
+ gap
+ gd
+ giac
+ givaro
+ glpk
+ gmp
+ gmp-ecm
+ gsl
+ iml
+ lcalc
+ libbraiding
+ libhomfly
+ linbox
+ m4ri
+ m4rie
+ mpc
+ mpfi
+ ntl
+ openblas
+ pari-gp
+ python-cypari2
+ python-gmpy2
+ python-jinja2
+ python-jupyter-core
+ python-memory-allocator
+ python-numpy
+ python-pkgconfig
+ python-pplpy
+ python-setuptools
+ python-wheel
+ rw
+ singular
+ symmetrica
+ zlib
+ zn-poly))
+ (native-inputs (list pkg-config python-cython))
+ (home-page "https://www.sagemath.org")
+ (synopsis "Python-based computer algebra system")
+ (description
+ "SageMath is a free open-source mathematics software system licensed under the
+GPL. It builds on top of many existing open-source packages: NumPy, SciPy,
+matplotlib, Sympy, Maxima, GAP, FLINT, R and many more. Access their combined
+power through a common, Python-based language or directly via interfaces or
+wrappers.")
+ (license license:gpl3)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 16/29] gnu: Add python-lrcalc.
(address . 56729@debbugs.gnu.org)
9098133eb9de62cfae8fda11888ce464a463eff8.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (python-lrcalc): New variable.
---
gnu/packages/sagemath.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (28 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index d8b70e6f23..16810a2d2b 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -447,3 +447,21 @@ (define-public python-primecountpy
(synopsis "Cython interface for C++ primecount library")
(description "Cython interface for C++ primecount library")
(license license:gpl3)))
+
+(define-public python-lrcalc
+ (package
+ (name "python-lrcalc")
+ (version "2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "lrcalc" version))
+ (sha256
+ (base32
+ "1adassfjalsdsngy01c37835qsx3gj0jx9cinc9b91x4xnd51873"))))
+ (build-system python-build-system)
+ (inputs (list lrcalc))
+ (native-inputs (list python-cython))
+ (home-page "https://math.rutgers.edu/~asbuch/lrcalc")
+ (synopsis "Littlewood-Richardson Calculator bindings")
+ (description "Littlewood-Richardson Calculator bindings")
+ (license license:gpl3+)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:46
[RFC PATCH v2 25/29] gnu: Add sagemath-data-poytopes-db.
(address . 56729@debbugs.gnu.org)
844f866923ceb072887afd1a79208df9f62905c0.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath-data-poytopes-db): New variable.
---
gnu/packages/sagemath.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 037d42b1dc..1f5c51bf86 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -731,3 +731,24 @@ (define-public sagemath-data-graphs
(description synopsis)
;; Arch says gpl
(license #f)))
+
+(define-public sagemath-data-polytopes-db
+ (package
+ (name "sagemath-data-polytopes-db")
+ (version "20170220")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://mirrors.mit.edu/sage/spkg/upstream/polytopes/polytopes-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "1q0cd811ilhax4dsj9y5p7z8prlalqr7k9mzq178c03frbgqny6b"))))
+ (build-system copy-build-system)
+ (arguments '(#:install-plan '(("." "share/reflexive_polytopes"))))
+ (home-page "https://www.sagemath.org")
+ (synopsis "Lists of 2- and 3-dimensional reflexive polytopes")
+ (description synopsis)
+ ;; Sage says gpl
+ (license #f)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 00/29] Add sagemath.
(address . 56729@debbugs.gnu.org)
cover.1659973115.git.guix@ikherbers.com
Hello guix!

This is a second try, hopefully this time without silly errors.

The packaging of sagemath is for now structured as follows:
- `sagemath-just-build' builds everything using the minimal set of
dependecies to avoid rebuilding where possible. As runtime
dependencies are missing, this is useless on its own.
- `sagemath-with-dependencies' adds all remaining dependencies as
propagated-inputs. This should work, if we set a few additional
environment variables.
- `sagemath-tests' simply runs the tests.

If I interpret the output correctly, these are the tests that are still
failing:
Toggle quote (31 lines)
> sage/calculus/calculus.py # 6 doctests failed
> sage/categories/primer.py # 1 doctest failed
> sage/doctest/control.py # 3 doctests failed
> sage/doctest/sources.py # 1 doctest failed
> sage/doctest/test.py # 1 doctest failed
> sage/env.py # 4 doctests failed
> sage/doctest/forker.py # 1 doctest failed
> sage/functions/exp_integral.py # 1 doctest failed
> sage/interfaces/gap_workspace.py # 2 doctests failed
> sage/interfaces/maxima_abstract.py # 2 doctests failed
> sage/interfaces/maxima_lib.py # 2 doctests failed
> sage/lfunctions/sympow.py # 10 doctests failed
> sage/libs/eclib/interface.py # 7 doctests failed
> sage/misc/package_dir.py # 1 doctest failed
> sage/modular/abvar/abvar.py # 1 doctest failed
> sage/modular/hecke/submodule.py # 1 doctest failed
> sage/plot/plot3d/tachyon.py # 2 doctests failed
> sage/repl/display/jsmol_iframe.py # 11 doctests failed
> sage/repl/display/formatter.py # 4 doctests failed
> sage/repl/ipython_kernel/install.py # 1 doctest failed
> sage/repl/ipython_tests.py # 2 doctests failed
> sage/repl/rich_output/backend_ipython.py # 1 doctest failed
> sage/repl/rich_output/output_graphics.py # 25 doctests failed
> sage/repl/rich_output/output_graphics3d.py # 34 doctests failed
> sage/repl/rich_output/output_video.py # 14 doctests failed
> sage/repl/rich_output/backend_doctest.py # 17 doctests failed
> sage/schemes/elliptic_curves/ell_rational_field.py # 14 doctests failed
> sage/symbolic/integration/integral.py # 1 doctest failed
> sage/symbolic/relation.py # 1 doctest failed
> sage/tests/gap_packages.py # 1 doctest failed
> sage/tests/cmdline.py # 14 doctests failed
Some of these seem harmless, others seem more concerning (including
segmentation faults), some due to still missing dependencies.

Some Notes:
- We need to set some environment variables, so that sage can find all
dependencies (see `sagemath-tests'). I suppose we could wrap the
`sage' command, but this would of course add them as dependencies.

- For the `sagemath-data-*' packages, I couldn't find explicit Licenses.
In Sage's COPYING.txt it just says "None (database)" for license.

- How should we handle test failures? Given errors such as the ones
below, it seems delusional to expect every test to succeed.
Toggle quote (14 lines)
> Failed example:
> solve_ineq_fourier([x+y<9,x-y>4],[y,x])
> Expected:
> [[y < min(x - 4, -x + 9)]]
> Got:
> [[y < min(-x + 9, x - 4)]]

> Failed example:
> FDS.basename
> Expected:
> 'sage.rings.integer'
> Got:
> '/gnu/store/.../lib/python3.9/site-packages/sage/rings/integer.pyx'

- `python-cython' is build-time dependency but may be needed at runtime.
This could cause issues when cross-compiling, right? I think its path
is only in the wrappers in bin/*.

vicvbcun (29):
gnu: Remove ecl-16.
gnu: edge-addition-planarity-suite: Update to 3.0.2.0.
gnu: gap: Update to 4.11.1.
gnu: cliquer: Update to 1.22.
gnu: lcalc: Update to 2.0.5.
gnu: ntl: Update to 11.5.1.
gnu: eclib: Update to 20220621.
gnu: lrcalc: Update to 2.1.
gnu: maxima: Update to 5.46.0.
gnu: python-sympy: Update to 1.10.1.
gnu: cddlib: Update to 0.94m.
gnu: Add python-memory-allocator.
gnu: Add python-pplpy.
gnu: Add primecount.
gnu: Add python-primecountpy.
gnu: Add python-lrcalc.
gnu: Add palp.
gnu: Add gfan.
gnu: Add flintqs.
gnu: Add tachyon.
gnu: Add sagemath-data-conway-polynomials.
gnu: Add sagemath-data-elliptic-curves.
gnu: Add sagemath-data-combinatorial-designs.
gnu: Add sagemath-data-graphs.
gnu: Add sagemath-data-poytopes-db.
gnu: Add pari-galdata.
gnu: Add sagemath-just-build.
gnu: Add sagemath-with-dependencies.
gnu: Add sagemath-tests.

gnu/local.mk | 9 +-
gnu/packages/algebra.scm | 203 +++--
gnu/packages/graph.scm | 4 +-
gnu/packages/maths.scm | 31 +-
.../ecl-16-format-directive-limit.patch | 83 --
.../ecl-16-ignore-stderr-write-error.patch | 17 -
gnu/packages/patches/ecl-16-libffi.patch | 16 -
.../patches/lcalc-default-parameters-1.patch | 26 -
.../patches/lcalc-default-parameters-2.patch | 58 --
gnu/packages/patches/lcalc-lcommon-h.patch | 13 -
.../patches/lcalc-using-namespace-std.patch | 43 -
gnu/packages/patches/lrcalc-includes.patch | 92 ---
gnu/packages/patches/tachyon-make-arch.patch | 13 +
gnu/packages/python-xyz.scm | 4 +-
gnu/packages/sagemath.scm | 780 ++++++++++++++++--
15 files changed, 833 insertions(+), 559 deletions(-)
delete mode 100644 gnu/packages/patches/ecl-16-format-directive-limit.patch
delete mode 100644 gnu/packages/patches/ecl-16-ignore-stderr-write-error.patch
delete mode 100644 gnu/packages/patches/ecl-16-libffi.patch
delete mode 100644 gnu/packages/patches/lcalc-default-parameters-1.patch
delete mode 100644 gnu/packages/patches/lcalc-default-parameters-2.patch
delete mode 100644 gnu/packages/patches/lcalc-lcommon-h.patch
delete mode 100644 gnu/packages/patches/lcalc-using-namespace-std.patch
delete mode 100644 gnu/packages/patches/lrcalc-includes.patch
create mode 100644 gnu/packages/patches/tachyon-make-arch.patch


base-commit: f6904c0b19c2fcca41bbf1400c738bd833fec9a8
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 21/29] gnu: Add sagemath-data-conway-polynomials.
(address . 56729@debbugs.gnu.org)
7314b2386dcd862d4405340ab7b3e27dac24df6b.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath-data-conway-polynomials): New variable.
---
gnu/packages/sagemath.scm | 48 +++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)

Toggle diff (72 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 4ffc3fb9ba..2d82c9ae2e 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -25,6 +25,7 @@ (define-module (gnu packages sagemath)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
+ #:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
@@ -33,6 +34,7 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
@@ -595,3 +597,49 @@ (define-public tachyon
(synopsis "Multithreaded ray tracing software")
(description synopsis)
(license license:bsd-3)))
+
+(define-public sagemath-data-conway-polynomials
+ (let
+ ((install-py-origin
+ (origin
+ (method url-fetch)
+ (uri
+ "https://raw.githubusercontent.com/sagemath/sage/9.6/build/pkgs/conway_polynomials/spkg-install.py")
+ (sha256 (base32
+ "1bwnqasnyv793hxg29viing4dnliz29grkhldsirq19d509yk1fs")))))
+ (package
+ (name "sagemath-data-conway-polynomials")
+ (version "0.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://mirrors.mit.edu/sage/spkg/upstream/conway_polynomials/conway_polynomials-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "05zb1ly9x2bbscqv0jgc45g48xx77mfs7qdbqhn4ihmihn57iwnq"))))
+ (build-system trivial-build-system)
+ (arguments
+ (list #:modules '((guix build utils))
+ #:builder #~(begin
+ (use-modules (guix build utils))
+
+ (setenv "PATH"
+ (string-append #+(file-append bzip2 "/bin")
+ ":"
+ #+(file-append tar "/bin")
+ ":"
+ #+(file-append python "/bin")))
+ (setenv "SAGE_SHARE" (string-append #$output "/share"))
+ (setenv "PYTHONPATH" (getcwd))
+
+ (invoke "tar" "-xvf" #$source)
+ (symlink (string-append "conway_polynomials-" #$version) "src")
+ (invoke "python3" (assoc-ref %build-inputs "install-py")))))
+ (inputs `(("install-py" ,install-py-origin)))
+ (home-page
+ "https://www.math.rwth-aachen.de/~Frank.Luebeck/data/ConwayPol/index.html")
+ (synopsis "Tables of Conway polynomials over finite fields")
+ (description synopsis)
+ ;; no idea, Arch claims gpl, debian gpl2+??
+ (license #f))))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 20/29] gnu: Add tachyon.
(address . 56729@debbugs.gnu.org)
b895c20277e3d07aa9f38e6179f69af5843054f6.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (tachyon): New variable.
* gnu/packages/patches/tachyon-make-arch.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add here.
---
gnu/local.mk | 1 +
gnu/packages/patches/tachyon-make-arch.patch | 13 ++++++
gnu/packages/sagemath.scm | 48 ++++++++++++++++++++
3 files changed, 62 insertions(+)
create mode 100644 gnu/packages/patches/tachyon-make-arch.patch

Toggle diff (90 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 3877d1aeb3..aa38f66066 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1832,6 +1832,7 @@ dist_patch_DATA = \
%D%/packages/patches/t1lib-CVE-2011-0764.patch \
%D%/packages/patches/t1lib-CVE-2011-1552+.patch \
%D%/packages/patches/t4k-common-libpng16.patch \
+ %D%/packages/patches/tachyon-make-arch.patch \
%D%/packages/patches/tao-add-missing-headers.patch \
%D%/packages/patches/tao-fix-parser-types.patch \
%D%/packages/patches/tar-remove-wholesparse-check.patch \
diff --git a/gnu/packages/patches/tachyon-make-arch.patch b/gnu/packages/patches/tachyon-make-arch.patch
new file mode 100644
index 0000000000..4e721092a7
--- /dev/null
+++ b/gnu/packages/patches/tachyon-make-arch.patch
@@ -0,0 +1,13 @@
+--- a/unix/Make-arch 2022-08-07 22:05:30.738754355 +0200
++++ b/unix/Make-arch 2022-08-07 22:31:59.969229824 +0200
+@@ -1453,9 +1453,6 @@
+ # Linux x86 using gcc, with threads
+ linux-thr:
+ $(MAKE) all \
+- "ARCH = linux-thr" \
+- "CC = cc" \
+ "CFLAGS = -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux $(THREADSFLAGS) -D_REENTRANT $(MISCFLAGS)" \
+- "AR = ar" \
+ "ARFLAGS = r" \
+ "STRIP = strip" \
+ "RANLIB = ranlib" \
\ No newline at end of file
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index b59c93f13a..4ffc3fb9ba 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -547,3 +547,51 @@ (define-public flintqs
factorization")
(description synopsis)
(license license:gpl2)))
+
+(define-public tachyon
+ (package
+ (name "tachyon")
+ (version "0.99.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://jedi.ks.uiuc.edu/~johns/raytracer/files/" version
+ "/tachyon-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1xd6h5d4v6dsnm6w46bdcr15fwkcz44p8dncymfry50i4c83q809"))
+ (patches (search-patches "tachyon-make-arch.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests? #f ; no tests
+ #:make-flags #~(list "linux-thr"
+ (string-append "CC=" #$(cc-for-target))
+ (string-append "AR=" #$(ar-for-target)))
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'cd-to-src
+ (lambda _
+ (chdir "unix")))
+ (add-before 'build 'enable-png-jpeg-support
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Make-config"
+ (("USEJPEG=") "USEJPEG = -DUSEJPEG")
+ (("JPEGLIB=") "JPEGLIB = -ljpeg")
+ (("USEPNG=") "USEPNG = -DUSEPNG")
+ (("PNGLIB=") "PNGLIB = -lpng -lz"))))
+ (add-before 'build 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Make-config"
+ (("SHELL=/bin/sh")
+ (string-append "SHELL=" (search-input-file inputs "/bin/sh"))))))
+ (replace 'install
+ (lambda _
+ (install-file "../compile/tachyon"
+ (string-append #$output "/bin"))
+ (install-file "../compile/libtachyon.a"
+ (string-append #$output "/lib")))))))
+ (inputs (list libjpeg-turbo libpng))
+ (home-page "http://jedi.ks.uiuc.edu/~johns/raytracer/")
+ (synopsis "Multithreaded ray tracing software")
+ (description synopsis)
+ (license license:bsd-3)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 24/29] gnu: Add sagemath-data-graphs.
(address . 56729@debbugs.gnu.org)
cac5af4a83aaaf3746cd8d7fdcb4566eeec1902b.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath-data-graphs): New variable.
---
gnu/packages/sagemath.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index da7194c490..037d42b1dc 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -710,3 +710,24 @@ (define-public sagemath-data-combinatorial-designs
(description synopsis)
;; Sage claims public domain
(license #f)))
+
+(define-public sagemath-data-graphs
+ (package
+ (name "sagemath-data-graphs")
+ (version "202110214")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://mirrors.mit.edu/sage/spkg/upstream/graphs/graphs-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "0h9p5wrxips51x6vpfiiaqzp9j004nwppzc9qc2iaqakk06pq8q7"))))
+ (build-system copy-build-system)
+ (arguments '(#:install-plan '(("." "share/graphs"))))
+ (home-page "https://github.com/jasongrout/graph_database") ;; correct?
+ (synopsis "A database of graphs")
+ (description synopsis)
+ ;; Arch says gpl
+ (license #f)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 18/29] gnu: Add gfan.
(address . 56729@debbugs.gnu.org)
18be26da58bdc8030e932797f4734a56546b4c7a.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (gfan): New variable.
---
gnu/packages/sagemath.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index adffd881e1..474af8f246 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -492,3 +492,30 @@ (define-public palp
(synopsis "Package for Analyzing Lattice Polytopes")
(description synopsis)
(license license:gpl3)))
+
+(define-public gfan
+ (package
+ (name "gfan")
+ (version "0.6.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://users-math.au.dk/jensen/software/gfan/gfan" version ".tar.gz"))
+ (sha256
+ (base32
+ "02pihqb1lb76a0xbfwjzs1cd6ay3ldfxsm8dvsbl6qs3vkjxax56"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags #~(list (string-append "PREFIX=" #$output)
+ (string-append "CC=" #$(cc-for-target))
+ (string-append "CXX=" #$(cxx-for-target)))
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'fix-cddlib-include
+ (lambda _
+ (substitute* '("src/lp_cdd.cpp" "src/gfanlib_zcone.cpp" "src/app_librarytest.cpp")
+ (("^#include \"cdd/") "#include \"cddlib/")))))))
+ (inputs (list cddlib gmp))
+ (home-page "https://users-math.au.dk/jensen/software/gfan/gfan.html")
+ (synopsis "Software package for computing Gröbner fans and tropical varieties")
+ (description synopsis)
+ (license license:gpl2+)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 19/29] gnu: Add flintqs.
(address . 56729@debbugs.gnu.org)
16ce3f083a66df96e4559aa2b1a0212d4046dc81.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (flintqs): New variable.
---
gnu/packages/sagemath.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 474af8f246..b59c93f13a 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -519,3 +519,31 @@ (define-public gfan
(synopsis "Software package for computing Gröbner fans and tropical varieties")
(description synopsis)
(license license:gpl2+)))
+
+(define-public flintqs
+ (package
+ (name "flintqs")
+ (version "1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sagemath/FlintQS")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1f0lnayz6j6qgasx8pbq61d2fqam0wwhsmh6h15l4vq58l1vvbwj"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'create-changelog
+ (lambda _
+ (with-output-to-file "ChangeLog"
+ (lambda () (display ""))))))))
+ (inputs (list gmp))
+ (native-inputs (list autoconf automake))
+ (home-page "https://github.com/sagemath/FlintQS")
+ (synopsis "Highly optimized multi-polynomial quadratic sieve for integer
+factorization")
+ (description synopsis)
+ (license license:gpl2)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 08/29] gnu: lrcalc: Update to 2.1.
(address . 56729@debbugs.gnu.org)
1f91b91d0ebf10eb4baf1fc5c2e411af2e4a1efb.1659973115.git.guix@ikherbers.com
* gnu/packages/algebra.scm (lrcalc): Update to 2.1.
[source]: Remove patch.
* gnu/packages/patches/lrcalc-includes.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove here.
---
gnu/local.mk | 1 -
gnu/packages/algebra.scm | 12 +--
gnu/packages/patches/lrcalc-includes.patch | 92 ----------------------
3 files changed, 2 insertions(+), 103 deletions(-)
delete mode 100644 gnu/packages/patches/lrcalc-includes.patch

Toggle diff (145 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 5a4c4c0652..3877d1aeb3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1455,7 +1455,6 @@ dist_patch_DATA = \
%D%/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch \
%D%/packages/patches/llvm-roc-5.0.0-linkdl.patch \
%D%/packages/patches/lm-sensors-hwmon-attrs.patch \
- %D%/packages/patches/lrcalc-includes.patch \
%D%/packages/patches/lsh-fix-x11-forwarding.patch \
%D%/packages/patches/lsof-fatal-test-failures.patch \
%D%/packages/patches/lua-CVE-2014-5461.patch \
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 3ea79e3971..649dc4e442 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1617,7 +1617,7 @@ (define-public eclib
(define-public lrcalc
(package
(name "lrcalc")
- (version "1.2")
+ (version "2.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1626,18 +1626,10 @@ (define-public lrcalc
(file-name (git-file-name name version))
(sha256
(base32
- "1c12d04jdyxkkav4ak8d1aqrv594gzihwhpxvc6p9js0ry1fahss"))
- (patches (search-patches "lrcalc-includes.patch"))))
+ "0s3amf3z75hnrjyszdndrvk4wp5p630dcgyj341i6l57h43d1p4k"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake libtool))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'build 'fix-permission
- (lambda _
- (chmod "lrcalc.maple.src" #o644)
- #t)))))
(synopsis "Littlewood-Richardson calculator in algebraic combinatorics")
(description "The Littlewood-Richardson Calculator (lrcalc) is a
program designed to compute Littlewood-Richardson coefficients. It computes
diff --git a/gnu/packages/patches/lrcalc-includes.patch b/gnu/packages/patches/lrcalc-includes.patch
deleted file mode 100644
index e15286905b..0000000000
--- a/gnu/packages/patches/lrcalc-includes.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-Patch taken from the Sage packaging system.
-
-From 4a5e1c8c3c11efdb1cbb4239825a6bf4bf1c52f8 Mon Sep 17 00:00:00 2001
-From: Anders Skovsted Buch <asbuch@math.rutgers.edu>
-Date: Sun, 29 Nov 2015 16:25:56 -0500
-Subject: [PATCH] Patch by Jeroen Demeyer to change include <vector.h> to
- "vector.h", plus similar cases.
-
----
- src/lrcalc.c | 2 +-
- src/maple.c | 4 ++--
- src/schublib.h | 2 +-
- src/symfcn.c | 6 +++---
- src/symfcn.h | 4 ++--
- 5 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/src/lrcalc.c b/src/lrcalc.c
-index aff3f75..60df49e 100644
---- a/src/lrcalc.c
-+++ b/src/lrcalc.c
-@@ -8,7 +8,7 @@
- #include <stdlib.h>
- extern char *optarg;
-
--#include <vectarg.h>
-+#include "vectarg.h"
-
- #include "symfcn.h"
- #include "maple.h"
-diff --git a/src/maple.c b/src/maple.c
-index fdc0768..a5f4d14 100644
---- a/src/maple.c
-+++ b/src/maple.c
-@@ -4,8 +4,8 @@
- */
-
- #include <stdio.h>
--#include <vector.h>
--#include <hashtab.h>
-+#include "vector.h"
-+#include "hashtab.h"
- #include "maple.h"
-
-
-diff --git a/src/schublib.h b/src/schublib.h
-index a8e8511..864850c 100644
---- a/src/schublib.h
-+++ b/src/schublib.h
-@@ -1,7 +1,7 @@
- #ifndef _SCHUBLIB_H
- #define _SCHUBLIB_H
-
--#include <hashtab.h>
-+#include "hashtab.h"
-
- hashtab *trans(vector *w, int vars, hashtab *res);
- hashtab *monk(int i, hashtab *slc, int rank);
-diff --git a/src/symfcn.c b/src/symfcn.c
-index 4ffbe4b..fd5df5d 100644
---- a/src/symfcn.c
-+++ b/src/symfcn.c
-@@ -5,9 +5,9 @@
-
- #include <stdio.h>
-
--#include <alloc.h>
--#include <vector.h>
--#include <hashtab.h>
-+#include "alloc.h"
-+#include "vector.h"
-+#include "hashtab.h"
-
- #include "symfcn.h"
-
-diff --git a/src/symfcn.h b/src/symfcn.h
-index b8543b1..29bb00d 100644
---- a/src/symfcn.h
-+++ b/src/symfcn.h
-@@ -1,8 +1,8 @@
- #ifndef _SYMFCN_H
- #define _SYMFCN_H
-
--#include <hashtab.h>
--#include <vector.h>
-+#include "hashtab.h"
-+#include "vector.h"
-
- int part_itr_sz(vector *part);
- int part_itr_sub(vector *part, vector *outer);
---
-2.1.1.1.g1fb337f
-
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 17/29] gnu: Add palp.
(address . 56729@debbugs.gnu.org)
00fd185a226c1748f798d767cb4b312663be2375.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (palp): New variable.
---
gnu/packages/sagemath.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 16810a2d2b..adffd881e1 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -465,3 +465,30 @@ (define-public python-lrcalc
(synopsis "Littlewood-Richardson Calculator bindings")
(description "Littlewood-Richardson Calculator bindings")
(license license:gpl3+)))
+
+(define-public palp
+ (package
+ (name "palp")
+ (version "2.20")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hep.itp.tuwien.ac.at/~kreuzer/CY/palp/palp-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1q1cl3vpdir16szy0jcadysydcrjp48hqxyx42kr8g9digkqjgkj"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
+ #:tests? #f ; no tests
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda _
+ (for-each
+ (lambda (name)
+ (install-file name (string-append #$output "/bin")))
+ '("class.x" "cws.x" "mori.x" "nef.x" "poly.x")))))))
+ (home-page "http://hep.itp.tuwien.ac.at/~kreuzer/CY/CYpalp.html")
+ (synopsis "Package for Analyzing Lattice Polytopes")
+ (description synopsis)
+ (license license:gpl3)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 01/29] gnu: Remove ecl-16.
(address . 56729@debbugs.gnu.org)
786a15803950a03fa7f47abe8e3457c4d7d611f4.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (ecl-16): Delete variable.
* gnu/packages/patches/ecl-16-format-directive-limit.patch,
gnu/packages/patches/ecl-16-ignore-stderr-write-error.patch,
gnu/packages/patches/ecl-16-libffi.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them here.
---
gnu/local.mk | 3 -
.../ecl-16-format-directive-limit.patch | 83 -------------------
.../ecl-16-ignore-stderr-write-error.patch | 17 ----
gnu/packages/patches/ecl-16-libffi.patch | 16 ----
gnu/packages/sagemath.scm | 21 -----
5 files changed, 140 deletions(-)
delete mode 100644 gnu/packages/patches/ecl-16-format-directive-limit.patch
delete mode 100644 gnu/packages/patches/ecl-16-ignore-stderr-write-error.patch
delete mode 100644 gnu/packages/patches/ecl-16-libffi.patch

Toggle diff (182 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 07e3497d10..2049964ff7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1013,9 +1013,6 @@ dist_patch_DATA = \
%D%/packages/patches/dstat-skip-devices-without-io.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/dynaconf-unvendor-deps.patch \
- %D%/packages/patches/ecl-16-format-directive-limit.patch \
- %D%/packages/patches/ecl-16-ignore-stderr-write-error.patch \
- %D%/packages/patches/ecl-16-libffi.patch \
%D%/packages/patches/efibootmgr-remove-extra-decl.patch \
%D%/packages/patches/efivar-211.patch \
%D%/packages/patches/eigen-remove-openmp-error-counting.patch \
diff --git a/gnu/packages/patches/ecl-16-format-directive-limit.patch b/gnu/packages/patches/ecl-16-format-directive-limit.patch
deleted file mode 100644
index 237db92722..0000000000
--- a/gnu/packages/patches/ecl-16-format-directive-limit.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-Patch backported by Sage.
-
-Fix from upstream that happens to work around
-https://trac.sagemath.org/ticket/23011
-diff --git a/src/lsp/format.lsp b/src/lsp/format.lsp
-index 77ca799..53b887c 100644
---- a/src/lsp/format.lsp
-+++ b/src/lsp/format.lsp
-@@ -307,11 +307,13 @@
- :start (format-directive-start struct)
- :end (format-directive-end struct))))
-
-+(defconstant +format-directive-limit+ (1+ (char-code #\~)))
-+
- #+formatter
- (defparameter *format-directive-expanders*
-- (make-array char-code-limit :initial-element nil))
-+ (make-array +format-directive-limit+ :initial-element nil))
- (defparameter *format-directive-interpreters*
-- (make-array char-code-limit :initial-element nil))
-+ (make-array +format-directive-limit+ :initial-element nil))
-
- (defparameter *default-format-error-control-string* nil)
- (defparameter *default-format-error-offset* nil)
-@@ -550,24 +552,24 @@
- (write-string directive stream)
- (interpret-directive-list stream (cdr directives) orig-args args))
- (#-ecl format-directive #+ecl vector
-+ (multiple-value-bind
-+ (new-directives new-args)
-+ (let* ((code (char-code (format-directive-character directive)))
-+ (function
-+ (and (< code +format-directive-limit+)
-+ (svref *format-directive-interpreters* code)))
-+ (*default-format-error-offset*
-+ (1- (format-directive-end directive))))
-+ (unless function
-+ (error 'format-error
-+ :complaint "Unknown format directive."))
- (multiple-value-bind
- (new-directives new-args)
-- (let ((function
-- (svref *format-directive-interpreters*
-- (char-code (format-directive-character
-- directive))))
-- (*default-format-error-offset*
-- (1- (format-directive-end directive))))
-- (unless function
-- (error 'format-error
-- :complaint "Unknown format directive."))
-- (multiple-value-bind
-- (new-directives new-args)
-- (funcall function stream directive
-- (cdr directives) orig-args args)
-- (values new-directives new-args)))
-- (interpret-directive-list stream new-directives
-- orig-args new-args)))))
-+ (funcall function stream directive
-+ (cdr directives) orig-args args)
-+ (values new-directives new-args)))
-+ (interpret-directive-list stream new-directives
-+ orig-args new-args)))))
- args))
-
-
-@@ -639,11 +641,12 @@
- (values `(write-string ,directive stream)
- more-directives))
- (format-directive
-- (let ((expander
-- (aref *format-directive-expanders*
-- (char-code (format-directive-character directive))))
-- (*default-format-error-offset*
-- (1- (format-directive-end directive))))
-+ (let* ((code (char-code (format-directive-character directive)))
-+ (expander
-+ (and (< code +format-directive-limit+)
-+ (svref *format-directive-expanders* code)))
-+ (*default-format-error-offset*
-+ (1- (format-directive-end directive))))
- (if expander
- (funcall expander directive more-directives)
- (error 'format-error
diff --git a/gnu/packages/patches/ecl-16-ignore-stderr-write-error.patch b/gnu/packages/patches/ecl-16-ignore-stderr-write-error.patch
deleted file mode 100644
index 42d213c0e9..0000000000
--- a/gnu/packages/patches/ecl-16-ignore-stderr-write-error.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Patch adapted from Sage.
-diff -Naur ecl-16.1.2.orig/src/c/file.d ecl-16.1.2/src/c/file.d
---- ecl-16.1.2.orig/src/c/file.d 2016-05-11 13:10:51.867673867 +1200
-+++ ecl-16.1.2/src/c/file.d 2016-05-11 14:44:48.121907307 +1200
-@@ -3354,8 +3354,10 @@
- ecl_disable_interrupts();
- do {
- out = fwrite(c, sizeof(char), n, IO_STREAM_FILE(strm));
-- } while (out < n && restartable_io_error(strm, "fwrite"));
-- ecl_enable_interrupts();
-+ /* Ignore write errors to stderr to avoid an infinite loop */
-+ } while (out < n && (IO_STREAM_FILE(strm) != stderr) && restartable_io_error(strm, "fwrite"));
-+
-+ ecl_enable_interrupts();
- return out;
- }
-
diff --git a/gnu/packages/patches/ecl-16-libffi.patch b/gnu/packages/patches/ecl-16-libffi.patch
deleted file mode 100644
index fc06a07606..0000000000
--- a/gnu/packages/patches/ecl-16-libffi.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Patch adapted from Sage. Allows building ECL on libffi 3.3.
-diff --git a/src/c/ffi.d b/src/c/ffi.d
-index 8861303e..8a959c23 100644
---- a/src/c/ffi.d
-+++ b/src/c/ffi.d
-@@ -133,8 +133,8 @@ static struct {
- #elif defined(X86_WIN64)
- {@':win64', FFI_WIN64},
- #elif defined(X86_ANY) || defined(X86) || defined(X86_64)
-- {@':cdecl', FFI_SYSV},
-- {@':sysv', FFI_SYSV},
-+ {@':cdecl', FFI_UNIX64},
-+ {@':sysv', FFI_UNIX64},
- {@':unix64', FFI_UNIX64},
- #endif
- };
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 7f76f8912b..75720f31a5 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -174,27 +174,6 @@ (define-public libhomfly
(license license:public-domain)
(home-page "https://github.com/miguelmarco/libhomfly")))
-;; Sage 9.1 doesn't build with ECL 20. This won't be necessary once 9.2 is
-;; released. See https://trac.sagemath.org/ticket/22191
-(define-public ecl-16
- (package
- (inherit ecl)
- (version "16.1.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://common-lisp.net/project/ecl/static/files/release/ecl"
- "-" version ".tgz"))
- (sha256
- (base32 "0m0j24w5d5a9dwwqyrg0d35c0nys16ijb4r0nyk87yp82v38b9bn"))
- (patches (search-patches
- "ecl-16-libffi.patch"
- "ecl-16-ignore-stderr-write-error.patch"
- "ecl-16-format-directive-limit.patch"))))
- ;; Current ECL uses LGPL 2.1+
- (license license:lgpl2.0+)))
-
(define-public pynac
(package
(name "pynac")
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 04/29] gnu: cliquer: Update to 1.22.
(address . 56729@debbugs.gnu.org)
66b99e72c66e3aed984b5c48c3d8d95f86987f2c.1659973115.git.guix@ikherbers.com
Switch to an autotoolized fork.

* gnu/packages/sagemath.scm (cliquer): Update to 1.22.
---
gnu/packages/sagemath.scm | 25 ++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)

Toggle diff (46 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 75720f31a5..b29620a946 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -101,19 +101,18 @@ (define-public python-gmpy2
(define-public cliquer
(package
(name "cliquer")
- (version "1.21")
- ;; The original source package is available from the home page and
- ;; has not seen any release since 2010; it comes with only a Makefile
- ;; without an "install" target. Instead, there is an autotoolized
- ;; tarball available from the Sage project.
- (source
- (origin
- (method url-fetch)
- (uri "http://users.ox.ac.uk/~coml0531/sage/cliquer-1.21.tar.gz")
- (sha256
- (base32
- "1hdzrmrx0nvvj8kbwxrs8swqgkd284khzl623jizixcv28xb77aq"))))
+ (version "1.22")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dimpase/autocliquer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00gcmrhi2fjn8b246w5a3b0pl7p6haxy5wjvd9kcqib1xanz59z4"))))
(build-system gnu-build-system)
+ (native-inputs (list autoconf automake libtool))
(synopsis "C routines for finding cliques in weighted graphs")
(description "Cliquer is a set of reentrant C routines for finding
cliques in a weighted or unweighted graph. It uses an exact
@@ -122,7 +121,7 @@ (define-public cliquer
search to maximal cliques, store cliques in memory and call a user-defined
function for every found clique.")
(license license:gpl2+)
- (home-page "https://users.aalto.fi/~pat/cliquer.html")))
+ (home-page "https://github.com/dimpase/autocliquer")))
(define-public libbraiding
(package
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 05/29] gnu: lcalc: Update to 2.0.5.
(address . 56729@debbugs.gnu.org)
55e1d58de2c6d3109c1c6e33644cefe8fb122f49.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (lcalc): Update to 2.0.5.
* gnu/packages/patches/lcalc-default-parameters-1.patch,
gnu/packages/patches/lcalc-default-parameters-2.patch,
gnu/packages/patches/lcalc-lcommon-h.patch,
gnu/packages/patches/lcalc-using-namespace-std.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove here.
---
gnu/local.mk | 4 --
.../patches/lcalc-default-parameters-1.patch | 26 -------
.../patches/lcalc-default-parameters-2.patch | 58 ---------------
gnu/packages/patches/lcalc-lcommon-h.patch | 13 ----
.../patches/lcalc-using-namespace-std.patch | 43 -----------
gnu/packages/sagemath.scm | 71 ++++++-------------
6 files changed, 20 insertions(+), 195 deletions(-)
delete mode 100644 gnu/packages/patches/lcalc-default-parameters-1.patch
delete mode 100644 gnu/packages/patches/lcalc-default-parameters-2.patch
delete mode 100644 gnu/packages/patches/lcalc-lcommon-h.patch
delete mode 100644 gnu/packages/patches/lcalc-using-namespace-std.patch

Toggle diff (272 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 2049964ff7..5a4c4c0652 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1368,10 +1368,6 @@ dist_patch_DATA = \
%D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \
%D%/packages/patches/kodi-skip-test-449.patch \
%D%/packages/patches/laby-make-install.patch \
- %D%/packages/patches/lcalc-default-parameters-1.patch \
- %D%/packages/patches/lcalc-default-parameters-2.patch \
- %D%/packages/patches/lcalc-lcommon-h.patch \
- %D%/packages/patches/lcalc-using-namespace-std.patch \
%D%/packages/patches/ldns-drill-examples.patch \
%D%/packages/patches/leela-zero-gtest.patch \
%D%/packages/patches/less-hurd-path-max.patch \
diff --git a/gnu/packages/patches/lcalc-default-parameters-1.patch b/gnu/packages/patches/lcalc-default-parameters-1.patch
deleted file mode 100644
index 19b0776320..0000000000
--- a/gnu/packages/patches/lcalc-default-parameters-1.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Patch taken from the Sage packaging system.
-
-diff -Naur lcalc-1.23-vanilla/include/Ldirichlet_series.h lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h
---- lcalc-1.23-vanilla/include/Ldirichlet_series.h 2012-08-08 23:21:55.000000000 +0200
-+++ lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h 2014-04-21 14:37:59.027464849 +0200
-@@ -43,7 +43,7 @@
- //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- template <class ttype>
- Complex L_function <ttype>::
--dirichlet_series(Complex s, long long N=-1)
-+dirichlet_series(Complex s, long long N)
- {
- Complex z=0.;
- long long m,n;
-diff -Naur lcalc-1.23-vanilla/include/L.h lcalc-1.23-fixed-gcc.4.9/include/L.h
---- lcalc-1.23-vanilla/include/L.h 2012-08-08 23:21:55.000000000 +0200
-+++ lcalc-1.23-fixed-gcc.4.9/include/L.h 2014-04-21 14:32:04.003467348 +0200
-@@ -491,7 +491,7 @@
-
- //#include "Ldirichlet_series.h" //for computing Dirichlet series
- Complex partial_dirichlet_series(Complex s, long long N1, long long N2);
-- Complex dirichlet_series(Complex s, long long N);
-+ Complex dirichlet_series(Complex s, long long N=-1LL);
-
- //#include "Ltaylor_series.h" //for computing taylor series for Dirichlet series
- //void compute_taylor_series(int N, int K, Complex s_0, Complex *series);
diff --git a/gnu/packages/patches/lcalc-default-parameters-2.patch b/gnu/packages/patches/lcalc-default-parameters-2.patch
deleted file mode 100644
index 1d881ee0c4..0000000000
--- a/gnu/packages/patches/lcalc-default-parameters-2.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-Patch taken from the Sage packaging system.
-
---- lcalc-1.23/include/Lgamma.h 2012-08-08 23:21:55.000000000 +0200
-+++ lcalc-1.23/include/Lgamma.h 2014-05-18 21:15:27.786889718 +0200
-@@ -77,7 +77,7 @@
- //n=0 should just give log_GAMMA(z)... thus making log_GAMMA
- //code obsolete. But leave log_GAMMA intact anyways.
- template <class ttype>
--precise(ttype) log_GAMMA (ttype z,int n=0)
-+precise(ttype) log_GAMMA (ttype z,int n)
- {
- int M;
- precise(ttype) log_G,r,r2,y;
-@@ -230,7 +230,7 @@
- //value exp_w which holds exp(-w)
- //computes G(z,w), so there's an extra w^(-z) factor.
- template <class ttype>
--Complex inc_GAMMA (ttype z,ttype w, const char *method="temme", ttype exp_w = 0, bool recycle=false)
-+Complex inc_GAMMA (ttype z,ttype w, const char *method, ttype exp_w, bool recycle)
- {
-
- Complex G;
-@@ -334,7 +334,7 @@
-
-
- template <class ttype>
--ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w=0, bool recycle=false) //computes G(z,w) via continued fraction
-+ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via continued fraction
- {
-
- ttype G;
-@@ -424,7 +424,7 @@
- }
-
- template <class ttype>
--ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w = 0, bool recycle=false) //computes G(z,w) via asymptotic series
-+ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via asymptotic series
- {
-
- if(my_verbose>3) cout << "called asympt_GAMMA("<<z<<","<<w<<")"<< endl;
-@@ -446,7 +446,7 @@
-
-
- template <class ttype>
--ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w = 0, bool recycle=false) //computes g(z,w)
-+ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w, bool recycle) //computes g(z,w)
- {
-
- ttype g;
-@@ -604,7 +604,7 @@
- }
-
- template <class ttype>
--Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta=1, const char *method="temme")
-+Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta, const char *method)
- {
- Complex SUM=0;
-
diff --git a/gnu/packages/patches/lcalc-lcommon-h.patch b/gnu/packages/patches/lcalc-lcommon-h.patch
deleted file mode 100644
index 897956de64..0000000000
--- a/gnu/packages/patches/lcalc-lcommon-h.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Patch taken from the Sage packaging system.
-
---- src/include/Lcommon.h 2010-01-31 15:16:45.000000000 +0000
-+++ src/include/Lcommon.h 2011-03-08 21:19:11.849443238 +0000
-@@ -25,7 +25,7 @@
- #ifdef USE_MPFR
- inline double lcalc_to_double(const double& x) { return x; }
- #endif
--//inline double lcalc_to_double(const long double& x) { return x; }
-+inline double lcalc_to_double(const long double& x) { return x; }
- inline double lcalc_to_double(const int& x) { return x; }
- inline double lcalc_to_double(const long long& x) { return x; }
- inline double lcalc_to_double(const short& x) { return x; }
diff --git a/gnu/packages/patches/lcalc-using-namespace-std.patch b/gnu/packages/patches/lcalc-using-namespace-std.patch
deleted file mode 100644
index 6e0075fdc8..0000000000
--- a/gnu/packages/patches/lcalc-using-namespace-std.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Patch taken from the Sage packaging system.
-
-diff --git a/include/Lcommon.h b/include/Lcommon.h
-index 1b3be43..bf40532 100644
---- a/include/Lcommon.h
-+++ b/include/Lcommon.h
-@@ -48,7 +48,7 @@ const bool outputSeries=true; // Whether to output the coefficients or just th
-
- // Loop i from m to n
- // Useful in tidying up most for loops
--#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++)
-+#define loop(i,m,n) for(auto i=(m); i!=(n); i++)
-
- // A class for calculations involving polynomials of small degree
- // Not efficient enough for huge polynomials
-diff --git a/include/Lcommon_ld.h b/include/Lcommon_ld.h
-index 86ae4df..33c560c 100644
---- a/include/Lcommon_ld.h
-+++ b/include/Lcommon_ld.h
-@@ -53,7 +53,7 @@ const bool outputSeries=true; // Whether to output the coefficients or just th
-
- // Loop i from m to n
- // Useful in tidying up most for loops
--#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++)
-+#define loop(i,m,n) for(auto i=(m); i!=(n); i++)
-
- // A class for calculations involving polynomials of small degree
- // Not efficient enough for huge polynomials
-diff --git a/include/Lglobals.h b/include/Lglobals.h
-index 60002e4..ca2606c 100644
---- a/include/Lglobals.h
-+++ b/include/Lglobals.h
-@@ -24,9 +24,9 @@
- #ifndef Lglobals_H
- #define Lglobals_H
-
-+#include <valarray>
- using namespace std;
-
--#include <valarray>
- #ifdef USE_MPFR
- #include "Lgmpfrxx.h"
- typedef mpfr_class Double;
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index b29620a946..1237ff8e04 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -38,6 +38,7 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages lisp)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz))
@@ -292,59 +293,27 @@ (define-public brial
(define-public lcalc
(package
(name "lcalc")
- (version "1.23")
- ;; The original home page of the project has disappeared, as well as
- ;; code hosted by the original author on Google Code. The latter has
- ;; been copied to gitlab.com/sagemath and purportedly contains patches
- ;; for a never released version 1.3, that supposedly follows 1.23.
- ;; We use the tarball as well as the patches hosted inside the sage
- ;; package system distributed with the sage tarball.
- (source
- (origin
- (method url-fetch)
- (uri (string-append "ftp://ftp.fu-berlin.de/unix/misc/sage/spkg/"
- "upstream/lcalc/lcalc-1.23.tar.bz2"))
- (sha256
- (base32
- "1c6dsdshgxhqppjxvxhp8yhpxaqvnz3d1mlh26r571gkq8z2bm43"))
- (patches (search-patches "lcalc-lcommon-h.patch"
- "lcalc-default-parameters-1.patch"
- "lcalc-default-parameters-2.patch"
- "lcalc-using-namespace-std.patch"))))
+ (version "2.0.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/sagemath/lcalc")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1rwyx292y3jbsp88wagn9nhl9z7wsnl2yrs5imxkbxq87pnrj5a7"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ;no tests
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (add-before 'build 'prepare-build
- (lambda* (#:key outputs #:allow-other-keys)
- (chdir "src")
- (let ((out (assoc-ref outputs "out")))
- (substitute* "Makefile"
- (("^INSTALL_DIR= /usr/local")
- (string-append "INSTALL_DIR=" out))))
- #t))
- (add-before 'install 'make-output-dirs
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (lib (string-append out "/lib"))
- (include (string-append out "/include")))
- (mkdir-p bin)
- (mkdir-p lib)
- (mkdir-p include))
- #t)))))
- ;; FIXME:
- ;; We need to add pari-gp and probably pari related patches from the
- ;; sage project, as well as uncomment the line setting PARI_DEFINE in
- ;; the Makefile to get the full functionality of this package.
- ;; For the time being, we hope that sage can be compiled without.
- (synopsis "C++ library for L-functions")
- (description "Lcalc computes L-functions, in particular the Riemann
-zeta function and its twists by quadratic characters.")
- (license license:gpl2+)
- (home-page "https://gitlab.com/sagemath/sage")))
+ (list #:configure-flags '(list "--with-pari")))
+ (inputs (list pari-gp))
+ (native-inputs (list autoconf automake libtool pkg-config gengetopt))
+ (home-page "https://gitlab.com/sagemath/lcalc")
+ (synopsis "C++ library for with L-functions")
+ (description
+ "Lcalc computes L-functions, in particular the Riemann zeta function and its
+twists by quadratic characters.")
+ (license license:gpl2+)))
(define-public ratpoints
(package
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 15/29] gnu: Add python-primecountpy.
(address . 56729@debbugs.gnu.org)
a5aba7fd11e67e43802eab00ce3608b58e255714.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (python-primecountpy): New variable.
---
gnu/packages/sagemath.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 20cc1f3589..d8b70e6f23 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -26,6 +26,7 @@ (define-module (gnu packages sagemath)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
@@ -423,3 +424,26 @@ (define-public primecount
of primes ≤ x (maximum 10^31) using highly optimized implementations of the
combinatorial prime counting algorithms.")
(license license:bsd-2)))
+
+(define-public python-primecountpy
+ (package
+ (name "python-primecountpy")
+ (version "0.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "primecountpy" version))
+ (sha256
+ (base32
+ "0xh6zx5zw5scy7jygqirks9y6z4zyfm0zjfp8nd6dw0m471przkq"))))
+ (build-system python-build-system)
+ (arguments (list #:phases #~(modify-phases %standard-phases
+ (add-before 'build 'set-cflags
+ (lambda _
+ (setenv "CFLAGS" "-fopenmp")
+ (setenv "CXXFLAGS" "-fopenmp"))))))
+ (inputs (list pari-gp primecount))
+ (propagated-inputs (list python-cysignals python-cython))
+ (home-page "https://github.com/dimpase/primecountpy")
+ (synopsis "Cython interface for C++ primecount library")
+ (description "Cython interface for C++ primecount library")
+ (license license:gpl3)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 22/29] gnu: Add sagemath-data-elliptic-curves.
(address . 56729@debbugs.gnu.org)
3c321223f64adb272aa9b446180236e24ee23673.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath-data-elliptic-curves): New variable.
---
gnu/packages/sagemath.scm | 45 +++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

Toggle diff (55 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 2d82c9ae2e..d4450d5d46 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -643,3 +643,48 @@ (define-public sagemath-data-conway-polynomials
(description synopsis)
;; no idea, Arch claims gpl, debian gpl2+??
(license #f))))
+
+(define-public sagemath-data-elliptic-curves
+ (let
+ ((install-py-origin
+ (origin
+ (method url-fetch)
+ (uri
+ "https://raw.githubusercontent.com/sagemath/sage/9.6/build/pkgs/elliptic_curves/spkg-install.py")
+ (sha256 (base32
+ "116g684i6mvs11fvb6fzfsr4fn903axn31vigdyb8bgpf8l4hvc5")))))
+ (package
+ (name "sagemath-data-elliptic-curves")
+ (version "0.8.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://mirrors.mit.edu/sage/spkg/upstream/elliptic_curves/elliptic_curves-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "0l7xh4abw5sb4d37r0ylr3vwb88fpx2zrvfm5ql0c7yrv5q59fjz"))))
+ (build-system trivial-build-system)
+ (arguments
+ (list #:modules '((guix build utils))
+ #:builder #~(begin
+ (use-modules (guix build utils))
+
+ (setenv "PATH"
+ (string-append #+(file-append bzip2 "/bin")
+ ":"
+ #+(file-append tar "/bin") ":"
+ #+(file-append python "/bin")))
+ (setenv "SAGE_SHARE" (string-append #$output "/share"))
+ (setenv "PYTHONPATH" (getcwd))
+
+ (invoke "tar" "-xvf" #$source)
+ (symlink (string-append "elliptic_curves-" #$version) "src")
+ (invoke "python3" (assoc-ref %build-inputs "install-py")))))
+ (inputs `(("install-py" ,install-py-origin)))
+ (home-page "https://johncremona.github.io/ecdata/")
+ (synopsis "Databases of elliptic curves")
+ (description synopsis)
+ ;; no idea, Arch claims gpl, alledgedly is part of
+ ;; https://github.com/JohnCremona/ecdata Artistic 2.0
+ (license #f))))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:46
[RFC PATCH v2 26/29] gnu: Add pari-galdata.
(address . 56729@debbugs.gnu.org)
3f51209aa4466b0622e61393aea65735579c1313.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (pari-galdata): New variable.
---
gnu/packages/sagemath.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (30 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 1f5c51bf86..5a3c893b61 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -752,3 +752,23 @@ (define-public sagemath-data-polytopes-db
(description synopsis)
;; Sage says gpl
(license #f)))
+
+(define-public pari-galdata
+ (package
+ (name "pari-galdata")
+ (version "20080412")
+ (source (origin
+ (method url-fetch)
+ ;; no versioning, seem to moved moved to old/... on update
+ (uri "https://pari.math.u-bordeaux.fr/pub/pari/packages/galdata.tgz")
+ (sha256
+ (base32
+ "1pch6bk76f1i6cwwgm7hhxi5h71m52lqayp4mnyj0jmjk406bhdp"))))
+ (build-system copy-build-system)
+ (arguments '(#:install-plan '(("." "share/pari"))))
+ (home-page "https://pari.math.u-bordeaux.fr/packages.html")
+ (synopsis "PARI database needed to compute Galois group in degrees 8
+through 11")
+ (description synopsis)
+ ;; see home-page
+ (license license:gpl2+)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 09/29] gnu: maxima: Update to 5.46.0.
(address . 56729@debbugs.gnu.org)
e23f623fd3b922bea7d59cb9a426b9659137fbe5.1659973115.git.guix@ikherbers.com
* gnu/packages/maths.scm (maxima): Update to 5.46.0.
[install]: install maxima.fas.
---
gnu/packages/maths.scm | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

Toggle diff (50 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 6a84f47468..7020123565 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4259,7 +4259,7 @@ (define-public gsegrafix
(define-public maxima
(package
(name "maxima")
- (version "5.45.1")
+ (version "5.46.0")
(source
(origin
(method url-fetch)
@@ -4267,11 +4267,12 @@ (define-public maxima
version "-source/" name "-" version ".tar.gz"))
(sha256
(base32
- "1p77nk5sz1qfkn5zr97szpbi8ib4b22k8i52l4ag5gkhd4kid47y"))
+ "01wbm8jj43p7gpdj4h55aij0b44bjydn4bwb7q1wjrfs91mz143k"))
(patches (search-patches "maxima-defsystem-mkdir.patch"))))
(build-system gnu-build-system)
(inputs
`(("bash" ,bash-minimal)
+ ("ecl" ,ecl)
("gnuplot" ,gnuplot) ;for plots
("sbcl" ,sbcl)
("sed" ,sed)
@@ -4280,7 +4281,8 @@ (define-public maxima
(list texinfo perl python))
(arguments
`(#:configure-flags
- ,#~(list "--enable-sbcl"
+ ,#~(list "--enable-sbcl" "--enable-ecl"
+ (string-append "--with-ecl=" #$ecl "/bin/ecl")
(string-append "--with-sbcl=" #$sbcl "/bin/sbcl")
(string-append "--with-posix-shell=" #$bash-minimal "/bin/sh")
(string-append "--with-wish=" #$tk "/bin/wish"
@@ -4324,6 +4326,10 @@ (define-public maxima
"--lisp=sbcl "
"--batch-string=\"run_testsuite();\" "
"| grep -q \"No unexpected errors found\""))))
+ (add-after 'install 'install-fas
+ (lambda* (#:key outputs #:allow-other-keys)
+ (copy-recursively "src/binary-ecl/maxima.fas"
+ (string-append (assoc-ref outputs "out") "/lib/maxima/" ,version "/binary-ecl/maxima.fas"))))
;; Make sure the doc and emacs files are found in the
;; standard location. Also configure maxima to find gnuplot
;; without having it on the PATH.
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 10/29] gnu: python-sympy: Update to 1.10.1.
(address . 56729@debbugs.gnu.org)
0f2c132c8e126910dd3e6279b4112f4819f73c0b.1659973115.git.guix@ikherbers.com
* gnu/packages/python-xyz.scm (python-sympy): Update to 1.10.1.
---
gnu/packages/python-xyz.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (22 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7f6bbd55be..64b5d40d00 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9913,13 +9913,13 @@ (define-public python-yte
(define-public python-sympy
(package
(name "python-sympy")
- (version "1.7.1")
+ (version "1.10.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sympy" version))
(sha256
- (base32 "0bkb4jf24yv5i4kjpsmg1xjjccfhqyi0syv0p0xvhdbmx5hr5pm3"))))
+ (base32 "0yvqb2fhrm81skl8s9znbkkjfb1a09n64qqlc1r225cyvzzywfar"))))
(build-system python-build-system)
(arguments
`(#:phases
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:46
[RFC PATCH v2 29/29] gnu: Add sagemath-tests.
(address . 56729@debbugs.gnu.org)
dba1e63f754c51eac846ab7f19cb613e7640849e.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath-tests): New variable.
---
gnu/packages/sagemath.scm | 51 +++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)

Toggle diff (61 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index af0aad04dc..7a38a462b3 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -968,3 +968,54 @@ (define-public sagemath-with-dependencies
(synopsis "")
(description "")
(license #f)))
+
+(define-public sagemath-tests
+ (package
+ (name "sagemath-tests")
+ (version "9.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sagemath/sage")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k91l3aid09hy94ps2r6acg22bxgsprxnh1b92hma3z1mn0ii3s1"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:tests? #f
+ #:modules '((guix build python-build-system)
+ (guix build utils)
+ (ice-9 ftw))
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'prepare
+ (lambda _
+ (setenv "MAXIMA_FAS" #$(file-append maxima "/lib/maxima/" (package-version maxima) "/binary-ecl/maxima.fas"))
+ (setenv "COMBINATORIAL_DESIGN_DATA_DIR" #$(file-append sagemath-data-combinatorial-designs "/share/combinatorial_designs"))
+ (setenv "CONWAY_POLYNOMIALS_DATA_DIR" #$(file-append sagemath-data-conway-polynomials "/share/conway_polynomials"))
+ (setenv "ELLCURVE_DATA_DIR" #$(file-append sagemath-data-elliptic-curves "/share/ellcurves"))
+ (setenv "GRAPHS_DATA_DIR" #$(file-append sagemath-data-graphs "/share/graphs"))
+ (setenv "CREMONA_MINI_DATA_DIR" #$(file-append sagemath-data-elliptic-curves "/share/cremona"))
+ (setenv "GAP_SO" #$(file-append gap "/lib/libgap.so"))
+ (setenv "GAP_ROOT_DIR" #$(file-append gap "/share/gap"))
+ (setenv "GP_DATA_DIR" #$(file-append pari-galdata "/share/pari"))
+ (setenv "POLYTOPE_DATA_DIR" #$(file-append sagemath-data-polytopes-db "/share/reflexive_polytopes"))
+ (setenv "HOME" (string-append (getenv "TMPDIR") "/home"))
+ (chdir "src")))
+ (replace 'build
+ (lambda _
+ (invoke #$(file-append sagemath-just-build "/bin/sage")
+ "-t"
+ "--nthreads" (number->string (parallel-job-count))
+ "--all")))
+ (replace 'install
+ (lambda _
+ (with-output-to-file #$output
+ (lambda () (display "")))))
+ (delete 'install-license-files))))
+ (native-inputs (list sagemath-with-dependencies))
+ (home-page "")
+ (synopsis "")
+ (description "")
+ (license #f)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 23/29] gnu: Add sagemath-data-combinatorial-designs.
(address . 56729@debbugs.gnu.org)
dd27c079972cc395bbc7c4daa88b942464e238aa.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath-data-combinatorial-designs): New variable.
---
gnu/packages/sagemath.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index d4450d5d46..da7194c490 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -22,6 +22,7 @@
(define-module (gnu packages sagemath)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
@@ -688,3 +689,24 @@ (define-public sagemath-data-elliptic-curves
;; no idea, Arch claims gpl, alledgedly is part of
;; https://github.com/JohnCremona/ecdata Artistic 2.0
(license #f))))
+
+(define-public sagemath-data-combinatorial-designs
+ (package
+ (name "sagemath-data-combinatorial-designs")
+ (version "20140630")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://mirrors.mit.edu/sage/spkg/upstream/combinatorial_designs/combinatorial_designs-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "0bj8ngiq59hipa6izi6g5ph5akmy4cbk0vlsb0wa67f7grnnqj69"))))
+ (build-system copy-build-system)
+ (arguments '(#:install-plan '(("." "share/combinatorial_designs/"))))
+ (home-page "https://www.sagemath.org")
+ (synopsis "Data for Combinatorial Designs")
+ (description synopsis)
+ ;; Sage claims public domain
+ (license #f)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 07/29] gnu: eclib: Update to 20220621.
(address . 56729@debbugs.gnu.org)
7aada807843b60307a4ccbe08680c5cb5da34405.1659973115.git.guix@ikherbers.com
* gnu/packages/algebra.scm (eclib): Update to 20220621.
---
gnu/packages/algebra.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index edb88cc9f9..3ea79e3971 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1591,16 +1591,16 @@ (define-public m4rie
(define-public eclib
(package
(name "eclib")
- (version "20190909")
+ (version "20220621")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JohnCremona/eclib/")
- (commit (string-append "v" version))))
+ (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "1gw27lqc3f525n8qdcmr2nyn16y9g10z9f6dnmckyyxcdzvhq35n"))))
+ "07wbkzmn6w0hrv2vim7f0il7k59ccc66x5vnn623xkmhfw32b3nz"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake libtool))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:46
[RFC PATCH v2 28/29] gnu: Add sagemath-with-dependencies.
(address . 56729@debbugs.gnu.org)
39297a78b98e2e63b7a52a738566390da90e2174.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath-with-dependencies): New variable.
---
gnu/packages/sagemath.scm | 62 +++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)

Toggle diff (87 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index cf48182047..af0aad04dc 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -38,7 +38,9 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages base)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages commencement)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gd)
#:use-module (gnu packages graph)
#:use-module (gnu packages image)
@@ -49,6 +51,7 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz))
@@ -906,3 +909,62 @@ (define-public sagemath-just-build
power through a common, Python-based language or directly via interfaces or
wrappers.")
(license license:gpl3)))
+
+;;; this propagates all dependencies not needed to build sagemath
+(define-public sagemath-with-dependencies
+ (package
+ (name "sagemath-with-dependencies")
+ (version "9.6")
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ (list #:modules '((guix build utils))
+ #:builder #~(begin
+ (use-modules (guix build utils))
+
+ (mkdir-p #$output))))
+ (propagated-inputs (list cddlib
+ ecl
+ eclib
+ flint
+ flintqs
+ gap
+ gap
+ gcc-toolchain
+ gfan
+ gfortran-toolchain
+ giac
+ gmp-ecm
+ gsl
+ lcalc
+ maxima
+ mpfr
+ nauty
+ ntl
+ openblas
+ palp
+ pari-galdata
+ pari-gp
+ pkg-config
+ python-fpylll
+ python-ipython
+ python-ipywidgets
+ python-lrcalc
+ python-networkx
+ python-pkgconfig
+ python-primecountpy
+ python-scipy
+ python-sympy
+ sagemath-data-combinatorial-designs
+ sagemath-data-conway-polynomials
+ sagemath-data-elliptic-curves
+ sagemath-data-graphs
+ sagemath-data-polytopes-db
+ sagemath-just-build
+ singular
+ tachyon
+ xdg-utils))
+ (home-page "")
+ (synopsis "")
+ (description "")
+ (license #f)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 14/29] gnu: Add primecount.
(address . 56729@debbugs.gnu.org)
398cd1ff61a29526e276b9d3fd8f3f91afc5e6f6.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (primecount): New variable.
---
gnu/packages/sagemath.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 335d98d9f4..20cc1f3589 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -22,6 +22,7 @@
(define-module (gnu packages sagemath)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix download)
@@ -400,3 +401,25 @@ (define-public python-pplpy
"This Python module pplpy provides a wrapper to the C++ Parma Polyhedra
Library (PPL).")
(license license:gpl3)))
+
+(define-public primecount
+ (package
+ (name "primecount")
+ (version "7.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kimwalisch/primecount/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1dnkkmszc2knrrqmfbwf96ajxd7rpmaw0b8dx6z5r0f9w1wx7ak4"))))
+ (build-system cmake-build-system)
+ (arguments '(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" "-DBUILD_TESTS=ON")))
+ (home-page "https://github.com/kimwalisch/primecount/")
+ (synopsis "Fast prime counting function implementations")
+ (description "primecount is a command-line program and C/C++ library that counts the number
+of primes ≤ x (maximum 10^31) using highly optimized implementations of the
+combinatorial prime counting algorithms.")
+ (license license:bsd-2)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 03/29] gnu: gap: Update to 4.11.1.
(address . 56729@debbugs.gnu.org)
9ad86be3dfcf6c7404120ff002627d033d87cc99.1659973115.git.guix@ikherbers.com
Remove logs that are not reproducible.

* gnu/packages/algebra.scm (gap): Update to 4.11.1.
[source]<snippet>: Remove trailing #t.
[arguments]<#:phases>: Remove trailing #t, use gexps.
[install]: Install missing config.h header.
---
gnu/packages/algebra.scm | 181 +++++++++++++++++++--------------------
1 file changed, 90 insertions(+), 91 deletions(-)

Toggle diff (212 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 95fbdb5e36..c3b1c7fc3b 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1209,17 +1209,17 @@ (define-public xtensor-benchmark
(define-public gap
(package
(name "gap")
- (version "4.11.0")
+ (version "4.11.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://files.gap-system.org/gap-"
(version-major+minor version)
- "/tar.bz2/gap-"
+ "/tar.gz/gap-"
version
- ".tar.bz2"))
+ ".tar.gz"))
(sha256
- (base32 "00l6hvy4iggnlrib4vp805sxdm3j7n3hzpv5zs9hbiiavh80l1xz"))
+ (base32 "01535s81h254zcs84zi95xqmhvvn6fn9qss8761myxc2gpdcadb6"))
(modules '((guix build utils) (ice-9 ftw) (srfi srfi-1)))
(snippet
'(begin
@@ -1235,97 +1235,96 @@ (define-public gap
;; given by their names up to version numbers.
(with-directory-excursion "pkg"
(for-each delete-file-recursively
- (lset-difference
- (lambda (all keep) (string-prefix? keep all))
- (scandir ".")
- '("." ".."
- ;; Necessary packages.
- "GAPDoc-"
- "primgrp-"
- "SmallGrp-" ; artistic2.0
- "transgrp" ; artistic2.0 for data,
- ; gpl2 or gpl3 for code
- ;; Recommended package.
- "io-" ; gpl3+
- ;; Optional packages, searched for at start,
- ;; and their depedencies.
- "alnuth-"
- "autpgrp-"
- "crisp-" ; bsd-2
- "ctbllib" ; gpl3+, clarified in the next release;
- ; see
- ; http://www.math.rwth-aachen.de/~Thomas.Breuer/ctbllib/README.md
- "FactInt-"
- "fga"
- "irredsol-" ; bsd-2
- "laguna-"
- "polenta-"
- "polycyclic-"
- "radiroot-"
- "resclasses-"
- "sophus-"
- "tomlib-"
- "utils-"))))
- #t))))
+ (lset-difference
+ (lambda (all keep) (string-prefix? keep all))
+ (scandir ".")
+ '("." ".."
+ ;; Necessary packages.
+ "GAPDoc-"
+ "primgrp-"
+ "SmallGrp-" ; artistic2.0
+ "transgrp" ; artistic2.0 for data,
+ ; gpl2 or gpl3 for code
+ ;; Recommended package.
+ "io-" ; gpl3+
+ ;; Optional packages, searched for at start,
+ ;; and their depedencies.
+ "alnuth-"
+ "autpgrp-"
+ "crisp-" ; bsd-2
+ "ctbllib" ; gpl3+, clarified in the next release;
+ ; see
+ ; http://www.math.rwth-aachen.de/~Thomas.Breuer/ctbllib/README.md
+ "FactInt-"
+ "fga"
+ "irredsol-" ; bsd-2
+ "laguna-"
+ "polenta-"
+ "polycyclic-"
+ "radiroot-"
+ "resclasses-"
+ "sophus-"
+ "tomlib-"
+ "utils-"))))))))
(build-system gnu-build-system)
(inputs
(list gmp readline zlib))
(arguments
- `(#:modules ((ice-9 ftw)
- (srfi srfi-26)
- (guix build gnu-build-system)
- (guix build utils))
- #:phases
- (modify-phases %standard-phases
- (add-after 'build 'build-packages
- ;; Compile all packages that have not been deleted by the
- ;; code snippet above.
- (lambda _
- (setenv "CONFIG_SHELL" (which "bash"))
- (with-directory-excursion "pkg"
- (invoke "../bin/BuildPackages.sh")
- #t)))
- (add-after 'build-packages 'build-doc
- ;; The documentation is bundled, but we create it from source.
- (lambda _
- (with-directory-excursion "doc"
- (invoke "./make_doc"))
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (prog (string-append bin "/gap"))
- (prog-real (string-append bin "/.gap-real"))
- (share (string-append out "/share/gap")))
- ;; Install only the gap binary; the gac compiler is left
- ;; for maybe later. "Wrap" it in a shell script that calls
- ;; the binary with the correct parameter.
- ;; The make target install-bin is supposed to do that, but
- ;; is not currently working.
- (mkdir-p bin)
- (copy-file "gap" prog-real)
- (call-with-output-file prog
- (lambda (port)
- (format port
- "#!~a~%exec ~a -l ~a \"$@\"~%"
- (which "bash")
- prog-real
- share)))
- (chmod prog #o755)
- ;; Install the headers and library, which are needed by Sage.
- (invoke "make" "install-headers")
- (invoke "make" "install-libgap")
- ;; Remove information on the build directory from sysinfo.gap.
- (substitute* "sysinfo.gap"
- (("GAP_BIN_DIR=\".*\"") "GAP_BIN_DIR=\"\"")
- (("GAP_LIB_DIR=\".*\"") "GAP_LIB_DIR=\"\"")
- (("GAP_CPPFLAGS=\".*\"") "GAP_CPPFLAGS=\"\""))
- (invoke "make" "install-gaproot")
- ;; Copy the directory of compiled packages; the make target
- ;; install-pkg is currently empty.
- (copy-recursively "pkg" (string-append share "/pkg")))
- #t)))))
+ (list #:modules '((ice-9 ftw)
+ (srfi srfi-26)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'build 'build-packages
+ ;; Compile all packages that have not been deleted by the
+ ;; code snippet above.
+ (lambda _
+ (setenv "CONFIG_SHELL" (which "bash"))
+ (with-directory-excursion "pkg"
+ (invoke "../bin/BuildPackages.sh"))))
+ (add-after 'build-packages 'build-doc
+ ;; The documentation is bundled, but we create it from source.
+ (lambda _
+ (with-directory-excursion "doc"
+ (invoke "./make_doc"))))
+ (replace 'install
+ (lambda _
+ (let* ((bin (string-append #$output "/bin"))
+ (prog (string-append bin "/gap"))
+ (prog-real (string-append bin "/.gap-real"))
+ (share (string-append #$output "/share/gap")))
+ ;; Install only the gap binary; the gac compiler is left
+ ;; for maybe later. "Wrap" it in a shell script that calls
+ ;; the binary with the correct parameter.
+ ;; The make target install-bin is supposed to do that, but
+ ;; is not currently working.
+ (mkdir-p bin)
+ (copy-file "gap" prog-real)
+ (call-with-output-file prog
+ (lambda (port)
+ (format port
+ "#!~a~%exec ~a -l ~a \"$@\"~%"
+ (which "bash")
+ prog-real
+ share)))
+ (chmod prog #o755)
+ ;; Install the headers and library, which are needed by Sage.
+ (invoke "make" "install-headers")
+ (invoke "make" "install-libgap")
+ (install-file "gen/config.h" (string-append #$output "/include/gap"))
+ ;; Remove information on the build directory from sysinfo.gap.
+ (substitute* "sysinfo.gap"
+ (("GAP_BIN_DIR=\".*\"") "GAP_BIN_DIR=\"\"")
+ (("GAP_LIB_DIR=\".*\"") "GAP_LIB_DIR=\"\"")
+ (("GAP_CPPFLAGS=\".*\"") "GAP_CPPFLAGS=\"\""))
+ (invoke "make" "install-gaproot")
+ ;; Copy the directory of compiled packages; the make target
+ ;; install-pkg is currently empty.
+ (copy-recursively "pkg" (string-append share "/pkg"))
+ ;; these log files are not reproducible
+ (delete-file (string-append share "/pkg/io-4.7.0/config.log"))
+ (delete-file-recursively (string-append share "/pkg/log"))))))))
(home-page "https://www.gap-system.org/")
(synopsis
"System for computational group theory")
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 06/29] gnu: ntl: Update to 11.5.1.
(address . 56729@debbugs.gnu.org)
785526dd37b57f9d95a7d1ed7f7aa6b2cb2180b5.1659973115.git.guix@ikherbers.com
* gnu/packages/algebra.scm (ntl): Update to 11.5.1.
---
gnu/packages/algebra.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index c3b1c7fc3b..edb88cc9f9 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -540,14 +540,14 @@ (define-public python-flint
(define-public ntl
(package
(name "ntl")
- (version "11.4.4")
+ (version "11.5.1")
(source (origin
(method url-fetch)
(uri (string-append "https://shoup.net/ntl/ntl-"
version ".tar.gz"))
(sha256
(base32
- "1nr1h27j2gdz6badzz9lk2pknxhdijqdxqhd3haryh0sw616wzwx"))
+ "12ka3hym4skg63mp8vgkin79svbpdk2m6i41yvmcdjq62g1hc391"))
(modules '((guix build utils)))
(snippet
'(begin
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 11/29] gnu: cddlib: Update to 0.94m.
(address . 56729@debbugs.gnu.org)
fee99676360fa91aad925b4a8ab78c3a13df71bd.1659973115.git.guix@ikherbers.com
* gnu/packages/maths.scm (cddlib): Update to 0.94m.
---
gnu/packages/maths.scm | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7020123565..dd8f90d16d 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -722,18 +722,27 @@ (define-public 4ti2
(define-public cddlib
(package
(name "cddlib")
- (version "0.94i")
+ (version "0.94m")
(source
(origin
- (method url-fetch)
- (uri (string-append "ftp://ftp.math.ethz.ch/users/fukudak/cdd/cddlib-"
- (string-delete #\. version) ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cddlib/cddlib")
+ (commit version)))
(sha256
(base32
- "00zdgiqb91vx6gd2103h3ijij0llspsxc6zz3iw2bll39fvkl4xq"))))
+ "09s8323h5w9j6mpl1yc6lm770dkskfxd2ayyafkcjllmnncxzfa0"))))
(build-system gnu-build-system)
(inputs
(list gmp))
+ (native-inputs (list autoconf
+ automake
+ libtool
+ texlive-amsfonts
+ texlive-dvips-l3backend
+ texlive-latex-graphics
+ texlive-latex-l3backend
+ texlive-tiny))
(home-page "https://www.inf.ethz.ch/personal/fukudak/cdd_home/index.html")
(synopsis "Library for convex hulls and extreme rays of polyhedra")
(description
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 13/29] gnu: Add python-pplpy.
(address . 56729@debbugs.gnu.org)
02d359414dd0b7091c5875ae37f4a2adfe466584.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (python-pplpy): New variable.
---
gnu/packages/sagemath.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 2e9de70e4a..335d98d9f4 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -36,6 +36,7 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages compression)
#:use-module (gnu packages image)
#:use-module (gnu packages lisp)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
@@ -373,3 +374,29 @@ (define-public python-memory-allocator
(synopsis "An extension class to allocate memory easily with cython")
(description "An extension class to allocate memory easily with cython")
(license license:gpl3)))
+
+(define-public python-pplpy
+ (package
+ (name "python-pplpy")
+ (version "0.8.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pplpy" version))
+ (sha256
+ (base32
+ "1gfq5czkqxl395k06s77zij3xv7maiwagjvzmrpraxhsmvsd02sh"))))
+ (build-system python-build-system)
+ (inputs (list gmp
+ mpc
+ mpfr
+ pari-gp
+ ppl
+ python-cysignals
+ python-gmpy2))
+ (native-inputs (list python-cython))
+ (home-page "https://gitlab.com/videlec/pplpy")
+ (synopsis "Python PPL wrapper")
+ (description
+ "This Python module pplpy provides a wrapper to the C++ Parma Polyhedra
+Library (PPL).")
+ (license license:gpl3)))
--
2.37.0
V
V
vicvbcun wrote on 8 Aug 2022 17:45
[RFC PATCH v2 12/29] gnu: Add python-memory-allocator.
(address . 56729@debbugs.gnu.org)
612568de06686815affc8ea7eaa12523e53e9ca1.1659973115.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (python-memory-allocator): New variable.
---
gnu/packages/sagemath.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

Toggle diff (27 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 1237ff8e04..2e9de70e4a 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -356,3 +356,20 @@ (define-public ratpoints
a given height bound on a hyperelliptic curve in a very efficient way,
by using an optimized quadratic sieve algorithm.")
(license license:gpl2+)))
+
+(define-public python-memory-allocator
+ (package
+ (name "python-memory-allocator")
+ (version "0.1.3")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "memory_allocator" version))
+ (sha256
+ (base32
+ "0qiijpv8zr7c5rjy64i4q3rb8qhn6v4yms5mza4p86y0w4m5r00k"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-cython))
+ (home-page "https://github.com/sagemath/memory_allocator")
+ (synopsis "An extension class to allocate memory easily with cython")
+ (description "An extension class to allocate memory easily with cython")
+ (license license:gpl3)))
--
2.37.0
G
Re: [bug#56729] [RFC PATCH 00/10] Add sagemath.
(name . Andreas Enge)(address . andreas@enge.fr)
YvE3xrIUcRku+zA6@localhost
Hello,

On 2022-08-08T16:40:37+0200, Andreas Enge wrote:
Toggle quote (14 lines)
> Hello,
>
> Am Mon, Aug 01, 2022 at 11:24:31AM +0200 schrieb Ludovic Courtès:
> > > This series adds SageMath. Everything compiles just fine and even the
> > > Jupyter notebook interface works, but there is still much work to do. So
> > > far, I have only added the minimal set of inputs required for the build
> > > to succeed. Tests and documentations are still missing.
> > This looks great already! To make sure things don’t stall, we could
> > apply the patch series piecemeal, starting with the dependencies that
> > you think are ready, and leaving more time to polish the ‘sagemath’
> > package.
>
> thanks for letting me know, I will start by having a look at the patches
> doing version updates.
Great! But note that I just sent an updated series with minor touch ups :).

Toggle quote (3 lines)
> Concerning sagemath itself, below is my very old version of an attempt at
> packaging the library. Some things look reassuringly similar, my handling
> of the number of cores is less nice, but I do delete the bundled packages.
The `upstream' directory only seems to exist in the published tarball.
So this should be no problem if we build from git.

Toggle quote (1 lines)
> Maybe you could copy useful parts into your recipe?
I'll take a look!

Toggle quote (2 lines)
> As for tests, indeed we should drop them for the time being until we have
> a working sage package.
Too late (for the most part) :).
A
A
Andreas Enge wrote on 9 Aug 2022 12:47
(name . Guillaume Le Vaillant)(address . glv@posteo.net)
YvI7Pw+4YqGLQA9S@jurong
Hello,

Am Mon, Aug 08, 2022 at 06:20:22PM +0200 schrieb guix@ikherbers.com:
Toggle quote (2 lines)
> Great! But note that I just sent an updated series with minor touch ups :).

thanks for the update! I just pushed an update of maxima (and wxmaxima), but
without your addition of ecl. Is there a good reason for this? In any case,
this should be done in a separate commit, since it is not required for the
update. For the record, I also tried to compile with gcl, but this still
failed.

Toggle quote (6 lines)
> > Concerning sagemath itself, below is my very old version of an attempt at
> > packaging the library. Some things look reassuringly similar, my handling
> > of the number of cores is less nice, but I do delete the bundled packages.
> The `upstream' directory only seems to exist in the published tarball.
> So this should be no problem if we build from git.

Ah, interesting. Which one should we do? I personally tend to prefer tarballs
(as the official distribution mechanism of the project). Recently there has
been a preference in the Guix project for git repositories when autotools
are involved, as they make it possible to recreate the configure scripts
from their source. But since this is not the case here, the argument does
not hold.

Andreas
(
(name . Guillaume Le Vaillant)(address . glv@posteo.net)
CM1FZ3EKW96W.2L0ZNXSGIQP7U@guix-aspire
On Tue Aug 9, 2022 at 11:47 AM BST, Andreas Enge wrote:
Toggle quote (7 lines)
> Ah, interesting. Which one should we do? I personally tend to prefer tarballs
> (as the official distribution mechanism of the project). Recently there has
> been a preference in the Guix project for git repositories when autotools
> are involved, as they make it possible to recreate the configure scripts
> from their source. But since this is not the case here, the argument does
> not hold.

I think it does sometimes hold even for projects that don't use autotools,
especially older ones: they sometimes work under the assumption that users
do not generally care about generated files in their release source, but
don't want to put generated files in their development repository.

This, of course, is why the autotools generated files problem exists in the
first place; autoconf was, after all, designed so that users didn't have to
have it installed to build a package, in a world where compiling from release
tarballs was the usual way to get new software.

-- (
A
A
Andreas Enge wrote on 9 Aug 2022 14:19
(name . Guillaume Le Vaillant)(address . glv@posteo.net)
YvJQzeREc538LtLL@jurong
I pushed your patch updating cddlib with a small change to include the
version number in the docdir, so that it coincides with the place where the
GNU build system stores the COPYING file.

Thanks,

Andreas
V
V
vicvbcun wrote on 9 Aug 2022 15:40
(name . Andreas Enge)(address . andreas@enge.fr)
YvJj5cXfFQs5RpR3@localhost
On 2022-08-09T12:47:27+0200, Andreas Enge wrote:
Toggle quote (5 lines)
> thanks for the update! I just pushed an update of maxima (and wxmaxima), but
> without your addition of ecl. Is there a good reason for this? In any case,
> this should be done in a separate commit, since it is not required for the
> update. For the record, I also tried to compile with gcl, but this still
> failed.
SageMath requires the FASL library? (I only know scheme) `maxima.fas'.
But it is only built when using ecl (See upstream here [0]). I don't
know if we need both sbcl and ecl. Arch uses both and puts the
lib/.../binary-* directories in separate packages[1], so maybe we could
use different outputs? Anyway, I have attached an rebased commit that
adds ecl.

Toggle quote (12 lines)
> > > Concerning sagemath itself, below is my very old version of an attempt at
> > > packaging the library. Some things look reassuringly similar, my handling
> > > of the number of cores is less nice, but I do delete the bundled packages.
> > The `upstream' directory only seems to exist in the published tarball.
> > So this should be no problem if we build from git.
>
> Ah, interesting. Which one should we do? I personally tend to prefer tarballs
> (as the official distribution mechanism of the project). Recently there has
> been a preference in the Guix project for git repositories when autotools
> are involved, as they make it possible to recreate the configure scripts
> from their source. But since this is not the case here, the argument does
> not hold.
The sage tarball is 1.35 GiB while the repository is only about 440 MiB.
That seems quite convincing on its own.

[0]:
[1]:
From cb877ee5091d801e08654ac55adaab1b5edfec91 Mon Sep 17 00:00:00 2001
Message-Id: <cb877ee5091d801e08654ac55adaab1b5edfec91.1660051561.git.guix@ikherbers.com>
From: vicvbcun <guix@ikherbers.com>
Date: Sat, 6 Aug 2022 18:00:19 +0200
Subject: [PATCH] gnu: maxima: Build with ecl and install maxima.fas.

The eventual sagemath package requires maxima.fas, which is only build with
ecl.

* gnu/packages/maths.scm (maxima)[inputs]: Add ecl.
[configure-flags]: Build with ecl.
[install]: Install maxima.fas.
---
gnu/packages/maths.scm | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

Toggle diff (37 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index e32a71100e..b250649a45 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4357,6 +4357,7 @@ (define-public maxima
(build-system gnu-build-system)
(inputs
`(("bash" ,bash-minimal)
+ ("ecl" ,ecl)
("gnuplot" ,gnuplot) ;for plots
("sbcl" ,sbcl)
("sed" ,sed)
@@ -4365,7 +4366,8 @@ (define-public maxima
(list texinfo perl python))
(arguments
`(#:configure-flags
- ,#~(list "--enable-sbcl"
+ ,#~(list "--enable-sbcl" "--enable-ecl"
+ (string-append "--with-ecl=" #$ecl "/bin/ecl")
(string-append "--with-sbcl=" #$sbcl "/bin/sbcl")
(string-append "--with-posix-shell=" #$bash-minimal "/bin/sh")
(string-append "--with-wish=" #$tk "/bin/wish"
@@ -4409,6 +4411,10 @@ (define-public maxima
"--lisp=sbcl "
"--batch-string=\"run_testsuite();\" "
"| grep -q \"No unexpected errors found\""))))
+ (add-after 'install 'install-fas
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "src/binary-ecl/maxima.fas"
+ (string-append (assoc-ref outputs "out") "/lib/maxima/" ,version "/binary-ecl"))))
;; Make sure the doc and emacs files are found in the
;; standard location. Also configure maxima to find gnuplot
;; without having it on the PATH.

base-commit: 0d9eef0a06ffcb6a0f66d272ea036597b521ffb6
--
2.37.0
M
M
Maxime Devos wrote on 9 Aug 2022 23:32
(name . Guillaume Le Vaillant)(address . glv@posteo.net)
103efd34-843f-4a9f-4951-7551046f5172@telenet.be
On 09-08-2022 12:47, Andreas Enge wrote:
Toggle quote (5 lines)
> [...] Recently there has
> been a preference in the Guix project for git repositories when autotools
> are involved, as they make it possible to recreate the configure scripts
> from their source. But since this is not the case here, the argument does
> not hold.
I am not aware of such a preference, do you have a source?
Switching to git repositories in one method to build from source, but
there exist other methods too that keep the official distribution
method, e.g. (for-each delete-file '("configure" ...)) in a snippet.
It's a method to a goal, but not a goal on itself as far as I'm aware.
Greetings,
Maxime.
Attachment: OpenPGP_signature
A
A
Andreas Enge wrote on 10 Aug 2022 10:26
(name . Maxime Devos)(address . maximedevos@telenet.be)
YvNrnFN71CWKU1FB@jurong
Am Tue, Aug 09, 2022 at 11:32:56PM +0200 schrieb Maxime Devos:
Toggle quote (2 lines)
> I am not aware of such a preference, do you have a source?

No, it was just an impression I got from discussions on the mailing list.
So I am unsure if there is an official position, and do not know what
to do here...

Andreas
A
A
Andreas Enge wrote on 10 Aug 2022 11:03
YvN0eZ718dYEKXT9@jurong
Hello,

I just pushed your update to python-sympy, after trying to recompile all its
dependents and verifying that they mostly do not become broken.

Andreas
A
A
Andreas Enge wrote on 11 Aug 2022 20:05
YvVE/H3KnHy6VZnm@jurong
Hello,

Am Wed, Aug 03, 2022 at 11:21:43AM +0200 schrieb guix@ikherbers.com:
Toggle quote (4 lines)
> As for gap, I took another stab at it and it now builds reproducibly for
> me. I also removed all the trailing #t's and changed the phases to use a
> gexp.

today I looked at gap. Since there were many whitespace changes, I found
it a bit difficult to review, and copied only the most relevant/easiest
parts of your commit. In particular I did not move to gexps, which could
be done in a separate patch. So far I also did not apply the part for
making the build reproducible, which could be done in yet another patch.

Toggle quote (5 lines)
> By the way, the gap definition contains a snippet that deletes many gap
> packages over concerns due to missing explicit licenses. However in a
> cursory look at the tarball, I can see many LICENSE/COPYING files so
> that may have changed.

Yes, there is an ongoing effort in GAP to clarify the license situation,
with apparently a lot of progress in this release. I have added (hopefully)
all packages with a free license and which do not require additional inputs.

We could go further; for instance add ZeroQMInterface (which requires
zeromq) and dependent packages, CddInterface (which I suppose requires
cddlib) and then NConvex, but I am a bit weary of adding dependencies,
even more so since we do not seem to have GAP users in Guix who could
give us feedback. It would be more motivating with users who confirm that
the packages do not only load, but actually work as expected...

Andreas
A
A
Andreas Enge wrote on 12 Aug 2022 10:50
YvYUQWA/ipHLVnM6@jurong
Hello,

I now pushed your updates to packages.

Concerning the new additions, please try to add a description that is a bit
longer than the synopsys and consists of complete sentences (which can be
a challenge if the project homepage is too scarce, I can lend a hand).

And it would be better to add the packages to different modules; many of
them are added now with the aim of getting Sage, but are independent.
So I would add primecount and gfan to algebra, palp to maths,
python-lrcalc, python-primecountpy and python-pplpy to the same module as
their "base packages", and python-memory-allocator probably to
python-xyz. I would suggest to keep in sagemath.scm only the packages for
which Sage has become upstream, such as flintqs.

For tachyon, you use a patch and a phase; would only the latter not be
enough? At worst by using substitute* on the Makefile? See the recent
discussion on patches vs. phases.

I did not yet have a look at the sagemath-... packages. And for
pari-galdata, I wonder if there is not a better way so that it can also
be used by the pari-gp package. The problem with pari-gp is that it
cannot handle a search path with multiple directories, but that all data
files need to be put into the same place. And all data files add up
to about 200MB. One solution would be to add by default only the smaller
data files galpol (10MB), nftables (8MB), galdata (52kB!) and nflistdata
(4MNB). Actually, galdata is so small that we might just add it by default
to pari-gp. It is not a perfect solution, but would improve the package
at almost no cost, and apparently be useful for Sage.

Andreas
A
A
Andreas Enge wrote on 12 Aug 2022 10:58
YvYWNeY0t7WhziDm@jurong
Am Tue, Aug 09, 2022 at 03:40:53PM +0200 schrieb vicvbcun:
Toggle quote (7 lines)
> SageMath requires the FASL library? (I only know scheme) `maxima.fas'.
> But it is only built when using ecl (See upstream here [0]). I don't
> know if we need both sbcl and ecl. Arch uses both and puts the
> lib/.../binary-* directories in separate packages[1], so maybe we could
> use different outputs? Anyway, I have attached an rebased commit that
> adds ecl.

Okay, thanks!

I do not use maxima (so it would be nice to get input from someone who
does). To me it looks as if the different base lisps are more or less
exchangeable for the goal of getting a running binary. So maybe it would
be enough to build only the ecl version?

The latest change was to switch from gcl to sbcl, in a commit by Guillaume,
since maxima stopped building with the former; how about switching to ecl?

Andreas
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 00/32] Add sagemath.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
cover.1685391447.git.guix@ikherbers.com
Hello Guix!

Disclaimer: To prevent this from beeing delayed yet another week, I have
decided to sent this as is. Hence this may not be very coherent.

This finally is an updated third version. Allmost all tests[0] in
`sagemath-testsuite' succed without any issues[1] (See the log below for
the remaining failures and the comments in the `sagemath' patch).
However two issues remain: `sage/env.py' and
`sage/interacts/test_jupyter.rst'. Maybe updating `python-pkgconfig' and
`python-ipywidgets' solve these but someone braver than I currently am
would have to try :).

Other remaining problems:

- I'm not sure about the licenses of the`sagemath-data-*' packages.
-- `sagemath-data-combinatorial-designs' Supposedly in the public
domain, see also the notes attached to the patch.

-- `sagemath-data-polytopes-db'
SageMath's `COPYING.txt' claims that this has no license as it is a
database. However the `SPKG.rst' for `polytopes_db' claims GPL.

-- `sagemath-data-graphs'
SageMath's `COPYING.txt' claims that this has no license as it is a
database. `smallgraphs.txt' and`isgci_sage.xml' seem to be taken from
data [2] which has a CC-BY-SA 3.0 icon/button in the footer if you
click on one of the articles.

-- `sagemath-data-conway-polynomials'
SageMath's `COPYING.txt' claims that this has no license as it is a
database.

-- `sagemath-data-elliptic-curves'
The file `allcurves.00000-09999' is taken from [4] which contains an
Artistic License 2.0.

If I interpret it correctly, Debian distributes
`combinatorial-designs' as public domain and the rest of them as
GPLv2 or later (see [4], [5], [6], [7], [8]).

- Not all package descriptions are great. For `gfan' in particular I
know to little algebraic geometry to decide what information from the
website would be relevant.

- Currently SageMath is split into two packages:
`python-sagemath-standard' provides the actual content but is not
tested; `sagemath' runs the testsuite and only provides a symlink to
the `sage' executable. This is similar to how NixOS does it. Upsides
to this approach are that one can compile everything and run the tests
independently from each other (the former takes for me ~18 minutes,
the latter ~24 minutes I think), preventing uneccessary work. Also, as
there are many propagated packages, this makes sure everything is
setup correctly.

- I gave up rebuilding all the dependent packages when `gnuradio' filled
my `/tmp' tmpfs and building `python-graph-tool' consumed all my RAM

- Package the documentation

- Package SageTeX

- The transitive closure of is huge: `guix size python-sagemath-standard'
reports 5002.1 MiB. It also propagates many packages.

- `zn-poly' was presumably added a long time ago as a dependency for
SageMath but is not used anymore and seems pretty dead.

- `pynac' was merged into SageMath[9]

How do we/I proceed?
- We would need a decision on what to do with the `sagemath-data-*'
packages regarding the licenses.

- I would need feedback whether the current split into the
`python-sagemath-standard' and `sagemath' packages would be
acceptable.

- The package additions (but not `sagemath-data-*') could be fine modulo
issues with the descriptions.

- The other patches (i.e. gap, maxima, pari-gp, singular) should be
fine.

A couple of the patches also have some notes attached.

0: SageMath also has tests marked as optional or taking a long time. The
tests run by default should hopefully be enough to catch all packaging
errors.

1: I see coredumps during some of the tests (for `python', `mwrank' from
`eclib', `ecl', `gentourng' from `nauty') but these don't seem to effect
the result ¯\_(?)_/¯. At least the ones for mwrank (in
`src/sage/interfaces/mwrank.py') can also be seen for sage as packaged
by Arch Linux (eclib 20230424) and NixOS (eclib 20221012), for the
others I haven't found the relevant tests.


Lastly, this is the log of the tests that currently fail:

sage -t --random-seed=81087110751557935317942447629980408147 sage/misc/sage_ostools.pyx
**********************************************************************
File "sage/misc/sage_ostools.pyx", line 35, in sage.misc.sage_ostools.have_program
Failed example:
have_program('sh', '/bin')
Expected:
True
Got:
False
**********************************************************************
1 item had failures:
1 of 7 in sage.misc.sage_ostools.have_program
[41 tests, 1 failure, 0.05 s]
sage -t --random-seed=81087110751557935317942447629980408147 sage/interfaces/gap_workspace.py
**********************************************************************
File "sage/interfaces/gap_workspace.py", line 56, in sage.interfaces.gap_workspace.gap_workspace_file
Failed example:
name1 = Popen([sys.executable, '-c', cmd], stdout=PIPE).communicate()[0]
Expected nothing
Got:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/all.py", line 62, in <module>
from .all__sagemath_repl import * # includes .all__sagemath_objects, .all__sagemath_environment
File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/all__sagemath_repl.py", line 83, in <module>
from .all__sagemath_objects import *
File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/all__sagemath_objects.py", line 16, in <module>
from sage.misc.all__sagemath_objects import *
File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/misc/all__sagemath_objects.py", line 3, in <module>
import sage.structure.all # to break a cyclic import
File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/structure/__init__.py", line 2, in <module>
import sage.structure.element
ModuleNotFoundError: No module named 'sage.structure.element'
**********************************************************************
File "sage/interfaces/gap_workspace.py", line 57, in sage.interfaces.gap_workspace.gap_workspace_file
Failed example:
name2 = Popen([sys.executable, '-c', cmd], stdout=PIPE).communicate()[0]
Expected nothing
Got:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/all.py", line 62, in <module>
from .all__sagemath_repl import * # includes .all__sagemath_objects, .all__sagemath_environment
File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/all__sagemath_repl.py", line 83, in <module>
from .all__sagemath_objects import *
File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/all__sagemath_objects.py", line 16, in <module>
from sage.misc.all__sagemath_objects import *
File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/misc/all__sagemath_objects.py", line 3, in <module>
import sage.structure.all # to break a cyclic import
File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/structure/__init__.py", line 2, in <module>
import sage.structure.element
ModuleNotFoundError: No module named 'sage.structure.element'
**********************************************************************
1 item had failures:
2 of 12 in sage.interfaces.gap_workspace.gap_workspace_file
[14 tests, 2 failures, 0.68 s]
sage -t --random-seed=81087110751557935317942447629980408147 sage/repl/ipython_kernel/kernel.py
**********************************************************************
File "sage/repl/ipython_kernel/kernel.py", line 47, in sage.repl.ipython_kernel.kernel.SageKernel.__init__
Failed example:
from sage.repl.ipython_kernel.kernel import SageKernel
Expected nothing
Got:
doctest:warning
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/bin/sage-runtests", line 154, in <module>
err = DC.run()
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/control.py", line 1385, in run
self.run_doctests()
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/control.py", line 1060, in run_doctests
self.dispatcher.dispatch()
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2017, in dispatch
self.parallel_dispatch()
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 1912, in parallel_dispatch
w.start() # This might take some time
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2186, in start
super().start()
File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/process.py", line 121, in start
self._popen = self._Popen(self)
File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/context.py", line 224, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/context.py", line 281, in _Popen
return Popen(process_obj)
File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
self._launch(process_obj)
File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/popen_fork.py", line 71, in _launch
code = process_obj._bootstrap(parent_sentinel=child_r)
File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2158, in run
task(self.options, self.outtmpfile, msgpipe, self.result_queue)
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2488, in __call__
doctests, extras = self._run(runner, options, results)
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2540, in _run
result = runner.run(test)
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 866, in run
return self._run(test, compileflags, out)
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 695, in _run
self.compile_and_execute(example, compiler, test.globs)
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 1093, in compile_and_execute
exec(compiled, globs)
File "<doctest sage.repl.ipython_kernel.kernel.SageKernel.__init__[0]>", line 1, in <module>
from sage.repl.ipython_kernel.kernel import SageKernel
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/repl/ipython_kernel/kernel.py", line 19, in <module>
from ipykernel.ipkernel import IPythonKernel
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/gnu/store/d5883jyf46l3h4h3rc0d7ramgy47pab6-python-ipykernel-6.13.0/lib/python3.10/site-packages/ipykernel/ipkernel.py", line 19, in <module>
from .debugger import Debugger, _is_debugpy_available
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/gnu/store/d5883jyf46l3h4h3rc0d7ramgy47pab6-python-ipykernel-6.13.0/lib/python3.10/site-packages/ipykernel/debugger.py", line 22, in <module>
from debugpy.server import api # noqa
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/gnu/store/78bgdvac53aw2zhn1cq2jmsj78bwx2ln-python-debugpy-1.6.0/lib/python3.10/site-packages/debugpy/server/__init__.py", line 40, in <module>
import pydevd # noqa
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/gnu/store/dnd753b65xbv3smqsnxvpl72lnnzlnll-python-pydevd-2.8.0-0.47e2984/lib/python3.10/site-packages/pydevd.py", line 41, in <module>
from _pydevd_bundle import pydevd_extension_utils, pydevd_frame_utils
File "<frozen importlib._bootstrap>", line 1078, in _handle_fromlist
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/gnu/store/dnd753b65xbv3smqsnxvpl72lnnzlnll-python-pydevd-2.8.0-0.47e2984/lib/python3.10/site-packages/_pydevd_bundle/pydevd_extension_utils.py", line 5, in <module>
import pydevd_plugins.extensions as extensions
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/gnu/store/dnd753b65xbv3smqsnxvpl72lnnzlnll-python-pydevd-2.8.0-0.47e2984/lib/python3.10/site-packages/pydevd_plugins/extensions/__init__.py", line 4, in <module>
__import__('pkg_resources').declare_namespace(__name__)
File "/gnu/store/06cjgrygh79bxbsr0x44ryx1wy1pwvh4-python-setuptools-67.6.1/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2338, in declare_namespace
warnings.warn(msg, DeprecationWarning, stacklevel=2)
File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/warnings.py", line 109, in _showwarnmsg
sw(msg.message, msg.category, msg.filename, msg.lineno,
:
DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('pydevd_plugins.extensions')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
doctest:warning
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/bin/sage-runtests", line 154, in <module>
err = DC.run()
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/control.py", line 1385, in run
self.run_doctests()
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/control.py", line 1060, in run_doctests
self.dispatcher.dispatch()
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2017, in dispatch
self.parallel_dispatch()
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 1912, in parallel_dispatch
w.start() # This might take some time
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2186, in start
super().start()
File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/process.py", line 121, in start
self._popen = self._Popen(self)
File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/context.py", line 224, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/context.py", line 281, in _Popen
return Popen(process_obj)
File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
self._launch(process_obj)
File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/popen_fork.py", line 71, in _launch
code = process_obj._bootstrap(parent_sentinel=child_r)
File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2158, in run
task(self.options, self.outtmpfile, msgpipe, self.result_queue)
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2488, in __call__
doctests, extras = self._run(runner, options, results)
File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj
This message was truncated. Download the full message here.
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 03/32] gnu: Add python-memory-allocator.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
8b265a6ab32172f0f462c47d1b3a078d24032e20.1685391447.git.guix@ikherbers.com
* gnu/packages/python-xyz.scm (python-memory-allocator): New variable.
---

Notes:
Previous versions of this commit had `python-cython' as `propagated-input'.

gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d07561b185..bc3773b510 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18485,6 +18485,26 @@ (define-public python-memcached
more, possibly remote, memcached servers.")
(license license:psfl)))
+(define-public python-memory-allocator
+ (package
+ (name "python-memory-allocator")
+ (version "0.1.3")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "memory_allocator" version))
+ (sha256
+ (base32
+ "0qiijpv8zr7c5rjy64i4q3rb8qhn6v4yms5mza4p86y0w4m5r00k"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-cython))
+ (home-page "https://github.com/sagemath/memory_allocator")
+ (synopsis "Extension class to allocate memory with cython")
+ (description
+ "This package provides an extension class that provides C-like memory
+allocation methods (e.g. @code{malloc}, @code{aligned_malloc}). The memory is
+automatically freed if an instance is deallocated.")
+ (license license:gpl3)))
+
(define-public python-mergedeep
(package
(name "python-mergedeep")
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 01/32] gnu: python-cysignals: Update to 1.11.2.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
86ba5974544d96d9f8371447609ecfd19a92b2de.1685391447.git.guix@ikherbers.com
* gnu/packages/python-xyz.scm (python-cysignals): Update to 1.11.2.
[native-inputs]: Add autoconf and gdb.
[arguments]<#:tests?>: Run tests.
[arguments]<#:phases>: Remove phase 'configure, add phase
'set-shell-for-configure-script, add phase 'fix-testgdb.py.
---
gnu/packages/python-xyz.scm | 34 +++++++++++++++++++---------------
1 file changed, 19 insertions(+), 15 deletions(-)

Toggle diff (65 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f7e3f6f538..d07561b185 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -160,6 +160,7 @@ (define-module (gnu packages python-xyz)
#:use-module (gnu packages adns)
#:use-module (gnu packages aidc)
#:use-module (gnu packages attr)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
@@ -17712,32 +17713,35 @@ (define-public python-future
(define-public python-cysignals
(package
(name "python-cysignals")
- (version "1.9.0")
+ (version "1.11.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cysignals" version))
(sha256
(base32
- "15ix8crpad26cfl1skyg7qajqqfdrm8q5ahhmlfmqi1aw0jqj2g2"))))
+ "19kgba662s3s942k3mzkr92mmb37793b49mq460q88dy1xvb2n2q"))))
(build-system python-build-system)
(native-inputs
- (list python-cython python-sphinx))
+ (list autoconf gdb python-cython python-sphinx))
(inputs
(list pari-gp))
(arguments
- `(#:modules ((guix build python-build-system)
- ((guix build gnu-build-system) #:prefix gnu:)
- (guix build utils))
- ;; FIXME: Tests are executed after installation and currently fail
- ;; when not installing into standard locations; the author is working
- ;; on a fix.
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-before
- 'build 'configure
- (assoc-ref gnu:%standard-phases 'configure)))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-shell-for-configure-script
+ (lambda _
+ (setenv "CONFIG_SHELL" (which "sh"))))
+ (add-after 'unpack 'fix-testgdb.py
+ (lambda _
+ (substitute* "testgdb.py"
+ (("assertIn\\(b")
+ "assertIn(")
+ (("__pyx_pf_9cysignals_5tests_46unguarded_dereference_null_pointer\\(\\)")
+ "unguarded_dereference_null_pointer")
+ (("cdef void dereference_null_pointer\\(\\) nogil:")
+ "dereference_null_pointer")))))))
(home-page
"https://github.com/sagemath/cysignals")
(synopsis
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 07/32] gnu: Add python-primecountpy.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
7cea6d8ec60772ee41128e07c7ab21e51dac62a8.1685391447.git.guix@ikherbers.com
* gnu/packages/algebra.scm (python-primecountpy): New variable.
---
gnu/packages/algebra.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 68a0427f59..ba1131f358 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1925,3 +1925,29 @@ (define-public primecount
counts the number of primes ≤ x (maximum 10^31) using highly optimized
implementations of the combinatorial prime counting algorithms.")
(license license:bsd-2)))
+
+(define-public python-primecountpy
+ (package
+ (name "python-primecountpy")
+ (version "0.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "primecountpy" version))
+ (sha256
+ (base32
+ "0xh6zx5zw5scy7jygqirks9y6z4zyfm0zjfp8nd6dw0m471przkq"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-before 'build 'set-cflags
+ (lambda _
+ (setenv "CFLAGS" "-fopenmp")
+ (setenv "CXXFLAGS" "-fopenmp"))))))
+ (inputs (list pari-gp primecount))
+ (native-inputs (list python-cython))
+ (propagated-inputs (list python-cysignals))
+ (home-page "https://github.com/dimpase/primecountpy")
+ (synopsis "Cython interface for primecount")
+ (description
+ "This package provides a cython interface for the primecount library.")
+ (license license:gpl3)))
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 04/32] gnu: python-gmpy2: Move to (gnu packages multiprecision).
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
287d605d4a50255e65ae21bcaac3ad1a8b9b73c9.1685391447.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (python-gmpy2): Move from here ...
* gnu/packages/multiprecision.scm (python-gmpy2): ... to here.
---

Notes:
Prevent cycle (gnu packages sagemath) -> (gnu packages multiprecision) -> (gnu packages sagemath)

gnu/packages/multiprecision.scm | 28 +++++++++++++++++++++++++++-
gnu/packages/sagemath.scm | 25 -------------------------
2 files changed, 27 insertions(+), 26 deletions(-)

Toggle diff (98 lines)
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 6ba08be3a3..a955a8cae2 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -30,6 +30,7 @@ (define-module (gnu packages multiprecision)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages flex)
#:use-module (gnu packages m4)
#:use-module (gnu packages gcc)
@@ -39,7 +40,8 @@ (define-module (gnu packages multiprecision)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system python))
(define-public gmp
(package
@@ -116,6 +118,30 @@ (define-public gmp-6.0
(patches (search-patches "gmp-arm-asm-nothumb.patch"
"gmp-faulty-test.patch"))))))
+(define-public python-gmpy2
+ (package
+ (name "python-gmpy2")
+ (version "2.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "gmpy2" version))
+ (sha256
+ (base32
+ "1lc29g3s4z5f1qbsc2x9i9sf6wrpni9pwiwmb1wwx3hjr85i8xfs"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list unzip))
+ (inputs
+ (list gmp mpfr mpc))
+ (home-page "https://github.com/aleaxit/gmpy")
+ (synopsis
+ "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x")
+ (description
+ "This package provides a Python interface to the GNU multiprecision
+libraries GMO, MPFR and MPC.")
+ (license lgpl3+)))
+
(define-public mpfr
(package
(name "mpfr")
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 3138006e77..04bb17dc9d 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -33,7 +33,6 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
- #:use-module (gnu packages compression)
#:use-module (gnu packages image)
#:use-module (gnu packages lisp)
#:use-module (gnu packages multiprecision)
@@ -70,30 +69,6 @@ (define-public python-cypari2
but it can be used independently.")
(license license:gpl2+)))
-(define-public python-gmpy2
- (package
- (name "python-gmpy2")
- (version "2.1.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "gmpy2" version))
- (sha256
- (base32
- "1lc29g3s4z5f1qbsc2x9i9sf6wrpni9pwiwmb1wwx3hjr85i8xfs"))))
- (build-system python-build-system)
- (native-inputs
- (list unzip))
- (inputs
- (list gmp mpfr mpc))
- (home-page "https://github.com/aleaxit/gmpy")
- (synopsis
- "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x")
- (description
- "This package provides a Python interface to the GNU multiprecision
-libraries GMO, MPFR and MPC.")
- (license license:lgpl3+)))
-
(define-public cliquer
(package
(name "cliquer")
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 08/32] gnu: Add python-lrcalc.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
9c66006374c6762e4702dd20d4e6aaa14f4aff1a.1685391447.git.guix@ikherbers.com
* gnu/packages/algebra.scm (python-lrcalc): New variable.
---
gnu/packages/algebra.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index ba1131f358..3bc8ec7ab2 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1701,6 +1701,26 @@ (define-public lrcalc
(license license:gpl2+)
(home-page "https://sites.math.rutgers.edu/~asbuch/lrcalc/")))
+(define-public python-lrcalc
+ (package
+ (name "python-lrcalc")
+ (version "2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "lrcalc" version))
+ (sha256
+ (base32
+ "1adassfjalsdsngy01c37835qsx3gj0jx9cinc9b91x4xnd51873"))))
+ (build-system python-build-system)
+ (inputs (list lrcalc))
+ (native-inputs (list python-cython))
+ (home-page "https://sites.math.rutgers.edu/~asbuch/lrcalc/")
+ (synopsis "Python bindings for the Littlewood-Richardson Calculator")
+ (description
+ "This package provides a python interface to the Littlewood-Richardson
+Calculator library (lrcalc).")
+ (license license:gpl3+)))
+
(define-public iml
(package
(name "iml")
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 02/32] gnu: cliquer: Update to 1.22.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
a3122d24f5ed365e29ba60534cd35d4c7db85b08.1685391447.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (cliquer): Update to 1.22.
---
gnu/packages/sagemath.scm | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 3d8c07b813..3138006e77 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -97,19 +97,22 @@ (define-public python-gmpy2
(define-public cliquer
(package
(name "cliquer")
- (version "1.21")
+ (version "1.22")
;; The original source package is available from the home page and
;; has not seen any release since 2010; it comes with only a Makefile
- ;; without an "install" target. Instead, there is an autotoolized
- ;; tarball available from the Sage project.
- (source
- (origin
- (method url-fetch)
- (uri "http://users.ox.ac.uk/~coml0531/sage/cliquer-1.21.tar.gz")
- (sha256
- (base32
- "1hdzrmrx0nvvj8kbwxrs8swqgkd284khzl623jizixcv28xb77aq"))))
+ ;; without an "install" target. Instead, we use an autotoolized
+ ;; fork
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dimpase/autocliquer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00gcmrhi2fjn8b246w5a3b0pl7p6haxy5wjvd9kcqib1xanz59z4"))))
(build-system gnu-build-system)
+ (native-inputs (list autoconf automake libtool))
(synopsis "C routines for finding cliques in weighted graphs")
(description "Cliquer is a set of reentrant C routines for finding
cliques in a weighted or unweighted graph. It uses an exact
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 15/32] gnu: Add sagemath-data-elliptic-curves.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
5dbc9f2c5ca98bfbb105329f81e67a979700d77e.1685391447.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath-data-elliptic-curves): New variable.
---
gnu/packages/sagemath.scm | 44 +++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 1a1d81b6a7..f10dc89cd1 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -406,3 +406,47 @@ (define-public sagemath-data-conway-polynomials
(synopsis "Tables of Conway polynomials over finite fields")
(description synopsis)
(license #f))))
+
+(define-public sagemath-data-elliptic-curves
+ (let
+ ((install-py-origin
+ (origin
+ (method url-fetch)
+ (uri
+ "https://raw.githubusercontent.com/sagemath/sage/9.8/build/pkgs/elliptic_curves/spkg-install.py")
+ (sha256 (base32
+ "116g684i6mvs11fvb6fzfsr4fn903axn31vigdyb8bgpf8l4hvc5")))))
+ (package
+ (name "sagemath-data-elliptic-curves")
+ (version "0.8.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sagemath/spkg/upstream/elliptic_curves/elliptic_curves-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "0l7xh4abw5sb4d37r0ylr3vwb88fpx2zrvfm5ql0c7yrv5q59fjz"))))
+ (build-system trivial-build-system)
+ (arguments
+ (list #:modules '((guix build utils))
+ #:builder #~(begin
+ (use-modules (guix build utils))
+
+ (setenv "PATH"
+ (string-join (list #+(file-append bzip2 "/bin")
+ #+(file-append tar "/bin")
+ #+(file-append python "/bin"))
+ ":"))
+ ;; the output directory
+ (setenv "SAGE_SHARE" (string-append #$output "/share"))
+ (setenv "PYTHONPATH" (getcwd))
+
+ (invoke "tar" "-xvf" #$source)
+ (symlink (string-append "elliptic_curves-" #$version) "src")
+ (invoke "python3" (assoc-ref %build-inputs "install-py")))))
+ (inputs `(("install-py" ,install-py-origin)))
+ (home-page "https://johncremona.github.io/ecdata/")
+ (synopsis "Databases of elliptic curves")
+ (description synopsis)
+ (license #f))))
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 16/32] gnu: Add sagemath-data-graphs.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
9f221f2dbf4ce76f230675cb18daaaf8ef5cad0d.1685391447.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath-data-graphs): New variable.
---

Notes:
smallgraphs.txt, isgci_sage.xml: The website (graphclasses.org) has an CC-BY-SA 3.0 icon/button in footer

gnu/packages/sagemath.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index f10dc89cd1..a60dfb8d9f 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -450,3 +450,26 @@ (define-public sagemath-data-elliptic-curves
(synopsis "Databases of elliptic curves")
(description synopsis)
(license #f))))
+
+(define-public sagemath-data-graphs
+ (package
+ (name "sagemath-data-graphs")
+ (version "20210214")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sagemath/spkg/upstream/graphs/graphs-" version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "0h9p5wrxips51x6vpfiiaqzp9j004nwppzc9qc2iaqakk06pq8q7"))))
+ (build-system copy-build-system)
+ (arguments
+ '(#:install-plan '(("." "share/graphs"))))
+ (home-page "https://www.sagemath.org")
+ (synopsis "Database of graphs")
+ (description
+ "This package contains databases of graphs. It also includes the
+@acronym{ISGCI, Information System on Graph Classes and their Inclusions}
+database.")
+ (license #f)))
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 14/32] gnu: Add sagemath-data-conway-polynomials.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
c0209e98211c890962ba05f0a19fc1e5e12bc5b5.1685391447.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath-data-conway-polynomials): New variable.
---
gnu/packages/sagemath.scm | 47 +++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (73 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index b68d4273f2..1a1d81b6a7 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -25,6 +25,7 @@ (define-module (gnu packages sagemath)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
+ #:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
@@ -33,8 +34,10 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages image)
#:use-module (gnu packages lisp)
#:use-module (gnu packages multiprecision)
@@ -359,3 +362,47 @@ (define-public sagemath-data-combinatorial-designs
Handbook of Combinatorial Designs, 2ed.
@end itemize")
(license license:public-domain)))
+
+(define-public sagemath-data-conway-polynomials
+ (let
+ ((install-py
+ (origin
+ (method url-fetch)
+ (uri
+ "https://raw.githubusercontent.com/sagemath/sage/9.8/build/pkgs/conway_polynomials/spkg-install.py")
+ (sha256 (base32
+ "1bwnqasnyv793hxg29viing4dnliz29grkhldsirq19d509yk1fs")))))
+ (package
+ (name "sagemath-data-conway-polynomials")
+ (version "0.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sagemath/spkg/upstream/conway_polynomials/conway_polynomials-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "05zb1ly9x2bbscqv0jgc45g48xx77mfs7qdbqhn4ihmihn57iwnq"))))
+ (build-system trivial-build-system)
+ (arguments
+ (list #:modules '((guix build utils))
+ #:builder #~(begin
+ (use-modules (guix build utils))
+
+ (setenv "PATH"
+ (string-join (list #+(file-append bzip2 "/bin")
+ #+(file-append tar "/bin")
+ #+(file-append python "/bin"))
+ ":"))
+ ;; the output directory
+ (setenv "SAGE_SHARE" (string-append #$output "/share"))
+ (setenv "PYTHONPATH" (getcwd))
+
+ (invoke "tar" "-xvf" #$source)
+ (symlink (string-append "conway_polynomials-" #$version) "src")
+ (invoke "python3" #$install-py))))
+ (home-page
+ "https://www.math.rwth-aachen.de/~Frank.Luebeck/data/ConwayPol/index.html")
+ (synopsis "Tables of Conway polynomials over finite fields")
+ (description synopsis)
+ (license #f))))
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 17/32] gnu: Add sagemath-data-polytopes-db.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
b285dae9072ccc0c82c094a86d722f9ba1026a20.1685391447.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath-data-polytopes-db): New variable.
---
gnu/packages/sagemath.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (30 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index a60dfb8d9f..dfe5874ed3 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -473,3 +473,23 @@ (define-public sagemath-data-graphs
@acronym{ISGCI, Information System on Graph Classes and their Inclusions}
database.")
(license #f)))
+
+(define-public sagemath-data-polytopes-db
+ (package
+ (name "sagemath-data-polytopes-db")
+ (version "20170220")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sagemath/spkg/upstream/polytopes_db/polytopes_db-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1q0cd811ilhax4dsj9y5p7z8prlalqr7k9mzq178c03frbgqny6b"))))
+ (build-system copy-build-system)
+ (arguments
+ '(#:install-plan '(("." "share/reflexive_polytopes"))))
+ (home-page "https://www.sagemath.org")
+ (synopsis "Lists of 2- and 3-dimensional reflexive polytopes")
+ (description synopsis)
+ (license #f)))
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 18/32] gnu: pari-gp: Use G-expression.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
e761db2ef69d834df512dd2c97af07e4335fca36.1685391447.git.guix@ikherbers.com
* gnu/packages/algebra.scm (pari-gp)[arguments]: Convert to gexp.
---
gnu/packages/algebra.scm | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index ee08378058..0b238d6f4b 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -274,16 +274,15 @@ (define-public pari-gp
(list texlive-amsfonts))))
(inputs (list gmp libx11 perl readline))
(arguments
- '(#:make-flags '("all")
- #:test-target "dobench"
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "./Configure"
- "--mt=pthread"
- (string-append "--prefix="
- (assoc-ref outputs "out"))))))))
+ (list #:make-flags '(list "all")
+ #:test-target "dobench"
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (invoke "./Configure"
+ "--mt=pthread"
+ (string-append "--prefix=" #$output)))))))
(synopsis "PARI/GP, a computer algebra system for number theory")
(description
"PARI/GP is a widely used computer algebra system designed for fast
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 19/32] gnu: pari-gp: Install galdata.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
cee4ad028bca8d0df5878c8b4820c5be2dc61948.1685391447.git.guix@ikherbers.com
* gnu/packages/algebra.scm (pari-galdata): New variable.
(pari-gp)[arguments]<#:phases>: Add phase "install-galdata".
---

Notes:
PARI/GP supports only a single load path.
Multiple packages should work in a profile, as they get symlinked in a single folder.

gnu/packages/algebra.scm | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)

Toggle diff (36 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 0b238d6f4b..c2d1c3ce1e 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -257,6 +257,16 @@ (define-public python-fpylll
(description "fpylll is a Python wrapper for fplll.")
(license license:gpl2+)))
+(define pari-galdata
+ ;; version from 2008-04-12
+ (origin
+ (method url-fetch)
+ ;; no versioning, old files seem to be moved to `old/...' on update
+ (uri "https://pari.math.u-bordeaux.fr/pub/pari/packages/galdata.tgz")
+ (sha256
+ (base32
+ "1pch6bk76f1i6cwwgm7hhxi5h71m52lqayp4mnyj0jmjk406bhdp"))))
+
(define-public pari-gp
(package
(name "pari-gp")
@@ -282,7 +292,11 @@ (define-public pari-gp
(lambda _
(invoke "./Configure"
"--mt=pthread"
- (string-append "--prefix=" #$output)))))))
+ (string-append "--prefix=" #$output))))
+ (add-after 'install 'install-galdata
+ (lambda _
+ (invoke "tar" "-xvf" #$pari-galdata)
+ (copy-recursively "data/" (string-append #$output "/share/pari")))))))
(synopsis "PARI/GP, a computer algebra system for number theory")
(description
"PARI/GP is a widely used computer algebra system designed for fast
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 05/32] gnu: Add python-pplpy.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
77277d80c5af1a555028cc6599319109bd6f0f5b.1685391447.git.guix@ikherbers.com
* gnu/packages/maths.scm (python-pplpy): New variable.
---
gnu/packages/maths.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 1b34c6e314..d92b8528a0 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -7526,6 +7526,26 @@ (define-public ppl
functions.")
(license license:gpl3+)))
+(define-public python-pplpy
+ (package
+ (name "python-pplpy")
+ (version "0.8.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pplpy" version))
+ (sha256
+ (base32
+ "1gfq5czkqxl395k06s77zij3xv7maiwagjvzmrpraxhsmvsd02sh"))))
+ (build-system python-build-system)
+ (inputs (list gmp mpc mpfr pari-gp ppl))
+ (native-inputs (list python-cython))
+ (propagated-inputs (list python-cysignals python-gmpy2))
+ (home-page "https://github.com/sagemath/pplpy")
+ (synopsis "Python PPL wrapper")
+ (description
+ "A Python wrapper for @acronym{PPL, the Parma Polyhedra Library}.")
+ (license license:gpl3+)))
+
(define-public speedcrunch
(package
(name "speedcrunch")
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 06/32] gnu: Add primecount.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
24a3bffb7b6f7e22c0adf2a3a218592deb48d904.1685391447.git.guix@ikherbers.com
* gnu/packages/algebra.scm (primecount): New variable.
---
gnu/packages/algebra.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 3babf90b3c..68a0427f59 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1901,3 +1901,27 @@ (define-public parform
(description (string-append (package-description form)
" This package also includes
@code{parform}, a version of FORM parallelized using OpenMPI."))))
+
+(define-public primecount
+ (package
+ (name "primecount")
+ (version "7.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kimwalisch/primecount/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0wsnavixdqi3ix3j4nqyi0hmhx309l1360nqrcxw5z60gg6kxaf8"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" "-DBUILD_TESTS=ON")))
+ (home-page "https://github.com/kimwalisch/primecount/")
+ (synopsis "Fast prime counting function implementations")
+ (description
+ "@command{primecount} is a command-line program and C/C++ library that
+counts the number of primes ≤ x (maximum 10^31) using highly optimized
+implementations of the combinatorial prime counting algorithms.")
+ (license license:bsd-2)))
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 21/32] gnu: gap: Compile atlasrep package.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
c216e3a408a499d1f6e9110be72caa69a806fcbd.1685391447.git.guix@ikherbers.com
The tomlib package depends on atlasrep.

* gnu/packages/algebra.scm (gap)[source]<snippet>: Don't delete atlasrep.
---
gnu/packages/algebra.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 4d5483bf4d..b7a900f61d 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1347,6 +1347,7 @@ (define-public gap
;; Optional packages.
"4ti2interface"
"alnuth"
+ "atlasrep"
"autodoc"
"automata"
"autpgrp"
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 12/32] download: Add SageMath mirrors.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
30079d6b7bcab1e56b590ea75dbe5c370089386e.1685391447.git.guix@ikherbers.com
* guix/download/.scm (%mirrors): Add mirrors for SageMath.
---
guix/download.scm | 37 ++++++++++++++++++++++++++++++++++++-
1 file changed, 36 insertions(+), 1 deletion(-)

Toggle diff (50 lines)
diff --git a/guix/download.scm b/guix/download.scm
index 561a893eee..01fb789cab 100644
--- a/guix/download.scm
+++ b/guix/download.scm
@@ -364,7 +364,42 @@ (define %mirrors
"https://mirror.esc7.net/pub/OpenBSD/")
(mate
"https://pub.mate-desktop.org/releases/"
- "http://pub.mate-desktop.org/releases/"))))
+ "http://pub.mate-desktop.org/releases/")
+ (sagemath ; https://www.sagemath.org/mirrors.html
+ "http://files.sagemath.org/" ; looks the most "official"
+ ;; Africa
+ "https://mirror.marwan.ma/sage/"
+ "https://ftp.sun.ac.za/ftp/pub/mirrors/www.sagemath.org/"
+ "https://sagemath.mirror.ac.za/"
+ "https://mirror.ufs.ac.za/sagemath/"
+ ;; North America
+ "https://mirrors.mit.edu/sage/"
+ "https://mirror.rcg.sfu.ca/mirror/sage/"
+ "https://mirror.csclub.uwaterloo.ca/sage/"
+ "https://mirrors.xmission.com/sage/"
+ ;; South America
+ "https://sagemath.c3sl.ufpr.br/"
+ "http://linorg.usp.br/sage/"
+ ;; Asia
+ "https://mirrors.aliyun.com/sagemath/"
+ "https://mirror-hk.koddos.net/sagemath/"
+ "https://ftp.riken.jp/sagemath/"
+ "https://mirrors.ustc.edu.cn/sagemath/"
+ "https://ftp.yz.yamagata-u.ac.jp/pub/math/sage/"
+ "https://mirrors.nju.edu.cn/sagemath/"
+ ;; Australia
+ "https://mirror.aarnet.edu.au/pub/sage/"
+ ;; Europe
+ "https://sage.mirror.garr.it/mirrors/sage/"
+ "https://mirror.koddos.net/sagemath/"
+ "https://mirror.lyrahosting.com/sagemath/"
+ "https://mirror.metanet.ch/sage/"
+ "https://www.mirrorservice.org/sites/www.sagemath.org/"
+ "https://ftp.rediris.es/mirror/sagemath/"
+ "https://mirrors.up.pt/pub/sage/"
+ "https://www-ftp.lip6.fr/pub/math/sagemath/"
+ "https://mirror.yandex.ru/mirrors/sage.math.washington.edu/"
+ "https://mirror.dogado.de/sage/"))))
(define %mirror-file
;; Copy of the list of mirrors to a file. This allows us to keep a single
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 13/32] gnu: Add sagemath-data-combinatorial-designs.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
0e766f6ab4c3a421c30c8e802d0ba38cf6798fe7.1685391447.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath-data-combinatorial-designs): New variable.
---

Notes:
For license:

gnu/packages/sagemath.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 04bb17dc9d..b68d4273f2 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -22,9 +22,11 @@
(define-module (gnu packages sagemath)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
@@ -331,3 +333,29 @@ (define-public ratpoints
a given height bound on a hyperelliptic curve in a very efficient way,
by using an optimized quadratic sieve algorithm.")
(license license:gpl2+)))
+
+(define-public sagemath-data-combinatorial-designs
+ (package
+ (name "sagemath-data-combinatorial-designs")
+ (version "20140630")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sagemath/spkg/upstream/combinatorial_designs/combinatorial_designs-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "0bj8ngiq59hipa6izi6g5ph5akmy4cbk0vlsb0wa67f7grnnqj69"))))
+ (build-system copy-build-system)
+ (arguments
+ '(#:install-plan '(("." "share/combinatorial_designs/"))))
+ (home-page "https://www.sagemath.org")
+ (synopsis "Data for Combinatorial Designs")
+ (description
+ "This package data for combinatorial designs. It currently contains:
+
+@itemize
+@item The table of @acronym{MOLS, Mutually orthogonal Latin squares} from the
+Handbook of Combinatorial Designs, 2ed.
+@end itemize")
+ (license license:public-domain)))
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 20/32] gnu: gap: Build reproducibly.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
81c81c228c3c1df489194d3f5229c7dce6ed5e5f.1685391447.git.guix@ikherbers.com
* gnu/packages/algebra.scm (gap)[arguments]<#:phases> {'pin-build-time}
{'remove-logs}: New phases.
---

Notes:
Some packages seem to include pdfs, LaTeX output; pdflatex missing

gnu/packages/algebra.scm | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index c2d1c3ce1e..4d5483bf4d 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1412,6 +1412,12 @@ (define-public gap
(guix build utils))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'pin-build-time
+ ;; https://github.com/gap-system/gap/issues/5204
+ (lambda _
+ (substitute* "src/version.c.in"
+ (("@GAP_BUILD_DATETIME@")
+ "@GAP_RELEASEDAY@"))))
(add-after 'build 'build-packages
;; Compile all packages that have not been deleted by the
;; code snippet above.
@@ -1428,7 +1434,14 @@ (define-public gap
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/gap")))
- (copy-recursively "pkg" (string-append share "/pkg"))))))))
+ (copy-recursively "pkg" (string-append share "/pkg")))))
+ ;; configure logs and LaTeX output that contains timestamps, uname
+ ;; output etc
+ (add-after 'install-packages 'remove-logs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (for-each
+ delete-file
+ (find-files (assoc-ref outputs "out") "\\.(out|log)$")))))))
(home-page "https://www.gap-system.org/")
(synopsis
"System for computational group theory")
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 10/32] gnu: Add gfan.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
f2289bbae3f9eb555cf7a19caa3c8efeb246d30f.1685391447.git.guix@ikherbers.com
* gnu/packages/algebra.scm (gfan): New variable.
---

Notes:
gfan homepage contains an abstract

gnu/packages/algebra.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 3bc8ec7ab2..92a9faa04f 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -130,6 +130,38 @@ (define-public gf2x
(home-page "https://gitlab.inria.fr/gf2x/gf2x")
(license license:gpl3+)))
+(define-public gfan
+ (package
+ (name "gfan")
+ (version "0.6.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://users-math.au.dk/jensen/software/gfan/gfan"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "02pihqb1lb76a0xbfwjzs1cd6ay3ldfxsm8dvsbl6qs3vkjxax56"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags #~(list (string-append "PREFIX=" #$output)
+ (string-append "CC=" #$(cc-for-target))
+ (string-append "CXX=" #$(cxx-for-target)))
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'fix-cddlib-include
+ (lambda _
+ (substitute* '("src/lp_cdd.cpp"
+ "src/gfanlib_zcone.cpp"
+ "src/app_librarytest.cpp")
+ (("^#include \"cdd/")
+ "#include \"cddlib/")))))))
+ (inputs (list cddlib gmp))
+ (home-page "https://users-math.au.dk/jensen/software/gfan/gfan.html")
+ (synopsis "Software package for computing Gröbner fans and tropical varieties")
+ (description synopsis)
+ (license license:gpl2+)))
+
(define-public cm
(package
(name "cm")
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 09/32] gnu: Add palp.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
25202f808c3f2b1fa6c89fe568b267ad1bd3042a.1685391447.git.guix@ikherbers.com
* gnu/packages/maths.scm (palp): New variable.
---

Notes:
sage's build/pkgs/palp/SPKG.rst contains a description

gnu/packages/maths.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index d92b8528a0..c2d9d07b00 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3158,6 +3158,37 @@ (define-public maxflow
September 2004}")
(license license:gpl3+)))
+(define-public palp
+ (package
+ (name "palp")
+ (version "2.20")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hep.itp.tuwien.ac.at/~kreuzer/CY/palp/palp-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1q1cl3vpdir16szy0jcadysydcrjp48hqxyx42kr8g9digkqjgkj"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
+ #:tests? #f ; no tests
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda _
+ (for-each
+ (lambda (name)
+ (install-file name (string-append #$output "/bin")))
+ '("class.x" "cws.x" "mori.x" "nef.x" "poly.x")))))))
+ (home-page "http://hep.itp.tuwien.ac.at/~kreuzer/CY/CYpalp.html")
+ (synopsis "Package for Analyzing Lattice Polytopes")
+ (description
+ "PALP is a set of programs for calculations with lattice polytopes and
+applications to toric geometry.")
+ (license license:gpl3)))
+
(define-public petsc
(package
(name "petsc")
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 27/32] gnu: singular: Update to 4.3.2.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
841d6fafcd134b03093b85394759faf598463b46.1685391448.git.guix@ikherbers.com
* gnu/packages/algebra.scm (singular): Update to 4.3.2.
---

Notes:
python2?

gnu/packages/algebra.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index e4af9d7d55..9ea4cfbf09 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -640,7 +640,7 @@ (define-public ntl
(define-public singular
(package
(name "singular")
- (version "4.2.1")
+ (version "4.3.2")
(source
(origin
(method url-fetch)
@@ -655,7 +655,7 @@ (define-public singular
#\.) "-")
"/singular-" version ".tar.gz"))
(sha256 (base32
- "13gy1gdng8zijwlr1fn5sixw53z0zf9czzlg0vh1dcc59zw6v998"))))
+ "1nznj68qs0n2cqa43fxm76csz7bdlcvr266cly5zlra2pp8nbm9z"))))
(build-system gnu-build-system)
(native-inputs
(list doxygen graphviz perl))
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 29/32] gnu: eclib: Update to 20230424.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
385467e1a6e86fcfdcc9e9c53a5fe079fbd07702.1685391448.git.guix@ikherbers.com
* gnu/packages/algebra.scm (eclib): Update to 20230424.
---
gnu/packages/algebra.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index df3ec30718..cc498070c1 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1772,16 +1772,16 @@ (define-public m4rie
(define-public eclib
(package
(name "eclib")
- (version "20220621")
+ (version "20230424")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JohnCremona/eclib/")
- (commit version)))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "07wbkzmn6w0hrv2vim7f0il7k59ccc66x5vnn623xkmhfw32b3nz"))))
+ "02gby28dbzm8wf7cllm8k96s2rr4ipgfb5wjv2p77lzzp7b497w3"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake libtool))
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 30/32] gnu: python-pythran: Update to 0.13.1.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
5d5949f9d653a2506af98125f0fb5b1010257e9c.1685391448.git.guix@ikherbers.com
* gnu/packages/python-science.scm (python-pythran): Update to 0.13.1.
---

Notes:
I gave up rebuilding all the dependent packages when `gnuradio' filled my
`/tmp' tmpfs and building `python-graph-tool' consumed all my RAM

gnu/packages/python-science.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 7d3319e367..1e24ebb2d5 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -478,14 +478,14 @@ (define-public python-pandas
(define-public python-pythran
(package
(name "python-pythran")
- (version "0.11.0")
+ (version "0.13.1")
(home-page "https://github.com/serge-sans-paille/pythran")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0cm7wfcyvkp1wmq7n1lyf2d3sj6158jf63bagjpjmfnjwij19n0p"))
+ (base32 "16qi7lirl2bmzs5cavrjgrgz8fhnw88kc2hg53d7chb0w92yp83d"))
(modules '((guix build utils)))
(snippet
'(begin
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 31/32] gnu: Add python-sagemath-standard.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
3cad701f74519f5e7562e45d7a938cf2d7d52ae9.1685391448.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (python-sagemath-standard): New variable.
---

Notes:
sage currently uses python's `sys.prefix' as
`SAGE_VENV' (i.e. `/gnu/store/…-python-…' instead of
`/gnu/store/…-sagemath-…'), causing a warning to be printed when running as
notebook.
`sage' unsets the `SAGE_VENV' environment variable and later tests if it is
set and if this predictably is not the case uses `sage-venv-config' to
determine `SAGE_VENV'. `sage-venv-config' itself uses `sys.prefix'
unconditionally as `SAGE_VENV'.
Therefore, wrapping `sage' with a the appropriate value for `SAGE_VENV' does
not work and would need patching.

gnu/packages/sagemath.scm | 199 +++++++++++++++++++++++++++++++++++++-
1 file changed, 198 insertions(+), 1 deletion(-)

Toggle diff (236 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index dfe5874ed3..4f23a7b7a0 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Jakub K?dzio?ka <kuba@kadziolka.net>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2023 vicvbcun <guix@ikherbers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,6 +26,7 @@ (define-module (gnu packages sagemath)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -38,13 +40,22 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gd)
+ #:use-module (gnu packages graph)
+ #:use-module (gnu packages graphics)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages lisp)
+ #:use-module (gnu packages m4)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
- #:use-module (gnu packages python-xyz))
+ #:use-module (gnu packages python-science)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages sqlite))
(define-public python-cypari2
@@ -493,3 +504,189 @@ (define-public sagemath-data-polytopes-db
(synopsis "Lists of 2- and 3-dimensional reflexive polytopes")
(description synopsis)
(license #f)))
+
+(define-public python-sagemath-standard
+ (package
+ (name "python-sagemath-standard")
+ (version "10.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sagemath/sage")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "01nfpp3zh43kil7pqyrdvxyawmny0sc656kbg833c2l1y6iwppyc"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f ; tests are run in the `sagemath' package
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'prepare-build
+ (lambda _
+ (setenv "SAGE_NUM_THREADS"
+ (number->string (parallel-job-count)))
+ (setenv "SAGE_VENV" #$output)
+
+ (setenv "PYTHONPATH" (string-append (getcwd) "/pkgs/sage-setup"))
+
+ ;; broken symlink we don't need
+ (delete-file "pkgs/sage-conf/bin/sage-env-config")
+ (delete-file "pkgs/sage-conf_pypi/sage_root/configure")
+
+ ;; Run this before 'ensure-no-mtimes-pre-1980 so that there
+ ;; are no broken symlinks
+ (with-directory-excursion "build/pkgs/sagelib"
+ (let
+ ((original-path (getenv "PATH")))
+ (setenv "PATH" (string-append original-path ":../../bin"))
+ (invoke "sh" "./bootstrap")
+ (setenv "PATH" original-path)))))
+ (add-before 'build 'cd-to-src
+ (lambda _
+ (chdir "pkgs/sagemath-standard")))
+ ;; `setuptools' replaces shebangs that match `#!.*python.*' by
+ ;; the intepreter running it. Unfortunately this also matches
+ ;; `sage-python'. But using `sage-python' prevents a weird bug
+ ;; where python's `multiprocessing.resource_tracker' would
+ ;; execute `sage-runtests' instead of `python'.
+ (add-after 'install 'fix-shebangs
+ (lambda _
+ (let*
+ ((bin (string-append #$output "/bin"))
+ (sage-python (string-append bin "/sage-python")))
+ (substitute* (find-files bin
+ ;; don't touch these to prevent cycles
+ ;; sage-num-threads.py -> sage-env -> sage
+ ;; sage-venv-config -> sage-python -> sage
+ (negate
+ (file-name-predicate (string-join '("^sage-coverage$"
+ "^sage-num-threads\\.py$"
+ "^sage-venv-config$")
+ "|"))))
+ ;; be careful that we don't substitute the newline
+ ;; character
+ (("^#!.*python-toolchain[^\n]*") (string-append "#!" sage-python))))))
+ (add-after 'install 'remove-unnecessary-scripts
+ (lambda _
+ (for-each
+ delete-file
+ (find-files (string-append #$output "/bin") "^sage-rebase"))))
+ (replace 'wrap
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let*
+ ((python-path (search-path-as-string->list (getenv "GUIX_PYTHONPATH")))
+ (python (dirname (search-input-file inputs "/bin/python3")))
+ (coreutils (dirname (search-input-file inputs "/bin/readlink")))
+ (sed (dirname (search-input-file inputs "/bin/sed")))
+ (xdg-open (dirname (search-input-file inputs "/bin/xdg-open")))
+ (maxima-version #$(package-version (this-package-input "maxima")))
+ (maxima-fas (search-input-file inputs
+ (string-append "/lib/maxima/"
+ maxima-version
+ "/binary-ecl/maxima.fas")))
+ (combinatorial-design (search-input-directory inputs "/share/combinatorial_designs"))
+ (conway-polynomials (search-input-directory inputs "/share/conway_polynomials"))
+ (ellcurve (search-input-directory inputs "/share/ellcurves"))
+ (cremona-mini (search-input-directory inputs "/share/cremona"))
+ (graphs (search-input-directory inputs "/share/graphs"))
+ (polytope (search-input-directory inputs "/share/reflexive_polytopes"))
+ (gap-lib (search-input-directory inputs "/lib/gap"))
+ (gap-share (search-input-directory inputs "/share/gap")))
+ ;; wrap everything possible, all things with shebang
+ ;; #!*/sage-* are still covered, as sage-* itself will be
+ ;; wrapped
+ (for-each
+ (lambda (file)
+ (false-if-exception
+ (wrap-script file
+ `("GUIX_PYTHONPATH" = ,python-path)
+ `("PATH" prefix (,(string-append #$output "/bin") ,coreutils ,python ,sed ,xdg-open))
+ `("MAXIMA_FAS" = (,maxima-fas))
+ `("COMBINATORIAL_DESIGN_DATA_DIR" = (,combinatorial-design))
+ `("CONWAY_POLYNOMIALS_DATA_DIR" = (,conway-polynomials))
+ `("ELLCURVE_DATA_DIR" = (,ellcurve))
+ `("CREMONA_MINI_DATA_DIR" = (,cremona-mini))
+ `("GRAPHS_DATA_DIR" = (,graphs))
+ `("POLYTOPE_DATA_DIR" = (,polytope))
+ `("GAP_LIB_DIR" = (,gap-lib))
+ `("GAP_SHARE_DIR" = (,gap-share)))))
+ (find-files (string-append #$output "/bin")))))))))
+ (inputs (list arb
+ boost
+ brial
+ cliquer
+ coreutils
+ edge-addition-planarity-suite
+ gd
+ givaro
+ glpk
+ gmp
+ guile-3.0 ; for wrap-script
+ iml
+ libbraiding
+ libhomfly
+ linbox
+ m4ri
+ m4rie
+ mpc
+ mpfi
+ python-cypari2
+ python-gmpy2
+ python-jinja2
+ python-jupyter-core
+ python-memory-allocator
+ python-numpy
+ python-pplpy
+ rw
+ sagemath-data-combinatorial-designs
+ sagemath-data-conway-polynomials
+ sagemath-data-elliptic-curves
+ sagemath-data-graphs
+ sagemath-data-polytopes-db
+ sed
+ symmetrica
+ xdg-utils
+ zlib))
+ (native-inputs (list m4 pkg-config python-cython))
+ (propagated-inputs (list cddlib
+ ecl ; also buildtime
+ eclib ; also buildtime
+ flint ; also buildtime
+ gap ; also buildtime
+ gfan
+ giac ; also buildtime
+ gmp-ecm ; also buildtime
+ gsl ; also buildtime
+ lcalc ; also buildtime
+ maxima
+ mpfr
+ nauty
+ ntl ; also buildtime
+ openblas ; also buildtime
+ palp
+ pari-gp ; also buildtime
+ pkg-config ; also buildtime (native)
+ python-fpylll
+ python-ipython
+ python-ipywidgets
+ python-lrcalc
+ python-networkx
+ python-pkgconfig
+ python-primecountpy
+ python-scipy
+ python-sympy
+ singular ; also buildtime
+ sqlite
+ sympow
+ tachyon))
+ (home-page "https://www.sagemath.org")
+ (synopsis "Python-based computer algebra system")
+ (description
+ "SageMath is a free open-source mathematics software system licensed
+under the GPL. It builds on top of many existing open-source packages: NumPy,
+SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more. Access their
+combined power through a common, Python-based language or directly via
+interfaces or wrappers.")
+ (license license:gpl3)))
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 32/32] gnu: Add sagemath.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
d12ccdbb7c73d83d72adfeb365ece8fd0dd4b59e.1685391448.git.guix@ikherbers.com
* gnu/packages/sagemath.scm (sagemath): New variable.
---

Notes:
Higher timeout (default: 5 min.) or disable entirely?
The `--timeout' flag needs to be immediately after `t'

gnu/packages/sagemath.scm | 68 +++++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)

Toggle diff (85 lines)
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 4f23a7b7a0..69a9af0528 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -39,6 +39,7 @@ (define-module (gnu packages sagemath)
#:use-module (gnu packages base)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages commencement)
#:use-module (gnu packages compression)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gd)
@@ -690,3 +691,70 @@ (define-public python-sagemath-standard
combined power through a common, Python-based language or directly via
interfaces or wrappers.")
(license license:gpl3)))
+
+(define-public sagemath
+ (package
+ (inherit python-sagemath-standard)
+ (name "sagemath")
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'prepare
+ (lambda _
+ (setenv "HOME" (string-append (getenv "TMPDIR") "/home"))
+ (mkdir-p (getenv "HOME"))
+ (chdir "src")
+
+ ;; prevent paging for `sage/repl/ipython_tests.py'
+ (setenv "TERM" "dumb")
+
+ ;; for `sage --sh' in `sage/tests/cmdline.py'
+ (setenv "SHELL" (which "bash"))
+
+ (for-each
+ delete-file
+ '("sage/repl/ipython_kernel/install.py" ; needs threejs
+
+ ;; works in a container
+ "sage/typeset/ascii_art.py"
+ "sage/interfaces/gap_workspace.py"
+ "sage/misc/sage_ostools.pyx" ; checks for /bin/sh
+ "sage/repl/ipython_tests.py"
+
+ ;; downgrade to 5.45 may fix this:
+ ;; https://github.com/sagemath/sage/issues/33718
+ ;; https://sourceforge.net/p/maxima/bugs/3964/
+ "sage/calculus/calculus.py"
+ "sage/interfaces/maxima_lib.py"
+ "sage/functions/exp_integral.py" ; correct, but different form
+ "sage/symbolic/integration/integral.py" ; correct, but exact not floating point
+ "sage/symbolic/relation.py" ; order in minimum different
+
+ "sage/repl/ipython_kernel/kernel.py" ; deprecation warnings triggered
+ ; by `python-pydevd'
+
+ ;; TODO
+ "sage/env.py" ; maybe try updating `python-pkgconfig'?
+ "sage/interacts/test_jupyter.rst" ; maybe `python-ipywidgets' is too old?
+ ))))
+ (replace 'check
+ (lambda* (#:key inputs tests? #:allow-other-keys)
+ (when tests?
+ (invoke (search-input-file inputs "/bin/sage")
+ "-t"
+ "--nthreads"
+ (number->string (parallel-job-count))
+ ;; the file / directory we want to test
+ "sage"))))
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let
+ ((target (string-append #$output "/bin"))
+ (source (search-input-file inputs "/bin/sage")))
+ (mkdir-p target)
+ (symlink source (string-append target "/sage"))))))))
+ (inputs (list python-sagemath-standard))
+ (native-inputs
+ (list python-sagemath-standard
+ gcc-toolchain
+ gfortran-toolchain))))
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 24/32] gnu: maxima: Install maxima.fas.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
aa135ed90f5f95275f18fd722dc8a2ef17a2c1cc.1685391448.git.guix@ikherbers.com
This will be required by the eventual sagemath package.

* gnu/packages/maths.scm (maxima)[arguments]<#:phases> {'install-fas}: New
phase.
---
gnu/packages/maths.scm | 4 ++++
1 file changed, 4 insertions(+)

Toggle diff (17 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 1c98e842de..91027e9885 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4442,6 +4442,10 @@ (define-public maxima
(wrap-program (string-append out "/bin/maxima")
`("PATH" prefix (,binutils))))
#t))
+ (add-after 'install 'install-fas
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "src/binary-ecl/maxima.fas"
+ (string-append (assoc-ref outputs "out") "/lib/maxima/" ,version "/binary-ecl"))))
;; The Maxima command ‘describe’ allows picking the relevant portions
;; from Maxima’s Texinfo docs. However it does not support reading
;; gzipped info files.
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 22/32] gnu: gap: Remove leftover source and build files.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
aae176e7c52aeed78e1d791660e1d9450945fcbb.1685391447.git.guix@ikherbers.com
This also removes GCC from the closure, reducing it by ~155 MiB.

* gnu/packages/algebra.scm (gap)[arguments]<#:phases> {'install-packages}:
Delete copied src directories.
---
gnu/packages/algebra.scm | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

Toggle diff (22 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index b7a900f61d..e4af9d7d55 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1435,7 +1435,14 @@ (define-public gap
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/gap")))
- (copy-recursively "pkg" (string-append share "/pkg")))))
+ (copy-recursively "pkg" (string-append share "/pkg"))
+ ;; These directories contain C/C++ source code, object files
+ ;; and Make dependency information
+ (for-each
+ delete-file-recursively
+ (find-files (string-append share "/pkg")
+ "^src$"
+ #:directories? #t)))))
;; configure logs and LaTeX output that contains timestamps, uname
;; output etc
(add-after 'install-packages 'remove-logs
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 28/32] gnu: singular: Don't compress info file.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
333ceb3cc92c2ab272b35a7d29edcfad6a98f2a3.1685391448.git.guix@ikherbers.com
Singular doesn't find the compressed file.

* gnu/packages/algebra.scm (singular)[arguments]<#:phases>: Delete phase
'compress-documentation.
---
gnu/packages/algebra.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 9ea4cfbf09..df3ec30718 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -670,7 +670,10 @@ (define-public singular
(arguments
`(#:configure-flags
(list (string-append "--with-ntl="
- (assoc-ref %build-inputs "ntl")))))
+ (assoc-ref %build-inputs "ntl")))
+ #:phases (modify-phases %standard-phases
+ ;; singular doesn't find its compressed info file
+ (delete 'compress-documentation))))
(synopsis "Computer algebra system for polynomial computations")
(description
"Singular is a computer algebra system for polynomial computations,
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 11/32] gnu: Add sympow.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
1ba8f917eb764c920eab9c766026dca251ec1f3c.1685391447.git.guix@ikherbers.com
* gnu/packages/patches/sympow-enable-cross-compilation.patch,
gnu/packages/patches/sympow-null-terminate-dupdir.patch: New files.
* gnu/local.mk (dist_patch_DATA): Register here.
* gnu/packages/algebra.scm (sympow): New variable.
---
gnu/local.mk | 2 +
gnu/packages/algebra.scm | 52 ++++++++
.../sympow-enable-cross-compilation.patch | 124 ++++++++++++++++++
.../sympow-null-terminate-dupdir.patch | 15 +++
4 files changed, 193 insertions(+)
create mode 100644 gnu/packages/patches/sympow-enable-cross-compilation.patch
create mode 100644 gnu/packages/patches/sympow-null-terminate-dupdir.patch

Toggle diff (243 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 18e8235140..683c36c383 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1933,6 +1933,8 @@ dist_patch_DATA = \
%D%/packages/patches/symmetrica-int32.patch \
%D%/packages/patches/symmetrica-return_values.patch \
%D%/packages/patches/symmetrica-sort_sum_rename.patch \
+ %D%/packages/patches/sympow-enable-cross-compilation.patch \
+ %D%/packages/patches/sympow-null-terminate-dupdir.patch \
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
%D%/packages/patches/t1lib-CVE-2011-0764.patch \
%D%/packages/patches/t1lib-CVE-2011-1552+.patch \
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 92a9faa04f..ee08378058 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -34,6 +34,7 @@
(define-module (gnu packages algebra)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
@@ -49,6 +50,7 @@ (define-module (gnu packages algebra)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages image)
#:use-module (gnu packages java)
+ #:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
@@ -1655,6 +1657,56 @@ (define-public symmetrica
polynomials, and the representation theory of Hecke algebras of type A_n.")
(license license:public-domain)))
+(define-public sympow
+ (package
+ (name "sympow")
+ (version "2.023.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/rezozer/forks/sympow")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0anvrb0pkchc1c6hs1nlx0vpahbsn02mbms2kldszsfiizwmv72f"))
+ (patches (search-patches "sympow-enable-cross-compilation.patch"
+ "sympow-null-terminate-dupdir.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests? #f ; no tests
+ #:phases #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; sympow tries to write to /var/cache
+ ;; silence warnings when running as non-root user
+ (substitute* "sympow.h"
+ (("VERBOSE_DEFAULT 1")
+ "VERBOSE_DEFAULT 0"))
+ (substitute* "Configure"
+ (("RM=")
+ (string-append "RM=" (search-input-file inputs "/bin/rm")))
+ (("GREP=")
+ (string-append "GREP=" (search-input-file inputs "/bin/grep")))
+ (("GP=")
+ (string-append "GP=" (search-input-file inputs "/bin/gp")))
+ (("SED=")
+ (string-append "SED=" (search-input-file inputs "/bin/sed")))
+ (("SH=")
+ (string-append "SH=" (search-input-file inputs "/bin/sh"))))
+ (setenv "PREFIX" #$output)
+ (setenv "CC" #$(cc-for-target))
+ (invoke "./Configure"))))))
+ (inputs (list bash-minimal coreutils grep pari-gp sed))
+ (native-inputs (list grep help2man pari-gp sed which))
+ (home-page "https://gitlab.com/rezozer/forks/sympow")
+ (synopsis "Package to compute elliptic curve L-functions")
+ (description
+ "SYMPOW is a package to compute special values of symmetric power
+elliptic curve L-functions. It can compute up to about 64 digits of
+precision.")
+ (license (license:non-copyleft "file:///COPYING"))))
+
(define-public m4rie
(package
(name "m4rie")
diff --git a/gnu/packages/patches/sympow-enable-cross-compilation.patch b/gnu/packages/patches/sympow-enable-cross-compilation.patch
new file mode 100644
index 0000000000..0ffc63c788
--- /dev/null
+++ b/gnu/packages/patches/sympow-enable-cross-compilation.patch
@@ -0,0 +1,124 @@
+Separate build-time from run-time binaries
+
+diff --git a/Configure b/Configure
+index 1ef9756..0b42b6b 100755
+--- a/Configure
++++ b/Configure
+@@ -12,36 +12,20 @@ VARPREFIX=${VARPREFIX:-"/var"}
+
+ FILE="Makefile.new"
+ CONFIG="config.h"
+-RM=`which \rm`
+-if [ -z "$RM" ];
+-then
+-echo "**ERROR**: Could not find rm"; exit;
+-fi
+-$RM -f $FILE
+-$RM -f $CONFIG
++RM=
++rm -f $FILE
++rm -f $CONFIG
+ VERSION=2.023.6
+ echo "#define PREFIX \"$PREFIX\"" >> $CONFIG
+ echo "#define VARPREFIX \"$VARPREFIX\"" >> $CONFIG
+ echo "#define VERSION \"$VERSION\"" >> $CONFIG
+ echo "VERSION = $VERSION" >> $FILE
+
+-GREP=`which \grep`
+-if [ -z "$GREP" ];
+-then
+-echo "*WARNING*: Could not find grep --- will not be able to build new_data"
+-fi
++GREP=
+
+-GP=`which \gp`
+-if [ -z "$GP" ];
+-then
+-echo "*WARNING*: Could not find gp --- will not be able to build new_data"
+-fi
++GP=
+
+-SED=`which \sed` && echo "SED = $SED" >> $FILE
+-if [ -z "$SED" ];
+-then
+-echo "*WARNING*: Could not find sed --- will not be able to build new_data"
+-fi
++SED=
+
+ if [ "x$ADDBINPATH" = "xyes" ]; then
+ echo "#define RM \"$RM\"" >> $CONFIG
+@@ -58,9 +42,8 @@ fi
+ [ -n "$GREP" ] && [ -n "$GP" ] && [ -n "$SED" ]\
+ && echo "#define NEW_DATA" >> $CONFIG
+
+-SH=/bin/sh
++SH=
+ echo "#define SH \"$SH\"" >> $CONFIG
+-echo "SH = $SH" >> $FILE
+
+ CC=${CC:-gcc} && echo "CC = $CC" >> $FILE
+ ##if [ -z "$CC" ];
+@@ -283,22 +266,6 @@ echo "TILDES = *~ datafiles/*~" >> $FILE
+ df="datafiles"
+ echo "DATAFILES = $df/*M.txt $df/*S.txt $df/param_data" >> $FILE
+
+-echo "RM = $RM" >> $FILE
+-CP=`which \cp` && echo "CP = $CP" >> $FILE
+-if [ -z "$CP" ];
+-then
+-echo "**ERROR**: Could not find cp"; exit;
+-fi
+-MKDIR=`which \mkdir` && echo "MKDIR = $MKDIR" >> $FILE
+-if [ -z "$MKDIR" ];
+-then
+-echo "**ERROR**: Could not find mkdir"; exit;
+-fi
+-TOUCH=`which \touch` && echo "TOUCH = $TOUCH" >> $FILE
+-if [ -z "$TOUCH" ];
+-then
+-echo "**ERROR**: Could not find touch"; exit;
+-fi
+ ####TAR=`which \tar` && echo "TAR = $TAR" >> $FILE
+ ####if [ -z "$TAR" ];
+ ####then
+@@ -319,19 +286,19 @@ echo " \$(CC) \$(CPPFLAGS) \$(CFLAGS) \$(OPT) -o \$@ \$(DEFS) \$(OBJS) \$(LDFLAG
+ echo "%.o : %.c \$(HEADERS) Makefile" >> $FILE
+ echo " \$(CC) \$(CPPFLAGS) \$(CFLAGS) \$(OPT) \$(DEFS) -c -o \$@ \$<" >> $FILE
+ echo "datafiles/param_data: \$(OTHERb)" >> $FILE
+-echo " \$(MKDIR) -p datafiles" >> $FILE
+-echo " \$(TOUCH) datafiles/param_data" >> $FILE
+-echo " \$(SH) armd.sh" >> $FILE
+-echo " \$(SED) -i -e '/logfile =/d' datafiles/*.txt" >> $FILE
++echo " mkdir -p datafiles" >> $FILE
++echo " touch datafiles/param_data" >> $FILE
++echo " sh armd.sh" >> $FILE
++echo " sed -i -e '/logfile =/d' datafiles/*.txt" >> $FILE
+ echo "sympow.1: sympow" >> $FILE
+ echo " \$(HELP2MAN) \$(H2MFLAGS) -s 1 -n \"SYMPOW program\" -I sympow.h2m -o \$@ ./\$<" >> $FILE
+ echo "clean:" >> $FILE
+ ##echo " \$(RM) -f \$(OBJSf) sympow \$(TILDES) \$(TARS)" >> $FILE
+-echo " \$(RM) -f \$(OBJS) sympow sympow.1 \$(TILDES)" >> $FILE
+-echo " \$(RM) -rf datafiles" >> $FILE
++echo " rm -f \$(OBJS) sympow sympow.1 \$(TILDES)" >> $FILE
++echo " rm -rf datafiles" >> $FILE
+ echo "distclean: clean" >> $FILE
+-echo " \$(RM) -f \$(CONFEXE)" >> $FILE
+-echo " \$(RM) -f config.h Makefile" >> $FILE
++echo " rm -f \$(CONFEXE)" >> $FILE
++echo " rm -f config.h Makefile" >> $FILE
+ echo "install-arch: build-arch" >> $FILE
+ echo " install -d \$(DESTDIR)$PREFIX/bin" >> $FILE
+ echo " install -d \$(DESTDIR)$PREFIX/share/man/man1" >> $FILE
+@@ -361,9 +328,9 @@ echo "install: install-arch install-indep" >> $FILE
+ ####echo " \$(RM) -rf \$(WDIR)" >> $FILE
+ ####fi
+
+-$RM -f Makefile
+-$CP -f Makefile.new Makefile
+-$RM -f Makefile.new
++rm -f Makefile
++cp -f Makefile.new Makefile
++rm -f Makefile.new
+
+ echo "Makefile has been re-made. Use make if you wish to build SYMPOW"
+ echo ""
diff --git a/gnu/packages/patches/sympow-null-terminate-dupdir.patch b/gnu/packages/patches/sympow-null-terminate-dupdir.patch
new file mode 100644
index 0000000000..2640175b80
--- /dev/null
+++ b/gnu/packages/patches/sympow-null-terminate-dupdir.patch
@@ -0,0 +1,15 @@
+https://gitlab.com/rezozer/forks/sympow/-/merge_requests/5
+
+diff --git a/main.c b/main.c
+index 1d018dfc76888790212c7a203154c45b88acb383..0ab1386b5f3a62a79cc08adceb2e3e9553e08a4d 100644
+--- a/main.c
++++ b/main.c
+@@ -97,7 +97,7 @@ char * dupdirname(const char *name) {
+ if (eofn!=name) {
+ const size_t ublofn=eofn-name;
+ size_t cdx=0; const char * dim=NULL; char * dam=NULL; int flag=0;
+- foldername=(char *)(malloc(ublofn)); memset(foldername,'\0',ublofn);
++ foldername=(char *)(malloc(ublofn+1)); memset(foldername,'\0',ublofn+1);
+ for(cdx=0,dim=name,dam=foldername;cdx<ublofn;++dim,++cdx) {
+ if (*dim == '/') flag=1;
+ else {if (flag) {*dam='/'; ++dam; flag=0;} *dam=*dim; ++dam;}}
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 26/32] gnu: Add tachyon.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
b1e0d125a82f82898bfc66a8278a624c5d9c6066.1685391448.git.guix@ikherbers.com
* gnu/packages/graphics.scm (tachyon): New variable.
---
gnu/packages/graphics.scm | 58 +++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)

Toggle diff (68 lines)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 60db7543a6..6fc11f8c2d 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2597,3 +2597,61 @@ (define-public gpaint
(home-page "https://www.gnu.org/software/gpaint/")
(license license:gpl3+)))
+(define-public tachyon
+ (package
+ (name "tachyon")
+ (version "0.99.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sagemath/spkg/upstream/tachyon/tachyon-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1xd6h5d4v6dsnm6w46bdcr15fwkcz44p8dncymfry50i4c83q809"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests? #f ; no tests
+ #:make-flags #~(list "linux-thr")
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'prepare-src
+ (lambda _
+ (substitute* "unix/Make-arch"
+ (("CC = cc")
+ (string-append "CC = " #$(cc-for-target))))
+ (chdir "unix")))
+ (add-before 'build 'enable-png-jpeg-support
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Make-config"
+ (("USEJPEG=")
+ "USEJPEG = -DUSEJPEG")
+ (("JPEGLIB=")
+ "JPEGLIB = -ljpeg")
+ (("USEPNG=")
+ "USEPNG = -DUSEPNG")
+ (("PNGLIB=")
+ "PNGLIB = -lpng -lz"))))
+ (add-before 'build 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Make-config"
+ (("SHELL=/bin/sh")
+ (string-append "SHELL=" (which "sh"))))))
+ (replace 'install
+ (lambda _
+ (install-file "../compile/linux-thr/tachyon"
+ (string-append #$output "/bin"))
+ (install-file "../compile/linux-thr/libtachyon.a"
+ (string-append #$output "/lib")))))))
+ (inputs (list libjpeg-turbo libpng))
+ ;; The server does not seem to be reliably accessible
+ (home-page "http://jedi.ks.uiuc.edu/~johns/raytracer/")
+ (synopsis "Multithreaded ray tracing software")
+ (description
+ "This package contains the Tachyon raytracer. It supports the typical
+ray tracer features, most of the common geometric primitives, shading and
+texturing modes, etc. It also supports less common features such as HDR image
+output, ambient occlusion lighting, and support for various triangle mesh and
+volumetric texture formats beneficial for molecular visualization.")
+ (license license:bsd-3)))
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 25/32] gnu: maxima: Apply matrix exponentiation patch.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
9d296c6fb9a698883b4bed351def073c51f4e33d.1685391448.git.guix@ikherbers.com
* gnu/packages/patches/maxima-matrixexp.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register here.
* gnu/packages/maths.scm (maxima)[source]: Add patch.
---
gnu/local.mk | 1 +
gnu/packages/maths.scm | 1 +
gnu/packages/patches/maxima-matrixexp.patch | 17 +++++++++++++++++
3 files changed, 19 insertions(+)
create mode 100644 gnu/packages/patches/maxima-matrixexp.patch

Toggle diff (49 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 1a90c8d2e4..8f85825f56 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1551,6 +1551,7 @@ dist_patch_DATA = \
%D%/packages/patches/mathjax-no-a11y.patch \
%D%/packages/patches/mathjax-3.1.2-no-a11y.patch \
%D%/packages/patches/maxima-defsystem-mkdir.patch \
+ %D%/packages/patches/maxima-matrixexp.patch \
%D%/packages/patches/maxima-test-precision.patch \
%D%/packages/patches/maven-generate-component-xml.patch \
%D%/packages/patches/maven-generate-javax-inject-named.patch \
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 91027e9885..99c76cd224 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4359,6 +4359,7 @@ (define-public maxima
(base32
"01wbm8jj43p7gpdj4h55aij0b44bjydn4bwb7q1wjrfs91mz143k"))
(patches (search-patches "maxima-defsystem-mkdir.patch"
+ "maxima-matrixexp.patch"
"maxima-test-precision.patch"))))
(build-system gnu-build-system)
(inputs
diff --git a/gnu/packages/patches/maxima-matrixexp.patch b/gnu/packages/patches/maxima-matrixexp.patch
new file mode 100644
index 0000000000..5123c176bb
--- /dev/null
+++ b/gnu/packages/patches/maxima-matrixexp.patch
@@ -0,0 +1,17 @@
+Taken from sagemath 9.8
+
+diff --git a/share/linearalgebra/matrixexp.lisp b/share/linearalgebra/matrixexp.lisp
+index 218bf35..f2fd468 100644
+--- a/share/linearalgebra/matrixexp.lisp
++++ b/share/linearalgebra/matrixexp.lisp
+@@ -138,8 +138,8 @@
+ (print `(ratvars = ,$ratvars gcd = '$gcd algebraic = ,$algebraic))
+ (print `(ratfac = ,$ratfac))
+ (merror "Unable to find the spectrum")))
+-
+- (setq res ($fullratsimp (ncpower (sub (mult z ($ident n)) mat) -1) z))
++
++ (setq res ($fullratsimp ($invert_by_lu (sub (mult z ($ident n)) mat) '$crering) z))
+ (setq m (length sp))
+ (dotimes (i m)
+ (setq zi (nth i sp))
--
2.40.1
V
V
vicvbcun wrote on 29 May 2023 22:38
[RFC PATCH v3 23/32] gnu: maxima: Build with ecl.
(address . 56729@debbugs.gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
ae56b848d4407a373adf9ff70c622241992a8f45.1685391447.git.guix@ikherbers.com
The eventual sagemath package requires maxima.fas, which is only built with
ecl.

* gnu/packages/maths.scm (maxima)[inputs]: Replace sbcl with ecl.
[arguments]<#:configure-flags>: Build with ecl instead.
<#:phases>: Run test with ecl.
* gnu/packages/patches/maxima-test-precision.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---

Notes:
The decrease in precision worries me a bit…

gnu/local.mk | 1 +
gnu/packages/maths.scm | 11 +++----
.../patches/maxima-test-precision.patch | 30 +++++++++++++++++++
3 files changed, 37 insertions(+), 5 deletions(-)
create mode 100644 gnu/packages/patches/maxima-test-precision.patch

Toggle diff (89 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 683c36c383..1a90c8d2e4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1551,6 +1551,7 @@ dist_patch_DATA = \
%D%/packages/patches/mathjax-no-a11y.patch \
%D%/packages/patches/mathjax-3.1.2-no-a11y.patch \
%D%/packages/patches/maxima-defsystem-mkdir.patch \
+ %D%/packages/patches/maxima-test-precision.patch \
%D%/packages/patches/maven-generate-component-xml.patch \
%D%/packages/patches/maven-generate-javax-inject-named.patch \
%D%/packages/patches/mcrl2-fix-1687.patch \
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index c2d9d07b00..1c98e842de 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4358,20 +4358,21 @@ (define-public maxima
(sha256
(base32
"01wbm8jj43p7gpdj4h55aij0b44bjydn4bwb7q1wjrfs91mz143k"))
- (patches (search-patches "maxima-defsystem-mkdir.patch"))))
+ (patches (search-patches "maxima-defsystem-mkdir.patch"
+ "maxima-test-precision.patch"))))
(build-system gnu-build-system)
(inputs
`(("bash" ,bash-minimal)
("gnuplot" ,gnuplot) ;for plots
- ("sbcl" ,sbcl)
+ ("ecl" ,ecl)
("sed" ,sed)
("tk" ,tk))) ;Tcl/Tk is used by 'xmaxima'
(native-inputs
(list texinfo perl python))
(arguments
`(#:configure-flags
- ,#~(list "--enable-sbcl"
- (string-append "--with-sbcl=" #$sbcl "/bin/sbcl")
+ ,#~(list "--enable-ecl"
+ (string-append "--with-ecl=" #$ecl "/bin/ecl")
(string-append "--with-posix-shell=" #$bash-minimal "/bin/sh")
(string-append "--with-wish=" #$tk "/bin/wish"
#$(version-major+minor (package-version tk))))
@@ -4411,7 +4412,7 @@ (define-public maxima
(invoke "sh" "-c"
(string-append
"./maxima-local "
- "--lisp=sbcl "
+ "--lisp=ecl "
"--batch-string=\"run_testsuite();\" "
"| grep -q \"No unexpected errors found\""))))
;; Make sure the doc and emacs files are found in the
diff --git a/gnu/packages/patches/maxima-test-precision.patch b/gnu/packages/patches/maxima-test-precision.patch
new file mode 100644
index 0000000000..1990a89d56
--- /dev/null
+++ b/gnu/packages/patches/maxima-test-precision.patch
@@ -0,0 +1,30 @@
+https://sourceforge.net/p/maxima/mailman/maxima-bugs/thread/6321ccd9332dab3666181108.bugs%40maxima.p.sourceforge.net/#msg37707276
+
+old and new:
+0.009214957317429523 %i - 0.596914179042388
+0.009214957317428399 %i - 0.59691417904239
+
+old and new
+(- 0.009214957317429523 %i) - 0.596914179042388
+(- 0.009214957317428399 %i) - 0.59691417904239
+
+--- a/tests/rtest_gamma.mac 2023-04-01 11:32:32.998269650 +0200
++++ b/tests/rtest_gamma.mac 2023-04-01 11:34:46.611842977 +0200
+@@ -1843,7 +1843,7 @@
+ relerror(
+ gamma_incomplete(0.5,-2.5*%i),
+ -0.59691417904238855062194720247331 + 0.00921495731742953647951029973386*%i,
+- 2.81e-15);
++ 3.08e-15);
+ true;
+
+ relerror(
+@@ -1879,7 +1879,7 @@
+ relerror(
+ gamma_incomplete(0.5,2.5*%i),
+ -0.59691417904238855062194720247331 - 0.00921495731742953647951029973386*%i,
+- 2.81e-15);
++ 3.08e-15);
+ true;
+
+ relerror(
--
2.40.1
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 56729@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 56729
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch