Guix science packages ===================== .. image:: https://guix.bordeaux.inria.fr/jobset/guix-science/badge.svg?type=0 :target: https://guix.bordeaux.inria.fr/jobset/guix-science This GNU Guix_ channel provides recent versions of scientific software, which cannot be included upstream. See `Specifying Additional Channels`_ in the Guix manual for instructions how to add it to your installation or simply add the following snippet to your ``channels.scm``: .. code:: scheme (channel (name 'guix-science) (url "https://codeberg.org/guix-science/guix-science.git") (introduction (make-channel-introduction "b1fe5aaff3ab48e798a4cce02f0212bc91f423dc" (openpgp-fingerprint "CA4F 8CF4 37D7 478F DA05 5FD4 4213 7701 1A37 8446")))) .. _Guix: https://guix.gnu.org/ .. _Specifying Additional Channels: https://guix.gnu.org/manual/en/guix.html#Specifying-Additional-Channels Binary substitutes for ``x86_64-linux`` are available from https://guix.bordeaux.inria.fr, see `Getting Substitutes from Other Servers`_ in the official manual. The signing key can be imported using: .. code:: console $ guix archive --authorize < This repository follows Guix's `Packaging Guidelines`_, refer to them when contributing. .. _Packaging Guidelines: https://guix.gnu.org/manual/devel/en/html_node/Packaging-Guidelines.html In particular, commit messages follow the `GNU Coding Standards`_ as in Guix upstream. The title format should be ``module_name: Add package_name.`` for newly added packages or ``module_name: package_name: Description.`` for package modifications. The message should list each modified file, mentioning each modified/added variable with a description of the modifications. Please make sure that explanations about the code are included in the code as comments and not in Git log descriptions. As a first example, this would be the commit message when adding the ``hello`` package in the ``utils`` module located at ``guix-science/packages/utils.scm``: .. code:: git utils: Add hello. * guix-science/packages/utils.scm (hello): New variable. This would be the commit message when updating the previously added ``hello`` package to version ``1.2.3``: .. code:: git utils: hello: Update to 1.2.3. * guix-science/packages/utils.scm (hello): Update to 1.2.3. Please check this repository's commit log for further examples. .. _GNU Coding Standards: https://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs Deprecation policy --------------------------------------- When a package is broken for more than one month, it can be deprecated and removed from the repository. The deprecation mechanism is the following: - Open an PR removing the deprecated package. **Don't mark it as WIP:** so team members are notified. - Add a **deprecation tag** to the PR. - Add a **due date** -- one month from the creation of the PR. - After the due date, if the package has not been fixed, it will be effectively removed (the PR will be merged). If you maintain another channel depending on Guix-Science, please consider joining the ``companion`` team.