{
lib,
buildDunePackage,
fetchFromGitHub,
ocaml,
cppo,
}:
buildDunePackage rec {
version = "1.2";
pname = "ocplib-endian";
src = fetchFromGitHub {
owner = "OCamlPro";
repo = "ocplib-endian";
rev = version;
sha256 = "sha256-THTlhOfXAPaqTt1qBkht+D67bw6M175QLvXoUMgjks4=";
};
postPatch = lib.optionalString (lib.versionAtLeast ocaml.version "5.0") ''
substituteInPlace src/dune \
--replace "(libraries bytes)" "" \
--replace "libraries ocplib_endian bigarray bytes" "libraries ocplib_endian"
'';
minimalOCamlVersion = "4.03";
nativeBuildInputs = [ cppo ];
meta = with lib; {
description = "Optimised functions to read and write int16/32/64";
homepage = "https://github.com/OCamlPro/ocplib-endian";
license = licenses.lgpl21;
maintainers = with maintainers; [ vbgl ];
}