diff options
author | Patrick Pippen <dabittweiler@gmail.com> | 2011-02-02 22:47:38 -0600 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2011-02-02 22:47:38 -0600 |
commit | bbe98cc76ad5d591bbbe5b3bf14f5bc32b7789c5 (patch) | |
tree | f16d75944823002b3cca3f2dd85848ededfb266d /development/chicken | |
parent | 8f4957310ed8b8cec4e08fa08443a6056e43544a (diff) |
development/chicken: Added (a practical and portable scheme system)
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
Diffstat (limited to 'development/chicken')
-rw-r--r-- | development/chicken/README | 5 | ||||
-rw-r--r-- | development/chicken/chicken.SlackBuild | 87 | ||||
-rw-r--r-- | development/chicken/chicken.info | 10 | ||||
-rw-r--r-- | development/chicken/slack-desc | 19 |
4 files changed, 121 insertions, 0 deletions
diff --git a/development/chicken/README b/development/chicken/README new file mode 100644 index 0000000000000..727a9401f1203 --- /dev/null +++ b/development/chicken/README @@ -0,0 +1,5 @@ +chicken is a compiler that translates Scheme source files into C, +which in turn can be fed to a C compiler to generate a standalone +executable. An interpreter is also available and can be used as a +scripting environment or for test programs before compilation. +Scheme is a member of the Lisp family of languages. diff --git a/development/chicken/chicken.SlackBuild b/development/chicken/chicken.SlackBuild new file mode 100644 index 0000000000000..7557357738a01 --- /dev/null +++ b/development/chicken/chicken.SlackBuild @@ -0,0 +1,87 @@ +#!/bin/sh -e + +# Slackware build script for Chicken + +# Written by Patrick Pippen (dabittweiler@gmail.com) + +PRGNAM=chicken +VERSION=${VERSION:-4.6.0} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +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 # Exit on most errors + +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 {} \; + +make \ + C_COMPILER_OPTIMIZATION_OPTIONS="$SLKCFLAGS" \ + PLATFORM=linux \ + PREFIX=/usr \ + LIBDIR=/usr/lib${LIBDIRSUFFIX} \ + TOPMANDIR=/usr/man \ + DOCDIR=/usr/doc/$PRGNAM-$VERSION + +make install \ + C_COMPILER_OPTIMIZATION_OPTIONS="$SLKCFLAGS" \ + PLATFORM=linux \ + PREFIX=/usr \ + LIBDIR=/usr/lib${LIBDIRSUFFIX} \ + TOPMANDIR=/usr/man \ + DOCDIR=/usr/doc/$PRGNAM-$VERSION \ + DESTDIR=$PKG + +# should be a symbolic link not a copy otherwise ldconfig will cry +( cd $PKG/usr/lib${LIBDIRSUFFIX} ; rm -f *.so ; ln -s libchicken.so{.5,} ) + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \ + grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +find $PKG/usr/man -type f -exec gzip -9 {} \; + +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} diff --git a/development/chicken/chicken.info b/development/chicken/chicken.info new file mode 100644 index 0000000000000..622399400e8a1 --- /dev/null +++ b/development/chicken/chicken.info @@ -0,0 +1,10 @@ +PRGNAM="chicken" +VERSION="4.6.0" +HOMEPAGE="http://wiki.call-cc.org" +DOWNLOAD="http://code.call-cc.org/releases/4.6.0/chicken-4.6.0.tar.gz" +MD5SUM="538a93e786e550ad848a040bcd902184" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +MAINTAINER="Patrick Pippen" +EMAIL="dabittweiler@gmail.com" +APPROVED="rworkman" diff --git a/development/chicken/slack-desc b/development/chicken/slack-desc new file mode 100644 index 0000000000000..ef74faf7da435 --- /dev/null +++ b/development/chicken/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 ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +chicken: chicken (a practical and portable scheme system) +chicken: +chicken: chicken is a compiler that translates Scheme source files into C, +chicken: which in turn can be fed to a C compiler to generate a standalone +chicken: executable. An interpreter is also available and can be used as a +chicken: scripting environment or for test programs before compilation. +chicken: Scheme is a member of the Lisp family of languages. +chicken: +chicken: +chicken: +chicken: |