Skip to content

Upgrade the "lockfile" with all the most up-to-date dependencies available - #7116

Merged
kit-ty-kate merged 2 commits into
ocaml:masterfrom
kit-ty-kate:update-release-lockfile
Sep 1, 2026
Merged

Upgrade the "lockfile" with all the most up-to-date dependencies available#7116
kit-ty-kate merged 2 commits into
ocaml:masterfrom
kit-ty-kate:update-release-lockfile

Conversation

@kit-ty-kate

@kit-ty-kate kit-ty-kate commented Aug 31, 2026

Copy link
Copy Markdown
Member

Changes:

I noticed the C warnings fixed in the checkseum release while building the macOS binaries for 2.6.0~beta2

@kit-ty-kate kit-ty-kate added this to the 2.6.0~beta3 milestone Aug 31, 2026
@kit-ty-kate
kit-ty-kate force-pushed the update-release-lockfile branch 2 times, most recently from 935d61b to f8fa2e4 Compare August 31, 2026 17:37
@hannesm

hannesm commented Aug 31, 2026

Copy link
Copy Markdown
Member

excellent work!

@kit-ty-kate

Copy link
Copy Markdown
Member Author

@hannesm thanks for commenting, i had almost forgotten to update the OCaml compiler versions to 4.14.4 :D

  File "src_ext/decompress/lib/de.ml", line 4055, characters 20-30:
  4055 |   let _hash_magic = 0x9e3779b1 (* xxHash *)
                             ^^^^^^^^^^
  Error: Integer literal exceeds the range of representable integers of type int

@dinosaure does decompress not support 32bit platforms anymore?

@kit-ty-kate
kit-ty-kate force-pushed the update-release-lockfile branch 2 times, most recently from c1287ef to 80711f4 Compare August 31, 2026 18:30
@dinosaure

dinosaure commented Aug 31, 2026

Copy link
Copy Markdown

@dinosaure does decompress not support 32bit platforms anymore?

It's indeed the case due to my last upgrade (decompress.1.6.0), I can figure out (with optint) if it's really required to keep the support on 32-bits (I was probably too optimistic).

@kit-ty-kate

Copy link
Copy Markdown
Member Author

let _hash_magic = 0x9e3779b1 (* xxHash *)

doing a quick search yesterday on the why of this magic number i found out that it seems to be used exactly because it fits into 32bit ints. However since OCaml has 31bit ints it doesn't fit anymore. Why not use Int32.t or simply reduce the precision to something like 0x4f1bbcdc (aka. int_of_float ((sqrt 5. -. 1.) /. 2.) *. (2. ** 31.)) ?

@dinosaure

Copy link
Copy Markdown

Why not use Int32.t or simply reduce the precision to something like 0x4f1bbcdc (aka. int_of_float ((sqrt 5. -. 1.) /. 2.) *. (2. ** 31.)) ?

This part of decompress is about the deflation, use a boxed int32 value will probably slow down the deflation process (and how we fill/search on our internal hash table with patterns). We can probably give a try to an int32 and see if we can have a regression about the decompress's throughput.

For the global perspective, mirage/decompress#171 is basically the difference between the old zlib (which would like to keep a certain compatibility with really old computers) and zlib-ng. Tell me if you are interested by such experiment (we can also take 0x4f1bbcdc also).

@rjbou rjbou left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!
A tiny comment on first commit message. Proposal

- dune is not updated due to complications with OCaml 5.6 and
- ocaml/dune#15340
+ dune is not updated due to complications with OCaml 5.6 and
+ build on Cygwin issue (ocaml/dune#15340)

…lable

Changes:
- base64 removed support for OCaml < 4.07
- spdx_licenses upgraded to Version 3.28.0 of the SPDX License List
- menhir removed support for OCaml < 4.08 and fixed a couple of bugs
  that do not impact us
- patch fixed an issue arising with handwritten patches
  hannesm/patch#42
- checkseum fixed some C warnings on recent clang versions

dune is not updated due to complications with OCaml 5.6 and
build on Cygwin issue (ocaml/dune#15340)

decompress was not updated to a failure to compile on 32bit platforms
@kit-ty-kate

Copy link
Copy Markdown
Member Author

Ignoring the CI failure on Windows (#6890)

@kit-ty-kate
kit-ty-kate merged commit 5767fc3 into ocaml:master Sep 1, 2026
40 of 41 checks passed
@kit-ty-kate
kit-ty-kate deleted the update-release-lockfile branch September 1, 2026 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants