From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- dev-lang/rust/Manifest | 19 +++++ dev-lang/rust/metadata.xml | 15 ++++ dev-lang/rust/rust-1.15.1.ebuild | 153 ++++++++++++++++++++++++++++++++++++ dev-lang/rust/rust-1.16.0.ebuild | 149 +++++++++++++++++++++++++++++++++++ dev-lang/rust/rust-1.19.0.ebuild | 166 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 502 insertions(+) create mode 100644 dev-lang/rust/Manifest create mode 100644 dev-lang/rust/metadata.xml create mode 100644 dev-lang/rust/rust-1.15.1.ebuild create mode 100644 dev-lang/rust/rust-1.16.0.ebuild create mode 100644 dev-lang/rust/rust-1.19.0.ebuild (limited to 'dev-lang/rust') diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest new file mode 100644 index 000000000000..279a4c409126 --- /dev/null +++ b/dev-lang/rust/Manifest @@ -0,0 +1,19 @@ +DIST cargo-0.19.0-i686-unknown-linux-gnu.tar.gz 5068212 SHA256 30ffc32615626b746cbdd2c34d79b3de8ae9889ae56ab33feed9c3a1b9c170fc SHA512 bfe5df682eb566c91995b8c00b5e8edb5d2c3410d1baa5be2ede2e39260b653d34b7723c6c3e8f07d8102ffab50b13e62f9f2d816dad8fba9f39b7bec984181e WHIRLPOOL 3a2c9f36470f611dbd4d8e48c94b401d584b25208abafa1a1073eca33009185e37d92a3f59200027bcfb82bb50acbf5acf4aa87649360afaba7d380bdfcffff0 +DIST cargo-0.19.0-x86_64-unknown-linux-gnu.tar.gz 5133993 SHA256 24d5e01b09ba0fb15c4b7ef4f527aca874ce2e0cebc3850fdc2535ac7e25b205 SHA512 6fedb8f83d70dc4fb93a29d400577a5578ceed1448f4e85e8a9509b98b037a125532ebfb6a7e6bc9411501ea74774d2c47ac7e2bcb7ac82baeb925abc46609e8 WHIRLPOOL eb76664d0ac08389beb9feae5f6d603b6846cb3d21f015e97bf702789afa7cedd4cd1fb04594d48af8840dece0bc9c44c74fb84390c5b24dcb5061567b59737f +DIST rust-std-1.18.0-i686-unknown-linux-gnu.tar.gz 66316236 SHA256 3b93c7b856b98f61ec0f640bc96373f4762484ab3340866902c8c96933bcf10b SHA512 0649743437f15d80f7fe08ae32177b36e2a89e87db8062433cfa6d0f62fe7e8fdbc109a025c02dc110d8abdf4b74ddfe80ba8fb895992b0f5ac6a880bbbdf051 WHIRLPOOL 668f41c1fc96083c974b62ce831c254b8707fc7a452e55927ed77943548b829ff8164618ed5bec29f766366af8682e4d91edd9cd0d615bacc9d47c610f8bb87e +DIST rust-std-1.18.0-x86_64-unknown-linux-gnu.tar.gz 75723132 SHA256 4a66150781e224412ebd9dd6d643ad65ecc5668a7754e4a12e115be6ce7bf527 SHA512 98f50016cf6f7c89f90830e1c9f41b5413adf2eaa5e2874ca117ffe84ee59fe77cb461ca3601ee65c5c5c884eb42e22509a94c00544527c727f2e3d6d0adb530 WHIRLPOOL 0c08c956be2252f25098d2007a5d57d4e74b3ef9fba47a0b3e291db9575cf41986d89a8b24f6966f73c830b52d2a481a6248deec9a6502baf3fa5b79afe2c342 +DIST rustc-1.14.0-i686-unknown-linux-gnu.tar.gz 51391277 SHA256 52b7df5025c302d82f0572fbdc74309334bad36e796c4a2fdf934abe2e5e23ac SHA512 4a951439d8c001b8ff2f6aa2f505e23130209494026fdacea019aef05bebb2f0d3404df047ccedbe9f4140cb5163404db22a5b0977752c495fc45f739d1252fb WHIRLPOOL 881f1a042568d55a3826f629ddd04642dbbfa3a7f423bb3c1d4e1d4e73fa31fe34c708b718b5d44cdd34cc71f99243de98f1478d880ff5804375bbc33ff4766e +DIST rustc-1.14.0-x86_64-unknown-linux-gnu.tar.gz 49370951 SHA256 0eeec4211aa872f24c220200a0c2b095bbfc9c0f737c1c5df2555967c8f36787 SHA512 da33a8c509d3a554bed3173f8cdd6fc3639646e5b12eae80654d83290160227238c6f9ff9c0247d63a90f48eeafc8dc31a4a02575ba43fa6d5f75ae58a347c32 WHIRLPOOL a5aa3eb98b0b6b080057a4c5ffb00996904d3a6bb660297a984205f85e9fd6932f9e9c6c4d4fe60a8ca16a216304ab6e504a45b75b876408a8f3450f29872332 +DIST rustc-1.15.1-i686-unknown-linux-gnu.tar.gz 39314075 SHA256 a833304f99071600c72ecd868c1c7bd5ce49d1102332637a8eb7adb942f349ab SHA512 138a4a893a70860650da1636f734977c215e32b1f9b15b957bfc31575d2662ea6c2c65a130bd13647ec1f2366fe0deb26a94ea09aaec7cbda8e466fa295a0c42 WHIRLPOOL 175e1c7ae1352b955c4e9fc3ea2175e91fe9037e356898fc7dc61ce55f5932db6cf4efac834cecc95b6c90c411b57f0ddb398e9b1f3af843a77f1fd84d52c36b +DIST rustc-1.15.1-src.tar.gz 28100203 SHA256 2e7daad418a830b45b977cd7ecf181b65f30f73df63ff36e124ea5fe5d1af327 SHA512 10d533b17cf7f92b9dff14b399b5dd0ac8b68284eea072c85ede78a4e4c2c4fce8c781777124c64798057aceb6444535e02e067fd67ba3633c3e828fb4d2d339 WHIRLPOOL 8b80298cd0a8c3ae0f7ad11052e2dd0bd48b589a95e4bbda4db32ac62d52f9252fe783d46b00484550099b99c3871bd577f8ef54ed45c20b477f9742220497fa +DIST rustc-1.15.1-x86_64-unknown-linux-gnu.tar.gz 37650863 SHA256 33ff44672b731fc71145974ce84194a1a9bafe6da3a74fd1e7543f12467f8894 SHA512 97f2fd905b1c2c9ee1fb9a9604a931154aa928692e6334af5a60f1853e49246b13af26afb6342f085cf77e624f23e90c409f05b81983408cf0538ba1401ef7cb WHIRLPOOL 92d4659712a3c8c5908f2abff4f582233a2b5aea2256213376f4830aaddb8470257e49d9f65503e7d82845648a898fd980afb070c39c37feaf8d489fdd9e238e +DIST rustc-1.16.0-src.tar.gz 28470372 SHA256 f966b31eb1cd9bd2df817c391a338eeb5b9253ae0a19bf8a11960c560f96e8b4 SHA512 096b1b7406be9bc61161bb7cdd2061f2bc2174c161a31f4ed6ceecf7fc379f315fc2f7cb9f6c134ea4f8519c27bf6e5a3f712cf1e56d5785831d8c8374eb0ba5 WHIRLPOOL a59a19b63d64fd98d4f488e465c7a89ca034eaddb3ef6272fe3ab6c3e411afb7ca3b34926201815ce208a5de78dc9e9018caa1d05b71d1cbc80912d46eb8b074 +DIST rustc-1.18.0-i686-unknown-linux-gnu.tar.gz 47281118 SHA256 0cb9bb95373cee8ba26e8f517c46f8c58a29e22f2c7c08a4d152306c6ffc7115 SHA512 e270a314fb326fb226226741a5a15f237846ffb7ae6e0ab349f56328f5b3557d8b3dfdcfbc168f3ed4d9875806434537ce7bd5fb97b2c3078f7d03fd6ce65d2d WHIRLPOOL 598aaa0c8ded68fdddd28f827b07e3841355e1ff67aed20d31cc7728fc351a95e8c521661487905fba0689c0513b5f3baf31ed34cfae5f396731a5e72da2067b +DIST rustc-1.18.0-x86_64-unknown-linux-gnu.tar.gz 45281645 SHA256 f2a34e20166ccf6eda4de46a9efb02821df5c3f34667e2988284a8eaee408113 SHA512 7d8865a43b979150c3dc3abaa852921f46bebb54659bb0f14bc9b82b367f94ec031da4d03242cb6aae8bd11167402b9e166a14aa3c4a141413be54e9a685af31 WHIRLPOOL 0dc7b498701e3d40b3242e7860b6b5b6ccdd437d0e1d0a6c492fd6b7fa539800b6722e2da124b8ba9568beccc34e83cab080045f41450a4fb5a123c99f6136fb +DIST rustc-1.19.0-src.tar.gz 50108626 SHA256 15231f5053fb72ad82be91f5abfd6aa60cb7898c5089e4f1ac5910a731090c51 SHA512 080a8625fc15bc4fc17ab910bdcc0d9a88ce8922f1a3eb241d0f956b5799e4db6df45ebabb5497295c198be08686e5a94dff65569582fc6a5ecb9200cfee5c24 WHIRLPOOL 1dabcc0966a2e69f6c8105e39b82f31bc1c64803318c3a82f63f82afbc67e566d6969568678e86079e1fb515f73feb23d981920c232d836d297abf58010612fe +EBUILD rust-1.15.1.ebuild 3984 SHA256 b1d1e31eea488eddf2ab37af72eb21e5b278293ff6fc3c256c17a7ec8f147299 SHA512 a6b14e295a562308f5d9bfa2e5087c5ede31c93a99cc41b37fcabca42042ed958384660e51486372127d2262feb1071e3ffd386c974d86ad7647eb9c0ef8648d WHIRLPOOL 4ebd8a878dad27318a208b30dd3a043b3840fce4bfa8f6a858e7b39da59ab5da775374fec25ebaf970088a7cda378c407407f0bc5d0d589371ab9233a41d0c69 +EBUILD rust-1.16.0.ebuild 3840 SHA256 8712a23144f80395cc8eb99dd30c0dbd66548c0af8c2f81dc7a9f17c2b2f08f5 SHA512 8c661074f6a53f6d8397d712c8236dfc34f18c386e699a1ab1db9a9eceba9e776c09c733ad615a1897916f1268c46e58a56c5f80cd2efe787fca5f8fdc8591e4 WHIRLPOOL 54b73f98c30d4d8422843078968a1bd90c8bff5c48196e3992766b4361c2ffa0cf4bf70c8fe1297b4eb330e227e967d696fd4725e97cad4a7e2c5426d6e9de60 +EBUILD rust-1.19.0.ebuild 4145 SHA256 e79d0b976253503ee5e15564e51e980b5cc42ea3439825931c46c0f96f6d1c2d SHA512 0da72a60a704d7215a3dea336e780c81473253ea3ccbfc41c1cef4cf2b2f86a791a41f42356a8958088d6522e6c3a917cfa196d14556feef5f56667b92012739 WHIRLPOOL 05d27b8378525c15b72cd11b6dea534255a0ff0f63eeb6ebc1de3326b5e49f864583c0fb8ded325e521393b7e5805d8cac724fadf9ac77350caac6c6a95e9b3b +MISC ChangeLog 10556 SHA256 d137f1eb60479332b21c359d506d2856d91a27b458de4c38e57be3b7997cb7bb SHA512 c9eb6d623969559659065ad69efb5f9c1199587c740f9b73b29157f68c68a284bf0c3aacd7456122ce102d41ae4cbb7a19f2e634f7477c65a4a2a0d1640969d2 WHIRLPOOL b3036acdb63d7c405187e9ae8400808c267541ec0dbd0cb4196d5277e11e842103cc6dab096d9f3995ba30e2c2a1a65a5be29b1268851030ad7f23401f1bdac6 +MISC ChangeLog-2015 4442 SHA256 37cc85223ed117da5749eb4956c1efd3015e46284d062a10e8421b5797b1619e SHA512 66f9e94329c2c31c8e0a3941796d140590e65610fdca987bee5ac0861506eebc3152bdef0f2f2dac9e84767a4eb3c666c2b92a3c1e1bb78c02a317a29651e236 WHIRLPOOL 917d74c777f82241eb57f6afbab6ea95e928fedf661d61fd2f46e79c242ad1c6db73b8ef9f33b3521f04cb60e08ba794a18f23659d004a5849eb08caf67d64f4 +MISC metadata.xml 578 SHA256 14c70fbe484d7251138113abc717dd7e9a995768f692829335ab95faa682e1ac SHA512 c2e4e7f1bbb0227493875a1ff9e55f870313b615a7234f716984366760dccc5b5186a2a03591533769958c3a70f8a973d5d22111cfe29849e835f5b0a400c26d WHIRLPOOL 3d204fe92188b93d46809f8f9e6a50fc5066299d3fec1c515c28acd118b131ee9503789089486c7a4e63c35743bd9b6992b88b08cf5f31a4a43ff18d72b5f77e diff --git a/dev-lang/rust/metadata.xml b/dev-lang/rust/metadata.xml new file mode 100644 index 000000000000..6d0b35dc8f72 --- /dev/null +++ b/dev-lang/rust/metadata.xml @@ -0,0 +1,15 @@ + + + + + rust@gentoo.org + Rust Project + + + Use sys-devel/clang for building + Use sys-libs/libcxx as standard + library when building with sys-devel/clang + Use system sys-devel/llvm in + place of the bundled one + + diff --git a/dev-lang/rust/rust-1.15.1.ebuild b/dev-lang/rust/rust-1.15.1.ebuild new file mode 100644 index 000000000000..5d7f76787c57 --- /dev/null +++ b/dev-lang/rust/rust-1.15.1.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit python-any-r1 versionator toolchain-funcs + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.gz" + KEYWORDS="" +else + ABI_VER="$(get_version_component_range 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +CARGO_VERSION="0.$(($(get_version_component_range 2) + 1)).0" +STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).0" +RUST_STAGE0_amd64="rustc-${STAGE0_VERSION}-x86_64-unknown-linux-gnu" +RUST_STAGE0_x86="rustc-${STAGE0_VERSION}-i686-unknown-linux-gnu" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="http://www.rust-lang.org/" + +SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.gz + amd64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_amd64}.tar.gz ) + x86? ( https://static.rust-lang.org/dist/${RUST_STAGE0_x86}.tar.gz ) +" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" + +IUSE="clang debug doc libcxx +system-llvm" +REQUIRED_USE="libcxx? ( clang )" + +RDEPEND="libcxx? ( sys-libs/libcxx ) + system-llvm? ( >=sys-devel/llvm-3.8.1-r2:0 + "${T}"/50${P} + LDPATH="/usr/$(get_libdir)/${P}" + MANPATH="/usr/share/${P}/man" + EOF + doenvd "${T}"/50${P} + + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/rustdoc + /usr/bin/rust-gdb + EOF + dodir /etc/env.d/rust + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-${PV}." + + if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if has_version 'app-shells/zsh'; then + elog "install app-shells/rust-zshcomp to get zsh completion for rust." + fi +} + +pkg_postrm() { + eselect rust unset --if-invalid +} diff --git a/dev-lang/rust/rust-1.16.0.ebuild b/dev-lang/rust/rust-1.16.0.ebuild new file mode 100644 index 000000000000..e13e960aba12 --- /dev/null +++ b/dev-lang/rust/rust-1.16.0.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit python-any-r1 versionator toolchain-funcs + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.gz" + KEYWORDS="" +else + ABI_VER="$(get_version_component_range 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +CARGO_VERSION="0.$(($(get_version_component_range 2) + 1)).0" +STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).1" +RUST_STAGE0_amd64="rustc-${STAGE0_VERSION}-x86_64-unknown-linux-gnu" +RUST_STAGE0_x86="rustc-${STAGE0_VERSION}-i686-unknown-linux-gnu" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="http://www.rust-lang.org/" + +SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.gz + amd64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_amd64}.tar.gz ) + x86? ( https://static.rust-lang.org/dist/${RUST_STAGE0_x86}.tar.gz ) +" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" + +IUSE="clang debug doc libcxx" +REQUIRED_USE="libcxx? ( clang )" + +RDEPEND="libcxx? ( sys-libs/libcxx )" + +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + >=dev-lang/perl-5.0 + clang? ( sys-devel/clang ) +" + +PDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425 + >=dev-util/cargo-${CARGO_VERSION}" + +S="${WORKDIR}/${MY_P}-src" + +src_prepare() { + find mk -name '*.mk' -exec \ + sed -i -e "s/-Werror / /g" {} \; || die + + default +} + +src_configure() { + export CFG_DISABLE_LDCONFIG="notempty" + + local stagename="RUST_STAGE0_${ARCH}" + local stage0="${!stagename}" + + "${ECONF_SOURCE:-.}"/configure \ + --prefix="${EPREFIX}/usr" \ + --libdir="${EPREFIX}/usr/$(get_libdir)/${P}" \ + --mandir="${EPREFIX}/usr/share/${P}/man" \ + --release-channel=${SLOT%%/*} \ + --disable-manage-submodules \ + --disable-rustbuild \ + --default-linker=$(tc-getBUILD_CC) \ + --default-ar=$(tc-getBUILD_AR) \ + --python=${EPYTHON} \ + --disable-rpath \ + --enable-local-rust \ + --local-rust-root="${WORKDIR}/${stage0}/rustc" \ + $(use_enable clang) \ + $(use_enable debug) \ + $(use_enable debug llvm-assertions) \ + $(use_enable !debug optimize) \ + $(use_enable !debug optimize-cxx) \ + $(use_enable !debug optimize-llvm) \ + $(use_enable !debug optimize-tests) \ + $(use_enable doc docs) \ + $(use_enable libcxx libcpp) \ + || die +} + +src_compile() { + emake VERBOSE=1 +} + +src_install() { + unset SUDO_USER + + default + + mv "${D}/usr/bin/rustc" "${D}/usr/bin/rustc-${PV}" || die + mv "${D}/usr/bin/rustdoc" "${D}/usr/bin/rustdoc-${PV}" || die + mv "${D}/usr/bin/rust-gdb" "${D}/usr/bin/rust-gdb-${PV}" || die + + dodoc COPYRIGHT + + dodir "/usr/share/doc/rust-${PV}/" + mv "${D}/usr/share/doc/rust"/* "${D}/usr/share/doc/rust-${PV}/" || die + rmdir "${D}/usr/share/doc/rust/" || die + + cat <<-EOF > "${T}"/50${P} + LDPATH="/usr/$(get_libdir)/${P}" + MANPATH="/usr/share/${P}/man" + EOF + doenvd "${T}"/50${P} + + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/rustdoc + /usr/bin/rust-gdb + EOF + dodir /etc/env.d/rust + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-${PV}." + + if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if has_version 'app-shells/zsh'; then + elog "install app-shells/rust-zshcomp to get zsh completion for rust." + fi +} + +pkg_postrm() { + eselect rust unset --if-invalid +} diff --git a/dev-lang/rust/rust-1.19.0.ebuild b/dev-lang/rust/rust-1.19.0.ebuild new file mode 100644 index 000000000000..402db0937fa3 --- /dev/null +++ b/dev-lang/rust/rust-1.19.0.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit python-any-r1 versionator toolchain-funcs + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.gz" + KEYWORDS="" +else + ABI_VER="$(get_version_component_range 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +if [[ ${ARCH} = "amd64" ]]; then + TRIPLE="x86_64-unknown-linux-gnu" +else + TRIPLE="i686-unknown-linux-gnu" +fi + +CARGO_VERSION="0.$(($(get_version_component_range 2) + 1)).0" +STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).0" +STAGE0_VERSION_CARGO="0.$(($(get_version_component_range 2))).0" +BOOTSTRAP_DATE="2017-06-08" # found in src/stage0.txt + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="http://www.rust-lang.org/" + +SRC_URI="amd64? ( + https://static.rust-lang.org/dist/rustc-${STAGE0_VERSION}-x86_64-unknown-linux-gnu.tar.gz + https://static.rust-lang.org/dist/rust-std-${STAGE0_VERSION}-x86_64-unknown-linux-gnu.tar.gz + https://static.rust-lang.org/dist/cargo-${STAGE0_VERSION_CARGO}-x86_64-unknown-linux-gnu.tar.gz + ) + x86? ( + https://static.rust-lang.org/dist/rustc-${STAGE0_VERSION}-i686-unknown-linux-gnu.tar.gz + https://static.rust-lang.org/dist/rust-std-${STAGE0_VERSION}-i686-unknown-linux-gnu.tar.gz + https://static.rust-lang.org/dist/cargo-${STAGE0_VERSION_CARGO}-i686-unknown-linux-gnu.tar.gz + ) + https://static.rust-lang.org/dist/rustc-${PV}-src.tar.gz" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" + +IUSE="clang debug doc libcxx" +REQUIRED_USE="libcxx? ( clang )" + +RDEPEND="libcxx? ( sys-libs/libcxx )" + +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + >=dev-lang/perl-5.0 + clang? ( sys-devel/clang ) + >=dev-util/cmake-3.4.3 +" + +PDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425 + >=dev-util/cargo-${CARGO_VERSION}" + +S="${WORKDIR}/rustc-${PV}-src" + +src_unpack() { + unpack ${A##* } +} + +src_configure() { + echo "No configure step for rust" +} + +src_compile() { + local stage0="rust-${STAGE0_VERSION}-${TRIPLE}" + if use debug ; then + local optimized="false"; + local debug="true"; + else + local optimized="true"; + local debug="false"; + fi + + cat <<- EOF > config.toml + [llvm] + optimize = ${optimized} + assertions = ${debug} + [build] + docs = false + submodules = false + python = "${EPYTHON}" + vendor = true + [install] + prefix = "${EPREFIX}/usr" + libdir = "$(get_libdir)/${P}" + mandir = "share/${P}/man" + docdir = "share/${P}/doc" + [rust] + optimize = ${optimized} + default-linker = "$(tc-getBUILD_CC)" + default-ar = "$(tc-getBUILD_AR)" + channel = "${SLOT%%/*}" + rpath = false + optimize-tests = ${optimized} + EOF + + local cache_dir="build/cache/${BOOTSTRAP_DATE}" + mkdir -p ${cache_dir} + for i in ${A}; do + cp "${DISTDIR}/${i}" $cache_dir/ + done + ${EPYTHON} x.py build || die +} + +src_install() { + default + + local obj="build/${TRIPLE}/stage2" + dobin "${obj}/bin/rustc" "${obj}/bin/rustdoc" + dobin src/etc/rust-gdb src/etc/rust-lldb + insinto "/usr/$(get_libdir)" + doins -r "${obj}/lib/"* + dodoc COPYRIGHT + doman man/* + + cat <<-EOF > "${T}"/50${P} + LDPATH="/usr/$(get_libdir)/${P}" + MANPATH="/usr/share/${P}/man" + EOF + doenvd "${T}"/50${P} + + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/rustdoc + /usr/bin/rust-gdb + EOF + dodir /etc/env.d/rust + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-${PV}." + + if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if has_version 'app-shells/zsh'; then + elog "install app-shells/rust-zshcomp to get zsh completion for rust." + fi +} + +pkg_postrm() { + eselect rust unset --if-invalid +} -- cgit v1.2.3