Jörg Thalheim
aeffdeffc8
Merge pull request #11826 from DeterminateSystems/revert-11804
...
Revert "Merge pull request #11804 from obsidiansystems/remove-old-make"
2024-11-08 12:04:55 +01:00
John Ericson
a6149eb89d
Add eofOk parameter to the Windows readLine impl
...
Now the two implementations are back in sync.
2024-11-07 15:11:44 -05:00
John Ericson
372353722e
Clean up standard stream logic
...
Now we have enough portability stuff
2024-11-07 15:11:41 -05:00
Eelco Dolstra
67d231c046
Revert "Merge pull request #11804 from obsidiansystems/remove-old-make"
...
This reverts commit 619eeb658a , reversing
changes made to 1af94bf471 .
2024-11-07 13:46:37 +01:00
Robert Hensing
ffc1b30f50
refact: Extract build-utils-meson/libatomic
2024-11-07 11:40:02 +01:00
John Ericson
e70c9bb06a
Remove old build system
2024-11-06 16:09:18 -05:00
Robert Hensing
f7b1e535a3
nix::readLine: Add eofOk parameter
2024-11-06 14:42:51 +01:00
Jörg Thalheim
2ef5e222df
Merge pull request #11813 from xokdvium/dev/fix-use-after-free-libstore-tests
...
fix(libstore-tests): remove use-after-free bug for `StringSource`
2024-11-06 06:48:20 +01:00
Sergei Zimmerman
5bc8957c73
fix(libstore-tests): remove use-after-free bug for StringSource
...
Unfortunately `StringSource` class is very easy was very easy to misuse
because the ctor took a plain `std::string_view` which has a bad habit
of being implicitly convertible from an rvalue `std::string`. This lead
to unintentional use-after-free bugs.
This patch makes `StringSource` much harder to misuse by disabling the ctor
from a `std::string &&` (but `const std::string &` is ok).
Fix affected tests from libstore-tests.
Reformat those tests with clangd's range formatting since the diff is tiny
and it seems appropriate.
2024-11-06 02:28:21 +03:00
Brian McKenna
9dca7aeece
Set Windows API version in Meson
2024-11-05 23:36:08 +11:00
Bryan Honof
0b790b4849
feat: add flag set-env-var to MixEnvironment
2024-11-04 14:02:29 +01:00
Artemis Tosini
d023202811
Add support for utimensat as an alternative to lutimes
...
OpenBSD doesn't support `lutimes`, but does support `utimensat` which
subsumes it. In fact, all the BSDs, Linux, and newer macOS all support
it. So lets make this our first choice for the implementation.
In addition, let's get rid of the `lutimes` `ENOSYS` special case. The
Linux manpage says
> ENOSYS
>
> The kernel does not support this call; Linux 2.6.22 or later is
> required.
which I think is the origin of this check, but that's a very old version
of Linux at this point. The code can be simplified a lot of we drop
support for it here (as we've done elsewhere, anyways).
Co-Authored-By: John Ericson <John.Ericson@Obsidian.Systems>
2024-10-26 18:02:24 +00:00
Robert Hensing
766263d53a
Fix meson build on darwin
...
std::stringbuf is defined in <sstream>
2024-10-22 15:30:03 +02:00
Robert Hensing
f51974d698
Merge pull request #11665 from roberth/fix-Interrupted-falling-out-of-thread
...
Fix `Interrupted` falling out of thread crash
2024-10-16 20:09:29 +02:00
Robert Hensing
ed184f0b61
Typo
...
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2024-10-16 19:40:45 +02:00
Robert Hensing
fd8a4a86d9
ThreadPool: don't silently ignore non-std exceptions
...
Introduced in 8f6b347abd without explanation.
Throwing anything that's not that is a programming mistake that we don't want
to ignore silently. A crash would be ok, because that means we/they can fix
the offending throw.
2024-10-16 17:56:08 +02:00
Robert Hensing
16320f6d24
Handle ThreadPoolShutdown with normal catch
2024-10-16 17:56:08 +02:00
Robert Hensing
3f9ff10786
ThreadPool: catch Interrupted
2024-10-16 17:56:08 +02:00
Robert Hensing
15e3e1543b
packaging: Add mkMeson{Library,Executable}
...
and:
- move pkg-config out of mkMesonDerivation, for components that don't
produce any executable code
2024-10-13 23:17:54 +02:00
Robert Hensing
0aef34b790
packaging: Add mesonLayer
...
... and remove a few unused arguments.
This adds pkg-config to a two or three packages that don't use it,
but we shouldn't let that bother us. It's like our personal stdenv.
2024-10-13 22:39:53 +02:00
Robert Hensing
30c4f5eb51
Merge pull request #11682 from NaN-git/opt-str
...
Remove superfluous `std::string` copy operations
2024-10-12 10:59:40 +02:00
Philipp Otterbein
a353a99269
cont. cleanup: remove superfluous std::string copies
2024-10-08 02:25:52 +02:00
Philipp Otterbein
e21c7895eb
MacOS built: add workaround for missing view() member of std::ostringstream
2024-10-07 02:05:53 +02:00
Philipp Otterbein
caf3b55891
cont. cleanup: remove superfluous std::string copies
2024-10-07 01:15:44 +02:00
Eelco Dolstra
15e5684884
experimental-features.hh: Don't include json-utils.hh
...
This caused nlohmann/json.hpp to leak into a lot of compilation units,
which is slow (when not using precompiled headers).
Cuts build time from 46m24s to 42m5s (real time with -j24: 2m42s to
2m24s).
2024-10-04 15:59:35 +02:00
Eelco Dolstra
3e7b42dd89
Merge pull request #11618 from NixOS/ignoreException-interrupt
...
Split ignoreException for destructors vs interrupt-safe
2024-10-01 17:10:39 +02:00
Bryan Honof
1f024ecfcd
fix: warn on malformed URI query parameter
2024-09-30 14:44:06 +02:00
Robert Hensing
3df619339c
Split ignoreException for destructors or interrupt-safe
2024-09-30 11:50:25 +02:00
John Ericson
2b6b03d8df
Ensure error messages don't leak private key
...
Since #8766 , invalid base64 is rendered in errors, but we don't actually
want to show this in the case of an invalid private keys.
Co-Authored-By: Eelco Dolstra <edolstra@gmail.com>
2024-09-23 16:36:48 -04:00
John Ericson
d0c351bf43
Revert "base64Decode: clearer error message when an invalid character is detected"
...
We have a safer way of doing this.
This reverts commit dc3ccf02bf .
2024-09-20 10:41:45 -04:00
Eelco Dolstra
9ea29ea517
Merge pull request #11540 from NixOS/meson-arm-atomic
...
nix-util / meson: Add -latomic on arm
2024-09-19 16:09:14 +02:00
Robert Hensing
56b8911766
nix-util / meson: Add -latomic on arm
...
I couldn't get the test program to work correctly after many attempts,
so let's just unblock this without making it perfect.
2024-09-19 00:01:24 +02:00
Robert Hensing
5c87c40a5e
Use close_range when available
...
This fixes the FreeBSD build of nix-util
2024-09-18 22:42:44 +02:00
John Ericson
95f2b2beab
Merge pull request #8766 from brianmcgee/fix/base64-decode-error-message
...
base64Decode: clearer error message when an invalid character is detected
2024-09-17 09:59:15 -04:00
Robert Hensing
799abea0c4
Merge pull request #11330 from NixOS/packfile
...
libgit2, GitRepo: Write (thin) packfiles
2024-09-16 14:42:59 +02:00
Eelco Dolstra
7aa3e7e3a5
Make the NAR parser much stricter wrt field order
...
We really want to enforce a canonical representation since NAR
hashing/signing/deduplication depends on that.
2024-09-12 15:57:46 +02:00
Eelco Dolstra
27ec0def74
Typo
2024-09-12 15:33:55 +02:00
Eelco Dolstra
69bf9947c7
Put 'names' in the right scope
2024-09-12 15:29:54 +02:00
Eelco Dolstra
4de9587e50
Improve badArchive()
2024-09-12 15:27:55 +02:00
John Ericson
db7c868d24
Merge pull request #11378 from Mic92/nix-dir-errors
...
builtins.readDir: fix nix error trace on filesystem errors
2024-09-11 13:10:28 -04:00
John Ericson
193dc49097
tweak unpack channel built-in, std::filesystem::path for tarball
2024-09-11 12:29:49 -04:00
Noam Yorav-Raphael
38bfbb297c
Use envvars NIX_CACHE_HOME, NIX_CONFIG_HOME, NIX_DATA_HOME, NIX_STATE_HOME if defined ( #11351 )
2024-09-11 10:36:46 +00:00
Jörg Thalheim
1ca1439b1f
add missing filesystem include (x86_64-darwin fix)
2024-09-10 16:45:39 +02:00
Eelco Dolstra
9c0e968843
Merge commit from fork
...
Fix unsafe NAR unpacking
2024-09-10 12:42:55 +02:00
Eelco Dolstra
5ca2f58798
Improve use-case-hack description slightly
2024-09-09 14:29:05 +02:00
Eelco Dolstra
5e337ee60d
Merge pull request #11412 from parkerhoyes/daemon-cgroup
...
Move daemon process into sub-cgroup
2024-09-09 13:49:31 +02:00
Eelco Dolstra
9fcb588dd8
RestoreSink::createDirectory(): Use append()
...
On macOS, `mkdir("x/')` behaves differently than `mkdir("x")` if `x` is
a dangling symlink (the formed succeed while the latter fails). So make
sure we always strip the trailing slash.
2024-09-05 22:21:53 +02:00
Eelco Dolstra
3557587381
Detect NAR directory entries that collide with another path after case-hacking
...
The test was made by @puckipedia.
2024-09-05 19:26:10 +02:00
Eelco Dolstra
da1ad28912
Test that nix-store --restore fails if the output already exists
...
This restores the behaviour from before the std::filesystem
refactorings.
2024-09-05 16:48:43 +02:00
Jörg Thalheim
5a5a010120
Revert "fix: Error on malformed URI query parameter"
...
This reverts commit c9f45677b5 .
This now triggers on simple cases like `nix build .#nix`.
Reverting for now.
2024-09-05 15:18:16 +02:00