
This is a grave misunderstanding. Gentoo doesn't download a binary rust-bin without your approval.trickygnome wrote: But the main problem I faced is not Rust, but Gentoo emerge that
download binary rust-bin and run it *without my approvement*. I see
that Gentoo is getting old and lazy, that is not right. I don't know
for shure, but manually installing “dev-lang/rust” package will use
old version to update.
GCC and rust are exactly the same here. Including the fact that before you can update GCC, you must first install a copy of GCC. If you don't have a GCC yet, the only way to get GCC on Gentoo is to download a prebuilt gcc bin, which is usually provided inside the stage3 tarball. (A stage3 tarball is literally a tarball containing lots of prebuilt bins that together make up a base install.)trickygnome wrote: For updating GCC, Gentoo don't download a binary
version of the compiler. Instead, it update GCC by compiling the new
version from source code.
banned from #gentoo since sept 2017Neddyseagoon wrote:The problem with leaving is that you can only do it once and it reduces your influence.
Current defaults prefer rust-bin just as a quality-of-life thing (been like that for a while, even before the recent changes), but the new slotting had a side-effect for non-bin users (or at least it's what I roughly observed, maybe I'm wrong given I didn't test portage's behaviour much, nor what having it in world file would do).bunder wrote:I'm more curious about the changes to rust, as all of my systems have removed rust with a depclean in favour of rust-bin... Was that intentional? I mean, it's one less rust-related compile to wind up failing randomly, but I don't normally install binary packages unless there isn't one for a particular application/dependancy... Thanks
Currently portage offers me the following update:Ionen wrote:
Makes me wonder how many non-bin users we have left given they have to go out of their way to keep it (I do use it myself given rust-bin is broken with -native-symlinks while non-bin is not and I never looked into why, not that this affects normal users).
Code: Select all
[ebuild U ] dev-lang/rust-1.82.0-r101:1.82.0::gentoo [1.82.0-r100:1.82.0::gentoo] For same slot that's expected, I believe it'll offer you rust-bin when updating to a different slot (1.83.0), or at least it's what it did for me. May differ if you have it in world file or masked rust-bin.logrusx wrote:Currently portage offers me the following update:Code: Select all
[ebuild U ] dev-lang/rust-1.82.0-r101:1.82.0::gentoo [1.82.0-r100:1.82.0::gentoo]
I don't think I have either of them. I'll report back when it hits stable and I update. Currently I'm waiting for the binary to become available on the binhost and I won't let that update through until then.Ionen wrote:For same slot that's expected, I believe it'll offer you rust-bin when updating to a different slot (1.83.0), or at least it's what it did for me. May differ if you have it in world file or masked rust-bin.
Not yet, not yet, yes.Zentoo wrote:Interesting thread about rust bootstrapping that I found after have noticed the "rust" USE flag for sys-devel/gcc.
So now I wonder:
- Is it possible actually to use sys-devel/gcc[rust] to bootstrap rust ?
- Is it possible actually to replace dev-lang/rust or dev-lang/rust-bin by sys-devel/gcc[rust] as main rust ?
- if the answers to preceding questions are no, is it a purpose to use sys-devel/gcc[rust] as main rust on the long run ?
Thanks. That sounds greatsam_ wrote:Not yet, not yet, yes.Zentoo wrote:Interesting thread about rust bootstrapping that I found after have noticed the "rust" USE flag for sys-devel/gcc.
So now I wonder:
- Is it possible actually to use sys-devel/gcc[rust] to bootstrap rust ?
- Is it possible actually to replace dev-lang/rust or dev-lang/rust-bin by sys-devel/gcc[rust] as main rust ?
- if the answers to preceding questions are no, is it a purpose to use sys-devel/gcc[rust] as main rust on the long run ?
I had mostly forgotten about this thread, but it came up again. Out of curiosity I run the following and here's what the results are:logrusx wrote:I don't think I have either of them. I'll report back when it hits stable and I update. Currently I'm waiting for the binary to become available on the binhost and I won't let that update through until then.Ionen wrote:For same slot that's expected, I believe it'll offer you rust-bin when updating to a different slot (1.83.0), or at least it's what it did for me. May differ if you have it in world file or masked rust-bin.
Best Regards,
Georgi
Code: Select all
~ # ACCEPT_KEYWORDS="~amd64" emerge -av rust
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 10.76 s (backtrack: 1/20).
[ebuild NS ] dev-lang/rust-1.83.0-r1:1.83.0::gentoo [1.81.0-r100:1.81.0::gentoo, 1.82.0-r101:1.82.0::gentoo] USE="(-big-endian) -clippy -debug -dist -doc (-llvm-libunwind) -lto (-miri) -nightly (-parallel-compiler) -rust-analyzer -rust-src -rustfmt -system-llvm -test -verify-sig -wasm" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="sse2" LLVM_SLOT="(19)" LLVM_TARGETS="(X86) -AArch64 -AMDGPU -ARC -ARM -AVR -BPF -CSKY -DirectX -Hexagon -Lanai -LoongArch -M68k -MSP430 -Mips -NVPTX -PowerPC -RISCV -SPIRV -Sparc -SystemZ -VE -WebAssembly -XCore -Xtensa" 345,517 KiB
[ebuild NS ] dev-lang/rust-1.84.0:1.84.0::gentoo [1.81.0-r100:1.81.0::gentoo, 1.82.0-r101:1.82.0::gentoo] USE="(-big-endian) -clippy -debug -dist -doc (-llvm-libunwind) -lto (-miri) -nightly (-parallel-compiler) -rust-analyzer -rust-src -rustfmt -system-llvm -test -verify-sig -wasm" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="sse2" LLVM_SLOT="19" LLVM_TARGETS="(X86) -AArch64 -AMDGPU -ARC -ARM -AVR -BPF -CSKY -DirectX -Hexagon -Lanai -LoongArch -M68k -MSP430 -Mips -NVPTX -PowerPC -RISCV -SPIRV -Sparc -SystemZ -VE -WebAssembly -XCore -Xtensa" 346,674 KiB
Thanks for letting me know. I read your comment.sam_ wrote:See bug 947587. You can workaround this with emerge -uvDU @world dev-lang/rust-bin -1 or similar.
This option is what I most agree with. Only remark is there might be multiple paths, not only two. It should offer the shortest one. Users should use package.mask and/or emerge precise package slots and/or versions if they want to alter it.Sam James wrote: * Evaluate both paths and cost them by # of new packages
It's far harder if not syncing your repository with git, because the Manifests aren't thin then. You'd have to regenerate all touched files with `ebuild .. digest`.bstaletic wrote:I'm curious to try mrustc ebuild and bootstraping rust 1.74.
What would be the correct way to "merge" the pull request for a rsync portage user?
I tried just backing up my /var/db/repos/gentoo and cloning Kangie's fork/branch in the same place, but eix and emerge started complaining about some digests.
I guess grabbing the patch off github and manually invoking [color]patch -Np1 < kangies-pull-req.patch[/color] should work?