unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Andreas Enge <andreas@enge.fr>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: vicvbcun <guix@ikherbers.com>, 56729@debbugs.gnu.org
Subject: [bug#56729] [RFC PATCH 00/10] Add sagemath.
Date: Mon, 8 Aug 2022 16:40:37 +0200	[thread overview]
Message-ID: <YvEgZWGgYSkaEx3J@jurong> (raw)
In-Reply-To: <87y1w81flc.fsf@gnu.org>

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/")))





  parent reply	other threads:[~2022-08-08 14:41 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 00/32] Add sagemath vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 01/32] gnu: python-cysignals: Update to 1.11.2 vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 02/32] gnu: cliquer: Update to 1.22 vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 03/32] gnu: Add python-memory-allocator vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 04/32] gnu: python-gmpy2: Move to (gnu packages multiprecision) vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 05/32] gnu: Add python-pplpy vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 06/32] gnu: Add primecount vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 07/32] gnu: Add python-primecountpy vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 08/32] gnu: Add python-lrcalc vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 09/32] gnu: Add palp vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 10/32] gnu: Add gfan vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 11/32] gnu: Add sympow vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 12/32] download: Add SageMath mirrors vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 13/32] gnu: Add sagemath-data-combinatorial-designs vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 14/32] gnu: Add sagemath-data-conway-polynomials vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 15/32] gnu: Add sagemath-data-elliptic-curves vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 16/32] gnu: Add sagemath-data-graphs vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 17/32] gnu: Add sagemath-data-polytopes-db vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 18/32] gnu: pari-gp: Use G-expression vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 19/32] gnu: pari-gp: Install galdata vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 20/32] gnu: gap: Build reproducibly vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 21/32] gnu: gap: Compile atlasrep package vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 22/32] gnu: gap: Remove leftover source and build files vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 23/32] gnu: maxima: Build with ecl vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 24/32] gnu: maxima: Install maxima.fas vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 25/32] gnu: maxima: Apply matrix exponentiation patch vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 26/32] gnu: Add tachyon vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 27/32] gnu: singular: Update to 4.3.2 vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 28/32] gnu: singular: Don't compress info file vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 29/32] gnu: eclib: Update to 20230424 vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 30/32] gnu: python-pythran: Update to 0.13.1 vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 31/32] gnu: Add python-sagemath-standard vicvbcun
2023-05-29 20:38 ` [bug#56729] [RFC PATCH v3 32/32] gnu: Add sagemath vicvbcun
2024-10-24 18:04 ` [bug#56729] [RFC PATCH 00/10] " Sharlatan Hellseher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YvEgZWGgYSkaEx3J@jurong \
    --to=andreas@enge.fr \
    --cc=56729@debbugs.gnu.org \
    --cc=guix@ikherbers.com \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public 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).