lix/src/libutil
eldritch horrors 4ec87742a1 libstore: rewrite the nar parser as a contents generator
this is not completely necessary at this point because the parser right
now already returns a generator to pass through all input data it read,
but the nar parser *was* very lax and would accept nars that weren't in
canonical form (defined as the form dumpPath would return). nar hashing
depends on these things, and as such rewriting the parser now allows us
to reject non-canonical nars that extract to the same store contents as
their canonical counterpart but have different nar hashes despite that.

Change-Id: Iccd319e3bd5912d8297014c84c495edc59019bb7
2024-07-16 00:57:42 +00:00
..
args libutil: fix args assert being thrown on Darwin in nix-eval-jobs 2024-05-31 12:17:06 +00:00
abstract-setting-to-json.hh HOT SALE: 15% off your build times! 2024-03-27 03:52:57 +00:00
ansicolor.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
archive.cc libstore: rewrite the nar parser as a contents generator 2024-07-16 00:57:42 +00:00
archive.hh libstore: rewrite the nar parser as a contents generator 2024-07-16 00:57:42 +00:00
args.cc libutil: fix args assert being thrown on Darwin in nix-eval-jobs 2024-05-31 12:17:06 +00:00
args.hh libutil: fix args assert being thrown on Darwin in nix-eval-jobs 2024-05-31 12:17:06 +00:00
box_ptr.hh Add box_ptr: nonnull unique_ptr with value semantics 2024-03-11 01:04:52 -07:00
canon-path.cc util.{hh,cc}: Split out file-system.{hh,cc} 2024-05-29 09:54:47 +02:00
canon-path.hh Merge remote-tracking branch 'upstream/master' into source-path 2023-04-17 11:41:50 +02:00
cgroup.cc util.{hh,cc}: Split out strings.{hh,cc} 2024-05-29 11:01:34 +02:00
cgroup.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
checked-arithmetic.hh libutil: add checked arithmetic tools 2024-07-13 00:56:37 +02:00
chunked-vector.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
closure.hh libutil: de-callback-ify computeClosure 2024-05-07 14:35:20 +00:00
comparator.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
compression.cc libutil: remove makeDecompressionSink 2024-07-11 11:39:18 +00:00
compression.hh libutil: remove makeDecompressionSink 2024-07-11 11:39:18 +00:00
compute-levels.cc Add x86_64 compute levels as additional system types 2021-02-22 09:11:15 +01:00
compute-levels.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
config-impl.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
config.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
config.hh chore: rebrand Nix to Lix when it makes sense 2024-06-01 20:31:24 +02:00
current-process.cc Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-29 22:16:15 -07:00
current-process.hh util.{hh,cc}: Split out current-process.{hh,cc} 2024-05-29 11:01:34 +02:00
english.cc Unify and refactor value printing 2024-03-09 03:50:06 +01:00
english.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
environment-variables.cc util.{hh,cc}: Split out environment-variables.{hh,cc} 2024-05-28 11:29:29 +02:00
environment-variables.hh util.{hh,cc}: Split out environment-variables.{hh,cc} 2024-05-28 11:29:29 +02:00
error.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
error.hh libmain: fix UB in verbosity assignment 2024-06-18 19:26:54 -07:00
escape-char.cc Move DebugChar into its own file 2024-03-28 15:54:12 -07:00
escape-char.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
escape-string.cc Add EscapeStringOptions and escapeString tests 2024-04-03 16:25:54 +00:00
escape-string.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
exit.cc :quit in the debugger should quit the whole program 2024-03-09 10:17:26 -07:00
exit.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
experimental-features-json.hh HOT SALE: 15% off your build times! 2024-03-27 03:52:57 +00:00
experimental-features.cc chore: rebrand Nix to Lix when it makes sense 2024-06-01 20:31:24 +02:00
experimental-features.hh HOT SALE: 15% off your build times! 2024-03-27 03:52:57 +00:00
file-descriptor.cc libutil: convert drainFD to a Bytes generator 2024-07-03 11:46:53 +00:00
file-descriptor.hh libutil: convert drainFD to a Bytes generator 2024-07-03 11:46:53 +00:00
file-system.cc libutil: implement a realPath() utility 2024-07-15 15:26:53 -06:00
file-system.hh libutil: implement a realPath() utility 2024-07-15 15:26:53 -06:00
finally.hh libutil: guard Finally against invalid exception throws 2024-04-05 20:13:02 +00:00
fmt.hh libutil: Set boost defines for FreeBSD 2024-06-16 03:41:15 +00:00
generator.hh libutil: generator type with on-yield value mapping 2024-07-03 11:46:53 +00:00
git.cc Fix the parsing of the sourcehut refs file 2022-05-04 14:38:59 +02:00
git.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
hash.cc libutil: convert readFileSource to a generator 2024-07-05 22:28:16 +00:00
hash.hh libutil: turn HashModuloSink into a free function 2024-07-06 12:36:37 +02:00
hilite.cc Fix incorrect comment in hiliteMatches 2022-06-05 20:30:18 +02:00
hilite.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
input-accessor.hh util.{hh,cc}: Split out file-system.{hh,cc} 2024-05-29 09:54:47 +02:00
json-impls.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
json-utils.cc Fix derivation load assertion errors 2023-08-05 01:34:30 +02:00
json-utils.hh fix: nlohmann::adl_serializer for std::optional (#9147) 2024-03-04 07:11:25 +01:00
lix-util.pc.in packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
logging-json.hh HOT SALE: 15% off your build times! 2024-03-27 03:52:57 +00:00
logging.cc libmain: fix UB in verbosity assignment 2024-06-18 19:26:54 -07:00
logging.hh tree-wide: unify progress bar inactive and paused states 2024-07-01 18:19:34 +02:00
lru-cache.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
meson.build libutil: add checked arithmetic tools 2024-07-13 00:56:37 +02:00
monitor-fd.hh util.hh: split out signals stuff 2024-03-11 00:52:09 -07:00
namespaces.cc libutil: return Pid from startProcess, not pid_t 2024-06-23 11:52:49 +00:00
namespaces.hh util.{hh,cc}: Split out namespaces.{hh,cc} 2024-05-29 11:41:16 +02:00
pool.hh Revert "libutil: drop Pool resources on exceptional free" 2024-04-05 20:13:02 +00:00
position.cc match line endings used by parser and error reports 2024-03-18 16:12:46 +01:00
position.hh match line endings used by parser and error reports 2024-03-18 16:12:46 +01:00
print-elided.cc Move escapeString to its own file 2024-03-29 16:26:29 -07:00
print-elided.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
processes.cc libutil: return sources from runProgram2 2024-07-06 12:36:36 +02:00
processes.hh libutil: return sources from runProgram2 2024-07-06 12:36:36 +02:00
ref.hh add and fix -Wdeprecated-copy 2024-05-09 13:02:45 +00:00
references.cc libutil: rewrite RewritingSink as source 2024-07-11 11:39:18 +00:00
references.hh libutil: rewrite RewritingSink as source 2024-07-11 11:39:18 +00:00
regex-combinators.hh util.{hh,cc}: Split out strings.{hh,cc} 2024-05-29 11:01:34 +02:00
regex.cc gc: Find roots using libproc on Darwin 2024-04-25 23:24:21 -04:00
regex.hh gc: Find roots using libproc on Darwin 2024-04-25 23:24:21 -04:00
repair-flag.hh Merge pull request #9634 from 9999years/combine-abstract-pos-and-pos 2024-03-05 23:46:18 -07:00
serialise.cc libutil: begin porting serialization to generators 2024-07-03 11:46:53 +00:00
serialise.hh libutil: allow construction of sources from generators 2024-07-05 22:28:16 +00:00
shlex.cc util.{hh,cc}: Split out strings.{hh,cc} 2024-05-29 11:01:34 +02:00
shlex.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
signals.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
signals.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
source-path.cc Fix various clang-tidy lints 2024-03-29 20:26:38 -07:00
source-path.hh libstore: convert dumpPath to a generator 2024-07-05 22:28:16 +00:00
split.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
strings.cc libutil: rewrite RewritingSink as source 2024-07-11 11:39:18 +00:00
strings.hh Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-29 22:16:15 -07:00
suggestions.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
suggestions.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
sync.hh libutil: tidy Sync and fix its move constructor 2024-06-18 15:11:31 -07:00
tarfile.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
tarfile.hh TarArchive: Remove a duplicate constant and increase the buffer size 2023-04-25 16:43:10 +02:00
terminal.cc util.{hh,cc}: Split out terminal.{hh,cc} 2024-05-29 09:54:47 +02:00
terminal.hh util.{hh,cc}: Split out terminal.{hh,cc} 2024-05-29 09:54:47 +02:00
thread-pool.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
thread-pool.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
topo-sort.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
types.hh libutil: add Bytes type 2024-07-03 11:46:53 +00:00
unix-domain-socket.cc libutil: give Pid proper resource semantics 2024-06-23 11:52:49 +00:00
unix-domain-socket.hh util.{hh,cc}: Split out unix-domain-socket.{hh,cc} 2024-05-29 11:01:34 +02:00
url-name.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
url-name.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
url-parts.hh Reject fully-qualified URLs in 'from' argument of nix registry add 2024-06-29 05:11:31 +00:00
url.cc Reject fully-qualified URLs in 'from' argument of nix registry add 2024-06-29 05:11:31 +00:00
url.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
users.cc util.{hh,cc}: Split out users.{hh,cc} 2024-05-29 11:01:34 +02:00
users.hh util.{hh,cc}: Split out users.{hh,cc} 2024-05-29 11:01:34 +02:00
variant-wrapper.hh Fixing #7479 2023-08-18 11:44:00 -04:00
xml-writer.cc xml-writer: Remove std aliases 2022-02-25 16:13:02 +01:00
xml-writer.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00