John Ericson
1763cf115b
Fix a bunch of missing meson boilerplate
...
These other libraries need this too
(cherry picked from commit ffdce51cd5 )
2025-03-28 15:54:56 +00:00
Robert Hensing
88e6b7d6b2
progress-bar: Make pause/resume nestable
...
(cherry picked from commit 49d8ee5359 )
2025-03-04 19:10:01 +00:00
Eelco Dolstra
671d1b0123
Merge pull request #12501 from DeterminateSystems/stop-progress-bar
...
Remove {start,stop}ProgressBar()
2025-02-25 20:07:29 +01:00
John Ericson
da5109835b
Merge pull request #12498 from NixOS/fix-cli-fine-version
...
Restore detailed Nix CLI version
2025-02-18 11:34:07 -05:00
Eelco Dolstra
9b57f9be5e
Remove createDefaultLogger()
2025-02-18 15:19:57 +01:00
Eelco Dolstra
227114d127
Remove startProgressBar()
2025-02-18 15:18:16 +01:00
Eelco Dolstra
1aee6cf974
stopProgressBar() -> logger->stop()
2025-02-18 15:08:32 +01:00
Eelco Dolstra
258b5ef80b
Merge pull request #6962 from edolstra/unique-ptr-logger
...
Make 'logger' a std::unique_ptr
2025-02-18 14:54:44 +01:00
Eelco Dolstra
2018413e3e
Make 'logger' a std::unique_ptr
...
This prevents it from being leaked (see
bb411e4ae1 for an example of this).
2025-02-18 05:12:31 -08:00
Robert Hensing
3556f6bf4c
Write just ./.version on all components
...
This way it's easier to get right. See previous commit.
2025-02-18 11:41:35 +01:00
Sergei Zimmerman
b1a38b3efe
Move code related to NIX_MAN_DIR from libstore to nix-cli
...
This is a prerequisite to properly fixing man-pages once and
for all [1]. Note that this patch leaves manpages for legacy
commands in a borked state, pending the movement of manpages from
nix-manual to nix-cli [2].
[1]: https://www.github.com/NixOS/nix/issues/12382
[2]: https://www.github.com/NixOS/nix/issues/12382#issuecomment-2663782043
2025-02-18 01:57:33 +03:00
Eelco Dolstra
c0c14698a3
Use getStandardError()
2025-02-17 18:09:59 +01:00
Eelco Dolstra
bc66a9bbcf
JSONLogger: Log to a file descriptor instead of another Logger
...
Logging to another Logger was kind of nonsensical - it was really just
an easy way to get it to write its output to stderr, but that only
works if the underlying logger writes to stderr.
This change is needed to make it easy to log JSON output somewhere
else (like a file or socket).
2025-02-17 17:02:15 +01:00
Robert Hensing
96e550efc5
Format .nix files
...
... with nixfmt (rfc style)
2025-01-24 17:04:02 +01:00
mergify[bot]
bcb92a5fa0
Merge pull request #12133 from momeemt/#11991-logs_ignore_empty_lines
...
libmain: fix ignoring empty lines in the print-build-logs option
2025-01-18 13:52:25 +00:00
Robert Hensing
7ad02b62e0
refactor: Remove redundant parameters
2025-01-15 20:01:00 +01:00
Robert Hensing
cab347b4eb
refactor: Move ld=gold rule to mesonBuildLayer
2025-01-15 20:01:00 +01:00
Tristan Ross
47cf93ba80
Add LLVM to Flake
2025-01-10 18:08:27 -08:00
Connor Baker
359a0840e2
packaging: use optimization level 3 and LTO by default
2025-01-01 21:59:37 -08:00
Mutsuha Asada
01c96f9fd5
libmain: fix ignoring empty lines in the print-build-logs option
2025-01-02 13:26:13 +09:00
Robert Hensing
d0b4db924a
rename: build-utils-meson -> nix-meson-build-support
...
Fix a footgun. In my case, I had a couple of build ("output")
directories sitting around.
rm -rf build-*
Was confused for a bit why a meson.build file was missing.
Probably also helps with autocompletion.
I tried meson-build-support first, but I had to add something like
a nix- prefix, in order to make meson happy. They've reserved the
meson- prefix.
2024-12-09 16:54:42 +01:00
Eelco Dolstra
965ca18db8
Merge build-utils-meson/{diagnostics,threads} into build-utils-meson/common
...
This reduces the amount of boilerplate. More importantly, it provides
a place to add compiler flags (such as -O3) without having to add it
to every subproject (and the risk of forgetting to include it).
2024-11-21 20:34:54 +01:00
Sergei Zimmerman
b9f8c4af40
fix(libmain/common-args): do not exceed maximum allowed verbosity
...
This patch gets rid of UB when verbosity exceeds the maximum logging value of `lvlVomit = 7` and
reaches invalid values (e.g. 8). This is actually triggered in functional tests.
There are too many occurrences to list, but here's one from the UBSAN log:
../src/libstore/gc.cc:610:5: runtime error: load of value 8, which is not a valid value for type 'Verbosity'
2024-11-14 02:07:03 +03:00
Eelco Dolstra
f29e7867a9
Revert "Merge pull request #11826 from DeterminateSystems/revert-11804"
...
This reverts commit aeffdeffc8 , reversing
changes made to 723fdeb4f1 .
2024-11-11 15:21:34 +01:00
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
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
John Ericson
e70c9bb06a
Remove old build system
2024-11-06 16:09:18 -05:00
Robert Hensing
3112e59734
ProgressBar::ask: Accept EOF as a no
...
This may occur when stderr is a tty but stdin is empty.
E.g.
$ nix build </dev/null
error: unexpected EOF reading a line
These stdio handles are how some non-interactive sandboxes behave,
including the Nix build sandbox and Hercules CI Effects.
2024-11-06 19:45:19 +01: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
Philipp Otterbein
a353a99269
cont. cleanup: remove superfluous std::string copies
2024-10-08 02:25:52 +02:00
Robert Hensing
3df619339c
Split ignoreException for destructors or interrupt-safe
2024-09-30 11:50:25 +02:00
Robert Hensing
c955563b64
fix: Avoid deadlock in ProgressBar::redraw()
2024-09-08 11:44:24 +02:00
Robert Hensing
e10ea78f93
refact: Inline ProgressBar::draw(state, newOutput), inline local output
2024-09-08 01:23:01 +02:00
Robert Hensing
047d9643b5
refact: Extract ProgressBar::redraw(newOutput)
2024-09-08 01:23:01 +02:00
Robert Hensing
9df5236c46
progress-bar: Only write when truly updated
2024-09-08 01:04:14 +02:00
Robert Hensing
861bd102a6
Merge pull request #11167 from NixOS/repl-test-rejiggle
...
Fix repl test for `buildReadlineNoMarkdown`
2024-07-27 00:55:57 +02:00
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
Robert Hensing
3172e88af5
Make abort() call sites log first
2024-07-24 16:52:04 +02:00
John Ericson
d3cee8160c
Add missing threads deps
2024-07-22 11:46:54 -04:00
Emily
31e151386b
libmain: add missing header include
2024-07-18 23:26:22 +01:00
John Ericson
0feeab755a
Move plugins infra to libnixmain
...
They are not actually part of the store layer, but instead part of the
Nix executable infra (libraries don't need plugins, executables do).
This is part of a larger project of moving all of our legacy settings
infra to libmain, and having the underlying libraries just have plain
configuration structs detached from any settings infra / UI layer.
Progress on #5638
2024-07-15 17:26:03 -04:00
Robert Hensing
ea966a70fc
dropEmptyInitThenConcatStringsSep -> concatStringSep: diagnostics and docs
...
These are non-critical, so their behavior is ok to change.
Dropping empty items is not needed and usually not expected.
2024-07-13 03:06:24 +02:00
Robert Hensing
1a8defd06f
Refactor: rename C++ concatStringsSep -> dropEmptyInitThenConcatStringsSep
2024-07-13 03:05:50 +02:00
Robert Hensing
8df041cbc6
Solve unused header warnings reported by clangd
2024-07-12 15:37:54 +02:00
Robert Hensing
0729f0a113
packaging: Pass version directly
2024-07-06 17:52:57 +02:00
Robert Hensing
4c014e238b
nix-main: Add openssl
2024-07-06 17:52:57 +02:00
John Ericson
3acf3fc746
Package libnixmain and libnixcmd with Meson
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-07-05 16:40:55 -04:00
Robert Hensing
0b901e10ee
Merge pull request #11050 from hercules-ci/issue-10677
...
Explain when `man` is missing
2024-07-05 22:25:38 +02:00