libraries/cln: Added to 12.0 repository

This commit is contained in:
Andrew Psaltis 2010-05-11 20:00:42 +02:00 committed by Robby Workman
parent b39e67314b
commit 24e047c60f
5 changed files with 134 additions and 0 deletions

7
libraries/cln/README Normal file
View File

@ -0,0 +1,7 @@
CLN is a library for computations with all kinds of numbers. It has a
rich set of number classes, including integers (with unlimited
precision), reals with various precisions (including unlimited),
rationals, complex numbers and polynomials. The kernel is written in
assembly language. It uses garbage collection (automatic, without
imposing any burden on the main application). Many efficient
algorithms (i.e. for all transcendental functions) are implemented.

View File

@ -0,0 +1,95 @@
#!/bin/sh
# Slackware build script for cln
# Written by Andrew Psaltis (ampsaltis@gmail.com)
# Copyright 2007 Andrew Psaltis, Vienna, VA, 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.
set -e
DOCS="COPYING INSTALL* NEWS README TODO"
PRGNAM=cln
VERSION=1.1.13
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 # For BlueWhite64
SLKCFLAGS="-O2 -fPIC"
fi
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xfvj $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
--enable-shared \
--disable-static \
--with-gnu-ld
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
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
( cd $PKG/usr/man
find . -type f -exec gzip -9 {} \;
for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
)
rm -f $PKG/usr/info/dir
gzip -9 $PKG/usr/info/*.info*
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
mv $PKG/usr/share/html $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
cat $CWD/doinst.sh > $PKG/install/doinst.sh
# Make the package
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz

8
libraries/cln/cln.info Normal file
View File

@ -0,0 +1,8 @@
PRGNAM="cln"
VERSION="1.1.13"
HOMEPAGE="http://www.ginac.de/CLN"
DOWNLOAD="http://www.ginac.de/CLN/cln-1.1.13.tar.bz2"
MD5SUM="1f3d227360003b389bba14c8a5c3695a"
MAINTAINER="Andrew Psaltis"
EMAIL="ampsaltis@gmail.com"
APPROVED="rworkman"

5
libraries/cln/doinst.sh Normal file
View File

@ -0,0 +1,5 @@
#!/bin/sh
if [ -x usr/bin/install-info ] ; then
chroot . /usr/bin/install-info --info-dir=/usr/info /usr/info/cln.info.gz 2>/dev/null
fi

19
libraries/cln/slack-desc Normal file
View 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------------------------------------------------------|
cln: cln (class library for numbers)
cln:
cln: CLN is a library for computations with all kinds of numbers. It has a
cln: rich set of number classes, including integers (with unlimited
cln: precision), reals with various precisions (including unlimited),
cln: rationals, complex numbers and polynomials. The kernel is written in
cln: assembly language. It uses garbage collection (automatic, without
cln: imposing any burden on the main application). Many efficient
cln: algorithms (i.e. for all transcendental functions) are implemented.
cln:
cln: Check out more at: http://www.ginac.de/CLN/