DCWZGZGF4RV6H7Y23G5B2AILWPBKHRPYOAFB2DWU3UCGV7DQ6QCQC
(define (llvm-uri component version)
;; LLVM release candidate file names are formatted 'tool-A.B.C-rcN/tool-A.B.CrcN.src.tar.xz'
;; so we specify the version as A.B.C-rcN and delete the hyphen when referencing the file name.
(string-append "https://github.com/llvm/llvm-project/releases/download"
"/llvmorg-" version "/" component "-" (string-delete #\- version) ".src.tar.xz"))
(define-public llvm-11.1
(package
(inherit llvm-11)
(version "11.1.0")
(source
(origin
(method url-fetch)
(uri (llvm-uri "llvm" version))
(sha256
(base32
"199yq3a214avcbi4kk2q0ajriifkvsr0l2dkx3a666m033ihi1ff"))))))
(define-public spirv-headers-3
(package
(name "spirv-headers")
(version "3.236.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/KhronosGroup/SPIRV-Headers/"
"archive/refs/tags/sdk-1." version ".tar.gz"))
(sha256
(base32 "0y1b5d7vslqfv76l7an9bzs7vchc39kxs962lzmnji6pzn2wcx2d"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no tests
(home-page "https://github.com/KhronosGroup/SPIRV-Headers")
(synopsis "Machine-readable files from the SPIR-V Registry")
(description
"SPIRV-Headers is a repository containing machine-readable files from
the SPIR-V Registry. This includes:
@itemize
@item Header files for various languages.
@item JSON files describing the grammar for the SPIR-V core instruction set,
and for the GLSL.std.450 extended instruction set.
@item The XML registry file.
@end itemize\n")
(license (licenses:x11-style
(string-append "https://github.com/KhronosGroup/SPIRV-Headers/blob/"
version "/LICENSE")))))
(define-public spirv-tools-3
(package
(name "spirv-tools")
(version "3.236.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/KhronosGroup/SPIRV-Tools/"
"archive/refs/tags/sdk-1." version ".tar.gz"))
(sha256
(base32 "1agxkmbvlyr1vwy53s62rjlygp8c5wvgjyfmqcks33xsm21cg2b7"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
(string-append
"-DSPIRV-Headers_SOURCE_DIR="
(assoc-ref %build-inputs "spirv-headers")))))
(inputs (list spirv-headers-3))
(native-inputs (list pkg-config python))
(home-page "https://github.com/KhronosGroup/SPIRV-Tools")
(synopsis "API and commands for processing SPIR-V modules")
(description
"The SPIR-V Tools project provides an API and commands for processing
SPIR-V modules. The project includes an assembler, binary module
parser,disassembler, validator, and optimizer for SPIR-V.")
(license licenses:asl2.0)))
(define-public spirv-llvm-translator
(package
(name "spirv-llvm-translator")
(version "15.0.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/KhronosGroup/SPIRV-LLVM-Translator/"
"archive/refs/tags/v" version ".tar.gz"))
(sha256
(base32 "123dhhpiw0kx6z5s0s91c5d82if5vp17hbl50267b219yxvvvgmi"))))
(build-system cmake-build-system)
(native-inputs
(list pkg-config))
(inputs
(list llvm-15 spirv-headers-3 spirv-tools-3 libffi))
(arguments
`(#:tests? #f
#:configure-flags
(list (string-append "-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="
(assoc-ref %build-inputs "spirv-headers")
(string-append "-DPKG_CONFIG_PATH="
(assoc-ref %build-inputs "spirv-tools")
"/lib/pkgconfig")))))
(home-page "https://github.com/intel/intel-graphics-compiler")
(synopsis "Intel Graphics Compiler for OpenCL")
(description "The Intel® Graphics Compiler for OpenCL™ is an LLVM based
compiler for OpenCL™ targeting Intel Gen graphics hardware architecture.")
(license licenses:expat)))
(define-public opencl-clang
(package
(name "opencl-clang")
(version "15.0.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/intel/opencl-clang/"
"archive/refs/tags/v" version ".tar.gz"))
(sha256
(base32 "048lmm2ydp02n7yvqzn3sbvm4w3z8sz7cpv5w9ccdj1bwms9c5za"))))
(build-system cmake-build-system)
(inputs
(list llvm-15 clang-15 spirv-llvm-translator libffi))
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'force
(lambda _
(substitute* "cl_headers/CMakeLists.txt"
(("endif\\(USE_PREBUILT_LLVM\\)")
(string-append "endif(USE_PREBUILT_LLVM)
set(OPENCL_HEADERS_DIR \"" (assoc-ref %build-inputs "clang") "/lib/clang/15.0.6/include\")")))
#t)))
#:configure-flags
(list "-DLLVMSPIRV_INCLUDED_IN_LLVM=OFF"
(string-append "-DSPIRV_TRANSLATOR_DIR="
(assoc-ref %build-inputs "spirv-llvm-translator")))))
(home-page "https://github.com/intel/vc-intrinsics")
(synopsis "Thin wrapper library around clang")
(description "The library has OpenCL-oriented API and is capable
to compile OpenCL C kernels to SPIR-V modules.")
(license licenses:bsd-3)))
(define-public ispc
(package
(name "ispc")
(version "1.18.1")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/ispc/ispc/"
"archive/refs/tags/v" version ".tar.gz"))
(sha256
(base32 "1dx7mkwlkbhz53353n40591kxgg482i306dn9djwhfbs3q94q02v"))))
(build-system cmake-build-system)
(native-inputs (list llvm clang))
;; (inputs
;; (list tbb python-2))
(home-page "https://ispc.github.io")
(synopsis "Intel Compiler for high-performance SIMD programming on the CPU and GPU")
(description "Compiler for a variant of the C programming language,
with extensions for \"single program, multiple data\" (SPMD) programming. Under
the SPMD model, the programmer writes a program that generally appears to be a
regular serial program, though the execution model is actually that a number of
program instances execute in parallel on the hardware.")
(license licenses:bsd-3)))
(define-public open-image-denoise
(package
(name "open-image-denoise")
(version "1.4.3")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/OpenImageDenoise/oidn/"
"releases/download/v" version "/"
"oidn-" version ".src.tar.gz"))
(sha256
(base32 "0ah6mna8pn2mr7jnl5kb2qg25yqcqgqdi64jk5xddfky559f4xij"))))
(build-system cmake-build-system)
(native-inputs (list clang-15))
(inputs
(list tbb python-2))
(home-page "https://www.openimagedenoise.org")
(synopsis "Intel High-Performance Denoising Library for Ray Tracing")
(description "High-performance, high-quality denoising filters for images
rendered with ray tracing. Intel Open Image Denoise is part of the Intel
oneAPI Rendering Toolkit.")
(license licenses:asl2.0)))
(define (llvm-uri component version)
;; LLVM release candidate file names are formatted 'tool-A.B.C-rcN/tool-A.B.CrcN.src.tar.xz'
;; so we specify the version as A.B.C-rcN and delete the hyphen when referencing the file name.
(string-append "https://github.com/llvm/llvm-project/releases/download"
"/llvmorg-" version "/" component "-" (string-delete #\- version) ".src.tar.xz"))
(define-public llvm-11.1
(package
(inherit llvm-11)
(version "11.1.0")
(source
(origin
(method url-fetch)
(uri (llvm-uri "llvm" version))
(sha256
(base32
"199yq3a214avcbi4kk2q0ajriifkvsr0l2dkx3a666m033ihi1ff"))))))
(define-public spirv-headers-3
(package
(name "spirv-headers")
(version "3.236.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/KhronosGroup/SPIRV-Headers/"
"archive/refs/tags/sdk-1." version ".tar.gz"))
(sha256
(base32 "0y1b5d7vslqfv76l7an9bzs7vchc39kxs962lzmnji6pzn2wcx2d"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no tests
(home-page "https://github.com/KhronosGroup/SPIRV-Headers")
(synopsis "Machine-readable files from the SPIR-V Registry")
(description
"SPIRV-Headers is a repository containing machine-readable files from
the SPIR-V Registry. This includes:
@itemize
@item Header files for various languages.
@item JSON files describing the grammar for the SPIR-V core instruction set,
and for the GLSL.std.450 extended instruction set.
@item The XML registry file.
@end itemize\n")
(license (license:x11-style
(string-append "https://github.com/KhronosGroup/SPIRV-Headers/blob/"
version "/LICENSE")))))
(define-public spirv-tools-3
(package
(name "spirv-tools")
(version "3.236.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/KhronosGroup/SPIRV-Tools/"
"archive/refs/tags/sdk-1." version ".tar.gz"))
(sha256
(base32 "1agxkmbvlyr1vwy53s62rjlygp8c5wvgjyfmqcks33xsm21cg2b7"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
(string-append
"-DSPIRV-Headers_SOURCE_DIR="
(assoc-ref %build-inputs "spirv-headers")))))
(inputs (list spirv-headers-3))
(native-inputs (list pkg-config python))
(home-page "https://github.com/KhronosGroup/SPIRV-Tools")
(synopsis "API and commands for processing SPIR-V modules")
(description
"The SPIR-V Tools project provides an API and commands for processing
SPIR-V modules. The project includes an assembler, binary module
parser,disassembler, validator, and optimizer for SPIR-V.")
(license license:asl2.0)))
(define-public spirv-llvm-translator
(package
(name "spirv-llvm-translator")
(version "15.0.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/KhronosGroup/SPIRV-LLVM-Translator/"
"archive/refs/tags/v" version ".tar.gz"))
(sha256
(base32 "123dhhpiw0kx6z5s0s91c5d82if5vp17hbl50267b219yxvvvgmi"))))
(build-system cmake-build-system)
(native-inputs
(list pkg-config))
(inputs
(list llvm-15 spirv-headers-3 spirv-tools-3 libffi))
(arguments
`(#:tests? #f
#:configure-flags
(list (string-append "-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="
(assoc-ref %build-inputs "spirv-headers")
(string-append "-DPKG_CONFIG_PATH="
(assoc-ref %build-inputs "spirv-tools")
"/lib/pkgconfig")))))
(home-page "https://github.com/intel/intel-graphics-compiler")
(synopsis "Intel Graphics Compiler for OpenCL")
(description "The Intel® Graphics Compiler for OpenCL™ is an LLVM based
compiler for OpenCL™ targeting Intel Gen graphics hardware architecture.")
(license license:expat)))
(define-public opencl-clang
(package
(name "opencl-clang")
(version "15.0.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/intel/opencl-clang/"
"archive/refs/tags/v" version ".tar.gz"))
(sha256
(base32 "048lmm2ydp02n7yvqzn3sbvm4w3z8sz7cpv5w9ccdj1bwms9c5za"))))
(build-system cmake-build-system)
(inputs
(list llvm-15 clang-15 spirv-llvm-translator libffi))
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'force
(lambda _
(substitute* "cl_headers/CMakeLists.txt"
(("endif\\(USE_PREBUILT_LLVM\\)")
(string-append "endif(USE_PREBUILT_LLVM)
set(OPENCL_HEADERS_DIR \"" (assoc-ref %build-inputs "clang") "/lib/clang/15.0.6/include\")")))
#t)))
#:configure-flags
(list "-DLLVMSPIRV_INCLUDED_IN_LLVM=OFF"
(string-append "-DSPIRV_TRANSLATOR_DIR="
(assoc-ref %build-inputs "spirv-llvm-translator")))))
(home-page "https://github.com/intel/vc-intrinsics")
(synopsis "Thin wrapper library around clang")
(description "The library has OpenCL-oriented API and is capable
to compile OpenCL C kernels to SPIR-V modules.")
(license license:bsd-3)))