diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-05-10 12:11:25 +0000 |
---|---|---|
committer | Yureka <yuka@yuka.dev> | 2023-05-19 09:18:41 +0200 |
commit | ab036e45ac19e29b2fa914bc04e1e7318a3f8861 (patch) | |
tree | c64d1f2821f5478a4e2a89a767f2b2bcc57553c4 | |
parent | 99a83b49645c59a8ffed79b164909c1e75507015 (diff) | |
download | nixpkgs-ab036e45ac19e29b2fa914bc04e1e7318a3f8861.tar nixpkgs-ab036e45ac19e29b2fa914bc04e1e7318a3f8861.tar.gz nixpkgs-ab036e45ac19e29b2fa914bc04e1e7318a3f8861.tar.bz2 nixpkgs-ab036e45ac19e29b2fa914bc04e1e7318a3f8861.tar.lz nixpkgs-ab036e45ac19e29b2fa914bc04e1e7318a3f8861.tar.xz nixpkgs-ab036e45ac19e29b2fa914bc04e1e7318a3f8861.tar.zst nixpkgs-ab036e45ac19e29b2fa914bc04e1e7318a3f8861.zip |
libclc: fix cross
-rw-r--r-- | pkgs/development/libraries/libclc/default.nix | 30 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 4 |
2 files changed, 21 insertions, 13 deletions
diff --git a/pkgs/development/libraries/libclc/default.nix b/pkgs/development/libraries/libclc/default.nix index 7f1580bd107..1db2819a57b 100644 --- a/pkgs/development/libraries/libclc/default.nix +++ b/pkgs/development/libraries/libclc/default.nix @@ -1,9 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, ninja, cmake, python3, llvmPackages, spirv-llvm-translator }: - -let - llvm = llvmPackages.llvm; - clang-unwrapped = llvmPackages.clang-unwrapped; -in +{ lib, stdenv, fetchFromGitHub, buildPackages, ninja, cmake, python3, llvm_14 }: stdenv.mkDerivation rec { pname = "libclc"; @@ -17,22 +12,37 @@ stdenv.mkDerivation rec { }; 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 postPatch = '' substituteInPlace CMakeLists.txt \ --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 )' \ - '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 ]; - buildInputs = [ llvm clang-unwrapped ]; + nativeBuildInputs = [ cmake ninja python3 ]; + buildInputs = [ llvm_14 ]; strictDeps = true; cmakeFlags = [ "-DCMAKE_INSTALL_INCLUDEDIR=include" ]; + postInstall = '' + install -Dt $dev/bin prepare_builtins + ''; + meta = with lib; { broken = stdenv.isDarwin; homepage = "http://libclc.llvm.org/"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ef40c123234..f9cab498754 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21501,9 +21501,7 @@ with pkgs; libcint = callPackage ../development/libraries/libcint { }; - libclc = callPackage ../development/libraries/libclc { - llvmPackages = llvmPackages_14; - }; + libclc = callPackage ../development/libraries/libclc { }; libcli = callPackage ../development/libraries/libcli { }; |