guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch nix deleted (was 0dccab9f41)


From: guix-commits
Subject: branch nix deleted (was 0dccab9f41)
Date: Mon, 18 Sep 2023 16:46:53 -0400 (EDT)

civodul pushed a change to branch nix
in repository guix.

     was 0dccab9f41 Typo

This change permanently discards the following revisions:

 discard 0dccab9f41 Typo
 discard 2cd28517b1 Preserve supplementary groups of build users
 discard 6e38685ef6 GC: Handle ENOSPC creating/moving to the trash directory
 discard 5e0a9ae2e2 Use posix_fallocate to create /nix/var/nix/db/reserved
 discard 4e5ab98d6d Make /nix/var/nix/db/reserved bigger
 discard 60bda60fc0 Export outputPaths function
 discard 5dfea34048 Use std::vector::data()
 discard 2459458bc8 Allow substitutes for builds that have preferLocalBuild set
 discard e531520ddc Don't let unprivileged users repair paths
 discard 715478fe09 Add a ‘verifyStore’ RPC
 discard 64a998ebcb Revert /nix/store permission back to 01775
 discard 44f1b1851c Chroot builds: Provide world-readable /nix/store
 discard b6ecbd266f addToStore(): Take explicit name argument
 discard 1f595ba474 Tighten permissions on chroot directories
 discard ba5888bccd Fix typos: s/the the/the/
 discard 67af480244 Use chroots for all derivations
 discard 638f3675e1 Use pivot_root in addition to chroot when possible
 discard 8ab23f2924 Simplify parseHash32
 discard 70c3d2f176 Simplify printHash32
 discard 7a7a15877f Doh^2
 discard 8c94a864d8 Doh
 discard 35605c4407 Set /nix/store permission to 1737
 discard 0b9c4a8b80 libutil: Limit readLink() error to only overflows.
 discard 0fed5fde65 libutil: Improve errmsg on readLink size mismatch.
 discard 7dfd3f5c8f Pedantry
 discard 45a145c8b2 Explicitly include required C headers
 discard 66d086cc26 Better error message
 discard b499d2efbf Silence some warnings on GCC 4.9
 discard 159b7103a7 Shut up a Valgrind warning
 discard 7930b2cb76 Fix some memory leaks
 discard 5c84e4950d Ensure we're writing to stderr in the builder
 discard ccade8c120 Get rid of unnecessary "interrupted by the user" message 
with -vvv
 discard 8d9a0be278 Remove tabs
 discard 1f8456ff13 Use PR_SET_PDEATHSIG to ensure child cleanup
 discard 909f1260e2 Rename 'initChild' to 'runChild'.
 discard 3bfa70b796 Don't wait for PID -1
 discard 5241aec531 Build derivations in a more predictable order
 discard 9f355738e1 Don't create unnecessary substitution goals for derivations
 discard 554eaf5e8c Disable vacuuming the DB after garbage collection
 discard 4eb62b5230 nix-daemon: Call exit(), not _exit()
 discard f160a30d56 Clean up temp roots in a more C++ way
 discard a64744477d Fix message
 discard b73de6e49b Don't use ADDR_LIMIT_3GB
 discard e0825bd36b Make ~DerivationGoal more reliable
 discard 86b9e6d457 nix-store --gc: Don't warn about missing manifests directory
 discard 1129a982c4 Improve error message if the daemon worker fails to start
 discard bed17f40fc Fix build on gcc < 4.7
 discard ee8601cac4 Improved error message when encountering unsupported file 
types
 discard c2b65dd197 Remove some duplicate code
 discard c957422835 createDirs(): Handle ‘path’ being a symlink
 discard 6092a48603 nix-daemon: Close unnecessary fd
 discard e74390a16f Remove bogus comment
 discard e63c8aaa05 On Linux, disable address space randomization
 discard 55939b1a4b Settings: Add bool get()
 discard 6621195e48 Add an 'optimiseStore' remote procedure call.
 discard 3bb89c3a31 Add disallowedReferences / disallowedRequisites
 discard abd9d61e62 Introduce allowedRequisites feature
 discard 8c766e48d5 fix disappearing bash arguments
 discard d4e7c195fa Make hook shutdown more reliable
 discard ea837e470f Doh
 discard 790271559c Reduce verbosity
 discard 3f6d4f63ec Propagate remote timeouts properly
 discard aa98ba5067 Use regular file GC roots if possible
 discard 5fe5ff7780 Remove unnecessary call to addTempRoot()
 discard 1820845c44 Doh
 discard e9070bf422 Move some options out of globals
 discard 3190951563 Refactor
 discard f530ee6f35 Add option ‘build-extra-chroot-dirs’
 discard 75f746f018 Get rid of "killing <pid>" message for unused build hooks
 discard 42c6246f67 Remove ugly hack for detecting build environment setup 
errors
 discard b732ffd28d Call commonChildInit() before doing chroot init
 discard c51374c128 Eliminate redundant copy
 discard 666c9b7108 findRoots(): Prevent a call to lstat()
 discard 82d463d9ca Make readDirectory() return inode / file type
 discard a98fa2d9e2 Allow regular files as GC roots
 discard 4ab4b0c109 Remove some dead code
 discard 1cffdf5847 nix-daemon: Less verbosity
 discard bb07dfe96f nix-daemon: Simplify stderr handling
 discard 766481d606 Merge commit 'fdee1ced43fb495d612a29e955141cdf6b9a95ba' 
into nix
 discard c69944c511 Merge commit '8e9140cfdef9dbd1eb61e4c75c91d452ab5e4a74' 
into nix
 discard a1dd396cc0 Merge commit '8d5f472f2c49c79a0d3ae2e506f4d4d76224b328' 
into nix
 discard 0a751260ae nix: Adjust code for Guix.
 discard d4e18b05e0 Keep only libstore, nix-daemon, and related stuff.
 discard fdee1ced43 startProcess: Make writing error messages from the child 
more robust
 discard 5989966ed3 Remove dead code
 discard ee3c5d7916 Revert old useBuildHook behaviour
 discard 2e77bd70fa Better fix for strcasecmp on Darwin
 discard f609eec71a Bump
 discard 8ddffe7aac Ugly hack to fix building on old Darwin
 discard 049c0eb49c nix-daemon: Add trusted-users and allowed-users options
 discard 0c730887c4 nix-daemon: Show name of connecting user
 discard 77c972c898 nix-daemon: Only print connection info if we have 
SO_PEERCRED
 discard 8f72e702a1 nix-daemon: Fix compat with older clients
 discard 2304a7dd21 Get rid of a compiler warning
 discard 985f1595fe Be more strict about file names in NARs
 discard 276a40b31f Handle case collisions on case-insensitive systems
 discard bb65460feb Make dev-shell script work on Darwin
 discard de8be7c3e0 Install systemd and Upstart stuff only on Linux
 discard 048be62484 Pass *_proxy vars to bootstrap fetchurl
 discard a2c85b2ef8 Manual: Typo
 discard 5bcb982711 Remove cruft
 discard fa13d3f4f3 build-remote.pl: Fix building multiple output derivations
 discard b2e0293f02 build-remote.pl: Don't keep a shell process around
 discard a00a98548e build-remote.pl: Fix build log
 discard 838138c5c4 Fix test
 discard a5c6347ff0 build-remote.pl: Use ‘nix-store --serve’ on the remote side
 discard b8f24f2535 Fix closure size display
 discard e196eecbe6 Allow $NIX_BUILD_HOOK to be relative to Nix libexec 
directory
 discard d0eb970fb4 Fix broken Pid constructor
 discard edbfe2232e Replace message "importing path <...>" with "exporting path 
<...>"
 discard 42d91b079c Fix use of sysread
 discard 7bb632b024 nix-copy-closure -s: Do substitutions via ‘nix-store 
--serve’
 discard 7c3a5090bf nix-copy-closure: Fix --dry-run
 discard 43b64f5038 Remove tabs
 discard 8e9140cfde Refactoring: Move all fork handling into a higher-order 
function
 discard 1114c7bd57 nix-copy-closure: Restore compression and the progress 
viewer
 discard 7911e4c27a Remove maybeVfork
 discard 04170d06bf nix-copy-closure: Fix race condition
 discard 2c3a8f787b Fix security hole in ‘nix-store --serve’
 discard 66dbc0fdee Add a test for the SSH substituter
 discard 0e5d0c1543 Fix compilation error on some versions of GCC
 discard beac05c206 Don't build on Ubuntu 10.10
 discard beaf3e90af Add builtin function ‘fromJSON’
 discard e82951fe23 Manual: html -> xhtml
 discard e477f0e938 Style fix
 discard 858b8f9760 Add `--json` argument to `nix-instantiate`
 discard 8504e7d604 allow-arbitrary-code-during-evaluation -> 
allow-unsafe-native-code-during-evaluation
 discard d7be6d45d9 Merge branch 'shlevy-import-native'
 discard d62f46e500 Only add the importNative primop if the 
allow-arbitrary-code-during-evaluation option is true (default false)
 discard 5cd022d6c0 Add importNative primop
 discard 9d0709e8c4 Don't use member initialisers
 discard 48495f67ed Fix bogus warnings about dumping large paths
 discard 0960d674d4 Drop ImportError and FindError
 discard 718f20da6d findFile: Realise the context of the path attributes
 discard a8fb575c98 Share code between scopedImport and import
 discard 61c464f252 Add autoloads, make code more concise & idiomatic
 discard ee7fe64c0a == operator: Ignore string context
 discard b1beed97a0 Report daemon OOM better
 discard 829af22759 Print a warning when loading a large path into memory
 discard 3c6b8a5215 nix-env -qa --json: Generate valid JSON even if there are 
invalid meta attrs
 discard ceed819284 Fix test
 discard becc2b0167 Sort nixPath attributes
 discard 54a34119f3 Use std::unordered_set
 discard a457d5ad4d nix-build: --add-root also takes 1 parameter
 discard b1d39d4765 dev-shell is a bash script, not sh
 discard 8ea9fd7aa6 Rephrase @ operator description
 discard d8c061e044 Remove ExprBuiltin
 discard 62a6eeb1f3 Make the Nix search path declarative
 discard 39d72640c2 Ensure that -I flags get included in nixPath
 discard a8edf185a9 Add constant ‘nixPath’
 discard c273c15cb1 Add primop ‘scopedImport’
 discard f0fdbd0897 Shut up some signedness warnings
 discard 0321ef9bb2 Ugly hack to allow --argstr values starting with a dash
 discard 3064a82156 Disable parallel.sh test
 discard 9f9080e2c0 nix-store -l: Fetch build logs from the Internet
 discard eac5841970 Provide a more useful error message when a dynamic attr 
lookup fails
 discard 8d5f472f2c lvlInfo -> lvlTalkative
 discard 84813af5b9 nix-store --optimise: Remove bogus statistics
 discard 690adeb03d Remove tab
 discard a1b66f316e Merge branch 'master' of github.com:wmertens/nix
 discard 3b9ea8452f Shortcut store files before lstat
 discard d73ffc552f Use the inodes given by readdir directly
 discard e384e7b387 Remove redundant code
 discard e974f20c98 Preload linked hashes to speed up lookups
 discard 36662eb562 Prepare nix-mode to be uploaded to marmalade
 discard 95501c4dee nix-instantiate --eval: Apply auto-arguments if the result 
is a function
 discard a55e77ae10 fix typo
 discard a84f503d86 Shortcut already-hardlinked files
 discard aa9b1cf48e Really fix the RPM builds
 discard 2c4affbaa8 Fix RPM build
 discard 93506e60d2 Add ubuntu 14.04
 discard 40250f23a0 Don't install Upstart job on Fedora
 discard 6dd1087396 Fix Debian tests
 discard a8c31d5011 Simplify multi-user installation instructions
 discard 696f960dee Set up directories and permissions for multi-user install 
automatically
 discard 20668b1363 Install an Upstart service
 discard de4cdd0d47 Set build-max-jobs to the number of available cores by 
default
 discard ada3e3fa15 When running as root, use build users by default
 discard eeffdb74dc doc fix: swap 'import' and 'export'
 discard 31fe55bb8e trunk -> master
 discard 700c678c2e nix-env: Minor change to '--delete-generations Nd' semantics
 discard fb5d76b89e Fix test evaluation
 discard a1917208c0 Bump date
 discard 742933116f Bump version to 1.8
 discard 924e19341a Don't barf when installing as root
 discard b0a09a6f32 Add docbook icons to the distribution
 discard dfa2f77d2e If a .drv cannot be parsed, show its path
 discard e0a947cde6 Simplify quick start section
 discard d23931f3a4 Remove redundant stuff
 discard 4846005741 Update installation instructions
 discard 2b6c8ef401 nix-shell --pure: Keep the user's $PAGER
 discard 76cbf55a6d Ensure that systemd units to into lib, not lib64
 discard 89f9232813 Update release notes
 discard 84d6936371 Install systemd units
 discard 8e5fbf4d73 Show position info in attribute selection errors
 discard 4c5faad994 Show position info in Boolean operations
 discard bd9b1d97b4 Show position info in string concatenation / addition errors
 discard 8160f794e7 derivation: Don't require certain function arguments
 discard a5fe730940 forceString: Show position info
 discard 27b44b8cf7 forceAttrs: Show position info
 discard 96b695ccab forceList: Show position info
 discard b62d36963c forceInt: Show position info
 discard c28de6d96e Pass position information to primop calls
 discard 8b31ffd10d Remove unnecessary quotes around file names
 discard b72c8d2e5b Include position info in function application
 discard 3f8e1f5682 Update release notes
 discard 1f19fdbd45 Document that we require a C++11 compiler
 discard ae6b631dc4 Fix compile errors on Illumos
 discard daa16cca11 Sync with make-rules repo
 discard 7191a7394a Support Illumos
 discard f0de86357c Tweak error message
 discard e7720aa10a Make sure /dev/pts/ptmx is world-writable
 discard ac6ceea764 Fix potential segfault
 discard 034b6f6062 nix-collect-garbage: Add --delete-older-than option
 discard 7ef7597f71 nix-env: Add support for --delete-generations 15d
 discard 59c9019685 Fix nix-shell for derivation with multiple outputs
 discard 1c2550a2ae boost::shared_ptr -> std::shared_ptr
 discard 9becaa041f Drop pointless #include
 discard acb8facbbc Fix potential segfault in waitForInput()
 discard 90dc50b07c restoreSIGPIPE(): Fill in sa_mask
 discard 49009573bc Don't interpret strings as format strings
 discard 24cb65efc3 Make /dev/kvm optional
 discard 3fc056927c Fix tabs
 discard 51800e06de Allow recovery from isValidPath RPCs with an invalid path
 discard f93e97517e Fix -j and other flags when using the daemon
 discard 77e2cc6c8e nix-build: Fix --cores flag
 discard fb8d8f5428 Remove unnecessary null pointer checks
 discard 006f24c7fa Document nix-env -q --json
 discard d435e46daa Generate release notes again
 discard e9934bb5ad Update release notes for 1.7
 discard 25386e5edc Fix passing meta attribute to buildenv.nix
 discard 92a848f674 Fix typos
 discard 2f2a20ed18 Document null dynamic attrs
 discard 049a379ec6 The expr of AttrNames/DynamicAttrDefs is always an 
ExprConcatStrings
 discard 908e9ce259 If a dynamic attribute name evaluates to null, remove it 
from the set
 discard 2caab81660 Revert "Make ifs and asserts tail-recursive"
 discard f7e077ad27 Install missing Boost headers
 discard d6a45f6bdb Don't set an absolute soname
 discard a376762848 Add support for making relocatable packages using $ORIGIN
 discard 3a86888fd7 Typo
 discard 4eac3b2471 Add a variable GLOBAL_CXXFLAGS_PCH for use by precompiled 
headers
 discard 4e7e498ff9 Add variable GLOBAL_COMMON_DEPS
 discard 1017bd68ea Set up a private /dev/pts in the chroot
 discard 3fd01b171a Set up a minimal /dev in chroots
 discard c9f6232304 Correctly detect infinite recursion in function application
 discard 29cde917fe Fix deadlock in SubstitutionGoal
 discard 7c7707638a Doh
 discard 7880973827 Test trace and addErrorContext
 discard 5ad263c26b Test some more primops
 discard 3d0a9ec825 Test executables in NARs
 discard 91f25f0510 And another one
 discard 432328cc55 Remove another unused function
 discard 509993e598 Remove unused function
 discard d58ceae022 Test nix-env --switch-generation
 discard 7bbc68fdff Test nix-env --set
 discard a0806389e9 Test the -b and -s flags of nix-store -q
 discard a9c4a98770 Test ~/.nix-defexpr
 discard 045d3b2ed7 Test nix-store --switch-profile and more daemon actions
 discard fac6f8aac0 Test nix-store -q --roots
 discard 84143c4bd8 Test nix-store -l
 discard 19437785eb Test nix-store --optimise
 discard fdff3a7eae Add a test for nix-store --dump-db / --load-db
 discard 506d86394d Installer: Handle Darwin
 discard 6b9cd59a41 nix-store -r: Respect --add-root for non-derivations
 discard 7f74513b4e Also provide an option for setting the curl connection 
timeout
 discard 00d761016a Respect $NIX_CONNECT_TIMEOUT properly
 discard d761009e3c Add ~/.nix-profile/sbin to $PATH
 discard f14ef84a51 Warn about missing -I paths
 discard 733214144a Document dynamic attributes
 discard 42eb4afd7a Simplify getting use-ssh-substituter from untrusted users
 discard bf4a577a58 Fix broken patch
 discard 8a02fdc38e use USER environmental variable if getting user id by 
getpwuid is failed in perl scripts: download-from-binary-cache.pl and 
nix-channel
 discard dcaea042fc Only start download-via-ssh if it's enabled
 discard df5de9dfd7 Add use-ssh-substituter setting.
 discard 36b90e72d7 nix-shell: Add --packages flag
 discard a897b58373 nix-instantiate: Allow --dry-run as a synonym for 
--readonly-mode
 discard e1cf40fa95 nix-instantiate: Rename --eval-only to --eval, --parse-only 
to --parse
 discard c31836008e nix-instantiate: Add a flag --expr / -E to read expressions 
from the command line
 discard e707a8a526 Move manpages around
 discard 73f74ebba0 nix-shell: Don't leave a temporary directory in /tmp behind
 discard a7e70518b8 lexer-tab.o and parser-tab.o require each other's headers
 discard 70a558e202 Update ignores
 discard 7bef965d6f Make it work on GNU Make > 3.81 again
 discard 79f699edca More GNU Make 3.81 compatibility
 discard 8129cf33d9 Slight simplification
 discard 1aa19b24b2 Add a flag ‘--check’ to verify build determinism
 discard 4ec626a286 Test nix-store --verify-path and --repair-path
 discard 99f14c2584 Don't build on Debian 6.0
 discard b6def5b542 Make --repair work on Darwin
 discard dfbcb7c403 Refactoring
 discard 71adb090f0 When using a build hook, only copy missing paths
 discard 69fe6c58fa Move some code around
 discard 1da6ae4f99 nix-store --gc --max-freed: Support a unit specifier
 discard 00d30496ca Heuristically detect if a build may have failed due to a 
full disk
 discard e81d38c02b nix-shell: Execute shellHook if it exists
 discard 832377bbd6 Add a test for repairing paths
 discard 581a160c11 Add a function for looking up programs in $PATH
 discard a9d99ab55f download-via-ssh: Use readStorePath
 discard 4db572062c download-via-ssh: Show where we're downloading from
 discard dba33d4018 Minor style fixes
 discard 61fd494d76 Merge remote-tracking branch 'shlevy/ssh-substituter'
 discard f67f52751f Indendation fix
 discard 62eb9eb76d Remove relic of old code
 discard 7438f0bc2b error messages start in lowercase
 discard 2246aa77d2 Remove using declarations from download-via-ssh
 discard f9fc6acbf4 Document current meaning of preferLocalBuild
 discard a35c6eb4a2 Support setting CFLAGS and CXXFLAGS for libraries/programs
 discard 1f841c9d50 Force use of Bash
 discard 57386c9bae Binary tarball: Automatically create /nix
 discard c89d6b9b63 nix-store --serve: Use a versioned protocol
 discard 38c3beac1a Move StoreApi::serve into opServe
 discard 1614603165 Pass in params by const ref
 discard 78d979567f Clarify comment
 discard c5839752b9 Binary tarball: Automatically fetch the Nixpkgs channel
 discard b632153ebd nix-shell: Use shell.nix as the default expression if it 
exists
 discard 64e23d0a38 Add download-via-ssh substituter
 discard 5671188eb2 nix-store --serve: Flush out after every loop
 discard 73874629ef nix-store --serve: Use dump instead of export
 discard 188f96500b nix-store --serve: Don't fail if asked for info about 
non-valid path
 discard 9488447594 nix-store --serve: Don't loop forever
 discard 3a38d0f356 Add the nix-store --serve command
 discard 84a8b5e9af nix-instantiate --eval-only --read-write-mode: Don't depend 
on ordering
 discard e4058fab64 Rename --no-readonly-mode --read-write-mode
 discard 0c3e8a616e nix-instantiate: Add a --no-readonly-mode flag
 discard 0432bc52ea Fix the RPM build
 discard 7fab23e237 Install header files
 discard 764d90597a Merge commit 'a210c995cdd9279ed4137ec5d2e4cc928cb36097'
 discard a210c995cd Support DESTDIR
 discard 97f8e9bc76 Remove dead code
 discard 2a469ad31d Set a maintainer address
 discard 1f94ec3924 Clean up a test warning
 discard 20d0598928 Drop dependency on ‘expr’
 discard 4161fce472 Create the target directory of libraries and programs
 discard 80b691316c Fix version in nix.spec
 discard 4ee6001f95 GNU Make 3.81 compatibility
 discard 0da82efa5d GNU Make 3.81 compatibility
 discard 143224f7cd Add nix.spec to the distribution
 discard d210cdc435 Fix assertion failure in ‘nix-store --load-db’
 discard 73a775f3b7 Merge commit '8468806552d6730abec6431c42b5b0e897c0222c'
 discard 8468806552 Add a basic README
 discard d6582c04c1 Give a friendly error message if the DB directory is not 
writable
 discard 2f9bb5c7e7 Merge branch 'make'
 discard 6dca72006a Only run "git ls-files" when doing "make check"
 discard 2a97f7b039 Fix logging test
 discard 965218a62a Remove obsolete file
 discard b6465ae5d3 Merge commit '28dc4883356a50f2805a3e3c819a541c44a4ff0a' 
into make
 discard 762ef464f8 Fix the nix-profile test
 discard 28dc488335 installcheck: Don't depend on install
 discard 844d83352c More "make dist" fixes
 discard 74ca70da3a Add 'mk/' from commit 
'1eff3ad37fdb9dcf9f8528fdacea0ebf0e79d545'
 discard 6ef32bddc1 Fix "make dist"
 discard 1eff3ad37f Add missing file
 discard 6f8aa145d4 Improve "make dist"
 discard 0c6d62cf27 Remove Automakefiles
 discard 16e7d69209 Update Makefile variable names
 discard ec1738589a Make variable names more regular
 discard 35107038f7 Support adding "make help" text
 discard f324b49ea1 Change dependency file names from foo.dep to .foo.o.dep
 discard ac8c2ef1aa Build/install manual
 discard 4271927c5b Add support for installing man-pages
 discard e0234dfddc Rename Makefile -> local.mk
 discard 4a2ec9c659 Install nix-worker symlink
 discard c5ba081333 nix-shell: Add --impure flag
 discard 79dee4283d nix-shell: Preserve the TZ variable of the user
 discard 7fdee6e136 nix-build: Refactor
 discard 5311b2b250 Clang doesn't know the "-z defs" flag
 discard 94f9c14d52 Fix some clang warnings
 discard a26307b281 Fix build
 discard 625ffd441d Ugly hack to fix building with clang
 discard 68cde53c47 Fix building against Bison 3.0.2
 discard 81628a6ccc Merge branch 'master' into make
 discard 5ef8508a92 Remove unused type
 discard c8fff6a77f Fix evaluation
 discard 0e2ca26818 nix.spec: Remove "make check" since it's a no-op
 discard 0f2f44bb0f Build Fedora 20 RPMs
 discard bf0ad8aabc nix-profile.sh: Add the Nixpkgs channel to $NIX_PATH
 discard f5e5793cd2 Bare dynamic attrs: Match interpolation semantics
 discard f9913f4422 Allow "bare" dynamic attrs
 discard e640d67144 Document nulls
 discard f1357059a4 nix-shell: Don't set NIX_INDENT_MAKE
 discard ea59f39326 nix-shell: Set $IN_NIX_SHELL before evaluating
 discard ca73c0102f Nicer Make output
 discard e991ab942b Add support for building shared libraries on Mac OS X
 discard b1db599dd0 Generate schema.sql.hh
 discard cf918b889b Handle systems where "echo -n" doesn't work
 discard 70d8e8fdde Declare template_files as a simply expanded variable
 discard 814a73227f Remove duplicate elements from *_SOURCES
 discard b4c684e0f9 Update Makefiles
 discard 568b1b0a8a Remove mk subdirectory in preparation for "git subtree"
 discard 55c9a40613 Move stuff to top-level
 discard f4013b6189 Fix signed-binary-caches test
 discard ea38e39a20 Test whether Nix correctly checks the hash of downloaded 
NARs
 discard 11cb4bfb25 Fix checking of NAR hashes
 discard 0fdf4da0e9 Support cryptographically signed binary caches
 discard 405434e084 Revert "nix-shell: Set $IN_NIX_SHELL before evaluation"
 discard 7a61c88dbb Merge branch 'dynamic-attrs-no-sugar' of 
github.com:shlevy/nix
 discard 485f4740ee wording
 discard fe23e28f12 Disable FreeBSD tests for now
 discard 4252b5a645 Disable the tail call test
 discard cd49fe4f9b Don't use any syntactic sugar for dynamic attrs
 discard 6f3a51809a Fold dynamic binds handling into addAttr
 discard 18fefacf7d Dynamic attrs
 discard 136f2f7046 Add the ExprBuiltin Expr type to the AST
 discard 5ba5993470 nix-shell --pure: Don't clear IN_NIX_SHELL
 discard b352fe2775 Revert "Scan /proc/<pid>/cmdline for GC roots"
 discard 8931bf7168 Doh
 discard f1e5dedb61 perl: Call loadConfFile() in doInit to avoid screwing 
sqlite journal mode.
 discard 7d203faff6 nix-env --set-flag: Barf if a selector doesn't match any 
installed package
 discard 194e3374b8 Scan /proc/<pid>/cmdline for GC roots
 discard 769f662165 nix-shell: Don't warn about the lack of a GC root
 discard 0c1198cf08 nix-shell: Set $IN_NIX_SHELL before evaluation
 discard 65a6452240 nix-shell: Handle --option correctly
 discard 259086de84 Add support for building JARs from Java sources
 discard 99ed25accf Add a function for doing recursive wildcard searches
 discard 7b0d8fb23d nix-shell --pure: Keep $TERM
 discard 088552b319 Set default installation paths
 discard e81b82a2cf make dryclean: Sort names
 discard a630635d7f No longer interpret $(..._SOURCES) relative to $(..._DIR)
 discard 4da8046513 Don't include all *.dep files
 discard 034bbcafaf Add 'make help'
 discard 45131da736 Get rid of whitespace in $(d)
 discard c34f3c5ba4 Handle *.cpp extension
 discard dfcc64f556 Only provide 'make dist' if PACKAGE_NAME is set
 discard 3560f52cc4 dryclean: Show what actual files would be deleted
 discard 49a385096e Initial commit (imported from the Nix repo)
 discard e36229d27f Bump language version for new storePath feature
 discard 22d665019a builtins.storePath: Try to substitute the path if it is not 
yet valid
 discard a6add93d73 Garbage collector: Release locks on temporary root files
 discard c5b8fe3151 Print a trace message if a build fails due to the platform 
being unknown
 discard bf8b66adcf Add missing file
 discard f3cf0436b5 Install bsdiff and bspatch in $(libexecdir)/nix
 discard 0202ce6b94 Add support for ‘make installcheck’
 discard 9285f0aa2b Add a Makefile for the Perl stuff
 discard 8f08046606 Expand configure variables before writing config.status
 discard 7ce0e05ad8 Rename Makefile.new -> Makefile
 discard 962551a071 Add a Makefile for the scripts directory
 discard 1a1d8b073a Add a Makefile for bsdiff
 discard 784feb6839 Let ‘make clean’ delete instantiated template files
 discard cac06ed0a4 Remove obsolete setting of $CC_FOR_BUILD
 discard b225ccb654 Add config.guess, config.sub and install-sh
 discard 0c504a756c Don't install Libtool
 discard 2cc591c7b5 Don't instantiate Automake makefiles
 discard 79b7c596a9 Use create-dir for installing dynamic libraries
 discard ed0a8dd71a Add a function for instantiating Autoconf *.in files
 discard f980755766 Split Makefile.lib into several *.mk files
 discard e9b6397d2f Add a rule for creating directories
 discard 4315acb8c0 Add a generic rule for installing files
 discard c7547cff19 Install into $(libdir) instead of $(pkglibdir)
 discard 2bd0fcc966 Use libnix as a prefix for all Nix libraries
 discard f267ff16b4 Allow libraries to set an actual name different from the 
symbolic name
 discard abb5bd66de Add Makefile for nix-log2xml
 discard 07c87a8e9e Consistent naming
 discard c1f3a1a89b Disallow undefined symbols in dynamic libraries by default
 discard 5a1114ecdb Drop the dependency on libgc in libmain
 discard 06a8ac96e7 Initialise Boehm GC only once
 discard 90dfb37f14 Allow (dynamic) libraries to depend on other libraries
 discard 14772783e6 Support installation of dynamically linked programs
 discard 611868a909 Implement basic ‘make install’
 discard d1b3ca0b4a Improve building dynamic libraries
 discard 6dd74b48f8 Support building dynamic libraries
 discard 9b11a8bfbc Fix building without Boehm GC
 discard 812b5a30ec Add a Makefile variable for enabling debug info
 discard ea2f7df5fa Introduce variables GLOBAL_CFLAGS and GLOBAL_CXXFLAGS
 discard 6b5f89f2cf Drop the dependency on Automake
 discard 754c05ed6c Rename $(here) to $(d) for brevity, and remove trailing 
slash
 discard 9a14d5e2f3 Automatically regenerate Makefile.config
 discard ffdc85fc8a Respect configure flags
 discard 62e35cc3a8 Add ‘make dist’ support
 discard eff6c4b791 Add missing #include
 discard e0a108b203 Remove unnecessary line
 discard eaf903f993 Clean more aggressively
 discard 1474ecfe42 Generate the parser and the lexer
 discard bc96c4518e Automatically emit make rules for header files
 discard b8e9efc476 New non-recursive, plain Make-based build system
 discard 709cbe4e76 Include <cstring> for memset
 discard d4a76ff0e4 Bump version number
 discard 30b986908e Check meta values and warn about bad ones
 discard 0f24400d90 Generalise meta attributes
 discard 990126cde0 Shorter error message
 discard af94a70ba6 Drop support for user environment manifests in ATerm format
 discard 245e26408f nix-env -q: Add a --json flag
 discard 5fea98111b Refactor JSON output
 discard 77c13cdf56 Add a toJSON primop
 discard 285df765b9 Add a primop unsafeGetAttrPos to return the position of an 
attribute
 discard fc33fd86b7 Add a symbol __curPos that expands to the current source 
location
 discard 90b5e69284 Support quoted attribute names in -A
 discard a478e8a7bb Remove nix-setuid-helper
 discard 89e6781cc5 Make function calls show up in stack traces again
 discard 2bcb384e95 Add a test to check that tail calls run in bounded stack 
space
 discard c897bac549 Make function calls tail-recursive
 discard 273322c773 Make ifs and asserts tail-recursive
 discard 4badd7ed17 Get rid of an intermediary on the stack
 discard 8d6418d46e Fix building without a garbage collector
 discard dec2f19502 Fix a segfault in genericClosure
 discard 6123144933 Drop Cygwin and Solaris builds
 discard 1dacd427cd Update release notes, set version for 1.6.1 release
 discard ea6bf0c21f Slightly optimize listToAttrs
 discard 36e67ff16b Undocument obsolete form of "let"
 discard fba17a9043 Doc fix
 discard 2d9bb56e55 Fix segfault on Darwin
 discard 5bc41d78ff Rename "attribute sets" to "sets"
 discard 9e4bb20455 Manual: Fix broken URLs
 discard dc341811d6 Add rpm_fedora19i386 to the release-critical builds
 discard 69befd33a9 Remove unnecessary call to forceStringNoCtx
 discard a5684e09d3 Document typeOf
 discard 411a3461dc Add a test of the type primops
 discard 05d02f798f Add a typeOf primop
 discard 6da92d96ae Document NIX_SHOW_STATS and NIX_COUNT_CALLS
 discard 543d8a5942 Don't require NIX_SHOW_STATS for NIX_COUNT_CALLS
 discard fe95650487 Memoize evalFile() lookups under both the original and 
resolved name
 discard 3139481822 Add an aggregate job
 discard c086183843 For auto roots, show the intermediate link
 discard 4f4a14453a Don't set $PS1 in non-interactive shells
 discard 4ea034a5c5 nix-shell: Play nicely with non-interactive shells
 discard 792fd51f41 Fold two stack trace messages in derivations
 discard f440558acc Don't show <nix/derivation.nix> in stack traces
 discard bb659bad81 Nix 1.6.1 release notes
 discard f6a8e7f4c2 Fix test
 discard b08f4b0da9 Test string semantics a bit more
 discard d7625b5c2d two typos
 discard b8034e5581 Ensure proper type checking/coercion of "${expr}"
 discard 9d8a80375d Add a test for type correctness of antiquotes
 discard d6a7aa8f48 Revert the behaviour of antiquoted paths to pre-Nix 1.6
 discard b8571d68c4 Add a regression test for correct path antiquotation 
behavior
 discard a737f51fd9 Retry all SQLite operations
 discard ff02f5336c Fix a race in registerFailedPath()
 discard 4bd5282573 Convenience macros for retrying a SQLite transaction
 discard bce14d0f61 Don't wrap read-only queries in a transaction
 discard 7cdefdbe73 Print a distinct warning for SQLITE_PROTOCOL
 discard d05bf04444 Treat SQLITE_PROTOCOL as SQLITE_BUSY
 discard c1994fecf9 nix-shell: Fix bash completion
 discard 672c3acc71 Adjust to the NixOS/Nixpkgs merge
 discard 7bdb85453d printStats(): Print the size of the symbol table in bytes
 discard 9deb822180 Deduplicate filenames in Pos
 discard b1e3b1a4ac Treat undefined variable errors consistently
 discard 6b47de580f Show the exact position of undefined variables
 discard a5e0f64db3 Remove some unused functions
 discard 221a2daf34 Merge VarRef into ExprVar
 discard 176c666f36 Don't show calls to primops in stack traces
 discard c945f015de Fix segfault in nix-repl / hydra-eval-jobs
 discard 28e0742966 Report OOM errors better
 discard a5fb4b5b7c Fix typo
 discard faaae44f2e build-remote.pl: Don't use substituters on the remote
 discard f53574ebd6 RestoreSink: Slightly reduce the number of concurrent FDs
 discard d5529f5b85 Version was called 1.6, not 1.6.0
 discard b072fc04a7 Bump version number
 discard fecad91b67 Update release notes
 discard 0220da3e10 Remove stray debug line
 discard 936f9d45ba Don't apply the CPU affinity hack to nix-shell (and other 
Perl programs)
 discard 4b83830d0c typo
 discard 5904262640 nix-shell: Support a .drv as argument
 discard 2c1ecf8e81 nix-env -i: Add a flag ‘--remove-all’ / ‘-r’
 discard 88c07341a6 nix-env: Use wildcard match by default
 discard 07a08bddf0 nix-env: Load files in ~/.nix-defexpr on demand
 discard c57ed84e28 Check for name collisions in the input Nix expressions
 discard ef4f5ba85e Work on Values instead of Exprs
 discard 06bb2d95b4 Reformat
 discard 6f809194d7 Get rid of the parse tree cache
 discard 57d18df7d0 Add some support code for nix-repl
 discard 92077b4547 Get rid of a signedness warning
 discard 33972629d7 Fix whitespace
 discard ac1b754138 Lower xz compression level
 discard c28dfc0305 Manual: Make '' a bit clearer
 discard e9b92169a5 Fix manual error
 discard ecd830b3b9 Update the release notes
 discard 6ec8dab06a Adda test for build-max-log-size
 discard b29d3f4aee Only show trace messages when tracing is enabled
 discard efe4289464 Add an option to limit the log output of builders
 discard afc6c1bad6 Simplify inherited attribute handling
 discard 6cd6ce5608 Fix nix-shell command
 discard 34bb806f74 Fix typos, especially those that end up in the Nix manual
 discard c6c024ca6f Fix personality switching from x86_64 to i686
 discard 03eaef3d7a Manual: Don't use actual hashes of Nix dependencies
 discard b3110a15e9 Fix corrupt PNG
 discard 25a108bb9c Hack to clean up tests/test-tmp
 discard d308aeaf53 Store Nix integers as longs
 discard 297b762513 Turn on -Wall
 discard 46222bbc43 Typo
 discard 58204a3c39 corepkgs/nar.nix: Prefer local builds
 discard 3fb7ae0586 Respect MINSIGSTKSZ when allocating an alternative stack
 discard 161a2ccf7a Fix build on non-Linux
 discard a583a2bc59 Run the daemon worker on the same CPU as the client
 discard 263d668222 Set the default GCC optimisation level to -O3
 discard fd7d979c79 Remove obsolete reference to ATerms
 discard 46ffcce0c3 In the profiler output, show function names (if available)
 discard 8e74c0bfd1 Let the ordering operators also work on strings
 discard 3d77b28eac Add comparison operators ‘<’, ‘<=’, ‘>’ and ‘>=’
 discard 47701677e8 Add integer ‘-’, ‘*’ and ‘/’ operators
 discard 5d147e125c Add a unary integer negation operator
 discard 159e621d1a Overload the ‘+’ operator to support integer addition
 discard 511455965e nix-shell: Don't disable Automake dependency tracking
 discard 7df4ef983e Test the delayed with a bit more
 discard 0a470fc345 Make Env smaller
 discard 8ae6d55db1 Don't use NULL
 discard e068f49f7d Avoid thunks when a fromWith var can be looked up without 
evaluation
 discard 20866a7031 Delay evaulation of `with` attrs until a variable lookup 
needs them
 discard 70e68e0ec6 Detect stack overflows
 discard e87d1a63bd killUser: Don't let the child kill itself on Apple
 discard 7cf539c728 buildenv: remove special treatment of python files
 discard 7b09e9f2c4 Add hacking notes plus a script for running nix-shell
 discard 15e5ac8039 nix-shell: Set $IN_NIX_SHELL
 discard 48858ad5ca nix-shell: Set some environment variables also set by 
build.cc
 discard 2bc5de8635 Rename ‘nix-build --run-env’ to ‘nix-shell’
 discard dc5f2e7da6 nix-build --run-env: Add a ‘--pure’ flag
 discard a4921b8ceb Revert "build-remote.pl: Enforce timeouts locally"
 discard 16591eb3cc Allow bind-mounting regular files into the chroot
 discard c3f5413e80 Fix syntax error in unpack-channel
 discard aeb810b01e Garbage collector: Don't follow symlinks arbitrarily
 discard 25a00cae5b Add gzip support for channel unpacking
 discard 620d57f036 doc: typo
 discard 6fcc290619 build-remote.pl: Move "building ..." message to a better 
place
 discard ed09d0c0a4 nix-build --run-env: Always use Bash
 discard 656390062a nix-build --run-env: Source $stdenv/setup in the 
interactive shell
 discard 212e96f39c Leave `HAVE_HUP_NOTIFICATION' undefined on GNU/Hurd.
 discard b584a42e3d Manual: auto-optimise-store is disabled by default
 discard 5116214343 Add support for uncompressed NARs in binary caches
 discard 7986711632 copy-from-other-stores.pl: Respect $NIX_BIN_DIR
 discard 1917d750a0 copy-from-other-stores.pl: Report downloaded size as 0
 discard 7ccd946407 Don't set $preferLocalBuild and $requiredSystemFeatures in 
builders
 discard 5558652709 Don't substitute derivations that have preferLocalBuild set
 discard 1906cce6fc Increase SQLite's auto-checkpoint interval
 discard 9b11165aec Disable the copy-from-other-stores substituter
 discard 22144afa8d Don't keep "disabled" substituters running
 discard 2b29e4b852 Bump version
 discard 6016bcd30e Update release notes for Nix 1.5.3
 discard 1b6ee8f4c7 Allow hard links between the outputs of a derivation
 discard cd49ee0897 Fix a security bug in hash rewriting
 discard 1e2c7c04b1 Fix assertion failure in canonicalisePathMetaData() after 
hash rewriting
 discard 6cc2a8f8ed computeFSClosure: Only process the missing/corrupt paths
 discard bfee9a2581 Typo
 discard f9ff67e948 In repair mode, update the hash of rebuilt paths
 discard 6b05f688ee nix-daemon: Trust options like binary-caches when the 
client is root
 discard 5c06e5297d download-from-binary-cache.pl: Respect $NIX_CONNECT_TIMEOUT
 discard 24a356bf71 Replace $NIX_DEBUG_SUBST with an option ‘debug-subst’
 discard 24e063efdc download-from-binary-cache.pl: Show if we're waiting for a 
URL
 discard ca70fba0bf Remove obsolete EOF checks
 discard 5959c591a0 Process stderr from substituters while doing have/info 
queries
 discard c5f9d0d080 Buffer reads from the substituter
 discard 75e12b8e66 download-from-binary-cache.pl: Fix race condition
 discard f0576d6775 Update the default binary cache URL to cache.nixos.org
 discard ff08306746 download-from-binary-cache.pl: Treat a 403 error as a 404
 discard bc2e43f3c8 build-remote.pl: Remove meaningless signing when importing 
the output paths
 discard 039d5a023f .bashrc -> .profile
 discard b09b87321c nix-store --export: Export paths in topologically sorted 
order
 discard 107505e13a build-remote.pl: Copy all outputs in one operation
 discard 72d8209548 build-remote.pl: Indicate if remote machine is refusing 
builds
 discard 18a48d80a0 Show function names in error messages
 discard 1b3a03f161 Show which function argument was unexpected
 discard 229567293c Shut up a compiler warning
 discard a4cb62ac25 download-from-binary-cache.pl: Get rid of an uninitialized 
value warning
 discard 31a551a60f Bump version
 discard 6e85d1b5ba Bump release date
 discard 3a0cc43ac8 build-remote.pl: Properly close the SSH connection between 
attempts
 discard be0b9dda31 build-remote.pl: Pass /dev/null as SSH's stdin
 discard 78206f06ec build-remote.pl: Allow a machine to refuse a build
 discard 2ee9da9e22 In trace messages, don't print the output path
 discard 6eba05613a Communicate build timeouts to Hydra
 discard 7a03cbf09d build-remote.pl: Create one process fewer on the remote side
 discard 69b8f9980f build-remote.pl: Enforce timeouts locally
 discard e93acab852 Build Fedora 18 RPMs
 discard 806970349b Update release date
 discard ea019e9a26 Add option ‘extra-binary-caches’
 discard cc837e2458 Build Debian 7.0 debs
 discard 28034bfa49 Build Ubuntu 13.04 debs
 discard 93f4fa8a15 Update release notes
 discard c51b6a893c nix-copy-closure: Show a proper error message if no host 
name is given
 discard e6c44d166a Fixing the pv position regarding compression
 discard 7391533ea5 Fixing the pv reference; I didn't mean to change it
 discard 5cc2fc46ec Adding ETA support to the --show-progress in 
nix-copy-closure
 discard 3628b61ce0 Nix 1.5.2 release notes
 discard 470553bd05 Don't let stderr writes in substituters cause a deadlock
 discard 4ddd077bfa find-runtime-roots.pl: Don't hardcode /nix/store
 discard 0374d94437 addAdditionalRoots(): Check each path only once
 discard 00f698eb8b find-runtime-roots.pl: Search process environments for roots
 discard 938092a213 find-runtime-roots.pl: Use Nix::Utils::readFile
 discard 772b70952f Fix --timeout
 discard f9974f856e Show that --timeout doesn't work if the build produces log 
output
 discard 6955d41f2b nix-build: Respect --timeout
 discard 934cf2d1f4 Nix daemon: respect build timeout from the client
 discard 08d96ffad0 Fix --fallback with the binary cache substituter
 discard a9b4e26b5c Test whether --fallback works if NARS have disappeared from 
the binary cache
 discard c642441beb Test NAR info caching
 discard 05420e7883 Manual: Add a missing step to the build instructions
 discard 258897c265 Complain if /homeless-shelter exists
 discard 239841787b Fix evaluation of the VM tests
 discard cc63db1dd5 makeStoreWritable: Ask forgiveness, not permission
 discard 2c9cf50746 makeStoreWritable: Use statvfs instead of 
/proc/self/mountinfo to find out if /nix/store is a read-only bind mount
 discard c3fc60d936 Fix evaluation
 discard f72ed36025 Bump version number
 discard 78d777ca15 Remove the "system" jobset input
 discard a68ebf8e37 Require Bison 2.6
 discard 804709706c Fix building against Bison 2.6
 discard c56bc3d81c Make sure that thunks are restored properly if an exception 
occurs
 discard 4b07476848 Prevent config.h from being clobbered
 discard bdd4646338 Revert "Prevent config.h from being clobbered"
 discard e73d9e9488 Fix annoying Perl 5.16 warnings
 discard 28bba8c44f Prevent config.h from being clobbered
 discard 8057a192e3 Handle systems without lutimes() or lchown()
 discard 9fa1bee575 Update release notes
 discard f45c731cd7 Handle symlinks properly
 discard 88936411bc Bump version number
 discard 0111ba98ea Handle hard links to other files in the output
 discard b008674e46 Refactoring: Split off the non-recursive 
canonicalisePathMetaData()
 discard 826dc0d07d Remove outdated file
 discard 97c6009c47 Bump version number
 discard ca9c02dff1 Update release notes
 discard 5526a282b5 Security: Don't allow builders to change permissions on 
files they don't own
 discard dadf7a5b46 build-remote: Use the --quiet flag
 discard 3e067ac11c Add `Settings::nixDaemonSocketFile'.
 discard 5ea138dc4b Enable chroot support on old glibc versions.
 discard 79a3ba7fa3 Document ‘hashString’
 discard 5f18cd2e84 Make "${./path} ..." evaluate to a string, not a path
 discard 52172607cf Rename "hash" to "hashString" and handle SHA-1
 discard 01a5ea9914 experimental/hash
 discard 8add116acd Nix::Store::derivationFromPath: Return derivation outputs
 discard d6143801fd Support the colonies
 discard 9842077cb2 Improve -I description
 discard 5e9c3da412 Only warn about SQLite being busy once
 discard 99ed558a93 Correctly handle missing logs
 discard 1943b60ad8 Fix the VM tests
 discard 96fbbbde55 build-remote.pl: Don't keep build logs on the build slave
 discard d6fd6d8aff corepkgs/fetchurl: Enable making the downloaded file 
executable
 discard 536c85ea49 Store build logs in /nix/var/log/nix/drvs/<XX>
 discard 66fa9e6a4d Bump version number to 1.4
 discard e42df686f3 Delete a left-over trash directory before doing a GC
 discard 92926be2fe Fix "0 store paths deleted" message
 discard b424d29d1b Open the database after removing immutable bits
 discard 3007f57377 Remove tabs
 discard def5160b61 Clear any immutable bits in the Nix store
 discard 0a4e90395c Urgggh
 discard f12492c66d Manual: Fix "nix-store --export" example
 discard aebea2e489 Reinstate the http://nixos.org/binary-cache default for the 
binary-caches setting
 discard 649bb60617 Use sysconfdir=/etc
 discard 42d6f640c1 Update release notes
 discard 299141ecbd If a substitute closure is incomplete, build dependencies, 
then retry the substituter
 discard 1b3a78a459 Automatically fall back if the references of a substitute 
are not substitutable
 discard 82248abd8f Add a test for incomplete closures in the binary cache
 discard 12f9129f60 nix-build: Support talking to old daemons
 discard b7629778ef Allow mounting a path in a different location in the chroot
 discard 68dcbb187e download-from-binary-cache: Use the channels of the calling 
user rather than root
 discard 5ee7d8fbab Typo fix
 discard 2754a07ead nix-store -q --roots: Respect the 
gc-keep-outputs/gc-keep-derivations settings
 discard 06f62defe6 Yet another rewrite of the garbage collector
 discard 9c29a2ed35 Give a better error message if writeFile fails due to 
permission issues
 discard e775d4d84f If gc-keep-derivations is set, only keep the actual deriver
 discard fbf0b2fa45 Kill the build hook rather than shutting it down cleanly
 discard 228ea7c2f9 Revert brain fart
 discard cc511fd65b Check for potential infinite select() loops when building
 discard a9045c727f fix use-after-free bug in mkString(Value&, Symbol&)
 discard 9fa12fc201 Allow setting the profile location using $NIX_PROFILE
 discard 3ad53e43c8 Debian package: Add dependency on libwww-curl-perl
 discard 772778c0ec On SQLITE_BUSY, wait a random amount of time
 discard e087bfef5f Bump version number
 discard a6ce6d9e7c Fix manual generation
 discard 8cc19ed089 Set a long SQLite timeout in the binary cache substituter
 discard 52edef3495 Fix RPM build
 discard 8d100dbef1 Add a dependency on xz-utils
 discard 5c487761c4 Add a dependency on xz
 discard 3631dc6b2f Typo
 discard aa61bc7472 Fix RPM build
 discard 0f96966a44 Add release date
 discard 566afa1e9c Support xz compression of nixexprs.tar in channels
 discard 444b03a36f Produce an xz-compressed tarball
 discard d5a01d0f9d Build Debs for Ubuntu 12.10
 discard a7b4aaa2c3 Updated release notes
 discard 3100b29fc5 Tiny optimisation in the filter primop
 discard 094a08f839 Document new primops
 discard 4387d19359 nix-channel --update needs bzip2
 discard 24d5875514 Document multiple output support
 discard b215b23e9e Test priorities
 discard 56d29dcd62 buildenv.pl: Create symlinks in priority order
 discard 2d5e8e267b Add a test for ‘nix-env --set-flag active ...’
 discard 5ad89398d1 nix-env: Install all outputs of a derivation
 discard 21c2d8d102 Test the ‘--prebuilt-only’ flag
 discard d62fc71b85 Fix the ‘--prebuilt-only’ flag
 discard 4bb4d5479a Whitespace
 discard 8eed07cda4 nix-env -q --out-path: Support multiple outputs
 discard 6c98e6a5de Optionally ignore null-valued derivation attributes
 discard 8b8ee53bc7 Add builtin constants ‘langVersion’ and ‘nixVersion’
 discard 5943f41b8b queryMissing(): Handle partially valid derivations
 discard 08964d7328 Undo accidental debug change
 discard 69c88f5028 Fix the multiple-outputs test
 discard 408a7bfac1 nix-instantiate: Fix read-only evaluation
 discard 8d8d47abd2 Only substitute wanted outputs of a derivation
 discard 46a369ad95 Make "nix-build -A <derivation>.<output>" do the right thing
 discard a3d6585c5a nix-copy-closure: Add flag ‘--use-substitutes’
 discard 9de6bc5d05 nix-store -r: Add ‘--ignore-unknown’ flag
 discard bf3725da2a nix-store -r: Don't quietly ignore missing paths
 discard 17dc306aa3 Revert "prim_toPath: Actually make the string a path"
 discard f794465ca8 Disable use of vfork()
 discard 8541d27fce Don't use std::cerr in a few places
 discard 3acc8adcad Add some debug code
 discard ea89df2b76 Use vfork() instead of fork() if available
 discard 48c19c4633 Remove definition of non-existant function
 discard 198dbe7fa1 Remove some redundant close() calls
 discard 10dcee99ed Remove the quickExit function
 discard 4c9e3fa641 Remove a Darwin hack that should no longer be needed
 discard 182e15b661 Manual: Don't use a store path in our closure
 discard 88164325fa Fix a segfault when auto-calling a "a@{...}" function
 discard f581ce0b0c Don't start copy-from-other-stores if $NIX_OTHER_STORES is 
unset
 discard 91ef4d9a81 Remove unnecessary call to closeMostFDs()
 discard a9a8baaccb Use a shorter Nixpkgs channel URL
 discard c31ebc50aa Update release notes
 discard e28b683324 download-from-binary-cache: Try next cache if downloading a 
NAR fails
 discard bbc107ef1e Process binary caches in order of priority
 discard 3a95e1a17c Update nix-push manpage and document the binary cache format
 discard 82951e5582 nix-push: Handle pushing a symlink
 discard 620e92e880 Add an option ‘use-binary-caches’
 discard df27db712d Fix "Not an ARRAY reference" error
 discard d0fc615af6 canonicalizePathMetaData: Fall-back to utimes if lutimes 
fails due to ENOSYS
 discard 4c34d384e6 If hashes do not match, print them in base-32 for 
SHA-1/SHA-256
 discard a28b4445a4 nix-prefetch-url: Improve option handling
 discard 2980d1fba9 prim_toPath: Actually make the string a path
 discard dde6486eab nix-push: Add a flag ‘--manifest-path’ to write the 
manifest to another directory
 discard c8daeba303 nix-push: Add ‘--link’ flag
 discard 167e36a5c3 nix-push: Only generate and copy a NAR if it doesn't 
already exist
 discard ac238d619c Typo
 discard 600daf972f download-from-binary-cache: Remove duplicate entries in 
trustedURLs
 discard e345182055 Shorten the names of temporary build directories
 discard ecedd9c50c Out-of-tree building of perl modules.
 discard 70f75be199 getDerivation(): Don't always quietly ignore assertion 
failure
 discard ad328bea15 XML writer: flush after newlines
 discard bfaa5635de Manual: Don't use a store path that actually exists
 discard 904f50412c nix-store --verify: Continue on errors
 discard 90b8a34f82 Fix regular expression
 discard d1de836938 Fix the tarball build
 discard f766e146f4 Fix the test
 discard e35d6f78dc Rename nix-worker to nix-daemon
 discard 522ecab9b8 Drop support for running nix-worker in "slave" mode
 discard 7586095504 Remove bin2c
 discard a562d544d8 When ‘--help’ is given, just run ‘man’ to show the manual 
page
 discard 9c41c66c5b Document ‘--repair’
 discard 2bbc4a214e nix-env: Support ‘--repair’ flag
 discard 2e90a5a2a7 nix-build: Support ‘--repair’ flag
 discard 0a7084567f Add a ‘--repair’ flag to nix-instantiate
 discard a807edfae8 Handle repairing paths that are in build-chroot-dirs
 discard a3f205b249 When repairing a derivation, check and repair the entire 
output closure
 discard 2001895f3d Add a --repair flag to ‘nix-store -r’ to repair derivation 
outputs
 discard cf46f19444 nix-store -r: Get rid of an unnecessary call to 
buildPaths/ensurePaths
 discard 8e3a7bd712 nix-store --verify: Add an option ‘--repair’ to repair all 
missing/corrupt paths
 discard 9958bd6992 Add operation ‘nix-store --repair-path’
 discard e666e1156f Handle octal escapes in /proc/self/mountinfo
 discard f406288cc7 Print a more descriptive error message if setting up the 
build environment fails
 discard 95c74eae26 Allow dashes in identifiers
 discard f46612be96 Add "on Linux" qualifier
 discard d534f137f0 Make the store writable before creating /nix/store/.links
 discard 0f358ca5b6 Document that Nix requires GNU Make
 discard cb6651e878 Update release notes
 discard e464b0247d Merge branch 'readonly-store'
 discard 28bf183d2d Include <sys/types.h> for off_t
 discard c1f91570b3 Style fix
 discard 20582e9ae3 Support xz compression in the download-using-manifests 
substituter
 discard b9c2b4d5b4 Remove setting of the immutable bit
 discard b9124a5c33 Support having /nix/store as a read-only bind mount
 discard 76e88871b2 Templatise tokenizeString()
 discard 00092b2d35 Keep build directory if not all expected outputs were 
produced
 discard b674665765 Test whether GNU tar understands --warning=no-timestamp
 discard 09eb230900 Fix test
 discard 983220bcd4 nix-collect-garbage: Support --dry-run
 discard 9fd9dedf12 nix-env --delete-generations: Support --dry-run flag
 discard 1bda006b74 Add a test for nix-profile.sh
 discard aac14222f5 nix-profile.sh: Revert to single-user version
 discard 54fe8e0773 Remove double Fedora release suffix
 discard 47ae3ce2ca Put a time-to-live on negative binary cache lookups
 discard e03a8a1c92 Doh
 discard 8fbe96cb31 RemoteStore::connectToDaemon(): Set close-on-exec flag
 discard e6e495649c Vacuum the SQLite DB after running the garbage collector
 discard 2923b55f9d Delete paths in a component in topologically sorted order
 discard 31114ec3a5 Fix the store optimisation test
 discard c845c0ccad nix-channel: Add option to force fetching of manifests
 discard b14717ab90 Delete manifests in "nix-channel --remove" or when a binary 
cache is available
 discard 6c4ac29917 Disable auto store optimisation for now
 discard e56f71edaf In startBuilder(), only print the new paths we're building
 discard 4fca02077c Handle gc-keep-outputs and gc-keep-derivations both enabled
 discard 479e9172b3 Build hook: Pass the timeout to the remote builder
 discard 4ba47205c6 Fix test failure on Darwin
 discard 6762424e24 Compatibility fix for WWW::Curl < 4.14
 discard d4c3b6327f Don't put results symlinks in the tests directory
 discard 1f7901ec3b Test hash rewriting
 discard 5e2ffd0b8a Fix "non-zero padding" error
 discard 8cf672091e Support building a derivation if some outputs are already 
valid (non-chroot case)
 discard 9dbda2b3fe Remove debug line
 discard a2785b7391 Support building a derivation if some outputs are already 
valid
 discard 295027f533 Include config.h before any other header
 discard d3004c78d9 Don't use -warning=no-timestamp unless we have GNU tar
 discard 360056e174 Document importing from a directory in the import 
documentation
 discard f7b650d234 Make "nix-instantiate -" interruptible
 discard 15e1b2c223 Merge branch 'no-manifests'
 discard 9e2fc6951c Disable the binary cache substituter by default for now
 discard cfd968dd94 Fix stupid type error in calling std::max
 discard f3077fd88d Add libwww-curl-perl to the Debian/Ubuntu images
 discard cc8641815b Add WWW::Curl to the RPM dependencies
 discard 2688fb73f1 Add perl-WWW-Curl to the RPM image
 discard 8207359227 Whitespace
 discard 8b8fe6139e Drop dependency on List::MoreUtils
 discard babe54bf97 Add missing file
 discard e94806d030 Merge branch 'master' into no-manifests
 discard a9e6752bbd Include the output name in the GC root link
 discard 4aa1e5c554 Receive reserveSpace before calling startWork()
 discard d950cfe70b Check if MS_PRIVATE is defined
 discard 56e30e161c In the chroot, make all mounted filesystems private
 discard f0eab0636b Don't bind-mount /proc since we mount our own
 discard 862c4c5ec5 Fix 1755 permission on temporary directories left behind by 
‘-K’
 discard 767101824a Avoid concatenating lists of one string
 discard e5c589d271 Don't allocate empty lists
 discard 3e89ef597c Optimise concatenating a list to an empty list
 discard 9c2d63084b Add a primop ‘elemAt’ to get an element from a list
 discard 198d0338be Add a primop ‘concatLists’
 discard b9e5b908ed Provide an efficient implementation of ‘elem’
 discard 4ccd48ce24 Add a "filter" primop
 discard 62f72eb9e1 Add some more evaluations stats
 discard e82767910c Add some basic profiling support to the evaluator
 discard 325d1cfebf Don't warn about maximum link count exceeded on 0-byte files
 discard d025142f52 Handle amount of disk space saved by hard linking being 
negative
 discard b6c989b801 Fix race condition when two processes create a hard link to 
a file in .links
 discard 108e14bb18 Fix race condition when two processes create the same link 
in /nix/store/.links
 discard 6763084ae5 Count bytes freed deleting unused links
 discard 01d56c1eec Drop the block count in the garbage collector
 discard 967d066d8e nix-store --gc: Make ‘--max-freed 0’ do the right thing
 discard 1df702d347 removeUnusedLinks(): Print stats on disk space saved by 
hard linking
 discard 9c2decaa19 Merge branch 'master' into no-manifests
 discard 5170c5691a nix-channel: Use binary caches advertised by channels
 discard 79bba3782c Doh
 discard ca94b38371 nix-env: Ignore manifest.nix when recursing into 
~/.nix-defexpr
 discard 46f852cda0 Use a GNU tar flag to shut up warnings about implausibly 
old timestamp
 discard afa7e01878 Inline unpack-channel.sh
 discard 234ce610e0 Doh
 discard 7b10562370 Make ‘nix-store --optimise’ interruptible
 discard 8a25d787d7 download-from-binary-cache: Remove duplicate URLs
 discard c770a2422a Report substituter errors to clients of the Nix daemon
 discard 4d1b64f118 Allow daemon users to override ‘binary-caches’
 discard eb7849e3a2 Prevent an injection attack in passing untrusted options to 
substituters
 discard 90d9c58d4d Pass all --option flags to the daemon
 discard 89a8207029 Add an option ‘build-fallback’ (equivalent to the 
--fallback flag)
 discard 157170059d Manual: Remove reference to non-existent -I option
 discard 97421eb5ec Refactor settings processing
 discard d50d7a2874 Whitespace
 discard 9cd63d2244 Do some validation of URLs
 discard f3eb29c653 Fix the test
 discard 9de6d10d11 Get rid of $NIX_BINARY_CACHES
 discard ab42bf1dab nix-install-package: Support binary caches
 discard d059bf48e4 Pass configuration settings to the substituters
 discard f9613da180 Remove unused variables
 discard 6183cf2f19 Fix whitespace
 discard f15083c10a Document the --option flag
 discard 66a3ac6a56 Allow a binary cache to declare that it doesn't support 
"nix-env -qas"
 discard 6ecf4f13f6 Use "set -x" in the tests to see where a test fails
 discard e6ab52cdd1 Test "nix-env -qas" with the binary cache substituter
 discard 73acb8b836 Let build.cc verify the expected hash of a substituter's 
output
 discard fbf59d95f6 Remove more tabs
 discard 3a8f841612 download-using-manifests: Don't use nix-prefetch-url
 discard b4ea83249b Remove trailing whitespace / tabs
 discard 7f8e805c8e download-from-binary-cache: Only use the default cache for 
/nix/store
 discard 67c6f3eded nix-push: Support generating a manifest again
 discard 50395b71a9 Fix the substituter tests
 discard e3ce54ccee nix-push: Remove the upload feature
 discard 609586a16d Add a test for the binary cache substituter
 discard 7861260a5f Clear NIX_STORE when running the tests
 discard 7892ad15ab download-from-binary-cache: Support file://
 discard dbce685e91 Add some .gitignore entries
 discard 8c79100839 Merge branch 'master' into no-manifests
 discard 3a4623afbb Set permissions on temporary build directories to 0700
 discard 2605f4f4e6 nix-profile.sh: Don't set NIX_REMOTE on single user 
installations
 discard 477b0fbeca Subscribe to the Nixpkgs rather than NixOS channel
 discard f5954e2d94 prim_import: When importing .drvs, allocate the 
intermediate attrset on the heap just in case it escapes the stack frame.
 discard 1ef2d5765b Turn tests back on
 discard b1112bbef1 import: If the path is a valid .drv file, parse it and 
generate a derivation attrset.
 discard 566a30c007 Disable tests temporarily
 discard e98c029717 Handle platforms that don't support linking to a symlink
 discard fd63c8bfcd Unlink the right file
 discard 0f65793f94 Add a test for Nix store optimisation
 discard 680ab6f83d Garbage collect unused links in /nix/store/.links
 discard 6193105710 Automatically optimise the Nix store when a new path is 
added
 discard 564fb7d9fa optimiseStore(): Use a content-addressed file store in 
/nix/store/.links
 discard ed59bf7a18 nix-build: Support the ‘-’ argument to build an expression 
from stdin
 discard 6852289c46 Use lutimes() if available to canonicalise the timestamp of 
symlinks
 discard 1832ab71db Bump version
 discard 98193bb440 Remove RPM builds that don't evaluate
 discard b7fd2c2822 Use "#pragma once" to prevent repeated header file inclusion
 discard 58337e0e61 Set release date
 discard aa115e22df download-from-binary-cache: Print correct URL
 discard fe241ece29 Merge branch 'master' into no-manifests
 discard ccc52adfb2 Add function queryPathFromHashPart()
 discard 220818f758 queryPathInfo(): return hash in base-32 if desired
 discard a6f348599c Print some debug output
 discard 3a9fdf2747 Return an exit code of 100 for cached failed builds
 discard 1217204c81 Remove dead code
 discard 51d71ad3d7 Manual: Don't claim we support Cygwin
 discard 6c01fb4d68 Update Nix 1.1 release notes
 discard 53b24f3518 Allow disabling log compression
 discard a7a43adb79 builtins.storePath: resolve symlinks
 discard 04559a0d45 Merge branch 'master' of github.com:NixOS/nix into 
no-manifests
 discard e4d6bcb6cd Update release notes
 discard f2bdc87595 Update the other substituters
 discard 15c15da482 Add some missing --version switches
 discard d287b62b64 Set the User-Agent header to "Nix/<version>"
 discard b74d92755d download-from-binary-cache: Use HEAD requests if possible
 discard 09a6321aeb Replace hasSubstitutes() with querySubstitutablePaths()
 discard 58ef4d9a95 Add a function queryValidPaths()
 discard 667d5f1936 Rename queryValidPaths() to queryAllValidPaths()
 discard eb3036da87 Implement querySubstitutablePathInfos() in the daemon
 discard 6586414bc7 nix-env: Determine which paths have substitutes in parallel
 discard 5ee8944155 Cleanup
 discard eae802459d Pass --insecure to curl so that https works
 discard 2dd3117c27 Inline fetchurl.sh
 discard 51f9f9924b Add a test for the fetchurl function
 discard 035aa11403 Remove obsolete comment
 discard a2865f6b3d corepkgs/fetchurl: Build locally and outside of the chroot
 discard 53f52c2111 corepkgs/fetchurl: the 'system' argument can be optional
 discard 543bf742c9 corepkgs: distribute fetchurl files
 discard f863673a90 corepkgs/fetchurl: Call the shell directly instead of using 
the shebang
 discard a994eb92a4 corepkgs/fetchurl.sh: Use config.nix's curl
 discard 9d94a28bed The fetchurl builder is now fetchurl.sh
 discard fd2630e1f7 Remove old fetchurl makefile
 discard 6450f5699f Move fetchurl files out of their subdirectory
 discard 40c01ec467 corepkgs/config.nix.in: We'll need curl
 discard c4df747267 Resurrect old corepkgs fetchurl
 discard 27f0c34390 Really fix RPM builds
 discard ae72be1b8b Add WWW::Curl as a dependency
 discard a560124cdf Fix RPM builds
 discard 087dee6e1b Get rid of nix.conf.example
 discard 5755a5c354 Install a nix.conf manpage
 discard 099125435f download-from-binary-cache: add nix.conf options
 discard 98a423b75a prim_import(): prefetch substitute info in parallel using 
queryMissing()
 discard 425cc612ad build.cc: Don't use hasSubstitute()
 discard 400e556b34 Cleanup
 discard 11800e6198 download-from-binary-cache: parallelise fetching of NAR 
info files
 discard cd94665f38 download-from-binary-cache: use WWW::Curl
 discard ae60643c15 download-from-binary-cache: do negative NAR info caching
 discard 89380c03e9 download-from-binary-cache: in queries, preferred cached 
info
 discard 2a8e5c8b11 download-from-binary-cache: strip trailing / from URLs
 discard d694c599e2 download-from-binary-cache: cache binary cache info in a 
SQLite DB
 discard 8319b1ab9f download-from-binary-cache: Verify NAR hashes
 discard cf49472d60 nix-push: Always generate base-32 hashes
 discard 6ec7460af1 Binary caches: use a better key
 discard 6b1e671ac6 Fix xz compression
 discard 440adfbdd1 Add an environment variable $NIX_BINARY_CACHES specifying 
URLs of binary caches
 discard f4190c38ba Allow both bzip2 and xz compression
 discard 000132cbd1 nix-push: Don't pollute the current directory with result 
symlink
 discard 37f7098464 First attempt at the manifest-less substituter
 discard 91b8814f0d Doh
 discard 4911a10a4e Use XZ compression in binary caches
 discard 49cd7387ad nix-push: create a manifest-less binary cache
 discard 1aba0bf0fa nix-store -r: do substitutions in parallel
 discard 42f5a2fc29 Mount an empty /dev/shm tmpfs in the chroot
 discard 3ee208516f Check the return code of the clone() call
 discard 1db38ae81b When using chroots, use a private PID namespace
 discard 5489086456 Use a private UTS namespace to provide a deterministic 
host/domain name to builders
 discard 8da6772ed4 Update release notes
 discard 723a68c826 Improve error message
 discard 7ffa523fd1 In chroot builds, use a private SysV IPC namespace
 discard df716c98d2 In chroot builds, use a private network namespace
 discard 2f3f413e91 Support socket-based, on-demand activation of the Nix 
daemon with systemd
 discard 02fb6323e0 Add Emacs to the disk image
 discard 221626e715 fixes to nix-worker systemd service descriptor: - remove 
commented-out lines - register the file for distribution in Makefile.am
 discard a7ed1f67ee On systems with SystemD, install the service descriptor for 
nix-worker, and enable and start it
 discard 8922346305 Major spec update: - Fix license field - Split into 
subpackages - Update build dependencies - Configure users and groups for 
multi-user mode - Fix installation location of Perl modules
 discard 6a214f3e06 Update nix profile: - incorporate NixOS's configuration so 
that nix is usable by normal users - install as a data file, not a program file
 discard d0308073c3 - only enable deprecated spec sections when building on 
systems with older RPM versions - move tests to dedicated %check section - use 
standard build macros
 discard e545a7f9a8 - replace %define with %global
 discard f5398d374b Compress build logs on the fly using bzip2
 discard 881beb170d "nix-store -l": support compressed logs
 discard 4bc4da331a Reserve some disk space for the garbage collector
 discard 2c26985835 Add option ‘build-keep-log’ to enable/disable writing of 
build logs
 discard 8058dab26e Clean up the installation section; document the generic 
binary tarballs
 discard 0301525e6c Fix owner/group in tar invocation
 discard 6814b1dfa1 Generate binary tarballs for installing Nix
 discard 591aab7e21 Remove $FONTCONFIG_FILE hack from nix-profile.sh
 discard e071f87dc5 Add an experimental nix-make file
 discard cac9eb39fe Bump version number
 discard dfc6a43b72 Fix the install check
 discard 587b408210 Set release date
 discard 8a08813d6c Manual updates
 discard 2b00e6990c CSS tweaks
 discard 58d1de08d9 Use perl.libPrefix to (hopefully) fix the Cygwin build
 discard 37fa47908b Build Ubuntu 12.04 packages
 discard 4d383f57f4 Document "nix-build --run-env"
 discard 4f7bab7db1 Support building with the Perl XS bindings disabled
 discard 6a7b24a3f2 Document "nix-store --add"
 discard cda1fd8ec8 Remove an obsolete hack
 discard 663c06e8cd Disable building in chroot for Nix's corepkgs
 discard cb1248d208 Document some nix-store subcommands
 discard 7a213ffc69 Document $NIX_PATH / -I
 discard a58efdb69b Update the release notes
 discard 0c4c8f7a9d Remove obsolete files (moved to release tree)
 discard afa7b8a479 nix-channel --update: allow updating only the specified 
channels
 discard 147f10157f Now *really* prevent accumulation of old manifests
 discard 464089365e Fix some 32-bit builds
 discard c6acb219f9 Drop the Perl-specific CFLAGS
 discard 56c82f3d9d Don't build for old Debian/Ubuntu releases that don't have 
a sufficiently new SQLite
 discard 373e875ac2 Don't build for old Fedora releases that don't have a 
sufficiently new SQLite
 discard d03a295192 Require SQLite >= 3.6.19
 discard e060c99447 Use mkpath instead of make_path
 discard e19fb7ebed Do "make installcheck" for RPM builds
 discard e145ac30e3 Do "make installcheck" for Debian builds
 discard db5b86ef13 * Add an option ‘build-use-substitutes’, which can be set 
to ‘false’   to disable use of substitutes; i.e., force building from source.   
Fixes Nix/221.
 discard 59a26360c7 Support mandatory system features in the build hook
 discard 82ae0e688c Update the documentation of build-remote.pl
 discard 46cdc6ad51 Handle EPERM when creating a hard link for the chroot
 discard c722193a91 Don't use the build hook for unpacking channels
 discard 6de5d53416 Fix a warning in the build hook about $progressViewer
 discard 6387830c3b Merge pull request #2 from viric/master
 discard 259c6d3fbb Fix URL set by nix-channel
 discard 9cd3ff1059 nix-instantiate: default to "default.nix" if no arguments 
are given
 discard 8745fade03 Added utility command ‘nix-instantiate --find-file’ to look 
up a file in Nix's search path
 discard 8cf1719e3e Hack to prevent accumulation of old manifests
 discard 1132dd27ea Fix obscure race condition in GC root creation
 discard 154aa7f71a Set a few more close-on-exec flags
 discard 31e34fcf93 Close almost all file descriptors in the builder
 discard 0b5107c016 If the (redirected) channel URL contains a version number, 
use it
 discard 1d0bafb74d Follow redirects early to ensure consistency between the 
manifest and the tarball
 discard ca3d9f8b31 Urgh, modified the wrong file...
 discard ef902274fd Remove unnecessary "system" argument
 discard e855c7e2c9 nix-channel improvements
 discard 969a14599d If "pv" is available at compile time, hard-code its path
 discard 34a85c5405 nix-copy-closure: Move the progressViewer directly adjacent 
to the ssh call so that network progress is what's measured
 discard 055e803851 Add the '--show-progress' flag to nix-copy-closure
 discard 00c98a6bef Use Bison 2.5
 discard 209927bb27 Unconfuse Rob
 discard 1fb30e6d50 Handle the case where $SHELL is not set
 discard 8f6146a7bc Merge pull request #5 from shlevy/doc-fix
 discard 242a99c95a Nix is on github now
 discard 533250a4a3 Fix building from the tarball
 discard 831c7aa410 Documentation fix
 discard 5863987bba Include environment variables in the manpages
 discard 998b977ede Include common options in the manpages using some XInclude 
hackery
 discard d49ef039dd Update affiliation
 discard 5a6d50998d Add a missing DocBook source file to the tarball
 discard f2467eb6a0 On Linux, pretend we're building on Linux 2.6
 discard 3b859ead37 nix-generate-patches: Optionally write new patches to 
$NIX_ALL_PATCHES
 discard 34ea91b259 Include --keep-going in --help
 discard 0837348049 Follow redirects when checking for the existence of 
MANIFEST.bz2
 discard b8fb0ce563 Update "nix-build --help"
 discard 5144abe5b6 Add an option "--exclude" to filter dependencies in 
"nix-build --run-env"
 discard 3e94ffffd6 Allow the command executed by "nix-build --run-env" to be 
overriden with --command
 discard 446b827bae Mac OS X fix
 discard 480dda0e42 Delete non-directory valid paths right away
 discard 117670be57 Make the garbage collector more concurrent
 discard 8be1979f1a Remove the --max-links GC option
 discard 85799bf89e Fixing the default of sync-before-registering
 discard 25de80e2b6 Adding a nix option to sync before registering a path, for 
non-ext* filesystems.
 discard 19d9762ad5 nix-store --clear-failed-paths: Clear derivation outputs
 discard cb79e91ec3 Fix the coverage build
 discard 457dd55962 Fix the Deb builds
 discard 4b83483142 Fix the RPM
 discard 7f38087f35 Add a command "nix-build --run-env" to reproduce the 
environment of a derivation
 discard ea402a255f Replace "make check" with "make installcheck"
 discard 4b23900ff1 Fix the optional dependency on OpenSSL
 discard b006a31d52 Drop the externals directory
 discard 2e0322efd1 Clean up when building from a working tree
 discard bd50c01972 Ensure that Perl processes delete their entry in the 
temproots directory
 discard b461721f17 Fix tests
 discard 005d1e4ccb Update bzip2 dependency
 discard 605b16cd7b Fix compilation on FreeBSD
 discard d645633643 nix-copy-closure: don't print copied path on stdout
 discard 35355fc1fc Set the close-on-exec flag on file descriptors
 discard 7b22bec252 Don't leak a file descriptor in commonChildInit()
 discard 1d487dc6a6 nix-worker: put the pid of the caller in argv[1]
 discard 2b4964f319 Restore progress indication during nix-copy-closure
 discard 56042a120a build-remote.pl: don't wait forever for the upload lock
 discard 8afd28a922 Remove dependency on sqlite3_table_column_metadata
 discard 1c94524458 Fix an uninitialised variable
 discard 6fe13e6aba Fix chroots builds
 discard bd013b6f98 On Linux, make the Nix store really read-only by using the 
immutable bit
 discard 5e57047d87 Fix a broken guard around utime()
 discard 58ac7a17a4 Don't use deletePath() to delete a single file
 discard e9fc91df45 Fix error message
 discard d5a5a83ad4 Use data() instead of c_str() where appropriate
 discard ec2827f5fc Update .gitignore
 discard 4055a3b19c Remove empty ChangeLog file
 discard fb95455c02 Set the versionSuffix to include the Git shortrev
 discard 67444f5e54 * Build Nix for the latest Fedora and Ubuntu releases (and 
drop some   old ones).
 discard f491ae97d4 * Inline some functions and get rid of the indirection 
through   EvalState::eval().  This gives a 12% speedup on ‘nix-instantiate   
/etc/nixos/nixos/ -A system --readonly-mode’ (from 1.01s to 0.89s).
 discard 2bda12ef3b * Print elapsed evaluation time.
 discard ce86a9a0ae * nix-channel: fail if we don't have write permission to 
the manifests   directory.  Previously in this situation we did add the Nix   
expressions from the channel to allow installation from source, but   this 
doesn't work for binary-only channels and leads to confusing   error messages.
 discard baa0501cc1 * Fix importing a derivation.  This gave a segfault.
 discard 4c9fdd2cd6 * Add a test for importing derivations.
 discard 330df4b4db * Allow comparisons between derivations by comparing the 
outPath   attributes.
 discard 18047d4625 * Add some debug output to print the derivation name once 
it's known.   This makes it easier to pinpoint the source of a crash.
 discard 126c7317bc * Add a test case for comparing derivations.
 discard ddd0ce534a * Don't distribute Store.cc, it's generated automatically 
by xsubpp.
 discard 02f1363e19 * Pass the appropriate flags to GCC when building the Perl 
bindings.   Without these, Nix fails on 32-bit Linux with Perl 5.14, with a   
rather unhelpful error message:
 discard 4e624849b6 * Added a command ‘nix-store --print-env $drvpath’ that 
prints out the   environment of the given derivation in a format that can be 
sourced   by the shell, e.g.
 discard 2a3f4110c5 * nix-build: put the temporary derivation symlink in a 
temporary   directory rather than the current directory. * nix-build: 
--drv-link now implies --add-drv-link.
 discard 7ae763e16b * ‘-module’ causes the generated library to have an .so 
extension on   Mac OS X instead of .dylib, so don't do that.
 discard 6245f0d529 tests: Run `download-using-manifests' via libtool so that 
dlopening works.
 discard c5d9ccd810 perl: Build libNixStore.la with `-module'.
 discard f86fca9b70 * Figure out the extension of dynamic libraries; don't 
hard-code .so.
 discard 9fe24c5a0d * Don't create thunks for simple constants (integers, 
strings, paths)   and allocate them only once. * Move Value and related 
functions into value.hh.
 discard d4e6b9f2d6 * Doh!
 discard a7366a764a * Add a -I flag to the Perl bindings to nix-build and some 
other   scripts. * Include the version and architecture in the -I flag so that 
there is   at least a chance that a Nix binary built for one Perl version will  
 run on another version.
 discard b52966e821 * Remove dead code.
 discard 35f2a6ba82 * Don't use dynamic_cast, it's very slow.  "nix-instantiate 
  /etc/nixos/nixos -A system" spent about 10% of its time in   dynamic_cast.
 discard adaf64a99b * Merge the multiple-outputs-sandbox branch (svn merge 
--reintegrate   ^/nix/branches/multiple-outputs-sandbox).  Multiple output 
support   still isn't complete, but it wasn't complete in the trunk either, so  
 it doesn't hurt.
 discard 9936da6b54 * Check whether the outputName attribute works.
 discard 9d43a02382 * Let --disable-gc work.
 discard a0477a458f * currentOutput -> outputName.  "current" implies some 
temporal   aspect.
 discard b79b85ad76 * Export the original input attributes of the derivation in 
  ‘drvAttrs’.  This will simplify the implementation of functions such   as 
‘overrideDerivation’ in Nixpkgs, which need to filter out any   added 
attributes such as outPath.
 discard 83647f4ef1 * Simplify the implementation of "derivation" a bit: lift 
out the   common attribution so that they're evaluated only once, etc.  Note   
that the default output is now the first element of the "outputs"   attribute, 
rather than the first element of the sorted list of   outputs.  This seems more 
user-friendly.
 discard 71f3c46cf6 * Drop the inefficient "Path" suffix in output attribute 
names.
 discard 921111d197 * Move the implementation of the ‘derivation’ primop into a 
separate   file.
 discard 6c31232e14 * Sync with the trunk.
 discard 502d94048a * Ignore missing manifest symlinks.
 discard 63227d434c * FreeBSD tar defaults to the tape device instead of stdout.
 discard 9b7df1ef00 * Forgot to add.
 discard 39d45a6b09 * Add a test for nix-channel. * Refactor the nix-channel 
unpacker a bit.
 discard dadbb51d96 * Use Nix::Config.
 discard 48cea0d01e * Refactoring: Get rid of a few subdirectories in 
corepkgs/, and some   other simplifications. * Use <nix/...> to locate the 
corepkgs.  This allows them to be   overriden through $NIX_PATH. * Use bash's 
pipefail option in the NAR builder so that we don't need   to create a 
temporary file.
 discard 93e71e6ab6 * Follow our own coding conventions.
 discard f2d65c9c80 * Remove a redundant dot (Nicolas Pierron).
 discard 93b56acb2d * Support multiple outputs in nix-store (specifically the 
‘--query’   and ‘--realise’ actions).
 discard a71d02440b * Oops.
 discard 6f5e3326ce * Move topoSortPaths() out of gc.cc.
 discard b1004f40f7 * Reject a build if there is a cycle among the outputs.  
This is   necessary because existing code assumes that the references graph is  
 acyclic.
 discard ed11b17b2e * Fix doc error.
 discard 254b3399ba * Sync with the trunk.
 discard 8c42a8c8ff * Make sure that lock files are cleaned up properly when 
building   through the build hook.
 discard 524fa8a4f1 * Oops.
 discard b33da599c5 * In the garbage collector, delete invalid paths before 
deleting   unreachable paths.  This matters when using --max-freed etc.:   
unreachable paths could become reachable again, so it's nicer to   keep them if 
there is "real" garbage to be deleted.  Also, don't use   readDirectory() but 
read the Nix store and delete invalid paths in   parallel.  This reduces GC 
latency on very large Nix stores.
 discard 58d974336c * Drop unnecessary call to canonPath() (nixStore is already 
canonical).
 discard 66c99b0cf5 * ‘--disable-shared’ is no longer supported.  Fortunately 
it's not   needed for the coverage analysis.
 discard 2aac7cd021 * Another case of lock file permissions being too liberal.
 discard 4d728bc3e6 * Security: make sure the lock files used by 
build-remote.pl are not   readable to other users.  Otherwise, any user can 
open the lock file   for reading and lock it, thus DoSing the remote build 
mechanism.
 discard 69d6f0936a * Use a lock to ensure that only one build-remote instance 
can copy a   closure to a given machine at the same time.  This prevents the 
case   where multiple instances try to copy the same missing store path to   
the target machine, which is very wasteful.
 discard 5679041132 * The ‘foo.drvPath’ feature was already broken in read-only 
mode.   Since it's rarely used and fixing it is too much work right now,   just 
document it.
 discard f8e54b7874 Make the reference cycle in the cyclic outputs test indirect
 discard b4cee3f816 Revert previous commit
 discard f3c88f297d Detect and reject mutually-referential outputs
 discard b19a0f63db * Simplify the context handling logic.
 discard 4be5a2c096 * Add a test for unsafeDiscardOutputDependency.  Not really 
related to   multiple outputs, but good to have anyway.
 discard 179409b911 * Add a test for referring to another derivation's 
‘drvPath’.  This   currently fails in read-only mode.
 discard 3877619888 * Add some accidentally committed files.
 discard edd9359beb * Doing a GC after building a derivation with cyclic 
outputs currently   segfaults.
 discard 1f3b0ede7d * Add a (currently failing) test that checks whether 
mutually   recursive outputs are properly rejected. * Add a (also failing) test 
for "nix-build -A <output-name>".
 discard 46e42c92c1 * Refactor a bit so that more tests can be added.
 discard b5363810bb * Fix the build.
 discard 194d21f9f6 * Sync with the trunk.
 discard 273b288a7e * importPath() -> importPaths().  Because of buffering of 
the input   stream it's now necessary for the daemon to process the entire   
sequence of exported paths, rather than letting the client do it.
 discard 8d3dfa2c17 * Avoid expensive conversions from char arrays to STL 
strings.
 discard e0bd307802 * Make the import operation through the daemon much more 
efficient   (way fewer roundtrips) by allowing the client to send data in 
bigger   chunks. * Some refactoring.
 discard 78598d06f0 * Clean up exception handling.
 discard 5a1b9ed0aa * Refactoring: move sink/source buffering into separate 
classes. * Buffer the HashSink.  This speeds up hashing a bit because it   
prevents lots of calls to the hash update functions (e.g. nix-hash   went from 
9.3s to 8.7s of user time on the closure of my   /var/run/current-system).
 discard a67b8ae224 * Typo.
 discard a3e0656cbb * Buffer reads in FdSource.  Together with write buffering, 
this   significantly cuts down the number of syscalls (e.g., for "nix-store   
-qR /var/run/current-system" via the daemon, it reduced the number   of 
syscalls in the client from 29134 to 4766 and in the daemon from   44266 to 
20666).
 discard 3a48282b06 * Buffer writes in FdSink.  This significantly reduces the 
number of   system calls / context switches when dumping a NAR and in the 
worker   protocol.
 discard 893cac1402 * Remove the terminate handler, which was only really 
needed because   of Berkeley DB (see r8632).
 discard 23bf700196 * Oops, the daemon test wasn't actually using the daemon.
 discard c8c0380744 * Remove unnecessary quotes.  showPaths() already adds 
quotes.
 discard 000160f5b9 * In ‘nix-store --verify --check-contents’, repair missing 
hashes   rather than complain about them.
 discard 3964d95abf * nix-prefetch-url: rewritten in Perl.
 discard 92d6a5ed73 * Add some more functions to the Perl bindings.
 discard 49f59dceca * Move parseHash16or32 into libutil, and use in nix-hash.
 discard b12b21825c * Allow '<nixexpr>' syntax to be used in nix-instantiate, 
nix-build   and nix-env, e.g.,
 discard 23c38a04cc * Slight improvement.
 discard 24f863d86b * When doing "nix-store --add-fixed" without "--recursive" 
via the Nix   daemon (which is an error), print a nicer error message than   
"Connection reset by peer" or "broken pipe". * In the daemon, log errors that 
occur during request parameter   processing.
 discard be9be4c147 doc/manual/nix-env.xml: fixed "nix-env -qaA" typo
 discard 3c7ec8fc1b doc/manual/nix-env.xml: stripped trailing whitespace
 discard f35c4351e5 * Don't require a specific Perl version.
 discard 4d0407ba08 * Fix make check.
 discard 1749a7b0ae * download-using-manifests: use the Perl bindings.
 discard b1eb8f4249 * Get rid of some superfluous error messages if a 
substituter fails. * Say "fetch" instead of "substitute".
 discard 216440b3ff * For consistency with "nix-store -q --hash", produce 
hashes in   base-32.  (This affects Hydra manifests.)
 discard 1df120cb05 * Get rid of the shell in ssh calls.
 discard 784083176a * Fix race.
 discard f3bc98b001 
 discard 10e2b2b79e * Document the --include-outputs option.
 discard d5ac78e0d6 * Add bzip2 and xz support to nix-copy-closure.
 discard 5bbd693cae * Add an API function exportPaths() that provides the 
functionality of   ‘nix-store --export’. * Add a Perl module that provides the 
functionality of   ‘nix-copy-closure --to’.  This is used by build-remote.pl so 
it no   longer needs to start a separate nix-copy-closure process.  Also, it   
uses the Perl API to do the export, so it doesn't need to start a   separate 
nix-store process either.  As a result, nix-copy-closure   and build-remote.pl 
should no longer fail on  [...]
 discard ab20af3e6f * build-remote.pl: drop a hard-coded reference to 
/nix/etc/nix.
 discard 993fa94fb4 * Move initialisation of variables like nixConfDir from 
libmain to   libstore so that the Perl bindings can use it as well.  It's vital 
  that the Perl bindings use the configuration file, because otherwise   
nix-copy-closure will fail with a ‘database locked’ message if the   value of 
‘use-sqlite-wal’ is changed from the default.
 discard 4e1ea17052 nix: add /etc/hosts with localhost entry to chroot builds.
 discard 4de3e2a0db * Doh.
 discard 23e933b3b3 * Put back the "sys_name" variable which got removed 
somewhere.  This   broke building on Cygwin and Solaris.
 discard a6abade8e8 * Escape the [ and ] characters in the sed call, otherwise 
autoconf   will eat them.
 discard 964399c079 * "sed" on FreeBSD doesn't know the "+" operator.
 discard b92f76374f * In the platform, canonicalise "amd64" to "x86_64".  
FreeBSD 8.2's   uname reports amd64. * Drop the FreeBSD version number, e.g. 
"i686-freebsd" instead of   "i686-freebsd8.2".
 discard 42164d6de4 configure: Change i*86 to i686 as has always been done.
 discard 45ec69cbdf configure: Rely on `AC_CANONICAL_HOST' to determine the Nix 
system name.
 discard f8e609c341 * nix-pull: update the Nix manifest cache if necessary.  
Also, don't   read the manifest just to check the version and print the number 
of   paths.  This makes nix-pull very fast for the cached cache (speeding   up 
nixos-rebuild without the ‘--no-pull’ or ‘--fast’ options).
 discard d7d7910ba4 * Don't decompress the manifests in /nix/var/nix/manifest.  
This saves   disk space, and, since they're typically only decompressed once 
(to   fill the manifest cache), doesn't make things slower.
 discard 63ee5e4d2a * Remove obsolete line.
 discard a5952405d2 * Re-use prepared statements across insertions into the 
manifest cache   DB.  This speeds up creating the cache from 16.1s to 7.9s on 
my   system.
 discard c0b706213d * Boldly make SQLite WAL mode the default again.  Hopefully 
the   intermittent problems are gone by now.  WAL mode is preferrable   because 
it does way fewer fsyncs.
 discard 3c3107da86 There's no need to mess with drvPath at all
 discard 2ab29be70c Fix faulty reversion of my changes to 
unsafeDiscardOutputDependency
 discard ca0d47a70c Respect all outputs passed to the derivation, not just the 
last one
 discard 24b65937e1 Remove the unused sCurrentOutput symbol
 discard 3522730316 Embed output name into the context of the *OutPath 
attributes and extract it for input derivations
 discard 46876ff203 Fix stupid typo in multiple outputs test
 discard af2e53fd48 Include all outputs of derivations in the closure of 
explicitly-passed derivation paths
 discard 981edeab7b The 'insert output between = signs' approach was not helpful
 discard f883afa1a1 The nixinstantiate and nixstore env vars are no longer set 
in common.sh
 discard 2721e9f56f Merge from trunk
 discard a6a3f3a8c2 * Fix race condition in the test.
 discard fa69ff5726 * Fix the broken reference to bunzip2 in the channel unpack 
script.
 discard daed9aeac5 
 discard d7b87bebe3 * The Nix configuration file is usually /etc/nix/nix.conf.
 discard 325b5a8aee * Fix permission on /nix/store in the manual for multi-user 
installs   (reported by Silvio Frischknecht).
 discard a12095d3be * In printValueAsXML, handle the case where a "type" 
attribute is not   a string.  This happens in the NixOS option system. * Remove 
a bogus comparison of a unsigned integer with -1.
 discard 00b41e46ed * Print a consistent message.
 discard f186a9141e * nix-copy-closure: support ‘--dry-run’ and 
‘--include-outputs’.
 discard 6761757428 * Use the Store API bindings in nix-copy-closure.
 discard d43a148204 * Add a test for nix-copy-closure.
 discard 2492914fbc * Move the remote building test from the NixOS tree to the 
Nix tree.
 discard c362e4d718 * Move SSH.pm.
 discard 7d314b8c95 * Work around a race condition starting the Nix daemon.
 discard 5193db048e * Set svn:ignore.
 discard a2a317eb0b * Distribute GeneratePatches.pm.
 discard 5090c34ee1 * Set the executable bit on scripts.
 discard 8af7d766f0 * Refactoring: remove unnecessary variables from the tests.
 discard cd6d02c366 
 discard 6fcdbcac20 * Install NixManifest.pm, NixConfig.pm and 
GeneratePatches.pm under   the Nix:: namespace.
 discard 659c427caa * Hopefully perl-devel contains the required headers 
(untested).
 discard 73fe6871c4 * Include the Nix Perl bindings in Nix itself.  This will 
allow the   bindings to be used in Nix's own Perl scripts.
 discard bffe35aced Update gitignore
 discard 6c38cc9025 Ignore everything created during build
 discard 55481c44d4 * Don't assume that we want a shared Nix store.
 discard e81c09edbf Remove the current output metadata from the string for 
unsaveDiscardOutputDependency
 discard bf50d6ad32 Add information about which output is active to drvPath's 
context
 discard ffa038f66d Add an sCurrentOutput member to EvalState
 discard f3e410d4bf Add a currentOutput attribute to derivations keep track of 
which output is active
 discard 8f28a3ba25 Add a test for multiple outputs
 discard c172d16b00 First attempt at the output-as-derivation semantics
 discard 0b34e57eb8 Create a branch for me to play around with finishing off 
the multiple outputs implementation
 discard 13114daa3e * Ouch.  A store upgrade could cause a substituter to be 
triggered,   causing a deadlock.
 discard 281e3ed059 bootstrap: Simplify & make more robust.
 discard e6cb3d0a0d * Added a command ‘nix-store --verify-paths PATHS’ to check 
whether   the contents of any of the given store paths have been modified.   
E.g.
 discard 82710f96f7 * Add some -f flags, never hurts.
 discard 93227ff65c * Eliminate all uses of the global variable ‘store’ from 
libstore.   This should also fix:
 discard 5bcdc7e351 * Update the cleanup script.
 discard a95ba4cdd9 * Use last_insert_id instead of sqlite_last_insert_rowid, 
which you're   not really supposed to use according to the DBD::SQLite docs, 
and   fails on some systems (e.g. http://hydra.nixos.org/build/1246662).
 discard da18b11b05 * On FreeBSD, ‘touch’ is not in the test $PATH, so don't 
use it.
 discard 76e0029f7a * Add perl-DBD-SQLite as a dependency of the RPM builds.
 discard d374be551d * Add DBD-SQLite as a dependency to the Debian/Ubuntu 
builds. * Drop some old Fedora/Debian/Ubuntu releases.
 discard 2d663b502d * Cache the result of file evaluation (i.e, memoize 
evalFile()).  This   prevents files from being evaluated and stored as values 
multiple   times.  For instance, evaluation of the ‘system’ attribute in NixOS  
 causes ‘nixpkgs/pkgs/lib/lists.nix’ to be evaluated 2019 times.
 discard 510033e783 * Handle <path> syntax.
 discard 9d091ee99a * Handle the case where the search path element is a 
regular file.
 discard 00a724ebc6 * Remove a debug statement.
 discard 07340b8be7 * Add the Nix corepkgs to the end of the search path.  This 
makes it   possible for other Nix expressions to use corepkgs (mostly useful   
for the buildenv function).
 discard c7101dac0b * Allow redirections in search path entries.  E.g. if you 
have a   directory
 discard 1578b2261d * Add lang/dir* to the distribution.
 discard 1ecc97b6bd * Add a Nix expression search path feature.  Paths between 
angle   brackets, e.g.
 discard 54945a2950 * Refactoring: move parseExprFromFile() and 
parseExprFromString() into   the EvalState class.
 discard c8606664ab * Don't allow derivations with fixed and non-fixed outputs.
 discard b2027f70d9 * Fix a huuuuge security hole in the Nix daemon.  It didn't 
check that   derivations added to the store by clients have "correct" output   
paths (meaning that the output paths are computed by hashing the   derivation 
according to a certain algorithm).  This means that a   malicious user could 
craft a special .drv file to build *any*   desired path in the store with any 
desired contents (so long as the   path doesn't already exist).  Then the 
attacker just needs to wait [...]
 discard d2bfe1b071 * Added a test that make sure that users cannot register   
specially-crafted derivations that produce output paths belonging to   other 
derivations.  This could be used to inject malware into the   store.
 discard 4bdb51e621 * Refactoring.
 discard 0243eea4b9 * Create a symlink to /nix/var/nix/manifests in 
/nix/var/nix/gcroots   if it doesn't exist.
 discard d329c3ea9d * Support multiple outputs.  A derivation can declare 
multiple outputs   by setting the ‘outputs’ attribute.  For example:
 discard d9a5959139 * Show the default for --with-store-dir (Nix/211).
 discard d5d4dcd4c9 * Allow attribute names to be strings.  Based on the   
allow-arbitrary-strinsg-in-names patch by Marc Weber.
 discard e649f3168b * Fix concurrency issues in download-using-manifests' 
handling of the   SQLite manifest cache.  The DBI AutoCommit feature caused 
every   process to have an active transaction at all times, which could   
indefinitely block processes wanting to update the manifest cache.
 discard 0a623a10c7 * Allow a default value in attribute selection by writing
 discard 2b9e29b1c8 * Change the right-hand side of the ‘.’ operator from an 
attribute to   an attribute path.  This is a refactoring to support default 
values.
 discard 5580f3817c * Test case.
 discard 5637037802 * In the ‘?’ operator, allow attribute paths.  For 
instance, you can   write ‘attrs ? a.b’ to test whether ‘attrs’ has an 
attribute ‘a’   containing an attribute ‘b’.  This is more convenient than 
‘attrs ?   a && attrs.a ? b’.
 discard 34f4b91820 
 discard 1ea6e06445 doc: Fix typo.
 discard 5c9e9f732d Add support for the `build-timeout' and `--timeout' options.
 discard 9c99aa2620 
 discard e4d8148585 
 discard 4891b21f34 * Use SQLite 3.7.6.2.
 discard d94cb02bfe * nix-install-package: unset NIX_REMOTE because 
$NIX_MANIFESTS_DIR   doesn't work when building through the Nix daemon.  This 
also   ensures an error message when the user doesn't have sufficient   
privileges to do nix-pull.
 discard 8c69dac8a1 * Handle error messages from the Nix worker containing the 
`%'   character.  (Nix/216)
 discard 4ba6afaf48 * `nix-env -ub' (`--prebuilt-only') didn't really work 
because it   checked too soon whether substitutes are available.  That is, it 
did   so for every available package, rather than those matching installed   
packages.  This was very slow and subject to assertion failures.  So   do the 
check much later.  Idem for `nix-env -qab' and `nix-env -ib'.
 discard 412914d004 * Read manifests directly into the database, rather than 
first reading   them into memory.  This brings memory use down to (more or 
less)   O(1).  For instance, on my test case, the maximum resident size of   
download-using-manifests while filling the DB went from 142 MiB to   11 MiB.
 discard 08c8971498 * Lock the database during updates.
 discard b2c11b9ed0 
 discard 3cbf680f5d * configure: detect whether DBD::SQLite is present.  If 
necessary the   location to DBI and DBD::SQLite can be passed with --with-dbi 
and   --with-dbd-sqlite.
 discard 83252b4ca9 * Subtle bug: if you import File::stat in one module, it 
affects other   modules as well.  So use symbolic field names everywhere (which 
is   nicer anyway).
 discard b1882c3ef7 * Create $manifestDir if it doesn't exist.
 discard 5591fcc529 * Cache the manifests in /nix/var/nix/manifests in a SQLite 
database.   This significantly speeds up the download-using-manifests   
substituter, especially if manifests are very large.  For instance,   one 
"nix-build -A geeqie" operation that updated four packages using   binary 
patches went from 18.5s to 1.6s.  It also significantly   reduces memory use.
 discard 1e7e4f21ba * Remove the localPaths feature in manifests since it's no 
longer used   and redundant anyway.
 discard 0423d0692a * Print a better error message.
 discard 48bdbbf070 * Fix a bug in the documentation (reported by Olexiy 
Buyanskyy,   Nix/215).
 discard 802c2651c8 
 discard e945b52a31 * nix-push: handle the case where the hash is not set in 
the DB.
 discard c3cee5395b * Build for Ubuntu 10.04.
 discard 8fcaf3e9c6 make nix-mode provide 'nix-mode
 discard 538b7caab0 * Don't allocate a big initial GC address space on machines 
with   little RAM.  Even if the memory isn't actually used, it can cause   
problems with the overcommit heuristics in the kernel.  So use a VM   space of 
25% of RAM, up to 384 MB.
 discard 5a6b039802 * Don't call GC_expand_hp unless we're actually using the 
garbage   collector.
 discard f1462c208b Use $BDW_GC_LIBS instead of a custom variable.
 discard 1876ab764f * A better fix.  $boehmgc isn't set anywhere, we should use 
the flags   returned by pkg-config.
 discard dfc4117e90 * The GC library can't be found on Solaris   
(http://hydra.nixos.org/build/890714), so don't build with GC   support for now.
 discard d159ea1b7e * Urgh, FreeBSD doesn't have a "seq" command.
 discard 3087b3f751 * Obsolete.
 discard eb94581d39 * Remove obsolete directory.
 discard 7bba67c401 * Remove obsolete file.
 discard d0eda1f3e9 * Merged the SQLite branch.
 discard 543988572e * Sync with the trunk.
 discard c0340eec5a 
 discard 0304fda3cf * Propagate the CC setting.
 discard aeae0beba4 * Clang compatibility fix.  Clang actually checks template 
definitions   when they are defined
 discard 3854fc9b42 Remove useless <config.h> inclusion from public header.
 discard 9db190eb31 * builtins.substring: if "start" is beyond the end of the 
string,   return the empty string.
 discard d6c8b995c5 * In Hydra manifests the Size field is missing, so don't 
rely on it.   This caused a lot of "Use of uninitialized value" warnings from   
Perl.
 discard c931a7aec5 * Do a short sleep after SQLITE_BUSY.
 discard b1eb252172 * Propagate the "100" exit status for failed builds through 
the Nix   daemon.
 discard eac93d6efe * Use the right `make'.
 discard a0be433fec * Disable X11 forwarding, it's not needed.
 discard f1a6b97639 * nix-copy-closure: make sure that the shell doesn't do 
globbing of   `+' and `?' in filenames.  This is very slow if /nix/store is 
very   large.  (This is a quick hack - a cleaner solution would be to   bypass 
the shell entirely.)
 discard 3dd02580e3 * I forgot to catch SQLiteBusy in registerValidPaths().  So 
  registerValidPaths() now handles busy errors and registerValidPath()   is 
simply a wrapper around it.
 discard d787285af9 * nix-instantiate: return exit status 100 to denote a 
permanent build   failure.  The build hook can use this to distinguish between  
 transient and permanent failures on the remote side.
 discard 5833243c92 * Create /nix/var/nix/db if it's missing.
 discard 100becf8d1 * createDirs(path): if path already exists, make sure it's 
a   directory. * Provide a C++ wrapper around lstat().
 discard d7ca6f44eb * Update some comments.
 discard 542fc69062 * When doing a query (e.g. `nix-store -r --dry-run'), don't 
make a lot   of expensive calls to `nix-store --check-validity'.
 discard 4d57776813 * Use SQLite 3.7.4.
 discard e4720b1a79 * Ignore the result of sqlite3_reset().
 discard 7d0444e244 * Bad things happen when a filehandle has the same name as 
a module.
 discard 8062d3af30 * `nix-store --verify --check-contents': don't hold the 
global GC lock   while checking the contents, since this operation can take a 
very   long time to finish.  Also, fill in missing narSize fields in the DB   
while doing this.
 discard de79d23f76 * Retry a transaction if SQLite returns SQLITE_BUSY.  This 
can happen   even with a very long busy timeout, because SQLITE_BUSY is also   
returned to resolve deadlocks.  This should get rid of random   "database is 
locked" errors.  This is kind of hard to test though. * Fix a horrible bug in 
deleteFromStore(): deletePathWrapped() should   be called after committing the 
transaction, not before, because the   commit might not succeed.
 discard 365f3028dd * Use CamelCase for the Perl modules.
 discard f42a505ab7 * Add a script `nix-generate-patches'. * Fix the binary 
patching test.
 discard 77f7a6d591 * Quick hack around one of the pathological cases in bsdiff 
  (namely, when there is a long region of 0s).  On one 86 MiB   case, this cut 
patch generation time from 44m to 2m.
 discard d3bba0c2d8 * Move the patch generator into a module.
 discard 9737a7eba0 * Don't generate patches if the system type differs.
 discard bd48fd97f6 * Impose a configurable time limit on patch generation.  
This is   necessary because bsdiff has some pathological worst-case behaviour,  
 e.g. O(n^2) on files consisting only of 0s.
 discard 703e5a2ce2 * Sync with the trunk.
 discard 812fae424e * DrvInfo contains pointers to expressions, so DrvInfos 
should be   traced by the garbage collector.  Otherwise "nix-env -u" can crash  
 randomly.
 discard d92ccbf1ac * Test whether sequences of patches work.
 discard 1a211d812f * Oops.
 discard a4f0365b2d * When checking whether a patch is applicable, for 
efficiency, use   `nix-store -q --hash' to get the hash of the base path rather 
than   `nix-hash'.  However, only do this for estimating the size of a   
download, not for the actual substitution, because sometimes the   contents of 
store paths are modified (which they shouldn't, of   course).
 discard 3d38a49840 * In the download size indication, take binary patches into 
account.   Hopefully this doesn't slow things down too much.
 discard f69626ed3e 
 discard a07c68f05e * Finally, a test for the binary patch functionality.
 discard bf658f016f * Test that download sizes are shown correctly.
 discard 1e24cbaba3 * Fix the test.
 discard bdf089f463 * Before a build, show the disk space that the downloaded 
store paths   will approximately require.
 discard 06699d4219 * Store the NAR size in the manifest.
 discard 5693b8a7e2 * nix-push: no need to compute the NAR hash, since the Nix 
database   already has it (`nix-store -q --hash').
 discard e60c962fb8 * Add an operation `nix-store -q --size'.
 discard 1db6259076 * Implement RemoteStore::queryPathInfo().
 discard a3883cbd28 * Store the size of a store path in the database (to be 
precise, the   size of the NAR serialisation of the path, i.e., `nix-store 
--dump   PATH').  This is useful for Hydra.
 discard fb9368b5a0 * Sync with the trunk.
 discard 4aced7f8d0 * Merge the GC branch.
 discard 26def5392f * Document Boehm GC support.
 discard 3d71c8013e * Use pkgconfig to locate the Boehm GC (as suggested by 
Ludo), if   --enable-gc is given.
 discard 14fbf85380 * Set libgc's initial heap size to 384 MiB to prevent 
garbage   collection in most cases (and therefore its performance overhead).
 discard 0c4828ea05 * new(UseGC) is inexplicably slower than GC_MALLOC, so 
prefer the   latter.
 discard e11e6fb1c6 * Handle out of memory condition.
 discard 8a788e38ac * Install config.h.
 discard 11ccd44e95 * We need Bison 2.4 now.
 discard 43535499f3 * When allocating an attribute set, reserve enough space 
for all   elements.  This prevents the vector from having to resize itself.
 discard e0b7fb8f27 * Keep attribute sets in sorted order to speed up attribute 
lookups. * Simplify the representation of attributes in the AST. * Change the 
behaviour of listToAttrs() in case of duplicate names.
 discard 2dc6d50941 * Don't create thunks for variable lookups (if possible).  
This   significantly reduces the number of values allocated (e.g. from 8.7m   
to 4.9m for the Bittorrent test).
 discard 0b305c534f * Store attribute sets as a vector instead of a map (i.e. a 
red-black   tree).  This saves a lot of memory.  The vector should be sorted so 
  that names can be looked up using binary search, but this is not the   case 
yet.  (Surprisingly, looking up attributes using linear search   doesn't have a 
big impact on performance.)
 discard a247d20604 * Fix compiling without Boehm. * Fix the stats.
 discard 02934b1200 * Regression test for listToAttr's behaviour if an 
attribute name   occurs multiple times.
 discard b2ba62170c * Optimise string constants by putting them in the symbol 
table.
 discard 8ac06726b9 * Make Value smaller by not storing redundant PrimOp info. 
* Clear pointers in Values after overwriting them to make sure that no   
objects are kept alive unnecessarily.
 discard 3f66cfb96b * Remove allocValues().
 discard 4dee289550 * In environments, store pointers to values rather than 
values.  This   improves GC effectiveness a bit more (because a live value 
doesn't   keep other values in the environment plus the parent environments   
alive), and removes the need for copy nodes.
 discard cf7e645a48 * Regression test for __overrides.
 discard 41c45a9b31 * Store Value nodes outside of attribute sets.  I.e., Attr 
now stores   a pointer to a Value, rather than the Value directly.  This 
improves   the effectiveness of garbage collection a lot: if the Value is   
stored inside the set directly, then any live pointer to the Value   causes all 
other attributes in the set to be live as well.
 discard 64c3325b0b * Make building against the Boehm GC a configure option.
 discard 76feaf016a * Keep some more stats.
 discard e879a0371b * Use the Boehm garbage collector to reclaim unused memory 
in the Nix   expression evaluator.
 discard b0c11cda7e * Evaluator garbage collection branch.
 discard 64fd29855a * Wrap deleteFromStore() in a transaction.  Otherwise there 
might be a   race with other processes that add new referrers to a path,   
resulting in the garbage collector crashing with "foreign key   constraint 
failed".  (Nix/4) * Make --gc --print-dead etc. interruptible.
 discard 8dadcede65 nix manual: fix 'install' -> 'uninstall' in garbage 
collection section of introduction
 discard 7119d38287 * In the referrers test, lower the nesting depth from 2500 
to 1000 to   prevent hitting a stack overflow bug in the garbage collector.
 discard 705868a8a9 * Make sure that config.h is included before the system 
headers,   because it defines _FILE_OFFSET_BITS.  Without this, on   
OpenSolaris the system headers define it to be 32, and then   the 32-bit stat() 
ends up being called with a 64-bit "struct   stat", or vice versa.
 discard 95f4f2cf61 * If std::tr1::unordered_set is unavailable, use std::set.
 discard 36a23e86b6 * "type -P" isn't portable.
 discard bfa6ee7d91 * Don't use SSH's `-tt' flag because it doesn't seem to 
work   on OpenSolaris when using connection sharing.  Instead have   the remote 
side check for disconnection and kill the process   group when that happens.
 discard 71dfe4b90b * Sync with the trunk.
 discard 450837bcc8 * In printMsg(), ignore failing writes to stderr if we're 
in an   exception handler, otherwise throw an exception.  We need to ignore   
write errors in exception handlers to ensure that cleanup code runs   to 
completion if the other side of stderr has been closed   unexpectedly.
 discard 4aa9245083 * Hack needed for GCC 4.3.2 on OpenSolaris.
 discard 923736df38 * Doh.  Remove debug message.
 discard e4907411c2 * Only do "pragma journal_mode = ..." if the current 
journal mode   differs from the desired mode.  There is an open SQLite ticket   
`Executing "PRAGMA journal_mode" may delete journal file while it is   in use.'
 discard bf0dde9597 * Always print hook output on stderr, even if 
--no-build-output is   set. * In the build hook, print a trace message to allow 
Hydra to pick up   the name of the remote machine used for the build.
 discard e2e168f7c2 `nix-store --verify' improvements: * If a path has 
disappeared, check its referrers first, and don't try   to invalidate paths 
that have valid referrers.  Otherwise we get a   foreign key constraint 
violation. * Read the whole Nix store directory instead of statting each valid  
 path, which is slower. * Acquire the global GC lock.
 discard 80e722278c * When using the build hook, distinguish between the stderr 
of the   hook script proper, and the stdout/stderr of the builder.  Only the   
latter should be saved in /nix/var/log/nix/drvs. * Allow the verbosity to be 
set through an option. * Added a flag --quiet to lower the verbosity level.
 discard 20acd43c25 * Disable the GC reachability check for now (when creating 
new roots),   as it's hopelessly inefficient.
 discard 766f708418 * Experimental feature: allow a derivation to tell the 
build hook that   it requires a certain feature on the build machine, e.g.
 discard df50916e46 * Oops - "null" was displayed as "true".
 discard e41ecbf730 
 discard e437b08250 * Made the build hook mechanism more efficient.  Rather 
than starting   the hook every time we want to ask whether we can run a remote 
build   (which can be very often), we now reuse a hook process for answering   
those queries until it accepts a build.  So if there are N   derivations to be 
built, at most N hooks will be started.
 discard 1a396f3789 * Don't call "cat".
 discard 95deba581d * In the build hook, temporarily register the derivation 
and its   output as GC roots.  This prevents a race if the garbage collector   
is running during the build.
 discard 1e5f5ea2e9 * Correctly handle SSH failing to establish a connection.  
Because   this didn't work right, the build hook wouldn't fall back to using   
other machines of the desired type.
 discard 034f608e00 * Don't complain if the stored hash of a path is zero 
(unknown).
 discard f58f51f380 * Handle the unlikely case where a derivation has no 
dependencies at   all.
 discard 955d11aae7 * Sync with the trunk.
 discard c67eccc26d * nix-build: pass --cores.
 discard 2c8e070e5d * Bump the version number.
 discard ed133e6e64 * rpmBuild already includes the disk image in the output 
name.
 discard 2de17f4edc * Update date.
 discard 86f65edf4e * Document --cores in the manual.
 discard b75e1043a3 * Typo.
 discard 8ec6594d6d * Remove the "tarball" jobset argument.
 discard 12721a3a9a * Nix 0.16 release notes.
 discard 5fb824e896 * Urgh, this was supposed to go in the trunk...
 discard 5c5ab2bc12 * Don't link against pthreads.  This was added way back in 
r211   because Berkeley DB needed it on some platforms, but we don't use   BDB 
anymore.
 discard 6846ed8b44 * Make --cores work when building through the Nix daemon.
 discard 5f9aad44ca * nix-build: recognise --cores.
 discard d7875d1648 * Use SQLite 3.7.0.1.
 discard 587dc8aa00 * Sync with the trunk.
 discard fd9c77dfc7 * Use SQLite 3.7.0's write-ahead logging (WAL mode).  This 
is a lot   faster than the old mode when fsyncs are enabled, because it only   
performs an fsync() when doing a checkpoint, rather than at every   commit.  
Some timings for doing a "nix-instantiate /etc/nixos/nixos   -A system" after 
modifying the stdenv setup script:
 discard 750be19ae8 * Remove "auto" and "guess" as synonyms for 0 in the 
handling of   build-cores and --cores.  They're superfluous and just complicate 
  the parsing.
 discard 7f893b7a43 * Allow derivations to hint that they should not be built 
remotely   using the build hook mechanism, by setting the derivation attribute  
 "preferLocalBuild" to true.  This has a few use cases:
 discard 315d8fbd75 * Set the default system filter to "*".  This ensures that 
(for   instance) "nix-env -i wine" works on x86_64-linux, even though Wine   is 
built on i686-linux.  In the event that there are multiple   matching 
derivations, prefer those built for the current system.
 discard 6d6200f37a * Optimisation in the // operator: if one of the sets is 
empty, return   the other set.
 discard 7af6a2fd71 * intersectAttrs: optimise for the case where the second 
set is larger   than the first set.  (That's usually the case with callPackage.)
 discard 532d766c27 * Don't barf if the source NAR for a patch has disappeared.
 discard 7e043d28a6 src/bsdiff-4.3/Makefile.am: include the 'compat-include' 
directory in distribution tarballs
 discard 60b632b173 tests/build-hook.hook.sh: prefer more portable `...` syntax 
over $(...) for running sub-shells
 discard a0d29040f7 Revert "configure.ac: make flex and bison required programs"
 discard af09fe12dd Fix build of bsdiff-4.3 on machines that don't have 
<err.h>, such as Solaris.
 discard d63375d529 configure.ac: Incredibly enough, tr(1) on Solaris doesn't 
understand A-Z syntax for ranges.
 discard 4c21c016c5 configure.ac: make flex and bison required programs
 discard bcec46057c src/libutil/util.cc: include <limit.h> to ensure that 
PATH_MAX is defined
 discard a17071fef1 Include <cstring> to ensure that strcpy(), strlen(), and 
memset() are declared.
 discard 560ab22f7d * Ignore packages that don't have a version. * Work on a 
manifest instead of a channel directory.
 discard 8b7f8b56f1 Added support for passing an (impure) NIX_BUILD_CORES 
variable to build expressions.
 discard 87ef5907e9 * Sync.
 discard 819548d92f * Pass `--fallback' to the remote build to ignore failing   
substituters.
 discard 3e5e0faf9c * Okay, putting a lock on the temporary directory used by 
importPath()   doesn't work because the garbage collector doesn't actually look 
at   locks.  So r22253 was stupid.  Use addTempRoot() instead.  Also,   locking 
the temporary directory in exportPath() was silly because it   isn't even in 
the store.
 discard bf87cc44b4 * Sync with the trunk.
 discard b57189174f * In importPath() and exportPath(), lock the temporary 
directory to   prevent it from being deleted by the garbage collector.
 discard f16fe2af8d * builtins.toXML: propagate the string context.  This is a 
regression   from the old ATerm-based evaluator.
 discard d1f6c0cbe3 * Replacing ValidPath rows doesn't work because it causes a 
constraint   violation of the Refs table.  So don't do that.
 discard 07ca66cf24 * Applied a patch from David Brown to prevent `nix-store 
--optimise'   from failing on rename() on BtrFS.
 discard 1ab67cf437 
 discard 89865da76d * Turn build errors during evaluation into EvalErrors.
 discard a443c7573b * Hack to allow derivations to disable chroot builds by 
setting the   attribute "__noChroot = true" (requested by Rob).
 discard 8bcdd36f10 Add XML output to `nix-store'.
 discard da52f8bea0 Comment out dead code in `nix-store'.
 discard 7343e6c8ae * Remove an accidentally committed debug statement.
 discard b92a2e5cc2 * Sync with the trunk.
 discard 93cd5a4a13 * The << operator on values should be const.
 discard 32539e41d5 * Sync with trunk.
 discard b2235d81d1 * Restore the __overrides feature that was lost somewhere 
in the   fast-eval branch.
 discard aa45027818 * Sync with the trunk.
 discard 8032f26ca0 * Merged the `fast-eval' branch.
 discard bd25ac2260 * Print attributes in sorted order.
 discard 81a4b4e49b * Implemented tryEval, the last missing primop in the 
fast-eval   branch.  Also added a test for tryEval.
 discard 1a8eb6e3ec 
 discard 83dfa89870 * Sync with the trunk.
 discard 01e58adce0 * Store position info for inherited attributes.
 discard 83d7b89660 * Updated addErrorContext.
 discard e2d5e40f4f * Keep track of the source positions of attributes.
 discard 84ce7ac76f * Store attribute positions in the AST and report duplicate 
attribute   errors with position info. * For all positions, use the position of 
the first character of the   first token, rather than the last character of the 
first token plus   one.
 discard 4750065ada buildenv: Special-case Python's `site.py' and `site.pyc'.
 discard a0e3b84fac * Revert r15436.  This was a workaround for a bug in btrfs 
which seems   to have been fixed now.
 discard f92c9a0ac5 * Allow unprivileged users to do `nix-store 
--clear-failed-paths' and   `nix-store --query-failed-paths'.
 discard 4bab25a28d buildenv: Special-case Python's `easy-install.pth' files.
 discard 7fa338f4ba * Don't use smart quotes where normal ASCII quotes are 
intended.   Actually, don't use quotes at all.  (Reported by Howard B. Golden.)
 discard c82782f9a5 
 discard c778ed1768 * Fix the copy-from-other-stores substituter.
 discard ef337f7089 
 discard 6199f9b93e * Added a command `nix-store --clear-failed-paths <PATHS>' 
to clear   the "failed" status of the given store paths.  The special value `*' 
  clears all failed paths.
 discard 2398af13c5 * Add an command `nix-store --query-failed-paths' to list 
the cached   failed paths (when using the `build-cache-failure' option).
 discard d77331d32f Fixing a typo in the nix-store manual, that could confuse a 
bit too much (--delete/--gc)
 discard 2be6118f4c * Don't need the test program anymore.
 discard 0bc468f195 * Simplify the implementation of `with'.  This gives a 7% 
speedup in   evaluating the NixOS system configuration.
 discard ee0384fb96 
 discard ebade9ff8b * Check for duplicate attribute names / function arguments. 
 `make   check' now succeeds :-) * An attribute set such as `{ foo = { enable = 
true; };   foo.port = 23; }' now parses.  It was previously rejected, but I'm   
too lazy to implement the check.  (The only reason to reject it is   that the 
reverse, `{ foo.port = 23; foo = { enable = true; }; }', is   rejected, which 
is kind of ugly.)
 discard 2d7636529f * String equality tests should take the context into 
account.  All the   evaluation test cases now succeed.
 discard 6bbfe95e30 * Don't use an ostringstream in unparseDerivation(), 
because it's   slow.  A `nix-env -qa --drv-path \*' on Nixpkgs was spending 40% 
of   its time in unparseDerivation() because of this (now 11%).
 discard 7148df7971 * Update the expected test output (no longer an ATerm).
 discard 6f0f16497a * Fix the interpretation of ''\<character> in indented 
strings.
 discard cae4efdca3 * Because --parse-only no longer produces an ATerm, don't 
check the   output.  Whether it parses at all should be enough.
 discard 0777448ca6 * Fixed builtins.genericClosure.
 discard fe2d869e04 * Store user environment manifests as a Nix expression in   
$out/manifest.nix rather than as an ATerm.
 discard d66ea83a76 * Sync with the trunk.
 discard f3b8833a48 * Drop the dependency on the ATerm library.
 discard efc7a579e8 * Don't use the ATerm library for parsing/printing .drv 
files.
 discard 55b5ddd3ca * Added parsing of manifests in ATerm format.
 discard b7ff69eb7c * Refactoring: move the user environment stuff into its own 
module.
 discard 5c31995bb8 * Updated some more primops.
 discard 8bb0210fea * _combineChannels shouldn't be an integer.
 discard 8ca4a001cb * Improve sharing a bit.
 discard 497e4ad126 * Remove some redundant tests.
 discard 02c1dac909 * In an nested `with' where the inner with is a variable 
(`with ...;   with someVar; ...'), the contents of the variable would be   
clobbered.  (The attributes in the outer `with' were added to the   variable.)
 discard 04c4bd3624 * Store lists as lists of pointers to values rather than as 
lists of   values.  This improves sharing and gives another speed up.   
Evaluation of the NixOS system attribute is now almost 7 times   faster than 
the old evaluator.
 discard e41b5828db * Better stats.
 discard d39d3c6264 * Implemented inherit.
 discard 267dc693d2 * Fix builtins.
 discard 81de12bc8f * Refactoring: move variable uses to a separate class.
 discard 110d155778 * Implemented withs.
 discard 9985230c00 * After parsing, compute level/displacement pairs for each 
variable   use site, allowing environments to be stores as vectors of values   
rather than maps.  This should speed up evaluation and reduce the   number of 
allocations.
 discard 816dd3f061 * Remove more obsolete code.
 discard 011b5da0f4 * Get nix-env to compile again.
 discard 85d13c8f93 * Change the semantics of "with" so that inner "withs" take 
  precedence, i.e. `with {x=1;}; with {x=2;}; x' evaluates to 2'.   This has a 
simpler implementation and seems more natural.  There   doesn't seem to be any 
code in Nixpkgs or NixOS that relies on the   old behaviour.
 discard 816f9c0f6f * Use std::tr1::unordered_set instead of std::set for the 
symbol   table.  This gives a 10% speed increase on `nix-instantiate   
/etc/nixos/nixos -A system --readonly-mode'.
 discard 7d47498b5e * Evaluate lets directly (i.e. without desugaring to `rec { 
attrs...;   <let-body> = e; }.<let-body>).  This prevents the unnecessary   
allocation of an attribute set.
 discard ac1e8f40d4 * Use a symbol table to represent identifiers and attribute 
names   efficiently.  The symbol table ensures that there is only one copy   of 
each symbol, thus allowing symbols to be compared efficiently   using a pointer 
equality test.
 discard 10e8b1fd15 * Finished the ATerm-less parser.
 discard 0d272fca79 * Remove some obsolete functions.
 discard d4f0b0fc6c * Indented strings.
 discard a60317f20f * More missing constructs.
 discard 4d6ad5be17 * Don't use ATerms for the abstract syntax trees anymore.  
Not   finished yet.
 discard ed711f73bc * Don't use ATerms to represent integers in the lexer.
 discard db90b88e65 * Hack to support builderDefs expressions.
 discard 4e49002576 * Doh.
 discard c3f228f296 
 discard aac5fcfbb5 Re-add `drvPath' and `outPath' attributes to <derivation> 
XML nodes.
 discard f3dc7ab877 * Keep more statistics about stack space usage. * Reduce 
stack space usage.
 discard b7b3dd55f9 * Remove a lot of dead code.
 discard 7e048eddf5 * Fix blackholing.  If evaluation fails due to an assertion 
failure,   then the blackhole has to be removed to ensure that repeated   
evaluation of the same value gives an assertion failure again rather   than an 
"infinite recursion" error.
 discard af2a372bb0 * Update autoCallFunction() and findAlongAttrPath().
 discard 9a64454faa * expr-to-xml -> value-to-xml.
 discard fc92244ba8 * Implemented the primops necessary for generating the 
NixOS manual.
 discard a353aef0b1 * In eval(), don't use the target value `v' as a temporary. 
  Overwriting `v' breaks when the expression evaluation to an   assertion 
failure or throw.
 discard a5ece7d016 * Removed the `~' operator.
 discard c172274e17 * Quick hack to make coerceToString work more or less 
correctly on   nested lists.  `nix-instantiate' can now evaluate the NixOS 
system   derivation attribute correctly (in 2.1s on my laptop vs. 6.2s for   
the trunk).
 discard 7b851915bf * Improve sharing.
 discard 95cc417d76 * Functions are incomparable.
 discard 71f026292b * Make `derivation' lazy again for performance.  It also 
turns out   that there are some places in Nixpkgs (php_configurable /   
composableDerivation, it seems) that call `derivation' with   incorrect 
arguments (namely, the `name' attribute missing) but get   away with it because 
of laziness.
 discard dc31305b38 * Fixed the trace primop and path comparison. * Removed 
exprToString and stringToExpr because there is no ATerm   representation to 
work on anymore (and exposing the internals of the   evaluator like this is not 
a good idea anyway).
 discard 979f163615 * Handle string contexts.  `nix-instantiate' can now 
correctly compute   the `firefoxWrapper' attribute in Nixpkgs, and it's about 3 
times   faster than the trunk :-)
 discard d8cd3115d8 * Get nix-env to compile.
 discard 55e207b2dc * Cache parse trees to prevent repeated parsing of imported 
Nix   expressions.
 discard 3d94be61ea * Implemented derivations.
 discard 5187678913 
 discard f061086a93 * Fix the broken test for listToAttrs.
 discard 09381cccff Make source location info in the XML output optional.
 discard 13c2adc897 * Implemented `rec { inherit ...; }'.
 discard 4c53ca2692 * Compare nulls.
 discard 471419d1fa Add source location information to the XML output.
 discard eb07a4f1ee Escape `>' signs in the XML output.
 discard 7f19e03c65 * More primops.
 discard 47df476daa * More operators / primops.
 discard c9170be2bd * More primops.
 discard c3aa615a5f * More primops.
 discard 5b72d8a749 * Implemented `map'.
 discard d78a05ab40 * Make `import' work.
 discard 31428c3a06 * Started integrating the new evaluator.
 discard 52090d2418 
 discard e3f32ac5af 
 discard 807a67bc74 
 discard 392811eb8f * Strings.
 discard d96cdcea6b 
 discard 3d2b835f30 * Implemented multi-argument primops.
 discard 45d822f29c * Primops (not yet finished).
 discard cad8726b2c * Implemented the `==' and `!=' operators.  These now use a 
deep   equality test, so they also work for (finite) attribute sets and   lists.
 discard 8da118e4d0 * Measure stack usage.
 discard c2ba4313fb * Implemented lists.
 discard 25eedf085d * Quick and dirty implementation of `with'.  `with e1; e2' 
is   basically desugared to `let <with> = e1; e2', and `lookupVar' looks   in 
each <with> in the environment chain for an attribute with the   specified name.
 discard 3c9f8fc9b6 * Don't convert variable names to strings.
 discard f450384ded * Implement blackholing.
 discard ef8bd919fc * Implement `...' and default function arguments.
 discard 8a10360c91 * Simplify @-patterns: only `{attrs}@name' or 
`name@{attrs}' are now   allowed.  So `name1@name2', `{attrs1}@{attrs2}' and so 
on are now no   longer legal.  This is no big loss because they were not useful 
  anyway.
 discard 7482349fe8 * Implemented attribute set pattern matches.
 discard 0fd3648d34 * Store values in environments.
 discard b70bd8fe56 * Reduce the number of value allocations in eval() by 
moving   responsibility for allocation of the result to the caller.
 discard d31c59eb17 * Plain lambdas.
 discard e8f7978274 
 discard 0910ae9568 * Start of an evaluator that uses call-by-need (with thunk 
updating)   instead of (memoised) call-by-name.
 discard 90039e0863 * Branch for experimenting with faster / less memory-hungry 
  Nix expression evaluation.
 discard 71be50cc25 * Doh.
 discard 3bfd3a4e95 * Test "with as; with bs;" since nobody knows what its 
semantics is.
 discard f71ea9c911 * Use SQLite 3.6.23.
 discard 141294ff38 * Clean up error messages in killUser().
 discard 74299c1cfb * Bump version number.
 discard c4cfb392d3 
 discard 8e3d98eb41 * Release notes for Nix 0.15.
 discard f0c473c5f7 * Fix building on Cygwin 
(http://hydra.nixos.org/build/325071).
 discard fe1b8781ae * Fix a broken link (reported by Peter Koppstein).
 discard 741b7577c1 Merge r20344 & r20346.
 discard 2fb0df83e9 Uh. somehow a Makefile tab got in as spaces. Fixing.
 discard 13cce8ec45 Making 'bin2c' to be built with the compiler for the local 
system. I copied the configure.ac code about CC_FOR_BUILD from libX11.
 discard e020d80e4e * Sync with the trunk.
 discard 05e15049a5 Show the build user's group in /etc/group in chroots.
 discard 070057c1b9 * Sync with the trunk.
 discard c752c9f41a Fix thinko in r20547.
 discard 2e8eaca573 Clear supplementary groups of `nixbld' in /etc/passwd in 
chroots.
 discard 03afc34805 * Simplify.
 discard 1a65142ec4 * Remove a debug statement.
 discard 4c356acd04 * In `nix-store --export', abort if the contents of a path 
has   changed.  This prevents corrupt paths from spreading to other   machines. 
 Note that checking the hash is cheap because we're   hashing anyway (because 
of the --sign feature).
 discard 44f6e6de77 * Set `gc-keep-outputs' or `gc-keep-derivations' to false 
with   `--delete --ignore-liveness'.
 discard 2e4ef03aa3 * Increase the sqlite timeout.
 discard 05fbf61f0e * nix-prefetch-url depends on sed (see   
http://hydra.nixos.org/build/311170).
 discard 04791840f4 * Emit warning='1' or error='1' attributes for lines marked 
as   warnings or errors with \e[w or \e[e.
 discard bc6f7fc139 * Remove some unused functions.
 discard fb6e223ddc * Synced with the trunk.
 discard 5ff87c982e 
 discard e14e2399ed * Prevent a potential memory corruption problem if an ATerm 
garbage   collection happens during fixAttrs().
 discard 158aa89317 * Ensure that `make install' works without a prior `make'.
 discard 56af8e86e3 * Protect the `true', `false' and `__overrides' constants.  
Without   an ATprotect call, these could be garbage collected, leading to   
weird crashes or wrong results.
 discard 3f9e647ae8 * checkInterrupt() shouldn't be called from a destructor.
 discard d8c5745c41 * Support static builds.
 discard e07d7284a2 * Fix DESTDIR builds.
 discard 5414b3b2db * Remove the --enable-static-nix flag.
 discard 594eaddd11 * When using the included sqlite/aterm libraries, build 
with   --enable-shared. * In libutil/libstore/libexpr etc., link against sqlite 
and aterm. * Some more header file hygiene.
 discard 966ffb29a7 * Update the Valgrind suppressions for ATerm 2.5.
 discard 24035b98b1 * Implement RemoteStore::queryValidPaths().
 discard e42401ee7b * Implement RemoteStore::queryDerivationOutputs().
 discard af565c348a * Support read-only access to the database.
 discard e33f67ff0b * Refactor the upgrade / database initialisation logic a 
bit.
 discard 84a4dd5ff0 * Don't use fdatasync since it doesn't work on Snow 
Leopard. * Don't refer to config.h in util.hh, because config.h is not   
installed (http://hydra.nixos.org/build/303053).
 discard cfe742cfc5 * A function to query just the database id of a valid path.
 discard 6baa2a2f5e 
 discard 9fd85c94de * Use `truncate' journal mode, which should be a bit faster.
 discard fefd467539 * `helpText' is now zero-terminated.
 discard 21b134b4e5 
 discard a3c63d0d6c * Disable fsync() in SQLite if the fsync-metadata option is 
set to   false. * Change the default for `fsync-metadata' to true. * Disable 
`fsync-metadata' in `make check'.
 discard 90b6352d0a * Do registerValidPaths() in one transaction, which is much 
faster.   E.g. it cuts the runtime of the referrers test from 50s to 23s.
 discard fae0427324 * ADDITIONAL_NETWORK_LIBS -> LIBS.
 discard fa6a4fcb11 * Add ${sqlite_lib} everywhere.  Just adding it in 
`libstore' doesn't   work on x86_64 when sqlite is compiled statically.
 discard 5954eadf67 * Remove the fdatasync check since it's no longer needed.
 discard bb82310dba * Set the path to sqlite3 properly.
 discard 69d9df7fe6 * Don't fork so much.
 discard 462bd50aef * Use normal (rather than full) synchronous mode, which I 
gather from   the description at http://www.sqlite.org/atomiccommit.html should 
be   safe enough.
 discard 8520de4720 * Include the sqlite tarball in the Nix tarball.
 discard dc6d1ec67e 
 discard 63b09c5e41 
 discard 0efc986ba1 * Sync with the trunk.
 discard b4e6d98fc3 * configure: flag --with-sqlite.
 discard 7db2831d3a * Use ATerm 2.5.
 discard 5ccb6f64f4 * Run ATerm's `make check'.
 discard 2b20318b0e 
 discard 9cda616949 * The database needs a trigger to get rid of 
self-references to   prevent a foreign key constraint violation on the Refs 
table when   deleting a path.
 discard c4d388add4 * Get derivation outputs from the database instead of the 
.drv file,   which requires more I/O.
 discard 103cfee056 * Revert r19650 (implement gc-keep-outputs by looking for 
derivations   with the same name as the output) and instead use the   
DerivationOutputs table in the database, which is the correct way to   to do 
things.
 discard 299ff64812 * Put the derivation outputs in the database.  This is 
useful for the   garbage collector.
 discard 1930570ad9 * Foreign key support in SQLite is not a persistent 
setting, so enable   it at startup. * Implement negative caching.  Now `make 
check' passes.
 discard 9c9a88e9e2 * Implement more stuff.
 discard 762cee72cc * Implement registerValidPath().
 discard 268f9aaf28 * Implemented queryValidPaths() and verifyStore().
 discard 836e5b6f57 * Implemented queryReferrers().
 discard 77cb9e3fb1 * Implement queryPathInfo().
 discard 885e22b16e * Implement isValidPath().
 discard cfb09e0fad * Automatically abort transactions if they go out of scope 
without   committing.
 discard e0305bb7a8 * Some wrapper objects to ensure that SQLite objects are 
properly   destroyed.
 discard a053d2d8e5 * Add the deriver to the ValidPaths table.  In principle we 
could now   store all the derivers of a path efficiently.  But that opens a big 
  can of worms with respect to garbage collector semantics.
 discard dbddac0fe9 * Assign an integer id to every row in the ValidPaths table 
in order   to make the Refs table more space-efficient.  For instance, this   
reduces the size of the database on my laptop from 93 MiB to 18   MiB.  (It was 
72 MiB with the old schema on an ext3 disk with a 1   KiB block size.)
 discard c1a07f9445 * Convert the Nix database to SQLite.
 discard eaaa13ce47 * Experimental branch for using SQLite to store the Nix 
database.
 discard 68e55cd9da * Since Hydra now escapes `+', `=' and `?' to %NN in URIs,  
 nix-prefetch-url should unescape them, because `%' is not a valid   character 
in store path names.
 discard 3b3e1025c3 * Typo.  Reported by Peter Koppstein.
 discard 20186a4079 Don't rely on `PATH_MAX' on GNU.
 discard d0bf4adb1f Add `.gitignore'.
 discard e08dbff9a8 * Fix a broken link (reported by Bjorn Buckwalter).
 discard e1e91a3731 * Bump.
 discard 817f4f7908 * Grmbl. Timing-sensitive tests are evil.
 discard f36b7e7579 
 discard 719cebcac2 * "Fix" incorrect help message.
 discard 443673620d * Don't use ssh's -f flag since it leads to lots of 
lingering ssh   processes.
 discard 7ec5a65925 * Doh!  The scope of $slotLock should extend to the end of 
the script,   because otherwise the lock will be released at the end of the 
while   loop.
 discard c9b2d80bcd * Typo.
 discard 3cfe65e516 * Doh!  Calling `system' in an END block causes the exit 
status in $?   to be changed to 0.
 discard e51a276907 * Remove the `cat' calls when not using --gzip.
 discard 408913bbaf * Revert r19796 for now.
 discard 4e17be7981 * Revert r19797, and use a simpler solution: just don't 
monitor build   hooks for silence.  It's unnecessary because the remote 
nix-store   command is already monitoring the real build.
 discard f859a8d3c3 * While waiting for a lock, print a sign of life every 5 
minutes.   This prevents remote builders from being killed by the   
`max-silent-time' inactivity monitor while they are waiting for a   long 
garbage collection to finish.  This happens fairly often in the   Hydra build 
farm.
 discard c45de33c67 * Respect @sysconfdir@.
 discard d0c32dc135 * In the build hook, if connecting to a machine fails, try 
the other   machines of the right type (if available).  This makes the build   
farm more robust to failures.
 discard f56a039775 * Use SSH connection sharing in the remote build script. * 
Removed the Cygwin password hack since the problem is apparently   fixed in 
Visual Studio.
 discard bc1e478db1 * nix-copy-closure: start only one SSH connection to the 
server, or   recycle an already existing connection (using  OpenSSH's 
connection   sharing feature).
 discard 4d8a85b8f5 * Updated the release notes.
 discard 3ce5f07793 * Ugly hack to make `nix-channel' work on Cygwin.
 discard e839802720 * Don't do a chdir to $tmpDir.  It's not necessary, and 
Windows doesn't   support deleting the current directory.
 discard 4bbbe25802 * Remove most Cygwin-specific code.  Cygwin 1.7 implements 
advisory   POSIX locks, and simulates Unix-style file deletion semantics   
sufficiently.  Note that this means that Nix won't work on Cygwin   1.5 anymore.
 discard 2723d9b56e * If fdatasync() isn't available, use fsync().
 discard 07ffdc2862 * Added an option "fsync-metadata" to fsync() changes to   
/nix/var/nix/db. * Removed the function writeStringToFile since it does 
(almost) the   same thing as writeFile.
 discard ad529fb89f * Don't consider a store path valid if its info file exists 
but is   zero bytes long.  That makes Nix more robust in case of crashes   
(especially on ext4).
 discard fdcaf37361 * Made `nix-store -qR --include-outputs' much faster if 
there are   multiple paths specified on the command line (from O(n * m) to O(n 
+   m), where n is the number of arguments and m is the size of the   closure).
 discard 50e34891f0 * Disable gzip compression in build-remote.pl because it 
puts too much   load on the Hydra build farm (where it's unnecessary anyway 
because   it has a fast connection to the build machines).  In any case,   
compression can be enabled by using the `-C' option to ssh.
 discard 5388944e8d * Make the garbage collector do the right thing when 
`gc-keep-outputs'   is enabled by not depending on the deriver.
 discard f0c0277970 * On startup, set the default SIGCHLD handler.  This is so 
that Nix   works correctly in weird environments where the SIGCHLD handler is   
set to "ignore".
 discard ef92a14bfe * Include config.h before the C library headers, because it 
defines   _FILE_OFFSET_BITS=64.  Without it, functions like stat() fail on   
large file sizes.  This happened with a Nix store on squashfs:
 discard 945d8218fb * Build correctly against newer ATerm releases.  Fixes 
"error: 'union'   tag used in naming 'struct _ATerm'".
 discard d8a5dc02fc * Build on Fedora 12.
 discard 3a78af1e24 * Release notes.
 discard 7ca9972636 * When doing a nix-pull, remove old manifests downloaded 
from the same   URL.  This prevents lots of old cruft accumulating in   
/nix/var/nix/manifests.
 discard c4c84d1edb * nix-build: be less verbose.
 discard bcd6cdf0d8 * Give a better error message when trying to build 
something and   readOnlyMode is set.
 discard 13618b191e * Grrr.
 discard aa5a768720 * GCC 4.4 is stricter about the EOF macro   
(http://hydra.nixos.org/build/156340).
 discard 9b8fda796b * Templatise getIntArg / string2Int.
 discard 8022015552 * In the garbage collector, don't count files with a link 
count > 1 in   the "bytes/blocks freed" statistics.
 discard f9e766db98 * Randomise the order in which we delete entries to make 
the collector   less biased towards deleting paths that come alphabetically 
first   (e.g. /nix/store/000...).  This matters when using --max-freed etc.
 discard ca50c83fbb 
 discard 3d55f1eb57 * A command `nix-store --query --roots <paths>' to find the 
garbage   collector roots that point (directly or indirectly) to the given   
paths.
 discard ae6bf87273 * `nix-store --gc --print-roots': also print the path of 
the actual   root symlink, not just its target.  E.g.:
 discard c364d5d1e3 * Made the garbage collector a lot faster.  It no longer 
computes the   complete set of live and dead paths before starting the actual   
deletion, but determines liveness on demand.  I.e. for any path in   the store, 
it first tries to delete all the referrers, and then the   path itself.  This 
means that the collector can start deleting paths   almost immediately.
 discard 4f7e5f5810 * Don't create /nix/var/nix/gcroots/{tmp,channels}, since 
they don't   seem to be used anymore.
 discard 8824d60fe5 * Remove the --use-atime / --max-atime garbage collector 
flags.  Many   (Linux) machines no longer maintain the atime because it's too   
expensive, and on the machines where --use-atime is useful (like the   
buildfarm), reading the atimes on the entire Nix store takes way too   much 
time to make it practical.
 discard 997db91e07 * Don't pass -K.  It should really inherit the setting of 
the calling   Nix though.
 discard 3392d32e8b * In nix-pull/nix-channel, create the manifests directory 
if it   doesn't exist.  The Debian packages don't include the manifests   
directory, so nix-channel would silently skip doing a nix-pull,   resulting in 
everything being built from source.  Thanks to Juan   Pedro Bolívar Puente.
 discard 327a232c85 * Remove support for old (before Nix 0.12pre12020) 
databases.
 discard c60d796f04 * Version bump.
 discard e8bad77c7c 
 discard 7680904839 * Build on Karmic.
 discard 58f3338bfa * The Nix .deb package depends on curl.
 discard 268d90a03e * Various updates.
 discard 1ff8758f76 * Manual updates.
 discard 8520542071 * When building in a chroot, make a copy of a file if 
hard-linking   fails.  This is likely to happen after a `nix-store --optimise', 
  because some files may have 32000 links (NIX-111).
 discard 6b9f6b0222 * Remove a prototype for a function that no longer exists.
 discard deb342fb08 * builtins.trace: in the common case that the value is a 
string, then   show the string, not the ATerm, so we get `trace: bla' instead 
of   `trace: Str("bla",[])'.
 discard 437077c39d * Added a primop unsafeDiscardOutputDependency needed by 
Disnix to   pass derivation paths to a builder without actually building them.
 discard 6f7d7bc1de * Give a useful error message when an evaluation error 
occurs while   trying to upgrade a package.
 discard 53a4981fa2 Added optional parameter which adds -lnsl -lsocket to make 
the Nix package manager work on OpenSolaris
 discard 18f0ff003d configure.ac: use AC_SYS_LARGEFILE to determine how to 
enable 64-bit file size support
 discard 96f1517831 * Support platforms that don't have O_ASYNC (e.g. 
OpenSolaris   apparently).
 discard 1a8f8fd86f * OpenSolaris compatibility.
 discard 0f79ad47c5 
 discard c7057fc1f2 * And some more.
 discard 193f59e077 * Fix a build failure on Fedora 11.  rename() needs 
<stdio.h>.
 discard 0ae2be5692 
 discard 1332dd1ed3 * tryEval shouldn't catch all exceptions of type Error, 
since not all   of them leave the evaluator in a continuable state.  Also, it 
should   be less chatty.
 discard 63a17d4bd5 * Don't build against BDB on Cygwin, it's been broken for 
unknown   reasons for a while (e.g. http://hydra.nixos.org/build/79164).
 discard 676e07902e * Darwin hack.
 discard 64e89980e8 * Create some state directories automatically as a 
convenience.
 discard 48b58617e9  * include wait.h for WEXITSTATUS
 discard 51ad64cc07 * Use xmllint (>= 2.7.4) for RelaxNG validation instead of 
Jing.
 discard df05a759e4 * In "make init-state", ignore errors creating /nix/store.  
Hack to   get the Debian VM builds to work (where /nix/store is a mount point   
containing the store of the host).
 discard d3de71efc9 
 discard e1df4ef73c 
 discard 86408b3f47 * build-remote.pl: Pick machines in a round-robin order, 
rather than   giving jobs to the first machine until it hits its job limit, 
then   the second machine and so on.  This should improve utilisation of   the 
Hydra build farm a lot.  Also take an optional speed factor   into account to 
cause fast machines to be preferred over slower   machines with a similar load.
 discard 57e0d73c77 * build-remote.pl: allow the system type to be a 
comma-separated list   of system types.  Don't treat the x86_64-linux system 
type   specially.
 discard 0dbd4638e0 * Two primops: builtins.intersectAttrs and 
builtins.functionArgs.   intersectAttrs returns the (right-biased) intersection 
between two   attribute sets, e.g. every attribute from the second set that 
also   exists in the first.  functionArgs returns the set of attributes   
expected by a function.
 discard 3bca8931e8 Adding tryEval builtin. It allows to catch presence of 
errors in an expression.
 discard 5e9a4e5101 
 discard 9b46d1ae6f 
 discard 20b6f94b65 * nix-build: pass the --show-trace flag.
 discard d413612029 * Remove the redundant <sections> around refentries.
 discard 1f169f43b3 * Leave out the collaborators / revision history page.
 discard 5e2e2f10ef 
 discard c6890d6b5c * Replace newlines in table output with spaces.
 discard 749dd97a54 * Support integers and lists of strings in meta fields.  
This is   useful for fields like meta.maintainers, meta.priority (which can be  
 a proper integer now) and even meta.license (if there are multiple   licenses).
 discard f2c3fc5191 * Don't show trace information by default (`--show-trace' 
to enable).   NixOS evaluation errors in particular look intimidating and   
generally aren't very useful.  Ideally the builtins.throw messages   should be 
self-contained.
 discard a2fc3a53ba * Highlight URLs containing "=" properly.
 discard d53603c928 * Attributes names in attrsets can contain dots now.
 discard 14bc3ce3d6 * Canonicalise timestamps in the Nix store to 1 (1970-01-01 
00:00:01   UTC) rather than 0 (00:00:00).  1 is a better choice because some   
programs use 0 as a special value.  For instance, the Template   Toolkit uses a 
timestamp of 0 to denote the non-existence of a file,   so it barfs on files in 
the Nix store (see   template-toolkit-nix-store.patch in Nixpkgs).  Similarly, 
Maya 2008   fails to load script directories with a timestamp of 0 and can't be 
  patched becau [...]
 discard f24cf5d303 * nix-build: if nix-instantiate or nix-store fails due to a 
signal   (e.g. out of memory or a segfault), print an error message.   
Otherwise the user doesn't see anything.
 discard c6cb792d48 
 discard a64bbe049e * Change the scoping of "inherit (e) ..." in recs so that 
the   attributes of the rec are in scope of `e'.  This is useful in   
expressions such as
 discard d407d572fd * Some syntactic sugar for attribute sets: allow {x.y.z = 
...;} as a   shorthand for {x = {y = {z = ...;};};}.  This is especially useful 
  for NixOS configuration files, e.g.
 discard e42975490f * Check for duplicate attributes in fixAttrs, rather than 
doing a   separate traversal after parsing.  Likewise, check for duplicate   
pattern variables right away.
 discard 50d11b90ca * Allow unsafe (unspecified) comparisons between attrsets 
unless   NIX_NO_UNSAFE_EQ is set, for now.
 discard c34e6d71bc * Disallow equality tests between attribute sets.  This was 
always   broken, but now the evaluator checks for it to prevent Nix   
expressions from relying on undefined behaviour.  Equality tests are   
implemented using a shallow pointer equality test between ATerms.   However, 
because attribute sets are lazy and contain position   information, this can 
give false positives.  For instance,   previously
 discard 9536ba19d4 
 discard 83bd320b39 * Build a PDF version of the manual in the tarball job 
(it's not   included in the tarball though).
 discard f751c2966b * Don't have a bugs section in the manual.  Bugs should be 
kept in the   bug tracker.
 discard 404996ca1f * Produce the manual in the tarball job.
 discard 7660e2a068 * Remove a right recursion that causes the parser to barf 
on very long   lists.  The comment about ATreverse requiring unbounded stack 
space   was unfounded anyway.
 discard 52a9ba96f5 * Include the version file.
 discard 6a5599fd01 * Typo.
 discard 098cb9d233 Add an ftruncate call paired with fallocate to play safe 
with  some FSes (namely, BtrFS fallocate sets file size to allocated size, i.e. 
multiple of block size)
 discard c710fe540e * Machines of type x86_64-linux can do i686-linux builds.
 discard d5eab2fc82 * Use foreach in a lot of places.
 discard 8f1bf28505 * nix-store --verify: don't bail out if a referenced path 
is missing.   (It can't fix it though.)
 discard 4e646b0ddb * Fix a few "comparison is always false/true due to limited 
range of   data type" warnings on 64-bit platforms.  The one in parser.y is   
likely to be a real bug.
 discard 0460ea4c39 * Cleanup.
 discard dfb863f333 * Don't cache transient build hook problems.
 discard 435a93b5d8 * Remove references to __XXX primops.
 discard 8b2a01a8c2 * Release notes.
 discard 50cb6f9782 * Debian packages: use /etc, not /usr/etc.
 discard 351bf658f9 * Do a substitution even if --max-jobs == 0.
 discard cff2b2a13a * Doh!
 discard 160a60d663 
 discard 805144b705 * Make the poll interval configurable.
 discard 096affb55b * Update the mtime on the lock file to make it easy to see 
when a slot   was last used.
 discard cbc1f57b48 * Undocument the "system" option.  No sane person would use 
it :-)
 discard 7377195297 * With `--max-jobs 0', print a nicer error message than 
"Assertion   `!awake.empty()' failed."
 discard 737423a89c * Use polling to wait for a remote build slot when using a 
build hook   (that is, call the build hook with a certain interval until it   
accepts the build). * build-remote.pl was totally broken: for all system types 
other than   the local system type, it would send all builds to the *first*   
machine of the appropriate type.
 discard 47706e3924 * nix-copy-closure: compute the closure in one call to 
nix-store,   which is much faster.
 discard 6e946c8e72 * Scan for references and compute the SHA-256 hash of the 
output in   one pass.  This halves the amount of I/O.
 discard c7152c8f97 * Don't use the non-standard __gnu_cxx::stdio_filebuf class.
 discard 3a2bbe7f8a * Simplify communication with the hook a bit (don't use 
file   descriptors 3/4, just use stdin/stderr).
 discard 7fb548aa26 * Clean up the output a bit.
 discard f54e800366 * The `fixedOutput' variable didn't get initialised when 
using a build   hook, causing negative caching to fail randomly.
 discard 38f98b3282 * Argh, stupid timing sensitive tests...
 discard e23a7a8b7b * Debian 5.0, Ubuntu 8.10 builds.
 discard cb85bc396e * Create /nix/store if it doesn't exist.
 discard 61686926d1 * A job for creating a fully statically linked binary 
tarball.
 discard 9856efc7b0 * Support doing a fully static build.  Statically linked 
Nix binaries   will be useful as a fallback on platforms for which there are no 
  RPMs/Debs available.
 discard 5dd8fb2069 * Don't use ULLONG_MAX in maxFreed - use 0 to mean "no 
limit".   18446744073709551615ULL breaks on GCC 3.3.6 (`integer constant is   
too large for "long" type').
 discard 92f525ecf4 * Negative caching, i.e. caching of build failures.  
Disabled by   default.  This is mostly useful for Hydra.
 discard 7024a1ef07 * Removed the locking.sh test; it's redundant because of 
the extended   parallel.sh test.  Also, don't call multiple nix-builds in 
parallel,   since they can race creating .nix-build-tmp-derivation.
 discard 8146a0c731 * Use bash in the tests.
 discard a046858a22 * Doh.
 discard 12c8c64efa 
 discard 7aedcf9460 * Make this test a bit more robust.  It's still timing 
dependent   though.
 discard 3a87163b24 * Shut up a GCC warning.
 discard cacff1be88 * No longer block while waiting for a lock on a store path. 
 Instead   poll for it (i.e. if we can't acquire the lock, then let the main   
select() loop wait for at most a few seconds and then try again).   This 
improves parallelism: if two nix-store processes are both   trying to build a 
path at the same time, the second one shouldn't   block; it should first see if 
it can build other goals.  Also, it   prevents the deadlocks that have been 
occuring in Hydra lately,   [...]
 discard 58969fa2bf * Refactoring.
 discard d7b2d11255 * Test case (currently fails): multiple Nix builds 
shouldn't block   waiting on the same lock when there are other builds that can 
be   done.
 discard 7a57b2920b * Better error message when nix-store --import is applied 
to garbage   (previously it would likely say "implementation cannot deal with > 
  32-bit integers").
 discard 77d272623f * NAR archives: handle files larger than 2^32 bytes.  
Previously it   would just silently store only (fileSize % 2^32) bytes. * Use 
posix_fallocate if available when unpacking archives. * Provide a better error 
message when trying to unpack something that   isn't a NAR archive.
 discard 7e05b8b75e * Future proofing: assume we can read manifests up to 
version 10   (which should therefore be backwards compatible).
 discard b88460bcbc * Disregard the Hash field in manifests.
 discard 2897286487 * Unify exportReferencesGraph and 
exportBuildReferencesGraph, and make   sure that it works as expected when you 
pass it a derivation.  That   is, we have to make sure that all build-time 
dependencies are built,   and that they are all in the input closure (otherwise 
remote builds   might fail, for example).  This is ensured at instantiation 
time by   adding all derivations and their sources to inputDrvs and inputSrcs.
 discard e530e0a350 * Improve the test.
 discard 9485ec31ea * Better cleanup after tests.
 discard 13df3915ef * Missing file.
 discard c183ee5c79 * Acquire the locks on the output paths before trying to 
run the build   hook.  This fixes a problem with log files being partially or   
completely filled with 0's because another nix-store process   truncates the 
log file.  It should also be more efficient.
 discard 1dcf208f56 * Clean up some tests (use nix-build where appropriate).
 discard 93b6926054 * Regression test for exportBuildReferencesGraph.  It 
currently fails.
 discard 51e7e32c3b * Refactoring: renamed *.nix.in to *.nix.
 discard 2d5114452d * Regression test for the `exportReferencesGraph'   
derivation attribute.
 discard 33ecb42991 * Cleanup.
 discard be88248add * Make the version available to release.nix.
 discard a96cac0d18 
 discard d4753c944f 
 discard 0e6f604178 * Install some headers in the right location.
 discard 7f254706b0 * Allow the channel to declare a name for itself.
 discard 1273d355ac * nix-install-package: don't pollute /nix/var/nix/manifests.
 discard d4ca5c3952 * Use the regular progress bar; the hash bar isn't very 
useful when   the size of the download isn't known in advance.
 discard fd2e14b3c8 * nix-build: support --option.
 discard 60cb7de336 * Allow options from the Nix config file to be overriden 
from the   command line (e.g. "--option build-use-chroot true").
 discard 8ab6bc5a49 * nix-channel: use nix-build.
 discard f052c10eed * Check the manifest version.
 discard a7cee528c5 * Handle base-16 hashes in manifests.
 discard 041717eda3 * download-using-manifests: don't check the cryptographic 
hash of   downloaded files; rather, check the hash of the unpacked store   path.
 discard 621093cb1c Replace wrong (w.r.t. PATH) sed call with in-shell 
substitution
 discard 824b154ce8 * Release output locks as soon as possible, not when the 
destructor of   the DerivationGoal runs.  Otherwise, if a goal is a top-level 
goal,   then the lock won't be released until nix-store finishes.  With   
--keep-going and lots of top-level goals, it's possible to run out   of file 
descriptors (this happened sometimes in the build farm for   Nixpkgs).  Also, 
for failed derivation, it won't be possible to   build it again  until the lock 
is released.
 discard 2ef579d1aa documentation for previous commit
 discard 1407a1ec99 added primop functions __isBool, __isString, __isInt
 discard 1bb0f1e84b * Build hook: compress the transferred data.
 discard b682fae9d9 * Build hooks: use nix-store --import.  This prevents a 
redundant   scan for runtime dependencies (i.e. the local machine shouldn't do 
a   scan that the remote machine has already done).  Also pipe directly   into 
`nix-store --import': don't use a temporary file.
 discard 6f8c96d123 vim syntax:  support for indented strings ('' .. '')
 discard 110606d470 Add the "addErrorContext" builtin to add more information 
in the stack trace.
 discard 061141e632 * Make it compile on Debian 4.0 (which doesn't define 
PER_LINUX32_3GB   in sys/personality.h).
 discard 019176137f * When using a build hook, distinguish between transient 
failures   (e.g. an SSH connection problem) and permanent failures (i.e. the   
builder failed).  This matters to Hydra (it wants to know whether it   makes 
sense to retry a build).
 discard 4ce692df88 
 discard c504d90c11 * Support i686-linux builds directly on x86_64-linux Nix   
installations.  This is implemented using the personality() syscall,   which 
causes uname to return "i686" in child processes.
 discard 8e39d9bdb3 * Make Nix build with Bison 2.4.
 discard 28355dafcf * Removed reference to losser.st-lab.cs.uu.nl, which is RIP 
after 9   years of loyal service :-)
 discard 8fce03e0ad * nix-store --verify: repair bad hash fields in the 
metadata file.
 discard 60ec75048a * Pass --use-atime / --max-atime to the daemon.
 discard 6f6bb1fdea * Delete the chroot if it already exists (e.g. left over 
from an   interrupted build).
 discard 92cb7c4dfe * Put chroots in the Nix store.  This ensures that we can 
create hard   links to the inputs.
 discard 0008b0006d * Simplify deleting .lock files in /nix/store: just don't 
delete them   if they belong a path that's currently being built.  This gets 
rid   of some Cygwin-specific code.
 discard ac36c6cd44 * Some hackery to make "make check" succeed on Cygwin.
 discard 2b70a8e7c9 * Detect whether unshare() is available.
 discard 9122dcecbb * We can't use string objects in signal handlers because 
they might   allocate memory, which is verboten in signal handlers.  This 
caused   random failures in the test suite on Mac OS X (triggered by the 
spurious   SIGPOLL signals on Mac OS X, which should also be fixed).
 discard 6776a52bb3 * Use a PathSet for the chroot directories so that we don't 
  accidentally bind-mount a directory twice.
 discard d86bd22d24 * Define _GNU_SOURCE.  Hopefully this fixes the build on 
Debian 4.0   (http://hydra.nixos.org/nixlog/384/1).
 discard ac5478eb52 * Don't provide the whole Nix store in the chroot, but only 
the   closure of the inputs.  This really enforces that there can't be any   
undeclared dependencies on paths in the store.  This is done by   creating a 
fake Nix store and creating bind-mounts or hard-links in   the fake store for 
all paths in the closure.  After the build, the   build output is moved from 
the fake store to the real store.  TODO:   the chroot has to be on the same 
filesystem as the Nix store  [...]
 discard 652817046b * Revert r13150: now that we use private namespaces for the 
chroot, we   don't have to put the chroot in /nix/var/nix/chroots anymore.   
They're back in /tmp now.
 discard 5a569509b4 * Provide a minimal /etc/passwd in the chroot to keep some 
builders   happy.
 discard 7c54f1603f * Do chroot builds in a private namespace.  This means that 
all the   bind-mounts we do are only visible to the builder process and its   
children.  So accidentally doing "rm -rf" on the chroot directory   won't wipe 
out /nix/store and other bind-mounted directories   anymore.  Also, the 
bind-mounts in the private namespace disappear   automatically when the builder 
exits.
 discard 07cdfb09fb * Open the connection to the daemon lazily (on demand) so 
that   read-only operations (like nix-env -qa) work properly when the   daemon 
isn't running.
 discard a0766eca27 * Build on Debian 4.0 (GCC 4.1.1).
 discard cd16d5dc3d * Doh.
 discard 5b949241a5 * Build some 64-bit RPMs/Debs.
 discard 67958f21df * Be sure to clean up the daemon if the test fails.
 discard d91dc086bb 
 discard 9ac3f5df9c * Propagate --max-silent-time to remote machines.
 discard bcfe98acff * Prefer building on a remote machine over a local machine. 
 This   makes more sense for the build farm, otherwise every nix-store   
invocation will lead to at least one local build.  Will come up with   a better 
solution later...
 discard 9850262a72 * Build RPMs, Debs, coverage analysis.
 discard 909fbb9de1 * When using build hooks, for any nix-store -r build 
operation, it is   necessary that at least one build hook doesn't return 
"postpone",   otherwise nix-store will barf ("waiting for a build slot, yet 
there   are no running children").  So inform the build hook when this is   the 
case, so that it can start a build even when that would exceed   the maximum 
load on a machine.
 discard 5dfba0b4db * Force allocation of a pseudo-terminal to clean up the 
remote   nix-store process when the connection is interrupted.
 discard 9ccdb80de3 * Don't ignore errors from writing to stderr.  That way, 
when   nix-store -r (or some other operation) is started via ssh, it will   at 
least have a chance of terminating quickly when the connection is   killed.  
Right now it just runs to completion, because it never   notices that stderr is 
no longer connected to anything.  Of course   it would be better if sshd would 
just send a SIGHUP, but it doesn't   
(https://bugzilla.mindrot.org/show_bug.cgi?id=396).
 discard 9fd9c4c635 * Support multiple system types per remote machine, e.g. a 
machine   list like
 discard 63b8f09d8d 
 discard f8713e1287 * Dirty hack to make nix-push work properly on derivations: 
the   derivation should be a source rather than a derivation dependency of   
the call to the NAR derivation.  Otherwise the derivation (and all   its 
dependencies) will be built as a side-effect, which may not even   succeed.
 discard 82ae85de27 * addToStore() in nix-worker: don't write the NAR dump 
received from   the client to a temporary directory, as that is highly 
inefficient.
 discard 5eaf644c99 * A simple API for parsing NAR archives.
 discard cdee317419 * Backwards compatibility.
 discard d95b68fde3 
 discard ff762fb499 * Pass HashType values instead of strings.
 discard 1307b22223 * Made addToStore() a lot more efficient: it no longer 
reads the path   being copied 3 times in the worst case.  It doesn't run in 
constant space,   but it didn't do that anyway.
 discard 64519cfd65 * Unify the treatment of sources copied to the store, and 
recursive   SHA-256 outputs of fixed-output derivations.  I.e. they now produce 
  the same store path:
 discard 09bc0c502c * Install the release notes.
 discard 5d4eb9dd07 * Moved the build farm job for building Nix to the Nix tree.
 discard 0c478d2f4d * Ignore carriage returns.
 discard 5024bde8f4 * Handle prematurely ended logfiles, i.e. make sure we emit 
enough   close tags.
 discard 2ab09a55cf * Bump the version number.
 discard 6bbff48079 
 discard b8eb32f4d2 * Urgh.
 discard bba87589cc 
 discard f3e2e6076a 
 discard 53cca4a445 
 discard 4213b8d8ec * Urgh.
 discard eb86b6f5a5 
 discard 3d2035ea86 * Blindly doing a replacement of occurences of $bindir 
(when running   the tests) is a bad idea when $bindir = /usr and some programs 
(like   perl) live there.  Fortunately it doesn't seem to be needed anymore.
 discard 285d26374a * Don't set the prefix to /nix by default, rather use the 
Autoconf   default of /usr/local.  However, localstatedir and storedir are set  
 to /nix/var/nix and /nix/store respectively unless they're   explicitly 
overriden.
 discard a55113411f * Nix daemon: reload the configuration file after forking 
(NIX-100).
 discard c202523e53 
 discard aab530e971 * Primop builtins.storePath for declaring a store path as a 
  dependency.  `storePath /nix/store/bla' gives exactly the same   result as 
`toPath /nix/store/bla', except that the former includes   /nix/store/bla in 
the dependency context of the string.
 discard 60564410ef * Patterns.
 discard 2668a43388 
 discard 63ccd72496 * Updated the manual.
 discard e13da525a7 * Files in the info directory starting with "." are 
temporary files   and don't indicate path validity.
 discard 5d250ad1ea * nix-store --dump-db: be more streamy.
 discard 7509d70f9d * Documented some of the sharing mechanisms.
 discard 2369b122d1 * Install documentation in $(docdir) (i.e. share/doc/nix).
 discard 6c2c771af7 * Removed obsolete option.
 discard 07d3a38726 * Remove references to Berkeley DB, including most of the   
troubleshooting section.  W00t.
 discard f5325d292d * Release notes.
 discard fa791116a3 * Get rid of nix-pack-closure / nix-unpack-closure, they're 
redundant.
 discard 3f4ed681c2 * Prevent zombies.  Previous the SIGCHLD handler only 
reaped one   zombie at a time, so if multiple children died before the handler  
 got to run, some of them would not be cleaned up.
 discard 6fedb7aa0f * Restore SIGPIPE to SIG_DFL when running the builder.  
This prevents   subtle and often hard-to-reproduce bugs where programs in pipes 
  either barf with a "Broken pipe" message or not, depending on the   exact 
timing conditions.  This particularly happened in GNU M4 (and   Bison, which 
uses M4).
 discard a519bb0635 * Some somewhat ad hoc mechanism to allow the build farm to 
monitor   build progress.
 discard 96598e7b06 * Pass the --no-build-output flag to the daemon.
 discard 4166b11a53 * Add /dev/pts to the default nix.conf.
 discard 2b7c839b4e * Typo.
 discard 709b55ee02 * Put the chroots under /nix/var/nix/chroots to reduce the 
risk of   disasters involving `rm -rf' on bind mounts.  Will try the   
definitive fix (per-process mounts, apparently possible via the   CLONE_NEWNS 
flag in clone()) some other time.
 discard c98ea254dc libstore: Always mount `/dev/pts' individually.
 discard 9d6d50269b * Bug fix for building on some old installations 
(contributed by Pjotr).
 discard fa61ee70ee * Fix `--from-profile'.
 discard f32fef1b07 * GC option `--max-atime' that specifies an upper limit to 
the last   accessed time of paths that may be deleted.  Anything more recently  
 used won't be deleted.  The time is specified in time_t,   e.g. seconds since 
1970-01-01 00:00:00 UTC; use `date +%s' to   convert to time_t from the command 
line.
 discard 4af2fdba6d * Typo.
 discard c987061aa4 * Some refactoring.  Better output with `-v' for 
--use-atime.
 discard 77afd97a99 * nix-store --gc / --delete: show how many store paths were 
deleted.
 discard 7ab68961e4 * Garbage collector: added an option `--use-atime' to 
delete paths in   order of ascending last access time.  This is useful in 
conjunction   with --max-freed or --max-links to prefer deleting non-recently 
used   garbage, which is good (especially in the build farm) since garbage   
may become live again.
 discard 2b2aa8a820 * Doh.
 discard 7933cdc6dc * When writing the user environment manifest, filter out 
non-string   attributes from the meta attribute.  Not doing so caused nix-env 
to   barf on the "psi" package, which has a meta.function attribute,   the 
textual serialisation of which causes a gigantic string to be   produced --- so 
big that it causes nix-env to run out of memory.
 discard 0f0dbe8c0c * Extend the ATerm suppressions to 64-bit.
 discard 311c222f47 
 discard 2a01d06da6 Added nix-http-export.cgi to extra distributed scripts; so 
it can be installed from releases, not only from SVN.
 discard 7718b19389 * Explicitly set PWD to prevent problems with chroot 
builds.  In   particular, dietlibc cannot figure out the cwd because the inode 
of   the current directory doesn't appear in .. (because getdents returns   the 
inode of the mount point).
 discard 9cc0da8453 * Create a /tmp with 1777 permission in the chroot.  Some 
builders   need a writable /tmp (they don't respect $TMPDIR).
 discard 99dc3e613a * Require that __overrides is defined as a non-recursive 
attribute   (which means it can only be defined via "inherit"), otherwise we 
get   scoping bugs, since __overrides can't be recursive (or at least, it   
would be hard).
 discard d06be428f6 * Disable chroot builds for fixed-output derivations so 
that we don't   need /etc in the chroot (in particular, /etc/resolv.conf for   
fetchurl).  Not having /etc/resolv.conf in the chroot is a good   thing, since 
we don't want normal derivations to download files.
 discard abec1c0004 * Evaluate attributes in sorted order for better 
determinism.
 discard c4f1c2114b * Minor simplification.
 discard 49829da8b4 * Doh.
 discard b428adc267 * Strip off the `.nix' suffix from the attribute name for 
files in   ~/.nix-defexpr,  otherwise the attribute cannot be selected with the 
  `-A' option.  Useful if you want to stick a Nix expression directly   in 
~/.nix-defexpr.
 discard cc826dc03e * Simplify the Valgrind suppressions using wildcards.
 discard 51e2dda58c * Some more ATerm Valgrind suppressions.
 discard b7ff182b6e Fixing an obvious typo in override code. I do not know 
whether it works correctly after the change, but at least it ca nbe compiled 
now.
 discard ca07f3e370 * Another experimental feature: a way to truly override 
attributes in   a rec.  This will be very useful to allow end-user 
customisation of   all-packages.nix, for instance globally overriding GCC or 
some other   dependency.  The // operator doesn't cut it: you could replace the 
  "gcc" attribute, but all other attributes would continue to   reference the 
original value due to the substitution semantics of   rec.
 discard 9279174dde * Added an experimental feature suggested by Andres: 
ellipses ("...")   in attribute set pattern matches.  This allows defining a 
function   that takes *at least* the listed attributes, while ignoring   
additional attributes.  For instance,
 discard db4f4a8425 * Backward compatibility check to prevent nixos-rebuild 
from barfing   when upgrading Nix.
 discard 1b962fc720 * @-patterns as in Haskell.  For instance, in a function 
definition
 discard e818838412 * "pattern" non-terminal.
 discard efe4b690ae * Refactoring: combine functions that take an attribute set 
and   functions that take a single argument (plain lambdas) into one AST   node 
(Function) that contains a Pattern node describing the   arguments.  Current 
patterns are single lazy arguments (VarPat) and   matching against an attribute 
set (AttrsPat).
 discard c03b729319 * Increase the sleep periods a bit to make the test less 
likely to   fail on slow machines.  Of course it would be better if this test   
wasn't timing dependent...
 discard 5664b6d7ba * Removed the "valid values" feature.  Nobody uses it 
anyway.
 discard b455c4c45c Updates to nix-reduce-build
 discard 72f3ea7358 * Moved some stuff to the Nixpkgs manual. * Updated the 
release notes.
 discard 98b07466fb * Better error checking of the data from the substituters.
 discard 339c142009 * Use optimistic profile locking for nix-env operations 
like `-i' and   `-u'.  Instead of acquiring an exclusive lock on the profile 
for the   entire duration of the operation, we just perform the operation   
optimistically (without an exclusive lock), and check at the end   whether the 
profile changed while we were busy (i.e., the symlink   target changed).  If 
so, the operation is restarted.  Restarting is   generally cheap, since the 
build results are still in the N [...]
 discard a87b5256e2 * Fix the tests.
 discard 001b3f06ec * `nix-env --set': support --dry-run.
 discard 7592f48c83 * nix-build: `--dry-run' flag.
 discard a1d310b6b5 * `nix-store --realise': print what paths will be 
built/downloaded,   just like nix-env. * `nix-store --realise': --dry-run 
option.
 discard 42043953c3 * Doh.
 discard 5adbb0aabe * build.cc: only use a substituter if it returns info for a 
path.
 discard 5b1052663a * Always show what paths we're going to build/download (as 
in   --dry-run).  Maybe there should be an option to turn this on/off?
 discard c4f98941ed * nix-env --dry-run: show the total size of the substituter 
  downloads.
 discard 03427e76f1 * querySubstitutablePathInfo: work properly when run via 
the daemon. * --dry-run: print the paths that we don't know how to 
build/substitute.
 discard b3c26180e3 Updates to nix-reduce-build: only realize fixed derivations 
if user asks so, or only use substituters. Oh, and add possibility to use : for 
things like /etc/nixos/nixpkgs:-A:gnused
 discard 3c92ea399d * Make nix-env --dry-run print the paths to be substituted 
correctly   again.  (After the previous substituter mechanism refactoring I   
didn't update the code that obtains the references of substitutable   paths.)  
This required some refactoring: the substituter programs   are now kept running 
and receive/respond to info requests via   stdin/stdout.
 discard fc691e1cbd * Print a better error message when a non-derivation 
attribute set is   coerced to a string.
 discard 096198d11f * A quick hack to make nix-prefetch-url support mirror:// 
URLs.  It   requires that $NIXPKGS_ALL points at a Nixpkgs tree.
 discard 660244f65f * Make sure that copy-from-other-stores.pl is built.
 discard e139d7fc68 * Fix the tests.
 discard 989176c56e * Allow read-only access to the store (e.g., non-root users 
on NixOS   can do operations like "nix-store -qR <path>" even without the Nix   
daemon).
 discard 8bc591a6f0 * Use the copy-from-other-stores substituter by default.  
Of course,   it only does something if $NIX_OTHER_STORES (not really a good   
name...) is set. * Do globbing on the elements of $NIX_OTHER_STORES.  E.g. you 
could   set it to /mnts/*/nix or something. * Install substituters in 
libexec/nix/substituters.
 discard 15f39aba8c * Quick prototype of a substituter that copies paths from 
other Nix   stores (typically remote Nix stores mounted via e.g. NFS, or the 
Nix   store on the NixOS installation CD).  Example use:
 discard 7cd88b1dec * Generalised the dependencyClosure primop to 
builtins.genericClosure,   which is hopefully more useful. * New primops: 
length, mul, div.
 discard d567baabbd * Export the nix-env derivation name parsing and version 
comparison   logic through the `parseDrvName' and `compareVersions' primops.   
This will allow expressions to easily check whether some dependency   is a 
specific needed version or falls in some version range.  See   
tests/lang/eval-okay-versions.nix for examples.
 discard b3b0b2a29e * `make ext-clean': remove the bzip2 build.
 discard 6c8641a542 
 discard 5af84139a8 * --max-freed: support values >= 4 GB.
 discard d3aa183beb * Garbage collector: option `--max-freed' to stop after at 
least N   bytes have been freed, `--max-links' to stop when the Nix store   
directory has fewer than N hard links (the latter being important   for very 
large Nix stores on filesystems with a 32000 subdirectories   limit).
 discard a8f3b02092 * `nix-store --optimise': handle files with >= 32000 hard 
links.   (There can easily be more than 32000 occurrences of the empty file.)
 discard a72709afd8 * Some refactoring: put the GC options / results in 
separate structs. * The garbage collector now also prints the number of blocks 
freed.
 discard 934c58aa38 * Use bzip2 1.0.5.
 discard ee8f15930d * Test instrumentation.
 discard f351834f77 * nix-worker: clean up the temporary root for the worker 
processes   in /nix/var/nix/temproots.
 discard 94fd46fa1c * Note.
 discard 955b8841cd Also trying to build derivers in case we cannot get 
substituters
 discard 18e27629d3 Added local best-effort builds (i.e. one failure does not 
ruin all packages you would like to see built)
 discard 826b271d9a * Garbage collector: don't do a complete topological sort 
of the Nix   store under the reference relation, since that means that the   
garbage collector will need a long time to start deleting paths.   Instead just 
delete the referrers of a path first.
 discard 30c9f909b2 * Print some progress info during the early GC stages.
 discard 194c66eeeb Stupid error in script
 discard f903d86740 OK, I will believe that fix does no worse..
 discard ce85b55cf0 Updated help text
 discard 4532e4b90d Added verbosity for nix-reduce-build
 discard 2818b7cee6 * Updated some URLs.
 discard 997b95a4af * Fixed compatibility with old versions of "wc" that print 
whitespace   before the count.
 discard b0e92f6d47 * Merged the no-bdb branch (-r10900:HEAD   
https://svn.nixos.org/repos/nix/nix/branches/no-bdb).
 discard 4ed01ed791 * Updated some URLs (did this a long time ago but forgot to 
  commit...).
 discard c41a3ec3a9 First attempt to update Nix SDF grammar to match the actual 
bison grammar
 discard bd955e15e1 * GCC 4.3.0 (Fedora 9) compatibility fixes.  Reported by 
Gour and   Armijn Hemel.
 discard 9819bb20da Added support for file:// archive (.nar.gz) repositories to 
nix-reduce-build. /tmp/nix-export created by nix-http-export.cgi is OK.
 discard b4bc8b7616 --proxy=proxy:3128
 discard b1e321d6ce Added http alternative transport for nix-reduce-build
 discard 658816ddc9 * Make really sure that we use bash.  The line
 discard 72034ab35d * sockaddr_un doesn't allow path names of more than 108 
characters.   This isn't usually a problem, except that it causes tests to fail 
  when performed in a directory with a very long path name.  So chdir   to the 
socket directory and use a relative path name.
 discard f8985d195e * Fix for NIX-101 (should use an absolute path for call to 
nix-hash).
 discard 329025253d * Use /tmp/nix-build-<drvpath>-<counter> instead of   
/tmp/nix-<pid>-<counter> for temporary build directories.  This   increases 
purity a bit: many packages store the temporary build path   in their output, 
causing (generally unimportant) binary differences.
 discard 5bb08db55b * Updated URL.
 discard 98968fbb63 * Disable the don't-run-as-root sanity check because it 
breaks RPM   builds (which are done as root...).
 discard 2f1e2cf632 * Note that the SDF grammar isn't used.
 discard f106868110 * Cleanup.
 discard f789ea1d09 * A transaction is unnecessary since the path cannot be   
garbage-collected (it's a temporary root).
 discard d7caac3e81 * Don't install nix-reduce-build by default yet please, I 
first want   to understand better what it does...
 discard 11d512e7a8 Added nix-reduce-build. You point it to some path you want 
to build and it fetches whatever it can from specified computers via 
nix-copy-closure. NOTE: You do want to set up RSA keys or ssh-agent or 
something... You really do want it. It will run separate ssh instances insane 
number of times.
 discard 0a84137c45 * checkVarDefs: don't check in closed terms, which don't 
have   undefined variables by definition.  This matters for the   
implementation of "with", which does a call to checkVarDefs to see   if the 
body of the with has no undefined variables.  (It can't be   checked at parse 
time because you don't know which variables are in   the "with" attribute set.) 
 If we check closed terms, then we check   not just the with body but also the 
substituted terms, which are   typica [...]
 discard 0ed89c569f * Fix the parsing of
 discard 4066f450c2 * Doh.
 discard e7bdde981f * Regression test.
 discard 66c51dc215 * nix-store --dump-db / --load-db to dump/load the Nix DB. 
* nix-store --register-validity: option to supply the content hash of   each 
path. * Removed compatibility with Nix <= 0.7 stores.
 discard 5b5a3af983 Probably fixed __exprToString
 discard 5eb5c23447 Fixed exportBuildReferenceGraph
 discard 7d0f6aed59 * New primop `unsafeDiscardStringContext' to get rid of 
string   contexts.  Needed to prevent unnecessary dependencies when building   
the NixOS manual.
 discard 895c953817 * Bumped the version number to 0.12.
 discard d4117859d6 
 discard e0ca671491 * More documentation.
 discard 6bdecfacbb * Documented a bunch of nix-store commands.
 discard 454f571f87 
 discard 4c82983010 
 discard f60aa2aa21 
 discard dedd62dd0c * More release notes.
 discard b5ddcf58ad * Fix the hashDerivationModulo test.  I should really 
investigate   *why* the test failed...
 discard 59707975a3 * Documented indented string literals. * Release notes.
 discard de012e76e2 * Don't use "store expression", it's obsolete.
 discard 2196cb67c5 Added a way to include derivation with its outputs and 
dependencies - exportBuildReferenceGraph
 discard df303666bc * Use strsignal if available to give better error messages 
for   builders that fail due to a signal.
 discard 1e90b4189d * Another insane Mac OS X 10.5 compatibility hack.
 discard 485d71c54a * Mac OS X 10.5 compatibility: `echo -n foo' suddenly 
prints `-n foo'   instead of `foo' without a newline (with /bin/sh, not 
/bin/bash,   even though /bin/sh is also bash...).  So use printf instead.
 discard 30e4653783 * Mac OS X 10.5 compatibility.
 discard 4ff1335b2e small udpate
 discard 3a2833daff corrected --help message for nix-store a bit
 discard 764b0115d5 Very basic nix vim syntax highlighting
 discard b42ef9c054 * Syntax to escape '', ${.
 discard d4950f207f * component -> package.
 discard 6d6c68c0d2 * Added a new kind of multi-line string literal delimited 
by two   single quotes.  Example (from NixOS):
 discard 633518628f * nix-env -e: support uninstalling by path, so that one can 
say
 discard 12d0a1eb75 * Troubleshooting entry about running out of locks.
 discard 06f95dd07c * New primop `readFile' to get the contents of a file as a 
string.
 discard c370755583 * Flag `--no-build-hook' to disable distributed builds. * 
queryDeriver in daemon mode: don't barf if the other side returns an   empty 
string (which means there is no deriver).
 discard c05783ad67 * nix-store --import: add a flag --require-signature.
 discard 6784b14241 * nix-build: pass --argstr to nix-instantiate.
 discard ca210d2a58 * Doh!
 discard 149e273023 * Don't need gc.hh.
 discard bfec245efa * Add build-remote.pl to the Nix distribution.
 discard 6fc60e2060 Added possibility to specify garbage collection levels for 
store paths; so packages can share intermediate results of compilation and GC 
will collect it automatically while never touching tarballs, for example.
 discard 5b74a59570 * nix-prefetch-url: don't fail if 
/tmp/nix-prefetch-url-<pid> exists,   instead use a counter just like we do for 
temporary build   directories.
 discard 5f8a203b55 * A rule to make a PDF version of the manual.
 discard 1511aa11ce * Documented some of the more obscure derivation attributes 
(including   fixed-output derivations).
 discard fa44e401a8 * Documented multi-user Nix.
 discard e007b50eb7 
 discard bfea7b1f35 * Make the `--prebuilt-only' / `-b' option work not just 
for queries   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).
 discard 0b95603595 * Depend on bash instead of sh (since we use a few 
bashisms).
 discard 42d80d1170 * On FreeBSD, sys/mount.h needs sys/param.h.
 discard d91cd30563 * Detect whether chroot / bind-mount support is available.
 discard dc6f373842 * Delete the chroot directory automatically. * Removed some 
debug messages.
 discard 9397cd30c8 * Support for doing builds in a chroot under Linux.  The 
builder is   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 preve [...]
 discard 0b4ed64d29 * "trace" primop: write the trace to standard error.
 discard cd08fb3fde 
 discard d423968ba1 * Improved introduction (actually copied mostly from the 
homepage).
 discard 612b3e8fa3 * Document the new primops in Nix 0.11.
 discard 35ac16e75e * Move list of built-in functions to a separate file.
 discard 1db187ff69 
 discard f90d85107e 
 discard f8ed2e64a5 
 discard f529a3be8a Added comment telling about setup-hook and 
propagatedBuildInputs
 discard 14e47e9c2c * Doh.
 discard d04291cfab * Doh! Don't change the permissions on /nix/store.
 discard 315183f194 * nix-store --optimise: flag "--dry-run" to just query what 
the disk   savings would be.
 discard a8629de827 * New command `nix-store --optimise' to reduce Nix store 
disk space   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).
 discard 27a0662828 * listToAttrs: the list now should consist of {name, value} 
attribute   sets instead of {attr, value}.  "name" is better than "attr" 
because   the *combination* of the two forms the attribute.
 discard 8a9fe6c11c * Manpage for nix-copy-closure.
 discard 27f57c9018 * Ignore dangling symlinks in ~/.nix-defexpr.
 discard f3441e6122 * Pass various options to the worker so that flags like -K 
or -j work   in multi-user Nix (NIX-72). * Client/worker: exchange a protocol 
version number for future   compatibility.
 discard 26f981c2e5 * Remove garbage.
 discard c8ea8a09b8 * nix-env -qa: make the "-A" flag do the expected thing, 
namely follow   the given attribute path (just as -A does with other option)   
(NIX-83).  So you can now say
 discard 055608227f * nix-env: allow ~/.nix-defexpr to be a directory.  If it 
is, then the   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.
 discard 3339f85447 * Test the impureEnvVars feature.
 discard 9441550acb * nix-push / generate-patches: bzip the manifest.
 discard 7b20c0ed4b explanation what happens when passing true / false and null 
values to derivation builders added
 discard 0d65fc08e2 * Create the Nix daemon socket in a separate directory   
(/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.
 discard cb1c1004cd * When there are multiple substituters, make sure to 
release the   lock on the output path after trying each.  Otherwise the   
pathIsLockedByMe() test gets confused.
 discard c970b28ba0 * Fix a race condition with parallel builds where multiple  
 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 ( [...]
 discard bc0429b1cd * Doh! Broken test.
 discard e0d7e47862 * PathLocks::lockPaths: don't allow reacquiring a lock we 
already   hold.
 discard 455a7b9577 * Test case to show that parallel builds of different 
fixed-output   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.
 discard 7d5836b34d * nix-channel: supports users who don't have write 
permission to the   manifests directory.  In that case, we don't do a nix-pull, 
so the   user gets pure source deployment.
 discard 2629998e91 primop functions listToAttrs (+test), __isAttrs, __trace 
added new configuration style proposal in lib/default-unstable.nix
 discard dbc0170ed9 * Show errors in nix-prefetch-url.
 discard 5c793ad03e * Hopefully this fixes the test on FreeBSD.
 discard ffa1c61cd5 * Fix the tests.
 discard a7e1a51fdf * A test for the nix-worker.
 discard 550ba9ebb4 * Fix the tests.
 discard 3757ee589f * Bump the Nix database schema version number; delete the 
substitutes   table.
 discard 59afc1a15c * Backwards compatibility.
 discard 9e975458b4 * Get rid of the substitutes database table (NIX-47).  
Instead, if we   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  [...]
 discard 4695f4edd6 * nix-pull: support bzipped manifests: when doing a 
nix-pull on $url,   try $url.bz2 first.
 discard 911bc01454 * Enable nix-prefetch-url caching in nix-channel.
 discard 5e52df18fe * Don't rely on /dev/stdin.
 discard c5e934dcc9 * nix-pull: using nix-prefetch-url (so that we get caching 
for free),   and store the manifests in the Nix store.  (So now   
/nix/var/nix/manifests/ just contains symlinks to the store and is   searched 
for GC roots.)
 discard f881f7a017 * nix-prefetch-url: support caching.  If the environment 
variable   NIX_DOWNLOAD_CACHE is set, then nix-prefetch-url will store the hash 
  and timestamp of downloaded files in the directory   $NIX_DOWNLOAD_CACHE.  
This allows it to figure out if the file is   still in the Nix store.
 discard ef240bc0d5 * Use the new patched version of the aterm library.
 discard d71cc503a6 * Don't allocate input files on the stack.
 discard 4cad125e08 * Optionally warn about packages that give an assertion 
failure.
 discard 6da6fbfbe9 * Properly keep packages during upgrades.
 discard 6d1a1191b0 * Support queryDeriver() in multi-user installations.
 discard 9d9e1c5c41 * Distribute bzip2 1.0.4.
 discard 9bff7ad728 * Check against creation of GC roots in the store.  Those 
roots don't   work, because findRoots() stops when it encounters a symlink to 
the   store.  And of course the store is supposed to be read-only.
 discard f3ebd03bb1 * Remove debug statement.
 discard 40b6f06f09 change default NIX_HASH_ALGO
 discard b47da5ea21 
 discard bddc83a148 * New builtin function "isFunction".  You're not supposed 
to use it   ;-) * Channels: fix channels that are plain lists of derivations 
(like   strategoxt-unstable) instead  of functions (like nixpkgs-unstable).   
This fixes the error message "error: the left-hand side of the   function call 
is neither a function nor a primop (built-in   operation) but a list".
 discard ca00aa1171 * Allow empty argument lists in function definitions (e.g., 
`{}:   bla').  Also allow trailing commas (`{x, y,}: ...') as a unintented   
consequence.  Hopefully the reduce/reduce conflict won't cause any   problems.
 discard 7046c35843 * Typo (reported by Marc Weber).
 discard e5da9c8803 * Create the database directory if it doesn't exist.
 discard 30beeb27a9 * Set the right priorities when recovering from a directory 
  collision.
 discard 34d4c9388b 
 discard 93aefd9fc0 * Give unpacked channels more sensible names than 0, 1, ... 
 They now   get the basename of the channel URL (e.g., nixpkgs-unstable).  The  
 top-level Nix expression of the channel is now an attribute set, the   
attributes of which are the individual channels (e.g.,   {nixpkgs_unstable = 
...; strategoxt_unstable = ...}).  This makes   attribute paths ("nix-env -qaA" 
and "nix-env -iA") more sensible,   e.g., "nix-env -iA 
nixpkgs_unstable.subversion".
 discard a9d15d4f43 * nix-env -i: instead of breaking package ties by version, 
break them   by priority and version install.  That is, if there are multiple   
packages with the same name, then pick the package with the highest   priority, 
and only use the version if there are multiple packages   with the same 
priority.
 discard cbfac2fdcc * Set a terminate() handler to ensure that we leave the BDB 
  environment cleanly even when an exception is thrown from a   destructor.  We 
still crash, but we don't take all other Nix   processes with us.
 discard 644946feed * Make --verify more interruptable.
 discard bd1f66453a * `nix-env -q --xml --meta' to show all meta attributes.
 discard e20f0da22c * Doh.
 discard 89c1d2b202 * Package flag "keep" that prevents a package from being 
removed from   a user environment by an install or upgrade action.  This is   
particularly useful if you have a version installed that you don't   want to 
upgrade (e.g., because the newer versions are broken).   Example:
 discard a46db5d013 * Package conflict resolution through priority levels.  If 
there is a   user environment collission between two packages due to 
overlapping   file names, then a package with a higher priority will overwrite 
the   symlinks of a package with a lower priority.  E.g.,
 discard 3d05166086 * Allow conflicting packages to be kept in a user 
environment, and   allow switching between them (NIX-80).
 discard b7f0f65c19 * nix-env -q now has a flag --prebuilt-only (-b<) that 
causes nix-env   to show only those derivations whose output is already in the 
Nix   store or that can be substituted (i.e., downloaded from somewhere).   In 
other words, it shows the packages that can be installed “quickly”,   i.e., 
don’t need to be built from source.
 discard 5dc05b76ab * Updated dependency information.
 discard 5f2492eaec * New primop "throw <string>" to throw an error.  This is 
like abort,   only thrown errors are caught by the top-level derivation 
evaluation   in nix-env -qa / -i.
 discard 0a8eeea9d8 * Remove a warning.
 discard 2716f9bc5f * It seems that svnversion prints a carriage return on 
Cygwin, so we   get a invalid #define VERSION.  Use "svnversion -n" to leave 
out the   newline.  Fix provided by Marc Weber.
 discard ae7990cc88 * Work around a bug in Apple's GCC preprocessor.
 discard 4caca58ff7 * Make the maximum patch size configurable.
 discard 17b506c0c7 * Handle ECONNRESET from the client.  Also, don't abort() 
if there are   unexpected conditions in the SIGPOLL handler, since that messes 
up   the Berkeley DB environment (which a client must never be able to   
trigger).
 discard efd31139df * Forgot a @bindir@.
 discard d303b389a9 * `nix-copy-closure --from': copy from a remote machine 
instead of to   a remote machine.
 discard 7edd2e2cd2 * Refactoring.
 discard f3584ff535 * Fix URL/description.
 discard 803cb6e3b9 * Override the setuid helper using NIX_SETUID_HELPER.
 discard a8ea4cbcc8 * Scan /proc/sys/kernel/modprobe for roots to prevent the 
kernel   modules for the running kernel from being garbage-collected.  Idem   
for /proc/sys/kernel/fbsplash.
 discard 8ab229ddf2 * Terminate build hooks and substitutes with a TERM signal, 
not a KILL   signal.  This is necessary because those processes may have joined 
  the BDB environment, so they have to be given a chance to clean up.   (NIX-85)
 discard b2b6cf3fc8 * Undocumented option `gc-check-reachability' to allow 
reachability   checking to be turned off on machines with way too many roots.
 discard eb2dd4815c * Remove old generations in all directories under   
/nix/var/nix/profiles, not just in that directory itself.  (NixOS   puts 
profiles in /nix/var/nix/profiles/per-user.)
 discard 917e06bf63 * Delete the output paths before invoking the build hook.
 discard df0283ae86 * Get rid of those stupid --login tricks, it's the 
responsibility of   the remote system to make sure that Nix is in the $PATH.
 discard 30394a4f3f * sh -> bash.
 discard db1973d012 * Look for the openssl program at compile time.  If not 
found, call   openssl through $PATH at runtime.
 discard b4a040e52b * Don't check the signature unless we have to.
 discard 2ea3bebc23 * Doh!  The deriver can be empty.
 discard 044b6482c1 * Greatly reduced the amount of stack space used by the Nix 
expression   evaluator.  This was important because the NixOS expressions 
started   to hit 2 MB default stack size on Linux.
 discard adce01a8d0 * When NIX_SHOW_STATS=1, show the amount of stack space 
consumed by   the Nix expression evaluator.
 discard 363e307fd3 * Error message to stdout.
 discard ddde8e2f32 * Handle EINTR in select().
 discard 27bb0ac7d2 * /man -> /share/man
 discard fa2be32034 * nix-copy-closure: force a login shell on the remote 
machine to make   sure that nix-store is in the PATH. * nix-copy-closure: 
option --gzip to compress data.
 discard 4c5e6d1a2f * nix-copy-closure: option --sign. * nix-copy-closure: set 
SSH options through NIX_SSHOPTS..
 discard 024a8ed382 * New command `nix-copy-closure' to copy a closure to a Nix 
store on   another machine through ssh.  E.g.,
 discard 7f6161ab3a * Flush cout to show progress.
 discard 0db450024d * Export/import many paths in one go.
 discard 9da367b7d5 * `nix-store -qR' and friends: print the paths sorted 
topologically   under the references relation.  This is useful for commands 
that   want to copy paths to another Nix store in the right order.
 discard 881feb9698 * Flag `--print-invalid' in `nix-store --check-validity' to 
print out   which paths specified on the command line are invalid (i.e., don't  
 barf when encountering an invalid path, just print it).  This is   useful for 
build-remote.pl to figure out which paths need to be   copied to a remote 
machine.  (Currently we use rsync, but that's   rather inefficient.)
 discard 65f195f4c7 * Check that the file containing the secret key is secret.
 discard bdadb98de8 * `nix-store --import' now also works in remote mode.  The 
worker   always requires a signature on the archive.  This is to ensure that   
unprivileged users cannot add Trojan horses to the Nix store.
 discard 0f5da8a83c * Support exportPath() in remote mode.
 discard dc7d594776 * importPath(): set the deriver. * exportPath(): lock the 
path, use a transaction.
 discard 43c4d18c6a * `nix-store --import': import an archive created by 
`nix-store   --export' into the Nix store, and optionally check the 
cryptographic   signatures against /nix/etc/nix/signing-key.pub.  (TODO: verify 
  against a set of public keys.)
 discard 46e0919ced * `nix-store --export --sign': sign the Nix archive using 
the RSA key   in /nix/etc/nix/signing-key.sec
 discard 6c9fdb17fb * Don't use $SHELL.
 discard b824a1daee * Start of `nix-store --export' operation for serialising a 
store   path.  This is like `nix-store --dump', only it also dumps the   
meta-information of the store path (references, deriver).  Will add   a 
`--sign' flag later to add a cryptographic signature, which we   will use for 
exchanging store paths between build farm machines in a   secure manner.
 discard 3390c1be76 * Temporary notes on how we're going to use OpenSSL.
 discard 8181a1c3bb * Close the file - just in case.
 discard 46605fb4f5 * Fix 64-bit compiler warnings.
 discard 52d03276dd * Compatibility with docbook5-xsl.
 discard 451dbf687f * nix-env now maintains meta info (from the `meta' 
derivation   attribute) about installed packages in user environments.  Thus, 
an   operation like `nix-env -q --description' shows useful information   not 
only on available packages but also on installed packages.
 discard f52de527c7 * Doh!
 discard b618fa6eb6 * computeStorePathForText: take the references into account 
when   computing the store path (NIX-77).  This is an important security   
property in multi-user Nix stores.
 discard c558b1583c * Don't capitalise the primop functions.
 discard 18e6096105 * Organise primops.cc a bit better.
 discard 7349bd0176 New primitives: * `sub' to subtract two numbers. * 
`stringLength' to get the length of a string. * `substring' to get a substring 
of a string.  These should be enough   to allow most string operations to be 
expressed.
 discard 7dedbd896a * filterSource: pass strings to the predicate function 
instead of   paths.  Paths can have unexpected semantics.
 discard 84a84afb0e * Nasty: Glibc clears the TMPDIR environment variable in 
setuid   programs, so if a builder uses TMPDIR, then it will fail when   
executed through nix-setuid-helper.  In fact Glibc clears a whole   bunch of 
variables (see sysdeps/generic/unsecvars.h in the Glibc   sources), but only 
TMPDIR should matter in practice.  As a   workaround, we reinitialise TMPDIR 
from NIX_BUILD_TOP.
 discard fac63d6416 * exportReferencesGraph: work on paths within store paths 
as well.
 discard bae75ca5a1 * New kind of manifest object: "localPath", which denotes 
that a store   path can be created by copying it from another location in the 
file   system.  This is useful in the NixOS installation.
 discard 36d9258c0d * Successors have been gone for ages.
 discard 7bc30e1ca8 * nix-prefetch-url: change the default hash to SHA-256 (in 
base-32).
 discard 71ceb1c161 * Handle multiple indirect symlinks when loading a Nix 
expression.
 discard e4b0666f8e * builtins.filterSource: pass the type of the file 
("regular",   "directory", "symlink") as the second argument to the filter   
predicate.
 discard 63f3ce6d9a * `nix-store --verify': revive checking the referrers 
table.  This is   important to get garbage collection to work if there is any   
inconsistency in the database (because the referrer table is used to   
determine whether it is safe to delete a path). * `nix-store --verify': show 
some progress.
 discard 8f67b35886 * Make the garbage collector more resilient to certain 
consistency   errors: in-use paths now cause a warning, not a fatal error.
 discard 8659edc098 * Don't forget the .flags files.
 discard e418976107 * Option --argstr for passing string arguments easily. 
(NIX-75)
 discard 4e329f173f * Doh.
 discard afe23b5f38 * nix-pack-closure: store the top-level store paths in the 
closure. * nix-unpack-closure: extract the top-level paths from the closure and 
  print them on stdout.  This allows them to be installed, e.g.,   "nix-env -i 
$(nix-unpack-closure)".  (NIX-64)
 discard f25f900045 * Allow multiple --attr / -A arguments in nix-build / 
nix-instantiate   (NIX-74).
 discard 215505bb46 * Removed chroot support.
 discard f23dcdd603 * Canonicalise ASTs in `nix-instantiate --eval': remove 
position   info, sort attribute sets.
 discard 05879db628 * Memoize strict evaluation.
 discard 5011588459 * printTermAsXML: treat derivations specially; emit an 
element   <derivation outPath=... drvPath=...> attrs </derivation>.  Only emit  
 the attributes of any specific derivation only.  This prevents   
exponententially large XML output due to the absense of sharing.
 discard 792878af91 * Make printing an expression as XML interruptible.
 discard 11158028be * Cleanup.
 discard 1b7840b949 
 discard 69c8b5b8a7 * Install generate-patches into libexec.
 discard 1f3722bd4a * Reject patches that are larger than a certain fraction of 
the full archive   (currently 60%).  Large patches aren't very economical.
 discard 50bdec410a * Huge speedup in patch propagation (20 minutes or so to 3 
seconds).
 discard 4c63f9fe04 * Another great success.
 discard 57969b95b3 * Testing 1 2 3.
 discard cafaceb707 * Handle weird cases when the server redirects us while 
setting a cookie.
 discard 1073b1780a * Remove debug message.
 discard a3e6415ba8 * New primop builtins.filterSource, which can be used to 
filter files   from a source directory.  All files for which a predicate 
function   returns true are copied to the store.  Typical example is to leave   
out the .svn directory:
 discard b438d37558 * In dumpPath(): pass a function object that allows files 
to be   selectively in/excluded from the dump.
 discard 3130f1f0fa * Push.
 discard 7ace29dae7 * New operation `nix-env --set' which sets a user 
environment to a   single derivation specified by the argument.  This is useful 
when we   want to have a profile for a single derivation, such as a server   
configuration.  Then we can just say (e.g.)
 discard 1a7e88bbd9 * New built-in function `builtins.attrNames' that returns 
the   names of the attributes in an attribute set.
 discard 5e6699188f 
 discard b17677462c * Use lchown() instead of chown() in 
canonicalisePathMetaData().  This   matters when running as root, since then we 
don't use the setuid   helper (which already used lchown()).
 discard 5f681988f2 * Use deletePathWrapped() in more places.
 discard fa33303146 * Goal cancellation inside the waitForInput() loop needs to 
be handled   very carefully, since it can invalidate iterators into the   
`children' map.
 discard 06c4929958 * Some refactoring. * Throw more exceptions as BuildErrors 
instead of Errors.  This   matters when --keep-going is turned on.  (A 
BuildError is caught   and terminates the goal in question, an Error terminates 
the   program.)
 discard 9dbfe242e3 * Kill a build if it has gone for more than a certain 
number of   seconds without producing output on stdout or stderr (NIX-65).  
This   timeout can be specified using the `--max-silent-time' option or the   
`build-max-silent-time' configuration setting.  The default is   infinity (0).
 discard d3fe6ab024 * Also for convenience, change the ownership of the build 
output even   in case of failure.
 discard 096194ab29 * Remove ancient terminology.
 discard 6833e8bbe8 * When keeping the temporary build directory (-K), change 
the owner   back to the Nix account.
 discard e24d0201c2 * Doh!
 discard 2819eb36a4 * Be less verbose.
 discard 4ca01065c3 * Rename all those main.cc files.
 discard d03f0d4117 * Check for lchown.
 discard c3286ec020 * Don't count on the Pid deconstructor to kill the child 
process,   since if we're running a build user in non-root mode, we can't.  Let 
  the setuid helper do it.
 discard a82d80ddeb * Move setuidCleanup() to libutil.
 discard f76fdb6d42 * If not running as root, let the setuid helper kill the 
build user's   processes before and after the build.
 discard ec23ecc64d * In the garbage collector, if deleting a path fails, try 
to fix its   ownership, then try again.
 discard a0a43c3206 * When not running as root, call the setuid helper to 
change the   ownership of the build result after the build.
 discard 6a07ff1ec0 * Change the ownership of store paths to the Nix account 
before   deleting them using the setuid helper.
 discard 7d8cf316ee * Pass the actual build user to the setuid helper.
 discard a45c498e4e * If Nix is not running as root, call the setuid helper to 
start the   builder under the desired build user.
 discard 813a7c65c9 * Sanity check.
 discard 6a8e60913a * Move killUser() to libutil so that the setuid helper can 
use it.
 discard 79875c5e42 * Change the ownership of the current directory to the 
build user.
 discard 62ab131412 * Verify that the desired target user is in the build users 
group (as   specified in the setuid config file).
 discard f07ac41656 * Check that the caller is allowed to call the setuid 
helper.  The   allowed uid is specified in a configuration file in   
/etc/nix-setuid.conf.
 discard 173d328351 * Urgh.
 discard ef281b93c2 * Fix the safety check.
 discard a14d491f09 * Oops.
 discard 6e5ec1029a * Get rid of `build-users'.  We'll just take all the 
members of   `build-users-group'.  This makes configuration easier: you can 
just   add users in /etc/group.
 discard 751f6d2157 * nix-setuid-helper: allow running programs under a 
different uid.
 discard 9f0efa6611 * Start of the setuid helper (the program that performs the 
operations   that have to be done as root: running builders under different 
uids,   changing ownership of build results, and deleting paths in the store   
with the wrong ownership).
 discard 2b558843a2 * Be less chatty.
 discard 44cad9630f * Urgh.  Do setgid() before setuid(), because the semantics 
of setgid()   changes completely depending on whether you're root...
 discard 6f0d050324 * Tricky: child processes should not send data to the 
client since   that might mess up the protocol.  And besides, the socket file   
descriptor is probably closed.
 discard 4c1c37d0b6 * FreeBSD returns ESRCH when there are no processes to kill.
 discard 8d1854c3f1 * Oops!  In daemon mode, we can't run as root either if 
build-users is empty.
 discard 99655245ae * Use an explicit handler for SIGCHLD, since SIG_IGN 
doesn't do the   right thing on FreeBSD 4 (it leaves zombies).
 discard 62b0497c0f * Better message.
 discard c808e6252f * Ugly hack to handle spurious SIGPOLLs.
 discard fd4a9db91f * Some renaming.
 discard fc1c20d11b * Redundant.
 discard a9c4f66cfb * Allow unprivileged users to run the garbage collector and 
to do   `nix-store --delete'.  But unprivileged users are not allowed to   
ignore liveness. * `nix-store --delete --ignore-liveness': ignore the runtime 
roots as   well.
 discard 29cf434a35 * The determination of the root set should be made by the 
privileged   process, so forward the operation. * Spam the user about GC 
misconfigurations (NIX-71). * findRoots: skip all roots that are unreadable - 
the warnings with   which we spam the user should be enough.
 discard 8623256f48 * findRoots: return a map from the symlink (outside of the 
store) to   the store path (inside the store).
 discard d27a73b1a9 * In addPermRoot, check that the root that we just 
registered can be   found by the garbage collector.  This addresses NIX-71 and 
is a   particular concern in multi-user stores.
 discard 74033a844f * Add indirect root registration to the protocol so that 
unprivileged   processes can register indirect roots.  Of course, there is 
still   the problem that the garbage collector can only read the targets of   
the indirect roots when it's running as root...
 discard 0d40f6d7bb * Not every OS knows about SIGPOLL.
 discard 7751160e9f * Don't redirect stderr.
 discard 40c3529909 * Handle exceptions and stderr for all protocol functions. 
* SIGIO -> SIGPOLL (POSIX calls it that). * Use sigaction instead of signal to 
register the SIGPOLL handler.   Sigaction is better defined, and a handler 
registered with signal   appears not to interrupt fcntl(..., F_SETLKW, ...), 
which is bad.
 discard 0130ef88ea * Daemon mode (`nix-worker --daemon').  Clients connect to 
the server   via the Unix domain socket in /nix/var/nix/daemon.socket.  The   
server forks a worker process per connection. * readString(): use the heap, not 
the stack. * Some protocol fixes.
 discard 4740baf3a6 * When NIX_REMOTE=daemon, connect to 
/nix/var/nix/daemon.socket   instead of forking a worker.
 discard f5f0cf423f * Refactoring.
 discard 052b6fb149 * Pass the verbosity level to the worker.
 discard 1e16d20655 * Install the worker in bindir, not libexecdir. * Allow the 
worker path to be overriden through the NIX_WORKER   environment variable.
 discard 9322b399f3 * Doh.
 discard f4279bcde0 * Don't run setuid root when build-users is empty. * Send 
startup errors to the client.
 discard 35247c4c9f * Removed `build-allow-root'. * Added `build-users-group', 
the group under which builds are to be   performed. * Check that /nix/store has 
1775 permission and is owner by the   build-users-group.
 discard 84d6459bd5 * Use setreuid if setresuid is not available.
 discard a9f9241054 * Handle a subtle race condition: the client closing the 
socket   between the last worker read/write and the enabling of the signal   
handler.
 discard 3ed9e4ad9b * Some hardcore magic to handle asynchronous client 
disconnects.   The problem is that when we kill the client while the worker is  
 building, and the builder is not writing anything to stderr, then   the worker 
never notice that the socket is closed on the other side,   so it just 
continues indefinitely.  The solution is to catch SIGIO,   which is sent when 
the far side of the socket closes, and simulate   an normal interruption.  Of 
course, SIGIO is also sent every t [...]
 discard 4251f94b32 * Use a Unix domain socket instead of pipes.
 discard 8c76df93e6 * Better error message if the worker doesn't start.
 discard 363f40022f * Pid::kill() should be interruptable.
 discard 7951c3c546 * Some hackery to propagate the worker's stderr and 
exceptions to the   client.
 discard 714fa24cfb * Run the worker in a separate session to prevent terminal 
signals   from interfering.
 discard e25fad691a * Move addTempRoot() to the store API, and add another 
function   syncWithGC() to allow clients to register GC roots without needing   
write access to the global roots directory or the GC lock.
 discard 30bf547f4f * Doh.
 discard 536595b072 * Remove most of the old setuid code. * Much simpler setuid 
code for the worker in slave mode.
 discard 9c9cdb06d0 * Remove SwitchToOriginalUser, we're not going to need it 
anymore.
 discard 626f8ee42f * Clear NIX_REMOTE in the tests.
 discard 8ba5d32769 * Remove queryPathHash(). * Help for nix-worker.
 discard fcd9900d74 * Replace read-only calls to addTextToStore.
 discard a824d58b56 * Merge addToStore and addToStoreFixed. * addToStore now 
adds unconditionally, it doesn't use readOnlyMode.   Read-only operation is up 
to the caller (who can call   computeStorePathForPath).
 discard ceb982a1be * Right name.
 discard b0d8e05be1 * More operations. * addToStore() and friends: don't do a 
round-trip to the worker if   we're only interested in the path (i.e., in 
read-only mode).
 discard 0565b5f2b3 * More remote operations. * Added new operation 
hasSubstitutes(), which is more efficient than   querySubstitutes().size() > 0.
 discard aac547a8b3 * Doh.
 discard 0263279071 * More operations.
 discard a711689368 * First remote operation: isValidPath().
 discard 765bdfe542 * When NIX_REMOTE is set to "slave", fork off nix-worker in 
slave   mode.  Presumably nix-worker would be setuid to the Nix store user.   
The worker performs all operations on the Nix store and database, so   the 
caller can be completely unprivileged.
 discard 40b3f64b55 * Skeleton of the privileged worker program. * Some 
refactoring: put the NAR archive integer/string serialisation   code in a 
separate file so it can be reused by the worker protocol   implementation.
 discard 9adc074dc3 * Oops.
 discard 9cf1948993 * Skeleton of remote store implementation.
 discard 6ecb840fd1 * Put building in the store API.
 discard e2ef5e07fd * Refactoring.  There is now an abstract interface class 
StoreAPI   containing functions that operate on the Nix store.  One   
implementation is LocalStore, which operates on the Nix store   directly.  The 
next step, to enable secure multi-user Nix, is to   create a different 
implementation RemoteStore that talks to a   privileged daemon process that 
uses LocalStore to perform the actual   operations.
 discard 5f0b9de6d8 * Benchmarking Unix domain sockets.
 discard fe15f991e3 * Troubleshooting information on fixing a b0rked Berkeley 
DB database.
 discard 80b742dd52 * Don't spam.
 discard 92417600a1 * Example script to set permissions for setuid operation.
 discard 71e867c5f5 * Remove --enable-setuid, --with-nix-user and 
--with-nix-group.   Rather, setuid support is now always compiled in (at least 
on   platforms that have the setresuid system call, e.g., Linux and   FreeBSD), 
but it must enabled by chowning/chmodding the Nix   binaries.
 discard c6a97e3b74 * Doh!  Path sizes need to be computed recursively of 
course.   (NIX-70)
 discard a76efaeb3f * Dead files.
 discard d941186289 * Show more progress.
 discard 0541ddc7e3 * Turn off synchronisation between C and C++ I/O functions. 
 This   gives a huge speedup in operations that read or write from standard   
input/output.  (So libstdc++'s I/O isn't that bad, you just have to   call 
std::ios::sync_with_stdio(false).)  For instance, `nix-store   
--register-substitutes' went from 1.4 seconds to 0.1 seconds on a   certain 
input.  Another victory for Valgrind.
 discard 471749ca7e * Grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...
 discard 17d18b1a9c * Doh!
 discard 0ddaee756e * Doh.
 discard bce9ff7ece * Use the patched ATerm library.
 discard 745e354b19 * Push.
 discard f459a5bb3a * Remove the undocumented `noscan' feature.  It's no longer 
necessary   now that reference scanning is sufficiently streamy.
 discard e2a70b7ec0 * Magic attribute `exportReferencesGraph' that allows the 
references   graph to be passed to a builder.  This attribute should be a list 
of   pairs [name1 path1 name2 path2 ...].  The references graph of each   
`pathN' will be stored in a text file `nameN' in the temporary build   
directory.  The text files have the format used by `nix-store   
--register-validity'.  However, the deriver fields are left empty.
 discard e40d4a5604 * Option `--reregister' in `nix-store --register-validity'. 
 We need   this in the NixOS installer (or in the buildfarm) to ensure that the 
  cryptographic hash of the path contents still matches the actual   contents.
 discard e790404318 * Don't use the result of `uname -p' on x86_64 as it gives 
wacky   results on some machines. (NIX-69)
 discard 983c5e3fce * Fix the locking patch for Berkeley DB 4.5.
 discard 7e85a2af5f * Fix importing of derivation outputs.
 discard b3f916995a * Oops, `nix-build --no-out-link' was broken.
 discard 005eecfc4d * Release notes.
 discard 8478cd260f * readFile: don't overflow the stack on large files.
 discard 8d17265ac4 * Don't use EPSV.
 discard ae6fb27f18 * `nix-store --read-log / -l PATH' shows the build log of 
PATH, if   available.  For instance,
 discard 99b0ea7c67 * Typo reported by Arie Middelkoop. * Left out close-quote 
in example.
 discard dd300fb48d * Some better error messages.
 discard 1d694eef4c * Require Perl 5.8.0 or newer.  I mean, it *is* more than 
four years   old...
 discard 7a4497d98c * Checks for allowedReferences and some other features. * 
Use nix-build in a test.
 discard 17f4883bfe * Better message.
 discard 9bd93f7606 * toFile: maintain the references.
 discard b3d3700e11 * nix-build: check the exit status of `nix-store -r'.
 discard 6a67556f71 * Special derivation attribute `allowedReferences' that 
causes Nix to   check that the references of the output of a derivation are in 
the   specified set.  For instance,
 discard daa8f85fcd * Backwards compatibility hack for user environments made 
by Nix <= 0.10.
 discard 24737f279e * Backwards compatibility with old user environment 
manifests.
 discard 4bd5cdb90b * Print out the offending path.
 discard 58ff6939f4 * An awful backwards compatibility hack.
 discard 3059df0f1e * baseNameOf: paths don't have to be absolute.
 discard 822dba2210 * Maintain the references for the user environment properly.
 discard dfc042a0c1 * Another test.
 discard 9e30694f98 * Fix the tests wrt the AST changes, i.e., Str(s) -> Str(s, 
[]), and   the semantic changes.
 discard be1961c9f8 * toPath: should be the identity on paths.
 discard cba913c521 * dirOf: return a path if the argument is a path.
 discard cf705eaf78 * toString: don't copy paths.  So toString can be used to 
pass   non-store paths to a builder.
 discard 7de5fe2fc2 * Do the path check on the normal form.
 discard 46b631b6c4 * Don't generate an empty drvPath attribute in the manifest.
 discard d7efd76394 * Big cleanup of the semantics of paths, strings, contexts, 
string   concatenation and string coercion.  This was a big mess (see   e.g. 
NIX-67).  Contexts are now folded into strings, so that they   don't cause 
evaluation errors when they're not expected.  The   semantics of paths has been 
clarified (see nixexpr-ast.def).   toString() and coerceToString() have been 
merged.
 discard 4c9aa821b9 * Fix version.
 discard 142863a89d * Use Berkeley DB 4.5.
 discard 37c8a664f3 * A helpful message.
 discard e4af398681 * Don't crash when upgrading the Berkeley DB environment.
 discard 2a535689fe * Reduce the maximum archive size for patch generation to 
100 MB to   prevent trashing on nix.cs.uu.nl.
 discard 7d4567f2cc * Removed URIs from the evaluator (NIX-66).  They are now 
just another   kind of notation for strings.
 discard b4e012ab4d * Merge 0.10.1 release notes.
 discard 0c4c5c2020 * Quick hack to fix NIX-67: evaluation result differing if 
the Nix   expression resides in the store.
 discard bd0c40e1e9 * `import': unwrap the context.  Necessary to make `import 
(x + y)'   work, where x is a store path.
 discard 7bada48b36 * Bumped the version number to 0.11.
 discard e1cc84259c * Too lazy to document nix-push --copy.
 discard b3fc016061 * Translate Unicode quote characters to ASCII equivalents 
when   generating NEWS.txt.
 discard 3815d2d463 * Typos etc. * Set the release date.
 discard beee18de88 * Document nix-store --delete.
 discard eff573f563 * Work around a weird bug in the manpage generation.
 discard 9e08f5efe1 * Documented nix-store --dump / --restore.
 discard 8791ffbc88 * Documented new nix-env options.
 discard 99ef620c8c * Documented nix-instantiate --xml, --strict. * Added an 
example to the nix-build section.
 discard 8396b59286 * Documented --attr / -A.
 discard 5d769de8a3 * Document --arg.
 discard 6f2bfd92b6 * Manual.
 discard d98f750fd8 * tmpnam() -> File::Temp::tempdir().
 discard 34427a7b43 * Weird.
 discard a3fd53b9eb * Style tweak.
 discard 59ef0aaf3f * Strings.
 discard 407c9fd520 * Explanation of toXML example.
 discard 0ef3bd3c37 * Use GIF callouts instead of PNG since the GIFs have 
transparency.
 discard 4a7ece698b 
 discard bd4f1b4bb8 * Style tweaks.
 discard 96fa456a0a * An example of using toXML to pass structured information 
to a   builder and generate a Jetty configuration file with XSLT.
 discard 5fd44654db * toXML: propagate the context to allow derivations to be 
used in the   argument.
 discard 3837fb233c * Document the built-in functions.
 discard d20c3011a0 * toFile: added an additional argument to specify the store 
path   suffix, e.g., `builtins.toFile "builder.sh" "..."'. * toFile: handle 
references to other files correctly.
 discard 84e6c43e85 * Documented nix-hash.
 discard cfe35ca0e0 * Manual.
 discard 853252ac66 * Document the new let.
 discard ac19b333b3 * Finally, a real "let" syntax: `let x = ...; ... z = ...; 
in ...'.
 discard 7581cfdee4 * Hack for Bison 2.3 compatability.
 discard f316b6c1a9 * Manual updates (especially how nix-build makes testing 
packages much   easier; no longer need a helper expression).
 discard 91a01e6fcf * Manual.
 discard 88d422567e * One-click installs.
 discard 0212feeed6 * Document nix-install-package and the nixpkg file format.
 discard 070e07ed5a * Manual.
 discard 30c7db85d8 * Manual updates, some style improvements.
 discard e2eed05224 * Manual updates. * Documented nix-{pack,unpack}-closure.
 discard 4ad6fb7ea3 * Fix setuid builds.
 discard 015ac7c7da * Release notes.
 discard a9a6356ffc * Release notes.
 discard e47d42536f * Release notes.
 discard 5ca45d085e * Use "propagated-user-env-packages", not 
"propagated-build-inputs"   for packages that should be propagated to the user 
environment.
 discard 02f2335712 * Propagated packages now have lower priority; they are 
symlinked   *after* the packages that have been explicitly installed, and   
collisions are ignored.
 discard 3632019b73 * Quick hack to let nix-install-package set the package 
name properly   (e.g., "java-front-0.9pre15899" instead of "java-front";   
particularly important when doing upgrades later on).
 discard d43565c3e8 * In `nix-channel --update', skip manifests that assume a 
Nix store at   a different location than the user's.  This makes channels 
usable as   a source deployment mechanism for people who install Nix under   
non-standard prefixes.  (NIX-57)
 discard 68ae953d8a * Clean up calls to system().
 discard 76c9710091 * Use builtins.toPath.
 discard e347033f71 * The result of a concatenation with a derivation on the 
left-hand   side should be a path, I guess. * Handle paths that are in the 
store but not direct children of the   store directory. * Ugh, hack to prevent 
double context wrapping.
 discard 0e705391db * Primop `toPath' to convert a string to a path. * Primop 
`pathExists' to check for path existence.
 discard e47e0c2dbe * Builtin function `getEnv' for getting environment 
variables.
 discard df8873e14a * lessThan primitive for integer comparison.
 discard 2ab4bc44c7 * Builtin function `add' to add integers. * Put common test 
functions in tests/lang/lib.nix.
 discard d315210612 * Added a builtin function `isList' to test whether a value 
is a list.   With this primitive, a list-flattening function can be implemented 
  (NIX-55, example is in tests/lang/eval-okay-flatten.nix).
 discard c02a44183f * Builtin functions `head' and `tail' to return the head 
and tail of   list.  Useful for lots of things, such as implementing a fold   
function (see NIX-30, example is in tests/lang/eval-okay-list.nix).
 discard 8a1ab709a4 * New builtin functions builtins.{hasAttr, getAttr} to 
check for   attribute existence and to return an attribute from an attribute   
set, respectively.  Example: `hasAttr "foo" {foo = 1;}'.  They   differ from 
the `?' and `.' operators in that the attribute name is   an arbitrary 
expression.  (NIX-61)
 discard 666babbbfa * Use a bounded amount of memory in scanForReferences() by 
not reading   regular files into memory all at once.
 discard 385c6f8737 * Supply the 64-bit ATerm patch, but don't apply it (since 
that   requires rerunning Autoconf/Automake).  Interested users should do   
that themselves.
 discard d22d7565f3 * Don't allocate the buffer twice.
 discard b43aeadbc9 * Don't allocate more than SIZE_MAX bytes.
 discard 4cab35d1a6 * Build with -D_FILE_OFFSET_BITS=64 to support files >= 
2^31 bytes   (NIX-22).
 discard 25df501704 * GC options in nix-store --help (NIX-15).
 discard 0bd5eb71a0 * `nix-install-package --url': install from a URL (NIX-12). 
* `nix-install-package --help' (NIX-9). * `nix-install-package 
--non-interactive': don't prompt or pause. * Tests for nix-install-package. * 
Security fixes: filter the values obtained from the nixpkg.
 discard 4e91d8621f * Fix comment.
 discard ee5040421f * Try konsole and gnome-terminal in addition to xterm.
 discard 1bdc152931 * Shut up a warning.
 discard 1b804f88e4 * Absolute path to rm (NIX-51). * Don't hardcore /nix/bin 
and /nix/store.
 discard 0623359fbc * Print a better error message for wrong hashes (NIX-49).
 discard 22d13d6ec2 * Check for patch (NIX-59).
 discard 947e645789 * Hide warnings about a missing "lsof" (NIX-54).
 discard a060adf165 * Use paths, not strings, when calling the function that 
generates   NARs.  Fixes the impurity of nix-push (NIX-21). * Better help.
 discard 7dd342e482 * Doh.
 discard ee6cf99660 * Doh!  Of course we have to take execute permission into 
account. * Restore the mtime on modified directories.
 discard 6dbed1bf38 * `optimise-store.pl' reduces disk space consumption by 
hard-linking   all identitical files in the Nix store to each other.  
(Previously   it only computed the size that would be saved by doing so.)
 discard 07cec27848 * Cleanups.
 discard 9488ae7357 * `show-duplication.pl', a small utility that shows the 
amount of   package duplication present in (e.g.) a profile.  It shows the   
number of instances of each package in a closure, along with the   size in 
bytes of each instance as well as the "waste" (the   difference between the sum 
of the sizes of all instances and the   average size).
 discard e0afaf1857 * Wow, that bug has been there since r764.
 discard 86cbd93ec1 * nix-env --switch-generation / --list-generations /   
--delete-generations: lock the profile to prevent (extremely   unlikely) race 
conditions.
 discard 5c38c863bd * Fix a huge gaping hole in nix-env w.r.t. the garbage 
collector.   Nix-env failed to call addPermRoot(), which is necessary to safely 
  add a new root.  So if nix-env started after and finished before the   
garbage collector, the user environment (plus all other new stuff)   it built 
might be garbage collected, leading to a dangling symlink   chain in 
~/.nix-profile...
 discard f00bc4c94c * "Too many links" error.
 discard 01d169f817 * Support `++'. * More follow restrictions on layout.
 discard feb63da431 * Remove debug message.
 discard a04a65d7a5 * Release notes.
 discard 2e210b2387 * Convenience option `nix-collect-garbage -d' 
(--delete-old): removes   old generations of *all* profiles in 
/nix/var/nix/profiles, then   runs the garbage collector.  Quick way to get rid 
of all old stuff.   Of course, one cannot roll back to earlier points in time 
after   this.
 discard 89ac8db74f * Package the include directory.
 discard a89a201598 * Missing #include.
 discard fc195519b5 * Sone missing #includes.
 discard bafc1690fc * Move setuid stuff to libutil. * Install libexpr header 
files.
 discard e5a6c09b12 * Install header files in /nix/include/nix.
 discard 4be5443882 * Remove unnecessary inclusions of aterm2.h.
 discard 2382a729e0 * Don't need extern "C".
 discard e3ce954582 * Compile the lexer as C++ code.  Remove all the redundant 
C/C++   marshalling code.
 discard 75068e7d75 * Use a proper namespace. * Optimise header file usage a 
bit. * Compile the parser as C++.
 discard aab8812732 * Store the Nix libraries in ${libdir}/nix instead of 
${libdir}.
 discard 7974aae81c * New primop: builtins.toFile, which writes a string into 
the store   and returns its path.  This can be used to (for instance) write   
builders inside a Nix expression, e.g.,
 discard de90fdf908 * Allow "$" in strings as long as they are not followed by 
"{".  (Too   bad flex doesn't have lexical restrictions, the current solution   
isn't quite right...)
 discard c9586b6c3f * Fix race condition in the test.
 discard c25f688e23 * Doh! Doh! Doh!
 discard 354d58b3d7 * Better error checking.
 discard f93f7b75be * Okay, that's a bit harder than expected.
 discard dce1afdc67 * TDD: == should do a deep equality test, i.e., it should 
strictly   evaluate its arguments.
 discard 3151bdea55 * Uninitialised variable.
 discard 547b119f25 * Support singleton values and nested lists again in 
`args', but print   a warning.
 discard 2132d9ddeb * Fix the ~ operator.
 discard 1f6616dabf * Backwards compatibility test for ~.
 discard 1ec9f55741 * In toString, deal with nested lists properly (i.e., 
flatten them).
 discard 1fca76870b * Removed processBinding, instead we now apply toString to 
all   derivation attributes to flatten them into strings.  This is   possible 
since string can nowadays be wrapped in contexts that   describe the 
derivations/sources referenced by the evaluation of the   string.
 discard 8a6080eb14 * Refactoring.
 discard 4b66cebe7b * Remove those storePath attribute sets, we don't need 'em.
 discard e5678b3435 * Map "ppc" to "powerpc" so that Linux on PowerPC will be 
reported as   "powerpc-linux".
 discard e64c4f5742 * Doh! (NIX-58)
 discard bf738f0070 * Honour DESTDIR so that bzip2/bunzip2 get installed in the 
right   location when building RPMs (fixes NIX-58).
 discard 3e8dccf6ab * Escape newlines in XML attributes to prevent them from 
being   normalised away.
 discard 215ec2ddc6 * New primop __toXML (or builtins.toXML) to convert an 
expression to   an XML representation stored in a string.  This should be 
useful to   pass structured information to builders.
 discard f793caf936 * Refactoring.
 discard da25d80152 * Strict evaluation and XML printing of lists.
 discard 943ab38a0d * Refactoring: move strictEval to libexpr.
 discard f41297fdce * Allow --arg in nix-env as well, example:
 discard 9638f3f393 * Pass the autoArgs to findAlongAttrPath so that 
"nix-instantiate   foo.nix -A attr --arg name value" will work if (name, value) 
is   needed in the evaluation leading up to "attr".
 discard b19cebc513 * Quotes.
 discard 38f18aa6d4 * New primop: abort "error message".
 discard 4a053bfdfd * A new primop `builtins', which returns an attribute set 
containing   all the primops.  This allows Nix expressions to test for new   
primops and take appropriate action if they're not available.  For   instance, 
rather than calling a primop `foo' directly, they could   say `if builtins ? 
foo then builtins.foo ... else ...'.
 discard 68515b5a96 * Release notes.
 discard 561a07f51d * Revert unintentional commit.
 discard 93d9797eda * Urgh (see NIX-56).
 discard 1a9a1f2768 * Convert to DocBook 5. * Use Jing for RelaxNG validation, 
xmllint seems buggy.
 discard cc0505f033 * Distribute *.exp.xml.
 discard 4874fd2d9a * Test for `nix-instantiate --eval-only --xml'.
 discard 24e234a2fa * Print attributes in sorted order, rather than the 
arbitrary order   produced by ATermMap.  Necessary for testing. * `--strict' 
should also work on stdin.
 discard 22ba63df16 * More XML output.  `--strict' to strictly evaluate 
attribute sets and   so on. * Removed `--print-args', it's subsumed by 
`--eval-only --xml'.
 discard 18e4ac0fc6 * `nix-instantiate --{eval|parse}-only --xml': print an XML 
  representation instead of an ATerm. * Indent XML output.
 discard fe101fa785 * Meh.
 discard 2670642733 * Handle carriage returns.  Fixes NIX-53.
 discard bfe19b3c37 * A test for NIX-53.
 discard 3e5b68068b On cygwin, disable the check that the output is not group 
or world writable. File permissions on Cygwin are rather complex, and in this 
case this check introduced a problem with build jobs invoke from outside of 
Cygwin (MSYS). It seemed almost impossible to fix the permissions of the 
directory, so for now this safety check is disabled on Cygwin.
 discard 7455fd8835 * Put the value in an attribute.
 discard 4250b641d8 * `nix-store --gc --print-dead': print the total size of 
the store   objects that would be freed.
 discard 92f7dfa5b7 * Don't assume that paths returned by the runtime root 
finder are   valid.
 discard d19b6521fc * New configuration setting `build-max-jobs' which sets the 
default   for the `-j' flag (i.e., the maximum number of jobs to execute in   
parallel).  Useful on multi-processor machines.
 discard 3e239a37ff * file:/ -> file://
 discard f1aa71a92f * Fix the help message wrt --attr.
 discard a18d02e0b0 * Print a warning that the subpath operator (~) is 
deprecated.
 discard c0bfcbdd45 rework the --target flag. If this flag is used, a URI 
should be given. Default values are not changed.
 discard a0607be7f4 * Workaround for a bug (?) in GCC 2.95.
 discard 5a6b45e252 * In nar.nix, path -> storePath, otherwise we get a 
collision between   environment variable names on Cygwin (where they are case   
insensitive).
 discard a61129c48c add coreutils to the default PATH for this scripts, so we 
know for sure we have tools like rm, mkdir, and so on
 discard f1947cce93 prevent doing recursive chroots, by unsetting NIX_ROOT in 
the scripts.
 discard 1854f84e83 * Fix a few warnings.
 discard dcff8cdb76 * Weird issue on Cygwin with the include file order.
 discard f4a502a09a * Use old-school pipe opens; the new style is Perl >= 5.8.0.
 discard 981eff065b * Remove the dependency on `date', use strftime instead.
 discard 339e6f0e1d * `nix-env -q --xml': show query result in XML format for 
easier   automated processing.
 discard 0e267e2625 * `nix-instantiate --print-args': produce XML output so 
that the   result can be used more easily by scripts.
 discard 4750f6c5ed * Simple class for writing XML files.
 discard fcb784051f urgh...for some weird reason this one-liner was not in svn. 
PEBKAC!
 discard a29b64a231 * Better error checking.
 discard 4fde308ec0 add a flag --target, so we can override the URL in the 
MANIFEST file. This is only for local copies (so file:///)
 discard 601a8eab79 * Ugh.  Darwin's chmod insists that flags come before the 
mode   specification.
 discard 6ac237e242 * Show some progress.
 discard 4661282fde * `nix-instantiate ... --arg NAME VALUE': allow arguments 
to be passed   to functions from the command line. * nix-build: started 
removing backticks.
 discard c11839d7b2 * `nix-instantiate --print-args': print out the valid 
values for   functions arguments that have a domain.
 discard ca2238cf81 * Refactoring: get the selection path stuff out of 
getDerivations()   and put it into a separate function findAlongAttrPath().
 discard 2317d8f671 * `nix-instantiate --print-args' prints out the arguments 
of a   top-level function.
 discard 0e6dc72a7a * Applied rbroek's patch from the branch at   
https://svn.cs.uu.nl:12443/repos/trace/buildfarm-control/trunk/ext/nix/,   with 
some modifications.  This allows `nix-env -qa' to show the   attribute path 
that can be used to unambiguously install a package   using `nix-env -i -A'.  
Example:
 discard b11aeb2c4b * Doh.
 discard 5744dd5480 * Support the --attr / -A flag in nix-env as well.  So now 
we can do,   e.g.,
 discard 7a3a5d1608 * When there is a domain check, we have to evaluate the 
argument.   Can't be lazy!
 discard f4c5531d92 * New language feature: domain checks, which check whether 
a function   argument has a valid value, i.e., is in a certain domain.  E.g.,
 discard 88acffa20a * `touch' might not be in $PATH.
 discard b545c669a0 * Tests for domain checks.
 discard 57751fdb55 * Refactoring to support domain checks.
 discard 9c3099d328 * Purify `make check'.
 discard 7adaa6d446 * Test for runtime root finding.
 discard dcded7da47 * Don't try to do DNS lookups.
 discard a4273156c4 * Use $(libexecdir) to find find-runtime-roots.pl.
 discard 410760c5ab * Doh.
 discard ee2cf45d76 * Use debug().
 discard eca30e12e1 * svn:ignore.
 discard c15f544356 * Call find-runtime-roots.pl from the garbage collector to 
prevent   running applications etc. from being garbage collected.
 discard ebcccbd358 * Added a tool to find additional roots for the garbage 
collector,   such as open files, current directories, mmaped files, etc.  This 
is   inherently unportable, but it's easy to adapt this script to other   
platforms.  Currently we call `lsof' and try to read various bits in   
/proc/NNN.
 discard 88e54153dc * Add a precise test for hashDerivatioModulo.
 discard 4f3725b167 * Better error messages (especially wrt types).
 discard e10b830251 * Doh!  Of couse we cannot memoize across scopes.
 discard 2b4b0658fa * This expression has an undefined variable which isn't 
detected, so   evaluation fails:
 discard d51aede4af * Allow the canonical system name to be specified at 
runtime in the   Nix config file.
 discard a945fb7905 * `nix-env --upgrade --eq': only upgrade if the old version 
is equal   to the new version.  This is actually useful.
 discard f4a3a280db * Apply the ATerm aliasing patch so that Nix works 
correctly with gcc 4.1.x.
 discard dbf6d7e783 * Concurrent GC on Cygwin.
 discard cc51f9c539 * Oops.
 discard 5bb3444032 * _exit() doesn't seem to work right on Cygwin.
 discard b35735d8b2 * On Windows we cannot delete open (lock) files, so we 
delete lock   files after we've closed them.  Since this only succeeds if the 
lock   is no longer opened by any process, the token trick used on Unix is   
not necessary.
 discard 0e783e5579 * Write messages to stderr in a slightly more atomic way.  
Useful when   there are several parallel processes.
 discard d7f40357e3 * Skip this test on Cygwin, too slow (and doesn't test 
anything Cygwin-specific).
 discard c937b73622 * Show when we're blocked waiting for a lock.
 discard 588cb0eade * In `nix-env -i|-u|-e', lock the profile to prevent races 
between   concurrent nix-env operations on the same profile.  Fixes NIX-7.
 discard 49de87132f * Removed.
 discard 48e4a3231b 
 discard b454977909 * Fix for a problem with BSD's group ownership semantics 
when the user   is not in the "wheel" group.
 discard 3a68622dda * Oops.
 discard 370af25eff * Fix for a locking bug in Berkeley DB on Cygwin.
 discard 23960e92df * Minor cleanup.
 discard 2d456fc35a * On Cygwin, set the system type to i686-cygwin, and 
disable dynamic   linking.
 discard bb84984f3f * svn:ignore.
 discard 50fe85f016 * For fixed-output derivations, pass the environment 
variables listed   in the attribute variable `impureEnvVars' from the caller to 
the   builder.
 discard 04cf72287b * This may be useful in the future.
 discard 1390ce4142 * Not all platforms have sys/select.h.
 discard b1c63dc362 * Don't use badTerm, it gives awful error messages.
 discard c7d9397fc9 * Handle $PATHs with spaces.
 discard 58b4198ed8 * Disable the concurrent garbage collector on Cygwin for 
now.
 discard d764409d97 * Some Cygwin fixes.
 discard b5988004d6 * Support for srcdir != builddir (NIX-41).
 discard 9d72bf8835 * 64-bit compatibility fixes (for problems revealed by 
building on an Athlon   64 running 64-bit SUSE).  A patched ATerm library is 
required to run Nix   succesfully.
 discard e3c07782d1 * Remove old manifests in `nix-channel --update'.
 discard c54287eafe * GCC 2.95 compatibility.
 discard 8b5aa91aa7 
 discard 5cabd47394 * Allow function argument default values to refer to other 
arguments   of the function.  Implements NIX-45.
 discard 310e605995 * Show evaluation stats when NIX_SHOW_STATS=1.
 discard 0832956089 * Use the new ATermMap.
 discard 9840368cad * Iterators.
 discard 6980544467 * Keep some statistics about memory allocation.
 discard b803fb95cb * Maintain the count field properly.
 discard db0d865ec4 * New ATermMap, seems more-or-less finished.
 discard 052cefe1bd * Started hacking on a ATermTable replacement, since 
ATermTable uses   gigantic amounts of memory --- 65536 bytes per table at least 
---   which makes it unsuitable for representing short-lived substitution   
tables and attribute sets.
 discard d300b4383d * Optimise null-ary term builders.  Also declare all term 
builder   functions as pure, which might improve performance a bit.
 discard 68174bdc7d * Use a linked list of substitutions.  This reduces the 
amount of   copying.
 discard c791e94aee * Removed a bunch of ATreverses.
 discard b52e711910 * Huge reduction in memory use (2/3 or so on large nix-env 
-qas   operations): share ATermMaps between DrvInfos.
 discard 11ae2d1e7a * Memory reduction: replaced expensive calls to 
ATmakeApplList by   ATmakeApplArray, and got rid of ATreverse in substitute().
 discard dc719e6ba5 * Some preliminaries towards NIX-45.
 discard ae55e79541 * More tests.
 discard dca43ef795 * Tests for NIX-45.
 discard 7276e194ee * Disallow unescaped $ in string literals.
 discard 0064599a27 * String interpolation.  Expressions like
 discard 6cecad2be0 * Allow string concatenations involving derivations, e.g.,
 discard cce31b739c * svn:ignore
 discard 6fca1b82ae * Change this to LGPL to keep the government happy.
 discard de8f2d061c * Install only the header file and libraries from Berkeley 
DB.
 discard e18c93169c * Create libexec.
 discard 0748331b70 * Typo.
 discard 03162f8f47 * Unless --with-bzip2 is specified, use a copy of bzip2 in 
the   externals directory.  This is in particular useful because though   most 
systems have bzip2/bunzip2, they don't always have libbz2,   which we need for 
bsdiff/bspatch.
 discard ef2d4a2da9 * Print a more useful stack trace when an error occurs deep 
in the   derivation dependency graph.
 discard b69e469328 * In `nix-env', look for derivations inside attribute sets 
that have   the `recurseForDerivations' attribute set to `true'.
 discard 49ce8b57dd * Hm.
 discard 20675feeab * Update copyright.
 discard 05bb644890 * Allow the resulting symlink of nix-build to be named, 
e.g.,
 discard fdea084c36 * Allow `make check' to work in directories that have 
symlink   components.
 discard 37d1b1cafd * `nix-env -qa --description' shows human-readable 
descriptions of   packages (provided that they have a `meta.description' 
attribute).   E.g.,
 discard a33fb2d287 * Oops.
 discard 2b3b6c9b34 * In theory, this should reduce the number of ATermMap   
re-allocations.
 discard 4ada6db1fc * `nix-env -q' now accepts arguments that allow specific 
derivations   to be queried, e.g., `nix-env -qa firefox'.  This does require 
the   argument '*' to be passed if one wants information about all   
derivations, so the old `nix-env -qa' now is `nix-env -qa "*"'.
 discard 9811815429 * Write messages to stderr, not stdout.
 discard 18c321308d * Ugh, printHash() was very inefficient because it used   
ostringstreams.  Around 11% of execution time was spent here (now   it's 0.5%).
 discard b90c00e63f * Regression: semantics of the result of getDerivation() 
changed.
 discard 922697c8b2 * Big speedup (factor > 2.5) in all nix-env operations that 
do actual   instantiation, e.g. "nix-env -i" and "nix-env -qas" (but not   
"nix-env -qa").  It turns out that many redundant calls to   addToStore(path) 
were made, which reads and hashes the entire path.   For instance, the bash 
bootstrap binary in Nixpkgs would be read and   hashed many times.  As a result 
nix-env would spend around 92% of   its time in the function sha256_block 
(according to callgrind).   So [...]
 discard 6dca5c9099 * When obtaining derivations from Nix expressions, ignore 
all   expressions that cause an assertion failure (like `assert system ==   
"i686-linux"').  This allows all-packages.nix in Nixpkgs to be used   on all 
platforms, even if some Nix expressions don't work on all   platforms.
 discard 9088dee9e2 * Some refactoring of the exception handling code so that 
we can catch   Nix expression assertion failures.
 discard fa72ae1e9c * GCC 4.1 compatibility.
 discard c8bfb11b34 * `nix-env (-i|-u) --dry-run' now shows exactly which 
missing paths   will be built or substituted.
 discard 7ba1fd2029 * Regularise help text a bit.
 discard 120f00c04f * More online help.
 discard 2d54312f87 * Rewrote nix-build in Perl, since sh is just too limited 
(turns out   that arrays are a bash extension, so it didn't work on FreeBSD).   
Also fixes NIX-8 (readlink(1) dependency).
 discard 78d84f5631 * Tests for fixed-output derivations (and attribute 
selection, incidentally).
 discard 2167bf6b72 * Tests to prevent a repeat of the parseHash32 debacle.
 discard 70dee0f8ca * Flags `--to-base32' and `--to-base16' to convert between 
hex and   base-32 hashes.
 discard e136532800 * Ouch, parseHash32 was completely broken.  All digits >= 4 
were   parsed as 4.
 discard 74166f2f44 * db.hh shouldn't depend on the Berkeley DB headers.
 discard 1bdceb421f * Doh!
 discard d822bf32e4 * Close the database before the destructor runs.
 discard fa95f4be3f * More test coverage.
 discard 80b5c71684 * Doh!
 discard e3daee919d * Test `nix-store -q --binding'.
 discard ea9c35d3cc * Test `nix-store --add' and `nix-store -q --hash'.
 discard 30d051ff14 * New suppressions.
 discard b6780b9e10 * Uninitialised variable.  Fixes the --delete test.
 discard b602d2dfdf * Wrong delete.  Thanks valgrind.
 discard b90787290d * TDD! Woohoo!
 discard 089c41a0c2 * Oops!
 discard ca0b23c831 * Test the nix-store --gc subflags.
 discard 5cb6c42088 * Test nix-build.  This also tests indirect roots.
 discard 8cd646b6af * Clear the substitutes prior to running the test.
 discard e48bd8c8b5 * Add a test for nix-log2xml.
 discard 458820df6c * Generate valid HTML.
 discard 6b8bb8d74a * Remove dead code.
 discard 84c4631221 * Simplification.
 discard a4c63c6e8e * Make it easy to run individual tests from the command 
line.
 discard 85793fa438 * Remove debug statement.
 discard e2f16b9cae * A script to remove from a manifest those patches whose 
base or   target no longer applies to any available release.  This is a   
partial fix for NIX-34 (when producing linear patch sequences   between 
releases, the number of patches grows without bound).
 discard 5168f9bb00 * Canonicalise manifests a bit by sorting them.
 discard 9d3bee50ad * Aha!
 discard 17f39049cf * WTF?
 discard 43fa1c20e7 * Separate the cache reading code.
 discard 928cce5922 * Directory for nix.cs.uu.nl manifest / cache maintenance 
scripts.
 discard fcec32a2c5 * Use right directories for NAR files and patches. * Print 
errors to STDERR.
 discard f0d6318dd1 * More tests.
 discard ddb78dfc3d * Check whether "nix-store -q --graph" generates a valid 
dot graph. * Test "nix-store -q --tree" as well.
 discard 46f0cb0869 * In "nix-env -i", print a warning if there are multiple 
derivations   with the same name *and* version number, and pick the first one   
(this means that the order in which channels appear in   ~/.nix-channels 
matters).  E.g.:
 discard 7a3e715980 * Fix for NIX-31: "nix-env -i foo" installing all 
derivations named   foo.  Now it will only install the one with the highest 
version   number.
 discard 58fc420b36 * And another test.
 discard 4ddd5ff39c * Regression test for NIX-31.
 discard 889ef564fd * Fix the infamous NIX-17: nix-env -i prints misleading 
messages   ("installing `foo'" followed by "uninstalling `foo'").
 discard 345a95afe9 * Allow the size of the GC reserved file to be specified in 
nix.conf   through the new `gc-reserved-space' option.
 discard 651ab439cf * A simple hack to fix NIX-18: the garbage collector cannot 
run when   the disk is full (because to delete something from the Nix store, we 
  need a Berkeley DB transaction, which takes up disk space).  Under   normal 
operation, we make sure that there exists a file   /nix/var/nix/db/reserved of 
1 MB.  When running the garbage   collector, we delete that file before we open 
the Berkeley DB   environment.
 discard d6f586d0ea * Optional switch "--with-openssl=<PATH>" to use OpenSSL's  
 implementations of MD5, SHA-1 and SHA-256.  The main benefit is that   we get 
assembler-optimised implementations of MD5 and SHA-1 (though   not SHA-256 (at 
least on x86), unfortunately).  OpenSSL's SHA-1   implementation on Intel is 
twice as fast as ours.
 discard e8475bbd5b * Use a union.
 discard 2d2e28d02c * Override YYMALLOC and YYFREE so that we can call 
AT[un]protectMemory   on the Bison parse stack.  Otherwise, a garbage collect 
during   parsing could lead to a crash.
 discard 0ca0a4da9f * Valgrind suppressions for the ATerm library.  The ATerm 
library uses   a conservative garbage collector that scans the stack and parts 
of   the heap for pointers to ATerms.  This scan can touch uninitialised   
memory, which is harmless.  Use:
 discard da0a6b6499 * Doh.
 discard 982399bb14 * Enable the --attr in nix-build as well (and add -A as an 
alias).   Example:
 discard c6120352b3 * In nix-instantiate, allow us to specify a "path" to the   
derivation(s) we're interested, e.g.,
 discard b505f9eaf5 * Document that nix-instantiate can read from stdin.
 discard 9e51abc7dc * Make --parse-only work when *not* reading from stdin.
 discard f848a45739 * Cleanup: use the code shared with nix-env.
 discard 4eb637c799 * When querying all derivations, filter out syntactically 
equal derivations.
 discard 8688e83194 * When evaluating, automatically call functions with 
default arguments.
 discard f8aadf14c3 * Test-driven development, woohoo!  nix-env should work on 
functions,   provided that all arguments have defaults.
 discard 287d0ef41c * Oops, fix breakage.
 discard e771e59178 * Tests for nix-env, finally!
 discard 39f50db731 * Refactoring: move derivation evaluation to libexpr.
 discard 4db4b61380 * Don't install nix.conf (so it won't be overriden when you 
upgrade an RPM).
 discard 81de538e46 * Use setsid instead of setpgrp in child processes.  This 
not only   creates a new process group but also a new session.  New sessions   
have no controlling tty, so child processes like ssh cannot open   /dev/tty 
(which is bad).
 discard b90daaaf6c * When killing a build hook, kill the entire process group 
(as   intended).  This ensures that any ssh child processes to remote   
machines are also killed, and thus the Nix process on the remote   machine also 
exits.  Without this, the remote Nix process will   continue until it exists or 
until its stdout buffer gets full and it   locks up.  (Partially fixes NIX-35.)
 discard 6e2eaaec96 * Print a better error message when writing the patched 
file (e.g.,   "No space left on device" instead of "Success").  Reported by 
Karina   Olmos.
 discard d9d6ff9f8e * Doh.
 discard 8291f6d968 * bsdiff updated to 4.3.  This makes Nix depend on libbz2.
 discard 9e4ffc43a2 * The "S" bit should be based on the output path, not the 
derivation path.
 discard 3eba483692 * Use Berkeley DB 4.4.20.
 discard 151f10dbc7 * Add @bindir@.
 discard 83424eb71b * Don't force a build of derivations.
 discard db2275cb99 * Oops, the "I" bit in "nix-env -qas" was broken.  Reported 
by Nicolae Vintila.
 discard 1029716a8a * Don't show cycles, they're not very useful.
 discard e4d4969ae9 * New tools nix-pack-closure and nix-unpack-closure.  These 
provide a   useful way to transfer the closure of a store path to another   
machine.
 discard 5b527901ae * dirOf: return "/", not "", for paths in the root 
directory.  Fixes NIX-26.
 discard 04be39734f * Resolve all symlink components in the location of the 
temporary   build directory (TMPDIR, i.e., /tmp).  Fixes NIX-26.
 discard 0f8d3c871b * More GCC 2.95 compatibility.
 discard 52d20ef124 * Hack around a GCC 2.95 bug.
 discard 1440419b45 * GCC 2.95 compatibility.
 discard 1d2460ee5d * Documentation fixes.
 discard f96d2dea26 * Added a flag `--ignore-liveness' to `nix-store --delete'. 
 It   deletes a path even if it is reachable from a root.  However, it   won't 
delete a path that still has referrers (since that would   violate store 
invariants).
 discard 4b9e7f59ca * Revived the old "nix-store --delete" operation that 
deletes the   specified paths from the Nix store.  However, this operation is   
safe: it refuses to delete anything that the garbage collector   wouldn't 
delete.
 discard 3c5619c7e4 * Begin release notes.
 discard 530b27df1e * `nix-store --gc' prints out the number of bytes freed on 
stdout   (even when it is interrupted by a signal).
 discard 5144f750c4 * Typo.
 discard b1eed6b586 * Split the database upgrade into multiple transactions to 
prevent   Berkeley DB from running out of locks.
 discard 11a8dc76d6 * Doh!
 discard ab5c6bb3a3 * Change `referer' to `referrer' throughout.  In 
particular, the   nix-store query options `--referer' and `--referer-closure' 
have   been changed to `--referrer' and `--referrer-closure' (but the old   
ones are still accepted for compatibility).
 discard d87549c1c7 * Automatically delete the old referers table.
 discard 8463f27d8c * Fix NIX-23: quadratic complexity in maintaining the 
referers   mapping.  The referer table is replaced by a referrer table (note   
spelling fix) that stores each referrer separately.  That is,   instead of 
having
 discard 18bbcb1214 * Add a test to demonstrate the quadratic complexity of 
referrer   (de)registration, in particular garbage collection (NIX-23).
 discard a33b561a6b * Use Berkeley DB 4.4's process registry feature to recover 
from   crashed Nix instances, and toss out our own recovery code.
 discard eb268a7f95 * Apply the patch.
 discard dfffd92568 * A patch to make the DB_REGISTER feature work when debug 
info is not on.
 discard 760264bffe * Require Berkeley DB 4.4. * Checkpoint after an upgrade.
 discard dc528128cc * FreeBSD compatibility fix.
 discard 44409f52c1 * "Fix" the test, since we cannot feasibly support the 
intended semantics.
 discard b7f008fc35 * Did something useful while waiting at IAD: reference 
scanning is now   much faster.
 discard 9311ab76a5 * Install signal handlers for SIGTERM and SIGHUP.  This 
ensures that   Nix is properly shut down when it receives those signals.  In   
particular this ensures that killing the garbage collector doesn't   cause a 
subsequent database recovery.
 discard 5bf939885a * Memoise checkVarDefs since internally produced terms 
(i.e., not the   result of parsing) can have very heavy sharing, causing 
exponential   complexity if we naively recurse into them.  ATerms are graphs, 
not   trees!
 discard 1f285cf556 * Scoping bug in `with'.
 discard 221c79013f * Turn off build hooks in nix-push because of an impurity 
(NIX-21).
 discard f0856fd905 * Repair the referers table from the references table.
 discard 92d599c6a7 * Prevent uids from being used for more than one build   
simultaneously.  We do this using exclusive locks on uid files in   
/nix/var/nix/userpool, e.g., /nix/var/nix/userpool/123 for uid 123.
 discard e932c40f8e * Oops.  Fixed-output derivations were broken.
 discard 1b43fbd8e4 * Oops, that should be Berkeley DB 4.3.  Reported by Gerco 
Ballintijn.
 discard 13b089c890 * Also kill all processes of the build user after the 
build.  This is   critical to prevent certain kinds of 0wnage.
 discard f1b3a418fa * Before starting a build under some uid, kill all current 
processes   running under that uid.
 discard 439823ae80 * Check that the build result is owned by the build user, 
and that   nobody else has write permission to the build result.  This catches  
 most hack attempts.
 discard 7ef574e5d0 * Don't use FIFOs to make Nix create the output path on 
behalf of the   builder.  Instead, require that the Nix store has sticky 
permission   (S_ISVTX); everyone can created files in the Nix store, but they   
cannot delete, rename or modify files created by others.
 discard 32282abcea * Beginning of secure multi-user Nix stores.  If Nix is 
started as   root (or setuid root), then builds will be performed under one of  
 the users listed in the `build-users' configuration variables.  This   is to 
make it impossible to influence build results externally,   allowing locally 
built derivations to be shared safely between   users (see ASE-2005 paper).
 discard 15ff877438 add @coreutils@ to correctly use coreutils to create a 
profile. This is needed for NixOS, where we might not know our PATH in advance.
 discard 0f133ae8d2 * Use ATerm 2.4.2.
 discard dfbf520ec2 * Swap the system and version comparion columns.
 discard 62412c5874 * Document `nix-env --compare-versions'.
 discard cec2be64f3 * Only colorise if we are attached to a terminal.
 discard b87b9c0d1f * New query option: `--compare-versions' or `-c' to compare 
installed   versions to available versions, or vice versa.
 discard 0e0041b2b6 * Update NEWS in the root directory properly.
 discard 0e38578433 * log2xml -> nix-log2xml.
 discard d47e03fccd * Install the XSL stylesheets for log to html conversion.
 discard ed4de220d2 * Use "source" instead of ".".
 discard ebfe57166d * Lets not go wild with templates.
 discard 4578a490ce * Parse multi-valued options.
 discard fbedf6056e * Merge release notes.
 discard 607a2f01e6 * Remove other uses of IPC::Open2.
 discard 95304172a5 * Don't use IPC::Open2, it has a subtle race bug on Mac OS 
X 10.4.  If   the parent runs before the child, it closes some pipe file   
descriptors which causes the child to fail due to a bad file   descriptor.  So 
we just use the normal open() function instead.
 discard a864aca44c * This doesn't parse for now.
 discard 8d06842a76 * Configuration options for trusted local builds.
 discard 89cd0f57b1 * Use -all_load on Mac OS X.
 discard ef9e2c8e73 * Typo.
 discard 25d217684b * Use a statically linked ATerm library and build it at 
-O1, since   higher optimisation levels cause statically linked libraries to   
barf.
 discard f4fe3bd5b1 * Bump the version number to 0.10.
 discard db1a4227a3 * Updated release notes.
 discard c28b8eb699 * svn:ignores. * Add missing file to dist.
 discard 6f044ab39c * svn:ignore.
 discard d34fa9a6cc * Remove dead file.
 discard 846b53bde4 * Set the current directory to something well-defined.  
Might help in   setuid installations.
 discard 5c0770ac84 * Include the release notes in the manual.
 discard 1b62c2eba3 * Force release notes in ASCII, not UTF-8.
 discard d1d0271996 * Check for w3m.
 discard 7f384d9c1b * Use a proper temporary directory.
 discard 896c0b92f3 * This is not a GNU project :-P
 discard 5818e8eeaf * Remove dead code.
 discard 025086edea * Release notes in Docbook; ASCII release notes (i.e., the 
`NEWS'   file) is now generated from that using `w3m' and some XSL hackery.
 discard ed1db42915 * List concatenation must be right-associative for 
efficiency.
 discard deb75bb414 * Remove debugging code.
 discard 116e939d57 * More debugging.
 discard 55b84357a1 * Debugging.
 discard cf2bb91ec8 * Missing #include.
 discard 699073c337 * Release notes.
 discard cb44aa03b8 * Use aterm 2.4.
 discard 2bcd65ecf6 * `nix-env -e' corrupts memory due to incorrect use of 
iterators.   Reported by Rob Vermaas.
 discard e1a6fb7870 * `dependencyClosure' now allows a search path, e.g.,
 discard 08c53923db * A primitive operation `dependencyClosure' to do automatic 
dependency   determination (e.g., finding the header files dependencies of a C  
 file) in Nix low-level builds automatically.
 discard 714b7256cd * Cleanup; sync with thesis.
 discard 0399365675 * nix-hash: option `--truncate' to truncate the hash to 160 
bits.  Hmm,   kind of ad hoc ;-)
 discard 2fd22c6360 * Add .libs to svn:ignore.  Commit 3500 ;-)
 discard c680f835c9 * Escape ASCII characters < 32 to Unicode FFFD (REPLACEMENT 
CHARACTER)   so that we don't produce un-wellformed XML.
 discard f450c8ea2f * Oops.  XSL stylesheet to mark errors.
 discard 800a6ff845 * Mark error lines in red, and expand subtrees containing 
errors   automatically.
 discard 78c72bf10e * channels -> channels-v3, catamaran -> nix.cs.uu.nl.
 discard 991a130b1e * Added a list concatenation operator:     [1 2 3] ++ [4 5 
6] => [1 2 3 4 5 6]
 discard e6899794ae * Add $prefix/lib to the RPM.
 discard 33efb52e02 * Hack to get around the libtool wrapper script around 
nix-store not   working when PATH is unset.
 discard 3fae65d4cc * Adhockery.
 discard 4c20a08293 * Build dynamic libraries.
 discard 1a67154d41 * Release notes.
 discard 0f827cc607 * Prevent repeated wrapping of closed terms   
(closed(closed(closed(...)))) since this reduces performance by   producing 
bigger terms and killing caching (which incidentally also   prevents useful 
infinite recursion detection).
 discard 2135e7c041 * Wat cleanups.
 discard 6f82a78de7 * Define paths using regexps, as is done in the Flex 
definition.
 discard 6f91f02f75 * Make the rejects a bit more compact. * Add lexical 
restrictions for keywords.
 discard 9590009a74 * Fix ambiguity.
 discard f797cb5855 * Revive and update the SDF grammar for Nix expressions.
 discard a5ceb5bc0b * nix-build: default to `./default.nix' if no paths are 
specified.   So when using Nix as a build tool, you can just say `nix-build' 
and   it will build the top-level derivation defined in `default.nix'.
 discard d4879b4dfe * Add curl to the RPM dependencies.  Should fix NIX-11.
 discard 22d3587f3b * In nix-instantiate, at top-level, call functions that 
have arguments   with default values automatically.  I.e., e -> e {}.
 discard 928a7c06dc * Don't create patches for archives >= 150 MB because 
bsdiff can't   handle it.  It crashed on the 234 MB tetex archive.  Probably we 
  will never be able to handle archives of that size on 32-bit   machines 
(because bsdiff does everything in memory requiring   max(17*n,9*n+m)+O(1) 
bytes, so the address space simply isn't   there).
 discard 040140dd1c * Added a primop `removeAttrs' to remove attributes from a 
set, e.g.,   `removeAttrs attrs ["x", "y"]' returns the set `attrs' with the   
attributes named `x' and `y' removed.  It is not an error for the   named 
attributes to be missing from the input set.
 discard 109cde6706 * Ignore (with a warning) invalid garbage collector roots.
 discard c09e47c68f * Some svn:ignores.
 discard 8be1db899e * Another typo.
 discard cbc8d083ac * Make unpacking of patch sequences much faster by not 
doing redundant   unpacking and repacking of intermediate paths.
 discard 456f3251d2 * Typo.
 discard 9ec7e58aa4 * Handle store path arguments in `nix-env -i' correctly 
again.
 discard bfe4875a5e * Use Berkeley DB 4.3.38.
 discard 8f57634c14 * Automatically upgrade the Berkeley DB environment if 
necessary.
 discard 88dea78cdf * Crazy: don't use real hashes of real components in 
examples, since   they cause Nix builds to have unnecessary retained 
dependences   (e.g., on Subversion).
 discard edd145d2fb * Lazily compute the derivation and output paths of 
derivations.  This   makes most query and installation operations much faster 
(e.g.,   `nix-env -qa' on the current Nixpkgs is about 10 times faster).
 discard 426593162e * ATermMap needs an assignment operator, otherwise we are 
screwed.
 discard 77557a6f06 Commit 3000!
 discard 6057b51835 * Don't try to register GC roots in read-only mode.
 discard 6c88d67780 * Build .tar.bz2 files in `make dist'.
 discard d8cda7c3dc * Mac OS X (and POSIX) doesn't have readlink.
 discard 52a2f41320 * Include some required header files.
 discard 26fd28432d * FreeBSD 4.x doesn't have stdint.h, use inttypes.h instead 
(which is   also part of ISO C).
 discard 5dea0622d1 * Idem (constness fix). * `compare' in GCC 2.95 is broken.
 discard 4a266e35d4 * GCC 2.95 compatibility fix in constness; strangely, I 
think this   should not have worked at all.
 discard d7b3cdbd91 * GCC 2.95 compatibility.  Prevents internal compiler error 
in member   template friends.
 discard ae6d9033a1 * The eof() state isn't guaranteed to be set non-lazily.  
GCC 2.95   compatibility fix.
 discard d8a31da1ea * Use `$(MAKE)' instead of `make' for systems where `make' 
isn't GNU   make (such as FreeBSD).
 discard 36fb29f8f0 * Merge remaining stuff from the nix-make branch. * Add 
support for the creation of shared libraries to `compileC',   `link', and 
`makeLibrary'. * Enable the ATerm library to be made into a shared library.
 discard 02f2da0142 * Merging from nix-make branch:   - Add __currentTime 
primitive (dangerous!).   - Allow imports of derivations.
 discard 6842bc9ac4 * Be quiet when untarring a channel file.
 discard f913283570 * Remove redundant message.
 discard 9f3601a36c * Argh!  The patch downloader was broken due to the 
renaming of the   `--isvalid' flag in nix-store.
 discard f3660b1c8c * Garbage collector fix: allow deletion of paths that have 
invalid   (but substitutable) referers.
 discard d5219a351a * Damn.  Disable the USE heuristic for now, since the 
deriver in the   database isn't always in the manifest (so the reference graph 
cannot   be reconstructed fully).
 discard 1d86790910 * Bump the version number to 0.9.
 discard bc5e26dcda * Mark date.
 discard cab7816b56 * Slightly nicer message.
 discard 82d771f6e6 * Manual updates.
 discard c9c58dba55 * Primop `__currentSystem' to return the current platform 
identifier.
 discard b4b51c9f93 * NEWS.
 discard fb45b0f548 * Document nix-channel.
 discard c702dfca3f * nix-store: `--substitute' -> `--register-substitutes'.
 discard 8b70f138e0 * Lots of manual updates, in particular the new `nix-store 
--query'   options were documented, as well as the Nix configuration file.
 discard 4271385a73 * Make `nix-store --query --tree' work on non-derivations 
(i.e., on   any store path).
 discard 90905634ed * Doh.
 discard b9d8ecbc6a * More doc updates.
 discard 7d876f8fa7 * Get rid of fetchurl, we don't need it anymore.
 discard 10c429c757 * If store paths are specified as sources in Nix 
expressions, don't   copy them, but use them directly.
 discard f9848d4f31 * Support base-32 hash representations.
 discard c815aff21b * `nix-store --add-fixed' to preload the outputs of 
fixed-output   derivations.  This is mostly to simplify the implementation of   
nix-prefetch-{url, svn}, which now work properly in setuid   installations.
 discard 57d023a184 * More manual updates.
 discard f1ae10b992 * Build hook documentation. * nix-store options.
 discard 806b91f104 * GC docs.
 discard 128c174295 * Manual updates.
 discard 229252941a * Some GC documentation.
 discard 6c8cf567b8 * Use `--nonet' flag.
 discard 31e140d70b * I said it couldn't be done.  I was wrong.
 discard 4a83c12c5d * Added a glossary to the manual.
 discard 6f788880b6 * Re-enable dot graph generation.
 discard 298dd487bb * When finding live paths, the deriver need not be valid.
 discard ebe342c9c1 * Better error checking.
 discard 7eaf038763 * `nix-store --verify': repair bad referer mappings.
 discard c6178f0b03 * Create missing log and temproots directories 
automatically (reported   by Rob).
 discard d1487d9015 * This is a better location to keep the blacklist, since it 
can evolve   separately from Nix or Nixpkgs.
 discard 009752ca70 * Blacklist Firefox 1.0.1.
 discard cff6bc06df * Fix endianness bug.
 discard 590e5a0d65 * Add a test for base-32 encoding of hashes since it seems 
to be   broken on Mac OS X.
 discard 0df9f08078 * Export the references graph to the build hook.
 discard 3f236f01ae * `nix-store --register-validity': allow a path to refer to 
a path   listed later in the list of new valid paths.
 discard a04c62e0c4 * Canonicalise path meta-data in `nix-store 
--register-validity'.
 discard f20f081560 * nix-store: `--isvalid' -> `--check-validity', 
`--validpath' ->   `--register-validity'. * `nix-store --register-validity': 
read arguments from stdin, and   allow the references and deriver to be set.
 discard a1e00bf6aa * Remove non-POSIX flag.
 discard ab75a50ba4 * Fink compatibility.
 discard 7272c3f817 * Ignore hash conflicts in gc-releases.pl.
 discard 67eff20906 * Manual updates.
 discard ad3121a52d * Documented common environment variables.
 discard f982df3cd7 * Update the user environments figure to show multiple 
profiles and   users. * Change to base-32 hashes.
 discard afc3a7b79b * Automake 1.9 compatibility.
 discard 693ff4f6bf * Some more updates.
 discard 62dbfbc45b * Remove Docbook EBNF dependency.
 discard e301334696 * XInclude all the way.
 discard b376565b86 * Manual updates.
 discard bacd3a6cfa * Purify all corepkgs builders.
 discard e52ae1c0ff * Use SHA-256 for nix-push.
 discard 155c91b335 * Upgrade information.
 discard 5675d5f488 * Idem.
 discard 6fb5f7e532 * Pass `--base32' unless using MD5.
 discard c757d16c8c * Bug in clearSubstitutes().
 discard bb2e53699f * Parse new hash format properly.
 discard 5863f24722 * Print SHA-1 hashes in base-32 by default.
 discard bd333b939c * Prefix hash algorithm in patch generator too.
 discard 8eff18cd43 * Set NAR name to content hash; previous nix-push names 
were not   unique. * Drop `hashAlgo' attribute in manifests; prefix hashes with 
the hash   algorithm instead.
 discard 1562dfe9ba * Script to garbage collect nix-push directories.  It 
prints out all   file names in the directory not included in any of the 
manifests   specified on the command line.
 discard 012b812698 * Preliminary NEWS for 0.8.
 discard 536f324177 * nix-install-package: install outPath, not drvPath, for 
now. * nix-prefecth-url: print out in base-16.
 discard 08df443618 * Check for duplicate attributes and formal parameters in 
Nix   expressions.
 discard 97c93526da * In the checker, do traversals of the dependency graph 
explicitly.  A   conditional expression in the blacklist can specify when to   
continue/stop a traversal.  For example, in
 discard bfbc55cbc6 * Use XML::LibXML.
 discard 543d7a41dc * Automatically add propagated build inputs to user 
environments.   Maybe this is a bad idea.
 discard 9a7f95882c * Basic blacklist checker.  Each element in a user 
environment is   checked against every item in a blacklist.
 discard 4bbdcfbb45 * Don't use fork() in copyPath(), but a string buffer.
 discard 9e6bca8765 * Channel fix.
 discard 86cb3cc554 * Increase Berkeley DB limits a bit more. * Maintain the 
cleanup invariant in clearSubstitutes().
 discard 0107fba48e * Concept for a simple blacklist.
 discard 07b4399fb6 * `nix-store -q --hash' to quickly query the hash of the 
contents of a   store path (which is stored in the database).
 discard 9e50e648a4 * Doh!
 discard 8d364e5baa * Add missing file to dist.
 discard db322a47ff * Use a weighted use heuristic to disambiguate between 
multiple   occurances of a component.  If the shortest path distance between a  
 component P and Q in the referers graph is D, then the contribution   of Q to 
the use of P is 1 / R^D, where R >= 1, typically 2.  This   expresses that 
distant indirect uses are less important than nearby   uses.
 discard 2c4302dd7a * Added a disambiguation heuristic: if two components have 
the same   name but differ to much in sice (by more than a factor of 3), then   
never generate a patch.
 discard 8376fff151 * Add a version number to manifests.
 discard 8d3c346559 * Pause if errors occur.
 discard 6bafeafb88 * nix-install-package: Use the new (trivial) package format 
generated   by the build farm.  See e.g.,   
http://catamaran.labs.cs.uu.nl/dist/nixpkgs-0.8/nixpkgs-0.7pre2302/;   the user 
can click on packages, and they will be installed (assuming   the 
`application/nix-package' MIME type has been associated with   
`nix-install-package').
 discard 3259ae5811 * Properly specify the hash algorithm in the manifests, and 
read it   too. * Change the default hash for nix-prefetch-url back to md5, 
since   that's what we use in Nixpkgs (for now; a birthday attack is rather   
unlikely there).
 discard 95e870a113 * (Unnecessary) refactoring.
 discard bfaf83a0fd * When multiple derivations are specified in `nix-store 
-r', don't   continue building when one fails unless `--keep-going' is   
specified. * When `--keep-going' is specified, print out the set of failing   
derivations at the end (otherwise it can be hard to find out which   failed).
 discard 3a2c3f0cf2 * Support for fixed-output hashes over directory trees 
(i.e., over the   NAR dump of the path).
 discard eda2c3c253 * Compatibility hack so that Nixpkgs can continue to do 
hash checking   in `fetchurl' in Nix <= 0.7, but doesn't in Nix 0.8.
 discard 3c1630131e * Subtle bug in the builder: if a subgoal that is 
instantiated   multiple times is also a top-level goal, then the second and 
later   instantiations would never be created because there would be a   stable 
pointer to the first one that would keep it alive in the   WeakGoalMap. * Some 
tracing code for debugging this kind of problem.
 discard 398463a72a * `make check' fix.
 discard e0181f56be * `nix-store -q --tree' shows a tree representing the 
dependency graph   of the given derivation.  Useful for getting a quick 
overview of how   something was built.  E.g., to find out how the `baffle' 
program in   your user environment was built, you can do
 discard 74ab0695b5 * Compatibility hack with older user environments.
 discard 8a3a96dd5b * Switch to the calling user context for some more 
operations in a   setuid installation.
 discard 88273f9574 * Put build logs in $prefix/var/nix/log/drvs/.
 discard fb5dae8694 * Fix nix-channel. * Add `--help' flag; fixes NIX-5. * Add 
`--remove' flag; fixes NIX-6. * Add `--list' flag.
 discard 202d5bbda5 * Compatibility with older GCCs.
 discard e17910cfb5 * And yet another installation source: the ability to copy 
user   environment elements from one user environment to another, e.g.,
 discard 0083562f75 * Fix broken GC test.
 discard 8992fce3da * It is now possible to add store derivations or paths 
directly to a   user environment, e.g.,
 discard e446d342b7 * Added an installation source `--from-expression' (or 
`-E') to   install derivations from a Nix expression specified on the command   
line.  This is particularly useful for disambiguation if there are   multiple 
derivations with the same name.  For instance, in Nixpkgs,   to install the 
Firefox wrapper rather than the plain Firefox   component:
 discard 0cb016c209 * Refactoring.  Hope this doesn't break the semantics of 
`-u' ;-)
 discard a04a5de8f7 * Implement the `gc-keep-derivations' global configuretion 
flag.
 discard 6a8ef36fe6 * Global configuration option `env-keep-derivations' to 
store pointer   to derivations in user environments.  Nice for developers 
(since it   prevents build-time-only dependencies from being GC'ed, in   
conjunction with `gc-keep-outputs').  Turned off by default.
 discard b0aba6ec2a * Don't keep the derivation symlink when creating profile 
generations.
 discard 32429142cd * Type error in constructor call (caught by GCC 3.3, but 
not 3.4!).
 discard 20ce2642fc * Refactoring to support different installation sources in 
nix-env. * Set the references for the user environment manifest properly. * 
Don't copy the manifest (this was accidental). * Don't store derivation paths 
in the manifest (maybe this should be   made optional).  This cleans up the 
semantics of nix-env, which were   weird. * Hash on the output paths of 
activated components, not on derivation   paths.  This is because we don't know 
the derivation path of already   [...]
 discard 80870d9291 * Input sources should be in the set of all referenceable 
paths too.
 discard 3a99616968 * Commit more often to prevent out-of-memory errors.
 discard 98df735b51 * Propagate the deriver of a path through the substitute 
mechanism. * Removed some dead code (successor stuff) from nix-push. * Updated 
terminology in the tests (store expr -> drv path). * Check that the deriver is 
set properly in the tests.
 discard 582e01c06f * Automatically upgrade <= 0.7 Nix stores to the new schema 
(so that   existing user environments continue to work). * `nix-store 
--verify': detect incomplete closures.
 discard c547439843 * Subflag in `--verify': `nix-store --verify 
--check-contents' checks   that the contents of store paths has not changed by 
comparing hashes   of their current contents to the hashes stored in the 
database.
 discard 3d74274b37 * Updated `nix-store --verify' to the new schema.
 discard 60feff82cf * Set umask to prevent permission problems.
 discard 48ebe4527e * Better error reporting in readmanifest. * Use force flag 
in `mv' to prevent silly interactive questions (this   happens with shared Nix 
stores).
 discard fbc434ee4c * `nix-store -qb' to query derivation environment bindings. 
 Useful   for finding build-time dependencies (possibly after a build).  E.g.,
 discard 450c358e20 * Maintain a database table (`derivers') that maps output 
paths to the   derivation that produced them. * `nix-store -qd PATH' prints out 
the derivation that produced a path.
 discard a37338815d * A GC setting `gc-keep-outputs' to specify whether output 
paths of   derivations should be kept.
 discard 2e6bf723e4 * Added a global configuration file 
(/nix/etc/nix/nix.conf).  It   contains options for the garbage collector right 
now, but other   stuff can be added here later.
 discard 9f6835c282 * Remove debug code.
 discard c3981d81f6 * Make check fixes.
 discard 65b6c8ab4c * Move root finding from `nix-collect-garbage' to 
`nix-store --gc'.   This was necessary becase root finding must be done after   
acquisition of the global GC lock.
 discard 630ae0c9d7 * nix-build: use an indirection scheme to make it easier 
for users to   get rid of GC roots.  Nix-build places a symlink `result' in the 
  current directory.  Previously, removing that symlink would not   remove the 
store path being linked to as a GC root.  Now, the GC   root created by 
nix-build is actually a symlink in   `/nix/var/nix/gcroots/auto' to `result'.  
So if that symlink is   removed the GC root automatically becomes invalid 
(since it can no   longer be res [...]
 discard dcc37c236c * nix-store, nix-instantiate: added an option `--add-root' 
to   immediately add the result as a permanent GC root.  This is the only   way 
to prevent a race with the garbage collector.  For instance, the   old style
 discard a6b65fd5e1 * Get rid of hardcoded paths.
 discard 06b4424286 * Add missing files to dist. * Fix GC and substitute bugs 
related to self-references.  Add a   regression test.
 discard 32fa82a56a * Acquire a global GC lock to prevent new temporary root 
files from   being created after the garbage collector has read the temproots   
directory.  This blocks the creation of new processes, but the   garbage 
collector could periodically release the GC lock to allow   them to run.
 discard 89c9bc11ab * Add a test for a more subtle race: a process starting 
after the   temporary root files have been read but creating outputs before the 
  store directory has been read.
 discard 207bdcbe86 * Automatically remove temporary root files.
 discard 252c9c91ab * Topologically sort paths under the references relation to 
ensure   that they are deleted in an order that maintains the closure   
invariant. * Presence of a path in a temporary roots file does not imply that 
all   paths in its closure are also present, so add the closure.
 discard 33c5d23b81 * Don't delete active lock files.
 discard 1328aa3307 * Start of concurrent garbage collection.  Processes write 
temporary   roots to a per-process temporary file in /nix/var/nix/temproots   
while holding a write lock on that file.  The garbage collector   acquires read 
locks on all those files, thus blocking further   progress in other Nix 
processes, and reads the sets of temporary   roots.
 discard a7668411a1 * Add a test to check whether concurrent garbage collection 
(i.e.,   running the collector while builds are in progress) works   correctly. 
 The test currently fails.
 discard 22cfdfa246 * Use NIX_STORE environment variable to locate the store 
(in addition   to NIX_STORE_DIR) so that Nix invocations in builders in `make   
check' work correctly if the store doesn't exist.
 discard 9ab0bc9395 * Another horrible `make check' hack.
 discard 0ea8b6993a * Only invalidate paths when they are in fact valid.
 discard ac2f665853 * Set execute permission.
 discard a85d1849af * Missing dependency; only a problem when building from 
Subversion.
 discard e5c16c9582 * Add missing substitutes files to dist. * Add a garbage 
collector test.
 discard 8a3eef22e3 * Fix deadlock.
 discard c60a4943ba * Update referers mappings when updating/clearing the 
references   mapping. * Do things in the right order in invalidatePath().
 discard 4e37548a1e * Remove deleted files from EXTRA_DIST (again).
 discard c505702265 * Fix and simplify the garbage collector (it's still not 
concurrent,   though).  In particular it's now much easier to register a GC 
root.   Just place a symlink to whatever store path it is that you want to   
keep in /nix/var/nix/gcroots.
 discard 59682e6188 * Make lock removal safe by signalling to blocked processes 
that the   lock they are waiting on has become stale (we do this by writing a   
meaningless token to the unlinked file).
 discard a24b78e9f1 * Maintain the references/referers relation also for 
derivations.   This simplifies garbage collection and `nix-store --query   
--requisites' since we no longer need to treat derivations   specially.
 discard 2a2756b856 * Simplification: registerSubstitutes -> 
registerSubstitute.  We no   longer need the former since there we no longer 
have the   substitutes-rev table (which triggered a O(n^2) cost in updating   
them).
 discard a9340fa672 * Remove removed files from EXTRA_DIST.
 discard 498f4915cc * Re-enable all tests.
 discard 066da4ab85 * Really fix the substitute mechanism, i.e., ensure the 
closure   invariant by registering references through the manifest. * Added a 
test for nix-pull.
 discard c6290e42bc * Fix the `--fallback' switch. * Fix the substitutes tests.
 discard 581fc47783 * Fix the build hook mechanism; pass the pointer graph to 
the hook.
 discard 52bf9b86bb * In nix-store: added query `--referers-closure' that 
returns the   closure of the referers relation rather than the references   
relation, i.e., the set of all paths that directly or indirectly   refer to the 
given path.  Note that contrary to the references   closure this set is not 
fixed; it can change as paths are added to   or removed from the store.
 discard 80faa2f98a * In nix-store: change `--build' back to `--realise'.  Also 
brought   back the query flag `--force-realise'. * Fixed some of the tests.
 discard 6a0a2d5593 * Terminology fixes.
 discard 6bb5efadec * Ensure that derivation names and sources don't end in 
`.drv'.
 discard 05f0430de1 * Another change to low-level derivations.  The last one 
this year, I   promise :-) This allows derivations to specify on *what* output  
 paths of input derivations they are dependent.  This helps to   prevent 
unnecessary downloads.  For instance, a build might be   dependent on the 
`devel' and `lib' outputs of some library   component, but not the `docs' 
output.
 discard 6ff48e77f6 * Set the Perl search path properly (reported by Roy van 
den Broek).
 discard e0f4e587c3 * Nix-store queries `--references' and `referers' to query 
the pointer   graph.  That is, `nix-store --query --references PATH' shows the 
set   of paths referenced by PATH, and `nix-store --query --referers PATH'   
shows the set of paths referencing PATH.
 discard 96de272b48 * Renamed `normalise.cc' -> `build.cc', `storeexprs.cc' ->  
 `derivations.cc', etc. * Store the SHA-256 content hash of store paths in the 
database after   they have been built/added.  This is so that we can check 
whether   the store has been messed with (a la `rpm --verify'). * When 
registering path validity, verify that the closure property   holds.
 discard ef5f254a55 * `nix-store --build' now builds its arguments in parallel 
instead of   sequentially (within the limits set by `--jobs').  This should   
greatly improve the utilisation of the build farm when doing Nixpkgs   builds.
 discard 06c77bf7a8 * Change extension `.store' to `.drv'. * Re-enable 
`nix-store --query --requisites'.
 discard 863dcff6c5 * Started removing closure store expressions, i.e., the 
explicit   representation of closures as ATerms in the Nix store.  Instead, the 
  file system pointer graph is now stored in the Nix database.  This   has many 
advantages:
 discard e9762e2d10 * Support arities > 6.
 discard 6d493751c3 * Get --readonly-mode to work again.
 discard 32aac8748a * Actually check that the result of fixed-output 
derivations matches   the specified hash.
 discard f3dc231250 * Removed the `id' attribute hack.
 discard d58a11e019 * Shorten SHA-256 hashes used in store path name generation 
to 160   bits, then encode them in a radix-32 representation (using digits   
and letters except e, o, u, and t).  This produces store paths like   
/nix/store/4i0zb0z7f88mwghjirkz702a71dcfivn-aterm-2.3.1.  The nice   thing 
about this is that the hash part of the file name is still 32   characters, as 
before with MD5.
 discard 9530cc3170 * Start move towards SHA-256 hashes instead of MD5. * Start 
cleaning up unique store path generation (they weren't always   unique; in 
particular the suffix ("-aterm-2.2", "-builder.sh") was   not part of the hash, 
therefore changes to the suffix would cause   multiple store objects with the 
same hash).
 discard a7b94e87d7 * Missing file.
 discard 9ee88bb2f2 * Use absolute paths.
 discard 63791eb05b * Add SHA-256. * Tests for the various hashes.
 discard 37b51a9aa6 * Removed some dead code.
 discard 7e8961f720 * Added SHA-1 support.  `nix-hash' now has an option 
`--type sha1' to   select SHA-1 hashing.
 discard 73992371a3 * Refactoring to support SHA-1.
 discard d46b4262dc * Bump version number to 0.8.
 discard b17e7cf979 * Script to remove patches from manifests.
 discard 0bc41f632b * Print out less garbage.
 discard 7d75616f2c * NEWS and manual update for release 0.7.
 discard 6af4a5a71f * Prototype store optimiser.  It searched the Nix store for 
identical   files and hard-links them to each other to save disk space.
 discard a03397be4c * Cygwin compatibility.
 discard f28ea27d83 * Remove old stuff.
 discard c53898cb65 * If a patch already exists, it must still be included in 
the manifest.
 discard 35b76a81c4 * More instrumentation (statistics go to 
/nix/var/log/nix/downloads).
 discard 3745cecc6a * Fix handling of chained patches: don't skip patches if 
intermediate   paths are missing, etc.
 discard 581bcb986f * Some logging for evaluation.
 discard 6270aa727d * Propagate patches from the source distribution to the 
destination   distribution insofar they are applicable.
 discard 4f07ebc67e * Integrated bsdiff/bspatch 4.2 (from   
http://www.daemonology.net/bsdiff/bsdiff-4.2.tar.gz) into the source   tree.  
The license is a bit peculiar, but it does allow verbatim   copying, which is 
what we do here (i.e., so don't make any changes   to the sources).
 discard 54d8f08588 * Reject patches larger than the full archives they produce.
 discard 2fdb27e7f2 * Atomic file replacement is good.
 discard e1e9c036f9 * A utility to generate patches between releases based on 
their   manifests.
 discard 77fc1c6c5c * Use aterm 2.3.1.
 discard 9022cf9adf * A small utility to add the Size and NarHash fields to old 
manifests.
 discard 4bf58d5379 * Added a function to write manifests.
 discard 3d1b2101cc * Place manifests in /nix/var/nix/manifests. * Use the new 
patch downloader.
 discard 7eed57e784 * Sync with changed substitute mechanism. * Accept the 
NarHash line. * Clear substitutes in `nix-channel --update'.
 discard 96c3d8a615 * I love test sets.
 discard 8b9697e575 * An operation `nix-store --clear-substitutes' to remove 
all   registered substitute mappings.
 discard fa9259f5f5 * Simplify the substitute mechanism:   - Drop the store 
expression.  So now a substitute is just a     command-line invocation (a 
program name + arguments).  If you     register a substitute you are 
responsible for registering the     expression that built it (if any) as a root 
of the garbage     collector.   - Drop the substitutes-rev DB table.
 discard 015beb7cd0 * Typo: genericBuilder -> genericBuild.
 discard 4d25b0b0bb * Fix nix-pull.
 discard f4041cc175 * Commit old changed to bdiff.sh - but bdiff.sh is obsolete.
 discard 77970f8daf * Remove `prebuilts.conf' file, it's not like anybody was 
using it. * Add /nix/var/nix/manifests directory.
 discard e3b051aeeb * Include the size of the bzipped archive (necessary for 
computing the   cheapest download path), as well as the hash of the contents of 
the   path (necessary for checking patch applicability).
 discard 862f4c154e * Patch deployment.  `download.pl' (intended to be used in 
the   substitute mechanism) creates a store path by downloading full NAR   
archives and/or patches specified in the available manifests.
 discard dca48aed34 * Allow an optional hash to be provided.  This prevents 
redundant   fetches.
 discard 71926ee188 * Print out statistics comparing our performance to bzip2.
 discard 13f77276d1 * utime() follows symlinks, so don't change the mtime if 
the file is a   symlink.
 discard eee6fe478e * Proof-of-concept for binary patch deployment.
 discard f17553a212 * Remove debug statement.
 discard 4115d8d8ce * Canonicalise metadata of all files in store paths (set 
the mtime to   0, set the mode to either 444 or 555, set the group to the 
default).
 discard 5d5318c2ff * Bump version number to 0.7.
 discard 9f8964a062 * More manual fixes.
 discard 0b79a12082 * Manual fixes.
 discard 54c7a870d5 * Document --delete-generations and other nix-env options.
 discard c2b0d6b02f * Document --eval-only and --parse-only options in 
nix-instantiate.
 discard 32c7326850 * Typos.
 discard 92ee003dc9 * Fix broken format string.
 discard d6db574ec1 * Check exit status of pipe elements.
 discard b8aaef5e4e * Documented the standard environment, including the 
generic builder.
 discard 2c3b29c5ca * Everything you always wanted to know about functions and 
derivations   but were afraid to ask.
 discard ea6581b691 * Drop the grammar appendix.
 discard 09e7f06818 * Put something in here.
 discard 1bac7a10e6 * Operators, comments.
 discard 55b35d6d77 * Lets, inheritance, assertions.
 discard 0b1ee4802b * Typo fix.
 discard 5f0300d18c * Generic builders.
 discard 3e9d2038b4 * Start of language reference.
 discard 6ca9c7f0a9 * Finished GNU Hello walkthrough.
 discard 8b934694f2 * Manual: writing Nix expressions.
 discard feb3ceaee0 * Better error messages.
 discard cb7ccb528b * string2ATerm -> overloaded toATerm.
 discard 4cbd845aa4 * Don't propagate our CFLAGS to the ATerm library since it 
breaks at   -O2.
 discard 5f2c5a306c * chapter -> appendix.
 discard 0913f5a615 * Section about channels.
 discard ee5dcfade2 * Section about garbage collection.
 discard cbe8de592d * Profiles section.
 discard b05a596d61 * Document setuid Nix installs.
 discard 0d80d237c5 * Add figures to `make install' / `make dist'.
 discard 2aa1f4717b * Fix `File exists' errors if the `result' symlink exists 
but is   dangling.
 discard f8ac8d1ec8 * Began adding build farm docs.
 discard a69534fc21 * Drop ATmake / ATMatcher also in handling store 
expressions.
 discard ed09821859 * Use `atdiff' instead of `cmp' for checking test output. * 
Don't use local file names in tests since they will produce   different parse 
trees depending on the current directory.
 discard 3277c9432a * Bug fix in parsing of /* ... */ comments; due to longest 
match   regexp there could be only one such comment per file.
 discard 463e2817c5 * Remove ancient Fix tests. * Add automated Nix expression 
language tests.
 discard f09618b63a * Turn on read-only mode in queries.  This prevents 
redundant store I/O.
 discard c7bea941b0 * Oops, I did it again.
 discard 210ab0296d * Add file to `make dist'.
 discard c52dda95a6 * Bug: check that term is an application.
 discard 5fe9222b36 * Don't use ATmake / ATmatch anymore, nor the ATMatcher 
class.   Instead we generate data bindings (build and match functions) for   
the constructors specified in `constructors.def'.  In particular   this removes 
the conversions between AFuns and strings, and Nix   expression evaluation now 
seems 3 to 4 times faster.
 discard eb8284ddaa * Evaluate argument to `import'.
 discard 033d7c6593 * Doh!
 discard 9fa07b376d * String/path concatenation operator (`+').
 discard ee401afad8 * Mode `--parse-only' to parse the input (on stdin, `-'), 
and print   out the AST as an ATerm. * Mode `--eval-only' to parse and evaluate 
the input, and print the   resulting normal form as an ATerm.
 discard 37d7abd694 * New language feature: with expressions.
 discard f4d44a0026 * Allow certain operations to succeed even if we don't have 
write   permission to the Nix store or database.  E.g., `nix-env -qa' will   
work, but `nix-env -qas' won't (the latter needs DB access).  The   option 
`--readonly-mode' forces this mode; otherwise, it's only   activated when the 
database cannot be opened.
 discard 3ade3e7721 * Revert r1594 - it didn't solve the problem.  Instead add  
 svn-revision to distributions, which should fix it.
 discard 2248becfd3 * Make sure that the prerelease version is included in 
`--version'.
 discard 50b9caac14 * Updated NEWS for the upcoming 0.6 release.
 discard 2155c0a673 * Register channels as roots of the garbage collector (in   
$(localstatedir)/nix/gcroots/channels). * In setuid installations, create 
gcroots/tmp and gcroots/channels   group-writable.
 discard 88888160d2 * Fix nix-prefetch-url in setuid Nix installations.
 discard 99da51d4de * Show error messages from curl.
 discard 2cd590d96c * Instead of &mdash; use the actual Unicode character.  By 
the way, to   edit the manual, you should have something like
 discard 692204e0c5 * Rewrite of package management stuff.
 discard d830b2c1df * In `nix-env -q', sort derivations by name *without* case  
 sensitivity.
 discard febd8bed1b * Split overview chapter into a chapter on package 
management and a   chapter on writing Nix expressions.
 discard 98c69e5172 * Unindent.
 discard 371c57d8a7 * Updated the quick start section.  Use channels instead of 
  downloading Nix expressions and calling nix-pull.  This is so   user-friendly 
that even a Mac user can do it! :-)
 discard 2b20701f78 * Better introduction. * Set notes in a different color 
than warnings.
 discard 1317242780 * Make store objects created by substitutes read-only.
 discard 995d08208e * prevent collision on log directory
 discard b357284a32 * Fallback didn't work for subderivations of an 
unnormalised the main   derivation, since NormalisationGoal would first run a   
NormalisationGoal on the subderivation (a no-op, since in a   situation where 
we need fallback the successor is known), and then   runs a RealisationGoal on 
the normal form, which then cannot do a   fallback because it doesn't know the 
derivation expression for which   it is a normal form.
 discard dcc433de47 * Operation `--delete-generations' to delete generations of 
a   profile.  Arguments are either generation number, or `old' to delete   all 
non-current generations.  Typical use:
 discard c16be6ac92 * Remove write permission from store objects after they 
have been   added to the store.  Bug reported by Martin.
 discard 47f87072ad * A very dirty hack to make setuid installations a bit 
nicer to use.   Previously there was the problem that all files read by nix-env 
  etc. should be reachable and readable by the Nix user.  So for   instance 
building a Nix expression in your home directory meant that   the home 
directory should have at least g+x or o+x permission so   that the Nix user 
could reach the Nix expression.  Now we just   switch back to the original user 
just prior to reading sources and   [...]
 discard 5396304c73 * Use setre[ug]id() instead of setres[ug]id(), since the 
former is   more common than the latter (which exists only on Linux and   
FreeBSD).  We don't really care about dropping the saved IDs since   there 
apparently is no way to quiry them in any case, so it can't   influence the 
build (unlike the effective IDs which are checked by   Perl for instance).
 discard e043fc7d0b * Set the umask to known value (0022).  This is important 
in a   setuid installation, since the calling user may have a more fascist   
umask (say, 0077), which would cause the store objects built by Nix   to be 
unreadable to anyone other than the Nix user.
 discard 550d960586 * Hack for perl(readmanifest) dependency.
 discard 17c8252fc9 * Spec file options to create the Nix user and group in the 
RPM   pre-install script.  By default this is turned off; you should edit   the 
spec file to enable it.
 discard fb28cfc86d * Add some variability to RPM spec files: allow setuid 
options to be   set on the rpmbuild command line.
 discard 5c443b6550 * Main the `substitutes-rev' table again, but now in a way 
that   doesn't take \Theta(n^2) space/time complexity.
 discard c25f2883b1 * Quadruple the Berkeley DB locking limits to get rid of 
out of memory   errors while running `nix-store --verify'.
 discard fe122c5a15 * Removed nrWaitees field.  It was redundant with 
waitees.size() and   could get out of sync if multiple input derivations mapped 
to the   same closure expression (since waitees is a set).
 discard eb233e728f * `--min-age' flag in nix-store and nix-collect-garbage to 
only delete   unreachable paths that haven't been used for N hours.  For 
instance,   `nix-collect-garbage --min-age 168' only deletes paths that haven't 
  been accessed in the last week.
 discard fdec72c6cc * `nix-collect-garbage' now actually performs a garbage 
collection, it   doesn't just print the set of paths that should be deleted.  
So   there is no more need to pipe the result into `nix-store --delete'   
(which doesn't even exist anymore).
 discard 818047881e * Put the garbage collector in nix-store: operation `--gc', 
  suboperations `--print-live', `--print-dead', and `--delete'.  The   roots 
are not determined by nix-store; they are read from standard   input.  This is 
to make it easy to customise what the roots are.
 discard 9994c1dd9f * Validate derivation names.  In particular don't allow 
spaces. * Drop support for the outPath attribute in derivations.
 discard 8f58733ef1 * The gid should also match.
 discard 1c90fabccc * Unbreak programs that are not setuid (such as nix-hash).
 discard e77fbe0fa2 * On systems that have the setresuid() and setresgid() 
system calls to   set the real uid and gid to the effective uid and gid, the 
Nix   binaries can be installed as owned by the Nix user and group instead   of 
root, so no root involvement of any kind is necessary.
 discard 2d35116c13 * Setuid support for sharing a Nix installation between 
multiple   users.
 discard 8f1dcdfc0a * Make sure that no build hook is set by default in the 
tests. * Don't use `seq' - some primitive, obsolete operating systems   
(Darwin) don't have it.
 discard 1eddee59f2 * The default verbosity level of all Nix commands is now 
lvlInfo. * Builder output is written to standard error by default.   * The 
option `-B' is gone.   * The option `-Q' suppresses builder output.
 discard 937ce0cd21 * Flag `--no-link' suppresses symlinking to the output 
path. * Handle multiple derivations correctly.
 discard 966bd9d19f * WTF?  More canonical system name problems ("athlon-linux" 
instead of   "i686-linux").
 discard 62fe5c4a22 * The predecessor of a successor need not be present.  This 
in   particular happens on distributed builds or when using push/pull.
 discard ae1a1efa41 * Clean up the temporary directory for hook communication 
(and don't   print out incorrect "build failed" messages).
 discard d8989b1fb4 * Every real language has a `map' function.
 discard bbfdd64741 * Allow primops with more that 1 arguments.
 discard e3a50f7e25 * Creating a file nix-support/no-scan in the output path of 
a   derivation disables scanning for dependencies.  Use at your own   risk.  
This is a quick hack to speed up UML image generation (image   are very big, 
say 1 GB).
 discard 18ebd7b030 * Doh!
 discard 5373aed1a8 * Use ATerm 2.2. * Include bootstrap.sh in dist.
 discard 16c8b4c8e5 * A script to generate the Auto* stuff.
 discard e8a95108c0 * Nix-build places a symlink `result' in the current 
directory to the   store object just built.
 discard 9bf7a5f516 * Don't pass `--with-system'.
 discard 39eaecbc98 * Slightly better heuristic for picking the canonical 
system type.   Now SuSE and Red Hat should yield the same type (`i686-linux').  
Mac   OS X should now give `powerpc-darwin' (i.e., the version number is   
gone).
 discard 064a36cb54 * Hardcode the system id to be `i686-linux'.
 discard c1a18f543e * Fixed format string error.
 discard 056cd1d3b7 * Don't go into a (sometimes infinite) loop calling the 
build hook.
 discard 638ce339a5 * Nix-instantiate now accepts sets of derivations (just 
like nix-env).
 discard 292d6468ec * Nix-env operations now by default filter out any 
derivations for   system types other than the current system.  I.e., `nix-env 
-i'   won't install derivations for other system types, and `nix-env -q'   
won't show them.  The flag `--system-filter SYSTEM' can be used to   override 
the system type used for filtering (but not for   building!).  The value `*' 
can be used not to filter anything.
 discard 8f6254e823 * Align the columns in the output of `nix-env -q'.
 discard 593bc23d8b * Allow the system attribute of derivations to be queried 
in   `nix-env -q'. * Queries can now be combined, e.g., `nix-env -q --status 
--system'.
 discard b584253af4 * Include some missing headers.
 discard f5d5ffe536 * Write build logs to disk again.
 discard 00aadf478b * Use ATerm 2.1.
 discard 151e61fa5a * By default, `nix-env -i' now deletes previously installed 
  derivations with names matching the derivations being installed.   The option 
`--preserve-installed / -P' overrides this behaviour.
 discard 4d2946c516 * In a realisation goal, check the result of the 
corresponding   normalisation goal.
 discard 24286e15c9 * `nix-env -u' now allows a specific version to be 
specified when   upgrading.
 discard 2746a879e2 * Typo.
 discard 91dc023665 * Added a switch `--fallback'.  From the manual:
 discard b113edeab7 * A flag `--keep-going / -k' to keep building goals if one 
fails, as   much as possible.  (This is similar to GNU Make's `-k' flag.)
 discard e4883211f9 * Don't throw an exception when a build fails.  Just 
terminate the   goal and allow the problem to be handled elsewhere (e.g., at   
top-level).
 discard 795d9f8b08 * Obsolete.
 discard a29c8ac51c * Add a test to check that when we cannot realise a closure 
  expression, we should invalidate it and go back to the derivation   for which 
it is a successor.
 discard ec32627621 * Multiple and/or failing substitutes now work.
 discard 8052aef486 * A test for multiple and/or failing substitutes.
 discard 66c7f34759 * Arghhhhhh
 discard 05a5362d63 * Some more diagnostics changes.
 discard d051cd40e1 * Nix-instantiate can return multiple store expressions.
 discard 3093af58a7 * A utility script `nix-build' that builds Nix expressions 
and prints   their output paths (and only that) on standard output.
 discard b302e5f63b * We don't really need this here.
 discard 83ae1723da * Well, it's better than printf.
 discard 72bc9a522f * Started making Nix's diagnostic messages a bit more 
useful.
 discard 5e2cf44a4d * Put WEXITSTATUS stuff somewhere else.
 discard 84007a0958 * Reduce gratuitous cut & pasting.
 discard c9fbd2dfd5 * Wrapper class around pids.
 discard 155d7c8dfa * Substitutes should occupy a build slot.
 discard c4cb6ea2bc * Refactoring.
 discard 88fb4f6e53 * Missing files added to `make dist'.
 discard 2db9748221 * Remove debug output.
 discard 37ee6cef99 * Adapted nix-pull to use the new substitute mechanism.
 discard 3f3a3ae87b * Acquire a lock on the output path when running a 
substitute.  Also   delete obstructing invalid paths.
 discard 72c857f0eb * Ugh, nasty Heisenbug due to an uninitialiased variable.  
The bug   only caused a crash if the program was *not* invoked with a high   
verbosity level.
 discard be1a917beb * Remove obstructing invalid store paths add[Text]ToStore().
 discard daf0a923c7 * Wrap calls to registerSubstitute() in a single 
transaction to   improve throughput. * Don't build the `substitute-rev' table 
for now, since it caused   Theta(N^2) time and log file consumption when adding 
N substitutes.   Maybe we can do without it.
 discard 15c60ca1b6 * Disable calls to fsync() since Berkeley DB's 
DB_TXN_WRITE_NOSYNC   flag doesn't seem to work as advertised.
 discard 112ee89501 * Re-enable support for substitutes in the normaliser.
 discard bafb2357d1 * README for the Emacs mode (written a while ago, but 
forgot to commit).
 discard 85ae781765 * Refactoring.
 discard 23bb902d1f * Re-enable build hooks.
 discard 41ec982f31 * Big refactoring.  Move to a much more explicitly state 
machine based   approach.  This makes it much easier to add extra complexity in 
the   normaliser / realiser (e.g., build hooks, substitutes).
 discard 3454c685ee * This is also useful.
 discard 6ba26f27c3 * Shared (garbage collecting) pointers.  Copied from Boost.
 discard 0b70231b9d * Refactoring.
 discard 1bc6afefac * Cleanup.
 discard e8411948ff * A Nix mode for Emacs.
 discard 5e4a2272bf * Drain the output of the build hook to show error 
messages.  Ugly   hack.
 discard 19479899fb * Don't set the rpath here --- it's not portable.
 discard 1d08093b48 * Go back to the old way of generating the system name, and 
allow it   to be specified in configure (using `--with-system=SYSTEM').
 discard 8e9fd57ef9 * setpgrp() is not POSIX (and on Mac OS X it's different 
than on   Linux), so use setpgid().
 discard ace8872706 * execl() requires a terminating 0. * When a fast build 
wakes up a goal, try to start that goal in the   same iteration of the 
startBuild() loop of run().  Otherwise no job   might be started until the next 
job terminates.
 discard 4fc00cbec1 * Distributed builds and load balancing now seem to work 
pretty well.   (Though the `build-remote.pl' script has a gigantic race 
condition).
 discard 2fa3304933 * Set the executable bit.
 discard 25db622454 * Load balancing.  `build-remote.pl' will only execute up 
to a   per-machine maximum number of parallel jobs on a remote machine.
 discard 3426d19547 * Perform all tests.
 discard a8306cb98f * The build hooks used to implement distributed builds can 
now be run   in parallel.  Hooks are more efficient: locks on output paths are  
 only acquired when the hook says that it is willing to accept a   build job.  
Hooks now work in two phases.  First, they should first   tell Nix whether they 
are willing to accept a job.  Nix guarantuees   that no two hooks will ever be 
in the first phase at the same time   (this simplifies the implementation of 
hooks, since they d [...]
 discard 5087c8f645 * Use `-j0'.
 discard efa5fa1a91 * A switch `-j NUMBER' to set the maximum number of 
parallel jobs (0 =   no limit). * Add missing file to distribution.
 discard 1f48aa0be7 * Broken test.
 discard aa5a5084e4 * Pass to the build hook all sorts of information useful 
for   distributing a build action to another machine.  In particular, the   
paths in the input closures, the output paths, and successor mapping   for 
sub-derivations.
 discard 8c0b42f857 * An quick and dirty hack to support distributed builds.
 discard c8d3882cdc * True parallel builds.  Nix can now run as many build jobs 
in   parallel as possible (similar to GNU Make's `-j' switch).  This is   
useful on SMP systems, but it is especially useful for doing builds   on 
multiple machines.  The idea is that a large derivation is   initiated on one 
master machine, which then distributes   sub-derivations to any number of slave 
machines.  This should not   happen synchronously or in lock-step, so the 
master must be capable   of dealin [...]
 discard aea436503e * Ignore interrupt signals while handling an exception. * 
Ignore EINTR in reads and writes.
 discard a9858c9f26 * A test to verify that Nix executes build jobs in 
parallel, if   possible.
 discard f044ccf702 * 1000th revision! * A test to verify that locking of 
output paths (caused by concurrent   invocations of Nix) works correctly.
 discard a7bbe73971 * Another test.
 discard ef093aac8f * Grrr.  TESTS are not included in EXTRA_DIST.
 discard 256eeab711 * Allow the location of the store etc. to be specified 
using   environment variables. * Started adding some automatic tests. * Do a 
`make check' when building RPMs.
 discard fd927c5d25 * Bump the version number.
 discard 22371cbd3f * Fixed URL.
 discard bcce9c1ff5 * Only add `-preRELEASE' to the version if STABLE != 1. * 
Documented release procedures.
 discard d4779abc04 * Pass SYSTEM through config.h, and allow spaces.
 discard 759c953196 * Look for GC roots in @localstatedir@/nix/gcroots.
 discard d7238bc84e * Don't create $(localstatedir)/nix/profiles if 
--disable-init-state   is specified.
 discard b6df68c942 * Dist error.
 discard 21655a70f5 * Channels.  These allow you to stay current with an 
evolving set of   Nix expressions.
 discard f79e9c2d22 * Do initialise state (the DB etc.) when doing a `make 
install',   unless `--disable-init-state' is passed to configure.
 discard 8e459d919d * Recurse into attribute sets and lists when getting 
derivations from   an expression.
 discard 7cce0c34e1 * Allow extra parameters to be passed to Curl through the 
`CURL_FLAGS'   environment variable.  This is useful for passing authentication 
  information (it won't show up in `ps').  Hacky - nix-push should   abstract 
over the use of Curl.
 discard 2c5a8bf49f * Use @storedir@, not @prefix@/store.
 discard b275f2ed3b * `*.gcroot' files can now containing multiple roots.
 discard a4d2b22c8c * Be stricter in verifying store paths.
 discard 87bf541f23 * Documented the primops.
 discard b0c9baf1b5 * EBNF grammar for the Nix expression language.
 discard 153429520a * Distributed the wrong file.
 discard 2be8ac48bb * Make the creation of user environments much faster and 
more storage   efficient by creating only a single symlink to entire directory  
 trees unless a collission occurs.
 discard bf3863b546 * Fail if prerequisites are missing.
 discard 03f1d1ecb5 * Switched from wget to curl. * Made the dependencies on 
bzip2 and the shell explicit.
 discard 59b94ee18a * When something goes wrong in the evaluation of a Nix 
expression,   print a nice backtrace of the stack, rather than vomiting a 
gigantic   (and useless) aterm on the screen.  Example:
 discard a520b1cbc3 * Print a more useful error message in case of an invalid 
derivation   binding.
 discard c4ac2a164a * The recent change in nixpkgs of calling 
`stdenv.mkDerivation'   instead of `derivation' triggered a huge slowdown in 
the Nix   expression evaluator.  Total execution time of `nix-env -qa' went up  
 by a factor of 60 or so.
 discard df101d6fca * Specify Perl as a dependency for the RPM.
 discard ac4d39f9db * Added an operator `?' to test for attribute existence, 
e.g.,   `attrs ? x' yields true iff `attrs' has an attribute named `x'.
 discard f958bcdf1f * Added an operator `~' to select paths within a 
derivation.  E.g.,
 discard db3e644c1c * Added plain lambdas, e.g., `let { id = x: x; const = x: 
y: x; }'.   `bla:' is now no longer parsed as a URL.
 discard f8cd904e05 * Disallow the Nix store or any of its parents from being 
symlinks.   This is because the contents of these symlinks are not incorporated 
  into the hashes of derivations, and could therefore cause a mismatch   
between the build system and the target system.  E.g., if   `/nix/store' is a 
symlink to `/data/nix/store', then a builder could   expand this path and store 
the result.  If on the target system   `/nix/store' is not a symlink, or is a 
symlink that points somewh [...]
 discard f0f7a9f299 * Do not close a nesting level twice after close() has been 
  called explicitly on a Nest object.
 discard 7823db2137 * Some more nesting.
 discard 777e13b94b * Nix now has three different formats for the log 
information it   writes to stderr:
 discard 79bb0008ec * `null' is a normal form.
 discard e6253b58cd * Escape codes to force line breaks to be ignored.
 discard 3f3c4cce5a * Added an extra escape code to signal "unimportant" 
messages.  If a tree only has   unimportant messages, it is collapsed by the 
default. * Also added an optional integer argument to the escape code for 
opening a nesting   level to indicate lack of importance.  If set, the tree is 
collapsed by default.
 discard 84c617966b * Collapsable trees.
 discard c2fc2c13c9 * Use unordered lists, which is more sensible semantically 
for   representing tree structures.
 discard a784fd5792 * Don't use tables.  Konqueror likes this much better.
 discard 8ce3dd4887 * Display the popup directly over the abbreviation.
 discard 8330c8202a * A simpler way of implementing the store reference popups, 
thanks to   Martin and CSS guru Martijn Vermaat.
 discard b5539e7a30 * Store paths are now abbreviated in the generated HTML 
file.   Hovering over the abbreviated path will reveal the full path.  This   
probably only works in Mozilla.
 discard 9d2669d218 * Added a utility that can be used to produce nice HTML 
pages from Nix   build logs.  The program `log2xml' converts a Nix build log 
(read   from standard input) into XML file that can then be converted to   
XHTML by the `log2html.xsl' stylesheet.  The CSS stylesheet   `logfile.css' is 
necessary to make it look good.
 discard beda10f5a2 * Make perl a dependency of Nix.
 discard a5619f1dff * Set the NIX_STORE and NIX_BUILD_TOP environment variables 
in   builders to point to the store and the temporary build directory,   
respectively.  Useful for purity checking. * Also set TEMPDIR, TMPDIR, TEMP, 
and TEMP to NIX_BUILD_TOP to make   sure that tools in the builder store 
temporary files in the right   location.
 discard 7f0ed370da * Use $(storedir) instead of $(prefix)/store.
 discard dbf547645d * Resolve an ambiguity between ifs and attribute selection, 
e.g., `if   b then x else y.z'.
 discard 86b7efbdbe * Don't build ATerm library if we don't need to.
 discard 0dfdafdf6d * Allow linking against an external Berkeley DB / ATerm 
library.
 discard f34de12140 * Allow the location of the store to be specified 
(--with-store-dir). * Do not create stuff in localstatedir when doing `make 
install'   (since we may not have write access).  In general, installation of   
constant code/data should be separate from the initialisation of   mutable 
state.
 discard fbc48a469c * Inherited attributes in recursive attribute sets are in 
scope of the   non-inherited attributes.
 discard 76c0e85929 * The environment variable NIX_ROOT can now be set to 
execute Nix in a   chroot() environment. * A operation `--validpath' to 
register path validity.  Useful for   bootstrapping in a pure Nix environment. 
* Safety checks: ensure that files involved in store operations are in   the 
store.
 discard 6f5a5ea5ea * Regression fix: realise substitutes and detect cycles.
 discard 1ad9d11247 * Only include predecessors that are themselves being 
pushed.   Otherwise the substitute mechanism can break in subtle ways.
 discard 00fe1a506f * When creating a new generation, also make the normal form 
of the   derivation (i.e., the closure store expression) a root of the   
garbage collector.  This ensures that running `nix-collect-garbage   
--no-successors' is safe.
 discard 92e832348d * Lots of manual stuff.  Reference pages for most Nix 
commands. * nix-pull now requires the full url to the manifest, i.e.,   
`/MANIFEST/' is no longer automatically appended. * nix-prefetch-url works 
again.
 discard 6551b36790 * Print what generation we are switching to; honour 
--dry-run flag.
 discard 0616b7feea * Documented the most important nix-env flags.
 discard 618aa69b01 * In `--upgrade': added flags `--lt', `--leq', `--always' 
to specify   whether we want to upgrade if the current version is less than the 
  available version (default), when it is less or equal, or always.
 discard 06a75a7e0c * A command `--switch-generation' to switch to a specific 
generation   of the current profile, e.g.,
 discard b8675aee54 * In `--list-generations', show what the current generation 
is.
 discard 73ab2ed4fd * A command `--list-generations' to show all generations 
for a   profile.
 discard 7c0fa4474f * More refactoring.
 discard 7abf9911d9 * Refactoring.
 discard 49bafe1faf * Use the profile pointed to by ~/.nix-profile if no 
--profile   argument is specified.
 discard 66e94d3275 * Improvements to profiles.  Generations are now 
per-profile, e.g.,
 discard d445da7a7b * Extended the `inherit' syntax to optionally select 
attributes from   other attribute sets, rather than the current scope.  E.g.,
 discard 9d25466b34 * An attribute set update operator (//).  E.g.,
 discard 6d46e647ba * Fixed the old envpkgs filename.
 discard 9b44480612 * Use a map to lookup primops. * Various performance 
improvements in the evaluator. * Do not link against unused (and missing!) 
libraries (-lsglr, etc.).
 discard c4f7ae4aa5 * Verify that all variables in a Nix expression are defined.
 discard 1c9c0a5a46 * Added syntactic sugar to the construction of attribute 
sets to   `inherit' variables from the surrounding lexical scope.
 discard d9f30fe7c7 * Sort `nix-env -q' output by derivation name. * 
`--version' flag for all commands. * Manual updates.
 discard 47c003cb59 * Doh!
 discard 619f20775d * Parser numbers again. * Include missing files in 
distributions.
 discard c625718513 * Detect flex and bison; updated the manual.
 discard c5baaafae6 * Replaced the SDF parser by a substantially faster 
Bison/Flex   parser (roughly 80x faster).
 discard abd1878b26 * Optimised the SDF grammar.
 discard 3648d1c732 * Explicitly compute the release name.
 discard cdb50886f4 * Typos.
 discard 3c4bc7276a * Added a note about adding /nix/etc/profile.d/nix.sh to 
the profile.
 discard 4f72b408a5 Typos and url losser -> catamaran
 discard 840551ebdb * Extra bit `S' in `--query --status' output: show whether 
there are   any substitutes for the derivation.
 discard 1109ea0680 * Fixed a subtle uninitialised variable bug in ATermMaps 
copied from   ATermMaps.  Found thanks to Valgrind!
 discard 47f19b6293 * Absolutise the specified path in `--import' and 
`--profile'.
 discard 4db7ef3fcc * Fixed URL.
 discard 3778586b2a * Nix Quick Start guide.
 discard 8baf50f108 * Manual updates. * Updated the README.  Now it just refers 
to the manual.
 discard 699989b216 * Ignore exit code from strip.
 discard 3a4a4aaa88 * Strip binaries in RPMs.
 discard f899e8ce4d * Test whether the symlink, not its target, exists.
 discard b1c5f3c10d * Doh!  Edited `readmanifest.pm' instead of 
`readmanifest.pm.in'.
 discard 291030b900 * Remove debug message.
 discard 447089a5f6 * Catch SIGINT to terminate cleanly when the user tries to 
interrupt   Nix.  This is to prevent Berkeley DB from becoming wedged.
 discard 08719c6c97 * Obsolete.
 discard 55e11bc0d3 * In `nix-env --query --status', determine the `I' bit by 
looking at   the output path of a derivation, not the path of its store   
expression.  This ensures that changes that affect the path of the   store 
expression but not the output path, do not affect the   `installed' state of a 
derivation.
 discard 9a404e45c9 * Synchronous `nix-pull' with `nix-push'. * Use curl 
instead of wget.
 discard 16f9b133ec * Improved `nix-push': it now uses HTTP PUT (instead of 
rsync) to copy   files.  Target location is no longer hard-coded; it accepts a 
number   of URLs on the command line.
 discard ff9af107d3 * Option `-B' to always show the output of builders, 
regardless of   verbosity level.
 discard 3495d153b3 * Periodically checkpoint the log.
 discard 698e880c9f * Tricky: make sure that the accessor count is not reset to 
0 if   recovery fails.
 discard 23fbc72f5d * Print error messages, not debug messages.
 discard 4c4fe7a114 * Changed the extension for store expressions from ".nix" 
to ".store"   (following the Usenix paper).
 discard 46a71c857c * Option `--force-realise' in `nix-store --query'.
 discard 30b31a8f61 * Start of nix-env reference. * Some CSS tweaks.
 discard b594215531 * Manual updates.
 discard 5346536b62 * Include version number in manual.
 discard 7959354379 * Upgraded to Berkeley DB 4.2.52.  The main advantage of 
4.2 is that   it automatically removes log files when they are no longer needed.
 discard abe8c8c2aa * Include images/ in distribution.
 discard 1ff986d51a * book -> manual
 discard 2f0b93904b * Install images.
 discard 4a373a3e9a * Implemented Eelco V.'s `nix-env -I' command to specify 
the default   path of the Nix expression to be used with the import, upgrade, 
and   query commands.  For instance,
 discard f83c5e3e5f * Implemented Eelco V.'s `-p' command to switch profiles.  
It switches   the symlink ~/.nix-userenv to the given argument (which defaults 
to   .../links/current).  /etc/profile.d/nix-profile creates this symlink   if 
it doesn't exist yet.  Example use:
 discard 0e68af0ce3 * RPM sucks.
 discard 9ff3657095 * Generate RPM spec file.
 discard 0e09cc12c0 * Add $prefix/store to the RPM. * Allow extra flags to be 
passed to RPM.
 discard 94175e978a * RPM spec file. * Respect DESTDIR variable.
 discard 68f2fadb78 * nix-pull requires libexecdir to be substituted.
 discard 392b7e0f8e * Fixed a bug in the upgrade operation.
 discard 833f2fc92d * GCC 2.95 compatibility.
 discard cf0287c09e * Upgrade operation in `nix-env'.  For instance, you can say
 discard f3c9783846 * Version numbers can be omitted in install/uninstall.  
E.g.,
 discard a81b621202 * `-u' -> `-e'. * `--link' / `-l' flag to specify the 
switch symlink to use (by default,   /nix/var/nix/links/current).
 discard 0a753e182a * Oops.
 discard df7a718786 * Man pages in sections.
 discard 397c8ba898 * Missing semicolons.
 discard 528f1d1867 * Bug fix: parallel builds of the same derivation failed 
due to lock file removal.
 discard 06c5a7075d * Refactoring: put the manifest-reading code in a separate 
file.
 discard cff6fd22eb * Allow successors that don't exist but have a substitute. 
* Integrity: check in successor / substitute registration whether   the target 
path exists or has a substitute.
 discard feaab52203 * Fix for too long command lines when calling `nix-store   
--register-[substitutes|successors].
 discard 00d4f907e1 * Get rid of the icons in warnings etc.
 discard 31fd72ee17 * Epigraph ;-)
 discard 16d971bce7 * A nice stylesheet for the manual.
 discard 0d3a1a8582 * Add missing files to `make dist'.
 discard 0c804c6775 * Regression fix: query flags (e.g., "-qsf") were broken.
 discard a3ca74a1c3 * Bug fix in nix-push.
 discard 078e20885e * Help text for all (non-script) programs, so no more:
 discard 905d5b91fa * Manual fixes (thanks to Merijn).
 discard 83ffd4f282 * Fix `make check'.
 discard 5d2b424804 * Use a system name that does not include the OS 
manufacturer (i.e.,   "i686-linux" instead of "i686-suse-linux").
 discard dc05f29cf6 * Manual updates.
 discard 7b0e29b4dc * Overview of nix-env.  Recommended reading. :-)
 discard 62d9b31d0a * Updates.
 discard f6a30ab264 * Updates.
 discard 2a4bac5459 * Refactoring. * Convert tabs to spaces.
 discard bd0ce1a4be * Minor fix.
 discard 80f8c38384 * Typo fix.
 discard c38ba181ed * Configure flags to specify the location of the DocBook 
DTD / stylesheets.
 discard 4da9316c8f * Use svn-revision to construct package version.
 discard 6d5877ea12 * Use --nonet flag to prevent fetching of DTD.
 discard 12e805cfb0 * Don't hardcode the path to the DocBook DTD/stylesheets.
 discard ba73f94b3b * Another fix.
 discard 66c115ef5f * More `make dist' fixes.
 discard c3ee8c9166 * `make dist' fix.
 discard 6e8c19714a * Allow integer bindings in derivations.
 discard d1d87badf6 * Bug fix.  Hmm, I thought I'd fixed this before :-|
 discard 604c45e960 * Autoconf sucks.
 discard e7ea52d3b3 * One-click installation :-)
 discard b857267893 * Allow the top-level expression to be a derivation. * 
Hack: `nix-env -i *' installs all available derivations.
 discard 496934a99c * Fix nix-pull.
 discard c9cb1fa21f * Bug fix in path invalidation. * More consistency checks.
 discard 60e86b124f * Get rid of tab characters.
 discard af7e6fe22e * Don't use a hard-coded path.
 discard 9486dda115 * Fix nix-push.
 discard ab0bc4999a * Maintain integrity of the substitute and successor 
mappings when   deleting a path in the store. * Allow absolute paths in Nix 
expressions. * Get nix-prefetch-url to work again. * Various other fixes.
 discard 40d9eb14df * Fix the garbage collector.
 discard 7a02d95418 * Remove lock files after building.
 discard 06208d1d86 * Uninstallation.
 discard 2e9042bd1e * Uninstall command (doesn't work yet).
 discard e0b5a492f5 * Installation: add the previously installed packages.  
Switch to the new   configuration. * Status queries.
 discard 9898746ef3 * nix-env: a tool to manage user environments. * Replace 
all directory reading code by a generic readDirectory()   function.
 discard fd7ac09f10 * Refactoring (step 2).
 discard ac68840e79 * Refactoring: put the Nix expression evaluator in its own 
library so   that it can be used by multiple programs.
 discard 2be8b5917a * Use `sdftable -s' to get warnings about the grammar. * 
Several bug fixes in the grammar. * Allow one-line comments (#... and //...) to 
end in EOF.
 discard 38946e1378 * Forgot this one.
 discard dfc9c64ead * "Fix expression" -> "Nix expression". * More refactoring.
 discard b1117ef29d * nix -> nix-store, fix -> nix-instantiate.
 discard ce92d1bf14 * "Nix expression" -> "store expression". * More 
refactoring.
 discard 9f0f020929 * libnix -> libstore.
 discard 8798fae304 * Source tree refactoring.
 discard 45610ae675 * An forward non-random access input iterator class for 
ATermLists.
 discard 3e5a019a07 * Some utility functions for working with ATerms.
 discard 06ae269c7c * Do not filter when parsing.  This is much faster. * Add 
some rejections and lexical restrictions to the grammar to make   this work.
 discard 15801c88fa * Turned the msg() and debug() functions into macros, since 
they   turned out to be a huge performance bottleneck (the text to printed   
would always be evaluated, even when it was above the verbosity   level).  This 
reduces fix-ng execution time by over 50%.
 discard d2e3a132fe * Pass CFLAGS to the subpackages.
 discard 90e26d392c * Allow null in derivation bindings.
 discard cfaea07444 * `null' is a nullary primop.
 discard 569e7940f8 * Allow `+' in path names.
 discard fa18f1f184 * Assertions. * Logical operators (!, &&, ||, ->).
 discard e17e95a828 * Print a shared textual ATerm if the term if very large.  
Due to   substitutions, Fix terms are very large when printed as trees (in   
memory, they are quite compact due to sharing).
 discard 80bb477cc4 * Default function arguments.
 discard 0690c1c9c0 * Work around problems with the ATerm library.
 discard ff31324278 * Ignore options passed to the aterm library.
 discard e2655aa332 * Shorter list syntax ([a b c] instead of [a, b, c]).
 discard ad0976f8d5 * Grammar changes.  Attributes in attribute sets are now 
delimited with   semicolons instead of comma's.  Final semicolon in the set is 
optional.
 discard 40986312bb * Boolean constants.
 discard adf9a45469 * Primops: baseNameOf, toString.
 discard c8268ca991 * Fast builds.
 discard 7de1b2a698 * Print the exit code of the builder.
 discard 1610444671 * Conditions, string equality.
 discard 1b4184ccbb * Let syntax.
 discard a2a9bacd82 * Filter the substitution list when descending into a 
recursive   attribute set.
 discard 449411e511 * Typo fix.
 discard 9210d4d530 * Working evaluator. * Mutually recursive attribute sets. * 
Print evaluator efficiency statistics.
 discard f1c1a3c97f * Allow empty attribute (argument) sets.
 discard 7db08cc924 * Use SGparseString() instead of SGparseFile() because the 
latter is   buggy.  It fails to clear an internal variable (SG_textIndex)   
between invocations, so it can be called only once during a program   execution.
 discard 403cb9327f * Factor out evaluation into a separate file.
 discard 9f8f39aa3c * Clean up the imploded parse tree.  Quotes around strings 
are   removed, paths are absolutised relative to the path containing the   
expression we just parsed, and integer literals are converted to   actual 
integers.
 discard e537844f4e * Bottomup rewrite function.
 discard 442b09ea33 * Don't use a search path.
 discard 933b3f677d * Attribute selection operator.
 discard b95a3dc45b * Basic grammar and parser for the Fix language.  We use 
libsglr and   friends to do the parsing.  The parse table is embedded in the 
Fix   executable using bin2c, which converts an arbitrary file into a C   
character array.
 discard 4d728f6a36 * Forked new version of Fix.
 discard f31661a3b5 * Add sdf2-bundle to externals.
 discard 7102455cba * Don't cache the manifest.
 discard 92eea8fc4e * Fix a race condition in addTextToStore().
 discard c4e7d324b8 * Use writeFull().
 discard 9d95aafe8c * Ad hoc per-package logging.  When Nix performs a 
derivation, it now   writes stdout/stderr of the builder to 
${prefix}/var/log/nix/x,   where x is the file name of the derivation 
expression, e.g.,
 discard 143427f90b * Dead code removal.
 discard 4a8948b7a6 * Some wrapper classes to ensure that file descriptors / 
directory   handles are closed when they go out of scope.
 discard c62433751d * Finished refactoring the tree.
 discard 53e376d836 * Refactored the source tree.
 discard 0eab306466 * NarPath -> NarName.
 discard a0a7a4e087 * Remove some debug output.
 discard 0791282b2f * Substitutes and nix-pull now work again. * Fixed a 
segfault caused by the buffering of stderr. * Fix now allows the specification 
of the full output path.  This   should be used with great care, since it 
by-passes the normal hash   generation. * Incremented the version number to 0.4 
(prerelease).
 discard ab5e8767fa * Get nix-push to work again. * Fixed svn:ignore on 
externals/.
 discard c78bf11524 * Enable buffering of stderr in C++.
 discard f7c7aad135 * Upgraded to Berkeley DB 4.1.25 and do not synchronously 
flush the   log on commit.  This means that there is a small change that some   
transactions may be rolled back in case of a system crash, but this   should 
not be a problem (it merely might cause some expression   realisations to be 
rolled back), and it vastly improves performance.
 discard 181aa3dc41 * Don't sort the result of `--query --list'.
 discard ebff82222c * Refactoring: move all database manipulation into 
store.cc. * Removed `--query --generators'.
 discard 5fc7127643 * Keep sources (derivation expression) by default, 
`--no-source' to   override.
 discard c190f051ac * Automatically recover the database in case of a crash.
 discard 1d61e473c8 * New query `nix --query --predecessors' to print the 
predecessors of   a Nix expression.
 discard 0abe185688 * `nix --verify': check and repair reverse mapping for 
successors.
 discard d3d5e77810 * Reverse mappings for the successor and substitute 
mappings.
 discard 1eb4da156c * Performance improvement: don't register already 
registered terms,   thus greatly reducing the number of db transactions.
 discard 08b7319f5b * Follow successors by default (use `--no-successors' to 
override).
 discard 6409c215e5 * Fixed nix-switch.
 discard 6baa2c4420 * Get rid of identifiers since they are redundant now.  
This greatly   simplifies stuff.
 discard b9f4942bd2 * string -> Path.
 discard 5d4171f7fb * Synchronise terminology with the ICSE paper (e.g., slice 
-> closure,   fstate -> Nix expression). * Fix src/test.cc.
 discard 563afb7fcc * Use passive FTP in wget.
 discard e78f753aa8 * Include the right files in a distribution.
 discard 4193d62e08 * Nix now respects $TMPDIR for the creation of temporary 
build directories. * Retry creation of a temporary directory (with a different 
name) in the   case of EEXIST.
 discard 6d478597c7 * Argggg...
 discard 9fb94f4f2f * Forgot a file.
 discard 9ba2397ea9 * Added missing files to `make dist'.
 discard 41730f5779 * Put the SVN revision number in the version string.
 discard 1c7d6bf5fc * Removed references to char_traits so that boost/format 
also works on   GCC 2.95.
 discard d930a9bc5a * Added some missing #includes.
 discard 803a924b77 * Make nicer dot graphs.  Also show the inner structure of 
slices.
 discard c0bbed0959 * Factored out dot graph generation into a separate file.
 discard 0d2bc68681 * Do not show the output of the builder unless the 
verbosity is at   least at debug level (-vvv).  The output is still appended to 
the   build log in /nix/var/log/nix.
 discard 25304af72e * Set a path.
 discard b018517314 * Do not try to remove write permission from symlinks, 
since chmod()   follows symlinks.  (Note that the permissions on symlinks are   
ignored anyway.)
 discard c4f1f49574 * nix-push generated invalid (old-style) slices. * nar.sh 
needs a path.
 discard 31be53cd0a * Fix the atrocious (exponential? factorial?) time 
complexity in   `nix --query --requisites'.
 discard 920193beb1 * Don't continue when the call to nix fails.
 discard a88144215c * Remove write permission from output paths after they have 
been built. * Point $HOME to a non-existing path when building to prevent 
certain tools (such as   wget) from falling back on /etc/passwd to locate the 
home directory (which we   don't want them to look at since it's not declared 
as an input).
 discard 56b98c3857 * Some work on the introduction.
 discard 956801fcc2 * Use maps and sets in the FState data type.  This ensures 
normalisation of   slices and derivations w.r.t. order of paths, slice 
elements, etc.
 discard 624c48260f * Change the abstract syntax of slices.  It used to be that 
ids were used as   keys to reference slice elements, e.g.,
 discard 710175e6a0 * Bumped the version number to 0.3.
 discard ed0db2e0d8 * Fixed a serious bug in the computation of slices.  
Sometimes the slices   would not be properly closed under the path reference 
relation.
 discard 1472cc4825 * Pipe /dev/null into stdin.
 discard 2de8504791 * Delete the temporary directories of failed builds by 
default, and an   option `--keep-failed' to override this behaviour.
 discard 31e4aa6439 * Allow lists in package bindings, e.g.,
 discard ebbb6ce578 * Most shells initialise PATH to some default 
(/bin:/usr/bin:...)   when PATH is not set.  We don't want this, so fill it in 
with   some dummy value.
 discard c32e01eab2 * Revision 300! * Put `@' in front of echo's in the 
Makefile.
 discard 08f9cfe267 * No longer automatically download Berkeley DB / ATerm.
 discard 96c7b98bf0 * Argument support in Fix.  Arguments can be passed through 
the   builder using the `args' binding:
 discard 555347744d * Derivation expressions now can specify arguments to be 
passed to the   builder.  Note that this unfortunately causes all Fix-computed  
 hashes to change.
 discard e374dbf89b * A script `nix-prefetch-url' to fetch a URL, place it in 
the Nix   store, and print its hash.
 discard 01e30360d4 * Don't use a temporary file.
 discard 163db7367f * Fix can now read expressions from stdin (by saying `fix 
-').
 discard 161aab582b * Use a catalog when calling xsltproc.
 discard a24cb19361 * Use xmllint instead of nsgmls to validate the manual.
 discard 9ee3b7a37a * Function application test cases.
 discard dc0ef2ca98 * Detect infinite loops using blackholing.
 discard 2e16ff22ac * Fix man page.
 discard 5cde23f869 * Function() takes a list of formals.
 discard 0a2de7f543 * Lam -> Function. Doh!
 discard 95b49f8044 * Manual updates.
 discard 68022552d2 * Put the pre-built manual and man pages in the tar 
distribution.
 discard c34a153ae5 * Documented the `--query' operation.
 discard b4f88d0ec3 * Split the book.xml into several xml files.
 discard 469f1eba56 * Documented some Nix operations.
 discard e405ca506e * Generate man pages from the manual.
 discard c602930e08 * deletePath(): some operating systems (e.g., Mac OS X) 
don't like it   when we delete entries from a directory while we are reading 
it.   So read the directory into memory, then delete its contents.
 discard 4b7b0bd12c * Started on the introduction.
 discard 74867e72f2 * Start of manual; installation instructions.
 discard f8035d06f2 * Allow a name to be given to a system configuration 
through `--name   NAME'.  E.g., on the losser Subversion server, I do 
`nix-switch --name   svn $(fix ...)' to atomically upgrade the server (the SVN 
server   uses the Apache and Subversion installations in 
/nix/var/nix/links/svn).
 discard 9ad39df282 * `==' is not a valid operator.
 discard d551062ec4 * Scan for wget and use the full path in fetchurl.sh. * Use 
nix-hash (not md5sum) in fetchurl.sh.
 discard 236eb59293 * Allow locks on paths to be acquired recursively (that is, 
if the   process is already holding a lock on a path, it may acquire the lock   
again without blocking or failing).  (This might be dangerous, not   sure).  
Necessary for fast builds to work.
 discard 720f06e3b0 * A flag `--flat' to just compute the MD5 checksum of the 
contents of   a regular file.  I.e., `nix-hash --flat' is equivalent to the   
coreutils `md5sum' command (which doesn't exist on all systems).
 discard 37483672d4 * App -> Call. * Allow booleans in package environment 
bindings (True maps to "1",   False maps to "").
 discard d34b4d4f28 * Conditionals.
 discard b9c9b461ea * Made nix-push much faster.
 discard 4ce652640b * Cache result of fstatePaths().  TODO: do this in 
fstore.cc.
 discard fd30f52cfc * Made nix-pull much faster by performing all Fix 
instantiations at   the same time.
 discard 17f05dba77 * Allow the top-level expression to be a list of 
expressions that   normalise to Nix expression.
 discard d6b6b2d3a8 * Delete obstructed paths prior to building.
 discard d2e963f7a3 * Path locking in addToStore() and expandPath().
 discard c95b4ad290 * In normaliseFState(), wrap registration of the output 
paths and the   normal form in a single transaction to ensure that if we crash, 
  either everything is registered or nothing is.  This is for   recoverability: 
unregistered paths in the store can be deleted   arbitrarily, while registered 
paths can only be deleted by running   the garbage collector.
 discard d99d04e644 * Defensive programming against POSIX locking idiocy. * 
Simplified realiseSlice().
 discard 545145cd58 * normaliseFState() now locks all output paths prior to 
building, thus   ensuring that simultaneous invocations of Nix don't clobber   
each other's  builds.
 discard 9df93f30bd * Don't use substitutes in addToStore().
 discard 06434072e7 * Put the database verifier in a transaction.
 discard 06d3d7355d * Enclose most operations that update the database in 
transactions.
 discard 177a7782ae * Use a more reasonable log file size (256 KB instead of 10 
MB). * Checkpoint on exit.
 discard 4a013962bd * Started using Berkeley DB environments.  This is 
necessary for   transaction support (but we don't actually use transactions 
yet).
 discard 758bd4673a * Set execute bit.
 discard 9f4c19276d * Basic makefile.
 discard 26ff1cdf89 * A better test case for Nix race conditions.
 discard 64c617e984 * Directories for the manual.
 discard 2ac02440dc * Test cases for races.
 discard aaee69cfde * INSTALL_DATA -> INSTALL_PROGRAM to ensure that the 
execute bit   remains set.
 discard 83075304e5 * Don't make the builder executable.
 discard 1cb030736e * Bug: Fix does not allow empty names, so don't generate 
them.
 discard a01629894d * Use `--query --requisites' and include successors when 
pushing.  Don't   use `--query --generators' anymore.
 discard 40f32ae00a * Typo: if -> elsif.
 discard 8846465934 * Get garbage collection and cache population to work 
*properly*.   Renamed `fstateRefs' to `fstateRequisites'.  The semantics of 
this   function is that it returns a list of all paths necessary to realise   a 
given expression.  For a derive expression, this is the union of   requisites 
of the inputs; for a slice expression, it is the path of   each element in the 
slice.  Also included are the paths of the   expressions themselves.  
Optionally, one can also include the [...]
 discard dc14a3de46 * Nicer dot graphs.
 discard 79ba0431db * `fstateRefs' now works on derive expressions as well.  
TODO: make   this more efficient. * A flag `-n' in 'nix --query' to normalise 
the argument.  Default is   not to normalise.
 discard 5acb45446e * Let `nix --install' print out the id of the normal form. 
* Some minor refactoring.
 discard ce5fd1cc12 * Do not set LD_LIBRARY_PATH; it breaks many things.  E.g., 
SuSE's ssh   dynamically links against libdb4 (?!), due to LD_LIBRARY_PATH it 
picks   up our libdb4 instead of SuSE's libdb4, but our libdb4 uses another   
glibc so loading barfs.
 discard dec8fbc52b * Check for the pthread library (db4 needs it on some 
platforms).
 discard 949c4fa1a8 * `nix --help'. * `nix --query --graph' to print a dot 
dependency graph of derive   expressions.
 discard f21b341957 * Fix message.
 discard 5d7a20dac3 * Prevent spurious rebuilds of db/aterm.
 discard 0a0c1fcb4d * The `-v' flag no longer takes an argument; it should be 
repeated   instead (e.g., `-vvvv' for lots of output).  Default is to only   
print error messages.
 discard 3b521bb1bd * Do sync the database, since not doing so caused database 
changes not   to reach the disk at all.  Looks like a bug.
 discard 1a7468a57a * Debug levels.  Use `--verbose / -v LEVEL' to display only 
messages   up to the given verbosity levels.  These currently are:
 discard b75719b984 * Don't sync the database on close.  This was killing 
performance.   (Of course, the real problem is that we open the database for   
*every* operation; we should only open it once.  And we should use   
transactions.)
 discard 39ce70025b * Incorporated Berkeley DB and ATerm into the source tree. 
* `make dist'.
 discard 9202570f8c * libdb_cxx-4 -> libdb_cxx
 discard e877c69d78 * Substitutes now should produce a path with the same id as 
they are   substituting for (obvious, really).
 discard df648c4967 * `nix --query --expansion' (`-qe') to get any path with 
content   corresponding to the given id.
 discard d84931ee56 * Changed nix-pull to match nix-push.
 discard c7bdb76fe4 * Syntax fixes. * When pushing, put the hash in the file 
name so that the   client can verify (proof-carrying file names?).
 discard d5ee6f8700 * In `--query --generators', print out paths, not ids.   
(There should really be a switch for this).
 discard 2616e6a6f3 * Check for errors.
 discard 9f4ad99e92 * Canonicalise path.
 discard 249988a787 * Allow the output/expression id to be forced to a certain  
 value; this potentially dangerous feature enables better   sharing for those 
paths for which the content is known in   advance (e.g., because a content hash 
is given). * Fast builds: if we can expand all output paths of a derive   
expression, we don't have to build.
 discard 49231fbe41 * Changes to the command line syntax of Nix. * A function 
to find all Nix expressions whose output ids are   completely contained in some 
set.  Useful for uploading relevant Nix   expressions to a shared cache.
 discard 401452e57a * Memoize the evaluation of Fix expressions to speed up 
computation.
 discard 7984cfc7c1 * Argh, another short-write problem.  Added wrappers around 
  read()/write() to fix this once and for all.
 discard 667a6afb9d * Remove accidentally added file.
 discard 6f1a0f948d * Refactorings.
 discard ab350eafd2 * Generate nar.sh, fetchurl.sh.
 discard b3fc38bf6a * For debugging: `nix --verify' to check the consistency of 
the   database and store.
 discard 71cc3ceae5 * Preserve the executable bit.
 discard 54664b6fb7 * The write() system call can write less than the requested 
  number of bytes, e.g., in case of a signal like SIGSTOP.   This caused `nix 
--dump' to fail sometimes.
 discard 335aa1c35d * Doh!
 discard 6822fd7bf4 * Bug fix: slices are transitive, so if we detect that an   
input path is referenced in an output paths, we also have to   add all ids 
referenced by that input path. * Better debug assertions to catch these sorts 
of errors.
 discard 9d56ca219f * Substitute fixes.
 discard b9ecadee6e * Fix the -qr query.
 discard c11bbcfd26 * Fix self-referential outputs. * Fix -qp query.
 discard d41d085b77 * Get Fix and Nix to work again.
 discard 7b3f44e05b * The new normaliser now passes the unit tests.
 discard f5b6fa5256 * Basic work on allowing derive expressions to build 
multiple paths.   This is not entirely trivial since this introduces the 
possibility   of mutual recursion. * Made normal forms self-contained. * Use 
unique ids, not content hashes, for content referencing.
 discard 8898e86b4f * Get the garbage collector to work again.
 discard 3509299aca * After building, scan for actual file system references as 
  opposed to declared references.  This prunes the reference   graph, thus 
allowing better garbage collection and more   efficient derivate distribution.
 discard 135b7d54db * Don't check for staleness by default.
 discard e6363b05ae * Pass $(prefix) and other variables through -D..., not   
through config.h, to prevent silly Autoconf problems.
 discard 9c620e4afa * Generate the scripts so that we can substitute the prefix 
  etc. correctly. * Fixed nix-switch.
 discard 5304a1eb3a * Fetchurl: check md5 checksum.
 discard 73b163c1a1 * Fix a bug that caused Fix not to be deterministic (due to 
addToStore   returning different paths if the hash of the path to be added was  
 already available in the store under a different name).
 discard c834a5c597 * Fix handling of pipes (read(2) may not return the 
required   number of bytes in one call).
 discard 822c072cfa * Compress Nix archives when pushing them.
 discard 9bcc31c941 * Working derivate sharing.
 discard 81304a6bb5 * Convert tabs to spaces.
 discard e5fbf58041 * A command to register successor fstate expressions.
 discard 8511571f65 * Performance enhancement.
 discard 1d1c3691d2 * The policy-free derivate sharing now *almost* works. :-)  
For any   hash for which no local expansion is available, Nix can execute a   
`substitute' which should produce a path with such a hash.
 discard d072485d28 * Get `nix-push' working again.  It now uses Nix/Fix to 
create Nix   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.
 discard 5d4b90b689 * Actually go through the search directories when looking 
for files.
 discard 089b436175 * Deleted the sys directory.
 discard b96239c657 * Moved the fetchutl package to corepkgs.
 discard 9ebd78144a * Added a directory for standard Fix descriptors.
 discard 6011bd0da2 * Outline of the new scheme for derivate distribution.
 discard 2b95a9dc05 * When computing the set of paths referenced by an 
expression, also   include the paths of the subterms.
 discard 9a99dc736d * Canonicalise paths so that Fix produces identical Nix   
expressions for identical inputs.
 discard cab3f4977a * A path canonicaliser that doesn't depend on the existence 
of paths   (i.e., it doesn't use realpath(3), which is broken in any case).   
Therefore it doesn't resolve symlinks.
 discard 333f4963de * The output of a Derive() node is not a referenced path.
 discard 40274c1f4f * A command to query the paths referenced by an fstate 
expression. * Use a temporary directory for build actions.
 discard a279137327 * Get `--dump' and `--delete' to work again.
 discard 85a913a3e7 * Renamed `id' -> `name' to remove the implication of 
uniqueness.
 discard 0b38b43bab * deletePath() now removes the path from the hash2paths 
mapping.
 discard ab644ad10b * BaseName() primitive for the generation of more sensible 
names   (especially in fetchurl.fix).
 discard a5a90f501e * Get rid of the `netsources' database. * Rename the `refs' 
database to `hash2paths'.
 discard be96c2189c * `--realise' -> `--install'.
 discard 5895c160c4 * Make dbRefs a mapping from Hash to [Path].
 discard 609a224848 * Fixed `make check' as well.
 discard 224c585aba * Refactoring on the file names.
 discard 7952a8053c * A utility `nix-hash' to compute Nix path hashes.
 discard bfa5d77211 * Bug fix: properly check result of open().
 discard 82e3d8fafe * Got Fix working again.
 discard f826e432aa * Refactoring: move initialisation and argument parsing 
into a shared   file.
 discard 01b34fe584 * Cleanup.
 discard 207ff2caf0 * Caching of expression successors.
 discard 40b5936691 * Realisation of Derive(...) expressions.
 discard 3da9687854 * Realisation of File(...) expressions.
 discard bb03c45ca0 * Added the Boost format library which provides a safe 
printf   replacement.
 discard d4c3edfaba * Normalisation.
 discard 3ec5252582 * Improved syntax and semantics for Nix expressions.
 discard 2b07b0e7eb * Minor cleanups.
 discard 692b562342 * `nix --delete' command.
 discard c0cbaef4be * `nix --restore' command.
 discard 5f5cab0ac7 * A function to restore from a Nix archive. * addValue() 
can now import any dumpable FS object.
 discard 85effedca3 * Flags to indicate how values are specified on the command 
line   (--hash, --file, --name).
 discard 5079ccb455 * Move most of Nix into a library (libnix.a). * Run `test' 
on `make check'.
 discard 1849aa2a72 * Refactoring: move dump function into archive.cc.
 discard 38e12df631 * `nix --dump' command.
 discard aeaffec785 * Dump symlinks.
 discard 94cf1f86bb * Lambdas, applications, substitutions.
 discard bc57eb3c8a * Set CPLUS_INCLUDE_PATH as well as C_INCLUDE_PATH.  
Otherwise g++   won't see header files under Nix control.
 discard fab7b128b9 * Automake sucks.
 discard 34fcf5fa0c * Started integrating the new evaluation model into Nix. * 
Cleaned up command-line syntax.
 discard 7a96da3627 * Test for expression dereferencing.
 discard 6656993f83 * Derefencing of hashed expressions.
 discard a7ab242fb4 * Simplify the evaluator.
 discard c739e20585 * Argument processing.
 discard 727beb798a * Canonicalization: when hashing directories, sort the 
directory   entries by name.
 discard 2f04e7102e * Path hashing.
 discard a09e66da5a * Description of path hashing algorithm.
 discard 822794001c * Started implementing the new evaluation model. * Lots of 
refactorings. * Unit tests.
 discard b9f09b3268 * AST for Nix expressions.
 discard 21fe717ce2 * Refactoring: hash class.
 discard f66055fa1e * Set umask to 0022 on startup.
 discard 5908663f42 * Send log output to stderr.
 discard d1f5fd7216 * Log the output of builders to $prefix/var/log/nix.
 discard 64582f54be * Open the database read-only when enumerating tables.
 discard 383297e0e8 * Don't set MANPATH.  It's not necessary.
 discard 84e235eae8 * Set MANPATH and PKG_CONFIG_PATH.
 discard 5e01b220b3 * Fix the rsync destination.
 discard 4d21cda0cd * Fix for big-endian platforms: check for endianness in MD5 
computations.   This is done at runtime, which is inefficient, but I can't be 
bothered   to write an Autoconf test right now.
 discard 9efad76595 * FreeBSD / ISO C++ compatibility fixes.
 discard d8bdf5b06e * Removed some debug code that prevented packages from 
building.
 discard a9f2928ed6 * Moved the package descriptors and build scripts out of 
the Nix tree.
 discard 8b930a0c94 * Some refactoring.
 discard f8d91f20e6 * Nix can now fetch prebuilts (and other files) from the 
network, iff   a mapping from the hash to a url has been registered through 
`nix   regurl'.
 discard 13176d74cc * Updated Fix descriptors to reflect the new Fix abstract 
syntax.
 discard 7dd91d3779 * Prebuilt package sharing.  We allow transparent binary 
deployment by   sharing package directories (i.e., the result of building a Nix 
  descriptor).
 discard 0ef4b6d0f8 * Cleaned up the semantics of Fix expressions.
 discard d6d930a975 * Bug fix: deleting the old links didn't work properly.
 discard fcc5ae151b * Remove build directory from a package directory after 
building it.
 discard 76205df09c * Removed old Nix descriptors.
 discard 243370bc52 * nix-switch now removes the link to the previously 
activated system   package as a root of the garbage collector, unless `--keep' 
is   specified.
 discard 24b3d0759e * File removed.
 discard 9713e8577f * getpkg, delpkg, and so on now accept multiple arguments.
 discard 49e0d743d7 * Fix descriptors for Pan and its dependencies.
 discard f546e0cda4 * Fix descriptor for Subversion 0.21.0.
 discard 6faa154c89 * Add "... || exit 1" to every command to catch failure.
 discard e59c3246b9 * Redirect stdout to stderr when executing the build script.
 discard f7526febe4 * A garbage collector for installed packages.  
nix-collect-garbage   doesn't actually delete any packages, it just prints 
their   descriptor hashes.  So we can do
 discard 30a6122f80 * When we activate a descriptor in nix-switch, remember its 
hash.   This allows us to find out all `live' packages on the system by   doing
 discard b762f4df7f * In `fix --instantiate', only print out the hashes of the 
Nix   descriptors generated out of Fix descriptors specified on the   command 
line.  This allows us to say:
 discard aa8fda4b54 * We no longer use nix-populate standalone, rather we use 
it as a   build action for `system' packages (like system.fix) that have   
dependencies on all packages we want to activate.
 discard f56b7312b2 * Descriptor importing in Fix.
 discard cc6eafb3d0 * FreeBSD / gcc 2.95 compatibility fixes. * A script to 
generate prebuilt registration scripts.
 discard f7ef88df1f * Added some installation instructions to the readme.
 discard 0d2b24cdd1 * `Fix' is a high-level descriptor instantiator for Nix.  
It replaces   nix-instantiate.
 discard 814b256da4 * Better installation: make directories, create database. * 
Fixed the register script.
 discard 2eea8832f0 * The latest version of Pan.
 discard 1447cf35bd * Delete source after building.
 discard 136c00e881 * Autoconf / Automake configuration and building.
 discard ab723e341a * Minor refactoring: use iterators to process arguments.
 discard c68dca5dac * Script to register pre-built packages.
 discard 5bc26fb73f * Importing and exporting of pre-built packages.
 discard 383f9bb0f1 * Use ATerms for Nix descriptors.
 discard ced20f187e * Nix descriptor for Subversion.
 discard 31f177ef0a * Check for collissions.
 discard 278ea4097e * Don't fork in `nix run'.
 discard f915f77349 * Allow arguments to be passed to programs in `nix run'.
 discard 0f40a560ca * Added a script nix-activate which builds a list of 
"activated"   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).
 discard 3f1a1457e9 * Integrate hash into instantiated descriptor file names. * 
Use MD5::Digest.
 discard 73c53935d0 * For efficiency: md5 integrated into nix. * 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). * Com [...]
 discard eeab86e0ac * Typo fix.
 discard 2dc84e5569 * Descriptors now have a "system" field specifying the 
platform that   the build or run action should be perfomed on.  This ensures 
that   descriptors have different hashes on different platforms.
 discard 9d2f128252 * Refactoring.
 discard 8d682ba551 * A descriptor for running the Pan newsreader. * 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.
 discard 20d165c344 * A command to run programs in Nix packages, that is, to 
execute a run   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:
 discard 800d8e950f * Added a command to list installed packages.
 discard 2e59698b78 * Added a command to verify the consistency of the database.
 discard fa51d6fcd9 * Forgot to commit this one.
 discard e582ee67cd * Fetch sources from the network.
 discard 88d257b17f * Renamed dist -> build.
 discard 4c43711810 * Descriptor templates for the Pan newsreader and all its   
dependencies.
 discard cadc3852e4 * nix-instantiate now instantiantes the closure of the set 
of   descriptor templates under the import relation.  I.e., we can now   say:
 discard f7a98e081d * Various updates.
 discard b3594e9eaf * A script to instantiate package descriptors from 
templates.
 discard 8999f923ea * Improved Nix.  Resources (package descriptors and other 
source   files) are now referenced using their cryptographic hashes.
 discard 18ebf518de * Converted to C++.
 discard 75d788b0f2 * Initial version of nix.
 discard 841fcbd047 * And a trunk to go along with that.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]