mirror of
https://github.com/NixOS/nix
synced 2025-07-07 10:11:47 +02:00
use libbrotli directly when available
* Look for both 'brotli' and 'bro' as external command, since upstream has renamed it in newer versions. If neither are found, current runtime behavior is preserved: try to find 'bro' on PATH. * Limit amount handed to BrotliEncoderCompressStream to ensure interrupts are processed in a timely manner. Testing shows negligible performance impact. (Other compression sinks don't seem to require this)
This commit is contained in:
parent
6a0dd63508
commit
9dd2b8ac7b
7 changed files with 212 additions and 18 deletions
28
tests/brotli.sh
Normal file
28
tests/brotli.sh
Normal file
|
@ -0,0 +1,28 @@
|
|||
source common.sh
|
||||
|
||||
|
||||
# Only test if we found brotli libraries
|
||||
# (CLI tool is likely unavailable if libraries are missing)
|
||||
if [ -n "$HAVE_BROTLI" ]; then
|
||||
|
||||
clearStore
|
||||
clearCache
|
||||
|
||||
cacheURI="file://$cacheDir?compression=br"
|
||||
|
||||
outPath=$(nix-build dependencies.nix --no-out-link)
|
||||
|
||||
nix copy --to $cacheURI $outPath
|
||||
|
||||
HASH=$(nix hash-path $outPath)
|
||||
|
||||
clearStore
|
||||
clearCacheCache
|
||||
|
||||
nix copy --from $cacheURI $outPath --no-check-sigs
|
||||
|
||||
HASH2=$(nix hash-path $outPath)
|
||||
|
||||
[[ $HASH = $HASH2 ]]
|
||||
|
||||
fi # HAVE_BROTLI
|
|
@ -32,6 +32,7 @@ export xmllint="@xmllint@"
|
|||
export SHELL="@bash@"
|
||||
export PAGER=cat
|
||||
export HAVE_SODIUM="@HAVE_SODIUM@"
|
||||
export HAVE_BROTLI="@HAVE_BROTLI@"
|
||||
|
||||
export version=@PACKAGE_VERSION@
|
||||
export system=@system@
|
||||
|
|
|
@ -19,7 +19,8 @@ nix_tests = \
|
|||
fetchGit.sh \
|
||||
fetchMercurial.sh \
|
||||
signing.sh \
|
||||
run.sh
|
||||
run.sh \
|
||||
brotli.sh
|
||||
# parallel.sh
|
||||
|
||||
install-tests += $(foreach x, $(nix_tests), tests/$(x))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue