Commit graph

  • f186a9141e * nix-copy-closure: support ‘--dry-run’ and ‘--include-outputs’. Eelco Dolstra 2011-10-18 21:21:22 +0000
  • 6761757428 * Use the Store API bindings in nix-copy-closure. Eelco Dolstra 2011-10-11 15:41:13 +0000
  • d43a148204 * Add a test for nix-copy-closure. Eelco Dolstra 2011-10-11 13:58:47 +0000
  • 2492914fbc * Move the remote building test from the NixOS tree to the Nix tree. Eelco Dolstra 2011-10-11 13:06:59 +0000
  • c362e4d718 * Move SSH.pm. Eelco Dolstra 2011-10-11 11:45:36 +0000
  • 7d314b8c95 * Work around a race condition starting the Nix daemon. Eelco Dolstra 2011-10-11 11:14:30 +0000
  • 5193db048e * Set svn:ignore. Eelco Dolstra 2011-10-11 09:32:34 +0000
  • a2a317eb0b * Distribute GeneratePatches.pm. Eelco Dolstra 2011-10-11 09:31:55 +0000
  • 5090c34ee1 * Set the executable bit on scripts. Eelco Dolstra 2011-10-10 22:40:17 +0000
  • 8af7d766f0 * Refactoring: remove unnecessary variables from the tests. Eelco Dolstra 2011-10-10 21:32:34 +0000
  • cd6d02c366 Eelco Dolstra 2011-10-10 21:30:59 +0000
  • 6fcdbcac20 * Install NixManifest.pm, NixConfig.pm and GeneratePatches.pm under the Nix:: namespace. Eelco Dolstra 2011-10-10 21:11:08 +0000
  • 659c427caa * Hopefully perl-devel contains the required headers (untested). Eelco Dolstra 2011-10-10 18:58:49 +0000
  • 73fe6871c4 * Include the Nix Perl bindings in Nix itself. This will allow the bindings to be used in Nix's own Perl scripts. Eelco Dolstra 2011-10-10 18:12:40 +0000
  • bffe35aced Update gitignore Shea Levy 2011-09-19 04:36:49 +0000
  • 6c38cc9025 Ignore everything created during build Shea Levy 2011-09-19 04:15:26 +0000
  • 55481c44d4 * Don't assume that we want a shared Nix store. Eelco Dolstra 2011-09-17 09:53:31 +0000
  • e81c09edbf Remove the current output metadata from the string for unsaveDiscardOutputDependency Shea Levy 2011-09-16 11:31:00 +0000
  • bf50d6ad32 Add information about which output is active to drvPath's context Shea Levy 2011-09-16 11:30:52 +0000
  • ffa038f66d Add an sCurrentOutput member to EvalState Shea Levy 2011-09-16 11:30:44 +0000
  • f3e410d4bf Add a currentOutput attribute to derivations keep track of which output is active Shea Levy 2011-09-16 11:30:03 +0000
  • 8f28a3ba25 Add a test for multiple outputs Shea Levy 2011-09-14 05:59:29 +0000
  • c172d16b00 First attempt at the output-as-derivation semantics Shea Levy 2011-09-14 05:59:17 +0000
  • 0b34e57eb8 Create a branch for me to play around with finishing off the multiple outputs implementation Shea Levy 2011-09-14 00:41:02 +0000
  • 13114daa3e * Ouch. A store upgrade could cause a substituter to be triggered, causing a deadlock. Eelco Dolstra 2011-09-12 09:07:43 +0000
  • 281e3ed059 bootstrap: Simplify & make more robust. Ludovic Courtès 2011-09-06 12:11:05 +0000
  • 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. Eelco Dolstra 2011-09-06 12:06:30 +0000
  • 82710f96f7 * Add some -f flags, never hurts. Eelco Dolstra 2011-09-06 12:00:11 +0000
  • 93227ff65c * Eliminate all uses of the global variable ‘store’ from libstore. This should also fix: Eelco Dolstra 2011-08-31 21:11:50 +0000
  • 5bcdc7e351 * Update the cleanup script. Eelco Dolstra 2011-08-27 16:59:32 +0000
  • 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). Eelco Dolstra 2011-08-17 14:17:19 +0000
  • da18b11b05 * On FreeBSD, ‘touch’ is not in the test $PATH, so don't use it. Eelco Dolstra 2011-08-08 14:08:38 +0000
  • 76e0029f7a * Add perl-DBD-SQLite as a dependency of the RPM builds. Eelco Dolstra 2011-08-08 14:06:10 +0000
  • d374be551d * Add DBD-SQLite as a dependency to the Debian/Ubuntu builds. * Drop some old Fedora/Debian/Ubuntu releases. Eelco Dolstra 2011-08-08 13:19:00 +0000
  • 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. Eelco Dolstra 2011-08-06 19:45:43 +0000
  • 510033e783 * Handle <path> syntax. Eelco Dolstra 2011-08-06 18:54:29 +0000
  • 9d091ee99a * Handle the case where the search path element is a regular file. Eelco Dolstra 2011-08-06 18:45:28 +0000
  • 00a724ebc6 * Remove a debug statement. Eelco Dolstra 2011-08-06 18:24:43 +0000
  • 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). Eelco Dolstra 2011-08-06 18:23:38 +0000
  • c7101dac0b * Allow redirections in search path entries. E.g. if you have a directory Eelco Dolstra 2011-08-06 17:48:57 +0000
  • 1578b2261d * Add lang/dir* to the distribution. Eelco Dolstra 2011-08-06 16:18:54 +0000
  • 1ecc97b6bd * Add a Nix expression search path feature. Paths between angle brackets, e.g. Eelco Dolstra 2011-08-06 16:05:24 +0000
  • 54945a2950 * Refactoring: move parseExprFromFile() and parseExprFromString() into the EvalState class. Eelco Dolstra 2011-08-06 13:02:55 +0000
  • c8606664ab * Don't allow derivations with fixed and non-fixed outputs. Eelco Dolstra 2011-07-20 18:26:00 +0000
  • 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 for a victim to come along and install the compromised path. Eelco Dolstra 2011-07-20 18:10:47 +0000
  • 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. Eelco Dolstra 2011-07-20 12:15:40 +0000
  • 4bdb51e621 * Refactoring. Eelco Dolstra 2011-07-20 11:50:13 +0000
  • 0243eea4b9 * Create a symlink to /nix/var/nix/manifests in /nix/var/nix/gcroots if it doesn't exist. Eelco Dolstra 2011-07-20 11:47:00 +0000
  • d329c3ea9d * Support multiple outputs. A derivation can declare multiple outputs by setting the ‘outputs’ attribute. For example: Eelco Dolstra 2011-07-18 23:31:03 +0000
  • d9a5959139 * Show the default for --with-store-dir (Nix/211). Eelco Dolstra 2011-07-13 15:57:44 +0000
  • d5d4dcd4c9 * Allow attribute names to be strings. Based on the allow-arbitrary-strinsg-in-names patch by Marc Weber. Eelco Dolstra 2011-07-13 15:53:24 +0000
  • 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. Eelco Dolstra 2011-07-13 14:05:54 +0000
  • 0a623a10c7 * Allow a default value in attribute selection by writing Eelco Dolstra 2011-07-13 12:19:57 +0000
  • 2b9e29b1c8 * Change the right-hand side of the ‘.’ operator from an attribute to an attribute path. This is a refactoring to support default values. Eelco Dolstra 2011-07-06 12:28:57 +0000
  • 5580f3817c * Test case. Eelco Dolstra 2011-07-06 10:58:53 +0000
  • 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’. Eelco Dolstra 2011-07-06 10:58:17 +0000
  • 34f4b91820 Eelco Dolstra 2011-07-04 14:44:53 +0000
  • 1ea6e06445 doc: Fix typo. Ludovic Courtès 2011-06-30 15:48:40 +0000
  • 5c9e9f732d Add support for the build-timeout' and --timeout' options. Ludovic Courtès 2011-06-30 15:19:13 +0000
  • 9c99aa2620 Eelco Dolstra 2011-06-27 09:01:09 +0000
  • e4d8148585 Eelco Dolstra 2011-06-27 08:04:54 +0000
  • 4891b21f34 * Use SQLite 3.7.6.2. Eelco Dolstra 2011-05-03 16:17:24 +0000
  • 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. Eelco Dolstra 2011-04-19 10:52:35 +0000
  • 8c69dac8a1 * Handle error messages from the Nix worker containing the `%' character. (Nix/216) Eelco Dolstra 2011-04-19 10:44:44 +0000
  • 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'. Eelco Dolstra 2011-04-11 16:27:05 +0000
  • 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. Eelco Dolstra 2011-04-11 13:16:54 +0000
  • 08c8971498 * Lock the database during updates. Eelco Dolstra 2011-04-11 12:40:13 +0000
  • b2c11b9ed0 Eelco Dolstra 2011-04-11 10:23:15 +0000
  • 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. Eelco Dolstra 2011-04-11 10:13:53 +0000
  • 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). Eelco Dolstra 2011-04-11 08:21:30 +0000
  • b1882c3ef7 * Create $manifestDir if it doesn't exist. Eelco Dolstra 2011-04-11 08:06:14 +0000
  • 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. Eelco Dolstra 2011-04-10 23:22:46 +0000
  • 1e7e4f21ba * Remove the localPaths feature in manifests since it's no longer used and redundant anyway. Eelco Dolstra 2011-04-06 09:16:22 +0000
  • 0423d0692a * Print a better error message. Eelco Dolstra 2011-03-16 15:55:57 +0000
  • 48bdbbf070 * Fix a bug in the documentation (reported by Olexiy Buyanskyy, Nix/215). Eelco Dolstra 2011-03-15 13:12:59 +0000
  • 802c2651c8 Eelco Dolstra 2011-02-17 15:08:33 +0000
  • e945b52a31 * nix-push: handle the case where the hash is not set in the DB. Eelco Dolstra 2011-02-17 13:26:33 +0000
  • c3cee5395b * Build for Ubuntu 10.04. Eelco Dolstra 2011-02-14 14:56:02 +0000
  • 8fcaf3e9c6 make nix-mode provide 'nix-mode Florian Friesdorf 2011-02-14 03:11:56 +0000
  • 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. Eelco Dolstra 2011-02-10 14:31:04 +0000
  • 5a6b039802 * Don't call GC_expand_hp unless we're actually using the garbage collector. Eelco Dolstra 2011-02-09 22:59:50 +0000
  • f1462c208b Use $BDW_GC_LIBS instead of a custom variable. Ludovic Courtès 2011-02-09 21:23:13 +0000
  • 1876ab764f * A better fix. $boehmgc isn't set anywhere, we should use the flags returned by pkg-config. Eelco Dolstra 2011-02-09 14:13:09 +0000
  • 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. Eelco Dolstra 2011-02-09 14:08:32 +0000
  • d159ea1b7e * Urgh, FreeBSD doesn't have a "seq" command. Eelco Dolstra 2011-02-09 14:03:16 +0000
  • 3087b3f751 * Obsolete. Eelco Dolstra 2011-02-09 12:48:54 +0000
  • eb94581d39 * Remove obsolete directory. Eelco Dolstra 2011-02-09 12:43:44 +0000
  • 7bba67c401 * Remove obsolete file. Eelco Dolstra 2011-02-09 12:42:15 +0000
  • d0eda1f3e9 * Merged the SQLite branch. Eelco Dolstra 2011-02-09 12:41:54 +0000
  • 543988572e * Sync with the trunk. Eelco Dolstra 2011-02-09 12:25:53 +0000
  • c0340eec5a Eelco Dolstra 2011-02-08 12:30:28 +0000
  • 0304fda3cf * Propagate the CC setting. Eelco Dolstra 2011-02-05 16:40:15 +0000
  • aeae0beba4 * Clang compatibility fix. Clang actually checks template definitions when they are defined Eelco Dolstra 2011-02-05 16:29:10 +0000
  • 3854fc9b42 Remove useless <config.h> inclusion from public header. Ludovic Courtès 2011-01-14 13:55:58 +0000
  • 9db190eb31 * builtins.substring: if "start" is beyond the end of the string, return the empty string. Eelco Dolstra 2011-01-14 12:47:10 +0000
  • 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. Eelco Dolstra 2010-12-22 10:32:32 +0000
  • c931a7aec5 * Do a short sleep after SQLITE_BUSY. Eelco Dolstra 2010-12-17 17:23:15 +0000
  • b1eb252172 * Propagate the "100" exit status for failed builds through the Nix daemon. Eelco Dolstra 2010-12-17 11:28:26 +0000
  • eac93d6efe * Use the right `make'. Eelco Dolstra 2010-12-17 09:28:51 +0000
  • a0be433fec * Disable X11 forwarding, it's not needed. Eelco Dolstra 2010-12-15 14:25:54 +0000