Subject: [PATCH 3/6] gnu: Add ocl-icd.

From: Fis Trivial <[email-masked]>
Date: Sat, 12 May 2018 19:50:07 +0000

* gnu/packages/opencl.scm (ocl-icd): New variable.
---
 gnu/packages/opencl.scm | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm
index 996171713..a7b639b8c 100644
--- a/gnu/packages/opencl.scm
+++ b/gnu/packages/opencl.scm
@@ -23,7 +23,9 @@
   #:use-module (guix git-download)
   #:use-module (guix packages)
   #:use-module ((guix licenses) #:prefix license:)
-  #:use-module (gnu packages python))
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages ruby))
 
 ;; This file adds OpenCL implementation related packages. Due to the fact that
 ;; OpenCL devices are not available during build (store environment), tests are
@@ -115,3 +117,37 @@
     (synopsis "Khronos OpenCL-CLHPP")
     (description "OpenCL Host API C++ bindings cl2.hpp.")
     (license license:expat)))
+
+(define-public ocl-icd
+  (package
+    (name "ocl-icd")
+    (version "2.2.12")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://forge.imag.fr/frs/download.php/836/ocl-icd-"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1x2dr8p4dkfds56r38av360i3nv1y3326jmshxvjngaf6mlg6rbn"))))
+    (inputs `(("ruby" ,ruby)
+              ("opencl-headers" ,opencl-headers)
+              ("libgcrypt" ,libgcrypt)))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags
+       '("DEBUG_OCL_ICD=1")))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "OPENCL_VENDOR_PATH")
+            (files '("etc/OpenCL/vendors")))))
+    (search-paths native-search-paths)
+    (home-page "https://forge.imag.fr/projects/ocl-icd/")
+    (synopsis "OpenCL implementations are provided as ICD (Installable Client
+Driver)")
+    (description "OpenCL implementations are provided as ICD (Installable Client
+Driver).  An OpenCL program can use several ICD thanks to the use of an ICD
+Loader as provided by this project.  This free ICD Loader can load any (free or
+non free) ICD")
+    (license license:bsd-2)))
-- 
2.14.3