summaryrefslogtreecommitdiff
path: root/source/d/ruby/ruby.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'source/d/ruby/ruby.SlackBuild')
-rwxr-xr-xsource/d/ruby/ruby.SlackBuild47
1 files changed, 37 insertions, 10 deletions
diff --git a/source/d/ruby/ruby.SlackBuild b/source/d/ruby/ruby.SlackBuild
index 96234b8f..0ff66210 100755
--- a/source/d/ruby/ruby.SlackBuild
+++ b/source/d/ruby/ruby.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,11 +21,22 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=1.8.7-p174
-ARCH=${ARCH:-x86_64}
-NUMJOBS=${NUMJOBS:-" -j7 "}
+PKGNAM=ruby
+VERSION=$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1,2 -d - | rev)
BUILD=${BUILD:-1}
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-ruby
@@ -48,10 +59,6 @@ rm -rf ruby-$VERSION
tar xvf $CWD/ruby-$VERSION.tar.?z* || exit 1
cd ruby-$VERSION || exit 1
-if [ "$ARCH" = "x86_64" ]; then
- zcat $CWD/ruby.x86_64.diff.gz | patch -p1 --verbose || exit 1
-fi
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -70,20 +77,40 @@ CFLAGS="$SLKCFLAGS" \
--datadir=/usr/share \
--docdir=/usr/doc/ruby-$VERSION \
--enable-shared \
+ --enable-pthread \
--enable-install-doc \
- --enable-static \
--build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+# This symlink is needed by things that include ruby/config.h.
+( cd $PKG/usr/include/
+ if [ ! -e ruby -a -d ruby-*/*-*/ruby ]; then
+ ln -s ruby-*/*-*/ruby .
+ fi
+)
+
+# These include files are no longer installed as of ruby-1.9.1, but
+# kdebindings will not compile without them. Try to remove these
+# from the package later if the situation changes.
+mkdir -p $PKG/usr/include/ruby-$(echo $VERSION | cut -f 1 -d -)/ruby
+cp -a node.h version.h revision.h \
+ $PKG/usr/include/ruby-$(echo $VERSION | cut -f 1 -d -)/ruby
+
mkdir -p $PKG/usr/doc/ruby-$VERSION
cp -a \
- COPYING* *GPL* LEGAL NEWS README* ToDo \
+ COPYING* *GPL* ChangeLog LEGAL NEWS README* ToDo \
$PKG/usr/doc/ruby-$VERSION
+# The entire ChangeLog is excessive for most users:
+cat $PKG/usr/doc/ruby-$VERSION/ChangeLog | head -n 1000 > $PKG/usr/doc/ruby-$VERSION/CL
+mv $PKG/usr/doc/ruby-$VERSION/CL $PKG/usr/doc/ruby-$VERSION/ChangeLog
+
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+find $PKG | xargs file | grep -e "current ar archive" \
+ | cut -f 1 -d : | xargs strip --strip-debug 2> /dev/null
# Compress and if needed symlink the man pages:
if [ -d $PKG/usr/man ]; then