diff --git a/development/icon/README b/development/icon/README new file mode 100644 index 0000000000..47dbbcc086 --- /dev/null +++ b/development/icon/README @@ -0,0 +1,4 @@ +Icon is a high-level, general-purpose programming language with a large +repertoire of features for processing data structures and character +strings. Icon is an imperative, procedural language with a syntax +reminiscent of C and Pascal, but with semantics at a much higher level. diff --git a/development/icon/icon.SlackBuild b/development/icon/icon.SlackBuild new file mode 100644 index 0000000000..5f2e30a495 --- /dev/null +++ b/development/icon/icon.SlackBuild @@ -0,0 +1,86 @@ +#!/bin/sh + +# Slackware build script for icon +# Written by Kyle Guinn + +PRGNAM=icon +VERSION=${VERSION:-9.5.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-$VERSION +OUTPUT=${OUTPUT:-/tmp} + +# Removed "-O2"; enabling optimization seems to cause +# "Run-time error 302", "memory violation" +# whenever running icon programs. +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="" + LIBDIRSUFFIX="" +fi + +set -e + +PKGVERSION=$(echo $VERSION | tr -d .) +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-v${PKGVERSION}src +tar xvf $CWD/$PRGNAM-v${PKGVERSION}src.tgz +cd $PRGNAM-v${PKGVERSION}src +chown -R root:root . +chmod -R u+w,go+r-w,a-st . + +# Let's put the package in /opt/icon instead of filling /usr/lib +# (and not a '/usr/lib/icon' subdirectory) with icon-related files. +# The makefile will attempt to create the /opt/icon directory, but +# doesn't use the -p option with mkdir, so we have to create only +# its parent directory first. +mkdir -p $PKG/opt +make X-Configure name=linux +make CFLAGS="$SLKCFLAGS" +make Install dest=$PKG/opt/icon + +# Create symlinks from /usr/bin to /opt/icon/bin. +mkdir -p $PKG/usr/bin +for i in icon icont iconx vib; do + ln -s ../../opt/icon/bin/$i $PKG/usr/bin/$i +done + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Move man pages and docs to their usual locations. +mkdir -p $PKG/usr/doc +mv $PKG/opt/icon/man $PKG/usr/man +mv $PKG/opt/icon/doc $PKG/usr/doc/$PRGNAM-$VERSION +mv $PKG/opt/icon/README $PKG/usr/doc/$PRGNAM-$VERSION + +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/icon/icon.info b/development/icon/icon.info new file mode 100644 index 0000000000..2dfabedc18 --- /dev/null +++ b/development/icon/icon.info @@ -0,0 +1,10 @@ +PRGNAM="icon" +VERSION="9.5.0" +HOMEPAGE="http://www.cs.arizona.edu/icon/" +DOWNLOAD="http://www.cs.arizona.edu/icon/ftp/packages/unix/icon-v950src.tgz" +MD5SUM="3f9b89bb8f2c0fb3e9c75d1b52fb5690" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +MAINTAINER="Kyle Guinn" +EMAIL="elyk03@gmail.com" +APPROVED="Niels Horn" diff --git a/development/icon/slack-desc b/development/icon/slack-desc new file mode 100644 index 0000000000..ea444c03ed --- /dev/null +++ b/development/icon/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------------------------------------------------------| +icon: Icon (programming language) +icon: +icon: Icon is a high-level, general-purpose programming language with a +icon: large repertoire of features for processing data structures and +icon: character strings. Icon is an imperative, procedural language with +icon: a syntax reminiscent of C and Pascal, but with semantics at a much +icon: higher level. +icon: +icon: +icon: +icon: