Repository: ocaml/opam-repository
Pull request #27613: Rocq 9.0 release + Coq 9.0 compatibility packages
Author: login: mattam82
Created: 2025-03-12T15:38:30Z | Merged: 2025-03-20T09:25:02Z

See e.g. [rocq-prover.org/release/9.0.0](https://rocq-prover.org/releases/9.0.0)


Diff:
diff --git a/packages/coq-core/coq-core.9.0.0/opam b/packages/coq-core/coq-core.9.0.0/opam
new file mode 100644
index 000000000000..75dc44a77dd9
--- /dev/null
+++ b/packages/coq-core/coq-core.9.0.0/opam
@@ -0,0 +1,55 @@
+opam-version: "2.0"
+synopsis: "Compatibility binaries for Coq after the Rocq renaming"
+description: """
+The Rocq Prover is an interactive theorem prover, or proof assistant. It provides
+a formal language to write mathematical definitions, executable
+algorithms and theorems together with an environment for
+semi-interactive development of machine-checked proofs.
+
+Typical applications include the certification of properties of
+programming languages (e.g. the CompCert compiler certification
+project, or the Bedrock verified low-level programming library), the
+formalization of mathematics (e.g. the full formalization of the
+Feit-Thompson theorem or homotopy type theory) and teaching.
+
+This package includes compatibility binaries to call Rocq
+through previous Coq commands like coqc coqtop,..."""
+maintainer: ["The Rocq development team <coqdev@inria.fr>"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://rocq-prover.org/"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/coq/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "rocq-runtime" {= version}
+  "odoc" {with-doc}
+]
+dev-repo: "git+https://github.com/coq/coq.git"
+build: [
+  ["dune" "subst"] {dev}
+  [
+    "dune"
+    "build"
+    "-p"
+    name
+    "-j"
+    jobs
+    "@install"
+    "@runtest" {with-test}
+    "@doc" {with-doc}
+  ]
+]
+
+url {
+  src:
+    "https://github.com/coq/coq/releases/download/V9.0.0/rocq-9.0.0.tar.gz"
+  checksum: [
+    "md5=8d522602d23e7a665631826dab9aa92b"
+    "sha512=f4f76a6a178e421c99ee7a331a2fd97a06e9c5d0168d7e60c44e3820d8e1a124370ea104ad90c7f87a9a1e9d87b2d0d7d2d387c998feeaed4a75ed04e176a4be"
+  ]
+}
+
+post-messages: [
+  "Coq has been renamed to The Rocq Prover, see https://rocq-prover.org/refman/changes.html#porting-to-the-rocq-prover for details. 
+  This package provides compatibility binaries to ease the transition to the new rocq binary."]
\ No newline at end of file
diff --git a/packages/coq-stdlib/coq-stdlib.9.0.0/opam b/packages/coq-stdlib/coq-stdlib.9.0.0/opam
new file mode 100644
index 000000000000..5291a4502f72
--- /dev/null
+++ b/packages/coq-stdlib/coq-stdlib.9.0.0/opam
@@ -0,0 +1,13 @@
+opam-version: "2.0"
+synopsis: "Compatibility metapackage for Coq Stdlib library after the Rocq renaming"
+maintainer: ["The Rocq standard library development team"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://coq.inria.fr/"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/stdlib/issues"
+depends: [
+  "coq-core"
+  "rocq-stdlib" {= version}
+]
+dev-repo: "git+https://github.com/coq/stdlib.git"
diff --git a/packages/coq/coq.9.0.0/opam b/packages/coq/coq.9.0.0/opam
new file mode 100644
index 000000000000..9eb653ec95f3
--- /dev/null
+++ b/packages/coq/coq.9.0.0/opam
@@ -0,0 +1,16 @@
+opam-version: "2.0"
+synopsis: "Compatibility metapackage for Coq after the Rocq renaming"
+maintainer: ["The Rocq development team <coqdev@inria.fr>"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://coq.inria.fr/"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/coq/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "rocq-prover" {= version}
+  "coq-core" {= version}
+  "coq-stdlib" {= "9.0.0"}
+  "coqide-server" {= version}
+  "odoc" {with-doc}
+]
diff --git a/packages/coqide-server/coqide-server.9.0.0/opam b/packages/coqide-server/coqide-server.9.0.0/opam
new file mode 100644
index 000000000000..e4ba863ae559
--- /dev/null
+++ b/packages/coqide-server/coqide-server.9.0.0/opam
@@ -0,0 +1,47 @@
+opam-version: "2.0"
+synopsis: "The Rocq Prover, XML protocol server"
+description: """
+The Rocq Prover is an interactive theorem prover, or proof assistant. It provides
+a formal language to write mathematical definitions, executable
+algorithms and theorems together with an environment for
+semi-interactive development of machine-checked proofs.
+
+This package provides the `coqidetop` language server, an
+implementation of Rocq's [XML protocol](https://github.com/coq/coq/blob/master/dev/doc/xml-protocol.md)
+which allows clients, such as RocqIDE, to interact with the Rocq Prover in a
+structured way."""
+maintainer: ["The Rocq development team <coqdev@inria.fr>"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://coq.inria.fr/"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/coq/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "rocq-runtime" {= version}
+  "odoc" {with-doc}
+]
+build: [
+  ["dune" "subst"] {dev}
+  [
+    "dune"
+    "build"
+    "-p"
+    name
+    "-j"
+    jobs
+    "@install"
+    "@runtest" {with-test}
+    "@doc" {with-doc}
+  ]
+]
+dev-repo: "git+https://github.com/coq/coq.git"
+
+url {
+  src:
+    "https://github.com/coq/coq/releases/download/V9.0.0/rocq-9.0.0.tar.gz"
+  checksum: [
+    "md5=8d522602d23e7a665631826dab9aa92b"
+    "sha512=f4f76a6a178e421c99ee7a331a2fd97a06e9c5d0168d7e60c44e3820d8e1a124370ea104ad90c7f87a9a1e9d87b2d0d7d2d387c998feeaed4a75ed04e176a4be"
+  ]
+}
diff --git a/packages/rocq-core/rocq-core.9.0.0/opam b/packages/rocq-core/rocq-core.9.0.0/opam
new file mode 100644
index 000000000000..818bf37ef0d5
--- /dev/null
+++ b/packages/rocq-core/rocq-core.9.0.0/opam
@@ -0,0 +1,56 @@
+opam-version: "2.0"
+synopsis: "The Rocq Prover with its prelude"
+description: """
+The Rocq Prover is an interactive theorem prover, or proof assistant. It provides
+a formal language to write mathematical definitions, executable
+algorithms and theorems together with an environment for
+semi-interactive development of machine-checked proofs.
+
+Typical applications include the certification of properties of
+programming languages (e.g. the CompCert compiler certification
+project, or the Bedrock verified low-level programming library), the
+formalization of mathematics (e.g. the full formalization of the
+Feit-Thompson theorem or homotopy type theory) and teaching.
+
+This package includes the Rocq prelude, that is loaded automatically
+by Rocq in every .v file, as well as other modules bound to the
+Corelib.* and Ltac2.* namespaces."""
+maintainer: ["The Rocq development team <coqdev@inria.fr>"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://rocq-prover.org"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/coq/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "rocq-runtime" {= version}
+  "odoc" {with-doc}
+]
+dev-repo: "git+https://github.com/coq/coq.git"
+build: [
+  ["dune" "subst"] {dev}
+  # We tell dunestrap to use coq-config from rocq-runtime
+  [ make "dunestrap" "COQ_SPLIT=1" "DUNESTRAPOPT=-p rocq-core"]
+  [
+    "dune"
+    "build"
+    "-p"
+    name
+    "-j"
+    jobs
+    "--promote-install-files=false"
+    "@install"
+    "@runtest" {with-test}
+    "@doc" {with-doc}
+  ]
+  ["dune" "install" "-p" name "--create-install-files" name]
+]
+
+url {
+  src:
+    "https://github.com/coq/coq/releases/download/V9.0.0/rocq-9.0.0.tar.gz"
+  checksum: [
+    "md5=8d522602d23e7a665631826dab9aa92b"
+    "sha512=f4f76a6a178e421c99ee7a331a2fd97a06e9c5d0168d7e60c44e3820d8e1a124370ea104ad90c7f87a9a1e9d87b2d0d7d2d387c998feeaed4a75ed04e176a4be"
+  ]
+}
diff --git a/packages/rocq-prover/rocq-prover.9.0.0/opam b/packages/rocq-prover/rocq-prover.9.0.0/opam
new file mode 100644
index 000000000000..17966849be50
--- /dev/null
+++ b/packages/rocq-prover/rocq-prover.9.0.0/opam
@@ -0,0 +1,31 @@
+opam-version: "2.0"
+synopsis: "The Rocq Prover with Stdlib"
+description: """
+The Rocq Prover is an interactive theorem prover, or proof assistant. It provides
+a formal language to write mathematical definitions, executable
+algorithms and theorems together with an environment for
+semi-interactive development of machine-checked proofs.
+
+Typical applications include the certification of properties of
+programming languages (e.g. the CompCert compiler certification
+project, or the Bedrock verified low-level programming library), the
+formalization of mathematics (e.g. the full formalization of the
+Feit-Thompson theorem or homotopy type theory) and teaching.
+
+This package is a virtual package gathering the rocq-core and rocq-stdlib packages."""
+maintainer: ["The Rocq development team <coqdev@inria.fr>"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://rocq-prover.org"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/coq/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "rocq-core" {= version}
+  "rocq-stdlib"
+  "ounit2" {with-test}
+  "conf-python-3" {with-test}
+  "conf-time" {with-test}
+  "odoc" {with-doc}
+]
+dev-repo: "git+https://github.com/coq/coq.git"
diff --git a/packages/rocq-runtime/rocq-runtime.9.0.0/opam b/packages/rocq-runtime/rocq-runtime.9.0.0/opam
new file mode 100644
index 000000000000..5cad33d067f8
--- /dev/null
+++ b/packages/rocq-runtime/rocq-runtime.9.0.0/opam
@@ -0,0 +1,72 @@
+opam-version: "2.0"
+synopsis: "The Rocq Prover -- Core Binaries and Tools"
+description: """
+The Rocq Prover is an interactive theorem prover, or proof assistant. It provides
+a formal language to write mathematical definitions, executable
+algorithms and theorems together with an environment for
+semi-interactive development of machine-checked proofs.
+
+Typical applications include the certification of properties of
+programming languages (e.g. the CompCert compiler certification
+project, or the Bedrock verified low-level programming library), the
+formalization of mathematics (e.g. the full formalization of the
+Feit-Thompson theorem or homotopy type theory) and teaching.
+
+This package includes the Rocq Prover core binaries, plugins, and tools, but
+not the vernacular standard library.
+
+Note that in this setup, Rocq needs to be started with the -boot and
+-noinit options, as will otherwise fail to find the regular Rocq
+prelude, now living in the rocq-core package."""
+maintainer: ["The Rocq development team <coqdev@inria.fr>"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://rocq-prover.org"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/coq/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "ocaml" {>= "4.09.0"}
+  "ocamlfind" {>= "1.8.1"}
+  "zarith" {>= "1.11"}
+  "conf-linux-libc-dev" {os = "linux"}
+  "odoc" {with-doc}
+]
+depopts: ["rocq-native" "memprof-limits" "memtrace"]
+conflicts: [
+  "coq" { < "8.17" }
+  "coq-core" { < "8.21" }
+]
+dev-repo: "git+https://github.com/coq/coq.git"
+build: [
+  ["dune" "subst"] {dev}
+  [ "./configure"
+    "-release" # -release must be the first command line argument
+    "-prefix" prefix
+    "-mandir" man
+    "-libdir" "%{lib}%/coq"
+    "-native-compiler" "yes" {rocq-native:installed} "no" {!rocq-native:installed}
+  ]
+  [
+    "dune"
+    "build"
+    "-p"
+    name
+    "-j"
+    jobs
+    "--promote-install-files=false"
+    "@install"
+    "@runtest" {with-test}
+    "@doc" {with-doc}
+  ]
+  ["dune" "install" "-p" name "--create-install-files" name]
+]
+
+url {
+  src:
+    "https://github.com/coq/coq/releases/download/V9.0.0/rocq-9.0.0.tar.gz"
+  checksum: [
+    "md5=8d522602d23e7a665631826dab9aa92b"
+    "sha512=f4f76a6a178e421c99ee7a331a2fd97a06e9c5d0168d7e60c44e3820d8e1a124370ea104ad90c7f87a9a1e9d87b2d0d7d2d387c998feeaed4a75ed04e176a4be"
+  ]
+}
diff --git a/packages/rocq-stdlib/rocq-stdlib.9.0.0/opam b/packages/rocq-stdlib/rocq-stdlib.9.0.0/opam
new file mode 100644
index 000000000000..7c20817a0cd6
--- /dev/null
+++ b/packages/rocq-stdlib/rocq-stdlib.9.0.0/opam
@@ -0,0 +1,39 @@
+opam-version: "2.0"
+synopsis: "The Rocq Proof Assistant -- Standard Library"
+description: """
+Rocq is a formal proof management system. It provides
+a formal language to write mathematical definitions, executable
+algorithms and theorems together with an environment for
+semi-interactive development of machine-checked proofs.
+
+Typical applications include the certification of properties of
+programming languages (e.g. the CompCert compiler certification
+project, or the Bedrock verified low-level programming library), the
+formalization of mathematics (e.g. the full formalization of the
+Feit-Thompson theorem or homotopy type theory) and teaching.
+
+This package includes the Rocq Standard Library, that is to say, the
+set of modules usually bound to the Stdlib.* namespace."""
+maintainer: ["The Rocq standard library development team"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://rocq-prover.org"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/stdlib/issues"
+depends: [
+  "rocq-runtime"
+  "rocq-core" {>= "9.0" & < "9.1~"}
+]
+dev-repo: "git+https://github.com/coq/stdlib.git"
+build: [
+  [make "-j" jobs]
+]
+install: [
+  [make "install"]
+]
+
+url {
+  src:
+    "https://github.com/coq/stdlib/releases/download/V9.0.0/stdlib-9.0.0.tar.gz"
+  checksum: "sha512=97faa80d63a398c2c6872e043d65b1b907bb01ec3ea42f35cf757b3457b8fa2b64475d1577000ce2dea2c3f93e59e36cc5af9864adacf47f92db96ecbe307a45"
+}


Reviews:
user: login: SkySkimmer
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-12T16:52:58Z
user: login: proux01
body: This is also missing a `coq` metapackage, something along the lines
```
synopsis: "Compatibility metapackage for Coq after the Rocq renaming"
maintainer: ["The Rocq development team <coqdev@inria.fr>"]
authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
license: "LGPL-2.1-only"
homepage: "https://coq.inria.fr/"
doc: "https://coq.github.io/doc/"
bug-reports: "https://github.com/coq/coq/issues"
depends: [
  "rocq-prover" {= version}
  "coq-core" {= version}
  "coq-stdlib" {= "9.0.0"}
  "coqide-server" {= version}
]
dev-repo: "git+https://github.com/coq/coq.git"
```
as well as the `coqide-server` package.
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T07:44:05Z
user: login: mattam82
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T08:32:23Z
user: login: proux01
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-18T09:26:05Z
user: login: proux01
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-18T09:55:39Z
user: login: mattam82
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-18T13:09:50Z
user: login: mattam82
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-18T14:22:36Z
user: login: mattam82
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-18T14:23:08Z
user: login: proux01
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-18T14:31:45Z
user: login: mseri
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-19T14:16:40Z
user: login: mattam82
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-19T20:04:35Z

Review comments:
diff_hunk: @@ -0,0 +1,54 @@
+opam-version: "2.0"
+synopsis: "The Rocq Prover with Stdlib"
+description: """
+The Rocq Prover is an interactive theorem prover, or proof assistant. It provides
+a formal language to write mathematical definitions, executable
+algorithms and theorems together with an environment for
+semi-interactive development of machine-checked proofs.
+
+Typical applications include the certification of properties of
+programming languages (e.g. the CompCert compiler certification
+project, or the Bedrock verified low-level programming library), the
+formalization of mathematics (e.g. the full formalization of the
+Feit-Thompson theorem or homotopy type theory) and teaching.
+
+This package is a virtual package gathering the rocq-core and rocq-stdlib packages."""
+maintainer: ["The Rocq development team <coqdev@inria.fr>"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://rocq-prover.org"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/coq/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "rocq-core" {= version}
+  "rocq-stdlib"
+  "ounit2" {with-test}
+  "conf-python-3" {with-test}
+  "conf-time" {with-test}
+  "odoc" {with-doc}
+]
+dev-repo: "git+https://github.com/coq/coq.git"
+build: [
+  ["dune" "subst"] {dev}
+  [
+    "dune"
+    "build"
+    "-p"
+    "rocq"
path: packages/rocq-prover/rocq-prover.9.0.0/opam
user: login: SkySkimmer
body: ```suggestion
    name
```
created_at: 2025-03-12T16:52:57Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,72 @@
+opam-version: "2.0"
+synopsis: "The Rocq Prover -- Core Binaries and Tools"
+description: """
+The Rocq Prover is an interactive theorem prover, or proof assistant. It provides
+a formal language to write mathematical definitions, executable
+algorithms and theorems together with an environment for
+semi-interactive development of machine-checked proofs.
+
+Typical applications include the certification of properties of
+programming languages (e.g. the CompCert compiler certification
+project, or the Bedrock verified low-level programming library), the
+formalization of mathematics (e.g. the full formalization of the
+Feit-Thompson theorem or homotopy type theory) and teaching.
+
+This package includes the Rocq Prover core binaries, plugins, and tools, but
+not the vernacular standard library.
+
+Note that in this setup, Rocq needs to be started with the -boot and
+-noinit options, as will otherwise fail to find the regular Rocq
+prelude, now living in the rocq-core package."""
+maintainer: ["The Rocq development team <coqdev@inria.fr>"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://rocq-prover.org"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/coq/issues"
+depends: [
+  "dune" {>= "3.8" & < "3.14"}
path: packages/rocq-runtime/rocq-runtime.9.0.0/opam
user: login: proux01
body: ```suggestion
  "dune" {>= "3.8"}
```
(this is just a workaround for a bug in the CI of our own opam repo, should not be here)
created_at: 2025-03-13T07:30:14Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,53 @@
+opam-version: "2.0"
+synopsis: "The Rocq Proof Assistant -- Standard Library"
+description: """
+Rocq is a formal proof management system. It provides
+a formal language to write mathematical definitions, executable
+algorithms and theorems together with an environment for
+semi-interactive development of machine-checked proofs.
+
+Typical applications include the certification of properties of
+programming languages (e.g. the CompCert compiler certification
+project, or the Bedrock verified low-level programming library), the
+formalization of mathematics (e.g. the full formalization of the
+Feit-Thompson theorem or homotopy type theory) and teaching.
+
+This package includes the Rocq Standard Library, that is to say, the
+set of modules usually bound to the Stdlib.* namespace."""
+maintainer: ["The Rocq standard library development team"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://rocq-prover.org"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/stdlib/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "rocq-runtime"
+  "rocq-core" {>= "9.0" & < "9.1~"}
+  "odoc" {with-doc}
+]
+depopts: ["coq-native"]
+dev-repo: "git+https://github.com/coq/stdlib.git"
+build: [
+  ["dune" "subst"] {dev}
+  [
+    "dev/with-rocq-wrap.sh"
+    "dune"
+    "build"
+    "-p"
+    name
+    "-j"
+    jobs
+    "@install"
+    "@runtest" {with-test}
+    "@doc" {with-doc}
+  ]
+]
+
+url {
+  src:
+    "https://github.com/coq/stdlib/releases/download/V9.0+rc1/stdlib-9.0-rc1.tar.gz"
+  checksum: [
+    "sha512=413f457db022ddb635c18bf04fed48025c23ac1d69dfadc12e889d86dca44d8e1e4fe1e53caac03b881c9b79cf74063e540e369a800c167e386a9ae53a025b9e"
+  ]
+}
path: packages/rocq-stdlib/rocq-stdlib.9.0.0/opam
user: login: proux01
body: ```suggestion
depends: [
  "rocq-runtime"
  "rocq-core" {>= "9.0" & < "9.1~"}
]
dev-repo: "git+https://github.com/coq/stdlib.git"
build: [
  [make "-j" jobs]
]
install: [
  [make "install"]
]

url {
  src:
    "https://github.com/coq/stdlib/releases/download/V9.0.0/stdlib-9.0.0.tar.gz"
  checksum: "sha512=97faa80d63a398c2c6872e043d65b1b907bb01ec3ea42f35cf757b3457b8fa2b64475d1577000ce2dea2c3f93e59e36cc5af9864adacf47f92db96ecbe307a45"
}
```
created_at: 2025-03-13T07:36:01Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,38 @@
+opam-version: "2.0"
+synopsis: "Compatibility metapackage for Coq Stdlib library after the Rocq renaming"
+maintainer: ["The Rocq standard library development team"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://coq.inria.fr/"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/stdlib/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "coq-core"
+  "rocq-stdlib" {= version}
+  "odoc" {with-doc}
+]
+dev-repo: "git+https://github.com/coq/stdlib.git"
+build: [
+  ["dune" "subst"] {dev}
+  [
+    "dev/with-rocq-wrap.sh"
+    "dune"
+    "build"
+    "-p"
+    name
+    "-j"
+    jobs
+    "@install"
+    "@runtest" {with-test}
+    "@doc" {with-doc}
+  ]
+]
+
+url {
+  src:
+    "https://github.com/coq/stdlib/releases/download/V9.0+rc1/stdlib-9.0-rc1.tar.gz"
+  checksum: [
+    "sha512=413f457db022ddb635c18bf04fed48025c23ac1d69dfadc12e889d86dca44d8e1e4fe1e53caac03b881c9b79cf74063e540e369a800c167e386a9ae53a025b9e"
+  ]
+}
path: packages/coq-stdlib/coq-stdlib.9.0.0/opam
user: login: proux01
body: ```suggestion
depends: [
  "coq-core"
  "rocq-stdlib" {= version}
]
dev-repo: "git+https://github.com/coq/stdlib.git"
build: [
]
```
(this is just a metapackage, no build nor url)
created_at: 2025-03-13T07:37:50Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,53 @@
+opam-version: "2.0"
+synopsis: "The Rocq Proof Assistant -- Standard Library"
+description: """
+Rocq is a formal proof management system. It provides
+a formal language to write mathematical definitions, executable
+algorithms and theorems together with an environment for
+semi-interactive development of machine-checked proofs.
+
+Typical applications include the certification of properties of
+programming languages (e.g. the CompCert compiler certification
+project, or the Bedrock verified low-level programming library), the
+formalization of mathematics (e.g. the full formalization of the
+Feit-Thompson theorem or homotopy type theory) and teaching.
+
+This package includes the Rocq Standard Library, that is to say, the
+set of modules usually bound to the Stdlib.* namespace."""
+maintainer: ["The Rocq standard library development team"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://rocq-prover.org"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/stdlib/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "rocq-runtime"
+  "rocq-core" {>= "9.0" & < "9.1~"}
+  "odoc" {with-doc}
+]
+depopts: ["coq-native"]
+dev-repo: "git+https://github.com/coq/stdlib.git"
+build: [
+  ["dune" "subst"] {dev}
+  [
+    "dev/with-rocq-wrap.sh"
+    "dune"
+    "build"
+    "-p"
+    name
+    "-j"
+    jobs
+    "@install"
+    "@runtest" {with-test}
+    "@doc" {with-doc}
+  ]
+]
+
+url {
+  src:
+    "https://github.com/coq/stdlib/releases/download/V9.0+rc1/stdlib-9.0-rc1.tar.gz"
+  checksum: [
+    "sha512=413f457db022ddb635c18bf04fed48025c23ac1d69dfadc12e889d86dca44d8e1e4fe1e53caac03b881c9b79cf74063e540e369a800c167e386a9ae53a025b9e"
+  ]
+}
path: packages/rocq-stdlib/rocq-stdlib.9.0.0/opam
user: login: mattam82
body: Thanks!
created_at: 2025-03-13T08:32:23Z
author_association: CONTRIBUTOR
diff_hunk: @@ -11,7 +11,7 @@ bug-reports: "https://github.com/thibautbenjamin/catt/issues"
 depends: [
   "dune" {>= "3.16"}
   "catt"
-  "coq" {>= "8.20"}
+  "coq" {>= "8.20" & < "9.0"}
path: packages/coq-catt-plugin/coq-catt-plugin.1.0/opam
user: login: proux01
body: BTW, unrelated to this PR, this package should probably live in the Coq Opam repo ( https://github.com/coq/opam ) rather than here. Cc @thibautbenjamin 
created_at: 2025-03-18T09:26:05Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,49 @@
+opam-version: "2.0"
+synopsis: "Compatibility metapackage for Coq after the Rocq renaming"
+maintainer: ["The Rocq development team <coqdev@inria.fr>"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://coq.inria.fr/"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/coq/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "rocq-prover" {= version}
+  "coq-core" {= version}
+  "coq-stdlib"
path: packages/coq/coq.9.0.0/opam
user: login: proux01
body: ```suggestion
  "coq-stdlib" {= "9.0.0"}
```
created_at: 2025-03-18T09:49:08Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,49 @@
+opam-version: "2.0"
+synopsis: "Compatibility metapackage for Coq after the Rocq renaming"
+maintainer: ["The Rocq development team <coqdev@inria.fr>"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://coq.inria.fr/"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/coq/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "rocq-prover" {= version}
+  "coq-core" {= version}
+  "coq-stdlib"
+  "coqide-server" {= version}
+  "odoc" {with-doc}
+]
+depopts: ["rocq-native"]
+dev-repo: "git+https://github.com/coq/coq.git"
+build: [
+  ["dune" "subst"] {dev}
+  [ "./configure"
+    "-release" # -release must be the first command line argument
+    "-prefix" prefix
+    "-mandir" man
+    "-libdir" "%{lib}%/coq"
+    "-native-compiler" "yes" {rocq-native:installed} "no" {!rocq-native:installed}
+  ] {with-test}
+  [
+    "dune"
+    "build"
+    "-p"
+    name
+    "-j"
+    jobs
+    "--promote-install-files=false"
+    "@install"
+    "@doc" {with-doc}
+  ]
+  ["dune" "install" "-p" name "--create-install-files" name]
+]
+
+url {
+  src:
+    "https://github.com/coq/coq/releases/download/V9.0.0/rocq-9.0.0.tar.gz"
+  checksum: [
+    "md5=8d522602d23e7a665631826dab9aa92b"
+    "sha512=f4f76a6a178e421c99ee7a331a2fd97a06e9c5d0168d7e60c44e3820d8e1a124370ea104ad90c7f87a9a1e9d87b2d0d7d2d387c998feeaed4a75ed04e176a4be"
+  ]
+}
path: packages/coq/coq.9.0.0/opam
user: login: proux01
body: ```suggestion
```
This is just a metapackage, there should be no build nor src here.
created_at: 2025-03-18T09:49:45Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,54 @@
+opam-version: "2.0"
+synopsis: "The Rocq Prover with Stdlib"
+description: """
+The Rocq Prover is an interactive theorem prover, or proof assistant. It provides
+a formal language to write mathematical definitions, executable
+algorithms and theorems together with an environment for
+semi-interactive development of machine-checked proofs.
+
+Typical applications include the certification of properties of
+programming languages (e.g. the CompCert compiler certification
+project, or the Bedrock verified low-level programming library), the
+formalization of mathematics (e.g. the full formalization of the
+Feit-Thompson theorem or homotopy type theory) and teaching.
+
+This package is a virtual package gathering the rocq-core and rocq-stdlib packages."""
path: packages/rocq-prover/rocq-prover.9.0.0/opam
user: login: proux01
body: This probably shouldn't have any build nor src then?
created_at: 2025-03-18T09:52:56Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,49 @@
+opam-version: "2.0"
+synopsis: "Compatibility metapackage for Coq after the Rocq renaming"
+maintainer: ["The Rocq development team <coqdev@inria.fr>"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://coq.inria.fr/"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/coq/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "rocq-prover" {= version}
+  "coq-core" {= version}
+  "coq-stdlib"
+  "coqide-server" {= version}
+  "odoc" {with-doc}
+]
+depopts: ["rocq-native"]
+dev-repo: "git+https://github.com/coq/coq.git"
+build: [
+  ["dune" "subst"] {dev}
+  [ "./configure"
+    "-release" # -release must be the first command line argument
+    "-prefix" prefix
+    "-mandir" man
+    "-libdir" "%{lib}%/coq"
+    "-native-compiler" "yes" {rocq-native:installed} "no" {!rocq-native:installed}
+  ] {with-test}
+  [
+    "dune"
+    "build"
+    "-p"
+    name
+    "-j"
+    jobs
+    "--promote-install-files=false"
+    "@install"
+    "@doc" {with-doc}
+  ]
+  ["dune" "install" "-p" name "--create-install-files" name]
+]
+
+url {
+  src:
+    "https://github.com/coq/coq/releases/download/V9.0.0/rocq-9.0.0.tar.gz"
+  checksum: [
+    "md5=8d522602d23e7a665631826dab9aa92b"
+    "sha512=f4f76a6a178e421c99ee7a331a2fd97a06e9c5d0168d7e60c44e3820d8e1a124370ea104ad90c7f87a9a1e9d87b2d0d7d2d387c998feeaed4a75ed04e176a4be"
+  ]
+}
path: packages/coq/coq.9.0.0/opam
user: login: mattam82
body: Oh right, it’s coq-core that provides compat binaries I suppose?
created_at: 2025-03-18T13:09:50Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,54 @@
+opam-version: "2.0"
+synopsis: "The Rocq Prover with Stdlib"
+description: """
+The Rocq Prover is an interactive theorem prover, or proof assistant. It provides
+a formal language to write mathematical definitions, executable
+algorithms and theorems together with an environment for
+semi-interactive development of machine-checked proofs.
+
+Typical applications include the certification of properties of
+programming languages (e.g. the CompCert compiler certification
+project, or the Bedrock verified low-level programming library), the
+formalization of mathematics (e.g. the full formalization of the
+Feit-Thompson theorem or homotopy type theory) and teaching.
+
+This package is a virtual package gathering the rocq-core and rocq-stdlib packages."""
path: packages/rocq-prover/rocq-prover.9.0.0/opam
user: login: mattam82
body: Indeed, fixed as well.
created_at: 2025-03-18T14:22:35Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,54 @@
+opam-version: "2.0"
+synopsis: "The Rocq Prover with Stdlib"
+description: """
+The Rocq Prover is an interactive theorem prover, or proof assistant. It provides
+a formal language to write mathematical definitions, executable
+algorithms and theorems together with an environment for
+semi-interactive development of machine-checked proofs.
+
+Typical applications include the certification of properties of
+programming languages (e.g. the CompCert compiler certification
+project, or the Bedrock verified low-level programming library), the
+formalization of mathematics (e.g. the full formalization of the
+Feit-Thompson theorem or homotopy type theory) and teaching.
+
+This package is a virtual package gathering the rocq-core and rocq-stdlib packages."""
path: packages/rocq-prover/rocq-prover.9.0.0/opam
user: login: mattam82
body: The `(allow-empty)` in the repo's dune-project does not seem to affect this correctly...
created_at: 2025-03-18T14:23:08Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,54 @@
+opam-version: "2.0"
+synopsis: "The Rocq Prover with Stdlib"
+description: """
+The Rocq Prover is an interactive theorem prover, or proof assistant. It provides
+a formal language to write mathematical definitions, executable
+algorithms and theorems together with an environment for
+semi-interactive development of machine-checked proofs.
+
+Typical applications include the certification of properties of
+programming languages (e.g. the CompCert compiler certification
+project, or the Bedrock verified low-level programming library), the
+formalization of mathematics (e.g. the full formalization of the
+Feit-Thompson theorem or homotopy type theory) and teaching.
+
+This package is a virtual package gathering the rocq-core and rocq-stdlib packages."""
path: packages/rocq-prover/rocq-prover.9.0.0/opam
user: login: proux01
body: I guess we'll have to tweak the *.opam.template files once more.
created_at: 2025-03-18T14:31:45Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,16 @@
+opam-version: "2.0"
+synopsis: "Compatibility metapackage for Coq after the Rocq renaming"
+maintainer: ["The Rocq development team <coqdev@inria.fr>"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://coq.inria.fr/"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/coq/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "rocq-prover" {= version}
+  "coq-core" {= version}
+  "coq-stdlib" {= "9.0.0"}
+  "coqide-server" {= version}
+  "odoc" {with-doc}
+]
path: packages/coq/coq.9.0.0/opam
user: login: mseri
body: Don't you want to add also a post install message to the coq* packages that inform the users of the renaming?
created_at: 2025-03-19T14:16:40Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,16 @@
+opam-version: "2.0"
+synopsis: "Compatibility metapackage for Coq after the Rocq renaming"
+maintainer: ["The Rocq development team <coqdev@inria.fr>"]
+authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
+license: "LGPL-2.1-only"
+homepage: "https://coq.inria.fr/"
+doc: "https://coq.github.io/doc/"
+bug-reports: "https://github.com/coq/coq/issues"
+depends: [
+  "dune" {>= "3.8"}
+  "rocq-prover" {= version}
+  "coq-core" {= version}
+  "coq-stdlib" {= "9.0.0"}
+  "coqide-server" {= version}
+  "odoc" {with-doc}
+]
path: packages/coq/coq.9.0.0/opam
user: login: mattam82
body: Good point. It's now in coq-core, which really includes compat binaries and is installed by the other "fake" compat packages.
created_at: 2025-03-19T20:04:35Z
author_association: CONTRIBUTOR

PR comments:
user: login: SkySkimmer
created_at: 2025-03-13T08:25:15Z
body: The "lower bounds" jobs are failing on ocaml 5.x
This may be related to whatever the ocamlfind changelog means by "1.9.6:: Support for OCaml-5 (as far as foreseeable) (David Allsopp)" as we see CI downgrade ocamlfind 1.9.8 to 1.9.5 (we advertise compatibility with ocamlfind down to 1.8.1 but I guess some other bound stops it from downgrading that low, on ocaml 4.09 it did downgrade to 1.8.1)
author_association: CONTRIBUTOR
user: login: mattam82
created_at: 2025-03-13T08:34:47Z
body: > This is also missing a `coq` metapackage, something along the lines
> 
> ```
> synopsis: "Compatibility metapackage for Coq after the Rocq renaming"
> maintainer: ["The Rocq development team <coqdev@inria.fr>"]
> authors: ["The Rocq development team, INRIA, CNRS, and contributors"]
> license: "LGPL-2.1-only"
> homepage: "https://coq.inria.fr/"
> doc: "https://coq.github.io/doc/"
> bug-reports: "https://github.com/coq/coq/issues"
> depends: [
>   "rocq-prover" {= version}
>   "coq-core" {= version}
>   "coq-stdlib" {= "9.0.0"}
>   "coqide-server" {= version}
> ]
> dev-repo: "git+https://github.com/coq/coq.git"
> ```
> 
> as well as the `coqide-server` package.

There are in a separate PR (along with rocqide) to not slow down this one, i.e. #27614 
author_association: CONTRIBUTOR
user: login: proux01
created_at: 2025-03-13T08:39:15Z
body: > There are in a separate PR (along with rocqide) to not slow down this one, i.e. #27614

Why not but coqide-server is usually ok, since it does not depend from lablgtk.

author_association: CONTRIBUTOR
user: login: mattam82
created_at: 2025-03-13T08:45:17Z
body: > > There are in a separate PR (along with rocqide) to not slow down this one, i.e. #27614
> 
> Why not but coqide-server is usually ok, since it does not depend from lablgtk.

Oh right, I missed that.
author_association: CONTRIBUTOR
user: login: mattam82
created_at: 2025-03-13T11:02:16Z
body: The ocaml-ci problems with "no-source" are similar to https://github.com/ocaml/opam-repository/pull/27237 , for our compatibility metapackages that do not build or install anything by themselves.
author_association: CONTRIBUTOR
user: login: mattam82
created_at: 2025-03-17T21:16:46Z
body: Now rebased on revdeps fix
author_association: CONTRIBUTOR
user: login: mattam82
created_at: 2025-03-18T08:15:12Z
body: AFAICT this is ready
author_association: CONTRIBUTOR
user: login: mattam82
created_at: 2025-03-18T08:46:44Z
body: @mseri if you don't mind, is there anything I can do to make this go forward? The frama-c failures look unrelated to me.
author_association: CONTRIBUTOR
user: login: mattam82
created_at: 2025-03-19T10:44:25Z
body: @mseri the remaining failures are unrelated AFAICT
author_association: CONTRIBUTOR
user: login: proux01
created_at: 2025-03-19T12:06:15Z
body: And the lint warning/errors are false positive:
* Warning in rocq-stdlib.9.0.0: The package has a dune-project file but no explicit dependency on dune was found.
  -> it isn't compiled with dune, so no dune dependency (it's just that the library can be optionally compiled with dune, hence contain a dune file for interested users)
* Error in rocq-prover.9.0.0: No package source directory provided.
* Error in coq-stdlib.9.0.0: No package source directory provided.
* Error in coq.9.0.0: No package source directory provided.
  -> these are metapackages, with just dependencies (I don't know of any way to tell this to opam to avoid the lint error)

author_association: CONTRIBUTOR
user: login: mseri
created_at: 2025-03-19T14:15:31Z
body: That's all right. The lint is for the most common scenarios, sometimes there are exceptions
author_association: MEMBER
user: login: mseri
created_at: 2025-03-20T09:24:57Z
body: Thanks!
author_association: MEMBER