lapack-ng: experimental new BLAS+LAPACK package

This is a step towards the scheme of choice of BLAS and LAPACK
libraries from multiple providers and C wrappers (cblas and lapacke)
on top. It builds both BLAS and LAPACK libraries from Netlib using
the new cmake-based build. This simplifies the package as no hacking
is needed for shared libs.

More work to follow in the coming days.
This commit is contained in:
Dr. Thomas Orgis 2019-03-22 22:11:00 +01:00
parent d557444a5e
commit 964a8c2859
6 changed files with 93 additions and 0 deletions

View File

@ -1754,6 +1754,7 @@ SUBDIR+= l2tpd
SUBDIR+= labyrinth
SUBDIR+= lambertw
SUBDIR+= lander
SUBDIR+= lapack-ng
SUBDIR+= lariza
SUBDIR+= lasi
SUBDIR+= last-exit

13
lapack-ng/DESCR Normal file
View File

@ -0,0 +1,13 @@
LAPACK is a highly portable Fortran 77 library which provides routines
for solving systems of simultaneous linear equations, least-squares
solutions of linear systems of equations, eigenvalue problems, and
singular value problems. The associated matrix factorizations (LU,
Cholesky, QR, SVD, Schur, generalized Schur) are also provided, as are
related computations such as reordering of the Schur factorizations
and estimating condition numbers. Dense and banded matrices are
handled, but not general sparse matrices. In all areas, similar
functionality is provided for real and complex matrices, in both
single and double precision.
This package delivers only the base BLAS and LAPACK libraries from
the Netlib reference code (not the C wrappers).

47
lapack-ng/Makefile Normal file
View File

@ -0,0 +1,47 @@
# $NetBSD$
# This is the first version of updated math/lapack using the upstream
# cmake build system instead of patched Makefiles.
# It is part of the new concept discussed on tech-pkg in the past year,
# with BLAS and LAPACK from either this or OpenBLAS (or others, even external
# MKL), and further cblas and lapacke packages created from the same
# sources as this one, relying on the former.
# This can be considered as replacement of the old math/lapack and
# math/blas once I'm through. I need to figure out good structure
# for math/cblas and math/lapacke first. Maybe even sharing code
# is not needed, as the Makefile is simple enough. Maybe just a decision
# to keep everything from Netlib at the same version.
DISTNAME= lapack-3.8.0
PKGREVISION= 1
CATEGORIES= math
MASTER_SITES= ${MASTER_SITE_NETLIB:=lapack/}
EXTRACT_SUFX= .tar.gz
MAINTAINER= thomas.orgis@uni-hamburg.de
HOMEPAGE= http://www.netlib.org/lapack/
LICENSE= modified-bsd
USE_LANGUAGES= c fortran
USE_TOOLS+= cmake
USE_CMAKE= yes
WRKSRC= ${WRKDIR}/${DISTNAME}
CONFIGURE_DIRS= ${WRKDIR}/build
CMAKE_ARG_PATH= ${WRKSRC}
CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release
CMAKE_ARGS+= -DCMAKE_C_COMPILER=gcc
CMAKE_ARGS+= -DCMAKE_CXX_COMPILER=g++
CMAKE_ARGS= -DBUILD_DEPRECATED=yes \
-DBUILD_SHARED_LIBS=ON \
-DUSE_OPTIMIZED_BLAS=OFF \
-DUSE_OPTIMIZED_LAPACK=OFF \
-DCBLAS=OFF -DLAPACKE=OFF
post-extract:
${RUN} mkdir -p ${WRKDIR}/build
.include "../../mk/bsd.pkg.mk"

13
lapack-ng/PLIST Normal file
View File

@ -0,0 +1,13 @@
@comment $NetBSD$
lib/cmake/${PKGNAME}/lapack-config-version.cmake
lib/cmake/${PKGNAME}/lapack-config.cmake
lib/cmake/${PKGNAME}/lapack-targets-release.cmake
lib/cmake/${PKGNAME}/lapack-targets.cmake
lib/libblas.so
lib/libblas.so.3
lib/libblas.so.${PKGVERSION}
lib/liblapack.so
lib/liblapack.so.3
lib/liblapack.so.${PKGVERSION}
lib/pkgconfig/blas.pc
lib/pkgconfig/lapack.pc

13
lapack-ng/buildlink3.mk Normal file
View File

@ -0,0 +1,13 @@
# $NetBSD$
BUILDLINK_TREE+= lapack
.if !defined(LAPACK_BUILDLINK3_MK)
LAPACK_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.lapack+= lapack>=3.8.0
BUILDLINK_ABI_DEPENDS.lapack+= lapack>=3.8.0
BUILDLINK_PKGSRCDIR.lapack?= ../../wip/lapack-ng
.endif # LAPACK_BUILDLINK3_MK
BUILDLINK_TREE+= -lapack

6
lapack-ng/distinfo Normal file
View File

@ -0,0 +1,6 @@
$NetBSD: distinfo,v 1.21 2017/09/11 20:56:28 wiz Exp $
SHA1 (lapack-3.8.0.tar.gz) = 55ac9d6be510883c5442c8aca967722cdf58fb29
RMD160 (lapack-3.8.0.tar.gz) = ff306181c4c125e7594c57c1eeece8b0aa8f8523
SHA512 (lapack-3.8.0.tar.gz) = 17786cb7306fccdc9b4a242de7f64fc261ebe6a10b6ec55f519deb4cb673cb137e8742aa5698fd2dc52f1cd56d3bd116af3f593a01dcf6770c4dcc86c50b2a7f
Size (lapack-3.8.0.tar.gz) = 7426094 bytes