1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-06 21:41:48 +02:00
No description
Find a file
Shea Levy 967f231981 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).

(cherry picked from commit 0bb8db257d)
2017-03-30 10:08:38 -04:00
config Add config.guess, config.sub and install-sh 2013-11-25 11:26:02 +00:00
corepkgs <nix/buildenv.nix>: Don't substitute 2016-01-18 15:06:36 +01:00
doc nix-env: respect meta.outputsToInstall 2017-03-21 11:33:21 +01:00
misc SSL_CERT_FILE -> NIX_SSL_CERT_FILE 2017-02-22 12:30:45 +01:00
mk Don't pass "--no-copy-dt-needed-entries" option to linker on FreeBSD. 2015-10-06 22:28:30 +02:00
perl use --cacert instead of --capath 2017-02-22 14:04:47 -05:00
scripts download-from-binary-cache.pl: Respect netrc-file 2017-03-05 17:40:17 -05:00
src Add exec primop behind allow-unsafe-native-code-during-evaluation. 2017-03-30 10:08:38 -04:00
tests useChroot -> useSandbox 2017-03-21 13:50:47 +01:00
.gitignore Add exe, dll to .gitignore 2014-12-15 23:34:13 +08:00
bootstrap.sh bootstrap: Simplify & make more robust. 2011-09-06 12:11:05 +00:00
configure.ac Revert "Do not override environment CFLAGS and CXXFLAGS" 2016-01-12 13:51:38 +01:00
COPYING * Change this to LGPL to keep the government happy. 2006-04-25 16:41:06 +00:00
dev-shell Make dev-shell script work on Darwin 2014-07-16 11:53:47 +02:00
INSTALL * Autoconf / Automake configuration and building. 2003-04-04 16:14:56 +00:00
local.mk Don't depend on git when generating source tarball 2015-10-15 11:53:45 -07:00
Makefile nix-prefetch-url: Rewrite in C++ 2015-10-01 16:47:43 +02:00
Makefile.config.in Merge pull request #704 from ysangkok/freebsd-support 2015-11-24 19:24:21 +01:00
nix.spec.in Update nix.spec.in 2015-08-24 22:25:24 -07:00
README * Install documentation in $(docdir) (i.e. share/doc/nix). 2008-11-19 13:19:09 +00:00
release.nix Fix Debian 8 build 2016-09-06 13:12:53 +02:00
version Bump version to 1.11.8 2017-03-21 11:34:29 +01:00

Nix is a purely functional package manager.  For installation and
usage instructions, please read the manual, which can be found in
`docs/manual/manual.html', and additionally at the Nix website at
<http://nixos.org/>.


Acknowledgments

This product includes software developed by the OpenSSL Project for
use in the OpenSSL Toolkit (http://www.OpenSSL.org/).