summaryrefslogtreecommitdiff
path: root/academic/metis
diff options
context:
space:
mode:
authorKyle Guinn <elyk03@gmail.com>2015-06-09 00:45:43 -0500
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2015-06-14 07:55:32 +0700
commit2783a26a3976ed77b67262a2711375e76b38e40a (patch)
tree478fe2040ce6b1843d4f580eb43ef468176ea55d /academic/metis
parent0008ce81ce41555f501979771b908b7140901180 (diff)
downloadslackbuilds-2783a26a3976ed77b67262a2711375e76b38e40a.tar.gz
academic/metis: Fix potential linking problems.
_LARGEFILE64_SOURCE should be unnecessary. _FILE_OFFSET_BITS=64 does the real work to link to the 64-bit functions. Don't abuse libtool's -version-info to make the library version match the package version. These do not necessarily correspond. Remove the .la files; these are causing libtool to overlink. This should save you from needlessly rebuilding some dependent packages in the future. Signed-off-by: Kyle Guinn <elyk03@gmail.com>
Diffstat (limited to 'academic/metis')
-rw-r--r--academic/metis/autotoolize.diff26
-rw-r--r--academic/metis/metis.SlackBuild35
2 files changed, 45 insertions, 16 deletions
diff --git a/academic/metis/autotoolize.diff b/academic/metis/autotoolize.diff
index 1b87aa13c8..93c16ea6b3 100644
--- a/academic/metis/autotoolize.diff
+++ b/academic/metis/autotoolize.diff
@@ -4,7 +4,7 @@ new file mode 100644
+++ b/Doc/Makefile.am
@@ -0,0 +1,5 @@
+dist_noinst_DATA = manual.ps
-+pdf_DATA = manual.pdf
++dist_pdf_DATA = manual.pdf
+
+%.pdf: %.ps
+ ps2pdf $<
@@ -80,14 +80,14 @@ new file mode 100644
+lib_LTLIBRARIES = libmetis.la
+libmetis_la_SOURCES = $(SRC)
+libmetis_la_LIBADD = -lm
-+libmetis_la_LDFLAGS = -no-undefined -version-info 4:3:0
++libmetis_la_LDFLAGS = -no-undefined -release $(PACKAGE_VERSION)
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 LICENSE VERSION metis.pc.in
++EXTRA_DIST = CHANGES FILES INSTALL LICENSE VERSION
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = metis.pc
@@ -139,23 +139,32 @@ diff --git a/configure.ac b/configure.ac
new file mode 100644
--- /dev/null
+++ b/configure.ac
-@@ -0,0 +1,31 @@
-+AC_PREREQ([2.68])
-+AC_INIT([METIS],[4.0.3],[karypis@cs.umn.edu])
+@@ -0,0 +1,40 @@
++# -*- Autoconf -*-
++# Process this file with autoconf to produce a configure script.
++
++AC_PREREQ([2.69])
++AC_INIT([METIS],[4.0.3],[karypis@cs.umn.edu],[metis],[http://glaros.dtc.umn.edu/gkhome/metis/metis/overview])
+AC_CONFIG_SRCDIR([Lib/metis.h])
-+AC_CONFIG_HEADER([config.h])
++AC_CONFIG_HEADERS([config.h])
+AM_INIT_AUTOMAKE([foreign])
+LT_INIT
+
++# Checks for programs.
+AC_PROG_INSTALL
+AC_PROG_CC
+
+LIBS_SAVED=$LIBS
+
++# Checks for libraries.
+AC_CHECK_LIB([m], [sqrt])
+
++# Checks for header files.
+AC_CHECK_HEADERS([malloc.h stdlib.h string.h strings.h])
+
++# Checks for typedefs, structures, and compiler characteristics.
++
++# Checks for library functions.
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_CHECK_FUNCS([pow sqrt strtol])
@@ -175,7 +184,7 @@ diff --git a/metis.pc.in b/metis.pc.in
new file mode 100644
--- /dev/null
+++ b/metis.pc.in
-@@ -0,0 +1,11 @@
+@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
@@ -184,6 +193,7 @@ new file mode 100644
+Name: @PACKAGE_NAME@
+Description: Software for partitioning unstructured graphs and meshes
+Version: @PACKAGE_VERSION@
++URL: @PACKAGE_URL@
+Libs: -L${libdir} -lmetis
+Libs.private: -lm
+Cflags: -I${includedir}/metis
diff --git a/academic/metis/metis.SlackBuild b/academic/metis/metis.SlackBuild
index 061b7362c7..b8ba91ac58 100644
--- a/academic/metis/metis.SlackBuild
+++ b/academic/metis/metis.SlackBuild
@@ -1,11 +1,30 @@
#!/bin/sh
# Slackware build script for METIS
-# Written by Kyle Guinn <elyk03@gmail.com>
+
+# Copyright 2015 Kyle Guinn <elyk03@gmail.com>, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=metis
VERSION=${VERSION:-4.0.3}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -38,7 +57,7 @@ else
fi
# Recommended by SuiteSparse
-SLKCFLAGS="$SLKCFLAGS -fexceptions -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE"
+SLKCFLAGS="$SLKCFLAGS -fexceptions -D_FILE_OFFSET_BITS=64"
set -e
@@ -49,11 +68,7 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+chmod -R u+w,go-w,a+rX-st .
patch -p1 < $CWD/autotoolize.diff
autoreconf -vif
@@ -68,11 +83,15 @@ CFLAGS="$SLKCFLAGS" \
--infodir=/usr/info \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--enable-shared \
+ --disable-dependency-tracking \
--build=$ARCH-slackware-linux
make
+make check
make install-strip DESTDIR=$PKG
+find $PKG/usr/lib${LIBDIRSUFFIX} -name '*.la' -delete
+
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