Shea Levy
ba48ab4b95
Merge branch '2.18-maintenance' into ifd-buildStore-2.18
2024-01-11 07:21:16 -05:00
Shea Levy
e7c2b35827
Build IFD in the build store when using eval-store.
...
Previously, IFDs would be built within the eval store, even though one
is typically using `--eval-store` precisely to *avoid* local builds.
Because the resulting Nix expression must be copied back to the eval
store in order to be imported, this requires the eval store to trust
the build store's signatures.
(cherry picked from commit c3942ef85ffbd83391410fbf012f1de366d2463c)
2024-01-11 06:34:27 -05:00
Shea Levy
be208d8e78
remote-store test: Break out IFD expression into a separate file
...
(cherry picked from commit 9cb287657bec5a969d8bb1678d598d9fa820e60b)
2024-01-11 06:30:02 -05:00
Shea Levy
895c525d04
daemon: Warn on old clients passing unexpected plugin-files.
...
The setting itself was already ignored due to exception trying to set pluginFiles.
2023-02-02 06:03:45 -05:00
Shea Levy
92edc38369
Don't send plugin-files to the daemon.
...
This is radically unsafe and the daemon has already loaded its plugins
anyway.
Fixes cachix/devenv#276
2023-02-01 20:05:56 -05:00
Shea Levy
334fa81d08
Mark flakes with .type = "flake".
...
Fixes #7186
2022-10-23 06:54:11 -04:00
Shea Levy and GitHub
6678e98411
Merge pull request #4922 from nrdxp/default-submodules
...
libfetchers/git: fetch submodules by default
2021-09-07 05:48:23 -04:00
Shea Levy
f6c5b05488
Respect command registrations in plugins.
2021-02-24 08:25:45 -05:00
Shea Levy
98d1b64400
Initialize plugins after handling initial command line flags
...
This is technically a breaking change, since attempting to set plugin
files after the first non-flag argument will now throw an error. This
is acceptable given the relative lack of stability in a plugin
interface and the need to tie the knot somewhere once plugins can
actually define new subcommands.
2021-02-24 08:22:17 -05:00
Shea Levy
ec3497c1d6
Bail if plugin-files is set after plugins have been loaded.
...
We know the flag will be ignored but the user wants it to take effect.
2021-02-24 08:20:48 -05:00
Shea Levy
35205e2e92
Warn about instability of plugin API
2021-02-22 17:10:55 -05:00
Shea Levy
6af6e41df0
Move command plugin interface to libnixcmd
2021-01-26 06:22:24 -05:00
Shea Levy
e58a71442a
nix.sh: Be set -u compliant.
2019-02-14 13:24:16 -05:00
Shea Levy
b30be6b450
Add builtins.appendContext.
...
A partner of builtins.getContext, useful for the same reasons.
2019-01-31 08:52:23 -05:00
Shea Levy
1d757292d0
Add builtins.getContext.
...
This can be very helpful when debugging, as well as enabling complex
black magic like surgically removing a single dependency from a
string's context.
2019-01-14 11:27:10 -05:00
Shea Levy
087be7281a
Treat plain derivation paths in context as normal paths.
...
Previously, plain derivation paths in the string context (e.g. those
that arose from builtins.storePath on a drv file, not those that arose
from accessing .drvPath of a derivation) were treated somewhat like
derivaiton paths derived from .drvPath, except their dependencies
weren't recursively added to the input set. With this change, such
plain derivation paths are simply treated as paths and added to the
source inputs set accordingly, simplifying context handling code and
removing the inconsistency. If drvPath-like behavior is desired, the
.drv file can be imported and then .drvPath can be accessed.
This is a backwards-incompatibility, but storePath is never used on
drv files within nixpkgs and almost never used elsewhere.
2019-01-13 11:29:55 -05:00
Shea Levy and GitHub
ff342fc0c2
Merge pull request #2586 from dtzWill/fix/remove-debug-print-nix-store
...
nix-store: remove debugging print
2018-12-19 14:57:38 -05:00
Shea Levy and GitHub
e653df3153
Merge pull request #2584 from dtzWill/fix/test-sri-512-256
...
tests/fetchurl: fix after changing default hash from 512 to 256
2018-12-15 11:04:31 -05:00
Shea Levy and GitHub
1fb475e7fc
Merge pull request #2240 from dtzWill/fix/use-utillinux-minimal
...
release-common: prefer utillinuxMinimal to reduce compile-time deps
2018-06-18 19:47:50 -04:00
Shea Levy and GitHub
9c2283cc4a
Merge pull request #2220 from 7c6f434c/doc-floats
...
manual: builtins.fromJSON: remove the claim that floats are not allowed
2018-06-10 11:59:02 -04:00
Shea Levy
bbbfc180d9
Explicitly describe the effects of filterSource excluding a directory.
2018-05-30 12:34:41 -04:00
Shea Levy
8e6108ff71
Merge branch 'aarch64-armv7' of git://github.com/lheckemann/nix
...
Support extra compatible architectures (#1916 )
2018-04-23 08:48:22 -04:00
Shea Levy
e2b028353b
Merge branch 'pos-crash-fix' of git://github.com/dezgeg/nix
2018-04-23 08:43:54 -04:00
Shea Levy
0aae411eaa
Merge branch 'add-test-eval-okay-nested-with' of git://github.com/ryantrinkle/nix
2018-04-23 08:43:14 -04:00
Shea Levy
25f580ee75
Merge branch 'doc/quiet' of git://github.com/samueldr/nix
2018-04-23 08:41:40 -04:00
Shea Levy
58f9ae0dcd
Merge branch 'hash-mismatch' of git://github.com/LnL7/nix
2018-04-23 08:40:34 -04:00
Shea Levy
b37f5ae31d
isFunction: True on primops.
...
Fixes #2073
2018-04-17 14:33:12 -04:00
Shea Levy and GitHub
3d748d3323
Merge pull request #2071 from sseefried-forked/clarify-glossary-and-garbage-collection
...
Add to glossary and clarify garbage collection
2018-04-12 06:12:38 -04:00
Shea Levy
dc0a542c9f
initPlugins: Fix dlopen error message.
2018-04-11 21:02:50 -04:00
Shea Levy
a38fe5c1a8
Export required C++ version in pkgconfig.
2018-04-09 11:32:43 -04:00
Shea Levy
7459388448
Merge branch 'fix/ruby-shebang' of git://github.com/samueldr/nix
2018-04-09 10:54:39 -04:00
Shea Levy
fd98fca7bb
Make prim_exec and prim_importNative available to plugins
2018-04-09 10:26:50 -04:00
Shea Levy
377cf43ff6
Merge branch 'add-split-test-file' of git://github.com/mightybyte/nix
2018-04-09 09:12:14 -04:00
Shea Levy
346c0ac361
nix-daemon: Exit successfully when interrupted.
...
Fixes #2058 .
2018-04-09 08:05:54 -04:00
Shea Levy
6856fe62b0
Document fetchGit.
...
Fixes #1981 .
2018-03-23 07:02:45 -04:00
Shea Levy
c24e0439b2
Merge branch 'fix/execl-null-sentinel' of git://github.com/dtzWill/nix
2018-03-21 23:25:53 -04:00
Shea Levy
92dfc22327
Merge branch 'master' of git://github.com/coreyoconnor/nix
2018-03-21 12:49:36 -04:00
Shea Levy and GitHub
d53970d31b
Merge pull request #1989 from dtzWill/fix/avoid-reserved-standard-macros
...
util: rename stdout/stdin members to avoid conflicts w/standard macro
2018-03-19 11:14:28 -06:00
Shea Levy
ae299ab47a
Merge branch 'master' of git://github.com/bchallenor/nix
2018-03-19 10:13:16 -04:00
Shea Levy
cfdbfa6b2c
Catch more possible instances of passing NULL to memcpy.
...
Actually fixes #1976 .
2018-03-14 23:53:43 -04:00
Shea Levy
d25d9f7cec
Merge branch 'fix/errno-sighandler' of git://github.com/dtzWill/nix
2018-03-14 23:45:35 -04:00
Shea Levy
e2088febf3
concatLists: Don't pass NULL pointers to memcpy.
...
This is UB, even if the size is 0. See #1976 .
Fixes #1976 .
2018-03-14 23:44:02 -04:00
Shea Levy and GitHub
56f2ed0081
Merge pull request #1906 from dtzWill/fix/nix-search
...
nix search: tests and fix #1893 and part of #1892
2018-03-13 18:43:47 -06:00
Shea Levy
088ef81759
ssh-ng: Don't forward options to the daemon.
...
This can be iterated on and currently leaves out settings we know we
want to forward, but it fixes #1713 and fixes #1935 and isn't
fundamentally broken like the status quo. Future changes are suggested
in a comment.
2018-03-05 07:42:15 -05:00
Shea Levy
3748a0ca1e
Merge branch 'improve-search-algorithm' of git://github.com/Ma27/nix
2018-03-02 11:41:08 -05:00
Shea Levy
aa8bbbf69d
Merge branch 'write-failure-fixes' of git://github.com/lheckemann/nix
2018-03-02 10:59:59 -05:00
Shea Levy and GitHub
4a000cbb39
Merge pull request #1927 from dtzWill/fix/fetchgit-HEAD
...
fetchGit: use "HEAD" as default ref instead of "master"
2018-02-28 18:44:57 -05:00
Shea Levy
14ca85688c
Actually fix nixDataDir in non-canonical path
2018-02-28 06:19:40 -05:00
Shea Levy
ddbcd01c83
Fix restricted mode when installing in non-canonical data dir
2018-02-22 07:18:14 -05:00
Shea Levy
a6c497f526
Merge branch 'nix-copy' of git://github.com/Mic92/nix-1
2018-02-20 21:05:17 -05:00
Shea Levy
7c377dc5cc
Merge remote-tracking branch 'dezgeg/afl-fixes'
2018-02-20 16:32:48 -05:00
Shea Levy
e1eb63a586
Merge branch 'perf-fixes' of git://github.com/dezgeg/nix
2018-02-19 10:11:52 -05:00
Shea Levy
e59a8a63e1
Don't silently succeed seccomp setup when !HAVE_SECCOMP.
...
Running Nix with build users without seccomp on Linux is dangerous,
and administrators should very explicitly opt-in to it.
2018-02-19 09:56:24 -05:00
Shea Levy
690ac7c90b
configure: Add a flag to disable seccomp.
...
This is needed for new arches where libseccomp support doesn't exist
yet.
Fixes #1878 .
2018-02-18 02:35:01 -05:00
Shea Levy
ac973a6d3c
monitor-fds: Fix on macOS.
...
Fixes #1871 .
2018-02-14 18:26:37 -05:00
Shea Levy
b095c06139
Add splitVersion primop.
...
Fixes #1868 .
2018-02-14 09:55:43 -05:00
Shea Levy
de4934ab3b
Allow plugins to define new settings.
2018-02-13 14:43:32 -05:00
Shea Levy
3fe9767dd3
Fix plugin tests on darwin
2018-02-13 12:49:14 -05:00
Shea Levy
b8739f2fb3
Enable specifying directories in plugin-files.
2018-02-13 11:25:01 -05:00
Shea Levy
6eb1040e90
Allow includes from nix.conf
2018-02-13 08:16:32 -05:00
Shea Levy
081f14a169
Allow using RegisterPrimop to define constants.
...
This enables plugins to add new constants, as well as new primops.
2018-02-08 14:35:50 -05:00
Shea Levy
88cd2d41ac
Add plugins to make Nix more extensible.
...
All plugins in plugin-files will be dlopened, allowing them to
statically construct instances of the various Register* types Nix
supports.
2018-02-08 12:44:37 -05:00
Shea Levy
48c192ca2d
builtins.path test: Don't rely on shlevy's XDG_RUNTIME_DIR
2018-02-07 10:26:53 -05:00
Shea Levy
69d82e5c58
Add path primop.
...
builtins.path allows specifying the name of a path (which makes paths
with store-illegal names now addable), allows adding paths with flat
instead of recursive hashes, allows specifying a filter (so is a
generalization of filterSource), and allows specifying an expected
hash (enabling safe path adding in pure mode).
2018-02-06 16:48:08 -05:00
Shea Levy
694b6d229b
Merge branch 'fix/busybox-sandbox-shell-attribute' of git://github.com/dtzWill/nix
2018-02-06 14:01:22 -05:00
Shea Levy
de96daf54f
Merge branch 'master' of git://github.com/catern/nix
2018-02-01 13:21:45 -05:00
Shea Levy
1d5d277ac7
HttpBinaryCacheStore: Support upsertFile with PUT.
...
Some servers, such as Artifactory, allow uploading with PUT and BASIC
auth. This allows nix copy to work to upload binaries to those
servers.
Worked on together with @adelbertc
2018-01-26 11:12:30 -08:00
Shea Levy
689b2783fc
Add hasContext primop
2018-01-02 12:25:14 -05:00
Shea Levy
6a0dd63508
Merge branch 'fix/issue-1757' of git://github.com/dtzWill/nix
2017-12-27 18:51:05 -05:00
Shea Levy
25196d0d26
Merge branch 'fix/fetchGit-clean-branch' of git://github.com/dtzWill/nix
2017-12-27 18:50:08 -05:00
Shea Levy
62e214fa6f
Merge branch 'fix/issue-1742-empty-completions' of git://github.com/dtzWill/nix
2017-12-20 13:18:36 -05:00
Shea Levy
5ba5ca7888
Merge branch 'feature/linenoise-ng' of git://github.com/dtzWill/nix
2017-12-11 07:52:20 -05:00
Shea Levy
11a7f8ce14
Merge branch 'fetchGit-fast-revision-update'
2017-12-05 11:16:39 -05:00
Shea Levy
eedbc4e06c
fetchGit: Ignore tarballTtl if rev is set and not in the repo.
...
Fixes #1697 .
2017-11-24 06:09:24 -05:00
Shea Levy
c7af84ce84
nix-shell: Fix file name resolution in shebangs
2017-10-19 15:02:40 -04:00
Shea Levy
cbc216911d
fetchgit: Remove incomplete/unneeded ref check.
...
This check fails for tags and branches, and is made redundant by the
checks git itself will do when fetching the repo.
2017-10-17 12:30:54 -04:00
Shea Levy
8522db1641
Merge branch 'nix-profile-daemon'
2017-10-16 18:17:51 -04:00
Shea Levy
6a037a738a
Pull nix-profile-daemon from 1.11
2017-10-16 14:51:39 -04:00
Shea Levy
4e58294ae6
fetchgit: Remove incomplete/unneeded isURI check.
...
This check spuriously fails for e.g. git@github.com:NixOS/nixpkgs.git,
and even for ssh://git@github.com/NixOS/nixpkgs.git, and is made
redundant by the checks git itself will do when fetching the repo. We
instead pass a -- before passing the URI to git to avoid injection.
2017-10-16 14:35:28 -04:00
Shea Levy
fb98e29067
darwin installer: Fix on systems where sudo -i is disabled.
2017-10-05 09:07:55 -07:00
Shea Levy
62a8fe6388
Merge branch 'man2' of git://github.com/robx/nix
2017-07-10 08:43:19 -04:00
Shea Levy
04ed11a978
Let hydra choose an alternate list of systems
2017-06-19 14:21:06 -04:00
Shea Levy
4bc00760f9
Add Store nesting to fix import-from-derivation within filterSource
2017-04-26 14:15:47 -04:00
Shea Levy
503cc4431b
nix-channel: error out if direct tarball unpack fails.
...
It's very unlikely a path ending in .tar.gz is a directory
Fixes #1318
2017-04-10 18:16:46 -04:00
Shea Levy
3ecb09a40a
builtins.exec: Make the argument just a list
2017-03-31 11:58:41 -04:00
Shea Levy
d299bd710a
Merge branch 'builtins.exec'
2017-03-31 11:22:39 -04:00
Shea Levy
a75475ca61
Remove tabs
2017-03-30 16:51:50 -04:00
Shea Levy
0bb8db257d
Add exec primop behind allow-unsafe-native-code-during-evaluation.
...
Execute a given program with the (optional) given arguments as the
user running the evaluation, parsing stdout as an expression to be
evaluated.
There are many use cases for nix that would benefit from being able to
run arbitrary code during evaluation, including but not limited to:
* Automatic git fetching to get a sha256 from a git revision
* git rev-parse HEAD
* Automatic extraction of information from build specifications from
other tools, particularly language-specific package managers like
cabal or npm
* Secrets decryption (e.g. with nixops)
* Private repository fetching
Ideally, we would add this functionality in a more principled way to
nix, but in the mean time 'builtins.exec' can be used to get these
tasks done.
The primop is only available when the
'allow-unsafe-native-code-during-evaluation' nix option is true. That
flag also enables the 'importNative' primop, which is strictly more
powerful but less convenient (since it requires compiling a plugin
against the running version of nix).
2017-03-30 08:04:21 -04:00
Shea Levy
96443e94a1
Merge branch 'configurable-aws-region'
2017-03-12 10:01:11 -04:00
Shea Levy
5f831c1057
Add docs for allow-import-from-derivation
2017-03-08 09:12:03 -05:00
Shea Levy
93f863be96
Add option to disable import-from-derivation completely, even if the drv is already realized
2017-03-08 08:46:12 -05:00
Shea Levy
3cc18d3753
Properly set the caFile for aws-sdk-cpp s3
2017-03-06 14:30:35 -05:00
Shea Levy
4fc30922cf
istringstream_nocopy: Implement in a standards-compliant way.
...
Fixes the problem mentioned in e6a61b8da7
See #1135
2017-03-06 13:03:02 -05:00
Shea Levy
689b825627
nix-daemon.plist: Set XDG_CACHE_HOME
2017-03-05 18:15:44 -05:00
Shea Levy
b667abc699
Add signing and s3 support on darwin
2017-03-05 07:39:10 -05:00
Shea Levy
5789eaa3f4
Add aws-region param to S3 store URLs
2017-03-03 16:12:17 -05:00
Shea Levy
f7b7df8d1f
Add nix-perl package for the perl bindings
2017-02-07 15:56:32 -05:00
Shea Levy
418a837897
Remove perl dependency.
...
Fixes #341
2017-02-07 15:56:32 -05:00
Shea Levy
3b4a15bd48
build-remote: Use futimes instead of futimens on APPLE
2017-01-24 06:22:02 -05:00
Shea Levy
bfa41eb671
nix-copy-closure: Implement in C++.
...
Tests fail currently because the database is not given proper hashes in the VM
2017-01-20 09:47:58 -05:00