scotch/scotch.spec

371 lines
11 KiB
RPMSpec
Raw Normal View History

2014-08-08 14:49:59 +00:00
%global openmpidir %{_builddir}/ptscotch-openmpi-%{version}-%{release}
%global mpichdir %{_builddir}/ptscotch-mpich-%{version}-%{release}
2014-11-05 22:49:41 +00:00
# Shared library versioning:
# Increment if interface is changed in an incompatible way
%global so_maj 0
# Increment if interface is extended
2015-03-14 19:46:31 +00:00
%global so_min 2
2014-11-05 22:49:41 +00:00
2014-08-08 14:49:59 +00:00
Name: scotch
Summary: Graph, mesh and hypergraph partitioning library
2015-03-14 19:46:31 +00:00
Version: 6.0.4
2015-08-15 19:19:58 +00:00
Release: 5%{?dist}
2014-08-08 14:49:59 +00:00
License: CeCILL-C
2014-11-05 22:49:41 +00:00
URL: https://gforge.inria.fr/projects/scotch/
2014-09-22 20:27:53 +00:00
Source0: https://gforge.inria.fr/frs/download.php/file/34078/%{name}_%{version}.tar.gz
2014-08-08 14:49:59 +00:00
Source1: scotch-Makefile.shared.inc.in
2014-12-01 23:08:45 +00:00
# Makefile fixes for building esmumps
Patch0: scotch_esmumps.patch
2014-08-08 14:49:59 +00:00
BuildRequires: flex
BuildRequires: bison
BuildRequires: zlib-devel
BuildRequires: bzip2-devel
2014-12-01 23:08:45 +00:00
%if 0%{?fedora}
BuildRequires: lzma-devel
%endif
2009-11-06 23:19:41 +00:00
%description
Scotch is a software package for graph and mesh/hypergraph partitioning and
2014-09-22 20:27:53 +00:00
sparse matrix ordering. The parallel scotch libraries are packaged in the
ptscotch sub-packages.
2009-11-06 23:19:41 +00:00
%package devel
2014-08-08 14:49:59 +00:00
Summary: Development libraries for scotch
Requires: %{name}%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-static < 6.0.0-8
2009-11-06 23:19:41 +00:00
%description devel
This package contains development libraries for scotch.
%package doc
2014-08-08 14:49:59 +00:00
Summary: Documentations and example for scotch and ptscotch
BuildArch: noarch
%description doc
Contains documentations and example for scotch and ptscotch
2014-08-08 14:49:59 +00:00
###############################################################################
%package -n ptscotch-mpich
2014-08-08 14:49:59 +00:00
Summary: PT-Scotch libraries compiled against mpich
BuildRequires: mpich-devel
%description -n ptscotch-mpich
Scotch is a software package for graph and mesh/hypergraph partitioning and
sparse matrix ordering. This sub-package provides parallelized scotch libraries
2014-08-08 14:49:59 +00:00
compiled with mpich.
%package -n ptscotch-mpich-devel
2014-08-08 14:49:59 +00:00
Summary: Development libraries for PT-Scotch (mpich)
Requires: pt%{name}-mpich%{?_isa} = %{version}-%{release}
Obsoletes: ptscotch-mpich-static < 6.0.0-8
%description -n ptscotch-mpich-devel
This package contains development libraries for PT-Scotch, compiled against
mpich.
2014-08-08 14:49:59 +00:00
###############################################################################
%package -n ptscotch-openmpi
2014-08-08 14:49:59 +00:00
Summary: PT-Scotch libraries compiled against openmpi
BuildRequires: openmpi-devel
%description -n ptscotch-openmpi
Scotch is a software package for graph and mesh/hypergraph partitioning and
sparse matrix ordering. This sub-package provides parallelized scotch libraries
2014-08-08 14:49:59 +00:00
compiled with openmpi.
%package -n ptscotch-openmpi-devel
2014-08-08 14:49:59 +00:00
Summary: Development libraries for PT-Scotch (openmpi)
Requires: pt%{name}-openmpi%{?_isa} = %{version}-%{release}
Obsoletes: ptscotch-openmpi-static < 6.0.0-8
%description -n ptscotch-openmpi-devel
This package contains development libraries for PT-Scotch, compiled against openmpi.
2014-08-08 14:49:59 +00:00
###############################################################################
2009-11-06 23:19:41 +00:00
%prep
2014-08-08 14:49:59 +00:00
%setup -q -n scotch_%{version}
2014-12-01 23:08:45 +00:00
%patch0 -p1
2014-08-08 14:49:59 +00:00
cp -a %{SOURCE1} src/Makefile.inc
# Convert the license files to utf8
for file in doc/CeCILL-C_V1-en.txt doc/CeCILL-C_V1-fr.txt; do
iconv -f iso8859-1 -t utf-8 $file > $file.conv && mv -f $file.conv $file
done
2014-12-01 23:08:45 +00:00
# No lzma-devel in el
%if 0%{?rhel}
sed -i -e s/-llzmadec// -e s/-DCOMMON_FILE_COMPRESS_LZMA// src/Makefile.inc
%endif
2014-08-08 14:49:59 +00:00
cp -a . %{openmpidir}
cp -a . %{mpichdir}
2009-11-06 23:19:41 +00:00
%build
2014-08-08 14:49:59 +00:00
pushd src/
2014-12-01 23:08:45 +00:00
make %{?_smp_mflags} scotch esmumps CFLAGS="%{optflags}" LDFLAGS="%{__global_ldflags}" SOMAJ="%{so_maj}"
popd
%{_mpich_load}
2014-08-08 14:49:59 +00:00
pushd %{mpichdir}/src/
2014-12-01 23:08:45 +00:00
make %{?_smp_mflags} ptscotch ptesmumps CFLAGS="%{optflags}" LDFLAGS="%{__global_ldflags}" SOMAJ="%{so_maj}"
popd
2014-08-08 14:49:59 +00:00
%{_mpich_unload}
2009-11-06 23:19:41 +00:00
%{_openmpi_load}
2014-08-08 14:49:59 +00:00
pushd %{openmpidir}/src/
2014-12-01 23:08:45 +00:00
make %{?_smp_mflags} ptscotch ptesmumps CFLAGS="%{optflags}" LDFLAGS="%{__global_ldflags}" SOMAJ="%{so_maj}"
2009-11-06 23:19:41 +00:00
popd
2014-08-08 14:49:59 +00:00
%{_openmpi_unload}
2010-10-19 16:18:50 +00:00
%install
2014-08-08 14:49:59 +00:00
%define doinstall() \
make install prefix=%{buildroot}${MPI_HOME} libdir=%{buildroot}${MPI_LIB} includedir=%{buildroot}${MPI_INCLUDE} mandir=%{buildroot}${MPI_MAN} bindir=%{buildroot}${MPI_BIN} \
# Fix debuginfo packages not finding sources (See libscotch/Makefile) \
ln -s parser_ll.c libscotch/lex.yy.c \
ln -s parser_yy.c libscotch/y.tab.c \
ln -s parser_ly.h libscotch/y.tab.h \
\
pushd %{buildroot}${MPI_LIB}; \
for lib in *.so; do \
2014-08-08 14:49:59 +00:00
chmod 755 $lib \
2014-11-05 22:49:41 +00:00
mv $lib $lib.%{so_maj}.%{so_min} && ln -s $lib.%{so_maj}.%{so_min} $lib && ln -s $lib.%{so_maj}.%{so_min} $lib.%{so_maj} \
2014-08-08 14:49:59 +00:00
done \
popd \
\
pushd %{buildroot}${MPI_BIN} \
for prog in *; do \
mv $prog scotch_${prog} \
chmod 755 scotch_$prog \
done \
popd \
\
pushd %{buildroot}${MPI_MAN}/man1/ \
for man in *; do \
mv ${man} scotch_${man} \
done \
# Cleanup man pages (some pages are only relevant for ptscotch packages, and vice versa) \
for man in *; do \
if [ ! -f %{buildroot}${MPI_BIN}/${man/.1/} ]; then \
rm -f $man \
fi \
done \
2009-11-06 23:19:41 +00:00
popd
2014-08-08 14:49:59 +00:00
###############################################################################
2009-11-06 23:19:41 +00:00
2014-08-08 14:49:59 +00:00
export MPI_HOME=%{_prefix}
export MPI_LIB=%{_libdir}
export MPI_INCLUDE=%{_includedir}
export MPI_MAN=%{_mandir}
export MPI_BIN=%{_bindir}
pushd src
%doinstall
2009-11-06 23:19:41 +00:00
popd
2014-08-08 14:49:59 +00:00
###############################################################################
%{_mpich_load}
2014-08-08 14:49:59 +00:00
pushd %{mpichdir}/src
%doinstall
popd
%{_mpich_unload}
2014-08-08 14:49:59 +00:00
###############################################################################
%{_openmpi_load}
2014-08-08 14:49:59 +00:00
pushd %{openmpidir}/src
%doinstall
popd
%{_openmpi_unload}
2014-08-08 14:49:59 +00:00
###############################################################################
2009-11-06 23:19:41 +00:00
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post -n ptscotch-mpich -p /sbin/ldconfig
%postun -n ptscotch-mpich -p /sbin/ldconfig
%post -n ptscotch-openmpi -p /sbin/ldconfig
%postun -n ptscotch-openmpi -p /sbin/ldconfig
2014-08-08 14:49:59 +00:00
2009-11-06 23:19:41 +00:00
%files
2015-03-12 09:26:52 +00:00
%license doc/CeCILL-C_V1-en.txt
2009-11-06 23:19:41 +00:00
%{_bindir}/*
%{_libdir}/libscotch*.so.*
2014-12-01 23:08:45 +00:00
%{_libdir}/libesmumps*.so.*
2009-11-06 23:19:41 +00:00
%{_mandir}/man1/*
%files devel
%{_libdir}/libscotch*.so
2014-12-01 23:08:45 +00:00
%{_libdir}/libesmumps*.so
%{_includedir}/*scotch*.h
2014-12-01 23:08:45 +00:00
%{_includedir}/*esmumps*.h
%files -n ptscotch-mpich
2015-03-12 09:26:52 +00:00
%license doc/CeCILL-C_V1-en.txt
2014-12-01 23:08:45 +00:00
%{_libdir}/mpich/lib/lib*scotch*.so.*
%{_libdir}/mpich/lib/lib*esmumps*.so.*
%{_libdir}/mpich/bin/*
%{_mandir}/mpich/*
2014-08-08 14:49:59 +00:00
%files -n ptscotch-mpich-devel
%{_includedir}/mpich*/*scotch*.h
2014-12-01 23:08:45 +00:00
%{_includedir}/mpich*/*esmumps*.h
%{_libdir}/mpich/lib/lib*scotch*.so
%{_libdir}/mpich/lib/lib*esmumps*.so
2014-08-08 14:49:59 +00:00
%files -n ptscotch-openmpi
2015-03-12 09:26:52 +00:00
%license doc/CeCILL-C_V1-en.txt
2014-12-01 23:08:45 +00:00
%{_libdir}/openmpi/lib/lib*scotch*.so.*
%{_libdir}/openmpi/lib/lib*esmumps*.so.*
%{_libdir}/openmpi/bin/*
%{_mandir}/openmpi*/*
%files -n ptscotch-openmpi-devel
%{_includedir}/openmpi*/*scotch*.h
2014-12-01 23:08:45 +00:00
%{_includedir}/openmpi*/*esmumps*.h
%{_libdir}/openmpi/lib/lib*scotch*.so
%{_libdir}/openmpi/lib/lib*esmumps*.so
%files doc
2015-03-12 09:26:52 +00:00
%license doc/CeCILL-C_V1-en.txt
2014-08-08 14:49:59 +00:00
%doc doc/*.pdf
%doc doc/scotch_example.f
2009-11-06 23:19:41 +00:00
%changelog
2015-08-15 19:19:58 +00:00
* Sat Aug 15 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6.0.4-5
- Rebuild for MPI provides
2015-07-26 20:39:04 +00:00
* Sun Jul 26 2015 Sandro Mani <manisandro@gmail.com> - 6.0.4-4
- Rebuild for RPM MPI Requires Provides Change
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.0.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
2015-05-03 19:20:43 +00:00
* Sun May 3 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6.0.4-2
- Rebuild for changed mpich
2015-03-14 19:46:31 +00:00
* Sat Mar 14 2015 Sandro Mani <manisandro@gmail.com> - 6.0.4-1
- Update to 6.0.4
2015-03-12 09:26:52 +00:00
* Thu Mar 12 2015 Sandro Mani <manisandro@gmail.com> - 6.0.3-4
- Rebuild (mpich)
2014-12-01 23:08:45 +00:00
* Mon Dec 01 2014 Sandro Mani <manisandro@gmail.com> - 6.0.3-2
- Build esmumps
2014-11-05 22:49:41 +00:00
* Wed Nov 05 2014 Sandro Mani <manisandro@gmail.com> - 6.0.3-1
- Update to 6.0.3
2014-09-22 20:27:53 +00:00
* Mon Sep 22 2014 Sandro Mani <manisandro@gmail.com> - 6.0.1-1
- Update to 6.0.1
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.0.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
2014-08-08 14:49:59 +00:00
* Fri Aug 08 2014 Sandro Mani <manisandro@gmail.com> - 6.0.0-8
- Rework specfile
2014-07-05 19:29:53 +00:00
* Sat Jul 05 2014 Sandro Mani <manisandro@gmail.com> - 6.0.0-7
- Fix under-linked libraries (#1098680)
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.0.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu Feb 27 2014 Deji Akingunola <dakingun@gmail.com> - 6.0.0-5
- Slightly modified Erik Zeek spec re-write (See 2012-10-08 below)
- Rename mpich and openmpi subpackages as ptscotch-(mpich/openmpi) (Laurence Mcglashan)
2014-02-24 22:24:03 +00:00
* Mon Feb 24 2014 Deji Akingunola <dakingun@gmail.com> - 6.0.0-4
- Rebuild for mpich-3.1
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Sun Jul 21 2013 Deji Akingunola <dakingun@gmail.com> - 6.0.0-2
- Rename mpich2 sub-packages to mpich and rebuild for mpich-3.0
* Thu Jun 13 2013 Deji Akingunola <dakingun@gmail.com> - 6.0.0-1
- Update to 6.0.0
- Configured to run with 2 threads (for now)
- Install the headers in arch-dependent sub-directories
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.12-2.b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
2012-11-17 14:07:40 +00:00
* Sat Nov 17 2012 Deji Akingunola <dakingun@gmail.com> - 5.1.12-1.b
2012-11-17 13:30:25 +00:00
- Update to 5.1.12b
* Mon Oct 08 2012 Erik Zeek <eczeek@sandia.gov> - 5.1.11-4
- Use internal build machinery to build shared libraries.
- A bunch of MPI love.
- Install Mpich2 libraries in the proper path.
- Provide Mpich2 and OpenMPI libraries.
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
2011-03-29 15:34:01 +00:00
* Tue Mar 29 2011 Deji Akingunola <dakingun@gmail.com> - 5.1.11-1
- Update to 5.1.11
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.10b-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
2011-03-29 15:34:01 +00:00
* Tue Oct 19 2010 Deji Akingunola <dakingun@gmail.com> - 5.1.10b-1
2010-10-19 16:18:50 +00:00
- Update to 5.1.10b
* Thu Aug 12 2010 Deji Akingunola <dakingun@gmail.com> - 5.1.9-1
- Update to 5.1.9
- No more static builds
2010-04-29 17:46:28 +00:00
* Tue Apr 27 2010 Deji Akingunola <dakingun@gmail.com> - 5.1.8-1
- Update to 5.1.8
2009-11-06 23:19:41 +00:00
* Wed Nov 04 2009 Deji Akingunola <dakingun@gmail.com> - 5.1.7-2
- Fix the Source url
* Sun Sep 20 2009 Deji Akingunola <dakingun@gmail.com> - 5.1.7-1
- Update to 5.1.7
- Put the library under libdir
* Thu Jun 11 2009 Deji Akingunola <dakingun@gmail.com> - 5.1.6-3
- Further spec fixes from package review (convert license files to utf8)
- Prefix binaries and their corresponding manpages with scotch_ .
- Link in appropriates libraries when creating shared libs
* Thu Jun 04 2009 Deji Akingunola <dakingun@gmail.com> - 5.1.6-2
- Add zlib-devel as BR
* Wed May 13 2009 Deji Akingunola <dakingun@gmail.com> - 5.1.6-1
- Update to 5.1.6
* Fri Nov 21 2008 Deji Akingunola <dakingun@gmail.com> - 5.1.2-1
2009-11-06 23:19:41 +00:00
- Update to 5.1.2
* Fri Sep 19 2008 Deji Akingunola <dakingun@gmail.com> - 5.1.1-1
2009-11-06 23:19:41 +00:00
- initial package creation