diff options
| author | Dan Rostovtsev <dan@rostovtsev.org> | 2026-04-10 09:43:06 -0400 |
|---|---|---|
| committer | Dan Rostovtsev <dan@rostovtsev.org> | 2026-04-10 09:43:06 -0400 |
| commit | 3bf88ef19b2c51162886321a8557449a96c4f1c4 (patch) | |
| tree | 9b5c6d9d8f2c47a1d247aef3709ef4f9d6a63448 | |
| parent | 1bfc951376ebb55830d7e7daba483c77fe8bee0c (diff) | |
gnu: Add rocq module.
Preparing the addition of packages for the renamed proof assistant.
* gnu/packages/rocq.scm (rocq-arguments): A helper to specify shared dune
build settings for the packages in the rocq repository.
Change-Id: I666c909a1b1ce89bbc3bc324d5d05ece0cfbfc19
| -rw-r--r-- | gnu/packages/rocq.scm | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gnu/packages/rocq.scm b/gnu/packages/rocq.scm new file mode 100644 index 00000000000..d5384902d12 --- /dev/null +++ b/gnu/packages/rocq.scm @@ -0,0 +1,44 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2026 Dan Rostovtsev <dan@rostovtsev.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages rocq) + #:use-module (gnu packages base) + #:use-module (gnu packages gawk) + #:use-module (gnu packages gtk) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages ocaml) + #:use-module (guix build-system dune) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module (guix licenses) + #:use-module (guix packages)) + +(define (rocq-arguments package-name) + ;; Dune parallel build is not reproducible (in rocq and camlp-streams, + ;; at least). + ;; First observed in Rocq in 2019 by bmwiedemann at OpenSUSE. + ;; - https://github.com/rocq-prover/rocq/issues/11229 + ;; Was escalated to a specific package by Rocq team in 2023. + ;; - https://github.com/ocaml/camlp-streams/issues/9 + ;; Was escalated to Dune by Xavier Leroy in 2023. + ;; - https://github.com/ocaml/dune/issues/9152 + ;; AFAIK, no patches addressing this in any project circa 2026. + (list #:package package-name + #:build-flags ''("-j1") + ;; The tests must be serial as well for reproducible builds. + #:test-flags ''("-j1"))) |
