Commit 5d2c1a96 authored by Gaetan Lepage's avatar Gaetan Lepage Committed by Gaétan Lepage
Browse files

catboost: format

parent 58cd045b
Loading
Loading
Loading
Loading
+60 −41
Original line number Diff line number Diff line
{ lib
, config
, fetchFromGitHub
, cmake
, cctools
, libiconv
, llvmPackages
, ninja
, openssl
, python3Packages
, ragel
, yasm
, zlib
, cudaSupport ? config.cudaSupport
, cudaPackages ? {}
, llvmPackages_12
, pythonSupport ? false
{
  lib,
  config,
  fetchFromGitHub,
  cmake,
  cctools,
  libiconv,
  llvmPackages,
  ninja,
  openssl,
  python3Packages,
  ragel,
  yasm,
  zlib,
  cudaSupport ? config.cudaSupport,
  cudaPackages ? { },
  llvmPackages_12,
  pythonSupport ? false,
}:
let
  inherit (llvmPackages) stdenv;
@@ -50,31 +51,46 @@ stdenv.mkDerivation (finalAttrs: {
    done
  '';

  outputs = [ "out" "dev" ];
  outputs = [
    "out"
    "dev"
  ];

  nativeBuildInputs = [
  nativeBuildInputs =
    [
      cmake
      llvmPackages.bintools
      ninja
      (python3Packages.python.withPackages (ps: with ps; [ six ]))
      ragel
      yasm
  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
    ]
    ++ lib.optionals stdenv.hostPlatform.isDarwin [
      cctools
  ] ++ lib.optionals cudaSupport (with cudaPackages; [
    ]
    ++ lib.optionals cudaSupport (
      with cudaPackages;
      [
        cuda_nvcc
  ]);
      ]
    );

  buildInputs = [
  buildInputs =
    [
      openssl
      zlib
  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
    ]
    ++ lib.optionals stdenv.hostPlatform.isDarwin [
      libiconv
  ] ++ lib.optionals cudaSupport (with cudaPackages; [
    ]
    ++ lib.optionals cudaSupport (
      with cudaPackages;
      [
        cuda_cudart
        cuda_cccl
        libcublas
  ]);
      ]
    );

  env = {
    # catboost requires clang 14+ for build, but does clang 12 for cuda build.
@@ -115,7 +131,10 @@ stdenv.mkDerivation (finalAttrs: {
    license = licenses.asl20;
    platforms = platforms.unix;
    homepage = "https://catboost.ai";
    maintainers = with maintainers; [ PlushBeaver natsukium ];
    maintainers = with maintainers; [
      PlushBeaver
      natsukium
    ];
    mainProgram = "catboost";
  };
})