File lam.spec of Package lam

#
# spec file for package lam (Version 7.1.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#



Name:           lam
BuildRequires:  gcc-c++ gcc-fortran gmp-devel
%define _sysconfdir /etc/lam
%define _romiodocdir /usr/share/lam/doc
# Other values may be passed in via:
#
# rpmbuild -define 'config_args ...'
#
# where "..." may be replaced with anything extra to pass to
# configure.  See conditionalbuilds(3) man page (note the
# misspelling!) for more details.
#
# Values specified here are what are used if the user does not pass in
# any defaults.
%{!?config_options: %define config_options ""}
%{!?rpi: %define rpi --with-rpi=usysv}
Summary:        Local Area Multicomputer
Version:        7.1.4
Release:        46
License:        Other uncritical OpenSource License
Group:          Development/Libraries/Parallel
Url:            http://www.lam-mpi.org/
Source:         http://www.lam-mpi.org/download/files/lam-%{version}.tar.bz2
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Requires:       openssh
Provides:       mpi
#Conflicts:    mpich mpich2
Patch:          lam-7.1.1_no_darwin.patch
Patch1:         lam-7.1.2_strncat_usage.patch
Patch2:         lam-7.1.4_gcc43_building.patch

%description 
LAM (Local Area Multicomputer) is an MPI programming environment and
development system for heterogeneous computers on a network. With LAM,
a dedicated cluster or an existing network computing infrastructure can
act as one parallel computer solving one problem.

LAM features extensive debugging support in the application development
cycle and peak performance for production applications. LAM also
features a full implementation of the MPI (Message Passing Interface)
communication standard.  The documentation is installed in
/usr/share/doc/packages/lam/.



Authors:
--------
    The LAM Team	<llamas@mpi.nd.edu>

%package devel
License:        Other uncritical OpenSource License
Requires:       lam = %{version}
Conflicts:      mpich-manpages
Summary:        Local Area Multicomputer
Group:          Development/Libraries/Parallel
Obsoletes:      lamman lam-manpages
Provides:       lamman lam-manpages
Requires:       glibc-devel libstdc++-devel

%description devel
LAM (Local Area Multicomputer) is an MPI programming environment and
development system for heterogeneous computers on a network. With LAM,
a dedicated cluster or an existing network computing infrastructure can
act as one parallel computer solving one problem.

LAM features extensive debugging support in the application development
cycle and peak performance for production applications. LAM features a
full implementation of the MPI (Message Passing Interface)
communication standard.  The documentation will be installed in

/usr/share/doc/packages/lam/



Authors:
--------
    The LAM Team	<llamas@mpi.nd.edu>

%prep
%setup -q
%patch
%patch1
%patch2

%build
autoreconf -fi
export F77=gfortran
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure \
    %{rpi} \
    --with-purify \
    --enable-shared \
    --with-rsh="%{_bindir}/ssh -x"
make %{?jobs:-j%jobs} all

%install
%makeinstall
for file in README README_LAM COPYRIGHT; do
	mv romio/$file romio/romio-$file
done
mv romio/doc/users-guide.ps.gz romio/doc/romio-users-guide.ps.gz
rm -f %{buildroot}%{_datadir}/lam/lam-shell-setup.sh
rm -f %{buildroot}%{_datadir}/lam/lam-shell-setup.csh
rm -f %{buildroot}%{_datadir}/lam/lam_module.tcl
rm -f %{buildroot}%{_mandir}/man1/wipe.1*
# Turn  off the  x bit  on the  totalview shared  library so  that rpm
# doesn't strip it.  #$%@#$%!!!
%ifarch %ix86 ppc s390 %arm
chmod a-x %{buildroot}%{_libdir}/lam/liblam_totalview*so
%endif
rm -f %{buildroot}%{_bindir}/wipe
find examples -name ".deps" | xargs rm -rfv

%clean
rm -rf %{buildroot}

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc LICENSE HISTORY INSTALL README
%doc doc/*.pdf
%doc examples
%doc %{_romiodocdir}
%config %{_sysconfdir}
%{_bindir}/hboot
%{_bindir}/lamboot
%{_bindir}/lamclean
%{_bindir}/lamd
%{_bindir}/lamhalt
%{_bindir}/laminfo
%{_bindir}/lamnodes
%{_bindir}/lamwipe
%{_bindir}/mpirun
%{_bindir}/recon
%{_bindir}/tkill
%{_bindir}/tping
%dir %{_libdir}/lam
%ifarch %ix86 ppc s390 %arm
%{_libdir}/lam/*
%endif
%{_mandir}/man1/*
%{_mandir}/man5/*
%{_mandir}/man7/*
%dir %{_mandir}/mans
%{_mandir}/mans/*
%{_bindir}/lamgrow
%{_bindir}/lamexec
%{_bindir}/lamshrink
%{_bindir}/lamtrace
%{_bindir}/lamcheckpoint
%{_bindir}/lamrestart
%{_bindir}/mpiexec
%{_bindir}/mpimsg
%{_bindir}/mpitask
%dir /usr/share/lam
%{_libdir}/liblam.so.0
%{_libdir}/liblam.so.0.0.0
%{_libdir}/liblamf77mpi.so.0
%{_libdir}/liblamf77mpi.so.0.0.0
%{_libdir}/liblammpi++.so.0
%{_libdir}/liblammpi++.so.0.0.0
%{_libdir}/libmpi.so.0
%{_libdir}/libmpi.so.0.0.0

%files devel
%defattr(-,root,root)
%{_bindir}/hcc
%{_bindir}/hcp
%{_bindir}/hf77
%{_bindir}/mpiCC
%{_bindir}/mpic++
%{_bindir}/mpicc
%{_bindir}/mpif77
%{_includedir}/*
%{_mandir}/man3/*
%{_libdir}/liblam.a
%{_libdir}/liblam.la
%{_libdir}/liblam.so
%{_libdir}/liblamf77mpi.a
%{_libdir}/liblamf77mpi.la
%{_libdir}/liblamf77mpi.so
%{_libdir}/liblammpi++.a
%{_libdir}/liblammpi++.la
%{_libdir}/liblammpi++.so
%{_libdir}/liblammpio.a
%{_libdir}/libmpi.a
%{_libdir}/libmpi.la
%{_libdir}/libmpi.so

%changelog
* Fri May 09 2008 schwab@suse.de
- Use autoreconf -fi.
* Fri Nov 09 2007 mrueckert@suse.de
- added lam-7.1.4_gcc43_building.patch:
  fix the signature of main() in the configure checks
* Mon Aug 06 2007 mrueckert@suse.de
- update to 7.1.4:
  tons of bug fixes. see /usr/share/doc/packages/lam/HISTORY
- enabled purify
* Wed May 23 2007 dmueller@suse.de
- add ldconfig falls to %%post/%%postun
* Tue Jan 23 2007 mrueckert@suse.de
- added lam-7.1.2_strncat_usage.patch:
  fix potential buffer overflows.
* Fri Oct 20 2006 mrueckert@suse.de
- update to 7.1.2:
  tons of bug fixes.
- enabled shared libraries and moved static libs/la files into
  the devel package
* Tue Mar 28 2006 mrueckert@suse.de
- removed APSL licensed files
- added lam-7.1.1_no_darwin.patch:
  removed references to files in the build system
- cleaned up %%build/%%install
* Sat Feb 18 2006 ro@suse.de
- cleanup docs (remove .deps)
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Sat Jan 14 2006 kukuk@suse.de
- Add gmp-devel to nfb
* Wed Dec 21 2005 ro@suse.de
- remove unpackaged symlink /usr/bin/wipe
* Tue Nov 15 2005 uli@suse.de
- fixed to build on ARM
* Mon May 09 2005 ro@suse.de
- find new fortran
* Tue Apr 26 2005 nashif@suse.de
- Remove conflict to mpich (#66558)
* Tue Jan 25 2005 nashif@suse.de
- dont install deprecated man page for wipe
- remove modules file
* Mon Jan 24 2005 nashif@suse.de
- Update tp 7.1.1
* Tue Sep 14 2004 nashif@suse.de
- Update to 7.0.6
* Mon Aug 16 2004 ro@suse.de
- neededforbuild: follow rename of environment-modules to Modules
* Wed Jul 28 2004 bg@suse.de
- fix build for hppa
* Sat Apr 24 2004 nashif@suse.de
- Added -fno-strict-aliasing to CFLAGS
* Fri Feb 27 2004 nashif@suse.de
- update to 7.0.4
- updated docs
* Sat Jan 10 2004 adrian@suse.de
- add %%defattr
* Sat Oct 04 2003 nashif@suse.de
- Update to 7.0.2
* Wed Jul 02 2003 nashif@suse.de
- Update to 7.0 final
- Fix for various architectures
* Thu Jun 12 2003 nashif@suse.de
- Added created dirs to file list
* Thu May 29 2003 nashif@suse.de
- Update to 7.0b13
- Fix file list
* Thu May 22 2003 nashif@suse.de
- Update to 7.0b12, final following soon
* Thu Jan 30 2003 nashif@suse.de
- Update to version 6.5.9
* Thu Jan 16 2003 ro@suse.de
- fixed errno issues
* Thu Nov 14 2002 nashif@suse.de
- Update to version 6.5.8
* Sun Aug 04 2002 nashif@suse.de
- moved to /opt
- add module file
* Fri Feb 01 2002 nashif@suse.de
- Update to 6.5.6
* Wed Sep 05 2001 nashif@suse.de
- Added lam61.doc.pdf (Bug #10197)
* Wed Aug 01 2001 nashif@suse.de
- Update to version 6.5.4
* Fri Jul 20 2001 nashif@suse.de
- Update to new version 6.5.3
* Thu Jun 28 2001 nashif@suse.de
- Update to new version 6.5.2
* Thu Apr 05 2001 nashif@suse.de
- Added  --with-trillium to allow building of lam utility
  packages (xmpi, xmtv)
* Thu Apr 05 2001 nashif@suse.de
- Update to 6.5.1
* Tue Apr 03 2001 nashif@suse.de
- Update to version 6.5
* Thu Mar 15 2001 nashif@suse.de
- Use fpic for ia64
* Wed Mar 07 2001 ro@suse.de
- nkitb -> rsh
* Wed Mar 07 2001 nashif@suse.de
- Added nkitb to neededforbuild
* Sat Jan 20 2001 schwab@suse.de
- Add %%suse_update_config.
- Fix use of va_arg.
* Thu Nov 16 2000 nashif@suse.de
- Changed sup-package name lamman -> lam-manpages
- Spec cleanup
* Thu May 11 2000 nashif@suse.de
- Spec cleanup
- Now all files reside in /usr/lib/lam to avoid conflicts with other MPIs
* Fri Apr 07 2000 nashif@suse.de
- Update to 6.3.2
* Tue Jan 25 2000 uli@suse.de
- tprint.c: fixed misuse of va_arg macro
* Mon Jan 10 2000 nashif@suse.de
- Update to 6.3.1
* Sat Nov 27 1999 nashif@suse.de
-  Updated to 6.3
* Sun Nov 07 1999 nashif@suse.de
- Added g77 to requires
	- fixed a broken symbol link
	- misc minor fixes
* Sat Nov 06 1999 nashif@suse.de
- Add Conflicts: lam to spec
* Mon Nov 01 1999 nashif@suse.de
- Updated to version lam62b-p15
* Wed Oct 13 1999 nashif@suse.de
- Fixed symbolic links to be relative
* Thu Sep 30 1999 nashif@suse.de
- added --without-shortcircuit to configure to bypass
  problems with blacs and scalapack
	- Made LAM coexist with MPICH
	- seperated MAN pages from main package
	- common files with MPICH have the ending _lam
	- wipe is now lamwipe to avoid conflict with other packages
* Tue Sep 28 1999 nashif@suse.de
- update to lam62b-p14
* Mon Sep 13 1999 bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Thu Mar 18 1999 werner@suse.de
- update to lam62b
* Tue Oct 06 1998 ro@suse.de
- sem_semun is not defined for glibc, so define...
* Tue Jun 09 1998 werner@suse.de
- New package: LAM/MPI
  (Local Area Machine/Message-Passing Interface)