summaryrefslogtreecommitdiff
path: root/dev-java/sbt
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /dev-java/sbt
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'dev-java/sbt')
-rw-r--r--dev-java/sbt/Manifest5
-rw-r--r--dev-java/sbt/metadata.xml12
-rw-r--r--dev-java/sbt/sbt-0.13.18-r1.ebuild147
3 files changed, 164 insertions, 0 deletions
diff --git a/dev-java/sbt/Manifest b/dev-java/sbt/Manifest
new file mode 100644
index 000000000000..0ac8b9dc2cb9
--- /dev/null
+++ b/dev-java/sbt/Manifest
@@ -0,0 +1,5 @@
+DIST sbt-0.13.18-gentoo-binary.tar.xz 24312512 BLAKE2B 8601ff9d8783156f98df7e855563ebd1a1e51b4588f7fb5701b2fbd86771b7a280518272fc24f469f8810893f2762afb33f1c590764f980d9571555b3f84e4c6 SHA512 ca4b3b50d04f33c55e4bef468623a245e6001f922c8ad404e60a4369bcd6e683a97dab169b03cbc12d9e530aff194fdf1571aceca32c5dbb37b4c3d7a49a09f9
+DIST sbt-0.13.18-ivy2-deps.tar.xz 97612984 BLAKE2B d712b80cde43c46bc714d30f3009b9e46c5f50f78fbc46f8bc106f522308faa9a8d0bdbf4ad9634730f759bb3c484380d33e585771b33633aab6b8ee7dda5ba4 SHA512 c6affd495f9882b71d3a811638c803a646f71e926cc7efb2e84950d85a4fb6dcb65674ff5444d9ffc8858726342b6d3733880d1611157004b891689e67f24028
+DIST sbt-0.13.18-sbt-deps.tar.xz 34787436 BLAKE2B aba63ee1f7ec3f105bae0fa882dc193360c29f772a50ee84b9770f79491d55fcff509d70b813b62ad0bdd618729293b030b29209236ad5d9af1bfc11b7a0fdf0 SHA512 aab302c83303baa89bf6a2ed8d3af76e4d92b9c4339d0e30767fcfcf61131c29a534ba43fb73467f673dec0b3f61d2e740a19b3790fcc4f76b413d04115dfbb8
+DIST sbt-0.13.18.tar.gz 952783 BLAKE2B 31648c2cbbeb5d57db03c10bd4ac25344ae2d0351fc592e85e053e9ac0deb063e1b1e700a8dfa4a242243dd06fa491f721852ddbc2ea1d7fd4174e01febad25e SHA512 0eeb6fddc2454c2fff2eee06a80179495c0210d97fd3677bfe0f8833524ac707515b9e8f3c19e0d0372f503ef9b9f19dbe4cf15b6f8b48181ad730685004267c
+DIST sbt-launch-0.13.18.jar 1210278 BLAKE2B b3c03f0c823576db51eda51a494edeb771f7ab762afe74fa95f19a4581d80cfdf3c6d6bfacd76e195de34f420912d18b505b74414fbc02550c9331fe4b3e07e3 SHA512 2b1e27f8d873ee45cc168ab19f6e82421d6896116c7b7af60974b97f41edd034fa008e668c83f83d2ce3a501986674821d8a427ccbcda291c8c33b576d64921b
diff --git a/dev-java/sbt/metadata.xml b/dev-java/sbt/metadata.xml
new file mode 100644
index 000000000000..6eb360700c50
--- /dev/null
+++ b/dev-java/sbt/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <longdescription lang="en">
+The interactive build tool.
+Use Scala to define your tasks. Then run them in parallel from the shell.
+</longdescription>
+ <use>
+ <flag name="binary">Install from (Gentoo-compiled) binary instead of building from sources. Set this when you run out of memory during build.</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-java/sbt/sbt-0.13.18-r1.ebuild b/dev-java/sbt/sbt-0.13.18-r1.ebuild
new file mode 100644
index 000000000000..265669b73ccc
--- /dev/null
+++ b/dev-java/sbt/sbt-0.13.18-r1.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-pkg-2
+
+L_PN="sbt-launch"
+L_P="${L_PN}-${PV}"
+
+DESCRIPTION="sbt is a build tool for Scala and Java projects that aims to do the basics well"
+HOMEPAGE="https://www.scala-sbt.org/"
+EGIT_COMMIT="v${PV}"
+EGIT_REPO_URI="https://github.com/sbt/sbt.git"
+SRC_URI="
+ !binary? (
+ https://github.com/sbt/sbt/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~gienah/snapshots/${P}-ivy2-deps.tar.xz
+ https://dev.gentoo.org/~gienah/snapshots/${P}-sbt-deps.tar.xz
+ https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/${L_PN}/${PV}/${L_PN}.jar -> ${L_P}.jar
+ )
+ binary? (
+ https://dev.gentoo.org/~gienah/distfiles/${P}-gentoo-binary.tar.xz
+ )"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+IUSE="binary"
+
+# Restrict to jdk:1.8
+# Missing dependency 'object java.lang.Object in compiler mirror', bug #831297
+DEPEND="
+ virtual/jdk:1.8
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+"
+
+# test hangs or fails
+RESTRICT="test"
+
+# Note: to bump sbt, some things to try are:
+# 1. remove the https://dev.gentoo.org/~gienah/snapshots/${P}-ivy2-deps.tar.xz
+# https://dev.gentoo.org/~gienah/snapshots/${P}-sbt-deps.tar.xz and
+# binary? ( https://dev.gentoo.org/~gienah/distfiles/${P}-gentoo-binary.tar.xz )
+# from SRC_URI
+# 2. Comment the sbt publishLocal line in src_compile.
+# 3. try:
+# FEATURES='noclean -test' emerge -v -1 dev-java/sbt
+# It should fail in src_install since the sbt publishLocal is not done.
+# Check if it downloads more stuff in
+# src_compile to ${WORKDIR}/.ivy2 and ${WORKDIR}/.sbt.
+# 4. If some of the downloads fail, it might be necessary to run the sbt compile
+# again manually to obtain all the dependencies, if so:
+# cd to ${S}
+# export EROOT=/
+# export WORKDIR='/var/tmp/portage/dev-java/${P}/work'
+# export L_P=${P}
+# export PATH="${WORKDIR}/${L_P}:${PATH}"
+# sbt compile
+# cd ${WORKDIR}
+# find .ivy2 .sbt -uid 0 -exec chown portage:portage {} \;
+# 5. cd ${WORKDIR}
+# XZ_OPT=-9 tar --owner=portage --group=portage \
+# -cJf /usr/portage/distfiles/${P}-ivy2-deps.tar.xz .ivy2/cache
+# XZ_OPT=-9 tar --owner=portage --group=portage \
+# -cJf /usr/portage/distfiles/${P}-sbt-deps.tar.xz .sbt
+# Uncomment the sbt publishLocal line in src_compile.
+# 6. It *might* download more dependencies for src_test, however the presence
+# of some of these may cause the src_compile to fail. So download them
+# seperately as root so we can identify the
+# additional files. As root:
+# cd ${S}
+# ${S}/${P} test
+# cd ${WORKDIR}
+# XZ_OPT=-9 tar --owner=portage --group=portage \
+# -cJf /usr/portage/distfiles/${P}-test-deps.tar.xz \
+# $(find .ivy2/cache .sbt -uid 0 -type f -print)
+# Note: It might not download anything in src_test, in which case
+# ${P}-test-deps.tar.xz is not required.
+# 7. Create the binary
+# cd $WORDKIR
+# XZ_OPT=-9 tar --owner=portage --group=portage \
+# -cJf /usr/portage/distfiles/${P}-gentoo-binary.tar.xz ${P} .ivy2/local
+# 9. Undo the earlier temporary edits to the ebuild.
+
+src_unpack() {
+ # Unpack tar files only.
+ for f in ${A} ; do
+ [[ ${f} == *".tar."* ]] && unpack ${f}
+ done
+}
+
+src_prepare() {
+ default
+ if ! use binary; then
+ mkdir "${WORKDIR}/${L_P}" || die
+ cp -p "${DISTDIR}/${L_P}.jar" "${WORKDIR}/${L_P}/${L_PN}.jar" || die
+ cat <<- EOF > "${WORKDIR}/${L_P}/sbt"
+ #!/bin/sh
+ SBT_OPTS="-Xms512M -Xmx3072M -Xss1M -XX:+CMSClassUnloadingEnabled"
+ java -Djavac.args="-encoding UTF-8" -Duser.home="${WORKDIR}" \${SBT_OPTS} -jar "${WORKDIR}/${L_P}/sbt-launch.jar" "\$@"
+ EOF
+ cat <<- EOF > "${S}/${P}"
+ #!/bin/sh
+ SBT_OPTS="-Xms512M -Xmx3072M -Xss1M -XX:+CMSClassUnloadingEnabled"
+ java -Djavac.args="-encoding UTF-8" -Duser.home="${WORKDIR}" \${SBT_OPTS} -jar "${S}/launch/target/sbt-launch.jar" "\$@"
+ EOF
+ chmod u+x "${WORKDIR}/${L_P}/sbt" "${S}/${P}" || die
+
+ # suppress this warning in build.log:
+ # [warn] Credentials file /var/tmp/portage/dev-java/${P}/work/.bintray/.credentials does not exist
+ mkdir -p "${WORKDIR}/.bintray" || die
+ cat <<- EOF > "${WORKDIR}/.bintray/.credentials"
+ realm = Bintray API Realm
+ host = api.bintray.com
+ user =
+ password =
+ EOF
+ fi
+}
+
+src_compile() {
+ if ! use binary; then
+ einfo "=== sbt compile ..."
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ "${WORKDIR}/${L_P}/sbt" -Dsbt.log.noformat=true compile || die
+ einfo "=== sbt publishLocal with jdk ${vm_version} ..."
+ cat <<- EOF | "${WORKDIR}/${L_P}/sbt" -Dsbt.log.noformat=true || die
+ set every javaVersionPrefix in javaVersionCheck := Some("${vm_version}")
+ publishLocal
+ EOF
+ fi
+}
+
+src_test() {
+ "${S}/${P}" -Dsbt.log.noformat=true test || die
+}
+
+src_install() {
+ # Place sbt-launch.jar at the end of the CLASSPATH
+ java-pkg_dojar $(find "${WORKDIR}"/.ivy2/local -name \*.jar -print | grep -v sbt-launch.jar) \
+ $(find "${WORKDIR}"/.ivy2/local -name sbt-launch.jar -print)
+ local ja="-Dsbt.version=${PV} -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled"
+ java-pkg_dolauncher sbt --jar sbt-launch.jar --java_args "${ja}"
+}