about summary refs log tree commit diff
path: root/configure.ac
AgeCommit message (Collapse)AuthorFilesLines
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
2010-11-16 * Sync with the trunk.Eelco Dolstra1-0/+19
2010-10-29 * Use pkgconfig to locate the Boehm GC (as suggested by Ludo), ifEelco Dolstra1-7/+7
--enable-gc is given.
2010-10-22 * Make building against the Boehm GC a configure option.Eelco Dolstra1-0/+13
2010-10-04 * If std::tr1::unordered_set is unavailable, use std::set.Eelco Dolstra1-0/+7
2010-08-27 (no commit message)Eelco Dolstra1-1/+1
2010-08-12 * Urgh, this was supposed to go in the trunk...Eelco Dolstra1-3/+0
2010-08-12 * Don't link against pthreads. This was added way back in r211Eelco Dolstra1-3/+0
because Berkeley DB needed it on some platforms, but we don't use BDB anymore. On FreeBSD, if you link against pthreads, then the main thread gets a 2 MB stack which cannot be overriden (it ignores "ulimit -s"): http://www.mail-archive.com/freebsd-hackers@freebsd.org/msg62445.html This is not enough for Nix. For instance, the garbage collector can fail if there is a pathologically deep chain of references (http://hydra.nixos.org/build/556199). 2 MB is also not enough for many Nix expressions. Arguably the garbage collector shouldn't use recursion, because in NixOS unprivileged users can DOS the garbage collector by creating a sufficiently deeply nested chain of references. But getting rid of recursion is a bit harder.
2010-08-06 * Use SQLite 3.7.0.1.Eelco Dolstra1-1/+1
2010-08-04 * Sync with the trunk.Eelco Dolstra1-3/+7
2010-08-04 * Use SQLite 3.7.0's write-ahead logging (WAL mode). This is a lotEelco Dolstra1-1/+1
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: 42.5s - SQLite 3.6.23 with truncate mode and fsync 3.4s - SQLite 3.6.23 with truncate mode and no fsync 32.1s - SQLite 3.7.0 with truncate mode and fsync 16.8s - SQLite 3.7.0 with WAL mode and fsync, auto-checkpoint every 1000 pages 8.3s - SQLite 3.7.0 with WAL mode and fsync, auto-checkpoint every 8192 pages 1.7s - SQLite 3.7.0 with WAL mode and no fsync The default is now to use WAL mode with fsyncs. Because WAL doesn't work on remote filesystems such as NFS (as it uses shared memory), truncate mode can be re-enabled by setting the "use-sqlite-wal" option to false.