LINUX.ORG.RU

Принудительный rust

 , ,


1

3

Прилетел сегодня rust в обновлении.

[ebuild  N     ] dev-lang/rust-1.44.1  USE="-clippy -debug -doc -libressl (-miri) (-nightly) (-parallel-compiler) -rls -rustfmt (-system-bootstrap) (-system-llvm) -wasm" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="sse2" LLVM_TARGETS="(X86) -AArch64 -AMDGPU
-ARM -BPF -Hexagon -Lanai -MSP430 -Mips -NVPTX -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore"
[ebuild  N     ] virtual/rust-1.44.1  ABI_X86="(64) -32 (-x32)"

Отконпелялось, поставилось. Зачем?

Тыкаю:

 equery depends dev-lang/rust-1.44.1
 * These packages depend on dev-lang/rust-1.44.1:
dev-lang/rust-1.44.1 (system-bootstrap ? >=dev-lang/rust-1.43)
virtual/rust-1.44.1 (~dev-lang/rust-1.44.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi
mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?])

USE (make.conf):

USE="X alsa elogind opengl openssl cairo djvu -qt -ios -ipod -aqua -kde -gnome -cups -css -consolekit -systemd"

Колдунства вида: добавить в USE -system-bootstrap ни к чему не привели (что, наверное, логично).

Мне теперь с rust-ом жить? Но зачем?

Удалить, замаскировать? Но почему оно вообще вдруг захотело ко мне?

замаскировал rust и rust-bin, обновился. Посмотрим что будет дальше. А так то похоже уже надо искать дистр на замену gentoo. Ибо количество dev-lang'ов уже зашкаливает, большую часть времени компилируются компиляторы, а не сами программы.

Chord ()

В генте же вроде можно выбирать что ставить, а что нет. Если пакет ненужен, то для чего его компилить, а тем более собирать ещё кучу таких? Я не знаток гены, но мне это кажется странным.

anonymous ()
Ответ на: комментарий от Chord

Ибо количество dev-lang’ов уже зашкаливает

Которая анмасс всякая скриптовщина.

$ eix --only-names -I ^dev-lang/
dev-lang/lua
dev-lang/nasm
dev-lang/orc
dev-lang/perl
dev-lang/python
dev-lang/python-exec
dev-lang/spidermonkey
dev-lang/swig
dev-lang/tcl

И вообще, нафига на Дженту сидеть если конпеляция не нравиться?

WatchCat ★★★★★ ()
Ответ на: комментарий от WatchCat

ты забыл добавить в свой список самых монстров - шланг, руст и гцц. При этом одних питонов целый зоопарк.

А на дженту потому, что хочу иметь выбор, что устанавливать, а что нет. И в какой конфигурвции устанавливать. В этом главный смысл дженту, а не в том, чтобы компилировать.

Chord ()
Последнее исправление: Chord (всего исправлений: 2)
Ответ на: комментарий от Chord

хочу иметь выбор, что устанавливать, а что нет. И в какой конфигурвции устанавливать

Arch и производные, не?

В этом главный смысл дженту, а не в том, чтобы компилировать

Нет. Смысл «генты» как раз в компиляции всего, чтобы выиграть несколько процентов производительности. Она уже давно не даёт никакого выбора, её разработчики даже systemd «форсить» начинают.

Korchevatel ★★★★ ()
Ответ на: комментарий от Korchevatel

ты ошибаешься.

А производительность достигаются не компиляцией, а отсутствием всякого хлама, пожирающего память и процессорное время

Chord ()
Последнее исправление: Chord (всего исправлений: 1)
Ответ на: комментарий от Chord

gcc тащемта в sys-devel, что не соответствует «условиям задачи». Да и вообще gentoo без C/C++ компмлятора это оксюморон.

От rust же у меня система не зависит, что eix и показывает. Хотя конечно он у меня есть, но стоит он в home, т.к. для работы так удобнее.

WatchCat ★★★★★ ()
Последнее исправление: WatchCat (всего исправлений: 1)
Ответ на: комментарий от WatchCat

От rust же у меня система не зависит

Главное, чтоб от cargo не зависила. Это что-то сродни npm (js) - тянет неконтролируемый мусор со всего интернета.

anonymous ()
Ответ на: комментарий от WatchCat

gcc от того, что находится в sys-devel, лангом быть не перестал. И я ничего не имею против него.

То, что у тебя eix не показывает зависимости от rust ничего не значит. У меня тоже не показывает, и equery тоже не показывает. Т.к. rust - это не зависимость подтягиваемая через разного рода юзы, это инструмент, который требуется для сборки librsvg. Ты не соберешь либу без rust ибо она написана на нем, и похер что показывает eix.

Chord ()
Ответ на: комментарий от Chord

А на дженту потому, что хочу иметь выбор, что устанавливать, а что нет. И в какой конфигурвции устанавливать.

Ни разу. Гента — это такой фреймворк для того, чтобы сделать свой мини-дистрибутив, в котором установлено то, что хочешь и в нужной конфигурации в рантайме. А при использовании самого фреймворка у тебя ничерта нет выбора compile time-зависимостей.

x3al ★★★★★ ()
Ответ на: комментарий от Chord

У меня нет гнома. У меня нет librsvg, у меня нет в системе rust. И огнелис у меня firefox-bin.

А не хочешь долгих сборок, нохочешь дженту, то ставь кальку. Правда гнома там всёравно нет.

WatchCat ★★★★★ ()
Ответ на: комментарий от crutch_master

Не, у меня resvg.

librsvg уже давно перевели на раст. И других дистрах он уже давно. Это только gentoo так долго чухалась. Видимо до последнего не хотели добавлять Rust в базовую систему.

RazrFalcon ★★★★★ ()
Ответ на: комментарий от crutch_master

Он собирается столько же, сколько и clang.

     Tue Sep  1 17:18:02 2020 >>> dev-lang/rust-1.44.1
       merge time: 18 minutes and 5 seconds.

     Thu Jul  2 18:52:35 2020 >>> sys-devel/llvm-10.0.0
       merge time: 7 minutes and 58 seconds.

     Thu Jul  2 19:03:46 2020 >>> sys-devel/clang-10.0.0
       merge time: 10 minutes and 28 seconds.
RazrFalcon ★★★★★ ()
Ответ на: комментарий от RazrFalcon

Он собирается столько же, сколько и clang.

Если из clang убрать сборку всяких clangd, clang-tidy, -format, и прочей несистемной части, то он будет собираться раза в 2 быстрее. Но кому это нужно?

anonymous ()
Ответ на: комментарий от RazrFalcon
dev-db/sqlite-3.32.3-r1 (tcl ? dev-lang/tcl

Видать в профиле или в юзах прописан tcl. В /etc/portage/make.conf можно попытаться зогбанить. Ну или у тебя есть такая весчь как app-crypt/mit-krb5

WatchCat ★★★★★ ()
Ответ на: комментарий от Chord

У меня тоже не показывает, и equery тоже не показывает

Просто ты невнимательно читаешь вывод equery: там ясно написано, что dev-lang/rust притянут virtual/rust, а вот чем притянут виртуальный пакет — ты смотреть уже не стал.

beresk_let ★★★★★ ()
Ответ на: комментарий от beresk_let

equery ничего не покажет пока не установишь. А с ключом --all будет очень долго сканировать весь портаж.

emerge --tree самый правильный способ понять, почему подтянутся зависимости при установке или обновении.

anonymous ()
Ответ на: комментарий от beresk_let

У меня никакой руст в системе не появился. Он у меня замаскирован чтобы не пролез в систему, я уже писал об этом выше.

Перед обновлением я увидел, что подтягивается откуда-то руст и запустил equery d rust чтоб увидеть откуда эта срань лезет. Ну и ничего equery не показал.

Теперь понятно?

Chord ()
Последнее исправление: Chord (всего исправлений: 1)
Ответ на: комментарий от Chord

equery d rust покажет только для установленных пакетов. Но так ни один из установленных пакетов в системе не имеет зависимостью rust, то ничего и не отобразится.

grem ★★★★★ ()
Ответ на: комментарий от Result-Code

За какой темой нужно следить, если хочешь узнать про стабильный ABI в Rust?

/dev/null

Где-то там же обсуждают прогресс разработки стабильного API ядра.

P.S. В расте есть repr(C), если что.

im-0 ()
Последнее исправление: im-0 (всего исправлений: 1)