about summary refs log tree commit diff
path: root/corepkgs
AgeCommit message (Collapse)AuthorFilesLines
2012-07-26 Merge branch 'master' into no-manifestsEelco Dolstra2-1/+23
2012-07-25 import: If the path is a valid .drv file, parse it and generate a derivation ↵Shea Levy2-1/+23
attrset. The generated attrset has drvPath and outPath with the right string context, type 'derivation', outputName with the right name, all with a list of outputs, and an attribute for each output. I see three uses for this (though certainly there may be more): * Using derivations generated by something besides nix-instantiate (e.g. guix) * Allowing packages provided by channels to be used in nix expressions. If a channel installed a valid deriver for each package it provides into the store, then those could be imported and used as dependencies or installed in environment.systemPackages, for example. * Enable hydra to be consistent in how it treats inputs that are outputs of another build. Right now, if an input is passed as an argument to the job, it is passed as a derivation, but if it is accessed via NIX_PATH (i.e. through the <> syntax), then it is a path that can be imported. This is problematic because the build being depended upon may have been built with non-obvious arguments passed to its jobset file. With this feature, hydra can just set the name of that input to the path to its drv file in NIX_PATH
2012-07-11 Merge branch 'master' of github.com:NixOS/nix into no-manifestsEelco Dolstra3-1/+38
2012-07-09 Pass --insecure to curl so that https worksEelco Dolstra1-1/+1
2012-07-09 Inline fetchurl.shEelco Dolstra3-9/+13
2012-07-09 Remove obsolete commentShea Levy1-3/+0
2012-07-09 corepkgs/fetchurl: Build locally and outside of the chrootShea Levy1-0/+6
2012-07-09 corepkgs/fetchurl: the 'system' argument can be optionalShea Levy1-1/+1
2012-07-09 corepkgs: distribute fetchurl filesShea Levy1-1/+1
2012-07-09 corepkgs/fetchurl: Call the shell directly instead of using the shebangShea Levy2-3/+2
2012-07-09 corepkgs/fetchurl.sh: Use config.nix's curlShea Levy2-2/+4
2012-07-09 The fetchurl builder is now fetchurl.shShea Levy1-1/+1
2012-07-09 Remove old fetchurl makefileShea Levy1-11/+0
2012-07-09 Move fetchurl files out of their subdirectoryShea Levy2-0/+0
2012-07-09 corepkgs/config.nix.in: We'll need curlShea Levy1-0/+1
2012-07-09 Resurrect old corepkgs fetchurlShea Levy3-0/+39
2012-07-01 Fix xz compressionEelco Dolstra1-3/+3
2012-07-01 Allow both bzip2 and xz compressionEelco Dolstra1-5/+13
2012-06-29 Use XZ compression in binary cachesEelco Dolstra2-5/+7
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-09 Disable building in chroot for Nix's corepkgsEelco Dolstra3-0/+10
The dependencies of the corepkgs are not necessarily in the chroot (or in the Nix store), so don't build them in a chroot.
2012-04-26 Don't use the build hook for unpacking channelsEelco Dolstra1-0/+2
2012-04-14 If the (redirected) channel URL contains a version number, use itEelco Dolstra2-3/+3
2012-04-14 Remove unnecessary "system" argumentEelco Dolstra2-4/+5
2012-04-14 nix-channel improvementsEelco Dolstra2-32/+6
"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-01-04 * currentOutput -> outputName. "current" implies some temporalEelco Dolstra1-1/+1
aspect.
2012-01-04 * Export the original input attributes of the derivation inEelco Dolstra1-1/+4
‘drvAttrs’. This will simplify the implementation of functions such as ‘overrideDerivation’ in Nixpkgs, which need to filter out any added attributes such as outPath.
2012-01-04 * Simplify the implementation of "derivation" a bit: lift out theEelco Dolstra1-18/+11
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.
2012-01-03 * Drop the inefficient "Path" suffix in output attribute names.Eelco Dolstra1-4/+4
2012-01-03 * Move the implementation of the ‘derivation’ primop into a separateEelco Dolstra2-1/+32
file.
2012-01-03 * Forgot to add.Eelco Dolstra1-0/+13
2012-01-03 * Add a test for nix-channel.Eelco Dolstra6-57/+45
* Refactor the nix-channel unpacker a bit.
2012-01-03 * Refactoring: Get rid of a few subdirectories in corepkgs/, and someEelco Dolstra8-46/+46
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-11-05 * Fix the broken reference to bunzip2 in the channel unpack script.Eelco Dolstra1-1/+1
2011-10-10 * Install NixManifest.pm, NixConfig.pm and GeneratePatches.pm underEelco Dolstra1-1/+1
the Nix:: namespace.
2010-11-17 * nix-push: no need to compute the NAR hash, since the Nix databaseEelco Dolstra1-2/+0
already has it (`nix-store -q --hash').
2010-08-04 * Allow derivations to hint that they should not be built remotelyEelco Dolstra1-0/+4
using the build hook mechanism, by setting the derivation attribute "preferLocalBuild" to true. This has a few use cases: - The user environment builder. Since it just creates a bunch of symlinks without much computation, there is no reason to do it remotely. In fact, doing it remotely requires the entire closure of the user environment to be copied to the remote machine, which is extremely wasteful. - `fetchurl'. Performing the download on a remote machine and then copying it to the local machine involves twice as much network traffic as performing the download locally, and doesn't save any CPU cycles on the local machine.
2010-05-07 * Sync with the trunk.Eelco Dolstra1-1/+9
2010-05-05 buildenv: Special-case Python's `site.py' and `site.pyc'.Ludovic Courtès1-0/+2
* corepkgs/buildenv/builder.pl.in (createLinks): Skip `site.py' and `site.pyc' files.
2010-05-03 buildenv: Special-case Python's `easy-install.pth' files.Ludovic Courtès1-1/+7
* corepkgs/buildenv/builder.pl.in (createLinks): Skip `easy-install.pth' files. Comment the hack.
2010-04-21 * Store user environment manifests as a Nix expression inEelco Dolstra1-1/+1
$out/manifest.nix rather than as an ATerm. (Hm, I thought I committed this two days ago...)
2010-02-02 * Ugly hack to make `nix-channel' work on Cygwin.Eelco Dolstra1-0/+3
2009-03-03 * Allow the channel to declare a name for itself.Eelco Dolstra1-0/+6
2007-09-17 * nix-env: allow ~/.nix-defexpr to be a directory. If it is, then theEelco Dolstra1-10/+3
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. * nix-env: removed the "--import" (-I) option which set the ~/.nix-defexpr symlink. * nix-channel: don't use "nix-env --import", instead symlink ~/.nix-defexpr/channels. So finally nix-channel --update doesn't override any default Nix expressions but combines with them. This means that you can have (say) a local Nixpkgs SVN tree and use it as a default for nix-env: $ ln -s .../path-to-nixpkgs-tree ~/.nix-defexpr/nixpkgs_svn and be subscribed to channels (including Nixpkgs) at the same time. (If there is any ambiguity, the -A flag can be used to disambiguate, e.g. "nix-env -i -A nixpkgs_svn.pan".)
2007-05-16 * New builtin function "isFunction". You're not supposed to use itEelco Dolstra1-1/+1
;-) * 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".
2007-05-02 * Set the right priorities when recovering from a directoryEelco Dolstra1-1/+1
collision.
2007-05-01 * Give unpacked channels more sensible names than 0, 1, ... They nowEelco Dolstra1-9/+20
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".
2007-04-27 * Package conflict resolution through priority levels. If there is aEelco Dolstra2-19/+45
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., $ nix-env --set-flag priority 5 gcc $ nix-env --set-flag priority 10 binutils gives gcc a higher priority than binutils (higher number = lower priority).
2007-04-27 * Allow conflicting packages to be kept in a user environment, andEelco Dolstra2-3/+11
allow switching between them (NIX-80). Example: two versions of Pan: $ nix-env -q pan pan-0.128 pan-0.14.2.91 $ readlink $(which pan) /nix/store/l38jrbilw269drpjkx7kinhrxj6fjh59-pan-0.14.2.91/bin/pan At most one of them can be active any given time. Assuming than 0.14.2.91 is active, you can active 0.128 as follows: $ nix-env --set-flag active false pan-0.14.2.91 $ nix-env --set-flag active true pan-0.128 $ readlink $(which pan) /nix/store/nziqwnlzy7xl385kglxhg75pfl5i936n-pan-0.128/bin/pan More flags to follow.
2006-09-25 * Use "propagated-user-env-packages", not "propagated-build-inputs"Eelco Dolstra1-1/+1
for packages that should be propagated to the user environment.
2006-09-25 * Propagated packages now have lower priority; they are symlinkedEelco Dolstra1-14/+39
*after* the packages that have been explicitly installed, and collisions are ignored.