On 13-06-2023 12:33, Polarian wrote:
It's missing dependency on gcc-libs.
I do not see this mentioned within the package guidelines, but I did find it as a dependency of ripgrep (one of the example packages).
Mind explaining why rust needs compiler libraries at runtime? (I don't like doing something until I understand why it must be done, I hope you understand)
standalone binaries tend to be (much) larger and need more memory then binaries using shared libraries . run lldtree (comes with pax-utils) on the rp binary from ripgrep to see what it is linked against.
* It needs options=(!lto) since it won't build with LTO on and the default linker. (I guess you can also force a different linker that works.)
Again not mentioned in the rust package guidelines, but I believe rust does LTO itself, and thus you do not want makepkg from interfering, correct?
If these are well known "conventions" of sorts for rust packages, why is it not in the guidelines?
Looking at the rust guidelines I see there is a lot of controversy over them, some values "being redundant".
LTO is default for archlinux packages but not all upstream code supports it. some packages fail during build() or check() or have runtime issues when build with lto. The repo llvm package is an example were lto is disabled. No idea if it is mentioned on wiki, but if it is I would expect it in general guidelines or standards , not a specific page. Lone_Wolf