File lam.spec of Package lam
#
# spec file for package lam (Version 7.1.4)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# 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: 81
License: Other uncritical OpenSource License
Group: Development/Libraries/Parallel
Url: http://www.lam-mpi.org/
Source0: http://www.lam-mpi.org/download/files/lam-%{version}.tar.bz2
Source1: baselibs.conf
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
Patch3: lam-7.1.4_am111.patch
Patch4: lam-7.1.4_free.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/.
%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/
%prep
%setup -q
%patch
%patch1
%patch2
%patch3 -p1
%patch4
%build
autoreconf -fi
pushd share/ssi/coll/smp
touch NEWS README AUTHORS ChangeLog
autoreconf -fi
popd
export F77=gfortran
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure --disable-static --with-pic\
%{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
%{__rm} -f %{buildroot}%{_libdir}/*.la
%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 sparc sparcv9 hppa
%{_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.so
%{_libdir}/liblamf77mpi.so
%{_libdir}/liblammpi++.so
%{_libdir}/liblammpio.a
%{_libdir}/libmpi.so
%changelog