<stilic>
just realized how terrible it is to have the kiss pkg manager handle rust crates fetching
<stilic>
now it makes me want to implement network blocking
<stilic>
after spending an entire day trying to figure out how to make cargo look at the vendored git repos along with a kinda ugly script to look through the json metadata and generate a sources file or a .cargo/config.toml file that maps the git cargo sources to the vendored ones
<stilic>
a whole madness, and the reason why i want to let cargo fetch the crates and git repos itself instead of scripting it by hand in each pkg template
<stilic>
just like every other package maintainer does overall
yamchah2_ has joined #kisslinux
yamchah2 has quit [Ping timeout: 248 seconds]
yamchah2_ is now known as yamchah2
yamchah2_ has joined #kisslinux
yamchah2 has quit [Ping timeout: 269 seconds]
yamchah2_ is now known as yamchah2
<dery>
actually, stilic, you could've asked ;)
<dery>
I have a script just for that
<stilic>
dery: uhm?
<dery>
for the cargo thing
<dery>
I have a script that with cargo and jq generates a source file
<dery>
there are surely edge cases but I'm using it for my custom rust packages
<stilic>
dery: does it work with git sources
<dery>
wym
<dery>
you just go into the source dir and run the script
<dery>
I guess that could be automated but never felt the need to as I have to clone the software to test and whatnot anyways
<dery>
Those are random scripts I built, I hope they don't have like, weird comments lol xD
<dery>
yea I think I could change the script to check for a git source pretty easily
<dery>
I'm cloning that project of yours to account for that
<stilic>
dery: gram?
<stilic>
i didn't make gram
<stilic>
only the leanix repo
<dery>
yea sorry not yours as in you made
<stilic>
fair
<stilic>
i got a lot of stuff packaged there
<stilic>
including xfce4
<stilic>
btw thanks for the help!
<stilic>
it's my first time actually looking into kiss and it's been pretty cool so far
<dery>
yw, happy to see that :D
<dery>
BTW, I too had various ideas like yours and most are valid. Lately I'm switching to the idea of scripting as much as possible and making the package manager the "source of truth" instead of downloading everything through a different binary
<dery>
it seems like a decent solution given that basically everything accounts for this usecase and I think a few package managers do only "direct" downloads like us
<stilic>
tbh it's not bad
<stilic>
even portage from gentoo actually does that
<stilic>
dery: if you could figure out how to add vendored git crates to rust packages, that would be cool
<stilic>
i struggled a lot and i don't have enough knowledge of how cargo works sadly
<dery>
I'll try!
<dery>
sorry for the delay between the answers, got interrupted
<stilic>
alr
<kris_>
i havent figured out how i want to solve that myself either
<kris_>
bpm just has an allow_network toggle for templates for now
<kris_>
ill probably do vendoring later
<kris_>
nothing ive packaged so far needs cargo or anything similar so i figure ill deal with it when the time comes
yamchah2 has quit [Ping timeout: 252 seconds]
yamchah2 has joined #kisslinux
<stilic>
kris_: i think it's easier to add a "download" and let cargo handle it itself
<kris_>
stilic: probably
<kris_>
but if i wanted easy i wouldn't be making a package manager :p
kris_ has quit [Remote host closed the connection]
kris_ has joined #kisslinux
<dery>
stilic: I think I got it!
<dery>
oh do I love JQ
<stilic>
dery: did you got it to build?
<dery>
oh no I didn't try building it
<dery>
I made the source thing
<dery>
with git support
<dery>
wait lemme push it
<dery>
aight check that file again it should have the new jq script
<dery>
it now generates git stuff that actually downloads
<dery>
(I made a dummy package for that and it populates the vendor directory correctly afaict)
<kris_>
i need to document this at some point but im too lazy
<dery>
oh, I assume that it's thanks to the private mount namespace
<dery>
nice, thank you'
<dery>
just for reference, is bsd-3 compatible with mit?
<dery>
if I ever snatch something for my kiss sandboxing stuff :P
<kris_>
i don't know but i don't really give a shit dery take what you want
<kris_>
i think it is compatible
<dery>
that will do
<dery>
(I will still probably use bwrap because comfier but great to know)
<dery>
also interesting, everything is in a single template file?
<dery>
I guess you made dirs for the name and extra files like patches
<dery>
also kudos for adding structured project metadata, I oh so miss that with kiss
<kris_>
dery: yeah, having things in like 5 different files is one of the things i really didnt like about kiss
<kris_>
i basically just outright cloned xbps-src templates
voldemort has joined #kisslinux
<kris_>
i kinda figured why change something i already thing is perfect
<kris_>
think*
<kris_>
a lot of this was pretty much just stolen from xbps-src and kiss and most of the 3 years was just trying to clean it up
<stilic>
dery: i tried to run your script and use the file it generated but all the git repos were cloned on top of each othrr in `vendor`
<kris_>
it's kind of not extensible at all
<kris_>
like bpm is really just ingrained with itself ig
<voldemort>
heylo
<kris_>
hi
<kris_>
also, *most* of the packages that exist right now were basically 1:1 ported from kiss
<kris_>
a few of my friends were supposed to be helping me package things but they aren't as of right now so im moving kinda slow on that front
<kris_>
i need a *lot* more stuff than what i have right now to consider using it as a daliy driver
<kris_>
but bpm itself seems good, a few of my friends have tried it out via a basix tarball and have liked it
<kris_>
naturally i give it to one of my friends and the first thing she does is start packaging systemd in her overlay repo
<stilic>
kris_: bruh
<kris_>
nah i respect it
<kris_>
one of the points of basix is to be super modifiable even if i disagree with said modifications
<kris_>
none of my business what people do with their computers
<stilic>
fair
<stilic>
altrough i wonder what in the hell is the urge to package systemd
<kris_>
she likes it, shrug
<kris_>
she also packaged chimera-utils to replace busybox so
<stilic>
almost like the first thing she wants to do is make a sub distro of a technically niche distro
<stilic>
lmao
<stilic>
atp this sounds like gentoo
<stilic>
especially with use flags
<kris_>
i mean, i basically reimplemented portage in posix shell
<kris_>
just with saner package templates
<kris_>
kinda sorta reimplemented portage anyway
<stilic>
btw, is it compatible with xbps-src templates as-is?
<kris_>
it's kinda wild to me that someone is actually using this now, i have a recording of it installing its first package literally 3 years ago almost to the day
<kris_>
no absolutely not
<kris_>
the variables are named differently, outside of that it's very close though
<kris_>
if you ignore the use flags feature some things will probably port 1:1
<kris_>
the wrapper functions are also arbitrarily different
<kris_>
actually you have a fair bit of stuff here i need
<kris_>
god i miss being able to swap fn/ctrl on my t480
<kris_>
that's like the only drawback to libreboot
<kris_>
my keyboard is stuck being incorrect >:(
<dery>
stilic: oops
<stilic>
dery: dw it was quick to fix
<dery>
oh wait it works correctly though with my copy of kiss
<dery>
is it because of the git patch I made
<dery>
(it's probably that)
<stilic>
now i'm struggling to make cargo recognize the vendored git crates
<dery>
no wait it's not supposed to change that
<dery>
a mystery
<dery>
uh shouldn't it work the same as other vendored crates?
<dery>
you could look at what 'cargo vendor' does
angerisa1ift has quit [Ping timeout: 260 seconds]
angerisagift has joined #kisslinux
floorcrawler has quit [Ping timeout: 252 seconds]
floorcrawler has joined #kisslinux
<stilic>
dery: tbh it's easier to just fetch the stuff using cargo rather than trying to pile all the rust stuff in a kiss package sources file and scripting the exact same process by hand
<stilic>
especially considering how complex the crates system is actually
<stilic>
and also the fact that i have to maintain the same complex build script to manage the vendor dir, ensure the checksums are there, and such
<stilic>
for EVERY rust package
<dery>
whatever works
<stilic>
dery: except it won't
<dery>
I was referring about using cargo?
<stilic>
dery: sorry
<dery>
no worries
<stilic>
i didn't know
<dery>
yea it's fine
<dery>
language barrier and all
<dery>
I am not native either xD
<stilic>
same
<stilic>
anyway
<dery>
(yea if you wondered I didn't assume, I
<dery>
've seen your account on codeberg
<dery>
sorry new keyboard
<dery>
but like yea it's fine if a package is too complex and requires internet. A lot of stuff unfortunately works this way
<stilic>
i'm tired of trying to figure this out with manual scripting when big distros like arch and alpine straight up let cargo download everything itself
<dery>
I doubt that will be upstreamed into the package manager tho
<stilic>
i just want kiss to support a separate step in order to disallow network access
<dery>
again, that might be an issue
<stilic>
?
<dery>
as in
<dery>
features such as these have been discussed already
<dery>
it's been a long while note that
<dery>
but yea from experience I have a feeling that this feature proposal might not be agreed with by many people
<dery>
there exist(ed) a bunch of kiss forks already for diverging feature sets
<stilic>
the thing is that without this feature, it won't Keep It Simple to package rust projects
<stilic>
at best i would say that goes against the philosophy of kiss as a whole
<dery>
i'm really sorry to be this blunt: you know that this distro has literally refused to add software if "too complex"?
<dery>
heck we don't even have dbus
<stilic>
and it can be made optional too
<dery>
trust me
<dery>
we tried that with version templates
<dery>
a literal VERSION placeholder inside the source file
<stilic>
dery: is bubblewrap "too complex"?
<dery>
got reverted
<dery>
it isn't no
<dery>
IMO
<dery>
but I use flatpak and dbus so :P
<stilic>
can i be blamed for spending the last day or so trying to do all the rust crate resolution code within a bare shell script that would have ended up duplicating functionnality cargo already had?
<dery>
no
<dery>
as in, you're right, it's pain
<stilic>
that sounds backward to me
<dery>
java never got packaged for a reason
<stilic>
ik i can fork kiss and all
<stilic>
but
<stilic>
one single feature
<stilic>
that's it
<dery>
just heh, the original point of kiss was to have the minimum for a browser and media player
<dery>
again, we had lots of "one single feature"s that got reverted
<dery>
I'd recommend you to read the old dylan blogs
<stilic>
dery: why is it still in the latest version of the original kiss repo then?
<stilic>
(the VERSION marker)
<dery>
because, it was dylan's idea, back to much backlash
midfavila has joined #kisslinux
<dery>
it even got the repo out of repology
<dery>
just to be clear, I genuinely appreciate your enthusiasm
<midfavila>
woa it dery
<midfavila>
dery
<midfavila>
hi ery
<dery>
just... please, trust a minimum people who've been here long before you
<midfavila>
:33333333
<dery>
(FUCK do I sound old)\
<midfavila>
also what's goin on
<dery>
hi midd
<midfavila>
you ARE old
<dery>
new user proposing pre-fetching step
<midfavila>
once you turn eighteen you're officially an oldhead and certified unced
<dery>
which is cool and all but it's been discussed to death already
<stilic>
dery: did the backslash came from the version marker's existance?
<dery>
yes
<midfavila>
are we talking about prefetching source or binaries or like what
<midfavila>
i should probably read the log but i'm not gonna
<dery>
source
<dery>
like with cargo
* midfavila
stares at
<midfavila>
i've never used cargo
<dery>
apparently the approach used by cbindgen doesn't account for git crates
<dery>
or something, I genuinely don't know as I don't use cargo either. Always just repackaged other stuff
<dery>
I have a fancy-schmancy sources generator that I have updated to include git support but now making the descriptions is apparently too annoying
<dery>
and well, I feel that, just that I genuinely doubt that in the year of our lord 2026 we're ever going to see a major feature added in without issues
<dery>
heck we'll have to see if we ever get sandboxing in at some point
<stilic>
dery: which descriptions are you referring to
<dery>
sorry don't know the term
<dery>
the uh... support files
<dery>
the things cargo reads like checksums and such
<stilic>
the only feature i need (especially since sandboxing is planned: https://codeberg.org/kiss-community/repo/issues/108) is something like a "prepare" file that gets executed before network limitations are put in place
<stilic>
to be realistic, enforcing the use of kiss linux sources for everything won't always work, especially for rust projects
<stilic>
where i had to duplicate the same core logic multiple times for various packages
<stilic>
it clearly doesn't keep the process simple anymore