Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 442230
Collapse All | Expand All

(-)a/bin/jruby.bash (-96 / +10 lines)
Lines 25-53 Link Here
25
  JAVA_VM=-client
25
  JAVA_VM=-client
26
fi
26
fi
27
27
28
# get the absolute path of the executable
28
JRUBY_HOME="${JRUBY_HOME:-/usr/share/jruby}"
29
SELF_PATH=$(builtin cd -P -- "$(dirname -- "$0")" >/dev/null && pwd -P) && SELF_PATH=$SELF_PATH/$(basename -- "$0")
30
31
# resolve symlinks
32
while [ -h $SELF_PATH ]; do
33
    # 1) cd to directory of the symlink
34
    # 2) cd to the directory of where the symlink points
35
    # 3) get the pwd
36
    # 4) append the basename
37
    DIR=$(dirname -- "$SELF_PATH")
38
    SYM=$(readlink $SELF_PATH)
39
    SELF_PATH=$(cd $DIR && cd $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM")
40
done
41
42
PRG=$SELF_PATH
43
44
JRUBY_HOME_1=`dirname "$PRG"`           # the ./bin dir
45
if [ "$JRUBY_HOME_1" = '.' ] ; then
46
  cwd=`pwd`
47
  JRUBY_HOME=`dirname $cwd` # JRUBY-2699
48
else
49
  JRUBY_HOME=`dirname "$JRUBY_HOME_1"`  # the . dir
50
fi
51
29
52
if [ -z "$JRUBY_OPTS" ] ; then
30
if [ -z "$JRUBY_OPTS" ] ; then
53
  JRUBY_OPTS=""
31
  JRUBY_OPTS=""
Lines 79-95 Link Here
79
done
57
done
80
JRUBY_OPTS=${JRUBY_OPTS_TEMP}
58
JRUBY_OPTS=${JRUBY_OPTS_TEMP}
81
59
82
if [ -z "$JAVACMD" ] ; then
60
JAVACMD='java'
83
  if [ -z "$JAVA_HOME" ] ; then
84
    JAVACMD='java'
85
  else
86
    if $cygwin; then
87
      JAVACMD="`cygpath -u "$JAVA_HOME"`/bin/java"
88
    else
89
      JAVACMD="$JAVA_HOME/bin/java"
90
    fi
91
  fi
92
fi
93
61
94
if [ -z "$JAVA_MEM" ] ; then
62
if [ -z "$JAVA_MEM" ] ; then
95
  JAVA_MEM=-Xmx500m
63
  JAVA_MEM=-Xmx500m
Lines 130-150 Link Here
130
98
131
CP_DELIMITER=":"
99
CP_DELIMITER=":"
132
100
133
# add main jruby jar to the bootclasspath
101
JRUBY_CP="$(java-config-2 -d -p jruby)"
134
for j in "$JRUBY_HOME"/lib/jruby.jar "$JRUBY_HOME"/lib/jruby-complete.jar; do
135
    if [ ! -e "$j" ]; then
136
      continue
137
    fi
138
    if [ "$JRUBY_CP" ]; then
139
        JRUBY_CP="$JRUBY_CP$CP_DELIMITER$j"
140
        else
141
        JRUBY_CP="$j"
142
    fi
143
    if [ $JRUBY_ALREADY_ADDED ]; then
144
        echo "WARNING: more than one JRuby JAR found in lib directory"
145
    fi
146
    JRUBY_ALREADY_ADDED=true
147
done
148
102
149
if $cygwin; then
103
if $cygwin; then
150
    JRUBY_CP=`cygpath -p -w "$JRUBY_CP"`
104
    JRUBY_CP=`cygpath -p -w "$JRUBY_CP"`
Lines 152-180 Link Here
152
106
153
# ----- Set Up The System Classpath -------------------------------------------
107
# ----- Set Up The System Classpath -------------------------------------------
154
108
155
if [ "$JRUBY_PARENT_CLASSPATH" != "" ]; then
109
CP="${JRUBY_PARENT_CLASSPATH}"
156
    # Use same classpath propagated from parent jruby
157
    CP=$JRUBY_PARENT_CLASSPATH
158
else
159
    # add other jars in lib to CP for command-line execution
160
    for j in "$JRUBY_HOME"/lib/*.jar; do
161
        if [ "$j" == "$JRUBY_HOME"/lib/jruby.jar ]; then
162
          continue
163
        fi
164
        if [ "$j" == "$JRUBY_HOME"/lib/jruby-complete.jar ]; then
165
          continue
166
        fi
167
        if [ "$CP" ]; then
168
            CP="$CP$CP_DELIMITER$j"
169
            else
170
            CP="$j"
171
        fi
172
    done
173
174
    if [ "$CP" != "" ] && $cygwin; then
175
        CP=`cygpath -p -w "$CP"`
176
    fi
177
fi
178
110
179
if $cygwin; then
111
if $cygwin; then
180
    # switch delimiter only after building Unix style classpaths
112
    # switch delimiter only after building Unix style classpaths
Lines 254-268 Link Here
254
        java_args=("${java_args[@]}" "-Djava.awt.headless=true") ;;
186
        java_args=("${java_args[@]}" "-Djava.awt.headless=true") ;;
255
     # Run under JDB
187
     # Run under JDB
256
     --jdb)
188
     --jdb)
257
        if [ -z "$JAVA_HOME" ] ; then
189
        JAVACMD='jdb'
258
          JAVACMD='jdb'
259
        else
260
          if $cygwin; then
261
            JAVACMD="`cygpath -u "$JAVA_HOME"`/bin/jdb"
262
          else
263
            JAVACMD="$JAVA_HOME/bin/jdb"
264
          fi
265
        fi 
266
        java_args=("${java_args[@]}" "-sourcepath" "$JRUBY_HOME/lib/ruby/1.8:.")
190
        java_args=("${java_args[@]}" "-sourcepath" "$JRUBY_HOME/lib/ruby/1.8:.")
267
        JRUBY_OPTS=("${JRUBY_OPTS[@]}" "-X+C") ;;
191
        JRUBY_OPTS=("${JRUBY_OPTS[@]}" "-X+C") ;;
268
     --client)
192
     --client)
Lines 307-324 Link Here
307
231
308
JAVA_OPTS="$JAVA_OPTS $JAVA_MEM $JAVA_MEM_MIN $JAVA_STACK"
232
JAVA_OPTS="$JAVA_OPTS $JAVA_MEM $JAVA_MEM_MIN $JAVA_STACK"
309
233
310
JFFI_BOOT=""
311
if [ -d "$JRUBY_HOME/lib/native/" ]; then
312
  for d in $JRUBY_HOME/lib/native/*`uname -s`; do
313
    if [ -z "$JFFI_BOOT" ]; then
314
      JFFI_BOOT="$d"
315
    else
316
      JFFI_BOOT="$JFFI_BOOT:$d"
317
    fi
318
  done
319
fi
320
JFFI_OPTS="-Djffi.boot.library.path=$JFFI_BOOT"
321
322
if $cygwin; then
234
if $cygwin; then
323
  JRUBY_HOME=`cygpath --mixed "$JRUBY_HOME"`
235
  JRUBY_HOME=`cygpath --mixed "$JRUBY_HOME"`
324
  JRUBY_SHELL=`cygpath --mixed "$JRUBY_SHELL"`
236
  JRUBY_SHELL=`cygpath --mixed "$JRUBY_SHELL"`
Lines 356-363 Link Here
356
    JRUBY_OPTS=''
268
    JRUBY_OPTS=''
357
  fi
269
  fi
358
270
359
  "$JAVACMD" $PROFILE_ARGS $JAVA_OPTS "$JFFI_OPTS" "${java_args[@]}" -classpath "$JRUBY_CP$CP_DELIMITER$CP$CP_DELIMITER$CLASSPATH" \
271
  "$JAVACMD" $PROFILE_ARGS $JAVA_OPTS "${java_args[@]}" -classpath "$JRUBY_CP$CP_DELIMITER$CP$CP_DELIMITER$CLASSPATH" \
360
    "-Djruby.home=$JRUBY_HOME" \
272
    "-Djruby.home=$JRUBY_HOME" \
273
    "-Djruby.bindir=/usr/bin" \
361
    "-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \
274
    "-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \
362
    "-Djruby.shell=$JRUBY_SHELL" \
275
    "-Djruby.shell=$JRUBY_SHELL" \
363
    $java_class $JRUBY_OPTS "$@"
276
    $java_class $JRUBY_OPTS "$@"
Lines 379-385 Link Here
379
else
292
else
380
  if $cygwin; then
293
  if $cygwin; then
381
    # exec doed not work correctly with cygwin bash
294
    # exec doed not work correctly with cygwin bash
382
    "$JAVACMD" $JAVA_OPTS "$JFFI_OPTS" "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \
295
    "$JAVACMD" $JAVA_OPTS "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \
383
      "-Djruby.home=$JRUBY_HOME" \
296
      "-Djruby.home=$JRUBY_HOME" \
384
      "-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \
297
      "-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \
385
      "-Djruby.shell=$JRUBY_SHELL" \
298
      "-Djruby.shell=$JRUBY_SHELL" \
Lines 392-399 Link Here
392
305
393
    exit $JRUBY_STATUS
306
    exit $JRUBY_STATUS
394
  else
307
  else
395
    exec "$JAVACMD" $JAVA_OPTS "$JFFI_OPTS" "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \
308
    exec "$JAVACMD" $JAVA_OPTS "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \
396
      "-Djruby.home=$JRUBY_HOME" \
309
      "-Djruby.home=$JRUBY_HOME" \
310
      "-Djruby.bindir=/usr/bin" \
397
      "-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \
311
      "-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \
398
      "-Djruby.shell=$JRUBY_SHELL" \
312
      "-Djruby.shell=$JRUBY_SHELL" \
399
      $java_class $mode "$@"
313
      $java_class $mode "$@"

Return to bug 442230