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`
Fix support for x-compilation
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"
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`