1 | %define name mpich |
---|
2 | %define version 1.2.3 |
---|
3 | %define release 1%{?_dist_release} |
---|
4 | |
---|
5 | Summary: A Portable Implementation of the Message-Passing Interface Standard |
---|
6 | Name: %{name} |
---|
7 | Version: %{version} |
---|
8 | Release: %{release} |
---|
9 | License: Freely Distributable |
---|
10 | Group: Development/Libraries |
---|
11 | Source: ftp://ftp.mcs.anl.gov/pub/mpi/mpich-%{version}.tar.gz |
---|
12 | Source1: ftp://ftp.mcs.anl.gov/pub/mpi/mpich-docs.tgz |
---|
13 | Source100: RSHCOMMAND |
---|
14 | Source101: RSHCOMMAND.ja |
---|
15 | Source102: RSHCOMMAND.en |
---|
16 | %define lang ja |
---|
17 | |
---|
18 | BuildRequires: xorg-x11-devel |
---|
19 | BuildRoot: %{_tmppath}/%{name}-%{version}-root |
---|
20 | |
---|
21 | # note |
---|
22 | # jumpshot is written for jdk 1.x |
---|
23 | # java is not locatable with a packge. |
---|
24 | # Therefore, jumpshot is not included in this package, yet. |
---|
25 | # jumpshot is commented out with #java#. |
---|
26 | |
---|
27 | %package mpi |
---|
28 | Summary: Message-Passing Interface Standard |
---|
29 | Summary(ja): Message-Passing Interface Standard |
---|
30 | Group: Development/Libraries |
---|
31 | |
---|
32 | %package mpe |
---|
33 | Summary: MPE |
---|
34 | Requires: mpich-mpi = %{version}-%{release} XFree86-devel, tk |
---|
35 | Group: Development/Libraries |
---|
36 | |
---|
37 | %package doc |
---|
38 | Summary: MPE |
---|
39 | Group: Development/Libraries |
---|
40 | |
---|
41 | %description |
---|
42 | MPICH is an open-source, portable implementation of the Message-Passing |
---|
43 | Interface Standard. |
---|
44 | |
---|
45 | MPICH is a virtual package for MPI, MPE, and doc. |
---|
46 | |
---|
47 | %description mpi |
---|
48 | It contains a complete implementation of version 1.2 of |
---|
49 | the MPI Standard and also significant parts of MPI-2, particularly in the |
---|
50 | area of parallel I/O. |
---|
51 | |
---|
52 | %description mpe |
---|
53 | The Multi-Processing Environment (MPE) attempts to provide programmers with |
---|
54 | a complete suite of performance analysis tools for their MPI programs based |
---|
55 | on post processing approach. These tools include a set of profiling libraries, |
---|
56 | a set of utility programs, and a set of graphical tools. |
---|
57 | |
---|
58 | The first set of tools to be used with user MPI programs is profiling libraries |
---|
59 | which provide a collection of routines that create log files. These log files |
---|
60 | can be created manually by inserting MPE calls in the MPI program, or |
---|
61 | automatically by linking with the appropriate MPE libraries, or by combining |
---|
62 | the above two methods. Currently, the MPE offers the following 3 profiling |
---|
63 | libraries: Tracing Library, Animation Libraries, and Logging Libraries. |
---|
64 | |
---|
65 | |
---|
66 | %description doc |
---|
67 | Documentation for MPI and MPE. |
---|
68 | |
---|
69 | %prep |
---|
70 | %setup -q -a 1 |
---|
71 | |
---|
72 | # as of version 1.2.2.3, use of mktemp is only in c files in mpe and mpid. |
---|
73 | ## as of version 1.2.3, configure checks use of mkstemp. |
---|
74 | ##find mpe mpid -type f -name \*.c \ |
---|
75 | ## -exec perl -p -i -e "s|mktemp|mkstemp|g;" {} \; |
---|
76 | |
---|
77 | %build |
---|
78 | export RSHCOMMAND=%{_sysconfdir}/%{name}/RSHCOMMAND |
---|
79 | CFLAGS="$RPM_OPT_FLAGS" ./configure -prefix=$RPM_BUILD_ROOT/usr \ |
---|
80 | --enable-sharedlib=$RPM_BUILD_ROOT%{_libdir} \ |
---|
81 | --disable-doc \ |
---|
82 | --libdir=$RPM_BUILD_ROOT%{_libdir} \ |
---|
83 | --mandir=$RPM_BUILD_ROOT%{_mandir} |
---|
84 | # --with-comm=shared # for SMP |
---|
85 | # --enable-debug # enables TotalView(c) debugger |
---|
86 | |
---|
87 | make |
---|
88 | |
---|
89 | %install |
---|
90 | rm -rf $RPM_BUILD_ROOT |
---|
91 | |
---|
92 | # this installs everything as specified at configure time. |
---|
93 | make install |
---|
94 | |
---|
95 | # set datadir=/etc/mpich. |
---|
96 | find $RPM_BUILD_ROOT{%{_sbindir},%{_bindir}} -type f \ |
---|
97 | -exec perl -p -i -e \ |
---|
98 | "s|(datadir=.*)$RPM_BUILD_ROOT/usr/share|\1/etc/%{name}|g;" {} \; |
---|
99 | |
---|
100 | # remove $RPM_BUILD_ROOT except lib*{a,so}. |
---|
101 | find $RPM_BUILD_ROOT -type f -not -path '*lib*' \ |
---|
102 | -exec perl -p -i -e "s|$RPM_BUILD_ROOT||g;" {} \; |
---|
103 | |
---|
104 | # put a sample Makefile in /etc/mpich. |
---|
105 | mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name} |
---|
106 | mv $RPM_BUILD_ROOT/usr/share/Makefile.sample \ |
---|
107 | $RPM_BUILD_ROOT%{_sysconfdir}/%{name} |
---|
108 | |
---|
109 | # set up the list of servers -- only localhost for the package. |
---|
110 | sed -e "/^[^#]/d" $RPM_BUILD_ROOT/usr/share/machines.LINUX >> \ |
---|
111 | $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/machines.LINUX |
---|
112 | echo "localhost" >> $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/machines.LINUX |
---|
113 | |
---|
114 | # make RSHCOMMAND setting easy. |
---|
115 | install -m 755 %{SOURCE100}.%{lang} \ |
---|
116 | $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/RSHCOMMAND |
---|
117 | |
---|
118 | # make care of upshot and jumpshot. |
---|
119 | mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} |
---|
120 | #java#mv $RPM_BUILD_ROOT/usr/share/{upshot,jump-shot-3} \ |
---|
121 | mv $RPM_BUILD_ROOT/usr/share/upshot \ |
---|
122 | $RPM_BUILD_ROOT%{_datadir}/%{name} |
---|
123 | |
---|
124 | ln -sf %{_datadir}/%{name}/upshot/bin/upshot $RPM_BUILD_ROOT/%{_bindir}/upshot |
---|
125 | #java#ln -sf %{_datadir}/%{name}/upshot/bin/jumpshot \ |
---|
126 | #java# $RPM_BUILD_ROOT/%{_bindir}/jumpshot |
---|
127 | |
---|
128 | perl -p -i -e "s|%{_datadir}|%{_datadir}/%{name}|g;" \ |
---|
129 | $RPM_BUILD_ROOT%{_datadir}/%{name}/upshot/bin/* |
---|
130 | #java# $RPM_BUILD_ROOT%{_datadir}/%{name}/{upshot,jump-short-3}/bin/* |
---|
131 | |
---|
132 | %clean |
---|
133 | rm -rf $RPM_BUILD_ROOT |
---|
134 | |
---|
135 | %files |
---|
136 | %defattr(-,root,root) |
---|
137 | |
---|
138 | %files mpi |
---|
139 | %defattr(-,root,root) |
---|
140 | %config(noreplace) %{_sysconfdir}/%{name}* |
---|
141 | %{_sbindir}/* |
---|
142 | %{_bindir}/mpi* |
---|
143 | %{_bindir}/serv_p4 |
---|
144 | %{_bindir}/tarch |
---|
145 | %{_bindir}/tdevice |
---|
146 | %{_includedir}/*mpi* |
---|
147 | %{_libdir}/*mpich* |
---|
148 | %{_mandir}/man1/MPI.1* |
---|
149 | %{_mandir}/man1/mpi* |
---|
150 | %{_mandir}/man1/chp4_servs.1* |
---|
151 | %{_mandir}/man1/cleanipcs.1* |
---|
152 | %{_mandir}/man1/tstmachines.1* |
---|
153 | %{_mandir}/man3/MPI* |
---|
154 | %{_mandir}/man3/Constants.3* |
---|
155 | |
---|
156 | %files mpe |
---|
157 | %defattr(-,root,root) |
---|
158 | %{_bindir}/mpe* |
---|
159 | %{_includedir}/basex11.h |
---|
160 | %{_includedir}/mpe* |
---|
161 | %{_includedir}/protofix.h |
---|
162 | %{_libdir}/*mpe* |
---|
163 | %{_mandir}/man4/MPE* |
---|
164 | %{_bindir}/clog* |
---|
165 | %{_bindir}/slog* |
---|
166 | %{_bindir}/logviewer* |
---|
167 | %{_bindir}/upshot |
---|
168 | %{_mandir}/man1/Jumpshots.1* |
---|
169 | %{_mandir}/man4/CLOG* |
---|
170 | %{_datadir}/%{name} |
---|
171 | |
---|
172 | %files doc |
---|
173 | %defattr(-,root,root) |
---|
174 | %doc COPYRIGHT KnownBugs README doc docs www |
---|
175 | %doc mpe/contrib examples installtest |
---|
176 | |
---|
177 | |
---|
178 | %changelog |
---|
179 | * Mon Sep 08 2008 Shu KONNO <owa@bg.wakwak.com> 1.2.3-1vl5 |
---|
180 | - applied new versioning policy, spec in utf-8 |
---|
181 | - added libdir option to configure |
---|
182 | |
---|
183 | * Fri Feb 08 2002 Yoshihiro Ota <ota@j.email.ne.jp> |
---|
184 | - Separated into subpackages -- mpi, mpe, and doc - 1.2.3-0vl3 |
---|
185 | |
---|
186 | * Sun Feb 03 2002 Yoshihiro Ota <ota@j.email.ne.jp> |
---|
187 | - Version up to mpich-1.2.3 |
---|
188 | |
---|
189 | * Fri Jan 25 2002 Yoshihiro Ota <ota@j.email.ne.jp> |
---|
190 | - Created spec file for mpich-1.2.2.3 |
---|