New port: shells/ammonite

A modern replacement for the Bash system shell. Provides a systems shell in
the high-level Scala language, letting you seamlessly mix system operations
with real code without the hassle or the frustration of trying to write
complex code in Bash.

Ammonite lets you use the Scala language for scripting purposes: in a
Read-Evaluate-Print-Loop (REPL), as scripts, as a library to use
in existing projects, or as a standalone systems shell.

WWW: https://ammonite.io/

PR:		235759
Submitted by:	Jens Grassel <jan0sch@mykolab.com>
This commit is contained in:
Kurt Jaeger 2019-02-18 17:01:53 +00:00
parent 9fd44c6b1d
commit a208877327
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=493275
5 changed files with 65 additions and 0 deletions

View file

@ -4,6 +4,7 @@
COMMENT = Shells
SUBDIR += 44bsd-csh
SUBDIR += ammonite
SUBDIR += bash
SUBDIR += bash-completion
SUBDIR += bash-static

32
shells/ammonite/Makefile Normal file
View file

@ -0,0 +1,32 @@
# $FreeBSD$
PORTNAME= ammonite
DISTVERSION= 1.6.3
CATEGORIES= shells java
MASTER_SITES= https://github.com/lihaoyi/Ammonite/releases/download/${PORTVERSION}/
DISTNAME= 2.12-${PORTVERSION}
EXTRACT_SUFX=
DIST_SUBDIR= ${PORTNAME}
EXTRACT_ONLY=
MAINTAINER= freebsd-ports@jan0sch.de
COMMENT= Provides a system shell in the high-level Scala language
LICENSE= MIT
USE_JAVA= yes
JAVA_VERSION= 1.8+
NO_BUILD= yes
NO_ARCH= yes
PLIST_FILES= bin/ammonite
do-extract:
@${MKDIR} ${WRKSRC}
@${CP} ${DISTDIR}/${DIST_SUBDIR}/${DISTNAME} ${WRKSRC}
do-install:
${INSTALL_SCRIPT} ${WRKSRC}/${DISTNAME} \
${STAGEDIR}${PREFIX}/bin/${PORTNAME}
.include <bsd.port.mk>

3
shells/ammonite/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1550239983
SHA256 (ammonite/2.12-1.6.3) = adafccfdc70cdc83f072f6b0c340205d422fca56f743e269635dfb40dc63b171
SIZE (ammonite/2.12-1.6.3) = 28929884

10
shells/ammonite/pkg-descr Normal file
View file

@ -0,0 +1,10 @@
A modern replacement for the Bash system shell. Provides a systems shell in
the high-level Scala language, letting you seamlessly mix system operations
with real code without the hassle or the frustration of trying to write
complex code in Bash.
Ammonite lets you use the Scala language for scripting purposes: in a
Read-Evaluate-Print-Loop (REPL), as scripts, as a library to use
in existing projects, or as a standalone systems shell.
WWW: https://ammonite.io/

View file

@ -0,0 +1,19 @@
To use ammonite as a shell you must(!) setup a configuration file
~/.ammonite/predef.sc with a least the following minimal content:
interp.load.ivy(
"com.lihaoyi" %% "ammonite-ops" % ammonite.Constants.version
)
interp.load.ivy(
"com.lihaoyi" %
s"ammonite-shell_${scala.util.Properties.versionNumberString}" %
ammonite.Constants.version
)
// This @ is necessary for Ammonite to process the `interp.load.ivy`
// before continuing.
@
val shellSession = ammonite.shell.ShellSession()
import shellSession._
import ammonite.ops._
import ammonite.shell._
ammonite.shell.Configure(interp, repl, wd)