[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
?