John Ericson
3b49f7a143
Deduplicate our many package.nix
a bit ( #11175 )
...
- They should all be built in parallel
- They should all use strict deps by default
2024-07-25 03:12:39 +00:00
Valentin Gagarin
a2fed6db9e
manual: Contributing -> Development, Hacking -> Building ( #9014 )
...
* manual: Contributing -> Development, Hacking -> Building
what's currently called "hacking" are really instructions for setting up
a development environment and compiling from source. we have
a contribution guide in the repo (which rightly focuses on GitHub
workflows), and the material in the manual is more about working
on the code itself.
since we'd otherwise have three headings that amount to "Building Nix",
this change also moves the "classic Nix" instructions to the top.
we may want to reorganise this in the future, and bring
contributor-oriented information closer to the code, but for now let's
stick to more accurate names to ease navigation.
2024-07-25 02:53:06 +00:00
John Ericson
dcbe2453f5
Change skipped test error code from 99 to 77
...
Meson uses a venerable GNU convention described in
https://www.gnu.org/software/automake/manual/html_node/Scripts_002dbased-Testsuites.html
in which:
> When no test protocol is in use, an exit status of 0 from a test
> script will denote a success, an exit status of 77 a skipped test, an
> exit status of 99 a hard error, and any other exit status will denote
> a failure.
77 is thus what we want, not 99.
2024-07-24 22:36:43 -04:00
John Ericson
f4915af71c
Put flake functional tests in their own group
...
This is a nice thing to have, and it made it easier to work on the
Meson-ifcation of these functional tests too.
2024-07-24 22:31:37 -04:00
Valentin Gagarin
dba1142c01
docs: add identifiers ( #11174 )
...
* docs: add identifiers
* clarify attribute set notation and add examples
* add definition of names
Co-authored-by: Ryan Hendrickson <ryan.hendrickson@alum.mit.edu>
2024-07-25 03:45:34 +02:00
Valentin Gagarin
e062021314
fix NIX_PATH
for real ( #11079 )
...
* fix NIX_PATH overriding
- test restricted evaluation
- test precedence for setting the search path
Co-authored-by: Robert Hensing <robert@roberthensing.nl>
Co-authored-by: John Ericson <git@JohnEricson.me>
2024-07-24 21:17:15 +00:00
Eelco Dolstra
01839b525c
Show when we're unpacking an archive into the Git cache
...
This happens in parallel with the download (which starts later), so
you only see this message when the download has finished but the
import hasn't.
2024-07-24 20:22:26 +02:00
Eelco Dolstra
f6a9a71b38
Warn if the download buffer is full
2024-07-24 20:14:31 +02:00
Eelco Dolstra
8ffea0a018
Add 'download-buffer-size' setting
...
We are piping curl downloads into `unpackTarfileToSink()`, but the
latter is typically slower than the former if you're on a fast
connection. So the download could appear unnecessarily slow. (There is
even a risk that if the Git import is *really* slow for whatever
reason, the TCP connection could time out.)
So let's make the download buffer bigger by default - 64 MiB is big
enough for the Nixpkgs tarball. Perhaps in the future, we could have
an unlimited buffer that spills data to disk beyond a certain
threshold, but that's probably overkill.
2024-07-24 20:10:45 +02:00
Eelco Dolstra
caf4e98f0c
Log download durations
2024-07-24 20:10:41 +02:00
Ryan Hendrickson
e086d5d899
libexpr: experimental pipe operators
2024-07-24 13:17:28 -04:00
Robert Hensing
3172e88af5
Make abort() call sites log first
2024-07-24 16:52:04 +02:00
Eelco Dolstra
874c1bdbbf
Merge pull request #11169 from NixOS/flake-update
...
Flake update
2024-07-24 16:52:03 +02:00
Eelco Dolstra
b13ba7490c
Merge pull request #11162 from NixOS/rename-stack-limit
...
Rename osStackLow -> osStackLimit
2024-07-24 16:18:26 +02:00
Robert Hensing
171ef75218
Rename pre-commit-hooks -> git-hooks-nix
...
Following the upstream rename
2024-07-24 15:55:57 +02:00
Robert Hensing
c316f1557d
flake: Switch to nixos-24.05 channel
...
Flake lock file updates:
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/d0907b75146a0ccc1ec0d6c3db287ec287588ef6?narHash=sha256-PhmkdTJs2SfqKzSyDB74rDKp1MH4mGk0pG/%2BWqrnGEw%3D' (2024-07-24)
→ 'github:NixOS/nixpkgs/63d37ccd2d178d54e7fb691d7ec76000740ea24a?narHash=sha256-7cCC8%2BTdq1%2B3OPyc3%2BgVo9dzUNkNIQfwSDJ2HSi2u3o%3D' (2024-07-21)
2024-07-24 15:31:30 +02:00
Robert Hensing
f9a23c8d21
flake.nix: Remove outdated comment
2024-07-24 15:30:28 +02:00
Robert Hensing
650f189402
flake.nix: Pin libgit2 to a release
2024-07-24 15:24:10 +02:00
Robert Hensing
a16df88252
flake.lock: Update
...
Flake lock file updates:
• Updated input 'flake-compat':
'github:edolstra/flake-compat/35bb57c0c8d8b62bbfd284272c928ceb64ddbde9?narHash=sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm%2B504Ch3sNKLd8%3D' (2023-01-17)
→ 'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33?narHash=sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U%3D' (2023-10-04)
• Updated input 'flake-parts':
'github:hercules-ci/flake-parts/9126214d0a59633752a136528f5f3b9aa8565b7d?narHash=sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm%2BGpZNw%3D' (2024-04-01)
→ 'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7?narHash=sha256-pQMhCCHyQGRzdfAkdJ4cIWiw%2BJNuWsTX7f0ZYSyz0VY%3D' (2024-07-03)
• Updated input 'libgit2':
'github:libgit2/libgit2/45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5?narHash=sha256-oX4Z3S9WtJlwvj0uH9HlYcWv%2Bx1hqp8mhXl7HsLu2f0%3D' (2023-10-18)
→ 'github:libgit2/libgit2/503b66cf00ad7dca940148529f60b1a409ccc462?narHash=sha256-tDUQi%2Bs8sxJ30SmUH7Ln9WmDz5jGatlgKumjwi7KnCo%3D' (2024-07-17)
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/be3ca229c85e978880babdeda9748b14e6aa008f?narHash=sha256-L61BXz7n/yNzOeZ3FqlnUmxj4145JOVeq9fvQTQzbNM%3D' (2024-07-21)
→ 'github:NixOS/nixpkgs/d0907b75146a0ccc1ec0d6c3db287ec287588ef6?narHash=sha256-PhmkdTJs2SfqKzSyDB74rDKp1MH4mGk0pG/%2BWqrnGEw%3D' (2024-07-24)
• Updated input 'pre-commit-hooks':
'github:cachix/pre-commit-hooks.nix/40e6053ecb65fcbf12863338a6dcefb3f55f1bf8?narHash=sha256-nMirxrGteNAl9sWiOhoN5tIHyjBbVi5e2tgZUgZlK3Y%3D' (2024-04-12)
→ 'github:cachix/pre-commit-hooks.nix/f451c19376071a90d8c58ab1a953c6e9840527fd?narHash=sha256-6FPUl7HVtvRHCCBQne7Ylp4p%2BdpP3P/OYuzjztZ4s70%3D' (2024-07-15)
• Removed input 'pre-commit-hooks/flake-utils'
2024-07-24 15:18:50 +02:00
Robert Hensing
68693276f9
Update fixupBoehmStackPointer doc
...
lo might have made sense in the bdwgc code, maybe?, but not here.
2024-07-24 13:02:49 +02:00
Robert Hensing
907b0a371a
Rename osStackLow -> osStackLimit
...
This is in accordance with ARM's naming convention.
"Low" is confusing, because it could refer to either the cold end
of the stack as an abstract data type, or a low address.
These are different places, because the stack grows down through
the address space.
2024-07-24 13:02:49 +02:00
Robert Hensing
e48e0cbab0
markdown.hh: Improve includes
2024-07-24 12:54:40 +02:00
Robert Hensing
0bd2d36375
Document renderMarkdownToTerminal
2024-07-24 12:53:37 +02:00
Robert Hensing
7d4d34a27d
eval-gc.cc: Fix warning
2024-07-24 12:48:38 +02:00
Robert Hensing
6e680a6644
tests/functional/repl: Improve failure reporting
2024-07-24 12:48:38 +02:00
Robert Hensing
c4ae9bb45b
tests/functional/repl: Normalize final prompt
2024-07-24 12:48:38 +02:00
Robert Hensing
ca2cc26e12
tests/functional/repl: Improve precision and readability
...
... as well as match buildReadlineNoMarkdown.
Unfortunately it doesn't support long inputs or multiline inputs
for now.
This needs to make better use of the interacter interface.
2024-07-24 12:48:38 +02:00
Robert Hensing
712ce2feac
ReadlineLikeInteracter::getLine: Add _NIX_TEST_REPL_ECHO env var
...
... for testing
2024-07-24 12:48:38 +02:00
Robert Hensing
97b0114ab8
renderMarkdownToTerminal: Add _NIX_TEST_RAW_MARKDOWN env var
...
For testing only.
2024-07-24 12:48:38 +02:00
Robert Hensing
2b4e3f04a4
markdown.cc: Format
...
Slightly custom because the automated formatting messes up the
braced initializer with named fields.
2024-07-24 01:02:48 +02:00
Eelco Dolstra
fb450de20e
Merge pull request #11163 from NixOS/rejiggle-getGCCyles-buildNoGc
...
Rejiggle getGCCycles() for buildNoGc
2024-07-23 17:17:47 +02:00
Robert Hensing
5d6bc484be
Hide getGCCycles when we have no GC
...
Alternatively, we could make it return 0, but we don't need it in
the first place because the caller exists conditionally too.
2024-07-23 16:24:43 +02:00
Robert Hensing
eb89e50cbb
Rejiggle getGCCycles() for buildNoGc
2024-07-23 16:21:43 +02:00
John Ericson
e20b0a5dda
Merge pull request #11159 from DeterminateSystems/framedsource-terminate
...
~FramedSource(): Don't throw an exception if the remote has disconnected
2024-07-23 09:19:39 -04:00
Eelco Dolstra
498eed0a25
~FramedSource(): Don't throw an exception if the remote has disconnected
...
This would cause the daemon to crash with a call to terminate().
2024-07-23 10:56:29 +02:00
Robert Hensing
4457cebe05
Update comment in tests//vars-and-functions.sh
...
Co-authored-by: tomberek <tomberek@users.noreply.github.com>
2024-07-23 10:24:18 +02:00
Eelco Dolstra
babfd0cd99
Merge pull request #11150 from hercules-ci/issue-11141-broken-sp-corrector
...
Fix issue #11141 broken stack pointer corrector
2024-07-22 19:59:46 +02:00
John Ericson
046cc8cbb3
Merge pull request #11156 from obsidiansystems/fix-bsd-pthread
...
Fix some BSD builds missing pthread functions
2024-07-22 13:58:41 -04:00
John Ericson
00fd180a79
Merge pull request #11153 from nix-windows/wine-ci
...
Run unit tests with wine
2024-07-22 13:35:32 -04:00
John Ericson
d39bbcabb9
Fix some BSD builds missing pthread functions
...
In addition to adding the missing thread deps in the last commit, we
also appear to need to skip `-Wl,--as-needed` flags that Meson wants to
use, but doesn't work with our *BSD toolchains.
See https://github.com/mesonbuild/meson/issues/3593
2024-07-22 13:10:03 -04:00
John Ericson
da625b8817
Merge pull request #11155 from obsidiansystems/build-system-fixes
...
Two Build system fixes
2024-07-22 12:16:56 -04:00
John Ericson
d3cee8160c
Add missing threads deps
2024-07-22 11:46:54 -04:00
Robert Hensing
f2e0cecf34
tests/functional/lang-gc: Disable for now
2024-07-22 17:46:08 +02:00
Eelco Dolstra
fe158e3e92
Merge pull request #10603 from edolstra/flake-regressions
...
Run the flake regressions test suite
2024-07-22 17:45:27 +02:00
Eelco Dolstra
9b9fc405d2
Merge pull request #11154 from DeterminateSystems/ping-store
...
nix ping-store: Redirect to 'nix store info'
2024-07-22 17:38:51 +02:00
Eelco Dolstra
d08bb025e1
Merge pull request #11043 from hercules-ci/assert-eq
...
`assert`: Report why values aren't equal
2024-07-22 17:34:28 +02:00
John Ericson
d7024ac9b7
Add S3 opt dep to Meson, and simplify build
...
Numeric version macros are now defined upstream, so we don't need roll
our own.
2024-07-22 11:11:38 -04:00
John Ericson
823baa25f3
Meson build: libstore check for statvfs
2024-07-22 11:09:53 -04:00
Eelco Dolstra
4878c31815
nix ping-store: Redirect to 'nix store info'
...
This avoids the double warning
warning: 'ping-store' is a deprecated alias for 'store ping'
warning: 'nix store ping' is a deprecated alias for 'nix store info'
2024-07-22 16:39:02 +02:00
John Ericson
eea63d5f99
Run unit tests with wine
...
Fix #10547
The tests do not all run successfully, but that is a separate issue.
2024-07-22 10:31:26 -04:00