unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#56729] [RFC PATCH 00/10] Add sagemath.
@ 2022-07-23 19:59 vicvbcun
  2022-07-23 20:51 ` [bug#56729] [RFC PATCH 01/10] gnu: edge-addition-planarity-suite: Update to 3.0.2.0 vicvbcun
                   ` (41 more replies)
  0 siblings, 42 replies; 57+ messages in thread
From: vicvbcun @ 2022-07-23 19:59 UTC (permalink / raw)
  To: 56729; +Cc: vicvbcun

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 01/10] gnu: edge-addition-planarity-suite: Update to 3.0.2.0.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
@ 2022-07-23 20:51 ` vicvbcun
  2022-07-23 20:51 ` [bug#56729] [RFC PATCH 02/10] gnu: gap: Update to 4.11.1 vicvbcun
                   ` (40 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-07-23 20:51 UTC (permalink / raw)
  To: 56729; +Cc: vicvbcun

* 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(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 02/10] gnu: gap: Update to 4.11.1.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
  2022-07-23 20:51 ` [bug#56729] [RFC PATCH 01/10] gnu: edge-addition-planarity-suite: Update to 3.0.2.0 vicvbcun
@ 2022-07-23 20:51 ` vicvbcun
  2022-08-03  9:25   ` [bug#56729] [RFC PATCH v2] " vicvbcun
  2022-07-23 20:51 ` [bug#56729] [RFC PATCH 03/10] gnu: Remove ecl-16 vicvbcun
                   ` (39 subsequent siblings)
  41 siblings, 1 reply; 57+ messages in thread
From: vicvbcun @ 2022-07-23 20:51 UTC (permalink / raw)
  To: 56729; +Cc: vicvbcun

* 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(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 03/10] gnu: Remove ecl-16.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
  2022-07-23 20:51 ` [bug#56729] [RFC PATCH 01/10] gnu: edge-addition-planarity-suite: Update to 3.0.2.0 vicvbcun
  2022-07-23 20:51 ` [bug#56729] [RFC PATCH 02/10] gnu: gap: Update to 4.11.1 vicvbcun
@ 2022-07-23 20:51 ` vicvbcun
  2022-07-23 20:51 ` [bug#56729] [RFC PATCH 04/10] gnu: cliquer: Update to 1.22 vicvbcun
                   ` (38 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-07-23 20:51 UTC (permalink / raw)
  To: 56729; +Cc: vicvbcun

* gnu/packages/sagemath.scm (ecl-16): Delete variable.
---
 gnu/packages/sagemath.scm | 21 ---------------------
 1 file changed, 21 deletions(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 04/10] gnu: cliquer: Update to 1.22.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (2 preceding siblings ...)
  2022-07-23 20:51 ` [bug#56729] [RFC PATCH 03/10] gnu: Remove ecl-16 vicvbcun
@ 2022-07-23 20:51 ` vicvbcun
  2022-07-23 20:51 ` [bug#56729] [RFC PATCH 05/10] gnu: lcalc: Update to 2.0.5 vicvbcun
                   ` (37 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-07-23 20:51 UTC (permalink / raw)
  To: 56729; +Cc: vicvbcun

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(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 05/10] gnu: lcalc: Update to 2.0.5.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (3 preceding siblings ...)
  2022-07-23 20:51 ` [bug#56729] [RFC PATCH 04/10] gnu: cliquer: Update to 1.22 vicvbcun
@ 2022-07-23 20:51 ` vicvbcun
  2022-07-23 20:52 ` [bug#56729] [RFC PATCH 06/10] gnu: ntl: Update to 11.5.1 vicvbcun
                   ` (36 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-07-23 20:51 UTC (permalink / raw)
  To: 56729; +Cc: vicvbcun

* 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

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 06/10] gnu: ntl: Update to 11.5.1.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (4 preceding siblings ...)
  2022-07-23 20:51 ` [bug#56729] [RFC PATCH 05/10] gnu: lcalc: Update to 2.0.5 vicvbcun
@ 2022-07-23 20:52 ` vicvbcun
  2022-07-23 20:52 ` [bug#56729] [RFC PATCH 07/10] gnu: eclib: Update to 20220621 vicvbcun
                   ` (35 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-07-23 20:52 UTC (permalink / raw)
  To: 56729; +Cc: vicvbcun

* gnu/packages/algebra.scm (ntl): Update to 11.5.1.
---
 gnu/packages/algebra.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 07/10] gnu: eclib: Update to 20220621.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (5 preceding siblings ...)
  2022-07-23 20:52 ` [bug#56729] [RFC PATCH 06/10] gnu: ntl: Update to 11.5.1 vicvbcun
@ 2022-07-23 20:52 ` vicvbcun
  2022-07-23 20:52 ` [bug#56729] [RFC PATCH 08/10] gnu: Add python-memory-allocator vicvbcun
                   ` (34 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-07-23 20:52 UTC (permalink / raw)
  To: 56729; +Cc: vicvbcun

* gnu/packages/algebra.scm (eclib): Update to 20220621.
---
 gnu/packages/algebra.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 08/10] gnu: Add python-memory-allocator.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (6 preceding siblings ...)
  2022-07-23 20:52 ` [bug#56729] [RFC PATCH 07/10] gnu: eclib: Update to 20220621 vicvbcun
@ 2022-07-23 20:52 ` vicvbcun
  2022-07-23 20:52 ` [bug#56729] [RFC PATCH 09/10] gnu: Add python-pplpy vicvbcun
                   ` (33 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-07-23 20:52 UTC (permalink / raw)
  To: 56729; +Cc: vicvbcun

* gnu/packages/sagemath.scm (python-memory-allocator): New variable.
---
 gnu/packages/sagemath.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 09/10] gnu: Add python-pplpy.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (7 preceding siblings ...)
  2022-07-23 20:52 ` [bug#56729] [RFC PATCH 08/10] gnu: Add python-memory-allocator vicvbcun
@ 2022-07-23 20:52 ` vicvbcun
  2022-07-23 20:52 ` [bug#56729] [RFC PATCH 10/10] gnu: Add sagemath vicvbcun
                   ` (32 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-07-23 20:52 UTC (permalink / raw)
  To: 56729; +Cc: vicvbcun

* gnu/packages/sagemath.scm (python-pplpy): New variable.
---
 gnu/packages/sagemath.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 10/10] gnu: Add sagemath.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (8 preceding siblings ...)
  2022-07-23 20:52 ` [bug#56729] [RFC PATCH 09/10] gnu: Add python-pplpy vicvbcun
@ 2022-07-23 20:52 ` vicvbcun
  2022-08-01  9:24 ` [bug#56729] [RFC PATCH 00/10] " Ludovic Courtès
                   ` (31 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-07-23 20:52 UTC (permalink / raw)
  To: 56729; +Cc: vicvbcun

* 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(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (9 preceding siblings ...)
  2022-07-23 20:52 ` [bug#56729] [RFC PATCH 10/10] gnu: Add sagemath vicvbcun
@ 2022-08-01  9:24 ` Ludovic Courtès
  2022-08-03  9:21   ` guix
  2022-08-08 14:40   ` Andreas Enge
  2022-08-06  1:28 ` vicvbcun
                   ` (30 subsequent siblings)
  41 siblings, 2 replies; 57+ messages in thread
From: Ludovic Courtès @ 2022-08-01  9:24 UTC (permalink / raw)
  To: vicvbcun; +Cc: 56729, Andreas Enge

Hello!

vicvbcun <guix@ikherbers.com> skribis:

> 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’.




^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-08-01  9:24 ` [bug#56729] [RFC PATCH 00/10] " Ludovic Courtès
@ 2022-08-03  9:21   ` guix
  2022-08-11 18:05     ` Andreas Enge
  2022-08-08 14:40   ` Andreas Enge
  1 sibling, 1 reply; 57+ messages in thread
From: guix @ 2022-08-03  9:21 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 56729, Andreas Enge

Hello,

On 2022-08-01T11:24:31+0200, Ludovic Courtès wrote:
> > 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.

> 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.

> 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]:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/science/math/sage/sage-tests.nix




^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2] gnu: gap: Update to 4.11.1.
  2022-07-23 20:51 ` [bug#56729] [RFC PATCH 02/10] gnu: gap: Update to 4.11.1 vicvbcun
@ 2022-08-03  9:25   ` vicvbcun
  0 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-03  9:25 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, vicvbcun, Andreas Enge

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(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (10 preceding siblings ...)
  2022-08-01  9:24 ` [bug#56729] [RFC PATCH 00/10] " Ludovic Courtès
@ 2022-08-06  1:28 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 00/29] " vicvbcun
                   ` (29 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-06  1:28 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

On 2022-07-23T21:59:07+0200, vicvbcun wrote:
> 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.




^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-08-01  9:24 ` [bug#56729] [RFC PATCH 00/10] " Ludovic Courtès
  2022-08-03  9:21   ` guix
@ 2022-08-08 14:40   ` Andreas Enge
  2022-08-08 16:20     ` guix
  1 sibling, 1 reply; 57+ messages in thread
From: Andreas Enge @ 2022-08-08 14:40 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: vicvbcun, 56729

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.

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.

Maybe you could copy useful parts into your recipe?

As for tests, indeed we should drop them for the time being until we have
a working sage package.

Thanks for these efforts!

Andreas



(define-public sage
  (package
    (name "sage")
    (version "8.7")
    (source (origin
              (method url-fetch)
              (uri (string-append
                    "ftp://ftp.fu-berlin.de/unix/misc/sage/src/sage-"
                    version ".tar.gz"))
              (sha256
               (base32
                "04l7i29vvxbd276z7hq6lj00ij42iy05pj7x765f0wswjiz0jlax"))
              (modules '((guix build utils)))
              (snippet '(begin (delete-file-recursively "upstream")
                               (delete-file-recursively ".git")
                               #t))))
    (build-system python-build-system)
    (native-inputs
     `(("cython" ,python-cython)
       ("pkg-config" ,pkg-config)
       ("python-cysignals" ,python-cysignals)
       ("python-pkgconfig" ,python-pkgconfig)
       ("python-jinja2" ,python-jinja2)))
    (inputs
     `(("arb" ,arb)
       ("boost" ,boost)
       ("brial" ,brial)
       ("cliquer" ,cliquer)
       ("ecl" ,ecl)
       ("eclib" ,eclib)
       ("gmp-ecm" ,gmp-ecm)
       ("edge-addition-planarity-suite" ,edge-addition-planarity-suite)
       ("fflas-ffpack" ,fflas-ffpack-2.3.2)
       ("flint" ,flint)
       ("gap" ,gap)
       ("gd" ,gd)
       ("gf2x" ,gf2x)
       ("givaro" ,givaro-4.0.4)
       ("glpk" ,glpk)
       ("gmp" ,gmp)
       ("gsl" ,gsl)
       ("iml" ,iml)
       ("lcalc" ,lcalc)
       ("libbraiding" ,libbraiding)
       ("libgc" ,libgc)
       ("libhomfly" ,libhomfly)
       ("linbox" ,linbox-1.5.2)
       ("lrcalc" ,lrcalc)
       ("m4ri" ,m4ri)
       ("m4rie" ,m4rie)
       ("mpc" ,mpc)
       ("mpfr" ,mpfi)
       ("ntl" ,ntl)
       ("pari-gp" ,pari-gp)
       ("ppl" ,ppl)
       ("pynac" ,pynac)
       ("python-cypari2" ,python-cypari2)
       ("python-gmpy2" ,python-gmpy2)
       ("python-numpy" ,python-numpy)
       ("python-six" ,python-six)
       ("ratpoints" ,ratpoints)
       ("readline" ,readline)
       ("rw" ,rw)
       ("singular" ,singular)
       ("symmetrica" ,symmetrica)
       ("zlib" ,zlib)
       ("zn-poly" ,zn-poly)))
    (arguments
     `(#:tests? #f ; a test since this phase fails with an error in setup.py
       #:use-setuptools? #f ; otherwise setup.py complains about
                            ; --single-version-externally-managed
       #:phases
       (modify-phases %standard-phases
         (add-before 'build 'setup
           (lambda _
             (setenv "SAGE_ROOT" (getcwd))
             (setenv "SAGE_LOCAL" (getcwd))
             (setenv "SAGE_SHARE" (string-append (getcwd) "/share"))
             (setenv "PATH" (string-append (getcwd) "/build/bin:"
                            (getcwd) "/src/bin:"
                            (getenv "PATH")))
             (setenv "SAGE_NUM_THREADS" "32") ; arbitrary number, 32 cores
                                              ; on bayfront
             (mkdir-p "var/lib/sage/installed")
             (mkdir-p (string-append (getcwd)
                                     "/share/sage/ext/notebook-ipython"))
             (chdir "src")
             #t))
         (add-after 'install 'save-space
           ;; The Nix package deletes a directory with over 100MB, which
           ;; apparently is not needed. Let us do the same.
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (let* ((out (assoc-ref outputs "out"))
                    (python (assoc-ref inputs "python"))
                    (python-version
                      ((@@ (guix build python-build-system)
                           get-python-version) python))
                    (site (string-append out "/lib/python"
                                         python-version
                                         "/site-packages"))
                    (directory (string-append site "/sage/cython_debug")))
               (delete-file-recursively directory))
             #t)))))
    (synopsis "SageMath computer algebra system")
    (description
     "SageMath is a mathematics software built on top of many existing
packages such as NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT,
R and others. Their combined power may be accessed through a common,
Python-based language or directly via interfaces or wrappers.")
    ;; documentation under cc-by-sa3.0, bundled packages under various
    ;; other licenses, see COPYING.txt in the distribution
    (license license:gpl3)
    (home-page "https://www.sagemath.org/")))





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 00/29] Add sagemath.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (11 preceding siblings ...)
  2022-08-06  1:28 ` vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 01/29] gnu: Remove ecl-16 vicvbcun
                   ` (28 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

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:
>  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.
>  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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 01/29] gnu: Remove ecl-16.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (12 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 00/29] " vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 02/29] gnu: edge-addition-planarity-suite: Update to 3.0.2.0 vicvbcun
                   ` (27 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* 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

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))
- 
- \f
-@@ -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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 02/29] gnu: edge-addition-planarity-suite: Update to 3.0.2.0.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (13 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 01/29] gnu: Remove ecl-16 vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 03/29] gnu: gap: Update to 4.11.1 vicvbcun
                   ` (26 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* 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(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 03/29] gnu: gap: Update to 4.11.1.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (14 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 02/29] gnu: edge-addition-planarity-suite: Update to 3.0.2.0 vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 04/29] gnu: cliquer: Update to 1.22 vicvbcun
                   ` (25 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

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(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 04/29] gnu: cliquer: Update to 1.22.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (15 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 03/29] gnu: gap: Update to 4.11.1 vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 05/29] gnu: lcalc: Update to 2.0.5 vicvbcun
                   ` (24 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

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(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 05/29] gnu: lcalc: Update to 2.0.5.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (16 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 04/29] gnu: cliquer: Update to 1.22 vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 06/29] gnu: ntl: Update to 11.5.1 vicvbcun
                   ` (23 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* 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

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 06/29] gnu: ntl: Update to 11.5.1.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (17 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 05/29] gnu: lcalc: Update to 2.0.5 vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 07/29] gnu: eclib: Update to 20220621 vicvbcun
                   ` (22 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/algebra.scm (ntl): Update to 11.5.1.
---
 gnu/packages/algebra.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 07/29] gnu: eclib: Update to 20220621.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (18 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 06/29] gnu: ntl: Update to 11.5.1 vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 08/29] gnu: lrcalc: Update to 2.1 vicvbcun
                   ` (21 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/algebra.scm (eclib): Update to 20220621.
---
 gnu/packages/algebra.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 08/29] gnu: lrcalc: Update to 2.1.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (19 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 07/29] gnu: eclib: Update to 20220621 vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 09/29] gnu: maxima: Update to 5.46.0 vicvbcun
                   ` (20 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* 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

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 09/29] gnu: maxima: Update to 5.46.0.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (20 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 08/29] gnu: lrcalc: Update to 2.1 vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 10/29] gnu: python-sympy: Update to 1.10.1 vicvbcun
                   ` (19 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* 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(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 10/29] gnu: python-sympy: Update to 1.10.1.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (21 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 09/29] gnu: maxima: Update to 5.46.0 vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 11/29] gnu: cddlib: Update to 0.94m vicvbcun
                   ` (18 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* 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(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 11/29] gnu: cddlib: Update to 0.94m.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (22 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 10/29] gnu: python-sympy: Update to 1.10.1 vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 12/29] gnu: Add python-memory-allocator vicvbcun
                   ` (17 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/maths.scm (cddlib): Update to 0.94m.
---
 gnu/packages/maths.scm | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 12/29] gnu: Add python-memory-allocator.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (23 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 11/29] gnu: cddlib: Update to 0.94m vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 13/29] gnu: Add python-pplpy vicvbcun
                   ` (16 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (python-memory-allocator): New variable.
---
 gnu/packages/sagemath.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 13/29] gnu: Add python-pplpy.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (24 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 12/29] gnu: Add python-memory-allocator vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 14/29] gnu: Add primecount vicvbcun
                   ` (15 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (python-pplpy): New variable.
---
 gnu/packages/sagemath.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 14/29] gnu: Add primecount.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (25 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 13/29] gnu: Add python-pplpy vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 15/29] gnu: Add python-primecountpy vicvbcun
                   ` (14 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (primecount): New variable.
---
 gnu/packages/sagemath.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 15/29] gnu: Add python-primecountpy.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (26 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 14/29] gnu: Add primecount vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 16/29] gnu: Add python-lrcalc vicvbcun
                   ` (13 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (python-primecountpy): New variable.
---
 gnu/packages/sagemath.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 16/29] gnu: Add python-lrcalc.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (27 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 15/29] gnu: Add python-primecountpy vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 17/29] gnu: Add palp vicvbcun
                   ` (12 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (python-lrcalc): New variable.
---
 gnu/packages/sagemath.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 17/29] gnu: Add palp.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (28 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 16/29] gnu: Add python-lrcalc vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 18/29] gnu: Add gfan vicvbcun
                   ` (11 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (palp): New variable.
---
 gnu/packages/sagemath.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 18/29] gnu: Add gfan.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (29 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 17/29] gnu: Add palp vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 19/29] gnu: Add flintqs vicvbcun
                   ` (10 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (gfan): New variable.
---
 gnu/packages/sagemath.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 19/29] gnu: Add flintqs.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (30 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 18/29] gnu: Add gfan vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 20/29] gnu: Add tachyon vicvbcun
                   ` (9 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (flintqs): New variable.
---
 gnu/packages/sagemath.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 20/29] gnu: Add tachyon.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (31 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 19/29] gnu: Add flintqs vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 21/29] gnu: Add sagemath-data-conway-polynomials vicvbcun
                   ` (8 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* 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

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 21/29] gnu: Add sagemath-data-conway-polynomials.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (32 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 20/29] gnu: Add tachyon vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 22/29] gnu: Add sagemath-data-elliptic-curves vicvbcun
                   ` (7 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (sagemath-data-conway-polynomials): New variable.
---
 gnu/packages/sagemath.scm | 48 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 22/29] gnu: Add sagemath-data-elliptic-curves.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (33 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 21/29] gnu: Add sagemath-data-conway-polynomials vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 23/29] gnu: Add sagemath-data-combinatorial-designs vicvbcun
                   ` (6 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (sagemath-data-elliptic-curves): New variable.
---
 gnu/packages/sagemath.scm | 45 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 23/29] gnu: Add sagemath-data-combinatorial-designs.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (34 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 22/29] gnu: Add sagemath-data-elliptic-curves vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 24/29] gnu: Add sagemath-data-graphs vicvbcun
                   ` (5 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (sagemath-data-combinatorial-designs): New variable.
---
 gnu/packages/sagemath.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 24/29] gnu: Add sagemath-data-graphs.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (35 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 23/29] gnu: Add sagemath-data-combinatorial-designs vicvbcun
@ 2022-08-08 15:45 ` vicvbcun
  2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 25/29] gnu: Add sagemath-data-poytopes-db vicvbcun
                   ` (4 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:45 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (sagemath-data-graphs): New variable.
---
 gnu/packages/sagemath.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 25/29] gnu: Add sagemath-data-poytopes-db.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (36 preceding siblings ...)
  2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 24/29] gnu: Add sagemath-data-graphs vicvbcun
@ 2022-08-08 15:46 ` vicvbcun
  2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 26/29] gnu: Add pari-galdata vicvbcun
                   ` (3 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:46 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (sagemath-data-poytopes-db): New variable.
---
 gnu/packages/sagemath.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 26/29] gnu: Add pari-galdata.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (37 preceding siblings ...)
  2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 25/29] gnu: Add sagemath-data-poytopes-db vicvbcun
@ 2022-08-08 15:46 ` vicvbcun
  2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 27/29] gnu: Add sagemath-just-build vicvbcun
                   ` (2 subsequent siblings)
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:46 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (pari-galdata): New variable.
---
 gnu/packages/sagemath.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 27/29] gnu: Add sagemath-just-build.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (38 preceding siblings ...)
  2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 26/29] gnu: Add pari-galdata vicvbcun
@ 2022-08-08 15:46 ` vicvbcun
  2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 28/29] gnu: Add sagemath-with-dependencies vicvbcun
  2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 29/29] gnu: Add sagemath-tests vicvbcun
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:46 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (sagemath-just-build): New variable.
---
 gnu/packages/sagemath.scm | 134 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 28/29] gnu: Add sagemath-with-dependencies.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (39 preceding siblings ...)
  2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 27/29] gnu: Add sagemath-just-build vicvbcun
@ 2022-08-08 15:46 ` vicvbcun
  2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 29/29] gnu: Add sagemath-tests vicvbcun
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:46 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (sagemath-with-dependencies): New variable.
---
 gnu/packages/sagemath.scm | 62 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH v2 29/29] gnu: Add sagemath-tests.
  2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
                   ` (40 preceding siblings ...)
  2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 28/29] gnu: Add sagemath-with-dependencies vicvbcun
@ 2022-08-08 15:46 ` vicvbcun
  41 siblings, 0 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-08 15:46 UTC (permalink / raw)
  To: 56729; +Cc: Ludovic Courtès, Andreas Enge

* gnu/packages/sagemath.scm (sagemath-tests): New variable.
---
 gnu/packages/sagemath.scm | 51 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-08-08 14:40   ` Andreas Enge
@ 2022-08-08 16:20     ` guix
  2022-08-09 10:47       ` Andreas Enge
  2022-08-10  9:03       ` Andreas Enge
  0 siblings, 2 replies; 57+ messages in thread
From: guix @ 2022-08-08 16:20 UTC (permalink / raw)
  To: Andreas Enge; +Cc: Ludovic Courtès, 56729

Hello,

On 2022-08-08T16:40:37+0200, Andreas Enge wrote:
> 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 :).

> 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.

> Maybe you could copy useful parts into your recipe?
I'll take a look!

> 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) :).




^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-08-08 16:20     ` guix
@ 2022-08-09 10:47       ` Andreas Enge
  2022-08-09 10:55         ` ( via Guix-patches via
                           ` (3 more replies)
  2022-08-10  9:03       ` Andreas Enge
  1 sibling, 4 replies; 57+ messages in thread
From: Andreas Enge @ 2022-08-09 10:47 UTC (permalink / raw)
  To: Ludovic Courtès, 56729; +Cc: Guillaume Le Vaillant

Hello,

Am Mon, Aug 08, 2022 at 06:20:22PM +0200 schrieb guix@ikherbers.com:
> 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.

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-08-09 10:47       ` Andreas Enge
@ 2022-08-09 10:55         ` ( via Guix-patches via
  2022-08-09 12:19         ` Andreas Enge
                           ` (2 subsequent siblings)
  3 siblings, 0 replies; 57+ messages in thread
From: ( via Guix-patches via @ 2022-08-09 10:55 UTC (permalink / raw)
  To: Andreas Enge, Ludovic Courtès, 56729; +Cc: Guillaume Le Vaillant

On Tue Aug 9, 2022 at 11:47 AM BST, Andreas Enge wrote:
> 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.

    -- (




^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-08-09 10:47       ` Andreas Enge
  2022-08-09 10:55         ` ( via Guix-patches via
@ 2022-08-09 12:19         ` Andreas Enge
  2022-08-09 13:40         ` vicvbcun
  2022-08-09 21:32         ` Maxime Devos
  3 siblings, 0 replies; 57+ messages in thread
From: Andreas Enge @ 2022-08-09 12:19 UTC (permalink / raw)
  To: Ludovic Courtès, 56729; +Cc: Guillaume Le Vaillant

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-08-09 10:47       ` Andreas Enge
  2022-08-09 10:55         ` ( via Guix-patches via
  2022-08-09 12:19         ` Andreas Enge
@ 2022-08-09 13:40         ` vicvbcun
  2022-08-12  8:50           ` Andreas Enge
  2022-08-12  8:58           ` Andreas Enge
  2022-08-09 21:32         ` Maxime Devos
  3 siblings, 2 replies; 57+ messages in thread
From: vicvbcun @ 2022-08-09 13:40 UTC (permalink / raw)
  To: Andreas Enge; +Cc: Guillaume Le Vaillant, Ludovic Courtès, 56729

[-- Attachment #1: Type: text/plain, Size: 1747 bytes --]

On 2022-08-09T12:47:27+0200, Andreas Enge wrote:
> 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.

> > > 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]:
https://sourceforge.net/p/maxima/patches/80/
[1]:
https://github.com/archlinux/svntogit-packages/blob/packages/maxima/trunk/PKGBUILD

[-- Attachment #2: 0001-gnu-maxima-Build-with-ecl-and-install-maxima.fas.patch --]
[-- Type: text/plain, Size: 2207 bytes --]

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(-)

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


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-08-09 10:47       ` Andreas Enge
                           ` (2 preceding siblings ...)
  2022-08-09 13:40         ` vicvbcun
@ 2022-08-09 21:32         ` Maxime Devos
  2022-08-10  8:26           ` Andreas Enge
  3 siblings, 1 reply; 57+ messages in thread
From: Maxime Devos @ 2022-08-09 21:32 UTC (permalink / raw)
  To: Andreas Enge, Ludovic Courtès, 56729; +Cc: Guillaume Le Vaillant


[-- Attachment #1.1.1: Type: text/plain, Size: 685 bytes --]


On 09-08-2022 12:47, Andreas Enge wrote:
> [...] 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 #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 929 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-08-09 21:32         ` Maxime Devos
@ 2022-08-10  8:26           ` Andreas Enge
  0 siblings, 0 replies; 57+ messages in thread
From: Andreas Enge @ 2022-08-10  8:26 UTC (permalink / raw)
  To: Maxime Devos; +Cc: Ludovic Courtès, 56729

Am Tue, Aug 09, 2022 at 11:32:56PM +0200 schrieb Maxime Devos:
> 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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-08-08 16:20     ` guix
  2022-08-09 10:47       ` Andreas Enge
@ 2022-08-10  9:03       ` Andreas Enge
  1 sibling, 0 replies; 57+ messages in thread
From: Andreas Enge @ 2022-08-10  9:03 UTC (permalink / raw)
  To: Ludovic Courtès, 56729

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-08-03  9:21   ` guix
@ 2022-08-11 18:05     ` Andreas Enge
  0 siblings, 0 replies; 57+ messages in thread
From: Andreas Enge @ 2022-08-11 18:05 UTC (permalink / raw)
  To: Ludovic Courtès, 56729, Andreas Enge

Hello,

Am Wed, Aug 03, 2022 at 11:21:43AM +0200 schrieb guix@ikherbers.com:
> 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.

> 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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-08-09 13:40         ` vicvbcun
@ 2022-08-12  8:50           ` Andreas Enge
  2022-08-12  8:58           ` Andreas Enge
  1 sibling, 0 replies; 57+ messages in thread
From: Andreas Enge @ 2022-08-12  8:50 UTC (permalink / raw)
  To: Ludovic Courtès, 56729

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





^ permalink raw reply	[flat|nested] 57+ messages in thread

* [bug#56729] [RFC PATCH 00/10] Add sagemath.
  2022-08-09 13:40         ` vicvbcun
  2022-08-12  8:50           ` Andreas Enge
@ 2022-08-12  8:58           ` Andreas Enge
  1 sibling, 0 replies; 57+ messages in thread
From: Andreas Enge @ 2022-08-12  8:58 UTC (permalink / raw)
  To: 56729, Guillaume Le Vaillant

Am Tue, Aug 09, 2022 at 03:40:53PM +0200 schrieb vicvbcun:
> 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





^ permalink raw reply	[flat|nested] 57+ messages in thread

end of thread, other threads:[~2022-08-12  8:59 UTC | newest]

Thread overview: 57+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-23 19:59 [bug#56729] [RFC PATCH 00/10] Add sagemath vicvbcun
2022-07-23 20:51 ` [bug#56729] [RFC PATCH 01/10] gnu: edge-addition-planarity-suite: Update to 3.0.2.0 vicvbcun
2022-07-23 20:51 ` [bug#56729] [RFC PATCH 02/10] gnu: gap: Update to 4.11.1 vicvbcun
2022-08-03  9:25   ` [bug#56729] [RFC PATCH v2] " vicvbcun
2022-07-23 20:51 ` [bug#56729] [RFC PATCH 03/10] gnu: Remove ecl-16 vicvbcun
2022-07-23 20:51 ` [bug#56729] [RFC PATCH 04/10] gnu: cliquer: Update to 1.22 vicvbcun
2022-07-23 20:51 ` [bug#56729] [RFC PATCH 05/10] gnu: lcalc: Update to 2.0.5 vicvbcun
2022-07-23 20:52 ` [bug#56729] [RFC PATCH 06/10] gnu: ntl: Update to 11.5.1 vicvbcun
2022-07-23 20:52 ` [bug#56729] [RFC PATCH 07/10] gnu: eclib: Update to 20220621 vicvbcun
2022-07-23 20:52 ` [bug#56729] [RFC PATCH 08/10] gnu: Add python-memory-allocator vicvbcun
2022-07-23 20:52 ` [bug#56729] [RFC PATCH 09/10] gnu: Add python-pplpy vicvbcun
2022-07-23 20:52 ` [bug#56729] [RFC PATCH 10/10] gnu: Add sagemath vicvbcun
2022-08-01  9:24 ` [bug#56729] [RFC PATCH 00/10] " Ludovic Courtès
2022-08-03  9:21   ` guix
2022-08-11 18:05     ` Andreas Enge
2022-08-08 14:40   ` Andreas Enge
2022-08-08 16:20     ` guix
2022-08-09 10:47       ` Andreas Enge
2022-08-09 10:55         ` ( via Guix-patches via
2022-08-09 12:19         ` Andreas Enge
2022-08-09 13:40         ` vicvbcun
2022-08-12  8:50           ` Andreas Enge
2022-08-12  8:58           ` Andreas Enge
2022-08-09 21:32         ` Maxime Devos
2022-08-10  8:26           ` Andreas Enge
2022-08-10  9:03       ` Andreas Enge
2022-08-06  1:28 ` vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 00/29] " vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 01/29] gnu: Remove ecl-16 vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 02/29] gnu: edge-addition-planarity-suite: Update to 3.0.2.0 vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 03/29] gnu: gap: Update to 4.11.1 vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 04/29] gnu: cliquer: Update to 1.22 vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 05/29] gnu: lcalc: Update to 2.0.5 vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 06/29] gnu: ntl: Update to 11.5.1 vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 07/29] gnu: eclib: Update to 20220621 vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 08/29] gnu: lrcalc: Update to 2.1 vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 09/29] gnu: maxima: Update to 5.46.0 vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 10/29] gnu: python-sympy: Update to 1.10.1 vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 11/29] gnu: cddlib: Update to 0.94m vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 12/29] gnu: Add python-memory-allocator vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 13/29] gnu: Add python-pplpy vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 14/29] gnu: Add primecount vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 15/29] gnu: Add python-primecountpy vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 16/29] gnu: Add python-lrcalc vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 17/29] gnu: Add palp vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 18/29] gnu: Add gfan vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 19/29] gnu: Add flintqs vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 20/29] gnu: Add tachyon vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 21/29] gnu: Add sagemath-data-conway-polynomials vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 22/29] gnu: Add sagemath-data-elliptic-curves vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 23/29] gnu: Add sagemath-data-combinatorial-designs vicvbcun
2022-08-08 15:45 ` [bug#56729] [RFC PATCH v2 24/29] gnu: Add sagemath-data-graphs vicvbcun
2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 25/29] gnu: Add sagemath-data-poytopes-db vicvbcun
2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 26/29] gnu: Add pari-galdata vicvbcun
2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 27/29] gnu: Add sagemath-just-build vicvbcun
2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 28/29] gnu: Add sagemath-with-dependencies vicvbcun
2022-08-08 15:46 ` [bug#56729] [RFC PATCH v2 29/29] gnu: Add sagemath-tests vicvbcun

Code repositories for project(s) associated with this inbox:

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

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