Skip to content

Commit

Permalink
Generate opam files with dune
Browse files Browse the repository at this point in the history
Signed-off-by: Sora Morimoto <[email protected]>
  • Loading branch information
smorimoto committed Apr 15, 2024
1 parent 0886b77 commit 1e4421d
Show file tree
Hide file tree
Showing 7 changed files with 205 additions and 106 deletions.
24 changes: 12 additions & 12 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,18 +111,18 @@ jobs:
- run: opam exec -- make ppx_let-test-deps ppx_let-test
if: ${{ matrix.ppx == true }}

lint-opam:
runs-on: ubuntu-latest
# lint-opam:
# runs-on: ubuntu-latest

steps:
- name: Checkout tree
uses: actions/checkout@v4
# steps:
# - name: Checkout tree
# uses: actions/checkout@v4

- name: Set-up OCaml
uses: ocaml/setup-ocaml@v2
with:
ocaml-compiler: "5.1"
allow-prerelease-opam: true
dune-cache: true
# - name: Set-up OCaml
# uses: ocaml/setup-ocaml@v2
# with:
# ocaml-compiler: "5.1"
# allow-prerelease-opam: true
# dune-cache: true

- uses: ocaml/setup-ocaml/lint-opam@v2
# - uses: ocaml/setup-ocaml/lint-opam@v2
60 changes: 59 additions & 1 deletion dune-project
Original file line number Diff line number Diff line change
@@ -1 +1,59 @@
(lang dune 1.8)
(lang dune 1.12)

(name lwt)

(generate_opam_files true)

(maintainers
"Raphaël Proust <[email protected]>"
"Anton Bachin <[email protected]>")
(authors "Jérôme Vouillon" "Jérémie Dimino")
(license MIT)
(source (github ocsigen/lwt))
(documentation "https://ocsigen.org/lwt")

(package
(name lwt_ppx_let)
(synopsis "Dummy package context for ppx_let tests")
(description "Internal package used to partition ppx_let tests.")
(depends
(ocaml (>= 4.08))
(ppx_let :with-test)
lwt))

(package
(name lwt_ppx)
(synopsis "PPX syntax for Lwt, providing something similar to async/await from JavaScript")
(depends
(ocaml (>= 4.08))
(ppxlib (>= 0.16.0))
lwt))

(package
(name lwt_react)
(synopsis "Helpers for using React with Lwt")
(depends
(ocaml (>= 4.08))
(cppo (and :build (>= 1.1.0)))
(lwt (>= 3.0.0))
(react (>= 1.0.0))))

(package
(name lwt)
(synopsis "Promises and event-driven I/O")
(description "A promise is a value that may become determined in the future.
Lwt provides typed, composable promises. Promises that are resolved by I/O are
resolved by Lwt in parallel.
Meanwhile, OCaml code, including code creating and waiting on promises, runs in
a single thread by default. This reduces the need for locks or other
synchronization primitives. Code can be run in parallel on an opt-in basis.
")
(depends
(ocaml (>= 4.08))
(cppo (and :build (>= 1.1.0)))
(ocamlfind (and :dev (>= 1.7.3-1)))
dune-configurator
ocplib-endian)
(depopts base-threads base-unix conf-libev))
79 changes: 41 additions & 38 deletions lwt.opam
Original file line number Diff line number Diff line change
@@ -1,52 +1,55 @@
# This file is generated by dune, edit dune-project instead
opam-version: "2.0"

synopsis: "Promises and event-driven I/O"
description: """
A promise is a value that may become determined in the future.

Lwt provides typed, composable promises. Promises that are resolved by I/O are
resolved by Lwt in parallel.

version: "5.7.0"
Meanwhile, OCaml code, including code creating and waiting on promises, runs in
a single thread by default. This reduces the need for locks or other
synchronization primitives. Code can be run in parallel on an opt-in basis.
"""
maintainer: [
"Raphaël Proust <[email protected]>" "Anton Bachin <[email protected]>"
]
authors: ["Jérôme Vouillon" "Jérémie Dimino"]
license: "MIT"
homepage: "https://github.com/ocsigen/lwt"
doc: "https://ocsigen.org/lwt"
bug-reports: "https://github.com/ocsigen/lwt/issues"

authors: [
"Jérôme Vouillon"
"Jérémie Dimino"
]
maintainer: [
"Raphaël Proust <[email protected]>"
"Anton Bachin <[email protected]>"
]
dev-repo: "git+https://github.com/ocsigen/lwt.git"

depends: [
"dune" {>= "1.12"}
"ocaml" {>= "4.08"}
"cppo" {build & >= "1.1.0"}
"dune" {>= "1.8.0"}
"ocamlfind" {dev & >= "1.7.3-1"}
"dune-configurator"
"ocaml" {>= "4.08"}
"ocplib-endian"

# Until https://github.com/aantron/bisect_ppx/pull/327.
# "bisect_ppx" {dev & >= "2.0.0"}
"ocamlfind" {dev & >= "1.7.3-1"}
]

depopts: [
"base-threads"
"base-unix"
"conf-libev"
]

depopts: ["base-threads" "base-unix" "conf-libev"]
dev-repo: "git+https://github.com/ocsigen/lwt.git"
build: [
["dune" "exec" "-p" name "src/unix/config/discover.exe" "--" "--save"
"--use-libev" "%{conf-libev:installed}%"]
["dune" "build" "-p" name "-j" jobs]
["dune" "subst"] {pinned}
[
"dune"
"exec"
"-p"
name
"src/unix/config/discover.exe"
"--"
"--save"
"--use-libev" "%{conf-libev:installed}%"
]
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]

description: "A promise is a value that may become determined in the future.

Lwt provides typed, composable promises. Promises that are resolved by I/O are
resolved by Lwt in parallel.

Meanwhile, OCaml code, including code creating and waiting on promises, runs in
a single thread by default. This reduces the need for locks or other
synchronization primitives. Code can be run in parallel on an opt-in basis."
24 changes: 24 additions & 0 deletions lwt.opam.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
build: [
["dune" "subst"] {pinned}
[
"dune"
"exec"
"-p"
name
"src/unix/config/discover.exe"
"--"
"--save"
"--use-libev" "%{conf-libev:installed}%"
]
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
41 changes: 23 additions & 18 deletions lwt_ppx.opam
Original file line number Diff line number Diff line change
@@ -1,28 +1,33 @@
# This file is generated by dune, edit dune-project instead
opam-version: "2.0"

synopsis: "PPX syntax for Lwt, providing something similar to async/await from JavaScript"

version: "2.1.0"
synopsis:
"PPX syntax for Lwt, providing something similar to async/await from JavaScript"
maintainer: [
"Raphaël Proust <[email protected]>" "Anton Bachin <[email protected]>"
]
authors: ["Jérôme Vouillon" "Jérémie Dimino"]
license: "MIT"
homepage: "https://github.com/ocsigen/lwt"
doc: "https://ocsigen.org/lwt/dev/api/Ppx_lwt"
doc: "https://ocsigen.org/lwt"
bug-reports: "https://github.com/ocsigen/lwt/issues"

authors: [
"Gabriel Radanne"
]
maintainer: [
"Anton Bachin <[email protected]>"
]
dev-repo: "git+https://github.com/ocsigen/lwt.git"

depends: [
"dune" {>= "1.8.0"}
"lwt"
"dune" {>= "1.12"}
"ocaml" {>= "4.08"}
"ppxlib" {>= "0.16.0"}
"lwt"
]

build: [
["dune" "build" "-p" name "-j" jobs]
["dune" "subst"] {pinned}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/ocsigen/lwt.git"
43 changes: 24 additions & 19 deletions lwt_ppx_let.opam
Original file line number Diff line number Diff line change
@@ -1,28 +1,33 @@
# This file is generated by dune, edit dune-project instead
opam-version: "2.0"

synopsis: "Dummy package context for ppx_let tests"

version: "5.7.0"
description: "Internal package used to partition ppx_let tests."
maintainer: [
"Raphaël Proust <[email protected]>" "Anton Bachin <[email protected]>"
]
authors: ["Jérôme Vouillon" "Jérémie Dimino"]
license: "MIT"
homepage: "https://github.com/ocsigen/lwt"
doc: "https://ocsigen.org/lwt"
bug-reports: "https://github.com/ocsigen/lwt/issues"

authors: [
"Jérôme Vouillon"
"Jérémie Dimino"
]
maintainer: [
"Raphaël Proust <[email protected]>"
"Anton Bachin <[email protected]>"
]
dev-repo: "git+https://github.com/ocsigen/lwt.git"

depends: [
"dune" {>= "1.8.0"}
"lwt"
"ppx_let" {with-test}
"dune" {>= "1.12"}
"ocaml" {>= "4.08"}
"ppx_let" {with-test}
"lwt"
]

description: "Internal package used to partition ppx_let tests."
build: [
["dune" "subst"] {pinned}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/ocsigen/lwt.git"
40 changes: 22 additions & 18 deletions lwt_react.opam
Original file line number Diff line number Diff line change
@@ -1,29 +1,33 @@
# This file is generated by dune, edit dune-project instead
opam-version: "2.0"

synopsis: "Helpers for using React with Lwt"

version: "1.2.0"
maintainer: [
"Raphaël Proust <[email protected]>" "Anton Bachin <[email protected]>"
]
authors: ["Jérôme Vouillon" "Jérémie Dimino"]
license: "MIT"
homepage: "https://github.com/ocsigen/lwt"
doc: "https://ocsigen.org/lwt/dev/api/Lwt_react"
doc: "https://ocsigen.org/lwt"
bug-reports: "https://github.com/ocsigen/lwt/issues"

authors: [
"Jérémie Dimino"
]
maintainer: [
"Anton Bachin <[email protected]>"
]
dev-repo: "git+https://github.com/ocsigen/lwt.git"

depends: [
"dune" {>= "1.8.0"}
"lwt" {>= "3.0.0"}
"dune" {>= "1.12"}
"ocaml" {>= "4.08"}
"react" {>= "1.0.0"}
"cppo" {build & >= "1.1.0"}
"lwt" {>= "3.0.0"}
"react" {>= "1.0.0"}
]

build: [
["dune" "build" "-p" name "-j" jobs]
["dune" "subst"] {pinned}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/ocsigen/lwt.git"

0 comments on commit 1e4421d

Please sign in to comment.