diff options
author | OPNA2608 <christoph.neidahl@gmail.com> | 2020-10-11 05:09:01 +0200 |
---|---|---|
committer | OPNA2608 <christoph.neidahl@gmail.com> | 2020-10-11 05:09:01 +0200 |
commit | 2699d3f2a7bba23c694279e26f82745d487bb999 (patch) | |
tree | 44027ed95db827a3345484333d36920c4d59d61c /pkgs/development/compilers/halide | |
parent | 2085a254251d722a739ba90a635b3d02d7dfb58d (diff) |
halide: 2019.08.27 -> 10.0.0
Diffstat (limited to 'pkgs/development/compilers/halide')
-rw-r--r-- | pkgs/development/compilers/halide/default.nix | 48 | ||||
-rw-r--r-- | pkgs/development/compilers/halide/nix.patch | 56 |
2 files changed, 18 insertions, 86 deletions
diff --git a/pkgs/development/compilers/halide/default.nix b/pkgs/development/compilers/halide/default.nix index 356ebe231729..c3e1c2af1d4f 100644 --- a/pkgs/development/compilers/halide/default.nix +++ b/pkgs/development/compilers/halide/default.nix @@ -1,42 +1,43 @@ -{ llvmPackages, lib, fetchFromGitHub, cmake -, libpng, libjpeg, mesa, eigen -, openblas, blas, lapack +{ llvmPackages +, lib +, fetchFromGitHub +, cmake +, libpng +, libjpeg +, mesa +, eigen +, openblas +, blas +, lapack }: assert blas.implementation == "openblas" && lapack.implementation == "openblas"; -let - version = "2019_08_27"; - -in llvmPackages.stdenv.mkDerivation { - - name = "halide-${builtins.replaceStrings ["_"] ["."] version}"; +llvmPackages.stdenv.mkDerivation rec { + pname = "halide"; + version = "10.0.0"; src = fetchFromGitHub { owner = "halide"; repo = "Halide"; - rev = "release_${version}"; - sha256 = "09xf8v9zyxx2fn6s1yzjkyzcf9zyzrg3x5vivgd2ljzbfhm8wh7n"; + rev = "v${version}"; + sha256 = "0il71rppjp76m7zd420siidvhs76sqiq26h60ywk812sj9mmgxj6"; }; - patches = [ ./nix.patch ]; - # clang fails to compile intermediate code because # of unused "--gcc-toolchain" option postPatch = '' sed -i "s/-Werror//" src/CMakeLists.txt ''; - cmakeFlags = [ "-DWARNINGS_AS_ERRORS=OFF" ]; + cmakeFlags = [ "-DWARNINGS_AS_ERRORS=OFF" "-DWITH_PYTHON_BINDINGS=OFF" ]; # To handle the lack of 'local' RPATH; required, as they call one of # their built binaries requiring their libs, in the build process. preBuild = '' - export LD_LIBRARY_PATH="$(pwd)/lib''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" + export LD_LIBRARY_PATH="$(pwd)/src''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" ''; - enableParallelBuilding = true; - # Note: only openblas and not atlas part of this Nix expression # see pkgs/development/libraries/science/math/liblapack/3.5.0.nix # to get a hint howto setup atlas instead of openblas @@ -44,19 +45,6 @@ in llvmPackages.stdenv.mkDerivation { nativeBuildInputs = [ cmake ]; - # No install target for cmake available. - # Calling install target in Makefile causes complete rebuild - # and the library rpath is broken, because libncursesw.so.6 is missing. - # Another way is using "make halide_archive", but the tarball is not easy - # to disassemble. - installPhase = '' - find - mkdir -p "$out/lib" "$out/bin" - cp bin/HalideTrace* "$out/bin" - cp lib/libHalide.so "$out/lib" - cp -r include "$out" - ''; - meta = with lib; { description = "C++ based language for image processing and computational photography"; homepage = "https://halide-lang.org"; diff --git a/pkgs/development/compilers/halide/nix.patch b/pkgs/development/compilers/halide/nix.patch deleted file mode 100644 index fb9bbf1a4cf7..000000000000 --- a/pkgs/development/compilers/halide/nix.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4ba384324..7e23038f7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -75,10 +75,10 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") - - set(LLVM_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_MINOR}") - --file(TO_NATIVE_PATH "${LLVM_TOOLS_BINARY_DIR}/llvm-as${CMAKE_EXECUTABLE_SUFFIX}" LLVM_AS) --file(TO_NATIVE_PATH "${LLVM_TOOLS_BINARY_DIR}/llvm-nm${CMAKE_EXECUTABLE_SUFFIX}" LLVM_NM) --file(TO_NATIVE_PATH "${LLVM_TOOLS_BINARY_DIR}/clang${CMAKE_EXECUTABLE_SUFFIX}" CLANG) --file(TO_NATIVE_PATH "${LLVM_TOOLS_BINARY_DIR}/llvm-config${CMAKE_EXECUTABLE_SUFFIX}" LLVM_CONFIG) -+find_program(LLVM_AS llvm-as HINTS ${LLVM_TOOLS_BINARY_DIR}) -+find_program(LLVM_NM llvm-nm HINTS ${LLVM_TOOLS_BINARY_DIR}) -+find_program(CLANG clang HINTS ${LLVM_TOOLS_BINARY_DIR}) -+find_program(LLVM_CONFIG llvm-config HINTS ${LLVM_TOOLS_BINARY_DIR}) - - # LLVM doesn't appear to expose --system-libs via its CMake interface, - # so we must shell out to llvm-config to find this info -diff --git a/apps/linear_algebra/CMakeLists.txt b/apps/linear_algebra/CMakeLists.txt -index 132c80e6a..36ce865f2 100644 ---- a/apps/linear_algebra/CMakeLists.txt -+++ b/apps/linear_algebra/CMakeLists.txt -@@ -26,7 +26,7 @@ if (CBLAS_FOUND) - # Atlas requires also linking against its provided libcblas for cblas symbols - set(ATLAS_EXTRA_LIBS cblas) # XXX fragile - set(OpenBLAS_EXTRA_LIBS) -- set(BLAS_VENDORS OpenBLAS ATLAS) -+ set(BLAS_VENDORS OpenBLAS) - - # TODO - # there are more vendors we could add here that support the cblas interface -@@ -41,6 +41,7 @@ if (CBLAS_FOUND) - message(STATUS " ${BLAS_VENDOR}: Missing") - else() - message(STATUS " ${BLAS_VENDOR}: Found") -+ set(BLAS_LIBRARIES "${BLAS_LIBRARIES}" CACHE FILEPATH "BLAS library to use") - list(APPEND BLAS_VENDORS ${NAME}) - endif() - endforeach() -diff --git a/apps/linear_algebra/tests/CMakeLists.txt b/apps/linear_algebra/tests/CMakeLists.txt -index cc02eb0a4..c20419a0d 100644 ---- a/apps/linear_algebra/tests/CMakeLists.txt -+++ b/apps/linear_algebra/tests/CMakeLists.txt -@@ -19,7 +19,7 @@ target_compile_options(test_halide_blas PRIVATE -Wno-unused-variable) - target_link_libraries(test_halide_blas - PRIVATE - halide_blas -- cblas # XXX fragile -+ ${BLAS_LIBRARIES} - ${HALIDE_COMPILER_LIB} - ) - --- -2.23.0 - |