mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-09-21 04:28:40 +03:00
libclc: fix cross
This commit is contained in:
parent
99a83b4964
commit
ab036e45ac
@ -1,9 +1,4 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, ninja, cmake, python3, llvmPackages, spirv-llvm-translator }:
|
{ lib, stdenv, fetchFromGitHub, buildPackages, ninja, cmake, python3, llvm_14 }:
|
||||||
|
|
||||||
let
|
|
||||||
llvm = llvmPackages.llvm;
|
|
||||||
clang-unwrapped = llvmPackages.clang-unwrapped;
|
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libclc";
|
pname = "libclc";
|
||||||
@ -17,22 +12,37 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
sourceRoot = "source/libclc";
|
sourceRoot = "source/libclc";
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
# cmake expects all required binaries to be in the same place, so it will not be able to find clang without the patch
|
# cmake expects all required binaries to be in the same place, so it will not be able to find clang without the patch
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace CMakeLists.txt \
|
substituteInPlace CMakeLists.txt \
|
||||||
--replace 'find_program( LLVM_CLANG clang PATHS ''${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH )' \
|
--replace 'find_program( LLVM_CLANG clang PATHS ''${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH )' \
|
||||||
'find_program( LLVM_CLANG clang PATHS "${clang-unwrapped}/bin" NO_DEFAULT_PATH )' \
|
'find_program( LLVM_CLANG clang PATHS "${buildPackages.clang_14.cc}/bin" NO_DEFAULT_PATH )' \
|
||||||
|
--replace 'find_program( LLVM_AS llvm-as PATHS ''${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH )' \
|
||||||
|
'find_program( LLVM_AS llvm-as PATHS "${buildPackages.llvm_14}/bin" NO_DEFAULT_PATH )' \
|
||||||
|
--replace 'find_program( LLVM_LINK llvm-link PATHS ''${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH )' \
|
||||||
|
'find_program( LLVM_LINK llvm-link PATHS "${buildPackages.llvm_14}/bin" NO_DEFAULT_PATH )' \
|
||||||
|
--replace 'find_program( LLVM_OPT opt PATHS ''${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH )' \
|
||||||
|
'find_program( LLVM_OPT opt PATHS "${buildPackages.llvm_14}/bin" NO_DEFAULT_PATH )' \
|
||||||
--replace 'find_program( LLVM_SPIRV llvm-spirv PATHS ''${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH )' \
|
--replace 'find_program( LLVM_SPIRV llvm-spirv PATHS ''${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH )' \
|
||||||
'find_program( LLVM_SPIRV llvm-spirv PATHS "${spirv-llvm-translator}/bin" NO_DEFAULT_PATH )'
|
'find_program( LLVM_SPIRV llvm-spirv PATHS "${buildPackages.spirv-llvm-translator}/bin" NO_DEFAULT_PATH )'
|
||||||
|
'' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
||||||
|
substituteInPlace CMakeLists.txt \
|
||||||
|
--replace 'COMMAND prepare_builtins' 'COMMAND ${buildPackages.libclc.dev}/bin/prepare_builtins'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ninja python3 spirv-llvm-translator ];
|
nativeBuildInputs = [ cmake ninja python3 ];
|
||||||
buildInputs = [ llvm clang-unwrapped ];
|
buildInputs = [ llvm_14 ];
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DCMAKE_INSTALL_INCLUDEDIR=include"
|
"-DCMAKE_INSTALL_INCLUDEDIR=include"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
install -Dt $dev/bin prepare_builtins
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
broken = stdenv.isDarwin;
|
broken = stdenv.isDarwin;
|
||||||
homepage = "http://libclc.llvm.org/";
|
homepage = "http://libclc.llvm.org/";
|
||||||
|
@ -21501,9 +21501,7 @@ with pkgs;
|
|||||||
|
|
||||||
libcint = callPackage ../development/libraries/libcint { };
|
libcint = callPackage ../development/libraries/libcint { };
|
||||||
|
|
||||||
libclc = callPackage ../development/libraries/libclc {
|
libclc = callPackage ../development/libraries/libclc { };
|
||||||
llvmPackages = llvmPackages_14;
|
|
||||||
};
|
|
||||||
|
|
||||||
libcli = callPackage ../development/libraries/libcli { };
|
libcli = callPackage ../development/libraries/libcli { };
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user