about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2003-05-26 * Nix can now fetch prebuilts (and other files) from the network, iffEelco Dolstra2-50/+99
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 Dolstra4-58/+112
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 * Cleaned up the semantics of Fix expressions.Eelco Dolstra1-66/+130
* Conditionals and variables in Fix expressions. This allows, e.g., Descr( [ Bind("pkgId", "subversion-0.21.0") , Bind("httpsClient", Bool(True)) , Bind("httpServer", Bool(True)) , Bind("ssl", If(Var("httpsClient"), Fix("./openssl-0.9.7b.fix"), "")) , Bind("httpd", If(Var("httpServer"), Fix("./httpd-2.0.45.fix"), "")) ... ]) which introduces domain feature variables httpsClient and httpServer (i.e., whether Subversion is built with https client and webdav server support); the values of the variables influences package dependencies and the build scripts. The next step is to allow that packages can express constraints on each other. E.g., StrategoXT is dependent on an ATerm library with the "gcc" variant enabled. In fact, this may cause several Nix instantiations to be created from a single Fix descriptor. If possible, Fix should try to find the least set of instantiations that obeys the constraints.
2003-04-25 * Remove build directory from a package directory after building it.Eelco Dolstra1-3/+8
2003-04-24 * File removed.Eelco Dolstra1-22/+0
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-09 * In `fix --instantiate', only print out the hashes of the NixEelco Dolstra1-3/+1
descriptors generated out of Fix descriptors specified on the command line. This allows us to say: nix-switch $(fix -i ./test/fixdescriptors/system.fix)
2003-04-09 * We no longer use nix-populate standalone, rather we use it as aEelco Dolstra1-0/+1
build action for `system' packages (like system.fix) that have dependencies on all packages we want to activate. So the command sequence to switch to a new activation configuration of the system would be: $ fix -i .../fixdescriptors/system.fix ... system.fix -> 89cf4713b37cc66989304abeb9ea189f $ nix-switch 89cf4713b37cc66989304abeb9ea189f * A nix-profile.sh script that can be included in .bashrc.
2003-04-08 * Descriptor importing in Fix.Eelco Dolstra2-101/+28
2003-04-08 * FreeBSD / gcc 2.95 compatibility fixes.Eelco Dolstra3-36/+30
* A script to generate prebuilt registration scripts.
2003-04-08 * `Fix' is a high-level descriptor instantiator for Nix. It replacesEelco Dolstra5-197/+395
nix-instantiate.
2003-04-06 * Better installation: make directories, create database.Eelco Dolstra1-0/+7
* Fixed the register script.
2003-04-04 * Autoconf / Automake configuration and building.Eelco Dolstra7-1470/+55
2003-04-04 * Minor refactoring: use iterators to process arguments.Eelco Dolstra1-80/+79
2003-04-02 * Script to register pre-built packages.Eelco Dolstra1-0/+17
2003-04-02 * Importing and exporting of pre-built packages.Eelco Dolstra1-10/+106
2003-04-01 * Use ATerms for Nix descriptors.Eelco Dolstra4-34/+57
2003-03-28 * Check for collissions.Eelco Dolstra1-0/+3
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-25 * Added a script nix-activate which builds a list of "activated"Eelco Dolstra3-18/+108
packages (i.e., the packages that should appear in the user's $PATH, and so on). Based on this list, the script nix-populate creates a hierarchy of symlinks to the relevant files in those packages (e.g., for pkg/bin and pkg/lib). A nice property of nix-populate is that on each run it creates a *new* tree, rather than updating the old one. It then atomically switches over to the new tree. This allows atomic upgrades or rollbacks on the set of activated packages.
2003-03-25 * Integrate hash into instantiated descriptor file names.Eelco Dolstra1-10/+22
* Use MD5::Digest.
2003-03-24 * For efficiency: md5 integrated into nix.Eelco Dolstra5-65/+809
* 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 Dolstra4-32/+1456
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-21 * Fetch sources from the network.Eelco Dolstra1-5/+29
2003-03-20 * nix-instantiate now instantiantes the closure of the set ofEelco Dolstra1-17/+55
descriptor templates under the import relation. I.e., we can now say: nix-instantiate outdir foo.nix which will create descriptors for foo.nix and all imported packages in outdir/.
2003-03-20 * Various updates.Eelco Dolstra1-77/+151
2003-03-20 * A script to instantiate package descriptors from templates.Eelco Dolstra1-0/+23
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 Dolstra3-316/+222
2003-03-13 * Initial version of nix.Eelco Dolstra2-0/+316