[arch-commits] Commit in arrayfire/repos (3 files)
Sven-Hendrik Haase
svenstaro at archlinux.org
Wed Dec 5 18:53:06 UTC 2018
Date: Wednesday, December 5, 2018 @ 18:53:05
Author: svenstaro
Revision: 411574
archrelease: copy trunk to community-staging-x86_64
Added:
arrayfire/repos/community-staging-x86_64/
arrayfire/repos/community-staging-x86_64/2365.patch
(from rev 411573, arrayfire/trunk/2365.patch)
arrayfire/repos/community-staging-x86_64/PKGBUILD
(from rev 411573, arrayfire/trunk/PKGBUILD)
------------+
2365.patch | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PKGBUILD | 64 +++++++++++++++++++++++++
2 files changed, 212 insertions(+)
Copied: arrayfire/repos/community-staging-x86_64/2365.patch (from rev 411573, arrayfire/trunk/2365.patch)
===================================================================
--- community-staging-x86_64/2365.patch (rev 0)
+++ community-staging-x86_64/2365.patch 2018-12-05 18:53:05 UTC (rev 411574)
@@ -0,0 +1,148 @@
+From b25b998ea3637948914095b57c3246f8b26c6506 Mon Sep 17 00:00:00 2001
+From: pradeep <pradeep at arrayfire.com>
+Date: Mon, 3 Dec 2018 20:21:35 +0530
+Subject: [PATCH] Changes to use glbinding 3.0.2 and Forge 1.0.3
+
+- Forge 1.0.3 uses glbinding 3.0.2
+- ArrayFire's glbinding has also been bumped up to 3.0.2
+---
+ CMakeModules/build_forge.cmake | 2 +-
+ src/backend/common/CMakeLists.txt | 3 +-
+ src/backend/common/graphics_common.cpp | 43 +++++++++-----------------
+ src/backend/common/graphics_common.hpp | 4 ---
+ src/backend/opencl/platform.cpp | 1 -
+ 5 files changed, 17 insertions(+), 36 deletions(-)
+
+diff --git a/CMakeModules/build_forge.cmake b/CMakeModules/build_forge.cmake
+index 7ae5a165f..97ffcec5f 100644
+--- a/CMakeModules/build_forge.cmake
++++ b/CMakeModules/build_forge.cmake
+@@ -7,7 +7,7 @@
+
+ include(ExternalProject)
+
+-set(FORGE_VERSION af3.6.0)
++set(FORGE_VERSION v1.0.3)
+ set(prefix "${ArrayFire_BINARY_DIR}/third_party/forge")
+ set(PX ${CMAKE_SHARED_LIBRARY_PREFIX})
+ set(SX ${CMAKE_SHARED_LIBRARY_SUFFIX})
+diff --git a/src/backend/common/CMakeLists.txt b/src/backend/common/CMakeLists.txt
+index 4aa0b4949..6f608d05f 100644
+--- a/src/backend/common/CMakeLists.txt
++++ b/src/backend/common/CMakeLists.txt
+@@ -105,7 +105,8 @@ if(AF_WITH_GRAPHICS)
+ # glbindings cmake file
+ target_link_libraries(afcommon_interface
+ INTERFACE
+- $<TARGET_PROPERTY:glbinding::glbinding,IMPORTED_LOCATION_RELEASE>)
++ $<TARGET_PROPERTY:glbinding::glbinding,IMPORTED_LOCATION_RELEASE>
++ )
+ else()
+ target_link_libraries(afcommon_interface INTERFACE glbinding::glbinding)
+ endif()
+diff --git a/src/backend/common/graphics_common.cpp b/src/backend/common/graphics_common.cpp
+index 3cbc83b7a..a574bc962 100644
+--- a/src/backend/common/graphics_common.cpp
++++ b/src/backend/common/graphics_common.cpp
+@@ -10,7 +10,6 @@
+ #if defined(WITH_GRAPHICS)
+
+ #include <common/graphics_common.hpp>
+-#include <glbinding/Meta.h>
+ #include <common/err_common.hpp>
+ #include <backend.hpp>
+ #include <platform.hpp>
+@@ -51,30 +50,28 @@ INSTANTIATE_GET_FG_TYPE(unsigned char , forge::u8);
+ INSTANTIATE_GET_FG_TYPE(unsigned short , forge::u16);
+ INSTANTIATE_GET_FG_TYPE(short , forge::s16);
+
+-gl::GLenum glErrorSkip(const char *msg, const char* file, int line)
+-{
+-#ifndef NDEBUG
+- gl::GLenum x = gl::glGetError();
+- if (x != GL_NO_ERROR) {
+- char buf[1024];
+- sprintf(buf, "GL Error Skipped at: %s:%d Message: %s Error Code: %d \"%s\"\n", file, line, msg, (int)x, glbinding::Meta::getString(x).c_str());
+- AF_ERROR(buf, AF_ERR_INTERNAL);
+- }
+- return x;
+-#else
+- return (gl::GLenum)0;
+-#endif
+-}
+-
+ gl::GLenum glErrorCheck(const char *msg, const char* file, int line)
+ {
++ auto getErrorString = [](gl::GLenum value) {
++ switch(value) {
++ case GLenum::GL_INVALID_ENUM: return "GL_INVALID_ENUM";
++ case GLenum::GL_INVALID_VALUE: return "GL_INVALID_VALUE";
++ case GLenum::GL_INVALID_OPERATION: return "GL_INVALID_OPERATION";
++ case GLenum::GL_INVALID_FRAMEBUFFER_OPERATION: return "GL_INVALID_FRAMEBUFFER_OPERATION";
++ case GLenum::GL_OUT_OF_MEMORY: return "GL_OUT_OF_MEMORY";
++ case GLenum::GL_STACK_UNDERFLOW: return "GL_STACK_UNDERFLOW";
++ case GLenum::GL_STACK_OVERFLOW: return "GL_STACK_OVERFLOW";
++ default: return "GL_NO_ERROR";
++ }
++ };
+ // Skipped in release mode
+ #ifndef NDEBUG
+ gl::GLenum x = gl::glGetError();
+
+ if (x != GL_NO_ERROR) {
+ char buf[1024];
+- sprintf(buf, "GL Error at: %s:%d Message: %s Error Code: %d \"%s\"\n", file, line, msg, (int)x, glbinding::Meta::getString(x).c_str());
++ sprintf(buf, "GL Error at: %s:%d Message: %s Error Code: %d \"%s\"\n",
++ file, line, msg, (int)x, getErrorString(x).c_str());
+ AF_ERROR(buf, AF_ERR_INTERNAL);
+ }
+ return x;
+@@ -83,18 +80,6 @@ gl::GLenum glErrorCheck(const char *msg, const char* file, int line)
+ #endif
+ }
+
+-gl::GLenum glForceErrorCheck(const char *msg, const char* file, int line)
+-{
+- gl::GLenum x = gl::glGetError();
+-
+- if (x != GL_NO_ERROR) {
+- char buf[1024];
+- sprintf(buf, "GL Error at: %s:%d Message: %s Error Code: %d \"%s\"\n", file, line, msg, (int)x, glbinding::Meta::getString(x).c_str());
+- AF_ERROR(buf, AF_ERR_INTERNAL);
+- }
+- return x;
+-}
+-
+ size_t getTypeSize(gl::GLenum type)
+ {
+ switch(type) {
+diff --git a/src/backend/common/graphics_common.hpp b/src/backend/common/graphics_common.hpp
+index e895f5c90..e9e1ec43c 100644
+--- a/src/backend/common/graphics_common.hpp
++++ b/src/backend/common/graphics_common.hpp
+@@ -27,13 +27,9 @@ forge::dtype getGLType();
+
+ // Print for OpenGL errors
+ // Returns 1 if an OpenGL error occurred, 0 otherwise.
+-gl::GLenum glErrorSkip(const char *msg, const char* file, int line);
+ gl::GLenum glErrorCheck(const char *msg, const char* file, int line);
+-gl::GLenum glForceErrorCheck(const char *msg, const char* file, int line);
+
+ #define CheckGL(msg) glErrorCheck (msg, __AF_FILENAME__, __LINE__)
+-#define ForceCheckGL(msg) glForceErrorCheck(msg, __AF_FILENAME__, __LINE__)
+-#define CheckGLSkip(msg) glErrorSkip (msg, __AF_FILENAME__, __LINE__)
+
+ forge::MarkerType getFGMarker(const af_marker_type af_marker);
+
+diff --git a/src/backend/opencl/platform.cpp b/src/backend/opencl/platform.cpp
+index 226d5967c..b29145443 100644
+--- a/src/backend/opencl/platform.cpp
++++ b/src/backend/opencl/platform.cpp
+@@ -29,7 +29,6 @@
+ #include <err_opencl.hpp>
+ #include <blas.hpp>
+ #include <common/host_memory.hpp>
+-#include <common/InteropManager.hpp>
+ #include <platform.hpp>
+ #include <common/util.hpp>
+ #include <version.hpp>
Copied: arrayfire/repos/community-staging-x86_64/PKGBUILD (from rev 411573, arrayfire/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2018-12-05 18:53:05 UTC (rev 411574)
@@ -0,0 +1,64 @@
+# Maintainer: Sven-Hendrik Haase <sh at lutzhaase.com>
+pkgname=arrayfire
+pkgdesc="High performance software library for parallel computing with an easy-to-use API"
+url='https://arrayfire.com'
+pkgver=3.6.1
+arch=('x86_64')
+pkgrel=6
+license=('BSD')
+depends=('cblas' 'fftw' 'boost-libs' 'lapacke' 'forge' 'freeimage' 'glfw' 'glew' 'glbinding')
+makedepends=('cmake' 'graphviz' 'doxygen' 'opencl-headers' 'boost' 'python' 'ocl-icd' 'cuda' 'git')
+optdepends=('cuda: Required for using CUDA backend'
+ 'nvidia-utils: Required for using CUDA backend'
+ 'libclc: Required for using OpenCL backend')
+options=('!buildflags')
+source=("http://arrayfire.com/arrayfire_source/arrayfire-full-${pkgver}.tar.bz2"
+ "2365.patch")
+sha512sums=('44f4e0e5c99764a34854e5da7c893cd956a42dd4a23a5761e63a661e23cbd0bbab7cec3fc182aa1b5255989b19b3713bde8a10aee782bd76424b6c4b025e0f36'
+ '916c4adf46bc092e2b9657734b893a4c79b3d28b2c2116d75924123b36a73e24fbf005fcfc00a84f8e79f7c32b0121fa90b790e786b81105080bfc9f98aac0c6')
+
+prepare() {
+ cd "${srcdir}/arrayfire-full-${pkgver}"
+
+ patch -Np1 -i "${srcdir}"/2365.patch
+
+ mkdir build
+}
+
+build() {
+ cd "${srcdir}/arrayfire-full-${pkgver}"
+
+ cd build
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DAF_USE_SYSTEM_FORGE=ON \
+ -DAF_WITH_IMAGEIO=ON \
+ -DAF_WITH_GRAPHICS=ON \
+ -DAF_BUILD_CPU=ON \
+ -DAF_BUILD_OPENCL=ON \
+ -DAF_BUILD_NONFREE=ON \
+ -DAF_BUILD_EXAMPLES=ON \
+ -DAF_BUILD_DOCS=ON \
+ -DCUDA_architecture_build_targets="3.0;3.2;3.5;3.7;5.0;5.2;5.3;6.0;6.1;6.2;7.0;7.2;7.5" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCUDA_HOST_COMPILER=/usr/bin/gcc-7
+
+ make
+}
+
+# check() {
+# cd "${srcdir}/arrayfire-full-${pkgver}/build"
+#
+# # Some tests fail :(
+# make test
+# }
+
+package() {
+ cd "${srcdir}/arrayfire-full-${pkgver}"
+
+ install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+
+ cd build
+
+ make DESTDIR="${pkgdir}/" install
+}
More information about the arch-commits
mailing list