Release 7.0.3|Rename internal Metis include files to avoid conflicts
This commit is contained in:
parent
61338f596c
commit
1035b0f643
1
.gitignore
vendored
1
.gitignore
vendored
@ -15,3 +15,4 @@ scotch_5.1.8.tar.gz
|
||||
/scotch_6.1.0.tar.gz
|
||||
/scotch_6.1.1.tar.gz
|
||||
/scotch-v6.1.2.tar.bz2
|
||||
/scotch-v7.0.3.tar.bz2
|
||||
|
@ -1,24 +0,0 @@
|
||||
EXE =
|
||||
LIB = .so
|
||||
OBJ = .o
|
||||
|
||||
MAKE = make
|
||||
AR = gcc
|
||||
CAT = cat
|
||||
CCS = gcc
|
||||
CCP = mpicc
|
||||
CCD = mpicc
|
||||
override CFLAGS += -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_FILE_COMPRESS_BZ2 -DCOMMON_FILE_COMPRESS_LZMA \
|
||||
-DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME \
|
||||
-Drestrict=__restrict -DIDXSIZE64
|
||||
CLIBFLAGS = -shared -fPIC
|
||||
override LDFLAGS += -lz -lbz2 -llzma -lm -lrt -lpthread
|
||||
# LDFLAGS added to AR rule in Makefiles to come after objects to work with -Wl,--as-needed
|
||||
ARFLAGS = -shared -Wl,-soname=$@.$(SOMAJ) -o
|
||||
CP = cp -av
|
||||
LEX = flex
|
||||
LN = ln
|
||||
MKDIR = mkdir -p
|
||||
MV = mv
|
||||
RANLIB = echo
|
||||
YACC = bison -y
|
@ -1,12 +0,0 @@
|
||||
diff -rupN --no-dereference scotch-v6.1.2/src/check/Makefile scotch-v6.1.2-new/src/check/Makefile
|
||||
--- scotch-v6.1.2/src/check/Makefile 2021-11-13 11:07:54.000000000 +0100
|
||||
+++ scotch-v6.1.2-new/src/check/Makefile 2021-11-13 21:44:21.161507721 +0100
|
||||
@@ -68,7 +68,7 @@ include ../Makefile.inc
|
||||
$(CC) $(CFLAGS) -I$(SCOTCHINCDIR) -L$(SCOTCHLIBDIR) $(<) -o $(@) $(SCOTCHLIBS) $(LDFLAGS)
|
||||
|
||||
%$(EXE) : %.f90
|
||||
- $(FC) $(FFLAGS) -I$(SCOTCHINCDIR) -L$(SCOTCHLIBDIR) $(<) -o $(@) $(SCOTCHLIBS) $(LDFLAGS)
|
||||
+ gfortran $(FFLAGS) -I$(SCOTCHINCDIR) -L$(SCOTCHLIBDIR) $(<) -o $(@) $(SCOTCHLIBS) $(LDFLAGS)
|
||||
|
||||
##
|
||||
## Project rules.
|
@ -1,69 +0,0 @@
|
||||
diff -rupN --no-dereference scotch-v6.1.2/src/esmumps/Makefile scotch-v6.1.2-new/src/esmumps/Makefile
|
||||
--- scotch-v6.1.2/src/esmumps/Makefile 2021-11-13 11:07:54.000000000 +0100
|
||||
+++ scotch-v6.1.2-new/src/esmumps/Makefile 2021-11-13 21:44:21.098507670 +0100
|
||||
@@ -196,7 +196,7 @@ symbol_fax_graph$(OBJ) : symbol_fax_gra
|
||||
fax.h
|
||||
|
||||
libesmumps$(LIB) : $(LIBESMUMPSDEPS)
|
||||
- $(AR) $(ARFLAGS) $(@) $(?)
|
||||
+ $(AR) $(ARFLAGS) $(@) $(?) $(LDFLAGS)
|
||||
-$(RANLIB) $(@)
|
||||
|
||||
main_esmumps$(EXE) : main_esmumps.c \
|
||||
diff -rupN --no-dereference scotch-v6.1.2/src/libscotch/Makefile scotch-v6.1.2-new/src/libscotch/Makefile
|
||||
--- scotch-v6.1.2/src/libscotch/Makefile 2021-11-13 11:07:54.000000000 +0100
|
||||
+++ scotch-v6.1.2-new/src/libscotch/Makefile 2021-11-13 21:44:21.098507670 +0100
|
||||
@@ -3119,26 +3119,26 @@ ptscotchf.h : ptdummysizes$(EXE) \
|
||||
library_pt_f.h
|
||||
./ptdummysizes$(EXE) "-s$(SCOTCH_NAME_SUFFIX)" library_pt_f.h ptscotchf.h
|
||||
|
||||
-libscotch$(LIB) : $(LIBSCOTCHDEPS)
|
||||
- $(AR) $(ARFLAGS) $(@) $(?)
|
||||
+libscotch$(LIB) : $(LIBSCOTCHDEPS) libscotcherr$(LIB)
|
||||
+ $(AR) $(ARFLAGS) $(@) $(?) $(LDFLAGS) -L . -lscotcherr
|
||||
-$(RANLIB) $(@)
|
||||
|
||||
libscotcherr$(LIB) : library_error$(OBJ)
|
||||
- $(AR) $(ARFLAGS) $(@) $(?)
|
||||
+ $(AR) $(ARFLAGS) $(@) $(?) $(LDFLAGS)
|
||||
-$(RANLIB) $(@)
|
||||
|
||||
libscotcherrexit$(LIB) : library_error_exit$(OBJ)
|
||||
- $(AR) $(ARFLAGS) $(@) $(?)
|
||||
+ $(AR) $(ARFLAGS) $(@) $(?) $(LDFLAGS)
|
||||
-$(RANLIB) $(@)
|
||||
|
||||
-libptscotch$(LIB) : $(LIBPTSCOTCHDEPS)
|
||||
- $(AR) $(ARFLAGS) $(@) $(?)
|
||||
+libptscotch$(LIB) : $(LIBPTSCOTCHDEPS) libscotch$(LIB)
|
||||
+ $(AR) $(ARFLAGS) $(@) $(?) $(LDFLAGS) -L . -lscotch
|
||||
-$(RANLIB) $(@)
|
||||
|
||||
libptscotcherr$(LIB) : library_error_pt$(OBJ)
|
||||
- $(AR) $(ARFLAGS) $(@) $(?)
|
||||
+ $(AR) $(ARFLAGS) $(@) $(?) $(LDFLAGS)
|
||||
-$(RANLIB) $(@)
|
||||
|
||||
libptscotcherrexit$(LIB) : library_error_exit_pt$(OBJ)
|
||||
- $(AR) $(ARFLAGS) $(@) $(?)
|
||||
+ $(AR) $(ARFLAGS) $(@) $(?) $(LDFLAGS)
|
||||
-$(RANLIB) $(@)
|
||||
diff -rupN --no-dereference scotch-v6.1.2/src/libscotchmetis/Makefile scotch-v6.1.2-new/src/libscotchmetis/Makefile
|
||||
--- scotch-v6.1.2/src/libscotchmetis/Makefile 2021-11-13 11:07:54.000000000 +0100
|
||||
+++ scotch-v6.1.2-new/src/libscotchmetis/Makefile 2021-11-13 21:44:21.099507671 +0100
|
||||
@@ -187,7 +187,7 @@ libptscotchparmetis$(LIB) : parmetis_dgr
|
||||
parmetis_dgraph_order_f$(OBJ) \
|
||||
parmetis_dgraph_part$(OBJ) \
|
||||
parmetis_dgraph_part_f$(OBJ)
|
||||
- $(AR) $(ARFLAGS) $(@) $(^)
|
||||
+ $(AR) $(ARFLAGS) $(@) $(^) $(LDFLAGS) -L ../libscotch -lptscotch
|
||||
-$(RANLIB) $(@)
|
||||
|
||||
libscotchmetis$(LIB) : metis_graph_dual$(OBJ) \
|
||||
@@ -200,5 +200,5 @@ libscotchmetis$(LIB) : metis_graph_dual
|
||||
metis_graph_part_dual_f$(OBJ) \
|
||||
metis_options$(OBJ) \
|
||||
metis_options_f$(OBJ)
|
||||
- $(AR) $(ARFLAGS) $(@) $(^)
|
||||
+ $(AR) $(ARFLAGS) $(@) $(^) $(LDFLAGS) -L ../libscotch -lscotch
|
||||
-$(RANLIB) $(@)
|
429
scotch.spec
429
scotch.spec
@ -1,35 +1,26 @@
|
||||
%global openmpidir %{_builddir}/ptscotch-openmpi-%{version}-%{release}
|
||||
%global mpichdir %{_builddir}/ptscotch-mpich-%{version}-%{release}
|
||||
|
||||
# Shared library versioning:
|
||||
# Increment if interface is changed in an incompatible way
|
||||
%global so_maj 1
|
||||
# Increment if interface is extended
|
||||
%global so_min 3
|
||||
%bcond_without metis
|
||||
|
||||
Name: scotch
|
||||
Summary: Graph, mesh and hypergraph partitioning library
|
||||
Version: 6.1.2
|
||||
Release: 4%{?dist}
|
||||
Version: 7.0.3
|
||||
Release: 1%{?dist}
|
||||
|
||||
License: CeCILL-C
|
||||
URL: https://gitlab.inria.fr/scotch/scotch
|
||||
Source0: https://gitlab.inria.fr/scotch/scotch/-/archive/v%{version}/scotch-v%{version}.tar.bz2
|
||||
Source1: scotch-Makefile.shared.inc.in
|
||||
|
||||
# Make shared libraries link properly with -Wl,--as-needed
|
||||
Patch0: scotch-ldflags.patch
|
||||
# Ensure gfortran is used as fortran compiler
|
||||
Patch1: scotch-gfortran.patch
|
||||
# Use CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_INCLUDEDIR
|
||||
Patch0: scotch_installdirs.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: bison
|
||||
BuildRequires: bzip2-devel
|
||||
BuildRequires: cmake
|
||||
BuildRequires: flex
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gcc-gfortran
|
||||
BuildRequires: make
|
||||
BuildRequires: flex
|
||||
BuildRequires: bison
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: bzip2-devel
|
||||
BuildRequires: xz-devel
|
||||
BuildRequires: zlib-devel
|
||||
|
||||
%description
|
||||
Scotch is a software package for graph and mesh/hypergraph partitioning and
|
||||
@ -44,6 +35,17 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
This package contains development libraries for scotch.
|
||||
|
||||
|
||||
%if %{with metis}
|
||||
%package devel-metis
|
||||
Summary: Metis compatibility header
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel-metis
|
||||
This header is a drop-in replacement for the original metis.h header
|
||||
to build against the scotch.
|
||||
%endif
|
||||
|
||||
|
||||
%package doc
|
||||
Summary: Documentations and example for scotch and ptscotch
|
||||
BuildArch: noarch
|
||||
@ -71,13 +73,16 @@ Requires: pt%{name}-mpich%{?_isa} = %{version}-%{release}
|
||||
This package contains development libraries for PT-Scotch, compiled against
|
||||
mpich.
|
||||
|
||||
|
||||
%if %{with metis}
|
||||
%package -n ptscotch-mpich-devel-parmetis
|
||||
Summary: Parmetis compatibility header for scotch
|
||||
Summary: Parmetis compatibility header
|
||||
Requires: pt%{name}-mpich-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n ptscotch-mpich-devel-parmetis
|
||||
This package contains the parmetis compatibility header for scotch.
|
||||
|
||||
This header is a drop-in replacement for the original parmetis.h header
|
||||
to build against the scotch.
|
||||
%endif
|
||||
|
||||
###############################################################################
|
||||
|
||||
@ -100,176 +105,314 @@ This package contains development libraries for PT-Scotch, compiled against
|
||||
openmpi.
|
||||
|
||||
|
||||
%if %{with metis}
|
||||
%package -n ptscotch-openmpi-devel-parmetis
|
||||
Summary: Parmetis compatibility header for scotch
|
||||
Summary: Parmetis compatibility header
|
||||
Requires: pt%{name}-openmpi-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n ptscotch-openmpi-devel-parmetis
|
||||
This package contains the parmetis compatibility header for scotch.
|
||||
This header is a drop-in replacement for the original parmetis.h header
|
||||
to build against the scotch.
|
||||
%endif
|
||||
|
||||
|
||||
###############################################################################
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}-v%{version}
|
||||
%autosetup -N -n %{name}-v%{version}
|
||||
|
||||
cp -a %{SOURCE1} src/Makefile.inc
|
||||
%patch 0 -p1 -b .backup
|
||||
|
||||
# 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
|
||||
|
||||
cp -a . %{openmpidir}
|
||||
cp -a . %{mpichdir}
|
||||
|
||||
|
||||
%build
|
||||
pushd src/
|
||||
make scotch esmumps CFLAGS="%{optflags}" LDFLAGS="%{?__global_ldflags}" SOMAJ="%{so_maj}"
|
||||
popd
|
||||
%define _vpath_builddir %{_target_platform}
|
||||
%cmake -DBUILD_PTSCOTCH=OFF \
|
||||
-DCOMMON_PTHREAD:BOOL=ON \
|
||||
-DSCOTCH_PTHREAD:BOOL=ON \
|
||||
-DCOMMON_PTHREAD_AFFINITY_LINUX:BOOL=ON \
|
||||
%if %{with metis}
|
||||
-DBUILD_LIBSCOTCHMETIS=ON \
|
||||
-DSCOTCH_METIS_VERSION=5 \
|
||||
%else
|
||||
-DBUILD_LIBSCOTCHMETIS=OFF \
|
||||
%endif
|
||||
-DCMAKE_INSTALL_BINDIR=%{_bindir} \
|
||||
-DCMAKE_INSTALL_LIBDIR=%{_libdir} \
|
||||
-DCMAKE_INSTALL_INCLUDEDIR=%{_includedir}/scotch \
|
||||
%cmake_build
|
||||
|
||||
%{_mpich_load}
|
||||
pushd %{mpichdir}/src/
|
||||
make ptscotch ptesmumps CFLAGS="%{optflags}" LDFLAGS="%{?__global_ldflags} -L%{_libdir}/mpich/lib -lmpi" SOMAJ="%{so_maj}"
|
||||
popd
|
||||
%define _vpath_builddir %{_target_platform}-mpich
|
||||
%cmake -DBUILD_PTSCOTCH=ON \
|
||||
-DCOMMON_PTHREAD:BOOL=ON \
|
||||
-DSCOTCH_PTHREAD:BOOL=ON \
|
||||
-DCOMMON_PTHREAD_AFFINITY_LINUX:BOOL=ON \
|
||||
%if %{with metis}
|
||||
-DBUILD_LIBSCOTCHMETIS=ON \
|
||||
-DSCOTCH_PARMETIS_VERSION=3 \
|
||||
%else
|
||||
-DBUILD_LIBSCOTCHMETIS=OFF \
|
||||
%endif
|
||||
-DCMAKE_INSTALL_BINDIR=$MPI_BIN \
|
||||
-DCMAKE_INSTALL_LIBDIR=$MPI_LIB \
|
||||
-DCMAKE_INSTALL_INCLUDEDIR=$MPI_INCLUDE/scotch
|
||||
%cmake_build
|
||||
%{_mpich_unload}
|
||||
|
||||
%{_openmpi_load}
|
||||
pushd %{openmpidir}/src/
|
||||
make ptscotch ptesmumps CFLAGS="%{optflags}" LDFLAGS="%{?__global_ldflags} -L%{_libdir}/openmpi/lib -lmpi" SOMAJ="%{so_maj}"
|
||||
popd
|
||||
%define _vpath_builddir %{_target_platform}-openmpi
|
||||
%cmake -DBUILD_PTSCOTCH=ON \
|
||||
-DCOMMON_PTHREAD:BOOL=ON \
|
||||
-DSCOTCH_PTHREAD:BOOL=ON \
|
||||
-DCOMMON_PTHREAD_AFFINITY_LINUX:BOOL=ON \
|
||||
%if %{with metis}
|
||||
-DBUILD_LIBSCOTCHMETIS=ON \
|
||||
-DSCOTCH_PARMETIS_VERSION=3 \
|
||||
%else
|
||||
-DBUILD_LIBSCOTCHMETIS=OFF \
|
||||
%endif
|
||||
-DCMAKE_INSTALL_BINDIR=$MPI_BIN \
|
||||
-DCMAKE_INSTALL_LIBDIR=$MPI_LIB \
|
||||
-DCMAKE_INSTALL_INCLUDEDIR=$MPI_INCLUDE/scotch
|
||||
%cmake_build
|
||||
%{_openmpi_unload}
|
||||
|
||||
|
||||
%install
|
||||
%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 \
|
||||
chmod 755 $lib \
|
||||
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} \
|
||||
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 \
|
||||
popd
|
||||
%define _vpath_builddir %{_target_platform}
|
||||
%cmake_install
|
||||
|
||||
###############################################################################
|
||||
|
||||
export MPI_HOME=%{_prefix}
|
||||
export MPI_LIB=%{_libdir}
|
||||
export MPI_INCLUDE=%{_includedir}
|
||||
export MPI_MAN=%{_mandir}
|
||||
export MPI_BIN=%{_bindir}
|
||||
pushd src
|
||||
%doinstall
|
||||
popd
|
||||
|
||||
###############################################################################
|
||||
%if %{with metis}
|
||||
# Default to the v5 API for the metis compat library
|
||||
ln -s libscotchmetisv5.so %{buildroot}%{_libdir}/libscotchmetis.so
|
||||
# Rename include files to avoid conflicts with original Metis
|
||||
mv %{buildroot}%{_includedir}/scotch/metis.h %{buildroot}%{_includedir}/scotch/scotchmetis.h
|
||||
mv %{buildroot}%{_includedir}/scotch/metisf.h %{buildroot}%{_includedir}/scotch/scotchmetisf.h
|
||||
%endif
|
||||
cp -p %{buildroot}%{_libdir}/libesmumps.so %{buildroot}%{_libdir}/libesmumps.so.7.0.3
|
||||
ln -sf libesmumps.so.7.0.3 %{buildroot}%{_libdir}/libesmumps.so
|
||||
ln -sf libesmumps.so.7.0.3 %{buildroot}%{_libdir}/libptesmumps.so
|
||||
|
||||
##############
|
||||
%{_mpich_load}
|
||||
pushd %{mpichdir}/src
|
||||
%doinstall
|
||||
install -m644 libscotchmetis/parmetis.h %{buildroot}${MPI_INCLUDE}
|
||||
popd
|
||||
%define _vpath_builddir %{_target_platform}-mpich
|
||||
%cmake_install
|
||||
|
||||
# Compat symlink to ptesmumps.so
|
||||
cp -p %{buildroot}$MPI_LIB/libptesmumps.so %{buildroot}$MPI_LIB/libptesmumps.so.7.0.3
|
||||
ln -sf libptesmumps.so.7.0.3 %{buildroot}$MPI_LIB/libptesmumps.so
|
||||
|
||||
%if %{with metis}
|
||||
# Default to the v5 API for the metis compat library
|
||||
ln -s libscotchmetisv5.so %{buildroot}$MPI_LIB/libscotchmetis.so
|
||||
# Only the ParMeTiS v3 API is available
|
||||
ln -s libptscotchparmetisv3.so %{buildroot}$MPI_LIB/libparmetis.so
|
||||
ln -s libptscotchparmetisv3.so %{buildroot}$MPI_LIB/libptscotchparmetis.so
|
||||
# Rename include files to avoid conflicts with original Metis
|
||||
mv %{buildroot}$MPI_INCLUDE/scotch/metis.h %{buildroot}$MPI_INCLUDE/scotch/scotchmetis.h
|
||||
mv %{buildroot}$MPI_INCLUDE/scotch/metisf.h %{buildroot}$MPI_INCLUDE/scotch/scotchmetisf.h
|
||||
%endif
|
||||
%{_mpich_unload}
|
||||
################
|
||||
|
||||
###############################################################################
|
||||
|
||||
################
|
||||
%{_openmpi_load}
|
||||
pushd %{openmpidir}/src
|
||||
%doinstall
|
||||
install -m644 libscotchmetis/parmetis.h %{buildroot}${MPI_INCLUDE}
|
||||
popd
|
||||
%{_openmpi_unload}
|
||||
%define _vpath_builddir %{_target_platform}-openmpi
|
||||
%cmake_install
|
||||
|
||||
###############################################################################
|
||||
# Compat symlink to ptesmumps.so
|
||||
cp -p %{buildroot}$MPI_LIB/libptesmumps.so %{buildroot}$MPI_LIB/libptesmumps.so.7.0.3
|
||||
ln -sf libptesmumps.so.7.0.3 %{buildroot}$MPI_LIB/libptesmumps.so
|
||||
|
||||
%if %{with metis}
|
||||
# Default to the v5 API for the metis compat library
|
||||
ln -s libscotchmetisv5.so %{buildroot}$MPI_LIB/libscotchmetis.so
|
||||
# Only the ParMeTiS v3 API is available
|
||||
ln -s libptscotchparmetisv3.so %{buildroot}$MPI_LIB/libparmetis.so
|
||||
ln -s libptscotchparmetisv3.so %{buildroot}$MPI_LIB/libptscotchparmetis.so
|
||||
# Rename include files to avoid conflicts with original Metis
|
||||
mv %{buildroot}$MPI_INCLUDE/scotch/metis.h %{buildroot}$MPI_INCLUDE/scotch/scotchmetis.h
|
||||
mv %{buildroot}$MPI_INCLUDE/scotch/metisf.h %{buildroot}$MPI_INCLUDE/scotch/scotchmetisf.h
|
||||
%endif
|
||||
%{_openmpi_unload}
|
||||
##################
|
||||
|
||||
# Don't install executables
|
||||
rm -f %{buildroot}%{_bindir}/*
|
||||
rm -rf %{buildroot}%{_prefix}/man/*
|
||||
|
||||
|
||||
%check
|
||||
LD_LIBRARY_PATH=%{buildroot}%{_libdir} make -C src/check
|
||||
%define _vpath_builddir %{_target_platform}
|
||||
%ctest || :
|
||||
|
||||
%{_mpich_load}
|
||||
%define _vpath_builddir %{_target_platform}-mpich
|
||||
%ctest || :
|
||||
%{_mpich_unload}
|
||||
|
||||
%{_openmpi_load}
|
||||
%define _vpath_builddir %{_target_platform}-openmpi
|
||||
%ctest || :
|
||||
%{_openmpi_unload}
|
||||
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%ldconfig_scriptlets -n ptscotch-mpich
|
||||
|
||||
%ldconfig_scriptlets -n ptscotch-openmpi
|
||||
|
||||
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%files
|
||||
%license doc/CeCILL-C_V1-en.txt
|
||||
%{_bindir}/*
|
||||
%{_libdir}/libscotch*.so.1*
|
||||
%{_libdir}/libesmumps*.so.1*
|
||||
%{_mandir}/man1/*
|
||||
%{_libdir}/libscotch.so.7*
|
||||
%{_libdir}/libesmumps.so.7*
|
||||
%if %{with metis}
|
||||
%{_libdir}/libscotchmetisv3.so
|
||||
%{_libdir}/libscotchmetisv5.so
|
||||
%endif
|
||||
|
||||
%files devel
|
||||
%{_libdir}/libscotch*.so
|
||||
%{_libdir}/libesmumps*.so
|
||||
%{_includedir}/*scotch*.h
|
||||
%{_includedir}/*esmumps*.h
|
||||
%dir %{_includedir}/scotch
|
||||
%{_includedir}/scotch/scotch.h
|
||||
%{_includedir}/scotch/scotchf.h
|
||||
%{_includedir}/scotch/esmumps.h
|
||||
%{_libdir}/libesmumps.so
|
||||
%{_libdir}/libptesmumps.so
|
||||
%{_libdir}/libscotch.so
|
||||
%{_libdir}/libscotcherr.so
|
||||
%{_libdir}/libscotcherrexit.so
|
||||
%dir %{_libdir}/cmake/scotch/
|
||||
%{_libdir}/cmake/scotch/ptesmumpsTargets*
|
||||
%{_libdir}/cmake/scotch/esmumpsTargets*
|
||||
%{_libdir}/cmake/scotch/SCOTCH*
|
||||
%{_libdir}/cmake/scotch/scotchTargets*
|
||||
%{_libdir}/cmake/scotch/scotcherrTargets*
|
||||
%{_libdir}/cmake/scotch/scotcherrexitTargets*
|
||||
|
||||
%files -n ptscotch-mpich
|
||||
%license doc/CeCILL-C_V1-en.txt
|
||||
%{_libdir}/mpich/lib/lib*scotch*.so.1*
|
||||
%{_libdir}/mpich/lib/lib*esmumps*.so.1*
|
||||
%{_libdir}/mpich/bin/*
|
||||
%{_mandir}/mpich*/*
|
||||
|
||||
%files -n ptscotch-mpich-devel
|
||||
%{_includedir}/mpich*/*scotch*.h
|
||||
%{_includedir}/mpich*/*esmumps*.h
|
||||
%{_libdir}/mpich/lib/lib*scotch*.so
|
||||
%{_libdir}/mpich/lib/lib*esmumps*.so
|
||||
|
||||
%files -n ptscotch-mpich-devel-parmetis
|
||||
%{_includedir}/mpich*/parmetis.h
|
||||
|
||||
%files -n ptscotch-openmpi
|
||||
%license doc/CeCILL-C_V1-en.txt
|
||||
%{_libdir}/openmpi/lib/lib*scotch*.so.1*
|
||||
%{_libdir}/openmpi/lib/lib*esmumps*.so.1*
|
||||
%{_libdir}/openmpi/bin/*
|
||||
%{_mandir}/openmpi*/*
|
||||
|
||||
%files -n ptscotch-openmpi-devel
|
||||
%{_includedir}/openmpi*/*scotch*.h
|
||||
%{_includedir}/openmpi*/*esmumps*.h
|
||||
%{_libdir}/openmpi/lib/lib*scotch*.so
|
||||
%{_libdir}/openmpi/lib/lib*esmumps*.so
|
||||
|
||||
%files -n ptscotch-openmpi-devel-parmetis
|
||||
%{_includedir}/openmpi*/parmetis.h
|
||||
%if %{with metis}
|
||||
%files devel-metis
|
||||
%dir %{_includedir}/scotch
|
||||
%{_includedir}/scotch/scotchmetis.h
|
||||
%{_includedir}/scotch/scotchmetisf.h
|
||||
%{_libdir}/libscotchmetis.so
|
||||
%{_libdir}/cmake/scotch/scotchmetisTargets*
|
||||
%endif
|
||||
|
||||
%files doc
|
||||
%license doc/CeCILL-C_V1-en.txt
|
||||
%doc doc/*.pdf
|
||||
%doc doc/scotch_example.f
|
||||
|
||||
%files -n ptscotch-mpich
|
||||
%license doc/CeCILL-C_V1-en.txt
|
||||
%{_libdir}/mpich/lib/libptscotch.so.7*
|
||||
%{_libdir}/mpich/lib/libptesmumps.so.7*
|
||||
%{_libdir}/mpich/lib/libscotch.so.7*
|
||||
%if %{with metis}
|
||||
%{_libdir}/mpich/lib/libscotchmetisv3.so
|
||||
%{_libdir}/mpich/lib/libscotchmetisv5.so
|
||||
%{_libdir}/mpich/lib/libptscotchparmetisv3.so
|
||||
%endif
|
||||
|
||||
%files -n ptscotch-mpich-devel
|
||||
%dir %{_includedir}/mpich*/scotch
|
||||
%{_includedir}/mpich*/scotch/ptscotch.h
|
||||
%{_includedir}/mpich*/scotch/ptscotchf.h
|
||||
%{_includedir}/mpich*/scotch/scotch.h
|
||||
%{_includedir}/mpich*/scotch/scotchf.h
|
||||
%{_includedir}/mpich*/scotch/esmumps.h
|
||||
%{_libdir}/mpich/lib/libptscotch.so
|
||||
%{_libdir}/mpich/lib/libptscotcherr.so
|
||||
%{_libdir}/mpich/lib/libptscotcherrexit.so
|
||||
%{_libdir}/mpich/lib/libscotch.so
|
||||
%{_libdir}/mpich/lib/libscotcherr.so
|
||||
%{_libdir}/mpich/lib/libscotcherrexit.so
|
||||
%{_libdir}/mpich/lib/libesmumps.so
|
||||
%{_libdir}/mpich/lib/libptesmumps.so
|
||||
%dir %{_libdir}/mpich/lib/cmake/scotch/
|
||||
%{_libdir}/mpich/lib/cmake/scotch/ptesmumpsTargets*
|
||||
%{_libdir}/mpich/lib/cmake/scotch/SCOTCHConfig.cmake
|
||||
%{_libdir}/mpich/lib/cmake/scotch/SCOTCHConfigVersion.cmake
|
||||
%{_libdir}/mpich/lib/cmake/scotch/esmumpsTargets*
|
||||
%{_libdir}/mpich/lib/cmake/scotch/ptscotchTargets*
|
||||
%{_libdir}/mpich/lib/cmake/scotch/ptscotcherrTargets*
|
||||
%{_libdir}/mpich/lib/cmake/scotch/ptscotcherrexitTargets*
|
||||
%{_libdir}/mpich/lib/cmake/scotch/scotchTargets*
|
||||
%{_libdir}/mpich/lib/cmake/scotch/scotcherrTargets*
|
||||
%{_libdir}/mpich/lib/cmake/scotch/scotcherrexitTargets*
|
||||
|
||||
%if %{with metis}
|
||||
%files -n ptscotch-mpich-devel-parmetis
|
||||
%dir %{_includedir}/mpich*/scotch
|
||||
%{_includedir}/mpich*/scotch/scotchmetis.h
|
||||
%{_includedir}/mpich*/scotch/scotchmetisf.h
|
||||
%{_includedir}/mpich*/scotch/parmetis.h
|
||||
%{_libdir}/mpich/lib/libparmetis.so
|
||||
%{_libdir}/mpich/lib/libptscotchparmetis.so
|
||||
%{_libdir}/mpich/lib/libscotchmetis.so
|
||||
%{_libdir}/mpich/lib/cmake/scotch/ptscotchparmetisTargets*
|
||||
%{_libdir}/mpich/lib/cmake/scotch/scotchmetisTargets*
|
||||
%endif
|
||||
|
||||
|
||||
%files -n ptscotch-openmpi
|
||||
%license doc/CeCILL-C_V1-en.txt
|
||||
%{_libdir}/openmpi/lib/libptscotch.so.7*
|
||||
%{_libdir}/openmpi/lib/libptesmumps.so.7*
|
||||
%{_libdir}/openmpi/lib/libscotch.so.7*
|
||||
%if %{with metis}
|
||||
%{_libdir}/openmpi/lib/libscotchmetisv3.so
|
||||
%{_libdir}/openmpi/lib/libscotchmetisv5.so
|
||||
%{_libdir}/openmpi/lib/libptscotchparmetisv3.so
|
||||
%endif
|
||||
|
||||
%files -n ptscotch-openmpi-devel
|
||||
%dir %{_includedir}/openmpi*/scotch
|
||||
%{_includedir}/openmpi*/scotch/ptscotch.h
|
||||
%{_includedir}/openmpi*/scotch/ptscotchf.h
|
||||
%{_includedir}/openmpi*/scotch/scotch.h
|
||||
%{_includedir}/openmpi*/scotch/scotchf.h
|
||||
%{_includedir}/openmpi*/scotch/esmumps.h
|
||||
%{_libdir}/openmpi/lib/libptscotch.so
|
||||
%{_libdir}/openmpi/lib/libptscotcherr.so
|
||||
%{_libdir}/openmpi/lib/libptscotcherrexit.so
|
||||
%{_libdir}/openmpi/lib/libscotch.so
|
||||
%{_libdir}/openmpi/lib/libscotcherr.so
|
||||
%{_libdir}/openmpi/lib/libscotcherrexit.so
|
||||
%{_libdir}/openmpi/lib/libesmumps.so
|
||||
%{_libdir}/openmpi/lib/libptesmumps.so
|
||||
%dir %{_libdir}/openmpi/lib/cmake/scotch/
|
||||
%{_libdir}/openmpi/lib/cmake/scotch/ptesmumpsTargets*
|
||||
%{_libdir}/openmpi/lib/cmake/scotch/SCOTCHConfig.cmake
|
||||
%{_libdir}/openmpi/lib/cmake/scotch/SCOTCHConfigVersion.cmake
|
||||
%{_libdir}/openmpi/lib/cmake/scotch/esmumpsTargets*
|
||||
%{_libdir}/openmpi/lib/cmake/scotch/ptscotchTargets*
|
||||
%{_libdir}/openmpi/lib/cmake/scotch/ptscotcherrTargets*
|
||||
%{_libdir}/openmpi/lib/cmake/scotch/ptscotcherrexitTargets*
|
||||
%{_libdir}/openmpi/lib/cmake/scotch/scotchTargets*
|
||||
%{_libdir}/openmpi/lib/cmake/scotch/scotcherrTargets*
|
||||
%{_libdir}/openmpi/lib/cmake/scotch/scotcherrexitTargets*
|
||||
|
||||
%if %{with metis}
|
||||
%files -n ptscotch-openmpi-devel-parmetis
|
||||
%dir %{_includedir}/openmpi*/scotch
|
||||
%{_includedir}/openmpi*/scotch/scotchmetis.h
|
||||
%{_includedir}/openmpi*/scotch/scotchmetisf.h
|
||||
%{_includedir}/openmpi*/scotch/parmetis.h
|
||||
%{_libdir}/openmpi/lib/libparmetis.so
|
||||
%{_libdir}/openmpi/lib/libptscotchparmetis.so
|
||||
%{_libdir}/openmpi/lib/libscotchmetis.so
|
||||
%{_libdir}/openmpi/lib/cmake/scotch/ptscotchparmetisTargets*
|
||||
%{_libdir}/openmpi/lib/cmake/scotch/scotchmetisTargets*
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Apr 13 2023 Antonio Trande <sagitter@fedoraproject.org> - 7.0.3-1
|
||||
- Update to 7.0.3
|
||||
- Patch0 updated
|
||||
- Rename internal Metis include files to avoid conflicts
|
||||
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.1.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
|
123
scotch_installdirs.patch
Normal file
123
scotch_installdirs.patch
Normal file
@ -0,0 +1,123 @@
|
||||
diff -rupN --no-dereference scotch-v7.0.3/src/CMakeLists.txt scotch-v7.0.3-new/src/CMakeLists.txt
|
||||
--- scotch-v7.0.3/src/CMakeLists.txt 2022-02-14 18:14:58.000000000 +0100
|
||||
+++ scotch-v7.0.3-new/src/CMakeLists.txt 2022-03-16 00:03:54.380668419 +0100
|
||||
@@ -169,8 +169,8 @@ add_subdirectory(check)
|
||||
# See https://cmake.org/cmake/help/latest/module/CMakePackageConfigHelpers.html
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
-set(INCLUDE_INSTALL_DIR "include/" CACHE STRING "Where to install headers relative to prefix")
|
||||
-set(LIBRARY_INSTALL_DIR "lib/" CACHE STRING "Where to install libraries relative to prefix")
|
||||
+set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}" CACHE STRING "Where to install headers relative to prefix")
|
||||
+set(LIBRARY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}" CACHE STRING "Where to install libraries relative to prefix")
|
||||
|
||||
configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/SCOTCHConfig.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/SCOTCHConfig.cmake
|
||||
diff -rupN --no-dereference scotch-v7.0.3/src/esmumps/CMakeLists.txt scotch-v7.0.3-new/src/esmumps/CMakeLists.txt
|
||||
--- scotch-v7.0.3/src/esmumps/CMakeLists.txt 2022-02-14 18:14:58.000000000 +0100
|
||||
+++ scotch-v7.0.3-new/src/esmumps/CMakeLists.txt 2022-03-16 00:03:54.380668419 +0100
|
||||
@@ -125,13 +125,13 @@
|
||||
install(EXPORT esmumpsTargets
|
||||
FILE esmumpsTargets.cmake
|
||||
NAMESPACE SCOTCH::
|
||||
- DESTINATION lib/cmake/scotch)
|
||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/scotch)
|
||||
|
||||
install(TARGETS esmumps
|
||||
EXPORT esmumpsTargets
|
||||
- ARCHIVE DESTINATION lib
|
||||
- LIBRARY DESTINATION lib
|
||||
- PUBLIC_HEADER DESTINATION include)
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
|
||||
# Dummy PTEsMUMPS library file
|
||||
add_library(ptesmumps ${esmumps_src} ${esmumps_headers})
|
||||
@@ -150,10 +150,10 @@
|
||||
install(EXPORT ptesmumpsTargets
|
||||
FILE ptesmumpsTargets.cmake
|
||||
NAMESPACE SCOTCH::
|
||||
- DESTINATION lib/cmake/scotch)
|
||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/scotch)
|
||||
|
||||
install(TARGETS ptesmumps
|
||||
EXPORT ptesmumpsTargets
|
||||
- ARCHIVE DESTINATION lib
|
||||
- LIBRARY DESTINATION lib
|
||||
- PUBLIC_HEADER DESTINATION include)
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
diff -rupN --no-dereference scotch-v7.0.3/src/libscotch/CMakeLists.txt scotch-v7.0.3-new/src/libscotch/CMakeLists.txt
|
||||
--- scotch-v7.0.3/src/libscotch/CMakeLists.txt 2022-02-14 18:14:58.000000000 +0100
|
||||
+++ scotch-v7.0.3-new/src/libscotch/CMakeLists.txt 2022-03-16 00:03:54.381668408 +0100
|
||||
@@ -793,11 +793,11 @@ foreach(_target ${TARGETS_LIST})
|
||||
install(EXPORT ${_target}Targets
|
||||
FILE ${_target}Targets.cmake
|
||||
NAMESPACE SCOTCH::
|
||||
- DESTINATION lib/cmake/scotch)
|
||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/scotch)
|
||||
|
||||
install(TARGETS ${_target}
|
||||
EXPORT ${_target}Targets
|
||||
- ARCHIVE DESTINATION lib
|
||||
- LIBRARY DESTINATION lib
|
||||
- PUBLIC_HEADER DESTINATION include)
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
endforeach()
|
||||
diff -rupN --no-dereference scotch-v7.0.3/src/libscotchmetis/CMakeLists.txt scotch-v7.0.3-new/src/libscotchmetis/CMakeLists.txt
|
||||
--- scotch-v7.0.3/src/libscotchmetis/CMakeLists.txt 2022-02-14 18:14:58.000000000 +0100
|
||||
+++ scotch-v7.0.3-new/src/libscotchmetis/CMakeLists.txt 2022-03-16 00:03:54.381668408 +0100
|
||||
@@ -110,18 +110,18 @@ foreach(version 3 5)
|
||||
install(EXPORT scotchmetisTargets
|
||||
FILE scotchmetisTargets.cmake
|
||||
NAMESPACE SCOTCH::
|
||||
- DESTINATION lib/cmake/scotch)
|
||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/scotch)
|
||||
if(INSTALL_METIS_HEADERS)
|
||||
install(TARGETS scotchmetisv${version}
|
||||
EXPORT scotchmetisTargets
|
||||
- ARCHIVE DESTINATION lib
|
||||
- LIBRARY DESTINATION lib
|
||||
- PUBLIC_HEADER DESTINATION include)
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
else()
|
||||
install(TARGETS scotchmetisv${version}
|
||||
EXPORT scotchmetisTargets
|
||||
- ARCHIVE DESTINATION lib
|
||||
- LIBRARY DESTINATION lib)
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif()
|
||||
endforeach(version 3 5)
|
||||
|
||||
@@ -174,19 +174,19 @@ if(BUILD_PTSCOTCH)
|
||||
install(EXPORT ptscotchparmetisTargets
|
||||
FILE ptscotchparmetisTargets.cmake
|
||||
NAMESPACE SCOTCH::
|
||||
- DESTINATION lib/cmake/scotch)
|
||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/scotch)
|
||||
|
||||
if(INSTALL_METIS_HEADERS)
|
||||
install(TARGETS ptscotchparmetisv${version}
|
||||
EXPORT ptscotchparmetisTargets
|
||||
- ARCHIVE DESTINATION lib
|
||||
- LIBRARY DESTINATION lib
|
||||
- PUBLIC_HEADER DESTINATION include)
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
else()
|
||||
install(TARGETS ptscotchparmetisv${version}
|
||||
EXPORT ptscotchparmetisTargets
|
||||
- ARCHIVE DESTINATION lib
|
||||
- LIBRARY DESTINATION lib)
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif()
|
||||
endforeach(version 3)
|
||||
endif(BUILD_PTSCOTCH)
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (scotch-v6.1.2.tar.bz2) = a59779523e2e9a77612140dafd96d9c5ac381c1a8148f8b236f5f3a610c458b75d7d5d6d51443dc8764ebcf46939746a71e51d7d61278d808aeaec5f3e6d4006
|
||||
SHA512 (scotch-v7.0.3.tar.bz2) = a96c864fe007710654b274ea00926b1abe2a1771644412220806fbeab3404dcb95d9474af82fabbebe153ce6fe59590102dc87bba23a3d429b6840c8a2518dae
|
||||
|
Loading…
Reference in New Issue
Block a user