ports/graphics/openjump/files/patch-bin_oj__linux.sh
Rainer Hurling 00a8ce71ab graphics/openjump: Update to 1.16 release rev.6669
This is the final release of the long lasting OJ v1.x series.

The next release will introduce backward incompatible changes
that'll initially break all unmodified extensions/plugins. So
enjoy this one and look forward to OJ2 developed in a Git-repo
using the latest locationtech JTS.

Changelog: https://sourceforge.net/projects/jump-pilot/files/OpenJUMP/1.16/

Approved by:	tcberner (mentor)
Differential Revision:	https://reviews.freebsd.org/D28643
2021-02-13 09:37:14 +00:00

220 lines
8.1 KiB
Bash

--- bin/oj_linux.sh.orig 2020-12-23 15:00:38 UTC
+++ bin/oj_linux.sh
@@ -4,9 +4,11 @@
## if unset defaults to
## JUMP_HOME (oj app folder) if writable or $HOME/.openjump (user home)
#JUMP_SETTINGS="/tmp/foobar"
+JUMP_SETTINGS="$HOME/.openjump"
## uncomment and put the path to your jre here
#JAVA_HOME="/home/ed/jre1.6.0_21"
+JAVA_HOME=${JAVA_HOME}
## uncomment and change your memory configuration here
## Xms is initial size, Xmx is maximum size
@@ -55,6 +57,7 @@ extract_libs(){
# extract zipped files in native dir (our way to ship symlinks to desktops)
for filepath in $(find "$1/" -name '*.tgz' -o -name '*.tar.gz')
do
+ echo "##### filepath = '$filepath'"
file=$(basename "$filepath")
folder=$(dirname "$filepath")
done=".$file.unzipped"
@@ -78,6 +81,7 @@ postinstall(){
macinstall(){
# create app package
+ echo "##### MACINSTALL"
cp -R -a "$1"/bin/OpenJUMP.app/Contents "$1" &&\
awk '{sub(/..\/oj_/,"bin/oj_",$0)}1' "$1"/bin/OpenJUMP.app/Contents/Resources/script > "$1"/Contents/Resources/script &&\
echo patched oj.app
@@ -113,14 +117,20 @@ case "$1" in
esac
## cd into jump home
+echo "##### pwd = '$OLD_DIR'"
OLD_DIR=`pwd`
cd "$JUMP_HOME"
+PWD_DIR=`pwd`
+echo "##### cd '$JUMP_HOME', pwd = '$PWD_DIR'"
## determine where to place settings, if no path given
+echo "##### ===== JUMP_SETTINGS = '$JUMP_SETTINGS'"
[ -z "$JUMP_SETTINGS" ] && \
JUMP_SETTINGS="$JUMP_HOME"; \
if [ -d "$JUMP_SETTINGS" ]; then
+ echo "##### within -d \$JUMP_SETTINGS"
if [ ! -w "$JUMP_SETTINGS" ]; then
+ echo "##### within ! -w \$JUMP_SETTINGS"
# try users home dir
JUMP_SETTINGS="$HOME/.openjump"
# create if missing
@@ -138,14 +148,19 @@ fi
# 1. first in oj_home/jre
# 2. in configured java_home
# 3. in path
+echo "##### -----------------------------------------------------------"
+echo "##### SEARCH JAVA:"
if [ -f "$JUMP_HOME/jre/bin/java" ]; then
JAVA="$JUMP_HOME/jre/bin/java"
+ echo "##### JAVA = '$JAVA'"
# is there a jre defined by env var?
elif [ -n "$JAVA_HOME" ]; then
JAVA=$JAVA_HOME/bin/java
+ echo "##### JAVA = '$JAVA'"
# well, let's look what we've got in the path
else
JAVA=`which java`
+ echo "##### JAVA = '$JAVA'"
fi
# java available
@@ -154,24 +169,28 @@ fi
add the location of java to your PATH environment variable." && ERROR=1 && end
# resolve recursive links to java binary
+echo "##### ===== Resolve recursive links to java binary: \$1 = '$1'"
relPath "$JAVA" && JAVA="$(pwd)/$JAVA"
-while [ -L "${JAVA}" ]; do
- JDIR=$(dirname "$JAVA")
- JAVA_CANDIDATE=$(readlink -n "${JAVA}")
- # protect against Gentoo's run-java-tool.bash wrapper
- if [ $(basename "$JAVA") != $(basename "$JAVA_CANDIDATE") ]; then
- break
- fi
- JAVA="$JAVA_CANDIDATE"
- relPath "$JAVA" && JAVA="${JDIR}/${JAVA}"
-done
+echo "##### awk script survived after \$1 test"
+#while [ -L "${JAVA}" ]; do
+# JDIR=$(dirname "$JAVA")
+# JAVA_CANDIDATE=$(readlink -n "${JAVA}")
+# # protect against Gentoo's run-java-tool.bash wrapper
+# if [ $(basename "$JAVA") != $(basename "$JAVA_CANDIDATE") ]; then
+# break
+# fi
+# JAVA="$JAVA_CANDIDATE"
+# relPath "$JAVA" && JAVA="${JDIR}/${JAVA}"
+#done
# java executable file?
[ ! -x "$JAVA" ] && \
echo "The found java binary '$JAVA' is no executable file." && ERROR=1 && end
# java version check
JAVA_VERSIONSTRING="$("$JAVA" -version 2>&1)"
-JAVA_VERSION=$( echo $JAVA_VERSIONSTRING | awk 'BEGIN{done=0}{gsub(/["\047]+/,"")}/[a-zA-Z]+ version [0-9]+/{split($3,a,"[^0-9]"); if(match(a[2],/^[0-9]+$/)){print a[1]"."a[2]}else{print a[1]".0"}; done=1}END{if(!done)exit 1}' )
+#JAVA_VERSION=$( echo $JAVA_VERSIONSTRING | awk 'BEGIN{done=0}{gsub(/["\047]+/,"")}/[a-zA-Z]+ version [0-9]+/{split($3,a,"[^0-9]"); if(match(a[2],/^[0-9]+$/)){print a[1]"."a[2]}else{print a[1]".0"}; done=1}END{if(!done)exit 1}' )
+JAVA_VERSION=$(echo $JAVA_VERSIONSTRING | awk -F'"' '/^java version/ || /^openjdk version/{print $2}' | awk -F'.' '{print $1"."$2}')
+echo "##### JAVA_VERSION = '$JAVA_VERSION'"
JAVA_ARCH=$(echo $JAVA_VERSIONSTRING | grep -q -i 64-bit && echo x64 || echo x86)
JAVA_NEEDED="1.6"
if ! is_decimal "$JAVA_VERSION"; then
@@ -193,7 +212,7 @@ echo ---JAVA---
echo "Using '$(basename "${JAVA}")' found in '$(dirname "${JAVA}")'"
"$JAVA" -version 2>&1|awk 'BEGIN{ORS=""}{print $0"; "}END{print "\n"}'
-JUMP_PROFILE=~/.jump/openjump.profile
+JUMP_PROFILE="$HOME/.openjump/openjump.profile"
if [ -f "$JUMP_PROFILE" ]; then
source $JUMP_PROFILE
fi
@@ -202,8 +221,13 @@ fi
if [ -z "$JUMP_LIB" ]; then
JUMP_LIB="./lib"
fi
+echo "##### JUMP_LIB = '$JUMP_LIB'"
+
JUMP_NATIVE_DIR="$JUMP_LIB/native"
JUMP_PLUGIN_DIR="${JUMP_PLUGIN_DIR:=$JUMP_LIB/ext}"
+echo "##### -----------------------------------------------------------"
+echo "##### JUMP_NATIVE_DIR = '$JUMP_NATIVE_DIR'"
+echo "##### JUMP_PLUGIN_DIR = '$JUMP_PLUGIN_DIR'"
JUMP_PLUGINS=./bin/default-plugins.xml
if [ -z "$JUMP_PLUGINS" ] || [ ! -f "$JUMP_PLUGINS" ]; then
@@ -212,6 +236,7 @@ if [ -z "$JUMP_PLUGINS" ] || [ ! -f "$JUMP_PLUGINS" ];
JUMP_PLUGINS="./scripts/default-plugins.xml"
fi
fi
+echo "##### JUMP_PLUGINS = '$JUMP_PLUGINS'"
# include every jar/zip in lib and native dir
for libfile in "$JUMP_LIB/"*.zip "$JUMP_LIB/"*.jar "$JUMP_NATIVE_DIR/$JAVA_ARCH/"*.jar "$JUMP_NATIVE_DIR/"*.jar
@@ -220,26 +245,34 @@ do
done
CLASSPATH=.:./bin:$CLASSPATH
export CLASSPATH;
+echo "##### CLASSPATH = '$CLASSPATH'"
## prepend jump opts
#
JUMP_OPTS="-plug-in-directory $JUMP_PLUGIN_DIR $JUMP_OPTS"
+echo "##### JUMP_OPTS = '$JUMP_OPTS'"
if [ -f "$JUMP_PLUGINS" ]; then
JUMP_OPTS="-default-plugins $JUMP_PLUGINS $JUMP_OPTS"
+ echo "##### JUMP_OPTS = '$JUMP_OPTS'"
fi
+
# workbench-properties.xml is used to manually load plugins (ISA uses this)
JUMP_PROPERTIES=./bin/workbench-properties.xml
if [ -n "$JUMP_PROPERTIES" ] && [ -f "$JUMP_PROPERTIES" ]; then
JUMP_OPTS="-properties $JUMP_PROPERTIES $JUMP_OPTS"
+ echo "##### JUMP_OPTS = '$JUMP_OPTS'"
fi
# compile jre opts, respect already set ones by environment
JAVA_OPTS="$JAVA_MAXMEM $JAVA_LANG $JAVA_OPTS"
+echo "##### JAVA_OPTS = '$JAVA_OPTS'"
JAVA_OPTS="$JAVA_OPTS -Djump.home=."
+echo "##### JAVA_OPTS = '$JAVA_OPTS'"
[ -n "JAVA_SAXDRIVER" ] && JAVA_OPTS="$JAVA_OPTS -Dorg.xml.sax.driver=$JAVA_SAXDRIVER"
[ -n "$JAVA_LOOKANDFEEL" ] && JAVA_OPTS="$JAVA_OPTS -Dswing.defaultlaf=$JAVA_LOOKANDFEEL"
# apply mac overrides
JAVA_OPTS="$JAVA_OPTS $JAVA_OPTS_OVERRIDE"
+echo "##### JAVA_OPTS = '$JAVA_OPTS'"
# java9+ needs some packages explicitly added/exported
if awk "BEGIN{if($JAVA_VERSION >= 9)exit 0;else exit 1}"; then
@@ -259,7 +292,8 @@ fi
JAVA_OPTS="-Dcom.sun.media.jai.disableMediaLib=true $JAVA_OPTS"
# in case some additional archives were placed in native dir inbetween
-extract_libs "$JUMP_NATIVE_DIR"
+echo "##### -----------------------------------------------------------"
+#extract_libs "$JUMP_NATIVE_DIR"
# allow jre to find native libraries in native dir, lib/ext (backwards compatibility)
NATIVE_PATH="$JUMP_NATIVE_DIR/$JAVA_ARCH:$JUMP_NATIVE_DIR:$JUMP_PLUGIN_DIR"
@@ -323,7 +357,11 @@ echo "$JUMP_SETTINGS/"
echo ---Detect maximum memory limit---
# use previously set or detect RAM size in bytes
-RAM_SIZE=${RAM_SIZE-$(expr "$(awk '/MemTotal/{print $2}' /proc/meminfo)" \* 1024)}
+#RAM_SIZE=${RAM_SIZE-$(expr "$(awk '/MemTotal/{print $2}' /proc/meminfo)" \* 1024)}
+RAM_SIZE=${RAM_SIZE-$(expr "$(sysctl hw.realmem | awk '/hw.realmem:/{print $2}')" / 1024)}
+echo "##### -----------------------------------------------------------"
+echo "##### RAM_SIZE = '$RAM_SIZE'"
+
if [ -n "$JAVA_MAXMEM" ]; then
echo "max. memory limit defined via JAVA_MAXMEM=$JAVA_MAXMEM"
elif ! is_number "$RAM_SIZE"; then
@@ -341,14 +379,19 @@ else
else
MEM_MAX="$MEM_MINUS1GB"
fi
+ echo "##### MEM_MAX = '$MEM_MAX'"
# limit 32bit jre to 2GiB = 2147483648 bytes
+ echo "##### JAVA_ARCH = '$JAVA_ARCH'"
if [ "$JAVA_ARCH" != "x64" ] && [ "$MEM_MAX" -gt "2147483648" ]; then
MEM_MAX=2147483648
fi
MEM_MAX_MB=`expr $MEM_MAX / 1024 / 1024`
+ MEM_MAX_MB=`expr $MEM_MAX / 1024`
JAVA_MAXMEM="-Xmx${MEM_MAX_MB}M"
+ echo "##### JAVA_MAXMEM = '$JAVA_MAXMEM'"
+
# output info
echo set max. memory limit to $MEM_MAX_MB MiB
fi