about summary refs log tree commit diff
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2012-07-23 nix-build: Support the ‘-’ argument to build an expression from stdinEelco Dolstra1-0/+4
2012-05-31 Update nix profile: - incorporate NixOS's configuration so that nix is ↵Michel Alexandre Salim2-8/+47
usable by normal users - install as a data file, not a program file
2012-05-22 Generate binary tarballs for installing NixEelco Dolstra1-0/+34
For several platforms we don't currently have "native" Nix packages (e.g. Mac OS X and FreeBSD). This provides the next best thing: a tarball containing the closure of Nix, plus a simple script "nix-finish-install" that initialises the Nix database, registers the paths in the closure as valid, and runs "nix-env -i /path/to/nix" to initialise the user profile. The tarball must be unpacked in the root directory. It creates /nix/store/... and /usr/bin/nix-finish-install. Typical installation is as follows: $ cd / $ tar xvf /path/to/nix-1.1pre1234_abcdef-x86_64-linux.tar.bz2 $ nix-finish-install (if necessary add ~/.nix-profile/etc/profile.d/nix.sh to the shell login scripts) After this, /usr/bin/nix-finish-install can be deleted, if desired. The downside to the binary tarball is that it's pretty big (~55 MiB for x86_64-linux).
2012-05-22 Remove $FONTCONFIG_FILE hack from nix-profile.shEelco Dolstra1-7/+0
It's no longer needed because Nixpkgs' fontconfig uses /etc/fonts/fonts.conf as a default, just like other distributions.
2012-05-08 Remove obsolete files (moved to release tree)Eelco Dolstra4-157/+0
2012-05-07 nix-channel --update: allow updating only the specified channelsEelco Dolstra1-3/+6
2012-05-07 Now *really* prevent accumulation of old manifestsEelco Dolstra1-2/+4
2012-05-01 Use mkpath instead of make_pathEelco Dolstra1-2/+2
Perl <= 5.10 doesn't have make_path. See e.g. http://hydra.nixos.org/build/2493981.
2012-04-30 Support mandatory system features in the build hookEelco Dolstra1-4/+8
Mandatory features are features that MUST be present in a derivation's requiredSystemFeatures attribute. One application is performance testing, where we have a dedicated machine to run performance tests (and nothing else). Then we would add the label "perf" to the machine's mandatory features and to the performance testing derivations.
2012-04-24 Fix a warning in the build hook about $progressViewerEelco Dolstra1-1/+1
2012-04-18 Fix URL set by nix-channelEelco Dolstra1-1/+1
2012-04-16 Hack to prevent accumulation of old manifestsEelco Dolstra2-1/+3
2012-04-14 If the (redirected) channel URL contains a version number, use itEelco Dolstra1-1/+7
2012-04-14 Follow redirects early to ensure consistency between the manifest and the ↵Eelco Dolstra1-0/+8
tarball Without this change, if the URL is a redirect that changes in between, we can get a manifest that doesn't match the tarball.
2012-04-14 Remove unnecessary "system" argumentEelco Dolstra1-1/+1
2012-04-14 nix-channel improvementsEelco Dolstra1-69/+60
"nix-channel --add" now accepts a second argument: the channel name. This allows channels to have a nicer name than (say) nixpkgs_unstable. If no name is given, it defaults to the last component of the URL (with "-unstable" or "-stable" removed). Also, channels are now stored in a profile (/nix/var/nix/profiles/per-user/$USER/channels). One advantage of this is that it allows rollbacks (e.g. if "nix-channel --update" gives an undesirable update).
2012-04-13 If "pv" is available at compile time, hard-code its pathEelco Dolstra1-1/+1
2012-04-13 nix-copy-closure: Move the progressViewer directly adjacent to the ssh call ↵Shea Levy1-1/+1
so that network progress is what's measured
2012-04-13 Add the '--show-progress' flag to nix-copy-closureShea Levy1-2/+8
2012-04-10 Handle the case where $SHELL is not setEelco Dolstra1-1/+2
2012-04-04 nix-generate-patches: Optionally write new patches to $NIX_ALL_PATCHESHydra mirror1-0/+10
2012-04-04 Follow redirects when checking for the existence of MANIFEST.bz2Eelco Dolstra1-1/+1
If we don't follow redirects, we might think that MANIFEST.bz2 exists just because the HEAD request succeeds on the redirector URI.
2012-03-27 Update "nix-build --help"Eelco Dolstra1-1/+6
2012-03-27 Add an option "--exclude" to filter dependencies in "nix-build --run-env"Eelco Dolstra1-1/+9
Sometimes when doing "nix-build --run-env" you don't want all dependencies to be built. For instance, if we want to do "--run-env" on the "build" attribute in Hydra's release.nix (to get Hydra's build environment), we don't want its "tarball" dependency to be built. So we can do: $ nix-build --run-env release.nix -A build --exclude 'hydra-tarball' This will skip the dependency whose name matches the "hydra-tarball" regular expression. The "--exclude" option can be repeated any number of times.
2012-03-27 Allow the command executed by "nix-build --run-env" to be overriden with ↵Eelco Dolstra1-1/+9
--command
2012-03-19 Add a command "nix-build --run-env" to reproduce the environment of a derivationEelco Dolstra1-0/+29
This command builds or fetches all dependencies of the given derivation, then starts a shell with the environment variables from the derivation. This shell also sources $stdenv/setup to initialise the environment further. The current directory is not changed. Thus this is a convenient way to reproduce a build environment in an existing working tree. Existing environment variables are left untouched (unless the derivation overrides them). As a special hack, the original value of $PATH is appended to the $PATH produced by $stdenv/setup. Example session: $ nix-build --run-env '<nixpkgs>' -A xterm (the dependencies of xterm are built/fetched...) $ tar xf $src $ ./configure $ make $ emacs (... hack source ...) $ make $ ./xterm
2012-03-05 nix-copy-closure: don't print copied path on stdoutEelco Dolstra1-1/+1
We're already printing progress on stderr, so printing them on stdout afterwards is kind of useless.
2012-03-05 Restore progress indication during nix-copy-closureEelco Dolstra1-1/+0
2012-03-05 build-remote.pl: don't wait forever for the upload lockEelco Dolstra1-3/+17
In the build hook, don't wait forever to get the upload lock. This ensures progress if another process gets stuck while holding the upload lock.
2012-02-02 * nix-channel: fail if we don't have write permission to the manifestsEelco Dolstra1-13/+7
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.
2012-01-13 * nix-build: put the temporary derivation symlink in a temporaryEelco Dolstra1-28/+9
directory rather than the current directory. * nix-build: --drv-link now implies --add-drv-link.
2012-01-05 * Doh!Eelco Dolstra1-1/+1
2012-01-05 * Add a -I flag to the Perl bindings to nix-build and some otherEelco Dolstra5-5/+5
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-03 * Add a test for nix-channel.Eelco Dolstra1-12/+10
* Refactor the nix-channel unpacker a bit.
2012-01-03 * Use Nix::Config.Eelco Dolstra4-22/+15
2012-01-03 * Refactoring: Get rid of a few subdirectories in corepkgs/, and someEelco Dolstra1-4/+1
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.
2011-12-21 * Security: make sure the lock files used by build-remote.pl are notEelco Dolstra1-5/+5
readable to other users. Otherwise, any user can open the lock file for reading and lock it, thus DoSing the remote build mechanism.
2011-12-21 * Use a lock to ensure that only one build-remote instance can copy aEelco Dolstra1-1/+10
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.
2011-12-15 * Typo.Eelco Dolstra1-1/+1
2011-12-02 * nix-prefetch-url: rewritten in Perl.Eelco Dolstra1-135/+98
2011-11-29 * download-using-manifests: use the Perl bindings.Eelco Dolstra1-37/+29
2011-11-29 * For consistency with "nix-store -q --hash", produce hashes inEelco Dolstra1-2/+2
base-32. (This affects Hydra manifests.)
2011-11-29 * Get rid of the shell in ssh calls.Eelco Dolstra1-2/+2
2011-11-23 * Add bzip2 and xz support to nix-copy-closure.Eelco Dolstra1-1/+9
2011-11-23 * Add an API function exportPaths() that provides the functionality ofEelco Dolstra2-30/+10
‘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 very large closures due to an "Argument list too long" error. (Note that having very many dependencies in a single derivation can still fail because the environment can become too large. Can't be helped though.)
2011-11-23 * build-remote.pl: drop a hard-coded reference to /nix/etc/nix.Eelco Dolstra1-1/+2
2011-11-16 * nix-pull: update the Nix manifest cache if necessary. Also, don'tEelco Dolstra1-21/+3
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).
2011-11-16 * Don't decompress the manifests in /nix/var/nix/manifest. This savesEelco Dolstra1-10/+1
disk space, and, since they're typically only decompressed once (to fill the manifest cache), doesn't make things slower.
2011-10-19 * Print a consistent message.Eelco Dolstra1-1/+1
2011-10-18 * nix-copy-closure: support ‘--dry-run’ and ‘--include-outputs’.Eelco Dolstra1-10/+23