Well, fuck. Some of the internal APIs I came up with are completely wrong, and will have to be rewritten. I have an idea, and it should work out better, but... now I'm frustrated, so I'm gonna put this down and do something else for a bit.
0 Boosts
0 Likes
Ah, much better, at least mood-wise. We'll see how the new APIs will turn out.
❯ cargo run -q -- -s tmp/foo import input pkgin
tmp/foo/pzs3cf3nrg9xhmqfnkepqasx9y3pgx868sq9tkfhomto1z79dino-pkgin-summary
❯ ll tmp/foo/pzs3cf3nrg9xhmqfnkepqasx9y3pgx868sq9tkfhomto1z79dino-pkgin-summary
drwxr-xr-x - algernon 2026-09-19 21:54 tmp/foo/pzs3cf3nrg9xhmqfnkepqasx9y3pgx868sq9tkfhomto1z79dino-pkgin-summary
.rw-r--r-- 4.3M algernon 2026-09-19 21:54 ├── pkg_summary.bz2
.rw-r--r-- 2.1M algernon 2026-09-19 21:54 └── SHA512.bz2
Yay!
As today is a low spoon day, I think this is where I will stop for now.
Tomorrow's plan: teach it to install a binary package, based on the imported pkg_summary input.
I'll do this in multiple steps:
- Download the appropriate tarball into the store. Since I have the SHA512 hash of it, I can use that as the tarball's hash ahead of time.
- Create a
.drvthat "builds" an output from the tarball. - Actually implement the builder (a shell script will do for now).
- Teach it to install dependencies too.
Hm, come to think of it. I could get rid of a partition if I treated sets as binary packages too, and shoved them into the store.
Well, fuck. Some of the internal APIs I came up with are completely wrong, and will have to be rewritten. I have an idea, and it should work out better, but... now I'm frustrated, so I'm gonna put this down and do something else for a bit.