Compare commits

..

No commits in common. 'i10ce' and 'c8' have entirely different histories.
i10ce ... c8

2
.gitignore vendored

@ -1 +1 @@
SOURCES/METIS-5.1.0.3.tar.gz SOURCES/metis-5.1.0.tar.gz

@ -1 +1 @@
2a0439ad7b4a32d458dccd4a5ab85ed767f07893 SOURCES/METIS-5.1.0.3.tar.gz 4722c647024271540f2adcf83456ebdeb1b7d6a6 SOURCES/metis-5.1.0.tar.gz

@ -1,5 +1,5 @@
--- src/GKlib/Makefile.orig 2013-03-11 20:50:42.000000000 +0100 --- GKlib/Makefile.orig 2013-03-11 20:50:42.000000000 +0100
+++ src/GKlib/Makefile 2013-03-17 14:26:23.632867727 +0100 +++ GKlib/Makefile 2013-03-17 14:26:23.632867727 +0100
@@ -41,10 +41,10 @@ @@ -41,10 +41,10 @@
CONFIG_FLAGS += -DPCRE=$(pcre) CONFIG_FLAGS += -DPCRE=$(pcre)
endif endif
@ -14,8 +14,8 @@
ifneq ($(prefix), not-set) ifneq ($(prefix), not-set)
CONFIG_FLAGS += -DCMAKE_INSTALL_PREFIX=$(prefix) CONFIG_FLAGS += -DCMAKE_INSTALL_PREFIX=$(prefix)
--- src/Makefile.origin 2013-03-30 17:24:45.000000000 +0100 --- Makefile.origin 2013-03-30 17:24:45.000000000 +0100
+++ src/Makefile 2013-04-14 20:04:38.887674462 +0200 +++ Makefile 2013-04-14 20:04:38.887674462 +0200
@@ -9,6 +9,11 @@ @@ -9,6 +9,11 @@
gklib_path = not-set gklib_path = not-set
shared = not-set shared = not-set

@ -1,15 +1,20 @@
--- src/libmetis/CMakeLists.orig.txt 2011-06-22 19:47:13.000000000 +0200 --- libmetis/CMakeLists.orig.txt 2011-06-22 19:47:13.000000000 +0200
+++ src/libmetis/CMakeLists.txt 2013-03-15 17:13:19.948911972 +0100 +++ libmetis/CMakeLists.txt 2013-03-15 17:13:19.948911972 +0100
@@ -8,8 +8,9 @@ @@ -4,13 +4,14 @@
PRIVATE ${PROJECT_SOURCE_DIR}/src/GKlib ${PROJECT_BINARY_DIR}/src/include file(GLOB metis_sources *.c)
) # Build libmetis.
target_link_libraries(metis PRIVATE $<$<BOOL:${UNIX}>:m>) add_library(metis ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources})
+set_target_properties(metis PROPERTIES SOVERSION 0) +set_target_properties(metis PROPERTIES SOVERSION 0)
if(UNIX)
target_link_libraries(metis m)
endif()
install(TARGETS metis if(METIS_INSTALL)
install(TARGETS metis
- LIBRARY DESTINATION lib - LIBRARY DESTINATION lib
- RUNTIME DESTINATION lib - RUNTIME DESTINATION lib
- ARCHIVE DESTINATION lib) - ARCHIVE DESTINATION lib)
+ LIBRARY DESTINATION lib${LIB_SUFFIX} + LIBRARY DESTINATION lib${LIB_SUFFIX}
+ RUNTIME DESTINATION lib${LIB_SUFFIX} + RUNTIME DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX}) + ARCHIVE DESTINATION lib${LIB_SUFFIX})
endif()

@ -1,22 +0,0 @@
--- src/GKlib/GKlib.orig.h 2013-03-30 17:24:45.000000000 +0100
+++ src/GKlib/GKlib.h 2019-02-05 14:45:44.051629682 +0100
@@ -43,7 +43,7 @@
#include <sys/stat.h>
#if defined(__WITHPCRE__)
- #include <pcreposix.h>
+ #include <pcre2posix.h>
#else
#if defined(USE_GKREGEX)
#include "gkregex.h"
--- src/GKlib/test/Makefile.in.orig.old 2013-03-30 17:24:45.000000000 +0100
+++ src/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

@ -1,16 +1,16 @@
--- src/GKlib/CMakeLists.orig.txt 2013-03-11 20:50:14.000000000 +0100 --- GKlib/CMakeLists.orig.txt 2013-03-11 20:50:14.000000000 +0100
+++ src/GKlib/CMakeLists.txt 2013-03-17 19:53:44.220827579 +0100 +++ GKlib/CMakeLists.txt 2013-03-17 19:53:44.220827579 +0100
@@ -6,7 +6,7 @@ @@ -7,7 +7,7 @@
unset(abs)
include(GKlibSystem.cmake) include(GKlibSystem.cmake)
include_directories(".")
-add_library(GKlib STATIC ${GKlib_sources}) -add_library(GKlib STATIC ${GKlib_sources})
+add_library(GKlib SHARED ${GKlib_sources}) +add_library(GKlib SHARED ${GKlib_sources})
target_link_libraries(GKlib PRIVATE $<$<BOOL:${UNIX}>:m>) if(UNIX)
target_include_directories(GKlib PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries(GKlib m)
endif(UNIX)
@@ -15,6 +15,6 @@ @@ -16,6 +16,6 @@
endif() add_subdirectory("test")
install(TARGETS GKlib install(TARGETS GKlib
- ARCHIVE DESTINATION lib - ARCHIVE DESTINATION lib

@ -0,0 +1,12 @@
--- include/metis.orig.h 2013-03-11 20:50:00.000000000 +0100
+++ include/metis.h 2013-03-16 12:14:59.117329640 +0100
@@ -30,7 +30,7 @@
GCC does provides these definitions in stdint.h, but it may require some
modifications on other architectures.
--------------------------------------------------------------------------*/
-#define IDXTYPEWIDTH 32
+#define IDXTYPEWIDTH 64
/*--------------------------------------------------------------------------

@ -1,43 +1,30 @@
--- CMakeLists.orig.txt 2022-12-02 02:45:28.000000000 +0100 --- libmetis/CMakeLists.orig.txt 2016-02-16 19:06:56.480139000 +0100
+++ CMakeLists.txt 2023-07-16 19:59:20.618931313 +0200 +++ libmetis/CMakeLists.txt 2016-02-16 19:07:55.511134162 +0100
@@ -48,5 +48,5 @@ @@ -3,14 +3,14 @@
add_subdirectory(src/libmetis)
add_subdirectory(src/programs)
-add_test(NAME GraphCheck
-COMMAND $<TARGET_FILE:graphchk> ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/tiny_01.graph)
+add_test(NAME GraphCheck64
+COMMAND $<TARGET_FILE:graphchk64> ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/tiny_01.graph)
--- src/libmetis/CMakeLists.orig.txt 2016-02-16 19:06:56.480139000 +0100
+++ src/libmetis/CMakeLists.txt 2016-02-16 19:07:55.511134162 +0100
@@ -1,16 +1,16 @@
# Find sources. # Find sources.
file(GLOB metis_sources *.c) file(GLOB metis_sources *.c)
# Build libmetis. # Build libmetis.
-add_library(metis ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources}) -add_library(metis ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources})
-target_include_directories(metis PUBLIC
+add_library(metis64 ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources})
+target_include_directories(metis64 PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:include>
PRIVATE ${PROJECT_SOURCE_DIR}/src/GKlib ${PROJECT_BINARY_DIR}/src/include
)
-target_link_libraries(metis PRIVATE $<$<BOOL:${UNIX}>:m>)
-set_target_properties(metis PROPERTIES SOVERSION 0) -set_target_properties(metis PROPERTIES SOVERSION 0)
+target_link_libraries(metis64 PRIVATE $<$<BOOL:${UNIX}>:m>) +add_library(metis64 ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources})
+set_target_properties(metis64 PROPERTIES SOVERSION 0) +set_target_properties(metis64 PROPERTIES SOVERSION 0)
if(UNIX)
- target_link_libraries(metis m)
+ target_link_libraries(metis64 m)
endif()
-install(TARGETS metis if(METIS_INSTALL)
+install(TARGETS metis64 - install(TARGETS metis
+ install(TARGETS metis64
LIBRARY DESTINATION lib${LIB_SUFFIX} LIBRARY DESTINATION lib${LIB_SUFFIX}
RUNTIME DESTINATION lib${LIB_SUFFIX} RUNTIME DESTINATION lib${LIB_SUFFIX}
ARCHIVE DESTINATION lib${LIB_SUFFIX}) ARCHIVE DESTINATION lib${LIB_SUFFIX})
--- src/programs/CMakeLists.orig.txt 2013-03-30 17:24:45.000000000 +0100 --- programs/CMakeLists.orig.txt 2013-03-30 17:24:45.000000000 +0100
+++ src/programs/CMakeLists.txt 2016-02-16 22:42:18.625946692 +0100 +++ programs/CMakeLists.txt 2016-02-16 22:42:18.625946692 +0100
@@ -11,14 +11,14 @@ @@ -2,19 +2,19 @@
endif(Subversion_FOUND) include_directories(../libmetis)
endif() link_directories(/home/karypis/local/lib)
# Build program.
-add_executable(gpmetis gpmetis.c cmdline_gpmetis.c io.c stat.c) -add_executable(gpmetis gpmetis.c cmdline_gpmetis.c io.c stat.c)
-add_executable(ndmetis ndmetis.c cmdline_ndmetis.c io.c smbfactor.c) -add_executable(ndmetis ndmetis.c cmdline_ndmetis.c io.c smbfactor.c)
-add_executable(mpmetis mpmetis.c cmdline_mpmetis.c io.c stat.c) -add_executable(mpmetis mpmetis.c cmdline_mpmetis.c io.c stat.c)
@ -45,7 +32,7 @@
-add_executable(graphchk graphchk.c io.c) -add_executable(graphchk graphchk.c io.c)
-add_executable(cmpfillin cmpfillin.c io.c smbfactor.c) -add_executable(cmpfillin cmpfillin.c io.c smbfactor.c)
-foreach(prog gpmetis ndmetis mpmetis m2gmetis graphchk cmpfillin) -foreach(prog gpmetis ndmetis mpmetis m2gmetis graphchk cmpfillin)
- target_link_libraries(${prog} PRIVATE metis) - target_link_libraries(${prog} metis)
+add_executable(gpmetis64 gpmetis.c cmdline_gpmetis.c io.c stat.c) +add_executable(gpmetis64 gpmetis.c cmdline_gpmetis.c io.c stat.c)
+add_executable(ndmetis64 ndmetis.c cmdline_ndmetis.c io.c smbfactor.c) +add_executable(ndmetis64 ndmetis.c cmdline_ndmetis.c io.c smbfactor.c)
+add_executable(mpmetis64 mpmetis.c cmdline_mpmetis.c io.c stat.c) +add_executable(mpmetis64 mpmetis.c cmdline_mpmetis.c io.c stat.c)
@ -53,14 +40,13 @@
+add_executable(graphchk64 graphchk.c io.c) +add_executable(graphchk64 graphchk.c io.c)
+add_executable(cmpfillin64 cmpfillin.c io.c smbfactor.c) +add_executable(cmpfillin64 cmpfillin.c io.c smbfactor.c)
+foreach(prog gpmetis64 ndmetis64 mpmetis64 m2gmetis64 graphchk64 cmpfillin64) +foreach(prog gpmetis64 ndmetis64 mpmetis64 m2gmetis64 graphchk64 cmpfillin64)
+ target_link_libraries(${prog} PRIVATE metis64) + target_link_libraries(${prog} metis64)
target_include_directories(${prog} PRIVATE
${PROJECT_SOURCE_DIR}/src/GKlib
${PROJECT_BINARY_DIR}/src/include
@@ -27,5 +27,5 @@
# target_link_libraries(${prog} metis profiler) # target_link_libraries(${prog} metis profiler)
endforeach(prog) endforeach(prog)
-install(TARGETS gpmetis ndmetis mpmetis m2gmetis graphchk cmpfillin if(METIS_INSTALL)
+install(TARGETS gpmetis64 ndmetis64 mpmetis64 m2gmetis64 graphchk64 cmpfillin64 - install(TARGETS gpmetis ndmetis mpmetis m2gmetis graphchk cmpfillin
+ install(TARGETS gpmetis64 ndmetis64 mpmetis64 m2gmetis64 graphchk64 cmpfillin64
RUNTIME DESTINATION bin) RUNTIME DESTINATION bin)
endif()

@ -1,14 +1,10 @@
## START: Set by rpmautospec %if 0%{?fedora} <= 22
## (rpmautospec version 0.7.3) %global _hardened_build 1
## RPMAUTOSPEC: autorelease, autochangelog %endif
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 6; %if 0%{?rhel} < 7
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); %{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro}
print(release_number + base_release_number - 1); %endif
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec
%undefine _ld_as_needed
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64 %if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
%global arch64 1 %global arch64 1
@ -17,12 +13,13 @@
%endif %endif
Name: metis Name: metis
Version: 5.1.0.3 Version: 5.1.0
Release: %autorelease Release: 17%{?dist}
Summary: Serial Graph Partitioning and Fill-reducing Matrix Ordering Summary: Serial Graph Partitioning and Fill-reducing Matrix Ordering
License: Apache-2.0 AND LGPL-2.0-or-later License: ASL 2.0 and BSD and LGPLv2+
Group: Development/Libraries
URL: http://glaros.dtc.umn.edu/gkhome/views/%{name} URL: http://glaros.dtc.umn.edu/gkhome/views/%{name}
Source0: https://github.com/scivision/METIS/archive/refs/tags/v%{version}/METIS-%{version}.tar.gz Source0: http://glaros.dtc.umn.edu/gkhome/fetch/sw/%{name}/%{name}-%{version}.tar.gz
## This patch sets up libmetis soname of libmetis ## This patch sets up libmetis soname of libmetis
Patch0: %{name}-libmetis.patch Patch0: %{name}-libmetis.patch
@ -30,24 +27,24 @@ Patch0: %{name}-libmetis.patch
## This patch sets up shared GKlib library ## This patch sets up shared GKlib library
Patch1: %{name}-shared-GKlib.patch Patch1: %{name}-shared-GKlib.patch
## Specify the width (32 or 64 bits) of the elementary data type
## used in METIS. This is controled by the IDXTYPEWIDTH
## constant.
## For now, on a 32 bit architecture you can only specify a width of 32,
## whereas for a 64 bit architecture you can specify a width of either
## 32 or 64 bits.
Patch2: %{name}-width-datatype.patch
## This patch sets up GKREGEX, GKRAND, libsuffix options to the Makefiles ## This patch sets up GKREGEX, GKRAND, libsuffix options to the Makefiles
Patch3: %{name}-GKREGEX-GKRAND-LIBSUFFIX-fix.patch Patch3: %{name}-GKREGEX-GKRAND-LIBSUFFIX-fix.patch
## Rename library of 64 integer version ## Rename library of 64 integer version
Patch4: %{name}_lib64.patch Patch4: %{name}_lib64.patch
Patch5: %{name}-pcre2.patch BuildRequires: cmake
BuildRequires: make
BuildRequires: cmake, gcc, gcc-c++
%if 0%{?rhel} && 0%{?rhel} < 9
BuildRequires: pcre-devel BuildRequires: pcre-devel
%else
BuildRequires: pcre2-devel
%endif
BuildRequires: help2man BuildRequires: help2man
BuildRequires: chrpath BuildRequires: chrpath
#BuildRequires: GKlib-devel
%description %description
METIS is a set of serial programs for partitioning graphs, METIS is a set of serial programs for partitioning graphs,
@ -59,14 +56,16 @@ partitioning schemes developed in our lab.
METIS is distributed with OpenMP support. METIS is distributed with OpenMP support.
%package devel %package devel
Summary: METIS headers and development-related files Summary: The OpenMP Metis headers and development-related files
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel %description devel
Header and library files of Metis. Header and library files of Metis, OpenMP version.
%if 0%{?arch64} %if 0%{?arch64}
%package -n metis64 %package -n metis64
Summary: Serial Graph Partitioning and Fill-reducing Matrix Ordering (64bit INTEGER) Summary: Serial Graph Partitioning and Fill-reducing Matrix Ordering (64bit INTEGER)
Group: System Environment/Libraries
%description -n metis64 %description -n metis64
METIS is a set of serial programs for partitioning graphs, METIS is a set of serial programs for partitioning graphs,
@ -79,7 +78,8 @@ METIS is distributed with OpenMP support.
This build has 64bit INTEGER support. This build has 64bit INTEGER support.
%package -n metis64-devel %package -n metis64-devel
Summary: METIS development libraries (64bit INTEGER) Summary: LAPACK development libraries (64bit INTEGER)
Group: Development/Libraries
Requires: metis64%{?_isa} = %{version}-%{release} Requires: metis64%{?_isa} = %{version}-%{release}
%description -n metis64-devel %description -n metis64-devel
@ -90,71 +90,77 @@ OpenMP version (64bit INTEGER).
%prep %prep
%setup -qc %setup -qc
pushd METIS-%{version} pushd %{name}-%{version}
rm -rf archive %patch0 -p0
%patch1 -p0
%patch3 -p0
%patch -P 0 -p0 -b .backup ## Remove default compiler flag
%patch -P 1 -p0 -b .backup sed -e 's|-O3||g' -i GKlib/GKlibSystem.cmake
%patch -P 3 -p0 -b .backup
%patch -P 5 -p0 -b .backup
popd popd
%if 0%{?arch64} %if 0%{?arch64}
cp -a METIS-%{version} metis64 cp -a %{name}-%{version} metis64
pushd metis64
%patch -P 4 -p0 -b .backup
popd
%endif %endif
%build %build
%if 0%{?rhel} && 0%{?rhel} < 9 pushd %{name}-%{version}/build
PCRE_LDFLAGS="-lpcreposix" export CC=gcc
%else %cmake \
PCRE_LDFLAGS="-lpcre2-posix" -DGKLIB_PATH=../GKlib \
%endif
%cmake -S METIS-%{version} -B METIS-%{version} \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DGKLIB_PATH=METIS-%{version}/src//GKlib \
-DGKRAND:BOOL=ON \
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES\
-DSHARED:BOOL=TRUE \ -DSHARED:BOOL=TRUE \
-DOPENMP:BOOL=ON \ -DOPENMP:BOOL=ON \
-DPCRE:BOOL=ON \ -DPCRE:BOOL=ON \
-DCMAKE_C_FLAGS:STRING="%{optflags} -pthread" \ -DCMAKE_C_FLAGS:STRING="%{optflags} -Wl,-z,relro -fPIC -pie -Wl,-z,now -pthread" \
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $PCRE_LDFLAGS" \ -DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} -fPIC -pie -Wl,-z,now" \
-DCMAKE_EXE_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $PCRE_LDFLAGS" \ -DCMAKE_EXE_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} -fPIC -pie -Wl,-z,now" \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} ..
%make_build -C METIS-%{version} make %{?_smp_mflags}
popd
%if 0%{?arch64} %if 0%{?arch64}
%if 0%{?rhel} && 0%{?rhel} < 9 cd metis64
PCRE_LDFLAGS="-lpcreposix" patch -p0 < %{PATCH2}
%else patch -p0 < %{PATCH4}
PCRE_LDFLAGS="-lpcre2-posix" mkdir -p build64
%endif pushd build64
%cmake -S metis64 -B metis64 \ export CC=gcc
-DCMAKE_BUILD_TYPE:STRING=Release \ %cmake \
-Dintsize:STRING=64 -Drealsize:STRING=64 \ -DGKLIB_PATH=../GKlib \
-DGKLIB_PATH=METIS-%{version}/src/GKlib \
-DGKRAND:BOOL=ON \
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES\
-DSHARED:BOOL=TRUE \ -DSHARED:BOOL=TRUE \
-DOPENMP:BOOL=ON \ -DOPENMP:BOOL=ON \
-DPCRE:BOOL=ON \ -DPCRE:BOOL=ON \
-DCMAKE_C_FLAGS:STRING="%{optflags} -pthread" \ -DCMAKE_C_FLAGS:STRING="%{optflags} -Wl,-z,relro -fPIC -pie -Wl,-z,now -pthread" \
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $PCRE_LDFLAGS" \ -DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} -fPIC -pie -Wl,-z,now" \
-DCMAKE_EXE_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $PCRE_LDFLAGS" \ -DCMAKE_EXE_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} -fPIC -pie -Wl,-z,now" \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} ..
%make_build -C metis64 make %{?_smp_mflags}
popd
cd ../
%endif %endif
%install %install
pushd METIS-%{version} pushd %{name}-%{version}/build
%make_install %make_install
## Generate manpages from binaries ## Generate manpages from binaries
%if 0%{?el6}
LD_PRELOAD=%{buildroot}%{_libdir}/lib%{name}.so.0 \
help2man --version-option="%{version}" -n "Partitions a graph into a specified number of parts." \
-N --output="gpmetis.1" -h -help %{buildroot}%{_bindir}/gpmetis
## Can't get manpage from ndmetis. Use 'ndmetis -h' command
LD_PRELOAD=%{buildroot}%{_libdir}/lib%{name}.so.0 \
help2man --version-option="%{version}" -n "Partitions a mesh into a specified number of parts." \
-N --output="mpmetis.1" -h -help %{buildroot}%{_bindir}/mpmetis
LD_PRELOAD=%{buildroot}%{_libdir}/lib%{name}.so.0 \
help2man --version-option="%{version}" -n "Converts a mesh into a graph that is compatible with METIS." \
-N --output="m2gmetis.1" -h -help %{buildroot}%{_bindir}/m2gmetis
%else
LD_PRELOAD=%{buildroot}%{_libdir}/lib%{name}.so.0 \ LD_PRELOAD=%{buildroot}%{_libdir}/lib%{name}.so.0 \
help2man --version-string="%{version}" -n "Partitions a graph into a specified number of parts." \ help2man --version-string="%{version}" -n "Partitions a graph into a specified number of parts." \
-N --output="gpmetis.1" --no-discard-stderr --help-option="-help" %{buildroot}%{_bindir}/gpmetis -N --output="gpmetis.1" --no-discard-stderr --help-option="-help" %{buildroot}%{_bindir}/gpmetis
@ -171,6 +177,7 @@ help2man --version-string="%{version}" -n "Partitions a mesh into a specified nu
LD_PRELOAD=%{buildroot}%{_libdir}/lib%{name}.so.0 \ LD_PRELOAD=%{buildroot}%{_libdir}/lib%{name}.so.0 \
help2man --version-string="%{version}" -n "Converts a mesh into a graph that is compatible with METIS." \ help2man --version-string="%{version}" -n "Converts a mesh into a graph that is compatible with METIS." \
-N --output="m2gmetis.1" --no-discard-stderr -h "-help" %{buildroot}%{_bindir}/m2gmetis -N --output="m2gmetis.1" --no-discard-stderr -h "-help" %{buildroot}%{_bindir}/m2gmetis
%endif
mkdir -p %{buildroot}%{_mandir}/man1 mkdir -p %{buildroot}%{_mandir}/man1
mv *.1 %{buildroot}%{_mandir}/man1 mv *.1 %{buildroot}%{_mandir}/man1
@ -180,7 +187,7 @@ popd
mv %{buildroot}%{_includedir}/metis.h %{buildroot}%{_includedir}/metis32.h mv %{buildroot}%{_includedir}/metis.h %{buildroot}%{_includedir}/metis32.h
%if 0%{?arch64} %if 0%{?arch64}
pushd metis64 pushd metis64/build64
%make_install %make_install
# Save metis.h with IDXTYPEWIDTH = 64 # Save metis.h with IDXTYPEWIDTH = 64
mv %{buildroot}%{_includedir}/metis.h %{buildroot}%{_includedir}/metis64.h mv %{buildroot}%{_includedir}/metis.h %{buildroot}%{_includedir}/metis64.h
@ -194,34 +201,32 @@ mv %{buildroot}%{_includedir}/metis32.h %{buildroot}%{_includedir}/metis.h
chrpath -d %{buildroot}%{_bindir}/* chrpath -d %{buildroot}%{_bindir}/*
%check %check
cp -p %{buildroot}%{_bindir}/*metis METIS-%{version}/src/graphs/ cp -p %{buildroot}%{_bindir}/* %{name}-%{version}/graphs
cp -p %{buildroot}%{_bindir}/graphchk METIS-%{version}/src/graphs/ pushd %{name}-%{version}/graphs
cd METIS-%{version}/src/graphs
LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./ndmetis mdual.graph LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./ndmetis mdual.graph
LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./mpmetis metis.mesh 2 LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./mpmetis metis.mesh 2
LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis test.mgraph 4 LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis test.mgraph 4
LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis copter2.graph 4 LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis copter2.graph 4
LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./graphchk 4elt.graph LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./graphchk 4elt.graph
cd ../../
%ctest --test-dir ./
cd ../
%if 0%{?arch64} %if 0%{?arch64}
cp -p %{buildroot}%{_bindir}/*metis64 metis64/src/graphs/
cp -p %{buildroot}%{_bindir}/graphchk64 metis64/src/graphs/
cd metis64/src/graphs
LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./ndmetis64 mdual.graph LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./ndmetis64 mdual.graph
LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./mpmetis64 metis.mesh 2 LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./mpmetis64 metis.mesh 2
LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis64 test.mgraph 4 LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis64 test.mgraph 4
LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis64 copter2.graph 4 LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis64 copter2.graph 4
LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./graphchk64 4elt.graph LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./graphchk64 4elt.graph
cd ../../ %endif
%ctest --test-dir ./ popd
cd ../
%ldconfig_scriptlets
%if 0%{?arch64}
%ldconfig_scriptlets -n metis64
%endif %endif
%files %files
%doc METIS-%{version}/src/Changelog METIS-%{version}/src/manual/manual.pdf %{!?_licensedir:%global license %doc}
%license METIS-%{version}/src/LICENSE.txt %doc %{name}-%{version}/Changelog %{name}-%{version}/manual/manual.pdf
%license %{name}-%{version}/LICENSE.txt
%{_bindir}/cmpfillin %{_bindir}/cmpfillin
%{_bindir}/gpmetis %{_bindir}/gpmetis
%{_bindir}/graphchk %{_bindir}/graphchk
@ -229,7 +234,7 @@ cd ../
%{_bindir}/mpmetis %{_bindir}/mpmetis
%{_bindir}/ndmetis %{_bindir}/ndmetis
%{_mandir}/man1/*.1.gz %{_mandir}/man1/*.1.gz
%{_libdir}/lib%{name}.so.0 %{_libdir}/lib%{name}.so.*
%files devel %files devel
%{_includedir}/%{name}.h %{_includedir}/%{name}.h
@ -237,15 +242,16 @@ cd ../
%if 0%{?arch64} %if 0%{?arch64}
%files -n metis64 %files -n metis64
%doc metis64/src/Changelog metis64/src/manual/manual.pdf %{!?_licensedir:%global license %doc}
%license metis64/src/LICENSE.txt %doc metis64/Changelog metis64/manual/manual.pdf
%license metis64/LICENSE.txt
%{_bindir}/cmpfillin64 %{_bindir}/cmpfillin64
%{_bindir}/gpmetis64 %{_bindir}/gpmetis64
%{_bindir}/graphchk64 %{_bindir}/graphchk64
%{_bindir}/m2gmetis64 %{_bindir}/m2gmetis64
%{_bindir}/mpmetis64 %{_bindir}/mpmetis64
%{_bindir}/ndmetis64 %{_bindir}/ndmetis64
%{_libdir}/lib%{name}64.so.0 %{_libdir}/lib%{name}64.so.*
%files -n metis64-devel %files -n metis64-devel
%{_includedir}/%{name}64.h %{_includedir}/%{name}64.h
@ -253,204 +259,107 @@ cd ../
%endif %endif
%changelog %changelog
* Tue Dec 24 2024 Dmitriy Samoylik <samoylikdv@msvsphere-os.ru> - 5.1.0.3-6 * Sat Feb 17 2018 Antonio Trande <sagitter@fedoraproject.org> - 5.1.0-17
- Rebuilt for MSVSphere 10 - Use %%ldconfig_scriptlets
## START: Generated by rpmautospec
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Dec 17 2023 Antonio Trande <sagitter@fedoraproject.org> - 5.1.0.3-3
- Fix License tag
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sun Jul 16 2023 Antonio Trande <sagitter@fedoraproject.org> - 5.1.0.3-1
- Use modernized build system| New source code archive
* Sun Jul 16 2023 Antonio Trande <sagitter@fedoraproject.org> - 5.1.0-51
- Renew SPEC file
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-50
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-49
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-48
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-47 * Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jul 14 2021 Petr Písař <ppisar@redhat.com> - 5.1.0-46
- Rebuild against pcre2-10.37 (bug #1965025)
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-45
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sat Jan 23 2021 Antonio T <sagitter@fedoraproject.org> - 5.1.0-44
- Change CMake options /4
* Sat Jan 23 2021 Antonio T <sagitter@fedoraproject.org> - 5.1.0-43
- Change CMake options /3
* Sat Jan 23 2021 Antonio T <sagitter@fedoraproject.org> - 5.1.0-42
- Change CMake options /2
* Sat Jan 23 2021 Antonio T <sagitter@fedoraproject.org> - 5.1.0-41
- Change CMake options
* Fri Jan 08 2021 Tom Stellard <tstellar@redhat.com> - 5.1.0-40
- Add BuildRequires: make
* Tue Aug 04 2020 sagitter <sagitter@fedoraproject.org> - 5.1.0-39
- Enable __cmake_in_source_build
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-38
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 17 2020 Merlin Mathesius <mmathesi@redhat.com> - 5.1.0-36
- Minor conditional fixes for ELN
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-35
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jan 25 2020 sagitter <sagitter@fedoraproject.org> - 5.1.0-34
- Fix BR packages
* Sat Jan 25 2020 sagitter <sagitter@fedoraproject.org> - 5.1.0-33
- Remove old conditions
* Thu Oct 24 2019 sagitter <sagitter@fedoraproject.org> - 5.1.0-32
- Fix descriptions
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Feb 05 2019 sagitter <sagitter@fedoraproject.org> - 5.1.0-30
- Disable as-needed flag again
* Tue Feb 05 2019 sagitter <sagitter@fedoraproject.org> - 5.1.0-29
- Use pcre2 on Fedora 30+
* Tue Feb 05 2019 sagitter <sagitter@fedoraproject.org> - 5.1.0-28
- Disable as-needed linker flag
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 28 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5.1.0-26
- Fix RHEL conditions
* Sun Nov 04 2018 sagitter <sagitter@fedoraproject.org> - 5.1.0-25
- Another fix
* Sun Nov 04 2018 sagitter <sagitter@fedoraproject.org> - 5.1.0-24
- Fix autosetup macro
* Sun Nov 04 2018 sagitter <sagitter@fedoraproject.org> - 5.1.0-23
- Some minor changes
* Sun Jul 15 2018 sagitter <sagitter@fedoraproject.org> - 5.1.0-22
- Add gcc-c++ as BR
* Sun Jul 15 2018 sagitter <sagitter@fedoraproject.org> - 5.1.0-21
- Add gcc as BR
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sat Feb 17 2018 sagitter <sagitter@fedoraproject.org> - 5.1.0-19
- Fix %%%%ldconfig_scriptlets for metis64
* Sat Feb 17 2018 sagitter <sagitter@fedoraproject.org> - 5.1.0-18
- Use %%%%ldconfig_scriptlets
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-16 * Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-15
- Rebuilt for - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-15 * Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-14 * Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 18 2016 sagitter <sagitter@fedoraproject.org> - 5.1.0-13 * Mon Feb 15 2016 Antonio Trande <sagitter@fedoraproject.org> - 5.1.0-12
- Build 64 integer version - Build 64 integer version
* Thu Feb 04 2016 Dennis Gilmore <dennis@ausil.us> - 5.1.0-12 * Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jan 20 2016 sagitter <sagitter@fedoraproject.org> - 5.1.0-11 * Wed Jan 20 2016 Antonio Trande <sagitter@fedoraproject.org> - 5.1.0-10
- Removed ExcludeArch - Removed ExcludeArch
* Wed Jan 20 2016 sagitter <sagitter@fedoraproject.org> - 5.1.0-10 * Wed Jan 20 2016 Antonio Trande <sagitter@fedoraproject.org> - 5.1.0-9
- Defined OpenMP support - Defined OpenMP support
- Some cleanups of the SPEC file
* Wed Dec 23 2015 sagitter <sagitter@fedoraproject.org> - 5.1.0-9 * Wed Dec 23 2015 Antonio Trande <sagitter@fedoraproject.org> - 5.1.0-8
- Used always 'cmake' compiler - Used always 'cmake' command
* Thu Oct 29 2015 sagitter <sagitter@fedoraproject.org> - 5.1.0-8 * Thu Oct 29 2015 Antonio Trande <sagitter@fedoraproject.org> - 5.1.0-7
- Rebuild for cmake 3.4.0 - Rebuild for cmake 3.4.0
- Hardened builds on <F23
* Wed Jun 17 2015 Dennis Gilmore <dennis@ausil.us> - 5.1.0-7 * Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri Jan 16 2015 sagitter <sagitterATfedoraprojectDOTorg> - 5.1.0-6 * Thu Jan 15 2015 Antonio Trande <sagitter@fedoraproject.org> - 5.1.0-5
- Built on EPEL7 - Built on EPEL7
- Used new macro %%license
* Sun Aug 17 2014 Peter Robinson <pbrobinson@fedoraproject.org> - 5.1.0-5 * Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Dennis Gilmore <dennis@ausil.us> - 5.1.0-4 * Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sun Jan 19 2014 sagitter <anto.trande@gmail.com> - 5.1.0-3 * Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.0-2
- F21 rebuild
* Sat Aug 03 2013 Dennis Gilmore <dennis@ausil.us> - 5.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Sun Apr 14 2013 sagitter <anto.trande@gmail.com> - 5.1.0-1 * Sun Apr 14 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.1.0-1
- Update version - Update to 5.1.0
* Sun Mar 31 2013 sagitter <anto.trande@gmail.com> - 5.0.3-8 * Sun Mar 31 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-10
- Initial import (#920518). - Removed BR 'perl-Carp' (Bug 926996)
- Added LD_PRELOAD before help2man tasks to fix manpage shared_lib_error
* Sun Mar 24 2013 sagitter <anto.trande@gmail.com> - 5.0.3-7
- Initial import (#920518) * Sun Mar 24 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-9
- Added BR 'perl-Carp' for Fedora
* Sun Mar 24 2013 sagitter <anto.trande@gmail.com> - 5.0.3-6 - Excluded manpage creation for 'cmpfillin' and 'graphchk' commands
- Initial import (#920518)
* Wed Mar 20 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-8
* Sun Mar 24 2013 sagitter <anto.trande@gmail.com> - 5.0.3-5 - Added BR cmake28 for EPEL6 building
- Initial import (#920518) - Set up of manpages creation in EPEL6
* Sun Mar 24 2013 sagitter <anto.trande@gmail.com> - 5.0.3-4 * Wed Mar 20 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-7
- Initial import (#920518) - Removed explicit manpages compression
- License tag changed to 'ASL 2.0 and BSD and LGPLv2+'
* Sun Mar 24 2013 sagitter <anto.trande@gmail.com> - 5.0.3-3
- Initial import (#920518) * Wed Mar 20 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-6
- Modified %%check section to perform tests properly
* Sun Mar 24 2013 sagitter <anto.trande@gmail.com> - 5.0.3-2
- Initial import (#920518) * Tue Mar 19 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-5
- Added %%check section
* Thu Mar 21 2013 sagitter <anto.trande@gmail.com> - 5.0.3-1 - Removed GK*.h libraries installation
- Initial import (#920518).
## END: Generated by rpmautospec * Sun Mar 17 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-4
- Added patch to sets up GKREGEX, GKRAND, libsuffix options to the Makefiles
- Configured patch2 condition
- soname version of libmetis changed to 0
- Added cmake options and flags to check openmp
- GKlib_includes destination changed to include/metis
- Added commands to generate binaries man-page
- Added BR openmpi-devel, pcre-devel, help2man
* Fri Mar 15 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-3
- Static sub-package removed
- TEMPORARY fix for files in "/usr/lib" removed
- Added patches for set up shared GKlib and soname libmetis
- Removed BR chrpath
* Thu Mar 14 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-2
- Initial release changed from 0 to 1
- Removed chrpath command
- Added metis-width-datatype.patch only for 64bit systems
- Build commands completely changed to use %%cmake
- TEMPORARY fix for files in "/usr/lib"
* Sat Mar 02 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-1
- Initial package
- Removed chrpaths
- Added BR chrpath
- Removed exec permissions to silence spurious-executable-perm warning

Loading…
Cancel
Save