aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-08-30Merge pull request #5187 from trofi/prefer-inplace-libsEelco Dolstra
mk: prefert inplace library paths to system ones
2021-08-30Merge pull request #5191 from hercules-ci/evalstate-lifetime-hygieneEelco Dolstra
EvalState lifetime hygiene
2021-08-30Merge pull request #5192 from hercules-ci/non-null-posEelco Dolstra
Force all Pos* to be non-null
2021-08-30TidyRobert Hensing
2021-08-29Fix use after free with vImportedDrvToDerivationRobert Hensing
2021-08-29Move vCallFlake into EvalStateRobert Hensing
This fixes a use-after-free bug: 1. s = new EvalState(); 2. callFlake() 3. static vCallFlake now references s 4. delete s; 5. s2 = new EvalState(); 6. callFlake() 7. static vCallFlake still references s 8. crash Nix 2.3 did not have a problem with recreating EvalState.
2021-08-29Force all Pos* to be non-nullRobert Hensing
This fixes a class of crashes and introduces ptr<T> to make the code robust against this failure mode going forward. Thanks regnat for the idea of a ref<T> without overhead! Closes #4895 Closes #4893 Closes #5127 Closes #5113
2021-08-28mk: prefert inplace library paths to system onesSergei Trofimovich
The link failure happens on a system with stable nix-2.3.15 installed in /usr/lib64 (it's libutil.so API differs from master): ``` LANG=C make V=1 g++ -o /home/slyfox/dev/git/nix/src/libstore/libnixstore.so \ -shared -L/usr/lib64 -Wl,--no-copy-dt-needed-entries \ src/libstore/binary-cache-store.o ... src/libstore/uds-remote-store.o \ -lsqlite3 -lcurl -lsodium -pthread -ldl -lseccomp -Wl,-z,defs -Wl,-soname=libnixstore.so -Wl,-rpath,/home/slyfox/dev/git/nix/src/libutil -Lsrc/libutil -lnixutil ld: src/libstore/binary-cache-store.o: in function `nix::BinaryCacheStore::BinaryCacheStore( std::map<std::__cxx11::basic_string<char, std::char_traits<char>, ... nix/src/libstore/binary-cache-store.cc:30: undefined reference to `nix::readFile( std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' ... ... ``` This happens due to `-L/usr/lib64 -Lsrc/libutil` search path ordering. The change turns it into `-Lsrc/libutil -L/usr/lib64`. Closes: https://github.com/NixOS/nix/issues/3087
2021-08-23Coding styleEelco Dolstra
2021-08-23Merge branch 'fix/subflake-follows-fix' of ↵Eelco Dolstra
https://github.com/ArctarusLimited/nix
2021-08-23Merge pull request #5160 from CertainLach/fix/invalid-characters-in-json-loggerEelco Dolstra
Replace invalid characters in json logger
2021-08-23Merge branch 'fix-attr-path-prefixes' of https://github.com/jtojnar/nixEelco Dolstra
2021-08-22Replace invalid characters in json loggerYaroslav Bolyukin
Fixes #5159 Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
2021-08-21nix {bundle,run}: drop broken flake attr-path prefixesJan Tojnar
“packages” was probably meant to be “packages.${system}.” but that is already listed in `getDefaultFlakeAttrPathPrefixes` in `installables`, which is probably why no one noticed it was broken.
2021-08-21nix develop: Fix `devShells` lookupJan Tojnar
It currently fails with the following error: error: flake 'git+file://…' does not provide attribute 'devShells.x86_64-linuxhaskell', 'packages.x86_64-linux.haskell', 'legacyPackages.x86_64-linux.haskell' or 'haskell'
2021-08-20Merge pull request #5153 from Pamplemousse/cleanEelco Dolstra
15f4d4f Documentation follow-up
2021-08-1915f4d4f Documentation follow-upPamplemousse
2021-08-19Merge pull request #5150 from NixOS/install-no-rsyncDomen Kožar
Remove rsync usage in the installer
2021-08-18Remove rsync usage in the installerDomen Kožar
It's not commonly installed on systems like debian, so avoid the bootstrapping problem by using cp and chmod.
2021-08-17Add tests for flake follow pathsAlex Zero
2021-08-17Fix follows paths in subordinate lockfilesAlex Zero
2021-08-16Merge pull request #5134 from pszubiak/fix-pkgconfig-install-pathEelco Dolstra
Install pkg-config files in the correct location
2021-08-16Merge pull request #5135 from Mic92/ca-typoEelco Dolstra
fix typo in ca-error message
2021-08-14fix typo in ca-error messageJörg Thalheim
2021-08-13Install pkg-config files in the correct locationPiotr Szubiakowski
Use `$(libdir)` while installing .pc files looks like a more generic solution. For example, it will work for distributions like RHEL or Fedora where .pc files are installed in `/usr/lib64/pkgconfig`.
2021-08-13Merge pull request #5130 from alyssais/sys_nameEelco Dolstra
configure.ac: remove another uname check
2021-08-13configure.ac: remove another uname checkAlyssa Ross
uname checks are not cross-safe. The normalization for Cygwin doesn't need any equivalent for host_os because nothing actually checked whether sys_name was cygwin any more.
2021-08-11Merge pull request #5124 from edolstra/lock-file-diffEelco Dolstra
Improve flake lock file diffs
2021-08-11flake.lock: UpdateEelco Dolstra
Flake lock file changes: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/f77036342e2b690c61c97202bf48f2ce13acc022' (2021-06-28) → 'github:NixOS/nixpkgs/f6551e1efa261568c82b76c3a582b2c2ceb1f53f' (2021-08-11)
2021-08-11In flake lock file diffs, show the last-modified date of inputs if availableEelco Dolstra
This is a bit more informative than just the hash. Also, format the diffs a bit nicer.
2021-08-11Merge pull request #5123 from Pamplemousse/cleanEelco Dolstra
15f4d4f follow up
2021-08-1015f4d4f follow upPamplemousse
* libstore: `bz2` should not be linked * libutil: `zlib.h` should not be included Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-08-10Merge pull request #5115 from r-burns/darwin-host-osDomen Kožar
Fix host OS detection for darwin-specific linker flag
2021-08-10Fix host OS detection for darwin-specific linker flagRyan Burns
2021-08-09Merge pull request #5111 from Pamplemousse/cleanEelco Dolstra
Minor maintenance cleaning
2021-08-09libexpr: Squash similar conditionsPamplemousse
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-08-09Merge pull request #5101 from fzakaria/faridzakaria/fix-nix-shellEelco Dolstra
nix-shell --pure: Let it work for any derivation
2021-08-09Merge pull request #5104 from andir/refscan-raceEelco Dolstra
Fix potential race-condition in reference scanning code
2021-08-09Merge pull request #5106 from andir/libstore-waiter-setEelco Dolstra
libstore: use set instead of list for waiter list
2021-08-09Merge pull request #5102 from serokell/balsoft/whitelist-flake-registryEelco Dolstra
Whitelist nixConfig.flake-registry
2021-08-08libstore: use set instead of list for waiter listAndreas Rammhold
This replaces the O(n) search complexity in our insert code with a lookup of O(log n). It also makes removing waitees easier as we can use the extract method provided by the set class.
2021-08-07Fix potential race-condition in reference scanning codeAndreas Rammhold
Previously the code ensures that the isBase32 array would only be initialised once in a single-threaded context. If two threads happen to call the function before the initialisation was completed both of them would have completed the initialization step. This allowed for a race-condition where one thread might be done with the initialization but the other thread sets all the fields to false again. For a brief moment the base32 detection would then produce false-negatives.
2021-08-07Whitelist nixConfig.flake-registryAlexander Bantyev
flake-registry should be safe to set to an aribtrary value, since it is identical to just setting `inputs`.
2021-08-06nix-shell --pure: Let it work for any derivationFarid Zakaria
`nix-shell --pure` when applied to a non stdenv derivation doesn't seem to clear the PATH. It expects the stdenv/setup file to do so. This adds an explicit `unset PATH` by nix-build.cc (nix-shell) itself so that it's not reliant on stdenv/setup anymore. This does not break impure nix-shell since the PATH is persisted as the variable `p` prior in the bash rcfile fixes #5092
2021-08-06Merge pull request #5075 from andir/libutil-base64-initEelco Dolstra
libutil: initialize the base64 decode array only once
2021-08-05Merge pull request #5094 from Pamplemousse/simpler_docEelco Dolstra
doc/manual: don't need to copy `highlight.js` manually
2021-08-04doc/manual: don't need to copy `highlight.js` manuallyPamplemousse
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-08-02Merge pull request #5082 from manveru/fix-git-init-raceEelco Dolstra
fix git init race condition
2021-08-02fix git init race conditionMichael Fellinger
2021-08-01Merge pull request #5077 from ldesgoui/nix-shell-argsEelco Dolstra
nix-shell -p: pass `--arg`s as nixpkgs parameters