aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjade <lix@jade.fyi>2024-05-31 19:19:29 +0000
committerGerrit Code Review <gerrit@lix-systems>2024-05-31 19:19:29 +0000
commitadedac70fad1f5b6e11d1ac5d4a18ede57830654 (patch)
treefc08ee4abe5f589d03f6741fc50756b8d81c56c4
parenta75d7a5777a1f84bdc773c52e5534e08f44a1c5b (diff)
parenta6b33cb3b22f98c7e40ddc47fd5a09c905abd9e6 (diff)
Merge changes Ifcb0d310,I664366b8,Ibe7cf546 into main
* changes: gitignore: delete 90% of it build-time: remove 20% more by PCH'ing C++ stdlib shellHook: make it actually run
-rw-r--r--.gitignore129
-rw-r--r--misc/pre-commit.nix9
-rw-r--r--package.nix6
-rw-r--r--src/libcmd/meson.build1
-rw-r--r--src/libexpr/meson.build1
-rw-r--r--src/libfetchers/meson.build1
-rw-r--r--src/libmain/meson.build1
-rw-r--r--src/libstore/meson.build1
-rw-r--r--src/libutil/meson.build1
-rw-r--r--src/nix/meson.build1
-rw-r--r--src/pch/precompiled-headers.hh (renamed from precompiled-headers.h)0
-rw-r--r--tests/unit/meson.build6
12 files changed, 22 insertions, 135 deletions
diff --git a/.gitignore b/.gitignore
index 4d921d97f..816a8e4b1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,128 +1,5 @@
-Makefile.config
-perl/Makefile.config
-
-# /
-/aclocal.m4
-/autom4te.cache
-/precompiled-headers.h.gch
-/config.*
-/configure
-/stamp-h1
-/svn-revision
-/libtool
-/config
-
-# /doc/manual/
-/doc/manual/*.1
-/doc/manual/*.5
-/doc/manual/*.8
-/doc/manual/generated/*
-/doc/manual/nix.json
-/doc/manual/conf-file.json
-/doc/manual/language.json
-/doc/manual/xp-features.json
-/doc/manual/src/command-ref/experimental-features-shortlist.md
-/doc/manual/src/contributing/experimental-feature-descriptions.md
-/doc/manual/src/release-notes/rl-next-generated.md
-
-# /scripts/
-/scripts/nix-profile.sh
-/scripts/nix-profile-daemon.sh
-/scripts/nix-profile.fish
-/scripts/nix-profile-daemon.fish
-
-# /src/libexpr/
-/src/libexpr/lexer-tab.cc
-/src/libexpr/lexer-tab.hh
-/src/libexpr/parser-tab.cc
-/src/libexpr/parser-tab.hh
-/src/libexpr/parser-tab.output
-/src/libexpr/nix.tbl
-/src/libexpr/tests
-/tests/unit/libexpr/libnixexpr-tests
-
-# /src/libstore/
-*.gen.*
-/src/libstore/tests
-/tests/unit/libstore/libnixstore-tests
-
-# /src/libutil/
-/src/libutil/tests
-/tests/unit/libutil/libnixutil-tests
-
-/src/nix/nix
-
-/src/nix/doc
-
-# /src/nix-env/
-/src/nix-env/nix-env
-
-# /src/nix-instantiate/
-/src/nix-instantiate/nix-instantiate
-
-# /src/nix-store/
-/src/nix-store/nix-store
-
-/src/nix-prefetch-url/nix-prefetch-url
-
-/src/nix-collect-garbage/nix-collect-garbage
-
-# /src/nix-channel/
-/src/nix-channel/nix-channel
-
-# /src/nix-build/
-/src/nix-build/nix-build
-
-/src/nix-copy-closure/nix-copy-closure
-
-/src/error-demo/error-demo
-
-/src/build-remote/build-remote
-
-# /tests/functional/
-/tests/functional/test-tmp
-/tests/functional/common/vars-and-functions.sh
-/tests/functional/result*
-/tests/functional/restricted-innocent
-/tests/functional/shell
-/tests/functional/shell.drv
-/tests/functional/config.nix
-/tests/functional/ca/config.nix
-/tests/functional/dyn-drv/config.nix
-/tests/functional/repl-result-out
-/tests/functional/debugger-test-out
-/tests/functional/test-libstoreconsumer/test-libstoreconsumer
-
-# /tests/functional/lang/
-/tests/functional/lang/*.out
-/tests/functional/lang/*.out.xml
-/tests/functional/lang/*.err
-/tests/functional/lang/*.ast
-
-/perl/lib/Nix/Config.pm
-/perl/lib/Nix/Store.cc
-
-/misc/systemd/nix-daemon.service
-/misc/systemd/nix-daemon.socket
-/misc/systemd/nix-daemon.conf
-/misc/upstart/nix-daemon.conf
-
-/src/resolve-system-dependencies/resolve-system-dependencies
-
outputs/
-*.a
-*.o
-*.o.tmp
-*.so
-*.dylib
-*.dll
-*.exe
-*.dep
-*~
-*.pc
-*.plist
-
# GNU Global
GPATH
GRTAGS
@@ -132,17 +9,11 @@ GTAGS
# ccls
/.ccls-cache
-# auto-generated compilation database
-compile_commands.json
-
-nix-rust/target
-
result
result-*
.vscode/
.direnv/
-.envrc.local
# clangd and possibly more
.cache/
diff --git a/misc/pre-commit.nix b/misc/pre-commit.nix
index ed2b152a3..4f54141b3 100644
--- a/misc/pre-commit.nix
+++ b/misc/pre-commit.nix
@@ -87,11 +87,12 @@ pre-commit-run {
"file"
"header"
];
- # generated files; these will never actually be seen by this
- # check, and are left here as documentation
excludes = [
- "(parser|lexer)-tab\\.hh$"
- "\\.gen\\.hh$"
+ ''^src/pch/.*$''
+ # generated files; these will never actually be seen by this
+ # check, and are left here as documentation
+ ''(parser|lexer)-tab\.hh$''
+ ''\.gen\.hh$''
];
entry = lib.getExe pkgs.check-headers;
};
diff --git a/package.nix b/package.nix
index 6251b28ba..43b709023 100644
--- a/package.nix
+++ b/package.nix
@@ -169,7 +169,6 @@ stdenv.mkDerivation (finalAttrs: {
./boehmgc-coroutine-sp-fallback.diff
./doc
./misc
- ./precompiled-headers.h
./src
./COPYING
]
@@ -449,7 +448,10 @@ stdenv.mkDerivation (finalAttrs: {
shellHook = ''
# don't re-run the hook in (other) nested nix-shells
function lixShellHook() {
- if [[ $name != lix-shell-env ]]; then
+ # n.b. how the heck does this become -env-env? well, `nix develop` does it:
+ # https://git.lix.systems/lix-project/lix/src/commit/7575db522e9008685c4009423398f6900a16bcce/src/nix/develop.cc#L240-L241
+ # this is, of course, absurd.
+ if [[ $name != lix-shell-env && $name != lix-shell-env-env ]]; then
return;
fi
diff --git a/src/libcmd/meson.build b/src/libcmd/meson.build
index 4da1b496b..4dc0714c8 100644
--- a/src/libcmd/meson.build
+++ b/src/libcmd/meson.build
@@ -54,6 +54,7 @@ libcmd = library(
nlohmann_json,
lix_doc
],
+ cpp_pch : ['../pch/precompiled-headers.hh'],
install : true,
# FIXME(Qyriad): is this right?
install_rpath : libdir,
diff --git a/src/libexpr/meson.build b/src/libexpr/meson.build
index fda6fde2c..9a18c7ab3 100644
--- a/src/libexpr/meson.build
+++ b/src/libexpr/meson.build
@@ -145,6 +145,7 @@ libexpr = library(
include_directories : [
'../libmain',
],
+ cpp_pch : ['../pch/precompiled-headers.hh'],
install : true,
# FIXME(Qyriad): is this right?
install_rpath : libdir,
diff --git a/src/libfetchers/meson.build b/src/libfetchers/meson.build
index dbb85b84c..365bcd4a7 100644
--- a/src/libfetchers/meson.build
+++ b/src/libfetchers/meson.build
@@ -30,6 +30,7 @@ libfetchers = library(
liblixutil,
nlohmann_json,
],
+ cpp_pch : ['../pch/precompiled-headers.hh'],
install : true,
# FIXME(Qyriad): is this right?
install_rpath : libdir,
diff --git a/src/libmain/meson.build b/src/libmain/meson.build
index b17247a9d..075aa83b2 100644
--- a/src/libmain/meson.build
+++ b/src/libmain/meson.build
@@ -20,6 +20,7 @@ libmain = library(
liblixutil,
liblixstore,
],
+ cpp_pch : ['../pch/precompiled-headers.hh'],
install : true,
# FIXME(Qyriad): is this right?
install_rpath : libdir,
diff --git a/src/libstore/meson.build b/src/libstore/meson.build
index f776e9621..65ecacc20 100644
--- a/src/libstore/meson.build
+++ b/src/libstore/meson.build
@@ -220,6 +220,7 @@ libstore = library(
nlohmann_json,
],
cpp_args : cpp_args,
+ cpp_pch : ['../pch/precompiled-headers.hh'],
install : true,
# FIXME(Qyriad): is this right?
install_rpath : libdir,
diff --git a/src/libutil/meson.build b/src/libutil/meson.build
index 96450fbe2..cfdd0e52c 100644
--- a/src/libutil/meson.build
+++ b/src/libutil/meson.build
@@ -129,6 +129,7 @@ libutil = library(
openssl,
nlohmann_json,
],
+ cpp_pch : ['../pch/precompiled-headers.hh'],
implicit_include_directories : true,
install : true,
)
diff --git a/src/nix/meson.build b/src/nix/meson.build
index e41399b5d..45303641f 100644
--- a/src/nix/meson.build
+++ b/src/nix/meson.build
@@ -89,6 +89,7 @@ nix = executable(
boehm,
nlohmann_json,
],
+ cpp_pch : ['../pch/precompiled-headers.hh'],
install : true,
# FIXME(Qyriad): is this right?
install_rpath : libdir,
diff --git a/precompiled-headers.h b/src/pch/precompiled-headers.hh
index f52f1cab8..f52f1cab8 100644
--- a/precompiled-headers.h
+++ b/src/pch/precompiled-headers.hh
diff --git a/tests/unit/meson.build b/tests/unit/meson.build
index 35a11a5d3..d8d4a00d1 100644
--- a/tests/unit/meson.build
+++ b/tests/unit/meson.build
@@ -68,6 +68,7 @@ libutil_tester = executable(
liblixutil_test_support,
nlohmann_json,
],
+ cpp_pch : ['../../src/pch/precompiled-headers.hh'],
)
test(
@@ -102,6 +103,7 @@ libstore_test_support = library(
include_directories : include_directories(
'libstore-support',
),
+ cpp_pch : ['../../src/pch/precompiled-headers.hh'],
)
liblixstore_test_support = declare_dependency(
include_directories : include_directories('libstore-support'),
@@ -135,6 +137,7 @@ libstore_tester = executable(
gtest,
nlohmann_json,
],
+ cpp_pch : ['../../src/pch/precompiled-headers.hh'],
)
test(
@@ -166,6 +169,7 @@ libexpr_test_support = library(
include_directories : include_directories(
'libexpr-support',
),
+ cpp_pch : ['../../src/pch/precompiled-headers.hh'],
)
liblixexpr_test_support = declare_dependency(
include_directories : include_directories('libexpr-support'),
@@ -199,6 +203,7 @@ libexpr_tester = executable(
gtest,
nlohmann_json,
],
+ cpp_pch : ['../../src/pch/precompiled-headers.hh'],
)
test(
@@ -225,6 +230,7 @@ libcmd_tester = executable(
gtest,
boost,
],
+ cpp_pch : ['../../src/pch/precompiled-headers.hh'],
)
test(