about summary refs log tree commit diff
path: root/src/nix.cc
AgeCommit message (Collapse)AuthorFilesLines
2003-07-10 * The policy-free derivate sharing now *almost* works. :-) For anyEelco Dolstra1-6/+19
hash for which no local expansion is available, Nix can execute a `substitute' which should produce a path with such a hash. This is policy-free since Nix does not in any way specify how the substitute should work, i.e., it's an arbitrary (unnormalised) fstate expression. For example, `nix-pull' registers substitutes that fetch Nix archives from the network (through `wget') and unpack them, but any other method is possible as well. This is an improvement over the old Nix sharing scheme, which had a policy (fetching through `wget') built in. The sharing scheme doesn't work completely yet because successors from fstate rewriting have to be registered on the receiving side. Probably the whole successor stuff can be folded up into the substitute mechanism; this would be a nice simplification.
2003-07-10 * Get `nix-push' working again. It now uses Nix/Fix to create NixEelco Dolstra1-9/+15
archives (using the package in corepkgs/nar). * queryPathByHash -> expandHash, and it takes an argument specifying the target path (which may be empty). * Install the core Fix packages in $prefix/share/fix. TODO: bootstrap Nix and install Nix as a Fix package.
2003-07-09 * When computing the set of paths referenced by an expression, alsoEelco Dolstra1-3/+8
include the paths of the subterms.
2003-07-08 * The output of a Derive() node is not a referenced path.Eelco Dolstra1-1/+1
2003-07-08 * A command to query the paths referenced by an fstate expression.Eelco Dolstra1-17/+73
* Use a temporary directory for build actions.
2003-07-08 * Get `--dump' and `--delete' to work again.Eelco Dolstra1-51/+17
2003-07-07 * `--realise' -> `--install'.Eelco Dolstra1-5/+5
2003-07-07 * Refactoring on the file names.Eelco Dolstra1-2/+2
2003-07-04 * Refactoring: move initialisation and argument parsing into a sharedEelco Dolstra1-50/+6
file.
2003-07-04 * Caching of expression successors.Eelco Dolstra1-11/+22
2003-06-25 * Minor cleanups.Eelco Dolstra1-2/+2
2003-06-23 * `nix --delete' command.Eelco Dolstra1-1/+13
2003-06-23 * `nix --restore' command.Eelco Dolstra1-6/+38
2003-06-23 * A function to restore from a Nix archive.Eelco Dolstra1-1/+2
* addValue() can now import any dumpable FS object.
2003-06-20 * Flags to indicate how values are specified on the command lineEelco Dolstra1-60/+116
(--hash, --file, --name).
2003-06-20 * Refactoring: move dump function into archive.cc.Eelco Dolstra1-0/+1
2003-06-18 * `nix --dump' command.Eelco Dolstra1-3/+26
2003-06-17 * Started integrating the new evaluation model into Nix.Eelco Dolstra1-644/+100
* Cleaned up command-line syntax.
2003-06-16 * Started implementing the new evaluation model.Eelco Dolstra1-154/+2
* Lots of refactorings. * Unit tests.
2003-06-16 * AST for Nix expressions.Eelco Dolstra1-3/+67
2003-06-15 * Refactoring: hash class.Eelco Dolstra1-104/+103
2003-05-30 * Send log output to stderr.Eelco Dolstra1-2/+2
2003-05-30 * Log the output of builders to $prefix/var/log/nix.Eelco Dolstra1-42/+67
2003-05-26 * FreeBSD / ISO C++ compatibility fixes.Eelco Dolstra1-1/+1
2003-05-26 * Removed some debug code that prevented packages from building.Eelco Dolstra1-2/+0
2003-05-26 * Some refactoring.Eelco Dolstra1-115/+27
2003-05-26 * Nix can now fetch prebuilts (and other files) from the network, iffEelco Dolstra1-41/+85
a mapping from the hash to a url has been registered through `nix regurl'. * Bug fix in nix: don't pollute stdout when running tar, it made nix-switch barf. * Bug fix in nix-push-prebuilts: don't create a subdirectory on the target when rsync'ing.
2003-05-25 * Prebuilt package sharing. We allow transparent binary deployment byEelco Dolstra1-5/+57
sharing package directories (i.e., the result of building a Nix descriptor). `nix-pull-prebuilts' obtains a list of all known prebuilts by consulting the paths and URLs specified in $prefix/etc/nix/prebuilts.conf. The mappings ($pkghash, $prebuilthash) and ($prebuilthash, $location) are registered with Nix so that it can use the prebuilt with hash $prebuilthash when installing a package with hash $pkghash by downloading and unpacking $location. `nix-push-prebuilts' creates prebuilts for all packages for which no prebuilt is known to exist. It can then optionally upload these to the network through rsync. `nix-[pull|push]-prebuilts' just provide a policy. Nix provides the mechanism through the `nix [export|regprebuilt|regurl]' commands.
2003-04-25 * Remove build directory from a package directory after building it.Eelco Dolstra1-3/+8
2003-04-24 * getpkg, delpkg, and so on now accept multiple arguments.Eelco Dolstra1-19/+16
2003-04-23 * Redirect stdout to stderr when executing the build script.Eelco Dolstra1-0/+3
2003-04-08 * FreeBSD / gcc 2.95 compatibility fixes.Eelco Dolstra1-4/+3
* A script to generate prebuilt registration scripts.
2003-04-08 * `Fix' is a high-level descriptor instantiator for Nix. It replacesEelco Dolstra1-74/+12
nix-instantiate.
2003-04-04 * Autoconf / Automake configuration and building.Eelco Dolstra1-47/+14
2003-04-04 * Minor refactoring: use iterators to process arguments.Eelco Dolstra1-80/+79
2003-04-02 * Importing and exporting of pre-built packages.Eelco Dolstra1-10/+106
2003-04-01 * Use ATerms for Nix descriptors.Eelco Dolstra1-25/+28
2003-03-28 * Don't fork in `nix run'.Eelco Dolstra1-44/+20
2003-03-28 * Allow arguments to be passed to programs in `nix run'.Eelco Dolstra1-25/+27
2003-03-24 * For efficiency: md5 integrated into nix.Eelco Dolstra1-63/+195
* Command `nix ensure' which is like `nix getpkg' except that if the has refers to a run action it will just ensure that the imports are there. * Command `nix closure' to print out the closure of the set of descriptors under the import relation, starting at a set of roots. This can be used for garbage collection (e.g., given a list of `activated' packages, we can delete all packages not reachable from those). * Command `nix graph' to print out a Dot graph of the dependency graph. * `nix-addroot' adds a root for the (unimplemented) garbage collector.
2003-03-24 * Descriptors now have a "system" field specifying the platform thatEelco Dolstra1-31/+40
the build or run action should be perfomed on. This ensures that descriptors have different hashes on different platforms.
2003-03-24 * Refactoring.Eelco Dolstra1-66/+37
2003-03-23 * A command to run programs in Nix packages, that is, to execute a runEelco Dolstra1-20/+123
action. Run actions are described by uniquely hashed descriptors, just like build actions. Therefore run actions can have dependencies, but these need not be the same as the build time dependencies (e.g., at runtime we can link against a different version of a dynamic library). Example: nix run 31d6bf4c171282367065e0deecd7c579 will run the Pan 0.13.91 newsreader with gtkspell support.
2003-03-21 * Added a command to list installed packages.Eelco Dolstra1-2/+22
2003-03-21 * Added a command to verify the consistency of the database.Eelco Dolstra1-22/+93
2003-03-20 * Various updates.Eelco Dolstra1-77/+151
2003-03-14 * Improved Nix. Resources (package descriptors and other sourceEelco Dolstra1-74/+267
files) are now referenced using their cryptographic hashes. This ensures that if two package descriptors have the same contents, then they describe the same package. This property is not as trivial as it sounds: generally import relations cause this property not to hold w.r.t. temporality. But since imports also use hashes to reference other packages, equality follows by induction.
2003-03-13 * Converted to C++.Eelco Dolstra1-0/+220