Subject: Re: [bug#32001] [PATCH] gnu: Add pocl.

From: [email-masked] (Ludovic Courtès)
Date: Tue, 03 Jul 2018 17:33:05 +0200

Gaaming Jyun <[email-masked]> skribis:

> Yes, it fixes the linker issue, on pthread backend. Seems so trivial
> ... I still don't know why I would have to read the source code of
> ld-wrapper, part of llvm and pocl to come up with this .. :(
>
> Anyway, all unit tests passed. And I have boost-compute at my own repo
> which uses pocl as native-input for testing in store, runs very well.

Perfect.  Applied with the changes below.

Thanks!

Ludo’.

diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm
index 14eed5248..42cedd154 100644
--- a/gnu/packages/opencl.scm
+++ b/gnu/packages/opencl.scm
@@ -327,13 +327,22 @@ back-end for the LLVM compiler framework.")
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
                (delete-file-recursively
-                (string-append out "/include")))))
+                (string-append out "/include"))
+               #t)))
          (add-before 'check 'set-HOME
            (lambda _
              (setenv "HOME" "/tmp")
              #t)))))
     (home-page "http://portablecl.org/")
-    (synopsis "Portable Computing Language (pocl), is an OpenCL implementation")
-    (description "Pocl is being developed towards an efficient implementation
-of OpenCL standard which can be easily adapted for new targets.")
+    (synopsis "Portable Computing Language (pocl), an OpenCL implementation")
+    (description
+     "Pocl is a portable implementation of the OpenCL standard (1.2 with some
+2.0 features supported).  This project seeks to improve performance
+portability of OpenCL programs with the kernel compiler and the task run-time,
+reducing the need for target-dependent manual optimizations.
+
+pocl uses Clang as an OpenCL C frontend and LLVM for kernel compiler
+implementation, and as a portability layer.  Thus, if your desired target has
+an LLVM backend, it should be able to get OpenCL support easily by using
+pocl.")
     (license license:expat)))