From f014392cc2668a866066044aaa0d24b9ddc22904 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Tue, 1 Mar 2016 14:40:23 +0300 Subject: Added glfw guix package This is an open source, multi-platform library for creating windows with OpenGL contexts and receiving inputs and events. A common pipeline for applications such as Arrayfire that require access to OpenGL-OpenCL interops on multiple platforms.--- gn/packages/glfw.scm | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 gn/packages/glfw.scm (limited to 'gn') diff --git a/gn/packages/glfw.scm b/gn/packages/glfw.scm new file mode 100644 index 0000000..30342f0 --- /dev/null +++ b/gn/packages/glfw.scm @@ -0,0 +1,83 @@ +;;; 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 glfw) + #:use-module ((guix licenses)) + #: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) + #:use-module (gnu packages curl) + #:use-module (gnu packages gawk) + #:use-module (gnu packages cmake) + #:use-module (gnu packages boost) + #: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 pkg-config) + #:use-module (gnu packages maths) + #:use-module (gnu packages web) + #:use-module (gnu packages databases) + #:use-module (gnu packages python) + #:use-module (gnu packages xorg) + #:use-module (gnu packages version-control) + #:use-module (gnu packages linux)) + +(define-public glfw + (package + (name "glfw") + (version "3.1.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/glfw/glfw/archive/" + version ".tar.gz")) + (sha256 + (base32 + "08pixv8hd5xsccf7l8cqcijjqaq4k4da8qbp77wggal2fq445ika")))) + (build-system cmake-build-system) + (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON") #:tests? #f)) + (native-inputs `(("autoconf" ,autoconf) + ("automake" ,automake) + ("cmake" ,cmake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs `(("curl" ,curl) + ("dbus" ,dbus) + ("enca" ,enca) + ("eudev" ,eudev) + ("glew" ,glew) + ("libcap" ,libcap) + ("libjpeg" ,libjpeg) + ("libltdl" ,libltdl) + ("libtiff" ,libtiff) + ("mesa-utils" ,mesa-utils) + ("randrproto" ,randrproto) + ("libxrandr" ,libxrandr) + ("xineramaproto" ,xineramaproto) + ("libxinerama" ,libxinerama) + ("libxcursor" ,libxcursor) + ("mysql" ,mysql) + ("python" ,python-2))) + (home-page "http://www.glfw.org/") + (synopsis "glfw is an Open Source, multi-platform library for creating windows with OpenGL contexts and receiving input and events.") + (description "glfw is an Open Source, multi-platform library for creating windows with OpenGL contexts and receiving input and events.") + (license (list gpl2)))) -- cgit v1.2.3 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') 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') 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 9c3aa56eaed9be30ee64cdca3b3426bd4dc6851b Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Fri, 4 Mar 2016 20:27:07 +0300 Subject: Add afnumpy to guix afnumpy is a GPGPU - accelerated drop-in to numpy--- gn/packages/afnumpy.scm | 84 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 gn/packages/afnumpy.scm (limited to 'gn') diff --git a/gn/packages/afnumpy.scm b/gn/packages/afnumpy.scm new file mode 100644 index 0000000..55c05ad --- /dev/null +++ b/gn/packages/afnumpy.scm @@ -0,0 +1,84 @@ +;;; 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 afnumpy) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages attr) + #:use-module (gnu packages base) + #:use-module (gnu packages compression) + #:use-module (gnu packages databases) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages gtk) + #:use-module (gnu packages icu4c) + #:use-module (gnu packages image) + #:use-module (gnu packages libffi) + #:use-module (gnu packages linux) + #:use-module (gnu packages maths) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages networking) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) + #:use-module (gnu packages python) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages readline) + #:use-module (gnu packages statistics) + #:use-module (gnu packages texlive) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages tls) + #:use-module (gnu packages web) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) + #:use-module (gnu packages zip) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (guix build-system python) + #:use-module (guix build-system trivial)) + +(define-public afnumpy +(let ((commit "c5594c1")) +(package + (name "afnumpy") + (version (string-append "rel1-" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FilipeMaia/afnumpy.git") + (commit commit))) + (file-name (string-append name "-" commit)) + (sha256 + (base32 + "0n30xn8cz0ww7czb3m6dz5sh87khan7ag3vb192narmxj37l8qy7")))) + (build-system python-build-system) + ;; (native-inputs + ;; `(("python-setuptools" ,python-setuptools))) + (arguments + `(#:python ,python-2 + #:tests? #f)) + (home-page "https://github.com/FilipeMaia/afnumpy") + (synopsis "Numerical library array processing of numbers, strings, records and objects") + (description + "A GPGPU-accelerated drop-in of python's numpy") + (license license:gpl2)))) -- cgit v1.2.3 From da82f38fdc7c4126bac38412ddc4d250475841ab Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Fri, 4 Mar 2016 20:38:48 +0300 Subject: Bumped up to v.3.3.1-hotfix. Fixes a bunch of build bugs--- gn/packages/arrayfire.scm | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'gn') diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm index 23ff0af..f349db3 100644 --- a/gn/packages/arrayfire.scm +++ b/gn/packages/arrayfire.scm @@ -19,6 +19,7 @@ (define-module (gn packages arrayfire) #:use-module ((guix licenses)) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix packages) @@ -36,7 +37,6 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages maths) #:use-module (gnu packages web) - #:use-module (gnu packages databases) #:use-module (gnu packages ldc) #:use-module (gnu packages python) #:use-module (gnu packages xorg) @@ -44,30 +44,35 @@ #:use-module (gnu packages linux)) (define-public arrayfire +(let ((commit "9ca1ea0")) (package (name "arrayfire") - (version "3.3.0") + (version "3.3.1-hotfix") (source (origin - (method url-fetch) - (uri (string-append "http://arrayfire.com/arrayfire_source/arrayfire-full-" version - ".tar.bz2")) - (file-name (string-append name "-" version ".tar.bz2")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/arrayfire/arrayfire.git") + (commit commit))) + (file-name (string-append name "-" commit)) (sha256 (base32 - "07pbw6vzny3z86y890c0rx7rk31ddchxrrdslk661iq512xppr0g")))) + "0b270w9nyf2v7knda94x47c8snf06yb1jlj3cgdv8l5cq1q2bqgm")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("cmake" ,cmake) ("gawk" ,gawk) + ("glew" ,glew) ("libtool" ,libtool) ("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) ("glfw" ,glfw) ("curl" ,curl) + ("atlas" ,atlas) ("dbus" ,dbus) ("enca" ,enca) ("eudev" ,eudev) ("glew" ,glew) + ("glib" ,glib) ("lapack" ,lapack) ("libcap" ,libcap) ("libjpeg" ,libjpeg) @@ -75,7 +80,6 @@ ("libtiff" ,libtiff) ("libyajl" ,libyajl) ("mesa-utils" ,mesa-utils) - ("mysql" ,mysql) ("python" ,python-2) ("freeimage" ,freeimage) ("fftw" ,fftw) @@ -88,11 +92,11 @@ ("cmake" ,cmake))) (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release -DBUILD_OPENCL=ON") #:tests? #f)) + `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release" "-DBUILD_OPENCL=OFF" "-DBUILD_GRAPHICS=OFF") #:tests? #f)) (synopsis "ArrayFire: a general purpose GPU library. https://arrayfire.com") (description "ArrayFire is a high performance software library for parallel computing with an easy-to-use API. Its array based function set makes parallel programming simple.") (home-page "http://arrayfire.com/") - (license (list gpl2 gpl2+ gpl3 gpl3+)))) + (license (list gpl2 gpl2+ gpl3 gpl3+))))) (define-public glfw (package @@ -104,13 +108,14 @@ version ".tar.gz")) (sha256 (base32 - "08pixv8hd5xsccf7l8cqcijjqaq4k4da8qbp77wggal2fq445ika")))) + "067y98a9s78vpz7xsg889xnwfaza7c5gdv97yg9cgrdl0iljvsgp")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON") #:tests? #f)) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("cmake" ,cmake) ("libtool" ,libtool) + ("libpthread-stubs" ,libpthread-stubs) ("pkg-config" ,pkg-config))) (inputs `(("curl" ,curl) ("dbus" ,dbus) @@ -127,7 +132,6 @@ ("xineramaproto" ,xineramaproto) ("libxinerama" ,libxinerama) ("libxcursor" ,libxcursor) - ("mysql" ,mysql) ("python" ,python-2))) (home-page "http://www.glfw.org/") (synopsis "glfw is an Open Source, multi-platform library for creating windows with OpenGL contexts and receiving input and events.") -- cgit v1.2.3 From eb56e3b5d514fd8e352fea18d488e215333c1a6e Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Fri, 4 Mar 2016 20:50:00 +0300 Subject: Updated hash values. Changed with new commits to Arrayfire.--- gn/packages/arrayfire.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gn') diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm index f349db3..7756a97 100644 --- a/gn/packages/arrayfire.scm +++ b/gn/packages/arrayfire.scm @@ -56,7 +56,7 @@ (file-name (string-append name "-" commit)) (sha256 (base32 - "0b270w9nyf2v7knda94x47c8snf06yb1jlj3cgdv8l5cq1q2bqgm")))) + "067y98a9s78vpz7xsg889xnwfaza7c5gdv97yg9cgrdl0iljvsgp")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("cmake" ,cmake) @@ -108,7 +108,7 @@ version ".tar.gz")) (sha256 (base32 - "067y98a9s78vpz7xsg889xnwfaza7c5gdv97yg9cgrdl0iljvsgp")))) + "08pixv8hd5xsccf7l8cqcijjqaq4k4da8qbp77wggal2fq445ika")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON") #:tests? #f)) (native-inputs `(("autoconf" ,autoconf) -- 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') 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 From 781d60efe99653591000ba6be6eced8e19730cc4 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Mon, 7 Mar 2016 22:19:33 +0300 Subject: Added transitional package llvm-3.7.1 Needed by POCL, version bumped.--- gn/packages/llvm.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 gn/packages/llvm.scm (limited to 'gn') diff --git a/gn/packages/llvm.scm b/gn/packages/llvm.scm new file mode 100644 index 0000000..83ea5d1 --- /dev/null +++ b/gn/packages/llvm.scm @@ -0,0 +1,65 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier +;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2015 Ludovic Courtès +;;; 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 (gnu packages llvm) + #:use-module (guix packages) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) + #:use-module (gnu packages) + #:use-module (gnu packages gcc) + #:use-module (gnu packages bootstrap) ;glibc-dynamic-linker + #:use-module (gnu packages perl) + #:use-module (gnu packages python) + #:use-module (gnu packages xml)) + + +(define-public llvm +(package + (name "llvm") + (version "3.7.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://llvm.org/releases/" + version "/llvm-" version ".src.tar.xz")) + (sha256 + (base32 + "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy")))) + (build-system cmake-build-system) + (native-inputs + `(("python" ,python-wrapper) + ("perl" ,perl))) + (arguments + `(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"))) + (home-page "http://www.llvm.org") + (synopsis "Optimizing compiler infrastructure") + (description + "LLVM is a compiler infrastructure designed for compile-time, link-time, +runtime, and idle-time optimization of programs from arbitrary programming +languages. It currently supports compilation of C and C++ programs, using +front-ends derived from GCC 4.0.1. A new front-end for the C family of +languages is in development. The compiler infrastructure includes mirror sets +of programming tools as well as libraries with equivalent functionality.") + (license license:ncsa))) -- cgit v1.2.3 From 95b462b1806688a9a9f32f6de383b69fd5b3ea95 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Tue, 8 Mar 2016 07:15:59 +0300 Subject: Add ocl-icd package to GNU Guix Added the Opensource reference OpenCL ICD, a dependency for Arrayfire and other OpenCL runtimes on GNU Guix--- gn/packages/ocl-icd.scm | 64 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 gn/packages/ocl-icd.scm (limited to 'gn') diff --git a/gn/packages/ocl-icd.scm b/gn/packages/ocl-icd.scm new file mode 100644 index 0000000..ecf749c --- /dev/null +++ b/gn/packages/ocl-icd.scm @@ -0,0 +1,64 @@ +;;; 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 ocl-icd) + #:use-module ((guix licenses)) + #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages linux) + #:use-module (gnu packages textutils) + #:use-module (gnu packages base) + #:use-module (gnu packages ruby) + #:use-module (gnu packages zip) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages bootstrap) + #:use-module (guix git-download)) + +(define-public ocl-icd + (package + (name "ocl-icd") + (version "2.2.9") + (source (origin + (method url-fetch) + (uri (string-append "https://forge.imag.fr/frs/download.php/716/ocl-icd-" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rgaixwnxmrq2aq4kcdvs0yx7i6krakarya9vqs7qwsv5hzc32hc")))) + (inputs `(("zip" ,zip) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("ruby" ,ruby) + ("libgcrypt" ,libgcrypt))) + (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack `bootstrap + (lambda _ + (zero? (system* "autoreconf" "-vfi"))))))) + (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 (list gpl2)))) -- cgit v1.2.3 From 7d4a56cf2649191c5f48dfe7401f7325272cb9f0 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Tue, 8 Mar 2016 08:00:59 +0300 Subject: Add Khronos OpenCL ICD Ported to guix.--- gn/packages/opencl-icd-loader.scm | 95 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 gn/packages/opencl-icd-loader.scm (limited to 'gn') diff --git a/gn/packages/opencl-icd-loader.scm b/gn/packages/opencl-icd-loader.scm new file mode 100644 index 0000000..5109fe8 --- /dev/null +++ b/gn/packages/opencl-icd-loader.scm @@ -0,0 +1,95 @@ +;;; 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 opencl-icd-loader) + #: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) + #: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 perl) + #:use-module (gnu packages python) + #:use-module (gnu packages xorg) + #:use-module (gnu packages version-control) + #:use-module (gnu packages linux)) + +(define-public opencl-icd-loader +(let ((commit "bf894eb")) + (package + (name "opencl-icd-loader") + (version (string-append "2.1-" commit )) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KhronosGroup/OpenCL-ICD-Loader.git") + (commit commit))) + (file-name (string-append name "-" commit)) + (sha256 + (base32 + "0b1y8c2y0xx5sqfpkkvgmp02czgmq5immypgm4hhpmp512hcj38j")))) +(native-inputs `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("cmake" ,cmake) + ("pkg-config" ,pkg-config))) +(inputs `(("python" ,python-2) + ("boost" ,boost) + ("dbus" ,dbus) + ("clang" ,clang) + ("clang-runtime" ,clang-runtime) + ("enca" ,enca) + ("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) + ("perl" ,perl) + ("randrproto" ,randrproto) + ("libxrandr" ,libxrandr) + ("xineramaproto" ,xineramaproto) + ("libxinerama" ,libxinerama) + ("libxcursor" ,libxcursor) + ("fftw-openmpi" ,fftw-openmpi))) + (build-system cmake-build-system) + (synopsis "The Khronos OpenCL ICDs (Installable Client Driver)") + (description "This package provides the Khronos OpenCL ICDs") + (home-page "https://www.khronos.org/registry/cl/") + (license license:gpl2)))) -- cgit v1.2.3 From bf4531ba29aec3fc42decd25077eff593fd6d6d2 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Tue, 8 Mar 2016 08:19:47 +0300 Subject: Notes: Requires OpenCL headers to build. Port Khronos OpenCL headers to guix before building this package.--- gn/packages/opencl-icd-loader.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gn') diff --git a/gn/packages/opencl-icd-loader.scm b/gn/packages/opencl-icd-loader.scm index 5109fe8..a8fbc7b 100644 --- a/gn/packages/opencl-icd-loader.scm +++ b/gn/packages/opencl-icd-loader.scm @@ -58,7 +58,7 @@ (file-name (string-append name "-" commit)) (sha256 (base32 - "0b1y8c2y0xx5sqfpkkvgmp02czgmq5immypgm4hhpmp512hcj38j")))) + "1sbxdd9vgl3m8j39kwvvk5cflyj7480pq0s307zg1ssidvj98v3g")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool) -- cgit v1.2.3 From 61f02abdf4cac16077c573e8a3d013cae6160b0c Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Tue, 8 Mar 2016 09:32:07 +0300 Subject: Wrong hash, correct on build Tertiary OpenCL headers package.--- gn/packages/opencl-headers.scm | 63 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 gn/packages/opencl-headers.scm (limited to 'gn') diff --git a/gn/packages/opencl-headers.scm b/gn/packages/opencl-headers.scm new file mode 100644 index 0000000..fa4f5c8 --- /dev/null +++ b/gn/packages/opencl-headers.scm @@ -0,0 +1,63 @@ +;;; 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 opencl-headers) + #:use-module ((guix licenses)) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (guix build-system gnu) + #:use-module (gnu packages gl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xorg) + #:use-module (gnu packages version-control) + #:use-module (gnu packages linux)) + +(define-public opencl-headers +(let ((commit "c1770dc")) + (package + (name "opencl-headers") + (version (string-append "2.1-" commit )) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KhronosGroup/OpenCL-Headers.git") + (commit commit))) + (file-name (string-append name "-" commit)) + (sha256 + (base32 + "1sbxdd9vgl3m8j39kwvvk5cflyj7480pq0s307zg1ssidvj98v3g")))) + (propagated-inputs '()) + (inputs '()) + (native-inputs '()) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "*" (string-append + (assoc-ref outputs "out") + "/include/CL"))))))) + (synopsis "The Khronos OpenCL headers") + (description "This package provides the Khronos OpenCL headers") + (home-page "https://www.khronos.org/registry/cl/") + (license license:gpl2)))) -- cgit v1.2.3 From 576288fd4701279b4ca41a0c454dbe921e63e7d3 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Tue, 8 Mar 2016 10:28:39 +0300 Subject: Package now builds on GNU Guix All done.--- gn/packages/opencl-headers.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gn') diff --git a/gn/packages/opencl-headers.scm b/gn/packages/opencl-headers.scm index fa4f5c8..bddd136 100644 --- a/gn/packages/opencl-headers.scm +++ b/gn/packages/opencl-headers.scm @@ -41,7 +41,7 @@ (file-name (string-append name "-" commit)) (sha256 (base32 - "1sbxdd9vgl3m8j39kwvvk5cflyj7480pq0s307zg1ssidvj98v3g")))) + "0m9fkblqja0686i2jjqiszvq3df95gp01a2674xknlmkd6525rck")))) (propagated-inputs '()) (inputs '()) (native-inputs '()) @@ -54,10 +54,10 @@ (delete 'check) (replace 'install (lambda* (#:key outputs #:allow-other-keys) - (copy-recursively "*" (string-append + (copy-recursively "." (string-append (assoc-ref outputs "out") "/include/CL"))))))) (synopsis "The Khronos OpenCL headers") (description "This package provides the Khronos OpenCL headers") (home-page "https://www.khronos.org/registry/cl/") - (license license:gpl2)))) + (license gpl2)))) -- cgit v1.2.3 From 7ff3a91d17727d6613e403854686866f74bcb1a8 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Tue, 8 Mar 2016 22:17:22 +0300 Subject: Change license handling Still fails to build. Obscure ruby error.--- gn/packages/ocl-icd.scm | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) (limited to 'gn') diff --git a/gn/packages/ocl-icd.scm b/gn/packages/ocl-icd.scm index ecf749c..b33fe9d 100644 --- a/gn/packages/ocl-icd.scm +++ b/gn/packages/ocl-icd.scm @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gn packages ocl-icd) - #:use-module ((guix licenses)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (guix packages) @@ -47,8 +47,9 @@ (inputs `(("zip" ,zip) ("autoconf" ,autoconf) ("automake" ,automake) - ("libtool" ,libtool) ("ruby" ,ruby) + ("libtool" ,libtool) + ("opencl-headers" ,opencl-headers) ("libgcrypt" ,libgcrypt))) (build-system gnu-build-system) (arguments @@ -61,4 +62,38 @@ (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 (list gpl2)))) + (license license:gpl2))) + + (define-public opencl-headers +(let ((commit "c1770dc")) + (package + (name "opencl-headers") + (version (string-append "2.1-" commit )) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KhronosGroup/OpenCL-Headers.git") + (commit commit))) + (file-name (string-append name "-" commit)) + (sha256 + (base32 + "0m9fkblqja0686i2jjqiszvq3df95gp01a2674xknlmkd6525rck")))) + (propagated-inputs '()) + (inputs '()) + (native-inputs '()) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "." (string-append + (assoc-ref outputs "out") + "/include/CL"))))))) + (synopsis "The Khronos OpenCL headers") + (description "This package provides the Khronos OpenCL headers") + (home-page "https://www.khronos.org/registry/cl/") + (license license:gpl2)))) -- cgit v1.2.3