John Ericson
f4ab297b31
Ensure all headers have #pragma once
and are in API docs
...
`///@file` makes them show up in the internal API dos. A tiny few were
missing `#pragma once`.
2023-03-31 23:19:44 -04:00
Eelco Dolstra
d62a9390fc
Get rid of std::shared_ptr<std::string> and ref<std::string>
...
These were needed back in the pre-C++11 era because we didn't have
move semantics. But now we do.
2022-01-18 11:12:30 +01:00
Tom Bereknyei
03bb8f84e0
Add compression level for NARs
...
Based off on @dtzWill's #2276
2021-10-12 02:14:36 -04:00
Eelco Dolstra
5385755227
Remove makeDecompressionSource()
...
This function doesn't support all compression methods (i.e. 'none' and
'br') so it shouldn't be exposed.
Also restore the original decompress() as a wrapper around
makeDecompressionSink().
2021-04-22 10:23:20 +02:00
Eelco Dolstra
15f4d4fd43
Drop libbz2 / zlib / lzma dependency + style fixes
2021-04-15 13:55:22 +02:00
Yorick
8a0c00b856
Use libarchive for all compression
2021-03-10 22:34:29 +01:00
Eelco Dolstra
d3761f5f8b
Fix Brotli decompression in 'nix log'
...
This didn't work anymore since decompression was only done in the
non-coroutine case.
Decompressors are now sinks, just like compressors.
Also fixed a bug in bzip2 API handling (we have to handle BZ_RUN_OK
rather than BZ_OK), which we didn't notice because there was a missing
'throw':
if (ret != BZ_OK)
CompressionError("error while compressing bzip2 file");
2018-08-06 15:40:29 +02:00
Eelco Dolstra
3e6b194d78
decompress(): Use a Source and Sink
...
This allows decompression to happen in O(1) memory.
2018-03-16 20:35:59 +01:00
AmineChikhaoui
55ecdfe2a8
make multi threaded compression configurable and use single threaded
...
by default.
2018-02-07 17:54:08 +01:00
Eelco Dolstra
895a74a814
LocalFSStore::getBuildLog(): Handle corrupted logs
2017-03-21 19:23:35 +01:00
Eelco Dolstra
0d4a10e910
Do compression in a sink
2016-05-04 16:16:53 +02:00
Eelco Dolstra
538a64e8c3
Add a Store::addToStore() variant that accepts a NAR
...
As a side effect, this ensures that signatures are propagated when
copying paths between stores.
Also refactored import/export to make use of this.
2016-05-04 16:15:54 +02:00
Eelco Dolstra
5acb691402
BinaryCacheStore: Support "none" compression method
2016-04-29 17:02:57 +02:00
Eelco Dolstra
d1b0909894
BinaryCacheStore::readFile(): Return a shared_ptr to a string
...
This allows readFile() to indicate that a file doesn't exist, and
might eliminate some large string copying.
2016-04-15 15:39:48 +02:00
Eelco Dolstra
eff5021eaa
Add xz compression function
...
This is used by the Hydra queue runner, but since it may also be
useful for the C++ rewrite of nix-push, I'm putting it here.
2016-02-15 21:45:56 +01:00
Eelco Dolstra
1f735a3440
<nix/fetchurl.nix>: Support xz-compressed NARs
2015-10-30 12:34:30 +01:00