about summary refs log tree commit diff
path: root/configure.ac
AgeCommit message (Collapse)AuthorFilesLines
2013-08-07 Run the daemon worker on the same CPU as the clientEelco Dolstra1-0/+4
On a system with multiple CPUs, running Nix operations through the daemon is significantly slower than "direct" mode: $ NIX_REMOTE= nix-instantiate '<nixos>' -A system real 0m0.974s user 0m0.875s sys 0m0.088s $ NIX_REMOTE=daemon nix-instantiate '<nixos>' -A system real 0m2.118s user 0m1.463s sys 0m0.218s The main reason seems to be that the client and the worker get moved to a different CPU after every call to the worker. This patch adds a hack to lock them to the same CPU. With this, the overhead of going through the daemon is very small: $ NIX_REMOTE=daemon nix-instantiate '<nixos>' -A system real 0m1.074s user 0m0.809s sys 0m0.098s
2013-08-06 Set the default GCC optimisation level to -O3Eelco Dolstra1-0/+2
2013-07-12 Add gzip support for channel unpackingGergely Risko1-1/+1
2013-03-25 makeStoreWritable: Use statvfs instead of /proc/self/mountinfo to find out ↵Shea Levy1-0/+1
if /nix/store is a read-only bind mount /nix/store could be a read-only bind mount even if it is / in its own filesystem, so checking the 4th field in mountinfo is insufficient. Signed-off-by: Shea Levy <shea@shealevy.com>
2013-01-02 UrggghEelco Dolstra1-1/+0
http://hydra.nixos.org/build/3661100
2012-11-15 Disable use of vfork()Eelco Dolstra1-1/+1
vfork() is just too weird. For instance, in this build: http://hydra.nixos.org/build/3330487 the value fromHook.writeSide becomes corrupted in the parent, even though the child only reads from it. At -O0 the problem goes away. Probably the child is overriding some spilled temporary variable. If I get bored I may implement using posix_spawn() instead.
2012-11-09 Use vfork() instead of fork() if availableEelco Dolstra1-0/+4
Hopefully this reduces the chance of hitting ‘unable to fork: Cannot allocate memory’ errors. vfork() is used for everything except starting builders.
2012-10-10 Out-of-tree building of perl modules.Mats Erik Andersson1-1/+1
2012-10-03 Rename nix-worker to nix-daemonEelco Dolstra1-1/+1
2012-10-03 Remove bin2cEelco Dolstra1-1/+0
2012-09-14 Test whether GNU tar understands --warning=no-timestampEelco Dolstra1-2/+2
http://hydra.nixos.org/build/3031618
2012-08-27 WhitespaceEelco Dolstra1-7/+7
2012-08-01 Use a GNU tar flag to shut up warnings about implausibly old timestampEelco Dolstra1-0/+12
2012-07-26 Merge branch 'master' into no-manifestsEelco Dolstra1-0/+17
2012-07-23 Handle platforms that don't support linking to a symlinkEelco Dolstra1-0/+12
E.g. Darwin doesn't allow this.
2012-07-23 Use lutimes() if available to canonicalise the timestamp of symlinksEelco Dolstra1-0/+5
Also use utimes() instead of utime() if lutimes() is not available.
2012-07-09 Add WWW::Curl as a dependencyEelco Dolstra1-0/+11
2012-06-29 Use XZ compression in binary cachesEelco Dolstra1-0/+1
XZ compresses significantly better than bzip2. Here are the compression ratios and execution times (using 4 cores in parallel) on my /var/run/current-system (3.1 GiB): bzip2: total compressed size 849.56 MiB, 30.8% [2m08] xz -6: total compressed size 641.84 MiB, 23.4% [6m53] xz -7: total compressed size 621.82 MiB, 22.6% [7m19] xz -8: total compressed size 599.33 MiB, 21.8% [7m18] xz -9: total compressed size 588.18 MiB, 21.4% [7m40] Note that compression takes much longer. More importantly, however, decompression is much faster: bzip2: 1m47.274s xz -6: 0m55.446s xz -7: 0m54.119s xz -8: 0m52.388s xz -9: 0m51.842s The only downside to using -9 is that decompression takes a fair amount (~65 MB) of memory.
2012-05-10 Support building with the Perl XS bindings disabledEelco Dolstra1-9/+16
Since the Perl bindings require shared libraries, this is required on platforms such as Cygwin where we do a static build.
2012-05-04 Require SQLite >= 3.6.19Eelco Dolstra1-1/+1
Nix needs SQLite's foreign key constraint feature, which was introduced in 3.6.19. Without it, the database won't be cleaned up correctly when paths are deleted. See e.g. http://hydra.nixos.org/build/2494142.
2012-04-13 If "pv" is available at compile time, hard-code its pathEelco Dolstra1-0/+1
2012-03-19 Fix the optional dependency on OpenSSLEelco Dolstra1-1/+1
http://hydra.nixos.org/build/2306540
2012-03-18 Drop the externals directoryEelco Dolstra1-62/+22
Nix now requires SQLite and bzip2 to be pre-installed. SQLite is detected using pkg-config. We required DBD::SQLite anyway, so depending on SQLite is not a big problem. The --with-bzip2, --with-openssl and --with-sqlite flags are gone.
2012-02-15 On Linux, make the Nix store really read-only by using the immutable bitEelco Dolstra1-4/+8
I was bitten one time too many by Python modifying the Nix store by creating *.pyc files when run as root. On Linux, we can prevent this by setting the immutable bit on files and directories (as in ‘chattr +i’). This isn't supported by all filesystems, so it's not an error if setting the bit fails. The immutable bit is cleared by the garbage collector before deleting a path. The only tricky aspect is in optimiseStore(), since it's forbidden to create hard links to an immutable file. Thus optimiseStore() temporarily clears the immutable bit before creating the link.
2012-01-11 * Figure out the extension of dynamic libraries; don't hard-code .so.Eelco Dolstra1-0/+5
2012-01-05 * Add a -I flag to the Perl bindings to nix-build and some otherEelco Dolstra1-1/+9
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.
2012-01-04 * Let --disable-gc work.Eelco Dolstra1-2/+2
2012-01-03 * Add a test for nix-channel.Eelco Dolstra1-3/+0
* Refactor the nix-channel unpacker a bit.
2011-11-21 * Doh.Eelco Dolstra1-1/+1
2011-11-21 * Put back the "sys_name" variable which got removed somewhere. ThisEelco Dolstra1-1/+9
broke building on Cygwin and Solaris.
2011-11-21 * Escape the [ and ] characters in the sed call, otherwise autoconfEelco Dolstra1-1/+1
will eat them.
2011-11-20 * "sed" on FreeBSD doesn't know the "+" operator.Eelco Dolstra1-4/+1
2011-11-18 * In the platform, canonicalise "amd64" to "x86_64". FreeBSD 8.2'sEelco Dolstra1-0/+5
uname reports amd64. * Drop the FreeBSD version number, e.g. "i686-freebsd" instead of "i686-freebsd8.2".
2011-11-16 configure: Change i*86 to i686 as has always been done.Ludovic Courtès1-3/+10
2011-11-16 configure: Rely on `AC_CANONICAL_HOST' to determine the Nix system name.Ludovic Courtès1-30/+13
This should be more robust and also plays better with cross-compilation---it uses the host name, instead of using the build name.
2011-11-07 * Boldly make SQLite WAL mode the default again. Hopefully theEelco Dolstra1-1/+1
intermittent problems are gone by now. WAL mode is preferrable because it does way fewer fsyncs.
2011-10-10 * Install NixManifest.pm, NixConfig.pm and GeneratePatches.pm underEelco Dolstra1-0/+2
the Nix:: namespace.
2011-10-10 * Include the Nix Perl bindings in Nix itself. This will allow theEelco Dolstra1-0/+1
bindings to be used in Nix's own Perl scripts. The only downside is that Perl XS and Automake/libtool don't really like each other, so building is a bit tricky.
2011-07-13 * Show the default for --with-store-dir (Nix/211).Eelco Dolstra1-1/+1
2011-07-04 (no commit message)Eelco Dolstra1-1/+1
2011-06-27 (no commit message)Eelco Dolstra1-1/+1
2011-06-27 (no commit message)Eelco Dolstra1-1/+1
2011-05-03 * Use SQLite 3.7.6.2.Eelco Dolstra1-1/+1
2011-04-11 * configure: detect whether DBD::SQLite is present. If necessary theEelco Dolstra1-0/+28
location to DBI and DBD::SQLite can be passed with --with-dbi and --with-dbd-sqlite.
2011-02-10 * Don't allocate a big initial GC address space on machines withEelco Dolstra1-1/+1
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.
2011-02-09 Use $BDW_GC_LIBS instead of a custom variable.Ludovic Courtès1-2/+0
2011-02-09 * A better fix. $boehmgc isn't set anywhere, we should use the flagsEelco Dolstra1-1/+1
returned by pkg-config.
2011-02-08 (no commit message)Eelco Dolstra1-1/+1
2010-12-17 * Do a short sleep after SQLITE_BUSY.Eelco Dolstra1-2/+1
2010-12-10 * Use SQLite 3.7.4.Eelco Dolstra1-4/+4