Commit Graph

969 Commits

Author SHA1 Message Date
Jörg Thalheim
86ef9a7766
Merge pull request #53934 from Mic92/prefer-fetch-remote
prefer-fetch-remote: an overlay to fetch on remote builders
2019-01-21 10:47:59 +00:00
Frederik Rietdijk
f8b45e2d84 Merge staging-next into staging 2019-01-19 09:24:01 +01:00
Jörg Thalheim
eac6797380
prefer-fetch-remote: an overlay to fetch on remote builders
This is useful when running tools like NixOps or nix-review
on workstations where the upload to the builder is significantly
slower then downloading the source on the builder itself.
2019-01-18 14:41:10 +00:00
Jörg Thalheim
14474a449b
Merge pull request #53634 from Mic92/text-width
manual: limit text width
2019-01-18 14:34:15 +00:00
worldofpeace
3e41a75c4e doc/reviewing-contributions: use they pronoun
This appears to much more widely used in the nixpkgs documentation.
Also not all contributors are he's.
2019-01-18 05:29:55 -05:00
Jan Tojnar
af3758e0b5
Merge branch 'master' into staging 2019-01-17 21:49:16 +01:00
Jörg Thalheim
c3364fbff4
Merge pull request #53785 from danbst/get-hash-doc
manual: document ways of obtaining source hashes
2019-01-17 11:05:53 +00:00
danbst
2898377cd9 rephrase and apply suggestions 2019-01-17 12:32:08 +02:00
Frederik Rietdijk
a1a5ea5943 stdenv: make checkInputs native
We can't run the checkPhase when build != host, so we may as well make
the checkInputs native.

This signicantly improves the situation of Python packages when enabling
strictDeps.
2019-01-13 14:43:18 +01:00
Orivej Desh (NixOS)
9a21967f0a
stdenv: prune libtool files by default (#51767)
See the motivation in fd97db43bc (#41819).
2019-01-11 13:20:46 +00:00
danbst
663b8cc929 manual: document ways of obtaining source hashes
... and security nuances
2019-01-11 02:06:52 +02:00
Jörg Thalheim
06bcc2dee3
manual: limit text width
Currently the manual scales to the view port of the browser.
This leads to an unreadable layout and I found myself
reading the xml source instead.
The optimal width would be around 50 characters per line.
Since we have code listings also in the manual I relaxed
this limit a bit towards 70 characters per line.
2019-01-08 15:08:42 +00:00
Peter Hoeg
15c8362c14
Merge pull request #53447 from timokau/neovim-qt-wrapper
neovim-qt: wrap in separate derivation
2019-01-08 20:24:03 +08:00
Daiderd Jordan
e279767d69
doc: don't overwrite makeFlagsArray in the example
Arrays like these should be appended to instead of overwritten in almost
every case to avoid loosing the existing flags.
2019-01-06 15:40:11 +01:00
Timo Kaufmann
c52c4a00a2 doc: add neovim-qt configuration 2019-01-06 10:56:28 +01:00
Frederik Rietdijk
e5381cdece Merge master into staging-next 2019-01-06 09:36:23 +01:00
Domen Kožar
5ec91bac2f
Merge pull request #53326 from domenkozar/elm-packaging-rehaul
Elm: automate packaging with elm2nix
2019-01-05 13:20:16 +00:00
Frederik Rietdijk
9618abe87c Merge master into staging-next 2019-01-04 21:13:19 +01:00
Vincent Ambo
0c99dac497 doc: Add automatic generation of library function documentation
Modifies the build process of the manual to invoke nixdoc
automatically to generate XML files with function documentation.

Currently documentation is present for five of the files in `lib/`.

To add another file to the generated docs, both
`doc/functions/library.xml` and `doc/lib-function-docs.nix` must be
updated.
2019-01-04 11:28:27 +01:00
Domen Kožar
6da4584acf
Elm: automate packaging with elm2nix
- rewrite documentation
- automate whole process into update.sh
- remove all legacy snippets
2019-01-03 16:37:09 +00:00
Frederik Rietdijk
070290bda7 Merge master into staging-next 2018-12-31 12:00:36 +01:00
Timo Kaufmann
22d0f320e8
Merge pull request #52767 from timokau/vim-plugin-updates
Fix vim-plugin dependencies
2018-12-28 13:48:21 +01:00
Jan Tojnar
c45e9d0fac
Merge branch 'master' into staging 2018-12-25 17:03:57 +01:00
Timo Kaufmann
8e8a09bfc9 vimUtils: add dependency logic to nativeImpl
nativeImpl previously simply ignored dependency information.
2018-12-24 23:41:44 +01:00
Sander van der Burg
a27aa247c0
Merge pull request #50596 from svanderburg/mobile-updates
Mobile updates
2018-12-24 15:52:33 +01:00
Jan Tojnar
ef935fa101
Merge branch 'master' into staging 2018-12-24 15:02:29 +01:00
Jörg Thalheim
1b146a8c6f
treewide: remove paxutils from stdenv
More then one year ago we removed grsecurity kernels from nixpkgs:
https://github.com/NixOS/nixpkgs/pull/25277

This removes now also paxutils from stdenv.
2018-12-22 12:55:05 +01:00
Benjamin Hipple
6206a342e0 mkl: include Intel's libiomp.so in the MKL RPM unpack
Since Intel's default openmp implementation is available in the same src
tarball, we can just include it in the package. This means that `mkl` now "just
works" without any environment variables, fragile setup-hooks, or forced
propagation.

Since the openmp implementation is only needed at runtime (and for test cases),
users can substitute a different one if they prefer by exporting it with
`LD_PRELOAD`, which is how Intel recommends handling this. If they do not do so,
`libiomp.so` lives next to `libmkl_rt.so` and thus will be in the RPATH as a
sane default.

Since this still comes from the same src tarball, we can ship it without losing
the fixed-output derivation; likewise, since Hydra is not building or caching
these, shipping these proprietary packages costs no bandwidth for the nix
community.
2018-12-19 22:05:22 +01:00
Anders Kaseorg
85379a29ec pypy3: init at 6.0.0
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2018-12-19 09:53:31 +01:00
Sander van der Burg
c68974117b Add Titanium documentation section 2018-12-18 21:16:07 +01:00
Sander van der Burg
56e112e874 Add documentation for building iOS apps 2018-12-18 21:16:06 +01:00
Sander van der Burg
676d07af3f Add documentation section for Android 2018-12-18 21:16:06 +01:00
Frederik Rietdijk
826ab7026e Merge master into staging-next 2018-12-18 09:22:17 +01:00
John Ericson
fcce28f1af
docs: Small change to Rust guide to be more cross friendly 2018-12-18 06:09:34 +01:00
Jan Tojnar
aead6e12f9
Merge remote-tracking branch 'upstream/master' into staging 2018-12-16 22:55:06 +01:00
worldofpeace
2417859932
doc/breakpointHook: correct typos 2018-12-13 21:36:29 +00:00
Dmitry Kalinkin
694d32f47d
Update doc/stdenv.xml
Co-Authored-By: guibou <guillaum.bouchard@gmail.com>
2018-12-13 18:11:52 +01:00
Guillaume Bouchard
d5c931992d
Fix english in stdenv.xml 2018-12-13 17:23:51 +01:00
Piotr Bogdan
743d03bafc doc/stdenv: document dontPruneLibtoolFiles 2018-12-09 23:17:16 +00:00
Frederik Rietdijk
747aa4cc93 Merge staging-next into staging 2018-12-07 15:31:52 +01:00
Matthew Bauer
7a00e80329 ghc: don’t add libiconv automatically
ghc needs it to fail to correctly detect it for later.
2018-12-05 13:17:40 -06:00
Mario Rodas
f1dd6faaaa
docs: Remove nix-repl references
nix-repl has been deprecated
2018-12-03 21:37:54 -05:00
markuskowa
506d4c7e44
Merge pull request #51329 from c0bw3b/cleanup/gnu-https
Favor HTTPS URLs - the GNU edition
2018-12-02 16:52:33 +01:00
c0bw3b
0498ccd076 Treewide: use HTTPS on GNU domains
HTTP -> HTTPS for :
- http://gnu.org/
- http://www.gnu.org/
- http://elpa.gnu.org/
- http://lists.gnu.org/
- http://gcc.gnu.org/
- http://ftp.gnu.org/ (except in fetchurl mirrors)
- http://bugs.gnu.org/
2018-12-02 15:51:59 +01:00
Jan Tojnar
4920f0c0ad
Merge pull request #50977 from jtojnar/parallel-update.nix
update.nix: Run update scripts in parallel
2018-12-02 01:23:39 +01:00
Jan Tojnar
59a94b57f0
update.nix: Run update scripts in parallel
To make updating large attribute sets faster, the update scripts
are now run in parallel.

Please note the following changes in semantics:

- The string passed to updateScript needs to be a path to an executable file.
- The updateScript can also be a list: the tail elements will then be passed
  to the head as command line arguments.
2018-12-01 19:17:13 +01:00
Matthew Bauer
54737e329b
doc: fix incorrect example
For whatever reason, nix-build ... --argstr a.b "c" doesn't work. It fails quitely so it's best to use an example here that works.
2018-11-28 16:00:43 -06:00
Léo Gaspard
22d8291c17
Merge branch 'pr-51111'
* pr-51111:
  doc: document upgrading Ruby packages
2018-11-29 00:37:06 +09:00
Alyssa Ross
6bda83a64d
doc: document upgrading Ruby packages
As requested[1] by @Ekleog.

[1]: https://github.com/NixOS/nixpkgs/pull/51040#issuecomment-441642763
2018-11-28 13:19:22 +00:00
zimbatm
064bd03b8c
doc: tweak the coding conventions (#51113)
Encouraging to put container elements on their own lines to minimize
diffs, merge conflicts and making re-ordering easier.

Nix doesn't suffer the restrictions of other languages where commas are
used to separate list items.
2018-11-27 22:14:41 +01:00
Jörg Thalheim
afbdeb7b9b
Merge pull request #50802 from aszlig/autopatchelf-improvements
autoPatchelfHook: Fixes/improvements for Android SDK emulator
2018-11-27 10:25:26 +00:00
Jörg Thalheim
3324503824
doc: add example usage for breakpointHook (#51005) 2018-11-26 11:54:23 +00:00
Frederik Rietdijk
fd26e7be2a Merge master into staging-next 2018-11-20 11:47:26 +01:00
Pierre Bourdon
6b1d3dc590 doc/reviewing-contributions: fix build error
Regression from #50674. Section IDs cannot contain spaces.
2018-11-20 03:46:34 +01:00
aszlig
503b41b9b2
doc/stdenv: Document autoPatchelfHook changes
First of all, this makes the existing documentation a bit more clear on
what autoPatchelfHook is all about, because after discussing with
@svanderburg - who wrote a similar implementation - the rationale about
autoPatchelfHook wasn't very clear in the documentation.

I also added the recent changes around being able to use autoPatchelf
manually and the new --no-recurse flag.

Signed-off-by: aszlig <aszlig@nix.build>
2018-11-20 00:11:31 +01:00
Matthew Bauer
c2e6a4362a doc/cross-compilation: remove reference to old wiki
The link doesn’t work and it’s not very important to the documentation anyway.
2018-11-19 13:03:24 -06:00
Matthew Bauer
5e9f452385 doc/reviewing-contributions: pull-requests -> pull requests
This makes things more consistent. It’s also how GitHub refers to pull
requests.
2018-11-19 13:03:23 -06:00
Matthew Bauer
9d3108c3ae doc/cross-compilation: fixup
More cleanups and stuff. May need to be split up.
2018-11-19 13:03:23 -06:00
Matthew Bauer
ee58ab3cb9 doc/platform-notes: reword xcode warning
xcbuild doesn’t work exactly like xcode in some ways.
2018-11-19 13:03:23 -06:00
Matthew Bauer
4a49921a69 doc/stdenv: more changes
Lots of reworking here. May need to be split up.
2018-11-19 13:03:22 -06:00
Matthew Bauer
49e5bd0dbe doc/stdenv: document more setup hook
Here I document setup hooks provided by:

- cmake
- xcbuildHook
- meson
- ninja
- unzip
- wafHook
- scons
2018-11-19 13:03:09 -06:00
Matthew Bauer
4621d14b4a doc/stdenv: document prefixKey
This seems like a useful thing to document
2018-11-19 13:02:31 -06:00
Matthew Bauer
b01613c9ce doc: move checkInputs to check phase section
This makes more sense in context.
2018-11-19 13:02:31 -06:00
Matthew Bauer
32ddbe3da9 doc: typo fixes 2018-11-19 13:02:17 -06:00
Frederik Rietdijk
e343a85cfb Merge master into staging-next 2018-11-19 09:55:32 +01:00
Andrei Lapshin
e198f9e42f
Fix typo in nixpkgs manual 2018-11-19 09:09:02 +03:00
Vladimír Čunát
a995fc2dd7
Merge #26513: docs: use RFC 2119 in a section 2018-11-18 15:34:15 +01:00
Frederik Rietdijk
63c6875f26 Merge master into staging-next 2018-11-18 10:32:12 +01:00
Jörg Thalheim
552b2955d3
doc/node: document the new preferred node version 2018-11-16 21:24:25 +00:00
Benjamin Hipple
286e7a57c4 docs: fix minor grammar issues in the manual 2018-11-14 21:40:47 -05:00
Silvan Mosberger
513c659d56
Merge pull request #50182 from Infinisil/idris/doc-update
nixpkgs idris docs: Update and improve
2018-11-14 18:47:40 +01:00
Frederik Rietdijk
daf3297cb4 Merge master into staging-next 2018-11-12 18:59:08 +01:00
Théo Zimmermann
208aedb971 ocamlPackages.*: remove unnecessary unpackCmd 2018-11-12 17:25:18 +00:00
Silvan Mosberger
f8a1333c8e
nixpkgs idris docs: Update and improve 2018-11-12 13:23:31 +01:00
rht
febadf8ddb
Use RFC 2119 convention to describe package naming convention 2018-11-11 15:51:16 +00:00
Léo Gaspard
2986ce16a8
meta.tests: rename into passthru.tests
Nix currently rejects derivations in `meta` values. This works around
that limitation by using `passthru` instead.

Closes https://github.com/NixOS/nixpkgs/issues/50230
2018-11-11 23:11:46 +09:00
Léo Gaspard
cae5598611
meta.tests: drop meta.needsVMSupport
Its job is already handled by `requiredSystemFeatures`
2018-11-11 23:11:46 +09:00
Frederik Rietdijk
7863aae5b2 Merge master into staging-next 2018-11-11 08:59:44 +01:00
Benjamin Hipple
a649f1c0cd doc: fix default python interpreter
The default for `python3` is currently `python36`.
2018-11-10 13:00:10 -05:00
Frederik Rietdijk
53d00c3351 Merge master into staging-next 2018-11-10 11:08:54 +01:00
Jörg Thalheim
7e2e6e1131
Merge pull request #49684 from Zimmi48/dune-package
buildDunePackage: add support function and use it in a few packages
2018-11-07 13:01:09 +00:00
Eelco Dolstra
78090f4f09
Remove preferLocalBuild documentation
It's incorrect (preferLocalBuild does not prevent uploading to binary
caches) and is not a stdenv attribute (it's already documented in the
Nix manual).
2018-11-07 11:45:40 +01:00
Théo Zimmermann
5cd08118d9
duneBuildPackage: document 2018-11-07 10:08:08 +01:00
Timo Kaufmann
6141939d6e
Merge pull request #44439 from Ekleog/meta-tests
[RFC] Use `meta.tests` to link from packages to the tests that test them
2018-11-07 00:05:22 +01:00
Jan Path
1b111df290
docs: Remove redundancy 2018-11-05 20:16:51 +01:00
Frederik Rietdijk
b1bdce0793 python34: remove
Python 3.4 will receive it's final patch release in March 2019 and there won't
be any releases anymore after that, so also not during NixOS 2019.03.

Python 3.4 is not used anymore in Nixpkgs. In any case, migrating code from
3.4 to 3.4+ is trivial.
2018-11-04 18:48:24 +01:00
Vladimír Čunát
a92a2c8e15
Merge branch 'master' into staging
Conflict: rename of pythondaemon -> python-daemon.
2018-11-02 14:40:14 +01:00
Benjamin Hipple
baf0703010 pythonPackages.pythondaemon: rename to pythonPackages.python-daemon
This commit renames the pythondaemon module to match its module name, github
name, and pypi name, which makes it easier to find and reference. In order to
avoid breaking any external users, I've left an alias with a deprecated warning.
2018-10-30 21:09:34 +01:00
Frederik Rietdijk
1d196d99be Merge staging-next into staging 2018-10-30 20:35:15 +01:00
Frederik Rietdijk
0e0d20fb5f Merge master into staging-next 2018-10-30 19:55:48 +01:00
Léo Gaspard
02e1f00ffd
dovecot, opensmtpd: add link to test in meta.tests
Rationale
---------

Currently, tests are hard to discover. For instance, someone updating
`dovecot` might not notice that the interaction of `dovecot` with
`opensmtpd` is handled in the `opensmtpd.nix` test.

And even for someone updating `opensmtpd`, it requires manual work to go
check in `nixos/tests` whether there is actually a test, especially
given not so many packages in `nixpkgs` have tests and this is thus most
of the time useless.

Finally, for the reviewer, it is much easier to check that the “Tested
via one or more NixOS test(s)” has been checked if the file modified
already includes the list of relevant tests.

Implementation
--------------

Currently, this commit only adds the metadata in the package. Each
element of the `meta.tests` attribute is a derivation that, when it
builds successfully, means the test has passed (ie. following the same
convention as NixOS tests).

Future Work
-----------

In the future, the tools could be made aware of this `meta.tests`
attribute, and for instance a `--with-tests` could be added to
`nix-build` so that it also builds all the tests. Or a `--without-tests`
to build without all the tests. @Profpatsch described in his NixCon talk
such systems.

Another thing that would help in the future would be the possibility to
reasonably easily have cross-derivation nix tests without the whole
NixOS VM stack. @7c6f434c already proposed such a system.

This RFC currently handles none of these concerns. Only the addition of
`meta.tests` as metadata to be used by maintainers to remember to run
relevant tests.
2018-10-30 21:31:39 +09:00
Théo Zimmermann
2f9fc897eb Add mention of nix-prefetch-github. (#49336) 2018-10-30 01:24:07 +01:00
Frederik Rietdijk
1cca105769 Merge staging-next into staging 2018-10-27 09:05:30 +02:00
Frederik Rietdijk
a64058e205 Merge master into staging-next 2018-10-27 09:04:53 +02:00
Jörg Thalheim
764d165f43
doc: apply make format 2018-10-26 11:13:54 +01:00
Jörg Thalheim
7f80fb2db4
doc: extend breakpointHook documentation 2018-10-26 11:13:24 +01:00
Jörg Thalheim
a8df9ff9d9
Merge pull request #49126 from das-g/stdenv-docs
minor fixes in Nixpkgs stdenv docs
2018-10-26 09:12:45 +01:00
Raphael Borun Das Gupta
aa77e3aa4f nixpkgs docs: add missing spaces between words 2018-10-26 00:35:21 +02:00
Raphael Borun Das Gupta
bea0b3021c nixpkgs docs: remove spurious ">" 2018-10-26 00:29:27 +02:00
Jörg Thalheim
9c8bf9e471
Merge pull request #49026 from schmittlauch/doc-vim
clarifying `name` arg determines vim command name
2018-10-25 17:51:06 +01:00
Jörg Thalheim
926d6c0bad
Merge pull request #42371 from Mic92/nix-breakpoints
breakpointHook: add for debugging failing builds
2018-10-25 10:38:29 +01:00
Jörg Thalheim
325a5699cb
doc/breakpointHook: add documentation 2018-10-25 10:19:42 +01:00
Frederik Rietdijk
0f38d9669f python3 is now python37 instead of python36
With Python 3.7 now at 3.7.1, and Python 3.6 at it's final maintenance
mode release, it is time to move on to 3.7 as the default interpreter.
2018-10-24 20:05:44 +02:00
volth
716cfab34e Merge master into staging-next 2018-10-24 17:37:47 +00:00
Trolli Schmittlauch
c90051c53d clarifying name arg determines vim command name
The `name` arg of `vim_configurable.customize` does not only determine
the package name, but also the name of the command/ executable to be
called.
In my opinion this is not documented properly and finding that out took
me several hours.
2018-10-24 17:02:54 +02:00
John Ericson
b71389aefb
Merge pull request #47430 from roberth/nixpkgs-extend
pkgs.extend for adding overlays
2018-10-23 20:21:48 -04:00
Ingo Blechschmidt
00b555ef88 nixpkgs docs: Fix tiny typo (#48477) 2018-10-23 14:41:15 +00:00
Alyssa Ross
e20e1e5c2c weechat: add perl.withPackages (#48815)
Allows for adding Perl libraries in the same way as for Python. Doesn't
really need to be a function, since there's only one perlPackages in
nixpkgs, but I went for consistency with the python plugin.
2018-10-23 12:23:47 +02:00
Chris Ostrouchov
277b73ab6f pythonPackages.{numpy,scipy,numexpr}: support MKL as BLAS
This adds support building with MKL.
2018-10-20 11:50:37 +02:00
Robert Hensing
a5c4642ddf doc: Add link from overrides to overlays 2018-10-19 12:25:17 +02:00
Théo Zimmermann
668c19a9ac
coqPackages: update documentation to mention coq.ocamlPackages attribute 2018-10-19 10:29:49 +02:00
Robert Hensing
3c2ae189c2 doc: Improve overrides and overlays documentation 2018-10-18 14:01:06 +02:00
Robert Hensing
9b7654f6ff nixpkgs docs: Point to pkgs.extend, pkgs.appendOverlays and improve override section 2018-10-18 10:48:43 +02:00
Graham Christensen
94c6f1ba0e
Merge pull request #48463 from Ekleog/release-notes-license
release-notes/18-09: add licenses marked as unfree
2018-10-15 10:33:31 -04:00
Léo Gaspard
02e8e56500
package-notes: line wrap by auto-cleanup 2018-10-15 23:10:54 +09:00
Graham Christensen
0eb3b93e1a
nixpkgs docs: document recursivelyUpdate 2018-10-12 16:54:34 -04:00
Graham Christensen
c100a456b1
nixpkgs docs: document recursivelyUpdateUntil 2018-10-12 16:54:34 -04:00
Graham Christensen
77140a9075
nixpkgs docs: document zipAttrs 2018-10-12 16:54:34 -04:00
Graham Christensen
655a5fa8bf
nixpkgs docs: document zipAttrsWith 2018-10-12 16:54:34 -04:00
Graham Christensen
4edb31882c
nixpkgs docs: Clarify zipAttrsWithNames's docs 2018-10-12 16:54:33 -04:00
Graham Christensen
3b3bde463b
nixpkgs docs: document zipAttrsWithNames 2018-10-12 16:06:12 -04:00
Graham Christensen
e0c6981d19
nixpkgs docs: document optionalAttrs 2018-10-12 16:06:12 -04:00
Graham Christensen
c547c3fe82
nixpkgs docs: document toDerivation 2018-10-12 16:06:12 -04:00
Graham Christensen
f85a4ba9c3
nixpkgs docs: document isDerivation 2018-10-12 16:06:11 -04:00
Graham Christensen
ef05e1057b
nixpkgs docs: document genAttrs 2018-10-12 16:06:11 -04:00
Graham Christensen
d664b8f5e3
nixpkgs docs: document mapAttrsRecursiveCond 2018-10-12 16:06:11 -04:00
Graham Christensen
e7549b96ad
nixpkgs docs: finish up mapAttrsRecursive 2018-10-12 16:06:11 -04:00
Benjamin Hipple
1bcdf27c48 Update with code review feedback; add example python application 2018-10-12 10:06:25 +02:00
Benjamin Hipple
c0af13f1c8 python: update documentation
This touches up a handful of places in the python documentation to try to make
the current best-practices more obvious. In particular, I often find the
function signatures (what to pass, what not to pass) confusing and have added
them to the docs.

Also updated the metas to be more consistent with the most frequently used
modern style.
2018-10-12 10:06:25 +02:00
Graham Christensen
5daee73ce4
Generate links to function definitions
Hydra passes the full revision in to the input, which we pass through.

If we don't get this ,we try to get it from other sources, or default to
master which should have the definition in a close-ish location.

All published docs should have theURL resolve properly, only local
hackers will have the link break.
2018-10-05 11:20:46 -04:00
Graham Christensen
f835f77e02
nixpkgs: Start documenting library functions in XML
Covers assert functions and about half of the attrsets functions.

Some internal consistency around IDs could be improved.
2018-10-05 10:06:08 -04:00
Graham Christensen
f2b3bbe44e
Merge pull request #47688 from grahamc/doc-breakout-functions
nixpkgs docs: breakout functions
2018-10-03 21:52:48 -04:00
Graham Christensen
c07ba7c856
nixpkgs docs: Reformat 2018-10-02 15:59:59 -04:00
Graham Christensen
444e04b985
nixpkgs docs: Rebuild manual-full if nested XML docs change 2018-10-02 15:59:00 -04:00
Graham Christensen
c3125498fd
shell functions: rewrite as xml 2018-10-02 14:16:27 -04:00
Graham Christensen
507a63c885
nixpkgs docs: move shell section to its own file 2018-10-02 14:13:42 -04:00
Graham Christensen
8bf342ffb8
nixpkgs docs: move dockertool to its own file 2018-10-02 14:13:12 -04:00
Graham Christensen
0856d5c4ad
nixpkgs docs: move fhs-environments to its own file 2018-10-02 14:08:36 -04:00
Graham Christensen
3ac79c89b7
nixpkgs docs: move debug to its own file 2018-10-02 14:07:06 -04:00
Graham Christensen
9ae39b3553
nixpkgs docs: move generators to its own file 2018-10-02 14:03:59 -04:00
Graham Christensen
f200a322c4
nixpkgs docs: move overrides to its own file 2018-10-02 13:52:21 -04:00
Jörg Thalheim
bc0d87a4f1
Merge pull request #47455 from nyanloutre/steamPackages.steam-udev
steamPackages.steam: add udev rules and update to 1.0.0.56
2018-10-02 00:55:41 +01:00
lewo
56b4db9710
Merge pull request #47411 from graham-at-target/multi-layered-images-crafted
Multi-Layered Docker Images
2018-10-01 09:48:24 +02:00
nyanloutre
d859a66351
nixos/steam-hardware: update documentation 2018-09-30 11:27:47 +02:00
Graham Christensen
d1e46df24b fixup: drop comment about config behaving differently from buildImage 2018-09-27 08:14:04 -04:00
Graham Christensen
4fe9006190 dockerTools.buildLayeredImage: init
Create a many-layered Docker Image.

Implements much less than buildImage:

 - Doesn't support specific uids/gids
 - Doesn't support runninng commands after building
 - Doesn't require qemu
 - Doesn't create mutable copies of the files in the path
 - Doesn't support parent images

If you want those feature, I recommend using buildLayeredImage as an
input to buildImage.

Notably, it does support:

 - Caching low level, common paths based on a graph traversial
   algorithm, see referencesByPopularity in
   0a80233487993256e811f566b1c80a40394c03d6
 - Configurable number of layers. If you're not using AUFS or not
   extending the image, you can specify a larger number of layers at
   build time:

       pkgs.dockerTools.buildLayeredImage {
         name = "hello";
         maxLayers = 128;
         config.Cmd = [ "${pkgs.gitFull}/bin/git" ];
       };

 - Parallelized creation of the layers, improving build speed.
 - The contents of the image includes the closure of the configuration,
   so you don't have to specify paths in contents and config.

   With buildImage, paths referred to by the config were not included
   automatically in the image. Thus, if you wanted to call Git, you
   had to specify it twice:

       pkgs.dockerTools.buildImage {
         name = "hello";
         contents = [ pkgs.gitFull ];
         config.Cmd = [ "${pkgs.gitFull}/bin/git" ];
       };

   buildLayeredImage on the other hand includes the runtime closure of
   the config when calculating the contents of the image:

       pkgs.dockerTools.buildImage {
         name = "hello";
         config.Cmd = [ "${pkgs.gitFull}/bin/git" ];
       };

Minor Problems

 - If any of the store paths change, every layer will be rebuilt in
   the nix-build. However, beacuse the layers are bit-for-bit
   reproducable, when these images are loaded in to Docker they will
   match existing layers and not be imported or uploaded twice.

Common Questions

 - Aren't Docker layers ordered?

   No. People who have used a Dockerfile before assume Docker's
   Layers are inherently ordered. However, this is not true -- Docker
   layers are content-addressable and are not explicitly layered until
   they are composed in to an Image.

 - What happens if I have more than maxLayers of store paths?

   The first (maxLayers-2) most "popular" paths will have their own
   individual layers, then layer #(maxLayers-1) will contain all the
   remaining "unpopular" paths, and finally layer #(maxLayers) will
   contain the Image configuration.
2018-09-26 17:54:14 -04:00
John Ericson
22ce614112
Merge pull request #47238 from obsidiansystems/overrideScope-order
lib: Deprecate `overrideScope` in lieu of `overrideScope'` taking arguments in the conventional order
2018-09-24 18:04:18 -04:00
John Ericson
b9dce11712 lib: Make overrideScope' which takes arguments in the conventional order
The `overrideScope` bound by `makeScope` (via special `callPackage`)
took an override in the form `super: self { … }`. But this is
dangerously close to the `self: super { … }` form used by *everything*
else, even other definitions of `overrideScope`! Since that
implementation did not even share any code either until I changed it
recently in 3cf43547f4, this inconsistency
is almost certainly an oversight and not intentional.

Unfortunately, just as the inconstency is hard to debug if one just
assumes the conventional order, any sudden fix would break existing
overrides in the same hard-to-debug way. So instead of changing the
definition a new `overrideScope'` with the conventional order is added,
and old `overrideScope` deprecated with a warning saying to use
`overrideScope'` instead. That will hopefully get people to stop using
`overrideScope`, freeing our hand to change or remove it in the future.
2018-09-24 17:50:11 -04:00
John Ericson
e39a73cc55 doc: Don't mention top-level {build, host, target}Platform
For technical reasons, we cannot easily add a warning to top-level
definitions, so 2a6e4ae49a and
e51f736076 reverted the deprecation. But
we can still remove mention of the would-be deprecated definitions to
steer people towards using the preferred alternatives.
2018-09-23 13:25:44 -04:00
Graham Christensen
7736337916
Clarfy the binary reproducibility problems of created=now with dockerTools.buildImage. 2018-09-20 20:23:04 -04:00