Message ID | cover.1739459561.git.andreas@enge.fr |
---|---|
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 094F727BBEA; Thu, 13 Feb 2025 15:19:42 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-8.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 8E8B127BBE2 for <patchwork@mira.cbaines.net>; Thu, 13 Feb 2025 15:19:41 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces@gnu.org>) id 1tiazj-00051n-Ax; Thu, 13 Feb 2025 10:19:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tiazX-00051G-Fy for guix-patches@gnu.org; Thu, 13 Feb 2025 10:19:03 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tiazW-00071I-TC for guix-patches@gnu.org; Thu, 13 Feb 2025 10:19:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:From:To:Subject; bh=8bZyva1pYWPMHC6mhNh9PDzkp/SOLO6/Sqrfw9peG8c=; b=XVUJgZ9GS1QnwvhMgDfKW6shOOX24yBuIxROLLbIR9MvsPgIRnCzV++/5Ape+9aUys0Ip4Wmb0pnNVrV4dqMrbQZZDdNf4VbZqjQgQ9NER0zsj6M903BiPSOi+JWECWT5th+4XvMsIKp4fp8bCUVqSbS0JCzZIYjzER4pZbM8xxVNuLtewPD+M+W1TFuVrTX3IZzN8jaz1uG4svudIFNmRxaFipCD1rSSS6slaSlJLTMgYdGfqHgY18MgOrBY4oLu2ZYo2ZpmEu1k/htdvRCq14qaqoFztgDSindHnh2sX/8UC1v9kf+3ftAp/i48+wbMR5mnLP0gw3kiMlvCG2Zng==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tiazW-0008Gu-AW for guix-patches@gnu.org; Thu, 13 Feb 2025 10:19:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#76270] [PATCH 0/2] Add sage. Resent-From: Andreas Enge <andreas@enge.fr> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 13 Feb 2025 15:19:02 +0000 Resent-Message-ID: <handler.76270.B.173945991431755@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 76270 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76270@debbugs.gnu.org Cc: Andreas Enge <andreas@enge.fr> X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.173945991431755 (code B ref -1); Thu, 13 Feb 2025 15:19:02 +0000 Received: (at submit) by debbugs.gnu.org; 13 Feb 2025 15:18:34 +0000 Received: from localhost ([127.0.0.1]:44927 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1tiaz3-0008G6-Uj for submit@debbugs.gnu.org; Thu, 13 Feb 2025 10:18:34 -0500 Received: from lists.gnu.org ([2001:470:142::17]:44458) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <andreas@enge.fr>) id 1tiayz-0008Fm-6s for submit@debbugs.gnu.org; Thu, 13 Feb 2025 10:18:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <andreas@enge.fr>) id 1tiays-0004us-66 for guix-patches@gnu.org; Thu, 13 Feb 2025 10:18:22 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <andreas@enge.fr>) id 1tiayp-0006xX-Aq for guix-patches@gnu.org; Thu, 13 Feb 2025 10:18:21 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 3F950210; Thu, 13 Feb 2025 16:18:15 +0100 (CET) Authentication-Results: hera.aquilenet.fr; none X-Virus-Scanned: Debian amavis at hera.aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavis, port 10024) with ESMTP id PVN7WuE-HapF; Thu, 13 Feb 2025 16:18:14 +0100 (CET) Received: from localhost.localdomain (static-css-ccs-129157.business.bouyguestelecom.com [176.157.129.157]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 4E72418D; Thu, 13 Feb 2025 16:18:14 +0100 (CET) From: Andreas Enge <andreas@enge.fr> Date: Thu, 13 Feb 2025 16:13:02 +0100 Message-ID: <cover.1739459561.git.andreas@enge.fr> X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: hera X-Rspamd-Queue-Id: 3F950210 X-Spamd-Result: default: False [-2.60 / 15.00]; NEURAL_HAM(-3.00)[-1.000]; BAYES_HAM(-3.00)[99.98%]; FORGED_RECIPIENTS(2.00)[m:andreas@enge.fr,s:andreas.enge@aquilenet.fr]; MID_CONTAINS_FROM(1.00)[]; R_MISSING_CHARSET(0.50)[]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_ALL(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; MIME_TRACE(0.00)[0:+]; RCPT_COUNT_TWO(0.00)[2]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[] X-Spamd-Bar: -- X-Rspamd-Action: no action Received-SPF: pass client-ip=185.233.100.1; envelope-from=andreas@enge.fr; helo=hera.aquilenet.fr X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches |
Series |
Add sage.
|
|
Message
Andreas Enge
Feb. 13, 2025, 3:13 p.m. UTC
Andreas Enge (2): gnu: Add maxima-ecl. gnu: Add sage. gnu/local.mk | 2 + gnu/packages/maths.scm | 36 +- gnu/packages/patches/sage-update-eclib.patch | 222 + .../patches/sage-update-pari-gp.patch | 5020 +++++++++++++++++ gnu/packages/sagemath.scm | 152 +- 5 files changed, 5428 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/sage-update-eclib.patch create mode 100644 gnu/packages/patches/sage-update-pari-gp.patch base-commit: 2e72561e788a0bb37ffe887d546a394b70b8c212
Comments
Hello! The next two commits add SageMath as the package sage to Guix. Sage uses maxima, but needs maxima compiled with the ecl common lisp implementation, which I have added as a new package maxima-ecl in addition to our current maxima, which is compiled with sbcl. Ideally, instead of adding this maxima-ecl, I would just have it replace our current maxima - in this way, we would have only one maxima package; both should have the same functionality anyway. What do you think? I have taken a lot of care to patch the scripts in the sage package so that the references to external binaries become internal with the complete paths /gnu/store/..., so that only few propagated inputs are needed (essentially Python libraries). From inside sage, you can run %singular, %maxima, %gp or %gap to shell out to these external computer algebra systems. In my home profile, the REPL obtained by typing "sage" fails to start, due to some mysterious conflict between, I suppose, propagated python inputs pulled in through other packages. I could work around this by ./pre-inst-env guix shell -C --pure sage and then running "sage" in the Guix shell. The jupyter notebook is directly functional running "sage -n". There are definitely lots of optional packages that could be added as inputs in later steps. In that case, I would suggest that for each new input we come up with a sage command that fails with the current setup and succeeds with the enhanced setup, so as to "prove" that the added inputs are indeed taken into account. (As an example, in a previous iteration, I already had gmp-ecm as an input, but upon inspection it turned out that it was not actually used to factor numbers using ECM, and I had to add the (substitute* "src/sage/env.py" (("\"ecm\"") (string-append "\"" #$gmp-ecm "/bin/ecm\"")) lines to the package.) So far, I have only tried to compile on x86_64, where it succeeds. I would suggest to replace our sbcl maxima package by the ebcl one, and to push sage to master. What do you think? Andreas