commit:     184456970fa09df86d419c48020fdad2b5b3911a
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 29 12:57:25 2020 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Dec 29 12:57:25 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18445697

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 <AT> gentoo.org>

 sci-libs/clblas/Manifest                           |  1 +
 sci-libs/clblas/clblas-2.12.ebuild                 | 82 ++++++++++++++++++++++
 ....12-Detect-CBLAS-when-building-the-client.patch | 24 +++++++
 .../clblas-2.12-disable-multilib-cflags.patch      | 26 +++++++
 .../files/clblas-2.12-fix-doxygen-output-dir.patch | 16 +++++
 .../files/clblas-2.12-fix-pthread-linkage.patch    | 18 +++++
 .../files/clblas-2.12-reproducible-build.patch     | 17 +++++
 .../files/clblas-2.12-use-boost-dynamic-libs.patch | 16 +++++
 .../files/clblas-2.12-use-system-mathjax.patch     | 18 +++++
 9 files changed, 218 insertions(+)

diff --git a/sci-libs/clblas/Manifest b/sci-libs/clblas/Manifest
index 304f9e7bde3..d282335f29d 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 00000000000..700aa880f9f
--- /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 00000000000..bfe94dfd707
--- /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 <[email protected]>
+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 00000000000..8e8f14871ef
--- /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 <[email protected]>
+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 00000000000..31abb89b1c3
--- /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 <[email protected]>
+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 00000000000..c920c8140d8
--- /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 <[email protected]>
+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 00000000000..9d7c2b771e4
--- /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 <[email protected]>
+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 00000000000..64388c90dc4
--- /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 <[email protected]>
+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 00000000000..775a669e96a
--- /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 <[email protected]> 
+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.

Reply via email to