Subject: [PATCH] gnu: Add opensycl
From: Andy Tai <[email-masked]>
To: [email-masked]
Cc: Andy Tai <[email-masked]>
Date: Thu, 11 May 2023 00:35:06 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/opencl.scm (opensycl): New variable
---
 gnu/packages/opencl.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm
index 85b063b136..841aea17ee 100644
--- a/gnu/packages/opencl.scm
+++ b/gnu/packages/opencl.scm
@@ -29,6 +29,7 @@ (define-module (gnu packages opencl)
   #:use-module (guix packages)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages compression)
@@ -39,8 +40,10 @@ (define-module (gnu packages opencl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages rocm)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages vulkan)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg))
 
@@ -276,6 +279,30 @@ (define-public beignet
     (supported-systems '("x86_64-linux" "i686-linux"))
     (license license:lgpl2.1+)))
 
+(define-public opensycl
+  (package
+    (name "opensycl")
+    (version "0.9.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/OpenSYCL/OpenSYCL/"
+                                  "archive/refs/tags/v" version ".tar.gz"))
+              (sha256
+               (base32
+                "1i2i7r16k2kyjp4yrjp0ywnavr8aa6pfcrwb5xp9c4n8j4qm6qk2"))))
+    (build-system cmake-build-system)
+    (native-inputs (list clang-15 llvm-15 python spirv-tools))
+    (inputs (list boost rocm-opencl-runtime spirv-headers))
+    (arguments `(#:tests? #f)) ; no tests
+    (home-page "https://github.com/OpenSYCL/OpenSYCL")
+    (synopsis "Modern SYCL implementation")
+    (description
+     "Open SYCL is a modern SYCL implementation targeting CPUs and GPUs from all
+major vendors that supports many use cases and approaches for implementing SYCL")
+    (license license:bsd-2)))
+
+
+
 (define-public pocl
   (package
     (name "pocl")

base-commit: b4e5844700b2304bfde451322feb5797bf0c6179
-- 
2.39.2