aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-09-30Support control characters in JSON outputEelco Dolstra
2014-09-26printMissing(): Print derivations in approximate build orderEelco Dolstra
2014-09-25nix-daemon: Close unnecessary fdEelco Dolstra
2014-09-24Bindings: Remove copy constructorEelco Dolstra
2014-09-23Add --force-name support for --set in nix-env, to support ↵Shell Turner
nix-install-package --set
2014-09-23Add missing staticEelco Dolstra
2014-09-22Don't evaluate inside a "throw"Eelco Dolstra
Workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41174. This caused hydra-eval-jobs to ignore SIGINT.
2014-09-22Add ‘deepSeq’ primopEelco Dolstra
Note that unlike ‘lib.deepSeq’ in Nixpkgs, this handles cycles.
2014-09-22Make forceValueDeep work on values with cyclesEelco Dolstra
2014-09-22Rename strictForceValue -> forceValueDeepEelco Dolstra
2014-09-22Handle cycles when printing a valueEelco Dolstra
So this no longer crashes with a stack overflow: nix-instantiate -E --eval 'let as = { x = as; }; in as' Instead it prints: { x = { x = <CYCLE>; }; }
2014-09-22Add ‘seq’ primopEelco Dolstra
2014-09-22Add a function ‘valueSize’Eelco Dolstra
It returns the size of value, including all other values and environments reachable from it. It is intended for debugging memory consumption issues.
2014-09-19attrNames: Don't allocate duplicates of the symbolsEelco Dolstra
2014-09-19Fix off-by-oneEelco Dolstra
2014-09-19Inline Bindings::find()Eelco Dolstra
2014-09-19Store Attrs inside BindingsEelco Dolstra
This prevents a double allocation per attribute set.
2014-09-19Remove bogus commentEelco Dolstra
2014-09-18Update spec fileEelco Dolstra
http://hydra.nixos.org/build/14344391
2014-09-18Install some pkgconfig filesEelco Dolstra
2014-09-17On Linux, disable address space randomizationEelco Dolstra
2014-09-17Add some instrumentation for debugging GC leaksEelco Dolstra
2014-09-17Settings: Add bool get()Eelco Dolstra
2014-09-04Fix dependency orderingEelco Dolstra
2014-09-02Fix boost::too_many_args errorEelco Dolstra
Fixes #333.
2014-09-01Add an 'optimiseStore' remote procedure call.Ludovic Courtès
2014-08-28Add disallowedReferences / disallowedRequisitesEelco Dolstra
For the "stdenv accidentally referring to bootstrap-tools", it seems easier to specify the path that we don't want to depend on, e.g. disallowedRequisites = [ bootstrapTools ];
2014-08-28Introduce allowedRequisites featureGergely Risko
2014-08-21fix disappearing bash argumentsJoel Taylor
2014-08-21Use PR_SET_PDEATHSIG to ensure child cleanupEelco Dolstra
2014-08-21Use unshare() instead of clone()Eelco Dolstra
It turns out that using clone() to start a child process is unsafe in a multithreaded program. It can cause the initialisation of a build child process to hang in setgroups(), as seen several times in the build farm: The reason is that Glibc thinks that the other threads of the parent exist in the child, so in setxid_mark_thread() it tries to get a futex that has been acquired by another thread just before the clone(). With fork(), Glibc runs pthread_atfork() handlers that take care of this (in particular, __reclaim_stacks()). But clone() doesn't do that. Fortunately, we can use fork()+unshare() instead of clone() to set up private namespaces. See also https://www.mail-archive.com/lxc-devel@lists.linuxcontainers.org/msg03434.html.
2014-08-21Fix a segfault in ‘nix-env -qa’Eelco Dolstra
This was triggered by 47e185847e729d49e6aa376e8299fd66ef834a0a, which turned globals.state into a pointer.
2014-08-20Flush std::cout before closing stdoutEelco Dolstra
2014-08-20Use pager for more commandsEelco Dolstra
2014-08-20Provide reasonable default flags for $LESSEelco Dolstra
Borrowed from systemd.
2014-08-20Use proper quotes everywhereEelco Dolstra
2014-08-20Add some colorEelco Dolstra
2014-08-20nix-store -l: Automatically pipe output into $PAGEREelco Dolstra
2014-08-20Filter Nix-specific ANSI escape sequences from stderrEelco Dolstra
The Nixpkgs stdenv prints some custom escape sequences to denote nesting and stuff like that. Most terminals (e.g. xterm, konsole) ignore them, but some do not (e.g. xfce4-terminal). So for the benefit of the latter, filter them out.
2014-08-19Make hook shutdown more reliableEelco Dolstra
2014-08-18Fix --attr parsingEelco Dolstra
2014-08-18DohEelco Dolstra
2014-08-17Reduce verbosityEelco Dolstra
2014-08-17Propagate remote timeouts properlyEelco Dolstra
2014-08-17Fix download-via-sshEelco Dolstra
http://hydra.nixos.org/build/13286020
2014-08-13nix-log2xml: Handle newlinesEelco Dolstra
2014-08-13Remove log2html.xsl and friendsEelco Dolstra
It's part of Hydra now.
2014-08-13nix-log2xml: Handle UTF-8 charactersEelco Dolstra
C++ chars can be negative...
2014-08-13Use regular file GC roots if possibleEelco Dolstra
This makes hydra-eval-jobs create roots as regular files. See 1c208f2b7ef8ffb5e6d435d703dad83223a67bd6.
2014-08-13Handle compound single dash options properlyEelco Dolstra
So now nix-instantiate --eval -E '{x}: x' --argstr x -xyzzy correctly prints "-xyzzy", rather than giving an error. Issue NixOS/hydra#176.