diff options
Diffstat (limited to 'sys-devel/rust-std')
-rw-r--r-- | sys-devel/rust-std/Manifest | 2 | ||||
-rw-r--r-- | sys-devel/rust-std/rust-std-1.48.0.ebuild | 154 |
2 files changed, 156 insertions, 0 deletions
diff --git a/sys-devel/rust-std/Manifest b/sys-devel/rust-std/Manifest index c4ea967e465d..2b0271260271 100644 --- a/sys-devel/rust-std/Manifest +++ b/sys-devel/rust-std/Manifest @@ -1,5 +1,7 @@ DIST rustc-1.46.0-src.tar.xz 101868452 BLAKE2B da9798596b124a10d79c236a871228f05e5f571d22c2259328e7026c91e088c85f5de9c0536a16531e0cb10477bfcd16d3ac11467979f5561cb6199442b877ef SHA512 099857f1d295043587a4e2a65ef3e6a90e12c8b6958e98535a1656c113c553f9a9b621aba8a19cf21bd8d2c79d27cbfa4b8e6fabbcb3cbfee23b545be7b450b4 DIST rustc-1.47.0-src.tar.xz 104143736 BLAKE2B 0454094dde35275488046826da87655e51bf0795481d6d08fd70d644bfc12481bca8641166106ef32f20494906025244715b16ff21a1c023f4bd2818aab42521 SHA512 6ba83c0158f8130ddeae7e070417a2121d8a548c8fe97e28bce116d84048636c75aaee78e0c92cd43a50f5679a1223fc226cc8c5ba9bbd1465e84c5c6034d5c9 +DIST rustc-1.48.0-src.tar.xz 105951736 BLAKE2B 42468fc5ac5e80c4793cfe0913cbb8e43a8def28cc8cf5ed25ab989561e2bf33e155c83e180183362535cbc9008f341eb1273087a2364672b1a4032ac2d6ca45 SHA512 4e12baa6893238a8d336ec9ebe891477d18676f271b32763474fa7a6a8b58fb3187dd4e2aa95bce482989b692cc2e1360221669d6811eec71b326f22a1756c23 EBUILD rust-std-1.46.0.ebuild 3220 BLAKE2B 29a66cd46bbd78d716fe0e7db483865b1b5a8b12200202e21f061624be9b3385e9fc1561a092b2f21be9a7d6cb84b9460a1ffafc67ac2d90db95f99be0e69bfc SHA512 129ab7a762c6dc633dde21235ab3d7267d3cb9ed800cb3b506b0e5a2de3ccad8fe4e5a31f51eddda6e840b457b9883827f94fdf41f80b8ece54fde3ebabec7e1 EBUILD rust-std-1.47.0.ebuild 3373 BLAKE2B bf6ddc56195edc24bef02017050d6983b2447b4850919e4e47c22160a5b073f89e44878a69dcd551e2795b8a80e779b63dce89bfb1507df47bdb43c840a8f746 SHA512 d3ba029e6948db6283d0f479c4567cd1423bb5762552e772951d8d2ab10d7fbe7df454d2a09b65ee0568fcf6c5927cdb850dc6797c974fac3a54ce9f31791f76 +EBUILD rust-std-1.48.0.ebuild 3371 BLAKE2B 2f6b2212fa4c966bc3c87d4edbbb33fd1805acb63e723f9287909ebb89be9f6f78ac207ffe4d1cebb9ca56046c28319cc38ff96e4ff94764b59d9601b7f1bb9f SHA512 5c8056dca52c3f5a3c34981a7a618324dfe9cc45795a0082cdda1e9db684012cd5b0f52584f9ae42615ab684fb075f35cd76f530b23e140414b90d4423e5d114 MISC metadata.xml 818 BLAKE2B 32766ac24fada44b46f8d4ef77164a4e4843b876347056223184ec6fe48af9a6e2fa7d3e1fd48dec299f328f37fbdf4c84225a7450b788ce3e6c92e87bf8f313 SHA512 c1c4a46790dedc83b6890bbb536927148b293eed7f4d3bbd1f602b7664a9b303ca9689d4d1d35ed8047c2c909d64145fc4098efbec279f630b86207b0216ca80 diff --git a/sys-devel/rust-std/rust-std-1.48.0.ebuild b/sys-devel/rust-std/rust-std-1.48.0.ebuild new file mode 100644 index 000000000000..e0bcdc1d61fc --- /dev/null +++ b/sys-devel/rust-std/rust-std-1.48.0.ebuild @@ -0,0 +1,154 @@ +# Copyright 2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7,8,9} ) + +inherit flag-o-matic multiprocessing python-any-r1 rust-toolchain toolchain-funcs + +DESCRIPTION="Rust standard library, standalone (for crossdev)" +HOMEPAGE="https://www.rust-lang.org" +SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" +SLOT="stable/$(ver_cut 1-2)" +# please do not keyword +#KEYWORDS="" #nowarn +IUSE="debug" + +BDEPEND=" + ${PYTHON_DEPS} + ~dev-lang/rust-${PV}:= +" + +DEPEND="|| + ( + >="${CATEGORY}"/gcc-4.7:* + >="${CATEGORY}"/clang-3.5:* + ) +" + +RDEPEND="${DEPEND}" + +# need full compiler to run tests +RESTRICT="test" + +QA_FLAGS_IGNORED="usr/lib/rust/${PV}/rustlib/.*/lib/lib.*.so" + +S="${WORKDIR}/${P/-std/c}-src" + +# +# The cross magic +# +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +is_cross() { + [[ ${CHOST} != ${CTARGET} ]] +} + +toml_usex() { + usex "$1" true false +} + +pkg_pretend() { + is_cross || die "${PN} should only be used for cross" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_prepare() { + default +} + +src_configure() { + # do the great cleanup + strip-flags + filter-flags '-mcpu=*' '-march=*' '-mtune=*' '-m32' '-m64' + strip-unsupported-flags + + local rust_root x + rust_root="$(rustc --print sysroot)" + rtarget="$(rust_abi ${CTARGET})" + rtarget="${ERUST_STD_RTARGET:-${rtarget}}" # some targets need to be custom. + rbuild="$(rust_abi ${CBUILD})" + rhost="$(rust_abi ${CHOST})" + + echo + for x in CATEGORY rust_root rbuild rhost rtarget RUSTFLAGS CFLAGS CXXFLAGS LDFLAGS; do + einfo "$(printf '%10s' ${x^^}:) ${!x}" + done + + cat <<- EOF > "${S}"/config.toml + [build] + build = "${rbuild}" + host = ["${rhost}"] + target = ["${rtarget}"] + cargo = "${rust_root}/bin/cargo" + rustc = "${rust_root}/bin/rustc" + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + verbose = 2 + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debuginfo-level-rustc = 0 + backtrace = true + incremental = false + default-linker = "$(tc-getCC)" + rpath = false + dist-src = false + remap-debuginfo = true + jemalloc = false + [dist] + src-tarball = false + [target.${rtarget}] + cc = "$(tc-getCC ${CTARGET})" + cxx = "$(tc-getCXX ${CTARGET})" + linker = "$(tc-getCC ${CTARGET})" + ar = "$(tc-getAR ${CTARGET})" + $(usex elibc_musl 'crt-static = false' '') + EOF + + einfo "${PN^} configured with the following settings:" + cat "${S}"/config.toml || die +} + +src_compile() { + env RUST_BACKTRACE=1 \ + "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \ + library/std --stage 0 || die +} + +src_test() { + ewarn "${PN} can't run tests" +} + +src_install() { + local rustlib="lib/rust/${PV}/lib/rustlib" + dodir "/usr/${rustlib}" + pushd "build/${rhost}/stage0-sysroot/lib/rustlib" > /dev/null || die + cp -pPRv "${rtarget}" "${ED}/usr/${rustlib}" || die + popd > /dev/null || die +} |