aboutsummaryrefslogtreecommitdiff
path: root/lang/halide
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2022-08-17 13:56:42 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2022-08-17 13:57:56 +0000
commit1abb14001d8b495009a3e5ce7bf971660f22198b (patch)
treeaa9241c043dc19687ad980d8f8697d5162a85425 /lang/halide
parent9f2603dce0c29e41ec559328c775ec511114c8f4 (diff)
Diffstat (limited to 'lang/halide')
-rw-r--r--lang/halide/Makefile33
-rw-r--r--lang/halide/distinfo8
-rw-r--r--lang/halide/files/patch-packaging_CMakeLists.txt22
-rw-r--r--lang/halide/files/patch-src_LLVM__Runtime__Linker.cpp11
-rw-r--r--lang/halide/files/patch-src_Target.cpp20
-rw-r--r--lang/halide/files/patch-src_Target.h10
-rw-r--r--lang/halide/files/patch-src_Util.cpp23
-rw-r--r--lang/halide/pkg-plist24
8 files changed, 103 insertions, 48 deletions
diff --git a/lang/halide/Makefile b/lang/halide/Makefile
index de233764bac2..79c5f5317557 100644
--- a/lang/halide/Makefile
+++ b/lang/halide/Makefile
@@ -1,12 +1,9 @@
PORTNAME= halide
-DISTVERSIONPREFIX= release_
-DISTVERSION= 2019_08_27-2654
-DISTVERSIONSUFFIX= -g664dc4993
+DISTVERSIONPREFIX= v
+DISTVERSION= 14.0.0
+PORTEPOCH= 1
CATEGORIES= lang
-PATCH_SITES= https://github.com/halide/Halide/commit/
-PATCHFILES= 890a5199ae8ade759de076217670ae980bf44823.patch:-p1
-
MAINTAINER= yuri@FreeBSD.org
COMMENT= Language for fast and portable data-parallel computation
@@ -15,22 +12,28 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BROKEN_riscv64= fails to build: /usr/include/c++/v1/__config:1141:6: No thread API
-BUILD_DEPENDS= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} # because halide expects LLVMConfig.cmake
-RUN_DEPENDS= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT}
+BUILD_DEPENDS= llvm${LLVM_VERSION}>0:devel/llvm${LLVM_VERSION} # because halide expects LLVMConfig.cmake
+RUN_DEPENDS= llvm${LLVM_VERSION}>0:devel/llvm${LLVM_VERSION}
+
+USES= cmake:testing # one test (test_apps_autoscheduler) hangs
+USE_LDCONFIG= yes
-USES= cmake
USE_GITHUB= yes
GH_PROJECT= Halide
-USE_LDCONFIG= yes
+
+LLVM_VERSION= 14 # last supported llvm
# use the same compiler that devel/llvmNN installs
-CC= clang${LLVM_DEFAULT}
-CXX= clang++${LLVM_DEFAULT}
-CPP= clang-cpp${LLVM_DEFAULT}
+CC= clang${LLVM_VERSION}
+CXX= clang++${LLVM_VERSION}
+CPP= clang-cpp${LLVM_VERSION}
-CMAKE_ARGS= -DLLVM_DIR=${LOCALBASE}/llvm${LLVM_DEFAULT}/lib/cmake/llvm
-CMAKE_ON= LLVM_USE_SHARED_LLVM_LIBRARY HALIDE_SHARED_LIBRARY
+CMAKE_ARGS= -DLLVM_DIR=${LOCALBASE}/llvm${LLVM_VERSION}/lib/cmake/llvm
+CMAKE_ON= LLVM_USE_SHARED_LLVM_LIBRARY HALIDE_SHARED_LIBRARY \
+ Halide_SHARED_LLVM
CMAKE_OFF= WITH_PYTHON_BINDINGS WITH_APPS WITH_TUTORIALS WITH_DOCS WITH_TESTS # APPS are demos
+CMAKE_OFF+= Halide_WITH_INTROSPECTION # missing program_invocation_name variable, see https://github.com/halide/Halide/issues/6945#issuecomment-1217146679
+CMAKE_OFF+= WITH_WABT # fetches wabt (when www/wabt is available)
OPTIONS_DEFINE= NATIVE
OPTIONS_DEFAULT=
diff --git a/lang/halide/distinfo b/lang/halide/distinfo
index 3a6ef39057e3..94b2c2bf778e 100644
--- a/lang/halide/distinfo
+++ b/lang/halide/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1608695516
-SHA256 (halide-Halide-release_2019_08_27-2654-g664dc4993_GH0.tar.gz) = d0f24dcf7d9adc80ab24b9098b65f89911943a3fca30d6f4bfcc59c608fbc78a
-SIZE (halide-Halide-release_2019_08_27-2654-g664dc4993_GH0.tar.gz) = 30730902
-SHA256 (890a5199ae8ade759de076217670ae980bf44823.patch) = 8bb2a9790a5068c27a2abdf7a6a88ef1f0678a9e091655e1b9922b787b60c896
-SIZE (890a5199ae8ade759de076217670ae980bf44823.patch) = 1811
+TIMESTAMP = 1660683499
+SHA256 (halide-Halide-v14.0.0_GH0.tar.gz) = f9fc9765217cbd10e3a3e3883a60fc8f2dbbeaac634b45c789577a8a87999a01
+SIZE (halide-Halide-v14.0.0_GH0.tar.gz) = 31806106
diff --git a/lang/halide/files/patch-packaging_CMakeLists.txt b/lang/halide/files/patch-packaging_CMakeLists.txt
deleted file mode 100644
index 6938b5243d1f..000000000000
--- a/lang/halide/files/patch-packaging_CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
---- packaging/CMakeLists.txt.orig 2020-09-06 15:39:31 UTC
-+++ packaging/CMakeLists.txt
-@@ -22,16 +22,16 @@ install(TARGETS Halide Halide_Generator Halide_RunGenM
- EXPORT Halide_Targets
-
- RUNTIME
-- DESTINATION ${CMAKE_INSTALL_BINDIR}/${CONFIG_DIR}
-+ DESTINATION ${CMAKE_INSTALL_BINDIR}
- COMPONENT Halide_Runtime
-
- LIBRARY
-- DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CONFIG_DIR}
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
- COMPONENT Halide_Runtime
- NAMELINK_COMPONENT Halide_Development
-
- ARCHIVE
-- DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CONFIG_DIR}
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
- COMPONENT Halide_Development
-
- INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
diff --git a/lang/halide/files/patch-src_LLVM__Runtime__Linker.cpp b/lang/halide/files/patch-src_LLVM__Runtime__Linker.cpp
new file mode 100644
index 000000000000..d7d77fcf3de3
--- /dev/null
+++ b/lang/halide/files/patch-src_LLVM__Runtime__Linker.cpp
@@ -0,0 +1,11 @@
+--- src/LLVM_Runtime_Linker.cpp.orig 2022-08-17 05:20:15 UTC
++++ src/LLVM_Runtime_Linker.cpp
+@@ -833,7 +833,7 @@ std::unique_ptr<llvm::Module> get_initial_module_for_t
+ if (module_type != ModuleGPU) {
+ if (module_type != ModuleJITInlined && module_type != ModuleAOTNoRuntime) {
+ // OS-dependent modules
+- if (t.os == Target::Linux) {
++ if (t.os == Target::Linux || t.os == Target::FreeBSD) {
+ modules.push_back(get_initmod_posix_allocator(c, bits_64, debug));
+ modules.push_back(get_initmod_posix_error_handler(c, bits_64, debug));
+ modules.push_back(get_initmod_posix_print(c, bits_64, debug));
diff --git a/lang/halide/files/patch-src_Target.cpp b/lang/halide/files/patch-src_Target.cpp
new file mode 100644
index 000000000000..08f2121f4f26
--- /dev/null
+++ b/lang/halide/files/patch-src_Target.cpp
@@ -0,0 +1,20 @@
+--- src/Target.cpp.orig 2022-08-17 04:41:42 UTC
++++ src/Target.cpp
+@@ -67,6 +67,9 @@ Target calculate_host_target() {
+ #ifdef __linux__
+ os = Target::Linux;
+ #endif
++#ifdef __FreeBSD__
++ os = Target::FreeBSD;
++#endif
+ #ifdef _WIN32
+ os = Target::Windows;
+ #endif
+@@ -269,6 +272,7 @@ Target::Feature get_host_cuda_capability(Target t) {
+ const std::map<std::string, Target::OS> os_name_map = {
+ {"os_unknown", Target::OSUnknown},
+ {"linux", Target::Linux},
++ {"freebsd", Target::FreeBSD},
+ {"windows", Target::Windows},
+ {"osx", Target::OSX},
+ {"android", Target::Android},
diff --git a/lang/halide/files/patch-src_Target.h b/lang/halide/files/patch-src_Target.h
new file mode 100644
index 000000000000..a9a16fb72a92
--- /dev/null
+++ b/lang/halide/files/patch-src_Target.h
@@ -0,0 +1,10 @@
+--- src/Target.h.orig 2022-08-17 04:44:15 UTC
++++ src/Target.h
+@@ -23,6 +23,7 @@ struct Target {
+ enum OS {
+ OSUnknown = 0,
+ Linux,
++ FreeBSD,
+ Windows,
+ OSX,
+ Android,
diff --git a/lang/halide/files/patch-src_Util.cpp b/lang/halide/files/patch-src_Util.cpp
new file mode 100644
index 000000000000..4ae01a38de0d
--- /dev/null
+++ b/lang/halide/files/patch-src_Util.cpp
@@ -0,0 +1,23 @@
+--- src/Util.cpp.orig 2022-01-22 10:03:14 UTC
++++ src/Util.cpp
+@@ -32,6 +32,11 @@
+ #include <linux/limits.h> // For PATH_MAX
+ #include <ucontext.h> // For swapcontext
+ #endif
++#ifdef __FreeBSD__
++#define CAN_GET_RUNNING_PROGRAM_NAME
++#include <sys/limits.h> // For PATH_MAX
++#include <ucontext.h> // For swapcontext
++#endif
+ #if defined(_MSC_VER) && !defined(NOMINMAX)
+ #define NOMINMAX
+ #endif
+@@ -141,6 +146,8 @@ string running_program_name() {
+ uint32_t size = sizeof(path);
+ #if defined(__linux__)
+ ssize_t len = ::readlink("/proc/self/exe", path, size - 1);
++#elif defined(__FreeBSD__)
++ ssize_t len = ::readlink("/proc/curproc/file", path, size - 1);
+ #elif defined(__APPLE__)
+ ssize_t len = ::_NSGetExecutablePath(path, &size);
+ #endif
diff --git a/lang/halide/pkg-plist b/lang/halide/pkg-plist
index fc7848d772ea..af0093bdbc67 100644
--- a/lang/halide/pkg-plist
+++ b/lang/halide/pkg-plist
@@ -1,3 +1,7 @@
+bin/featurization_to_sample
+bin/get_host_target
+bin/retrain_cost_model
+bin/weightsdir_to_weightsfile
include/Halide.h
include/HalideBuffer.h
include/HalidePyTorchCudaHelpers.h
@@ -9,14 +13,22 @@ include/HalideRuntimeHexagonDma.h
include/HalideRuntimeHexagonHost.h
include/HalideRuntimeMetal.h
include/HalideRuntimeOpenCL.h
-include/HalideRuntimeOpenGL.h
include/HalideRuntimeOpenGLCompute.h
include/HalideRuntimeQurt.h
-lib/cmake/Halide/Halide-Interfaces.cmake
-lib/cmake/Halide/Halide-Targets-shared-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/Halide/Halide-Targets-shared.cmake
+lib/cmake/Halide/Halide-shared-deps.cmake
+lib/cmake/Halide/Halide-shared-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Halide/Halide-shared-targets.cmake
lib/cmake/Halide/HalideConfig.cmake
lib/cmake/Halide/HalideConfigVersion.cmake
-lib/cmake/Halide/HalideGeneratorHelpers.cmake
-lib/cmake/Halide/HalideTargetHelpers.cmake
+lib/cmake/HalideHelpers/Halide-Interfaces-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/HalideHelpers/Halide-Interfaces.cmake
+lib/cmake/HalideHelpers/HalideGeneratorHelpers.cmake
+lib/cmake/HalideHelpers/HalideHelpersConfig.cmake
+lib/cmake/HalideHelpers/HalideHelpersConfigVersion.cmake
+lib/cmake/HalideHelpers/HalideTargetHelpers.cmake
lib/libHalide.so
+lib/libHalide.so.14
+lib/libHalide.so.14.0.0
+lib/libautoschedule_adams2019.so
+lib/libautoschedule_li2018.so
+lib/libautoschedule_mullapudi2016.so