diff options
author | David Seifert <soap@gentoo.org> | 2020-12-29 13:57:25 +0100 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2020-12-29 13:57:25 +0100 |
commit | 184456970fa09df86d419c48020fdad2b5b3911a (patch) | |
tree | 90659e24224a8c5093bc7e101a09b370f580e812 /sci-libs/clblas | |
parent | dev-libs/libstrophe: add new version 0.10.1 (diff) | |
download | gentoo-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')
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. |