diff --git a/.ci_support/migrations/cuda118.yaml b/.ci_support/migrations/cuda118.yaml deleted file mode 100644 index fdd298b9..00000000 --- a/.ci_support/migrations/cuda118.yaml +++ /dev/null @@ -1,99 +0,0 @@ -migrator_ts: 1692828152 -__migrator: - kind: - version - migration_number: - 1 - build_number: - 1 - paused: false - override_cbc_keys: - - cuda_compiler_stub - operation: key_add - check_solvable: false - primary_key: cuda_compiler_version - ordering: - cxx_compiler_version: - - 9 - - 8 - - 7 - c_compiler_version: - - 9 - - 8 - - 7 - fortran_compiler_version: - - 9 - - 8 - - 7 - docker_image: - # Native builds - - quay.io/condaforge/linux-anvil-comp7 # [os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-aarch64 # [os.environ.get("BUILD_PLATFORM") == "linux-aarch64"] - - quay.io/condaforge/linux-anvil-ppc64le # [os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"] - - quay.io/condaforge/linux-anvil-armv7l # [os.environ.get("BUILD_PLATFORM") == "linux-armv7l"] - - # Legacy CUDAs - - quay.io/condaforge/linux-anvil-cuda:9.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:10.0 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:10.1 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:10.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:11.0 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:11.1 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - # CUDA 11.2 - - quay.io/condaforge/linux-anvil-cuda:11.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - # CUDA 11.2 arch: native compilation (build == target) - - quay.io/condaforge/linux-anvil-ppc64le-cuda:11.2 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"] - - quay.io/condaforge/linux-anvil-aarch64-cuda:11.2 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-aarch64"] - # CUDA 11.2 arch: cross-compilation (build != target) - - quay.io/condaforge/linux-anvil-cuda:11.2 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:11.2 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - # CUDA 11.8 - - quay.io/condaforge/linux-anvil-cuda:11.8 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - # CUDA 11.8 arch: native compilation (build == target) - - quay.io/condaforge/linux-anvil-ppc64le-cuda:11.8 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"] - - quay.io/condaforge/linux-anvil-aarch64-cuda:11.8 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-aarch64"] - # CUDA 11.8 arch: cross-compilation (build != target) - - quay.io/condaforge/linux-anvil-cuda:11.8 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:11.8 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - # Native CentOS 7 image - - quay.io/condaforge/linux-anvil-cos7-x86_64 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - cuda_compiler_version: - - None - - 10.2 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 11.0 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 11.1 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 11.2 # [(linux or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 11.8 # [(linux or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 12.0 # [(linux or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - commit_message: | - Rebuild for CUDA 11.8 w/arch support - -cuda_compiler: # [(linux or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - nvcc # [(linux or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - -cuda_compiler_version: # [(linux or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 11.8 # [(linux or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - -c_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 11 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - -cxx_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 11 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - -fortran_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 11 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - -cdt_name: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - cos7 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - -docker_image: # [os.environ.get("BUILD_PLATFORM", "").startswith("linux-") and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - quay.io/condaforge/linux-anvil-cuda:11.8 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] - # case: native compilation (build == target) - - quay.io/condaforge/linux-anvil-ppc64le-cuda:11.8 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"] - - quay.io/condaforge/linux-anvil-aarch64-cuda:11.8 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-aarch64"] - # case: cross-compilation (build != target) - - quay.io/condaforge/linux-anvil-cuda:11.8 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-64"] - - quay.io/condaforge/linux-anvil-cuda:11.8 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] diff --git a/.gitignore b/.gitignore index c89ecb7d..179afe55 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,24 @@ -*.pyc +# User content belongs under recipe/. +# Feedstock configuration goes in `conda-forge.yml` +# Everything else is managed by the conda-smithy rerender process. +# Please do not modify + +# Ignore all files and folders in root +* +!/conda-forge.yml + +# Don't ignore any files/folders if the parent folder is 'un-ignored' +# This also avoids warnings when adding an already-checked file with an ignored parent. +!/**/ +# Don't ignore any files/folders recursively in the following folders +!/recipe/** +!/.ci_support/** -build_artifacts +# Since we ignore files/folders recursively, any folders inside +# build_artifacts gets ignored which trips some build systems. +# To avoid that we 'un-ignore' all files/folders recursively +# and only ignore the root build_artifacts folder. +!/build_artifacts/** +/build_artifacts + +*.pyc diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 0d41f313..1899838a 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -34,9 +34,9 @@ CONDARC export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=4 + pip mamba conda-build conda-forge-ci-setup=4 mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=4 + pip mamba conda-build conda-forge-ci-setup=4 # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -57,12 +57,6 @@ if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" fi -if [[ "${sha:-}" == "" ]]; then - pushd ${FEEDSTOCK_ROOT} - sha=$(git rev-parse HEAD) - popd -fi - if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" @@ -74,7 +68,7 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index db9a6e29..a16e7e79 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -21,6 +21,12 @@ if [ -z ${FEEDSTOCK_NAME} ]; then export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) fi +if [[ "${sha:-}" == "" ]]; then + pushd "${FEEDSTOCK_ROOT}" + sha=$(git rev-parse HEAD) + popd +fi + docker info # In order for the conda-build process in the container to write to the mounted diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 3431a672..acc9c4c1 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -26,9 +26,9 @@ export CONDA_SOLVER="libmamba" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=4 + pip mamba conda-build conda-forge-ci-setup=4 mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=4 + pip mamba conda-build conda-forge-ci-setup=4 @@ -81,7 +81,7 @@ else EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi - conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ + conda build ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index e5d5a9ba..8415a8c6 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -24,7 +24,7 @@ set "CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1" :: Provision the necessary dependencies to build the recipe later echo Installing dependencies -mamba.exe install "python=3.10" pip mamba conda-build boa conda-forge-ci-setup=4 -c conda-forge --strict-channel-priority --yes +mamba.exe install "python=3.10" pip mamba conda-build conda-forge-ci-setup=4 -c conda-forge --strict-channel-priority --yes if !errorlevel! neq 0 exit /b !errorlevel! :: Set basic configuration @@ -55,7 +55,7 @@ call :end_group :: Build the recipe echo Building recipe -conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% if !errorlevel! neq 0 exit /b !errorlevel! :: Prepare some environment variables for the upload step diff --git a/conda-forge.yml b/conda-forge.yml index 2bf11158..684910c8 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -6,7 +6,10 @@ build_platform: channel_priority: flexible conda_build: pkg_format: '2' +conda_build_tool: conda-build conda_forge_output_validation: false +conda_install_tool: mamba +conda_solver: libmamba github: branch_name: main tooling_branch_name: main diff --git a/recipe/0001-conda-Unbundle-libxgboost.-dll-dylib-so.patch b/recipe/0001-conda-Unbundle-libxgboost.-dll-dylib-so.patch deleted file mode 100644 index 4534c74c..00000000 --- a/recipe/0001-conda-Unbundle-libxgboost.-dll-dylib-so.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/python-package/xgboost/libpath.py b/python-package/xgboost/libpath.py -index f7a7d9cd..70d73626 100644 ---- a/python-package/xgboost/libpath.py -+++ b/python-package/xgboost/libpath.py -@@ -29,7 +29,10 @@ def find_lib_path() -> List[str]: - # option. - os.path.join(sys.prefix, 'lib'), - ] -- -+ if sys.platform == 'win32': -+ dll_path = [os.path.join(sys.prefix, 'Library', 'mingw-w64', 'bin')] -+ else: -+ dll_path = [os.path.join(sys.prefix, 'lib')] - if sys.platform == 'win32': - if platform.architecture()[0] == '64bit': - dll_path.append( diff --git a/recipe/0002-Enable-latest-libcxx-on-MacOS.patch b/recipe/0002-Enable-latest-libcxx-on-MacOS.patch new file mode 100644 index 00000000..0951d0ec --- /dev/null +++ b/recipe/0002-Enable-latest-libcxx-on-MacOS.patch @@ -0,0 +1,25 @@ +From 59ac1090da5ba692238f4baf87d46a4c81b9282c Mon Sep 17 00:00:00 2001 +From: Hyunsu Cho +Date: Wed, 1 Nov 2023 01:01:34 -0700 +Subject: [PATCH] Enable latest libcxx on MacOS + +--- + R-package/src/Makevars.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/R-package/src/Makevars.in b/R-package/src/Makevars.in +index 9e7cbfed..8b3af0ae 100644 +--- a/R-package/src/Makevars.in ++++ b/R-package/src/Makevars.in +@@ -7,7 +7,7 @@ CXX_STD = CXX17 + + XGB_RFLAGS = -DXGBOOST_STRICT_R_MODE=1 -DDMLC_LOG_BEFORE_THROW=0\ + -DDMLC_ENABLE_STD_THREAD=$(ENABLE_STD_THREAD) -DDMLC_DISABLE_STDIN=1\ +- -DDMLC_LOG_CUSTOMIZE=1 ++ -DDMLC_LOG_CUSTOMIZE=1 -D_LIBCPP_DISABLE_AVAILABILITY + + # disable the use of thread_local for 32 bit windows: + ifeq ($(R_OSTYPE)$(WIN),windows) +-- +2.25.1 + diff --git a/recipe/0003-Use-mingw-w64-path.patch b/recipe/0003-Use-mingw-w64-path.patch new file mode 100644 index 00000000..9afa6b05 --- /dev/null +++ b/recipe/0003-Use-mingw-w64-path.patch @@ -0,0 +1,41 @@ +From 8007af85d3dab8369fbb89234e33ebb06d58dca6 Mon Sep 17 00:00:00 2001 +From: Hyunsu Cho +Date: Wed, 1 Nov 2023 08:47:29 -0700 +Subject: [PATCH] Use mingw-w64 path + +--- + python-package/packager/nativelib.py | 3 +++ + python-package/xgboost/libpath.py | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/python-package/packager/nativelib.py b/python-package/packager/nativelib.py +index 9d3fec2b..74942f42 100644 +--- a/python-package/packager/nativelib.py ++++ b/python-package/packager/nativelib.py +@@ -140,6 +140,9 @@ def locate_or_build_libxgboost( + sys_prefix / "Library", + sys_prefix / "Library" / "bin", + sys_prefix / "Library" / "lib", ++ sys_prefix / "Library" / "mingw-w64", ++ sys_prefix / "Library" / "mingw-w64" / "bin", ++ sys_prefix / "Library" / "mingw-w64" / "lib", + ] + sys_prefix_candidates = [ + p.expanduser().resolve() for p in sys_prefix_candidates +diff --git a/python-package/xgboost/libpath.py b/python-package/xgboost/libpath.py +index 58c78df0..92d46a0b 100644 +--- a/python-package/xgboost/libpath.py ++++ b/python-package/xgboost/libpath.py +@@ -38,6 +38,9 @@ def find_lib_path() -> List[str]: + os.path.join(sys.base_prefix, "Library"), + os.path.join(sys.base_prefix, "Library", "bin"), + os.path.join(sys.base_prefix, "Library", "lib"), ++ os.path.join(sys.base_prefix, "Library", "mingw-w64"), ++ os.path.join(sys.base_prefix, "Library", "mingw-w64", "bin"), ++ os.path.join(sys.base_prefix, "Library", "mingw-w64", "lib"), + ] + ) + dll_path = [os.path.join(p, "xgboost.dll") for p in dll_path] +-- +2.25.1 + diff --git a/recipe/build.sh b/recipe/build.sh index 4532f4fe..a6c28671 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -4,9 +4,17 @@ set -exuo pipefail mkdir -p build-target +XGB_CMAKE_ARGS=() + +if [[ "$target_platform" == osx-* ]] +then + XGB_CMAKE_ARGS=(-DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp -I${PREFIX}/include" -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp -I${PREFIX}/include" -DOpenMP_C_LIB_NAMES=libomp -DOpenMP_CXX_LIB_NAMES=libomp -DOpenMP_libomp_LIBRARY=${PREFIX}/lib/libomp.dylib ${XGB_CMAKE_ARGS[@]+"${XGB_CMAKE_ARGS[@]}"} ) +fi + + if [[ ${cuda_compiler_version} != "None" ]]; then - export CMAKE_ARGS="-DUSE_CUDA=ON -DUSE_NCCL=ON -DBUILD_WITH_SHARED_NCCL=ON ${CMAKE_ARGS}" - export CMAKE_ARGS="-DBUILD_WITH_CUDA_CUB=ON -DPLUGIN_RMM=ON ${CMAKE_ARGS}" + XGB_CMAKE_ARGS=(-DUSE_CUDA=ON -DUSE_NCCL=ON -DBUILD_WITH_SHARED_NCCL=ON ${XGB_CMAKE_ARGS[@]+"${XGB_CMAKE_ARGS[@]}"} ) + XGB_CMAKE_ARGS=(-DBUILD_WITH_CUDA_CUB=ON -DPLUGIN_RMM=ON ${XGB_CMAKE_ARGS[@]+"${XGB_CMAKE_ARGS[@]}"} ) fi # Limit number of threads used to avoid hardware oversubscription @@ -15,11 +23,12 @@ if [[ "${target_platform}" == "linux-aarch64" ]] || [[ "${target_platform}" == " fi pushd build-target -cmake ${CMAKE_ARGS} \ +cmake ${CMAKE_ARGS} ${XGB_CMAKE_ARGS[@]+"${XGB_CMAKE_ARGS[@]}"} \ -GNinja \ -DCMAKE_BUILD_TYPE:STRING="Release" \ -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \ -DCMAKE_INSTALL_PREFIX:PATH="${PREFIX}" \ + -DCMAKE_CXX_FLAGS="-D_LIBCPP_DISABLE_AVAILABILITY" \ "${SRC_DIR}" cmake --build . --config Release popd diff --git a/recipe/install-py-xgboost.sh b/recipe/install-py-xgboost.sh index 91e08668..ee992d49 100644 --- a/recipe/install-py-xgboost.sh +++ b/recipe/install-py-xgboost.sh @@ -1,5 +1,5 @@ #!/bin/bash pushd ${SRC_DIR}/python-package - ${PYTHON} setup.py install --use-system-libxgboost --single-version-externally-managed --record=record.txt + ${PYTHON} -m pip install . -vv --config-settings use_system_libxgboost=True popd diff --git a/recipe/install-r-xgboost.sh b/recipe/install-r-xgboost.sh index 07651ce2..00c7aab0 100644 --- a/recipe/install-r-xgboost.sh +++ b/recipe/install-r-xgboost.sh @@ -5,5 +5,5 @@ pushd ${SRC_DIR}/R-package # This file is only used for windows compilation from github # It will be replaced with Makevars.in for the CRAN version # rm src/Makevars.win - ${R} CMD INSTALL --preclean --build . ${R_ARGS} + ${R} CMD INSTALL --preclean --build . --configure-args="CXXFLAGS=-D_LIBCPP_DISABLE_AVAILABILITY" ${R_ARGS} popd diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 132829ea..497feb79 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,6 +1,6 @@ {% set name = "xgboost" %} -{% set version = "1.7.6" %} -{% set build_number = 8 %} +{% set version = "2.0.3" %} +{% set build_number = 1 %} package: name: xgboost-split @@ -13,11 +13,9 @@ source: git_tag: v{{ version }} patches: # xgboost patches - - 0001-conda-Unbundle-libxgboost.-dll-dylib-so.patch - 0001-Force-endian-flag-in-cross-compilation-mode.patch # [arm64 or aarch64 or ppc64le] - - 0002-Use-static-cudart.patch - # xref: https://github.com/dmlc/xgboost/pull/9602 - - 0003-numpy-ndarray-check.patch + - 0002-Enable-latest-libcxx-on-MacOS.patch # [osx] + - 0003-Use-mingw-w64-path.patch build: number: {{ build_number }} @@ -64,7 +62,7 @@ outputs: - librmm # [linux and cuda_compiler != "None"] run: {% if (cuda_compiler_version or "").startswith("11") %} - - cuda-version >={{ 11.2 }},<12 + - cuda-version >=11.2,<12 {% endif %} run_constrained: - {{ pin_compatible('librmm', max_pin='x.x') }} # [linux and cuda_compiler != "None"] @@ -73,21 +71,30 @@ outputs: script: install-py-xgboost.sh # [not win] script: install-win-wrapper.bat # [win] build: - string: rapidsai_py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} + noarch: python + string: rapidsai_pyh{{ PKG_HASH }}_{{ PKG_BUILDNUM }} force_use_keys: - librmm # [linux and cuda_compiler != "None"] + script_env: + # Workaround an upstream conda-build issue w/pip & `outputs` by setting env vars manually. + # xref: https://github.com/conda/conda-build/issues/3993 + - PIP_NO_BUILD_ISOLATION=False + - PIP_NO_DEPENDENCIES=True + - PIP_IGNORE_INSTALLED=True + - PIP_CACHE_DIR=pip_cache + - PIP_NO_INDEX=True requirements: build: - python # [build_platform != target_platform] - cross-python_{{ target_platform }} # [build_platform != target_platform] host: - - {{ pin_subpackage('libxgboost', max_pin="x.x.x.x.x.x") }} + - {{ pin_subpackage('libxgboost', max_pin='x.x.x') }} - libxgboost =*=rapidsai_h*_{{ PKG_BUILDNUM }} - python - - setuptools + - hatchling >=1.12.1 - pip run: - - {{ pin_subpackage('libxgboost', max_pin="x.x.x.x.x.x") }} + - {{ pin_subpackage('libxgboost', max_pin='x.x.x') }} - libxgboost =*=rapidsai_h*_{{ PKG_BUILDNUM }} - python - numpy @@ -100,7 +107,7 @@ outputs: - name: xgboost build: - string: rapidsai_py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} + string: rapidsai_pyh{{ PKG_HASH }}_{{ PKG_BUILDNUM }} force_use_keys: - librmm # [linux and cuda_compiler != "None"] requirements: @@ -141,7 +148,7 @@ outputs: - r-jsonlite # [build_platform != target_platform] - r-knitr # [build_platform != target_platform] host: - - {{ pin_subpackage('libxgboost', max_pin="x.x.x.x.x.x") }} + - {{ pin_subpackage('libxgboost', max_pin='x.x.x') }} - libxgboost =*=rapidsai_h*_{{ PKG_BUILDNUM }} - r-base - r-matrix @@ -150,7 +157,7 @@ outputs: - r-jsonlite - r-knitr run: - - {{ pin_subpackage('libxgboost', max_pin="x.x.x.x.x.x") }} + - {{ pin_subpackage('libxgboost', max_pin='x.x.x') }} - libxgboost =*=rapidsai_h*_{{ PKG_BUILDNUM }} - r-base - r-matrix