depot/third_party/nixpkgs/pkgs/by-name/ac/acgtk/package.nix

76 lines
1.5 KiB
Nix

{
lib,
stdenv,
fetchFromGitLab,
fetchpatch,
ocamlPackages,
}:
stdenv.mkDerivation {
pname = "acgtk";
version = "2.1.0";
src = fetchFromGitLab {
domain = "gitlab.inria.fr";
owner = "acg";
repo = "dev/acgtk";
tag = "release-2.1.0";
hash = "sha256-XuPcubt1lvnQio+km6MhmDu41NXNVXKKpzGd/Y1XzLo=";
};
# Compatibility with fmt 0.10.0
patches = [
(fetchpatch {
url = "https://gitlab.inria.fr/ACG/dev/ACGtk/-/commit/613454b376d10974f539ab398a269be061c5bc9c.patch";
hash = "sha256-l/V8oEgntnFtrhpTQSk7PkpaX+dBq4izG/tloCQRbDY=";
})
];
# Compatibility with logs 0.8.0
postPatch = ''
substituteInPlace src/utils/dune \
--replace-warn 'logs mtime' 'logs logs.fmt mtime'
'';
strictDeps = true;
nativeBuildInputs = with ocamlPackages; [
menhir
ocaml
findlib
dune_3
];
buildInputs = with ocamlPackages; [
ansiterminal
cairo2
cmdliner
fmt
logs
menhirLib
mtime
ocamlgraph
readline
sedlex
yojson
];
buildPhase = ''
runHook preBuild
dune build --profile=release ''${enableParallelBuilding:+-j $NIX_BUILD_CORES}
runHook postBuild
'';
installPhase = ''
dune install --prefix $out --libdir $OCAMLFIND_DESTDIR
'';
meta = with lib; {
homepage = "https://acg.loria.fr/";
description = "Toolkit for developing ACG signatures and lexicon";
license = licenses.cecill20;
inherit (ocamlPackages.ocaml.meta) platforms;
maintainers = [ maintainers.jirkamarsik ];
};
}