mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-12-25 16:51:00 -06:00
Merge pull request #1509 from akva2/add_mpich
add mpich packages to redhat
This commit is contained in:
commit
2a3a29d94c
@ -12,13 +12,14 @@ License: GPL-3.0
|
||||
Group: Development/Libraries/C and C++
|
||||
Url: http://www.opm-project.org/
|
||||
Source0: https://github.com/OPM/%{name}/archive/release/%{version}/%{tag}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
BuildRequires: blas-devel lapack-devel dune-common-devel dune-geometry-devel
|
||||
BuildRequires: git suitesparse-devel doxygen bc devtoolset-6-toolchain
|
||||
BuildRequires: opm-grid-devel opm-grid-openmpi-devel dune-grid-devel dune-localfunctions-devel
|
||||
BuildRequires: ewoms-devel ewoms-openmpi-devel opm-common-devel opm-common-openmpi-devel
|
||||
BuildRequires: opm-material-devel opm-material-openmpi-devel zlib-devel
|
||||
BuildRequires: blas-devel lapack-devel dune-common-devel
|
||||
BuildRequires: git suitesparse-devel doxygen bc devtoolset-6-toolchain
|
||||
BuildRequires: opm-grid-devel opm-grid-openmpi-devel opm-grid-mpich-devel
|
||||
BuildRequires: ewoms-devel ewoms-openmpi-devel ewoms-mpich-devel
|
||||
BuildRequires: opm-material-devel opm-material-openmpi-devel opm-material-mpich-devel
|
||||
BuildRequires: tinyxml-devel dune-istl-devel eigen3-devel ecl-devel
|
||||
BuildRequires: openmpi-devel trilinos-openmpi-devel ptscotch-openmpi-devel scotch-devel
|
||||
BuildRequires: mpich-devel trilinos-mpich-devel ptscotch-mpich-devel
|
||||
%{?el6:BuildRequires: cmake3 boost148-devel}
|
||||
%{!?el6:BuildRequires: cmake boost-devel}
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
@ -41,6 +42,13 @@ Group: System/Libraries
|
||||
%description -n libopm-simulators1-openmpi
|
||||
The Open Porous Media (OPM) initiative provides a set of open-source tools centered around the simulation of flow and transport of fluids in porous media. The goal of the initiative is to establish a sustainable environment for the development of an efficient and well-maintained software suite.
|
||||
|
||||
%package -n libopm-simulators1-mpich
|
||||
Summary: Open Porous Media - automatic differentiation library
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libopm-simulators1-mpich
|
||||
The Open Porous Media (OPM) initiative provides a set of open-source tools centered around the simulation of flow and transport of fluids in porous media. The goal of the initiative is to establish a sustainable environment for the development of an efficient and well-maintained software suite.
|
||||
|
||||
%package devel
|
||||
Summary: Development and header files for opm-simulators
|
||||
Group: Development/Libraries/C and C++
|
||||
@ -57,6 +65,14 @@ Requires: libopm-simulators1-openmpi = %{version}
|
||||
%description openmpi-devel
|
||||
This package contains the development and header files for opm-simulators
|
||||
|
||||
%package mpich-devel
|
||||
Summary: Development and header files for opm-simulators
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: libopm-simulators1-mpich = %{version}
|
||||
|
||||
%description mpich-devel
|
||||
This package contains the development and header files for opm-simulators
|
||||
|
||||
%package doc
|
||||
Summary: Documentation files for opm-simulators
|
||||
Group: Documentation
|
||||
@ -77,10 +93,26 @@ This package contains the applications for opm-simulators
|
||||
Summary: Applications in opm-simulators
|
||||
Group: Scientific
|
||||
Requires: libopm-simulators1-openmpi = %{version}
|
||||
Requires: libopm-grid1-openmpi = %{version}
|
||||
Requires: libopm-common1-openmpi = %{version}
|
||||
Requires: trilinos-openmpi
|
||||
Requires: ptscotch-openmpi
|
||||
|
||||
%description openmpi-bin
|
||||
This package contains the applications for opm-simulators
|
||||
|
||||
%package mpich-bin
|
||||
Summary: Applications in opm-simulators
|
||||
Group: Scientific
|
||||
Requires: libopm-simulators1-mpich = %{version}
|
||||
Requires: libopm-grid1-mpich = %{version}
|
||||
Requires: libopm-common1-mpich = %{version}
|
||||
Requires: trilinos-mpich
|
||||
Requires: ptscotch-mpich
|
||||
|
||||
%description mpich-bin
|
||||
This package contains the applications for opm-simulators
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-release-%{version}-%{tag}
|
||||
|
||||
@ -89,7 +121,7 @@ scl enable devtoolset-6 bash
|
||||
mkdir serial
|
||||
cd serial
|
||||
%{?el6:cmake3} %{?!el6:cmake} -DBUILD_SHARED_LIBS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%{_prefix} -DCMAKE_INSTALL_DOCDIR=share/doc/%{name}-%{version} -DUSE_RUNPATH=OFF -DWITH_NATIVE=OFF -DUSE_QUADMATH=0 -DCMAKE_CXX_COMPILER=/opt/rh/devtoolset-6/root/usr/bin/g++ -DCMAKE_C_COMPILER=/opt/rh/devtoolset-6/root/usr/bin/gcc %{?el6:-DBOOST_LIBRARYDIR=%{_libdir}/boost148 -DBOOST_INCLUDEDIR=%{_includedir}/boost148} ..
|
||||
make
|
||||
make %{?_smp_mflags}
|
||||
#make test
|
||||
cd ..
|
||||
|
||||
@ -97,8 +129,19 @@ mkdir openmpi
|
||||
cd openmpi
|
||||
%{?el6:module load openmpi-x86_64}
|
||||
%{?!el6:module load mpi/openmpi-x86_64}
|
||||
%{?el6:cmake3} %{?!el6:cmake} -DUSE_MPI=1 -DBUILD_SHARED_LIBS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%{_prefix}/lib64/openmpi -DCMAKE_INSTALL_DOCDIR=share/doc/%{name}-%{version} -DUSE_RUNPATH=OFF -DWITH_NATIVE=OFF -DUSE_QUADMATH=0 -DCMAKE_CXX_COMPILER=/opt/rh/devtoolset-6/root/usr/bin/g++ -DCMAKE_C_COMPILER=/opt/rh/devtoolset-6/root/usr/bin/gcc %{?el6:-DBOOST_LIBRARYDIR=%{_libdir}/boost148 -DBOOST_INCLUDEDIR=%{_includedir}/boost148} -DZOLTAN_ROOT=/usr/lib64/openmpi -DCMAKE_CXX_FLAGS=-I/usr/include/openmpi-x86_64/trilinos -DZOLTAN_INCLUDE_DIRS=/usr/include/openmpi-x86_64/trilinos -DPTSCOTCH_ROOT=/usr/lib64/openmpi -DPTSCOTCH_INCLUDE_DIR=/usr/include/openmpi-x86_64 ..
|
||||
make
|
||||
%{?el6:cmake3} %{?!el6:cmake} -DUSE_MPI=1 -DBUILD_SHARED_LIBS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%{_prefix}/lib64/openmpi -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_DOCDIR=share/doc/%{name}-%{version} -DUSE_RUNPATH=OFF -DWITH_NATIVE=OFF -DUSE_QUADMATH=0 -DCMAKE_CXX_COMPILER=/opt/rh/devtoolset-6/root/usr/bin/g++ -DCMAKE_C_COMPILER=/opt/rh/devtoolset-6/root/usr/bin/gcc %{?el6:-DBOOST_LIBRARYDIR=%{_libdir}/boost148 -DBOOST_INCLUDEDIR=%{_includedir}/boost148} -DZOLTAN_ROOT=/usr/lib64/openmpi -DCMAKE_CXX_FLAGS=-I/usr/include/openmpi-x86_64/trilinos -DZOLTAN_INCLUDE_DIRS=/usr/include/openmpi-x86_64/trilinos -DPTSCOTCH_ROOT=/usr/lib64/openmpi -DPTSCOTCH_INCLUDE_DIR=/usr/include/openmpi-x86_64 ..
|
||||
make %{?_smp_mflags}
|
||||
#make test
|
||||
cd ..
|
||||
|
||||
mkdir mpich
|
||||
cd mpich
|
||||
%{?el6:module rm openmpi-x86_64}
|
||||
%{?el6:module load mpich-x86_64}
|
||||
%{?!el6:module rm mpi/openmpi-x86_64}
|
||||
%{?!el6:module load mpi/mpich-x86_64}
|
||||
%{?el6:cmake3} %{?!el6:cmake} -DUSE_MPI=1 -DBUILD_SHARED_LIBS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%{_prefix}/lib64/mpich -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_DOCDIR=share/doc/%{name}-%{version} -DUSE_RUNPATH=OFF -DWITH_NATIVE=OFF -DUSE_QUADMATH=0 -DCMAKE_CXX_COMPILER=/opt/rh/devtoolset-6/root/usr/bin/g++ -DCMAKE_C_COMPILER=/opt/rh/devtoolset-6/root/usr/bin/gcc %{?el6:-DBOOST_LIBRARYDIR=%{_libdir}/boost148 -DBOOST_INCLUDEDIR=%{_includedir}/boost148} -DZOLTAN_ROOT=/usr/lib64/mpich -DCMAKE_CXX_FLAGS=-I/usr/include/mpich-x86_64/trilinos -DZOLTAN_INCLUDE_DIRS=/usr/include/mpich-x86_64/trilinos -DPTSCOTCH_ROOT=/usr/lib64/mpich -DPTSCOTCH_INCLUDE_DIR=/usr/include/mpich-x86_64 ..
|
||||
make %{?_smp_mflags}
|
||||
#make test
|
||||
|
||||
%install
|
||||
@ -106,18 +149,26 @@ cd serial
|
||||
make install DESTDIR=${RPM_BUILD_ROOT}
|
||||
make install-html DESTDIR=${RPM_BUILD_ROOT}
|
||||
cd ..
|
||||
|
||||
cd openmpi
|
||||
make install DESTDIR=${RPM_BUILD_ROOT}
|
||||
mv ${RPM_BUILD_ROOT}/usr/lib64/openmpi/include/* ${RPM_BUILD_ROOT}/usr/include/openmpi-x86_64/
|
||||
cd ..
|
||||
|
||||
cd mpich
|
||||
make install DESTDIR=${RPM_BUILD_ROOT}
|
||||
mv ${RPM_BUILD_ROOT}/usr/lib64/mpich/include/* ${RPM_BUILD_ROOT}/usr/include/mpich-x86_64/
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%post -n libopm-simulators1 -p /sbin/ldconfig
|
||||
%post -n libopm-simulators1-openmpi -p /sbin/ldconfig
|
||||
%post -n libopm-simulators1-mpich -p /sbin/ldconfig
|
||||
|
||||
%postun -n libopm-simulators1 -p /sbin/ldconfig
|
||||
%postun -n libopm-simulators1-openmpi -p /sbin/ldconfig
|
||||
%postun -n libopm-simulators1-mpich -p /sbin/ldconfig
|
||||
|
||||
%files doc
|
||||
%{_docdir}/*
|
||||
@ -128,7 +179,11 @@ rm -rf %{buildroot}
|
||||
|
||||
%files -n libopm-simulators1-openmpi
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/openmpi/lib64/*.so.*
|
||||
%{_libdir}/openmpi/lib/*.so.*
|
||||
|
||||
%files -n libopm-simulators1-mpich
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/mpich/lib/*.so.*
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
@ -141,15 +196,27 @@ rm -rf %{buildroot}
|
||||
|
||||
%files openmpi-devel
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/openmpi/lib64/*.so
|
||||
%{_libdir}/openmpi/lib/*.so
|
||||
%{_libdir}/openmpi/lib/dunecontrol/*
|
||||
%{_libdir}/openmpi/lib64/pkgconfig/*
|
||||
%{_libdir}/openmpi/lib/pkgconfig/*
|
||||
%{_includedir}/openmpi-x86_64/*
|
||||
%{_libdir}/openmpi/share/cmake/*
|
||||
%{_libdir}/openmpi/share/opm/cmake/Modules/*
|
||||
|
||||
%files mpich-devel
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/mpich/lib/*.so
|
||||
%{_libdir}/mpich/lib/dunecontrol/*
|
||||
%{_libdir}/mpich/lib/pkgconfig/*
|
||||
%{_includedir}/mpich-x86_64/*
|
||||
%{_libdir}/mpich/share/cmake/*
|
||||
%{_libdir}/mpich/share/opm/cmake/Modules/*
|
||||
|
||||
%files bin
|
||||
%{_bindir}/*
|
||||
|
||||
%files openmpi-bin
|
||||
%{_libdir}/openmpi/bin/*
|
||||
|
||||
%files mpich-bin
|
||||
%{_libdir}/mpich/bin/*
|
||||
|
Loading…
Reference in New Issue
Block a user