summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin19015 -> 18998 bytes
-rw-r--r--dev-lang/erlang/Manifest2
-rw-r--r--dev-lang/erlang/erlang-19.3.ebuild2
-rw-r--r--dev-lang/go/Manifest2
-rw-r--r--dev-lang/go/go-1.9.4.ebuild227
-rw-r--r--dev-lang/moarvm/Manifest2
-rw-r--r--dev-lang/moarvm/moarvm-2018.01.ebuild58
-rw-r--r--dev-lang/nqp/Manifest2
-rw-r--r--dev-lang/nqp/nqp-2018.01.ebuild159
-rw-r--r--dev-lang/rakudo/Manifest2
-rw-r--r--dev-lang/rakudo/rakudo-2018.01.ebuild72
11 files changed, 526 insertions, 2 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 65e1c9fff124..48fbe93c117e 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 077949c64e78..3fe3782d4f4e 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -23,7 +23,7 @@ DIST otp_src_20.1.tar.gz 87342296 BLAKE2B 21f93369bc4fe082e3cdc6849463cb638ac8c5
DIST otp_src_20.2.tar.gz 87136848 BLAKE2B f83e652320b67b72cf42be3c23a9251806096fea4e255f73c8170bcb61ea1e008983f1da1c9dc7b46b76e1fd0d96f94097f5d629eb28c08eb424bb1e7a1cee28 SHA512 6c2cbef9fa67f4aa9d0c22bedf87f39b0067994614663afee88c57bb7789eec45cb1970dcbd930d163a27293b8d24b20a90cf6ed30ff1a14492a9ccdd5b59a65
EBUILD erlang-18.3.ebuild 4587 BLAKE2B 58e0ac86aa7bba8cddb0a12423e902de3c3756cfa1bb13348315ec2d022e55b6635f700dde91adfc35324a6ecfba4b680119dd6e4bd475b9089a6d4461be9672 SHA512 e66b473b6bb3b9274f6610ad30fd47b03337a805ec00afbdc5f0620fb74bc39e0a1650ea719d67ea07ffd6532beb94f6bff980570546e0f625158220876400dc
EBUILD erlang-19.1.ebuild 4482 BLAKE2B 36a4249649473f50cce66f542c98dbefee41a56d57bd6327f911e6137d5d9bd5fc0656e3f5770f804ae425d428739530be8395a078cc6d930e6c4df2e44edc90 SHA512 26067ee69b78c63a40800b87fcd41f74f1b5a04fdc9e1103b2953f1c721195ec6dfb992474d442193c0673c548ed76a3e88938cc3f93bdbee9e26403164e5e60
-EBUILD erlang-19.3.ebuild 4537 BLAKE2B 9770980bc233dd3ff2389aa18beba32540f5d245744d4c1835db026ff418a4e9957fc0b2b4fbac239792e5256a9f283c5738442a68be21545fa98718b62e7bbb SHA512 d37ffa83bbf65ff9a6b7a63157962e3f522df350172e7123c3d94c46d21b050c1de75f930c5389136eb8bef204d2649675dbbccbfe3c490d16da720b4484198e
+EBUILD erlang-19.3.ebuild 4536 BLAKE2B 7c5b8f36fc62ded99b29c13e58ba6f43f2ea70353a4ef0bc86ddc73157b54d2da4ce70f92ce05774ddde4a8c56d92043924733f5fa43039eec392f33429c1cdc SHA512 b15b80ee7667dd6ac818eb25e31aa561da15532297ec35c83bb24f8b88df1edd80b05125eef94dbf9b8b89ce728436924983e43361ff5f63c6ee03a8dbc28609
EBUILD erlang-20.0.ebuild 4538 BLAKE2B cd6f780cd2674c710e12d9ecc2c82881fe729ba54369401af69306a79eeebba4f7c06a6d78af3d44925f118a3f46a89bcecdfaa3dee92ec990791dcf565c5062 SHA512 fd62d9ec729574fa29267bb846ccaa46d1f4e08852b1111eefba5fc89d2d77c9fe7be00f75f7a1d2f74bbc353b436ab313211aaa7c6ce3e9099eaa4ee275f4aa
EBUILD erlang-20.1.ebuild 4538 BLAKE2B cd6f780cd2674c710e12d9ecc2c82881fe729ba54369401af69306a79eeebba4f7c06a6d78af3d44925f118a3f46a89bcecdfaa3dee92ec990791dcf565c5062 SHA512 fd62d9ec729574fa29267bb846ccaa46d1f4e08852b1111eefba5fc89d2d77c9fe7be00f75f7a1d2f74bbc353b436ab313211aaa7c6ce3e9099eaa4ee275f4aa
EBUILD erlang-20.2.ebuild 4586 BLAKE2B e3eed51b916285c87e212446047d07d47492410580464a2c800642be36426848f859573387204afd7ab67d72bbfaefec4189b973525f23829bed9f7a365d436b SHA512 80d5567d6233c7d9fcd53ca64814dd8cf188094decc6f8708563c22bef77b0b85bd23623df825f085f738547bf64b68fdde160b2ca9389b743a2c56259bf37b6
diff --git a/dev-lang/erlang/erlang-19.3.ebuild b/dev-lang/erlang/erlang-19.3.ebuild
index 47bbeaf58023..444f67675404 100644
--- a/dev-lang/erlang/erlang-19.3.ebuild
+++ b/dev-lang/erlang/erlang-19.3.ebuild
@@ -17,7 +17,7 @@ SRC_URI="http://www.erlang.org/download/otp_src_${PV}.tar.gz
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
IUSE="compat-ethread dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets"
REQUIRED_USE="dirty-schedulers? ( smp )" #621610
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index 15cc3294da84..716965abefc4 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -12,8 +12,10 @@ DIST go-solaris-amd64-bootstrap-1.8.tbz 54926326 BLAKE2B 0a45312f090d81ebf46fe59
DIST go1.9.1.src.tar.gz 16377700 BLAKE2B 63558227bdbff43da788c43e082e54dfa0210e53de650b3e2a4ab09c55a9937a0d1fee66be8263653c2d8be774611f2485c7e673b8a5fbc7f7c0adc5fd4fdc1f SHA512 3c5d11089a54c61acd1a4fad9618ddb2058cc783a54564407ee50e37c864deaadfd5effeab623080c136a599096f448aae091ef41d0afca1abfcdb98adf4a793
DIST go1.9.2.src.tar.gz 16383591 BLAKE2B 3ad9d0e7b6b817a4eab7ffcca30ba86a0e50e68ed028b11f54b8813f4b1a9a0598c79d501c733e7fbf77831c8f7df681692f9aa6b860b16a6288dcab59d40226 SHA512 1034098575c317eeaf648629690a4dea0c479a69c3b80d9917f6b96c8781ce79c0f29859f667dc4e07d47a44972aa09bd0163a458f897cf45f9d09eb03e4abb5
DIST go1.9.3.src.tar.gz 16385451 BLAKE2B 0d16eba4d411a5ddb1915a305725e9762874568abb048cc5c8939e82481d7d530902d532b62c8fe10fe7e31465617171d17cb5aaf3ee51aa29b9a66837bf6874 SHA512 31c564af58b78c648c9bece8fa2ed3334feb80316b07b16f6286319e26d317da90d1af0464c3a2f776a3da72d31b22b063dbc620b93114bf142a11e8a625e527
+DIST go1.9.4.src.tar.gz 16392325 BLAKE2B c5a503e8c539f31a1bbef9c6d89263b7214fb433476830c205153aa07ee0debc273eb004dddd662f81cc6cd2d4d949af654a4f4db1c890530feadc90ce05e630 SHA512 1a7c830e07507ff7b89025adfb5c713444d97301f8ad47ef2564722c1e28186e946350f07e22777fbdd6f2f589c334eb01dfd589e97cb8a86f73669547badb0b
EBUILD go-1.9.1.ebuild 5581 BLAKE2B ad0fc38ca45942e4047137143513d7ce9c8a473278dca5b941b377e0454407d2878e625854448d3898cf5f3f9c4fc37a5e43f84d3e1c8e79da055dfecc0651dc SHA512 f45cfc64b0671b7089cf6e802b4963598e3c47b338ebf8ee6f741ddc4979ba1fe3306d7ef02e7625af2b4b8c4108e8b6ec8f820a2ba75560d04a4c37960d4997
EBUILD go-1.9.2.ebuild 5581 BLAKE2B 9f6401701cb5a0d81919f3105b52606e93b6c5b7b2dce7d7e5831c5aa2b7eb33fb6ef719b7007bddd64f275d2b9dd71493551ed1f13910744e2286ea1e85832d SHA512 c52898e89d3bd46bb409aca12b6a839aaa4f884ab59b5f1a0bba4761804a89f2d3de7f65e3a9e6d97f2abf7b925540e3f54f12e86eb6952419cda0e045a13028
EBUILD go-1.9.3.ebuild 5584 BLAKE2B 235e48cd961466acd6fa167d10425588aba877b407f5b0abaeae2b69df440c528e7a6f217ea0d7d677d119be740523bf874aff9655e4f59704fade25d25fed84 SHA512 3794c681a1dccdcd4d644265b303a3f5b272d548694a3a07f1352133f1a7d918518a5c6165980e5a51828228a6740121a36cf1f5dcd399c974cb27b4b12728e4
+EBUILD go-1.9.4.ebuild 5582 BLAKE2B 6a7be60c188e532ab80cb1c27b99b936bef472aa6fda0ccf8fa83abbcbef9e4829e1401283f96fa22d21758884d1ef73203f186a1954c28ff3a8fc39dbbb6409 SHA512 5557757a7121bc35e09bdd2f6f6d68f9d8a7b38add4633c020c26930104fc34c33a6a090b1a2bb100202e63fd70500196b900e4e7e3ef44034e901ae57d83ea3
EBUILD go-9999.ebuild 5584 BLAKE2B 61972a420ecaceb45bd90c22c57e4b297766f018b9d6c9acd17add96e70c4c5a43d415e25f726151558d043ae6d1c4d6cee880cc2601ee289f9942e2dce431f9 SHA512 9b009525bda054f8451d1a202a7dfd7087de6e9d57633f7a8c9c74bdae6407e420237a0c80c58e5650c5beb9c01cef29052ec8e182129f23d2cbcbbdf2efbed7
MISC metadata.xml 538 BLAKE2B 78502c369a490804b2c69eef864276c2be5d0ee84ec189b6cc8584f8f42668a35f3c74bd25ceb53c469716337cbab908c576ca880c492f5961fedafc74cc346f SHA512 514a441a522218fdca543a22370e965a2bfc1f1f2c37e77431143329bb3d3f4f53e99ad5d7f7d7c61877f77387a777f7b4f339b9a3e45322d01d39d3d0ea1309
diff --git a/dev-lang/go/go-1.9.4.ebuild b/dev-lang/go/go-1.9.4.ebuild
new file mode 100644
index 000000000000..9b087eab782f
--- /dev/null
+++ b/dev-lang/go/go-1.9.4.ebuild
@@ -0,0 +1,227 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+
+MY_PV=${PV/_/}
+
+inherit toolchain-funcs
+
+BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
+BOOTSTRAP_VERSION="bootstrap-1.8"
+BOOTSTRAP_URI="
+amd64? ( ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz )
+arm? ( ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz )
+arm64? ( ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz )
+ppc64? (
+ ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz
+)
+s390? ( ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz )
+x86? ( ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz )
+amd64-fbsd? ( ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz )
+x86-fbsd? ( ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz )
+x64-macos? ( ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz )
+x64-solaris? ( ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz )
+"
+
+case ${PV} in
+*9999*)
+ EGIT_REPO_URI="https://github.com/golang/go.git"
+ inherit git-r3
+ ;;
+*)
+ SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
+ S="${WORKDIR}"/go
+ case ${PV} in
+ *_beta*|*_rc*) ;;
+ *)
+ KEYWORDS="-* amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~x86-fbsd ~x64-macos ~x64-solaris"
+ # The upstream tests fail under portage but pass if the build is
+ # run according to their documentation [1].
+ # I am restricting the tests on released versions until this is
+ # solved.
+ # [1] https://golang.org/issues/18442
+ RESTRICT="test"
+ ;;
+ esac
+esac
+SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )"
+
+DESCRIPTION="A concurrent garbage collected and typesafe programming language"
+HOMEPAGE="https://golang.org"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+IUSE="gccgo"
+
+DEPEND="gccgo? ( >=sys-devel/gcc-5[go] )"
+RDEPEND="!<dev-go/go-tools-0_pre20150902"
+
+# These test data objects have writable/executable stacks.
+QA_EXECSTACK="
+ usr/lib/go/src/debug/elf/testdata/*.obj
+ usr/lib/go/src/go/internal/gccgoimporter/testdata/unicode.gox
+ usr/lib/go/src/go/internal/gccgoimporter/testdata/time.gox
+ "
+
+# Do not complain about CFLAGS, etc, since Go doesn't use them.
+QA_FLAGS_IGNORED='.*'
+
+REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
+
+# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
+QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
+
+# Do not strip this package. Stripping is unsupported upstream and may
+# fail.
+RESTRICT+=" strip"
+
+DOCS=(
+AUTHORS
+CONTRIBUTING.md
+CONTRIBUTORS
+PATENTS
+README.md
+)
+
+go_arch()
+{
+ # By chance most portage arch names match Go
+ local portage_arch=$(tc-arch $@)
+ case "${portage_arch}" in
+ x86) echo 386;;
+ x64-*) echo amd64;;
+ ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
+ s390) echo s390x ;;
+ *) echo "${portage_arch}";;
+ esac
+}
+
+go_arm()
+{
+ case "${1:-${CHOST}}" in
+ armv5*) echo 5;;
+ armv6*) echo 6;;
+ armv7*) echo 7;;
+ *)
+ die "unknown GOARM for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_os()
+{
+ case "${1:-${CHOST}}" in
+ *-linux*) echo linux;;
+ *-darwin*) echo darwin;;
+ *-freebsd*) echo freebsd;;
+ *-netbsd*) echo netbsd;;
+ *-openbsd*) echo openbsd;;
+ *-solaris*) echo solaris;;
+ *-cygwin*|*-interix*|*-winnt*)
+ echo windows
+ ;;
+ *)
+ die "unknown GOOS for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_tuple()
+{
+ echo "$(go_os $@)_$(go_arch $@)"
+}
+
+go_cross_compile()
+{
+ [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
+}
+
+pkg_pretend()
+{
+ # make.bash does not understand cross-compiling a cross-compiler
+ if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
+ die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
+ fi
+}
+
+src_unpack()
+{
+ if [[ ${PV} = 9999 ]]; then
+ git-r3_src_unpack
+ fi
+ default
+}
+
+src_compile()
+{
+ export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os)-$(go_arch)-bootstrap
+ if use gccgo; then
+ mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die
+ local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version)
+ [[ -x ${go_binary} ]] || go_binary=$(
+ find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) |
+ sort -V | tail -n1)
+ [[ -x ${go_binary} ]] ||
+ die "go-$(gcc-major-version): command not found"
+ ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die
+ fi
+ export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
+ export GOROOT="$(pwd)"
+ export GOBIN="${GOROOT}/bin"
+
+ # Go's build script does not use BUILD/HOST/TARGET consistently. :(
+ export GOHOSTARCH=$(go_arch ${CBUILD})
+ export GOHOSTOS=$(go_os ${CBUILD})
+ export CC=$(tc-getBUILD_CC)
+
+ export GOARCH=$(go_arch)
+ export GOOS=$(go_os)
+ export CC_FOR_TARGET=$(tc-getCC)
+ export CXX_FOR_TARGET=$(tc-getCXX)
+ if [[ ${ARCH} == arm ]]; then
+ export GOARM=$(go_arm)
+ fi
+ einfo "GOROOT_BOOTSTRAP is ${GOROOT_BOOTSTRAP}"
+
+ cd src
+ ./make.bash || die "build failed"
+}
+
+src_test()
+{
+ go_cross_compile && return 0
+
+ cd src
+ PATH="${GOBIN}:${PATH}" \
+ ./run.bash -no-rebuild || die "tests failed"
+}
+
+src_install()
+{
+ local bin_path f x
+
+ dodir /usr/lib/go
+
+ # There is a known issue which requires the source tree to be installed [1].
+ # Once this is fixed, we can consider using the doc use flag to control
+ # installing the doc and src directories.
+ # [1] https://golang.org/issue/2775
+ #
+ # deliberately use cp to retain permissions
+ cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
+ if go_cross_compile; then
+ bin_path="bin/$(go_tuple)"
+ else
+ bin_path=bin
+ fi
+ for x in ${bin_path}/*; do
+ f=${x##*/}
+ dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
+ done
+ einstalldocs
+}
diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest
index cec284b25af4..cbc3112edf5f 100644
--- a/dev-lang/moarvm/Manifest
+++ b/dev-lang/moarvm/Manifest
@@ -4,11 +4,13 @@ DIST MoarVM-2017.09.1.tar.gz 4579930 BLAKE2B 5c09f468338b23208ae8d5a331b2b4dbaee
DIST MoarVM-2017.10.tar.gz 4789334 BLAKE2B 842ee5040d64b8398a24436c34f673b7b43cfa7cdfb809d05705742e7c20ea9fa7426c0183ceaf0c3e6f8a06d5262bc632160d7bfbd9143492f1ea46e1cb6381 SHA512 f79e60b22615cbbb5b16d4b810c864f7cbc2c36e73769b132b84edb03e0d975da6f7db153492a3101c86946d728a21af6225d61e752e36557c2c6f1bcd91859c
DIST MoarVM-2017.11.tar.gz 4797567 BLAKE2B a8178c4b639b8e6876fe2d904ebb8a3cd34f5f04d5f6092ce8fa65383c88f4af7ae72ded46981b556573439cdc32131fe569e9bd3c163f316574c1ac037dc583 SHA512 93666c66835701b4a7bb25478c1e5a8019362ad0de387f58eb921fa35230566149906386ae1f8280a163d94a86544d4441029812ad177b62a21d64b2638e01d3
DIST MoarVM-2017.12.1.tar.gz 4761355 BLAKE2B 91426378e5a651c56bd6871a044733e3efb587a3c743385d07f3ff5f4de4682780b69dca130d149deef3192ea16d69a4665f57e5620bbee237fb70a6d3e9433e SHA512 aaa57fdf5b65bf0148e4409d044ff28b0755bba7a663046f99f4be55f5a0f466e76a883445da39e2c79cc7f76b27455fe775686a19204866bc8c1569008e2c37
+DIST MoarVM-2018.01.tar.gz 4762110 BLAKE2B 643fc082ec1ba9b79bb5d0c13e66703850b75673a73e659fc8b2400cbb0d986b1882b7d23721a77773891649d709328ace1023d50d4ffacae5d75091a8976912 SHA512 2e558c92562096596992e6e0070092481e5a5d25ac3047110d023536deebc9a4db21d9844ecf3b7c0ae5cc6fa529cc48d9a8e98cdc2f5e23a8effc37b7509ef9
EBUILD moarvm-2017.07.ebuild 1475 BLAKE2B b9ca271b78afab4ebc5e5f05ed13e3361cf96267191dbd8e80ba4c6923d945a1f136376439b890d60ee8345caa782c0baed9fee94a80e15302c258702c2eba63 SHA512 76b99f341f78085656bc196d97ca66ff170b590f6e7e06fab95ef02244d393b6083a217463bffdf389682b823ca7af684b9bba2fcabfd1632901639beab8763f
EBUILD moarvm-2017.08.1.ebuild 1426 BLAKE2B 314a707b0a9e3a6498a9ceb2311c5a87134b3edfc4ace686279d57bdf9dbeb151b4bfe2dd7a9971409c21ba43cab4ca1175c6ebe207e1cad966cee1792354fa2 SHA512 cf0f2f323900463ad479168d743d0a3a2a71615fad66cee346fb8d2db5246cdcb0db1397cbdf5abfdec6677bdc032b0842c2dec9f144cf36e8619b0232644fd9
EBUILD moarvm-2017.09.1.ebuild 1364 BLAKE2B d74a03ae2d73153d175a24c4c356e7ae51ff63c83eea59cb1e71f3c089d1b4c1185f8abc7d474e449dd28aeeedcb8e9cbf382ef7989b3c2eabcc84b10ed280de SHA512 87012068940d3d746c3dfbe42bcda9c32d61ead0016bd0edcbe14aa1ae58e5f7365ec5a5690e4f2a5863635e3566eed986b2aa751ac6c8e3434b629df92cd044
EBUILD moarvm-2017.10.ebuild 1364 BLAKE2B d74a03ae2d73153d175a24c4c356e7ae51ff63c83eea59cb1e71f3c089d1b4c1185f8abc7d474e449dd28aeeedcb8e9cbf382ef7989b3c2eabcc84b10ed280de SHA512 87012068940d3d746c3dfbe42bcda9c32d61ead0016bd0edcbe14aa1ae58e5f7365ec5a5690e4f2a5863635e3566eed986b2aa751ac6c8e3434b629df92cd044
EBUILD moarvm-2017.11.ebuild 1364 BLAKE2B d74a03ae2d73153d175a24c4c356e7ae51ff63c83eea59cb1e71f3c089d1b4c1185f8abc7d474e449dd28aeeedcb8e9cbf382ef7989b3c2eabcc84b10ed280de SHA512 87012068940d3d746c3dfbe42bcda9c32d61ead0016bd0edcbe14aa1ae58e5f7365ec5a5690e4f2a5863635e3566eed986b2aa751ac6c8e3434b629df92cd044
EBUILD moarvm-2017.12.1.ebuild 1364 BLAKE2B 1b219150b6093edc5452ff2f7294af49fb4378c305115c882444768c3cdbfb82de7b2a2151fc88f41641ee0094ea5158d78776b271d51b40a37978b1ee2c11db SHA512 f8ef6139b8940e3d10b378df80331088866723343f094b7b9772fb45ab203d2dc4499974c614269790831057c953a9d1804dcb9c160d740c68d6a14f316f7795
+EBUILD moarvm-2018.01.ebuild 1364 BLAKE2B 1b219150b6093edc5452ff2f7294af49fb4378c305115c882444768c3cdbfb82de7b2a2151fc88f41641ee0094ea5158d78776b271d51b40a37978b1ee2c11db SHA512 f8ef6139b8940e3d10b378df80331088866723343f094b7b9772fb45ab203d2dc4499974c614269790831057c953a9d1804dcb9c160d740c68d6a14f316f7795
EBUILD moarvm-9999.ebuild 1475 BLAKE2B b9ca271b78afab4ebc5e5f05ed13e3361cf96267191dbd8e80ba4c6923d945a1f136376439b890d60ee8345caa782c0baed9fee94a80e15302c258702c2eba63 SHA512 76b99f341f78085656bc196d97ca66ff170b590f6e7e06fab95ef02244d393b6083a217463bffdf389682b823ca7af684b9bba2fcabfd1632901639beab8763f
MISC metadata.xml 1033 BLAKE2B ab51966874191d7f6d2638766477e3688d68cd91c40231d22232801186d142b693d3668fe4a08baa41d7f7ea6783cc7a47fd1ead7610249f80d8054740fa0fd8 SHA512 a0b21dacbdbf3d269e575ca18127e9d512bf2f23f71dcc8ba8b1e4f54c1274a5e37c1e3c609e78e11fdab7100523cc11420e20d088f531794c7f3f96a42432ac
diff --git a/dev-lang/moarvm/moarvm-2018.01.ebuild b/dev-lang/moarvm/moarvm-2018.01.ebuild
new file mode 100644
index 000000000000..405febb3308d
--- /dev/null
+++ b/dev-lang/moarvm/moarvm-2018.01.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic
+
+MY_PN="MoarVM"
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+ S="${WORKDIR}/${P}"
+else
+ SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+fi
+
+DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
+HOMEPAGE="http://moarvm.org"
+LICENSE="Artistic-2"
+SLOT="0"
+IUSE="asan clang debug doc +jit static-libs optimize ubsan"
+
+RDEPEND="dev-libs/libatomic_ops
+ dev-libs/libuv
+ dev-lang/lua:0[deprecated]
+ dev-lua/LuaBitOp
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ clang? ( >=sys-devel/clang-3.1 )
+ dev-lang/perl"
+
+DOCS=( CREDITS README.markdown )
+
+# Tests are conducted via nqp
+RESTRICT=test
+
+src_configure() {
+ use doc && DOCS+=( docs/* )
+ local myconfigargs=(
+ "--prefix=/usr"
+ "--has-libuv"
+ "--has-libatomic_ops"
+ "--has-libffi"
+ "--libdir=$(get_libdir)"
+ "--compiler=$(usex clang clang gcc)"
+ "$(usex asan --asan)"
+ "$(usex debug --debug --no-debug)"
+ "$(usex optimize --optimize= --no-optimize)"
+ "$(usex static-libs --static)"
+ "$(usex ubsan --ubsan)"
+ )
+ use optimize && filter-flags '-O*'
+
+ perl Configure.pl "${myconfigargs[@]}" || die
+}
diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest
index 5ad3deb55edd..4f7e3dd3a000 100644
--- a/dev-lang/nqp/Manifest
+++ b/dev-lang/nqp/Manifest
@@ -4,11 +4,13 @@ DIST nqp-2017.09.tar.gz 3724208 BLAKE2B bcb1c8eb18d09945949100e077e753e3a4dc48e4
DIST nqp-2017.10.tar.gz 3768260 BLAKE2B 3058235d81948383429f7fa8ec5a1ceca098192051be176b82a17213da9eba0ee17995524ec267c945baee4f69b3afe7f0ca3ac74af6eec8b1fbb5872d467530 SHA512 fd43e1f7d768de58aae98afc031ad5fa5d28e767bac4f4acf913b356c107035c98c6551ad34f17f7a7a76269f96905882e348e5f821d7edf2cf7ffbee50798bc
DIST nqp-2017.11.tar.gz 3771211 BLAKE2B 816c521b0722479d385fc00511fc1f6b5472c03ad21a58f4dca9b61f5675b240d9aad2f1bb0e50de9c76d9da396f21d92adcdbad113aba5c112b26d427d2053a SHA512 913b287e7a6a36ee618c10958fa5d521c8e35202784bfde4353ae0704e5af5915249cfcb36fe3de96fafe890eaa571545d6142ce99f07eadb1fd34929ee95524
DIST nqp-2017.12.tar.gz 3795477 BLAKE2B cf50ec801ac2d7e30588a2c7d1109d5d360deab4e51fe329c78a681cc5cfb418532faed82aa4eeb8eeded409913baacb9204273b305831f7d50fb587c08fb5cc SHA512 0255747ab1719c5a1b084cdb47d2c3fc08bc6ac2f081e67297c7b72e723ce7c3ecf3c51d096cb9e0d370e8907ea8b233c03a3d484dd16d1feef5db3cb1138137
+DIST nqp-2018.01.tar.gz 3798898 BLAKE2B 5dc492bc5561a674d3faabb63c881ad97bff3528bc3f8bd75caa7f2e78aa4464849f326c611936106c6f14ca56f4de5f4575407ab134d4218409829c22885b3a SHA512 0bfec280ed2c70bbf25b274632e830838526fef1e8f8c08387b1e79e1ef739dfaafe67dbab17eb24cf33c1b2aa984029dc0740fcc43e463e92f908dfb2360249
EBUILD nqp-2017.07.ebuild 3607 BLAKE2B 500ec67ee59bf28c46e41c1220afc99a7ecf15ac638abec21d79b6837556fa2f145b975e425b322af0561853c65c319054f202c9aae856fdebed0d48f567d8b2 SHA512 a2e2a0e191fed3ebd86c256e70c67cdb6cf037120e7b2395beaba0db55dac14f7bf830002abf32cdc71403f243f71deb345d2b921ce61302a5151e89477afcfe
EBUILD nqp-2017.08.ebuild 3611 BLAKE2B 8ad194ebd4d744affa19df84d800637d5a486cd8b9f87be496d1328d80a62ccf82f78a5567775e3e6a7eeeef9f8abbc16f5143c5ae49eff12988b3a40d727568 SHA512 42f9651aa22042a571e77c13c9e5b46402cc4ff7cc71579daca171cecee7c7250eab476825693a5921e1edd66f44987b9bc096e046e570037ab2144fceab01b3
EBUILD nqp-2017.09.ebuild 3611 BLAKE2B acd8500829423373c89bfafa1389f5559494d2fa6abfdffd0881924cbda52364c4dbbdf742a1b591512fa689e799e2b360d1e1725562020f1e4e2026b376a750 SHA512 8271504114f3dca61e290006077957063d624b8a967c0c67a8b32fb28e217e5ccc895f1d63d4a95fc10e491962b86fd70ba7a420643a988788da2f30bb032edc
EBUILD nqp-2017.10.ebuild 3607 BLAKE2B 500ec67ee59bf28c46e41c1220afc99a7ecf15ac638abec21d79b6837556fa2f145b975e425b322af0561853c65c319054f202c9aae856fdebed0d48f567d8b2 SHA512 a2e2a0e191fed3ebd86c256e70c67cdb6cf037120e7b2395beaba0db55dac14f7bf830002abf32cdc71403f243f71deb345d2b921ce61302a5151e89477afcfe
EBUILD nqp-2017.11.ebuild 3607 BLAKE2B 500ec67ee59bf28c46e41c1220afc99a7ecf15ac638abec21d79b6837556fa2f145b975e425b322af0561853c65c319054f202c9aae856fdebed0d48f567d8b2 SHA512 a2e2a0e191fed3ebd86c256e70c67cdb6cf037120e7b2395beaba0db55dac14f7bf830002abf32cdc71403f243f71deb345d2b921ce61302a5151e89477afcfe
EBUILD nqp-2017.12.ebuild 3609 BLAKE2B 795b4e2004593fff7df1cd1348862e4bed63110c84ffc95d055d0940b60330ba6f421a46681c885e5d4802e512f55c9a555d46ef73ad6448fe327514857fbc77 SHA512 6246e11f2c71d5f438313f3594f8659ea6d88631ee6e3d03079a5b985be3630465dcd46aabec11c7a49f22a77f1148dde4cf59352c6703f7036942bb55877e69
+EBUILD nqp-2018.01.ebuild 3607 BLAKE2B 8e4d2a9791c1b23d5adc335f4899032624854d95f80e6bd27a708d878e838949c7575fe4dce83a94918643af189dd6bcaa0667e9ab4a45b95543e70f18cf7af7 SHA512 c40b50d7beef6e1f1e94d4bda6d84c201a783ed13c35c34f98cc6069c227b93c56274b55c009591ba835ee8b87abd1480c373b0077956fff69a1cf3b2606df4d
EBUILD nqp-9999.ebuild 3607 BLAKE2B f4c87264d989c591b3ae834e455b7bb84d14bffdf667a553ae5709d4a2340eb9450331f6077956460c94095f211dd7af33431e6c6fc8bec7f19bec7555c86e4e SHA512 c0be49582eb04c3a80b4a9191ee121018adb177fbd379083231c9157eb8fb051d447f0e1c5a05214f40d52c30fabedb7d2a72dfca7625239822f1a6119dba68e
MISC metadata.xml 747 BLAKE2B b635e6983ae4f77695acc0c8770d252d5d60dbb2aa8650002e68e768051f67251177ad760573c4c842b6ab297ee1ac68d1c01151dc599873e6a3a751b8d25a03 SHA512 b86ede9a0dc7587f24308ceb470666aeabf7cd96f2da4afe05195a2b74c1836826ddf269a6ed00f0bfb190c9b241a4d500940afa9060913b8f724989b20a68e2
diff --git a/dev-lang/nqp/nqp-2018.01.ebuild b/dev-lang/nqp/nqp-2018.01.ebuild
new file mode 100644
index 000000000000..558b645a275b
--- /dev/null
+++ b/dev-lang/nqp/nqp-2018.01.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit java-pkg-opt-2 multibuild
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/perl6/${PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz"
+ inherit vcs-snapshot
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
+HOMEPAGE="http://rakudo.org/"
+
+LICENSE="Artistic-2"
+SLOT="0"
+IUSE="doc clang java +moar test"
+REQUIRED_USE="|| ( java moar )"
+
+CDEPEND="java? (
+ dev-java/asm:4
+ dev-java/jline:0
+ dev-java/jna:4
+ )
+ moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.7 )"
+DEPEND="${CDEPEND}
+ clang? ( sys-devel/clang )
+ java? ( >=virtual/jdk-1.7 )
+ dev-lang/perl"
+
+pkg_pretend() {
+ if has_version dev-lang/rakudo || has_version dev-lang/nqp; then
+ ewarn "NQP is known to fail compilation/installation with Rakudo and/or NQP"
+ ewarn "already being installed. So if it fails, try uninstalling both"
+ ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation."
+ ewarn "(see Bug #584394)"
+ fi
+}
+
+java_prepare() {
+ # Don't clean stage0 jars.
+ einfo "Cleaning upstream jars"
+ java-pkg_clean 3rdparty/
+
+ # Don't use jars we just deleted.
+ sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \
+ src/vm/jvm/runners/nqp-j || die
+}
+
+src_prepare() {
+ MULTIBUILD_VARIANTS=()
+ use moar && MULTIBUILD_VARIANTS+=( moar )
+ use java && MULTIBUILD_VARIANTS+=( jvm )
+
+ multibuild_copy_sources
+
+ # This will pull in conditional java_prepare
+ default
+}
+
+nqp_configure() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+ local myconfargs=(
+ "--backend=${MULTIBUILD_VARIANT}"
+ "--prefix=/usr" )
+
+ perl Configure.pl "${myconfargs[@]}" || die
+ popd || die
+}
+
+nqp_compile() {
+ if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
+ emake -j1 \
+ -C "${BUILD_DIR}" \
+ THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \
+ JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
+ elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
+ emake -j1 \
+ -C "${BUILD_DIR}"
+ fi
+}
+
+nqp_test() {
+ emake -j1 \
+ -C "${BUILD_DIR}" \
+ test
+}
+
+nqp_install() {
+ # This is the actual reason we need multibuild.eclass.
+ # We need to distinguish the install procedure for MoarVM and JVM backends.
+ case "${MULTIBUILD_VARIANT}" in
+ moar)
+ emake \
+ DESTDIR="${ED}" \
+ -C "${BUILD_DIR}" \
+ install
+ ;;
+ jvm)
+ pushd "${BUILD_DIR}" > /dev/null || die
+ # Set JAVA_PKG_JARDEST early.
+ java-pkg_init_paths_
+
+ # Upstream sets the classpath to this location. Perhaps it's
+ # used to locate the additional libraries?
+ java-pkg_addcp "${JAVA_PKG_JARDEST}"
+
+ insinto "${JAVA_PKG_JARDEST}"
+ local jar
+
+ for jar in *.jar; do
+ if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
+ # jars for NQP itself.
+ java-pkg_dojar ${jar}
+ else
+ # jars used by NQP.
+ doins ${jar}
+ fi
+ done
+
+ # Upstream uses -Xbootclasspath/a, which is faster due to lack
+ # of verification, but gjl isn't flexible enough yet. :(
+ java-pkg_dolauncher ${PN}-j --main ${PN}
+ dosym ${PN}-j /usr/bin/${PN}
+ dobin tools/jvm/eval-client.pl
+ popd > /dev/null || die
+ ;;
+ *)
+ die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}."
+ ;;
+ esac
+}
+
+src_configure() {
+ multibuild_foreach_variant nqp_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant nqp_compile
+}
+
+src_test() {
+ multibuild_foreach_variant nqp_test
+}
+
+src_install() {
+ multibuild_foreach_variant nqp_install
+
+ dodoc CREDITS README.pod
+ use doc && dodoc -r docs/*
+}
diff --git a/dev-lang/rakudo/Manifest b/dev-lang/rakudo/Manifest
index 8d79c7b3d6f6..8775bb943cfe 100644
--- a/dev-lang/rakudo/Manifest
+++ b/dev-lang/rakudo/Manifest
@@ -5,11 +5,13 @@ DIST rakudo-2017.09.tar.gz 3006759 BLAKE2B 22df3775aed16bf404a2f1bf716c22989c7cd
DIST rakudo-2017.10.tar.gz 3049348 BLAKE2B 7e017635a6807d25b0c62c312db5c86199cca1f7d405b7a55b09cfdff922e67b63df66cafd547bc555c4adaf146a8cb2eeb8de5110e844042721f24e4efe9e95 SHA512 f3832a5dcd0048a7d9018c46e8430245b3d6565516d61f4dc57ff06d5dbf38afab7b9a4791a0f88ef4422899418f3ce550e5271cef668ab74804f898c8c5faaa
DIST rakudo-2017.11.tar.gz 3063336 BLAKE2B 781c2359c93e25e1a0429ea509923b0ca76a6a7a2e7d467ff9fc08eb4cfd915ef37641242db9cf92c725b74938b4555f111f4ccdd2af75b46450767f58517994 SHA512 6cb36938e1d395e5271939fed69fb0e2ebfccbf738a7d2cfef620853dfbc157efad4aa802f3c3fcf5d232c291ae0ab21f5bb65c7a17d8a5857c143e7e8976fc3
DIST rakudo-2017.12.tar.gz 3076450 BLAKE2B b97fa774a307486d7af830478d031cef64f3d4ae95192c8d99f1247e349ebccc83dfd3e864d3c829722b9388d6c9ca667ef55f42c8df86cba10278ff9affbc23 SHA512 0c7870ea90bc219cc27c4ea6130ef6e46172d0cd8da3d0b49dc8c8585cddc87a004dfa945075254a6bca3005d7bc68f181c79e229084f97e532ad086c512bf44
+DIST rakudo-2018.01.tar.gz 3089785 BLAKE2B 6e74c17b44e489a5a1a60f177290962eac752ad5750dd5d6e64e5a9264d8b6ba7dfe4234087a1b1cbebd3933376b83dd305c3bd255ad39bc81b9c99b8e51b303 SHA512 5030089265f7c4d0bde663eb1d26a0e40ddc9b1dedfd7a350a2238f5136f08abb986d2568c05efe031248ecacdd19888be6e08b954bbeedc03e769d3016b17ea
EBUILD rakudo-2017.07.ebuild 1616 BLAKE2B 024370e68e2f6a4b2ece691428af8c3e92456dd8b89660cf50e5d5c93551e3a57241860a28c458be9b509f7c8c2119c4cf92040c6ebd7aa2780d780c72d2a737 SHA512 74d525ad581cc02093f6a21123b841a1cd3cfe23f176e40cbcf161e5ceefdc81791fcbbeaab3041380b882a430e5c65cc339a64b6c6d117e726137e61f683e78
EBUILD rakudo-2017.08.ebuild 1616 BLAKE2B 024370e68e2f6a4b2ece691428af8c3e92456dd8b89660cf50e5d5c93551e3a57241860a28c458be9b509f7c8c2119c4cf92040c6ebd7aa2780d780c72d2a737 SHA512 74d525ad581cc02093f6a21123b841a1cd3cfe23f176e40cbcf161e5ceefdc81791fcbbeaab3041380b882a430e5c65cc339a64b6c6d117e726137e61f683e78
EBUILD rakudo-2017.09.ebuild 1616 BLAKE2B 024370e68e2f6a4b2ece691428af8c3e92456dd8b89660cf50e5d5c93551e3a57241860a28c458be9b509f7c8c2119c4cf92040c6ebd7aa2780d780c72d2a737 SHA512 74d525ad581cc02093f6a21123b841a1cd3cfe23f176e40cbcf161e5ceefdc81791fcbbeaab3041380b882a430e5c65cc339a64b6c6d117e726137e61f683e78
EBUILD rakudo-2017.10.ebuild 1616 BLAKE2B 024370e68e2f6a4b2ece691428af8c3e92456dd8b89660cf50e5d5c93551e3a57241860a28c458be9b509f7c8c2119c4cf92040c6ebd7aa2780d780c72d2a737 SHA512 74d525ad581cc02093f6a21123b841a1cd3cfe23f176e40cbcf161e5ceefdc81791fcbbeaab3041380b882a430e5c65cc339a64b6c6d117e726137e61f683e78
EBUILD rakudo-2017.11.ebuild 1616 BLAKE2B 024370e68e2f6a4b2ece691428af8c3e92456dd8b89660cf50e5d5c93551e3a57241860a28c458be9b509f7c8c2119c4cf92040c6ebd7aa2780d780c72d2a737 SHA512 74d525ad581cc02093f6a21123b841a1cd3cfe23f176e40cbcf161e5ceefdc81791fcbbeaab3041380b882a430e5c65cc339a64b6c6d117e726137e61f683e78
EBUILD rakudo-2017.12.ebuild 1616 BLAKE2B b83769b34c5694702fafce86c5d78e2ae0a9afc1f4834c33b78500851ff99c83a3b5e72653a2108911a89b9386683948ff813edaa5cf1f7455065370860671b2 SHA512 7226e37e3c2299582065d8b9a06211bc7f69c5b1ee824cdf2cccc843f5be7d76a50aa3e00506f99d01db4d32d0ef617c2ed4ec324eccd3ed3fd1ae9053f0d392
+EBUILD rakudo-2018.01.ebuild 1616 BLAKE2B b83769b34c5694702fafce86c5d78e2ae0a9afc1f4834c33b78500851ff99c83a3b5e72653a2108911a89b9386683948ff813edaa5cf1f7455065370860671b2 SHA512 7226e37e3c2299582065d8b9a06211bc7f69c5b1ee824cdf2cccc843f5be7d76a50aa3e00506f99d01db4d32d0ef617c2ed4ec324eccd3ed3fd1ae9053f0d392
EBUILD rakudo-9999.ebuild 1714 BLAKE2B e74244497b591e490e774d82492e16c05e61546cc7071a776d7002e22f32608f138456423edab6c7aabde9dd6c84b414c42343c4dcf45725a8ae021b5eb1d5c0 SHA512 06451f51ced45674984aada066a94a268bafdb858172330a041b47196c2caae91af4263cee68171f34a8f89933f59b5517d54c456ff24a2b7e76b61e238bf56d
MISC metadata.xml 626 BLAKE2B a4703502a1adeec04aa03fabc5b093138866102fc4b21fcca60730671d29b3f1eb48afce5f7bbcbbf31d06d5af557e03f0cf20f9f6fcbacef172d7970ceb5d8d SHA512 8ab071e74418a4782cf11c870bda3dda2656c0e1961e05edcde9776f4ad1eb18a07af9f2dc3fdfd5970f3d51f63bd342956c0afbfb79ccdd7f6e9d30403824b8
diff --git a/dev-lang/rakudo/rakudo-2018.01.ebuild b/dev-lang/rakudo/rakudo-2018.01.ebuild
new file mode 100644
index 000000000000..b442d4008798
--- /dev/null
+++ b/dev-lang/rakudo/rakudo-2018.01.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit java-pkg-opt-2
+
+DESCRIPTION="A compiler for the Perl 6 programming language"
+HOMEPAGE="http://rakudo.org"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/rakudo/${PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+else
+ SRC_URI="https://rakudo.perl6.org/downloads/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Artistic-2"
+SLOT="0"
+# TODO: add USE="javascript" once that's usable in nqp
+IUSE="clang java +moar test"
+REQUIRED_USE="|| ( java moar )"
+
+CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.7 )"
+DEPEND="${CDEPEND}
+ clang? ( sys-devel/clang )
+ java? ( >=virtual/jdk-1.7 )
+ >=dev-lang/perl-5.10"
+
+pkg_pretend() {
+ if has_version dev-lang/rakudo; then
+ ewarn "Rakudo is known to fail compilation/installation with Rakudo"
+ ewarn "already being installed. So if it fails, try unmerging dev-lang/rakudo,"
+ ewarn "then do a new installation."
+ ewarn "(see Bug #584394)"
+ fi
+}
+
+src_configure() {
+ local backends
+ use moar && backends+="moar,"
+ use java && backends+="jvm"
+
+ local myargs=(
+ "--prefix=/usr"
+ "--sysroot=/"
+ "--sdkroot=/"
+ "--backends=${backends}"
+ )
+
+ perl Configure.pl "${myargs[@]}" || die
+
+ if use java; then
+ NQP=$(java-pkg_getjars --with-dependencies nqp)
+ fi
+}
+
+src_compile() {
+ emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" install
+}
+
+src_test() {
+ RAKUDO_PRECOMP_PREFIX=$(mktemp -d) default
+}