1
0
Fork
You've already forked guix-science
0
Free scientific packages for GNU Guix.
  • Scheme 100%
Find a file
Ludovic Courtès 878b78a040
Change license header to a one-line ‘SPDX-License-Identifier’.
This change implements the consensus reached in the group.
Changes were made with this ed script:
 # Match the first empty line.
 /^$
 # Delete everything up to that line.
 1,.d
 # Insert the header.
 i
 ;;; SPDX-License-Identifier: GPL-3.0-or-later
 .
 # Done.
 wq
Fixes: guix-science/guix-science#196 
2025年10月24日 16:57:24 +02:00
.forgejo/workflows Add new/modified package linting through Forgejo actions. 2025年10月24日 16:37:27 +02:00
guix-science Change license header to a one-line ‘SPDX-License-Identifier’. 2025年10月24日 16:57:24 +02:00
patches patches: Update rstudio-server-multi-version patches. 2025年04月18日 21:08:23 +02:00
.gitignore Add ‘.gitignore’. 2025年01月13日 15:51:49 +01:00
.guix-authorizations Authorize the subkey of Ghislain. 2025年10月17日 11:10:07 +02:00
.guix-channel .guix-channel: Add ".git" to the primary URL. 2024年10月18日 17:02:04 +02:00
cgp-cavemanwrapper-fix-script.patch bioinformatics: Add cgp-cavemanwrapper. 2021年05月27日 14:35:40 +02:00
CODEOWNERS CODEOWNERS: Fix typo in team name. 2024年12月17日 17:12:00 +01:00
COPYING Initial import 2020年09月23日 14:29:47 +02:00
grid-engine-core-extern_qualifier.patch grid-engine-core: Fix build with openssl>1.0. 2022年02月07日 09:01:13 +01:00
grid-engine-core-openssl-1.1.patch grid-engine-core: Fix build with openssl>1.0. 2022年02月07日 09:01:13 +01:00
jasp-0.14.0.0-includes.patch jasp: Fix build with most recent Guix proper 2021年12月21日 10:55:44 +01:00
jasp-0.14.0.0-noupdate.patch jasp: Add JASP statistics software 2020年10月19日 08:24:02 +02:00
js-panmirror-no-pinyin.patch rstudio: Upgrade to v2023.06.0+421 2023年07月13日 13:58:10 +02:00
manta-relax-dependency-checking.patch bioinformatics: Add manta. 2021年04月21日 14:06:01 +02:00
NEWS Add ‘NEWS’ file. 2024年10月10日 17:00:07 +02:00
python-jupyterlab-copy-nometa.patch Initial import 2020年09月23日 14:29:47 +02:00
README.rst Change license header to a one-line ‘SPDX-License-Identifier’. 2025年10月24日 16:57:24 +02:00
strelka2-unbundle-dependencies.patch bioinformatics: Add strelka-2.9.2. 2021年04月21日 14:06:05 +02:00

Guix science packages

image

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:

(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"))))

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:

$ guix archive --authorize <<EOF
(public-key
 (ecc
 (curve Ed25519)
 (q #89FBA276A976A8DE2A69774771A92C8C879E0F24614AAAAE23119608707B3F06#)))
EOF

Licensing

Like Guix itself, Guix-Science is distributed under the terms of the GNU General Public License, version 3 or (at your option) any later version.

A copy of the license is included in the COPYING file, and each source file contains an SPDX header confirming its license.

Copyright is held by the diverse group of copyright holders for the many contributions made to Guix-Science over time.

Contributing

Contributors agree to provide their changes under the same license as the rest of Guix-Science—see licensing.

We accept software fulfilling the following criteria:

  • Free and open source. Use guix-science-nonfree otherwise.
  • Related to scientific research or teaching.
  • Not upstreamable to Guix proper per their rules—e.g., due to excessive vendoring.
  • Built entirely from source, with the following exceptions:
    1. JavaScript code is allowed to be taken as-is, including pre-built/minified JavaScript, as a pragmatic way out of the JavaScript dystopia;
    2. Packages such as build systems and compilers that have no known bootstrap path may be built starting from a binary seed (a pre-built binary of said compiler or build system).

Submissions of unfinished packaging attempts are welcome as well, as there is a good chance that others can help finish the work. Please prefix pull requests for unfinished contributions with WIP.

When submitting a new package or a modification to a package, make sure to run:

guix lint -L /path/to/your/guix/science/checkout <package-name>

This repository follows Guix's Packaging Guidelines, refer to them when contributing.

When obtaining a fresh checkout of this repository, run the following command:

guix git authenticate b1fe5aaff3ab48e798a4cce02f0212bc91f423dc "CA4F 8CF4 37D7 478F DA05 5FD4 4213 7701 1A37 8446"

The command authenticates your checkout and installs Git hooks such that git pull and git push automatically authenticate it from there on.

Hacking this repository

Package definitions are stored in guix-science/packages/*.scm, each .scm file being a Guile module containing several package definitions.

A new package definition can be added in the relevant module.

For example, after adding a package definition such as:

(define-public my-package-variable
 (package
 (name "my-package-name")
 ... ))

can be built using the following command:

guix build -L /path/to/guix/science/checkout my-package-name

Note that generally the same string is used for the package name and the Guile variable that points to the package object.

You can learn more about working with a channel in the Guix manual.