From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id qD3UMZog8WJ+tgAAbAwnHQ (envelope-from ) for ; Mon, 08 Aug 2022 16:41:30 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id mJPUMZog8WJ2/gAA9RJhRA (envelope-from ) for ; Mon, 08 Aug 2022 16:41:30 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 3707B9B4D for ; Mon, 8 Aug 2022 16:41:30 +0200 (CEST) Received: from localhost ([::1]:60590 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oL3we-0000D9-S3 for larch@yhetil.org; Mon, 08 Aug 2022 10:41:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47210) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oL3wE-00008f-SF for guix-patches@gnu.org; Mon, 08 Aug 2022 10:41:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51708) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oL3wE-0002f4-Dj for guix-patches@gnu.org; Mon, 08 Aug 2022 10:41:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oL3wE-00023E-8e for guix-patches@gnu.org; Mon, 08 Aug 2022 10:41:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56729] [RFC PATCH 00/10] Add sagemath. Resent-From: Andreas Enge Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 08 Aug 2022 14:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56729 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: vicvbcun , 56729@debbugs.gnu.org Received: via spool by 56729-submit@debbugs.gnu.org id=B56729.16599696527856 (code B ref 56729); Mon, 08 Aug 2022 14:41:02 +0000 Received: (at 56729) by debbugs.gnu.org; 8 Aug 2022 14:40:52 +0000 Received: from localhost ([127.0.0.1]:41457 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oL3w3-00022e-GZ for submit@debbugs.gnu.org; Mon, 08 Aug 2022 10:40:52 -0400 Received: from hera.aquilenet.fr ([185.233.100.1]:38540) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oL3w1-00022O-J2 for 56729@debbugs.gnu.org; Mon, 08 Aug 2022 10:40:50 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 817D5DDA; Mon, 8 Aug 2022 16:40:43 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id N6MNhYecbwVx; Mon, 8 Aug 2022 16:40:39 +0200 (CEST) Received: from jurong (unknown [IPv6:2001:861:c4:f2f0:bad0:add3:e270:17e5]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 3EF55E0; Mon, 8 Aug 2022 16:40:39 +0200 (CEST) Date: Mon, 8 Aug 2022 16:40:37 +0200 From: Andreas Enge Message-ID: References: <87y1w81flc.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <87y1w81flc.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1659969690; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=pBVg51bqvjjPiFS831EnTVqCLIGsjtlUdIZvPBovnxo=; b=YhUh8v5G61xEIsSWJhCxDr9LXN/qjsKf7KMkcFZATlzkcP4ZjZHWcb7XJmBL5ZWT/Zchok LXasKHS3j9EFTgn8rW4XktWVPGYqPZDEzf1qY+faW35BkD01YL4rJyRCJW534RdpHFoOCY BSit5vZm72jZGbre1YYD3XVypEJ4Ys7AsEkmA/i5bFxrYF1KMe0k6YhROYDLhDTB66qZV4 tbeoteX8FpdrNBVQ6aaVBctrJEA6HpsS1zJuybuBhxgk1CzAOAPfxJ3WCHCA5I88Hd5NIQ qKLciYD421ENcg7us2k3xrb6Rodqld3l28wpos3j21BFT4dV0ltEInOCnGMItA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1659969690; a=rsa-sha256; cv=none; b=RWu5+Tax09bClwOI1q+Eci+QzTC5HfoaV86Tb87hEHgx2zh5k5wPObPvpQWeEuJ+cfotxT 0lwwH61aKcfB69fMBXCEq1xjWUTIk/fWEBoCvu11Cs64hfg4lgpuZ+kuPOc7OYhIUyw/A1 f/XWbxzYGoYDVtmI3vnq8xlca9PHJWjzz+TS2Jr6J5EprB4zgyZXvLCkvWWRTltM7XRpna wi9HY/jNSc6+3cdxyTPgecqTeqNW2UncOUmDfR4w2UKKiWnNA+GBi+i8IR9DUQNZbfob9m u3KQsgdYur86fcWdHA+HIARN8PJTNIFBGJszY55P2jRH4PZBDde7XFI8C+ufOQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -3.49 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 3707B9B4D X-Spam-Score: -3.49 X-Migadu-Scanner: scn0.migadu.com X-TUID: +g74QUgB5TmV 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/")))