summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/rangehttpserver
diff options
context:
space:
mode:
authoremilylange <git@emilylange.de>2024-01-04 01:34:15 +0100
committeremilylange <git@emilylange.de>2024-01-04 01:34:15 +0100
commite15783154fb13819d8a149e5df0a0d3412e73f97 (patch)
treed5c84a36ed7f77b4ea90c254cd81fa30b0c776be /pkgs/development/python-modules/rangehttpserver
parent0b15d0fbb0e385edb1ac43f30f6237a071ef9ddb (diff)
chromium: improve and move `recompressTarball`
Recap: We need that (arguably stupid) helper function/drv because the chromium tarball is big -- and is likely to increase even more in the future. So big, that we eventually exceeded hydra.nixos.org's max-output-limit (3G). Instead of raising global hydra's limit, it was decided that we recompress the tarball after deleting unused vendored files from it. I spent a lot of time on a version/prototype that does everything (downloading, decompression, tar extraction, deleting unused files, reproducible tar recreation and finally recompression) via stdin but eventually had to scratch that. GNU tar does not allow to create a tarball just from stdin, nixpkgs' stdenv isn't built with stdin/stdout/pipes in mind, and things a lot of other things I probably already forgot. Nonetheless, this version improves multiple things: - No more `mv` (used to be multiple, not just ours, since fetchzip had some as well) - No more `rm` to get rid of the extracted files before recompressing. Instead, we simply don't extract them in the first place (thanks to tar's --exlude). - No more "no space left" that happened due to `downloadToTemp = true;`. - Multithreaded xz decompression, since that commit is still in staging-next. We cannot use stdenv's unpackFile() because that does not allow us to specify the needed --exclude (and --strip-components=1 if we don't want to rely on glob matching). The hash changed because we now have a static base directory ("source") in the tarball, instead of whatever upstream provided us with (e.g. "chromium-120.0.6099.129").
Diffstat (limited to 'pkgs/development/python-modules/rangehttpserver')
0 files changed, 0 insertions, 0 deletions