|
|
|
@ -1,4 +1,4 @@ |
|
|
|
|
{ stdenv, python, llvm, ocaml, findlib, ctypes }: |
|
|
|
|
{ stdenv, fetchpatch, python, cmake, llvm, ocaml, findlib, ctypes }: |
|
|
|
|
|
|
|
|
|
let version = stdenv.lib.getVersion llvm; in |
|
|
|
|
|
|
|
|
@ -7,21 +7,23 @@ stdenv.mkDerivation { |
|
|
|
|
|
|
|
|
|
inherit (llvm) src; |
|
|
|
|
|
|
|
|
|
buildInputs = [ python llvm ocaml findlib ctypes ]; |
|
|
|
|
buildInputs = [ python cmake llvm ocaml findlib ctypes ]; |
|
|
|
|
|
|
|
|
|
configurePhase = '' |
|
|
|
|
mkdir build |
|
|
|
|
cd build |
|
|
|
|
../configure --disable-compiler-version-checks --prefix=$out \ |
|
|
|
|
--disable-doxygen --disable-docs --with-ocaml-libdir=$OCAMLFIND_DESTDIR/llvm \ |
|
|
|
|
--enable-static |
|
|
|
|
''; |
|
|
|
|
patches = [ (fetchpatch { |
|
|
|
|
url = https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/llvm/llvm.3.9/files/cmake.patch; |
|
|
|
|
sha256 = "1fcc6ylfiw1npdhx7mrsj7h0dx7cym7i9664kpr76zqazb52ikm9"; |
|
|
|
|
})]; |
|
|
|
|
|
|
|
|
|
enableParallelBuilding = false; |
|
|
|
|
cmakeFlags = [ "-DLLVM_OCAML_OUT_OF_TREE=TRUE" ]; |
|
|
|
|
|
|
|
|
|
makeFlags = [ "-C bindings" "SYSTEM_LLVM_CONFIG=llvm-config" ]; |
|
|
|
|
buildFlags = "ocaml_all"; |
|
|
|
|
|
|
|
|
|
installFlags = "-C bindings/ocaml"; |
|
|
|
|
|
|
|
|
|
postInstall = '' |
|
|
|
|
mv $out/lib/ocaml $out/ocaml |
|
|
|
|
mkdir -p $OCAMLFIND_DESTDIR/ |
|
|
|
|
mv $out/ocaml $OCAMLFIND_DESTDIR/llvm |
|
|
|
|
mv $OCAMLFIND_DESTDIR/llvm/META{.llvm,} |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|