svn commit: r491026 - in head/misc: . elki elki/files

Yuri Victorovich yuri at FreeBSD.org
Wed Jan 23 09:31:57 UTC 2019


Author: yuri
Date: Wed Jan 23 09:31:55 2019
New Revision: 491026
URL: https://svnweb.freebsd.org/changeset/ports/491026

Log:
  New port: misc/elki: Data mining toolkit

Added:
  head/misc/elki/
  head/misc/elki/Makefile   (contents, props changed)
  head/misc/elki/distinfo   (contents, props changed)
  head/misc/elki/files/
  head/misc/elki/files/elki.sh.in   (contents, props changed)
  head/misc/elki/pkg-descr   (contents, props changed)
Modified:
  head/misc/Makefile

Modified: head/misc/Makefile
==============================================================================
--- head/misc/Makefile	Wed Jan 23 09:30:49 2019	(r491025)
+++ head/misc/Makefile	Wed Jan 23 09:31:55 2019	(r491026)
@@ -83,6 +83,7 @@
     SUBDIR += e2fsprogs-libuuid
     SUBDIR += elixir-mime
     SUBDIR += elixir-uuid
+    SUBDIR += elki
     SUBDIR += elscreen
     SUBDIR += erlang-mimerl
     SUBDIR += erlang-mimetypes

Added: head/misc/elki/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/misc/elki/Makefile	Wed Jan 23 09:31:55 2019	(r491026)
@@ -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 at 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>

Added: head/misc/elki/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/misc/elki/distinfo	Wed Jan 23 09:31:55 2019	(r491026)
@@ -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

Added: head/misc/elki/files/elki.sh.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/misc/elki/files/elki.sh.in	Wed Jan 23 09:31:55 2019	(r491026)
@@ -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 "$@"

Added: head/misc/elki/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/misc/elki/pkg-descr	Wed Jan 23 09:31:55 2019	(r491026)
@@ -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/


More information about the svn-ports-head mailing list