aboutsummaryrefslogtreecommitdiff
path: root/misc/elki
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2019-01-23 09:31:55 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2019-01-23 09:31:55 +0000
commite42a6b9e1729d9b78c6be0893071dbf5aa81531a (patch)
tree6064619db9edd4a9ea5a135fb6065fc3659b9596 /misc/elki
parent77c677af97a70eb361c16b15be0511f0d0ebc53d (diff)
downloadports-e42a6b9e1729d9b78c6be0893071dbf5aa81531a.tar.gz
ports-e42a6b9e1729d9b78c6be0893071dbf5aa81531a.zip
New port: misc/elki: Data mining toolkit
Notes
Notes: svn path=/head/; revision=491026
Diffstat (limited to 'misc/elki')
-rw-r--r--misc/elki/Makefile52
-rw-r--r--misc/elki/distinfo5
-rw-r--r--misc/elki/files/elki.sh.in25
-rw-r--r--misc/elki/pkg-descr11
4 files changed, 93 insertions, 0 deletions
diff --git a/misc/elki/Makefile b/misc/elki/Makefile
new file mode 100644
index 000000000000..707a9632873b
--- /dev/null
+++ b/misc/elki/Makefile
@@ -0,0 +1,52 @@
+# $FreeBSD$
+
+PORTNAME= elki
+DISTVERSIONPREFIX= release
+DISTVERSION= 0.7.1-1166
+DISTVERSIONSUFFIX= -gfb1fffdf3
+CATEGORIES= misc java
+MASTER_SITES= LOCAL/yuri/:deps
+DISTFILES= ${PORTNAME}-${DISTVERSION}-deps${EXTRACT_SUFX}:deps
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Data mining toolkit
+
+LICENSE= AGPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS= gradle:devel/gradle
+
+USE_JAVA= yes
+USE_GITHUB= yes
+GH_ACCOUNT= elki-project
+
+SUB_FILES= ${PORTNAME}.sh
+SUB_LIST= PORTNAME=${PORTNAME} PORTVERSION=${PORTVERSION} JAVA=${JAVA}
+
+DEPS_CACHE_DIR= /tmp # should be ${WRKDIR}, but workaround for the gradle bug that dependency cache is not relocable: https://github.com/gradle/gradle/issues/1338
+
+PLIST_FILES= bin/${PORTNAME} \
+ ${JAVAJARDIR}/${PORTNAME}-${PORTVERSION}.jar
+
+# to rebuild the deps archive:
+# 1. remove post-extract
+# 2. remove --offline
+# 3. remove MASTER_SITES/DISTFILES/EXTRACT_ONLY
+# 4. build
+# 5. package ${DEPS_CACHE_DIR}/gradle-${PORTNAME} into the deps archive and upload it
+# 6. restore the removed items
+
+post-extract:
+ @cd ${DEPS_CACHE_DIR} && ${TAR} xzf ${DISTDIR}/${PORTNAME}-${DISTVERSION}-deps${EXTRACT_SUFX}
+
+do-build:
+ @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} gradle \
+ --gradle-user-home ${DEPS_CACHE_DIR}/gradle-${PORTNAME} --project-cache-dir ${DEPS_CACHE_DIR}/gradle-${PORTNAME} \
+ --offline --build-cache shadowJar
+
+do-install:
+ ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}.sh ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+ ${INSTALL_DATA} ${WRKSRC}/${PORTNAME}-bundle-0.7.2-SNAPSHOT.jar ${STAGEDIR}${JAVAJARDIR}/${PORTNAME}-${PORTVERSION}.jar
+
+.include <bsd.port.mk>
diff --git a/misc/elki/distinfo b/misc/elki/distinfo
new file mode 100644
index 000000000000..6a2336fba5b0
--- /dev/null
+++ b/misc/elki/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1548234819
+SHA256 (elki-0.7.1-1166-deps.tar.gz) = 67eb3b3d3c1b53b20f3bd47f45ea4fe523e6498f8d428f251105008a7bfb98c9
+SIZE (elki-0.7.1-1166-deps.tar.gz) = 40980776
+SHA256 (elki-project-elki-release0.7.1-1166-gfb1fffdf3_GH0.tar.gz) = 50e27a993c6a82b45fd6b179c77115fc6d233990826abdcc982a338b50ae4911
+SIZE (elki-project-elki-release0.7.1-1166-gfb1fffdf3_GH0.tar.gz) = 4909717
diff --git a/misc/elki/files/elki.sh.in b/misc/elki/files/elki.sh.in
new file mode 100644
index 000000000000..ffdfd32a8ebc
--- /dev/null
+++ b/misc/elki/files/elki.sh.in
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+export LC_ALL=en_US.UTF-8
+
+MEM_OPTS_SET_BY_USER="no"
+for o in $@; do
+ case $o in
+ -X* )
+ MEM_OPTS_SET_BY_USER="yes"
+ ;;
+ esac
+done
+
+if [ $MEM_OPTS_SET_BY_USER = "no" ]; then
+ # memory options
+ physmem_b=$(sysctl -n hw.physmem)
+ physmem_mb=$((physmem_b/1024/1024))
+ physmem_mb=$((physmem_mb*3/4)) # allow 3/4 of the memory
+ # -Xms<size> set initial Java heap size
+ # -Xmx<size> set maximum Java heap size
+ MEM_OPTS="-Xms512m -Xmx${physmem_mb}m"
+fi
+
+# execute the command
+%%JAVA%% $MEM_OPTS -jar %%JAVAJARDIR%%/%%PORTNAME%%-%%PORTVERSION%%.jar "$@"
diff --git a/misc/elki/pkg-descr b/misc/elki/pkg-descr
new file mode 100644
index 000000000000..2a6df9e5490a
--- /dev/null
+++ b/misc/elki/pkg-descr
@@ -0,0 +1,11 @@
+ELKI is an open source (AGPLv3) data mining software written in Java. The focus
+of ELKI is research in algorithms, with an emphasis on unsupervised methods in
+cluster analysis and outlier detection. In order to achieve high performance and
+scalability, ELKI offers data index structures such as the R*-tree that can
+provide major performance gains. ELKI is designed to be easy to extend for
+researchers and students in this domain, and welcomes contributions of
+additional methods. ELKI aims at providing a large collection of highly
+parameterizable algorithms, in order to allow easy and fair evaluation and
+benchmarking of algorithms.
+
+WWW: https://elki-project.github.io/