aboutsummaryrefslogtreecommitdiff
path: root/development/ruby/ruby.build
diff options
context:
space:
mode:
Diffstat (limited to 'development/ruby/ruby.build')
-rwxr-xr-xdevelopment/ruby/ruby.build99
1 files changed, 99 insertions, 0 deletions
diff --git a/development/ruby/ruby.build b/development/ruby/ruby.build
new file mode 100755
index 0000000..4c173c1
--- /dev/null
+++ b/development/ruby/ruby.build
@@ -0,0 +1,99 @@
+#!/bin/bash
+#
+# Maintainer: Deposite Pirate <ofni.sknuplatem@etaripd>
+
+source /usr/src/ports/Build/build.sh
+
+NAME=ruby
+MAJOR=2.0
+MINOR=0
+PATCH=195
+VERSION=${MAJOR}.${MINOR}.${PATCH}
+BUILD=2
+OPTDEPENDS=('openssl >= 1.0.1e-1' 'libdb >= 5.3.21-1' 'gdbm >= 1.10-1')
+
+# Description
+
+cat > ${PKG}/install/slack-desc <<EOF
+# 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 ':'.
+
+$(padd)|-----handy-ruler------------------------------------------------------|
+${NAME}: ruby (Interpreted object-oriented scripting language)
+${NAME}:
+${NAME}: Ruby is an interpreted scripting language for quick and easy
+${NAME}: object-oriented programming. It has many features to process text
+${NAME}: files and to do system management tasks (as in Perl). It is simple,
+${NAME}: straight-forward, and extensible.
+${NAME}:
+${NAME}: Visit the Ruby project online at http://www.ruby-lang.org
+${NAME}:
+${NAME}:
+${NAME}:
+EOF
+
+cat >> ${PKG}/install/doinst.sh <<EOF
+#!/bin/sh
+
+config() {
+ NEW="\$1"
+ OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r \$OLD ]; then
+ mv \$NEW \$OLD
+ elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm \$NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/gemrc.new
+EOF
+
+# Sources
+
+SRCNAME[0]=${NAME}
+SRCVERS[0]=${MAJOR}.${MINOR}-p${PATCH}
+SRCPACK[0]=ftp://ftp.ruby-lang.org/pub/${SRCNAME[0]}/${MAJOR}/${SRCNAME[0]}-${SRCVERS[0]}.tar.gz
+SRCCOPY[0]="BSD2 GPL2"
+
+build0()
+{
+sed -i 's|File.join(libdir, "pkgconfig")|File.join("/usr/share", "pkgconfig")|g' tool/rbinstall.rb
+CFLAGS="${FLAGS}" CXXFLAGS="${FLAGS}" \
+./configure \
+ --build="${ARCH}-slackware-linux" \
+ --enable-shared \
+ --enable-pthread \
+ --disable-rpath \
+ --prefix="${SYS_DIR[usr]}" \
+ --mandir="${SYS_DIR[man]}" \
+ --sysconfdir="${SYS_DIR[etc]}" \
+ --libdir="${SYS_DIR[lib]}" \
+ --localstatedir="${SYS_DIR[var]}" \
+ --disable-install-doc \
+ --enable-multiarch \
+ --with-ruby-version="minor" \
+ --with-sitedir="site_ruby" \
+ --with-vendordir="vendor_ruby" \
+ --with-rubylibprefix="${SYS_DIR[share]}/ruby" \
+ --with-rubyarchprefix="${SYS_DIR[lib]}/plugins/ruby" \
+ --with-rubysitearchprefix="${SYS_DIR[usr]}/local/lib/ruby"
+make ${JOBS}
+make install-nodoc DESTDIR="${PKG}"
+changelog NEWS
+license COPYING
+install.dir ${PKG}${SYS_DIR[etc]}/profile.d
+install.cfg gemrc ${PKG}${SYS_DIR[etc]}/gemrc.new
+install.bin ruby.{sh,csh} ${PKG}${SYS_DIR[etc]}/profile.d
+(
+ cd ${PKG}${SYS_DIR[share]}/pkgconfig
+ ln -s ruby-${MAJOR}.pc ruby.pc
+)
+rm -rf ${PKG}${SYS_DIR[usr]}/local
+}