metis: 5.1.0-p11 -> 5.2.1; new dependency: gklib

This commit is contained in:
Tim Biermann 2023-11-27 20:54:58 +01:00
parent 760ab2822b
commit c472807cc3
Signed by: tb
GPG Key ID: 42F8B4E30B673606
6 changed files with 138 additions and 13 deletions

View File

@ -1,8 +1,14 @@
drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/bin/
-rwxr-xr-x root/root usr/bin/cmpfillin
-rwxr-xr-x root/root usr/bin/gpmetis
-rwxr-xr-x root/root usr/bin/graphchk
-rwxr-xr-x root/root usr/bin/m2gmetis
-rwxr-xr-x root/root usr/bin/mpmetis
-rwxr-xr-x root/root usr/bin/ndmetis
drwxr-xr-x root/root usr/include/
-rw-r--r-- root/root usr/include/gklib_defs.h
-rw-r--r-- root/root usr/include/gklib_rename.h
-rw-r--r-- root/root usr/include/gklib_tls.h
-rw-r--r-- root/root usr/include/metis.h
drwxr-xr-x root/root usr/lib/
-rwxr-xr-x root/root usr/lib/libmetis.so
drwxr-xr-x root/root usr/lib/pkgconfig/
-rw-r--r-- root/root usr/lib/pkgconfig/metis.pc

View File

@ -1,5 +1,8 @@
untrusted comment: verify with /etc/ports/contrib.pub
RWSagIOpLGJF39K89j+7Zn3BSoo/I+qg4cRWmskcSUkl1+sn9TK+8PyjVln4T0j942xeJCSsqDnO+UyMXN4ymE6ohaiRe8cucAI=
SHA256 (Pkgfile) = 16e30720149d23bb6ace77defa6baae22a5f64ddba2ebb1c172a67243ccd83cf
SHA256 (.footprint) = 3d34f65fbf731ab9f4581d194fe4015af60b645c43ce3f8f31e5b67b29cec71c
SHA256 (v5.1.0-p11.tar.bz2) = c2d5eb5a731335a2d7168eedcf2b683b990492b5ffceab1eedc2acbb7a422ff0
RWSagIOpLGJF362DvvU3NKk1j9L9bJzDp5BSO/DRGVlLkPgrTRr5i/ToFY8h1c3WW/guAGUiVMPWIABB4ZMLpBDUieL7a/HLpgM=
SHA256 (Pkgfile) = 7ea916b7f47b0411dabc98a026e77efb2080f7f19057272be0386a2734777fae
SHA256 (.footprint) = a0fa80e349853d608a391c5e7f6e646f054e2dabde363461c7e81617f8f2ddcb
SHA256 (metis-5.2.1.tar.gz) = 1a4665b2cd07edc2f734e30d7460afb19c1217c2547c2ac7bf6e1848d50aff7a
SHA256 (metis-5.2.1-add-gklib-as-required.patch) = d3d013c95a9824eeba932a0382a648e92044072fefa0742a30b6f5f9a9e5b31a
SHA256 (metis-5.2.1-multilib.patch) = 2fbd8d32acb230fe85492c2891a8687e57eb18f9e941a9f904679e4dc6b17dab
SHA256 (metis-5.2.1-respect-user-flags.patch) = 4b0881df80d0e1a15bb827bfd277f0be68e09f2f88462e014678e0320e4d0147

View File

@ -1,15 +1,36 @@
# Description: A set of serial programs for partitioning graphs, partitioning finite element meshes, and producing fill reducing orderings for sparse matrices
# URL: http://glaros.dtc.umn.edu/gkhome/metis/metis/overview
# Description: Serial Graph Partitioning and Fill-reducing Matrix Ordering
# URL: https://github.com/KarypisLab/METIS
# Maintainer: Tim Biermann, tbier at posteo dot de
# Depends on:
# Depends on: gklib
name=metis
version=5.1.0-p11
version=5.2.1
release=1
source=(https://bitbucket.org/petsc/pkg-metis/get/v$version.tar.bz2)
source=(https://github.com/KarypisLab/METIS/archive/refs/tags/v$version.tar.gz
metis-5.2.1-add-gklib-as-required.patch
metis-5.2.1-multilib.patch
metis-5.2.1-respect-user-flags.patch)
renames=($name-$version.tar.gz SKIP SKIP SKIP)
build() {
cmake -S petsc-pkg-metis-* -B build -G Ninja \
#patch -Np1 -d METIS-$version -i $SRC/metis-5.2.1-multilib.patch
patch -Np1 -d METIS-$version -i $SRC/metis-5.2.1-add-gklib-as-required.patch
patch -Np1 -d METIS-$version -i $SRC/metis-5.2.1-respect-user-flags.patch
if prt-get isinst double-conversion; then
realwidth="#define REALTYPEWIDTH 64"
else
realwidth="#define REALTYPEWIDTH 32"
fi
idxwidth="#define IDXTYPEWIDTH 64"
mkdir -p METIS-$version/build/xinclude
echo ${idxwidth} > METIS-$version/build/xinclude/metis.h
echo ${realwidth} >> METIS-$version/build/xinclude/metis.h
cat METIS-$version/include/metis.h >> METIS-$version/build/xinclude/metis.h
cp METIS-$version/include/CMakeLists.txt METIS-$version/build/xinclude
cmake -S METIS-$version -B build -G Ninja \
-D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \
@ -18,4 +39,18 @@ build() {
-Wno-dev
cmake --build build
DESTDIR=$PKG cmake --install build
mkdir -p $PKG/usr/lib/pkgconfig
cat >> $PKG/usr/lib/pkgconfig/metis.pc <<- EOF
prefix=/usr
exec_prefix=\${prefix}
libdir=\${exec_prefix}/lib
includedir=\${prefix}/include
Name: METIS
Description: Software for partioning unstructured graphes and meshes
Version: ${version}
Cflags: -I\${includedir}
Libs: -L\${libdir} -lmetis -lGKlib
EOF
}

View File

@ -0,0 +1,15 @@
diff --git a/libmetis/CMakeLists.txt b/libmetis/CMakeLists.txt
index fc6cec6..758835f 100644
--- a/libmetis/CMakeLists.txt
+++ b/libmetis/CMakeLists.txt
@@ -7,6 +7,10 @@ file(GLOB metis_sources *.c)
# Build libmetis.
add_library(metis ${METIS_LIBRARY_TYPE} ${metis_sources})
+if(SHARED)
+ target_link_libraries(metis GKlib)
+endif()
+
if(METIS_INSTALL)
install(TARGETS metis
LIBRARY DESTINATION lib

View File

@ -0,0 +1,19 @@
diff --git a/libmetis/CMakeLists.txt b/libmetis/CMakeLists.txt
index fc6cec6..e10a1a1 100644
--- a/libmetis/CMakeLists.txt
+++ b/libmetis/CMakeLists.txt
@@ -6,10 +6,11 @@ file(GLOB metis_sources *.c)
# Build libmetis.
add_library(metis ${METIS_LIBRARY_TYPE} ${metis_sources})
+set_target_properties(metis PROPERTIES SOVERSION 0)
if(METIS_INSTALL)
install(TARGETS metis
- LIBRARY DESTINATION lib
- RUNTIME DESTINATION lib
- ARCHIVE DESTINATION lib)
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ RUNTIME DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX})
endif()

View File

@ -0,0 +1,47 @@
diff --git a/conf/gkbuild.cmake b/conf/gkbuild.cmake
index 0e70a8e..d005f84 100644
--- a/conf/gkbuild.cmake
+++ b/conf/gkbuild.cmake
@@ -29,16 +29,7 @@ endif(CYGWIN)
if(CMAKE_COMPILER_IS_GNUCC)
# GCC opts.
set(GK_COPTIONS "${GK_COPTIONS} -std=c99 -fno-strict-aliasing")
-if(VALGRIND)
- set(GK_COPTIONS "${GK_COPTIONS} -march=x86-64 -mtune=generic")
-else()
- set(GK_COPTIONS "${GK_COPTIONS} -march=native")
-endif(VALGRIND)
- if(NOT MINGW)
- set(GK_COPTIONS "${GK_COPTIONS} -fPIC")
- endif(NOT MINGW)
-# GCC warnings.
- set(GK_COPTIONS "${GK_COPTIONS} -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label")
+
elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun")
# Sun insists on -xc99.
set(GK_COPTIONS "${GK_COPTIONS} -xc99")
@@ -65,24 +56,10 @@ if(OPENMP)
endif(OPENMP)
-# Add various definitions.
-if(GDB)
- set(GK_COPTS "${GK_COPTS} -g")
- set(GK_COPTIONS "${GK_COPTIONS} -Werror")
-else()
- set(GK_COPTS "-O3")
-endif(GDB)
-
-
if(DEBUG)
- set(GK_COPTS "-Og")
set(GK_COPTIONS "${GK_COPTIONS} -DDEBUG")
endif(DEBUG)
-if(GPROF)
- set(GK_COPTS "-pg")
-endif(GPROF)
-
if(NOT ASSERT)
set(GK_COPTIONS "${GK_COPTIONS} -DNDEBUG")
endif(NOT ASSERT)