Package init
This commit is contained in:
parent
bc0edefa5d
commit
f4cbb3795e
13
0003-soften-version-check.patch
Normal file
13
0003-soften-version-check.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git mpich-3.2/./src/binding/cxx/mpicxx.h.in~ mpich-3.2/./src/binding/cxx/mpicxx.h.in
|
||||
index 375c081e0e..24f1d6c2cc 100644
|
||||
--- mpich-3.2/./src/binding/cxx/mpicxx.h.in~
|
||||
+++ mpich-3.2/./src/binding/cxx/mpicxx.h.in
|
||||
@@ -17,7 +17,7 @@
|
||||
// between 3.2.3 and 3.4.3 (!!) Normally such changes
|
||||
// should only occur at major releases (e.g., version 3 to 4)
|
||||
#ifdef __GNUC__
|
||||
-# if __GNUC__ >= @GNUCXX_VERSION@
|
||||
+# if __GNUC__ >= @GNUCXX_VERSION@ && @GNUCXX_VERSION@ == 3
|
||||
# if __GNUC_MINOR__ > 2 && @GNUCXX_MINORVERSION@ == 2
|
||||
# error 'Please use the same version of GCC and g++ for compiling MPICH and user MPI programs'
|
||||
# endif
|
||||
36
README.en.md
36
README.en.md
@ -1,36 +0,0 @@
|
||||
# mpich
|
||||
|
||||
#### Description
|
||||
{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
|
||||
|
||||
#### Software Architecture
|
||||
Software architecture description
|
||||
|
||||
#### Installation
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### Instructions
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### Contribution
|
||||
|
||||
1. Fork the repository
|
||||
2. Create Feat_xxx branch
|
||||
3. Commit your code
|
||||
4. Create Pull Request
|
||||
|
||||
|
||||
#### Gitee Feature
|
||||
|
||||
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
|
||||
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
|
||||
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
|
||||
4. The most valuable open source project [GVP](https://gitee.com/gvp)
|
||||
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
|
||||
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
39
README.md
39
README.md
@ -1,39 +0,0 @@
|
||||
# mpich
|
||||
|
||||
#### 介绍
|
||||
{**以下是码云平台说明,您可以替换此简介**
|
||||
码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
|
||||
无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
|
||||
|
||||
#### 软件架构
|
||||
软件架构说明
|
||||
|
||||
|
||||
#### 安装教程
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### 使用说明
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### 参与贡献
|
||||
|
||||
1. Fork 本仓库
|
||||
2. 新建 Feat_xxx 分支
|
||||
3. 提交代码
|
||||
4. 新建 Pull Request
|
||||
|
||||
|
||||
#### 码云特技
|
||||
|
||||
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
||||
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
|
||||
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
|
||||
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
|
||||
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
||||
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
BIN
mpich-3.2.1.tar.gz
Normal file
BIN
mpich-3.2.1.tar.gz
Normal file
Binary file not shown.
33
mpich-modules.patch
Normal file
33
mpich-modules.patch
Normal file
@ -0,0 +1,33 @@
|
||||
--- mpich-3.2.1/src/packaging/envmods/mpich.module.in.orig 2017-11-11 03:19:44.000000000 +0100
|
||||
+++ mpich-3.2.1/src/packaging/envmods/mpich.module.in 2018-04-04 14:14:16.553160669 +0200
|
||||
@@ -3,12 +3,23 @@
|
||||
# MPICH module for use with 'environment-modules' package:
|
||||
#
|
||||
|
||||
+# Only allow one mpi module to be loaded at a time
|
||||
+conflict mpi
|
||||
+
|
||||
# Define prefix so PATH and MANPATH can be updated.
|
||||
-setenv prefix @prefix@
|
||||
-setenv exec_prefix @exec_prefix@
|
||||
+setenv MPI_BIN @LIBDIR@/bin
|
||||
+setenv MPI_SYSCONFIG @sysconfdir@/@MPINAME@-@ARCH@
|
||||
+setenv MPI_FORTRAN_MOD_DIR @fortranmoddir@/@MPINAME@
|
||||
+setenv MPI_INCLUDE @includedir@
|
||||
+setenv MPI_LIB @libdir@
|
||||
+setenv MPI_MAN @mandir@
|
||||
+setenv MPI_PYTHON_SITEARCH @py2sitearch@/@MPINAME@
|
||||
+setenv MPI_PYTHON2_SITEARCH @py2sitearch@/@MPINAME@
|
||||
+setenv MPI_PYTHON3_SITEARCH @py3sitearch@/@MPINAME@
|
||||
+setenv MPI_COMPILER @MPINAME@-@ARCH@
|
||||
+setenv MPI_SUFFIX _@MPINAME@
|
||||
+setenv MPI_HOME @LIBDIR@
|
||||
prepend-path PATH @bindir@
|
||||
-prepend-path MANPATH @mandir@
|
||||
-
|
||||
-# Undefine prefix and exec_prefix which are too generic environment variables.
|
||||
-unsetenv prefix
|
||||
-unsetenv exec_prefix
|
||||
+prepend-path LD_LIBRARY_PATH @libdir@
|
||||
+prepend-path MANPATH :@mandir@
|
||||
+prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig
|
||||
7
mpich.macros
Normal file
7
mpich.macros
Normal file
@ -0,0 +1,7 @@
|
||||
%_mpich_load \
|
||||
. /etc/profile.d/modules.sh; \
|
||||
module load mpi/mpich-%{_arch}; \
|
||||
export CFLAGS="$CFLAGS %{optflags}";
|
||||
%_mpich_unload \
|
||||
. /etc/profile.d/modules.sh; \
|
||||
module unload mpi/mpich-%{_arch};
|
||||
1
mpich.pth.py2
Normal file
1
mpich.pth.py2
Normal file
@ -0,0 +1 @@
|
||||
import sys, os; s = os.getenv('MPI_PYTHON2_SITEARCH'); s and (s in sys.path or sys.path.append(s))
|
||||
1
mpich.pth.py3
Normal file
1
mpich.pth.py3
Normal file
@ -0,0 +1 @@
|
||||
import sys, os; s = os.getenv('MPI_PYTHON3_SITEARCH'); s and (s in sys.path or sys.path.append(s))
|
||||
220
mpich.spec
Normal file
220
mpich.spec
Normal file
@ -0,0 +1,220 @@
|
||||
Summary: A high-performance implementation of MPI
|
||||
Name: mpich
|
||||
Version: 3.2.1
|
||||
Release: 9
|
||||
License: MIT
|
||||
URL: http://www.mpich.org/
|
||||
Source0: http://www.mpich.org/static/downloads/%{version}/mpich-%{version}.tar.gz
|
||||
Source1: mpich.macros
|
||||
Source2: mpich.pth.py2
|
||||
Source3: mpich.pth.py3
|
||||
Patch0: mpich-modules.patch
|
||||
Patch3: 0003-soften-version-check.patch
|
||||
|
||||
BuildRequires: gcc gcc-c++ gcc-gfortran hwloc-devel >= 1.8 valgrind-devel
|
||||
BuildRequires: python2-devel python3-devel rpm-mpi-hooks automake
|
||||
Provides: mpi
|
||||
Provides: mpich2 = %{version}
|
||||
Obsoletes: mpich2 < 3.0
|
||||
Requires: environment(modules)
|
||||
|
||||
%description
|
||||
MPICH is a high performance and widely portable implementation
|
||||
of the Message Passing Interface (MPI) standard.
|
||||
|
||||
%package autoload
|
||||
Summary: Load mpich automatically into profile
|
||||
Requires: mpich = %{version}-%{release}
|
||||
Provides: mpich2-autoload = 3.0.1
|
||||
Obsoletes: mpich2-autoload < 3.0
|
||||
|
||||
%description autoload
|
||||
This package contains profile files that make mpich automatically loaded.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for mpich
|
||||
Requires: mpich = %{version}-%{release} pkgconfig gcc-gfortran rpm-mpi-hooks
|
||||
Provides: mpich-devel-static = %{version}-%{release}
|
||||
Provides: mpich2-devel = 3.0.1
|
||||
Obsoletes: mpich2-devel < 3.0
|
||||
|
||||
%description devel
|
||||
Contains development headers and libraries for mpich.
|
||||
|
||||
%package help
|
||||
Summary: Documentations and examples for mpich
|
||||
BuildArch: noarch
|
||||
Requires: mpich-devel = %{version}-%{release}
|
||||
Provides: mpich2-doc = 3.0.1
|
||||
Provides: mpich-doc = %{version}-%{release}
|
||||
Obsoletes: mpich2-doc < 3.0
|
||||
Obsoletes: mpich-doc < %{version}-%{release}
|
||||
|
||||
%description help
|
||||
Contains documentations, examples and man-pages for mpich.
|
||||
|
||||
%package -n python2-mpich
|
||||
Summary: mpich support for Python 2
|
||||
|
||||
%description -n python2-mpich
|
||||
mpich support for Python 2.
|
||||
|
||||
%package -n python3-mpich
|
||||
Summary: mpich support for Python 3
|
||||
|
||||
%description -n python3-mpich
|
||||
mpich support for Python 3.
|
||||
|
||||
%{!?opt_cc: %global opt_cc gcc}
|
||||
%{!?opt_fc: %global opt_fc gfortran}
|
||||
%{!?opt_f77: %global opt_f77 gfortran}
|
||||
|
||||
%{!?opt_cc_cflags: %global opt_cc_cflags %{optflags}}
|
||||
%{!?opt_fc_fflags: %global opt_fc_fflags %{optflags}}
|
||||
%{!?opt_f77_fflags: %global opt_f77_fflags %{optflags}}
|
||||
|
||||
%ifarch aarch64
|
||||
%global m_option ""
|
||||
%else
|
||||
%global m_option -m64
|
||||
%endif
|
||||
%global selected_channels ch3:nemesis
|
||||
%global XFLAGS -fPIC
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%configure \
|
||||
--enable-sharedlibs=gcc \
|
||||
--enable-shared \
|
||||
--enable-static=no \
|
||||
--enable-lib-depend \
|
||||
--disable-rpath \
|
||||
--disable-silent-rules \
|
||||
--enable-fc \
|
||||
--with-device=%{selected_channels} \
|
||||
--with-pm=hydra:gforker \
|
||||
--includedir=%{_includedir}/mpich-%{_arch} \
|
||||
--bindir=%{_libdir}/mpich/bin \
|
||||
--libdir=%{_libdir}/mpich/lib \
|
||||
--datadir=%{_datadir}/mpich \
|
||||
--mandir=%{_mandir}/mpich-%{_arch} \
|
||||
--docdir=%{_datadir}/mpich/doc \
|
||||
--htmldir=%{_datadir}/mpich/doc \
|
||||
--with-hwloc-prefix=system \
|
||||
FC=%{opt_fc} \
|
||||
F77=%{opt_f77} \
|
||||
CFLAGS="%{m_option} -O2 %{?XFLAGS}" \
|
||||
CXXFLAGS="%{m_option} -O2 %{?XFLAGS}" \
|
||||
FCFLAGS="%{m_option} -O2 %{?XFLAGS}" \
|
||||
FFLAGS="%{m_option} -O2 %{?XFLAGS}" \
|
||||
LDFLAGS='-Wl,-z,noexecstack' \
|
||||
MPICHLIB_CFLAGS="%{?opt_cc_cflags}" \
|
||||
MPICHLIB_CXXFLAGS="%{optflags}" \
|
||||
MPICHLIB_FCFLAGS="%{?opt_fc_fflags}" \
|
||||
MPICHLIB_FFLAGS="%{?opt_f77_fflags}"
|
||||
# MPICHLIB_LDFLAGS='-Wl,-z,noexecstack' \
|
||||
# MPICH_MPICC_FLAGS="%{m_option} -O2 %{?XFLAGS}" \
|
||||
# MPICH_MPICXX_FLAGS="%{m_option} -O2 %{?XFLAGS}" \
|
||||
# MPICH_MPIFC_FLAGS="%{m_option} -O2 %{?XFLAGS}" \
|
||||
# MPICH_MPIF77_FLAGS="%{m_option} -O2 %{?XFLAGS}"
|
||||
# --with-openpa-prefix=embedded \
|
||||
# FCFLAGS="%{?opt_fc_fflags} -I%{_fmoddir}/mpich %{?XFLAGS}" \
|
||||
|
||||
sed -r -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
|
||||
sed -r -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
|
||||
sed -i -e 's| -shared | -Wl,--as-needed\0|g' libtool
|
||||
|
||||
%make_build V=1
|
||||
|
||||
%install
|
||||
%make_install
|
||||
|
||||
mkdir -p %{buildroot}%{_fmoddir}/mpich
|
||||
mv %{buildroot}%{_includedir}/mpich-*/*.mod %{buildroot}%{_fmoddir}/mpich/
|
||||
sed -r -i 's|^modincdir=.*|modincdir=%{_fmoddir}/mpich|' %{buildroot}%{_libdir}/mpich/bin/mpifort
|
||||
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/modulefiles/mpi
|
||||
sed -r 's|%{_bindir}|%{_libdir}/mpich/bin|;
|
||||
s|@LIBDIR@|%{_libdir}/mpich|;
|
||||
s|@MPINAME@|mpich|;
|
||||
s|@py2sitearch@|%{python2_sitearch}|;
|
||||
s|@py3sitearch@|%{python3_sitearch}|;
|
||||
s|@ARCH@|%{_arch}|;
|
||||
s|@fortranmoddir@|%{_fmoddir}|;
|
||||
' \
|
||||
<src/packaging/envmods/mpich.module \
|
||||
>%{buildroot}%{_sysconfdir}/modulefiles/mpi/mpich-%{_arch}
|
||||
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
|
||||
cat >%{buildroot}%{_sysconfdir}/profile.d/mpich-%{_arch}.sh <<EOF
|
||||
module load mpi/mpich-%{_arch}
|
||||
EOF
|
||||
cp -p %{buildroot}%{_sysconfdir}/profile.d/mpich-%{_arch}.{sh,csh}
|
||||
|
||||
install -pDm0644 %{SOURCE1} %{buildroot}%{_rpmconfigdir}/macros.d/macros.mpich
|
||||
|
||||
mkdir -p %{buildroot}%{python2_sitearch}/mpich
|
||||
install -pDm0644 %{SOURCE2} %{buildroot}%{python2_sitearch}/mpich.pth
|
||||
mkdir -p %{buildroot}%{python3_sitearch}/mpich
|
||||
install -pDm0644 %{SOURCE3} %{buildroot}%{python3_sitearch}/mpich.pth
|
||||
|
||||
find %{buildroot} -type f -name "*.la" -delete
|
||||
|
||||
%check
|
||||
make check V=1
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%license COPYRIGHT
|
||||
%doc CHANGES README README.envvar RELEASE_NOTES
|
||||
%dir %{_libdir}/mpich
|
||||
%dir %{_libdir}/mpich/lib
|
||||
%dir %{_libdir}/mpich/bin
|
||||
%{_libdir}/mpich/lib/*.so.*
|
||||
%{_libdir}/mpich/bin/hydra*
|
||||
%{_libdir}/mpich/bin/mpichversion
|
||||
%{_libdir}/mpich/bin/mpiexec*
|
||||
%{_libdir}/mpich/bin/mpirun
|
||||
%{_libdir}/mpich/bin/mpivars
|
||||
%{_libdir}/mpich/bin/parkill
|
||||
%{_sysconfdir}/modulefiles/mpi/
|
||||
|
||||
%files autoload
|
||||
%{_sysconfdir}/profile.d/mpich-%{_arch}.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/mpich-%{_arch}/
|
||||
%{_libdir}/mpich/lib/pkgconfig/
|
||||
%{_libdir}/mpich/lib/*.so
|
||||
%{_libdir}/mpich/bin/mpicc
|
||||
%{_libdir}/mpich/bin/mpic++
|
||||
%{_libdir}/mpich/bin/mpicxx
|
||||
%{_libdir}/mpich/bin/mpif77
|
||||
%{_libdir}/mpich/bin/mpif90
|
||||
%{_libdir}/mpich/bin/mpifort
|
||||
%{_fmoddir}/mpich/
|
||||
%{_rpmconfigdir}/macros.d/macros.mpich
|
||||
|
||||
%files help
|
||||
%dir %{_datadir}/mpich
|
||||
%{_datadir}/mpich/doc/
|
||||
%dir %{_mandir}/mpich-%{_arch}
|
||||
%{_mandir}/mpich-%{_arch}/man1/
|
||||
%{_mandir}/mpich-%{_arch}/man3/
|
||||
|
||||
%files -n python2-mpich
|
||||
%dir %{python2_sitearch}/mpich
|
||||
%{python2_sitearch}/mpich.pth
|
||||
|
||||
%files -n python3-mpich
|
||||
%dir %{python3_sitearch}/mpich
|
||||
%{python3_sitearch}/mpich.pth
|
||||
|
||||
%changelog
|
||||
* Thu Nov 25 2019 openEuler Buildteam <buildteam@openeuler.org> - 3.2.1-9
|
||||
- Package init
|
||||
Loading…
x
Reference in New Issue
Block a user