diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 03f0c20c73f..776aa74db08 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -32,6 +32,7 @@ ;;; Copyright © 2025 Liam Hupfer ;;; Copyright © 2025 dan ;;; Copyright © 2026 Sharlatan Hellseher +;;; Copyright © 2026 David Elsing ;;; ;;; This file is part of GNU Guix. ;;; @@ -2081,6 +2082,42 @@ existing compilers together.") (inherit (make-lld-wrapper lld-rocm)) (name "lld-wrapper-rocm"))) +(define-public libomp-rocm + (package + (inherit libomp-20) + (name "libomp-rocm") + (version (package-version llvm-rocm)) + (source (package-source llvm-rocm)) + (arguments + (substitute-keyword-arguments (package-arguments libomp-20) + ((#:configure-flags flags '()) + #~(cons + (string-append "-DOPENMP_LIT_ARGS=" + "-sv --show-unsupported --show-xfail" + ;; This test fails + " --filter-out tasking/task_teams_stress_test.cpp") + #$flags)) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'fix-lit + (lambda _ + (substitute* "openmp/cmake/OpenMPTesting.cmake" + (((string-append "COMMAND \\$\\{Python3_EXECUTABLE\\}" + " \\$\\{OPENMP_LLVM_LIT_EXECUTABLE\\}")) + "COMMAND ${OPENMP_LLVM_LIT_EXECUTABLE}")) + (substitute* "openmp/runtime/test/lit.cfg" + (("config\\.name =.*" orig) + (string-append + orig + "\nconfig.environment['C_INCLUDE_PATH']" + " = os.environ['C_INCLUDE_PATH']\n" + "config.environment['CPLUS_INCLUDE_PATH']" + " = os.environ['CPLUS_INCLUDE_PATH']\n"))))))))) + (native-inputs + (modify-inputs (package-native-inputs libomp-20) + (replace "clang" clang-rocm) + (replace "llvm" llvm-rocm))))) + (define-public include-what-you-use