forked from mirrors/nixpkgs
1526d916ab
9a778368f2
"move destdir creation to installPhase" moved directory
creation to preInstallHooks and exposed a bug in ocaml_libvirt:
```
ocaml-libvirt> ocamlfind install -ldconf ignore libvirt \
ocaml-libvirt> ../META *.so *.a *.cma *.cmx *.cmxa *.cmi *.mli
ocaml-libvirt> ocamlfind: Bad configuration: Cannot mkdir
/nix/store/...aml-libvirt-0.6.1.5/lib/ocaml/4.12.0/site-lib/libvirt
because a path component does not exist or is not a directory
ocaml-libvirt> make[1]: *** [Makefile:134: install-opt] Error 2
```
The change restore pre/post phases by overriding build targets instead
of overriding full phases.
35 lines
945 B
Nix
35 lines
945 B
Nix
{ lib, stdenv, fetchFromGitLab, libvirt, autoreconfHook, pkg-config, ocaml, findlib, perl }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "ocaml-libvirt";
|
|
version = "0.6.1.5";
|
|
|
|
src = fetchFromGitLab {
|
|
owner = "libvirt";
|
|
repo = "libvirt-ocaml";
|
|
rev = "v${version}";
|
|
sha256 = "0xpkdmknk74yqxgw8z2w8b7ss8hpx92xnab5fsqg2byyj55gzf2k";
|
|
};
|
|
|
|
propagatedBuildInputs = [ libvirt ];
|
|
|
|
nativeBuildInputs = [ autoreconfHook pkg-config findlib perl ];
|
|
|
|
buildInputs = [ ocaml ];
|
|
|
|
buildFlags = [ "all" "opt" "CPPFLAGS=-Wno-error" ];
|
|
installTargets = "install-opt";
|
|
preInstall = ''
|
|
# Fix 'dllmllibvirt.so' install failure into non-existent directory.
|
|
mkdir -p $OCAMLFIND_DESTDIR/stublibs
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "OCaml bindings for libvirt";
|
|
homepage = "https://libvirt.org/ocaml/";
|
|
license = licenses.gpl2;
|
|
maintainers = [ maintainers.volth ];
|
|
platforms = ocaml.meta.platforms or [];
|
|
};
|
|
}
|