Unverified Commit 223afab3 authored by K900's avatar K900 Committed by GitHub
Browse files

Merge pull request #263956 from K900/llvm-packagening

libclc: absorb into llvmPackages
parents 6b05d328 e6cbaa94
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -309,6 +309,12 @@ in let
      extraBuildCommands = mkExtraBuildCommands0 cc;
    };

    # Has to be in tools despite mostly being a library,
    # because we use a native helper executable from a
    # non-cross build in cross builds.
    libclc = callPackage ./libclc {
      inherit buildLlvmTools;
    };
  });

  libraries = lib.makeExtensible (libraries: let
+14 −14
Original line number Diff line number Diff line
{ lib, stdenv, fetchFromGitHub, buildPackages, ninja, cmake, python3, llvm_14 }:
{ lib, stdenv, version, runCommand, monorepoSrc, llvm, buildPackages, buildLlvmTools, ninja, cmake, python3 }:

stdenv.mkDerivation rec {
  pname = "libclc";
  version = "16.0.3";
  inherit version;

  src = fetchFromGitHub {
    owner = "llvm";
    repo = "llvm-project";
    rev = "llvmorg-${version}";
    hash = "sha256-paWwnoU3XMqreRgh9JbT1tDMTwq/ZL0ss3SJTteEGL0=";
  };
  sourceRoot = "${src.name}/libclc";
  src = runCommand "${pname}-src-${version}" {} ''
    mkdir -p "$out"
    cp -r ${monorepoSrc}/cmake "$out"
    cp -r ${monorepoSrc}/${pname} "$out"
  '';

  sourceRoot = "${src.name}/${pname}";

  outputs = [ "out" "dev" ];

@@ -22,13 +22,13 @@ stdenv.mkDerivation rec {
  postPatch = ''
    substituteInPlace CMakeLists.txt \
      --replace 'find_program( LLVM_CLANG clang PATHS ''${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH )' \
                'find_program( LLVM_CLANG clang PATHS "${buildPackages.clang_14.cc}/bin" NO_DEFAULT_PATH )' \
                'find_program( LLVM_CLANG clang PATHS "${buildLlvmTools.clang.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 )' \
                'find_program( LLVM_AS llvm-as PATHS "${buildLlvmTools.llvm}/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 )' \
                'find_program( LLVM_LINK llvm-link PATHS "${buildLlvmTools.llvm}/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 )' \
                'find_program( LLVM_OPT opt PATHS "${buildLlvmTools.llvm}/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 "${buildPackages.spirv-llvm-translator}/bin" NO_DEFAULT_PATH )'
  '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
  '';

  nativeBuildInputs = [ cmake ninja python3 ];
  buildInputs = [ llvm_14 ];
  buildInputs = [ llvm ];
  strictDeps = true;

  postInstall = ''
+3 −4
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
, meson, pkg-config, ninja
, intltool, bison, flex, file, python3Packages, wayland-scanner
, expat, libdrm, xorg, wayland, wayland-protocols, openssl
, llvmPackages_15, libffi, libomxil-bellagio, libva-minimal
, llvmPackages_16, libffi, libomxil-bellagio, libva-minimal
, libelf, libvdpau
, libglvnd, libunwind, lm_sensors
, vulkan-loader, glslang
@@ -64,7 +64,6 @@
, enableOSMesa ? stdenv.isLinux
, enableOpenCL ? stdenv.isLinux && stdenv.isx86_64
, enablePatentEncumberedCodecs ? true
, libclc
, jdupes
, rustc
, rust-bindgen
@@ -95,7 +94,7 @@ let

  withLibdrm = lib.meta.availableOn stdenv.hostPlatform libdrm;

  llvmPackages = llvmPackages_15;
  llvmPackages = llvmPackages_16;
  # Align all the Mesa versions used. Required to prevent explosions when
  # two different LLVMs are loaded in the same process.
  # FIXME: these should really go into some sort of versioned LLVM package set
@@ -226,7 +225,7 @@ self = stdenv.mkDerivation {
    python3Packages.python # for shebang
  ] ++ lib.optionals haveWayland [ wayland wayland-protocols ]
    ++ lib.optionals stdenv.isLinux [ libomxil-bellagio libva-minimal udev lm_sensors ]
    ++ lib.optionals enableOpenCL [ libclc llvmPackages.clang llvmPackages.clang-unwrapped rustc rust-bindgen' spirv-llvm-translator' ]
    ++ lib.optionals enableOpenCL [ llvmPackages.libclc llvmPackages.clang llvmPackages.clang-unwrapped rustc rust-bindgen' spirv-llvm-translator' ]
    ++ lib.optional withValgrind valgrind-light
    ++ lib.optional haveZink vulkan-loader
    ++ lib.optional haveDozen directx-headers;
+1 −0
Original line number Diff line number Diff line
@@ -434,6 +434,7 @@ mapAliases ({
  libbencodetools = bencodetools; # Added 2022-07-30
  libbpf_1 = libbpf; # Added 2022-12-06
  libcap_pam = throw "'libcap_pam' has been replaced with 'libcap'"; # Converted to throw 2023-09-10
  libclc = llvmPackages_latest.libclc; # Added 2023-10-28
  libgme = game-music-emu; # Added 2022-07-20
  libgpgerror = libgpg-error; # Added 2021-09-04
  libheimdal = heimdal; # Added 2022-11-18
Loading