diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-11-17 00:24:04 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-11-17 00:24:04 -0300 |
commit | 67e5f7c165a5ad9dedda5361baf85c5a939a2fa9 (patch) | |
tree | 10b168cc83b45c18a8f7489273c92107b638613f | |
parent | 1736d8dd9f1377897c0bd3a8881c3d4acf4c0710 (diff) | |
download | abslibre-67e5f7c165a5ad9dedda5361baf85c5a939a2fa9.tar.gz abslibre-67e5f7c165a5ad9dedda5361baf85c5a939a2fa9.tar.bz2 abslibre-67e5f7c165a5ad9dedda5361baf85c5a939a2fa9.zip |
arrayfire-3.2.0-1.parabola1: updating version
-rw-r--r-- | libre/arrayfire/PKGBUILD | 14 | ||||
-rw-r--r-- | libre/arrayfire/remove-nonfree-references.patch | 217 |
2 files changed, 124 insertions, 107 deletions
diff --git a/libre/arrayfire/PKGBUILD b/libre/arrayfire/PKGBUILD index 33cd54b2d..a0bc98db1 100644 --- a/libre/arrayfire/PKGBUILD +++ b/libre/arrayfire/PKGBUILD @@ -3,21 +3,19 @@ pkgname=arrayfire pkgdesc="High performance software library for parallel computing with an easy-to-use API, without nonfree cuda and nvidia-utils support and nonfree SIFT algorithm" url='http://arrayfire.com' -pkgver=3.1.3 +pkgver=3.2.0 arch=('i686' 'x86_64') pkgrel=1.parabola1 license=('BSD') makedepends=('cmake' 'graphviz' 'doxygen' 'opencl-headers' 'glfw' 'glew' 'boost' 'git') -depends=('cblas' 'fftw' 'boost-libs' 'lapack' 'forge' 'freeimage') -optdepends=('libclc: Required for using OpenCL backend' - 'glfw: Required for running the examples' - 'glew: Required for running the examples') +depends=('cblas' 'fftw' 'boost-libs' 'lapack' 'forge' 'freeimage' 'glfw' 'glew') +optdepends=('libclc: Required for using OpenCL backend') mksource=(http://arrayfire.com/arrayfire_source/arrayfire-full-${pkgver}.tar.bz2) source=(https://repo.parabola.nu/other/${pkgname}-libre/${pkgname}-libre-full-${pkgver}.tar.bz2 remove-nonfree-references.patch) -mkmd5sums=('0bc133fc8667120ad7799b3550780381') -md5sums=('7a970e4a9bba9ae4cdb97cda9008783c' - 'bb0ef2b34ee09af4c85c9cb13c0ee485') +mkmd5sums=('0dc2dd8188b0cd60baeeef214cbe68c4') +md5sums=('05455aee63c46dfa33fd2badb0cd3c17' + '679f5b3b1dec733fd6c1e8c32168c560') check() { cd "${srcdir}/arrayfire-full-${pkgver}/build" diff --git a/libre/arrayfire/remove-nonfree-references.patch b/libre/arrayfire/remove-nonfree-references.patch index 743118c7b..1f6750e0c 100644 --- a/libre/arrayfire/remove-nonfree-references.patch +++ b/libre/arrayfire/remove-nonfree-references.patch @@ -1,15 +1,15 @@ -diff -Nur arrayfire-full-3.1.2.orig/docs/layout.xml arrayfire-full-3.1.2/docs/layout.xml ---- arrayfire-full-3.1.2.orig/docs/layout.xml 2015-09-25 19:16:18.000000000 -0300 -+++ arrayfire-full-3.1.2/docs/layout.xml 2015-11-02 17:01:08.145683665 -0300 -@@ -4,8 +4,6 @@ - <tab type="mainpage" visible="yes" title="" /> +diff -Nur arrayfire-full-3.2.0.orig/docs/layout.xml arrayfire-full-3.2.0/docs/layout.xml +--- arrayfire-full-3.2.0.orig/docs/layout.xml 2015-11-13 14:02:44.000000000 -0300 ++++ arrayfire-full-3.2.0/docs/layout.xml 2015-11-16 22:17:23.086321178 -0300 +@@ -5,8 +5,6 @@ <tab type="usergroup" visible="yes" title="Tutorials"> + <tab type="user" url="\ref installing" visible="yes" title="Installation"/> <tab type="user" url="\ref using_on_linux" visible="yes" title="Using on Linux"/> - <tab type="user" url="\ref using_on_windows" visible="yes" title="Using on Windows"/> - <tab type="user" url="\ref using_on_osx" visible="yes" title="Using on OSX"/> <tab type="user" url="\ref gettingstarted" visible="yes" title="Getting Started"/> + <tab type="user" url="\ref unifiedbackend" visible="yes" title="Unified Backend"/> <tab type="user" url="\ref matrixmanipulation" visible="yes" title="Matrix Manipulation"/> - <tab type="user" url="\ref indexing" visible="yes" title="Indexing"/> diff -Nur arrayfire-full-3.1.2.orig/docs/pages/README.md arrayfire-full-3.1.2/docs/pages/README.md --- arrayfire-full-3.1.2.orig/docs/pages/README.md 2015-09-25 19:16:18.000000000 -0300 +++ arrayfire-full-3.1.2/docs/pages/README.md 2015-11-02 15:56:01.952662051 -0300 @@ -106,10 +106,10 @@ diff -Nur arrayfire-full-3.1.2.orig/docs/pages/configuring_arrayfire_environment AF_OPENCL_DEFAULT_DEVICE {#af_opencl_default_device} ------------------------------------------------------------------------------- -diff -Nur arrayfire-full-3.1.2.orig/docs/pages/getting_started.md arrayfire-full-3.1.2/docs/pages/getting_started.md ---- arrayfire-full-3.1.2.orig/docs/pages/getting_started.md 2015-09-25 19:16:18.000000000 -0300 -+++ arrayfire-full-3.1.2/docs/pages/getting_started.md 2015-11-02 17:00:05.388864755 -0300 -@@ -39,7 +39,6 @@ +diff -Nur arrayfire-full-3.2.0.orig/docs/pages/getting_started.md arrayfire-full-3.2.0/docs/pages/getting_started.md +--- arrayfire-full-3.2.0.orig/docs/pages/getting_started.md 2015-11-13 14:02:44.000000000 -0300 ++++ arrayfire-full-3.2.0/docs/pages/getting_started.md 2015-11-16 22:17:23.086321178 -0300 +@@ -41,7 +41,6 @@ \snippet test/getting_started.cpp ex_getting_started_init ArrayFire also supports array initialization from a device pointer. @@ -117,7 +117,7 @@ diff -Nur arrayfire-full-3.1.2.orig/docs/pages/getting_started.md arrayfire-full \snippet test/getting_started.cpp ex_getting_started_dev_ptr -@@ -67,7 +66,7 @@ +@@ -69,7 +68,7 @@ This means that function like `c[i] = a[i] + b[i]` could simply be written as `c = a + b`. ArrayFire has an intelligent runtime JIT compliation engine which converts @@ -126,7 +126,7 @@ diff -Nur arrayfire-full-3.1.2.orig/docs/pages/getting_started.md arrayfire-full This "kernel fusion" technology not only decreases the number of kernel calls, but, more importantly, avoids extraneous global memory operations. Our JIT functionality extends across C/C++ function boundaries and only ends -@@ -98,7 +97,7 @@ +@@ -100,7 +99,7 @@ # Indexing {#getting_started_indexing} Like all functions in ArrayFire, indexing is also executed in parallel on @@ -135,7 +135,7 @@ diff -Nur arrayfire-full-3.1.2.orig/docs/pages/getting_started.md arrayfire-full Because of this, indexing becomes part of a JIT operation and is accomplished using parentheses instead of square brackets (i.e. as `A(0)` instead of `A[0]`). To index `af::array`s you may use one or a combination of the following functions: -@@ -121,8 +120,8 @@ +@@ -123,8 +122,8 @@ The `host` function *copies* the data from the device and makes it available in a C-style array on the host. The `device` function returns a pointer to device memory for interoperability @@ -146,7 +146,7 @@ diff -Nur arrayfire-full-3.1.2.orig/docs/pages/getting_started.md arrayfire-full \snippet test/getting_started.cpp ex_getting_started_ptr -@@ -192,8 +191,7 @@ +@@ -194,8 +193,7 @@ Now that you have a general introduction to ArrayFire, where do you go from here? In particular you might find these documents useful @@ -156,10 +156,10 @@ diff -Nur arrayfire-full-3.1.2.orig/docs/pages/getting_started.md arrayfire-full * [Timing ArrayFire code](\ref timing) -diff -Nur arrayfire-full-3.1.2.orig/docs/pages/release_notes.md arrayfire-full-3.1.2/docs/pages/release_notes.md ---- arrayfire-full-3.1.2.orig/docs/pages/release_notes.md 2015-09-25 19:16:18.000000000 -0300 -+++ arrayfire-full-3.1.2/docs/pages/release_notes.md 2015-11-02 13:01:04.186402090 -0300 -@@ -31,7 +31,6 @@ +diff -Nur arrayfire-full-3.2.0.orig/docs/pages/release_notes.md arrayfire-full-3.2.0/docs/pages/release_notes.md +--- arrayfire-full-3.2.0.orig/docs/pages/release_notes.md 2015-11-13 14:02:44.000000000 -0300 ++++ arrayfire-full-3.2.0/docs/pages/release_notes.md 2015-11-16 22:17:23.086321178 -0300 +@@ -158,7 +158,6 @@ Installers ----------- @@ -167,7 +167,7 @@ diff -Nur arrayfire-full-3.1.2.orig/docs/pages/release_notes.md arrayfire-full-3 * OpenCL backend now require OpenCL 1.2 or greater Bug Fixes -@@ -111,10 +110,6 @@ +@@ -238,10 +237,6 @@ * \ref saveArray() and \ref readArray() - Stream arrays to binary files * \ref toString() - toString function returns the array and data as a string @@ -178,7 +178,7 @@ diff -Nur arrayfire-full-3.1.2.orig/docs/pages/release_notes.md arrayfire-full-3 Improvements ------------ * dot -@@ -138,11 +133,6 @@ +@@ -265,11 +260,6 @@ * CPU Backend * Device properties for CPU * Improved performance when all buffers are indexed linearly @@ -190,7 +190,7 @@ diff -Nur arrayfire-full-3.1.2.orig/docs/pages/release_notes.md arrayfire-full-3 * OpenCL Backend * Improve compilation times for OpenCL backend * Performance improvements for non-linear JIT kernels on OpenCL -@@ -176,7 +166,7 @@ +@@ -303,7 +293,7 @@ Installer ---------- * Fixed bug in automatic detection of ArrayFire when using with CMake in Windows @@ -199,32 +199,45 @@ diff -Nur arrayfire-full-3.1.2.orig/docs/pages/release_notes.md arrayfire-full-3 Known Issues ------------ -diff -Nur arrayfire-full-3.1.2.orig/docs/pages/using_on_linux.md arrayfire-full-3.1.2/docs/pages/using_on_linux.md ---- arrayfire-full-3.1.2.orig/docs/pages/using_on_linux.md 2015-09-25 19:16:18.000000000 -0300 -+++ arrayfire-full-3.1.2/docs/pages/using_on_linux.md 2015-11-02 16:42:20.209742489 -0300 -@@ -1,32 +1,21 @@ +diff -Nur arrayfire-full-3.2.0.orig/docs/pages/using_on_linux.md arrayfire-full-3.2.0/docs/pages/using_on_linux.md +--- arrayfire-full-3.2.0.orig/docs/pages/using_on_linux.md 2015-11-13 14:02:44.000000000 -0300 ++++ arrayfire-full-3.2.0/docs/pages/using_on_linux.md 2015-11-16 22:54:37.520143633 -0300 +@@ -1,42 +1,35 @@ -Using ArrayFire on Linux {#using_on_linux} +Using ArrayFire on GNU/Linux {#using_on_linux} ===== - + Once you have [installed](\ref installing) ArrayFire on your system, the next thing to do is +-set up your build system. On Linux, you can create ArrayFire projects using ++set up your build system. On GNU/Linux, you can create ArrayFire projects using + almost any editor, compiler, or build system. The only requirements are + that you include the ArrayFire header directories and link with the ArrayFire + library you intend to use. + + ## The big picture + +-On Linux, we suggest you install ArrayFire to the `/usr/local` directory ++On GNU/Linux, we suggest you install ArrayFire to the `/usr/local` directory + so that all of the include files and libraries are part of your standard path. + The installer will populate files in the following sub-directories: + + include/arrayfire.h - Primary ArrayFire include file + include/af/*.h - Additional include files +- lib/libaf* - CPU, CUDA, and OpenCL libraries (.a, .so) ++ lib/libaf* - CPU and OpenCL libraries (.a, .so) + lib/libforge* - Visualization library + share/ArrayFire/cmake/* - CMake config (find) scripts + share/ArrayFire/examples/* - All ArrayFire examples + + Because ArrayFire follows standard installation practices, you can use basically + any build system to create and compile projects that use ArrayFire. -Among the many possible build systems on Linux we suggest using ArrayFire with +Among the many possible build systems on GNU/Linux we suggest using ArrayFire with - either CMake or Makefiles with CMake being the preferred build system. - - ## Pre-requisites + either CMake or Makefiles with CMake being our preferred build system. - Before you get started, make sure you have the necessary pre-requisites. + ## Prerequisite software --- If you are using CUDA, please make sure you have [CUDA 7](https://developer.nvidia.com/cuda-downloads) installed on your system. -- - [Contact us](support@arrayfire.com) for custom builds (eg. different toolkits) -- - - If you are using OpenCL, please make sure you have one of the following SDKs. - - [AMD OpenCL SDK](http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing-app-sdk/) - - [Intel OpenCL SDK](https://software.intel.com/en-us/articles/download-the-latest-intel-amt-software-development-kit-sdk) -- - [NVIDIA CUDA](https://developer.nvidia.com/cuda-downloads) - - You will also need the following dependencies to use ArrayFire. + To build ArrayFire projects you will need a compiler -#### Fedora, Centos and Redhat - @@ -236,75 +249,81 @@ diff -Nur arrayfire-full-3.1.2.orig/docs/pages/using_on_linux.md arrayfire-full- -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +#### BLAG Linux and GNU - Install the common dependencies - -@@ -37,15 +26,11 @@ + Install build dependencies - Install glfw (not required for no-gl installers) +@@ -44,7 +37,7 @@ + yum install gcc gcc-c++ cmake make + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --Fedora: -- - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yum install glfw - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - --For Centos and Redhat, please follow [these instructions](https://github.com/arrayfire/arrayfire/wiki/GLFW-for-ArrayFire) -- -#### Debian and Ubuntu +#### GnewSense and Trisquel Install common dependencies -@@ -60,8 +45,6 @@ - apt-get install libglfw3 - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +@@ -64,7 +57,7 @@ + As [discussed above](#big-picture), ArrayFire ships with a series of CMake + scripts to make finding and using our library easy. + The scripts will automatically find all versions of the ArrayFire library +-and pick the most powerful of the installed backends (typically CUDA). ++and pick the most powerful of the installed backends. + + First create a file called `CMakeLists.txt` in your project directory: + +@@ -82,22 +75,13 @@ + FIND_PACKAGE(OpenCL) + SET(EXTRA_LIBS ${CMAKE_THREAD_LIBS_INIT} ${OpenCL_LIBRARIES}) --For Debian 7 and Ubuntu 14.04, please follow [these instructions](https://github.com/arrayfire/arrayfire/wiki/GLFW-for-ArrayFire) +- # Or if you intend to use CUDA, you need it as well as NVVM: +- FIND_PACKAGE(CUDA) +- FIND_PACKAGE(NVVM) # this FIND script can be found in the ArrayFire CMake example repository +- SET(EXTRA_LIBS ${CMAKE_THREAD_LIBS_INIT} ${CUDA_LIBRARIES} ${NVVM_LIB}) - - **Special instructions for Tegra-K1** - - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -@@ -70,13 +53,12 @@ - - ## CMake - --This is the suggested method of using ArrayFire on Linux. -+This is the suggested method of using ArrayFire on GNU/Linux. - ArrayFire ships with support for CMake by default, including a series of - `Find` scripts installed in the `/usr/local/share/ArrayFire/cmake` (or similar) - directory. --These scripts will automatically find the CUDA, OpenCL, and CPU versions --of ArrayFire and automatically choose the most powerful installed backend --(typically CUDA). -+These scripts will automatically find the OpenCL, and CPU versions -+of ArrayFire and automatically choose the most powerful installed backend. - - To use ArrayFire, simply insert the `FIND_PACKAGE` command inside of your - `CMakeLists.txt` file as follows: -@@ -99,14 +81,12 @@ - - ArrayFire_CPU_FOUND - True of the ArrayFire CPU library has been found. - ArrayFire_CPU_LIBRARIES - Location of ArrayFire's CPU library, if found -- ArrayFire_CUDA_FOUND - True of the ArrayFire CUDA library has been found. -- ArrayFire_CUDA_LIBRARIES - Location of ArrayFire's CUDA library, if found - ArrayFire_OpenCL_FOUND - True of the ArrayFire OpenCL library has been found. - ArrayFire_OpenCL_LIBRARIES - Location of ArrayFire's OpenCL library, if found - - Therefore, if you wish to target a specific specific backend, switch - `${ArrayFire_LIBRARIES}` to `${ArrayFire_CPU}` `${ArrayFire_OPENCL}` or --`${ArrayFire_CUDA}` in the `TARGET_LINK_LIBRARIES` command above. -+in the `TARGET_LINK_LIBRARIES` command above. - - Finally, if you have installed ArrayFire to a non-standard location, CMake can still help - you out. When you execute CMake specify the path to the `ArrayFireConfig*` files that -@@ -127,8 +107,8 @@ - instructions. - Then, in your linker line specify the path to ArrayFire using the `-L` option - (typically `-L/usr/lib` or `-L/usr/local/lib` and the specific ArrayFire backend --you wish to use with the `-l` option (i.e. `-lafcpu`, `-lafopencl` or `-lafcuda` --for the CPU, OpenCL and CUDA backends repsectively). -+you wish to use with the `-l` option (i.e. `-lafcpu` or `-lafopencl` for the CPU -+and OpenCL backends repsectively). + ADD_EXECUTABLE(my_executable [list your source files here]) + TARGET_LINK_LIBRARIES(my_executable ${ArrayFire_LIBRARIES} ${EXTRA_LIBS}) + + where `my_executable` is the name of the executable you wish to create. + See the [CMake documentation](https://cmake.org/documentation/) for more + information on how to use CMake. +-Clearly the above code snippet precludes the use of both CUDA and OpenCL, see +-the +-[ArrayFire CMake Example](https://github.com/arrayfire/arrayfire-project-templates/tree/master/CMake); +-for an example of how to build executables for both backends from the same +-CMake script. ++Clearly the above code snippet precludes the use of OpenCL. + + In the above code listing, the `FIND_PACKAGE` will find the ArrayFire include + files, libraries, and define several variables including: +@@ -112,8 +96,6 @@ + + ArrayFire_CPU_FOUND - True of the ArrayFire CPU library has been found. + ArrayFire_CPU_LIBRARIES - Location of ArrayFire's CPU library, if found +- ArrayFire_CUDA_FOUND - True of the ArrayFire CUDA library has been found. +- ArrayFire_CUDA_LIBRARIES - Location of ArrayFire's CUDA library, if found + ArrayFire_OpenCL_FOUND - True of the ArrayFire OpenCL library has been found. + ArrayFire_OpenCL_LIBRARIES - Location of ArrayFire's OpenCL library, if found + ArrayFire_Unified_FOUND - True of the ArrayFire Unified library has been found. +@@ -121,13 +103,8 @@ + + Therefore, if you wish to target a specific specific backend, simply replace + `${ArrayFire_LIBRARIES}` with `${ArrayFire_CPU}`, `${ArrayFire_OPENCL}`, +-`${ArrayFire_CUDA}`, or `${ArrayFire_Unified}` in the `TARGET_LINK_LIBRARIES` ++or `${ArrayFire_Unified}` in the `TARGET_LINK_LIBRARIES` + command above. +-If you intend on building your software to link with all of these backends, +-please see the +-[CMake Project Example](https://github.com/arrayfire/arrayfire-project-templates) +-which makes use of some fairly fun CMake tricks to avoid re-compiling code +-whenever possible. + + Next we need to instruct CMake to create build instructions and then compile. + We suggest using CMake's out-of-source build functionality to keep your build +@@ -161,8 +138,7 @@ + Similarly, you will need to specify the path to the ArrayFire library using + the `-L` option (e.g. `-L/usr/local/lib`) followed by the specific ArrayFire + library you wish to use using the `-l` option (for example `-lafcpu`, +-`-lafopencl`, `-lafcuda`, or `-laf` for the CPU, OpenCL, CUDA, and unified +-backends respectively. ++`-lafopencl`, or `-laf` for the CPU, OpenCL, and unified backends respectively. Here is a minimial example MakeFile which uses ArrayFire's CPU backend: |