about summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules/llvm
diff options
context:
space:
mode:
authorAndrew Childs <lorne@cons.org.nz>2020-10-15 17:23:57 +0900
committerJohn Ericson <John.Ericson@Obsidian.Systems>2021-04-30 05:41:00 +0000
commit7869d1654517c028aa76fc1dedc9b5ac301a867a (patch)
tree28385e3d35074ace1c036e5bee5b7aa3d684059d /pkgs/development/ocaml-modules/llvm
parent17a8c9c4bfd9042b92b1d07d638a3dc1157b11d4 (diff)
downloadnixlib-7869d1654517c028aa76fc1dedc9b5ac301a867a.tar
nixlib-7869d1654517c028aa76fc1dedc9b5ac301a867a.tar.gz
nixlib-7869d1654517c028aa76fc1dedc9b5ac301a867a.tar.bz2
nixlib-7869d1654517c028aa76fc1dedc9b5ac301a867a.tar.lz
nixlib-7869d1654517c028aa76fc1dedc9b5ac301a867a.tar.xz
nixlib-7869d1654517c028aa76fc1dedc9b5ac301a867a.tar.zst
nixlib-7869d1654517c028aa76fc1dedc9b5ac301a867a.zip
llvmPackages: Multuple outputs for everythting
Also begin to start work on cross compilation, though that will have to
be finished later.

The patches are based on the first version of
https://reviews.llvm.org/D99484. It's very annoying to do the
back-porting but the review has uncovered nothing super major so I'm
fine sticking with what I've got.

Beyond making the outputs work, I also strove to re-sync the packages,
as they have been drifting pointlessly apart for some time.

----

Other misc notes, highly incomplete

- lvm-config-native and llvm-config are put in `dev` because they are
  tools just for build time.

- Clang no longer has an lld dep. That was introduced in
  db29857eb391ed002046090851a44c452b80bdbd, but if clang needs help
  finding lld when it is used we should just pass it flags / put in the
  resource dir. Providing it at build time increases critical path
  length for no good reason.

----

A note on `nativeCC`:

`stdenv` takes tools from the previous stage, so:

1. `pkgsBuildBuild`: `(?1, x, x)`
2. `pkgsBuildBuild.stdenv.cc`: `(?0, ?1, x)`

while:

1. `pkgsBuildBuild`: `(?1, x, x)`
2. `pkgsBuildBuild.targetPackages`: `(x, x, ?2)`
3. `pkgsBuildBuild.targetPackages.stdenv.cc`: `(?1, x, x)`
Diffstat (limited to 'pkgs/development/ocaml-modules/llvm')
-rw-r--r--pkgs/development/ocaml-modules/llvm/default.nix14
1 files changed, 7 insertions, 7 deletions
diff --git a/pkgs/development/ocaml-modules/llvm/default.nix b/pkgs/development/ocaml-modules/llvm/default.nix
index 34fe75a2943f..f984a28869e1 100644
--- a/pkgs/development/ocaml-modules/llvm/default.nix
+++ b/pkgs/development/ocaml-modules/llvm/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, lib, fetchpatch, python, cmake, llvm, ocaml, findlib, ctypes }:
+{ stdenv, lib, fetchpatch, python, cmake, libllvm, ocaml, findlib, ctypes }:
 
-let version = lib.getVersion llvm; in
+let version = lib.getVersion libllvm; in
 
 stdenv.mkDerivation {
   pname = "ocaml-llvm";
   inherit version;
 
-  inherit (llvm) src;
+  inherit (libllvm) src;
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ python ocaml findlib ctypes ];
-  propagatedBuildInputs = [ llvm ];
+  propagatedBuildInputs = [ libllvm ];
 
   patches = [ (fetchpatch {
     url = "https://raw.githubusercontent.com/ocaml/opam-repository/2bdc193f5a9305ea93bf0f0dfc1fbc327c8b9306/packages/llvm/llvm.7.0.0/files/fix-shared.patch";
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   cmakeFlags = [
     "-DLLVM_OCAML_OUT_OF_TREE=TRUE"
     "-DLLVM_OCAML_INSTALL_PATH=${placeholder "out"}/ocaml"
-    "-DLLVM_OCAML_EXTERNAL_LLVM_LIBDIR=${lib.getLib llvm}/lib"
+    "-DLLVM_OCAML_EXTERNAL_LLVM_LIBDIR=${lib.getLib libllvm}/lib"
   ];
 
   buildFlags = [ "ocaml_all" ];
@@ -34,11 +34,11 @@ stdenv.mkDerivation {
   '';
 
   passthru = {
-    inherit llvm;
+    inherit libllvm;
   };
 
   meta = {
-    inherit (llvm.meta) license homepage;
+    inherit (libllvm.meta) license homepage;
     platforms = ocaml.meta.platforms or [];
     description = "OCaml bindings distributed with LLVM";
     maintainers = with lib.maintainers; [ vbgl ];