mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-28 18:03:04 +00:00
Nix Packages collection & NixOS
c92dbffeac
So far we've done the source code split up by using the generic unpackPhase and copying it all over into the different outputs. However, this had the problem of generating the I/O load of about three times the size of the source tree: First at fetchurl of the tarball (although it's not as much because it's compressed), second at unpackPhase and third at installPhase. Now we don't use installPhase anymore and directly unpack into the output paths, which unfortunately becomes quite a bit more complex because we need to transform the paths of the tar file on the fly. I've also tried using GNU Tar's --to-command option to even untar *and* patch it at the same time, but forking for every single file in the tarball gets REALLY slow and also gets even more complex than this two stage approach because you need to make sure that the patch file is applied correctly, for example for files that don't yet exist but are to be created by the patch file. We're using --anchored and --no-wildcards-match-slash here to prevent accidentally excluding files we don't want to exclude. One example is something like v8/tools/gyp/v8.gyp. So the current approach is some compromise between complexity and speed and should hopefully get rid of the Hydra build timeouts by lowering I/O load. See here for examples of builds having this issue: http://hydra.nixos.org/build/19045023 http://hydra.nixos.org/build/19044973 http://hydra.nixos.org/build/19044968 http://hydra.nixos.org/build/19045019 Signed-off-by: aszlig <aszlig@redmoonstudios.org> |
||
---|---|---|
doc | ||
lib | ||
maintainers | ||
nixos | ||
pkgs | ||
.gitignore | ||
.travis.yml | ||
.version | ||
COPYING | ||
default.nix | ||
README.md |
Nixpkgs is a collection of packages for Nix package manager.
NixOS linux distribution source code is located inside nixos/
folder.
- NixOS installation instructions
- Documentation (Nix Expression Language chapter)
- Manual (How to write packages for Nix)
- Manual (NixOS)
- Continuous package builds for unstable/master
- Continuous package builds for 14.12 release
- Tests for unstable/master
- Tests for 14.12 release
Communication: