]> git.pld-linux.org Git - packages/GPI2.git/blob - GPI2.spec
- up to 1.2.0
[packages/GPI2.git] / GPI2.spec
1 # TODO: CUDA, MPI, Load Leveler(?)
2 #
3 # Conditional build:
4 %bcond_without  f90     # Fortran bindings
5 %bcond_without  logger  # gaspi_logger utility
6 #
7 %ifnarch %{x8664}
8 # no sources, only x86_64 binary included
9 %undefine       with_logger
10 %endif
11 Summary:        GPI-2 - API for asynchronous communication
12 Summary(pl.UTF-8):      GPI-2 - API do komunikacji asynchronicznej
13 Name:           GPI2
14 Version:        1.2.0
15 Release:        0.1
16 License:        GPL v3
17 Group:          Applications
18 Source0:        https://www.openfabrics.org/downloads/gpi2/%{name}-%{version}.tar.gz
19 # Source0-md5:  985ef97215563f5af5e71833a490ef97
20 Patch0:         %{name}-nosse.patch
21 Patch1:         %{name}-format.patch
22 URL:            http://www.gpi-site.com/gpi2/
23 BuildRequires:  doxygen
24 %{?with_f90:BuildRequires:      gcc-fortran >= 5:4.0}
25 BuildRequires:  libibverbs-devel >= 1.1.6
26 Requires:       libibverbs >= 1.1.6
27 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28
29 %description
30 GPI-2 is the second generation of GPI (http://www.gpi-site.com/). GPI-2
31 implements the GASPI specification (http://www.gaspi.de/), an API
32 specification which originates from the ideas and concepts of GPI.
33
34 GPI-2 is an API for asynchronous communication. It provides a
35 flexible, scalable and fault tolerant interface for parallel
36 applications.
37
38 %description -l pl.UTF-8
39 GPI-2 to druga generacja GPI (http://www.gpi-site.com/). GPI-2
40 jest implementacją specyfikacji GASPI (http://www.gaspi.de/) - API
41 wywodzącego się z idei GPI.
42
43 GPI-2 to API do komunikacji asynchronicznej. Zapewnia elastyczny,
44 skalowalny i odporny na awarie interfejs do aplikacji równoległych.
45
46 %prep
47 %setup -q
48 %patch0 -p1
49 %patch1 -p1
50
51 %if %{without logger}
52 # precompiled binaries
53 # FIXME: sources are missing
54 %{__rm} bin/gaspi_logger
55 %endif
56
57 %build
58 %{__make} clean
59 %{__make} -C src depend
60 %{__make} gpi \
61         CC="%{__cc}" \
62         CFLAGS="%{rpmcflags} -Wall -D_GNU_SOURCE"
63 %if %{with f90}
64 %{__make} fortran
65 %endif
66
67 %if %{with tests}
68 %{__make} tests
69 %endif
70
71 %{__make} docs
72
73 %install
74 rm -rf $RPM_BUILD_ROOT
75 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}}
76
77 install bin/gaspi_run.ssh $RPM_BUILD_ROOT%{_bindir}/gaspi_run
78 install bin/ssh.spawner bin/gaspi_cleanup $RPM_BUILD_ROOT%{_bindir}
79 %if %{with logger}
80 install bin/gaspi_logger $RPM_BUILD_ROOT%{_bindir}
81 %endif
82 cp -pr include $RPM_BUILD_ROOT%{_includedir}
83 cp -p lib64/lib* $RPM_BUILD_ROOT%{_libdir}
84
85 %clean
86 rm -rf $RPM_BUILD_ROOT
87
88 %files
89 %defattr(644,root,root,755)
90 %doc README docs/html
91 %attr(755,root,root) %{_bindir}/gaspi_cleanup
92 %if %{with logger}
93 %attr(755,root,root) %{_bindir}/gaspi_logger
94 %endif
95 %attr(755,root,root) %{_bindir}/gaspi_run
96 %attr(755,root,root) %{_bindir}/ssh.spawner
97 %{_libdir}/libGPI2.a
98 %{_libdir}/libGPI2-dbg.a
99 %{_includedir}/GASPI.h
100 %{_includedir}/GASPI_Ext.h
101 %{_includedir}/GASPI_GPU.h
102 %{_includedir}/GASPI_Threads.h
103 %{_includedir}/PGASPI.h
104 %{_includedir}/gaspi.mod
105 %{_includedir}/gaspi_types.mod
This page took 0.043386 seconds and 3 git commands to generate.