From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms1.migadu.com with LMTPS id MLsdA0fDWmbmcgEAqHPOHw:P1 (envelope-from ) for ; Sat, 01 Jun 2024 08:44:23 +0200 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id MLsdA0fDWmbmcgEAqHPOHw (envelope-from ) for ; Sat, 01 Jun 2024 08:44:23 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=rN4yqFj5; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=posteo.net ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1717224262; 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: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=eCTsWjEYlcDtyHaxx+4xYCUhOiyoMdlYR4YRQ1s3JBY=; b=pvHoKGUU73yelGi6fYmv/OpqzLUwMN71ltoX5Hq+tLGe8Ve5axeAQd80PhdQpqlJvrY+9k GGxfTbTj+O4ARS+iMBhRGMbwbZGNJSFKpLFX+tsD5wJlqtfIHMTbipc8kCIiDJonY9XM/d ldp2hKnTvcH2bkBBefRozRhoF+0ShcElO3iKzI5R5haYGJCmVoeajys3NjM9rasO+LVYDm aqBNAoKHWZ4HtLmxVoXKJyIjTY8rxml2TBGJxQ2OM8TfOZyUbuivoJpyPZhKw7pRYRGcyt sw91sBojXAoUCHDHPntC2sTIhoKP3VE7SOPZLfyRdf5iVtWv/eWgwGvYd1Cfzg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=rN4yqFj5; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=posteo.net ARC-Seal: i=1; s=key1; d=yhetil.org; t=1717224262; a=rsa-sha256; cv=none; b=LJTF9m3pQfLauvS0ydTD6mS2wnFMj+/Yx6it996Nu1R8qD+Uh1InN3f6PW7dn0adeQUaSN C3dVgad/yJVtIBDiXQOgPp9CT9robnBSCTWmYrQdvuwij2ymjVOw9pkOm9hc80FOsjH1ls ie5XyotH0MLQMBIUBCbRDB8U6OtNan2o4DH/UafTGSIMi8J83R8mLuZ6OPSru5ni9yPino HiwbqW5FYm2PjzCPNi15mtmSOItZ6wqEv8v1auPFOm13Zs8qkrcsP4urJE7iZel7PODqwJ sGGxNYh94aGCj7lI2LK10aAmoXtXdaA/QRBKqK0Et3iNYqr8UUhzgmuLiF9y8A== 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 D8C24150D1 for ; Sat, 1 Jun 2024 08:44:22 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sDIT0-0000RH-T6; Sat, 01 Jun 2024 02:43:50 -0400 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 ) id 1sDISy-0000QT-VT for guix-devel@gnu.org; Sat, 01 Jun 2024 02:43:48 -0400 Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sDISw-0004sV-AR for guix-devel@gnu.org; Sat, 01 Jun 2024 02:43:48 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id BEA76240103 for ; Sat, 1 Jun 2024 08:43:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1717224222; bh=eCTsWjEYlcDtyHaxx+4xYCUhOiyoMdlYR4YRQ1s3JBY=; h=Message-ID:Subject:From:To:Cc:Date:Content-Type: Content-Transfer-Encoding:MIME-Version:From; b=rN4yqFj5FLRu2N7DuNjLnhaviQoOxTVpotTM39FgtE4pKfLmFGG4SYdoRUz/Gy1qA sJFnQ/t7SJtP24wKxehksUdbxjNEqWylLEr4QfFTbOBsRf0nGAZTYSqZHzIfD92BTz /F9anfd81iawsmWpEJSAzSqpkhsPR4G0YWgxuj3zIuOQhQU6fdxCx1fbFeFU9gDc+O apDNgf0a0J7y+eYV/rEgw2vrJD9ss3Bg6L4WQNs1ntirxZySQHA0vwFnKAaNNKRZqY O4dgvS8dNhMuApp27ABIw7ZXqx4lS0r5kFS0ICiC1dgeZZenrZ+R5Z4aOMr4G5IIv4 ib3udpDSvxEfw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Vrr6g5ct8z9rxG; Sat, 1 Jun 2024 08:43:39 +0200 (CEST) Message-ID: <84b3a91a25f87adae8c0f875a82234157cb297a6.camel@posteo.net> Subject: Re: SageMath packaging work From: Vinicius Monego To: Ada Stevenson , Guix Devel Cc: andreas@enge.fr, bavier@posteo.net, sharlatanus@gmail.com Date: Sat, 01 Jun 2024 06:43:06 +0000 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Received-SPF: pass client-ip=185.67.36.66; envelope-from=monego@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -23 X-Spam_score: -2.4 X-Spam_bar: -- X-Spam_report: (-2.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URI_DOTEDU=1.999 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -10.06 X-Spam-Score: -10.06 X-Migadu-Queue-Id: D8C24150D1 X-Migadu-Scanner: mx13.migadu.com X-TUID: nSRZ3/9j3XyX Em qua, 2024-05-22 =C3=A0s 09:19 +0000, Ada Stevenson escreveu: > Hi Guix, science team! >=20 > I was reaching for SageMath today and couldn't find it in the package > repository. I notice there's a sagemath.scm file, but no actual > SageMath=20 > package proper. Is there any work being done on packaging it at the=20 > moment? Are there any particular blockers preventing its packaging=20 > (excessive dependencies, difficult build etc.)? >=20 > Having SageMath in Guix would be really handy for me, so I'm happy to > give packaging it a go if the only reason is that there's not enough=20 > interest (I will just have to wait until after exams, so in about 3-4 > weeks). >=20 > Hope you are all doing well! >=20 > Warmly, > Ada >=20 Hi Ada, SageMath has a lot of dependencies which you can see on https://doc.sagemath.org/html/en/reference/spkg/ These are my current notes (I'm not sure how to organize them online): Standard packages: + Available in the python-team branch (not yet merged): - fqdn (python-team) - isoduration (python-team) - jupyter-events (python-team) - jupyter-server-terminals (python-team) - notebook-shim (python-team) - overrides (python-team) - referencing (python-team) - rfc3986-validator (python-team) - uri-template (python-team) + Series 1 (submitted as issue 70924): - async-lru (review) - calver (review) - memory-allocator (review) - pplpy (review) - primecount (review) - primecountpy (review) - pyproject-api (review) - types-python-dateutils (review) + Series 2 (currently working on, not yet submitted): - gfan (NEXT) - gnumake-tokenpool (v0.0.7+ needs Python 3.11+) - jupyter-lsp (needs updated jupyter-core) - palp http://hep.itp.tuwien.ac.at/~kreuzer/CY/CYpalp.html (NEXT) - pytz-deprecation-shim (OK but temporary usage only) - sympow - tachyon: http://jedi.ks.uiuc.edu/~johns/raytracer/files/ =20 + Remaining standard packages: - combinatorial-designs - comm - conway-polynomials - elliptic-curves - graphs - jmol - jsonschema-specifications - jupyter-jsmol - jupyterlab - jupyterlab-mathjax2 - pari-galdata - pari-seadata-small - polytopes-db - pplpy-doc - sage-conf - sage-docbuild - sage-setup - sagenb-export - sagetex - sphinx-inline-tabs - threejs Optional packages: - admcycles - benzene - buckygen - coxeter3 - csdp - cunningham-tables - cylp - d3js - database-cremona-ellcurve - database-cubic-hecke - database-jones-numfield - database-knotinfo - database-kohel - database-mutation-class - database-stein-watkins - database-stein-watkins-mini - database-symbolic-data - dsdp - e-antic - frobby - gap-jupyter - gap-packages - github-cli - glucose [looks easy] - jupymake - kenzo - latte-int - libsemigroups [looks easy] - lidia - mathics - mathics-scanner - matroid-database - mcqd - meataxe - msolve - nibabel [looks easy] - normaliz [looks easy] - notedown - onetbb - ore-algebra - p-group-cohomology - pandoc-attributes - papilo - pari-elldata - pari-galpol - pari-nftables - pari-seadata - perl-cpan-polymake-prereq - perl-mongodb - phitigra - plantri [looks easy] - polymake [looks easy] - polytopes-db-4d - pycryptosat [looks easy] - pynormaliz [looks easy] - pyppeteer - pyscipopt - pysingular - pyx [looks easy] - qepcad - rst2ipynb - rubiks - saclib - sage-flatsurf - sage-numerical-backends-coin - sage-numerical-backends-cplex - sage-numerical-backends-gurobi - sage-sws2rst - scip - scip-sdp - singular-jupyter - sirocco - slabbe - snappy - soplex - tides - topcom As you can see, it's a lot of packages and dependencies, and these are only the missing ones. Some of them are outdated, abandoned, or too recent. Some of the already packaged dependencies may be too old or need patches. We need at least the standard packages. Finally, we have to glue them all in the sagemath package. So it's a lot of work and nontrivial. If you'd like to help, you can choose to package one of those "looks easy" (but optional) packages, if you're new to Guix. Or try to help with the more complex, yet more important, standard packages. You can see the source link to every dependency in that sagemath packages link. Issue 56729 is a good starting point. The blockers are all of those you listed: excessive dependencies, difficult building and lack of interest. Vinicius