about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2003-04-25 * Cleaned up the semantics of Fix expressions.Eelco Dolstra18-150/+276
* 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 Dolstra1-2/+2
2003-04-25 * Remove build directory from a package directory after building it.Eelco Dolstra1-3/+8
2003-04-24 * Removed old Nix descriptors.Eelco Dolstra14-128/+0
2003-04-24 * nix-switch now removes the link to the previously activated systemEelco Dolstra1-2/+20
package as a root of the garbage collector, unless `--keep' is specified.
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 * Fix descriptors for Pan and its dependencies.Eelco Dolstra15-52/+145
2003-04-23 * Fix descriptor for Subversion 0.21.0.Eelco Dolstra3-7/+16
2003-04-23 * Add "... || exit 1" to every command to catch failure.Eelco Dolstra1-7/+7
2003-04-23 * Redirect stdout to stderr when executing the build script.Eelco Dolstra1-0/+3
2003-04-09 * A garbage collector for installed packages. nix-collect-garbageEelco Dolstra2-1/+23
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 Dolstra1-1/+7
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 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 Dolstra8-42/+85
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 Dolstra6-14/+48
2003-04-08 * FreeBSD / gcc 2.95 compatibility fixes.Eelco Dolstra4-36/+50
* A script to generate prebuilt registration scripts.
2003-04-08 * Added some installation instructions to the readme.Eelco Dolstra1-0/+36
2003-04-08 * `Fix' is a high-level descriptor instantiator for Nix. It replacesEelco Dolstra8-217/+405
nix-instantiate.
2003-04-06 * Better installation: make directories, create database.Eelco Dolstra3-10/+18
* Fixed the register script.
2003-04-06 * The latest version of Pan.Eelco Dolstra1-0/+14
2003-04-06 * Delete source after building.Eelco Dolstra8-0/+16
2003-04-04 * Autoconf / Automake configuration and building.Eelco Dolstra15-1470/+639
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 Dolstra3-21/+115
2003-04-01 * Use ATerms for Nix descriptors.Eelco Dolstra4-34/+57
2003-03-31 * Nix descriptor for Subversion.Eelco Dolstra2-0/+19
2003-03-28 * Check for collissions.Eelco Dolstra1-0/+3
2003-03-28 * Don't fork in `nix run'.Eelco Dolstra3-46/+25
2003-03-28 * Allow arguments to be passed to programs in `nix run'.Eelco Dolstra2-26/+28
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 * Typo fix.Eelco Dolstra1-1/+1
2003-03-24 * Descriptors now have a "system" field specifying the platform thatEelco Dolstra16-32/+1480
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 descriptor for running the Pan newsreader.Eelco Dolstra8-0/+86
* 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 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 Dolstra2-3/+23
2003-03-21 * Added a command to verify the consistency of the database.Eelco Dolstra1-22/+93
2003-03-21 * Forgot to commit this one.Eelco Dolstra1-1/+1
2003-03-21 * Fetch sources from the network.Eelco Dolstra13-22/+52
2003-03-21 * Renamed dist -> build.Eelco Dolstra16-8/+8
2003-03-20 * Descriptor templates for the Pan newsreader and all itsEelco Dolstra17-0/+157
dependencies.
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 Dolstra5-91/+306
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