···11+opam-version: "2.0"
22+synopsis: "A library to create dunolint configs"
33+maintainer: ["Mathieu Barbin <opensource@mbarbin.org>"]
44+authors: ["Mathieu Barbin"]
55+license: "LGPL-3.0-or-later WITH LGPL-3.0-linking-exception"
66+homepage: "https://github.com/mbarbin/dunolint"
77+doc: "https://mbarbin.github.io/dunolint/"
88+bug-reports: "https://github.com/mbarbin/dunolint/issues"
99+depends: [
1010+ "dune" {>= "3.17"}
1111+ "ocaml" {>= "5.3"}
1212+ "base" {>= "v0.17"}
1313+ "dune-glob" {>= "3.17"}
1414+ "fpath-base" {>= "0.2.2"}
1515+ "ppx_compare" {>= "v0.17"}
1616+ "ppx_enumerate" {>= "v0.17"}
1717+ "ppx_hash" {>= "v0.17"}
1818+ "ppx_here" {>= "v0.17"}
1919+ "ppx_let" {>= "v0.17"}
2020+ "ppx_sexp_conv" {>= "v0.17"}
2121+ "ppx_sexp_value" {>= "v0.17"}
2222+ "ppxlib" {>= "0.35.0"}
2323+ "re" {>= "1.8.0"}
2424+ "sexplib0" {>= "v0.17"}
2525+ "odoc" {with-doc}
2626+]
2727+build: [
2828+ ["dune" "subst"] {dev}
2929+ [
3030+ "dune"
3131+ "build"
3232+ "-p"
3333+ name
3434+ "-j"
3535+ jobs
3636+ "@install"
3737+ "@runtest" {with-test}
3838+ "@doc" {with-doc}
3939+ ]
4040+]
4141+dev-repo: "git+https://github.com/mbarbin/dunolint.git"
4242+description: """\
4343+4444+[dunolint] is a set of OCaml libraries and a cli tool to lint and help
4545+manage files in (large) dune projects.
4646+4747+[dunolint-lib] is the package you need as a user to define a dunolint
4848+config, without pulling all the dependencies required by the linter
4949+engine and command line.
5050+5151+It defines a configuration language in which you can express linting
5252+invariants for your projects. The tool will enforce these invariants,
5353+applying global and systematic changes automatically when able, and
5454+help with general ergonomics questions.
5555+5656+For example: "I want for all libs in this subdirectory to enable
5757+`bisect_ppx`, please go patch my dune files". Or, "I would like all
5858+libraries that verify this particular predicate to supply the ppx flag
5959+`-unused-code-warnings=force`", and more.
6060+6161+You can setup [dunolint] as part of your CI checks to help enforcing
6262+properties and linting checks going forward.
6363+6464+"""
6565+tags: [ "dune" "linter" ]
6666+x-maintenance-intent: [ "(latest)" ]
6767+url {
6868+ src:
6969+ "https://github.com/mbarbin/dunolint/releases/download/0.0.20250310/dunolint-0.0.20250310.tbz"
7070+ checksum: [
7171+ "sha256=b44119c96aeabb960e852711c2f20ae43f0011e796f05e012141ba980a5b58f6"
7272+ "sha512=5bf76732adc940db6cac0875e94c3eaff436288faba95388b9675c68b3f30f5362e01f289fc8a096325f7db812ace273773a1e051ab7d7ace3b8db4a57a0e070"
7373+ ]
7474+}
7575+x-commit-hash: "8c0c34d8f7c250aff52881a2fe25569488c8dbf5"
+76
packages/dunolint/dunolint.0.0.20250310/opam
···11+opam-version: "2.0"
22+synopsis: "A linter for build files in dune projects"
33+maintainer: ["Mathieu Barbin <opensource@mbarbin.org>"]
44+authors: ["Mathieu Barbin"]
55+license: "LGPL-3.0-or-later WITH LGPL-3.0-linking-exception"
66+homepage: "https://github.com/mbarbin/dunolint"
77+doc: "https://mbarbin.github.io/dunolint/"
88+bug-reports: "https://github.com/mbarbin/dunolint/issues"
99+depends: [
1010+ "dune" {>= "3.17"}
1111+ "ocaml" {>= "5.3"}
1212+ "base" {>= "v0.17"}
1313+ "cmdlang" {>= "0.0.9"}
1414+ "dunolint-lib" {= version}
1515+ "file-rewriter" {>= "0.0.3"}
1616+ "fmt" {>= "0.9.0"}
1717+ "fpath" {>= "0.7.3"}
1818+ "fpath-base" {>= "0.2.2"}
1919+ "fpath-sexp0" {>= "0.2.2"}
2020+ "loc" {>= "0.2.2"}
2121+ "logs" {>= "0.7.0"}
2222+ "parsexp" {>= "v0.17"}
2323+ "patdiff" {>= "v0.17"}
2424+ "pp" {>= "2.0.0"}
2525+ "pplumbing" {>= "0.0.10"}
2626+ "ppx_compare" {>= "v0.17"}
2727+ "ppx_enumerate" {>= "v0.17"}
2828+ "ppx_hash" {>= "v0.17"}
2929+ "ppx_here" {>= "v0.17"}
3030+ "ppx_let" {>= "v0.17"}
3131+ "ppx_sexp_conv" {>= "v0.17"}
3232+ "ppx_sexp_value" {>= "v0.17"}
3333+ "ppxlib" {>= "0.35.0"}
3434+ "sexplib0" {>= "v0.17"}
3535+ "sexps-rewriter" {>= "0.0.3"}
3636+ "stdio" {>= "v0.17"}
3737+ "odoc" {with-doc}
3838+]
3939+build: [
4040+ ["dune" "subst"] {dev}
4141+ [
4242+ "dune"
4343+ "build"
4444+ "-p"
4545+ name
4646+ "-j"
4747+ jobs
4848+ "@install"
4949+ "@runtest" {with-test}
5050+ "@doc" {with-doc}
5151+ ]
5252+]
5353+dev-repo: "git+https://github.com/mbarbin/dunolint.git"
5454+description: """\
5555+5656+[dunolint] is a set of OCaml libraries and a cli tool to lint and help
5757+manage files in (large) dune projects.
5858+5959+[dunolint] is the package that implements the linter engine for
6060+dunolint configs as well as the [dunolint] command line tool.
6161+6262+You may install it to get the [dunolint] cli, and/or if you want to
6363+use the linting libraries to write custom rewriters and linters.
6464+6565+"""
6666+tags: [ "dune" "linter" ]
6767+x-maintenance-intent: [ "(latest)" ]
6868+url {
6969+ src:
7070+ "https://github.com/mbarbin/dunolint/releases/download/0.0.20250310/dunolint-0.0.20250310.tbz"
7171+ checksum: [
7272+ "sha256=b44119c96aeabb960e852711c2f20ae43f0011e796f05e012141ba980a5b58f6"
7373+ "sha512=5bf76732adc940db6cac0875e94c3eaff436288faba95388b9675c68b3f30f5362e01f289fc8a096325f7db812ace273773a1e051ab7d7ace3b8db4a57a0e070"
7474+ ]
7575+}
7676+x-commit-hash: "8c0c34d8f7c250aff52881a2fe25569488c8dbf5"
+85
packages/pplumbing/pplumbing.0.0.10/opam
···11+opam-version: "2.0"
22+synopsis: "Utility libraries to use with [pp]"
33+maintainer: ["Mathieu Barbin <opensource@mbarbin.org>"]
44+authors: ["Mathieu Barbin"]
55+license: "MIT"
66+homepage: "https://github.com/mbarbin/pplumbing"
77+doc: "https://mbarbin.github.io/pplumbing/"
88+bug-reports: "https://github.com/mbarbin/pplumbing/issues"
99+depends: [
1010+ "dune" {>= "3.17"}
1111+ "ocaml" {>= "5.2"}
1212+ "cmdlang" {>= "0.0.9"}
1313+ "cmdlang-to-cmdliner" {>= "0.0.9"}
1414+ "cmdliner" {>= "1.3.0"}
1515+ "dyn" {>= "3.17"}
1616+ "fmt" {>= "0.9.0"}
1717+ "loc" {>= "0.2.2"}
1818+ "logs" {>= "0.7.0"}
1919+ "ordering" {>= "3.17"}
2020+ "pp" {>= "2.0.0"}
2121+ "sexplib0" {>= "v0.17"}
2222+ "stdune" {>= "3.17"}
2323+ "odoc" {with-doc}
2424+]
2525+build: [
2626+ ["dune" "subst"] {dev}
2727+ [
2828+ "dune"
2929+ "build"
3030+ "-p"
3131+ name
3232+ "-j"
3333+ jobs
3434+ "@install"
3535+ "@runtest" {with-test}
3636+ "@doc" {with-doc}
3737+ ]
3838+]
3939+dev-repo: "git+https://github.com/mbarbin/pplumbing.git"
4040+description: """\
4141+4242+[pplumbing] defines a set of utility libraries to use with [pp]. It
4343+is compatible with [logs] and inspired by design choices used by
4444+[dune] for user messages:
4545+4646+- [Pp_tty] extends [pp] to build colored documents in the user's
4747+ terminal using ansi escape codes.
4848+4949+- [Err] is an abstraction to report located errors and warnings to
5050+ the user.
5151+5252+- [Log] is an interface to [logs] using [Pp_tty] rather than [Format].
5353+5454+- [Log_cli] contains functions to work with [Err] on the side of end
5555+ programs (such as a command line tool). It defines command line
5656+ helpers to configure the [Err] library, while taking care of setting
5757+ the [logs] and [fmt] style rendering.
5858+5959+- [Cmdlang_cmdliner_runner] is a library for running command line
6060+ programs specified with [cmdlang] with [cmdliner] as a backend and
6161+ making opinionated choices, assuming your dependencies are using
6262+ [Err].
6363+6464+These libraries are meant to combine nicely into a small ecosystem of
6565+useful helpers to build CLIs in OCaml.
6666+6767+[cmdlang]: https://github.com/mbarbin/cmdlang
6868+[cmdliner]: https://github.com/dbuenzli/cmdliner
6969+[dune]: https://github.com/ocaml/dune
7070+[fmt]: https://github.com/dbuenzli/fmt
7171+[logs]: https://github.com/dbuenzli/logs
7272+[pp]: https://github.com/ocaml-dune/pp
7373+7474+"""
7575+tags: [ "cli" "cmdlang" "logs" "pp" ]
7676+x-maintenance-intent: [ "(latest)" ]
7777+url {
7878+ src:
7979+ "https://github.com/mbarbin/pplumbing/releases/download/0.0.10/pplumbing-0.0.10.tbz"
8080+ checksum: [
8181+ "sha256=17725f5fc34bab17168bb8dadca78b07e76aada6736617782af34d34ef0e7cc1"
8282+ "sha512=6b538f79a41dc43f6b8adca455972a0755ddbeb348f17442cb47a0eb3d72ef9bf630ffbe2e3634d66d1b44972ade7bf95e6b495c54bb219841cf8024b16b196d"
8383+ ]
8484+}
8585+x-commit-hash: "48fa979cbfad07d1111a09c01999560f20fd7f5c"