summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2020-12-29 13:57:25 +0100
committerDavid Seifert <soap@gentoo.org>2020-12-29 13:57:25 +0100
commit184456970fa09df86d419c48020fdad2b5b3911a (patch)
tree90659e24224a8c5093bc7e101a09b370f580e812 /sci-libs/clblas
parentdev-libs/libstrophe: add new version 0.10.1 (diff)
downloadgentoo-184456970fa09df86d419c48020fdad2b5b3911a.tar.gz
gentoo-184456970fa09df86d419c48020fdad2b5b3911a.tar.bz2
gentoo-184456970fa09df86d419c48020fdad2b5b3911a.zip
sci-libs/clblas: Version bump to 2.12
Bug: https://bugs.gentoo.org/608086 Bug: https://bugs.gentoo.org/741386 Bug: https://bugs.gentoo.org/737410 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'sci-libs/clblas')
-rw-r--r--sci-libs/clblas/Manifest1
-rw-r--r--sci-libs/clblas/clblas-2.12.ebuild82
-rw-r--r--sci-libs/clblas/files/clblas-2.12-Detect-CBLAS-when-building-the-client.patch24
-rw-r--r--sci-libs/clblas/files/clblas-2.12-disable-multilib-cflags.patch26
-rw-r--r--sci-libs/clblas/files/clblas-2.12-fix-doxygen-output-dir.patch16
-rw-r--r--sci-libs/clblas/files/clblas-2.12-fix-pthread-linkage.patch18
-rw-r--r--sci-libs/clblas/files/clblas-2.12-reproducible-build.patch17
-rw-r--r--sci-libs/clblas/files/clblas-2.12-use-boost-dynamic-libs.patch16
-rw-r--r--sci-libs/clblas/files/clblas-2.12-use-system-mathjax.patch18
9 files changed, 218 insertions, 0 deletions
diff --git a/sci-libs/clblas/Manifest b/sci-libs/clblas/Manifest
index 304f9e7bde34..d282335f29df 100644
--- a/sci-libs/clblas/Manifest
+++ b/sci-libs/clblas/Manifest
@@ -1 +1,2 @@
DIST clblas-2.10.tar.gz 1154117 BLAKE2B 67035b03ab3a8fa07f32cb8d1d40af39fd885ceb21d9754f8a49a62adcfacbeeec703dfdae922ec0fc915a2dcadff2fc2f07a6c5ced74db3da6cd85c6c63f4d5 SHA512 5ed43104aae565292e0df4cc9e014cf483ccc0ff89257ebb5817f6508bfc9593585ed658da639f2167fbfb5d92ef116be4d5de3694f56e1a1e228bd42b1c05c6
+DIST clblas-2.12.tar.gz 1157445 BLAKE2B 27352a7775db94808ce21f2b4a39fe505d4f37be4305dc7fb5a4068a86d3f51a9e4863931f634150762b31256f9f7e8e5d0d8b70f404b5a9ddb8a489b800aea6 SHA512 5d9b0c58adde69e83d95e9c713e0cdc5f64785fe7e05553a14c57fa483c4ef39e9dc780c26880a7f15924967d5ce4ea29035c29d63eac7ee5a2ae5ddacac2b72
diff --git a/sci-libs/clblas/clblas-2.12.ebuild b/sci-libs/clblas/clblas-2.12.ebuild
new file mode 100644
index 000000000000..700aa880f9f3
--- /dev/null
+++ b/sci-libs/clblas/clblas-2.12.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit python-any-r1 toolchain-funcs cmake
+
+MYPN="clBLAS"
+
+DESCRIPTION="Library containing BLAS routines for OpenCL"
+HOMEPAGE="https://github.com/clMathLibraries/clBLAS"
+SRC_URI="https://github.com/clMathLibraries/${MYPN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/2" # soname version
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+client doc examples ktest performance test"
+# the testsuite is hopelessly broken and upstream is pretty much dead
+RESTRICT="test"
+
+RDEPEND="
+ virtual/opencl
+ client? ( virtual/cblas )
+ doc? ( dev-libs/mathjax )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ doc? ( app-doc/doxygen )
+ client? ( virtual/pkgconfig )"
+
+S="${WORKDIR}/${MYPN}-${PV}"
+CMAKE_USE_DIR="${S}/src"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.12-disable-multilib-cflags.patch
+ "${FILESDIR}"/${PN}-2.12-fix-pthread-linkage.patch
+ "${FILESDIR}"/${PN}-2.12-fix-doxygen-output-dir.patch
+ "${FILESDIR}"/${PN}-2.12-use-system-mathjax.patch
+ "${FILESDIR}"/${PN}-2.12-reproducible-build.patch
+ "${FILESDIR}"/${PN}-2.12-use-boost-dynamic-libs.patch
+ "${FILESDIR}"/${PN}-2.12-Detect-CBLAS-when-building-the-client.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_RUNTIME=ON
+ -DBUILD_SAMPLE=OFF
+ # tests are beyond repair
+ -DBUILD_TEST=OFF
+ -DBUILD_CLIENT=$(usex client)
+ -DBUILD_KTEST=$(usex ktest)
+ -DBUILD_PERFORMANCE=$(usex performance)
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ )
+ use client && mycmakeargs+=(
+ -DNetlib_LIBRARIES="$($(tc-getPKG_CONFIG) --libs cblas blas)"
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc; then
+ cd doc || die
+ doxygen clBLAS.doxy || die
+ HTML_DOCS=( doc/html/. )
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ dodoc CHANGELOG CONTRIBUTING.md NOTICE README.md
+ if use examples; then
+ docinto examples
+ dodoc -r src/samples/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/sci-libs/clblas/files/clblas-2.12-Detect-CBLAS-when-building-the-client.patch b/sci-libs/clblas/files/clblas-2.12-Detect-CBLAS-when-building-the-client.patch
new file mode 100644
index 000000000000..bfe94dfd7074
--- /dev/null
+++ b/sci-libs/clblas/files/clblas-2.12-Detect-CBLAS-when-building-the-client.patch
@@ -0,0 +1,24 @@
+From: Ghislain Antony Vaillant <ghisvail@gmail.com>
+Date: Sat, 21 Jan 2017 16:49:27 +0000
+Subject: Detect CBLAS when building the client
+
+---
+ src/CMakeLists.txt | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index bf351c1..28d6a60 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -267,10 +267,7 @@ if( BUILD_TEST )
+ endif( )
+
+ if( BUILD_CLIENT )
+- if( NETLIB_FOUND )
+- else( )
+- message( WARNING "Not find Netlib; BUILD_CLIENT needs the Netlib CBLAS library" )
+- endif()
++ find_package( Netlib COMPONENTS BLAS REQUIRED )
+ endif()
+
+
diff --git a/sci-libs/clblas/files/clblas-2.12-disable-multilib-cflags.patch b/sci-libs/clblas/files/clblas-2.12-disable-multilib-cflags.patch
new file mode 100644
index 000000000000..8e8f14871ef1
--- /dev/null
+++ b/sci-libs/clblas/files/clblas-2.12-disable-multilib-cflags.patch
@@ -0,0 +1,26 @@
+Description: disable multilib flags
+Author: Ghislain Antony Vaillant <ghisvail@gmail.com>
+Forwarded: not-needed
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -305,18 +305,6 @@
+ # Don't use -rpath.
+ set(CMAKE_SKIP_RPATH ON CACHE BOOL "Skip RPATH" FORCE)
+
+- # Need to determine the target machine of the C compiler, because
+- # the '-m32' and '-m64' flags are supported on x86 but not on e.g. ARM.
+- exec_program( "${CMAKE_C_COMPILER} -dumpmachine"
+- OUTPUT_VARIABLE CMAKE_C_COMPILER_MACHINE )
+- message( STATUS "CMAKE_C_COMPILER_MACHINE: ${CMAKE_C_COMPILER_MACHINE}" )
+- # The "86" regular expression matches x86, x86_64, i686, etc.
+- if(${CMAKE_C_COMPILER_MACHINE} MATCHES "86")
+- set(CMAKE_C_FLAGS "-m${TARGET_PLATFORM} ${CMAKE_C_FLAGS}")
+- set(CMAKE_CXX_FLAGS "-m${TARGET_PLATFORM} ${CMAKE_CXX_FLAGS}")
+- set(CMAKE_Fortran_FLAGS "-m${TARGET_PLATFORM} ${CMAKE_Fortran_FLAGS}")
+- endif()
+-
+ if(TARGET_PLATFORM EQUAL 32)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-builtin")
+ endif()
diff --git a/sci-libs/clblas/files/clblas-2.12-fix-doxygen-output-dir.patch b/sci-libs/clblas/files/clblas-2.12-fix-doxygen-output-dir.patch
new file mode 100644
index 000000000000..31abb89b1c3a
--- /dev/null
+++ b/sci-libs/clblas/files/clblas-2.12-fix-doxygen-output-dir.patch
@@ -0,0 +1,16 @@
+Description: use system mathjax instead of remote
+Author: Ghislain Antony Vaillant <ghisvail@gmail.com>
+Forwarded: not-needed
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/doc/clBLAS.doxy
++++ b/doc/clBLAS.doxy
+@@ -52,7 +52,7 @@
+ # If a relative path is entered, it will be relative to the location
+ # where doxygen was started. If left blank the current directory will be used.
+
+-OUTPUT_DIRECTORY = ..\..\bin\clBLAS.doxy
++OUTPUT_DIRECTORY =
+
+ # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+ # 4096 sub-directories (in 2 levels) under the output directory of each output
diff --git a/sci-libs/clblas/files/clblas-2.12-fix-pthread-linkage.patch b/sci-libs/clblas/files/clblas-2.12-fix-pthread-linkage.patch
new file mode 100644
index 000000000000..c920c8140d8d
--- /dev/null
+++ b/sci-libs/clblas/files/clblas-2.12-fix-pthread-linkage.patch
@@ -0,0 +1,18 @@
+Description: fix missing linkage with pthread
+Author: Ghislain Antony Vaillant <ghisvail@gmail.com>
+Forwarded: no
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/src/library/CMakeLists.txt
++++ b/src/library/CMakeLists.txt
+@@ -889,6 +889,10 @@
+ set_target_properties( clBLAS PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/staging" )
+ target_link_libraries(clBLAS ${OPENCL_LIBRARIES} ${MATH_LIBRARY} ${THREAD_LIBRARY})
+
++set(THREADS_PREFER_PTHREAD_FLAG ON)
++find_package(Threads REQUIRED)
++target_link_libraries(clBLAS ${CMAKE_THREAD_LIBS_INIT})
++
+ # CPack configuration; include the executable into the package
+ install( TARGETS clBLAS
+ EXPORT Library
diff --git a/sci-libs/clblas/files/clblas-2.12-reproducible-build.patch b/sci-libs/clblas/files/clblas-2.12-reproducible-build.patch
new file mode 100644
index 000000000000..9d7c2b771e41
--- /dev/null
+++ b/sci-libs/clblas/files/clblas-2.12-reproducible-build.patch
@@ -0,0 +1,17 @@
+Description: make package build reproducible
+ By disabling the HTML timestamp setting in Doxygen.
+Author: Ghislain Antony Vaillant <ghisvail@gmail.com>
+Forwarded: not-needed
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/doc/clBLAS.doxy
++++ b/doc/clBLAS.doxy
+@@ -974,7 +974,7 @@
+ # page will contain the date and time when the page was generated. Setting
+ # this to NO can help when comparing the output of multiple runs.
+
+-HTML_TIMESTAMP = YES
++HTML_TIMESTAMP = NO
+
+ # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+ # documentation will contain sections that can be hidden and shown after the
diff --git a/sci-libs/clblas/files/clblas-2.12-use-boost-dynamic-libs.patch b/sci-libs/clblas/files/clblas-2.12-use-boost-dynamic-libs.patch
new file mode 100644
index 000000000000..64388c90dc48
--- /dev/null
+++ b/sci-libs/clblas/files/clblas-2.12-use-boost-dynamic-libs.patch
@@ -0,0 +1,16 @@
+Description: use Boost shared libraries instead of static
+Author: Ghislain Antony Vaillant <ghisvail@gmail.com>
+Forwarded: no
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -279,7 +279,7 @@
+
+ # Find Boost on the system, and configure the type of boost build we want
+ set( Boost_USE_MULTITHREADED ON )
+-set( Boost_USE_STATIC_LIBS ON )
++set( Boost_USE_STATIC_LIBS OFF )
+ set( Boost_DETAILED_FAILURE_MSG ON )
+ # set( Boost_DEBUG ON )
+ set( Boost_ADDITIONAL_VERSIONS "1.44.0" "1.44" "1.47.0" "1.47" "1.60.0" "1.60" )
diff --git a/sci-libs/clblas/files/clblas-2.12-use-system-mathjax.patch b/sci-libs/clblas/files/clblas-2.12-use-system-mathjax.patch
new file mode 100644
index 000000000000..775a669e96a8
--- /dev/null
+++ b/sci-libs/clblas/files/clblas-2.12-use-system-mathjax.patch
@@ -0,0 +1,18 @@
+Description: fix output directory for documentation
+ Use default doxygen directory, i.e. under docs/html, rather than the
+ inappropriate path set by upstream.
+Author: Ghislain Antony Vaillant <ghisvail@gmail.com>
+Forwarded: no
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/doc/clBLAS.doxy
++++ b/doc/clBLAS.doxy
+@@ -1223,7 +1223,7 @@
+ # installing MathJax. However, it is strongly recommended to install a local
+ # copy of MathJax from http://www.mathjax.org before deployment.
+
+-MATHJAX_RELPATH = http://www.mathjax.org/mathjax
++MATHJAX_RELPATH = /usr/share/javascript/mathjax
+
+ # The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
+ # names that should be enabled during MathJax rendering.