summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@gentoo.org>2016-03-21 10:13:56 -0500
committerDoug Goldstein <cardoe@gentoo.org>2016-03-26 09:20:03 -0500
commit0683dbdd5c7258df33aa3508170ff28f48871772 (patch)
tree8dac906d1bf9cd8c2cf1ce8bb16017d0aa659d2d /dev-lang/rust
parentwww-client/pybugz: alpha/arm/hppa stable, (ALLARCHES policy) wrt bug #577498 (diff)
downloadgentoo-0683dbdd5c7258df33aa3508170ff28f48871772.tar.gz
gentoo-0683dbdd5c7258df33aa3508170ff28f48871772.tar.bz2
gentoo-0683dbdd5c7258df33aa3508170ff28f48871772.zip
dev-lang/rust: version bump
Based on the work of the Gentoo Rust overlay team's work. Includes additional improvements such as: - using the system LLVM by default - updates for cross compile support - using the latest stage0 bootstrap binary - drop the custom postfix that Gentoo used - provide a sub-slot for ABI so packages can rebuild - EAPI=6 - misc cleanups Package-Manager: portage-2.2.26 Signed-off-by: Doug Goldstein <cardoe@gentoo.org>
Diffstat (limited to 'dev-lang/rust')
-rw-r--r--dev-lang/rust/Manifest3
-rw-r--r--dev-lang/rust/rust-1.7.0.ebuild148
2 files changed, 151 insertions, 0 deletions
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 91d65a0432e..8c52e96ce41 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -4,6 +4,9 @@ DIST rust-stage0-2015-07-26-a5c12f4-linux-i386-3459275cdf3896f678e225843fa56f0d9
DIST rust-stage0-2015-07-26-a5c12f4-linux-x86_64-e451e3bd6e5fcef71e41ae6f3da9fb1cf0e13a0c.tar.bz2 15900837 SHA256 779943595dd63d6869c747e2a31c13095f9c5354d4530327d6f9310cc580c2ff SHA512 c6d74065f785719bb7e394e42bc64d323d00c0c3e70a4e16961055b8fbe69e557c7dc4875b3ba3d8c04184220aa35da7311d880b5f987b7105f54fdfcc20ded4 WHIRLPOOL f0c5ba9f40cc857dc5406704a3d8dfd468150d6ff0494a206d43a2e0e12c6670a23079b932f59233c64cce6af75f1e677c308e3434f9e416ac5e21951129afcb
DIST rust-stage0-2015-08-11-1af31d4-linux-i386-e2553bf399cd134a08ef3511a0a6ab0d7a667216.tar.bz2 16320060 SHA256 7319c60faad6dc380775e8a104c67d58b1365dbbed31a3bd15e1b8bc5004d59f SHA512 ce98bedd99dc00f60c869f3bfa4028e17f28d328b9cdae3f3279c8a7f4fb767f6bcb0655d28f17a3df581cb1a56d0326da7333d403e6921c46a51648ff2b1ef9 WHIRLPOOL 1ed9017636d421aaef053df0fd5a2d3aafbdb93f1ac7053fa7b4135189e7a926b87fa2cca93fd11112fdada72f3f9cb7ee7942cfab30540cb5e311b17b198b91
DIST rust-stage0-2015-08-11-1af31d4-linux-x86_64-7df8ba9dec63ec77b857066109d4b6250f3d222f.tar.bz2 15826164 SHA256 5936f5ec4327d41f3aa9f98cbedebb6fd3d72715f8df578e0c9a669154c80bc3 SHA512 6a761971757df2fb9668f9225c2d364cc16352f61205ae88e4cce38f95e94e75e3fd8b5e8a3684c2c8550ae26091714be1d8c1602ddf286af35ea49f81b5c728 WHIRLPOOL 0d3b716efabede055e017f55ec702231c2457cde06efa093e61341bc441aee4b812ee31f9665c5cb1a2e4930a913e06286a3b59a3f63ed93378bb3427d225eb4
+DIST rust-stage0-2015-12-18-3391630-linux-i386-a09c4a4036151d0cb28e265101669731600e01f2.tar.bz2 17372311 SHA256 b1bfa86ed526bea5710dbbf44852fa9c49276bb8d6a6a5be6a266b162ef94d92 SHA512 1b23160ea385cfa9d5240271bc9947a2bfdb94b72147140b4b1a8241354fab456f833e0e0d32d7ba13243007ebb6d935a78fe72523d86a987d672df4caa6a90d WHIRLPOOL c399124bb75ba45011abafb37be1b6add570b079d5d2accc22abd8b774c27eb85e02b23813520838b2ce6b6dcf822b6554d6c5e94c9a7af819b8f281c79db6f0
+DIST rust-stage0-2015-12-18-3391630-linux-x86_64-97e2a5eb8904962df8596e95d6e5d9b574d73bf4.tar.bz2 16832231 SHA256 a8dc5203673ce43f47316beb02ee0c427edb7bbde2ab5fc662a06b52db2950e7 SHA512 e6768cdafa845b65f86069b3d35df9ec28121d1c55b5033eb34f6fdc0e20485335c977588f44d170d194550fc5f3b4b675f896ebb1e3ea05e1c96ff423343509 WHIRLPOOL 4d46083ec5e5cb57f42311518f51d4d04138b07a31b6fe29eae0da55f3137ef4e122f0d2d0f0cfd139316ee90f2d0c8211b80f37bcec6b8b65efb4189e391753
DIST rustc-1.2.0-src.tar.gz 23863924 SHA256 ea6eb983daf2a073df57186a58f0d4ce0e85c711bec13c627a8c85d51b6a6d78 SHA512 2596c0dddff0276916edbb7d68ae610209c75d53d89f1f15dc56ad7408e235dbedfcd1bba9c446dd1e32a8d274cedebb7b32b328223280c28ab546bbd06f1c76 WHIRLPOOL 741118f7e265129bfd0f0d66487e12dc8f95018d8479e8f3cde555160abdb29ade9c69607a2daa088ae3dbe74c1120c16141248cd771a6e56759ce10cfc45a62
DIST rustc-1.3.0-src.tar.gz 24308223 SHA256 ea02d7bc9e7de5b8be3fe6b37ea9b2bd823f9a532c8e4c47d02f37f24ffa3126 SHA512 d9a4851d958e6a62f0997af5451c1c1ba2bd3ace595cf9f1dbc5977a6efb0ba802d108d4aa6fc29540c41b36d7f5a04e518700b5c1426fe18d1627d5fa779d58 WHIRLPOOL 21d9216bfa31b71e04ad35b4d72fd2b7b466b89cf62be2f9b0d734af21d1cba2050171bf3b9757c14a675fae11b869fcda30abc528e07ddcdc9d1a2bf0e3b7dc
DIST rustc-1.5.0-src.tar.gz 24586539 SHA256 641037af7b7b6cad0b231cc20671f8a314fbf2f40fc0901d0b877c39fc8da5a0 SHA512 c56f02f39093e5ce1f9a29b295ea1a6d69192d554a64c1b49b6bb5328884e9bbfb1681ea4362166e3fa91ff4b4e17c9a9de6720a70d22a852060bd6b9de6a30b WHIRLPOOL a6138754168065dca7d5a68afd99dc9a2eb0abcbf2eb8d3908646c2e3e6fd84b344dd96ba7d2fe6db4ae703baa0ab60a3594471705b5173ba3e45a959b0a97c1
+DIST rustc-1.7.0-src.tar.gz 25097611 SHA256 6df96059d87b718676d9cd879672e4e22418b6093396b4ccb5b5b66df37bf13a SHA512 ef49bba9e8324c5b24a257131a31df4902f13ee4e0b763a2260df6ac8abbb150a6b9e5b36f52c6dc6c3f63fd3b1a9fb303a072973b054851f5d03a0d32df7317 WHIRLPOOL f39953c678f42fa44da4b27eddb87627cd9b10a9002457c895cbae119d778a7496aebb1776cf0cfb4cd48f54513faf3d1b3b1afb7ee879d93978351443eb5963
diff --git a/dev-lang/rust/rust-1.7.0.ebuild b/dev-lang/rust/rust-1.7.0.ebuild
new file mode 100644
index 00000000000..f2c2cb2699b
--- /dev/null
+++ b/dev-lang/rust/rust-1.7.0.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-any-r1 versionator toolchain-funcs
+
+MY_P="rustc-${PV}"
+ABI_VER="$(get_version_component_range 1-2)"
+
+# from src/snapshots.txt
+RUST_SNAPSHOT_DATE="2015-12-18"
+RUST_SNAPSHOT_SRCHASH="3391630"
+RUST_SNAPSHOT_HASH_amd64="97e2a5eb8904962df8596e95d6e5d9b574d73bf4"
+RUST_SNAPSHOT_HASH_x86="a09c4a4036151d0cb28e265101669731600e01f2"
+RUST_STAGE0="rust-stage0-${RUST_SNAPSHOT_DATE}-${RUST_SNAPSHOT_SRCHASH}"
+RUST_STAGE0_amd64="${RUST_STAGE0}-linux-x86_64-${RUST_SNAPSHOT_HASH_amd64}"
+RUST_STAGE0_x86="${RUST_STAGE0}-linux-i386-${RUST_SNAPSHOT_HASH_x86}"
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="http://www.rust-lang.org/"
+
+SRC_URI="http://static.rust-lang.org/dist/${MY_P}-src.tar.gz
+ amd64? ( http://static.rust-lang.org/stage0-snapshots/${RUST_STAGE0_amd64}.tar.bz2 )
+ x86? ( http://static.rust-lang.org/stage0-snapshots/${RUST_STAGE0_x86}.tar.bz2 )
+"
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+SLOT="stable/${ABI_VER}"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="clang debug doc libcxx +system-llvm"
+REQUIRED_USE="libcxx? ( clang )"
+
+RDEPEND="libcxx? ( sys-libs/libcxx )
+ system-llvm? ( >=sys-devel/llvm-3.6.0:=[multitarget]
+ <sys-devel/llvm-3.7.0:=[multitarget] )
+"
+
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ >=dev-lang/perl-5.0
+ clang? ( sys-devel/clang )
+"
+
+PDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ unpack "${MY_P}-src.tar.gz" || die
+ mkdir "${MY_P}/dl" || die
+ local stagename="RUST_STAGE0_${ARCH}"
+ local stage0="${!stagename}"
+ cp "${DISTDIR}/${stage0}.tar.bz2" "${MY_P}/dl/" || die "cp stage0"
+}
+
+src_prepare() {
+ find mk -name '*.mk' -exec \
+ sed -i -e "s/-Werror / /g" {} \; || die
+
+ eapply_user
+}
+
+src_configure() {
+ export CFG_DISABLE_LDCONFIG="notempty"
+
+ "${ECONF_SOURCE:-.}"/configure \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)/${P}" \
+ --mandir="${EPREFIX}/usr/share/${P}/man" \
+ --release-channel=${SLOT%%/*} \
+ --disable-manage-submodules \
+ --default-linker=$(tc-getBUILD_CC) \
+ --default-ar=$(tc-getBUILD_AR) \
+ --python=${EPYTHON} \
+ $(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) \
+ $(usex system-llvm "--llvm-root=${EPREFIX}/usr" " ") \
+ || 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-mode 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
+}