diff --git a/devel/ispc/Makefile b/devel/ispc/Makefile index e889a3938d63..bdef6ef1c4de 100644 --- a/devel/ispc/Makefile +++ b/devel/ispc/Makefile @@ -1,96 +1,88 @@ # Created by: Yuri Victorovich PORTNAME= ispc DISTVERSIONPREFIX= v -DISTVERSION= 1.17.0 -PORTREVISION= 2 +DISTVERSION= 1.18.0 CATEGORIES= devel -PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ -PATCHFILES+= 3fce3f7be9a118c47ed1756ffee9301e9a167ca4.patch:-p1 \ - ef1873aa63b7b81e5e05b5c422919e82668df0a5.patch:-p1 \ - 23df305ed8d786d76b9996461e0a885d274aa031.patch:-p1 \ - 3a349e324ec7e1318efbb1c6bd56917cedf2c3a9.patch:-p1 \ - e1ffe37ecef2e882aac9ee5676b8816ffd6fb1d9.patch:-p1 # https://github.com/ispc/ispc/pull/2258 - MAINTAINER= yuri@FreeBSD.org COMMENT= Intel's compiler for high-performance SIMD programming LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE.txt ONLY_FOR_ARCHS= aarch64 amd64 i386 ONLY_FOR_ARCHS_REASON= only available for these architectures BUILD_DEPENDS= ${LOCALBASE}/bin/flex:textproc/flex \ m4:devel/m4 LIB_DEPENDS= libLLVM.so:devel/llvm${LLVM_VERSION} USES= bison cmake compiler:c++14-lang python:build,test shebangfix USE_LDCONFIG= yes + USE_GITHUB= yes +GH_TUPLE= google:googletest:6a7ed31:googletest/ispcrt/tests/vendor/google/googletest SHEBANG_FILES= *.py -CONFIGURE_ENV= PATH=${LOCALBASE}/llvm${LLVM_VERSION}/bin:${PATH} -CMAKE_OFF= ISPC_NO_DUMPS ISPC_INCLUDE_EXAMPLES +CONFIGURE_ENV= PATH=${LOCALBASE}/llvm${LLVM_VERSION}/bin:${PATH} # see https://github.com/ispc/ispc/issues/2318 +CMAKE_OFF= ISPC_NO_DUMPS DISPCRT_BUILD_GPU ISPC_INCLUDE_TESTS ISPCRT_BUILD_TESTS ISPC_INCLUDE_EXAMPLES +CMAKE_ARGS= -DFREEBSD_LLVM_VERSION=${LLVM_VERSION} # see https://github.com/ispc/ispc/issues/2318 BINARY_ALIAS= flex=${LOCALBASE}/bin/flex python=${PYTHON_CMD} m4=${LOCALBASE}/bin/gm4 -PLIST_FILES= bin/ispc \ - bin/check_isa - OPTIONS_DEFINE_amd64= ARM XE OPTIONS_DEFINE_i386= ARM ARM_DESC= Enable ARM support - requires ARM backend in LLVM ARM_CMAKE_BOOL= ARM_ENABLED XE_DESC= Enable Intel Xe support XE_BUILD_DEPENDS= ${LOCALBASE}/llvm${LLVM_VERSION}/lib/libLLVMGenXIntrinsics.a:devel/vc-intrinsics@llvm${LLVM_VERSION} XE_LIB_DEPENDS= libze_loader.so:devel/level-zero \ libLLVMSPIRVLib.so.${LLVM_VERSION}:devel/spirv-llvm-translator@llvm${LLVM_VERSION} XE_CMAKE_BOOL= XE_ENABLED XE_CMAKE_BOOL_OFF= ISPCRT_BUILD_TESTS XE_CMAKE_ON= -DXE_DEPS_DIR:PATH="${LOCALBASE}/llvm${LLVM_VERSION}" -DISPC_INCLUDE_XE_EXAMPLES=OFF XE_PLIST_FILES= include/ispcrt/ispcrt.h \ include/ispcrt/ispcrt.hpp \ include/ispcrt/ispcrt.isph \ lib/cmake/ispcrt-${PORTVERSION}/Finddpcpp_compiler.cmake \ lib/cmake/ispcrt-${PORTVERSION}/Findlevel_zero.cmake \ lib/cmake/ispcrt-${PORTVERSION}/interop.cmake \ lib/cmake/ispcrt-${PORTVERSION}/ispc.cmake \ lib/cmake/ispcrt-${PORTVERSION}/ispcrtConfig.cmake \ lib/cmake/ispcrt-${PORTVERSION}/ispcrt_Exports-%%CMAKE_BUILD_TYPE%%.cmake \ lib/cmake/ispcrt-${PORTVERSION}/ispcrt_Exports.cmake \ lib/libispcrt.so \ lib/libispcrt.so.1 \ lib/libispcrt.so.${PORTVERSION} \ lib/libispcrt_static.a XE_BROKEN= Unknown architecture #.include #.if ${LLVM_DEFAULT:M[7891]0} || ${LLVM_DEFAULT:M1[12]} # max(LLVM_DEFAULT,13) #LLVM_VERSION= 13 #.else #LLVM_VERSION= ${LLVM_DEFAULT} #.endif LLVM_VERSION?= 13 do-test: # all tests pass @cd ${WRKSRC} && ISPC_HOME=${BUILD_WRKSRC}/bin ./run_tests.py test-check-all: # the upstream claims that some of these checks are broken without using their patched llvm version, hence using llvm-devel @cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} check-all run-examples: build @[ -f ${LOCALBASE}/lib/libtbb.so ] || ! echo "ERROR run-examples target requires devel/tbb package installed" .for e in simple sort mandelbrot stencil @cd ${WRKSRC}/examples/${e} && \ ${ECHO} "===> Running example ${e}" && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} && \ ./${e} .endfor .include diff --git a/devel/ispc/distinfo b/devel/ispc/distinfo index 09b426c1939c..7a37f688d76f 100644 --- a/devel/ispc/distinfo +++ b/devel/ispc/distinfo @@ -1,13 +1,5 @@ -TIMESTAMP = 1644005886 -SHA256 (ispc-ispc-v1.17.0_GH0.tar.gz) = 37fb1055d6c6b232e112d8d50145d726824ed4d8da93a7396315dceba6c76e62 -SIZE (ispc-ispc-v1.17.0_GH0.tar.gz) = 19436681 -SHA256 (3fce3f7be9a118c47ed1756ffee9301e9a167ca4.patch) = f244e0afca51f0c8f84204b6746e02f5d787f5ec7dce099db6ac8477913f2748 -SIZE (3fce3f7be9a118c47ed1756ffee9301e9a167ca4.patch) = 665 -SHA256 (ef1873aa63b7b81e5e05b5c422919e82668df0a5.patch) = 0eab2842e35765dde7c554dc97679f937e3eb798049e07394ed6578c78d14d06 -SIZE (ef1873aa63b7b81e5e05b5c422919e82668df0a5.patch) = 2273 -SHA256 (23df305ed8d786d76b9996461e0a885d274aa031.patch) = 197d64e9d6ae05876912fe9e76fde30ba8061307b1eb4d44e3100d176db29bad -SIZE (23df305ed8d786d76b9996461e0a885d274aa031.patch) = 3666 -SHA256 (3a349e324ec7e1318efbb1c6bd56917cedf2c3a9.patch) = 8271c44276d6b2baa8944543e2600027983af4dab532f32b0d72a1fdd0297de2 -SIZE (3a349e324ec7e1318efbb1c6bd56917cedf2c3a9.patch) = 2210 -SHA256 (e1ffe37ecef2e882aac9ee5676b8816ffd6fb1d9.patch) = 9cea85376df2b6eef8b64e7f7525fa8f72801ef2fc01de2868db9f2881841eb3 -SIZE (e1ffe37ecef2e882aac9ee5676b8816ffd6fb1d9.patch) = 985 +TIMESTAMP = 1651860802 +SHA256 (ispc-ispc-v1.18.0_GH0.tar.gz) = 81f2cc23b555c815faf53429e9eee37d1f2f16873ae7074e382ede94721ee042 +SIZE (ispc-ispc-v1.18.0_GH0.tar.gz) = 19469764 +SHA256 (google-googletest-6a7ed31_GH0.tar.gz) = f488bc430d2b5fdbc51711b142fd50dbf0f33012fa65c5f8e7d4f908ed935bcf +SIZE (google-googletest-6a7ed31_GH0.tar.gz) = 904250 diff --git a/devel/ispc/files/patch-cmake_FindLLVM.cmake b/devel/ispc/files/patch-cmake_FindLLVM.cmake new file mode 100644 index 000000000000..fea3c3ff9cc5 --- /dev/null +++ b/devel/ispc/files/patch-cmake_FindLLVM.cmake @@ -0,0 +1,24 @@ +- workaround for https://github.com/ispc/ispc/issues/2318 + +--- cmake/FindLLVM.cmake.orig 2022-05-05 23:06:57 UTC ++++ cmake/FindLLVM.cmake +@@ -33,7 +33,7 @@ + # + # ispc FindLLVM.cmake + # +-find_package(LLVM REQUIRED CONFIG) ++find_package(LLVM ${FREEBSD_LLVM_VERSION} REQUIRED CONFIG) + if (NOT LLVM_FOUND ) + message(FATAL_ERROR "LLVM package can't be found. \ + Set CMAKE_PREFIX_PATH variable to LLVM's installation prefix.") +@@ -41,8 +41,8 @@ find_package(LLVM REQUIRED CONFIG) + set(LLVM_VERSION "LLVM_${LLVM_VERSION_MAJOR}_${LLVM_VERSION_MINOR}") + message(STATUS "Found LLVM ${LLVM_VERSION}") + +-find_program(LLVM_CONFIG_EXECUTABLE NAMES llvm-config +- PATHS ${LLVM_TOOLS_BINARY_DIR} PATH_SUFFIXES bin NO_DEFAULT_PATH) ++find_program(LLVM_CONFIG_EXECUTABLE NAMES llvm-config${FREEBSD_LLVM_VERSION} ++ PATHS ${LLVM_TOOLS_BINARY_DIR} PATH_SUFFIXES bin) + if (NOT LLVM_CONFIG_EXECUTABLE) + message(FATAL_ERROR "Failed to find llvm-config") + endif() diff --git a/devel/ispc/pkg-plist b/devel/ispc/pkg-plist new file mode 100644 index 000000000000..c2161edde55f --- /dev/null +++ b/devel/ispc/pkg-plist @@ -0,0 +1,17 @@ +bin/check_isa +bin/ispc +include/ispcrt/ispcrt.h +include/ispcrt/ispcrt.hpp +include/ispcrt/ispcrt.isph +lib/cmake/ispcrt-1.18.0/Finddpcpp_compiler.cmake +lib/cmake/ispcrt-1.18.0/Findlevel_zero.cmake +lib/cmake/ispcrt-1.18.0/interop.cmake +lib/cmake/ispcrt-1.18.0/ispc.cmake +lib/cmake/ispcrt-1.18.0/ispcrtConfig.cmake +lib/cmake/ispcrt-1.18.0/ispcrtConfigVersion.cmake +lib/cmake/ispcrt-1.18.0/ispcrt_Exports-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/ispcrt-1.18.0/ispcrt_Exports.cmake +lib/libispcrt.so +lib/libispcrt.so.1 +lib/libispcrt.so.1.18.0 +lib/libispcrt_static.a