all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: vicvbcun <guix@ikherbers.com>
To: 56729@debbugs.gnu.org
Cc: "Ludovic Courtès" <ludo@gnu.org>, "Andreas Enge" <andreas.enge@inria.fr>
Subject: [bug#56729] [RFC PATCH v2 27/29] gnu: Add sagemath-just-build.
Date: Mon,  8 Aug 2022 17:46:02 +0200	[thread overview]
Message-ID: <da87cdc939ce3cb5d10f703a2dd79f7b451a06d1.1659973115.git.guix@ikherbers.com> (raw)
In-Reply-To: <cover.1658595756.git.guix@ikherbers.com>

* 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





  parent reply	other threads:[~2022-08-08 15:48 UTC|newest]

Thread overview: 90+ 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
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 ` vicvbcun [this message]
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

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

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

  git send-email \
    --in-reply-to=da87cdc939ce3cb5d10f703a2dd79f7b451a06d1.1659973115.git.guix@ikherbers.com \
    --to=guix@ikherbers.com \
    --cc=56729@debbugs.gnu.org \
    --cc=andreas.enge@inria.fr \
    --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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.