mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-24 10:02:29 +01:00
academic/metis: Added (matrix ordering)
Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
This commit is contained in:
parent
d115764b92
commit
1fdd970212
5 changed files with 302 additions and 0 deletions
3
academic/metis/README
Normal file
3
academic/metis/README
Normal file
|
@ -0,0 +1,3 @@
|
|||
METIS is a set of serial programs for partitioning graphs, partitioning
|
||||
finite element meshes, and producing fill reducing orderings for sparse
|
||||
matrices.
|
188
academic/metis/autotoolize.diff
Normal file
188
academic/metis/autotoolize.diff
Normal file
|
@ -0,0 +1,188 @@
|
|||
diff --git a/Doc/Makefile.am b/Doc/Makefile.am
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Doc/Makefile.am
|
||||
@@ -0,0 +1,5 @@
|
||||
+dist_noinst_DATA = manual.ps
|
||||
+pdf_DATA = manual.pdf
|
||||
+
|
||||
+%.pdf: %.ps
|
||||
+ ps2pdf $<
|
||||
diff --git a/Graphs/Makefile.am b/Graphs/Makefile.am
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Graphs/Makefile.am
|
||||
@@ -0,0 +1,2 @@
|
||||
+EXTRA_DIST = 0README
|
||||
+dist_noinst_DATA = 4elt.graph metis.mesh test.mgraph
|
||||
diff --git a/Lib/Makefile.am b/Lib/Makefile.am
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Lib/Makefile.am
|
||||
@@ -0,0 +1,61 @@
|
||||
+pkgincludedir = $(includedir)/metis
|
||||
+pkginclude_HEADERS = defs.h macros.h metis.h proto.h rename.h struct.h
|
||||
+
|
||||
+SRC = \
|
||||
+ balance.c \
|
||||
+ bucketsort.c \
|
||||
+ ccgraph.c \
|
||||
+ coarsen.c \
|
||||
+ compress.c \
|
||||
+ debug.c \
|
||||
+ estmem.c \
|
||||
+ fm.c \
|
||||
+ fortran.c \
|
||||
+ frename.c \
|
||||
+ graph.c \
|
||||
+ initpart.c \
|
||||
+ kmetis.c \
|
||||
+ kvmetis.c \
|
||||
+ kwayfm.c \
|
||||
+ kwayrefine.c \
|
||||
+ kwayvolfm.c \
|
||||
+ kwayvolrefine.c \
|
||||
+ match.c \
|
||||
+ mbalance.c \
|
||||
+ mbalance2.c \
|
||||
+ mcoarsen.c \
|
||||
+ memory.c \
|
||||
+ mesh.c \
|
||||
+ meshpart.c \
|
||||
+ mfm.c \
|
||||
+ mfm2.c \
|
||||
+ mincover.c \
|
||||
+ minitpart.c \
|
||||
+ minitpart2.c \
|
||||
+ mkmetis.c \
|
||||
+ mkwayfmh.c \
|
||||
+ mkwayrefine.c \
|
||||
+ mmatch.c \
|
||||
+ mmd.c \
|
||||
+ mpmetis.c \
|
||||
+ mrefine.c \
|
||||
+ mrefine2.c \
|
||||
+ mutil.c \
|
||||
+ myqsort.c \
|
||||
+ ometis.c \
|
||||
+ parmetis.c \
|
||||
+ pmetis.c \
|
||||
+ pqueue.c \
|
||||
+ refine.c \
|
||||
+ separator.c \
|
||||
+ sfm.c \
|
||||
+ srefine.c \
|
||||
+ stat.c \
|
||||
+ subdomains.c \
|
||||
+ timing.c \
|
||||
+ util.c
|
||||
+
|
||||
+lib_LTLIBRARIES = libmetis.la
|
||||
+libmetis_la_SOURCES = $(SRC)
|
||||
+libmetis_la_LIBADD = -lm
|
||||
+libmetis_la_LDFLAGS = -no-undefined -version-info 4:1:0
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Makefile.am
|
||||
@@ -0,0 +1,5 @@
|
||||
+SUBDIRS = Lib Programs Graphs Test Doc
|
||||
+EXTRA_DIST = CHANGES FILES INSTALL VERSION metis.pc.in
|
||||
+
|
||||
+pkgconfigdir = $(libdir)/pkgconfig
|
||||
+pkgconfig_DATA = metis.pc
|
||||
diff --git a/Programs/Makefile.am b/Programs/Makefile.am
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Programs/Makefile.am
|
||||
@@ -0,0 +1,23 @@
|
||||
+AM_CPPFLAGS = -I$(top_srcdir)/Lib
|
||||
+LDADD = $(top_builddir)/Lib/libmetis.la
|
||||
+
|
||||
+bin_PROGRAMS = \
|
||||
+ pmetis \
|
||||
+ kmetis \
|
||||
+ oemetis \
|
||||
+ onmetis \
|
||||
+ mesh2dual \
|
||||
+ mesh2nodal \
|
||||
+ partdmesh \
|
||||
+ partnmesh \
|
||||
+ graphchk
|
||||
+
|
||||
+pmetis_SOURCES = pmetis.c io.c
|
||||
+kmetis_SOURCES = kmetis.c io.c
|
||||
+oemetis_SOURCES = oemetis.c io.c smbfactor.c
|
||||
+onmetis_SOURCES = onmetis.c io.c smbfactor.c
|
||||
+mesh2dual_SOURCES = mesh2dual.c io.c
|
||||
+mesh2nodal_SOURCES = mesh2nodal.c io.c
|
||||
+partdmesh_SOURCES = partdmesh.c io.c
|
||||
+partnmesh_SOURCES = partnmesh.c io.c
|
||||
+graphchk_SOURCES = graphchk.c io.c
|
||||
diff --git a/Test/Makefile.am b/Test/Makefile.am
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Test/Makefile.am
|
||||
@@ -0,0 +1,11 @@
|
||||
+AM_CPPFLAGS = -I$(top_srcdir)/Lib
|
||||
+LDADD = $(top_builddir)/Lib/libmetis.la
|
||||
+
|
||||
+check_PROGRAMS = mtest
|
||||
+mtest_SOURCES = mtest.c ../Programs/io.c
|
||||
+
|
||||
+GRAPHS = \
|
||||
+ ../Graphs/4elt.graph
|
||||
+
|
||||
+check-local: $(check_PROGRAMS) $(GRAPHS)
|
||||
+ -./mtest ../Graphs/4elt.graph
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/configure.ac
|
||||
@@ -0,0 +1,31 @@
|
||||
+AC_PREREQ([2.65])
|
||||
+AC_INIT([METIS], [4.0.1], [karypis@cs.umn.edu])
|
||||
+AC_CONFIG_SRCDIR([Lib/metis.h])
|
||||
+AC_CONFIG_HEADER([config.h])
|
||||
+AM_INIT_AUTOMAKE([foreign])
|
||||
+LT_INIT
|
||||
+
|
||||
+AC_PROG_INSTALL
|
||||
+AC_PROG_CC
|
||||
+
|
||||
+LIBS_SAVED=$LIBS
|
||||
+
|
||||
+AC_CHECK_LIB([m], [sqrt])
|
||||
+
|
||||
+AC_CHECK_HEADERS([malloc.h stdlib.h string.h strings.h])
|
||||
+
|
||||
+AC_FUNC_MALLOC
|
||||
+AC_FUNC_REALLOC
|
||||
+AC_CHECK_FUNCS([pow sqrt strtol])
|
||||
+
|
||||
+LIBS=$LIBS_SAVED
|
||||
+
|
||||
+AC_CONFIG_FILES([
|
||||
+ Makefile
|
||||
+ metis.pc
|
||||
+ Doc/Makefile
|
||||
+ Graphs/Makefile
|
||||
+ Lib/Makefile
|
||||
+ Programs/Makefile
|
||||
+ Test/Makefile])
|
||||
+AC_OUTPUT
|
||||
diff --git a/metis.pc.in b/metis.pc.in
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/metis.pc.in
|
||||
@@ -0,0 +1,10 @@
|
||||
+prefix=@prefix@
|
||||
+exec_prefix=@exec_prefix@
|
||||
+libdir=@libdir@
|
||||
+includedir=@includedir@
|
||||
+
|
||||
+Name: @PACKAGE_NAME@
|
||||
+Description: Software for partitioning unstructured graphs and meshes
|
||||
+Version: @PACKAGE_VERSION@
|
||||
+Libs: -L${libdir} -lmetis
|
||||
+Cflags: -I${includedir}/metis
|
82
academic/metis/metis.SlackBuild
Normal file
82
academic/metis/metis.SlackBuild
Normal file
|
@ -0,0 +1,82 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Slackware build script for METIS
|
||||
# Written by Kyle Guinn <elyk03@gmail.com>
|
||||
|
||||
PRGNAM=metis
|
||||
VERSION=${VERSION:-4.0.1}
|
||||
SRCVERSION=${SRCVERSION:-4.0}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
case "$(uname -m)" in
|
||||
i?86) ARCH=i486 ;;
|
||||
arm*) ARCH=arm ;;
|
||||
*) ARCH=$(uname -m) ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
CWD=$(pwd)
|
||||
TMP=${TMP:-/tmp/SBo}
|
||||
PKG=$TMP/package-$PRGNAM
|
||||
OUTPUT=${OUTPUT:-/tmp}
|
||||
|
||||
DOCS="CHANGES FILES INSTALL VERSION"
|
||||
|
||||
if [ "$ARCH" = "i486" ]; then
|
||||
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
elif [ "$ARCH" = "i686" ]; then
|
||||
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
elif [ "$ARCH" = "x86_64" ]; then
|
||||
SLKCFLAGS="-O2 -fPIC"
|
||||
LIBDIRSUFFIX="64"
|
||||
else
|
||||
SLKCFLAGS="-O2"
|
||||
LIBDIRSUFFIX=""
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
rm -rf $PKG
|
||||
mkdir -p $TMP $PKG $OUTPUT
|
||||
cd $TMP
|
||||
rm -rf $PRGNAM-$SRCVERSION
|
||||
tar xvf $CWD/$PRGNAM-$SRCVERSION.tar.gz
|
||||
cd $PRGNAM-$SRCVERSION
|
||||
chown -R root:root .
|
||||
chmod -R u+w,go+r-w,a-st .
|
||||
|
||||
# The C standard reserves all names that begin with underscores. Metis
|
||||
# ignores this and now we have naming conflicts with glibc. Right now only
|
||||
# __log2 conflicts, but this should fix the problem for good.
|
||||
sed -i 's/__/metis__/g' Lib/rename.h
|
||||
|
||||
patch -p1 < $CWD/autotoolize.diff
|
||||
autoreconf -vif
|
||||
|
||||
CFLAGS="$SLKCFLAGS" \
|
||||
CXXFLAGS="$SLKCFLAGS" \
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/lib${LIBDIRSUFFIX} \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/man \
|
||||
--docdir=/usr/doc/$PRGNAM-$VERSION \
|
||||
--build=$ARCH-slackware-linux
|
||||
|
||||
make
|
||||
make install-strip DESTDIR=$PKG
|
||||
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
|
||||
mkdir -p $PKG/install
|
||||
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||
|
||||
cd $PKG
|
||||
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
|
10
academic/metis/metis.info
Normal file
10
academic/metis/metis.info
Normal file
|
@ -0,0 +1,10 @@
|
|||
PRGNAM="metis"
|
||||
VERSION="4.0.1"
|
||||
HOMEPAGE="http://glaros.dtc.umn.edu/gkhome/metis/metis/overview"
|
||||
DOWNLOAD="http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-4.0.tar.gz"
|
||||
MD5SUM="0aa546419ff7ef50bd86ce1ec7f727c7"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
MAINTAINER="Kyle Guinn"
|
||||
EMAIL="elyk03@gmail.com"
|
||||
APPROVED="dsomero"
|
19
academic/metis/slack-desc
Normal file
19
academic/metis/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
|||
# HOW TO EDIT THIS FILE:
|
||||
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||
# up the first '|' above the ':' following the base package name, and the '|'
|
||||
# on the right side marks the last column you can put a character in. You must
|
||||
# make exactly 11 lines for the formatting to be correct. It's also
|
||||
# customary to leave one space after the ':'.
|
||||
|
||||
|-----handy-ruler------------------------------------------------------|
|
||||
metis: METIS (serial graph partitioning and fill-reducing matrix ordering)
|
||||
metis:
|
||||
metis: METIS is a set of serial programs for partitioning graphs,
|
||||
metis: partitioning finite element meshes, and producing fill reducing
|
||||
metis: orderings for sparse matrices.
|
||||
metis:
|
||||
metis:
|
||||
metis:
|
||||
metis:
|
||||
metis:
|
||||
metis:
|
Loading…
Reference in a new issue