# Copyright (c) 2019-2024, NVIDIA CORPORATION.

{% set version = environ['RAPIDS_PACKAGE_VERSION'].lstrip('v') + environ.get('VERSION_SUFFIX', '') %}
{% set minor_version = version.split('.')[0] + '.' + version.split('.')[1] %}
{% set cuda_version = '.'.join(environ['RAPIDS_CUDA_VERSION'].split('.')[:2]) %}
{% set cuda_major = cuda_version.split('.')[0] %}
{% set date_string = environ['RAPIDS_DATE_STRING'] %}

package:
  name: libwholegraph-split

source:
  path: ../../..

build:
  script_env:
    - AWS_ACCESS_KEY_ID
    - AWS_SECRET_ACCESS_KEY
    - AWS_SESSION_TOKEN
    - BUILD_ABI
    - CMAKE_C_COMPILER_LAUNCHER
    - CMAKE_CUDA_COMPILER_LAUNCHER
    - CMAKE_CXX_COMPILER_LAUNCHER
    - CMAKE_GENERATOR
    - PARALLEL_LEVEL
    - SCCACHE_BUCKET
    - SCCACHE_IDLE_TIMEOUT
    - SCCACHE_REGION
    - SCCACHE_S3_KEY_PREFIX=libwholegraph-aarch64 # [aarch64]
    - SCCACHE_S3_KEY_PREFIX=libwholegraph-linux64 # [linux64]
    - SCCACHE_S3_USE_SSL
    - SCCACHE_S3_NO_CREDENTIALS

# Here we duplicate the dependencies so conda will populate both _build_env
# and _h_env_placeholder directories. This is needed to run clang-tidy.
# We need both build and host, or conda will only use _h_env_placeholder
# directory, which is removed after a build. Having only _build_env is not
# enough as CMake will not search for dependencies in this directory.
# This needs to be removed once CI support from sources builds
requirements:
  build:
    - {{ compiler('c') }}
    - {{ compiler('cxx') }}
    {% if cuda_major == "11" %}
    - {{ compiler('cuda11') }} ={{ cuda_version }}
    {% else %}
    - {{ compiler('cuda') }}
    {% endif %}
    - cuda-version ={{ cuda_version }}
    - cmake {{ cmake_version }}
    - ninja
    - {{ stdlib("c") }}
  host:
    {% if cuda_major == "11" %}
    - cudatoolkit
    {% else %}
    - cuda-cudart-dev
    - cuda-nvml-dev
    - cuda-driver-dev
    {% endif %}
    - cuda-version ={{ cuda_version }}
    - doxygen {{ doxygen_version }}
    - libraft ={{ minor_version }}
    - libraft-headers ={{ minor_version }}
    - librmm ={{ minor_version }}
    - nccl {{ nccl_version }}


outputs:
  - name: libwholegraph
    version: {{ version }}
    script: install_libwholegraph.sh
    build:
      number: {{ GIT_DESCRIBE_NUMBER }}
      string: cuda{{ cuda_major }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }}
      ignore_run_exports_from:
        {% if cuda_major == "11" %}
        - {{ compiler('cuda11') }}
        {% else %}
        - {{ compiler('cuda') }}
        - cuda-cudart-dev
        {% endif %}
    requirements:
      build:
        - cmake {{ cmake_version }}
      host:
        - cuda-version ={{ cuda_version }}
        {% if cuda_major != "11" %}
        - cuda-cudart-dev
        - cuda-driver-dev
        {% endif %}
      run:
        - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }}
        {% if cuda_major == "11" %}
        - cudatoolkit
        {% else %}
        - cuda-cudart
        {% endif %}
        - libraft ={{ minor_version }}
        - nccl {{ nccl_version }}
    about:
      home: https://rapids.ai/
      license: Apache-2.0
      license_file: ../../../LICENSE
      summary: libwholegraph library
  - name: libwholegraph-tests
    version: {{ version }}
    script: install_libwholegraph_tests.sh
    build:
      number: {{ GIT_DESCRIBE_NUMBER }}
      string: cuda{{ cuda_major }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }}
      ignore_run_exports_from:
        {% if cuda_major == "11" %}
        - {{ compiler('cuda11') }}
        {% else %}
        - {{ compiler('cuda') }}
        - cuda-cudart-dev
        {% endif %}
    requirements:
      build:
        - cmake {{ cmake_version }}
      host:
        - cuda-version ={{ cuda_version }}
        {% if cuda_major != "11" %}
        - cuda-cudart-dev
        - cuda-driver-dev
        {% endif %}
      run:
        - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }}
        - {{ pin_subpackage('libwholegraph', exact=True) }}
        {% if cuda_major == "11" %}
        - cudatoolkit
        {% else %}
        - cuda-cudart
        {% endif %}
    about:
      home: https://rapids.ai/
      license: Apache-2.0
      license_file: ../../../LICENSE
      summary: libwholegraph tests
