Info4: <<
Package: lapack361-shlibs
Distribution: 10.9, 10.10, 10.11, 10.12, 10.13, 10.14, 10.14.5
Version: 3.6.1
Revision: 5
# FTBFS with gcc11
Type: gcc (9)
Description: Reference L_APACK and BLAS libraries
DescDetail: <<
This package provides a reference implementation of the LAPACK and BLAS 
libraries (as opposed to the optimized implementations from ATLAS or 
Accelerate.framework).
<<
DescUsage: <<
This package contains the shared libraries.  

The libraries have been renamed to avoid collisions with their
counterparts from atlas, libblas.{a,dylib} -> librefblas.{a,dylib} and 
liblapack.{a,dylib} -> libreflapack.{a.dylib}.

This package is an old version, of which we are keeping only the
runtime (binary) libraries to avoid breaking existing builds of other
packages that had linked to them.
<<
Maintainer: None <fink-devel@lists.sourceforge.net>
Homepage: http://www.netlib.org/lapack/

BuildDepends: gcc%type_pkg[gcc]-compiler
Depends: gcc%type_pkg[gcc]-shlibs
Conflicts: lapack361 (<< 3.6.1-4)
Replaces: lapack361 (<< 3.6.1-4)

Source: http://www.netlib.org/lapack/lapack-%v.tgz
Source-Checksum: SHA256(888a50d787a9d828074db581c80b2d22bdb91435a673b1bf6cd6eb51aa50d1de)

PatchScript: <<
#!/bin/sh -ev
if [ "%m" = "x86_64" ] 
	then m='-m64'
	else m='-m32'
fi
perl -p -e "	s/gfortran/gfortran-fsf-%type_raw[gcc]/ ; \
				s/(^OPTS\s+=\s+).*/\1-O2 -fimplicit-none -funroll-loops -fPIC $m/ ; \
				s/gcc/gcc-fsf-%type_raw[gcc]/" \
													< make.inc.example > make.inc
perl -pi -e '	s,\@CMAKE_INSTALL_PREFIX\@,%p,; \
				s,\@CMAKE_INSTALL_LIBDIR\@,lib/lapack/%v, ; \
				s,\@LAPACK_VERSION\@,%v, ; \
				s,-llapack,-lreflapack,' 			< lapack.pc.in > lapack.pc
perl -pi -e '	s,\@prefix\@,%p,; \
				s,\@libdir\@,%p/lib/lapack/%v, ; \
				s,\@LAPACK_VERSION\@,%v,' 			< LAPACKE/lapacke.pc.in > lapacke.pc
perl -pi -e '	s,\@CMAKE_INSTALL_PREFIX\@,%p,; \
				s,\@CMAKE_INSTALL_LIBDIR\@,lib/lapack/%v, ; \
				s,\@LAPACK_VERSION\@,%v, ; \
				s,-lblas,-lrefblas,' 				< BLAS/blas.pc.in > blas.pc
mkdir -p SRC/VARIANTS/LIB
<<

CompileScript: <<
	#!/bin/sh -ev
	/usr/bin/make blaslib 
	/usr/bin/make variants 
	/usr/bin/make lapackelib
	/usr/bin/make lib 
	/usr/bin/make lapack_install
	# build dylibs the old-fashioned way
	# do librefblas first
	if [ "%m" = "x86_64" ] 
		then m='-m64 '
		else m='-m32 '
	fi
	compilerlib="-L%p/lib/gcc%type_raw[gcc]/lib -lgfortran"
	gfc='gfortran-fsf-%type_raw[gcc] -O2 -fimplicit-none -funroll-loops -fPIC -fno-common '$m
	ldf='-Wl,-dead_strip_dylibs -dynamiclib -single_module -install_name '
	gccc='gcc -O3 -Wl,-dead_strip_dylibs -dynamiclib -single_module -fno-common '$m'-install_name '
	TMP=`/usr/bin/mktemp -d %b/lap.XXXXXX` || exit 1
	pushd $TMP
	ar -x ../librefblas.a
	$gfc $ldf %p/lib/lapack/%v/librefblas.dylib  $compilerlib *.o -o ../librefblas.dylib
	popd
	TMP=`/usr/bin/mktemp -d %b/lap.XXXXXX` || exit 1
	pushd $TMP
	ar -x ../liblapack.a
	$gfc $ldf %p/lib/lapack/%v/libreflapack.dylib  $compilerlib %b/librefblas.dylib *.o -o ../libreflapack.dylib
	popd
	TMP=`/usr/bin/mktemp -d %b/lap.XXXXXX` || exit 1
	pushd $TMP
	ar -x ../libtmglib.a
	$gfc $ldf %p/lib/lapack/%v/libtmglib.dylib  $compilerlib %b/librefblas.dylib %b/libreflapack.dylib *.o -o ../libtmglib.dylib
	popd
	pushd $TMP
	ar -x ../liblapacke.a
	$gccc %p/lib/lapack/%v/liblapacke.dylib  $compilerlib %b/libreflapack.dylib %b/librefblas.dylib *.o -o ../liblapacke.dylib
	popd
	for statlib in SRC/VARIANTS/LIB/*.a ; do
		dynlib=lib`basename $statlib .a`.dylib
		instname=%p/lib/lapack/%v/$dynlib
		TMP=`/usr/bin/mktemp -d %b/lap.XXXXXX` || exit 1
		pushd $TMP
		ar -x ../$statlib
		$gfc $ldf $instname $compilerlib %b/librefblas.dylib %b/libreflapack.dylib *.o  -o %b/$dynlib 
		popd
	done
<<

InfoTest: TestScript: /usr/bin/make -j1 blas_testing lapack_testing variants_testing || exit 2

InstallScript: <<
	#!/bin/sh -ev
	install -d %i/lib/lapack/%v
	install *.dylib %i/lib/lapack/%v
<<

# not using %v here for subdir to avoid forgetting to update it each time
Shlibs: <<
	%p/lib/lapack/3.6.1/libcholrl.dylib 0.0.0 %n (>=3.6.1-1)
	%p/lib/lapack/3.6.1/libcholtop.dylib 0.0.0 %n (>=3.6.1-1)
	%p/lib/lapack/3.6.1/libreflapack.dylib 0.0.0 %n (>=3.6.1-1)
	%p/lib/lapack/3.6.1/liblapacke.dylib 0.0.0 %n (>=3.6.1-1)
	%p/lib/lapack/3.6.1/liblucr.dylib 0.0.0 %n (>=3.6.1-1)
	%p/lib/lapack/3.6.1/liblull.dylib 0.0.0 %n (>=3.6.1-1)
	%p/lib/lapack/3.6.1/liblurec.dylib 0.0.0 %n (>=3.6.1-1)
	%p/lib/lapack/3.6.1/libqrll.dylib 0.0.0 %n (>=3.6.1-1)
	%p/lib/lapack/3.6.1/librefblas.dylib 0.0.0 %n (>=3.6.1-1)
	%p/lib/lapack/3.6.1/libtmglib.dylib 0.0.0 %n (>=3.6.1-1)
<<
DocFiles: LICENSE DOCS/lapacke.pdf SRC/VARIANTS/README:README.variants
License: BSD

<<