diff options
-rw-r--r-- | academic/glpk/README | 20 | ||||
-rw-r--r-- | academic/glpk/glpk.SlackBuild | 66 | ||||
-rw-r--r-- | academic/glpk/glpk.info | 8 | ||||
-rw-r--r-- | academic/glpk/slack-desc | 19 |
4 files changed, 113 insertions, 0 deletions
diff --git a/academic/glpk/README b/academic/glpk/README new file mode 100644 index 000000000000..a1beb9cea339 --- /dev/null +++ b/academic/glpk/README @@ -0,0 +1,20 @@ +glpk - GNU Linear Programming Kit + +The GLPK package is intended for solving large-scale linear programming +(LP), mixed integer programming (MIP), and other related problems. +It is a set of routines written in ANSI C and organized in the form of a +callable library. + +GLPK supports the GNU MathProg language, which is a subset of the AMPL +language. + +The GLPK package includes the following main components: + + * primal and dual simplex methods + * primal-dual interior-point method + * branch-and-cut method + * translator for GNU MathProg + * application program interface (API) + * stand-alone LP/MIP solver + +glpk is an optional dependency for the octave package. diff --git a/academic/glpk/glpk.SlackBuild b/academic/glpk/glpk.SlackBuild new file mode 100644 index 000000000000..d664c0a55fd5 --- /dev/null +++ b/academic/glpk/glpk.SlackBuild @@ -0,0 +1,66 @@ +#!/bin/sh +# Slackware build script for glpk +# Written by Chris Abela <chris.abela@maltats.com> +# January 2008 + +PRGNAM=glpk +VERSION=${VERSION:-4.34} +ARCH=${ARCH:-i486} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +LDFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --enable-dl \ + --program-prefix= \ + --program-suffix= \ + --build=$ARCH-slackware-linux \ + --host=$ARCH-slackware-linux + +make +make install DESTDIR=$PKG + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS $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.tgz diff --git a/academic/glpk/glpk.info b/academic/glpk/glpk.info new file mode 100644 index 000000000000..cbed942e52d1 --- /dev/null +++ b/academic/glpk/glpk.info @@ -0,0 +1,8 @@ +PRGNAM="glpk" +VERSION="4.34" +HOMEPAGE="http://www.gnu.org/software/glpk/" +DOWNLOAD="http://ftp.gnu.org/gnu/glpk/glpk-4.34.tar.gz" +MD5SUM="be85bd4ee1e878535fa19ad37a1c77c4" +MAINTAINER="Chris Abela" +EMAIL="chris.abela@maltats.com" +APPROVED="dsomero" diff --git a/academic/glpk/slack-desc b/academic/glpk/slack-desc new file mode 100644 index 000000000000..3bff3b8adbcb --- /dev/null +++ b/academic/glpk/slack-desc @@ -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---------------------------------------------------------| +glpk: glpk (GNU Linear Programming Kit) +glpk: +glpk: The GLPK package is intended for solving large-scale linear programming +glpk: (LP), mixed integer programming (MIP), and other related problems. +glpk: It is a set of routines written in ANSI C and organized in the form of a +glpk: callable library. +glpk: +glpk: GLPK supports the GNU MathProg language, which is a subset of the AMPL +glpk: language. +glpk: http://www.gnu.org/software/glpk/ +glpk: |