summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD77
1 files changed, 77 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..57e5aff3978f
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,77 @@
+# Maintainer: Evgeniy Alekseev <arcanis at archlinux dot org>
+# Contributor: Sergej Pupykin <pupykin.s+arch at gmail dot com>
+# Contributor: Marcin Karpezo <sirmacik at gmail dot com>
+
+pkgbase=scala
+pkgname=(scala scala-docs scala-sources)
+pkgver=2.13.8
+pkgrel=1
+_watch="https://github.com/scala/scala/releases"
+_distdate=20190531-142000
+_distsha=43e040ff7e
+pkgdesc="A Java-interoperable language with object-oriented and functional features"
+arch=('any')
+url="https://www.scala-lang.org"
+license=('Apache')
+depends=('java-environment=8' 'java-runtime=8')
+makedepends=('git' 'sbt')
+source=("scala-${pkgver}.tar.gz::https://github.com/scala/scala/archive/v${pkgver}.tar.gz"
+ "scala-docs-${pkgver}.tar.xz::https://www.scala-lang.org/files/archive/scala-docs-${pkgver}.txz")
+sha512sums=('cba6a474ec0f1ec926b345b1905a79ea03055bb7dba3863d11002a18ee05dafd68d58e4351e253754fac6493c82dc117608613fba5dc2cc641ef23dc046ad3ee'
+ '0b985701e6873d083203dfde88b5c695d449638933c42699c46fc88221ed7b83f14723b2903bfbc93a5406bf58a679c78c3427ce0651acd91b76fea78be47877')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ chmod 0755 tools/*
+ echo -e "#!/bin/bash\necho ${_distdate}" > "tools/get-scala-commit-date"
+ echo -e "#!/bin/bash\necho ${_distsha}" > "tools/get-scala-commit-sha"
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sbt dist/mkPack packageSrc packageDoc
+}
+
+package_scala() {
+ depends=('java-runtime')
+ optdepends=('scala-docs'
+ 'scala-sources'
+ 'graphviz: generate diagrams')
+
+ cd "${srcdir}/${pkgname}-${pkgver}/build/pack"
+
+ install -d "${pkgdir}/usr/"{bin,share} "${pkgdir}/usr/share/man/man1" "${pkgdir}/usr/share/scala/"{bin,lib}
+ cp -r lib "${pkgdir}/usr/share/scala/"
+ install -m755 bin/{fsc,scala,scalac,scalap,scaladoc} "${pkgdir}/usr/share/scala/bin"
+ install -Dm0644 "${srcdir}/scala-${pkgver}/doc/LICENSE.md" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.md"
+
+ ln -s "../share/scala/bin/fsc" "${pkgdir}/usr/bin/fsc"
+ ln -s "../share/scala/bin/scala" "${pkgdir}/usr/bin/scala"
+ ln -s "../share/scala/bin/scalac" "${pkgdir}/usr/bin/scalac"
+ ln -s "../share/scala/bin/scalap" "${pkgdir}/usr/bin/scalap"
+ ln -s "../share/scala/bin/scaladoc" "${pkgdir}/usr/bin/scaladoc"
+}
+
+package_scala-docs() {
+ replaces=('scala-doc' 'scala-devel-docs')
+ pkgdesc="Scala documentation"
+ depends=()
+
+ cd "${srcdir}/scala-${pkgver}"
+ mkdir -p "${pkgdir}/usr/share/doc/"
+ cp -r api "${pkgdir}/usr/share/doc/scala"
+ install -Dm0644 "${srcdir}/scala-${pkgver}/doc/LICENSE.md" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.md"
+}
+
+package_scala-sources() {
+ replaces=('scala-src')
+ pkgdesc="Scala sources"
+ depends=()
+
+ cd "${srcdir}/scala-${pkgver}"
+ mkdir -p "${pkgdir}/usr/share/scala/"
+ find . -type f -name '*-sources.jar' | while read f; do
+ install -Dm0644 "${f}" "${pkgdir}/usr/share/scala/src/$(basename -- ${f})"
+ done
+ install -Dm0644 "${srcdir}/scala-${pkgver}/doc/LICENSE.md" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.md"
+}