Gentoo Archives: gentoo-commits

From: Samuel Bernardo <samuelbernardo.mail@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/user/ssnb:master commit in: dev-java/sbt/
Date: Fri, 06 Apr 2018 20:08:29
Message-Id: 1523045278.3e40be3a7ad9b4f11740324541b5417c61f10be1.samuelbernardo@gentoo
1 commit: 3e40be3a7ad9b4f11740324541b5417c61f10be1
2 Author: Samuel Bernardo <samuelbernardo.mail <AT> gmail <DOT> com>
3 AuthorDate: Fri Apr 6 20:07:58 2018 +0000
4 Commit: Samuel Bernardo <samuelbernardo.mail <AT> gmail <DOT> com>
5 CommitDate: Fri Apr 6 20:07:58 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/user/ssnb.git/commit/?id=3e40be3a
7
8 add sbt version 1.1.2 (only binary version working)
9
10 dev-java/sbt/Manifest | 3 +
11 dev-java/sbt/metadata.xml | 12 ++++
12 dev-java/sbt/sbt-1.1.2.ebuild | 130 ++++++++++++++++++++++++++++++++++++++++++
13 3 files changed, 145 insertions(+)
14
15 diff --git a/dev-java/sbt/Manifest b/dev-java/sbt/Manifest
16 new file mode 100644
17 index 0000000..2a6ef9f
18 --- /dev/null
19 +++ b/dev-java/sbt/Manifest
20 @@ -0,0 +1,3 @@
21 +DIST sbt-1.1.2.tar.gz 45772150 BLAKE2B 16092a782a314588bd6b4e3539c76b8aed2834aa7aa7d569d4d309d177f78c43f288044ed527f6dfd7c2d08507df1842322a113b8223831d809fecc8bc1dc61f SHA512 3cde86001881cc8979a33de8918ad6aadee324fc2ffdc7e2aac9f6b9f0a2764c675fb61354d997ea6bbd2148da30a85964238b7789d5d069506321edd61f3979
22 +EBUILD sbt-1.1.2.ebuild 3675 BLAKE2B 60279c89cb89a2b6056fad73b3a3f9a9d5fc7ed1ca42f3e08b5cb74df9c539b13d03fee86f3bbc4df41df6b52af60f8225757e34355469734264ca9c036b7e3a SHA512 dc031291a5b70a72823cfb7c25292942f25f74e1d72ef9db518e08bd7b3c4c54d5f27c7a182f43d334b2f441fbb6eac12c4077254aab151c29a111d69096b5c6
23 +MISC metadata.xml 537 BLAKE2B 001114436829e1704925eed25f1b8ae0c472087a47eb167b34112f1288e128244e2f4ffb535e0c0c9fabeca9c8920705976223aa58c2367b345ae03db12bf428 SHA512 0a507c70bcbd892026482a59a13e2ae8b3d336c3c04b51358b10bb67236dfaa2c37c9fd7ca89dec2c06d46bca1b868f5f7a40941ef58b20205e5981faaf5602b
24
25 diff --git a/dev-java/sbt/metadata.xml b/dev-java/sbt/metadata.xml
26 new file mode 100644
27 index 0000000..f6fc872
28 --- /dev/null
29 +++ b/dev-java/sbt/metadata.xml
30 @@ -0,0 +1,12 @@
31 +<?xml version="1.0" encoding="UTF-8"?>
32 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
33 +<pkgmetadata>
34 +<maintainer type="person">
35 + <email>samuelbernardo.mail@×××××.com</email>
36 +</maintainer>
37 +<longdescription lang="en">
38 +The interactive build tool.
39 +Use Scala to define your tasks. Then run them in parallel from the shell.
40 +</longdescription>
41 +<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>
42 +</pkgmetadata>
43
44 diff --git a/dev-java/sbt/sbt-1.1.2.ebuild b/dev-java/sbt/sbt-1.1.2.ebuild
45 new file mode 100644
46 index 0000000..fcdb2a6
47 --- /dev/null
48 +++ b/dev-java/sbt/sbt-1.1.2.ebuild
49 @@ -0,0 +1,130 @@
50 +# Copyright 1999-2016 Gentoo Foundation
51 +# Distributed under the terms of the GNU General Public License v2
52 +
53 +EAPI="6"
54 +
55 +# repoman gives LIVEVCS.unmasked even with EGIT_COMMIT, so create snapshot
56 +inherit eutils java-pkg-2 git-r3
57 +
58 +L_PN="sbt-launch"
59 +L_P="${L_PN}-${PV}"
60 +
61 +SV="2.12"
62 +
63 +DESCRIPTION="sbt is a build tool for Scala and Java projects that aims to do the basics well"
64 +HOMEPAGE="http://www.scala-sbt.org/"
65 +EGIT_COMMIT="v${PV}"
66 +EGIT_REPO_URI="https://github.com/sbt/sbt.git"
67 +SRC_URI="
68 + binary? (
69 + https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tgz -> ${P}.tar.gz
70 + )"
71 +LICENSE="BSD"
72 +SLOT="0"
73 +KEYWORDS="~amd64 ~x86"
74 +IUSE="+binary"
75 +
76 +DEPEND=">=virtual/jdk-1.8
77 + >=dev-lang/scala-2.12.2:${SV}"
78 +RDEPEND=">=virtual/jre-1.8
79 + >=dev-lang/scala-2.12.2:${SV}"
80 +
81 +# test hangs or fails
82 +RESTRICT="test"
83 +
84 +JAVA_GENTOO_CLASSPATH="scala-${SV}"
85 +
86 +
87 +src_unpack() {
88 + if use binary; then
89 + #for f in ${A} ; do
90 + # [[ ${f} == *".tar."* ]] && unpack ${f}
91 + #done
92 + default
93 + mv "${WORKDIR}/sbt" "${S}" || die
94 + else
95 + git-r3_src_unpack
96 + fi
97 +}
98 +
99 +src_prepare() {
100 + default
101 + if use binary; then
102 + default
103 + java-pkg_init_paths_
104 + else
105 + S="${WORKDIR}/${P}"
106 + mkdir "${WORKDIR}/${L_P}" || die
107 + cp -p "${DISTDIR}/${L_P}.jar" "${WORKDIR}/${L_P}/${L_PN}.jar" || die
108 + cat <<- EOF > "${WORKDIR}/${L_P}/sbt"
109 + #!/bin/sh
110 + SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled"
111 + java -Djavac.args="-encoding UTF-8" -Duser.home="${WORKDIR}" \${SBT_OPTS} -jar "${WORKDIR}/${L_P}/sbt-launch.jar" "\$@"
112 + EOF
113 + cat <<- EOF > "${S}/${P}"
114 + #!/bin/sh
115 + SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled"
116 + java -Djavac.args="-encoding UTF-8" -Duser.home="${WORKDIR}" \${SBT_OPTS} -jar "${S}/launch/target/sbt-launch.jar" "\$@"
117 + EOF
118 + chmod u+x "${WORKDIR}/${L_P}/sbt" "${S}/${P}" || die
119 + sed -e "s@scalaVersion := scala210,@scalaVersion := scala${SV/./},\n scalaHome := Some(file(\"${EROOT}usr/share/scala-${SV}\")),@" \
120 + -i "${S}/build.sbt" || die
121 +
122 + # suppress this warning in build.log:
123 + # [warn] Credentials file /var/tmp/portage/dev-java/${P}/work/.bintray/.credentials does not exist
124 + mkdir -p "${WORKDIR}/.bintray" || die
125 + cat <<- EOF > "${WORKDIR}/.bintray/.credentials"
126 + realm = Bintray API Realm
127 + host = api.bintray.com
128 + user =
129 + password =
130 + EOF
131 + fi
132 +}
133 +
134 +src_compile() {
135 + if use binary; then
136 + :;
137 + else
138 + export PATH="${EROOT}usr/share/scala-${SV}/bin:${WORKDIR}/${L_P}:${PATH}"
139 + einfo "=== sbt compile ..."
140 + "${WORKDIR}/${L_P}/sbt" -Dsbt.log.noformat=true compile || die
141 + einfo "=== sbt publishLocal with jdk $(java-pkg_get-vm-version) ..."
142 + cat <<- EOF | "${WORKDIR}/${L_P}/sbt" -Dsbt.log.noformat=true || die
143 + set every javaVersionPrefix in javaVersionCheck := Some("$(java-pkg_get-vm-version)")
144 + publishLocal
145 + EOF
146 + fi
147 +}
148 +
149 +src_test() {
150 + if ! use binary; then
151 + export PATH="${EROOT}usr/share/scala-${SV}/bin:${S}:${PATH}"
152 + "${S}/${P}" -Dsbt.log.noformat=true test || die
153 + fi
154 +}
155 +
156 +src_install() {
157 + if use binary; then
158 + local dest="${JAVA_PKG_SHAREPATH}"
159 +
160 + rm -v bin/sbt.bat || die
161 + sed -i -e 's#bin/sbt-launch.jar#lib/sbt-launch.jar#g;' \
162 + bin/sbt-launch-lib.bash || die
163 +
164 + insinto "${dest}/lib"
165 + doins bin/* || die
166 +
167 + insinto "${dest}"
168 + doins -r conf || die
169 +
170 + fperms 0755 "${dest}/lib/sbt" || die
171 + dosym "${dest}/lib/sbt" /usr/bin/sbt || die
172 + else
173 + # Place sbt-launch.jar at the end of the CLASSPATH
174 + java-pkg_dojar $(find "${WORKDIR}"/.ivy2/local -name \*.jar -print | grep -v sbt-launch.jar) \
175 + $(find "${WORKDIR}"/.ivy2/local -name sbt-launch.jar -print)
176 + local ja="-Dsbt.version=${PV} -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled"
177 + java-pkg_dolauncher sbt --jar sbt-launch.jar --java_args "${ja}"
178 + fi
179 +}