Gentoo Archives: gentoo-commits

From: Mark Wright <gienah@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/scala/, dev-lang/scala/files/
Date: Wed, 28 Dec 2016 22:01:46
Message-Id: 1482962470.bd4a02d88dfcc3cb83c7dd06911d758e4b034056.gienah@gentoo
1 commit: bd4a02d88dfcc3cb83c7dd06911d758e4b034056
2 Author: Mark Wright <gienah <AT> gentoo <DOT> org>
3 AuthorDate: Wed Dec 28 22:00:26 2016 +0000
4 Commit: Mark Wright <gienah <AT> gentoo <DOT> org>
5 CommitDate: Wed Dec 28 22:01:10 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd4a02d8
7
8 dev-lang/scala: Bump to 2.12.1
9
10 Package-Manager: portage-2.3.3
11
12 dev-lang/scala/Manifest | 18 ++
13 dev-lang/scala/files/scala-2.12.1-no-git.patch | 37 ++++
14 .../scala/files/scala-2.12.1-runner-script.patch | 22 +++
15 dev-lang/scala/scala-2.12.1.ebuild | 214 +++++++++++++++++++++
16 4 files changed, 291 insertions(+)
17
18 diff --git a/dev-lang/scala/Manifest b/dev-lang/scala/Manifest
19 index f6a30d0..09acba6 100644
20 --- a/dev-lang/scala/Manifest
21 +++ b/dev-lang/scala/Manifest
22 @@ -201,6 +201,24 @@ DIST scala-2.11.8-nest.jar 2920 SHA256 3c7cf1a1b9fe9ad2abf3bfcedaa17a976c72f4bcc
23 DIST scala-2.11.8-push.jar 8886289 SHA256 58eb2b8c501bbff0e78074a058e3fc160012a80952c1cc96ed301d8a08d7e98d SHA512 b5539d381c8978ac57fc4258696e4cb552f47917178152b38b5683e42ed60da4d9da198a0344652f201541a71f92afd2ac8b3c3d3ec5266a8c222e9661d8a06a WHIRLPOOL 8fa6522a0fd9939f4ffd443b55e7a5adbb93a9dc5cbad569ccecd6be77ecd259eadbdb16c2c7eab6d9f175fbf33746faf9c41cf4d1050e7f576b86119301e126
24 DIST scala-2.11.8-vizant.jar 15910 SHA256 a54e19093725d0d085544553246e48607c1e6ab65575ae0ff721b788118461d6 SHA512 4464d7349016f4999199e227e8eaf7bb3ef6b7e38ad0e8e710faad55df2e1243d99b53b9a789a1ffd3c39aef0d979dffc543f4691feae68cfa743e51bcf61390 WHIRLPOOL 1b957b8b850f79309c3577a2dcac52a620fa54f810f242a02c52bbcee1cc9c5818785baa7db8e2b82b850bcb56b528c4dd07cdfad2f991c0025293ca02c0dc99
25 DIST scala-2.11.8.tar.gz 6505558 SHA256 4f11273b4b3c771019253b2c09102245d063a7abeb65c7b1c4519bd57605edcf SHA512 f084eb88a78b2c74bad38086bcbcac7fdc98640059188c266f24f8f7b58e74a7b29e3b5fe52816bcad5a132d873863b0307679b5b9e67264ac2c7cb5b696a4e0 WHIRLPOOL 31f0f54a538f4723af43a8b013c38f3e244aa4d25a6435a9ec522550560caef94ccff4b8367f72b2835a9482b6322fe77895ccb56cf3b475ef824ce770d83779
26 +DIST scala-2.12.1-annotations.jar 2242 SHA256 f2d057a006bba4253d069795284a7610f1c837af6a80c0057736099962e24bcc SHA512 3ceee0b1361b9e0911c1ff060ad108a1d93f7ea3e82ef946401cd5f895cb06016ac0ecdfd095f99b11cfb28c4cef7705c1b564c7af644c5f19b45c14a413c4dd WHIRLPOOL 51fa0efc5dd14cf8364e9639375511fc3e716bd520a193e6c17a2fe3f02eebd1529eb98fd3b382a6386baa5b779ebd0327e8f141aee172d11d9548d9921c58e1
27 +DIST scala-2.12.1-ant-contrib.jar 224277 SHA256 be33a69818310b5c55e41dc11d48cd895f5f129da4b0d28c2f4c6c3e1cbcf3fc SHA512 5ec325a55bb213226c86faf8a99951839319e9579956ae58e2ccfe84f62d2742542998f98eed3f0dc8f8f94635d6dff1fe02e3c0f5289df1f09027ae2b9bee83 WHIRLPOOL aa713cc04b10c46adbbb8a5904e3fb34c6e32b67bb9a5f1a89768ceab8c31b977875c84434bc03c5b42105a4019f55cc10d806b0345c365a309e93d3f02e0a10
28 +DIST scala-2.12.1-ant-dotnet-1.0.jar 57795 SHA256 40c18fcfb8c28e4ee82e53f72a3257db43bcba01e16ebd5a4550fc419edf30c1 SHA512 72afc387cf9dbeb99e627ca7f35f919f627bbf3f072eb46036120695fb70311490593c255c2a2e79b684adb8f213d8ab591d4ceda5d5f2e6b6906a6977b38867 WHIRLPOOL 18aa33fe259bd52e2f37b903be39d462e8622ff744f990fc92871eaa4fe10ff69cd25b2c968cc353b3c5138cd3fffd755715aef6bb16c57b0b72e7e5fd1975e1
29 +DIST scala-2.12.1-ant.jar 1506140 SHA256 0251dbb938740ace07a53675113eee753ba389db65aebc814b175af50321620e SHA512 ddee72ca62adb20e700022609749a4d6cc848c94e597a7450226770c8b97aa2c1f7f23b7a1c6ac8acd63047101997ebd68c19b393ebffde9ff5c7bb1957cd18c WHIRLPOOL 1b2b7e0289cb16f5131a9c0b1b6eb1279011e7af79fc470dd6dc2047afc7fa99bdeec6d9db4f46adb83f6110593118d0909a4b1fa6b01dc56890bf6d2785373b
30 +DIST scala-2.12.1-code.jar 683 SHA256 4a03a08954e6b912a469b5e0db898247ea3ebc25b641f328e80f19163a0d908a SHA512 d963c186f3029858b1f6b53cf6e3470946365f13a6bcc334a7c959fd449dace10a953c496dbf3036828f2b5e5ad17d22f5e3912446bed14bd71b2f0de2f6c767 WHIRLPOOL 06e44b713306b3bdb7e878db1598546b45857091eb457c0fdba738d5f8c4de726920532e5cdf10260002c69299bd2756df52f407373053c5883e961899624d85
31 +DIST scala-2.12.1-enums.jar 1372 SHA256 95c53606c7113333ef95b4efbd3ae08af715ca49f71845a5d33150e6b7e9a072 SHA512 3d2356b9f610e98a03f64cbdd18ee36138b68ba5b170bb9b78bc7449439c3870f6f5bc795f3e1b8d325daf468ae85c581b60d1d360c1ae68c70792ad62b9c1dc WHIRLPOOL 30b26ba56a36272cf5973d3a89850cb3f5bff6c45a7a6bbd6ccf4ff342720bba89dfc0cdbe10058b770b7e73093ea948e574d5e081c36ab866f3bea9f0e14f95
32 +DIST scala-2.12.1-genericNest.jar 1136 SHA256 c2c23341eec9fb379b57d7bf1156fedb3e2b9f97d2d5729fbfc7d766fd390faa SHA512 32c3b3e14bc72db2572bf120c1fda49a369b27ff8ae6ae12f6d7b12fdffef4064b515671c8f1b6dbfd78209247f6a7b7b26e700dd70a105de3ca59f5185ff9d6 WHIRLPOOL 61b2d9f840fc0ed86a8207cf353a2f7b9bf8523d31b4e8f74eb21ecac1a405ed04c5a4a8e78a13d64b2dd186a7ec3885cd5e2514ad572e600e5744c3f15f74c5
33 +DIST scala-2.12.1-gentoo-binary.tar.xz 77449456 SHA256 8748c35b70551aef7f82331c669096f23cf9e597df7bbaa05bfe09b39c18eb50 SHA512 46744a330d5fe5fd359a6c7a87bd79e0141c6f84f9ce19163ac8658e8947ca682c6e253e8f561e9a4ac077e0d308bc0aa65586026bc5986b1682ae0151d91bc9 WHIRLPOOL 6bba602a5469f7b57f533485404ddb33e4830ac14526b9f0c811abe3f16516805f10886f091be47c4ce25ca440b826ceaf97d5501f2732ec151b85dad3d51c49
34 +DIST scala-2.12.1-instrumented.jar 31725 SHA256 8a424c8bd5805ec429a9477cbd0f44bf65a2b79b720d438bfd347dba8da06484 SHA512 b1d77c4380a2b8ffe715ec106e58081e5c89e314c5a13071d627c3f974144ad453e79d405cd722d75095b62e8682b7414d40b691506c7d2f5dde62e2fce51e39 WHIRLPOOL 5ef8ee89b3fa66bf5025fd1b5db65d4d628b3452ba8530e3c3b1dd530fb5286fe3acee2cf56de09148cf2d37968626708690cc03da202cf3d58159cfd56fe8bc
35 +DIST scala-2.12.1-ivy2-deps.tar.xz 62890720 SHA256 67acf8f5eaffd28c0cd8a4b20d6469a0e8b4815f2740c7e7e09b1dfe8d2de469 SHA512 f8d88e88e53d793e0b89a57ad19598ee02eb6322e2e1f9397a5d4b52ab2929c009d4aa84366a8a9dec864cb0c61f2316c16826190b06322539fa29ddef2b475d WHIRLPOOL 0a2cef083a99b6467f7fe6804eeda814f02ff92dc8cdca62d482ad73c89d454469a323ba8ff0b351a6273213f44582a7aefe44c2c0be523b445a16eccdb4c4ab
36 +DIST scala-2.12.1-jsoup-1.3.1.jar 133835 SHA256 5695a4351412dbb21cfc9f09a31d66df5da94bd9bf2777325ff22916bbb32cb0 SHA512 365e43b6d8ba14ae32607241481f7c0e6393268f5c3faef860be7674150edece2c30376108e54f307df6a266a91100a1c7dbc2f28b4207b5227bc1bec6e1106d WHIRLPOOL 5b8ecbd677722e59642b630257748260dad0ad2e04b78b4472022729554d3984805dc02214cc983cacb76b0a526b062937074d3122a804e97e3e772e8c2e003c
37 +DIST scala-2.12.1-macro210.jar 2065 SHA256 c0796c2defec3dcf2f786945fbdced0448a958bb68eaef71efcf5c14184f28ff SHA512 13c119afc4400f1531cad0cf38ab1652fce641090c11bff8f044a0d7f99df90412241ae78d5c623b7ecff1ce4720ae51fca4324f51bde0331e12f2e6e9898dd0 WHIRLPOOL 33b843583c02bd25db09df595026822f4e81d6a80c2cce3a7099dfb77dda80f595e5392e843c786a63b8d430d8acf53c20bc669ec1272b0f58c52cb0b67408b5
38 +DIST scala-2.12.1-maven-ant-tasks-2.1.1.jar 1314262 SHA256 b8891b4a90aca2793ad385ab57216f51c4879c6ab7e927354f407b46510cab51 SHA512 e3f0ff1d41ec31b2b64acb2ebcc175709714033589cb8e763f94aa80359c84f5d960c46dae713c9e37e1a09b977e7da617f8fe10a5b6fb30c55efd19bc307e68 WHIRLPOOL 73c44ea6aba4a3c697f64d08475b4c17bdc929ac9f320a25714fbe7cdc2939ad334deb7a90eb6c950cce8ba402d19bc2615a104788bafed7d247b997d3146743
39 +DIST scala-2.12.1-methvsfield.jar 609 SHA256 730b33d098319d969760f2250dc6924c9f85f94a8a2eb2b2a025dcf05378d9c6 SHA512 6db923ed7059bc91c8442d5804ccd8336e94f5202b3dcc348a4eb5026f09e1e86862f6e94818beae9ad42fcdc8e51df4d59a27109903a8ccb78054425ae47a71 WHIRLPOOL d5362d5fc2795ff0671f386429840bb4f84173f9308e34c2b0eb585fb7cacbd308ab87c42f2fd407597abc4f010e8ffde600dd30addcd63c2d71c2d5f22f1582
40 +DIST scala-2.12.1-nest.jar 2920 SHA256 3c7cf1a1b9fe9ad2abf3bfcedaa17a976c72f4bccb0e0c7dbcf7ecf27bc20aa5 SHA512 5eaaa870e06b5e00efb1f6ccced71343e8aa01578ea2b320b2d051f2df3713df9c500f074cc74a9e3c5cc509e03cf9c71265329bf2ddb3e82cb331524202fa38 WHIRLPOOL 1d73b612946a6a226841d3e0ad8cb3ebb06997c70e94feb1f9236e4e58a93c429cc7cdecaa4175fd5b78920253bcc157f798593b6a8eacb873b3d9a51284be34
41 +DIST scala-2.12.1-sbt-deps.tar.xz 34840036 SHA256 ad798fcacf2f0111e992c39c2758de2f60893d6d0f8d31cb5899e427694a7ccc SHA512 818168cccf57bcd3afb35583354eae736f551e11265427f3a62f84376659ea1b2bf892ad8c2be27b1a570b7b0f8f8f106b5d45c747fac6c776826bb2a1ac72b9 WHIRLPOOL 2ed5e83cb8fd35a33c270a01d70d567f1fdcccf9a542dc5c55d3d7fecdfd8fe4b6f387315a5c536b71b0f1e7849f0a1f4ac980963f86efca811a4161a9063ab5
42 +DIST scala-2.12.1-vizant.jar 15910 SHA256 a54e19093725d0d085544553246e48607c1e6ab65575ae0ff721b788118461d6 SHA512 4464d7349016f4999199e227e8eaf7bb3ef6b7e38ad0e8e710faad55df2e1243d99b53b9a789a1ffd3c39aef0d979dffc543f4691feae68cfa743e51bcf61390 WHIRLPOOL 1b957b8b850f79309c3577a2dcac52a620fa54f810f242a02c52bbcee1cc9c5818785baa7db8e2b82b850bcb56b528c4dd07cdfad2f991c0025293ca02c0dc99
43 +DIST scala-2.12.1.tar.gz 6280352 SHA256 edff94803a632139c132d23b103e0482317d3ecf1c745721501365b28eb02c90 SHA512 e62755c5d5aabbdf5ae5dc57d4b8b2152199b1066a003787e8e1e9da261d4b3ab4f53106dafaf68f62031df1dd41626db55b5de1cc3a504f6c44ab271c58aff0 WHIRLPOOL df53373b4125b2fb8d456e7a9a43a0ceed7c6bd177dcc58583d38fe6f26daccf4b083b461c42ab247b16082237e060f79831160c5f03220f5c1a921f460cf8b5
44 DIST scala-2.9.3-annotations.jar 2242 SHA256 f2d057a006bba4253d069795284a7610f1c837af6a80c0057736099962e24bcc SHA512 3ceee0b1361b9e0911c1ff060ad108a1d93f7ea3e82ef946401cd5f895cb06016ac0ecdfd095f99b11cfb28c4cef7705c1b564c7af644c5f19b45c14a413c4dd WHIRLPOOL 51fa0efc5dd14cf8364e9639375511fc3e716bd520a193e6c17a2fe3f02eebd1529eb98fd3b382a6386baa5b779ebd0327e8f141aee172d11d9548d9921c58e1
45 DIST scala-2.9.3-ant-contrib.jar 224277 SHA256 be33a69818310b5c55e41dc11d48cd895f5f129da4b0d28c2f4c6c3e1cbcf3fc SHA512 5ec325a55bb213226c86faf8a99951839319e9579956ae58e2ccfe84f62d2742542998f98eed3f0dc8f8f94635d6dff1fe02e3c0f5289df1f09027ae2b9bee83 WHIRLPOOL aa713cc04b10c46adbbb8a5904e3fb34c6e32b67bb9a5f1a89768ceab8c31b977875c84434bc03c5b42105a4019f55cc10d806b0345c365a309e93d3f02e0a10
46 DIST scala-2.9.3-ant-dotnet-1.0.jar 57795 SHA256 40c18fcfb8c28e4ee82e53f72a3257db43bcba01e16ebd5a4550fc419edf30c1 SHA512 72afc387cf9dbeb99e627ca7f35f919f627bbf3f072eb46036120695fb70311490593c255c2a2e79b684adb8f213d8ab591d4ceda5d5f2e6b6906a6977b38867 WHIRLPOOL 18aa33fe259bd52e2f37b903be39d462e8622ff744f990fc92871eaa4fe10ff69cd25b2c968cc353b3c5138cd3fffd755715aef6bb16c57b0b72e7e5fd1975e1
47
48 diff --git a/dev-lang/scala/files/scala-2.12.1-no-git.patch b/dev-lang/scala/files/scala-2.12.1-no-git.patch
49 new file mode 100644
50 index 00000000..f5439e3
51 --- /dev/null
52 +++ b/dev-lang/scala/files/scala-2.12.1-no-git.patch
53 @@ -0,0 +1,37 @@
54 +--- scala-2.12.1-orig/tools/get-scala-commit-date 2016-12-05 20:45:09.000000000 +1100
55 ++++ scala-2.12.1/tools/get-scala-commit-date 2016-12-27 16:41:41.695942033 +1100
56 +@@ -10,13 +10,8 @@
57 +
58 + [[ $# -eq 0 ]] || cd "$1"
59 +
60 +-if git rev-parse --is-inside-work-tree > /dev/null 2>&1; then
61 +- lastcommitdate=$(git log --format="%ci" HEAD | head -n 1 | cut -d ' ' -f 1)
62 +- lastcommithours=$(git log --format="%ci" HEAD | head -n 1 | cut -d ' ' -f 2)
63 +-else
64 +- lastcommitdate=$(date +%Y-%m-%d)
65 +- lastcommithours=$(date +%H:%M:%S)
66 +-fi
67 ++lastcommitdate="2016-12-05"
68 ++lastcommithours="00:00:00"
69 +
70 + # 20120324
71 + echo "${lastcommitdate//-/}-${lastcommithours//:/}"
72 +--- scala-2.12.1-orig/tools/get-scala-commit-sha 2016-12-05 20:45:09.000000000 +1100
73 ++++ scala-2.12.1/tools/get-scala-commit-sha 2016-12-27 16:44:07.393422207 +1100
74 +@@ -10,13 +10,7 @@
75 +
76 + [[ $# -eq 0 ]] || cd "$1"
77 +
78 +-if git rev-parse --is-inside-work-tree > /dev/null 2>&1; then
79 +- # printf %016s is not portable for 0-padding, has to be a digit.
80 +- # so we're stuck disassembling it.
81 +- hash=$(git log -1 --format="%H" HEAD)
82 +- hash=${hash#g}
83 +- hash=${hash:0:10}
84 +-else
85 +- hash="unknown"
86 +-fi
87 ++hash="2787b47396013a44072fa7321482103b66fbccd3"
88 ++hash=${hash#g}
89 ++hash=${hash:0:10}
90 + echo "$hash"
91
92 diff --git a/dev-lang/scala/files/scala-2.12.1-runner-script.patch b/dev-lang/scala/files/scala-2.12.1-runner-script.patch
93 new file mode 100644
94 index 00000000..9115a98
95 --- /dev/null
96 +++ b/dev-lang/scala/files/scala-2.12.1-runner-script.patch
97 @@ -0,0 +1,22 @@
98 +--- scala-2.12.1-orig/src/compiler/scala/tools/ant/templates/tool-unix.tmpl 2016-12-05 20:45:09.000000000 +1100
99 ++++ scala-2.12.1/src/compiler/scala/tools/ant/templates/tool-unix.tmpl 2016-12-28 11:46:29.120052198 +1100
100 +@@ -197,14 +197,11 @@
101 + # to java to suppress "." from materializing.
102 + if [[ "$usebootcp" == "true" ]]; then
103 + classpath_args=("-Xbootclasspath/a:$TOOL_CLASSPATH" -classpath "\"\"")
104 +- # Note that the version numbers go 1.7, 1.8, 9, 10, ...
105 +- java_release="$(cat $JAVA_HOME/release | grep JAVA_VERSION)"
106 +- if [[ ! "$java_release" =~ JAVA_VERSION=\"1\. ]]; then
107 +- # Java 9 removed sun.boot.class.path, and the supposed replacement to at least see
108 +- # the appended boot classpath (jdk.boot.class.path.append) is not visible.
109 +- # So we have to pass a custom system property that PathResolver will find.
110 +- classpath_args+=("-Dscala.boot.class.path=$TOOL_CLASSPATH")
111 +- fi
112 ++ # Java 9 removed sun.boot.class.path, and the supposed replacement to at least see
113 ++ # the appended boot classpath (jdk.boot.class.path.append) is not visible.
114 ++ # So we have to pass a custom system property that PathResolver will find.
115 ++ # We do this for all JVM versions, rather than getting into the business of JVM version detection.
116 ++ classpath_args+=("-Dscala.boot.class.path=$TOOL_CLASSPATH")
117 + else
118 + classpath_args=(-classpath "$TOOL_CLASSPATH")
119 + fi
120
121 diff --git a/dev-lang/scala/scala-2.12.1.ebuild b/dev-lang/scala/scala-2.12.1.ebuild
122 new file mode 100644
123 index 00000000..9277fdc
124 --- /dev/null
125 +++ b/dev-lang/scala/scala-2.12.1.ebuild
126 @@ -0,0 +1,214 @@
127 +# Copyright 1999-2016 Gentoo Foundation
128 +# Distributed under the terms of the GNU General Public License v2
129 +# $Id$
130 +
131 +EAPI="6"
132 +
133 +JAVA_PKG_IUSE="doc source"
134 +
135 +inherit eutils check-reqs java-pkg-2 versionator
136 +
137 +SV="$(get_version_component_range 1-2)"
138 +
139 +# Note: to bump scala, some things to try are:
140 +# 1. update all the sha1s in JURI
141 +# 2. remove the https://dev.gentoo.org/~gienah/snapshots/${P}-ivy2-deps.tar.gz
142 +# and https://dev.gentoo.org/~gienah/snapshots/${P}-sbt-deps.tar.gz from
143 +# SRC_URI
144 +# 3. try emerge scala. Check if it downloads more stuff in src_compile to
145 +# ${WORKDIR}/.ivy2 or ${WORKDIR}/.sbt or /root/.ivy2 or /root/.sbt
146 +# 4. tar up all the .ivy2 and .sbt junk into ${P}-ivy2-deps.tar.xz and
147 +# ${P}-sbt-deps.tar.xz and add them to SRC_URI:
148 +# XZ_OPT=-9 tar --owner=portage --group=portage \
149 +# -cJf /usr/portage/distfiles/${P}-ivy2-deps.tar.xz .ivy2/cache
150 +# XZ_OPT=-9 tar --owner=portage --group=portage \
151 +# -cJf /usr/portage/distfiles/${P}-sbt-deps.tar.xz .sbt
152 +
153 +# creating the binary:
154 +# FEATURES="noclean -test" USE="doc source" emerge dev-lang/scala
155 +# cd $WORDKIR
156 +# XZ_OPT=-9 tar --owner=portage --group=portage \
157 +# -cJf /usr/portage/distfiles/${P}-gentoo-binary.tar.xz .ivy2/local \
158 +# ${P}/build/pack/bin ${P}/build/quick/classes/scala-dist/man/man1 \
159 +# ${P}/src/library ${P}/src/library-aux ${P}/src/reflect ${P}/doc/README \
160 +# ${P}/build/scaladoc
161 +
162 +# In the pullJarFiles function in tools/binary-repo-lib.sh it executes find commands
163 +# to search for .desired.sha1 files, which contain sha1 hashes that are appended
164 +# to ${BURI} along with the subdirectory and filename to form the list of jar files
165 +# listed in SRC_URI. The output of this find command can be hacked into the desired format:
166 +# find . -name \*.desired.sha1 -exec sed -e 's@\([0-9a-f]*\).*@\1@' {} \; -print
167 +# After editing it into the desired format: sort -t / -k 3 file
168 +
169 +BURI="http://repo.typesafe.com/typesafe/scala-sha-bootstrap/org/scala-lang/bootstrap"
170 +
171 +declare -a JURI=(
172 + "${BURI}/943cd5c8802b2a3a64a010efb86ec19bac142e40/lib/ant/ant-contrib.jar -> ${P}-ant-contrib.jar"
173 + "${BURI}/3fc1e35ca8c991fc3488548f7a276bd9053c179d/lib/ant/ant-dotnet-1.0.jar -> ${P}-ant-dotnet-1.0.jar"
174 + "${BURI}/7b456ca6b93900f96e58cc8371f03d90a9c1c8d1/lib/ant/ant.jar -> ${P}-ant.jar"
175 + "${BURI}/7e50e3e227d834695f1e0bf018a7326e06ee4c86/lib/ant/maven-ant-tasks-2.1.1.jar -> ${P}-maven-ant-tasks-2.1.1.jar"
176 + "${BURI}/2c61d6e9a912b3253194d5d6d3e1db7e2545ac4b/lib/ant/vizant.jar -> ${P}-vizant.jar"
177 + "${BURI}/e737b123d31eede5594ceda07caafed1673ec472/test/files/codelib/code.jar -> ${P}-code.jar"
178 + "${BURI}/02fe2ed93766323a13f22c7a7e2ecdcd84259b6c/test/files/lib/annotations.jar -> ${P}-annotations.jar"
179 + "${BURI}/981392dbd1f727b152cd1c908c5fce60ad9d07f7/test/files/lib/enums.jar -> ${P}-enums.jar"
180 + "${BURI}/b1ec8a095cec4902b3609d74d274c04365c59c04/test/files/lib/genericNest.jar -> ${P}-genericNest.jar"
181 + "${BURI}/346d3dff4088839d6b4d163efa2892124039d216/test/files/lib/jsoup-1.3.1.jar -> ${P}-jsoup-1.3.1.jar"
182 + "${BURI}/3794ec22d9b27f2b179bd34e9b46db771b934ec3/test/files/lib/macro210.jar -> ${P}-macro210.jar"
183 + "${BURI}/be8454d5e7751b063ade201c225dcedefd252775/test/files/lib/methvsfield.jar -> ${P}-methvsfield.jar"
184 + "${BURI}/cd33e0a0ea249eb42363a2f8ba531186345ff68c/test/files/lib/nest.jar -> ${P}-nest.jar"
185 + "${BURI}/1b11ac773055c1e942c6b5eb4aabdf02292a7194/test/files/speclib/instrumented.jar -> ${P}-instrumented.jar"
186 +)
187 +
188 +DESCRIPTION="The Scala Programming Language"
189 +HOMEPAGE="http://www.scala-lang.org/"
190 +SRC_URI="
191 + !binary? (
192 + https://github.com/scala/scala/archive/v${PV}.tar.gz -> ${P}.tar.gz
193 + https://dev.gentoo.org/~gienah/snapshots/${P}-ivy2-deps.tar.xz
194 + https://dev.gentoo.org/~gienah/snapshots/${P}-sbt-deps.tar.xz
195 + ${JURI[@]} )
196 + binary? (
197 + https://dev.gentoo.org/~gienah/files/dist/${P}-gentoo-binary.tar.xz )"
198 +
199 +LICENSE="BSD"
200 +SLOT="${SV}/${PV}"
201 +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x86-macos"
202 +
203 +IUSE="binary emacs"
204 +
205 +COMMON_DEP="dev-java/ant-core:0
206 + dev-java/hawtjni-runtime:0"
207 +
208 +DEPEND="${COMMON_DEP}
209 + !binary? (
210 + =virtual/jdk-1.8*
211 + >=dev-java/sbt-0.13.13
212 + media-gfx/graphviz
213 + )
214 + binary? (
215 + >=virtual/jdk-1.8
216 + )
217 + app-arch/xz-utils:0"
218 +
219 +RDEPEND="${COMMON_DEP}
220 + >=virtual/jre-1.8
221 + app-eselect/eselect-scala
222 + !dev-lang/scala-bin:0"
223 +
224 +PDEPEND="emacs? ( app-emacs/scala-mode:0 )"
225 +
226 +CHECKREQS_MEMORY="1536M"
227 +
228 +pkg_setup() {
229 + java-pkg-2_pkg_setup
230 +
231 + if ! use binary; then
232 + debug-print "Checking for sufficient physical RAM"
233 +
234 + ewarn "This package can fail to build with memory allocation errors in some cases."
235 + ewarn "If you are unable to build from sources, please try USE=binary"
236 + ewarn "for this package. See bug #181390 for more information."
237 +
238 + check-reqs_pkg_setup
239 + fi
240 +}
241 +
242 +src_unpack() {
243 + # Unpack tar files only.
244 + for f in ${A} ; do
245 + [[ ${f} == *".tar."* ]] && unpack ${f}
246 + done
247 +}
248 +
249 +src_prepare() {
250 + java-pkg_getjars ant-core,hawtjni-runtime
251 +
252 + if ! use binary; then
253 + local a
254 + for a in "${JURI[@]}"
255 + do
256 + echo "${a}"
257 + local g="${a/* -> /}"
258 + echo "${g}"
259 + local j="${a/ -> */}"
260 + echo "${j}"
261 + cp -p "${DISTDIR}/${g}" "${S}/${j#${BURI}/*/}" || die
262 + done
263 + # gentoo patch (by gienah) to stop it calling git log in the build
264 + eapply "${FILESDIR}/${P}-no-git.patch"
265 +
266 + # https://issues.scala-lang.org/browse/SI-10098
267 + eapply "${FILESDIR}/${PN}-2.12.1-runner-script.patch"
268 +
269 + local SBT_PVR="$(java-config --query=PVR --package=sbt)"
270 + sed -e "s@×××.version=0.13.11@×××.version=${SBT_PVR}@" \
271 + -i "${S}/project/build.properties" \
272 + || die "Could not set sbt.version=${SBT_PVR} in project/build.properties"
273 +
274 + cat <<- EOF > "${S}/sbt"
275 + #!/bin/bash
276 + gjl_package=sbt
277 + gjl_jar="sbt-launch.jar"
278 + gjl_java_args="-Dsbt.version=0.13.13 -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -Duser.home="${WORKDIR}""
279 + source /usr/share/java-config-2/launcher/launcher.bash
280 + EOF
281 + chmod u+x "${S}/sbt" || die
282 +
283 + sed -e 's@-Xmx1024M@-Xmx1536M@' \
284 + -e 's@-XX:MaxPermSize=128M@-XX:MaxPermSize=256M@' \
285 + -i "${S}/test/partest" \
286 + || die "Could not change increase memory size in ${S}/test/partest"
287 + fi
288 +
289 + default
290 +}
291 +
292 +src_compile() {
293 + if ! use binary; then
294 + export PATH="${EROOT}usr/share/scala-${SV}/bin:${WORKDIR}/${L_P}:${PATH}"
295 + einfo "=== scala compile ..."
296 + "${S}"/sbt -Dsbt.log.noformat=true compile || die "sbt compile failed"
297 + einfo "=== sbt publishLocal with jdk $(java-pkg_get-vm-version) ..."
298 + "${S}"/sbt -Dsbt.log.noformat=true publishLocal \
299 + || die "sbt publishLocal failed"
300 + else
301 + einfo "Skipping compilation, USE=binary is set."
302 + fi
303 +}
304 +
305 +src_test() {
306 + "${S}"/sbt -Dsbt.log.noformat=true test || die "sbt test failed"
307 +}
308 +
309 +src_install() {
310 + pushd build/pack || die
311 + local SCALADIR="/usr/share/${PN}-${SV}"
312 + exeinto "${SCALADIR}/bin"
313 + doexe $(find bin/ -type f ! -iname '*.bat')
314 + dodir /usr/bin
315 + for b in $(find bin/ -type f ! -iname '*.bat'); do
316 + local _name=$(basename "${b}")
317 + dosym "${SCALADIR}/bin/${_name}" "/usr/bin/${_name}-${SV}"
318 + done
319 + popd || die
320 + java-pkg_dojar $(find "${WORKDIR}"/.ivy2/local -name \*.jar -print)
321 +
322 + pushd build/quick/classes/scala-dist/man/man1 || die
323 + for i in *.1; do
324 + newman "${i}" "${i/./-${SV}.}"
325 + done
326 + popd || die
327 +
328 + #sources are .scala so no use for java-pkg_dosrc
329 + pushd src || die
330 + if use source; then
331 + dodir "${SCALADIR}/src"
332 + insinto "${SCALADIR}/src"
333 + doins -r library library-aux reflect
334 + fi
335 + popd || die
336 +
337 + local DOCS=( "doc/README" )
338 + local HTML_DOCS=( "build/scaladoc" )
339 + einstalldocs
340 +}