Eelco Dolstra
e02a1352c1
Merge pull request #1108 from dezgeg/fix-sigfpe
...
Fix SIGFPE from integer overflow during division
2016-10-26 17:56:14 +02:00
Tuomas Tynkkynen
f0fc3dd88b
Fix SIGFPE from integer overflow during division
...
On some architectures (like x86_64 or i686, but not ARM for example)
overflow during integer division causes a crash due to SIGFPE.
Reproduces on a 64-bit system with:
nix-instantiate --eval -E '(-9223372036854775807 - 1) / -1'
The only way this can happen is when the smallest possible integer is
divided by -1, so just special-case that.
2016-10-26 18:41:59 +03:00
Eelco Dolstra
5c0bd51d49
Fix build log output in nix-store --serve
2016-10-26 17:13:38 +02:00
Eelco Dolstra
d2c58ba605
Restore the CachedFailure status code
...
The removal of CachedFailure caused the value of TimedOut to change,
which broke timed-out handling in Hydra (so timed-out builds would
show up as "aborted" and would be retried, e.g. at
http://hydra.nixos.org/build/42537427 ).
2016-10-26 15:02:38 +02:00
Eelco Dolstra
fdbbcc4492
Remove addPathToAccessor
2016-10-21 18:09:30 +02:00
Eelco Dolstra
542ae5c8f8
BinaryCacheStore: Optionally write a NAR listing
...
The store parameter "write-nar-listing=1" will cause BinaryCacheStore
to write a file ‘<store-hash>.ls.xz’ for each ‘<store-hash>.narinfo’
added to the binary cache. This file contains an XZ-compressed JSON
file describing the contents of the NAR, excluding the contents of
regular files.
E.g.
{
"version": 1,
"root": {
"type": "directory",
"entries": {
"lib": {
"type": "directory",
"entries": {
"Mcrt1.o": {
"type": "regular",
"size": 1288
},
"Scrt1.o": {
"type": "regular",
"size": 3920
},
}
}
}
...
}
}
(The actual file has no indentation.)
This is intended to speed up the NixOS channels programs index
generator [1], since fetching gazillions of large NARs from
cache.nixos.org is currently a bottleneck for updating the regular
(non-small) channel.
[1] https://github.com/NixOS/nixos-channel-scripts/blob/master/generate-programs-index.cc
2016-10-21 16:50:28 +02:00
Eelco Dolstra
307cc8c33d
Merge branch 'priorityqueue' of https://github.com/groxxda/nix
2016-10-19 16:37:04 +02:00
Eelco Dolstra
795d9b8668
Merge branch 'regex' of https://github.com/groxxda/nix
2016-10-19 16:32:24 +02:00
Alexander Ried
c935e8eeaf
fixup! replace own regex class with std::regex
2016-10-19 16:03:53 +02:00
Eelco Dolstra
19c278de89
Fix Darwin build
...
Done slightly differently from https://github.com/NixOS/nix/pull/1093 .
2016-10-19 15:21:18 +02:00
Eelco Dolstra
af3db853fa
Handle $TMPDIR ending with a slash
...
This caused the gc test to fail on Darwin.
2016-10-19 15:19:38 +02:00
Eelco Dolstra
29727ff944
Shut up clang warning
2016-10-19 15:02:48 +02:00
Eelco Dolstra
e5346c54df
Fix uninitialised variable
2016-10-19 15:02:38 +02:00
Eelco Dolstra
f702c92262
Merge pull request #1096 from groxxda/gitignore
...
.gitignore: catch up with perl -> c conversion
2016-10-19 14:09:04 +02:00
Alexander Ried
b05b98df75
replace own regex class with std::regex
2016-10-18 20:22:25 +02:00
Alexander Ried
efb938468c
downloader: use priority_queue
2016-10-18 15:45:51 +02:00
Alexander Ried
8d2f156c32
.gitignore: catch up with perl -> c conversion
2016-10-17 00:15:18 +02:00
Eelco Dolstra
ae8884b949
Fix /dev/ptmx in sandboxes
...
This was broken since ff0c0b645c
. Since
I can't figure out how to mount a devpts instance in the sandbox,
let's just bind-mount the host devpts.
2016-10-14 15:42:13 +02:00
Eelco Dolstra
2f9d60ed7f
CURL_AT_LEAST_VERSION -> LIBCURL_VERSION_NUM
...
http://hydra.nixos.org/build/42025230
2016-10-14 14:44:15 +02:00
Eelco Dolstra
5e61b422c5
Fix HTTP/2 support
...
Commit 86e8c67efc
broke it, because
CURL_* are not actually #defines.
2016-10-13 17:25:42 +02:00
Eelco Dolstra
fb2dd32100
SSL_CERT_FILE -> NIX_SSL_CERT_FILE
...
This prevents collisions with the "native" OpenSSL, in particular on
OS X.
Fixes #921 .
2016-10-13 17:09:10 +02:00
Eelco Dolstra
816d3e5724
Shut up some warnings
2016-10-12 15:53:38 +02:00
Eelco Dolstra
82e2a070e0
Add some functions needed by hydra
2016-10-12 15:49:37 +02:00
Eelco Dolstra
edf9eb8181
querySubstitutablePaths(): Don't query paths for which we already have a substituter
2016-10-07 19:57:47 +02:00
Eelco Dolstra
0c85ef7090
LocalStore::querySubstitutablePaths(): Implement using queryValidPaths()
2016-10-07 19:46:56 +02:00
Eelco Dolstra
844219f364
Store::queryValidPaths(): Use async queryPathInfo()
...
This allows the binary cache substituter to pipeline requests.
2016-10-07 19:43:36 +02:00
Eelco Dolstra
c663b84573
Implement generic Store::queryValidPaths()
2016-10-07 19:20:47 +02:00
Eelco Dolstra
35db4f65a0
Add copyClosure utility function for Hydra
2016-10-07 19:15:25 +02:00
Eelco Dolstra
629ab80022
importPaths(): Fix accessor support for Hydra
2016-10-07 18:13:40 +02:00
Eelco Dolstra
b0f7f9c98f
toJSON(): Support some more types
2016-10-06 17:00:52 +02:00
Eelco Dolstra
ae522f930d
Fix getS3Stats()
2016-10-06 17:00:52 +02:00
Eelco Dolstra
cd128f4bad
Merge pull request #998 from veprbl/rx_chmod_fix
...
override rx directory permissions in deletePath()
2016-10-06 11:08:21 +02:00
Eelco Dolstra
c6a929986a
Use std::random_device
2016-10-05 21:29:18 +02:00
Eelco Dolstra
86e8c67efc
Fix build with older versions of libcurl
2016-10-04 14:43:23 +02:00
Eelco Dolstra
4bd51d74af
Handle the case where signed-binary-caches consists of whitespace
2016-09-22 15:59:25 +02:00
Eelco Dolstra
bbe2811a10
<nix/fetchurl.nix>: Support nix-prefetch-url
2016-09-22 15:48:14 +02:00
Eelco Dolstra
818ab58cc6
Add sandbox-dev-shm-size option
...
Fixes #1069 .
2016-09-21 16:54:53 +02:00
Eelco Dolstra
4546be1b3e
nix-build, nix-shell: Don't print error message if nix-store/nix-instantiate fails
2016-09-21 16:54:53 +02:00
Eelco Dolstra
c55bf085eb
printMsg(lvlError, ...) -> printError(...) etc.
2016-09-21 16:54:53 +02:00
Eelco Dolstra
4036185cb4
Some notational convenience for formatting strings
...
We can now write
throw Error("file '%s' not found", path);
instead of
throw Error(format("file '%s' not found") % path);
and similarly
printError("file '%s' not found", path);
instead of
printMsg(lvlError, format("file '%s' not found") % path);
2016-09-21 16:54:53 +02:00
Eelco Dolstra
3f8e620b19
Merge pull request #1068 from zimbatm/doc-set-toString
...
Document the { __toString } interface
2016-09-21 16:30:38 +02:00
Jonas Chevalier
7d7ec2b3a8
Document the { __toString } interface
2016-09-21 14:52:26 +01:00
Eelco Dolstra
3fcfd899f8
Merge pull request #1066 from adevress/disable-doc
...
Add a new option to disable documentation generation at configure time
2016-09-20 18:13:41 +02:00
Eelco Dolstra
beaefdf706
Tweak
2016-09-20 17:49:31 +02:00
Eelco Dolstra
f12d56b27b
Improve robustness
2016-09-20 17:25:44 +02:00
Eelco Dolstra
794e4ab475
Fix "Promise already satisfied" error
2016-09-20 17:25:12 +02:00
Adrien Devresse
7ef053c632
Add a new option to disable documentation generation at configure time
2016-09-20 14:34:43 +00:00
Eelco Dolstra
4de0639105
nix-shell: Fix $PATH handling in the impure case
...
We were passing "p=$PATH" rather than "p=$PATH;", resulting in some
invalid shell code.
Also, construct a separate environment for the child rather than
overwriting the parent's.
2016-09-20 15:41:41 +02:00
Eelco Dolstra
9fc4cb2ae9
nix-shell: Restore CPU affinity
...
Otherwise the shell and its children will be bound to one CPU core...
2016-09-20 15:41:41 +02:00
Eric Litak
0d38b4c792
armv5tel can be built by armv6l and armv7l ( #1063 )
2016-09-16 22:03:34 +02:00