summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby/ruby-config/files')
-rw-r--r--dev-ruby/ruby-config/files/digest-ruby-config-0.30
-rw-r--r--dev-ruby/ruby-config/files/ruby-config-0.2 (renamed from dev-ruby/ruby-config/files/ruby-config.sh)2
-rw-r--r--dev-ruby/ruby-config/files/ruby-config-0.3144
3 files changed, 145 insertions, 1 deletions
diff --git a/dev-ruby/ruby-config/files/digest-ruby-config-0.3 b/dev-ruby/ruby-config/files/digest-ruby-config-0.3
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/dev-ruby/ruby-config/files/digest-ruby-config-0.3
diff --git a/dev-ruby/ruby-config/files/ruby-config.sh b/dev-ruby/ruby-config/files/ruby-config-0.2
index 10b4ded20862..d1adfecb4f9a 100644
--- a/dev-ruby/ruby-config/files/ruby-config.sh
+++ b/dev-ruby/ruby-config/files/ruby-config-0.2
@@ -2,7 +2,7 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-config/files/ruby-config.sh,v 1.3 2004/07/14 22:04:35 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-config/files/ruby-config-0.2,v 1.1 2004/07/31 19:17:20 usata Exp $
# Author: Mamoru KOMACHI <usata@gentoo.org>
diff --git a/dev-ruby/ruby-config/files/ruby-config-0.3 b/dev-ruby/ruby-config/files/ruby-config-0.3
new file mode 100644
index 000000000000..d6c99dedc0d1
--- /dev/null
+++ b/dev-ruby/ruby-config/files/ruby-config-0.3
@@ -0,0 +1,144 @@
+#!/bin/bash
+
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-config/files/ruby-config-0.3,v 1.1 2004/07/31 19:17:20 usata Exp $
+
+# Author: Mamoru KOMACHI <usata@gentoo.org>
+
+if [ -r /etc/init.d/functions.sh ] ; then
+ source /etc/init.d/functions.sh
+elif [ -r /usr/lib/portage/bin/functions.sh ] ; then
+ source /usr/lib/portage/bin/functions.sh
+else
+ echo "Could not find functions.sh"
+ exit 1
+fi
+
+#dummy function
+EXPORT_FUNCTIONS() { :; }
+
+ALTERNATIVES="$(portageq portdir)/eclass/alternatives.eclass"
+
+if [ -r "${ALTERNATIVES}" ] ; then
+ source ${ALTERNATIVES}
+else
+ echo "Could not find ${ALTERNATIVES}"
+ exit 1
+fi
+
+usage() {
+cat << "USAGE_END"
+Usage: ruby-config [Option] [Ruby Profile]
+Change the current ruby profile, or give info about profiles.
+
+Options:
+
+ -c, --get-current-profile
+ Print current used ruby profile.
+ -l, --list-profiles
+ List available ruby profiles.
+ -h, --show-help
+ Print this help.
+
+The profile name is either ruby16, ruby18 or ruby19.
+
+USAGE_END
+exit 1
+}
+
+if [ "$#" -lt 1 ] ; then
+ usage
+fi
+
+switch_profile() {
+ case "$(portageq envvar ARCH)" in
+ macos)
+ eerror "Switching ruby profiles are not supported on Gentoo for Mac OS X."
+ ;;
+ *)
+ if [ "$EUID" != 0 ] ; then
+ eerror "You need root privilege to switch profile."
+ exit 1
+ fi
+ if [ "`expr $1 : ruby`" != 0 -a "$1" != "ruby" ] ; then
+ local suf=${1/ruby/}
+ # don't make symlink to ri
+ for i in ruby irb erb testrb rdoc ; do
+ alternatives_makesym \
+ /usr/bin/$i /usr/bin/${i}{$suf,18,16,19}
+ done
+ alternatives_makesym \
+ /usr/lib/libruby.so /usr/lib/libruby{$suf,18,16,19}.so
+ alternatives_makesym \
+ /usr/share/man/man1/ruby.1.gz \
+ /usr/share/man/man1/ruby{$suf,18,16,19}.1.gz
+ else
+ eerror "Unsupported profile."
+ fi
+ ;;
+ esac
+}
+
+get_current_profile() {
+ case "$(portageq envvar ARCH)" in
+ macos)
+ einfo "/usr/bin/ruby is ruby 1.6.8."
+ ;;
+ *)
+ if [ ! -L /usr/bin/ruby ] ; then
+ eerror "Your ruby doesn't seem to support SLOT."
+ exit 1
+ fi
+ einfo "Your current profile refers to $(readlink /usr/bin/ruby)."
+ ;;
+ esac
+}
+
+list_profiles() {
+ case "$(portageq envvar ARCH)" in
+ macos)
+ einfo "You cannot switch between profiles on Mac OS X."
+ einfo "Installed profiles are:"
+ for f in /usr/bin/ruby[0-9][0-9] ; do
+ einfo "\t${f#/usr/bin/}"
+ done
+ ;;
+ *)
+ einfo "Supported profiles are:"
+ for f in /usr/bin/ruby[0-9][0-9] ; do
+ einfo "\t${f#/usr/bin/}"
+ done
+ einfo "You can specify one of the profiles listed above."
+ einfo "e.g.) ruby-config ruby16"
+ ;;
+ esac
+}
+
+for x in $* ; do
+ if [ "$#" -gt 1 ] ; then
+ eerror "ruby-config accepts only one argument."
+ eerror "Run $0 -h for help."
+ exit 1
+ fi
+ case "${x}" in
+ -c|--get-current-profile)
+ get_current_profile
+ ;;
+ -h|--show-help)
+ usage
+ ;;
+ -l|--list-profiles)
+ list_profiles
+ ;;
+ -*)
+ eerror "Invalid option. Run $0 -h for help."
+ exit 1
+ ;;
+ *)
+ switch_profile $*
+ ;;
+ esac
+
+ exit 0
+done