summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorJonathan Raffre2017-09-27 14:28:26 +0200
committerJonathan Raffre2017-09-27 14:32:07 +0200
commitabcc741eb18088e26b775de25ed7ad912ed1f7e2 (patch)
tree3da496e621258b2f0f7103fd9c5a0cc4e6e8a218 /PKGBUILD
downloadaur-ensime-server-bin.tar.gz
initial
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD60
1 files changed, 60 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..3d12f619fe5c
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,60 @@
+# Maintainer: Jonathan "nekonyuu" Raffre <nk@nyuu.eu>
+# Thanks to jsalzberg for the initial PKGBUILD
+pkgname=ensime-server-bin
+pkgver=2.0.0
+_scalaver=2.12
+pkgrel=1
+pkgdesc="ENSIME server"
+url="https://github.com/ensime/ensime-server"
+arch=("x86_64" "i686")
+license=("custom")
+depends=("java-environment" "scala")
+_jarfile="ensime_${_scalaver}-${pkgver}-assembly.jar"
+source=("https://github.com/ensime/ensime-server/releases/download/v2.0.0/${_jarfile}")
+noextract=("${_jarfile}")
+md5sums=('0712c847fc868c1060c93e0e159f1d79')
+sha256sums=('c2085775e5d98214737abc9504771717cd210ba193c7450445a2e8a7cc211061')
+
+build() {
+ echo ""
+}
+
+package() {
+ mkdir -p "${pkgdir}/usr/lib/ensime" && \
+ cp "${srcdir}/${_jarfile}" "${pkgdir}/usr/lib/ensime"
+
+ mkdir -p "${pkgdir}/usr/bin" && cat <<SHELL > "${pkgdir}/usr/bin/ensime-server"
+#!/bin/sh
+
+PROJECT_DIR="\${1:-.}"
+SWANK_PORT="\$2"
+HTTP_PORT="\$3"
+
+mkdir -p "\${PROJECT_DIR}"/.ensime_cache
+
+if test -n "\${SWANK_PORT}"; then
+ echo -n "\${SWANK_PORT}" > "\${PROJECT_DIR}"/.ensime_cache/port
+fi
+
+if test -n "\${HTTP_PORT}"; then
+ echo -n "\${HTTP_PORT}" > "\${PROJECT_DIR}"/.ensime_cache/http
+fi
+
+exec /usr/bin/java -Densime.config="\${PROJECT_DIR}"/.ensime -cp /usr/lib/jvm/default/lib/tools.jar:/usr/share/scala/lib/scala-library.jar:/usr/share/scala/lib/scala-compiler.jar:/usr/share/scala/lib/scalap.jar:/usr/lib/ensime/${_jarfile} org.ensime.server.Server
+SHELL
+ chmod 0755 "${pkgdir}/usr/bin/ensime-server"
+
+ mkdir -p "${pkgdir}/usr/lib/systemd/user" && cat <<SYSTEMD > "${pkgdir}/usr/lib/systemd/user/ensime-server@.service"
+[Unit]
+Description=ENSIME user server for %i directory
+
+[Service]
+Type=simple
+EnvironmentFile=-%I/.ensime_cache/ports.conf
+ExecStartPre=-/usr/bin/rm -f %I/.ensime_cache/http %I/.ensime_cache/port
+ExecStart=/usr/bin/ensime-server %I \${SWANK_PORT} \${HTTP_PORT}
+
+[Install]
+WantedBy=default.target
+SYSTEMD
+}