diff --git a/pkgs/development/ocaml-modules/llvm/default.nix b/pkgs/development/ocaml-modules/llvm/default.nix new file mode 100644 index 00000000000..57cf9fe4678 --- /dev/null +++ b/pkgs/development/ocaml-modules/llvm/default.nix @@ -0,0 +1,35 @@ +{ stdenv, python, llvm, ocaml, findlib, ctypes }: + +let version = stdenv.lib.getVersion llvm; in + +stdenv.mkDerivation { + name = "ocaml-llvm-${version}"; + + inherit (llvm) src; + + buildInputs = [ python llvm ocaml findlib ctypes ]; + + configurePhase = '' + mkdir build + cd build + ../configure CC=gcc CXX=g++ --disable-compiler-version-checks --prefix=$out \ + --disable-doxygen --disable-docs --with-ocaml-libdir=$OCAMLFIND_DESTDIR/llvm \ + --enable-static + ''; + + enableParallelBuilding = false; + + makeFlags = [ "-C bindings" "SYSTEM_LLVM_CONFIG=llvm-config" ]; + + postInstall = '' + mv $OCAMLFIND_DESTDIR/llvm/META{.llvm,} + ''; + + meta = { + inherit (llvm.meta) license homepage; + inherit (ocaml.meta) platforms; + description = "OCaml bindings distributed with LLVM"; + maintainers = with stdenv.lib.maintainers; [ vbgl ]; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8476d3cd37f..8a70dab70d5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4467,6 +4467,10 @@ let then callPackage ../development/ocaml-modules/lambda-term { } else lambdaTerm-1_6; + llvm = callPackage ../development/ocaml-modules/llvm { + llvm = pkgs.llvm_37; + }; + macaque = callPackage ../development/ocaml-modules/macaque { }; magic-mime = callPackage ../development/ocaml-modules/magic-mime { };