sci-misc/netlogo-bin: Version bump, major rework

Bug: https://bugs.gentoo.org/648562
Package-Manager: Portage-2.3.24, Repoman-2.3.6
This commit is contained in:
Chris Reffett
2018-03-04 21:08:19 -05:00
parent c521e61b70
commit a5d30f542a
6 changed files with 241 additions and 1 deletions

View File

@@ -1,2 +1,4 @@
DIST netlogo-5.0.3.tar.gz 66725456 BLAKE2B 85df19cd0ef501c903e9b2f2ee2a6ca39430a5f64e1086365b9a29baa3962a7e1d018001652db7da54f1d6623b477d644f7b745b30e2c3be3462f5cb4e5cb891 SHA512 39d660d5dbd7e74f072621a74bfc18648ed208b833b3d442f2a9dbefc673065c4a7bf0e4a8ebb670b4d4220ee7bec452cc97f32731a28ca2eb56656bea795b81
DIST NetLogo-6.0.2-32.tgz 192943415 BLAKE2B c7d20154ade89ae54f98fa08ae4832d9c81a97d1a7a93aaf0de75bd2914bae340ddd71dc3862957bf7e22863d5df9c5464a2bcd517ff0e9b087105237a8d5ac9 SHA512 ac8652a2487b01d02af0c8510ce4c80b2bf84cf2afc3d1bfbda198c1b7aeb0c5cbd85664e9841bc7704aec048482bc78306035673d2d59be67fb2ae50b63106b
DIST NetLogo-6.0.2-64.tgz 190213078 BLAKE2B 6b0a077538f3e3f3e7769c605a67f6bb6b791319877910eac74e065091d3f6b8cd328d8b354415234b2dd9d4b96b3ca7d18074f54263f460f38b77b8dbe4b9bb SHA512 091200b66305e3ff84e9d1b9a293eaa5f6000a103de86d942c5d0f749aee52cf5519954d05807609f7c0cbeceeab15930ef48612b4f6c1445e529e876aaa9d8e
DIST netlogo-5.0.3.tar.gz 29500644 BLAKE2B 8c71ba6b138cdf6bc999d3244ccf283720150a949526426249984ae87e50bd8bf2dab7141f9d4402c99e34463db772487347ee05c0125b996ce5424e165c19f9 SHA512 fc8d2d5a2a19ddeddec4643a06639e696cd403f605337b1b8072eb842b0f81fab1b264d386c4c0a09f7c2a44f9667b16a89f024d2fcf020ebd679b525ae9772e
DIST netlogo.gif.tar 10240 BLAKE2B 5199290ca492dc4be03dac04a672b4a187daa6caa12a5a487137259071dad156e553ca7eea02f6cd7d66187e4956324fc2d3f2818f10f1557f276f003986be69 SHA512 9a9bc81660599d2b35875f301d5b9824bfa2dafa21dc96b1e6e281d4682ab7b4052844a961b46f5300131c91a4562c58e4b1a4d753cb2b24a18e64b42d333e32

View File

@@ -0,0 +1,38 @@
#!/bin/bash
WD="`pwd`" #store the current working directory, where this script was called from.
#BehaviorSearch needs to start in the NetLogo base folder,
# and "behaviorsearch" must be installed in a subfolder of the NetLogo folder.
NETLOGO_DIR="$( dirname $( readlink -f "$0" ))" # the copious quoting is for handling paths with spaces
cd "$NETLOGO_DIR"
NETLOGO_DIR="`pwd`" #in case it's a relative path, like "."
LIBRARY_DIR="${NETLOGO_DIR}/app"
BSEARCH_DIR="${LIBRARY_DIR}/behaviorsearch"
JARS=""
for f in `ls -1 "$LIBRARY_DIR" | grep "jar"`; do
JARS="$LIBRARY_DIR/$f:$JARS"
done
# If you want to use a different version of java, or if "java" is not in your PATH,
# you can run this script with the BSEARCH_JAVA environment variable pointing
# to the java executable you want to use. e.g. "/opt/java6/bin/java"
if [ -z "$BSEARCH_JAVA" ]; then
BSEARCH_JAVA="java"
fi
JAVA_VERSION=`"$BSEARCH_JAVA" -version 2>&1 | head -n1 | awk '{ print substr($3,2,3) }' | sed -e 's;\.;0;g'`
if [ $JAVA_VERSION -lt 108 ]; then #108 = java 1.8
echo "Sorry, this program requires Java Runtime Environment 1.8 or higher"
exit 1
fi
# If you have enough RAM, up the '1536m' below to '2048m' or more.
# Or you can set the BSEARCH_MAXMEM environment variable when running the script
# More RAM is especially helpful for multiple threads/parallel execution.
if [ -z "$BSEARCH_MAXMEM" ]; then
BSEARCH_MAXMEM=1536m
fi
"$BSEARCH_JAVA" -Dbsearch.startupfolder="$WD" -Dbsearch.appfolder="$BSEARCH_DIR" -server -Xms256m "-Xmx$BSEARCH_MAXMEM" -classpath "$JARS" bsearch.app.BehaviorSearch "$@"

View File

@@ -0,0 +1,40 @@
#!/bin/bash
BASE_DIR="$( cd "$( dirname $( readlink -f "${BASH_SOURCE[0]}" ) )" && pwd -P )"
if [[ ${JAVA_HOME+1} ]]; then
JAVA="${JAVA_HOME}/bin/java"
else
echo "JAVA_HOME undefined, using java from path. For control over exact java version, set JAVA_HOME"
JAVA="java"
fi;
# -Xmx1024m use up to 1GB RAM (edit to increase)
# -Dfile.encoding=UTF-8 ensure Unicode characters in model files are compatible cross-platform
JVM_OPTS=(-Xmx1024m -Dfile.encoding=UTF-8)
OPTS_INDEX=2
ARGS=()
INDEX=0
for arg in "$@"; do
if [[ "$arg" == -D* ]]; then
JVM_OPTS[OPTS_INDEX++]="$arg"
else
ARGS[INDEX++]="$arg"
fi
done
RAW_CLASSPATH="args4j-2.0.12.jar:asm-all-5.0.4.jar:asm-all-5.0.4.jar:autolink-0.6.0.jar:behaviorsearch.jar:commons-codec-1.10.jar:commons-logging-1.1.1.jar:config-1.3.1.jar:flexmark-0.20.0.jar:flexmark-ext-autolink-0.20.0.jar:flexmark-ext-escaped-character-0.20.0.jar:flexmark-ext-typographic-0.20.0.jar:flexmark-formatter-0.20.0.jar:flexmark-util-0.20.0.jar:gluegen-rt-2.3.2.jar:httpclient-4.2.jar:httpcore-4.2.jar:httpmime-4.2.jar:jcommon-1.0.16.jar:jfreechart-1.0.13.jar:jhotdraw-6.0b1.jar:jmf-2.1.1e.jar:jogl-all-2.3.2.jar:json-simple-1.1.1.jar:log4j-1.2.16.jar:macro-compat_2.12-1.1.1.jar:macro-compat_2.12-1.1.1.jar:netlogo-6.0.2.jar:parboiled_2.12-2.1.3.jar:parboiled_2.12-2.1.3.jar:picocontainer-2.13.6.jar:picocontainer-2.13.6.jar:rsyntaxtextarea-2.6.0.jar:scala-library-2.12.2.jar:scala-parser-combinators_2.12-1.0.5.jar:shapeless_2.12-2.3.2.jar:shapeless_2.12-2.3.2.jar"
CLASSPATH=''
for jar in `echo $RAW_CLASSPATH | sed 's/:/ /g'`; do
CLASSPATH="$CLASSPATH:$BASE_DIR/app/$jar"
done
CLASSPATH=`echo $CLASSPATH | sed 's/://'`
# -classpath .... specify jars
# org.nlogo.headless.Main specify we want headless, not GUI
# "${ARGS[0]}" pass along any additional arguments
java "${JVM_OPTS[@]}" -Dnetlogo.extensions.dir="${BASE_DIR}/app/extensions" -classpath "$CLASSPATH" -Dorg.nlogo.is3d=true org.nlogo.hubnet.client.App "${ARGS[@]}"

View File

@@ -0,0 +1,40 @@
#!/bin/bash
BASE_DIR="$( cd "$( dirname $( readlink -f "${BASH_SOURCE[0]}" ) )" && pwd -P )"
if [[ ${JAVA_HOME+1} ]]; then
JAVA="${JAVA_HOME}/bin/java"
else
echo "JAVA_HOME undefined, using java from path. For control over exact java version, set JAVA_HOME"
JAVA="java"
fi;
# -Xmx1024m use up to 1GB RAM (edit to increase)
# -Dfile.encoding=UTF-8 ensure Unicode characters in model files are compatible cross-platform
JVM_OPTS=(-Xmx1024m -Dfile.encoding=UTF-8)
OPTS_INDEX=2
ARGS=()
INDEX=0
for arg in "$@"; do
if [[ "$arg" == -D* ]]; then
JVM_OPTS[OPTS_INDEX++]="$arg"
else
ARGS[INDEX++]="$arg"
fi
done
RAW_CLASSPATH="args4j-2.0.12.jar:asm-all-5.0.4.jar:asm-all-5.0.4.jar:autolink-0.6.0.jar:behaviorsearch.jar:commons-codec-1.10.jar:commons-logging-1.1.1.jar:config-1.3.1.jar:flexmark-0.20.0.jar:flexmark-ext-autolink-0.20.0.jar:flexmark-ext-escaped-character-0.20.0.jar:flexmark-ext-typographic-0.20.0.jar:flexmark-formatter-0.20.0.jar:flexmark-util-0.20.0.jar:gluegen-rt-2.3.2.jar:httpclient-4.2.jar:httpcore-4.2.jar:httpmime-4.2.jar:jcommon-1.0.16.jar:jfreechart-1.0.13.jar:jhotdraw-6.0b1.jar:jmf-2.1.1e.jar:jogl-all-2.3.2.jar:json-simple-1.1.1.jar:log4j-1.2.16.jar:macro-compat_2.12-1.1.1.jar:macro-compat_2.12-1.1.1.jar:netlogo-6.0.2.jar:parboiled_2.12-2.1.3.jar:parboiled_2.12-2.1.3.jar:picocontainer-2.13.6.jar:picocontainer-2.13.6.jar:rsyntaxtextarea-2.6.0.jar:scala-library-2.12.2.jar:scala-parser-combinators_2.12-1.0.5.jar:shapeless_2.12-2.3.2.jar:shapeless_2.12-2.3.2.jar"
CLASSPATH=''
for jar in `echo $RAW_CLASSPATH | sed 's/:/ /g'`; do
CLASSPATH="$CLASSPATH:$BASE_DIR/app/$jar"
done
CLASSPATH=`echo $CLASSPATH | sed 's/://'`
# -classpath .... specify jars
# org.nlogo.headless.Main specify we want headless, not GUI
# "${ARGS[0]}" pass along any additional arguments
java "${JVM_OPTS[@]}" -Dnetlogo.extensions.dir="${BASE_DIR}/app/extensions" -classpath "$CLASSPATH" org.nlogo.app.App "${ARGS[@]}"

View File

@@ -0,0 +1,40 @@
#!/bin/bash
BASE_DIR="$( cd "$( dirname $( readlink -f "${BASH_SOURCE[0]}" ) )" && pwd -P )"
if [[ ${JAVA_HOME+1} ]]; then
JAVA="${JAVA_HOME}/bin/java"
else
echo "JAVA_HOME undefined, using java from path. For control over exact java version, set JAVA_HOME"
JAVA="java"
fi;
# -Xmx1024m use up to 1GB RAM (edit to increase)
# -Dfile.encoding=UTF-8 ensure Unicode characters in model files are compatible cross-platform
JVM_OPTS=(-Xmx1024m -Dfile.encoding=UTF-8)
OPTS_INDEX=2
ARGS=()
INDEX=0
for arg in "$@"; do
if [[ "$arg" == -D* ]]; then
JVM_OPTS[OPTS_INDEX++]="$arg"
else
ARGS[INDEX++]="$arg"
fi
done
RAW_CLASSPATH="args4j-2.0.12.jar:asm-all-5.0.4.jar:asm-all-5.0.4.jar:autolink-0.6.0.jar:behaviorsearch.jar:commons-codec-1.10.jar:commons-logging-1.1.1.jar:config-1.3.1.jar:flexmark-0.20.0.jar:flexmark-ext-autolink-0.20.0.jar:flexmark-ext-escaped-character-0.20.0.jar:flexmark-ext-typographic-0.20.0.jar:flexmark-formatter-0.20.0.jar:flexmark-util-0.20.0.jar:gluegen-rt-2.3.2.jar:httpclient-4.2.jar:httpcore-4.2.jar:httpmime-4.2.jar:jcommon-1.0.16.jar:jfreechart-1.0.13.jar:jhotdraw-6.0b1.jar:jmf-2.1.1e.jar:jogl-all-2.3.2.jar:json-simple-1.1.1.jar:log4j-1.2.16.jar:macro-compat_2.12-1.1.1.jar:macro-compat_2.12-1.1.1.jar:netlogo-6.0.2.jar:parboiled_2.12-2.1.3.jar:parboiled_2.12-2.1.3.jar:picocontainer-2.13.6.jar:picocontainer-2.13.6.jar:rsyntaxtextarea-2.6.0.jar:scala-library-2.12.2.jar:scala-parser-combinators_2.12-1.0.5.jar:shapeless_2.12-2.3.2.jar:shapeless_2.12-2.3.2.jar"
CLASSPATH=''
for jar in `echo $RAW_CLASSPATH | sed 's/:/ /g'`; do
CLASSPATH="$CLASSPATH:$BASE_DIR/app/$jar"
done
CLASSPATH=`echo $CLASSPATH | sed 's/://'`
# -classpath .... specify jars
# org.nlogo.headless.Main specify we want headless, not GUI
# "${ARGS[0]}" pass along any additional arguments
java "${JVM_OPTS[@]}" -Dnetlogo.extensions.dir="${BASE_DIR}/app/extensions" -classpath "$CLASSPATH" -Dorg.nlogo.is3d=true -Djava.library.path="${BASE_DIR}/app/natives/linux-amd64/:${env_var:PATH}" org.nlogo.app.App "${ARGS[@]}"

View File

@@ -0,0 +1,80 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit desktop
MY_PN="NetLogo"
MY_P=${MY_PN}-${PV}
DESCRIPTION="Cross-platform multi-agent programmable modeling environment"
HOMEPAGE="http://ccl.northwestern.edu/netlogo/"
SRC_URI="
https://dev.gentoo.org/~jlec/distfiles/${PN/-bin}.gif.tar
amd64? ( http://ccl.northwestern.edu/netlogo/${PV}/${MY_P}-64.tgz )
x86? ( http://ccl.northwestern.edu/netlogo/${PV}/${MY_P}-32.tgz )
"
LICENSE="netlogo GPL-2 LGPL-2.1 LGPL-3 BSD Apache-2.0"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
IUSE=""
DEPEND=""
RDEPEND=">=virtual/jre-1.8"
S="${WORKDIR}/${MY_PN} ${PV}"
DOCS=( "NetLogo User Manual.pdf" app/docs/shapes.nlogo readme.md )
HTML_DOCS=( app/docs app/behaviorsearch/documentation )
QA_PREBUILT="opt/netlogo/app/natives/linux-*/*.so"
src_prepare() {
default
cp "${FILESDIR}"/netlogo-${PV}.sh netlogo.sh
cp "${FILESDIR}"/netlogo3d-${PV}.sh netlogo3d.sh
cp "${FILESDIR}"/behaviorsearch-${PV}.sh behaviorsearch.sh
cp "${FILESDIR}"/hubnetclient-${PV}.sh hubnetclient.sh
if use x86; then
sed -i -e 's/linux-amd64/linux-i586/g' netlogo3d.sh
fi
}
src_install() {
einstalldocs
# Override the config files so they don't use the bundled java path
sed -i -e 's/app.runtime=.*/app.runtime=$JAVA_HOME/g' app/*.cfg
# Once docs are installed, remove them from the source so they don't get
# installed below
rm -rf app/docs app/behaviorsearch/documentation
insinto /opt/netlogo
doins -r app/
doins -r "Mathematica Link"
doicon "${WORKDIR}"/netlogo.gif
exeinto /opt/netlogo/
# We don't copy the NetLogo binaries since they are hardcoded to use embedded java
doexe netlogo.sh
doexe netlogo3d.sh
doexe behaviorsearch.sh
doexe hubnetclient.sh
doexe netlogo-headless.sh
doexe app/behaviorsearch/behaviorsearch_headless.sh
insinto /opt/bin
dosym ../netlogo/netlogo.sh /opt/bin/netlogo.sh
dosym ../netlogo/netlogo3d.sh /opt/bin/netlogo3d.sh
dosym ../netlogo/behaviorsearch.sh /opt/bin/behaviorsearch.sh
dosym ../netlogo/hubnetclient.sh /opt/bin/hubnetclient.sh
dosym ../netlogo/netlogo-headless.sh /opt/bin/netlogo-headless.sh
dosym ../netlogo/behaviorsearch_headless.sh /opt/bin/behaviorsearch_headless.sh
make_desktop_entry behaviorsearch.sh "NetLogo Behavior Search" /usr/share/pixmaps/netlogo.gif
make_desktop_entry netlogo.sh "NetLogo" /usr/share/pixmaps/netlogo.gif
make_desktop_entry netlogo3d.sh "NetLogo 3D" /usr/share/pixmaps/netlogo.gif
make_desktop_entry hubnetclient.sh "NetLogo Hubnet Client" /usr/share/pixmaps/netlogo.gif
}