From 859709f054229f45eba23d1e3c58e6b3037c2172 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Thu, 25 Feb 2016 19:58:41 +0300 Subject: Applied Pjotr's patch. Applied Pjotr's patch.--- gn/packages/arrayfire.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm index 1d3401d..5869a88 100644 --- a/gn/packages/arrayfire.scm +++ b/gn/packages/arrayfire.scm @@ -16,12 +16,13 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . -(define-module (gnu packages arrayfire) +(define-module (gn packages arrayfire) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) - #:use-module (guix cmake-build-system) + #:use-module (guix build-system cmake) #:use-module (guix licenses) + #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages curl) #:use-module (gnu packages gawk) @@ -32,9 +33,9 @@ #:use-module (gnu packages video) #:use-module (gnu packages tls) #:use-module (gnu packages textutils) - #:use-module (gnu packages fftw) - #:use-module (gnu packages fftw-openmpi) - #:use-module (gnu packages fftwf) + ;; #:use-module (gnu packages fftw) + ;; #:use-module (gnu packages fftw-openmpi) - in algebra + ;; #:use-module (gnu packages fftwf) #:use-module (gnu packages gl) #:use-module (gnu packages glew) #:use-module (gnu packages pkg-config) -- cgit v1.2.3 From c4a22933adfe218e991715a1c1e25d2104c48900 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Sun, 28 Feb 2016 21:37:32 +0300 Subject: Lisp specific fixes. --- gn/packages/arrayfire.scm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm index 5869a88..e529971 100644 --- a/gn/packages/arrayfire.scm +++ b/gn/packages/arrayfire.scm @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gn packages arrayfire) - #:use-module (guix packages) + #:use-module ((guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) @@ -33,15 +33,12 @@ #:use-module (gnu packages video) #:use-module (gnu packages tls) #:use-module (gnu packages textutils) - ;; #:use-module (gnu packages fftw) - ;; #:use-module (gnu packages fftw-openmpi) - in algebra - ;; #:use-module (gnu packages fftwf) #:use-module (gnu packages gl) #:use-module (gnu packages glew) #:use-module (gnu packages pkg-config) #:use-module (gnu packages mesa) #:use-module (gnu packages web) - #:use-module (gnu packages linux)) + #:use-module (gnu packages linux))) (define-public arrayfire (package @@ -51,11 +48,13 @@ (method url-fetch) (uri (string-append "https://github.com/arrayfire/arrayfire/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0rla0mi5wby8bkpzrj063y6js3d4dlfl3qwfvm8m8skfc21dz52p")))) (build-system cmake-build-system) - (arguments `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release -DBUILD_OPENCL=ON"))) + (arguments + `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release -DBUILD_OPENCL=ON"))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -179,7 +178,6 @@ ("zlib" ,zlib))) (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. It is easy to integrate into existing applications and does not lay claim to the main loop. -GLFW is written in C and has native support for Windows, OS X and many Unix-like systems using the X Window System, such as Linux and FreeBSD. -GLFW is licensed under the zlib/libpng license.") + (description "glfw is an Open Source, multi-platform library for creating windows with OpenGL contexts and receiving input and events.") (license license:gpl2+))) + -- cgit v1.2.3 From 0e91d686b2262bf19b15aa64477daad08ae94926 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Sun, 28 Feb 2016 22:42:45 +0300 Subject: Lisp fixes --- gn/packages/arrayfire.scm | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm index e529971..c82ed5c 100644 --- a/gn/packages/arrayfire.scm +++ b/gn/packages/arrayfire.scm @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gn packages arrayfire) - #:use-module ((guix packages) + #:use-module ((guix packages)) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) @@ -31,14 +31,15 @@ #:use-module (gnu packages glib) #:use-module (gnu packages image) #:use-module (gnu packages video) - #:use-module (gnu packages tls) + ;;#:use-module (gnu packages tls) #:use-module (gnu packages textutils) #:use-module (gnu packages gl) - #:use-module (gnu packages glew) + ;;#:use-module (gnu packages glew) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages mesa) + ;;#:use-module (gnu packages mesa) #:use-module (gnu packages web) - #:use-module (gnu packages linux))) + #:use-module (gnu packages ldc) + #:use-module (gnu packages linux)) (define-public arrayfire (package @@ -52,11 +53,7 @@ (sha256 (base32 "0rla0mi5wby8bkpzrj063y6js3d4dlfl3qwfvm8m8skfc21dz52p")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release -DBUILD_OPENCL=ON"))) - (native-inputs - `(("autoconf" ,autoconf) + (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("cmake" ,cmake) ("doxygen" ,doxygen) @@ -68,8 +65,7 @@ ("swig" ,swig) ("which" ,which) ("yasm" ,yasm))) - (inputs - `(("boost" ,boost) + (inputs `(("boost" ,boost) ("bzip2" ,bzip2) ("glfw" ,glfw) ("curl" ,curl) @@ -118,7 +114,12 @@ ("libxxf86vm" ,libxxf86vm) ("inputproto" ,inputproto) ("glproto" ,glproto) + ("cmake" ,cmake) ("zlib" ,zlib))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release -DBUILD_OPENCL=ON"))) + (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/") @@ -176,6 +177,7 @@ ("unzip" ,unzip) ("zip" ,zip) ("zlib" ,zlib))) + (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.") -- cgit v1.2.3 From 5336d44d8727f938aaf913861de4835c0793eac9 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Sun, 28 Feb 2016 23:19:54 +0300 Subject: Update arrayfire.scm --- gn/packages/arrayfire.scm | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm index c82ed5c..e09fff8 100644 --- a/gn/packages/arrayfire.scm +++ b/gn/packages/arrayfire.scm @@ -17,11 +17,11 @@ ;;; along with GNU Guix. If not, see . (define-module (gn packages arrayfire) - #:use-module ((guix packages)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) - #:use-module (guix licenses) + #:use-module (guix packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages curl) @@ -118,12 +118,11 @@ ("zlib" ,zlib))) (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release -DBUILD_OPENCL=ON"))) - + `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release -DBUILD_OPENCL=ON"))) (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 gpl3+))) + (license gpl2+))) (define-public glfw (package @@ -138,14 +137,12 @@ (base32 "1g0jm80cakk60477zz9z1mpsznxaadsfm318yiigf6kackrkqfqg")))) (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) - (native-inputs - `(("autoconf" ,autoconf) + (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("cmake" ,cmake) ("libtool" ,libtool) ("pkg-config" ,pkg-config))) - (inputs - `(("bzip2" ,bzip2) + (inputs `(("bzip2" ,bzip2) ("curl" ,curl) ("dbus" ,dbus) ("enca" ,enca) @@ -176,10 +173,9 @@ ("tinyxml" ,tinyxml) ("unzip" ,unzip) ("zip" ,zip) - ("zlib" ,zlib))) - + ("zlib" ,zlib))) (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 license:gpl2+))) + (license gpl2))) -- cgit v1.2.3 From 2814c72f084f175bbc7cfc401ea59662f1595596 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Mon, 29 Feb 2016 01:48:00 +0300 Subject: Pending work: Fix Licensing stuff. The build should run, though you'll run into bigger problems with licensing.--- gn/packages/arrayfire.scm | 66 ++++++++--------------------------------------- 1 file changed, 11 insertions(+), 55 deletions(-) diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm index e09fff8..3244680 100644 --- a/gn/packages/arrayfire.scm +++ b/gn/packages/arrayfire.scm @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gn packages arrayfire) - #:use-module ((guix licenses) #:prefix license:) + #:use-module ((guix licenses)) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) @@ -38,7 +38,11 @@ #:use-module (gnu packages pkg-config) ;;#:use-module (gnu packages mesa) #:use-module (gnu packages web) + #:use-module (gnu packages databases) + ;;#:use-module (gnu packages lapack) #:use-module (gnu packages ldc) + ;;#:use-module (gnu packages gfortran) + #:use-module (gnu packages python) #:use-module (gnu packages linux)) (define-public arrayfire @@ -56,64 +60,32 @@ (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("cmake" ,cmake) - ("doxygen" ,doxygen) ("gawk" ,gawk) - ("gettext" ,gnu-gettext) - ("icedtea7" ,icedtea7) ("libtool" ,libtool) - ("pkg-config" ,pkg-config) - ("swig" ,swig) - ("which" ,which) - ("yasm" ,yasm))) + ("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) - ("bzip2" ,bzip2) ("glfw" ,glfw) ("curl" ,curl) ("dbus" ,dbus) ("enca" ,enca) ("eudev" ,eudev) - ("fontconfig" ,fontconfig) ("freetype" ,freetype) - ("fribidi" ,fribidi) ("glew" ,glew) - ("gnutls" ,gnutls) - ("gperf" ,gperf) ("libcap" ,libcap) - ("libgcrypt" ,libgcrypt) ("libjpeg" ,libjpeg) ("libltdl" ,libltdl) - ("libssh" ,libssh) ("libtiff" ,libtiff) - ("libxml2" ,libxml2) - ("libxmu" ,libxmu) - ("libxrandr" ,libxrandr) - ("libxrender" ,libxrender) - ("libxslt" ,libxslt) - ("libxt" ,libxt) ("libyajl" ,libyajl) - ("lzo" ,lzo) ("mesa-utils" ,mesa-utils) ("mysql" ,mysql) ("openssl" ,openssl) - ("pcre" ,pcre) ("python" ,python-2) - ("tinyxml" ,tinyxml) - ("unzip" ,unzip) - ("zip" ,zip) ("freeimage" ,freeimage) ("fftw" ,fftw) ("fftwf" ,fftwf) ("fftw-openmpi" ,fftw-openmpi) - ("atlas" ,atlas) - ("gfortran", gfortran) ("glew" ,glew) ("glu" ,glu) - ("libx11" ,libx11) - ("libxi" ,libxi) - ("libxrandr" ,libxrandr) - ("libxxf86vm" ,libxxf86vm) - ("inputproto" ,inputproto) - ("glproto" ,glproto) ("cmake" ,cmake) ("zlib" ,zlib))) (build-system cmake-build-system) @@ -122,7 +94,7 @@ (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 gpl2+))) + (license gpl3+))) (define-public glfw (package @@ -136,46 +108,30 @@ (sha256 (base32 "1g0jm80cakk60477zz9z1mpsznxaadsfm318yiigf6kackrkqfqg")))) + (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("cmake" ,cmake) ("libtool" ,libtool) ("pkg-config" ,pkg-config))) - (inputs `(("bzip2" ,bzip2) - ("curl" ,curl) + (inputs `(("curl" ,curl) ("dbus" ,dbus) ("enca" ,enca) - ("eudev" ,eudev) - ("fontconfig" ,fontconfig) ("freetype" ,freetype) - ("fribidi" ,fribidi) + ("eudev" ,eudev) ("glew" ,glew) - ("gnutls" ,gnutls) - ("gperf" ,gperf) ("libcap" ,libcap) - ("libgcrypt" ,libgcrypt) ("libjpeg" ,libjpeg) ("libltdl" ,libltdl) - ("libssh" ,libssh) ("libtiff" ,libtiff) - ("libxml2" ,libxml2) - ("libxmu" ,libxmu) - ("libxrandr" ,libxrandr) - ("libxrender" ,libxrender) - ("libxslt" ,libxslt) - ("libxt" ,libxt) - ("lzo" ,lzo) ("mesa-utils" ,mesa-utils) ("mysql" ,mysql) ("openssl" ,openssl) ("python" ,python-2) - ("tinyxml" ,tinyxml) - ("unzip" ,unzip) - ("zip" ,zip) ("zlib" ,zlib))) (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 gpl2))) + (license gpl3+))) -- cgit v1.2.3 From 419f84b3a90ebca9e97537139b89de80ad9e4166 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Mon, 29 Feb 2016 01:49:42 +0300 Subject: OpenFYBA package: Cannot build Needs to run autoreconf-ivf before the ./configure phase for the build to be successful. modify-phase statements needed.--- gn/packages/OpenFYBA | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/gn/packages/OpenFYBA b/gn/packages/OpenFYBA index 5d64381..fade8de 100644 --- a/gn/packages/OpenFYBA +++ b/gn/packages/OpenFYBA @@ -16,8 +16,8 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . -(define-module (gnu packages OpenFYBA) - #:use-module ((guix licenses) #:prefix license:) +(define-module (gn packages OpenFYBA) + #:use-module ((guix licenses)) #:use-module (gnu packages) #:use-module (guix packages) #:use-module (guix download) @@ -27,33 +27,26 @@ #:use-module (gnu packages base) #:use-module (gnu packages tls) #:use-module (gnu packages zip) + #:use-module (gnu packages gnupg) #:use-module (gnu packages bootstrap) #:use-module (guix git-download)) (define-public OpenFYBA (package (name "OpenFYBA") - (version "4.4.1") + (version "4.1.1") (source (origin (method url-fetch) - (uri (string-append "https://github.com/kartverket/fyba/archive" + (uri (string-append "https://github.com/kartverket/fyba/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0ya1agi78d386skq353dk400fl11q6whfqmv31qrkn4g5vamixlr")))) - (inputs `(("openssl" ,openssl) - (build-system gnu-build-system) + (inputs `(("openssl" ,openssl) + ("libgcrypt" ,libgcrypt))) + (build-system gnu-build-system) (home-page "http://labs.kartverket.no/sos/") (synopsis "source code release of the FYBA library") - (description - "OpenFYBA is the source code release of the FYBA library, distributed by the -National Mapping Authority of Norway (Statens kartverk) to read and write -files in the National geodata standard format SOSI. -The original library has a long history, and was originally developed for -systems as diverse as DOS, OS/2-16, OS/2-32, Win16, Win32, and various UNIX -variants (POSIX, HPUX, Silicon graphics). In Norwegian. It shows in the -source code. OpenFYBA has been tested to run at least on Windows and Linux -environments. ") - (license license:gpl2+))) - + (description "OpenFYBA is the source code release of the FYBA library.") + (license gpl2+))) -- cgit v1.2.3 From 2b4c04d952bec10c54ee06bcf6692e0f1da47e0b Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Mon, 29 Feb 2016 14:42:35 +0300 Subject: Fixed licensing stuff. Package can now build. Tracking build dependencies.--- gn/packages/arrayfire.scm | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm index 3244680..060339f 100644 --- a/gn/packages/arrayfire.scm +++ b/gn/packages/arrayfire.scm @@ -69,7 +69,6 @@ ("dbus" ,dbus) ("enca" ,enca) ("eudev" ,eudev) - ("freetype" ,freetype) ("glew" ,glew) ("libcap" ,libcap) ("libjpeg" ,libjpeg) @@ -78,7 +77,6 @@ ("libyajl" ,libyajl) ("mesa-utils" ,mesa-utils) ("mysql" ,mysql) - ("openssl" ,openssl) ("python" ,python-2) ("freeimage" ,freeimage) ("fftw" ,fftw) @@ -86,15 +84,14 @@ ("fftw-openmpi" ,fftw-openmpi) ("glew" ,glew) ("glu" ,glu) - ("cmake" ,cmake) - ("zlib" ,zlib))) + ("cmake" ,cmake))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release -DBUILD_OPENCL=ON"))) (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 gpl3+))) + (license (list gpl2 gpl2+ gpl3 gpl3+)))) (define-public glfw (package @@ -118,7 +115,6 @@ (inputs `(("curl" ,curl) ("dbus" ,dbus) ("enca" ,enca) - ("freetype" ,freetype) ("eudev" ,eudev) ("glew" ,glew) ("libcap" ,libcap) @@ -127,11 +123,9 @@ ("libtiff" ,libtiff) ("mesa-utils" ,mesa-utils) ("mysql" ,mysql) - ("openssl" ,openssl) - ("python" ,python-2) - ("zlib" ,zlib))) + ("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 gpl3+))) + (license (list gpl2)))) -- cgit v1.2.3 From 96ed86cf39e2e973e46edce2c1cb7edce1a2c997 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Mon, 29 Feb 2016 17:08:47 +0300 Subject: Show stopper: Cmake variables for glew search paths A bug in Arrayfire. Submitted bug to Arrayfire, waiting for feedback. An interim patch is in the works and is being tested.--- gn/packages/arrayfire.scm | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm index 060339f..1a1c9a0 100644 --- a/gn/packages/arrayfire.scm +++ b/gn/packages/arrayfire.scm @@ -31,32 +31,31 @@ #:use-module (gnu packages glib) #:use-module (gnu packages image) #:use-module (gnu packages video) - ;;#:use-module (gnu packages tls) #:use-module (gnu packages textutils) #:use-module (gnu packages gl) - ;;#:use-module (gnu packages glew) #:use-module (gnu packages pkg-config) - ;;#:use-module (gnu packages mesa) + #:use-module (gnu packages maths) #:use-module (gnu packages web) #:use-module (gnu packages databases) - ;;#:use-module (gnu packages lapack) #:use-module (gnu packages ldc) - ;;#:use-module (gnu packages gfortran) - #:use-module (gnu packages python) + #:use-module (gnu packages gcc) + #:use-module (gnu packages python) + #:use-module (gnu packages xorg) + #:use-module (gnu packages version-control) #:use-module (gnu packages linux)) (define-public arrayfire (package (name "arrayfire") - (version "v3.3.alpha") + (version "3.3.0") (source (origin (method url-fetch) - (uri (string-append "https://github.com/arrayfire/arrayfire/archive/" version - ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (uri (string-append "http://arrayfire.com/arrayfire_source/arrayfire-full-" version + ".tar.bz2")) + (file-name (string-append name "-" version ".tar.bz2")) (sha256 (base32 - "0rla0mi5wby8bkpzrj063y6js3d4dlfl3qwfvm8m8skfc21dz52p")))) + "07pbw6vzny3z86y890c0rx7rk31ddchxrrdslk661iq512xppr0g")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("cmake" ,cmake) @@ -70,6 +69,7 @@ ("enca" ,enca) ("eudev" ,eudev) ("glew" ,glew) + ("lapack" ,lapack) ("libcap" ,libcap) ("libjpeg" ,libjpeg) ("libltdl" ,libltdl) @@ -84,10 +84,13 @@ ("fftw-openmpi" ,fftw-openmpi) ("glew" ,glew) ("glu" ,glu) + ("openblas" ,openblas) + ("git" ,git) + ("gcc" ,gcc) ("cmake" ,cmake))) (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release -DBUILD_OPENCL=ON"))) + `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release -DBUILD_OPENCL=ON") #: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/") @@ -96,17 +99,16 @@ (define-public glfw (package (name "glfw") - (version "3.0.4") + (version "3.1.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/glfw/glfw/archive/" - version ".zip")) - (file-name (string-append name "-" version ".zip")) + version ".tar.gz")) (sha256 (base32 - "1g0jm80cakk60477zz9z1mpsznxaadsfm318yiigf6kackrkqfqg")))) + "08pixv8hd5xsccf7l8cqcijjqaq4k4da8qbp77wggal2fq445ika")))) (build-system cmake-build-system) - (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) + (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON") #:tests? #f)) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("cmake" ,cmake) @@ -122,6 +124,11 @@ ("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/") -- cgit v1.2.3 From 660b3f26943f22a4d816314738ed0b9c8d595299 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Mon, 29 Feb 2016 17:25:45 +0300 Subject: Removed obsolete reference to gcc Not needed as an input, deprecated.--- gn/packages/arrayfire.scm | 2 -- 1 file changed, 2 deletions(-) diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm index 1a1c9a0..23ff0af 100644 --- a/gn/packages/arrayfire.scm +++ b/gn/packages/arrayfire.scm @@ -38,7 +38,6 @@ #:use-module (gnu packages web) #:use-module (gnu packages databases) #:use-module (gnu packages ldc) - #:use-module (gnu packages gcc) #:use-module (gnu packages python) #:use-module (gnu packages xorg) #:use-module (gnu packages version-control) @@ -86,7 +85,6 @@ ("glu" ,glu) ("openblas" ,openblas) ("git" ,git) - ("gcc" ,gcc) ("cmake" ,cmake))) (build-system cmake-build-system) (arguments -- cgit v1.2.3 From ddf0498762223a5ac115c635cc9afea1e34b743d Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Mon, 29 Feb 2016 21:33:09 +0300 Subject: OpenFYBA ready for production. The package can now be pushed upstream to GNU guix. It builds successfully.--- gn/packages/OpenFYBA | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/gn/packages/OpenFYBA b/gn/packages/OpenFYBA index fade8de..cd24003 100644 --- a/gn/packages/OpenFYBA +++ b/gn/packages/OpenFYBA @@ -19,13 +19,14 @@ (define-module (gn packages OpenFYBA) #: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 tls) + ;;#:use-module (gnu packages tls) #:use-module (gnu packages zip) #:use-module (gnu packages gnupg) #:use-module (gnu packages bootstrap) @@ -43,10 +44,18 @@ (sha256 (base32 "0ya1agi78d386skq353dk400fl11q6whfqmv31qrkn4g5vamixlr")))) - (inputs `(("openssl" ,openssl) + (inputs `(("zip" ,zip) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) ("libgcrypt" ,libgcrypt))) - (build-system gnu-build-system) + (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack `bootstrap + (lambda _ + (zero? (system* "autoreconf" "-vfi"))))))) (home-page "http://labs.kartverket.no/sos/") (synopsis "source code release of the FYBA library") (description "OpenFYBA is the source code release of the FYBA library.") - (license gpl2+))) + (license (list gpl2)))) -- cgit v1.2.3 From 580b89ae4861ca017c62e2cc44288b16076e4a26 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Mon, 29 Feb 2016 22:05:15 +0300 Subject: Renamed as requested Package name is in lower case.--- gn/packages/OpenFYBA | 61 ------------------------------------------------ gn/packages/openfyba.scm | 61 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 61 deletions(-) delete mode 100644 gn/packages/OpenFYBA create mode 100644 gn/packages/openfyba.scm diff --git a/gn/packages/OpenFYBA b/gn/packages/OpenFYBA deleted file mode 100644 index cd24003..0000000 --- a/gn/packages/OpenFYBA +++ /dev/null @@ -1,61 +0,0 @@ -;;; 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 OpenFYBA) - #: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 tls) - #:use-module (gnu packages zip) - #:use-module (gnu packages gnupg) - #:use-module (gnu packages bootstrap) - #:use-module (guix git-download)) - -(define-public OpenFYBA - (package - (name "OpenFYBA") - (version "4.1.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/kartverket/fyba/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0ya1agi78d386skq353dk400fl11q6whfqmv31qrkn4g5vamixlr")))) - (inputs `(("zip" ,zip) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("libgcrypt" ,libgcrypt))) - (build-system gnu-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack `bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) - (home-page "http://labs.kartverket.no/sos/") - (synopsis "source code release of the FYBA library") - (description "OpenFYBA is the source code release of the FYBA library.") - (license (list gpl2)))) diff --git a/gn/packages/openfyba.scm b/gn/packages/openfyba.scm new file mode 100644 index 0000000..c345f18 --- /dev/null +++ b/gn/packages/openfyba.scm @@ -0,0 +1,61 @@ +;;; 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 openfyba) + #: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 tls) + #:use-module (gnu packages zip) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages bootstrap) + #:use-module (guix git-download)) + +(define-public openfyba + (package + (name "OpenFYBA") + (version "4.1.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/kartverket/fyba/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ya1agi78d386skq353dk400fl11q6whfqmv31qrkn4g5vamixlr")))) + (inputs `(("zip" ,zip) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("libgcrypt" ,libgcrypt))) + (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack `bootstrap + (lambda _ + (zero? (system* "autoreconf" "-vfi"))))))) + (home-page "http://labs.kartverket.no/sos/") + (synopsis "source code release of the FYBA library") + (description "OpenFYBA is the source code release of the FYBA library.") + (license (list gpl2)))) -- cgit v1.2.3 From ac58f720f1de5927973a2167142b01af8b421fbc Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Mon, 29 Feb 2016 22:06:33 +0300 Subject: Update openfyba.scm --- gn/packages/openfyba.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gn/packages/openfyba.scm b/gn/packages/openfyba.scm index c345f18..2b20d09 100644 --- a/gn/packages/openfyba.scm +++ b/gn/packages/openfyba.scm @@ -34,7 +34,7 @@ (define-public openfyba (package - (name "OpenFYBA") + (name "openfyba") (version "4.1.1") (source (origin (method url-fetch) -- cgit v1.2.3 From ef781382de7febeec2b4b8f854c88923d9f72e5f Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Mon, 29 Feb 2016 22:39:14 +0300 Subject: Added hyphy.scm Requires a patch or substitute* clause to get working.--- gn/packages/hyphy.scm | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 gn/packages/hyphy.scm diff --git a/gn/packages/hyphy.scm b/gn/packages/hyphy.scm new file mode 100644 index 0000000..23c0406 --- /dev/null +++ b/gn/packages/hyphy.scm @@ -0,0 +1,105 @@ +;;; 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 hyphy) + #: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 hyphy + (package + (name "hyphy") + (version "2.2.6") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/veg/hyphy/archive/" version + ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00i3609nywb1xfq50p3kvfbvahql241ciq23jrf67z0yp4y5l5a9")))) + (native-inputs `(("autoconf" ,autoconf) + ("automake" ,automake) + ("cmake" ,cmake) + ("gawk" ,gawk) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs `(("boost" ,boost) + ("curl" ,curl) + ("atlas" ,atlas) + ("dbus" ,dbus) + ("enca" ,enca) + ("eudev" ,eudev) + ("glew" ,glew) + ("lapack" ,lapack) + ("libcap" ,libcap) + ("libjpeg" ,libjpeg) + ("libltdl" ,libltdl) + ("libtiff" ,libtiff) + ("libyajl" ,libyajl) + ("mesa-utils" ,mesa-utils) + ("mysql" ,mysql) + ("python" ,python-2) + ("freeimage" ,freeimage) + ("fftw" ,fftw) + ("fftwf" ,fftwf) + ("fftw-openmpi" ,fftw-openmpi) + ("glew" ,glew) + ("glu" ,glu) + ("openblas" ,openblas) + ("git" ,git) + ("cmake" ,cmake))) + (build-system cmake-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack `bootstrap + (lambda _ + (zero? (system* "make" "MPI"))))))) + (arguments + `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release") #:tests? #f)) + (synopsis "hyphy: an open-source software package for the analysis of genetic sequences using techniques in phylogenetics, molecular evolution, and machine learning.") + (description "HyPhy is an open-source software package for the analysis of genetic sequences using techniques in phylogenetics, molecular evolution, and machine learning. + It features a complete graphical user interface (GUI) and a rich scripting language for limitless customization of analyses. Additionally, HyPhy features support for + parallel computing environments (via message passing interface (MPI)) and it can be compiled as a shared library and called from other programming environments such as + Python and R. ") + (home-page "http://hyphy.org") + (license (list gpl2 gpl2+ gpl3 gpl3+)))) + + + -- cgit v1.2.3 From 010d126f628d10ce82e28a10b58c0db73b61c1da Mon Sep 17 00:00:00 2001 From: pjotrp Date: Tue, 1 Mar 2016 06:16:31 +0000 Subject: hyphy: simplified inputs, changed license --- gn/packages/hyphy.scm | 63 +++++++++++++++++---------------------------------- 1 file changed, 21 insertions(+), 42 deletions(-) diff --git a/gn/packages/hyphy.scm b/gn/packages/hyphy.scm index 23c0406..fea73a4 100644 --- a/gn/packages/hyphy.scm +++ b/gn/packages/hyphy.scm @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gn packages hyphy) - #:use-module ((guix licenses)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) @@ -54,52 +54,31 @@ (sha256 (base32 "00i3609nywb1xfq50p3kvfbvahql241ciq23jrf67z0yp4y5l5a9")))) - (native-inputs `(("autoconf" ,autoconf) - ("automake" ,automake) - ("cmake" ,cmake) - ("gawk" ,gawk) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config))) - (inputs `(("boost" ,boost) - ("curl" ,curl) - ("atlas" ,atlas) - ("dbus" ,dbus) - ("enca" ,enca) - ("eudev" ,eudev) - ("glew" ,glew) - ("lapack" ,lapack) - ("libcap" ,libcap) - ("libjpeg" ,libjpeg) - ("libltdl" ,libltdl) - ("libtiff" ,libtiff) - ("libyajl" ,libyajl) - ("mesa-utils" ,mesa-utils) - ("mysql" ,mysql) - ("python" ,python-2) - ("freeimage" ,freeimage) - ("fftw" ,fftw) - ("fftwf" ,fftwf) - ("fftw-openmpi" ,fftw-openmpi) - ("glew" ,glew) - ("glu" ,glu) - ("openblas" ,openblas) - ("git" ,git) - ("cmake" ,cmake))) + (inputs + `(("python" ,python-2) + ("fftw-openmpi" ,fftw-openmpi))) (build-system cmake-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack `bootstrap - (lambda _ - (zero? (system* "make" "MPI"))))))) + (add-after 'unpack `bootstrap + (lambda _ + (zero? (system* "make" "MPI"))))))) (arguments - `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release") #:tests? #f)) - (synopsis "hyphy: an open-source software package for the analysis of genetic sequences using techniques in phylogenetics, molecular evolution, and machine learning.") - (description "HyPhy is an open-source software package for the analysis of genetic sequences using techniques in phylogenetics, molecular evolution, and machine learning. - It features a complete graphical user interface (GUI) and a rich scripting language for limitless customization of analyses. Additionally, HyPhy features support for - parallel computing environments (via message passing interface (MPI)) and it can be compiled as a shared library and called from other programming environments such as - Python and R. ") + `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release") + #:tests? #f)) + (synopsis "hyphy: an open-source software package for the analysis +of genetic sequences using techniques in phylogenetics, molecular +evolution, and machine learning.") + (description "HyPhy is an open-source software package for the +analysis of genetic sequences using techniques in phylogenetics, +molecular evolution, and machine learning. It features a complete +graphical user interface (GUI) and a rich scripting language for +limitless customization of analyses. Additionally, HyPhy features +support for parallel computing environments (via message passing +interface (MPI)) and it can be compiled as a shared library and called +from other programming environments such as Python and R. ") (home-page "http://hyphy.org") - (license (list gpl2 gpl2+ gpl3 gpl3+)))) + (license license:expat))) -- cgit v1.2.3 From 7d5d0e85fd8c241d186ceb33d200c26319a95ecf Mon Sep 17 00:00:00 2001 From: pjotrp Date: Tue, 1 Mar 2016 09:47:56 +0000 Subject: gn2 updated --- gn/packages/genenetwork.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm index 033bf94..e7ebf41 100644 --- a/gn/packages/genenetwork.scm +++ b/gn/packages/genenetwork.scm @@ -141,20 +141,20 @@ (license license:agpl3+)))) (define-public genenetwork2 - (let ((commit "9e9475053")) + (let ((commit "8c9de7e5a2016f1e5b7397be1a8e84396e3a25c5")) (package (name "genenetwork2") - (version (string-append "2.0-" commit )) + (version (string-append "2.0-" (string-take commit 7) )) (source (origin (method git-fetch) (uri (git-reference ;; (url "https://github.com/genenetwork/genenetwork2.git") (url "https://github.com/pjotrp/genenetwork2.git") (commit commit))) - (file-name (string-append name "-" commit)) + (file-name (string-append name "-" (string-take commit 7))) (sha256 (base32 - "09hvy9mf4dnmkb8qg49viffzrxk53m2kr4r955m84dxaa5pdrjhd")))) + "1i8shsqci73z8gsswjack6l1wbph4x3d7vdg4ah8j6r2zsaf5782")))) (propagated-inputs `( ;; propagated for development purposes ("python" ,python-2) ;; probably superfluous ("r" ,r) -- cgit v1.2.3 From c9c9ff5f70e0fbb08c6b15d9cfc7a541b34cc818 Mon Sep 17 00:00:00 2001 From: pjotrp Date: Tue, 1 Mar 2016 09:53:12 +0000 Subject: gn2 updated --- gn/packages/genenetwork.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm index e7ebf41..aec305b 100644 --- a/gn/packages/genenetwork.scm +++ b/gn/packages/genenetwork.scm @@ -154,7 +154,7 @@ (file-name (string-append name "-" (string-take commit 7))) (sha256 (base32 - "1i8shsqci73z8gsswjack6l1wbph4x3d7vdg4ah8j6r2zsaf5782")))) + "1kgigzs4rs6zgbqbnm40rcljzz9prlwv7n2n9an57jk58bjgf6v8")))) (propagated-inputs `( ;; propagated for development purposes ("python" ,python-2) ;; probably superfluous ("r" ,r) -- cgit v1.2.3 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 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 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(-) 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 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(-) 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(-) 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(+) 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 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 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 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(-) 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 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(-) 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(-) 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 From c27a4c0a6586fcb3532a39b1d7875856e4d1e574 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Tue, 8 Mar 2016 23:14:40 +0300 Subject: pocl updated with all dependencies. Have fun.--- gn/packages/pocl.scm | 122 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 116 insertions(+), 6 deletions(-) diff --git a/gn/packages/pocl.scm b/gn/packages/pocl.scm index c5cb8cb..93534b7 100644 --- a/gn/packages/pocl.scm +++ b/gn/packages/pocl.scm @@ -20,6 +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) @@ -38,9 +39,13 @@ #: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 version-control) + #:use-module (gnu packages ruby) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages zip) #:use-module (gnu packages linux)) (define-public pocl @@ -76,19 +81,28 @@ ("libjpeg" ,libjpeg) ("libltdl" ,libltdl) ("libtiff" ,libtiff) - ("llvm" ,llvm) + ("llvm" ,llvm-3.7.1) + ("ocl-icd" ,ocl-icd) + ("opencl-headers" ,opencl-headers) ("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) - (arguments - `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release" "-DBUILD_SHARED_LIBS=ON") - #:tests? #f)) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--enable-icd") + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before + 'configure 'rewrite-usr-bin + (lambda _ + (zero? (system* "./autogen.sh"))))))) (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.") @@ -97,3 +111,99 @@ new targets and devices, both for homogeneous CPU and heterogenous GPUs/accelerators.") (home-page "http://portablecl.org/") (license license:gpl2)))) + +(define-public llvm-3.7.1 +(package + (name "llvm-3.7.1") + (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))) + +(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) + ("ruby" ,ruby) + ("libtool" ,libtool) + ("opencl-headers" ,opencl-headers) + ("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 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 From 8fa5616879f7b973a8377e6ac3ca46726b459f22 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Sat, 12 Mar 2016 02:28:47 +0300 Subject: WIP Work in progress. Investigate,--- gn/packages/pocl.scm | 189 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 154 insertions(+), 35 deletions(-) diff --git a/gn/packages/pocl.scm b/gn/packages/pocl.scm index 93534b7..39f16c0 100644 --- a/gn/packages/pocl.scm +++ b/gn/packages/pocl.scm @@ -20,15 +20,21 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix git-download) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix packages) + #:use-module (gnu packages) + #:use-module (srfi srfi-1) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages curl) #:use-module (gnu packages boost) + #:use-module (gnu packages bootstrap) + #:use-module (gnu packages base) #:use-module (gnu packages gawk) #:use-module (gnu packages cmake) + #:use-module (gnu packages gcc) #:use-module (gnu packages glib) #:use-module (gnu packages image) #:use-module (gnu packages video) @@ -42,6 +48,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages xorg) + #:use-module (gnu packages xml) #:use-module (gnu packages version-control) #:use-module (gnu packages ruby) #:use-module (gnu packages gnupg) @@ -49,7 +56,7 @@ #:use-module (gnu packages linux)) (define-public pocl -(let ((commit "a6f377a")) +(let ((commit "7aefc52")) (package (name "pocl") (version (string-append "v09rc-" commit )) @@ -61,7 +68,7 @@ (file-name (string-append name "-" commit)) (sha256 (base32 - "0b1y8c2y0xx5sqfpkkvgmp02czgmq5immypgm4hhpmp512hcj38j")))) + "03wbcxkx1w5kx0crangsnah0xq218bhb99vglmn00wcjhhw80qim")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool) @@ -70,8 +77,8 @@ (inputs `(("python" ,python-2) ("boost" ,boost) ("dbus" ,dbus) - ("clang" ,clang) - ("clang-runtime" ,clang-runtime) + ("clang" ,clang-3.7.1) + ("clang-runtime" ,clang-runtime-3.7.1) ("enca" ,enca) ("eudev" ,eudev) ("fftw-openmpi" ,fftw-openmpi) @@ -111,37 +118,7 @@ new targets and devices, both for homogeneous CPU and heterogenous GPUs/accelerators.") (home-page "http://portablecl.org/") (license license:gpl2)))) - -(define-public llvm-3.7.1 -(package - (name "llvm-3.7.1") - (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))) - + (define-public ocl-icd (package (name "ocl-icd") @@ -207,3 +184,145 @@ of programming tools as well as libraries with equivalent functionality.") (description "This package provides the Khronos OpenCL headers") (home-page "https://www.khronos.org/registry/cl/") (license license:gpl2)))) + +(define (clang-runtime-from-llvm llvm hash) + (package + (name "clang-runtime") + (version (package-version llvm-3.7.1)) + (source + (origin + (method url-fetch) + (uri (string-append "http://llvm.org/releases/" + version "/compiler-rt-" version ".src.tar.xz")) + (sha256 + (base32 + "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx")))) + (build-system cmake-build-system) + (native-inputs (package-native-inputs llvm)) + (inputs + `(("llvm" ,llvm))) + (arguments + `(;; Don't use '-g' during the build to save space. + #:build-type "Release")) + + (home-page "http://compiler-rt.llvm.org") + (synopsis "Runtime library for Clang/LLVM") + (description + "The \"clang-runtime\" library provides the implementations of run-time +functions for C and C++ programs. It also provides header files that allow C +and C++ source code to interface with the \"sanitization\" passes of the clang +compiler. In LLVM this library is called \"compiler-rt\".") + (license license:ncsa) + + ;; doesn't list MIPS as supported. + (supported-systems (delete "mips64el-linux" %supported-systems)))) + +(define (clang-from-llvm llvm clang-runtime hash) + (package + (name "clang") + (version (package-version llvm-3.7.1)) + (source + (origin + (method url-fetch) + (uri (string-append "http://llvm.org/releases/" + version "/cfe-" version ".src.tar.xz")) + (sha256 + (base32 + "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn")) + (patches (list (search-patch "clang-libc-search-path.patch"))))) + ;; Using cmake allows us to treat llvm as an external library. There + ;; doesn't seem to be any way to do this with clang's autotools-based + ;; build system. + (build-system cmake-build-system) + (native-inputs (package-native-inputs llvm)) + (inputs + `(("libxml2" ,libxml2) + ("libstdc++-4.9", libstdc++-4.9) + ("python" ,python-2) + ("gcc-lib" ,gcc "lib") + ,@(package-inputs llvm))) + (propagated-inputs + `(("llvm" ,llvm) + ("clang-runtime" ,clang-runtime))) + (arguments + `(#:configure-flags + (list "-DCLANG_INCLUDE_TESTS=True" + + ;; Find libgcc_s, crtbegin.o, and crtend.o. + (string-append "-DGCC_INSTALL_PREFIX=" + (assoc-ref %build-inputs "gcc-lib")) + + ;; Use a sane default include directory. + (string-append "-DC_INCLUDE_DIRS=" + (assoc-ref %build-inputs "libc") + "/include")) + + ;; Don't use '-g' during the build to save space. + #:build-type "Release" + + #:phases (modify-phases %standard-phases + (add-after + 'unpack 'set-glibc-file-names + (lambda* (#:key inputs #:allow-other-keys) + (let ((libc (assoc-ref inputs "libc")) + (compiler-rt (assoc-ref inputs "clang-runtime"))) + (substitute* "lib/Driver/Tools.cpp" + ;; Patch the 'getLinuxDynamicLinker' function to that + ;; it uses the right dynamic linker file name. + (("/lib64/ld-linux-x86-64.so.2") + (string-append libc + ,(glibc-dynamic-linker))) + + ;; Link to libclang_rt files from clang-runtime. + (("TC\\.getDriver\\(\\)\\.ResourceDir") + (string-append "\"" compiler-rt "\""))) + + ;; Same for libc's libdir, to allow crt1.o & co. to be + ;; found. + (substitute* "lib/Driver/ToolChains.cpp" + (("@GLIBC_LIBDIR@") + (string-append libc "/lib"))))))))) + + ;; Clang supports the same environment variables as GCC. + (native-search-paths + (list (search-path-specification + (variable "CPATH") + (files '("include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (files '("lib" "lib64"))))) + + (home-page "http://clang.llvm.org") + (synopsis "C language family frontend for LLVM") + (description + "Clang is a compiler front end for the C, C++, Objective-C and +Objective-C++ programming languages. It uses LLVM as its back end. The Clang +project includes the Clang front end, the Clang static analyzer, and several +code analysis tools.") + (license license:ncsa))) + +(define-public llvm-3.7.1 + (package (inherit 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")))))) + +(define-public clang-runtime-3.7.1 + (clang-runtime-from-llvm + llvm-3.7.1 + "0dl1kbrhz96djsxqr61iw5h788s7ncfpfb7aayixky1bhdaydcx4")) + +(define-public clang-3.7.1 + (clang-from-llvm llvm clang-runtime + "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w")) + + + + + -- cgit v1.2.3 From e907a90f787ae34b5f033058ddef20808b338025 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Sat, 12 Mar 2016 07:38:35 +0300 Subject: Add Intel Beignet to guix This is Intel's Beignet, Intel's OpenCL platform for their GPUs and CPUs.--- gn/packages/beignet.scm | 148 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 gn/packages/beignet.scm diff --git a/gn/packages/beignet.scm b/gn/packages/beignet.scm new file mode 100644 index 0000000..7aed6d8 --- /dev/null +++ b/gn/packages/beignet.scm @@ -0,0 +1,148 @@ +;;; 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 beignet) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) + #:use-module (guix packages) + #:use-module (gnu packages) + #:use-module (guix utils) + #:use-module (gnu packages algebra) + #:use-module (gnu packages autotools) + #:use-module (gnu packages bootstrap) + #:use-module (gnu packages gawk) + #:use-module (gnu packages cmake) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages llvm) + #:use-module (gnu packages video) + #:use-module (gnu packages textutils) + #:use-module (gnu packages gl) + #:use-module (gnu packages ruby) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages maths) + #: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 zip) + #:use-module (gnu packages linux)) + +(define-public beignet +(let ((commit "4e7d5a0c7a269b2c0b70e37e4e7fcb254065c042")) + (package + (name "beignet") + (version (string-append "master" commit )) + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://anongit.freedesktop.org/beignet") + (commit commit))) + (file-name (string-append name "-" commit)) + (sha256 + (base32 + "1gs6ls2jgwkrk5555nw9vsmqfqx3q49nnpq2d5xqm87qym78p5r2")))) + (inputs `(("autoconf" ,autoconf) + ("llvm" ,llvm) + ("libpthread-stubs", libpthread-stubs) + ("clang" ,clang) + ("clang-runtime" ,clang-runtime) + ("libtool" ,libtool) + ("libsm" ,libsm) + ("python" ,python-2) + ("opencl-headers" ,opencl-headers) + ("glu" ,glu) + ("pkg-config" ,pkg-config) + ("freeglut" ,freeglut) + ("mesa-utils" ,mesa-utils) + ("ocl-icd" ,ocl-icd))) + (build-system cmake-build-system) + (arguments `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release") #:tests? #f)) + (home-page "https://forge.imag.fr/projects/ocl-icd/") + (synopsis "Intel's OpenCL framework") + (description "Intel's OpenCL framework that works with Intel IvyBridge GPUs and above") + (license license:gpl2)))) + +(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) + ("ruby" ,ruby) + ("libtool" ,libtool) + ("opencl-headers" ,opencl-headers) + ("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 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 From 88b8a6c91c482b419e6a36301d7b84745c19157f Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Sat, 12 Mar 2016 21:34:26 +0300 Subject: Add a few more deps (needed glut) Intel's Beignet package still can't build on guix, complains about libclang.--- gn/packages/beignet.scm | 44 +++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/gn/packages/beignet.scm b/gn/packages/beignet.scm index 7aed6d8..a9e7a75 100644 --- a/gn/packages/beignet.scm +++ b/gn/packages/beignet.scm @@ -30,9 +30,11 @@ #:use-module (gnu packages bootstrap) #:use-module (gnu packages gawk) #:use-module (gnu packages cmake) + #:use-module (gnu packages compression) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages llvm) + #:use-module (gnu packages libedit) #:use-module (gnu packages video) #:use-module (gnu packages textutils) #:use-module (gnu packages gl) @@ -40,46 +42,52 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages maths) #:use-module (gnu packages web) + #:use-module (gnu packages ncurses) #:use-module (gnu packages python) #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages version-control) #:use-module (gnu packages zip) #:use-module (gnu packages linux)) (define-public beignet -(let ((commit "4e7d5a0c7a269b2c0b70e37e4e7fcb254065c042")) (package - (name "beignet") - (version (string-append "master" commit )) - (source (origin - (method git-fetch) - (uri (git-reference - (url "git://anongit.freedesktop.org/beignet") - (commit commit))) - (file-name (string-append name "-" commit)) - (sha256 - (base32 - "1gs6ls2jgwkrk5555nw9vsmqfqx3q49nnpq2d5xqm87qym78p5r2")))) + (name "beignet") + (version "1.1.1") + (source (origin + (method url-fetch) + (uri (string-append "https://01.org/sites/default/files/beignet-" + version "-source.tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "068i5srqpncfw0kklxdyzxcm5w56pi91jp7pkv6cglzvnjgcdx4v")))) (inputs `(("autoconf" ,autoconf) - ("llvm" ,llvm) + ("llvm" ,llvm-3.5) ("libpthread-stubs", libpthread-stubs) - ("clang" ,clang) - ("clang-runtime" ,clang-runtime) + ("clang" ,clang-3.5) + ("libdrm" ,libdrm) ("libtool" ,libtool) ("libsm" ,libsm) + ("libxfixes" ,libxfixes) + ("libxext" ,libxext) + ("libedit" ,libedit) + ("xextproto" ,xextproto) ("python" ,python-2) ("opencl-headers" ,opencl-headers) ("glu" ,glu) + ("zlib" ,zlib) ("pkg-config" ,pkg-config) ("freeglut" ,freeglut) ("mesa-utils" ,mesa-utils) + ("ncurses" ,ncurses) ("ocl-icd" ,ocl-icd))) (build-system cmake-build-system) - (arguments `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release") #:tests? #f)) + (arguments `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release" "-DCOMPILER=CLANG") #:tests? #f)) (home-page "https://forge.imag.fr/projects/ocl-icd/") (synopsis "Intel's OpenCL framework") (description "Intel's OpenCL framework that works with Intel IvyBridge GPUs and above") - (license license:gpl2)))) + (license license:gpl2))) (define-public ocl-icd (package @@ -146,3 +154,5 @@ (description "This package provides the Khronos OpenCL headers") (home-page "https://www.khronos.org/registry/cl/") (license license:gpl2)))) + + -- cgit v1.2.3 From f35792af6aed186484bce9a361b8d2bc1116161b Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Fri, 18 Mar 2016 05:21:29 +0300 Subject: Bump version to v3.3.3 Also change licensing schema with #prefix (es). Solves namespace problems. Also added wget as an input (As it's needed as a fallback incase checksums for Boost are invalid).--- gn/packages/arrayfire.scm | 99 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 89 insertions(+), 10 deletions(-) diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm index 7756a97..b94a0ac 100644 --- a/gn/packages/arrayfire.scm +++ b/gn/packages/arrayfire.scm @@ -17,14 +17,17 @@ ;;; along with GNU Guix. If not, see . (define-module (gn packages arrayfire) - #:use-module ((guix licenses)) + #:use-module ((guix licenses) #:prefix license:) #: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) + #:use-module (gnu packages) + #:use-module (guix utils) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) + #:use-module (gnu packages bootstrap) #:use-module (gnu packages curl) #:use-module (gnu packages gawk) #:use-module (gnu packages cmake) @@ -34,20 +37,23 @@ #:use-module (gnu packages video) #:use-module (gnu packages textutils) #:use-module (gnu packages gl) + #:use-module (gnu packages gnupg) #:use-module (gnu packages pkg-config) #:use-module (gnu packages maths) #:use-module (gnu packages web) - #:use-module (gnu packages ldc) + #:use-module (gnu packages wget) #:use-module (gnu packages python) + #:use-module (gnu packages ruby) #:use-module (gnu packages xorg) - #:use-module (gnu packages version-control) + #:use-module (gnu packages version-control) + #:use-module (gnu packages zip) #:use-module (gnu packages linux)) (define-public arrayfire -(let ((commit "9ca1ea0")) +(let ((commit "e118bf2")) (package (name "arrayfire") - (version "3.3.1-hotfix") + (version "3.3.3") (source (origin (method git-fetch) (uri (git-reference @@ -56,12 +62,15 @@ (file-name (string-append name "-" commit)) (sha256 (base32 - "067y98a9s78vpz7xsg889xnwfaza7c5gdv97yg9cgrdl0iljvsgp")))) + "050lwbl31spia17n9yq70z86x5inrahsd0y781g46a8ry2psviyj")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("cmake" ,cmake) ("gawk" ,gawk) + ("git" ,git) + ("wget" ,wget) ("glew" ,glew) + ("git" ,git) ("libtool" ,libtool) ("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) @@ -69,11 +78,14 @@ ("curl" ,curl) ("atlas" ,atlas) ("dbus" ,dbus) + ("opencl-headers" ,opencl-headers) + ("ocl-icd" ,ocl-icd) ("enca" ,enca) ("eudev" ,eudev) ("glew" ,glew) ("glib" ,glib) ("lapack" ,lapack) + ("scalapack" ,scalapack) ("libcap" ,libcap) ("libjpeg" ,libjpeg) ("libltdl" ,libltdl) @@ -82,21 +94,21 @@ ("mesa-utils" ,mesa-utils) ("python" ,python-2) ("freeimage" ,freeimage) + ("freeglut" ,freeglut) ("fftw" ,fftw) ("fftwf" ,fftwf) ("fftw-openmpi" ,fftw-openmpi) ("glew" ,glew) ("glu" ,glu) ("openblas" ,openblas) - ("git" ,git) ("cmake" ,cmake))) (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release" "-DBUILD_OPENCL=OFF" "-DBUILD_GRAPHICS=OFF") #:tests? #f)) + `(#:configure-flags '("-DBUILD_OPENCL=ON" "-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 license:gpl2 license:gpl2+ license:gpl3 license:gpl3+))))) (define-public glfw (package @@ -114,6 +126,7 @@ (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("cmake" ,cmake) + ("git" ,git) ("libtool" ,libtool) ("libpthread-stubs" ,libpthread-stubs) ("pkg-config" ,pkg-config))) @@ -136,5 +149,71 @@ (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)))) + (license (list license:gpl2)))) + +(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) + ("ruby" ,ruby) + ("libtool" ,libtool) + ("opencl-headers" ,opencl-headers) + ("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 license:gpl2 license:ruby)))) + +(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 (list license:gpl2))))) -- cgit v1.2.3 From dc7f586ecf6b148bbd8ffcbb28ad7c4a9c492874 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Fri, 18 Mar 2016 20:58:16 +0300 Subject: Use proper formatting for License lists Also updates the Arrayfire fetch URL to the one hosted by Arrayfire as Github's generated tarballs do not package the required submodules.--- gn/packages/arrayfire.scm | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm index b94a0ac..084a841 100644 --- a/gn/packages/arrayfire.scm +++ b/gn/packages/arrayfire.scm @@ -50,27 +50,22 @@ #:use-module (gnu packages linux)) (define-public arrayfire -(let ((commit "e118bf2")) - (package +(package (name "arrayfire") - (version "3.3.3") + (version "3.3.1") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/arrayfire/arrayfire.git") - (commit commit))) - (file-name (string-append name "-" commit)) + (method url-fetch) + (uri (string-append "http://arrayfire.com/arrayfire_source/arrayfire-full-" version + ".tar.bz2")) + (file-name (string-append name "-" version ".tar.bz2")) (sha256 (base32 - "050lwbl31spia17n9yq70z86x5inrahsd0y781g46a8ry2psviyj")))) + "045adww6dqmyz6kkfmq7xawi5v9a894yp5j9pzn6j568gi48pyqc")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("cmake" ,cmake) ("gawk" ,gawk) ("git" ,git) - ("wget" ,wget) ("glew" ,glew) - ("git" ,git) ("libtool" ,libtool) ("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) @@ -101,14 +96,19 @@ ("glew" ,glew) ("glu" ,glu) ("openblas" ,openblas) + ("wget" ,wget) ("cmake" ,cmake))) (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DBUILD_OPENCL=ON" "-DBUILD_GRAPHICS=OFF") #:tests? #f)) + `(#:configure-flags '("-DBUILD_OPENCL=ON" "-DBUILD_CUDA=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 license:gpl2 license:gpl2+ license:gpl3 license:gpl3+))))) + (license (list license:gpl2 + license:gpl2+ + license:gpl3 + license:gpl3+)))) (define-public glfw (package @@ -122,7 +122,8 @@ (base32 "08pixv8hd5xsccf7l8cqcijjqaq4k4da8qbp77wggal2fq445ika")))) (build-system cmake-build-system) - (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON") #:tests? #f)) + (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON") + #:tests? #f)) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("cmake" ,cmake) -- cgit v1.2.3 From 74cc102b7bf3d1793f265e465ac3083af4b67bf1 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Fri, 18 Mar 2016 22:07:51 +0300 Subject: Package now builds on GNU Guix Caveats: Only the CPU back-end builds at the moment. Needed inputs for OpenCL backends: clFFT and clBLAS.--- gn/packages/arrayfire.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm index 084a841..a581389 100644 --- a/gn/packages/arrayfire.scm +++ b/gn/packages/arrayfire.scm @@ -100,7 +100,7 @@ ("cmake" ,cmake))) (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DBUILD_OPENCL=ON" "-DBUILD_CUDA=OFF" "-DBUILD_GRAPHICS=OFF") + `(#:configure-flags '("-DBUILD_OPENCL=OFF" "-DBUILD_CUDA=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.") -- cgit v1.2.3 From 7ebae21b5b6d520c39cec12009f5e27e7839ad25 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Fri, 18 Mar 2016 22:28:14 +0300 Subject: Ported clFFT to GNU Guix Package builds successfully.--- gn/packages/clFFT.scm | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 gn/packages/clFFT.scm diff --git a/gn/packages/clFFT.scm b/gn/packages/clFFT.scm new file mode 100644 index 0000000..3e72357 --- /dev/null +++ b/gn/packages/clFFT.scm @@ -0,0 +1,158 @@ +;;; 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 clFFT) + #:use-module ((guix licenses) #:prefix license:) + #: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) + #:use-module (gnu packages algebra) + #:use-module (gnu packages bootstrap) + #:use-module (gnu packages base) + #: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 gnupg) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages maths) + #:use-module (gnu packages mpi) + #:use-module (gnu packages ruby) + #: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 zip) + #:use-module (gnu packages linux)) + +(define-public clFFT + (package + (name "clFFT") + (version "v2.10.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/clMathLibraries/clFFT/archive/" + version ".tar.gz")) + (sha256 + (base32 + "19hrk1lf06kch8x9dpbdj0waycn2mldrmj2y4vzi7zn2gdfw6g73")))) + (build-system cmake-build-system) + (arguments `(#:configure-flags '("../clFFT-2.10.1/src" "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_BUILD_TYPE=Release") #: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) + ("fftw-openmpi" ,fftw-openmpi) + ("glew" ,glew) + ("libcap" ,libcap) + ("libjpeg" ,libjpeg) + ("libltdl" ,libltdl) + ("libtiff" ,libtiff) + ("mesa-utils" ,mesa-utils) + ("openmpi" ,openmpi) + ("ocl-icd" ,ocl-icd) + ("opencl-headers" ,opencl-headers) + ("randrproto" ,randrproto) + ("libxrandr" ,libxrandr) + ("xineramaproto" ,xineramaproto) + ("libxinerama" ,libxinerama) + ("libxcursor" ,libxcursor) + ("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 license:gpl2)))) + +(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) + ("ruby" ,ruby) + ("libtool" ,libtool) + ("opencl-headers" ,opencl-headers) + ("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 license:gpl2 license:ruby)))) + +(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 (list license:gpl2))))) -- cgit v1.2.3 From da665e5a94c59ff4cab6c7f3b88c102a3d15c968 Mon Sep 17 00:00:00 2001 From: Dennis E. Mungai Date: Fri, 18 Mar 2016 23:56:29 +0300 Subject: Added clBLAS Build fails due to googletest's missing target "install". Investigating.--- gn/packages/clBLAS.scm | 186 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 186 insertions(+) create mode 100644 gn/packages/clBLAS.scm diff --git a/gn/packages/clBLAS.scm b/gn/packages/clBLAS.scm new file mode 100644 index 0000000..561ee2b --- /dev/null +++ b/gn/packages/clBLAS.scm @@ -0,0 +1,186 @@ +;;; 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 clBLAS) + #:use-module ((guix licenses) #:prefix license:) + #: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) + #:use-module (gnu packages algebra) + #:use-module (gnu packages bootstrap) + #:use-module (gnu packages base) + #: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 gcc) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages maths) + #:use-module (gnu packages mpi) + #:use-module (gnu packages ruby) + #: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 zip) + #:use-module (gnu packages linux)) + +(define-public clBLAS + (package + (name "clBLAS") + (version "v2.10") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/clMathLibraries/clBLAS/archive/" + version ".tar.gz")) + (sha256 + (base32 + "0adlb02lqzrklfybhnv4n0p37mvkvdi3vqiwa05x2mv05ywnr93j")))) + (build-system cmake-build-system) + (arguments `(#:configure-flags '("../clBLAS-2.10/src" "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_BUILD_TYPE=Release") #:tests? #f)) + (native-inputs `(("autoconf" ,autoconf) + ("automake" ,automake) + ("cmake" ,cmake) + ("gfortran" ,gfortran) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs `(("curl" ,curl) + ("dbus" ,dbus) + ("enca" ,enca) + ("eudev" ,eudev) + ("fftw-openmpi" ,fftw-openmpi) + ("glew" ,glew) + ("googletest" ,googletest) + ("libcap" ,libcap) + ("libjpeg" ,libjpeg) + ("libltdl" ,libltdl) + ("libtiff" ,libtiff) + ("mesa-utils" ,mesa-utils) + ("openmpi" ,openmpi) + ("ocl-icd" ,ocl-icd) + ("openblas" ,openblas) + ("opencl-headers" ,opencl-headers) + ("randrproto" ,randrproto) + ("libxrandr" ,libxrandr) + ("xineramaproto" ,xineramaproto) + ("libxinerama" ,libxinerama) + ("libxcursor" ,libxcursor) + ("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 license:gpl2)))) + +(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) + ("ruby" ,ruby) + ("libtool" ,libtool) + ("opencl-headers" ,opencl-headers) + ("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 license:gpl2 license:ruby)))) + +(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 (list license:gpl2))))) + +(define-public googletest + (package + (name "googletest") + (version "1.7.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/google/googletest/archive/release-" + version ".tar.gz")) + (sha256 + (base32 + "1k0nf1l9cb3prdmsvaajl5i31bx86c1mw0d5jgzykz7rzm36afpp")))) + (build-system cmake-build-system) + (arguments `(#:configure-flags '("-DCMAKE_BUILD_TYPE=RelWithDebInfo") #:tests? #f)) + (inputs `(("automake" ,automake) + ("autoconf" ,autoconf) + ("libtool" ,libtool) + ("cmake" ,cmake) + ("python" ,python-2) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/google/googletest") + (synopsis "Google's C++ test framework") + (description "Google's C++ test framework") + (license (list license:gpl2)))) -- cgit v1.2.3