mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-05 06:33:50 +02:00
New package: lapack-3.5.0; supersedes liblapack
New (sub)package: blas-3.5.0; supersedes libBLAS
This commit is contained in:
parent
bc3ddf9ae0
commit
1cfb846ae6
10 changed files with 3707 additions and 0 deletions
|
@ -1711,3 +1711,5 @@ libpar2.so.1 libpar2-0.4_1
|
||||||
libsodium.so.13 libsodium-0.7.0_1
|
libsodium.so.13 libsodium-0.7.0_1
|
||||||
libstrophe.so.0 libstrophe-0.8.6_1
|
libstrophe.so.0 libstrophe-0.8.6_1
|
||||||
libganv-1.so.1 ganv-1.4.2_1
|
libganv-1.so.1 ganv-1.4.2_1
|
||||||
|
libblas.so.3 blas-3.5.0_1
|
||||||
|
liblapack.so.3 lapack-3.5.0_1
|
||||||
|
|
1
srcpkgs/blas
Symbolic link
1
srcpkgs/blas
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
lapack
|
1
srcpkgs/blas-devel
Symbolic link
1
srcpkgs/blas-devel
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
lapack
|
1
srcpkgs/blas-doc
Symbolic link
1
srcpkgs/blas-doc
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
lapack
|
1
srcpkgs/lapack-devel
Symbolic link
1
srcpkgs/lapack-devel
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
lapack
|
1
srcpkgs/lapack-doc
Symbolic link
1
srcpkgs/lapack-doc
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
lapack
|
1753
srcpkgs/lapack/files/Doxyfile_man.blas
Normal file
1753
srcpkgs/lapack/files/Doxyfile_man.blas
Normal file
File diff suppressed because it is too large
Load diff
1753
srcpkgs/lapack/files/Doxyfile_man.lapack
Normal file
1753
srcpkgs/lapack/files/Doxyfile_man.lapack
Normal file
File diff suppressed because it is too large
Load diff
71
srcpkgs/lapack/files/make.inc.template
Normal file
71
srcpkgs/lapack/files/make.inc.template
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
####################################################################
|
||||||
|
# LAPACK make include file. #
|
||||||
|
# LAPACK, Version 3.5.0 #
|
||||||
|
# November 2013 #
|
||||||
|
####################################################################
|
||||||
|
#
|
||||||
|
SHELL = /bin/sh
|
||||||
|
#
|
||||||
|
# Modify the FORTRAN and OPTS definitions to refer to the
|
||||||
|
# compiler and desired compiler options for your machine. NOOPT
|
||||||
|
# refers to the compiler options desired when NO OPTIMIZATION is
|
||||||
|
# selected. Define LOADER and LOADOPTS to refer to the loader and
|
||||||
|
# desired load options for your machine.
|
||||||
|
#
|
||||||
|
FORTRAN = gfortran
|
||||||
|
OPTS =
|
||||||
|
DRVOPTS = $(OPTS)
|
||||||
|
NOOPT =
|
||||||
|
LOADER = gfortran
|
||||||
|
LOADOPTS =
|
||||||
|
#
|
||||||
|
# Timer for the SECOND and DSECND routines
|
||||||
|
#
|
||||||
|
# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME
|
||||||
|
#TIMER = EXT_ETIME
|
||||||
|
# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_
|
||||||
|
# TIMER = EXT_ETIME_
|
||||||
|
# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME
|
||||||
|
TIMER = INT_ETIME
|
||||||
|
# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...)
|
||||||
|
# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME
|
||||||
|
# TIMER = INT_CPU_TIME
|
||||||
|
# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0
|
||||||
|
# TIMER = NONE
|
||||||
|
#
|
||||||
|
# Configuration LAPACKE: Native C interface to LAPACK
|
||||||
|
# To generate LAPACKE library: type 'make lapackelib'
|
||||||
|
# Configuration file: turned off (default)
|
||||||
|
# Complex types: C99 (default)
|
||||||
|
# Name pattern: mixed case (default)
|
||||||
|
# (64-bit) Data model: LP64 (default)
|
||||||
|
#
|
||||||
|
# CC is the C compiler, normally invoked with options CFLAGS.
|
||||||
|
#
|
||||||
|
CC = cc
|
||||||
|
CFLAGS =
|
||||||
|
#
|
||||||
|
# The archiver and the flag(s) to use when building archive (library)
|
||||||
|
# If you system has no ranlib, set RANLIB = echo.
|
||||||
|
#
|
||||||
|
ARCH = ar
|
||||||
|
ARCHFLAGS= cr
|
||||||
|
RANLIB = ranlib
|
||||||
|
#
|
||||||
|
# Location of the extended-precision BLAS (XBLAS) Fortran library
|
||||||
|
# used for building and testing extended-precision routines. The
|
||||||
|
# relevant routines will be compiled and XBLAS will be linked only if
|
||||||
|
# USEXBLAS is defined.
|
||||||
|
#
|
||||||
|
# USEXBLAS = Yes
|
||||||
|
XBLASLIB =
|
||||||
|
# XBLASLIB = -lxblas
|
||||||
|
#
|
||||||
|
# The location of the libraries to which you will link. (The
|
||||||
|
# machine-specific, optimized BLAS library should be used whenever
|
||||||
|
# possible.)
|
||||||
|
#
|
||||||
|
BLASLIB = ../../librefblas.a
|
||||||
|
LAPACKLIB = liblapack.a
|
||||||
|
TMGLIB = libtmglib.a
|
||||||
|
LAPACKELIB = liblapacke.a
|
123
srcpkgs/lapack/template
Normal file
123
srcpkgs/lapack/template
Normal file
|
@ -0,0 +1,123 @@
|
||||||
|
# Template file for 'lapack'
|
||||||
|
pkgname=lapack
|
||||||
|
version=3.5.0
|
||||||
|
revision=1
|
||||||
|
wrksrc="${pkgname}-${version}"
|
||||||
|
hostmakedepends="gcc-fortran doxygen"
|
||||||
|
replaces="liblapack>=0"
|
||||||
|
short_desc="Linear Algebra PACKage"
|
||||||
|
maintainer="Alessio Sergi <al3hex@gmail.com>"
|
||||||
|
homepage="http://www.netlib.org/lapack/"
|
||||||
|
license="3-clause-BSD"
|
||||||
|
distfiles="http://www.netlib.org/${pkgname}/${pkgname}-${version}.tgz"
|
||||||
|
checksum="9ad8f0d3f3fb5521db49f2dd716463b8fb2b6bc9dc386a9956b8c6144f726352"
|
||||||
|
|
||||||
|
pre_build() {
|
||||||
|
cp -f ${FILESDIR}/make.inc.template ${wrksrc}/make.inc
|
||||||
|
cp -f ${FILESDIR}/Doxyfile_man.blas ${wrksrc}/DOCS
|
||||||
|
cp -f ${FILESDIR}/Doxyfile_man.lapack ${wrksrc}/DOCS
|
||||||
|
}
|
||||||
|
|
||||||
|
do_build() {
|
||||||
|
export FC=gfortran
|
||||||
|
export FFLAGS=$CFLAGS
|
||||||
|
export FFLAGS_NOOPT=${CFLAGS/-O2/}
|
||||||
|
export OPTS="$FFLAGS -frecursive"
|
||||||
|
export NOOPT="$FFLAGS_NOOPT -O0 -frecursive"
|
||||||
|
export PICOPT="-fPIC"
|
||||||
|
|
||||||
|
# Build the shared blas library
|
||||||
|
make blaslib OPTS="$OPTS $PICOPT" NOOPT="$NOOPT $PICOPT"
|
||||||
|
mv librefblas.a libblas_pic.a
|
||||||
|
|
||||||
|
mkdir tmp
|
||||||
|
( cd tmp; ar x ../libblas_pic.a )
|
||||||
|
"$FC" -shared -Wl,-soname=libblas.so.${version%%.*} -o libblas.so.${version} tmp/*.o
|
||||||
|
ln -sf libblas.so.${version} libblas.so
|
||||||
|
rm -rf tmp
|
||||||
|
|
||||||
|
# Build the static blas library
|
||||||
|
make cleanlib
|
||||||
|
make blaslib OPTS="$OPTS" NOOPT="$NOOPT"
|
||||||
|
mv librefblas.a libblas.a
|
||||||
|
make cleanlib
|
||||||
|
|
||||||
|
# Build the shared lapack library
|
||||||
|
make lapacklib OPTS="$OPTS $PICOPT" NOOPT="$NOOPT $PICOPT"
|
||||||
|
mv liblapack.a liblapack_pic.a
|
||||||
|
|
||||||
|
mkdir tmp
|
||||||
|
( cd tmp; ar x ../liblapack_pic.a )
|
||||||
|
"$FC" -shared -Wl,-soname=liblapack.so.${version%%.*} -o liblapack.so.${version} tmp/*.o -L. -lblas
|
||||||
|
rm -rf tmp
|
||||||
|
|
||||||
|
# Build the static lapack library
|
||||||
|
make cleanlib
|
||||||
|
make lapacklib OPTS="$OPTS" NOOPT="$NOOPT"
|
||||||
|
|
||||||
|
# Build blas and lapack man pages
|
||||||
|
doxygen DOCS/Doxyfile_man.blas
|
||||||
|
doxygen DOCS/Doxyfile_man.lapack
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
for libname in libblas liblapack; do
|
||||||
|
vinstall ${libname}.a 644 usr/lib ${libname}.a
|
||||||
|
vinstall ${libname}.so.${version} 755 usr/lib ${libname}.so.${version}
|
||||||
|
done
|
||||||
|
vlicense LICENSE
|
||||||
|
}
|
||||||
|
|
||||||
|
post_install() {
|
||||||
|
for libname in libblas liblapack; do
|
||||||
|
ln -sf ${libname}.so.${version} ${DESTDIR}/usr/lib/${libname}.so
|
||||||
|
ln -sf ${libname}.so.${version} ${DESTDIR}/usr/lib/${libname}.so.${version%%.*}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
lapack-devel_package() {
|
||||||
|
depends="${sourcepkg}>=${version}_${revision}"
|
||||||
|
short_desc+=" - development files"
|
||||||
|
pkg_install() {
|
||||||
|
vmove usr/lib/liblapack.a
|
||||||
|
vmove usr/lib/liblapack.so
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
lapack-doc_package() {
|
||||||
|
noarch=yes
|
||||||
|
depends="${sourcepkg}>=${version}_${revision}"
|
||||||
|
short_desc+=" - documentation"
|
||||||
|
pkg_install() {
|
||||||
|
vmkdir usr/share
|
||||||
|
vcopy ${wrksrc}/DOCS/lapack/man usr/share
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
blas_package() {
|
||||||
|
replaces="libBLAS>=0"
|
||||||
|
short_desc+=" - BLAS (Basic Linear Algebra Subprograms) library"
|
||||||
|
pkg_install() {
|
||||||
|
vmove usr/lib/libblas.so.*
|
||||||
|
vlicense ${wrksrc}/LICENSE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
blas-devel_package() {
|
||||||
|
depends="blas>=${version}_${revision}"
|
||||||
|
short_desc+=" - BLAS development files"
|
||||||
|
pkg_install() {
|
||||||
|
vmove usr/lib/libblas.a
|
||||||
|
vmove usr/lib/libblas.so
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
blas-doc_package() {
|
||||||
|
noarch=yes
|
||||||
|
depends="blas>=${version}_${revision}"
|
||||||
|
short_desc+=" - BLAS documentation"
|
||||||
|
pkg_install() {
|
||||||
|
vmkdir usr/share
|
||||||
|
vcopy ${wrksrc}/DOCS/blas/man usr/share
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue