From 9554cfa2cfea3491a45697082077cf37b2fbf3f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Bissey?= Date: Tue, 14 Mar 2017 23:14:14 +1300 Subject: sci-libs/cblas-reference: fix for issue #60 (#752) Package-Manager: portage-2.3.3 --- .../cblas-reference-20161223-r100.ebuild | 124 --------------------- .../cblas-reference-20161223-r101.ebuild | 124 +++++++++++++++++++++ .../lapack-reference-3.7.0-fix-build-system.patch | 11 +- 3 files changed, 132 insertions(+), 127 deletions(-) delete mode 100644 sci-libs/cblas-reference/cblas-reference-20161223-r100.ebuild create mode 100644 sci-libs/cblas-reference/cblas-reference-20161223-r101.ebuild diff --git a/sci-libs/cblas-reference/cblas-reference-20161223-r100.ebuild b/sci-libs/cblas-reference/cblas-reference-20161223-r100.ebuild deleted file mode 100644 index 4b39f5657..000000000 --- a/sci-libs/cblas-reference/cblas-reference-20161223-r100.ebuild +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -NUMERIC_MODULE_NAME="refcblas" - -inherit alternatives-2 cmake-utils eutils fortran-2 numeric-int64-multibuild python-any-r1 toolchain-funcs - -LPN=lapack -LPV=3.7.0 - -DESCRIPTION="C wrapper interface to the F77 reference BLAS implementation" -HOMEPAGE="http://www.netlib.org/cblas/" -SRC_URI="http://www.netlib.org/${LPN}/${LPN}-${LPV}.tgz" - -LICENSE="BSD" -SLOT="0/${LPV}" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -IUSE="static-libs test" - -REQUIRED_USE="test? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND="virtual/blas" -DEPEND="${RDEPEND} - test? ( ${PYTHON_DEPS} ) - virtual/pkgconfig" - -S="${WORKDIR}/${LPN}-${LPV}" -PATCHES=( "${FILESDIR}/lapack-reference-${LPV}-fix-build-system.patch" ) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/cblas/cblas.h -) -src_prepare() { - default - - # rename library to avoid collision with other blas implementations - # ${LIBNAME} and ${PROFNAME} are not defined here, they are in single - # quotes in the following seds. They are later set by defining cmake - # variables with -DPROFNAME etc in src_configure - sed -i \ - -e 's:\([^xc]\)blas:\1${LIBNAME}:g' \ - -e '/ALL_TARGETS/s:cblas):${LIBNAME}):' \ - -e '/_librar/s:cblas:${LIBNAME}:' \ - CMakeLists.txt \ - CBLAS/src/CMakeLists.txt || die - sed -i \ - -e 's:/CMAKE/:/cmake/:g' \ - CBLAS/CMakeLists.txt || die - sed -i \ - -e '/Name: /s:cblas:@PROFNAME@:' \ - -e 's:-lcblas:-l@LIBNAME@:g' \ - CBLAS/cblas.pc.in || die - sed -i \ - -e 's:cblas):${LIBNAME}):' \ - CBLAS/testing/CMakeLists.txt || die - sed -i \ - -e 's:BINARY_DIR}/cblas:BINARY_DIR}/${PROFNAME}:' \ - -e '/install/s:include):include/${PROFNAME}):g' \ - CBLAS/CMakeLists.txt || die -} - -src_configure() { - cblas_configure() { - local FCFLAGS="${FCFLAGS}" - append-fflags $($(tc-getPKG_CONFIG) --cflags ${blas_profname}) - append-fflags $(get_abi_CFLAGS) - append-fflags $(numeric-int64_get_fortran_int64_abi_fflags) - - local blas_profname=$(numeric-int64_get_blas_alternative) - local profname=$(numeric-int64_get_module_name) - local libname="${profname//-/_}" - - local mycmakeargs=( - -Wno-dev - -DCBLAS=ON - -DPROFNAME="${profname}" - -DLIBNAME="${libname}" - -DUSE_OPTIMIZED_BLAS=ON - -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${blas_profname})" - -DCMAKE_C_FLAGS="$($(tc-getPKG_CONFIG) --cflags ${blas_profname}) ${CFLAGS}" - -DCMAKE_CXX_FLAGS="$($(tc-getPKG_CONFIG) --cflags ${blas_profname}) ${CXXFLAGS}" - -DCMAKE_Fortran_FLAGS="$($(tc-getPKG_CONFIG) --cflags ${blas_profname}) $(get_abi_CFLAGS) $(numeric-int64_get_fortran_int64_abi_fflags) ${FCFLAGS}" - -DLAPACK_PKGCONFIG_FFLAGS="$(numeric-int64_get_fortran_int64_abi_fflags)" - -DBUILD_TESTING=$(usex test) - ) - if $(numeric-int64_is_static_build); then - mycmakeargs+=( - -DBUILD_SHARED_LIBS=OFF - -DBUILD_STATIC_LIBS=ON - ) - else - mycmakeargs+=( - -DBUILD_SHARED_LIBS=ON - -DBUILD_STATIC_LIBS=OFF - ) - fi - cmake-utils_src_configure - } - numeric-int64-multibuild_foreach_all_abi_variants cblas_configure -} - -src_compile() { - local each target_dirs=( CBLAS ) - use test && target_dirs+=( testing ) - for each in ${target_dirs[@]}; do - numeric-int64-multibuild_foreach_all_abi_variants \ - cmake-utils_src_compile -C ${each} - done - -} - -src_test() { - numeric-int64-multibuild_foreach_all_abi_variants cmake-utils_src_test -} - -src_install() { - numeric-int64-multibuild_foreach_all_abi_variants cmake-utils_src_install -C CBLAS - numeric-int64-multibuild_install_alternative cblas reference /usr/include/cblas.h refcblas/cblas.h - multilib_install_wrappers -} diff --git a/sci-libs/cblas-reference/cblas-reference-20161223-r101.ebuild b/sci-libs/cblas-reference/cblas-reference-20161223-r101.ebuild new file mode 100644 index 000000000..4b39f5657 --- /dev/null +++ b/sci-libs/cblas-reference/cblas-reference-20161223-r101.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +NUMERIC_MODULE_NAME="refcblas" + +inherit alternatives-2 cmake-utils eutils fortran-2 numeric-int64-multibuild python-any-r1 toolchain-funcs + +LPN=lapack +LPV=3.7.0 + +DESCRIPTION="C wrapper interface to the F77 reference BLAS implementation" +HOMEPAGE="http://www.netlib.org/cblas/" +SRC_URI="http://www.netlib.org/${LPN}/${LPN}-${LPV}.tgz" + +LICENSE="BSD" +SLOT="0/${LPV}" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="static-libs test" + +REQUIRED_USE="test? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND="virtual/blas" +DEPEND="${RDEPEND} + test? ( ${PYTHON_DEPS} ) + virtual/pkgconfig" + +S="${WORKDIR}/${LPN}-${LPV}" +PATCHES=( "${FILESDIR}/lapack-reference-${LPV}-fix-build-system.patch" ) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/cblas/cblas.h +) +src_prepare() { + default + + # rename library to avoid collision with other blas implementations + # ${LIBNAME} and ${PROFNAME} are not defined here, they are in single + # quotes in the following seds. They are later set by defining cmake + # variables with -DPROFNAME etc in src_configure + sed -i \ + -e 's:\([^xc]\)blas:\1${LIBNAME}:g' \ + -e '/ALL_TARGETS/s:cblas):${LIBNAME}):' \ + -e '/_librar/s:cblas:${LIBNAME}:' \ + CMakeLists.txt \ + CBLAS/src/CMakeLists.txt || die + sed -i \ + -e 's:/CMAKE/:/cmake/:g' \ + CBLAS/CMakeLists.txt || die + sed -i \ + -e '/Name: /s:cblas:@PROFNAME@:' \ + -e 's:-lcblas:-l@LIBNAME@:g' \ + CBLAS/cblas.pc.in || die + sed -i \ + -e 's:cblas):${LIBNAME}):' \ + CBLAS/testing/CMakeLists.txt || die + sed -i \ + -e 's:BINARY_DIR}/cblas:BINARY_DIR}/${PROFNAME}:' \ + -e '/install/s:include):include/${PROFNAME}):g' \ + CBLAS/CMakeLists.txt || die +} + +src_configure() { + cblas_configure() { + local FCFLAGS="${FCFLAGS}" + append-fflags $($(tc-getPKG_CONFIG) --cflags ${blas_profname}) + append-fflags $(get_abi_CFLAGS) + append-fflags $(numeric-int64_get_fortran_int64_abi_fflags) + + local blas_profname=$(numeric-int64_get_blas_alternative) + local profname=$(numeric-int64_get_module_name) + local libname="${profname//-/_}" + + local mycmakeargs=( + -Wno-dev + -DCBLAS=ON + -DPROFNAME="${profname}" + -DLIBNAME="${libname}" + -DUSE_OPTIMIZED_BLAS=ON + -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${blas_profname})" + -DCMAKE_C_FLAGS="$($(tc-getPKG_CONFIG) --cflags ${blas_profname}) ${CFLAGS}" + -DCMAKE_CXX_FLAGS="$($(tc-getPKG_CONFIG) --cflags ${blas_profname}) ${CXXFLAGS}" + -DCMAKE_Fortran_FLAGS="$($(tc-getPKG_CONFIG) --cflags ${blas_profname}) $(get_abi_CFLAGS) $(numeric-int64_get_fortran_int64_abi_fflags) ${FCFLAGS}" + -DLAPACK_PKGCONFIG_FFLAGS="$(numeric-int64_get_fortran_int64_abi_fflags)" + -DBUILD_TESTING=$(usex test) + ) + if $(numeric-int64_is_static_build); then + mycmakeargs+=( + -DBUILD_SHARED_LIBS=OFF + -DBUILD_STATIC_LIBS=ON + ) + else + mycmakeargs+=( + -DBUILD_SHARED_LIBS=ON + -DBUILD_STATIC_LIBS=OFF + ) + fi + cmake-utils_src_configure + } + numeric-int64-multibuild_foreach_all_abi_variants cblas_configure +} + +src_compile() { + local each target_dirs=( CBLAS ) + use test && target_dirs+=( testing ) + for each in ${target_dirs[@]}; do + numeric-int64-multibuild_foreach_all_abi_variants \ + cmake-utils_src_compile -C ${each} + done + +} + +src_test() { + numeric-int64-multibuild_foreach_all_abi_variants cmake-utils_src_test +} + +src_install() { + numeric-int64-multibuild_foreach_all_abi_variants cmake-utils_src_install -C CBLAS + numeric-int64-multibuild_install_alternative cblas reference /usr/include/cblas.h refcblas/cblas.h + multilib_install_wrappers +} diff --git a/sci-libs/cblas-reference/files/lapack-reference-3.7.0-fix-build-system.patch b/sci-libs/cblas-reference/files/lapack-reference-3.7.0-fix-build-system.patch index 70f7cb0ee..40f3aaa02 100644 --- a/sci-libs/cblas-reference/files/lapack-reference-3.7.0-fix-build-system.patch +++ b/sci-libs/cblas-reference/files/lapack-reference-3.7.0-fix-build-system.patch @@ -13,19 +13,24 @@ index 7fd6f1e..e52f3ad 100644 Name: BLAS Description: FORTRAN reference implementation of BLAS Basic Linear Algebra Subprograms diff --git a/CBLAS/cblas.pc.in b/CBLAS/cblas.pc.in -index 4a938fe..311aed9 100644 +index 4a938fe..269a254 100644 --- a/CBLAS/cblas.pc.in +++ b/CBLAS/cblas.pc.in -@@ -1,5 +1,7 @@ +@@ -1,9 +1,12 @@ -prefix=@prefix@ -libdir=@libdir@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ -+includedir=${prefix}/include ++includedir=${prefix}/include/@PROFNAME@ Name: CBLAS Description: C Standard Interface to BLAS Basic Linear Algebra Subprograms + Version: @LAPACK_VERSION@ + URL: http://www.netlib.org/blas/#_cblas ++Cflags: -I${includedir} + Libs: -L${libdir} -lcblas + Requires: blas diff --git a/LAPACKE/lapacke.pc.in b/LAPACKE/lapacke.pc.in index 028f8da..dc092b1 100644 --- a/LAPACKE/lapacke.pc.in -- cgit v1.2.3