From 93abaf24c26a66cdda9d6874db233e75374c4496 Mon Sep 17 00:00:00 2001 From: tigro Date: Mon, 1 Apr 2024 08:15:55 +0300 Subject: [PATCH] import metis-5.1.0-32.el9 --- .metis.metadata | 2 +- SOURCES/metis-pcre2.patch | 22 ++++++ SPECS/metis.spec | 138 +++++++++++++++++++++++++------------- 3 files changed, 115 insertions(+), 47 deletions(-) create mode 100644 SOURCES/metis-pcre2.patch diff --git a/.metis.metadata b/.metis.metadata index a65a0dd..b868d8b 100644 --- a/.metis.metadata +++ b/.metis.metadata @@ -1 +1 @@ -4722c647024271540f2adcf83456ebdeb1b7d6a6 SOURCES/metis-5.1.0.tar.gz +4722c647024271540f2adcf83456ebdeb1b7d6a6 SOURCES/metis-5.1.0.tar.gz diff --git a/SOURCES/metis-pcre2.patch b/SOURCES/metis-pcre2.patch new file mode 100644 index 0000000..d618ea2 --- /dev/null +++ b/SOURCES/metis-pcre2.patch @@ -0,0 +1,22 @@ +--- GKlib/GKlib.orig.h 2013-03-30 17:24:45.000000000 +0100 ++++ GKlib/GKlib.h 2019-02-05 14:45:44.051629682 +0100 +@@ -43,7 +43,7 @@ + #include + + #if defined(__WITHPCRE__) +- #include ++ #include + #else + #if defined(USE_GKREGEX) + #include "gkregex.h" +--- GKlib/test/Makefile.in.orig.old 2013-03-30 17:24:45.000000000 +0100 ++++ GKlib/test/Makefile.in.old 2019-02-05 15:04:35.009847901 +0100 +@@ -196,7 +196,7 @@ + + #Libraries needed for linking + LIBSDIR = -L$(BUILDDIR) -L$(GKLIBBUILDDIR) -L$(HOME)/local/lib +- LIBS = -lGKlib -lpcreposix -lpcre -lz -lm ++ LIBS = -lGKlib -lpcre2-posix -lz -lm + + # Standard file extensions + OBJEXT = .o diff --git a/SPECS/metis.spec b/SPECS/metis.spec index a1a99c1..b161ea9 100644 --- a/SPECS/metis.spec +++ b/SPECS/metis.spec @@ -1,10 +1,4 @@ -%if 0%{?fedora} <= 22 -%global _hardened_build 1 -%endif - -%if 0%{?rhel} < 7 -%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro} -%endif +%undefine _ld_as_needed %if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64 %global arch64 1 @@ -14,10 +8,9 @@ Name: metis Version: 5.1.0 -Release: 17%{?dist} +Release: 32%{?dist} Summary: Serial Graph Partitioning and Fill-reducing Matrix Ordering License: ASL 2.0 and BSD and LGPLv2+ -Group: Development/Libraries URL: http://glaros.dtc.umn.edu/gkhome/views/%{name} Source0: http://glaros.dtc.umn.edu/gkhome/fetch/sw/%{name}/%{name}-%{version}.tar.gz @@ -41,8 +34,15 @@ Patch3: %{name}-GKREGEX-GKRAND-LIBSUFFIX-fix.patch ## Rename library of 64 integer version Patch4: %{name}_lib64.patch -BuildRequires: cmake +Patch5: %{name}-pcre2.patch + +BuildRequires: make +BuildRequires: cmake3, gcc, gcc-c++ +%if 0%{?rhel} && 0%{?rhel} < 9 BuildRequires: pcre-devel +%else +BuildRequires: pcre2-devel +%endif BuildRequires: help2man BuildRequires: chrpath @@ -56,16 +56,14 @@ partitioning schemes developed in our lab. METIS is distributed with OpenMP support. %package devel -Summary: The OpenMP Metis headers and development-related files -Group: Development/Libraries +Summary: METIS headers and development-related files Requires: %{name}%{?_isa} = %{version}-%{release} %description devel -Header and library files of Metis, OpenMP version. +Header and library files of Metis. %if 0%{?arch64} %package -n metis64 Summary: Serial Graph Partitioning and Fill-reducing Matrix Ordering (64bit INTEGER) -Group: System Environment/Libraries %description -n metis64 METIS is a set of serial programs for partitioning graphs, @@ -78,8 +76,7 @@ METIS is distributed with OpenMP support. This build has 64bit INTEGER support. %package -n metis64-devel -Summary: LAPACK development libraries (64bit INTEGER) -Group: Development/Libraries +Summary: METIS development libraries (64bit INTEGER) Requires: metis64%{?_isa} = %{version}-%{release} %description -n metis64-devel @@ -89,11 +86,12 @@ OpenMP version (64bit INTEGER). %prep %setup -qc - + pushd %{name}-%{version} %patch0 -p0 %patch1 -p0 %patch3 -p0 +%patch5 -p0 ## Remove default compiler flag sed -e 's|-O3||g' -i GKlib/GKlibSystem.cmake @@ -104,41 +102,47 @@ cp -a %{name}-%{version} metis64 %endif %build -pushd %{name}-%{version}/build -export CC=gcc -%cmake \ - -DGKLIB_PATH=../GKlib \ +%if 0%{?rhel} && 0%{?rhel} < 9 +PCRE_LDFLAGS="-lpcreposix" +%else +PCRE_LDFLAGS="-lpcre2-posix" +%endif +%cmake3 -S %{name}-%{version} -B %{name}-%{version}/build \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DGKLIB_PATH=%{name}-%{version}/GKlib \ -DSHARED:BOOL=TRUE \ -DOPENMP:BOOL=ON \ -DPCRE:BOOL=ON \ - -DCMAKE_C_FLAGS:STRING="%{optflags} -Wl,-z,relro -fPIC -pie -Wl,-z,now -pthread" \ - -DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} -fPIC -pie -Wl,-z,now" \ - -DCMAKE_EXE_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} -fPIC -pie -Wl,-z,now" \ + -DCMAKE_C_FLAGS:STRING="%{optflags} -pthread" \ + -DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $PCRE_LDFLAGS" \ + -DCMAKE_EXE_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $PCRE_LDFLAGS" \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \ - -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} .. -make %{?_smp_mflags} -popd + -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} +%make_build -C %{name}-%{version}/build %if 0%{?arch64} cd metis64 patch -p0 < %{PATCH2} patch -p0 < %{PATCH4} -mkdir -p build64 -pushd build64 -export CC=gcc -%cmake \ - -DGKLIB_PATH=../GKlib \ +cd .. +mkdir -p metis64/build64 +%if 0%{?rhel} && 0%{?rhel} < 9 +PCRE_LDFLAGS="-lpcreposix" +%else +PCRE_LDFLAGS="-lpcre2-posix" +%endif +%cmake3 -S metis64 -B metis64/build64 \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DGKLIB_PATH=metis64/GKlib \ -DSHARED:BOOL=TRUE \ -DOPENMP:BOOL=ON \ -DPCRE:BOOL=ON \ - -DCMAKE_C_FLAGS:STRING="%{optflags} -Wl,-z,relro -fPIC -pie -Wl,-z,now -pthread" \ - -DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} -fPIC -pie -Wl,-z,now" \ - -DCMAKE_EXE_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} -fPIC -pie -Wl,-z,now" \ + -DCMAKE_C_FLAGS:STRING="%{optflags} -pthread" \ + -DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $PCRE_LDFLAGS" \ + -DCMAKE_EXE_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $PCRE_LDFLAGS" \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} .. -make %{?_smp_mflags} -popd -cd ../ +%make_build -C metis64/build64 %endif %install @@ -217,14 +221,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./graphchk64 4elt.graph %endif popd -%ldconfig_scriptlets - -%if 0%{?arch64} -%ldconfig_scriptlets -n metis64 -%endif - %files -%{!?_licensedir:%global license %doc} %doc %{name}-%{version}/Changelog %{name}-%{version}/manual/manual.pdf %license %{name}-%{version}/LICENSE.txt %{_bindir}/cmpfillin @@ -232,6 +229,7 @@ popd %{_bindir}/graphchk %{_bindir}/m2gmetis %{_bindir}/mpmetis + %{_bindir}/ndmetis %{_mandir}/man1/*.1.gz %{_libdir}/lib%{name}.so.* @@ -242,7 +240,6 @@ popd %if 0%{?arch64} %files -n metis64 -%{!?_licensedir:%global license %doc} %doc metis64/Changelog metis64/manual/manual.pdf %license metis64/LICENSE.txt %{_bindir}/cmpfillin64 @@ -259,6 +256,55 @@ popd %endif %changelog +* Mon Apr 01 2024 Arkady L. Shane - 5.1.0-32 +- Rebuilt for MSVSphere 9.3 + +* Thu Jan 20 2022 Fedora Release Engineering - 5.1.0-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 5.1.0-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jul 14 2021 Petr Pisar - 5.1.0-30 +- Rebuild against pcre2-10.37 (bug #1965025) + +* Tue Jan 26 2021 Fedora Release Engineering - 5.1.0-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Jan 23 2021 Antonio Trande - 5.1.0-28 +- Change CMake options + +* Sat Aug 01 2020 Fedora Release Engineering - 5.1.0-27 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 5.1.0-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 17 2020 Merlin Mathesius - 5.1.0-25 +- Minor conditional fixes for ELN + +* Wed Jan 29 2020 Fedora Release Engineering - 5.1.0-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jan 25 2020 Antonio Trande - 5.1.0-23 +- Remove old conditions + +* Thu Oct 24 2019 Antonio Trande - 5.1.0-22 +- Fix descriptions + +* Thu Jul 25 2019 Fedora Release Engineering - 5.1.0-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 5.1.0-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sun Nov 04 2018 Antonio Trande - 5.1.0-19 +- Some minor changes + +* Fri Jul 13 2018 Fedora Release Engineering - 5.1.0-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Sat Feb 17 2018 Antonio Trande - 5.1.0-17 - Use %%ldconfig_scriptlets