summaryrefslogtreecommitdiff
path: root/development/ocaml
diff options
context:
space:
mode:
Diffstat (limited to 'development/ocaml')
-rw-r--r--development/ocaml/README8
-rw-r--r--development/ocaml/ocaml.SlackBuild59
-rw-r--r--development/ocaml/ocaml.info8
-rw-r--r--development/ocaml/slack-desc11
4 files changed, 86 insertions, 0 deletions
diff --git a/development/ocaml/README b/development/ocaml/README
new file mode 100644
index 0000000000..0eb8cd8c9c
--- /dev/null
+++ b/development/ocaml/README
@@ -0,0 +1,8 @@
+Caml is a general-purpose programming language, designed with program safety
+and reliability in mind. It is very expressive, yet easy to learn and use.
+Caml supports functional, imperative, and object-oriented programming styles.
+The Objective Caml system is the main implementation of the Caml language.
+It features a powerful module system and a full-fledged object-oriented layer.
+It comes with a native-code compiler that supports numerous architectures, for
+high performance; a bytecode compiler, for increased portability; and an
+interactive loop, for experimentation and rapid development.
diff --git a/development/ocaml/ocaml.SlackBuild b/development/ocaml/ocaml.SlackBuild
new file mode 100644
index 0000000000..3cd0855c83
--- /dev/null
+++ b/development/ocaml/ocaml.SlackBuild
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+# Slackware build script for ocaml
+
+# Written by fdeak <ferenc.deak@gmail.com>
+
+set -e
+
+PRGNAM=ocaml
+VERSION=3.09.3
+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"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xjf $CWD/$PRGNAM-$VERSION.tar.bz2
+cd $PRGNAM-$VERSION
+chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+
+./configure --prefix /usr
+sed -i -e "s/\\(BYTECCCOMPOPTS=.*\\)/\\1 ${SLKCFLAGS}/" config/Makefile
+sed -i -e "s/\\(NATIVECCCOMPOPTS=.*\\)/\\1 ${SLKCFLAGS}/" config/Makefile
+make world.opt
+make PREFIX=$PKG/usr install
+
+( 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
+)
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a INSTALL LICENSE README Changes $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/development/ocaml/ocaml.info b/development/ocaml/ocaml.info
new file mode 100644
index 0000000000..ee4506951c
--- /dev/null
+++ b/development/ocaml/ocaml.info
@@ -0,0 +1,8 @@
+PRGNAM="ocaml"
+VERSION="3.09.3"
+HOMEPAGE="http://caml.inria.fr"
+DOWNLOAD="http://caml.inria.fr/pub/distrib/ocaml-3.09/ocaml-3.09.3.tar.bz2"
+MD5SUM="8b3744efd0d51b82d55b61d0e2bf0e2b"
+MAINTAINER="fdeak"
+EMAIL="ferenc.deak@gmail.com"
+APPROVED="BP{k}"
diff --git a/development/ocaml/slack-desc b/development/ocaml/slack-desc
new file mode 100644
index 0000000000..641039d917
--- /dev/null
+++ b/development/ocaml/slack-desc
@@ -0,0 +1,11 @@
+ocaml: ocaml (A functional programming language)
+ocaml:
+ocaml: Caml is a general-purpose programming language, designed with program
+ocaml: safety and reliability in mind. It is very expressive, yet easy to
+ocaml: learn and use. Caml supports functional, imperative, and
+ocaml: object-oriented programming styles. The Objective Caml system is the
+ocaml: main implementation of the Caml language. It features a powerful
+ocaml: module system and a full-fledged object-oriented layer. It comes with
+ocaml: a native-code compiler that supports numerous architectures, for high
+ocaml: performance; a bytecode compiler, for increased portability; and an
+ocaml: interactive loop, for experimentation and rapid development.