Sophie

Sophie

distrib > Mageia > 5 > i586 > by-pkgid > 878883851106a7b2419788d26906b654 > files > 4

mpich2-1.2.1-7.mga5.src.rpm

%define	major		1.2
%define	libname		%mklibname mpich 2 %{major}
%define develname 	%mklibname mpich 2 -d
%define old_libname	%mklibname mpich 1
%define mpihome		/home/mpi


Name: 		mpich2
Version: 	1.2.1
Release: 	%mkrel 7
Summary: 	Portable implementation of MPI
Source: 	http://www-unix.mcs.anl.gov/mpi/mpich/downloads/%{name}-%{version}.tar.gz
Patch1:		mpich2-1.0.8-fix-str-fmt.patch
Patch2:		mpich2-modules.patch
Patch3:		mpich2_mpiexec.c.patch
URL: 		http://www-unix.mcs.anl.gov/mpi/mpich/
License:	BSD-style 
Group:		System/Cluster
Requires: 	%{libname} = %{version}
Requires:	expect
Requires:	python
BuildRequires:	gcc-gfortran
BuildRequires:	python
BuildConflicts:	g95
BuildRequires:	libx11-devel
Conflicts:	mpich >= 1.2

%description
MPICH is a freely available, portable implementation of MPI, the Standard 
for message-passing libraries.
MPICH-A Portable Implementation of MPI is a MPI Standard conforming library 
that was developed by the Argonne National Laboratory. It allows different 
processes across a network of workstations to communicate using specific 
message passing functions. It includes librairies, parallel debuging tools 
and docs.

This package provides the libraries that use the standard p4 device.

%package doc
Summary:	Documentation for developing programs that will use MPICH
Group:		System/Cluster
BuildArch:	noarch

%description doc
MPICH is a freely available, portable implementation of MPI, the Standard 
for message-passing libraries.
MPICH-A Portable Implementation of MPI is a MPI Standard conforming library 
that was developed by the Argonne National Laboratory. It allows different 
processes across a network of workstations to communicate using specific 
message passing functions. It includes librairies, parallel debuging tools 
and docs.

This package provides the documentation needed to develop
applications using the MPICH libraries.

%package -n %{libname}
Summary:	Shared Librairies for MPICH
Group:		System/Cluster
Conflicts:	%{old_libname} >= 1.2
Provides:	lib%{name} = %{version}-%{release}
Conflicts:	libmpich

%description  -n %{libname}
Shared Librairies for MPICH

%package -n %{develname}
Summary:	Headers for developing programs that will use MPICH
Group:		System/Cluster
Requires:	%{libname} = %{version}
Conflicts:	%{old_libname}-devel >= 1.2
Provides:	lib%{name}-devel = %{version}-%{release}
Provides:	%{name}-devel = %{version}-%{release}
Conflicts:	lam-devel, mpich1-devel
Obsoletes:	%mklibname -d mpich 2 1.0.4
Obsoletes:	%mklibname -d mpich 2 1.0.5

%description -n %{develname}
MPICH is a freely available, portable implementation of MPI, the Standard 
for message-passing libraries.
MPICH-A Portable Implementation of MPI is a MPI Standard conforming library 
that was developed by the Argonne National Laboratory. It allows different 
processes across a network of workstations to communicate using specific 
message passing functions. It includes librairies, parallel debuging tools 
and docs.

This package provides the static libraries and header files needed to compile
applications using the MPICH libraries.

%package -n mpi2cc
Summary:	The MPICH wrapper over the C compiler
Group:		Development/C
Conflicts:	mpicc >= 1.2, lam-devel
Requires:	gcc >= 3.2
Requires:	%{develname} = %{version}

%description -n mpi2cc
MPICH is a freely available, portable implementation of MPI, the Standard 
for message-passing libraries.
MPICH-A Portable Implementation of MPI is a MPI Standard conforming library 
that was developed by the Argonne National Laboratory. It allows different 
processes across a network of workstations to communicate using specific 
message passing functions. It includes librairies, parallel debuging tools 
and docs.

This package provides the shell script mpicc, with headers, which allows to
compile C programs using the MPICH libraries.

%package -n mpi2cxx
Summary:	The MPICH wrapper over the C++ compiler
Conflicts:	mpic++ >= 1.2, lam-devel
Group:		Development/C++
Requires:	gcc-c++ >= 3.2
Requires:	%{develname} = %{version}

%description -n mpi2cxx
MPICH is a freely available, portable implementation of MPI, the Standard 
for message-passing libraries.
MPICH-A Portable Implementation of MPI is a MPI Standard conforming library 
that was developed by the Argonne National Laboratory. It allows different 
processes across a network of workstations to communicate using specific 
message passing functions. It includes librairies, parallel debuging tools 
and docs.

This package provides the shell script mpiCC, with headers, which allows to
compile C++ programs using the MPICH libraries.

%package -n mpi2f77
Summary:	The MPICH wrapper over the Fortran 77 compiler
Group:		System/Cluster
Conflicts:	mpif77 >= 1.2, lam-devel
Requires:	gcc-gfortran >= 3.2
Requires:	%{develname} = %{version}

%description -n mpi2f77
MPICH is a freely available, portable implementation of MPI, the Standard 
for message-passing libraries.
MPICH-A Portable Implementation of MPI is a MPI Standard conforming library 
that was developed by the Argonne National Laboratory. It allows different 
processes across a network of workstations to communicate using specific 
message passing functions. It includes librairies, parallel debuging tools 
and docs.

This package provides the shell script mpif77, with headers, which allows to
compile Fortran 77 (NOT Fortran 90!) programs using the MPICH libraries.

%package -n mpi2f90
Summary:	The MPICH wrapper over the Fortran 90 compiler
Group:		System/Cluster
Requires:	gcc-gfortran >= 3.2
Requires:	%{develname} = %{version}

%description -n mpi2f90
MPICH is a freely available, portable implementation of MPI, the Standard 
for message-passing libraries.
MPICH-A Portable Implementation of MPI is a MPI Standard conforming library 
that was developed by the Argonne National Laboratory. It allows different 
processes across a network of workstations to communicate using specific 
message passing functions. It includes librairies, parallel debuging tools 
and docs.

This package provides the shell script mpif90, with headers, which allows to
compile Fortran 90 (NOT Fortran 77!) programs using the MPICH libraries.

%prep
%setup -q -n %{name}-%{version}
%patch1 -p0
%patch2 -p0
%patch3 -p1

%build
export F90=/usr/bin/gfortran
export F77=/usr/bin/gfortran

%configure2_5x \
	--datadir=%{_datadir}/mpich/ \
	--docdir=%{_datadir}/doc/%{name}-doc-%{version} \
	--htmldir=%{_datadir}/doc/%{name}-doc-%{version}/www \
	--enable-cache \
	--enable-f77 \
	--enable-f90 \
	--enable-cxx \
	--enable-romio \
	--enable-smpcoll \
	--enable-async-progress \
	--enable-mpe \
	--enable-threads=default \
	--with-mpe \
	--with-arch=LINUX \
	--enable-sharedlibs=gcc \
	--disable-weak-symbols

#	--enable-nmpi-as-mpi \
make

%install
%makeinstall_std

# fix end of lines
perl -pi -e 'tr/\r//d;' \
    %{buildroot}%{_datadir}/doc/%{name}-doc-%{version}/www/index.htm \
    %{buildroot}%{_datadir}/doc/%{name}-doc-%{version}/www/www1/index.htm \
    %{buildroot}%{_datadir}/doc/%{name}-doc-%{version}/www/www3/index.htm

# fix configuration
rm -f %{buildroot}%{_prefix}/etc/*.in
sed -i -e '1,2d' %{buildroot}%{_sysconfdir}/*.conf

# move other examples under %{_docdir}
mv %{buildroot}%{_datadir}/mpich %{buildroot}%{_datadir}/doc/%{name}-doc-%{version}/examples

# Cleaning uncessary files 
rm -f %{buildroot}%{_libdir}/*.jar
rm -f %{buildroot}%{_libdir}/*.o
rm -rf %{buildroot}%{_prefix}/sbin
rm -rf %{buildroot}%{_datadir}/logfiles
rm -rf %{buildroot}%{_bindir}/clog*
rm -rf %{buildroot}%{_bindir}/slog*
rm -rf %{buildroot}%{_bindir}/jumpshot
rm -rf %{buildroot}%{_bindir}/logconvertor
rm -f %{buildroot}%{_bindir}/rlogTOslog2
rm -f %{buildroot}%{_bindir}/rlog_check_timeorder
rm -f %{buildroot}%{_bindir}/rlog_print
rm -f %{buildroot}%{_bindir}/rlogprint
rm -f %{buildroot}%{_bindir}/traceTOslog2.in
rm -f %{buildroot}%{_bindir}/traceprint.in
rm -f %{buildroot}%{_libdir}/libTraceInput.la

cat > README.urpmi <<EOF
Post-installation procedure:
- create a user with constant uid/gid and shared home directory on all nodes
- ensure this user has rsh/ssh access to all nodes
For instance, a solution could be:
	# groupadd -g 12384 -r -f mpi 
	# useradd -u 12384 -g mpi -d %{mpihome} -r -s /bin/bash mpi -p "" -m
	# mkpasswd -l 32 | passwd --stdin mpi 2>&1 > /dev/null
	# ssh-keygen -f %{mpihome}/.ssh/id_dsa -t dsa -N "" 2>&1 > /dev/null
	# chown mpi:mpi %{mpihome}/.ssh/id_dsa
	# chmod 600 %{mpihome}/.ssh/id_dsa
EOF

%files
%doc COPYRIGHT README.urpmi
%{_bindir}/check_callstack
%{_bindir}/mpd*
%{_bindir}/mpi*
%{_bindir}/pmi_proxy 
%{_bindir}/parkill
%{_mandir}/man1/*.xz
%{_mandir}/man4/MPE*
%config(noreplace) %{_sysconfdir}/mpe_*
%config(noreplace) %{_sysconfdir}/mpixxx_opts.conf
%exclude %{_bindir}/mpicc
%exclude %{_bindir}/mpicxx
%exclude %{_bindir}/mpif77
%exclude %{_bindir}/mpif90

%files -n %{libname}
%{_libdir}/*.so.%{major}
%{_libdir}/*.so.1

%files -n %{develname}
%doc COPYRIGHT
%{_mandir}/man3/*.3*
%{_includedir}/*.h
%{_includedir}/*.mod
%{_includedir}/primitives/opa*.h
%{_libdir}/*.a
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc

%files doc
%{_datadir}/doc/%{name}-doc-%{version}

%files -n mpi2cc
%doc COPYRIGHT
%{_bindir}/mpicc
%config(noreplace) %{_sysconfdir}/mpicc.conf
%{_mandir}/man1/mpicc.1*

%files -n mpi2cxx
%doc COPYRIGHT
%{_bindir}/mpicxx
%config(noreplace) %{_sysconfdir}/mpicxx.conf
%{_mandir}/man1/mpicxx.1*

%files -n mpi2f77
%doc COPYRIGHT
%config(noreplace) %{_sysconfdir}/mpif77.conf
%{_bindir}/mpif77
%{_mandir}/man1/mpif77.1*

%files -n mpi2f90
%doc COPYRIGHT
%config(noreplace) %{_sysconfdir}/mpif90.conf
%{_bindir}/mpif90
%{_mandir}/man1/mpif90.1*






%changelog
* Wed Oct 15 2014 umeabot <umeabot> 1.2.1-7.mga5
+ Revision: 751023
- Second Mageia 5 Mass Rebuild

* Sat Sep 27 2014 tv <tv> 1.2.1-6.mga5
+ Revision: 727361
- rebuild for missing pythoneggs deps

* Tue Sep 16 2014 umeabot <umeabot> 1.2.1-5.mga5
+ Revision: 682651
- Mageia 5 Mass Rebuild

* Fri Oct 18 2013 umeabot <umeabot> 1.2.1-4.mga4
+ Revision: 518050
- Mageia 4 Mass Rebuild

* Sat Jan 12 2013 umeabot <umeabot> 1.2.1-3.mga3
+ Revision: 360436
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Sun Apr 08 2012 fwang <fwang> 1.2.1-2.mga2
+ Revision: 229659
- rebuild for new gcc

  + grenoya <grenoya>
    - clean spec
      > - remove old patch #0
      > - fix man1 pages extention
    - imported package mpich2


* Mon Feb 08 2010 Antoine Ginies <aginies@mandriva.com> 1.2.1-1mdv2010.1
+ Revision: 502336
- fix mpiexec format not a string literal and no format arguments
- new version 1.2.1
- release 1.2.1 (modules patch from fedora)

* Mon Sep 14 2009 Thierry Vignaud <tvignaud@mandriva.com> 1.0.8-2mdv2010.0
+ Revision: 440144
- rebuild

* Mon Feb 09 2009 Funda Wang <fwang@mandriva.org> 1.0.8-1mdv2009.1
+ Revision: 338655
- fix str fmt
- New version 1.0.8

* Fri Aug 22 2008 Funda Wang <fwang@mandriva.org> 1.0.7-2mdv2009.0
+ Revision: 275037
- fix requires on devel package

* Sun Jul 20 2008 Funda Wang <fwang@mandriva.org> 1.0.7-1mdv2009.0
+ Revision: 238928
- rediff soname patch
- update file list
- new devel package policy
- New version 1.0.7

  + Pixel <pixel@mandriva.com>
    - do not call ldconfig in %%post/%%postun, it is now handled by filetriggers

* Mon Feb 18 2008 Thierry Vignaud <tvignaud@mandriva.com> 1.0.5-3mdv2008.1
+ Revision: 170989
- rebuild
- fix "foobar is blabla" summary (=> "blabla") so that it looks nice in rpmdrake
- kill re-definition of %%buildroot on Pixel's request

  + Olivier Blin <oblin@mandriva.com>
    - restore BuildRoot

* Fri Jun 22 2007 Nicolas Vigier <nvigier@mandriva.com> 1.0.5-2mdv2008.0
+ Revision: 42959
- Change group to System/Cluster

* Tue May 22 2007 Antoine Ginies <aginies@mandriva.com> 1.0.5-1mdv2008.0
+ Revision: 29783
- add missing binairies mpecc, mpefc and parkill
- release 1.0.5p4


* Thu Nov 16 2006 Guillaume Rousse <guillomovitch@mandriva.org> 1.0.4-7mdv2007.0
+ Revision: 84791
- new release
- really fix soname patch

* Tue Nov 14 2006 Guillaume Rousse <guillomovitch@mandriva.org> 1.0.4-6mdv2007.1
+ Revision: 84109
- rediff and fixed soname patch

* Fri Nov 10 2006 Guillaume Rousse <guillomovitch@mandriva.org> 1.0.4-5mdv2007.1
+ Revision: 80787
- bump release
- buildrequires python
- Import mpich2

* Thu Sep 07 2006 Erwan Velu <erwan@seanodes.com> 1.0.4-3mdv2007.0
- Buildrequires python (needed by mpdboot)

* Fri Sep 01 2006 Erwan Velu <erwan@seanodes.com> 1.0.4-2mdk
- The day before ulteo
- Fixing Conflicts with lam & mpich

* Tue Aug 22 2006 Erwan Velu <erwan@seanodes.com> 1.0.4-1mdk
- 1.0.4p1
- Removing patch0, merged upstream
- Removing chrpath buildrequires as cpi example is not provided under binary form
- Adding some stuff from ghuibo
- Setting f90 to gfortran

* Mon May 22 2006 Guillaume Rousse <guillomovitch@mandriva.org> 1.0.3-2mdk
- fix major in lib package name
- fix devel package provides

* Wed May 17 2006 Guillaume Rousse <guillomovitch@mandriva.org> 1.0.3-1mdk
- new version
- spec cleanup
- don't mess with /etc/bashrc, use profile.d
- use standard configure macro
- use -p for ldconfig invocation in %%post
- no more rsh requirement, as either rsh or ssh can be used
- no more user creation in %%post, as it was too simplist to work, but advertise
  post-installation procedure through README.urpmi
- cleanup documentation
- no more useless shebang in configuration files
- fix summary
- fix group
- leverage versioned interdependencies
- drop useless explicit provides
- drop rpath in example
- add soname to libraries

* Sat Nov 26 2005 Thierry Vignaud <tvignaud@mandriva.com> 1.0.2-3mdk
- fix requires (#16327)

* Sat Jul 23 2005 Austin Acton <austin@mandriva.org> 1.0.2-2mdk
- fix library name
- make lib64 friendly

* Mon Jul 04 2005 Lev Givon <lev@columbia.edu> 1.0.2-1mdk
- upgrade to mpich2 1.0.2

* Mon Mar 21 2005 Antoine Ginies <aginies@n1.mandrakesoft.com> 1.0.1-2mdk
- add conflict with mpich-1.2.X
- rename mpic++ to mpi2cxx

* Fri Mar 18 2005 Antoine Ginies <aginies@n1.mandrakesoft.com> 1.0.1-1mdk
- release mpich2 1.0.1

* Wed Jul 28 2004 Erwan Velu <erwan@mandrakesoft.com> 1.2.5.2-5mdk
- Rebuild

* Sat Jun 26 2004 Erwan Velu <erwan@mandrakesoft.com> 1.2.5.2-4mdk
- Disabling java in jumpshot

* Wed Jun 16 2004 Erwan Velu <erwan@mandrakesoft.com> 1.2.5.2-3mdk
- Fixing requires

* Sat Jun 12 2004 Erwan Velu <erwan@mandrakesoft.com> 1.2.5.2-2mdk
- Fixing path for buildroot path removing
- Using a new test program
- Requires libmpich1 on mpich

* Sun Jan 04 2004 Per Øyvind Karlsen <peroyvind@linux-mandrake.com> 1.2.5.2-1mdk
- 1.2.5.2
- cosmetics
- don't rm -rf /home/mandrake/rpm/tmp/mpich2-1.0.4 at the beginning of %%prep
- no .bz2 ending for man pages in file list
- fix typo in Fortran interface for MPI_Wtime (P4)
- Fix to the MPI-IO Fortran interface (P5)
- work around rsh test that might stall (P6)
- fix unpackaged files
- fix permissions for docs