diff options
Diffstat (limited to 'dev-lang/scala')
-rw-r--r-- | dev-lang/scala/Manifest | 8 | ||||
-rw-r--r-- | dev-lang/scala/files/scala-2.12.10-no-git.patch | 37 | ||||
-rw-r--r-- | dev-lang/scala/scala-2.12.10.ebuild | 198 | ||||
-rw-r--r-- | dev-lang/scala/scala-2.12.4.ebuild | 3 |
4 files changed, 243 insertions, 3 deletions
diff --git a/dev-lang/scala/Manifest b/dev-lang/scala/Manifest index 9e20ba1c0533..15ffa864ed73 100644 --- a/dev-lang/scala/Manifest +++ b/dev-lang/scala/Manifest @@ -1,4 +1,9 @@ +AUX scala-2.12.10-no-git.patch 1556 BLAKE2B c3c4e0dc416aceb7b0a90425d719e6de716364a7f2cfc91e863e37b902ece95f903098d98ea37c1b662423e84700561aa8510ed7e191973f86b5544f356ba89c SHA512 565cf1b242b374803211c5fea7e71e8ccb654462b043810b28f7b15ad3641a20bd57fb5005de09a6b9d63ca113e8f578992c650ea286879dd32888762bb4b9b0 AUX scala-2.12.4-no-git.patch 1453 BLAKE2B 6d77493326398d00c103e6342ff4765f9a2f3b270a819d651ca4435ed473416b3882f6a98707c181131ea539d7a034a862bd1768cff1eab44d12a23899f5ef67 SHA512 48e12f3a6cc6ee65f9ea7afbd403d67e7bc642e242677d38f4a87f74f90b3feb5efe8fd6798bc36d0f209b27f323e854173cfa104dd149e24dd1809f64f61475 +DIST scala-2.12.10-gentoo-binary.tar.xz 79479656 BLAKE2B 2d75552ba960a1f1cda5f678f1ba6ca01d5a41b813c098ceacdea93f8a3ea3f7c45d18a94f7be891f22d01fc9fc9a14b0c077723056e859ade327f973c545572 SHA512 f9eee5667bd31e1d90da2a95ffde9f894bef557dcebd6db9e882baed9b9ba6a9d290cdb34688307467578fdc8e20993911d64bd5d442e0a7198e4889edb80a2b +DIST scala-2.12.10-ivy2-deps.tar.xz 76800392 BLAKE2B 4290f8f3a2f0122620e5c459e23fece319168c1c7807c93ec731b99d89ec2ffb19591c3e01d2827e984f46214895dac7c68456f92241afb165a0cb6088ac33d6 SHA512 71870332e8488de99d0e8dc11c8afe009152b83feef1912c91c7ca6201de67c96b9760ee039ce0449d5893da0c2086e5c9f7819ad8008e899ab49508a1de1e99 +DIST scala-2.12.10-sbt-deps.tar.xz 34944260 BLAKE2B a42a320340f180c60ae2f5e908eb5fabd3cd4d4e9218c724ec74a79f288b4145445de7ccf91cc2dea3ab1bb128beffbbaeedfb1ed4e44f9c0ad66b16fba4741b SHA512 08bb9eea27ac3603bf4772d29235bf076bf7bb5433fc13d2faf85d7362b4a80176651457851c4eefb41a0169ce1204e634f44e22e5d6ac83777c11c90d9a8aae +DIST scala-2.12.10.tar.gz 6725873 BLAKE2B 5534baed3c51d8234b67cec79d8f6859bde403e79e557a0d50019d834c9f448398b507ad90aca522437f870a2f4cbdf56a2b7c5bee67a95c1e96b237bebcefc6 SHA512 30079ee83e89c189e84e94068f261aafe1fd7fe0cb4177e2802ac85372c4c2272c5af2b57424ab90e5236cbaca2f30936635f8f3bb4bfb2c748483e9c52ae96e DIST scala-2.12.4-annotations.jar 2242 BLAKE2B 0c731c25eaa407bdfb51d749f688062a33bd7f2815e8303ba5c56532027350f58d5ab364f2428547c2a99e2032ba0d0d20d4d50cc27dc5c42946e7842111547d SHA512 3ceee0b1361b9e0911c1ff060ad108a1d93f7ea3e82ef946401cd5f895cb06016ac0ecdfd095f99b11cfb28c4cef7705c1b564c7af644c5f19b45c14a413c4dd DIST scala-2.12.4-ant-contrib.jar 224277 BLAKE2B f43bfe3da05decbcf4ec9d2f48bface141907abfbe5b17532e970dbb660e0e1ffae9807c12da38cd6dc8e57c2605c6ec86ad11a99331e73edd3e4418656ab27e SHA512 5ec325a55bb213226c86faf8a99951839319e9579956ae58e2ccfe84f62d2742542998f98eed3f0dc8f8f94635d6dff1fe02e3c0f5289df1f09027ae2b9bee83 DIST scala-2.12.4-ant-dotnet-1.0.jar 57795 BLAKE2B 1f04f20739a231816a6d9c81ac0ba23f155ebdb467f466640b18ba2b4f125a6171bcf420c42f71fcfa2c13293a5241e200d0d908bd460ca3ae0342b13747aaad SHA512 72afc387cf9dbeb99e627ca7f35f919f627bbf3f072eb46036120695fb70311490593c255c2a2e79b684adb8f213d8ab591d4ceda5d5f2e6b6906a6977b38867 @@ -17,5 +22,6 @@ DIST scala-2.12.4-nest.jar 2920 BLAKE2B 3c48a2ea7501be03ede0fd9c1f907508491299cd DIST scala-2.12.4-sbt-deps.tar.xz 34841672 BLAKE2B 0f1577bba65eb5863013014b16627c28934f13e84a6ed0a52748e2007417ae074bcb4b68650993d870f4ada872248d489f84ea02ee19521dd9ce8faae963e221 SHA512 74455451e77f0d935c8027e67b898e5eec9e984158292a37a4362072f4922eb53dfe9ddd5d52da8066fb8949c6469bff70405df8581633a49a37c8b900c6885e DIST scala-2.12.4-vizant.jar 15910 BLAKE2B 393ddd38ff2528b9c54fbb2b79111858a2dfeab66e4b10daf4e23d113963edb3002db8c9415fe47557736a63ecef4b198bd90b87a54240a9a43823fdab0f3082 SHA512 4464d7349016f4999199e227e8eaf7bb3ef6b7e38ad0e8e710faad55df2e1243d99b53b9a789a1ffd3c39aef0d979dffc543f4691feae68cfa743e51bcf61390 DIST scala-2.12.4.tar.gz 5999529 BLAKE2B 5dfeadb9ac9562dd825f6a41f9cabdd353f669a58dc3aaec714d6155e9e598296c1e31dcc8956a24a97103e3449fb8f8c3a9ebe5e52dd405572d59ccae89c5e6 SHA512 cad6d54777a3ad4d26df5b4d5cecbbdb4a91ecb17cbf791fe259735221d33f9dd17a14e86f5e3520464078ad9ef68581e722e3c0d7494436bf356c79a9d31697 -EBUILD scala-2.12.4.ebuild 7275 BLAKE2B 0d0fd9b3598c5e02d6d23180ed2eb3f5297c1f11f6afed71d9248495cbc0fccbfbb16ed06865718e0897bd4003d3c77e741fbbd34a7d647584d43c2aed762eec SHA512 c7d313adc7580a6aed48b1b04ecdc15a1a0698c9568b4dca1039660921c6b47781d54b52cae588c63d1bf6a8598c884094276d61978c2aa77fc43d963d23a139 +EBUILD scala-2.12.10.ebuild 5524 BLAKE2B da37cb31d4815dfda02b33753b94a8c808e36a9408d370e1a6b9f81386c3996ec5927ddcb3cce349de843dc50ffd41267777988384f9d1d4ac0352746ee24c4d SHA512 a173d7f6b8960ecf47d0b559f16f64d749b50d25bba30d80e3a76534dc566811e1eb7b70780a7a92054911dd0a0abe39c94cc321c0d3ed08e89a485d8ba6a3d3 +EBUILD scala-2.12.4.ebuild 7268 BLAKE2B 45ba9473c293af55b4ac2ecc7d6742757fc433e7a95a8058345f1b27fb2f2a95fd905366572c2e5280f4baeb16df86783f44ee74d65e74896435346f66f446c9 SHA512 e7dde2e35cb5df8b015383cca8bdf1d0e094ab6b3c86a270c5ea3f759da54680a6bfb64f39b9ee64ed4dc1ac7bfe1d21172da8002408842401b760dc684eef0f MISC metadata.xml 478 BLAKE2B d23bdb99144c333f9ae563a08a78c2ccabdefc22e88207f89c0492c444b574677eeec648a38f105fa8e114a8a8a373dc9487cc36e1eb825cdf814bc1d76d402a SHA512 cca0d7d9cb94bfaad3f93382456248626e83ed8358798ff4b11c600cadee3b88b28b89e914fe5d42c16e170969ded1b35efd1af61953476347f620b9a973d718 diff --git a/dev-lang/scala/files/scala-2.12.10-no-git.patch b/dev-lang/scala/files/scala-2.12.10-no-git.patch new file mode 100644 index 000000000000..017cb983b59b --- /dev/null +++ b/dev-lang/scala/files/scala-2.12.10-no-git.patch @@ -0,0 +1,37 @@ +--- scala-2.12.10-orig/project/VersionUtil.scala 2019-09-05 01:01:59.000000000 +1000 ++++ scala-2.12.10/project/VersionUtil.scala 2019-09-12 11:00:05.525154568 +1000 +@@ -2,7 +2,7 @@ + + import sbt.{stringToProcess => _, _} + import Keys._ +-import java.util.{Date, Locale, Properties, TimeZone} ++import java.util.{Calendar, Date, Locale, Properties, TimeZone} + import java.io.{File, FileInputStream} + import java.text.SimpleDateFormat + +@@ -65,18 +65,13 @@ + val log = sLog.value + val (dateObj, sha) = { + try { +- // Use JGit to get the commit date and SHA +- import org.eclipse.jgit.storage.file.FileRepositoryBuilder +- import org.eclipse.jgit.revwalk.RevWalk +- val db = new FileRepositoryBuilder().findGitDir.build +- val head = db.resolve("HEAD") +- if (head eq null) { +- log.info("No git HEAD commit found -- Using current date and 'unknown' SHA") +- (new Date, "unknown") +- } else { +- val commit = new RevWalk(db).parseCommit(head) +- (new Date(commit.getCommitTime.toLong * 1000L), commit.getName.substring(0, 7)) +- } ++ val commit = "61701c22900f14676fa181500722b64330eb2605" ++ val cal = Calendar.getInstance(); ++ cal.set(Calendar.YEAR, 2019); ++ cal.set(Calendar.MONTH, Calendar.SEPTEMBER); ++ cal.set(Calendar.DAY_OF_MONTH, 5); ++ val date = cal.getTime(); ++ (date, commit.substring(0, 7)) + } catch { + case ex: Exception => + log.error("Could not determine commit date + SHA: " + ex) diff --git a/dev-lang/scala/scala-2.12.10.ebuild b/dev-lang/scala/scala-2.12.10.ebuild new file mode 100644 index 000000000000..43d41a07a6f6 --- /dev/null +++ b/dev-lang/scala/scala-2.12.10.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +JAVA_PKG_IUSE="doc source" + +inherit eutils check-reqs java-pkg-2 + +SV="$(ver_cut 1-2)" +SBTV="0.13.18" + +# Note: to bump scala, some things to try are: +# 1. remove the https://dev.gentoo.org/~gienah/snapshots/${P}-ivy2-deps.tar.gz +# and https://dev.gentoo.org/~gienah/snapshots/${P}-sbt-deps.tar.gz from +# SRC_URI +# 2. try emerge scala, with network-sandbox disabled: +# FEATURES="noclean -network-sandbox" emerge dev-lang/scala +# Check if it downloads more stuff in src_compile to +# ${WORKDIR}/.ivy2 or ${WORKDIR}/.sbt or /root/.ivy2 or /root/.sbt +# 3. tar up all the .ivy2 and .sbt junk into ${P}-ivy2-deps.tar.xz and +# ${P}-sbt-deps.tar.xz and add them to SRC_URI, in ${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 +# 4. Add these tar files to SRC_URI (undo step 1). +# 5. Try emerging it again, with network-sandbox, and create the bianry +# tar archive: +# FEATURES="noclean network-sandbox -test" USE="doc source" emerge dev-lang/scala +# cd $WORDKIR +# XZ_OPT=-9 tar --owner=portage --group=portage \ +# -cJf /usr/portage/distfiles/${P}-gentoo-binary.tar.xz .ivy2/local \ +# ${P}/build/pack/bin ${P}/build/quick/classes/scala-dist/man/man1 \ +# ${P}/src/library ${P}/src/library-aux ${P}/src/reflect ${P}/doc/README \ +# ${P}/build/scaladoc + +DESCRIPTION="The Scala Programming Language" +HOMEPAGE="http://www.scala-lang.org/" +SRC_URI=" + !binary? ( + https://github.com/scala/scala/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 + ) + binary? ( + https://dev.gentoo.org/~gienah/files/dist/${P}-gentoo-binary.tar.xz + )" +LICENSE="BSD" +SLOT="${SV}/${PV}" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x86-macos" + +IUSE="binary emacs" + +COMMON_DEP="dev-java/ant-core:0 + dev-java/jline:2" + +DEPEND="${COMMON_DEP} + !binary? ( + >=virtual/jdk-1.8:* + >=dev-java/sbt-${SBTV}:0 + media-gfx/graphviz + ) + binary? ( + >=virtual/jdk-1.8:* + ) + app-arch/xz-utils:0" + +RDEPEND="${COMMON_DEP} + >=virtual/jre-1.8:* + app-eselect/eselect-scala + !dev-lang/scala-bin:0" + +PDEPEND="emacs? ( app-emacs/scala-mode:0 )" + +CHECKREQS_MEMORY="1536M" + +pkg_setup() { + java-pkg-2_pkg_setup + + if ! use binary; then + debug-print "Checking for sufficient physical RAM" + + ewarn "This package can fail to build with memory allocation errors in some cases." + ewarn "If you are unable to build from sources, please try USE=binary" + ewarn "for this package. See bug #181390 for more information." + + check-reqs_pkg_setup + fi +} + +pkg_pretend() { + if ! use binary; then + check-reqs_pkg_pretend + fi +} + +src_unpack() { + # Unpack tar files only. + for f in ${A} ; do + [[ ${f} == *".tar."* ]] && unpack ${f} + done +} + +src_prepare() { + java-pkg_getjars ant-core,jline-2,sbt + + if ! use binary; then + local a + for a in "${JURI[@]}" + do + echo "${a}" + local g="${a/* -> /}" + echo "${g}" + local j="${a/ -> */}" + echo "${j}" + cp -p "${DISTDIR}/${g}" "${S}/${j#${BURI}/*/}" || die + done + + # gentoo patch (by gienah) to stop it calling git log in the build + eapply "${FILESDIR}/${PN}-2.12.10-no-git.patch" + + local SBT_PVR="$(java-config --query=PVR --package=sbt)" + sed -e "s@sbt.version=${SBTV}@sbt.version=${SBT_PVR}@" \ + -i "${S}/project/build.properties" \ + || die "Could not set sbt.version=${SBT_PVR} in project/build.properties" + + cat <<- EOF > "${S}/sbt" + #!/bin/bash + gjl_package=sbt + gjl_jar="sbt-launch.jar" + gjl_java_args="-Dsbt.version=${SBT_PVR} -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -Duser.home="${WORKDIR}"" + source /usr/share/java-config-2/launcher/launcher.bash + EOF + chmod u+x "${S}/sbt" || die + + sed -e 's@-Xmx1024M@-Xmx1536M@' \ + -i "${S}/build.sbt" \ + || die "Could not change increase memory size in ${S}/build.sbt" + fi + + default +} + +src_compile() { + if ! use binary; then + export PATH="${EROOT}/usr/share/scala-${SV}/bin:${WORKDIR}/${L_P}:${PATH}" + export LANG="en_US.UTF-8" + einfo "=== scala compile ..." + "${S}"/sbt -Dsbt.log.noformat=true compile || die "sbt compile failed" + einfo "=== sbt publishLocal with jdk $(java-pkg_get-vm-version) ..." + "${S}"/sbt -Dsbt.log.noformat=true publishLocal \ + || die "sbt publishLocal failed" + else + einfo "Skipping compilation, USE=binary is set." + fi +} + +src_test() { + if ! use binary; then + "${S}"/sbt -Dsbt.log.noformat=true test || die "sbt test failed" + else + einfo "Skipping tests, USE=binary is set." + fi +} + +src_install() { + pushd build/pack || die + local SCALADIR="/usr/share/${PN}-${SV}" + exeinto "${SCALADIR}/bin" + doexe $(find bin/ -type f ! -iname '*.bat') + dodir /usr/bin + for b in $(find bin/ -type f ! -iname '*.bat'); do + local _name=$(basename "${b}") + dosym "${SCALADIR}/bin/${_name}" "/usr/bin/${_name}-${SV}" + done + popd || die + java-pkg_dojar $(find "${WORKDIR}"/.ivy2/local -name \*.jar -print) + + pushd build/quick/classes/scala-dist/man/man1 || die + for i in *.1; do + newman "${i}" "${i/./-${SV}.}" + done + popd || die + + #sources are .scala so no use for java-pkg_dosrc + pushd src || die + if use source; then + dodir "${SCALADIR}/src" + insinto "${SCALADIR}/src" + doins -r library library-aux reflect + fi + popd || die + + local DOCS=( "doc/README" ) + local HTML_DOCS=( "build/scaladoc" ) + use doc && einstalldocs +} diff --git a/dev-lang/scala/scala-2.12.4.ebuild b/dev-lang/scala/scala-2.12.4.ebuild index b36402420d49..1adbeeb8b465 100644 --- a/dev-lang/scala/scala-2.12.4.ebuild +++ b/dev-lang/scala/scala-2.12.4.ebuild @@ -145,7 +145,7 @@ src_prepare() { #!/bin/bash gjl_package=sbt gjl_jar="sbt-launch.jar" - gjl_java_args="-Dsbt.version=0.13.13 -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -Duser.home="${WORKDIR}"" + gjl_java_args="-Dsbt.version=0.13.13 -Dfile.encoding=UTF8 -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -Duser.home="${WORKDIR}"" source /usr/share/java-config-2/launcher/launcher.bash EOF chmod u+x "${S}/sbt" || die @@ -161,7 +161,6 @@ src_prepare() { src_compile() { if ! use binary; then export PATH="${EROOT}usr/share/scala-${SV}/bin:${WORKDIR}/${L_P}:${PATH}" - export LANG="en_US.UTF-8" einfo "=== scala compile ..." "${S}"/sbt -Dsbt.log.noformat=true compile || die "sbt compile failed" einfo "=== sbt publishLocal with jdk $(java-pkg_get-vm-version) ..." |