59 lines
1.3 KiB
Nix
59 lines
1.3 KiB
Nix
{
|
|
lib,
|
|
buildDunePackage,
|
|
ocaml,
|
|
fetchurl,
|
|
ctypes,
|
|
result,
|
|
alcotest,
|
|
file,
|
|
}:
|
|
|
|
buildDunePackage rec {
|
|
pname = "luv";
|
|
version = "0.5.12";
|
|
|
|
minimalOCamlVersion = "4.03";
|
|
|
|
src = fetchurl {
|
|
url = "https://github.com/aantron/luv/releases/download/${version}/luv-${version}.tar.gz";
|
|
sha256 = "sha256-dp9qCIYqSdROIAQ+Jw73F3vMe7hnkDe8BgZWImNMVsA=";
|
|
};
|
|
|
|
patches = [
|
|
# backport of patch to fix incompatible pointer type. remove next update
|
|
# https://github.com/aantron/luv/commit/ad7f953fccb8732fe4eb9018556e8d4f82abf8f2
|
|
./incompatible-pointer-type-fix.diff
|
|
];
|
|
|
|
postConfigure = ''
|
|
for f in src/c/vendor/configure/{ltmain.sh,configure}; do
|
|
substituteInPlace "$f" --replace /usr/bin/file file
|
|
done
|
|
'';
|
|
|
|
nativeBuildInputs = [ file ];
|
|
propagatedBuildInputs = [
|
|
ctypes
|
|
result
|
|
];
|
|
checkInputs = [ alcotest ];
|
|
# Alcotest depends on fmt that needs 4.08 or newer
|
|
doCheck = lib.versionAtLeast ocaml.version "4.08";
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/aantron/luv";
|
|
description = "Binding to libuv: cross-platform asynchronous I/O";
|
|
# MIT-licensed, extra licenses apply partially to libuv vendor
|
|
license = with licenses; [
|
|
mit
|
|
bsd2
|
|
bsd3
|
|
cc-by-sa-40
|
|
];
|
|
maintainers = with maintainers; [
|
|
locallycompact
|
|
sternenseemann
|
|
];
|
|
};
|
|
}
|