diff --git a/ports/arrayfire/portfile.cmake b/ports/arrayfire/portfile.cmake index d6640becc7..1d2a136767 100644 --- a/ports/arrayfire/portfile.cmake +++ b/ports/arrayfire/portfile.cmake @@ -5,6 +5,13 @@ vcpkg_download_distfile( SHA512 201ba8c46f5eafd5d8dbc78ddc1fb4c24b8d820f034e081b8ff30712705fe059c2850bbb7394d81931620619071559fed0e98b13cc4f985103e354c44a322e78 ) +# When updating arrayfire check $/CMakeModules/build_cl2hpp.cmake for this to match +vcpkg_download_distfile(CL2HPP + URLS "https://github.com/KhronosGroup/OpenCL-CLHPP/releases/download/v2.0.10/cl2.hpp" + FILENAME "arrayfire-${VERSION}-cl2hpp.hpp" + SHA512 f220e3dd013596fe3134bf43e2957c293186071460f2a03f6e81e0e7def3213a568d4b29a06b4921cd3488e8626200dcd4693808f0f6c8f88e67d4147ff474e8 +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO arrayfire/arrayfire @@ -16,9 +23,12 @@ vcpkg_from_github( Fix-constexpr-error-with-vs2019-with-half.patch fix-dependency-clfft.patch fix-miss-header-file.patch + remove-cl2hpp-download.diff "${CUDA_PATCHES}" ) +file(COPY_FILE "${CL2HPP}" "${SOURCE_PATH}/cl2.hpp") + # arrayfire cpu thread lib needed as a submodule for the CPU backend vcpkg_from_github( OUT_SOURCE_PATH CPU_THREADS_PATH diff --git a/ports/arrayfire/remove-cl2hpp-download.diff b/ports/arrayfire/remove-cl2hpp-download.diff new file mode 100644 index 0000000000..067a622e62 --- /dev/null +++ b/ports/arrayfire/remove-cl2hpp-download.diff @@ -0,0 +1,20 @@ +diff --git a/CMakeModules/build_cl2hpp.cmake b/CMakeModules/build_cl2hpp.cmake +index 70a94c5..083f7c2 100644 +--- a/CMakeModules/build_cl2hpp.cmake ++++ b/CMakeModules/build_cl2hpp.cmake +@@ -17,12 +17,11 @@ set(cl2hpp_file_url "https://github.com/KhronosGroup/OpenCL-CLHPP/releases/downl + set(cl2hpp_file "${ArrayFire_BINARY_DIR}/include/CL/cl2.hpp") + + if(OpenCL_FOUND) ++ get_filename_component(download_dir ${cl2hpp_file} DIRECTORY) + if (NOT EXISTS ${cl2hpp_file}) +- message(STATUS "Downloading ${cl2hpp_file_url}") +- file(DOWNLOAD ${cl2hpp_file_url} ${cl2hpp_file} +- EXPECTED_HASH MD5=c38d1b78cd98cc809fa2a49dbd1734a5) ++ file(MAKE_DIRECTORY "${download_dir}") ++ file(COPY_FILE "${CMAKE_CURRENT_LIST_DIR}/../cl2.hpp" "${cl2hpp_file}") + endif() +- get_filename_component(download_dir ${cl2hpp_file} DIRECTORY) + + if (NOT TARGET OpenCL::cl2hpp OR + NOT TARGET cl2hpp) diff --git a/ports/arrayfire/vcpkg.json b/ports/arrayfire/vcpkg.json index f12aae3059..7b2f5734a9 100644 --- a/ports/arrayfire/vcpkg.json +++ b/ports/arrayfire/vcpkg.json @@ -1,7 +1,7 @@ { "name": "arrayfire", "version-semver": "3.8.0", - "port-version": 8, + "port-version": 9, "description": "ArrayFire is a general-purpose library that simplifies the process of developing software that targets parallel and massively-parallel architectures including CPUs, GPUs, and other hardware acceleration devices.", "homepage": "https://github.com/arrayfire/arrayfire", "license": "BSD-3-Clause", diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 5fcb7ef303..010001d433 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -638,7 +638,6 @@ soem:x64-android=fail soil:arm-neon-android=fail soil:arm64-android=fail soil:x64-android=fail -solid3:arm64-android=fail spaceland:arm64-android=fail spaceland:arm64-uwp=fail spaceland:arm64-windows-static-md=fail diff --git a/scripts/ci.feature.baseline.txt b/scripts/ci.feature.baseline.txt index 4327e99487..acc4fcd76a 100644 --- a/scripts/ci.feature.baseline.txt +++ b/scripts/ci.feature.baseline.txt @@ -300,11 +300,19 @@ armadillo:arm-neon-android=cascade armadillo:arm64-android=cascade armadillo:x64-android=cascade arpack-ng:arm64-windows = cascade +arrayfire:x64-android = fail # CMake Error at CMakeLists.txt:140 (message): Native Directory not found. Run cmake in a separatedirectory and build the bin2cpp target. arrayfire:x64-uwp = cascade -arrayfire[cuda]:x64-windows = cascade -arrayfire[cuda]:x64-windows-static = cascade -arrayfire[cuda]:x64-windows-static-md = cascade +arrayfire[cpu]((!windows & !linux) | !x64) = cascade +arrayfire[cuda]:x64-linux = feature-fails +arrayfire[cuda]:x64-windows = feature-fails +arrayfire[cuda]:x64-windows-release = feature-fails +arrayfire[cuda]:x64-windows-static = feature-fails +arrayfire[cuda]:x64-windows-static-md = feature-fails +arrayfire[cuda](((!windows | !x64 | uwp | xbox) & (!linux | !x64) & (!linux | !arm64)) | ((!windows | !x64 | uwp) & (!linux | !x64) & (!linux | !arm64))) = cascade +arrayfire[opencl]:x64-linux = feature-fails arrayfire[opencl](uwp) = cascade +arrayfire[unified]:x64-windows-static = feature-fails # ninja: error: 'MKL_ThreadingLibrary_LINK_LIBRARY-NOTFOUND', needed by 'bin/af.dll', missing and no known rule to make it +arrayfire[unified]((!windows & !linux) | !x64) = cascade arrow:x64-uwp = cascade arrow[cuda]:x64-linux = feature-fails arrow[cuda]:x64-windows = feature-fails diff --git a/versions/a-/arrayfire.json b/versions/a-/arrayfire.json index 7f675df3bb..3a75515ae3 100644 --- a/versions/a-/arrayfire.json +++ b/versions/a-/arrayfire.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c0aef37891aafcb73d45f1e18bba8c581085b099", + "version-semver": "3.8.0", + "port-version": 9 + }, { "git-tree": "3ed888c7fc2aa125e626ff0f097b00a4230bab1c", "version-semver": "3.8.0", diff --git a/versions/baseline.json b/versions/baseline.json index 2d372542c8..0ffb9944fb 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -274,7 +274,7 @@ }, "arrayfire": { "baseline": "3.8.0", - "port-version": 8 + "port-version": 9 }, "arrow": { "baseline": "21.0.0",