diff --git a/dev/tasks/conda-recipes/.ci_support/linux_64_cuda_compiler_version11.2.yaml b/dev/tasks/conda-recipes/.ci_support/linux_64_c_compiler_version11c_stdlib_version2.17cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml similarity index 58% rename from dev/tasks/conda-recipes/.ci_support/linux_64_cuda_compiler_version11.2.yaml rename to dev/tasks/conda-recipes/.ci_support/linux_64_c_compiler_version11c_stdlib_version2.17cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml index 042e2364d1c..ceb5e3b4b87 100644 --- a/dev/tasks/conda-recipes/.ci_support/linux_64_cuda_compiler_version11.2.yaml +++ b/dev/tasks/conda-recipes/.ci_support/linux_64_c_compiler_version11c_stdlib_version2.17cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml @@ -1,13 +1,17 @@ aws_crt_cpp: -- 0.23.1 +- 0.26.10 aws_sdk_cpp: -- 1.11.156 +- 1.11.329 bzip2: - '1' c_compiler: - gcc c_compiler_version: -- '10' +- '11' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_name: - cos7 channel_sources: @@ -17,69 +21,54 @@ channel_targets: cuda_compiler: - nvcc cuda_compiler_version: -- '11.2' +- '11.8' cuda_compiler_version_min: -- '11.2' +- '11.8' cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' docker_image: -- quay.io/condaforge/linux-anvil-cuda:11.2 +- quay.io/condaforge/linux-anvil-cuda:11.8 gflags: - '2.2' glog: -- '0.6' -google_cloud_cpp: -- '2.12' +- '0.7' libabseil: -- '20230802' +- '20240116' +libgoogle_cloud_devel: +- '2.24' +libgoogle_cloud_storage_devel: +- '2.24' libgrpc: -- '1.57' +- '1.62' libprotobuf: -- 4.23.4 +- 4.25.3 lz4_c: - 1.9.3 -numpy: -- '1.22' -- '1.23' -- '1.22' -- '1.22' openssl: - '3' orc: -- 1.9.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.10.* *_cpython -- 3.11.* *_cpython -- 3.8.* *_cpython -- 3.9.* *_cpython +- 2.0.1 re2: -- 2023.03.02 +- 2023.09.01 snappy: -- '1' +- '1.2' target_platform: - linux-64 thrift_cpp: - 0.19.0 ucx: -- 1.14.0 +- 1.16.0 zip_keys: - - c_compiler_version - cxx_compiler_version + - c_stdlib_version + - cdt_name - cuda_compiler - cuda_compiler_version - - cdt_name - docker_image -- - libgrpc - - libprotobuf -- - python - - numpy zlib: -- '1.2' +- '1' zstd: - '1.5' diff --git a/dev/tasks/conda-recipes/.ci_support/linux_64_cuda_compiler_versionNone.yaml b/dev/tasks/conda-recipes/.ci_support/linux_64_c_compiler_version12c_stdlib_version2.12cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version12.yaml similarity index 66% rename from dev/tasks/conda-recipes/.ci_support/linux_64_cuda_compiler_versionNone.yaml rename to dev/tasks/conda-recipes/.ci_support/linux_64_c_compiler_version12c_stdlib_version2.12cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version12.yaml index 9885e6db38c..24cc88c5619 100644 --- a/dev/tasks/conda-recipes/.ci_support/linux_64_cuda_compiler_versionNone.yaml +++ b/dev/tasks/conda-recipes/.ci_support/linux_64_c_compiler_version12c_stdlib_version2.12cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version12.yaml @@ -1,13 +1,17 @@ aws_crt_cpp: -- 0.23.1 +- 0.26.10 aws_sdk_cpp: -- 1.11.156 +- 1.11.329 bzip2: - '1' c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' cdt_name: - cos6 channel_sources: @@ -19,7 +23,7 @@ cuda_compiler: cuda_compiler_version: - None cuda_compiler_version_min: -- '11.2' +- '11.8' cxx_compiler: - gxx cxx_compiler_version: @@ -29,57 +33,42 @@ docker_image: gflags: - '2.2' glog: -- '0.6' -google_cloud_cpp: -- '2.12' +- '0.7' libabseil: -- '20230802' +- '20240116' +libgoogle_cloud_devel: +- '2.24' +libgoogle_cloud_storage_devel: +- '2.24' libgrpc: -- '1.57' +- '1.62' libprotobuf: -- 4.23.4 +- 4.25.3 lz4_c: - 1.9.3 -numpy: -- '1.22' -- '1.23' -- '1.22' -- '1.22' openssl: - '3' orc: -- 1.9.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.10.* *_cpython -- 3.11.* *_cpython -- 3.8.* *_cpython -- 3.9.* *_cpython +- 2.0.1 re2: -- 2023.03.02 +- 2023.09.01 snappy: -- '1' +- '1.2' target_platform: - linux-64 thrift_cpp: - 0.19.0 ucx: -- 1.14.0 +- 1.16.0 zip_keys: - - c_compiler_version - cxx_compiler_version + - c_stdlib_version + - cdt_name - cuda_compiler - cuda_compiler_version - - cdt_name - docker_image -- - libgrpc - - libprotobuf -- - python - - numpy zlib: -- '1.2' +- '1' zstd: - '1.5' diff --git a/dev/tasks/conda-recipes/.ci_support/linux_aarch64_cuda_compiler_version11.2.yaml b/dev/tasks/conda-recipes/.ci_support/linux_aarch64_c_compiler_version10cuda_compiler_version11.8cxx_compiler_version10.yaml similarity index 62% rename from dev/tasks/conda-recipes/.ci_support/linux_aarch64_cuda_compiler_version11.2.yaml rename to dev/tasks/conda-recipes/.ci_support/linux_aarch64_c_compiler_version10cuda_compiler_version11.8cxx_compiler_version10.yaml index 788b584504e..9feafc59f66 100644 --- a/dev/tasks/conda-recipes/.ci_support/linux_aarch64_cuda_compiler_version11.2.yaml +++ b/dev/tasks/conda-recipes/.ci_support/linux_aarch64_c_compiler_version10cuda_compiler_version11.8cxx_compiler_version10.yaml @@ -1,15 +1,19 @@ BUILD: - aarch64-conda_cos7-linux-gnu aws_crt_cpp: -- 0.23.1 +- 0.26.10 aws_sdk_cpp: -- 1.11.156 +- 1.11.329 bzip2: - '1' c_compiler: - gcc c_compiler_version: - '10' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_arch: - aarch64 cdt_name: @@ -21,69 +25,54 @@ channel_targets: cuda_compiler: - nvcc cuda_compiler_version: -- '11.2' +- '11.8' cuda_compiler_version_min: -- '11.2' +- '11.8' cxx_compiler: - gxx cxx_compiler_version: - '10' docker_image: -- quay.io/condaforge/linux-anvil-cuda:11.2 +- quay.io/condaforge/linux-anvil-cuda:11.8 gflags: - '2.2' glog: -- '0.6' -google_cloud_cpp: -- '2.12' +- '0.7' libabseil: -- '20230802' +- '20240116' +libgoogle_cloud_devel: +- '2.24' +libgoogle_cloud_storage_devel: +- '2.24' libgrpc: -- '1.57' +- '1.62' libprotobuf: -- 4.23.4 +- 4.25.3 lz4_c: - 1.9.3 -numpy: -- '1.22' -- '1.23' -- '1.22' -- '1.22' openssl: - '3' orc: -- 1.9.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.10.* *_cpython -- 3.11.* *_cpython -- 3.8.* *_cpython -- 3.9.* *_cpython +- 2.0.1 re2: -- 2023.03.02 +- 2023.09.01 snappy: -- '1' +- '1.2' target_platform: - linux-aarch64 thrift_cpp: - 0.19.0 ucx: -- 1.14.0 +- 1.16.0 zip_keys: - - c_compiler_version - cxx_compiler_version + - c_stdlib_version + - cdt_name - cuda_compiler - cuda_compiler_version - - cdt_name - docker_image -- - libgrpc - - libprotobuf -- - python - - numpy zlib: -- '1.2' +- '1' zstd: - '1.5' diff --git a/dev/tasks/conda-recipes/.ci_support/linux_aarch64_cuda_compiler_versionNone.yaml b/dev/tasks/conda-recipes/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13.yaml similarity index 65% rename from dev/tasks/conda-recipes/.ci_support/linux_aarch64_cuda_compiler_versionNone.yaml rename to dev/tasks/conda-recipes/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13.yaml index a1e4b8571ab..aeeee8dbe7b 100644 --- a/dev/tasks/conda-recipes/.ci_support/linux_aarch64_cuda_compiler_versionNone.yaml +++ b/dev/tasks/conda-recipes/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13.yaml @@ -1,15 +1,19 @@ BUILD: - aarch64-conda_cos7-linux-gnu aws_crt_cpp: -- 0.23.1 +- 0.26.10 aws_sdk_cpp: -- 1.11.156 +- 1.11.329 bzip2: - '1' c_compiler: - gcc c_compiler_version: -- '12' +- '13' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_arch: - aarch64 cdt_name: @@ -23,67 +27,52 @@ cuda_compiler: cuda_compiler_version: - None cuda_compiler_version_min: -- '11.2' +- '11.8' cxx_compiler: - gxx cxx_compiler_version: -- '12' +- '13' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 gflags: - '2.2' glog: -- '0.6' -google_cloud_cpp: -- '2.12' +- '0.7' libabseil: -- '20230802' +- '20240116' +libgoogle_cloud_devel: +- '2.24' +libgoogle_cloud_storage_devel: +- '2.24' libgrpc: -- '1.57' +- '1.62' libprotobuf: -- 4.23.4 +- 4.25.3 lz4_c: - 1.9.3 -numpy: -- '1.22' -- '1.23' -- '1.22' -- '1.22' openssl: - '3' orc: -- 1.9.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.10.* *_cpython -- 3.11.* *_cpython -- 3.8.* *_cpython -- 3.9.* *_cpython +- 2.0.1 re2: -- 2023.03.02 +- 2023.09.01 snappy: -- '1' +- '1.2' target_platform: - linux-aarch64 thrift_cpp: - 0.19.0 ucx: -- 1.14.0 +- 1.16.0 zip_keys: - - c_compiler_version - cxx_compiler_version + - c_stdlib_version + - cdt_name - cuda_compiler - cuda_compiler_version - - cdt_name - docker_image -- - libgrpc - - libprotobuf -- - python - - numpy zlib: -- '1.2' +- '1' zstd: - '1.5' diff --git a/dev/tasks/conda-recipes/.ci_support/linux_ppc64le_cuda_compiler_version11.2.yaml b/dev/tasks/conda-recipes/.ci_support/linux_ppc64le_c_compiler_version10cuda_compiler_version11.8cxx_compiler_version10.yaml similarity index 60% rename from dev/tasks/conda-recipes/.ci_support/linux_ppc64le_cuda_compiler_version11.2.yaml rename to dev/tasks/conda-recipes/.ci_support/linux_ppc64le_c_compiler_version10cuda_compiler_version11.8cxx_compiler_version10.yaml index e21c4cbe853..ec66052bcc9 100644 --- a/dev/tasks/conda-recipes/.ci_support/linux_ppc64le_cuda_compiler_version11.2.yaml +++ b/dev/tasks/conda-recipes/.ci_support/linux_ppc64le_c_compiler_version10cuda_compiler_version11.8cxx_compiler_version10.yaml @@ -1,13 +1,17 @@ aws_crt_cpp: -- 0.23.1 +- 0.26.10 aws_sdk_cpp: -- 1.11.156 +- 1.11.329 bzip2: - '1' c_compiler: - gcc c_compiler_version: - '10' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_name: - cos7 channel_sources: @@ -17,69 +21,54 @@ channel_targets: cuda_compiler: - nvcc cuda_compiler_version: -- '11.2' +- '11.8' cuda_compiler_version_min: -- '11.2' +- '11.8' cxx_compiler: - gxx cxx_compiler_version: - '10' docker_image: -- quay.io/condaforge/linux-anvil-cuda:11.2 +- quay.io/condaforge/linux-anvil-cuda:11.8 gflags: - '2.2' glog: -- '0.6' -google_cloud_cpp: -- '2.12' +- '0.7' libabseil: -- '20230802' +- '20240116' +libgoogle_cloud_devel: +- '2.24' +libgoogle_cloud_storage_devel: +- '2.24' libgrpc: -- '1.57' +- '1.62' libprotobuf: -- 4.23.4 +- 4.25.3 lz4_c: - 1.9.3 -numpy: -- '1.22' -- '1.23' -- '1.22' -- '1.22' openssl: - '3' orc: -- 1.9.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.10.* *_cpython -- 3.11.* *_cpython -- 3.8.* *_cpython -- 3.9.* *_cpython +- 2.0.1 re2: -- 2023.03.02 +- 2023.09.01 snappy: -- '1' +- '1.2' target_platform: - linux-ppc64le thrift_cpp: - 0.19.0 ucx: -- 1.14.0 +- 1.16.0 zip_keys: - - c_compiler_version - cxx_compiler_version + - c_stdlib_version + - cdt_name - cuda_compiler - cuda_compiler_version - - cdt_name - docker_image -- - libgrpc - - libprotobuf -- - python - - numpy zlib: -- '1.2' +- '1' zstd: - '1.5' diff --git a/dev/tasks/conda-recipes/.ci_support/linux_ppc64le_cuda_compiler_versionNone.yaml b/dev/tasks/conda-recipes/.ci_support/linux_ppc64le_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13.yaml similarity index 64% rename from dev/tasks/conda-recipes/.ci_support/linux_ppc64le_cuda_compiler_versionNone.yaml rename to dev/tasks/conda-recipes/.ci_support/linux_ppc64le_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13.yaml index 89f1049ebdd..56c113e1f01 100644 --- a/dev/tasks/conda-recipes/.ci_support/linux_ppc64le_cuda_compiler_versionNone.yaml +++ b/dev/tasks/conda-recipes/.ci_support/linux_ppc64le_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13.yaml @@ -1,13 +1,17 @@ aws_crt_cpp: -- 0.23.1 +- 0.26.10 aws_sdk_cpp: -- 1.11.156 +- 1.11.329 bzip2: - '1' c_compiler: - gcc c_compiler_version: -- '12' +- '13' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_name: - cos7 channel_sources: @@ -19,67 +23,52 @@ cuda_compiler: cuda_compiler_version: - None cuda_compiler_version_min: -- '11.2' +- '11.8' cxx_compiler: - gxx cxx_compiler_version: -- '12' +- '13' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 gflags: - '2.2' glog: -- '0.6' -google_cloud_cpp: -- '2.12' +- '0.7' libabseil: -- '20230802' +- '20240116' +libgoogle_cloud_devel: +- '2.24' +libgoogle_cloud_storage_devel: +- '2.24' libgrpc: -- '1.57' +- '1.62' libprotobuf: -- 4.23.4 +- 4.25.3 lz4_c: - 1.9.3 -numpy: -- '1.22' -- '1.23' -- '1.22' -- '1.22' openssl: - '3' orc: -- 1.9.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.10.* *_cpython -- 3.11.* *_cpython -- 3.8.* *_cpython -- 3.9.* *_cpython +- 2.0.1 re2: -- 2023.03.02 +- 2023.09.01 snappy: -- '1' +- '1.2' target_platform: - linux-ppc64le thrift_cpp: - 0.19.0 ucx: -- 1.14.0 +- 1.16.0 zip_keys: - - c_compiler_version - cxx_compiler_version + - c_stdlib_version + - cdt_name - cuda_compiler - cuda_compiler_version - - cdt_name - docker_image -- - libgrpc - - libprotobuf -- - python - - numpy zlib: -- '1.2' +- '1' zstd: - '1.5' diff --git a/dev/tasks/conda-recipes/.ci_support/osx_64_.yaml b/dev/tasks/conda-recipes/.ci_support/osx_64_.yaml index 2a5f8c5b36b..82136cac4e9 100644 --- a/dev/tasks/conda-recipes/.ci_support/osx_64_.yaml +++ b/dev/tasks/conda-recipes/.ci_support/osx_64_.yaml @@ -1,15 +1,21 @@ MACOSX_DEPLOYMENT_TARGET: - '10.13' +MACOSX_SDK_VERSION: +- '10.13' aws_crt_cpp: -- 0.23.1 +- 0.26.10 aws_sdk_cpp: -- 1.11.156 +- 1.11.329 bzip2: - '1' c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' channel_sources: - conda-forge channel_targets: @@ -19,45 +25,33 @@ cuda_compiler_version: cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' gflags: - '2.2' glog: -- '0.6' -google_cloud_cpp: -- '2.12' +- '0.7' libabseil: -- '20230802' +- '20240116' +libgoogle_cloud_devel: +- '2.24' +libgoogle_cloud_storage_devel: +- '2.24' libgrpc: -- '1.57' +- '1.62' libprotobuf: -- 4.23.4 +- 4.25.3 lz4_c: - 1.9.3 macos_machine: - x86_64-apple-darwin13.4.0 -numpy: -- '1.22' -- '1.23' -- '1.22' -- '1.22' openssl: - '3' orc: -- 1.9.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.10.* *_cpython -- 3.11.* *_cpython -- 3.8.* *_cpython -- 3.9.* *_cpython +- 2.0.1 re2: -- 2023.03.02 +- 2023.09.01 snappy: -- '1' +- '1.2' target_platform: - osx-64 thrift_cpp: @@ -65,11 +59,7 @@ thrift_cpp: zip_keys: - - c_compiler_version - cxx_compiler_version -- - libgrpc - - libprotobuf -- - python - - numpy zlib: -- '1.2' +- '1' zstd: - '1.5' diff --git a/dev/tasks/conda-recipes/.ci_support/osx_arm64_.yaml b/dev/tasks/conda-recipes/.ci_support/osx_arm64_.yaml index 211b71226ca..c6b6c1cc2e4 100644 --- a/dev/tasks/conda-recipes/.ci_support/osx_arm64_.yaml +++ b/dev/tasks/conda-recipes/.ci_support/osx_arm64_.yaml @@ -1,15 +1,21 @@ MACOSX_DEPLOYMENT_TARGET: - '11.0' +MACOSX_SDK_VERSION: +- '11.0' aws_crt_cpp: -- 0.23.1 +- 0.26.10 aws_sdk_cpp: -- 1.11.156 +- 1.11.329 bzip2: - '1' c_compiler: - clang c_compiler_version: -- '15' +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' channel_sources: - conda-forge channel_targets: @@ -19,45 +25,33 @@ cuda_compiler_version: cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' gflags: - '2.2' glog: -- '0.6' -google_cloud_cpp: -- '2.12' +- '0.7' libabseil: -- '20230802' +- '20240116' +libgoogle_cloud_devel: +- '2.24' +libgoogle_cloud_storage_devel: +- '2.24' libgrpc: -- '1.57' +- '1.62' libprotobuf: -- 4.23.4 +- 4.25.3 lz4_c: - 1.9.3 macos_machine: - arm64-apple-darwin20.0.0 -numpy: -- '1.22' -- '1.23' -- '1.22' -- '1.22' openssl: - '3' orc: -- 1.9.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.10.* *_cpython -- 3.11.* *_cpython -- 3.8.* *_cpython -- 3.9.* *_cpython +- 2.0.1 re2: -- 2023.03.02 +- 2023.09.01 snappy: -- '1' +- '1.2' target_platform: - osx-arm64 thrift_cpp: @@ -65,11 +59,7 @@ thrift_cpp: zip_keys: - - c_compiler_version - cxx_compiler_version -- - libgrpc - - libprotobuf -- - python - - numpy zlib: -- '1.2' +- '1' zstd: - '1.5' diff --git a/dev/tasks/conda-recipes/.ci_support/win_64_cuda_compilerNonecuda_compiler_versionNone.yaml b/dev/tasks/conda-recipes/.ci_support/win_64_cuda_compilerNonecuda_compiler_versionNone.yaml new file mode 100644 index 00000000000..856281f095c --- /dev/null +++ b/dev/tasks/conda-recipes/.ci_support/win_64_cuda_compilerNonecuda_compiler_versionNone.yaml @@ -0,0 +1,61 @@ +aws_crt_cpp: +- 0.26.10 +aws_sdk_cpp: +- 1.11.329 +bzip2: +- '1' +c_compiler: +- vs2019 +c_stdlib: +- vs +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- None +cuda_compiler_version: +- None +cuda_compiler_version_min: +- '11.8' +cxx_compiler: +- vs2019 +gflags: +- '2.2' +glog: +- '0.7' +libabseil: +- '20240116' +libcrc32c: +- '1.1' +libcurl: +- '8' +libgoogle_cloud_devel: +- '2.24' +libgoogle_cloud_storage_devel: +- '2.24' +libgrpc: +- '1.62' +libprotobuf: +- 4.25.3 +lz4_c: +- 1.9.3 +openssl: +- '3' +orc: +- 2.0.1 +re2: +- 2023.09.01 +snappy: +- '1.2' +target_platform: +- win-64 +thrift_cpp: +- 0.19.0 +zip_keys: +- - cuda_compiler + - cuda_compiler_version +zlib: +- '1' +zstd: +- '1.5' diff --git a/dev/tasks/conda-recipes/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.8.yaml b/dev/tasks/conda-recipes/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.8.yaml new file mode 100644 index 00000000000..20db8ad42a2 --- /dev/null +++ b/dev/tasks/conda-recipes/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.8.yaml @@ -0,0 +1,61 @@ +aws_crt_cpp: +- 0.26.10 +aws_sdk_cpp: +- 1.11.329 +bzip2: +- '1' +c_compiler: +- vs2019 +c_stdlib: +- vs +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- nvcc +cuda_compiler_version: +- '11.8' +cuda_compiler_version_min: +- '11.8' +cxx_compiler: +- vs2019 +gflags: +- '2.2' +glog: +- '0.7' +libabseil: +- '20240116' +libcrc32c: +- '1.1' +libcurl: +- '8' +libgoogle_cloud_devel: +- '2.24' +libgoogle_cloud_storage_devel: +- '2.24' +libgrpc: +- '1.62' +libprotobuf: +- 4.25.3 +lz4_c: +- 1.9.3 +openssl: +- '3' +orc: +- 2.0.1 +re2: +- 2023.09.01 +snappy: +- '1.2' +target_platform: +- win-64 +thrift_cpp: +- 0.19.0 +zip_keys: +- - cuda_compiler + - cuda_compiler_version +zlib: +- '1' +zstd: +- '1.5' diff --git a/dev/tasks/conda-recipes/arrow-cpp/activate.sh b/dev/tasks/conda-recipes/arrow-cpp/activate.sh old mode 100644 new mode 100755 diff --git a/dev/tasks/conda-recipes/arrow-cpp/build-arrow.bat b/dev/tasks/conda-recipes/arrow-cpp/build-arrow.bat deleted file mode 100644 index 1268771643d..00000000000 --- a/dev/tasks/conda-recipes/arrow-cpp/build-arrow.bat +++ /dev/null @@ -1,71 +0,0 @@ -@echo on - -mkdir cpp\build -pushd cpp\build - -:: Enable CUDA support -if "%cuda_compiler_version%"=="None" ( - set "EXTRA_CMAKE_ARGS=-DARROW_CUDA=OFF" -) else ( - set "EXTRA_CMAKE_ARGS=-DARROW_CUDA=ON" -) - -:: # reusable variable for dependencies we cannot yet unvendor -set "READ_RECIPE_META_YAML_WHY_NOT=OFF" - -:: for available switches see -:: https://github.com/apache/arrow/blame/apache-arrow-12.0.0/cpp/cmake_modules/DefineOptions.cmake -cmake -G "Ninja" ^ - -DARROW_ACERO=ON ^ - -DARROW_BOOST_USE_SHARED:BOOL=ON ^ - -DARROW_BUILD_STATIC:BOOL=OFF ^ - -DARROW_BUILD_TESTS:BOOL=OFF ^ - -DARROW_BUILD_UTILITIES:BOOL=OFF ^ - -DARROW_COMPUTE:BOOL=ON ^ - -DARROW_CSV:BOOL=ON ^ - -DARROW_DATASET:BOOL=ON ^ - -DARROW_DEPENDENCY_SOURCE=SYSTEM ^ - -DARROW_FILESYSTEM:BOOL=ON ^ - -DARROW_FLIGHT:BOOL=ON ^ - -DARROW_FLIGHT_REQUIRE_TLSCREDENTIALSOPTIONS:BOOL=ON ^ - -DARROW_FLIGHT_SQL:BOOL=ON ^ - -DARROW_GANDIVA:BOOL=ON ^ - -DARROW_GCS:BOOL=ON ^ - -DARROW_HDFS:BOOL=ON ^ - -DARROW_JSON:BOOL=ON ^ - -DARROW_MIMALLOC:BOOL=ON ^ - -DARROW_ORC:BOOL=ON ^ - -DARROW_PACKAGE_PREFIX="%LIBRARY_PREFIX%" ^ - -DARROW_PARQUET:BOOL=ON ^ - -DARROW_S3:BOOL=ON ^ - -DARROW_SIMD_LEVEL:STRING=NONE ^ - -DARROW_SUBSTRAIT:BOOL=ON ^ - -DARROW_USE_GLOG:BOOL=ON ^ - -DARROW_WITH_BROTLI:BOOL=ON ^ - -DARROW_WITH_BZ2:BOOL=ON ^ - -DARROW_WITH_LZ4:BOOL=ON ^ - -DARROW_WITH_NLOHMANN_JSON:BOOL=ON ^ - -DARROW_WITH_OPENTELEMETRY:BOOL=%READ_RECIPE_META_YAML_WHY_NOT% ^ - -DARROW_WITH_SNAPPY:BOOL=ON ^ - -DARROW_WITH_ZLIB:BOOL=ON ^ - -DARROW_WITH_ZSTD:BOOL=ON ^ - -DBUILD_SHARED_LIBS=ON ^ - -DBoost_NO_BOOST_CMAKE=ON ^ - -DCMAKE_BUILD_TYPE=release ^ - -DCMAKE_CXX_STANDARD=17 ^ - -DCMAKE_INSTALL_PREFIX="%LIBRARY_PREFIX%" ^ - -DCMAKE_UNITY_BUILD=ON ^ - -DLLVM_TOOLS_BINARY_DIR="%LIBRARY_BIN%" ^ - -DPARQUET_REQUIRE_ENCRYPTION:BOOL=ON ^ - -DPython3_EXECUTABLE="%PYTHON%" ^ - %EXTRA_CMAKE_ARGS% ^ - .. -if %ERRORLEVEL% neq 0 exit 1 - -cmake --build . --target install --config Release -if %ERRORLEVEL% neq 0 exit 1 - -popd - -:: clean up between builds (and to save space) -rmdir /s /q cpp\build diff --git a/dev/tasks/conda-recipes/arrow-cpp/build-arrow.sh b/dev/tasks/conda-recipes/arrow-cpp/build-arrow.sh deleted file mode 100755 index ef0b038812a..00000000000 --- a/dev/tasks/conda-recipes/arrow-cpp/build-arrow.sh +++ /dev/null @@ -1,124 +0,0 @@ -#!/bin/bash -set -ex - -# Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d, see -# https://conda-forge.org/docs/maintainer/adding_pkgs.html#activate-scripts -for CHANGE in "activate" -do - mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d" - cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" -done - -mkdir cpp/build -pushd cpp/build - -EXTRA_CMAKE_ARGS="" - -# Include g++'s system headers -if [ "$(uname)" == "Linux" ]; then - SYSTEM_INCLUDES=$(echo | ${CXX} -E -Wp,-v -xc++ - 2>&1 | grep '^ ' | awk '{print "-isystem;" substr($1, 1)}' | tr '\n' ';') - ARROW_GANDIVA_PC_CXX_FLAGS="${SYSTEM_INCLUDES}" - # only available on linux - ARROW_WITH_UCX=ON -else - # See https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk - CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" - ARROW_GANDIVA_PC_CXX_FLAGS="-D_LIBCPP_DISABLE_AVAILABILITY" - ARROW_WITH_UCX=OFF -fi - -# Enable CUDA support -if [[ ! -z "${cuda_compiler_version+x}" && "${cuda_compiler_version}" != "None" ]] -then - EXTRA_CMAKE_ARGS=" ${EXTRA_CMAKE_ARGS} -DARROW_CUDA=ON -DCUDAToolkit_ROOT=${CUDA_HOME} -DCMAKE_LIBRARY_PATH=${CONDA_BUILD_SYSROOT}/lib" -else - EXTRA_CMAKE_ARGS=" ${EXTRA_CMAKE_ARGS} -DARROW_CUDA=OFF" -fi - -if [[ "${build_platform}" != "${target_platform}" ]]; then - # point to a usable protoc/grpc_cpp_plugin if we're cross-compiling - EXTRA_CMAKE_ARGS="${EXTRA_CMAKE_ARGS} -DProtobuf_PROTOC_EXECUTABLE=$BUILD_PREFIX/bin/protoc" - if [[ ! -f ${BUILD_PREFIX}/bin/${CONDA_TOOLCHAIN_HOST}-clang ]]; then - ln -sf ${BUILD_PREFIX}/bin/clang ${BUILD_PREFIX}/bin/${CONDA_TOOLCHAIN_HOST}-clang - fi - EXTRA_CMAKE_ARGS="${EXTRA_CMAKE_ARGS} -DCLANG_EXECUTABLE=${BUILD_PREFIX}/bin/${CONDA_TOOLCHAIN_HOST}-clang" - EXTRA_CMAKE_ARGS="${EXTRA_CMAKE_ARGS} -DLLVM_LINK_EXECUTABLE=${BUILD_PREFIX}/bin/llvm-link" - EXTRA_CMAKE_ARGS="${EXTRA_CMAKE_ARGS} -DARROW_JEMALLOC_LG_PAGE=16" - sed -ie "s;protoc-gen-grpc.*$;protoc-gen-grpc=${BUILD_PREFIX}/bin/grpc_cpp_plugin\";g" ../src/arrow/flight/CMakeLists.txt -fi - -# disable -fno-plt, which causes problems with GCC on PPC -if [[ "$target_platform" == "linux-ppc64le" ]]; then - CFLAGS="$(echo $CFLAGS | sed 's/-fno-plt //g')" - CXXFLAGS="$(echo $CXXFLAGS | sed 's/-fno-plt //g')" -fi - -if [[ "${target_platform}" == "linux-aarch64" ]] || [[ "${target_platform}" == "linux-ppc64le" ]]; then - # Limit number of threads used to avoid hardware oversubscription - export CMAKE_BUILD_PARALLEL_LEVEL=3 -fi - -# reusable variable for dependencies we cannot yet unvendor -export READ_RECIPE_META_YAML_WHY_NOT=OFF - -# for available switches see -# https://github.com/apache/arrow/blame/apache-arrow-12.0.0/cpp/cmake_modules/DefineOptions.cmake -# placeholder in ARROW_GDB_INSTALL_DIR must match _la_placeholder in activate.sh -cmake -GNinja \ - -DARROW_ACERO=ON \ - -DARROW_BOOST_USE_SHARED=ON \ - -DARROW_BUILD_BENCHMARKS=OFF \ - -DARROW_BUILD_STATIC=OFF \ - -DARROW_BUILD_TESTS=OFF \ - -DARROW_BUILD_UTILITIES=OFF \ - -DARROW_COMPUTE=ON \ - -DARROW_CSV=ON \ - -DARROW_CXXFLAGS="${CXXFLAGS}" \ - -DARROW_DATASET=ON \ - -DARROW_DEPENDENCY_SOURCE=SYSTEM \ - -DARROW_FILESYSTEM=ON \ - -DARROW_FLIGHT=ON \ - -DARROW_FLIGHT_REQUIRE_TLSCREDENTIALSOPTIONS=ON \ - -DARROW_FLIGHT_SQL=ON \ - -DARROW_GANDIVA=ON \ - -DARROW_GANDIVA_PC_CXX_FLAGS="${ARROW_GANDIVA_PC_CXX_FLAGS}" \ - -DARROW_GCS=ON \ - -DARROW_GDB_INSTALL_DIR=replace_this_section_with_absolute_slashed_path_to_CONDA_PREFIX/lib \ - -DARROW_HDFS=ON \ - -DARROW_JEMALLOC=ON \ - -DARROW_JSON=ON \ - -DARROW_MIMALLOC=ON \ - -DARROW_ORC=ON \ - -DARROW_PACKAGE_PREFIX=$PREFIX \ - -DARROW_PARQUET=ON \ - -DARROW_S3=ON \ - -DARROW_SIMD_LEVEL=NONE \ - -DARROW_SUBSTRAIT=ON \ - -DARROW_USE_GLOG=ON \ - -DARROW_USE_LD_GOLD=ON \ - -DARROW_WITH_BROTLI=ON \ - -DARROW_WITH_BZ2=ON \ - -DARROW_WITH_LZ4=ON \ - -DARROW_WITH_NLOHMANN_JSON=ON \ - -DARROW_WITH_OPENTELEMETRY=${READ_RECIPE_META_YAML_WHY_NOT} \ - -DARROW_WITH_SNAPPY=ON \ - -DARROW_WITH_UCX=${ARROW_WITH_UCX} \ - -DARROW_WITH_ZLIB=ON \ - -DARROW_WITH_ZSTD=ON \ - -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_BUILD_TYPE=release \ - -DCMAKE_CXX_STANDARD=17 \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DCMAKE_INSTALL_PREFIX=$PREFIX \ - -DLLVM_TOOLS_BINARY_DIR=$PREFIX/bin \ - -DPARQUET_REQUIRE_ENCRYPTION=ON \ - -DPython3_EXECUTABLE=${PYTHON} \ - ${EXTRA_CMAKE_ARGS} \ - .. - -cmake --build . --target install --config Release - -popd - -# clean up between builds (and to save space) -rm -rf cpp/build diff --git a/dev/tasks/conda-recipes/arrow-cpp/install-libarrow.bat b/dev/tasks/conda-recipes/arrow-cpp/install-libarrow.bat new file mode 100644 index 00000000000..1f551ebf98f --- /dev/null +++ b/dev/tasks/conda-recipes/arrow-cpp/install-libarrow.bat @@ -0,0 +1,85 @@ +@echo on + +:: Create temporary prefix to be able to install files more granularly +mkdir temp_prefix + +cmake --install .\cpp\build --prefix=.\temp_prefix + +if [%PKG_NAME%] == [libarrow] ( + move .\temp_prefix\lib\arrow.lib %LIBRARY_LIB% + move .\temp_prefix\bin\arrow.dll %LIBRARY_BIN% + move .\temp_prefix\lib\arrow_cuda.lib %LIBRARY_LIB% || true + move .\temp_prefix\bin\arrow_cuda.dll %LIBRARY_BIN% || true + copy .\temp_prefix\lib\pkgconfig\arrow.pc %LIBRARY_LIB%\pkgconfig + copy .\temp_prefix\lib\pkgconfig\arrow-compute.pc %LIBRARY_LIB%\pkgconfig + copy .\temp_prefix\lib\pkgconfig\arrow-cuda.pc %LIBRARY_LIB%\pkgconfig || true + copy .\temp_prefix\lib\pkgconfig\arrow-filesystem.pc %LIBRARY_LIB%\pkgconfig + copy .\temp_prefix\lib\pkgconfig\arrow-json.pc %LIBRARY_LIB%\pkgconfig + copy .\temp_prefix\lib\pkgconfig\arrow-orc.pc %LIBRARY_LIB%\pkgconfig + mkdir %LIBRARY_LIB%\cmake\Arrow + move .\temp_prefix\lib\cmake\Arrow\* %LIBRARY_LIB%\cmake\Arrow + mkdir %LIBRARY_LIB%\cmake\ArrowCUDA + move .\temp_prefix\lib\cmake\ArrowCUDA\* %LIBRARY_LIB%\cmake\ArrowCUDA || true + mkdir %LIBRARY_PREFIX%\share\doc\arrow + move .\temp_prefix\share\doc\arrow\* %LIBRARY_PREFIX%\share\doc\arrow + mkdir %LIBRARY_PREFIX%\share\arrow + xcopy /s /y .\temp_prefix\share\arrow %LIBRARY_PREFIX%\share\arrow + mkdir %LIBRARY_PREFIX%\include\arrow + xcopy /s /y .\temp_prefix\include\arrow %LIBRARY_PREFIX%\include\arrow +) else if [%PKG_NAME%] == [libarrow-acero] ( + move .\temp_prefix\lib\arrow_acero.lib %LIBRARY_LIB% + move .\temp_prefix\bin\arrow_acero.dll %LIBRARY_BIN% + copy .\temp_prefix\lib\pkgconfig\arrow-acero.pc %LIBRARY_LIB%\pkgconfig + mkdir %LIBRARY_LIB%\cmake\ArrowAcero + move .\temp_prefix\lib\cmake\ArrowAcero\* %LIBRARY_LIB%\cmake\ArrowAcero +) else if [%PKG_NAME%] == [libarrow-dataset] ( + move .\temp_prefix\lib\arrow_dataset.lib %LIBRARY_LIB% + move .\temp_prefix\bin\arrow_dataset.dll %LIBRARY_BIN% + copy .\temp_prefix\lib\pkgconfig\arrow-dataset.pc %LIBRARY_LIB%\pkgconfig + mkdir %LIBRARY_LIB%\cmake\ArrowDataset + move .\temp_prefix\lib\cmake\ArrowDataset\* %LIBRARY_LIB%\cmake\ArrowDataset +) else if [%PKG_NAME%] == [libarrow-flight] ( + move .\temp_prefix\lib\arrow_flight.lib %LIBRARY_LIB% + move .\temp_prefix\bin\arrow_flight.dll %LIBRARY_BIN% + copy .\temp_prefix\lib\pkgconfig\arrow-flight.pc %LIBRARY_LIB%\pkgconfig + mkdir %LIBRARY_LIB%\cmake\ArrowFlight + move .\temp_prefix\lib\cmake\ArrowFlight\* %LIBRARY_LIB%\cmake\ArrowFlight +) else if [%PKG_NAME%] == [libarrow-flight-sql] ( + move .\temp_prefix\lib\arrow_flight_sql.lib %LIBRARY_LIB% + move .\temp_prefix\bin\arrow_flight_sql.dll %LIBRARY_BIN% + copy .\temp_prefix\lib\pkgconfig\arrow-flight-sql.pc %LIBRARY_LIB%\pkgconfig + mkdir %LIBRARY_LIB%\cmake\ArrowFlightSql + move .\temp_prefix\lib\cmake\ArrowFlightSql\* %LIBRARY_LIB%\cmake\ArrowFlightSql +) else if [%PKG_NAME%] == [libarrow-gandiva] ( + move .\temp_prefix\lib\gandiva.lib %LIBRARY_LIB% + move .\temp_prefix\bin\gandiva.dll %LIBRARY_BIN% + copy .\temp_prefix\lib\pkgconfig\gandiva.pc %LIBRARY_LIB%\pkgconfig + mkdir %LIBRARY_LIB%\cmake\Gandiva + move .\temp_prefix\lib\cmake\Gandiva\* %LIBRARY_LIB%\cmake\Gandiva + mkdir %LIBRARY_PREFIX%\include\gandiva + xcopy /s /y .\temp_prefix\include\gandiva %LIBRARY_PREFIX%\include\gandiva +) else if [%PKG_NAME%] == [libarrow-substrait] ( + move .\temp_prefix\lib\arrow_substrait.lib %LIBRARY_LIB% + move .\temp_prefix\bin\arrow_substrait.dll %LIBRARY_BIN% + copy .\temp_prefix\lib\pkgconfig\arrow-substrait.pc %LIBRARY_LIB%\pkgconfig + mkdir %LIBRARY_LIB%\cmake\ArrowSubstrait + move .\temp_prefix\lib\cmake\ArrowSubstrait\* %LIBRARY_LIB%\cmake\ArrowSubstrait +) else if [%PKG_NAME%] == [libparquet] ( + move .\temp_prefix\lib\parquet.lib %LIBRARY_LIB% + move .\temp_prefix\bin\parquet.dll %LIBRARY_BIN% + copy .\temp_prefix\lib\pkgconfig\parquet.pc %LIBRARY_LIB%\pkgconfig + mkdir %LIBRARY_LIB%\cmake\Parquet + move .\temp_prefix\lib\cmake\Parquet\* %LIBRARY_LIB%\cmake\Parquet + mkdir %LIBRARY_PREFIX%\include\parquet + xcopy /s /y .\temp_prefix\include\parquet %LIBRARY_PREFIX%\include\parquet +) else if [%PKG_NAME%] == [libarrow-all] ( + REM libarrow-all: install everything else (whatever ends up in this output + REM should generally be installed into the appropriate libarrow-). + cmake --install .\cpp\build --prefix=%LIBRARY_PREFIX% +) else ( + REM shouldn't happen + exit 1 +) + +:: clean up temp_prefix between builds +rmdir /s /q temp_prefix diff --git a/dev/tasks/conda-recipes/arrow-cpp/install-libarrow.sh b/dev/tasks/conda-recipes/arrow-cpp/install-libarrow.sh new file mode 100644 index 00000000000..3ddc1d9c7e4 --- /dev/null +++ b/dev/tasks/conda-recipes/arrow-cpp/install-libarrow.sh @@ -0,0 +1,88 @@ +#!/bin/bash +set -ex + +# temporary prefix to be able to install files more granularly +mkdir temp_prefix + +cmake --install ./cpp/build --prefix=./temp_prefix + +if [[ "${PKG_NAME}" == "libarrow" ]]; then + # only libarrow (+ activation scripts) + cp -a ./temp_prefix/lib/libarrow.* $PREFIX/lib + cp -a ./temp_prefix/lib/libarrow_cuda.* $PREFIX/lib || true + cp ./temp_prefix/lib/pkgconfig/arrow.pc $PREFIX/lib/pkgconfig + cp ./temp_prefix/lib/pkgconfig/arrow-compute.pc $PREFIX/lib/pkgconfig + cp ./temp_prefix/lib/pkgconfig/arrow-csv.pc $PREFIX/lib/pkgconfig + cp ./temp_prefix/lib/pkgconfig/arrow-cuda.pc $PREFIX/lib/pkgconfig || true + cp ./temp_prefix/lib/pkgconfig/arrow-filesystem.pc $PREFIX/lib/pkgconfig + cp ./temp_prefix/lib/pkgconfig/arrow-json.pc $PREFIX/lib/pkgconfig + cp ./temp_prefix/lib/pkgconfig/arrow-orc.pc $PREFIX/lib/pkgconfig + cp -R ./temp_prefix/lib/cmake/Arrow/. $PREFIX/lib/cmake/Arrow + cp -R ./temp_prefix/lib/cmake/ArrowCUDA/. $PREFIX/lib/cmake/ArrowCUDA || true + cp -R ./temp_prefix/share/arrow/. $PREFIX/share/arrow + cp -R ./temp_prefix/share/doc/. $PREFIX/share/doc + cp -R ./temp_prefix/share/gdb/. $PREFIX/share/gdb + cp -R ./temp_prefix/include/arrow/. $PREFIX/include/arrow + + # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d, see + # https://conda-forge.org/docs/maintainer/adding_pkgs.html#activate-scripts + for CHANGE in "activate" + do + mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d" + cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" + done +elif [[ "${PKG_NAME}" == "libarrow-acero" ]]; then + # only libarrow-acero + cp -a ./temp_prefix/lib/libarrow_acero.* $PREFIX/lib + cp ./temp_prefix/lib/pkgconfig/arrow-acero.pc $PREFIX/lib/pkgconfig + cp -R ./temp_prefix/lib/cmake/ArrowAcero/. $PREFIX/lib/cmake/ArrowAcero +elif [[ "${PKG_NAME}" == "libarrow-dataset" ]]; then + # only libarrow-dataset + cp -a ./temp_prefix/lib/libarrow_dataset.* $PREFIX/lib + cp ./temp_prefix/lib/pkgconfig/arrow-dataset.pc $PREFIX/lib/pkgconfig + cp -R ./temp_prefix/lib/cmake/ArrowDataset/. $PREFIX/lib/cmake/ArrowDataset +elif [[ "${PKG_NAME}" == "libarrow-flight" ]]; then + # only libarrow-flight + cp -a ./temp_prefix/lib/libarrow_flight.* $PREFIX/lib + cp ./temp_prefix/lib/libarrow_flight_transport_ucx.* $PREFIX/lib || true + cp ./temp_prefix/lib/pkgconfig/arrow-flight.pc $PREFIX/lib/pkgconfig + cp -R ./temp_prefix/lib/cmake/ArrowFlight/. $PREFIX/lib/cmake/ArrowFlight +elif [[ "${PKG_NAME}" == "libarrow-flight-sql" ]]; then + # only libarrow-flight-sql + cp -a ./temp_prefix/lib/libarrow_flight_sql.* $PREFIX/lib + cp ./temp_prefix/lib/pkgconfig/arrow-flight-sql.pc $PREFIX/lib/pkgconfig + cp -R ./temp_prefix/lib/cmake/ArrowFlightSql/. $PREFIX/lib/cmake/ArrowFlightSql +elif [[ "${PKG_NAME}" == "libarrow-gandiva" ]]; then + # only libarrow-gandiva + cp -a ./temp_prefix/lib/libgandiva.* $PREFIX/lib + cp ./temp_prefix/lib/pkgconfig/gandiva.pc $PREFIX/lib/pkgconfig + cp -R ./temp_prefix/lib/cmake/Gandiva/. $PREFIX/lib/cmake/Gandiva + cp -R ./temp_prefix/include/gandiva/. $PREFIX/include/gandiva +elif [[ "${PKG_NAME}" == "libarrow-substrait" ]]; then + # only libarrow-substrait + cp -a ./temp_prefix/lib/libarrow_substrait.* $PREFIX/lib + cp ./temp_prefix/lib/pkgconfig/arrow-substrait.pc $PREFIX/lib/pkgconfig + cp -R ./temp_prefix/lib/cmake/ArrowSubstrait/. $PREFIX/lib/cmake/ArrowSubstrait +elif [[ "${PKG_NAME}" == "libparquet" ]]; then + # only parquet + cp -a ./temp_prefix/lib/libparquet.* $PREFIX/lib + cp ./temp_prefix/lib/pkgconfig/parquet.pc $PREFIX/lib/pkgconfig + cp -R ./temp_prefix/lib/cmake/Parquet/. $PREFIX/lib/cmake/Parquet + cp -R ./temp_prefix/include/parquet/. $PREFIX/include/parquet +elif [[ "${PKG_NAME}" == "libarrow-all" ]]; then + # libarrow-all: install everything else (whatever ends up in this output + # should generally be installed into the appropriate libarrow-). + cmake --install ./cpp/build --prefix=$PREFIX +else + # shouldn't happen + exit 1 +fi + +if [[ "${PKG_NAME}" != "libarrow" ]]; then + # delete symlink that's created by libarrow's activation script, + # to avoid that it gets wrongly detected as content of libarrow-*. + rm $PREFIX/share/gdb/auto-load/$PREFIX/lib/libarrow.*-gdb.py || true +fi + +# Clean up temp_prefix +rm -rf temp_prefix diff --git a/dev/tasks/conda-recipes/arrow-cpp/meta.yaml b/dev/tasks/conda-recipes/arrow-cpp/meta.yaml index 10ee9c28f8c..2cff62a9b2b 100644 --- a/dev/tasks/conda-recipes/arrow-cpp/meta.yaml +++ b/dev/tasks/conda-recipes/arrow-cpp/meta.yaml @@ -4,7 +4,7 @@ {% set build_ext_version = ARROW_VERSION %} {% set build_ext = "cuda" if cuda_enabled else "cpu" %} {% set proc_build_number = "0" %} -{% set llvm_version = "15" %} +{% set llvm_version = "16" %} # see https://github.com/apache/arrow/blob/apache-arrow-10.0.1/cpp/CMakeLists.txt#L88-L90 {% set so_version = (version.split(".")[0] | int * 100 + version.split(".")[1] | int) ~ "." ~ version.split(".")[2] ~ ".0" %} @@ -22,8 +22,58 @@ build: # all later versions, since arrow is only using libcuda, and not libcudart. skip: true # [cuda_compiler_version not in ("None", cuda_compiler_version_min)] # arrow promises API- & ABI-compatibility along SemVer, see #1096 - run_exports: - - {{ pin_subpackage("libarrow", max_pin="x") }} + +requirements: + build: + - {{ compiler("c") }} + - {{ stdlib("c") }} + - {{ compiler("cxx") }} + - {{ compiler("cuda") }} # [cuda_compiler_version != "None"] + # needs to run protoc & grpc_cpp_plugin + - libgrpc # [build_platform != target_platform] + - libprotobuf # [build_platform != target_platform] + # needed for gandiva + - clangdev {{ llvm_version }} # [build_platform != target_platform] + - llvmdev {{ llvm_version }} # [build_platform != target_platform] + - gnuconfig # [build_platform != target_platform] + - cmake + - ninja + # necessary for vendored jemalloc + - autoconf # [linux] + - make # [linux] + host: + # for required dependencies, see + # https://github.com/apache/arrow/blob/apache-arrow-11.0.0/cpp/cmake_modules/ThirdpartyToolchain.cmake#L46-L75 + - clangdev {{ llvm_version }} + - llvmdev {{ llvm_version }} + - aws-crt-cpp + - aws-sdk-cpp + - brotli + - bzip2 + # not yet: https://github.com/conda-forge/cpp-opentelemetry-sdk-feedstock/issues/38 + # - cpp-opentelemetry-sdk + # - proto-opentelemetry-proto =={{ cpp_opentelemetry_sdk }} + - gflags + - glog + # arrow uses a customized jemalloc, see #944 + # - jemalloc + - libabseil + - libboost-headers + - libgoogle-cloud-devel + - libgoogle-cloud-storage-devel + - libgrpc + - libutf8proc + - lz4-c + - nlohmann_json + - orc + - rapidjson + - re2 + - snappy + - thrift-cpp + - ucx # [linux] + - xsimd + - zlib + - zstd outputs: - name: apache-arrow-proc @@ -31,6 +81,10 @@ outputs: build: number: {{ proc_build_number }} string: {{ build_ext }} + requirements: + run_constrained: + # avoid installation with old naming of proc package + - arrow-cpp-proc <0.0a0 test: commands: - exit 0 @@ -41,31 +95,66 @@ outputs: - LICENSE.txt summary: A meta-package to select Arrow build variant - # compat output for old mutex-package naming - - name: arrow-cpp-proc - version: {{ build_ext_version }} + - name: libarrow-all + script: install-libarrow.sh # [unix] + script: install-libarrow.bat # [win] + version: {{ version }} build: - number: {{ proc_build_number }} - string: {{ build_ext }} + string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}_{{ build_ext }} + run_exports: + - {{ pin_subpackage("libarrow", max_pin="x.x") }} + - {{ pin_subpackage("libarrow-acero", max_pin="x.x") }} + - {{ pin_subpackage("libarrow-dataset", max_pin="x.x") }} + - {{ pin_subpackage("libarrow-flight", max_pin="x.x") }} + - {{ pin_subpackage("libarrow-flight-sql", max_pin="x.x") }} + - {{ pin_subpackage("libarrow-gandiva", max_pin="x.x") }} + - {{ pin_subpackage("libarrow-substrait", max_pin="x.x") }} + - {{ pin_subpackage("libparquet", max_pin="x.x") }} requirements: + build: + - cmake + - ninja + host: + - {{ pin_subpackage("libarrow", exact=True) }} + - {{ pin_subpackage("libarrow-acero", exact=True) }} + - {{ pin_subpackage("libarrow-dataset", exact=True) }} + - {{ pin_subpackage("libarrow-flight", exact=True) }} + - {{ pin_subpackage("libarrow-flight-sql", exact=True) }} + - {{ pin_subpackage("libarrow-gandiva", exact=True) }} + - {{ pin_subpackage("libarrow-substrait", exact=True) }} + - {{ pin_subpackage("libparquet", exact=True) }} run: - - apache-arrow-proc ={{ build_ext_version }}={{ build_ext }} + - {{ pin_subpackage("libarrow", exact=True) }} + - {{ pin_subpackage("libarrow-acero", exact=True) }} + - {{ pin_subpackage("libarrow-dataset", exact=True) }} + - {{ pin_subpackage("libarrow-flight", exact=True) }} + - {{ pin_subpackage("libarrow-flight-sql", exact=True) }} + - {{ pin_subpackage("libarrow-gandiva", exact=True) }} + - {{ pin_subpackage("libarrow-substrait", exact=True) }} + - {{ pin_subpackage("libparquet", exact=True) }} test: commands: - - exit 0 + - echo "tested in other outputs" + + about: + home: http://github.com/apache/arrow + license: Apache-2.0 + license_file: + - LICENSE.txt + summary: C++ libraries for Apache Arrow - name: libarrow - script: build-arrow.sh # [unix] - script: build-arrow.bat # [win] + script: install-libarrow.sh # [unix] + script: install-libarrow.bat # [win] version: {{ version }} build: string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}_{{ build_ext }} run_exports: - - {{ pin_subpackage("libarrow", max_pin="x") }} + - {{ pin_subpackage("libarrow", max_pin="x.x") }} ignore_run_exports_from: - {{ compiler("cuda") }} # [cuda_compiler_version != "None"] - # arrow only uses headers, apparently - - gflags + # arrow only uses headers on osx/win, apparently + - gflags # [not linux] # shared lib linked on unix, not on win - glog # [win] ignore_run_exports: @@ -77,29 +166,16 @@ outputs: - '*/nvcuda.dll' # [win] requirements: build: + - cmake + - ninja + # for strong run-exports - {{ compiler("c") }} + - {{ stdlib("c") }} - {{ compiler("cxx") }} - {{ compiler("cuda") }} # [cuda_compiler_version != "None"] - # needs to run protoc & grpc_cpp_plugin - - libgrpc # [build_platform != target_platform] - - libprotobuf # [build_platform != target_platform] - # needed for gandiva - - clangdev {{ llvm_version }} # [build_platform != target_platform] - - llvmdev {{ llvm_version }} # [build_platform != target_platform] - - gnuconfig # [build_platform != target_platform] - - cmake - - ninja - # necessary for vendored jemalloc - - autoconf # [linux] - - make # [linux] host: - # for required dependencies, see - # https://github.com/apache/arrow/blob/apache-arrow-11.0.0/cpp/cmake_modules/ThirdpartyToolchain.cmake#L46-L75 - - clangdev {{ llvm_version }} - - llvmdev {{ llvm_version }} - aws-crt-cpp - aws-sdk-cpp - - boost-cpp >=1.70 - brotli - bzip2 # not yet: https://github.com/conda-forge/cpp-opentelemetry-sdk-feedstock/issues/38 @@ -107,61 +183,47 @@ outputs: # - proto-opentelemetry-proto =={{ cpp_opentelemetry_sdk }} - gflags - glog - - google-cloud-cpp # arrow uses a customized jemalloc, see #944 # - jemalloc - libabseil - - libgrpc - - libprotobuf + - libgoogle-cloud-devel + - libgoogle-cloud-storage-devel - libutf8proc - # gandiva requires shared libllvm - - llvm # [unix] - lz4-c - - nlohmann_json - # gandiva depends on openssl - - openssl - orc - - rapidjson - re2 - snappy - - thrift-cpp - - ucx # [linux] - - xsimd - zlib - zstd - __cuda >={{ cuda_compiler_version_min }} # [cuda_compiler_version != "None"] - # since libgoogle-cloud is static on windows, see + # since libgoogle-cloud{,-storage} is static on windows, see # https://github.com/conda-forge/google-cloud-cpp-feedstock/pull/108, # its host deps (which aren't yet covered above) leak into the build here - libcrc32c # [win] - libcurl # [win] run_constrained: - apache-arrow-proc =*={{ build_ext }} - # make sure we don't co-install with old version of old package name - - arrow-cpp ={{ version }} + # avoid installation with old naming of lib package + - arrow-cpp <0.0a0 # old parquet lib output, now part of this feedstock - parquet-cpp <0.0a0 + # since all the other libarrow-* variants in this recipe depend exactly on libarrow, + # this avoids that libarrow-X & -Y get installed with different builds or versions. test: commands: - {% set headers = [ - "arrow/api.h", "arrow/acero/api.h", "arrow/flight/types.h", - "arrow/flight/sql/api.h", "gandiva/engine.h", "parquet/api/reader.h" - ] %} - {% for each_header in headers %} # headers - - test -f $PREFIX/include/{{ each_header }} || (echo "{{ each_header }} not found" && exit 1) # [unix] - - if not exist %LIBRARY_INC%\{{ "\\".join(each_header.split("/")) }} exit 1 # [win] - {% endfor %} + - test -f $PREFIX/include/arrow/api.h # [unix] + - if not exist %LIBRARY_INC%\arrow\api.h exit 1 # [win] - {% set libs = (cuda_compiler_version != "None") * ["arrow_cuda"] + [ - "arrow", "arrow_acero", "arrow_dataset", "arrow_flight", - "arrow_flight_sql", "arrow_substrait", "gandiva", "parquet" - ] %} + {% set libs = ["arrow"] + (cuda_compiler_version != "None") * ["arrow_cuda"] %} {% for each_lib in libs %} # shared - test -f $PREFIX/lib/lib{{ each_lib }}.so # [linux] - test -f $PREFIX/lib/lib{{ each_lib }}.dylib # [osx] + # Ensure symlinks are preserved + - test -L $PREFIX/lib/lib{{ each_lib }}.so # [linux] + - test -L $PREFIX/lib/lib{{ each_lib }}.dylib # [osx] - if not exist %LIBRARY_BIN%\{{ each_lib }}.dll exit 1 # [win] - if not exist %LIBRARY_LIB%\{{ each_lib }}.lib exit 1 # [win] @@ -181,236 +243,387 @@ outputs: - test -f $PREFIX/share/gdb/auto-load/$PREFIX/lib/libarrow.so.{{ so_version }}-gdb.py # [linux] - test -f $PREFIX/share/gdb/auto-load/$PREFIX/lib/libarrow.{{ so_version }}.dylib-gdb.py # [osx] + {% set libs = [ + "arrow_acero", "arrow_dataset", "arrow_flight", + "arrow_flight_sql", "arrow_substrait", "gandiva", "parquet" + ] %} + {% for each_lib in libs %} + # absence of libraries that belong in other outputs + - test ! -f $PREFIX/lib/lib{{ each_lib }}.so # [linux] + - test ! -f $PREFIX/lib/lib{{ each_lib }}.dylib # [osx] + - if exist %LIBRARY_BIN%\{{ each_lib }}.dll exit 1 # [win] + - if exist %LIBRARY_LIB%\{{ each_lib }}.lib exit 1 # [win] + {% endfor %} + about: home: http://github.com/apache/arrow license: Apache-2.0 license_file: - LICENSE.txt - summary: C++ libraries for Apache Arrow + summary: C++ libraries for Apache Arrow core - # compat output for old naming scheme; switched for 10.0.0; keep for a few versions - - name: arrow-cpp + - name: libarrow-acero + script: install-libarrow.sh # [unix] + script: install-libarrow.bat # [win] version: {{ version }} build: string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}_{{ build_ext }} run_exports: - - {{ pin_subpackage("libarrow", max_pin="x.x.x") }} + - {{ pin_subpackage("libarrow-acero", max_pin="x.x") }} requirements: + build: + - cmake + - ninja + # for strong run-exports + - {{ compiler("c") }} + - {{ stdlib("c") }} + - {{ compiler("cxx") }} host: - - {{ pin_subpackage('libarrow', exact=True) }} + - {{ pin_subpackage("libarrow", exact=True) }} run: - - {{ pin_subpackage('libarrow', exact=True) }} + - {{ pin_subpackage("libarrow", exact=True) }} + # run-constraints handled by libarrow, since we depend on it with exact=True + test: commands: - - exit 0 + # headers + - test -f $PREFIX/include/arrow/acero/api.h # [unix] + - if not exist %LIBRARY_INC%\arrow\acero\api.h exit 1 # [win] + + # shared libraries + - test -f $PREFIX/lib/libarrow_acero.so # [linux] + - test -f $PREFIX/lib/libarrow_acero.dylib # [osx] + - if not exist %LIBRARY_BIN%\arrow_acero.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\arrow_acero.lib exit 1 # [win] - - name: pyarrow - script: build-pyarrow.sh # [unix] - script: build-pyarrow.bat # [win] + # absence of static libraries + - test ! -f $PREFIX/lib/libarrow_acero.a # [unix] + - if exist %LIBRARY_LIB%\arrow_acero_static.lib exit 1 # [win] + + about: + home: http://github.com/apache/arrow + license: Apache-2.0 + license_file: + - LICENSE.txt + summary: C++ libraries for Apache Arrow Acero + + - name: libarrow-dataset + script: install-libarrow.sh # [unix] + script: install-libarrow.bat # [win] version: {{ version }} build: - string: py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}_{{ build_ext }} - ignore_run_exports_from: - - {{ compiler("cuda") }} # [cuda_compiler_version != "None"] - track_features: {{ "[arrow-cuda]" if cuda_enabled else "" }} - rpaths: - - lib/ - - {{ SP_DIR }}/pyarrow - missing_dso_whitelist: - # not actually missing, but installed into SP_DIR, see tests - - '*/arrow_python.dll' # [win] - - '*/arrow_python_flight.dll' # [win] + string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}_{{ build_ext }} + run_exports: + - {{ pin_subpackage("libarrow-dataset", max_pin="x.x") }} requirements: build: + - cmake + - ninja + # for strong run-exports - {{ compiler("c") }} + - {{ stdlib("c") }} - {{ compiler("cxx") }} - # pyarrow does not require nvcc but it needs to link against libraries in libarrow=*=*cuda - - {{ compiler("cuda") }} # [cuda_compiler_version != "None"] - - python # [build_platform != target_platform] - - cross-python_{{ target_platform }} # [build_platform != target_platform] - - cython <3 # [build_platform != target_platform] - - numpy # [build_platform != target_platform] + host: + - {{ pin_subpackage("libarrow", exact=True) }} + - {{ pin_subpackage("libarrow-acero", exact=True) }} + - {{ pin_subpackage("libparquet", exact=True) }} + run: + - {{ pin_subpackage("libarrow", exact=True) }} + - {{ pin_subpackage("libarrow-acero", exact=True) }} + - {{ pin_subpackage("libparquet", exact=True) }} + # run-constraints handled by libarrow, since we depend on it with exact=True + + test: + commands: + # headers + - test -f $PREFIX/include/arrow/dataset/api.h # [unix] + - if not exist %LIBRARY_INC%\arrow\dataset\api.h exit 1 # [win] + + # shared libraries + - test -f $PREFIX/lib/libarrow_dataset.so # [linux] + - test -f $PREFIX/lib/libarrow_dataset.dylib # [osx] + - if not exist %LIBRARY_BIN%\arrow_dataset.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\arrow_dataset.lib exit 1 # [win] + + # absence of static libraries + - test ! -f $PREFIX/lib/libarrow_dataset.a # [unix] + - if exist %LIBRARY_LIB%\arrow_dataset_static.lib exit 1 # [win] + + about: + home: http://github.com/apache/arrow + license: Apache-2.0 + license_file: + - LICENSE.txt + summary: C++ libraries for Apache Arrow Dataset + + - name: libarrow-flight + script: install-libarrow.sh # [unix] + script: install-libarrow.bat # [win] + version: {{ version }} + build: + string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}_{{ build_ext }} + run_exports: + - {{ pin_subpackage("libarrow-flight", max_pin="x.x") }} + requirements: + build: - cmake - ninja + # for strong run-exports + - {{ compiler("c") }} + - {{ stdlib("c") }} + - {{ compiler("cxx") }} + # needs to run protoc & grpc_cpp_plugin + - libgrpc # [build_platform != target_platform] + - libprotobuf # [build_platform != target_platform] host: - - {{ pin_subpackage('libarrow', exact=True) }} - - clangdev {{ llvm_version }} - - llvmdev {{ llvm_version }} - - cython <3 - - numpy - - python - - setuptools - - setuptools_scm + - {{ pin_subpackage("libarrow", exact=True) }} + - libabseil + - libgrpc + - libprotobuf + - ucx # [linux] run: - - {{ pin_subpackage('libarrow', exact=True) }} - - {{ pin_compatible('numpy') }} - - python - run_constrained: - - apache-arrow-proc =*={{ build_ext }} + - {{ pin_subpackage("libarrow", exact=True) }} + # run-constraints handled by libarrow, since we depend on it with exact=True + + test: + commands: + # headers + - test -f $PREFIX/include/arrow/flight/types.h # [unix] + - if not exist %LIBRARY_INC%\arrow\flight\types.h exit 1 # [win] + + # shared libraries + - test -f $PREFIX/lib/libarrow_flight.so # [linux] + - test -f $PREFIX/lib/libarrow_flight.dylib # [osx] + - if not exist %LIBRARY_BIN%\arrow_flight.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\arrow_flight.lib exit 1 # [win] + + # absence of static libraries + - test ! -f $PREFIX/lib/libarrow_flight.a # [unix] + - if exist %LIBRARY_LIB%\arrow_flight_static.lib exit 1 # [win] + + # Only check UCX on Linux + - test -f $PREFIX/lib/libarrow_flight_transport_ucx.so # [linux] + + about: + home: http://github.com/apache/arrow + license: Apache-2.0 + license_file: + - LICENSE.txt + summary: C++ libraries for Apache Arrow Flight + + - name: libarrow-flight-sql + script: install-libarrow.sh # [unix] + script: install-libarrow.bat # [win] + version: {{ version }} + build: + string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}_{{ build_ext }} + run_exports: + - {{ pin_subpackage("libarrow-flight-sql", max_pin="x.x") }} + requirements: + build: + - cmake + - ninja + # for strong run-exports + - {{ compiler("c") }} + - {{ stdlib("c") }} + - {{ compiler("cxx") }} + # needs to run protoc & grpc_cpp_plugin + - libgrpc # [build_platform != target_platform] + - libprotobuf # [build_platform != target_platform] + host: + - {{ pin_subpackage("libarrow", exact=True) }} + - {{ pin_subpackage("libarrow-flight", exact=True) }} + - libprotobuf + run: + - {{ pin_subpackage("libarrow", exact=True) }} + - {{ pin_subpackage("libarrow-flight", exact=True) }} + # run-constraints handled by libarrow, since we depend on it with exact=True test: - files: - - test_read_parquet.py - imports: - - pyarrow - - pyarrow.dataset - - pyarrow.flight - - pyarrow.gandiva - - pyarrow.orc # [unix] - - pyarrow.parquet - - pyarrow.fs - - pyarrow._s3fs - - pyarrow._hdfs - # We can only test importing cuda package but cannot run when a - # CUDA device is not available, for instance, when building from CI. - # On Windows, we cannot even do that due to `nvcuda.dll` not being found, see - # https://conda-forge.org/docs/maintainer/knowledge_base.html#nvcuda-dll-cannot-be-found-on-windows - # However, we check below for (at least) the presence of a correctly-compiled module - - pyarrow.cuda # [cuda_compiler_version != "None" and not win] commands: - # libraries that depend on python (and hence aren't in libarrow itself) - - test -f ${SP_DIR}/pyarrow/libarrow_python.so # [linux] - - test -f ${SP_DIR}/pyarrow/libarrow_python_flight.so # [linux] - - test -f ${SP_DIR}/pyarrow/libarrow_python.dylib # [osx] - - test -f ${SP_DIR}/pyarrow/libarrow_python_flight.dylib # [osx] - - if not exist %SP_DIR%\pyarrow\arrow_python.dll exit 1 # [win] - - if not exist %SP_DIR%\pyarrow\arrow_python_flight.dll exit 1 # [win] - - - test -f ${SP_DIR}/pyarrow/include/arrow/python/pyarrow.h # [unix] - - if not exist %SP_DIR%\pyarrow\include\arrow\python\pyarrow.h exit 1 # [win] - - - test ! -f ${SP_DIR}/pyarrow/tests/test_array.py # [unix] - - if exist %SP_DIR%/pyarrow/tests/test_array.py exit 1 # [win] - # Need to remove dot from PY_VER; %MYVAR:x=y% replaces "x" in %MYVAR% with "y" - - if not exist %SP_DIR%/pyarrow/_cuda.cp%PY_VER:.=%-win_amd64.pyd exit 1 # [win and cuda_compiler_version != "None"] - - python test_read_parquet.py + # headers + - test -f $PREFIX/include/arrow/flight/sql/api.h # [unix] + - if not exist %LIBRARY_INC%\arrow\flight\sql\api.h exit 1 # [win] + + # shared libraries + - test -f $PREFIX/lib/libarrow_flight_sql.so # [linux] + - test -f $PREFIX/lib/libarrow_flight_sql.dylib # [osx] + - if not exist %LIBRARY_BIN%\arrow_flight_sql.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\arrow_flight_sql.lib exit 1 # [win] + + # absence of static libraries + - test ! -f $PREFIX/lib/libarrow_flight_sql.a # [unix] + - if exist %LIBRARY_LIB%\arrow_flight_sql_static.lib exit 1 # [win] about: home: http://github.com/apache/arrow license: Apache-2.0 license_file: - LICENSE.txt - summary: Python libraries for Apache Arrow + summary: C++ libraries for Apache Arrow Flight SQL - - name: pyarrow-tests - script: build-pyarrow.sh # [unix] - script: build-pyarrow.bat # [win] + - name: libarrow-gandiva + script: install-libarrow.sh # [unix] + script: install-libarrow.bat # [win] version: {{ version }} build: - string: py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}_{{ build_ext }} - ignore_run_exports_from: - - {{ compiler("cuda") }} # [cuda_compiler_version != "None"] - track_features: {{ "[arrow-cuda]" if cuda_enabled else "" }} + string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}_{{ build_ext }} + run_exports: + - {{ pin_subpackage("libarrow-gandiva", max_pin="x.x") }} requirements: build: + - cmake + - ninja + # for strong run-exports - {{ compiler("c") }} + - {{ stdlib("c") }} + - {{ compiler("cxx") }} + host: + - {{ pin_subpackage("libarrow", exact=True) }} + - libutf8proc + # gandiva requires shared libllvm; needs to match version used at build time + - llvm {{ llvm_version }} # [unix] + - openssl + - re2 + - zlib # [win] + - zstd # [win] + run: + - {{ pin_subpackage("libarrow", exact=True) }} + # run-constraints handled by libarrow, since we depend on it with exact=True + + test: + commands: + # headers + - test -f $PREFIX/include/gandiva/engine.h # [unix] + - if not exist %LIBRARY_INC%\gandiva\engine.h exit 1 # [win] + + # shared libraries + - test -f $PREFIX/lib/libgandiva.so # [linux] + - test -f $PREFIX/lib/libgandiva.dylib # [osx] + - if not exist %LIBRARY_BIN%\gandiva.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\gandiva.lib exit 1 # [win] + + # absence of static libraries + - test ! -f $PREFIX/lib/libgandiva.a # [unix] + - if exist %LIBRARY_LIB%\gandiva_static.lib exit 1 # [win] + + about: + home: http://github.com/apache/arrow + license: Apache-2.0 + license_file: + - LICENSE.txt + summary: C++ libraries for Apache Arrow Gandiva + + - name: libarrow-substrait + script: install-libarrow.sh # [unix] + script: install-libarrow.bat # [win] + version: {{ version }} + build: + string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}_{{ build_ext }} + run_exports: + - {{ pin_subpackage("libarrow-substrait", max_pin="x.x") }} + requirements: + build: + - cmake + - ninja + # for strong run-exports + - {{ compiler("c") }} + - {{ compiler("cxx") }} + - libprotobuf # [build_platform != target_platform] + # for strong run-exports + - {{ compiler("c") }} + - {{ stdlib("c") }} - {{ compiler("cxx") }} - # pyarrow does not require nvcc but it needs to link against libraries in libarrow=*=*cuda - - {{ compiler("cuda") }} # [cuda_compiler_version != "None"] - - python # [build_platform != target_platform] - - cross-python_{{ target_platform }} # [build_platform != target_platform] - - cython <3 # [build_platform != target_platform] - - numpy # [build_platform != target_platform] - cmake - ninja host: - - {{ pin_subpackage('libarrow', exact=True) }} - - {{ pin_subpackage('pyarrow', exact=True) }} - - clangdev {{ llvm_version }} - - llvmdev {{ llvm_version }} - - cython <3 - - numpy - - python - - setuptools - - setuptools_scm + - {{ pin_subpackage("libarrow", exact=True) }} + - {{ pin_subpackage("libarrow-acero", exact=True) }} + - {{ pin_subpackage("libarrow-dataset", exact=True) }} + - libabseil + - libprotobuf run: - - {{ pin_subpackage('pyarrow', exact=True) }} - - python - run_constrained: - - apache-arrow-proc =*={{ build_ext }} + - {{ pin_subpackage("libarrow", exact=True) }} + - {{ pin_subpackage("libarrow-acero", exact=True) }} + - {{ pin_subpackage("libarrow-dataset", exact=True) }} + # run-constraints handled by libarrow, since we depend on it with exact=True - # crossbow CI: reduce to one python version, except on (unemulated) linux, where it's fast enough - {% if linux64 or py == 311 %} - # {% if not (aarch64 or ppc64le) or py == 311 %} - # only run the full test suite for one python version when in emulation - # (each run can take up to ~45min); there's essentially zero divergence - # in behaviour across python versions anyway test: - requires: - # test_cpp_extension_in_python requires a compiler - - {{ compiler("cxx") }} # [linux] - - pytest - - backports.zoneinfo # [py<39] - - boto3 - - cffi - - cloudpickle - - cython <3 - - fastparquet - - fsspec - - hypothesis - # currently disabled due to GH-37692 - # - minio-server - - pandas - - s3fs >=2023 - - scipy - # these are generally (far) behind on migrating abseil/grpc/protobuf, - # and using them as test dependencies blocks the migrator unnecessarily - # - pytorch - # - tensorflow - # we're not building java bindings - # - jpype1 - # doesn't get picked up correctly - # - libhdfs3 - # causes segfaults - # - sparse - source_files: - - testing/data commands: - - cd ${SP_DIR} # [unix] - - cd %SP_DIR% # [win] - - export ARROW_TEST_DATA="${SRC_DIR}/testing/data" # [unix] - - set "ARROW_TEST_DATA=%SRC_DIR%\testing\data" # [win] - - {% set tests_to_skip = "_not_a_real_test" %} - # we do not have GPUs in CI --> cannot test cuda - {% set tests_to_skip = tests_to_skip + " or test_cuda" %} - # skip tests that raise SIGINT and crash the test suite - {% set tests_to_skip = tests_to_skip + " or (test_csv and test_cancellation)" %} # [linux] - # skip test that intentionally writes out of bounds and then expects no error message - {% set tests_to_skip = tests_to_skip + " or test_debug_memory_pool_disabled[system_memory_pool]" %} # [osx] - # skip tests that make invalid(-for-conda) assumptions about the compilers setup - {% set tests_to_skip = tests_to_skip + " or test_cython_api" %} # [unix] - {% set tests_to_skip = tests_to_skip + " or test_visit_strings" %} # [unix] - # skip tests that cannot succeed in emulation - {% set tests_to_skip = tests_to_skip + " or test_debug_memory_pool_disabled" %} # [aarch64 or ppc64le] - {% set tests_to_skip = tests_to_skip + " or test_env_var_io_thread_count" %} # [aarch64 or ppc64le] - # XMinioInvalidObjectName on osx/win: "Object name contains unsupported characters" - {% set tests_to_skip = tests_to_skip + " or test_write_to_dataset_with_partitions_s3fs" %} # [osx or win] - # vvvvvvv TESTS THAT SHOULDN'T HAVE TO BE SKIPPED vvvvvvv - # currently broken - {% set tests_to_skip = tests_to_skip + " or test_fastparquet_cross_compatibility" %} - # gandiva tests are segfaulting on ppc - {% set tests_to_skip = tests_to_skip + " or test_gandiva" %} # [ppc64le] - # test failures on ppc (both failing with: Float value was truncated converting to int32) - {% set tests_to_skip = tests_to_skip + " or test_safe_cast_from_float_with_nans_to_int" %} # [ppc64le] - {% set tests_to_skip = tests_to_skip + " or test_float_with_null_as_integer" %} # [ppc64le] - # ^^^^^^^ TESTS THAT SHOULDN'T HAVE TO BE SKIPPED ^^^^^^^ - - pytest pyarrow/ -rfEs -k "not ({{ tests_to_skip }})" - {% endif %} + # headers + - test -f $PREFIX/include/arrow/engine/substrait/api.h # [unix] + - if not exist %LIBRARY_INC%\arrow\engine\substrait\api.h exit 1 # [win] + + # shared libraries + - test -f $PREFIX/lib/libarrow_substrait.so # [linux] + - test -f $PREFIX/lib/libarrow_substrait.dylib # [osx] + - if not exist %LIBRARY_BIN%\arrow_substrait.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\arrow_substrait.lib exit 1 # [win] + + # absence of static libraries + - test ! -f $PREFIX/lib/libarrow_substrait.a # [unix] + - if exist %LIBRARY_LIB%\arrow_substrait_static.lib exit 1 # [win] + + about: + home: http://github.com/apache/arrow + license: Apache-2.0 + license_file: + - LICENSE.txt + summary: C++ libraries for Apache Arrow Substrait + + - name: libparquet + script: install-libarrow.sh # [unix] + script: install-libarrow.bat # [win] + version: {{ version }} + build: + string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}_{{ build_ext }} + run_exports: + - {{ pin_subpackage("libparquet", max_pin="x.x") }} + requirements: + build: + - cmake + - ninja + # for strong run-exports + - {{ compiler("c") }} + - {{ stdlib("c") }} + - {{ compiler("cxx") }} + host: + - {{ pin_subpackage("libarrow", exact=True) }} + - openssl + - thrift-cpp + run: + - {{ pin_subpackage("libarrow", exact=True) }} + # run-constraints handled by libarrow, since we depend on it with exact=True + + test: + commands: + # headers + - test -f $PREFIX/include/parquet/api/reader.h # [unix] + - if not exist %LIBRARY_INC%\parquet\api\reader.h exit 1 # [win] + + # shared libraries + - test -f $PREFIX/lib/libparquet.so # [linux] + - test -f $PREFIX/lib/libparquet.dylib # [osx] + - if not exist %LIBRARY_BIN%\parquet.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\parquet.lib exit 1 # [win] + + # absence of static libraries + - test ! -f $PREFIX/lib/libparquet.a # [unix] + - if exist %LIBRARY_LIB%\parquet_static.lib exit 1 # [win] about: home: http://github.com/apache/arrow license: Apache-2.0 license_file: - LICENSE.txt - summary: Python test files for Apache Arrow + summary: C++ libraries for Apache Parquet about: home: http://github.com/apache/arrow license: Apache-2.0 license_file: - LICENSE.txt - summary: C++ and Python libraries for Apache Arrow + summary: C++ libraries for Apache Arrow extra: recipe-maintainers: @@ -429,4 +642,5 @@ extra: - nealrichardson - jakirkham - h-vetinari + - raulcd feedstock-name: arrow-cpp diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index 2d84751d0f3..e890dc2bbe2 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -245,7 +245,7 @@ tasks: ci: azure template: conda-recipes/azure.linux.yml params: - config: linux_64_cuda_compiler_versionNone + config: linux_64_c_compiler_version12c_stdlib_version2.12cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version12 artifacts: - libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda - pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.conda @@ -257,7 +257,7 @@ tasks: ci: azure template: conda-recipes/azure.linux.yml params: - config: linux_64_cuda_compiler_version11.2 + config: linux_64_c_compiler_version11c_stdlib_version2.17cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11 artifacts: - libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cuda.conda - pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cuda.conda @@ -271,7 +271,7 @@ tasks: ci: azure template: conda-recipes/azure.linux.yml params: - config: linux_aarch64_cuda_compiler_versionNone + config: linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13.yaml artifacts: - libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda - pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.conda @@ -283,7 +283,7 @@ tasks: ci: azure template: conda-recipes/azure.linux.yml params: - config: linux_aarch64_cuda_compiler_version11.2 + config: linux_aarch64_c_compiler_version10cuda_compiler_version11.8cxx_compiler_version10 artifacts: - libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cuda.conda - pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cuda.conda @@ -297,7 +297,7 @@ tasks: ci: azure template: conda-recipes/azure.linux.yml params: - config: linux_ppc64le_cuda_compiler_versionNone + config: linux_ppc64le_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13 artifacts: - libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda - pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.conda @@ -309,7 +309,7 @@ tasks: ci: azure template: conda-recipes/azure.linux.yml params: - config: linux_ppc64le_cuda_compiler_version11.2 + config: linux_ppc64le_c_compiler_version10cuda_compiler_version11.8cxx_compiler_version10 artifacts: - libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cuda.conda - pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cuda.conda @@ -351,7 +351,7 @@ tasks: ci: azure template: conda-recipes/azure.win.yml params: - config: win_64_cuda_compiler_versionNone + config: win_64_cuda_compiler_versionNonewin_64_cuda_compilerNonecuda_compiler_versionNone artifacts: - libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda - pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.conda @@ -363,7 +363,7 @@ tasks: ci: azure template: conda-recipes/azure.win.yml params: - config: win_64_cuda_compiler_version11.2 + config: win_64_cuda_compilernvcccuda_compiler_version11.8 artifacts: - libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cuda.conda - pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cuda.conda