From 52f4c70845868feb8a0a12a3e4eb7c00a911661f Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Wed, 2 Mar 2016 23:23:15 +0300 Subject: Add and port the Portable OpenCL package to guix This is the POCL port to guix. It provides an open source , vendor neutral OpenCL ICD (Installable Client Driver), suitable for testing as a reference OpenCL platform. Regards, Brainiarc7.--- gn/packages/pocl.scm | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 gn/packages/pocl.scm (limited to 'gn/packages/pocl.scm') diff --git a/gn/packages/pocl.scm b/gn/packages/pocl.scm new file mode 100644 index 0000000..0daa642 --- /dev/null +++ b/gn/packages/pocl.scm @@ -0,0 +1,94 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Dennis Mungai +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gn packages pocl) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix git-download) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix packages) + #:use-module (gnu packages algebra) + #:use-module (gnu packages autotools) + #:use-module (gnu packages curl) + #:use-module (gnu packages boost) + #:use-module (gnu packages gawk) + #:use-module (gnu packages cmake) + #:use-module (gnu packages glib) + #:use-module (gnu packages image) + #:use-module (gnu packages video) + #:use-module (gnu packages textutils) + #:use-module (gnu packages gl) + #:use-module (gnu packages llvm) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages maths) + #:use-module (gnu packages mpi) + #:use-module (gnu packages web) + #:use-module (gnu packages python) + #:use-module (gnu packages xorg) + #:use-module (gnu packages version-control) + #:use-module (gnu packages linux)) + +(define-public pocl +(let ((commit "a6f377a")) + (package + (name "pocl") + (version (string-append "v09rc-" commit )) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pocl/pocl.git") + (commit commit))) + (file-name (string-append name "-" commit)) + (sha256 + (base32 + "0b1y8c2y0xx5sqfpkkvgmp02czgmq5immypgm4hhpmp512hcj38j")))) +(native-inputs `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) +(inputs `(("python" ,python-2) + ("boost" ,boost) + ("dbus" ,dbus) + ("clang" ,clang) + ("enca" ,enca) + ("eudev" ,eudev) + ("fftw-openmpi" ,fftw-openmpi) + ("glew" ,glew) + ("libcap" ,libcap) + ("libjpeg" ,libjpeg) + ("libltdl" ,libltdl) + ("libtiff" ,libtiff) + ("mesa-utils" ,mesa-utils) + ("openmpi" ,openmpi) + ("randrproto" ,randrproto) + ("libxrandr" ,libxrandr) + ("xineramaproto" ,xineramaproto) + ("libxinerama" ,libxinerama) + ("libxcursor" ,libxcursor) + ("fftw-openmpi" ,fftw-openmpi))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--with-boost=yes --enable-icd --enable-install-opencl-headers "))) + (synopsis "pocl: Portable Computing Language (pocl) aims to become a MIT-licensed + open source implementation of the OpenCL standard which can be easily adapted for + new targets and devices, both for homogeneous CPU and heterogenous GPUs/accelerators.") + (description "Portable Computing Language (pocl) aims to become a MIT-licensed + open source implementation of the OpenCL standard which can be easily adapted for + new targets and devices, both for homogeneous CPU and heterogenous GPUs/accelerators.") + (home-page "http://portablecl.org/") + (license license:gpl2)))) -- cgit v1.2.3 From 90282b193ea95231dfb4e7e3f492cc40288e7dbf Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Thu, 3 Mar 2016 01:15:35 +0300 Subject: Switch to cmake build system. --- gn/packages/pocl.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'gn/packages/pocl.scm') diff --git a/gn/packages/pocl.scm b/gn/packages/pocl.scm index 0daa642..3d30671 100644 --- a/gn/packages/pocl.scm +++ b/gn/packages/pocl.scm @@ -20,7 +20,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix git-download) #:use-module (guix download) - #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) #:use-module (guix packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) @@ -60,6 +60,7 @@ (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool) + ("cmake" ,cmake) ("pkg-config" ,pkg-config))) (inputs `(("python" ,python-2) ("boost" ,boost) @@ -69,10 +70,12 @@ ("eudev" ,eudev) ("fftw-openmpi" ,fftw-openmpi) ("glew" ,glew) + ("hwloc" ,hwloc) ("libcap" ,libcap) ("libjpeg" ,libjpeg) ("libltdl" ,libltdl) ("libtiff" ,libtiff) + ("llvm" ,llvm) ("mesa-utils" ,mesa-utils) ("openmpi" ,openmpi) ("randrproto" ,randrproto) @@ -81,9 +84,10 @@ ("libxinerama" ,libxinerama) ("libxcursor" ,libxcursor) ("fftw-openmpi" ,fftw-openmpi))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags '("--with-boost=yes --enable-icd --enable-install-opencl-headers "))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release" "-DBUILD_SHARED_LIBS=ON") + #:tests? #f)) (synopsis "pocl: Portable Computing Language (pocl) aims to become a MIT-licensed open source implementation of the OpenCL standard which can be easily adapted for new targets and devices, both for homogeneous CPU and heterogenous GPUs/accelerators.") -- cgit v1.2.3 From 61750e08470d2a9b92d18d6ecc3ab5b5db8780e3 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Mon, 7 Mar 2016 20:26:17 +0300 Subject: Add clang-runtime as a dependency. --- gn/packages/pocl.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gn/packages/pocl.scm') diff --git a/gn/packages/pocl.scm b/gn/packages/pocl.scm index 3d30671..c5cb8cb 100644 --- a/gn/packages/pocl.scm +++ b/gn/packages/pocl.scm @@ -66,6 +66,7 @@ ("boost" ,boost) ("dbus" ,dbus) ("clang" ,clang) + ("clang-runtime" ,clang-runtime) ("enca" ,enca) ("eudev" ,eudev) ("fftw-openmpi" ,fftw-openmpi) -- cgit v1.2.3