package hxd
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=7a1df20c5dd01b7dd9b5ffe2de7216b5989652ab325175512327a269ddedf3b9
sha512=348065400d96135c637fc09da71c60b9e6a21285f536e6634d9a46a84beda8c93bfd635515103e29af9696ea155ed6926ffeaf65f6f86b2c8d970633603561bf
Description
Please, help me to debug ocaml-git
Published: 29 Nov 2025
README
hxd - HeX Dump in OCaml
hxd is a little program to output a hexdump of a /xxd is to color outputs to be more fancy to read. Then, it provides a way to generate a Caml code which is a dump of inputs. This project was mostly done to be able to integrate dump of some sources (like ngrep) to an OCaml code - like dump of a smart flow (git protocol) to be able to write easily regression tests with small examples.
For a long time, I worked on several formats and protocols and it always a pain to read dump of something which is only machine-comprehensible. As a MirageOS project, core library is agnostic to the system.
hxd provides several ways to dump a source:
lib/is the core library which needs onlybigarraylib_lwt/is a library which can be used in a LWT contextlib_lwt_unix/usesLwt_io.channellib_string/needs only OCaml andbigarrayand provides a pretty-printer functionlib_unix/usesunixmodule
Examples
With:
$ hxd.xxd --color=always dump
Or a Caml output with $ hxd.caml --with-comments dump:
[
; "\x78\x01\x4b\xca\xc9\x4f\x52\x30\x35\x60\xd0\x48\xad\x48\x4d\x2e" (* x.K..OR05`.H.HM. *)
; "\x2d\x49\x4c\xca\x49\xe5\x52\xd0\xc8\x4b\xcc\x4d\x55\x48\x2b\xad" (* -IL.I.R..K.MUH+. *)
; "\xaa\xd2\x04\x72\x72\x32\x93\x8a\x12\x8b\x32\x53\x8b\x15\x32\x2a" (* ...rr2....2S..2. *)
; "\x52\x14\x92\x8b\xf2\xcb\x93\x12\x8b\x34\x35\x01\x2c\x48\x13\x4f" (* R........45.,H.O *)
]Repository has an OPAM package, so:
$ opam pin add hxd https://github.com/dinosaure/hxd.gitis enough to get this fabulous binary.
Dependencies (4)
-
cmdliner
>= "1.1.0" -
dune-configurator
>= "2.7" -
dune
>= "2.7" -
ocaml
>= "4.08.0"
Dev Dependencies
None
Used by (14)
-
carton
>= "0.4.3" & < "1.0.0" - carton-miou-unix
-
docteur
< "0.0.2" - docteur-solo5
-
duff
>= "0.4" -
git
>= "3.6.0" -
git-kv
!= "0.1.3" - hurl
- miou
-
mrmime
>= "0.4.0" -
sendmail
>= "0.11.0" - spoke
- tls-miou-unix
-
unstrctrd
>= "0.3"
Conflicts
None