File pvm.spec of Package pvm

#
# spec file for package pvm (Version 3.4.5)
#
# Copyright (c) 2006 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/
#

# norootforbuild

Name:           pvm
BuildRequires:  gcc-fortran readline-devel tcsh
Summary:        Parallel Virtual Machine
Version:        3.4.5
Release:        39
License:        GNU Library General Public License v. 2.0 and 2.1 (LGPL), Other License(s), see package
Group:          Development/Libraries/Parallel
Source0:        ftp://ftp.netlib.org/pvm3/%{name}-%{version}.tar.bz2
Source3:        Makefile
Patch0:         %{name}-%{version}.dif
Patch1:         pvm-%{version}-cons.patch
Patch2:         pvm-%{version}-gcc4.patch
Patch3:         pvm-3.4.5_missing_includes.patch
Patch4:         pvm-3.4.5_missing_format_param.patch
URL:            http://www.epm.ornl.gov/pvm/pvm_home.html
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%define		_pvm_root 	/usr/lib/pvm3
%ifarch %{ix86}
%define		_pvm_arch	LINUX
%else
%ifarch alpha
%define		_pvm_arch	LINUXALPHA
%else
%ifarch sparc sparc64
%define		_pvm_arch	LINUXSPARC
%else
%ifarch ppc 
%define		_pvm_arch	LINUXPPC
%else
%ifarch ppc64 
%define		_pvm_arch	LINUXPPC64
%else
%ifarch ia64
%define		_pvm_arch	LINUX64
%else
%ifarch s390 s390x
%define		_pvm_arch	LINUXS390
%else
%ifarch hppa
%define		_pvm_arch	LINUXHPPA
%else
%ifarch x86_64
%define		_pvm_arch	LINUX64
%else
%ifarch %arm
%define		_pvm_arch	LINUXARM
%else

%error "Unsupported architecture"
exit 1
%endif
%endif
%endif
%endif
%endif
%endif
%endif
%endif
%endif
%endif

%description
PVM is a software system that enables a collection of heterogeneous
computers to be used as a coherent and flexible concurrent
computational resource.

The individual computers may be shared- or local-memory
multiprocessors, vector supercomputers, specialized graphics engines,
or scalar workstations, that may be interconnected by a variety of
networks, such as ethernet, FDDI.  User programs written in C, C++ or
Fortran access PVM through library routines.

After installation you find in /usr/share/doc/packages/pvm/ the
documentation as PostScript file pvm-book.ps.  Furthermore some
examples are packed together in two tar archives.  Those archives
should be extracted into your HOME directory which leads to
~/pvm3/examples/ or ~/pvm3/gexamples/ in your HOME directory.  The call
`aimk all' (see manual page aimk(1)) e.g. in ~/pvm3/examples/ compiles
the examples for the PVM system.

The PVM web home page is at http://www.epm.ornl.gov/pvm/pvm_home.html .



Authors:
--------
    J. J. Dongarra		<pvm@msr.epm.ornl.gov>
    G. E. Fagg		<pvm@msr.epm.ornl.gov>
    G. A. Geist		<pvm@msr.epm.ornl.gov>
    J. A. Kohl		<pvm@msr.epm.ornl.gov>
    R. J. Manchek		<pvm@msr.epm.ornl.gov>
    P. Mucci		<pvm@msr.epm.ornl.gov>
    P. M. Papadopoulos	<pvm@msr.epm.ornl.gov>
    S. L. Scott		<pvm@msr.epm.ornl.gov>
    V. S. Sunderam		<pvm@msr.epm.ornl.gov>

%package devel
Summary:        Parallel Virtual Machine
Group:          Development/Libraries/Parallel
Requires:       %{name} = %{version}

%description devel
PVM is a software system that enables a collection of heterogeneous
computers to be used as a coherent and flexible concurrent
computational resource.

The individual computers may be shared- or local-memory
multiprocessors, vector supercomputers, specialized graphics engines,
or scalar workstations, that may be interconnected by a variety of
networks, such as ethernet, FDDI.  User programs written in C, C++ or
Fortran access PVM through library routines.

After installation you find in /usr/share/doc/packages/pvm/ the
documentation as PostScript file pvm-book.ps.  Furthermore some
examples are packed together in two tar archives.  Those archives
should be extracted into your HOME directory which leads to
~/pvm3/examples/ or ~/pvm3/gexamples/ in your HOME directory.  The call
`aimk all' (see manual page aimk(1)) e.g. in ~/pvm3/examples/ compiles
the examples for the PVM system.

The PVM web home page is at http://www.epm.ornl.gov/pvm/pvm_home.html .



Authors:
--------
    J. J. Dongarra  <pvm@msr.epm.ornl.gov>
    G. E. Fagg  <pvm@msr.epm.ornl.gov>
    G. A. Geist  <pvm@msr.epm.ornl.gov>
    J. A. Kohl  <pvm@msr.epm.ornl.gov>
    R. J. Manchek  <pvm@msr.epm.ornl.gov>
    P. Mucci  <pvm@msr.epm.ornl.gov>
    P. M. Papadopoulos <pvm@msr.epm.ornl.gov>
    S. L. Scott  <pvm@msr.epm.ornl.gov>
    V. S. Sunderam  <pvm@msr.epm.ornl.gov>

%prep 
%setup -q  -n pvm3
%patch0 
%patch1
%patch2 -p1
%patch3
%patch4

%build
mkdir -p src/%{_pvm_arch}
cp %{SOURCE3}  src/%{_pvm_arch}/Makefile
PVM_ROOT=`pwd` \
make OPT_FLAGS="$RPM_OPT_FLAGS -fPIC -DPIC -fno-strict-aliasing"

%install
install -d $RPM_BUILD_ROOT{%{_bindir},%{_includedir},%{_libdir},%{_pvm_root}/conf,%{_docdir}/%{name}} \
	$RPM_BUILD_ROOT%{_docdir}/%{name}/{examples,gexamples,hoster,misc,tasker,xep} \
	$RPM_BUILD_ROOT{%{_mandir}/man{1,3},%{_sbindir},%{_pvm_root}/bin/%{_pvm_arch},%{_pvm_root}/lib/%{_pvm_arch}}
install -c -m 0755  lib/%{_pvm_arch}/* $RPM_BUILD_ROOT%{_pvm_root}/lib/%{_pvm_arch}
install -c -m 0755 lib/pvmtmparch	$RPM_BUILD_ROOT%{_pvm_root}/lib
install -c -m 0755 lib/pvmgetarch	$RPM_BUILD_ROOT%{_pvm_root}/lib
install -c -m 0755 lib/pvmd	$RPM_BUILD_ROOT%{_pvm_root}/lib
install -c -m 0755 lib/pvmd	$RPM_BUILD_ROOT%{_bindir}
install -c -m 0755 lib/aimk	$RPM_BUILD_ROOT%{_pvm_root}/lib
install -c -m 0755 bin/%{_pvm_arch}/{pvm_gstat,pvmgroups,pvmgs,tracer,trcsort} $RPM_BUILD_ROOT%{_pvm_root}/bin/%{_pvm_arch}
install -c -m 0755 lib/pvm $RPM_BUILD_ROOT%{_bindir}
install -c -m 0755 lib/wrapper  $RPM_BUILD_ROOT%{_bindir}/pvm_gstat
install -c -m 0755 lib/wrapper  $RPM_BUILD_ROOT%{_bindir}/pvmgroups
install -c -m 0755 lib/wrapper  $RPM_BUILD_ROOT%{_bindir}/pvmgs
install -c -m 0755 lib/wrapper  $RPM_BUILD_ROOT%{_bindir}/tracer
install -c -m 0755 lib/wrapper  $RPM_BUILD_ROOT%{_bindir}/trcsort
install conf/%{_pvm_arch}.def $RPM_BUILD_ROOT%{_pvm_root}/conf
install include/{fpvm3,pvm3,pvmproto,pvmtev}.h $RPM_BUILD_ROOT%{_includedir}
#install lib/%{_pvm_arch}/lib*.a $RPM_BUILD_ROOT%{_libdir}
install lib/%{_pvm_arch}/lib*.so $RPM_BUILD_ROOT%{_libdir}/libpvm3.so.3.4
(
cd $RPM_BUILD_ROOT%{_libdir}
for lib in `ls pvm3/lib/%{_pvm_arch}/*.a`; do
    basen=$(basename $lib)
    ln -sf pvm3/lib/%{_pvm_arch}/${basen}
done
ln -sf libpvm3.so.3.4 libpvm3.so.3
ln -sf libpvm3.so.3.4 libpvm3.so
)
install -m 0644 man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
install -m 0644 man/man3/* $RPM_BUILD_ROOT%{_mandir}/man3
# Examples
cp -rf examples gexamples hoster misc tasker xep $RPM_BUILD_ROOT%{_docdir}/%{name}
#install %{SOURCE2}  $RPM_BUILD_ROOT%{_docdir}/%{name}/pvm-book.ps
#gzip -9nf $RPM_BUILD_ROOT%{_docdir}/%{name}/pvm-book.ps
rm $RPM_BUILD_ROOT/%{_pvm_root}/lib/%{_pvm_arch}/*.so
rm -f $RPM_BUILD_ROOT/%{_libdir}/lib*.a

%clean
rm -rf $RPM_BUILD_ROOT

%post
%run_ldconfig

%postun
%run_ldconfig

%files
%defattr(-,root,root)
%{_bindir}/*
%{_libdir}/libpvm3.so.*
%dir %{_pvm_root}
%dir %{_pvm_root}/lib
%dir %{_pvm_root}/lib/%{_pvm_arch}
%{_pvm_root}/bin
%{_pvm_root}/lib/%{_pvm_arch}/pvm*
%{_pvm_root}/lib/pvmd
%{_pvm_root}/lib/pvmgetarch
%{_pvm_root}/lib/pvmtmparch
%doc %{_mandir}/man1/pvm*
%doc %{_mandir}/man1/PVM*
%{_docdir}/%{name}

%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_pvm_root}/lib/aimk
%{_pvm_root}/conf
%{_libdir}/libpvm3.so
%{_includedir}/fpvm3.h
%{_includedir}/pvm3.h
%{_includedir}/pvmproto.h
%{_includedir}/pvmtev.h
%{_pvm_root}/lib/%{_pvm_arch}/libfpvm3.a
%{_pvm_root}/lib/%{_pvm_arch}/libgpvm3.a
%{_pvm_root}/lib/%{_pvm_arch}/libpvm3.a
%{_pvm_root}/lib/%{_pvm_arch}/libpvmtrc.a
%{_mandir}/man1/aimk.1*
%{_mandir}/man3/*

%changelog -n pvm
* Sat Nov 11 2006 - mrueckert@suse.de
- dont install man pages with executable flag
* Thu Nov 09 2006 - mrueckert@suse.de
- build with '-fPIC -DPIC' (#218356)
* Mon Apr 10 2006 - mrueckert@suse.de
- build with "-fno-strict-aliasing"
* Wed Mar 22 2006 - mrueckert@suse.de
- added pvm-3.4.5_missing_format_param.patch
  o fixes missing parameter for printf expression. (#133904)
  o use vsnprintf instead of vsprintf
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Mon Jan 23 2006 - mrueckert@suse.de
- fixed the most urgent compiler warnings
* Mon Dec 19 2005 - ro@suse.de
- remove unpackaged symlinks
* Tue Nov 15 2005 - uli@suse.de
- fixed to build on ARM
* Thu Jun 30 2005 - mrueckert@suse.de
- use RPM_OPT_FLAGS
* Tue May 03 2005 - yxu@suse.de
- fixed for GCC4
* Mon Nov 15 2004 - nashif@suse.de
- Update to 3.4.5
* Mon Jul 05 2004 - bg@suse.de
- make pvm recognize hppa
* Tue May 25 2004 - ro@suse.de
- cons.c: adapt to recent readline to get rid of some warnings
* Sat Jan 10 2004 - adrian@suse.de
- add %%defattr and %%run_ldconfig
* Thu Jun 12 2003 - nashif@suse.de
- Added created directories to file list
* Tue May 13 2003 - nashif@suse.de
- fixed rpm file list
* Sun Feb 09 2003 - nashif@suse.de
- Fixed ppc64 auto-detection
* Mon Jul 29 2002 - nashif@suse.de
- added PPC64 to supported architectures
* Thu Apr 25 2002 - nashif@suse.de
- use /usr/lib instead of _libdir when configuring PVMROOT
* Thu Apr 25 2002 - nashif@suse.de
- Added new architecture: x86_64
* Fri Mar 01 2002 - nashif@suse.de
- Fixed for build on s390x (a spec only change)
* Tue Dec 11 2001 - nashif@suse.de
- Updated to 3.4.4
- New Features:
  * Added concept of a "Virtual Machine ID"
  * Linux / gcc fixes
  * Misc. bug fixes
- Add branch -devel
* Thu Mar 15 2001 - nashif@suse.de
- added -fpic to LINUXIA64.def
* Fri Feb 23 2001 - ro@suse.de
- added readline/readline-devel to neededforbuild (split from bash)
* Thu Jan 25 2001 - sf@suse.de
- some changes to make it work on IA64
- applied IA64/Linux to the manpages
- changed va_arg(blah,char), to make it compile on IA64
- added necessary configuration files to conf/
- changed pvmgetarch
* Mon Dec 04 2000 - nashif@suse.de
- Removed g77 from Requires
* Wed Nov 29 2000 - ro@suse.de
- changed neededforbuild <tcld> to <tcl-devel>
* Tue Nov 07 2000 - nashif@suse.de
- Use BuildRoot
- Added Group tag
- Various fixes
* Sun Apr 09 2000 - bk@suse.de
- added support for linux-390
* Wed Mar 15 2000 - nashif@suse.de
- Update to pvm 3.4.3
* Mon Jan 31 2000 - kukuk@suse.de
- Fix again LINUXSPARC.def
* Mon Jan 31 2000 - nashif@suse.de
- fix Makefile.Linux
- changed %%files in spec
* Mon Jan 31 2000 - nashif@suse.de
- fix LINUXPPC.defs
- moved man pages to /usr/share/man
- modified Makefile.Linux
* Wed Jan 05 2000 - kukuk@suse.de
- fix LINUXSPARC.defs
* Fri Oct 15 1999 - ro@suse.de
- fixed LINUXALPHA.defs
* Mon Sep 27 1999 - nashif@suse.de
- Upgrade to PVM 3.4.2
* Mon Sep 13 1999 - bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Wed Jun 09 1999 - werner@suse.de
- enable OVERLOADHOST for some SMP Linux architectures
* Fri Mar 19 1999 - werner@suse.de
- Crtl-D should quit pvm not SIGSEGV
* Fri Mar 19 1999 - werner@suse.de
- Upgrade to final release 3.4.0
	- Enable all(?) Linux architectures
	- Add BEO patch
* Thu Jun 04 1998 - werner@suse.de
- New packet: PVM (Parallel Virtual Machine) 3.4.beta6
openSUSE Build Service is sponsored by