Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
322 commits
Select commit Hold shift + click to select a range
ea8e49b
Force the cpuid option for libutil rather than relying on detection
Ericson2314 Jun 13, 2024
81004a0
Build `nix-store` with Meson
Ericson2314 Jun 4, 2024
b3bd31c
Merge pull request #10878 from kirillrdy/kr/sysv
edolstra Jun 14, 2024
4728840
Merge pull request #10908 from NixOS/meson-libstore
Ericson2314 Jun 14, 2024
573e385
Merge pull request #10907 from hercules-ci/issue-10561
roberth Jun 15, 2024
5a9e1c0
Restrict supported tarball formats to actual Tarballs
andir Jun 15, 2024
2894c1b
WIP add testresults output
roberth Jun 16, 2024
de639ce
Don't chown when local-store is read-only
jmbaur Jun 15, 2024
b0cfac8
Fix compile error on windows
poweredbypie Jun 17, 2024
5e0e0ec
Merge pull request #10927 from poweredbypie/windows-fix
roberth Jun 17, 2024
83d1bc9
Merge pull request #10925 from hercules-ci/junit-report
roberth Jun 17, 2024
48d38b3
Merge pull request #10918 from andir/restrict-tarfile-formats
edolstra Jun 17, 2024
e48abec
Merge pull request #10916 from jmbaur/read-only-no-chown
roberth Jun 17, 2024
5e80667
Make `hydraJobs.build` include the constituent packages
Ericson2314 Jun 17, 2024
c9cdc24
Temporarily remove the Meson builds from `packages` in the flake
Ericson2314 Jun 17, 2024
e0b4691
Merge pull request #10929 from NixOS/avoid-building-too-many-jobs-at-…
Ericson2314 Jun 17, 2024
4f34021
use separate paragraphs inside list items
fricklerhandwerk Jun 17, 2024
a1bb668
Merge remote-tracking branch 'upstream/master' into rm-createdirs
Ericson2314 Jun 17, 2024
a58ca34
Initial runProgram implementation for Windows
poweredbypie Jun 17, 2024
a83d95e
Integrate perl with the other meson builds
Ericson2314 Jun 4, 2024
69d404e
Merge pull request #10914 from NixOS/combo-shell-perl
Ericson2314 Jun 17, 2024
6e34c68
Convert the internal API doc build to Meson
fricklerhandwerk Jun 17, 2024
b11cf81
Format runProgram declaration
poweredbypie Jun 17, 2024
93218dc
Merge pull request #10930 from fricklerhandwerk/meson-docs
Ericson2314 Jun 17, 2024
706edf2
build: meson for libfetchers
tomberek Jun 6, 2024
daf1b6b
Merge pull request #10933 from NixOS/meson-libfetchers
Ericson2314 Jun 17, 2024
4662e7d
Implement windowsEscape
poweredbypie Jun 17, 2024
d7537f6
Implement initial spawn tests (just testing windowsEscape for now)
poweredbypie Jun 17, 2024
4f6e3b9
Implement tests for lookupPathForProgram and fix bugs caught by tests
poweredbypie Jun 18, 2024
ff1fc78
optimize-store.cc: Update macos exclusion comments
Artoria2e5 Jun 18, 2024
fcb92b4
Fix DWORD vs. int comparison warning
poweredbypie Jun 18, 2024
8b81d08
Remove lookupPathForProgram and implement initial runProgram test
poweredbypie Jun 18, 2024
b975151
dedent lists
fricklerhandwerk Jun 18, 2024
613d598
Merge pull request #10934 from Artoria2e5/patch-1
Ericson2314 Jun 18, 2024
0c60296
Merge pull request #10935 from fricklerhandwerk/cli-docs-formatting
Ericson2314 Jun 18, 2024
1c131ec
Port C API docs to Meson (#10936)
fricklerhandwerk Jun 19, 2024
dc720f8
flake.nix: Factor pkgs.nix_noTests out of buildNoTests
roberth Jun 16, 2024
439022c
tests: Add hydraJobs.tests.functional_*
roberth Jun 16, 2024
211aec4
tests/functional/timeout.sh: Find missing test case
roberth Jun 16, 2024
8557d79
tests/functional: Skip tests that don't work in NixOS environment yet
roberth Jun 16, 2024
d208e9d
tests: Add quickBuild to all VM tests
roberth Jun 16, 2024
fca160f
doc/contributing/testing: Describe functional VM tests and quickBuild
roberth Jun 16, 2024
f0abe4d
ci: Build tests.functional_user for PRs
roberth Jun 16, 2024
648302b
tests/functional: Enable more tests in NixOS VM
roberth Jun 16, 2024
7c9f3ee
tests/functional/common/init.sh: Use parentheses around negation
roberth Jun 19, 2024
dcee46a
Apply suggestions from code review
roberth Jun 20, 2024
857e380
Merge branch 'rm-createdirs' of github.com:siddhantk232/nix into rm-c…
siddhantk232 Jun 20, 2024
85b7989
fix: handle errors in `nix::createDirs`
siddhantk232 Jun 20, 2024
d968466
Revert "tests/functional/common/init.sh: Use parentheses around negat…
roberth Jun 20, 2024
717f3ee
Add a test for the user sandboxing
Apr 8, 2024
1d3696f
Run the builds in a daemon-controled directory
Apr 2, 2024
d99c868
Add a release note for the build-dir hardening
Apr 9, 2024
ede95b1
Put the chroot inside a directory that isn't group/world-accessible
edolstra May 14, 2024
58b7b3f
Formatting
edolstra May 14, 2024
d54590f
Fix --no-sandbox
edolstra May 14, 2024
0468061
accept response from gitlab with more than one entry
pineapplehunter Jun 22, 2024
df06873
Merge pull request #10769 from poweredbypie/mingw-spawn
Ericson2314 Jun 23, 2024
490ca93
Factor out a bit more language testings infra
Ericson2314 Jun 23, 2024
9f9984e
Functional test for derivation "advanced attrs"
haenoe Jun 8, 2024
7fb1420
Unit test for derivation "advanced attrs"
haenoe Jun 8, 2024
927b719
Merge pull request #10874 from haenoe/derivation-tests
Ericson2314 Jun 24, 2024
6f64154
Merge pull request #10884 from tomberek/tomberek.warn_structuredAttrs…
roberth Jun 24, 2024
bc21c54
Merge pull request #10943 from pineapplehunter/master
edolstra Jun 24, 2024
903acc7
Merge pull request #10873 from siddhantk232/rm-createdirs
edolstra Jun 24, 2024
64e599e
Rename `Recursive` -> `NixArchive`
Ericson2314 May 16, 2024
b51e161
Cleanup `ContentAddressMethod` to match docs
Ericson2314 May 16, 2024
ce4bcef
Merge pull request #10745 from obsidiansystems/ca-cleanup
roberth Jun 24, 2024
1620ad4
Split out `GlobalConfig` into its own header
Ericson2314 Jun 24, 2024
602c444
Merge remote-tracking branch 'upstream/master' into functional-tests-…
roberth Jun 24, 2024
b46e138
Format `config-global.{cc,hh}`
Ericson2314 Jun 24, 2024
cb0c868
Allow loading config files into other config objects
Ericson2314 Jun 24, 2024
d4ca634
tests/functional: Differentiate die and fail
roberth Jun 24, 2024
5a7ccd6
tests/functional: Print all args of fail()
roberth Jun 24, 2024
52bfccf
No global eval settings in `libnixexpr`
Ericson2314 Jun 14, 2024
fda4c78
Merge pull request #10951 from obsidiansystems/load-just-one-config
Ericson2314 Jun 24, 2024
c66f1e7
Merge pull request #10913 from NixOS/no-global-eval-settings-in-libexpr
roberth Jun 24, 2024
445a4a0
ci.yml: Add swap and monitor it
roberth Jun 24, 2024
5c497a9
Merge pull request #10922 from hercules-ci/functional-tests-on-nixos
Ericson2314 Jun 24, 2024
05580a3
Fix error in the no-GC build
Ericson2314 Jun 24, 2024
5be44d2
Guard uses of lutimes, for portability
puffnfresh Sep 15, 2022
1801119
ci.yml: Add meson_build
roberth Jun 25, 2024
0674be8
nix-util: Fix build
roberth Jun 25, 2024
d02d38f
Merge pull request #7048 from puffnfresh/lutimes
Ericson2314 Jun 25, 2024
5f4f789
Merge pull request #10954 from NixOS/ci-meson
Ericson2314 Jun 25, 2024
7df9d6d
Improve error messages for invalid derivation names
roberth Jun 20, 2024
ccb679e
Merge pull request #10941 from hercules-ci/check-derivation-name
Ericson2314 Jun 25, 2024
ac89828
Build nix-util-c with meson and unit test
roberth Jun 25, 2024
6a28566
refact: concatMapAttrs -> flatMapAttrs
roberth Jun 25, 2024
1eaddb2
TMP: disable static meson build on darwin
roberth Jun 25, 2024
ae3304b
Test static build of nix-util on non-darwin
roberth Jun 25, 2024
fba81cf
docs: internal documentation touchup
rhendric Jun 25, 2024
65d7c80
Merge pull request #10955 from NixOS/meson-nix-util-c
Ericson2314 Jun 25, 2024
052f132
Merge pull request #10960 from rhendric/rhendric/reference-manual
roberth Jun 25, 2024
fd0b376
libstore/worker.cc: Remove outdated comment
roberth Feb 1, 2024
6fe8fb9
libstore/worker.hh: Document Worker
roberth Feb 1, 2024
e28e6b9
flake.nix: Tidy `packages` build matrix code
roberth Jun 26, 2024
3f191cc
Merge pull request #10961 from hercules-ci/tidy
Ericson2314 Jun 26, 2024
a92f307
Merge pull request #10962 from hercules-ci/tidy-packages-matrix
Ericson2314 Jun 26, 2024
a14faa8
flake.nix: Use a Nixpkgs scope for components
roberth Jun 26, 2024
d40c59e
flake.nix: Use the nixComponents scope instead of bare pkgs packages
roberth Jun 26, 2024
85de5a6
Use lib instead of explicit fileset passing
roberth Jun 26, 2024
74b9b77
components.nix: Simplify with scope
roberth Jun 26, 2024
ebf77c7
flake.nix: Use Nixpkgs convention for package variants
roberth Jun 26, 2024
25dc12a
components.nix: Extract dependency scope
roberth Jun 26, 2024
c24dbf1
components.nix: Simplify
roberth Jun 26, 2024
65802da
Move maintainers/hydra.nix -> packaging/hydra.nix
roberth Jun 26, 2024
409eded
flake.nix: Move dependencies scope to packaging/dependencies.nix
roberth Jun 26, 2024
985c211
flake.nix: Move {in,ex}ternal-api-docs into nixComponents scope
roberth Jun 26, 2024
e644289
Remove unused boehmgc patch
roberth Jun 26, 2024
9f8e387
ci.yml: Build meson on darwin
roberth Jun 26, 2024
8eb804b
Merge pull request #10967 from NixOS/ci-meson-darwin
roberth Jun 26, 2024
5e4e334
Merge pull request #10963 from hercules-ci/build-with-nixpkgs-scope
Ericson2314 Jun 26, 2024
8a42016
Merge branch 'master' into fix-sandbox-escape
Ericson2314 Jun 26, 2024
2dd7f8f
Merge pull request from GHSA-q82p-44mg-mgh5
tomberek Jun 26, 2024
32e67eb
Remove invalid release notes YAML field
Ericson2314 Jun 26, 2024
88f9d8c
Don't format the just-added test .c file
Ericson2314 Jun 26, 2024
52730d3
Factor out `flake:...` lookup path from evaluator
Ericson2314 Jun 24, 2024
0084a48
Split out a new `libnixflake`
Ericson2314 Sep 29, 2023
7181d1f
Reformat
Ericson2314 Jun 24, 2024
ed12926
Merge pull request #10971 from NixOS/user-sandbox-escape-post
Ericson2314 Jun 27, 2024
7e66f0d
Merge pull request #9063 from obsidiansystems/libfetchers-prep
Ericson2314 Jun 27, 2024
f002f85
Avoid libmain header in libexpr
Ericson2314 Jun 27, 2024
149d8eb
Stop vendoring toml11
winterqt Mar 27, 2024
b87e048
Override `toml11` so it evaluates on Windows too
Ericson2314 Jun 27, 2024
aff0fbc
Merge pull request #10972 from NixOS/no-vendor-toml11
Ericson2314 Jun 27, 2024
3b388f6
string interpolation escape example (#10966)
alicebob Jun 27, 2024
b44909a
add many more examples on escaping in strings (#10974)
fricklerhandwerk Jun 27, 2024
2608918
maintainers: Drop thufschmitt
Jun 28, 2024
02963f7
Merge pull request #10987 from tweag/remove-thufschmitt-from-maintainers
Ericson2314 Jun 28, 2024
9e9730e
Test that commit-lock-file-summary and its alias work
cole-h Jun 28, 2024
d906d42
Restore commit-lock-file-summary rename for consistency
cole-h Jun 28, 2024
32e6cc6
Merge pull request #10988 from cole-h/restore-summary-rename
roberth Jun 29, 2024
fd94b74
Fix #10947; don't cache disallowed IFD
roberth Jun 29, 2024
9b88bf8
Fix underflow in Printer::printAttrs
roberth Jun 29, 2024
ce1dc87
Refactor: rename ValuePrinter::totalAttrsPrinted
roberth Jun 29, 2024
bfc5416
Refactor: rename ValuePrinter::totalListItemsPrinted
roberth Jun 29, 2024
b2c7f09
Fix underflow in Printer::printList
roberth Jun 29, 2024
72bb530
use `CanonPath` in `fs-sink` and its derivatives
siddhantk232 Jun 30, 2024
dc538ad
Merge pull request #10994 from hercules-ci/fix-value-print-elided
Ericson2314 Jun 30, 2024
39154ed
ci.yml: Put installer cachix in verbose mode
roberth Jun 30, 2024
c74b5aa
Merge pull request #10999 from NixOS/ci-cachix-verbose
roberth Jun 30, 2024
5a16bf8
doc: fix `directory` definition in nix-archive.md (#10997)
trofi Jun 30, 2024
e084316
Add mkMesonPackage for local meson packages
roberth Jun 29, 2024
7dd938b
libutil/package.nix: Remove .version symlink replacement solution
roberth Jun 30, 2024
93b5085
packaging: Restore .version value altering behavior
roberth Jun 30, 2024
10ceb7d
Merge pull request #10995 from NixOS/meson-remove-symlink-hack
Ericson2314 Jun 30, 2024
10c9764
Merge pull request #10992 from hercules-ci/issue-10947-dont-cache-dis…
edolstra Jul 1, 2024
992912f
test-support: Add TracingFileSystemObjectSink
roberth Jul 1, 2024
1fac22b
GitFileSystemObjectSink: Add path context to some messages
roberth Jul 1, 2024
a409c1a
Start unit testing GitFileSystemObjectSink
roberth Jul 1, 2024
f032956
GitFileSystemObjectSink: catch an overflow
roberth Jul 1, 2024
6600b1c
tests/functional/flakes/eval-cache.sh: Don't write a result symlink i…
edolstra Jul 1, 2024
b01b60f
Merge pull request #11006 from DeterminateSystems/fix-eval-cache-test
edolstra Jul 1, 2024
df3e92f
installerScriptForGHA: aarch64-darwin
roberth Jul 1, 2024
80d67d6
Merge pull request #11009 from NixOS/installer-tests
roberth Jul 1, 2024
101915c
enable -Werror=unused-result
Mic92 Jul 2, 2024
f809edb
Merge pull request #11011 from Mic92/compiler-checks
Ericson2314 Jul 2, 2024
fbdc554
Fix Nix shell for building Perl too
Ericson2314 Jun 27, 2024
3125700
Meson build for libexpr and libflake
Ericson2314 Jun 27, 2024
4fa8068
Mesonify other external API
Ericson2314 Jun 27, 2024
17a8c2b
Unit tests and external libraries
Ericson2314 Jun 27, 2024
a81e319
Deduplicating
Ericson2314 Jun 27, 2024
d902481
Better org
Ericson2314 Jun 27, 2024
4609ab3
Fix internal API docs
Ericson2314 Jun 27, 2024
c88f83b
More dedup
Ericson2314 Jun 27, 2024
d6f57f3
More dedup
Ericson2314 Jun 27, 2024
8198888
More dedup
Ericson2314 Jun 27, 2024
8399bd6
Dedup
Ericson2314 Jun 27, 2024
0b539de
Improve boost hacks
Ericson2314 Jun 27, 2024
92d3a06
Remove overrides of removed flags since unit tests broken out
Ericson2314 Jun 27, 2024
429d6ae
Add missing package.nix
Ericson2314 Jun 27, 2024
46ec69a
Everything builds in the dev shell now
Ericson2314 Jun 27, 2024
2c184f6
Ensure we have data dir for libexpr unit tests
Ericson2314 Jun 27, 2024
79e0ef8
Include missing components
Ericson2314 Jun 27, 2024
6a0582d
Rename file to avoid reserved name
Ericson2314 Jun 27, 2024
5ba9f6c
Fix typo
Ericson2314 Jun 27, 2024
479befa
More fixes
Ericson2314 Jun 27, 2024
17c843c
Fix more issues
Ericson2314 Jun 27, 2024
7312d13
Keep another test dir
Ericson2314 Jun 27, 2024
874ff00
Fix format
Ericson2314 Jun 28, 2024
f7ce10d
Fix static build
Ericson2314 Jun 28, 2024
912c517
Fix build of unit tests
Ericson2314 Jun 28, 2024
513f6b9
meson: Prelink links to avoid missing C++ initializers
Ericson2314 Jun 28, 2024
3ad39d2
Fix library name
Ericson2314 Jun 28, 2024
496b4a9
Move around unit test dirs to match new names
Ericson2314 Jun 29, 2024
224c6c3
Fix test symlinks
Ericson2314 Jun 29, 2024
11dab30
Update docs on the unit tests
Ericson2314 Jun 29, 2024
4727d5c
Fix format blacklist
Ericson2314 Jun 29, 2024
4d6bc61
Fix things
Ericson2314 Jul 1, 2024
1194681
fileset for store unit test data
Ericson2314 Jul 1, 2024
451f8a8
Put back files for now
Ericson2314 Jul 1, 2024
b0bc2a9
Put unit tests back in old build system for now
Ericson2314 Jul 1, 2024
a713476
docs: split types from syntax (#11013)
fricklerhandwerk Jul 3, 2024
2cf24a2
fix tests and minor changes
siddhantk232 Jul 3, 2024
79ed3df
Tarball fetcher: Fix handling of cached tarballs
edolstra Jul 3, 2024
8bdd0ec
Add a test
edolstra Jul 3, 2024
30de61f
Merge pull request #11018 from siddhantk232/canonpath-fs-sink
Ericson2314 Jul 3, 2024
9d95c22
Tarball fetcher: Fix fetchToStore() and eval caching
edolstra Jul 3, 2024
1ff186f
nix flake metadata: Show flake fingerprint
edolstra Jul 3, 2024
a093604
Ident some CPP in nix daemon
Ericson2314 Jul 3, 2024
10ccdb7
Use proper struct sockpeercred for SO_PEERCRED for OpenBSD
klemensn Mar 11, 2023
509be0e
Merge pull request #11022 from obsidiansystems/fix-openbsd-socket-pee…
Ericson2314 Jul 3, 2024
5b4102c
Tarball fetcher: Include revCount/lastModified in the fingerprint
edolstra Jul 3, 2024
976c058
factor duplicate code into util function `append`
siddhantk232 Jul 4, 2024
c66079f
use self-descriptive name for config file parser, document
fricklerhandwerk Jul 4, 2024
76e4adf
libstore: clean up the build directory properly
emilazy Jul 4, 2024
af2e114
libstore: fix sandboxed builds on macOS
emilazy Jul 4, 2024
e4056b9
Apply suggestions from code review
Ericson2314 Jul 4, 2024
09763c7
getDerivations: add attributes to trace
roberth Jul 5, 2024
e7e070d
Document
edolstra Jul 5, 2024
e1b6b3c
Merge pull request #11020 from DeterminateSystems/fix-tarball-caching
edolstra Jul 5, 2024
61e1880
Merge pull request #11041 from hercules-ci/trace-nix-env-attribute-names
edolstra Jul 5, 2024
98bef7c
Merge pull request #11035 from siddhantk232/refactor
edolstra Jul 5, 2024
a476383
Merge pull request #11031 from emilazy/push-xsrvoyspsvqx
roberth Jul 5, 2024
8f280d7
Merge pull request #11019 from DeterminateSystems/fix-failed-to-open-…
edolstra Jul 5, 2024
6ef00a5
Explain when man is missing
roberth Jul 5, 2024
8cea1fb
src/nix/prefetch: fix prefetch containing current directory instead o…
Mic92 Jul 5, 2024
05381c0
Update src/nix/prefetch.cc
Mic92 Jul 5, 2024
ddff76f
Merge pull request #10973 from NixOS/meson-libexpr
roberth Jul 5, 2024
d5461b9
Merge pull request #11051 from Mic92/fix-prefetch
edolstra Jul 5, 2024
ff9b6d0
Merge pull request #11037 from fricklerhandwerk/document-config-parsing
Ericson2314 Jul 5, 2024
0b901e1
Merge pull request #11050 from hercules-ci/issue-10677
roberth Jul 5, 2024
3acf3fc
Package `libnixmain` and `libnixcmd` with Meson
Ericson2314 Jul 3, 2024
896eb7a
Merge pull request #11034 from obsidiansystems/meson-nix
roberth Jul 5, 2024
b7e5446
flake.nix: Remove unused binding
roberth Jul 6, 2024
4d0c55a
api docs: Use mkMesonDerivation
roberth Jul 6, 2024
4c014e2
nix-main: Add openssl
roberth Jul 6, 2024
efd5f50
nix-perl: Add deps, use mkMesonDerivation
roberth Jul 6, 2024
0729f0a
packaging: Pass version directly
roberth Jul 6, 2024
da4c559
ci.yml: Build non unit-tested components in meson_build
roberth Jul 6, 2024
bea54d1
Add resolvePath, filesetToSource indirections for Nixpkgs
roberth Jul 6, 2024
514062c
feat: configure aws s3 lib to use system defined proxy, if existent
romain-neil Jul 6, 2024
41b6c73
Merge pull request #11054 from NixOS/meson-fixes
Ericson2314 Jul 6, 2024
fd4b17a
Merge pull request #11056 from romain-neil/s3-allow-use-of-proxy
roberth Jul 7, 2024
a959207
Merge pull request #11055 from NixOS/packaging-for-nixpkgs
roberth Jul 7, 2024
95890b3
docs: merge builtin-constants into builtins
rhendric Jul 7, 2024
d885061
Merge pull request #11059 from rhendric/rhendric/reference-manual
Ericson2314 Jul 8, 2024
cfe3ee3
`nix-shell`: look up `shell.nix` when argument is a directory (#11057)
roberth Jul 8, 2024
ab0b54b
Remove the Hydra status check workflow
edolstra Jul 8, 2024
c5284a8
Forgot to include `config-expr.hh` in some places
Ericson2314 Jul 7, 2024
6e5cec2
Use a meson "generator" to deduplicate `.gen.hh` creation
Ericson2314 Jul 8, 2024
1439de8
Merge pull request #11063 from obsidiansystems/config-expr
Ericson2314 Jul 8, 2024
f1d88e0
Merge pull request #11064 from obsidiansystems/header-generater
Ericson2314 Jul 8, 2024
7a6269b
Package the Nix CLI with Meson
Ericson2314 Jul 5, 2024
d69fcbc
Merge pull request #11065 from DeterminateSystems/remove-hydra-status…
roberth Jul 9, 2024
3755493
Merge pull request #11060 from obsidiansystems/meson-nix
Ericson2314 Jul 9, 2024
4c78850
Remove reference to check-hydra-status
edolstra Jul 9, 2024
142e566
Merge pull request #11071 from DeterminateSystems/remove-stray-line
edolstra Jul 9, 2024
8642075
Merge remote-tracking branch 'upstream/master' into support-hardlinks…
roberth Jul 11, 2024
4fd8f19
Fix build to use CanonPath in new FSO sinks
roberth Jul 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,20 @@
# Top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file, utf-8 charset
# Unix-style newlines with a newline ending every file, UTF-8 charset
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8

# Match nix files, set indent to spaces with width of two
# Match Nix files, set indent to spaces with width of two
[*.nix]
indent_style = space
indent_size = 2

# Match c++/shell/perl, set indent to spaces with width of four
[*.{hpp,cc,hh,sh,pl,xs}]
# Match C++/C/shell/Perl, set indent to spaces with width of four
[*.{hpp,cc,hh,c,h,sh,pl,xs}]
indent_style = space
indent_size = 4

Expand Down
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ maintainers/*.md @fricklerhandwerk
src/**/*.md @fricklerhandwerk

# Libstore layer
/src/libstore @thufschmitt @ericson2314
/src/libstore @ericson2314
34 changes: 33 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,23 @@ jobs:
name: '${{ env.CACHIX_NAME }}'
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- if: matrix.os == 'ubuntu-latest'
run: |
free -h
swapon --show
swap=$(swapon --show --noheadings | head -n 1 | awk '{print $1}')
echo "Found swap: $swap"
sudo swapoff $swap
# resize it (fallocate)
sudo fallocate -l 10G $swap
sudo mkswap $swap
sudo swapon $swap
free -h
(
while sleep 60; do
free -h
done
) &
- run: nix --experimental-features 'nix-command flakes' flake check -L

# Steps to test CI automation in your own fork.
Expand Down Expand Up @@ -79,6 +96,7 @@ jobs:
name: '${{ env.CACHIX_NAME }}'
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
cachixArgs: '-v'
- id: prepare-installer
run: scripts/prepare-installer-for-github-actions

Expand Down Expand Up @@ -175,4 +193,18 @@ jobs:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
- run: nix build -L .#hydraJobs.tests.githubFlakes .#hydraJobs.tests.tarballFlakes
- run: nix build -L .#hydraJobs.tests.githubFlakes .#hydraJobs.tests.tarballFlakes .#hydraJobs.tests.functional_user

meson_build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
# Only meson packages that don't have a tests.run derivation.
# Those that have it are already built and tested as part of nix flake check.
- run: nix build -L .#hydraJobs.build.{nix-cmd,nix-main}.$(nix-instantiate --eval --expr builtins.currentSystem | sed -e 's/"//g')
20 changes: 0 additions & 20 deletions .github/workflows/hydra_status.yml

This file was deleted.

5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ perl/Makefile.config
/svn-revision
/libtool
/config/config.*
# Default meson build dir
/build

# /doc/manual/
/doc/manual/*.1
Expand Down Expand Up @@ -52,6 +54,9 @@ perl/Makefile.config
# /src/libfetchers
/tests/unit/libfetchers/libnixfetchers-tests

# /src/libflake
/tests/unit/libflake/libnixflake-tests

# /src/libstore/
*.gen.*
/src/libstore/tests
Expand Down
2 changes: 2 additions & 0 deletions .shellcheckrc
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
external-sources=true
source-path=SCRIPTDIR
# Hack for scripts in e.g. tests/functional/ca
source-path=SCRIPTDIR/..
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.23.0
2.24.0
28 changes: 4 additions & 24 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ makefiles = \
src/libfetchers/local.mk \
src/libmain/local.mk \
src/libexpr/local.mk \
src/libflake/local.mk \
src/libcmd/local.mk \
src/nix/local.mk \
src/libutil-c/local.mk \
Expand Down Expand Up @@ -45,7 +46,8 @@ makefiles += \
tests/unit/libstore-support/local.mk \
tests/unit/libfetchers/local.mk \
tests/unit/libexpr/local.mk \
tests/unit/libexpr-support/local.mk
tests/unit/libexpr-support/local.mk \
tests/unit/libflake/local.mk
endif

ifeq ($(ENABLE_FUNCTIONAL_TESTS), yes)
Expand All @@ -68,14 +70,6 @@ ifeq ($(ENABLE_DOC_GEN), yes)
makefiles-late += doc/manual/local.mk
endif

ifeq ($(ENABLE_INTERNAL_API_DOCS), yes)
makefiles-late += doc/internal-api/local.mk
endif

ifeq ($(ENABLE_EXTERNAL_API_DOCS), yes)
makefiles-late += doc/external-api/local.mk
endif

# Miscellaneous global Flags

OPTIMIZE = 1
Expand All @@ -98,7 +92,7 @@ ifdef HOST_WINDOWS
GLOBAL_LDFLAGS += -Wl,--export-all-symbols
endif

GLOBAL_CXXFLAGS += -g -Wall -Wdeprecated-copy -Wignored-qualifiers -Wimplicit-fallthrough -include $(buildprefix)config.h -std=c++2a -I src
GLOBAL_CXXFLAGS += -g -Wall -Wdeprecated-copy -Wignored-qualifiers -Wimplicit-fallthrough -Werror=unused-result -include $(buildprefix)config.h -std=c++2a -I src

# Include the main lib, causing rules to be defined

Expand Down Expand Up @@ -131,17 +125,3 @@ manual-html manpages:
@echo "Generated docs are disabled. Configure without '--disable-doc-gen', or avoid calling 'make manpages' and 'make manual-html'."
@exit 1
endif

ifneq ($(ENABLE_INTERNAL_API_DOCS), yes)
.PHONY: internal-api-html
internal-api-html:
@echo "Internal API docs are disabled. Configure with '--enable-internal-api-docs', or avoid calling 'make internal-api-html'."
@exit 1
endif

ifneq ($(ENABLE_EXTERNAL_API_DOCS), yes)
.PHONY: external-api-html
external-api-html:
@echo "External API docs are disabled. Configure with '--enable-external-api-docs', or avoid calling 'make external-api-html'."
@exit 1
endif
2 changes: 0 additions & 2 deletions Makefile.config.in
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ EDITLINE_LIBS = @EDITLINE_LIBS@
ENABLE_BUILD = @ENABLE_BUILD@
ENABLE_DOC_GEN = @ENABLE_DOC_GEN@
ENABLE_FUNCTIONAL_TESTS = @ENABLE_FUNCTIONAL_TESTS@
ENABLE_INTERNAL_API_DOCS = @ENABLE_INTERNAL_API_DOCS@
ENABLE_EXTERNAL_API_DOCS = @ENABLE_EXTERNAL_API_DOCS@
ENABLE_S3 = @ENABLE_S3@
ENABLE_UNIT_TESTS = @ENABLE_UNIT_TESTS@
GTEST_LIBS = @GTEST_LIBS@
Expand Down
17 changes: 11 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Visit [nix.dev](https://nix.dev) for [installation instructions](https://nix.dev

Full reference documentation can be found in the [Nix manual](https://nixos.org/nix/manual).

## Building And Developing
## Building and developing

See our [Hacking guide](https://nixos.org/manual/nix/unstable/contributing/hacking.html) in our manual for instruction on how to
set up a development environment and build Nix from source.
Expand All @@ -22,12 +22,17 @@ See our [Hacking guide](https://nixos.org/manual/nix/unstable/contributing/hacki

Check the [contributing guide](./CONTRIBUTING.md) if you want to get involved with developing Nix.

## Additional Resources
## Additional resources

- [Nix manual](https://nixos.org/nix/manual)
- [Nix jobsets on hydra.nixos.org](https://hydra.nixos.org/project/nix)
- [NixOS Discourse](https://discourse.nixos.org/)
- [Matrix - #nix:nixos.org](https://matrix.to/#/#nix:nixos.org)
Nix was created by Eelco Dolstra and developed as the subject of his PhD thesis [The Purely Functional Software Deployment Model](https://edolstra.github.io/pubs/phd-thesis.pdf), published 2006.
Today, a world-wide developer community contributes to Nix and the ecosystem that has grown around it.

- [The Nix, Nixpkgs, NixOS Community on nixos.org](https://nixos.org/)
- [Official documentation on nix.dev](https://nix.dev)
- [Nixpkgs](https://github.com/NixOS/nixpkgs) is [the largest, most up-to-date free software repository in the world](https://repology.org/repositories/graphs)
- [NixOS](https://github.com/NixOS/nixpkgs/tree/master/nixos) is a Linux distribution that can be configured fully declaratively
- [Discourse](https://discourse.nixos.org/)
- [Matrix](https://matrix.to/#/#nix:nixos.org)

## License

Expand Down
36 changes: 36 additions & 0 deletions build-utils-meson/deps-lists/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# These are private dependencies with pkg-config files. What private
# means is that the dependencies are used by the library but they are
# *not* used (e.g. `#include`-ed) in any installed header file, and only
# in regular source code (`*.cc`) or private, uninstalled headers. They
# are thus part of the *implementation* of the library, but not its
# *interface*.
#
# See `man pkg-config` for some details.
deps_private = [ ]

# These are public dependencies with pkg-config files. Public is the
# opposite of private: these dependencies are used in installed header
# files. They are part of the interface (and implementation) of the
# library.
#
# N.B. This concept is mostly unrelated to our own concept of a public
# (stable) API, for consumption outside of the Nix repository.
# `libnixutil` is an unstable C++ library, whose public interface is
# likewise unstable. `libutilc` conversely is a hopefully-soon stable
# C library, whose public interface --- including public but not private
# dependencies --- will also likewise soon be stable.
#
# N.B. For distributions that care about "ABI" stability and not just
# "API" stability, the private dependencies also matter as they can
# potentially affect the public ABI.
deps_public = [ ]

# These are subproject deps (type == "internal"). They are other
# packages in `/src` in this repo. The private vs public distinction is
# the same as above.
deps_private_subproject = [ ]
deps_public_subproject = [ ]

# These are dependencencies without pkg-config files. Ideally they are
# just private, but they may also be public (e.g. boost).
deps_other = [ ]
13 changes: 13 additions & 0 deletions build-utils-meson/diagnostics/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
add_project_arguments(
'-Wno-deprecated-declarations',
'-Wimplicit-fallthrough',
'-Werror=switch',
'-Werror=switch-enum',
'-Werror=unused-result',
'-Wdeprecated-copy',
'-Wignored-qualifiers',
# Enable assertions in libstdc++ by default. Harmless on libc++. Benchmarked
# at ~1% overhead in `nix search`.
#
language : 'cpp',
)
11 changes: 11 additions & 0 deletions build-utils-meson/export-all-symbols/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
if host_machine.system() == 'cygwin' or host_machine.system() == 'windows'
# Windows DLLs are stricter about symbol visibility than Unix shared
# objects --- see https://gcc.gnu.org/wiki/Visibility for details.
# This is a temporary sledgehammer to export everything like on Unix,
# and not detail with this yet.
#
# TODO do not do this, and instead do fine-grained export annotations.
linker_export_flags = ['-Wl,--export-all-symbols']
else
linker_export_flags = []
endif
30 changes: 30 additions & 0 deletions build-utils-meson/export/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
requires_private = []
foreach dep : deps_private_subproject
requires_private += dep.name()
endforeach
requires_private += deps_private

requires_public = []
foreach dep : deps_public_subproject
requires_public += dep.name()
endforeach
requires_public += deps_public

import('pkgconfig').generate(
this_library,
filebase : meson.project_name(),
name : 'Nix',
description : 'Nix Package Manager',
subdirs : ['nix'],
extra_cflags : ['-std=c++2a'],
requires : requires_public,
requires_private : requires_private,
libraries_private : libraries_private,
)

meson.override_dependency(meson.project_name(), declare_dependency(
include_directories : include_dirs,
link_with : this_library,
compile_args : ['-std=c++2a'],
dependencies : deps_public_subproject + deps_public,
))
7 changes: 7 additions & 0 deletions build-utils-meson/generate-header/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
bash = find_program('bash', native: true)

gen_header = generator(
bash,
arguments : [ '-c', '{ echo \'R"__NIX_STR(\' && cat @INPUT@ && echo \')__NIX_STR"\'; } > "$1"', '_ignored_argv0', '@OUTPUT@' ],
output : '@[email protected]',
)
19 changes: 19 additions & 0 deletions build-utils-meson/subprojects/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
foreach maybe_subproject_dep : deps_private_maybe_subproject
if maybe_subproject_dep.type_name() == 'internal'
deps_private_subproject += maybe_subproject_dep
# subproject sadly no good for pkg-config module
deps_other += maybe_subproject_dep
else
deps_private += maybe_subproject_dep
endif
endforeach

foreach maybe_subproject_dep : deps_public_maybe_subproject
if maybe_subproject_dep.type_name() == 'internal'
deps_public_subproject += maybe_subproject_dep
# subproject sadly no good for pkg-config module
deps_other += maybe_subproject_dep
else
deps_public += maybe_subproject_dep
endif
endforeach
6 changes: 6 additions & 0 deletions build-utils-meson/threads/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# This is only conditional to work around
# https://github.com/mesonbuild/meson/issues/13293. It should be
# unconditional.
if not (host_machine.system() == 'windows' and cxx.get_id() == 'gcc')
deps_private += dependency('threads')
endif
Loading