aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Fabbro <sebfabbro@gmail.com>2012-04-23 19:43:29 +0100
committerSébastien Fabbro <sebfabbro@gmail.com>2012-04-23 19:43:29 +0100
commit04534a273bd28334ba5e041871ce23e2a0ceff26 (patch)
treef6a013e8b79b6d25ea25021be8d38c9fb72850f7 /sci-libs/lapacke-reference
parentsci-libs/lapack-reference: Version bump (diff)
downloadsci-04534a273bd28334ba5e041871ce23e2a0ceff26.tar.gz
sci-04534a273bd28334ba5e041871ce23e2a0ceff26.tar.bz2
sci-04534a273bd28334ba5e041871ce23e2a0ceff26.zip
sci-libs/lapacke-reference: Version bump
(Portage version: 2.1.10.56/git/Linux x86_64, unsigned Manifest commit)
Diffstat (limited to 'sci-libs/lapacke-reference')
-rw-r--r--sci-libs/lapacke-reference/ChangeLog6
-rw-r--r--sci-libs/lapacke-reference/Manifest1
-rw-r--r--sci-libs/lapacke-reference/files/3.4.1-cmake.patch199
-rw-r--r--sci-libs/lapacke-reference/lapacke-reference-3.4.1.ebuild75
4 files changed, 281 insertions, 0 deletions
diff --git a/sci-libs/lapacke-reference/ChangeLog b/sci-libs/lapacke-reference/ChangeLog
index 2d9e3b68b..795624837 100644
--- a/sci-libs/lapacke-reference/ChangeLog
+++ b/sci-libs/lapacke-reference/ChangeLog
@@ -2,6 +2,12 @@
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+*lapacke-reference-3.4.1 (23 Apr 2012)
+
+ 23 Apr 2012; Sébastien Fabbro <bicatali@gentoo.org>
+ +files/3.4.1-cmake.patch, +lapacke-reference-3.4.1.ebuild:
+ Version bump
+
23 Feb 2012; Justin Lecher <jlec@gentoo.org>
lapacke-reference-3.4.0_p20120215-r1.ebuild, metadata.xml:
Keyworded for ~-linux prefix
diff --git a/sci-libs/lapacke-reference/Manifest b/sci-libs/lapacke-reference/Manifest
index 3f189e022..ffbeb5fa7 100644
--- a/sci-libs/lapacke-reference/Manifest
+++ b/sci-libs/lapacke-reference/Manifest
@@ -1 +1,2 @@
DIST lapack-3.4.0_p20120215.tar.bz2 4290529 SHA256 4fd1b7e3b573a1fa98241dd45ce0c0a89e8649824c5bca194a30c965520d53f3 SHA512 a62381c0b6b30ad752f5d9161e68c89cf7982959077b94a7a2609d617ba985141330ad61b92c393133a3cbcc46a6257c05f43c75b0fe35c1d422f6166615097f WHIRLPOOL 1e2438521ba4761c5661dc22a9be3e5c96a957f0f09721037b8ac3dcf0fecab0d896af8b969d69a200e32296d5e4c3b5ebd8f851d101b5220173847e3c3b7ddf
+DIST lapack-3.4.1.tgz 6147766 SHA256 e315d210e25c056e34dd8ccabd34e3ad66b4c59f6941bdbf5f8f61167fa33ce2 SHA512 2ef7fb8b7d5c9d9088434bc8a88b05a256fc71bf05d26c5ccc13f4896790f2652e74acc0566f368dbbb6e41c3b4656dde4d345eea616dffea580b87ccd770008 WHIRLPOOL 2342dbe47a55472cfb95170d3b266f50695d7519c56929fcf3bec658d0ae6e4f6ce2ca34b8a4876de33d3f7373a9264d879ed0cb15ff5aab420b5839aebbe1b0
diff --git a/sci-libs/lapacke-reference/files/3.4.1-cmake.patch b/sci-libs/lapacke-reference/files/3.4.1-cmake.patch
new file mode 100644
index 000000000..465f68a79
--- /dev/null
+++ b/sci-libs/lapacke-reference/files/3.4.1-cmake.patch
@@ -0,0 +1,199 @@
+Index: CMakeLists.txt
+===================================================================
+--- CMakeLists.txt (revision 1284)
++++ CMakeLists.txt (working copy)
+@@ -94,10 +94,6 @@
+ # Precision to build
+ # By default all precisions are generated
+
+-option(BUILD_SINGLE "Build LAPACK Single Precision" ON)
+-option(BUILD_DOUBLE "Build LAPACK Double Precision" ON)
+-option(BUILD_COMPLEX "Build LAPACK Complex Precision" ON)
+-option(BUILD_COMPLEX16 "Build LAPACK Double Complex Precision" ON)
+
+ # --------------------------------------------------
+ # Subdirectories that need to be processed
+@@ -147,7 +143,49 @@
+ find_library(XBLAS_LIBRARY NAMES xblas)
+ endif(USE_XBLAS)
+
+-add_subdirectory(SRC)
++option(USE_OPTIMIZED_LAPACK "Whether or not to use an optimized LAPACK library instead of included netlib LAPACK" OFF)
++
++# Check the usage of the user provided LAPACK libraries
++if(LAPACK_LIBRARIES)
++ include(CheckFortranFunctionExists)
++ set(CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES})
++ CHECK_FORTRAN_FUNCTION_EXISTS("dpotrf" LAPACK_FOUND)
++ unset( CMAKE_REQUIRED_LIBRARIES )
++ if(LAPACK_FOUND)
++ message(STATUS "--> LAPACK supplied by user is WORKING, will use ${LAPACK_LIBRARIES}.")
++ else(LAPACK_FOUND)
++ message(ERROR "--> LAPACK supplied by user is not WORKING, CANNOT USE $LAPACK_LIBRARIES}.")
++ message(ERROR "--> Will use REFERENCE LAPACK (by default)")
++ message(ERROR "--> Or Correct your LAPACK_LIBRARIES entry ")
++ message(ERROR "--> Or Consider checking USE_OPTIMIZED_LAPACK")
++ endif(LAPACK_FOUND)
++
++ # User did not provide a LAPACK Library but specified to search for one
++elseif( USE_OPTIMIZED_LAPACK )
++ find_package( LAPACK )
++endif (LAPACK_LIBRARIES)
++
++# Neither user specified or optimized LAPACK libraries can be used
++if(NOT LAPACK_FOUND)
++ message(STATUS "Using supplied NETLIB LAPACK implementation")
++ set( LAPACK_LIBRARIES lapack )
++ option(BUILD_SINGLE "Build LAPACK Single Precision" ON)
++ option(BUILD_DOUBLE "Build LAPACK Double Precision" ON)
++ option(BUILD_COMPLEX "Build LAPACK Complex Precision" ON)
++ option(BUILD_COMPLEX16 "Build LAPACK Double Complex Precision" ON)
++ add_subdirectory(SRC)
++else()
++ set( CMAKE_EXE_LINKER_FLAGS
++ "${CMAKE_EXE_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}"
++ CACHE STRING "Linker flags for executables" FORCE)
++ set( CMAKE_MODULE_LINKER_FLAGS
++ "${CMAKE_MODULE_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}"
++ CACHE STRING "Linker flags for modules" FORCE)
++ set( CMAKE_SHARED_LINKER_FLAGS
++ "${CMAKE_SHARED_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}"
++ CACHE STRING "Linker flags for shared libs" FORCE)
++endif( NOT LAPACK_FOUND )
++
+ if(BUILD_TESTING)
+ add_subdirectory(TESTING)
+ endif(BUILD_TESTING)
+@@ -155,6 +193,10 @@
+ # --------------------------------------------------
+ # LAPACKE
+ option(LAPACKE "Build LAPACKE" OFF)
++if(LAPACKE)
++ add_subdirectory(lapacke)
++endif(LAPACKE)
++
+ # LAPACKE has also the interface to some routines from tmglib,
+ # if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE
+ option(LAPACKE_WITH_TMG "Build LAPACKE with tmglib routines" OFF)
+@@ -162,9 +204,6 @@
+ option(LAPACKE "Build LAPACKE" ON)
+ endif(LAPACKE_WITH_TMG)
+
+-if(LAPACKE)
+- add_subdirectory(lapacke)
+-endif(LAPACKE)
+
+ # --------------------------------------------------
+ # CPACK Packaging
+@@ -202,20 +241,24 @@
+ OPTION(BUILD_STATIC_LIBS "Build static libraries" ON )
+ #OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON )
+
+-if( NOT BLAS_FOUND )
+- if(LAPACKE)
+- export(TARGETS blas lapack tmglib lapacke FILE lapack-targets.cmake)
+- else (LAPACKE)
+- export(TARGETS blas lapack tmglib FILE lapack-targets.cmake)
+- endif(LAPACKE)
+-else( NOT BLAS_FOUND )
+- if(LAPACKE)
+- export(TARGETS lapack tmglib lapacke FILE lapack-targets.cmake)
+- else (LAPACKE)
+- export(TARGETS lapack tmglib FILE lapack-targets.cmake)
+- endif(LAPACKE)
+-endif( NOT BLAS_FOUND )
++if(NOT BLAS_FOUND)
++ set(ALL_TARGETS ${ALL_TARGETS} blas)
++endif(NOT BLAS_FOUND)
+
++if(NOT LAPACK_FOUND)
++ set(ALL_TARGETS ${ALL_TARGETS} lapack)
++endif(NOT LAPACK_FOUND)
++
++if(BUILD_TESTING OR LAPACKE_WITH_TMG)
++ set(ALL_TARGETS ${ALL_TARGETS} tmglib)
++endif(BUILD_TESTING OR LAPACKE_WITH_TMG)
++
++if(LAPACKE)
++ set(ALL_TARGETS ${ALL_TARGETS} lapacke)
++endif(LAPACKE)
++
++export(TARGETS ${ALL_TARGETS} FILE lapack-targets.cmake)
++
+ configure_file(${LAPACK_SOURCE_DIR}/CMAKE/lapack-config-version.cmake.in
+ ${LAPACK_BINARY_DIR}/lapack-config-version.cmake @ONLY)
+ configure_file(${LAPACK_SOURCE_DIR}/CMAKE/lapack-config-build.cmake.in
+Index: lapacke/example/CMakeLists.txt
+===================================================================
+--- lapacke/example/CMakeLists.txt (revision 1284)
++++ lapacke/example/CMakeLists.txt (working copy)
+@@ -1,8 +1,8 @@
+ add_executable(xexample_DGESV_rowmajor example_DGESV_rowmajor.c)
+ add_executable(xexample_ZGESV_rowmajor example_ZGESV_rowmajor.c)
+
+-target_link_libraries(xexample_DGESV_rowmajor lapacke lapack ${BLAS_LIBRARIES})
+-target_link_libraries(xexample_ZGESV_rowmajor lapacke lapack ${BLAS_LIBRARIES})
++target_link_libraries(xexample_DGESV_rowmajor lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
++target_link_libraries(xexample_ZGESV_rowmajor lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+
+ add_test(example_DGESV_rowmajor ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/xexample_DGESV_rowmajor)
+ add_test(example_ZGESV_rowmajor ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/xexample_ZGESV_rowmajor)
+Index: lapacke/CMakeLists.txt
+===================================================================
+--- lapacke/CMakeLists.txt (revision 1284)
++++ lapacke/CMakeLists.txt (working copy)
+@@ -45,14 +45,14 @@
+
+ if (USE_XBLAS)
+ add_library(lapacke ${SRC_OBJ} ${SRCX_OBJ} ${UTILS_OBJ})
+- target_link_libraries(lapacke lapack ${BLAS_LIBRARIES} ${XBLAS_LIBRARY})
++ target_link_libraries(lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} ${XBLAS_LIBRARY})
+ else (USE_XBLAS)
+ if (LAPACKE_WITH_TMG)
+ add_library(lapacke ${SRC_OBJ} ${MATGEN_OBJ} ${UTILS_OBJ})
+- target_link_libraries(lapacke tmglib lapack ${BLAS_LIBRARIES} )
++ target_link_libraries(lapacke tmglib ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+ else (LAPACKE_WITH_TMG)
+ add_library(lapacke ${SRC_OBJ} ${UTILS_OBJ})
+- target_link_libraries(lapacke lapack ${BLAS_LIBRARIES} )
++ target_link_libraries(lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+ endif(LAPACKE_WITH_TMG)
+ endif(USE_XBLAS)
+
+Index: TESTING/LIN/CMakeLists.txt
+===================================================================
+--- TESTING/LIN/CMakeLists.txt (revision 1284)
++++ TESTING/LIN/CMakeLists.txt (working copy)
+@@ -193,7 +193,7 @@
+
+ macro(add_lin_executable name )
+ add_executable(${name} ${ARGN})
+- target_link_libraries(${name} tmglib lapack)
++ target_link_libraries(${name} tmglib ${LAPACK_LIBRARIES})
+ endmacro(add_lin_executable)
+
+ IF(BUILD_SINGLE)
+Index: TESTING/EIG/CMakeLists.txt
+===================================================================
+--- TESTING/EIG/CMakeLists.txt (revision 1284)
++++ TESTING/EIG/CMakeLists.txt (working copy)
+@@ -119,7 +119,7 @@
+
+ macro(add_eig_executable name )
+ add_executable(${name} ${ARGN})
+- target_link_libraries(${name} tmglib lapack )
++ target_link_libraries(${name} tmglib ${LAPACK_LIBRARIES})
+ endmacro(add_eig_executable)
+
+ if (BUILD_SINGLE)
+Index: TESTING/MATGEN/CMakeLists.txt
+===================================================================
+--- TESTING/MATGEN/CMakeLists.txt (revision 1284)
++++ TESTING/MATGEN/CMakeLists.txt (working copy)
+@@ -71,5 +71,5 @@
+ ${DZATGEN})
+ endif()
+ add_library(tmglib ${ALLOBJ} )
+-target_link_libraries(tmglib lapack)
++target_link_libraries(tmglib ${LAPACK_LIBRARIES})
+ lapack_install_library(tmglib)
diff --git a/sci-libs/lapacke-reference/lapacke-reference-3.4.1.ebuild b/sci-libs/lapacke-reference/lapacke-reference-3.4.1.ebuild
new file mode 100644
index 000000000..bb30d09c8
--- /dev/null
+++ b/sci-libs/lapacke-reference/lapacke-reference-3.4.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+inherit cmake-utils fortran-2 alternatives-2
+
+MYP=lapack-${PV}
+
+DESCRIPTION="C Interface to LAPACK"
+HOMEPAGE="http://www.netlib.org/lapack/"
+SRC_URI="http://www.netlib.org/lapack/${MYP}.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs test xblas"
+
+RDEPEND="virtual/blas
+ virtual/lapack
+ xblas? ( sci-libs/xblas )"
+DEPEND="${RDEPEND}
+ test? ( virtual/fortran )
+ dev-util/pkgconfig"
+
+S="${WORKDIR}/${MYP}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-cmake.patch
+ use static-libs && mkdir "${WORKDIR}/${PN}_static"
+}
+
+src_configure() {
+ lapack_configure() {
+ local mycmakeargs=(
+ -DUSE_OPTIMIZED_BLAS=ON
+ -DUSE_OPTIMIZED_LAPACK=ON
+ -DLAPACKE=ON
+ -DBLAS_LIBRARIES="$(pkg-config --libs blas)"
+ -DLAPACK_LIBRARIES="$(pkg-config --libs lapack)"
+ $(cmake-utils_use_build test TESTING)
+ $(cmake-utils_use_use xblas XBLAS)
+ $@
+ )
+ cmake-utils_src_configure
+ }
+
+ lapack_configure -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF
+ use static-libs && \
+ CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" lapack_configure \
+ -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON
+}
+
+src_compile() {
+ use test && cmake-utils_src_compile -C TESTING/MATGEN
+ cmake-utils_src_compile -C lapacke
+ use static-libs && CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" \
+ cmake-utils_src_compile -C lapacke
+}
+
+src_test() {
+ pushd "${CMAKE_BUILD_DIR}/lapacke" > /dev/null
+ local ctestargs
+ [[ -n ${TEST_VERBOSE} ]] && ctestargs="--extra-verbose --output-on-failure"
+ ctest ${ctestargs} || die
+ popd > /dev/null
+}
+
+src_install() {
+ cmake-utils_src_install -C lapacke
+ use static-libs && CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" \
+ cmake-utils_src_install -C lapacke
+ alternatives_for lapacke reference 0 \
+ /usr/$(get_libdir)/pkgconfig/lapacke.pc reflapacke.pc
+}