aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2003-05-26* Removed some debug code that prevented packages from building.Eelco Dolstra
2003-05-26* Moved the package descriptors and build scripts out of the Nix tree.Eelco Dolstra
2003-05-26* Some refactoring.Eelco Dolstra
2003-05-26* Nix can now fetch prebuilts (and other files) from the network, iffEelco Dolstra
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* Updated Fix descriptors to reflect the new Fix abstract syntax.Eelco Dolstra
2003-05-25* Prebuilt package sharing. We allow transparent binary deployment byEelco Dolstra
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 Dolstra
* 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* Bug fix: deleting the old links didn't work properly.Eelco Dolstra
2003-04-25* Remove build directory from a package directory after building it.Eelco Dolstra
2003-04-24* Removed old Nix descriptors.Eelco Dolstra
2003-04-24* nix-switch now removes the link to the previously activated systemEelco Dolstra
package as a root of the garbage collector, unless `--keep' is specified.
2003-04-24* File removed.Eelco Dolstra
2003-04-24* getpkg, delpkg, and so on now accept multiple arguments.Eelco Dolstra
2003-04-23* Fix descriptors for Pan and its dependencies.Eelco Dolstra
2003-04-23* Fix descriptor for Subversion 0.21.0.Eelco Dolstra
2003-04-23* Add "... || exit 1" to every command to catch failure.Eelco Dolstra
2003-04-23* Redirect stdout to stderr when executing the build script.Eelco Dolstra
2003-04-09* A garbage collector for installed packages. nix-collect-garbageEelco Dolstra
doesn't actually delete any packages, it just prints their descriptor hashes. So we can do nix info $(nix-collect-garbage) to print out the ids of the packages that would be deleted, and nix delpkg $(nix-collect-garbage) to actually delete them.
2003-04-09* When we activate a descriptor in nix-switch, remember its hash.Eelco Dolstra
This allows us to find out all `live' packages on the system by doing nix closure $(cat /nix/var/nix/links/*.hash) which will print out the activated configurations and all packages referenced by them. We could then garbage collect unused packages by deleting the difference between `nix listinst' and the set returned by `nix closure ...'.
2003-04-09* In `fix --instantiate', only print out the hashes of the NixEelco Dolstra
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 Dolstra
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 Dolstra
2003-04-08* FreeBSD / gcc 2.95 compatibility fixes.Eelco Dolstra
* A script to generate prebuilt registration scripts.
2003-04-08* Added some installation instructions to the readme.Eelco Dolstra
2003-04-08* `Fix' is a high-level descriptor instantiator for Nix. It replacesEelco Dolstra
nix-instantiate.
2003-04-06* Better installation: make directories, create database.Eelco Dolstra
* Fixed the register script.
2003-04-06* The latest version of Pan.Eelco Dolstra
2003-04-06* Delete source after building.Eelco Dolstra
2003-04-04* Autoconf / Automake configuration and building.Eelco Dolstra
2003-04-04* Minor refactoring: use iterators to process arguments.Eelco Dolstra
2003-04-02* Script to register pre-built packages.Eelco Dolstra
2003-04-02* Importing and exporting of pre-built packages.Eelco Dolstra
2003-04-01* Use ATerms for Nix descriptors.Eelco Dolstra
2003-03-31* Nix descriptor for Subversion.Eelco Dolstra
2003-03-28* Check for collissions.Eelco Dolstra
2003-03-28* Don't fork in `nix run'.Eelco Dolstra
2003-03-28* Allow arguments to be passed to programs in `nix run'.Eelco Dolstra
2003-03-25* Added a script nix-activate which builds a list of "activated"Eelco Dolstra
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 Dolstra
* Use MD5::Digest.
2003-03-24* For efficiency: md5 integrated into nix.Eelco Dolstra
* 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* Typo fix.Eelco Dolstra
2003-03-24* Descriptors now have a "system" field specifying the platform thatEelco Dolstra
the build or run action should be perfomed on. This ensures that descriptors have different hashes on different platforms.
2003-03-24* Refactoring.Eelco Dolstra
2003-03-23* A descriptor for running the Pan newsreader.Eelco Dolstra
* Added descriptors for gtkspell and its support package pspell. Gtkspell is an optional dependency of Pan, so we should add the ability to nix-instantiate to instantiate variants of a package based on a selection of features.
2003-03-23* A command to run programs in Nix packages, that is, to execute a runEelco Dolstra
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 Dolstra
2003-03-21* Added a command to verify the consistency of the database.Eelco Dolstra
2003-03-21* Forgot to commit this one.Eelco Dolstra
2003-03-21* Fetch sources from the network.Eelco Dolstra
2003-03-21* Renamed dist -> build.Eelco Dolstra