ChanServ changed the topic of #asahi-alt to: Asahi Linux: porting Linux to Apple Silicon macs | User-contributed/unofficial distribution ports | Logs: https://alx.sh/l/asahi-alt
<chadmed_>
do sam_ or leio have any thoughts about packaing the fex thunks?
<chadmed_>
chaos_princess: you reckon we just package fmt and ditch the vendored dep too?
<chadmed_>
same with catch2
<chadmed_>
both of which could probably be upstreamed into ::gentoo quick-smart after some incubation time in ::asahi
abbe has joined #asahi-alt
ipatch has joined #asahi-alt
jeisom has quit [Ping timeout: 480 seconds]
chadmed_ has quit [Remote host closed the connection]
dcavalca85 has joined #asahi-alt
dcavalca8 has quit [Read error: Connection reset by peer]
xal has quit [Quit: bye]
xal has joined #asahi-alt
<chaos_princess>
chadmed: at least for now, fmt must be vendored, it already is in ::gentoo, but iirc it is not slotted and the version that fex wants breaks dolphin.
<sam_>
chaos_princess: chaos_princess: sorry, brief me on fex thunks
<sam_>
means nothing to me
<sam_>
uh chadmed * too
<chaos_princess>
We need a x86 compiler on arm64 host to compile them
<sam_>
start earlier than that please :)
<sam_>
what are they, why do we want them, ...
<chaos_princess>
A set of libraries that allow redirecting calls into x86 libraries to arm64 ones
<chaos_princess>
we want them because running native arm code is faster than emulating x86 versions of system libraries
<sam_>
for what purpose?
<sam_>
games (dolphin)?
<chaos_princess>
Fex is a x86 emulator for arm, the main purpose is games, but not neccessarily
<sam_>
right
<sam_>
OK
<sam_>
so the main issue is "how do we nicely package an x86 compiler so building fex works"?
<chaos_princess>
Pretty much.
<sam_>
ok
<sam_>
the answer is to copy mingw64-toolchain/bpf-toolchain
<sam_>
they're all-in-one ebuilds that do binutils+gcc (and mingw64-runtime in the case of mgwt)
<sam_>
this avoids users having to run crossdev
<chaos_princess>
Glibc too?
<sam_>
do you really need glibc too?
<sam_>
it can be done i think but the existing examples didn't
<sam_>
but it should be fine to add that in
<chaos_princess>
Not super sure about fex, but i am making another thing that needs an x86 compiler and that one does need glibc
<sam_>
you should copy mingw64-toolchain if needing that runtime component (as it has an equivalent, whereas we didn't need that for bpf)
<chaos_princess>
guess i will try building them with clang since that is an option and fex requires clang anyway
n3ph has joined #asahi-alt
<leio>
chadmed: I don't know what fex thunks are. We still owe you some PR merges too, I think?
<leio>
oh, need to continue reading, it was explained to sam after :)
n3ph has quit [Quit: WeeChat 4.3.4]
n3ph has joined #asahi-alt
n3ph has quit [Quit: WeeChat 4.3.4]
n3ph has joined #asahi-alt
zerdox has joined #asahi-alt
chaos_princess has quit [Quit: chaos_princess]
chaos_princess has joined #asahi-alt
n3ph has joined #asahi-alt
n3ph has quit [Quit: WeeChat 4.3.4]
n3ph has quit [Quit: WeeChat 4.3.4]
n3ph has joined #asahi-alt
n3ph has quit [Ping timeout: 480 seconds]
n3ph has joined #asahi-alt
zerdox has quit [Ping timeout: 480 seconds]
noisycoil has joined #asahi-alt
noisycoil has left #asahi-alt [#asahi-alt]
<chadmed>
chaos_princess: that was going to be my third less-gross option. just enforce LLVM_TARGETS: AMD64 X86 (or whatever we need) and pass --target=x86_64-unknown-linux-gnu to clang and let it do it
<chadmed>
i did the reverse for distcc when i had an amd64 build host and pissant arm64 SBCs and it worked a treat
<chadmed>
pretty sure LLVM_TARGETS is basically non-negotiable these days right?
<chadmed>
yeah it is lmfao im just overriding it with profile/package.use.force
<chaos_princess>
yes, and also llvm_targets has an amazing footgun for people who use clang as system compiler
<chadmed>
but on a normal system not maintained by a moronic goon we can expect AMD64 and X86 to be there so no worries
<sam_>
yeah if the software needs clang already then it's less of an issue
<chadmed>
leio: i think sam closed the asahi-sources PR that i had open so all good :)
<chadmed>
therell be another one soon though
<chadmed>
and chaos_princess might have to fix tiny-dfr to deal with the new cargo.eclass stuff unless that got dealt with as part of that series
<chadmed>
uhhh no sorry asahi-nvram
<sam_>
I think Chewi tried to fix everything obvious in tree
<sam_>
he might have missed some
<chaos_princess>
do i need too? i do not have any special code in src_install, so the eclass should just work (tm)?
<chadmed>
yeah if you dont do anything special in a makefile it should be fine
<chadmed>
do we bootstrap llvm/clang by default these days?
<chadmed>
just thinking about possible runtime abnormalities that might arise from using gcc-built clang to build the thunks
<chadmed>
or is that not really a thing anymore
jeisom has joined #asahi-alt
<sam_>
no, we don't
<sam_>
we perhaps should but might have riots
<sam_>
pretty much nobody does it for clang anyway
<sam_>
it would be more palatable to the users if we could fix the LLVM_TARGETS mess
<chadmed>
how come that ended up being forced btw? i missed that lore when it happened
<sam_>
some automagic bs with rust or something
<sam_>
i don't fully remembe tbh
<sam_>
i think it was worse back when lld wasn't slotted
<sam_>
but there were definitely a bunch of LLVM consumers who were greedily using all targets via CMake
<sam_>
I think it is all fixable, just about having someone with time & interest to do it
<chaos_princess>
its something involving rust, and also if you drop a llvm_target, and your main compiler is clang, it just straight up breaks your compiler
<sam_>
it sucks pretty hard because most people obviously dont need anything but the native target but there were definitely some things which were using anything available, or even *needing* everything (like zig?) and disabling it broke
<sam_>
yeha
<sam_>
yeah
<chadmed>
that seems like something that is both really silly and could be fixed by those projects
<sam_>
agreed
<sam_>
it will become worse over time as llvm grows
<sam_>
it's already pretty bad
<sam_>
i mean, the impact of the current workaround, not necessarily the problem itself
<sam_>
the problem might even be gone (not sure how likely that is, but y'know
<sam_>
)
<sam_>
it is harder for the case chaos_princess mentions
<sam_>
(I consider the two as slightly different but maybe they're really the same cause as well, I don't know, I just never looked into it)
<j`ey>
chadmed: that was annoying when I built zig recently on my air, had to rebuild LLVM because zig needs all targets
<chaos_princess>
the second one is slightly worse, since it is not fixed by the current approach. right now some extra exotic stuff like xtensa is not enabled, and if you enable and then disable it, rip clang
<chadmed>
so stupid
<sam_>
oh that's terrible lol
<chadmed>
oh well i guess its kinda good for the issue at hand but less than ideal
<chadmed>
we have a path forward that doesnt involve me hosting anything on my jank ass residential connection
<chaos_princess>
what exactly do you want to host
<chaos_princess>
and how much are you willing to abuse free^W vc-funded infra?
<chadmed>
well like i said this morning i was considering a fex-thunks-bin package
<chadmed>
wherein i would build the thunks on my server and host them
<chaos_princess>
wrap the build in a docker container, upload it to ghcr.io, pull only the final layer's tarball in the ebuild
* sam_
kill
<chadmed>
thanks i have a migraine now
<n3ph>
hint: there is `docker-squash` to merge layers
<sam_>
i dare say that somehow misses the point
<chadmed>
xD
<chadmed>
tired: getting a ups and paying my isp for an SLA
<chadmed>
wired: docker
<chaos_princess>
i've heard that back in the day people put pirated movies in a docker container and used docker's registry to distribute them, so my idea is comparatively tame
<chadmed>
okay thats pretty baller
<n3ph>
sam_: I was anticipating.. 🙄
jeisom has quit [Quit: Leaving]
jeisom has joined #asahi-alt
jeisom has quit [Remote host closed the connection]
jeisom has joined #asahi-alt
jeisom has quit [Remote host closed the connection]
jeisom has joined #asahi-alt
r0ni has joined #asahi-alt
jeisom_ has joined #asahi-alt
jeisom has quit [Read error: Connection reset by peer]
john-cabaj has joined #asahi-alt
n3ph has quit [Ping timeout: 480 seconds]
JayBeeFOSS has quit [Ping timeout: 480 seconds]
JayBeeFOSS has joined #asahi-alt
mps has quit [Quit: leaving]
mps has joined #asahi-alt
jeisom_ has quit [Ping timeout: 480 seconds]
zerdox has joined #asahi-alt
psykose has quit [Remote host closed the connection]