diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c255a7e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/libcircle-0.2.1-rc.1.tar.gz +/libcircle-*.src.rpm diff --git a/libcircle.spec b/libcircle.spec new file mode 100644 index 0000000..0116c3e --- /dev/null +++ b/libcircle.spec @@ -0,0 +1,143 @@ +Name: libcircle +Version: 0.2.1 +Release: 0.3rc1%{?dist} + +%global myversion 0.2.1-rc.1 +Source: https://github.com/hpc/libcircle/releases/download/%{myversion}/%{name}-%{myversion}.tar.gz +URL: http://hpc.github.io/libcircle/ +Summary: A library used to distribute workloads +License: BSD + +BuildRequires: check-devel +BuildRequires: doxygen +BuildRequires: graphviz + +%description +A simple interface for processing workloads using an automatically +distributed global queue. + +%package openmpi +Summary: Libcircle Open MPI libraries +BuildRequires: openmpi-devel + +%description openmpi +A simple interface for processing workloads using an automatically +distributed global queue. + +libcircle compiled with Open MPI + +%package mpich +Summary: Libcircle MPICH libraries +BuildRequires: mpich-devel + +%description mpich +A simple interface for processing workloads using an automatically +distributed global queue. + +libcircle compiled with MPICH + +%package doc +Summary: Documuation for libcircle +BuildArch: noarch + +%description doc +A simple interface for processing workloads using an automatically +distributed global queue. + +This package contain documenation for libcircle + +%package openmpi-devel +Summary: Development headers and libraries for Open MPI libcircle +Requires: %{name}-openmpi%{?_isa} = %{version}-%{release} + +%description openmpi-devel +A simple interface for processing workloads using an automatically +distributed global queue. + +This package contains development headers and libraries for Open +MPI ibcircle + +%package mpich-devel +Summary: Development headers and libraries for MPICH libcircle +Requires: %{name}-mpich%{?_isa} = %{version}-%{release} + +%description mpich-devel +A simple interface for processing workloads using an automatically +distributed global queue. + +This package contains development headers and libraries for +MPICH ibcircle + +%prep +%setup -q -n %{name}-%{myversion} + +%build +mkdir openmpi mpich +%global dconfigure %(printf %%s '%configure' | sed 's!\./configure!../configure!g') + +pushd openmpi +%{_openmpi_load} +%dconfigure --enable-doxygen --enable-tests --disable-static --libdir="${MPI_LIB}" --includedir="${MPI_INCLUDE}" +%make_build +%{_openmpi_unload} +popd + +pushd mpich +%{_mpich_load} +%dconfigure --enable-tests --disable-static --libdir="${MPI_LIB}" --includedir="${MPI_INCLUDE}" +%make_build +%{_mpich_unload} +popd + +%install +%make_install -C openmpi +%make_install -C mpich +rm %{buildroot}%{_libdir}/*mpi*/lib/*.la + +cd openmpi +mkdir -p %{buildroot}%{_docdir}/%{name} +cp -r doc/html/* %{buildroot}%{_docdir}/%{name} + +%check +%{_openmpi_load} +make -C openmpi check +%{_openmpi_unload} +%{_mpich_load} +make -C mpich check +%{_mpich_unload} + +# MPI subpackages don't need the ldconfig magic. They are hidden by +# default, in MPI back-end-specific directory, and only show to the +# user after the relevant environment module has been loaded. +# rpmlint will report that as errors, but it is fine. + +%files openmpi +%license COPYING AUTHORS +%{_libdir}/openmpi*/lib/%{name}.so.* + +%files mpich +%license COPYING AUTHORS +%{_libdir}/mpich*/lib/%{name}.so.* + +%files openmpi-devel +%{_libdir}/openmpi*/lib/%{name}.so +%{_libdir}/openmpi*/lib/pkgconfig/%{name}.pc +%{_includedir}/openmpi*/%{name}.h + +%files mpich-devel +%{_libdir}/mpich*/lib/%{name}.so +%{_libdir}/mpich*/lib/pkgconfig/%{name}.pc +%{_includedir}/mpich*/%{name}.h + +%doc +%{_docdir}/%{name} + +%changelog +* Tue Dec 05 2017 Christoph Junghans - 0.2.1-0.3rc1 +- Comments from #1513733 + +* Wed Nov 15 2017 Christoph Junghans - 0.2.1-0.2rc1 +- Split devel pacakge + +* Wed Nov 15 2017 Christoph Junghans - 0.2.1-0.1rc1 +- First release. diff --git a/sources b/sources new file mode 100644 index 0000000..af7f1e2 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (libcircle-0.2.1-rc.1.tar.gz) = 526b34c52c2c596f0f9b28b06ec3d11992bce5bd5fa1fdd1f9b5efc9a502bc4ea33ba875282166fd435f50ba86f4337a76ed47aebd1231441bf08c15db3fdc66