commits
Prepare v3.5.2
add x-maintenance-intent to opam file
Fix compilation on OCaml 5.0 without ocamlfind installed
Hide alphabet internals
Change [Base64.alphabet] to return the string representation of the
alphabet instead of leaking the internal array.
Remove indirect dependency on ocamlfind
Select `unsafe.ml` with just dune rules
It is not necessary to use configurator to select a file depending on
the OCaml version. This pattern looks like this:
- a `config.exe` program (with no dependencies) checks
`Sys.ocaml_version` (`scanf` will only look at the beginning of the
string, so no need to parse the patch version etc) and just outputs
the name of the file to copy
- a rule links a file name to the output of `config.exe`
- a rule copies the content of that file to `unsafe.ml`
Specifying a dependency as `(dep x)` will make `dune` trying to compile
`x` in the current workspace context. It already knows that `(run ./x)` needs
to be run on the host context, so that's enough to make that work.
Be more strict about padding
Use %caml_bytes_set16u when it's available (with dune-configurator)
opam: remove the 'build' directive on dune dependency
See https://github.com/ocaml/opam-repository/pull/14266
[Base64_rfc2045.decode] should always progresses
Currently [Base64_rfc2045.decode] will get stuck on many errors, this fixes it to always make forward progress and to only discard 1 character, as often the next character will allow forward progress.
Minor documentation fixes
Revert "introduce conflicts with extlib, both define the base64 module"
Prepare v3.5.2
It is not necessary to use configurator to select a file depending on
the OCaml version. This pattern looks like this:
- a `config.exe` program (with no dependencies) checks
`Sys.ocaml_version` (`scanf` will only look at the beginning of the
string, so no need to parse the patch version etc) and just outputs
the name of the file to copy
- a rule links a file name to the output of `config.exe`
- a rule copies the content of that file to `unsafe.ml`