aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-11-01* Documented some of the more obscure derivation attributes (includingEelco Dolstra
fixed-output derivations).
2007-10-31* Documented multi-user Nix.Eelco Dolstra
2007-10-29(no commit message)Eelco Dolstra
2007-10-29* Make the `--prebuilt-only' / `-b' option work not just for queriesEelco Dolstra
but installations/upgrades as well. So `nix-env -ub \*' will upgrade only those packages for which a substitute is available (or to be precise, it will upgrade each package to the highest version for which a substitute is available).
2007-10-29* Depend on bash instead of sh (since we use a few bashisms).Eelco Dolstra
2007-10-29* On FreeBSD, sys/mount.h needs sys/param.h.Eelco Dolstra
2007-10-27* Detect whether chroot / bind-mount support is available.Eelco Dolstra
2007-10-27* Delete the chroot directory automatically.Eelco Dolstra
* Removed some debug messages.
2007-10-27* Support for doing builds in a chroot under Linux. The builder isEelco Dolstra
executed in a chroot that contains just the Nix store, the temporary build directory, and a configurable set of additional directories (/dev and /proc by default). This allows a bit more purity enforcement: hidden build-time dependencies on directories such as /usr or /nix/var/nix/profiles are no longer possible. As an added benefit, accidental network downloads (cf. NIXPKGS-52) are prevented as well (because files such as /etc/resolv.conf are not available in the chroot). However the usefulness of chroots is diminished by the fact that many builders depend on /bin/sh, so you need /bin in the list of additional directories. (And then on non-NixOS you need /lib as well...)
2007-10-26* "trace" primop: write the trace to standard error.Eelco Dolstra
2007-10-24(no commit message)Eelco Dolstra
2007-10-23* Improved introduction (actually copied mostly from the homepage).Eelco Dolstra
2007-10-22* Document the new primops in Nix 0.11.Eelco Dolstra
2007-10-22* Move list of built-in functions to a separate file.Eelco Dolstra
2007-10-22(no commit message)Eelco Dolstra
2007-10-22(no commit message)Eelco Dolstra
2007-10-22(no commit message)Eelco Dolstra
2007-10-22Added comment telling about setup-hook and propagatedBuildInputsMarc Weber
2007-10-10* Doh.Eelco Dolstra
2007-10-10* Doh! Don't change the permissions on /nix/store.Eelco Dolstra
2007-10-10* nix-store --optimise: flag "--dry-run" to just query what the diskEelco Dolstra
savings would be.
2007-10-09* New command `nix-store --optimise' to reduce Nix store disk spaceEelco Dolstra
usage by finding identical files in the store and hard-linking them to each other. It typically reduces the size of the store by something like 25-35%. This is what the optimise-store.pl script did, but the new command is faster and more correct (it's safe wrt garbage collection and concurrent builds).
2007-10-09* listToAttrs: the list now should consist of {name, value} attributeEelco Dolstra
sets instead of {attr, value}. "name" is better than "attr" because the *combination* of the two forms the attribute.
2007-09-19* Manpage for nix-copy-closure.Eelco Dolstra
2007-09-18* Ignore dangling symlinks in ~/.nix-defexpr.Eelco Dolstra
2007-09-18* Pass various options to the worker so that flags like -K or -j workEelco Dolstra
in multi-user Nix (NIX-72). * Client/worker: exchange a protocol version number for future compatibility.
2007-09-18* Remove garbage.Eelco Dolstra
2007-09-17* nix-env -qa: make the "-A" flag do the expected thing, namely followEelco Dolstra
the given attribute path (just as -A does with other option) (NIX-83). So you can now say $ nix-env -qa -A nixpkgs_unstable.gnome \* atk-1.12.4 esound-0.2.36 ... to see the packages in the "gnome" attribute in Nixpkgs. To *print* the attribute path, you should now use "--attr-path" / "-P" (running out of letters...).
2007-09-17* nix-env: allow ~/.nix-defexpr to be a directory. If it is, then theEelco Dolstra
Nix expressions in that directory are combined into an attribute set {file1 = import file1; file2 = import file2; ...}, i.e. each Nix expression is an attribute with the file name as the attribute name. Also recurses into directories. * nix-env: removed the "--import" (-I) option which set the ~/.nix-defexpr symlink. * nix-channel: don't use "nix-env --import", instead symlink ~/.nix-defexpr/channels. So finally nix-channel --update doesn't override any default Nix expressions but combines with them. This means that you can have (say) a local Nixpkgs SVN tree and use it as a default for nix-env: $ ln -s .../path-to-nixpkgs-tree ~/.nix-defexpr/nixpkgs_svn and be subscribed to channels (including Nixpkgs) at the same time. (If there is any ambiguity, the -A flag can be used to disambiguate, e.g. "nix-env -i -A nixpkgs_svn.pan".)
2007-09-11* Test the impureEnvVars feature.Eelco Dolstra
2007-09-04* nix-push / generate-patches: bzip the manifest.Eelco Dolstra
2007-09-02explanation what happens when passing true / false and null values to ↵Marc Weber
derivation builders added
2007-08-30* Create the Nix daemon socket in a separate directoryEelco Dolstra
(/nix/var/nix/daemon-socket). This allows access to the Nix daemon to be restricted by setting the mode/ownership on that directory as desired, e.g. $ chmod 770 /nix/var/nix/daemon-socket $ chown root.wheel /nix/var/nix/daemon-socket to allow only users in the wheel group to use Nix. Setting the ownership on a socket is much trickier, since the socket must be deleted and recreated every time the daemon is started (which would require additional Nix configuration file directives to specify the mode/ownership, and wouldn't support arbitrary ACLs), some BSD variants appear to ignore permissions on sockets, and it's not clear whether the umask is respected on every platform when creating sockets.
2007-08-28* When there are multiple substituters, make sure to release theEelco Dolstra
lock on the output path after trying each. Otherwise the pathIsLockedByMe() test gets confused.
2007-08-28* Fix a race condition with parallel builds where multipleEelco Dolstra
fixed-output derivations or substitutions try to build the same store path at the same time. Locking generally catches this, but not between multiple goals in the same process. This happened especially often (actually, only) in the build farm with fetchurl downloads of the same file being executed on multiple machines and then copied back to the main machine where they would clobber each other (NIXBF-13). Solution: if a goal notices that the output path is already locked, then go to sleep until another goal finishes (hopefully the one locking the path) and try again.
2007-08-28* Doh! Broken test.Eelco Dolstra
2007-08-28* PathLocks::lockPaths: don't allow reacquiring a lock we alreadyEelco Dolstra
hold.
2007-08-28* Test case to show that parallel builds of different fixed-outputEelco Dolstra
derivations that produce the same output path don't work properly wrt locking. This happens a lot in the build farm when fetchurl derivations downloading the same file on different platforms are executed in parallel and then copied back to the main machine.
2007-08-22* nix-channel: supports users who don't have write permission to theEelco Dolstra
manifests directory. In that case, we don't do a nix-pull, so the user gets pure source deployment. The directory /nix/var/nix/gcroots/per-user/$USER should be writable. (It's created automatically if /nix/var/nix/gcroots/per-user is writable, e.g. if it has 1777 permission.)
2007-08-18primop functions listToAttrs (+test), __isAttrs, __trace addedMarc Weber
new configuration style proposal in lib/default-unstable.nix
2007-08-15* Show errors in nix-prefetch-url.Eelco Dolstra
2007-08-14* Hopefully this fixes the test on FreeBSD.Eelco Dolstra
2007-08-14* Fix the tests.Eelco Dolstra
2007-08-13* A test for the nix-worker.Eelco Dolstra
2007-08-13* Fix the tests.Eelco Dolstra
2007-08-13* Bump the Nix database schema version number; delete the substitutesEelco Dolstra
table.
2007-08-13* Backwards compatibility.Eelco Dolstra
2007-08-12* Get rid of the substitutes database table (NIX-47). Instead, if weEelco Dolstra
need any info on substitutable paths, we just call the substituters (such as download-using-manifests.pl) directly. This means that it's no longer necessary for nix-pull to register substitutes or for nix-channel to clear them, which makes those operations much faster (NIX-95). Also, we don't have to worry about keeping nix-pull manifests (in /nix/var/nix/manifests) and the database in sync with each other. The downside is that there is some overhead in calling an external program to get the substitutes info. For instance, "nix-env -qas" takes a bit longer. Abolishing the substitutes table also makes the logic in local-store.cc simpler, as we don't need to store info for invalid paths. On the downside, you cannot do things like "nix-store -qR" on a substitutable but invalid path (but nobody did that anyway). * Never catch interrupts (the Interrupted exception).
2007-08-10* nix-pull: support bzipped manifests: when doing a nix-pull on $url,Eelco Dolstra
try $url.bz2 first.
2007-08-10* Enable nix-prefetch-url caching in nix-channel.Eelco Dolstra