Info4: << Package: lapack350-shlibs # linear-algebra-ref-octXXX is the last remaining reverse-depends # of this old libversion (looks hard to convert) Version: 3.5.0 Revision: 10 # 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). << DescPackaging: << Some deprecated functions from lapack350 were removed in later versions, so we might need to keep this newest old-version for a while to support packages that are difficult to migrate (or else re-add those symbols to the current lapackXXX). << Maintainer: None Homepage: http://www.netlib.org/lapack/ BuildDepends: gcc%type_pkg[gcc]-compiler Depends: gcc%type_pkg[gcc]-shlibs Source: http://www.netlib.org/lapack/lapack-%v.tgz Source-Checksum: SHA256(9ad8f0d3f3fb5521db49f2dd716463b8fb2b6bc9dc386a9956b8c6144f726352) 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,\@prefix\@,%p,; \ s,\@libdir\@,%p/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,\@prefix\@,%p,; \ s,\@libdir\@,%p/lib/lapack/%v, ; \ s,\@LAPACK_VERSION\@,%v, ; \ s,-lblas,-lrefblas,' < BLAS/blas.pc.in > blas.pc << 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/pkgconfig install -d %i/include install -d %i/include/lapack install *.pc %i/lib/lapack/pkgconfig install -d %i/lib/lapack/%v install *.dylib %i/lib/lapack/%v install *.a %i/lib/lapack install SRC/VARIANTS/LIB/*.a %i/lib/lapack mv %i/lib/lapack/liblapack.a %i/lib/lapack/libreflapack.a install LAPACKE/include/*.h %i/include/lapack << # not using %v here for subdir to avoid forgetting to update it each time Shlibs: << %p/lib/lapack/3.5.0/libcholrl.dylib 0.0.0 %n (>=3.5.0-10) %p/lib/lapack/3.5.0/libcholtop.dylib 0.0.0 %n (>=3.5.0-10) %p/lib/lapack/3.5.0/libreflapack.dylib 0.0.0 %n (>=3.5.0-10) %p/lib/lapack/3.5.0/liblapacke.dylib 0.0.0 %n (>=3.5.0-10) %p/lib/lapack/3.5.0/liblucr.dylib 0.0.0 %n (>=3.5.0-10) %p/lib/lapack/3.5.0/liblull.dylib 0.0.0 %n (>=3.5.0-10) %p/lib/lapack/3.5.0/liblurec.dylib 0.0.0 %n (>=3.5.0-10) %p/lib/lapack/3.5.0/libqrll.dylib 0.0.0 %n (>=3.5.0-10) %p/lib/lapack/3.5.0/librefblas.dylib 0.0.0 %n (>=3.5.0-10) %p/lib/lapack/3.5.0/libtmglib.dylib 0.0.0 %n (>=3.5.0-10) << DocFiles: LICENSE DOCS/lapacke.pdf SRC/VARIANTS/README:README.variants License: BSD Splitoff: << Package: lapack350 BuildDependsOnly: true Depends: %N (= %v-%r) Conflicts: << lapack350, lapack360, lapack361, lapack371, lapack380, lapack3 << Replaces: << lapack350, lapack360, lapack361, lapack371, lapack380, lapack3 << Files: include lib/lapack/*.a lib/lapack/pkgconfig DocFiles: LICENSE DOCS/lapacke.pdf SRC/VARIANTS/README:README.variants DescUsage: << This package contains the static libraries and pkgconfig files, as well as the LAPACKE headers. 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} and are buried in a lapack/ subdir to avoid being detected automatically. To use the static libraries, you can specify e.g. LAPACK_LIBS="-L%p/lib/lapack -lrefblas -lreflapack" To use the shared libraries, you can either specify e.g. LAPACK_LIBS="-L%p/lib/lapack/%v -lrefblas -lreflapack" or use e.g. export PKG_CONFIG_PATH=%p/lib/lapack/pkgconfig:$PKG_CONFIG_PATH LAPACK_LIBS="`pkg-config --libs lapack`" The documentation is mostly installed by the atlas-doc package. << << <<