summaryrefslogtreecommitdiff
path: root/dev-lang/mrustc
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2025-05-16 10:44:10 +0100
committerSam James <sam@gentoo.org>2025-05-16 10:44:10 +0100
commitcee0924dd2c722b10947e33425653da90fe5c104 (patch)
tree78c4bf751f5da6a95781ea4a564e620c7f1d889f /dev-lang/mrustc
parent331763285ae462dd0028031f598293d22fd8aec7 (diff)
downloadgentoo-cee0924dd2c722b10947e33425653da90fe5c104.tar.gz
gentoo-cee0924dd2c722b10947e33425653da90fe5c104.tar.bz2
gentoo-cee0924dd2c722b10947e33425653da90fe5c104.zip
dev-lang/mrustc: drop 0.11.2
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-lang/mrustc')
-rw-r--r--dev-lang/mrustc/mrustc-0.11.2.ebuild108
1 files changed, 0 insertions, 108 deletions
diff --git a/dev-lang/mrustc/mrustc-0.11.2.ebuild b/dev-lang/mrustc/mrustc-0.11.2.ebuild
deleted file mode 100644
index da872f594ddc..000000000000
--- a/dev-lang/mrustc/mrustc-0.11.2.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit edo multiprocessing rust-toolchain toolchain-funcs
-
-# The makefile needs to know the version of rust to build
-RUST_VERSION=1.74.1
-# We need to pretend to be this version of Rust for mrustc build and outputs
-MRUSTC_RUST_VER=1.74.0
-
-DESCRIPTION="Mutabah's Rust Compiler"
-HOMEPAGE="https://github.com/thepowersgang/mrustc"
-
-if [[ ${PV} == *"9999"* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/thepowersgang/mrustc.git"
-else
- SRC_URI="https://github.com/thepowersgang/mrustc/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
- https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz
- "
- KEYWORDS="~amd64"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-
-DEPEND="sys-libs/zlib"
-# mrustc transpiles Rust to C, and currently the C code it generates doesn't currently work with clang
-RDEPEND="
- ${DEPEND}
- sys-devel/gcc:*
-"
-BDEPEND="sys-devel/gcc:*"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.11.2-gcc15.patch"
- "${FILESDIR}/${PN}-0.11.2-dont-strip-bins.patch"
- "${FILESDIR}/${PN}-0.11.0-default-to-rust-1_74.patch"
- "${FILESDIR}/${PN}-0.11.0-RUSTC_SRC_PROVIDED.patch"
- "${FILESDIR}/${PN}-0.10.1-git-be-gone.patch"
-)
-
-QA_FLAGS_IGNORED="
- usr/lib/rust/${P}/bin/mrustc
- usr/lib/rust/${P}/bin/minicargo
- usr/lib/rust/${P}/lib/rustlib/$(rust_abi)/lib/*.rlib
-"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && ! tc-is-gcc; then
- die "mrustc needs to be built using GCC."
- fi
-}
-
-src_configure() {
- :
-}
-
-src_compile() {
- export PARLEVEL=$(makeopts_jobs)
- export RUSTC_VERSION=${MRUSTC_RUST_VER} # Pretend that we're using upstream-supported Rust
- export MRUSTC_TARGET_VER=${RUSTC_VERSION%.*}
- export RUSTCSRC="${WORKDIR}/rustc-${RUST_VERSION}-src"
- export RUSTC_SRC_PROVIDED=1
- export V='' # echo build commands in makefiles (minicargo still writes commands to file)
- # build mrustc & minicargo then use them to build the standard library
- # emake -f minicargo.mk will do everything including a full bootstrap
- emake all
- emake -C tools/minicargo/
- # It's not much, but it's enough to do a 'hello world' at least... and build dev-lang/rust!
- emake -e -f minicargo.mk LIBS
-}
-
-src_test() {
- # The main makefile test targets just do this, cut out the middleman
- emake -e -f minicargo.mk local_tests
- # build and run 'hello world' (this is called using 'test' in the makefile, but we can do it manually)
- edo "${S}"/bin/mrustc -L "${S}"/output-${MRUSTC_RUST_VER}/ \
- -g "${S}/../rustc-${RUST_VERSION}-src/tests/ui/hello_world/main.rs" -o "${T}"/hello
- "${T}"/hello || die "Failed to run hello_world built with mrustc"
-}
-
-src_install() {
- # If we're installing into /usr/lib/rust we may as well be consistent
- into /usr/lib/rust/${P}
- dobin bin/mrustc
- dobin bin/minicargo
- local lib patch
- local libs=( "${S}"/output-*/*.rlib* )
- insinto "/usr/lib/rust/${P}/lib/rustlib/$(rust_abi)/lib"
- # If we ever want to support mrustc stdlib for multiple rusts we'll need to
- # do something more clever here.
- for lib in "${libs[@]}"; do
- # We only want .rlib{,.hir,o}
- if [[ ${lib} != *.c && ${lib} != *.d && ${lib} != *.txt ]]; then
- doins "${lib}"
- fi
- done
- # For convenience, install files required to build various rusts
- insinto /usr/share/${P}
- doins -r "${S}/script-overrides/"
- insinto /usr/share/${P}/patches
- for patch in "${S}"/rustc-*.patch "${S}"/rustc-*-overrides.toml; do
- doins "${patch}"
- done
-}