Author: arekm Date: Wed Jun 29 19:34:39 2005 GMT Module: SPECS Tag: HEAD ---- Log message: - more work; leaving as is
---- Files affected: SPECS: atlas.spec (1.1 -> 1.2) ---- Diffs: ================================================================ Index: SPECS/atlas.spec diff -u SPECS/atlas.spec:1.1 SPECS/atlas.spec:1.2 --- SPECS/atlas.spec:1.1 Wed Jun 29 19:54:38 2005 +++ SPECS/atlas.spec Wed Jun 29 21:34:33 2005 @@ -1,17 +1,20 @@ # $Revision$, $Date$ +# TODO: +# - missing BR/R? +# - disable altivec/3dnow autodetection - force values from spec +# - fix for other arches +# - deal with -fPIC to get shared libs Summary: The atlas libraries for numerical linear algebra Summary(pl): Biblioteki numeryczne atlas do algebry liniowej Name: atlas Version: 3.7.10 -Release: 1 -License: freely distributable +Release: 0.1 +License: BSD Group: Development/Libraries Source0: http://dl.sourceforge.net/math-atlas/%{name}%{version}.tar.bz2 # Source0-md5: c24aa9f676122fe6331fa63dd88c4113 URL: http://math-atlas.sourceforge.net/ -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: libtool >= 1:1.4.2-9 +BuildRequires: expect BuildRequires: gcc-g77 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -27,8 +30,6 @@ Summary(pl): Pliki nagłówkowe atlas Group: Development/Libraries Requires: %{name} = %{version} -Requires: blas-devel = %{version} -Obsoletes: lapack-man %description devel atlas header files. @@ -48,56 +49,6 @@ %description static -l pl Biblioteki statyczne atlas. -%package -n blas -Summary: The BLAS (Basic Linear Algebra Subprograms) library for Linux -Summary(pl): Biblioteka BLAS (Basic Linear Algebra Subprograms) dla Linuksa -Group: Development/Libraries -Obsoletes: lapack-blas - -%description -n blas -BLAS (Basic Linear Algebra Subprograms) is a standard library for -numerical algebra. BLAS provides a number of basic algorithms for -linear algebra. BLAS is fast and well-tested, was written in FORTRAN -77. - -Warning: this is a reference implementation from Netlib. If possible, -use version optimized for your architecture instead. - -%description -n blas -l pl -BLAS (Basic Linear Algebra Subprograms) jest standardową biblioteką -numeryczną algebry. Dostarcza wiele podstawowych algorytmów dla -algebry liniowej. Jest szybka i dobrze przetestowana, została napisana -w Fortranie 77. - -Ostrzeżenie: to jest implementacja przykładowa z repozytorium Netlib. -Jeżeli to możliwe, należy używać zamiast niej wersji zoptymalizowanej -pod daną architekturę. - -%package -n blas-devel -Summary: BLAS header files -Summary(pl): Pliki nagłówkowe BLAS -Group: Development/Libraries -Requires: blas = %{version} -Obsoletes: blas-man - -%description -n blas-devel -BLAS header files. - -%description -n blas-devel -l pl -Pliki nagłówkowe BLAS. - -%package -n blas-static -Summary: Static BLAS libraries -Summary(pl): Biblioteki statyczne BLAS -Group: Development/Libraries -Requires: blas-devel = %{version} - -%description -n blas-static -Static BLAS libraries. - -%description -n blas-static -l pl -Biblioteki statyczne BLAS. - %prep %setup -q -n ATLAS @@ -111,7 +62,10 @@ while {\$finished == 0} { set timeout 120 expect { - -nocase {Enter number at top left of screen} {send "99\n"} +%ifarch %{x8664} sparc64 + -nocase {Enter bit number \[2\]:} {send "2\n"} +%endif + -nocase {Enter number at top left of screen} {send "25\n"} -nocase {Have you scoped the errata file\?} {send "y\n"} -nocase {Are you ready to continue\?} {send "y\n"} -nocase {Enter machine number \[2\]: } {send "1\n"} @@ -119,7 +73,7 @@ -nocase {enable Posix threads support\?} {send "y\n"} -nocase {use express setup\?} {send "y\n"} -nocase -indices -re {Enter Architecture name \(ARCH\) \[(.*)\]} - {global arch; set arch Linux_PPCGP; send "Linux_PPCGP\n"} + {global arch; set arch \$expect_out(1,string); send "\$arch\n"} -nocase {overwrite it\?} {send "y\n"} -nocase {Enter File creation delay in seconds} {send "0\n"} @@ -153,27 +107,81 @@ #file copy -force Make.\$arch Make.Linux exit EOF - make xconfig - expect -f config.expect - rm -f config.expect +%{__make} xconfig +expect -f config.expect +rm -f config.expect + +mksolib() { + #set -x + lib=$1 + mode=$2 + v=$3 + so=$4 + rm -f lib$lib.a + ar ruv lib$lib.a *.o + if [ -r *.lo ]; then + ar ruv lib$lib.a *.lo + fi + %{__cc} -shared -Wl,-soname,lib${lib}.so.${so} -Wl,--whole-archive -L. -l${lib} -Wl,--no-whole-archive -o lib${lib}.so.${v} + ln -s lib${lib}.so.${v} lib${lib}.so.${so} + ln -s lib${lib}.so.${v} lib${lib}.so + rm -f *.o *.lo +} + +%ifarch %{x8664} sparc64 +OBJECT_MODE=64 +%else +OBJECT_MODE=32 +%endif +export OBJECT_MODE + +arch=$(ls -1 Make.Linux* | sed -e 's#^Make\.##g') + +%{__make} install \ + CC="%{__cc}" \ + arch=${arch} + +install -d lib/${arch}/shared +cd lib/${arch}/shared +libs="atlas cblas f77blas lapack tstatlas" + +for lib in `echo ${libs} | xargs`; do + case "$lib" in + "lapack") + lib=atllapack + ;; + "cblas") + lib=atlcblas + ;; + esac + echo $lib + ar x ../lib${lib}.a + mksolib ${lib} ${OBJECT_MODE} 1.1 1 + mv *.so* ../ + mv *.a ../ +done +cd ../../../ +rm -rf lib/${arch}/shared %install rm -rf $RPM_BUILD_ROOT -%{__make} install DESTDIR=$RPM_BUILD_ROOT +arch=$(ls -1 Make.Linux* | sed -e 's#^Make\.##g') -# present both in blas and lapack -rm -f man/manl/{lsame,xerbla}.l +install -d $RPM_BUILD_ROOT{%{_includedir}/%{name},%{_libdir}} -install -d $RPM_BUILD_ROOT%{_mandir}/man3 -for d in man/manl/*.l blas/man/manl/*.l ; do - install $d $RPM_BUILD_ROOT%{_mandir}/man3/`basename $d .l`.3 +libs="atlas cblas f77blas lapack tstatlas" + +cd lib/${arch}/ +for lib in `echo ${libs} | xargs`; do + install lib${lib}.a $RPM_BUILD_ROOT%{_libdir} + install lib${lib}.so.1.1 $RPM_BUILD_ROOT%{_libdir} + ln -s lib${lib}.so.1.1 $RPM_BUILD_ROOT%{_libdir}/lib${lib}.so done +cd ../../ + +cp -a include/* $RPM_BUILD_ROOT%{_includedir}/%{name} -echo "%defattr(644, root, root, 755)" > blasmans.list -find blas/man/manl -name "*.l" -printf "%{_mandir}/man3/%%f\n" | sed 's/\.l/.3*/' >> blasmans.list -echo "%defattr(644, root, root, 755)" > mans.list -find man/manl -name "*.l" -printf "%{_mandir}/man3/%%f\n" | sed 's/\.l/.3*/' >> mans.list %clean rm -fr $RPM_BUILD_ROOT @@ -181,35 +189,19 @@ %post -p /sbin/ldconfig %postun -p /sbin/ldconfig -%post -n blas -p /sbin/ldconfig -%postun -n blas -p /sbin/ldconfig - %files %defattr(644,root,root,755) -%doc README -%attr(755,root,root) %{_libdir}/liblapack.so.*.*.* +%doc doc/* +%attr(755,root,root) %{_libdir}/lib*.so.* -%files devel -f mans.list +%files devel %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/liblapack.so -%{_libdir}/liblapack.la +%attr(755,root,root) %{_libdir}/lib*.so +%{_includedir}/%{name} %files static %defattr(644,root,root,755) -%{_libdir}/liblapack.a - -%files -n blas -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libblas.so.*.*.* - -%files -n blas-devel -f blasmans.list -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libblas.so -%{_libdir}/libblas.la - -%files -n blas-static -%defattr(644,root,root,755) -%{_libdir}/libblas.a +%{_libdir}/lib*.a %define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`) %changelog @@ -217,101 +209,8 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.2 2005/06/29 19:34:33 arekm +- more work; leaving as is + Revision 1.1 2005/06/29 17:54:38 arekm - very raw/broken/nfy version - -Revision 1.26 2004/11/29 11:42:41 ankry -- formatting, pl - -Revision 1.25 2004/11/29 11:10:14 roman -- changed Description for blas (added a warning that this is an unoptimized version) - -Revision 1.24 2003/11/25 10:28:54 averne -- r18 - -Revision 1.23 2003/05/28 12:59:25 malekith -- massive attack: source-md5 - -Revision 1.22 2003/05/25 05:49:39 misi3k -- massive attack s/pld.org.pl/pld-linux.org/ - -Revision 1.21 2002/12/25 21:41:54 qboosh -- added *.la to *-devel -- use fixed libtool instead of hacking *.la - -Revision 1.20 2002/10/09 13:14:36 kloczek -- use more macros, some cosmetics, added missing "rm -f missing" and use new %doc - -Revision 1.19 2002/06/11 06:19:30 kloczek -- bump release to 17. - -Revision 1.18 2002/06/09 16:17:03 qboosh -- changed automake_support patch to work with both libtool 1.4.2 and 1.4d -- lapack-devel Requires: blas-devel -- removed conflicting man pages from lapack-devel (already in blas-devel) -- simplified %%prep, new %%doc -- release 14 - -Revision 1.17 2002/05/21 23:13:42 kloczek -perl -pi -e "s/^automake -a -c -f --foreing/\%\{__automake\}/; \ - s/^automake -a -c -f/\%\{__automake\}/; \ - s/^autoconf/\%\{__autoconf\}/" - -Revision 1.16 2002/04/05 15:26:38 roman -s/Freely/freely in License - -Revision 1.15 2002/02/23 03:26:00 kloczek -- adapterized. - -Revision 1.14 2002/02/22 23:29:09 kloczek -- removed all Group fields translations (oure rpm now can handle translating - Group field using gettext). - -Revision 1.13 2002/01/18 02:13:36 kloczek -perl -pi -e "s/[EMAIL PROTECTED]/[EMAIL PROTECTED]/" - -Revision 1.12 2001/12/15 21:29:01 kloczek -- release 13: added 20010525 patch with lapack updates. - -Revision 1.11 2001/10/10 18:38:00 qboosh -- libtool 1.4.x ready -- renamed man pages: manl/*.l to man3/*.3 - -Revision 1.10 2001/09/26 11:51:05 qboosh -- BuildRequires: autoconf, automake, libtool, ed -- pl translations, some fixes in English summaries/descriptions -- release 3 - -Revision 1.9 2001/07/18 19:51:11 kloczek -- merge man into devel subpackages. - -Revision 1.8 2001/07/18 11:22:46 wiget -libtool 1.4b workarounds - -Revision 1.7 2000/11/13 08:30:58 qboosh -- BuildRequires: gcc-g77 - -Revision 1.6 2000/07/26 21:36:47 kloczek -- fixed Source urls. - -Revision 1.5 2000/07/25 21:11:04 klakier -- removed config.h.in manual creation (it is autoheader's job) -- Requires: blas - -Revision 1.4 2000/07/25 20:56:54 klakier -- fixed libblas perms - -Revision 1.3 2000/07/25 16:40:23 klakier -- split to devel and static subpackages - -Revision 1.2 2000/07/25 16:32:04 klakier -- added building libraries using automake/autoconf -- PLD adapted - -Revision 1.1 2000/07/24 22:40:52 klakier -- adapterized from rh powertools spec - -* Wed Jan 19 2000 Tim Powers <[EMAIL PROTECTED]> -- bzipped sources to conserve space - -Based on spec file from RedHat. ================================================================ ---- CVS-web: http://cvs.pld-linux.org/SPECS/atlas.spec?r1=1.1&r2=1.2&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
