Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 06fb0253afab
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 98c1150f2cc6
Choose a head ref
Loading
Showing with 5,287 additions and 3,447 deletions.
  1. +224 −53 doc/functions/dockertools.xml
  2. +4 −0 doc/languages-frameworks/vim.section.md
  3. +24 −2 doc/stdenv.xml
  4. +1 −0 lib/systems/platforms.nix
  5. +5 −0 nixos/doc/manual/release-notes/rl-1809.xml
  6. +5 −5 nixos/modules/services/hardware/trezord.nix
  7. +1 −1 nixos/modules/services/networking/bitlbee.nix
  8. +8 −0 nixos/modules/services/networking/tinc.nix
  9. +1 −1 nixos/modules/virtualisation/amazon-image.nix
  10. +1 −1 nixos/modules/virtualisation/google-compute-image.nix
  11. +2 −2 nixos/tests/chromium.nix
  12. +4 −0 nixos/tests/docker-tools.nix
  13. +5 −16 nixos/tests/plasma5.nix
  14. +0 −30 pkgs/applications/audio/abcde/abcde.patch
  15. +16 −18 pkgs/applications/audio/abcde/default.nix
  16. +22 −22 pkgs/applications/editors/jetbrains/default.nix
  17. +8 −4 pkgs/applications/misc/bb/default.nix
  18. +37 −23 pkgs/applications/networking/browsers/chromium/common.nix
  19. +2 −0 pkgs/applications/networking/browsers/chromium/default.nix
  20. +0 −15 pkgs/applications/networking/browsers/chromium/patches/fix-freetype.patch
  21. +0 −9 pkgs/applications/networking/browsers/chromium/patches/nix_plugin_paths_68.patch
  22. +4 −0 pkgs/applications/networking/browsers/chromium/plugins.nix
  23. +9 −9 pkgs/applications/networking/browsers/chromium/upstream-info.nix
  24. +397 −397 pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
  25. +397 −397 pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
  26. +397 −397 pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
  27. +17 −7 pkgs/applications/networking/browsers/firefox/common.nix
  28. +4 −4 pkgs/applications/networking/browsers/firefox/packages.nix
  29. +3 −3 pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
  30. +2 −2 pkgs/applications/networking/cluster/kubernetes/default.nix
  31. +15 −4 pkgs/applications/networking/instant-messengers/rambox/default.nix
  32. +3 −3 pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix
  33. +2 −2 pkgs/applications/networking/instant-messengers/riot/riot-web.nix
  34. +4 −3 pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
  35. +233 −233 pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
  36. +2 −10 pkgs/applications/networking/mailreaders/thunderbird/default.nix
  37. +2 −2 pkgs/applications/networking/sniffers/wireshark/default.nix
  38. +1 −1 pkgs/applications/science/math/sage/sage-wrapper.nix
  39. +1 −1 pkgs/applications/science/math/sage/sage.nix
  40. +2 −2 pkgs/applications/version-management/gitaly/default.nix
  41. +3 −2 pkgs/applications/version-management/gitlab-workhorse/default.nix
  42. +5 −5 pkgs/applications/version-management/gitlab/default.nix
  43. +6 −11 pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile
  44. +25 −37 pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock
  45. +42 −69 pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix
  46. +6 −11 pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile
  47. +25 −37 pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock
  48. +42 −69 pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix
  49. +2 −0 pkgs/applications/video/mapmap/default.nix
  50. +24 −0 pkgs/applications/virtualization/cntr/default.nix
  51. +183 −6 pkgs/build-support/docker/default.nix
  52. +7 −0 pkgs/build-support/docker/examples.nix
  53. +24 −0 pkgs/build-support/docker/store-path-to-layer.sh
  54. +520 −0 pkgs/build-support/references-by-popularity/closure-graph.py
  55. +15 −0 pkgs/build-support/references-by-popularity/default.nix
  56. +9 −0 pkgs/build-support/setup-hooks/breakpoint-hook.sh
  57. +3 −2 pkgs/development/compilers/crystal/default.nix
  58. +247 −0 pkgs/development/compilers/ghc/8.4.4.nix
  59. +1 −0 pkgs/development/compilers/mono/4.4.nix
  60. +117 −0 pkgs/development/compilers/rust/1.29/binaryBuild.nix
  61. +42 −0 pkgs/development/compilers/rust/1.29/bootstrap.nix
  62. +68 −0 pkgs/development/compilers/rust/1.29/cargo.nix
  63. +52 −0 pkgs/development/compilers/rust/1.29/default.nix
  64. +10 −0 pkgs/development/compilers/rust/1.29/patches/disable-test-inherit-env.patch
  65. +104 −0 pkgs/development/compilers/rust/1.29/patches/net-tcp-disable-tests.patch
  66. +20 −0 pkgs/development/compilers/rust/1.29/patches/stdsimd-disable-doctest.patch
  67. +182 −0 pkgs/development/compilers/rust/1.29/rustc.nix
  68. +17 −29 pkgs/development/haskell-modules/generic-builder.nix
  69. +16 −55 pkgs/development/haskell-modules/lib.nix
  70. +34 −8 pkgs/development/haskell-modules/make-package-set.nix
  71. +5 −2 pkgs/development/interpreters/bats/default.nix
  72. +2 −2 pkgs/development/libraries/flatpak/default.nix
  73. +3 −0 pkgs/development/libraries/gvfs/default.nix
  74. +1 −1 pkgs/development/libraries/libmikmod/default.nix
  75. +4 −4 pkgs/development/libraries/nss/default.nix
  76. +2 −2 pkgs/development/misc/loc/default.nix
  77. +4 −4 pkgs/development/ocaml-modules/vg/default.nix
  78. +10 −2 pkgs/development/python-modules/pyarrow/default.nix
  79. +1 −0 pkgs/development/tools/yarn/default.nix
  80. +1,158 −1,176 pkgs/games/steam/runtime-generated.nix
  81. +4 −3 pkgs/games/steam/update-runtime.py
  82. +19 −38 pkgs/games/teeworlds/default.nix
  83. +2 −6 pkgs/misc/drivers/sc-controller/default.nix
  84. +3 −3 pkgs/misc/vscode-extensions/cpptools/default.nix
  85. +0 −22 pkgs/misc/vscode-extensions/cpptools/package-activation-events-0-16-1.json
  86. +25 −0 pkgs/misc/vscode-extensions/cpptools/package-activation-events.json
  87. +56 −0 pkgs/os-specific/linux/r8168/default.nix
  88. +17 −1 pkgs/os-specific/linux/systemd/default.nix
  89. +2 −2 pkgs/servers/atlassian/jira.nix
  90. +8 −5 pkgs/servers/http/apache-modules/tomcat-connectors/default.nix
  91. +2 −2 pkgs/servers/http/lighttpd/default.nix
  92. +2 −2 pkgs/servers/http/nginx/mainline.nix
  93. +2 −2 pkgs/servers/icecast/default.nix
  94. +3 −3 pkgs/servers/monitoring/grafana/default.nix
  95. +38 −23 pkgs/servers/mqtt/mosquitto/default.nix
  96. +2 −2 pkgs/servers/web-apps/matomo/default.nix
  97. +3 −3 pkgs/servers/x11/xorg/overrides.nix
  98. +11 −11 pkgs/stdenv/linux/make-bootstrap-tools.nix
  99. +3 −3 pkgs/tools/admin/google-cloud-sdk/default.nix
  100. +9 −14 pkgs/tools/misc/youtube-dl/default.nix
  101. +5 −5 pkgs/tools/networking/httping/default.nix
  102. +22 −10 pkgs/tools/networking/ntp/seccomp.patch
  103. +12 −1 pkgs/tools/networking/strongswan/default.nix
  104. +10 −9 pkgs/tools/package-management/nix-index/default.nix
  105. +4 −4 pkgs/tools/package-management/nix/default.nix
  106. +2 −2 pkgs/tools/security/clamav/default.nix
  107. +1 −0 pkgs/top-level/aliases.nix
  108. +24 −14 pkgs/top-level/all-packages.nix
  109. +10 −0 pkgs/top-level/haskell-packages.nix
  110. +18 −5 pkgs/top-level/perl-packages.nix
  111. +3 −3 pkgs/top-level/release-cross.nix
  112. +59 −36 pkgs/top-level/release-lib.nix
277 changes: 224 additions & 53 deletions doc/functions/dockertools.xml
Original file line number Diff line number Diff line change
@@ -37,29 +37,29 @@
<example xml:id='ex-dockerTools-buildImage'>
<title>Docker build</title>
<programlisting>
buildImage {
name = "redis"; <co xml:id='ex-dockerTools-buildImage-1' />
tag = "latest"; <co xml:id='ex-dockerTools-buildImage-2' />

fromImage = someBaseImage; <co xml:id='ex-dockerTools-buildImage-3' />
fromImageName = null; <co xml:id='ex-dockerTools-buildImage-4' />
fromImageTag = "latest"; <co xml:id='ex-dockerTools-buildImage-5' />

contents = pkgs.redis; <co xml:id='ex-dockerTools-buildImage-6' />
runAsRoot = '' <co xml:id='ex-dockerTools-buildImage-runAsRoot' />
#!${stdenv.shell}
mkdir -p /data
'';

config = { <co xml:id='ex-dockerTools-buildImage-8' />
Cmd = [ "/bin/redis-server" ];
WorkingDir = "/data";
Volumes = {
"/data" = {};
};
buildImage {
name = "redis"; <co xml:id='ex-dockerTools-buildImage-1' />
tag = "latest"; <co xml:id='ex-dockerTools-buildImage-2' />

fromImage = someBaseImage; <co xml:id='ex-dockerTools-buildImage-3' />
fromImageName = null; <co xml:id='ex-dockerTools-buildImage-4' />
fromImageTag = "latest"; <co xml:id='ex-dockerTools-buildImage-5' />

contents = pkgs.redis; <co xml:id='ex-dockerTools-buildImage-6' />
runAsRoot = '' <co xml:id='ex-dockerTools-buildImage-runAsRoot' />
#!${stdenv.shell}
mkdir -p /data
'';

config = { <co xml:id='ex-dockerTools-buildImage-8' />
Cmd = [ "/bin/redis-server" ];
WorkingDir = "/data";
Volumes = {
"/data" = {};
};
}
</programlisting>
};
}
</programlisting>
</example>

<para>
@@ -226,6 +226,177 @@ hello latest de2bf4786de6 About a minute ago 25.2MB
</example>
</section>

<section xml:id="ssec-pkgs-dockerTools-buildLayeredImage">
<title>buildLayeredImage</title>

<para>
Create a Docker image with many of the store paths being on their own layer
to improve sharing between images.
</para>

<variablelist>
<varlistentry>
<term>
<varname>name</varname>
</term>
<listitem>
<para>
The name of the resulting image.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>tag</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Tag of the generated image.
</para>
<para>
<emphasis>Default:</emphasis> the output path's hash
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>contents</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Top level paths in the container. Either a single derivation, or a list
of derivations.
</para>
<para>
<emphasis>Default:</emphasis> <literal>[]</literal>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>config</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Run-time configuration of the container. A full list of the options are
available at in the
<link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions">
Docker Image Specification v1.2.0 </link>.
</para>
<para>
<emphasis>Default:</emphasis> <literal>{}</literal>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>created</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Date and time the layers were created. Follows the same
<literal>now</literal> exception supported by
<literal>buildImage</literal>.
</para>
<para>
<emphasis>Default:</emphasis> <literal>1970-01-01T00:00:01Z</literal>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>maxLayers</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Maximum number of layers to create.
</para>
<para>
<emphasis>Default:</emphasis> <literal>24</literal>
</para>
</listitem>
</varlistentry>
</variablelist>

<section xml:id="dockerTools-buildLayeredImage-arg-contents">
<title>Behavior of <varname>contents</varname> in the final image</title>

<para>
Each path directly listed in <varname>contents</varname> will have a
symlink in the root of the image.
</para>

<para>
For example:
<programlisting><![CDATA[
pkgs.dockerTools.buildLayeredImage {
name = "hello";
contents = [ pkgs.hello ];
}
]]></programlisting>
will create symlinks for all the paths in the <literal>hello</literal>
package:
<screen><![CDATA[
/bin/hello -> /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/bin/hello
/share/info/hello.info -> /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/share/info/hello.info
/share/locale/bg/LC_MESSAGES/hello.mo -> /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/share/locale/bg/LC_MESSAGES/hello.mo
]]></screen>
</para>
</section>

<section xml:id="dockerTools-buildLayeredImage-arg-config">
<title>Automatic inclusion of <varname>config</varname> references</title>

<para>
The closure of <varname>config</varname> is automatically included in the
closure of the final image.
</para>

<para>
This allows you to make very simple Docker images with very little code.
This container will start up and run <command>hello</command>:
<programlisting><![CDATA[
pkgs.dockerTools.buildLayeredImage {
name = "hello";
config.Cmd = [ "${pkgs.hello}/bin/hello" ];
}
]]></programlisting>
</para>
</section>

<section xml:id="dockerTools-buildLayeredImage-arg-maxLayers">
<title>Adjusting <varname>maxLayers</varname></title>

<para>
Increasing the <varname>maxLayers</varname> increases the number of layers
which have a chance to be shared between different images.
</para>

<para>
Modern Docker installations support up to 128 layers, however older
versions support as few as 42.
</para>

<para>
If the produced image will not be extended by other Docker builds, it is
safe to set <varname>maxLayers</varname> to <literal>128</literal>. However
it will be impossible to extend the image further.
</para>

<para>
The first (<literal>maxLayers-2</literal>) most "popular" paths will have
their own individual layers, then layer #<literal>maxLayers-1</literal>
will contain all the remaining "unpopular" paths, and finally layer
#<literal>maxLayers</literal> will contain the Image configuration.
</para>

<para>
Docker's Layers are not inherently ordered, they are content-addressable
and are not explicitly layered until they are composed in to an Image.
</para>
</section>
</section>

<section xml:id="ssec-pkgs-dockerTools-fetchFromRegistry">
<title>pullImage</title>

@@ -243,15 +414,15 @@ hello latest de2bf4786de6 About a minute ago 25.2MB
<example xml:id='ex-dockerTools-pullImage'>
<title>Docker pull</title>
<programlisting>
pullImage {
imageName = "nixos/nix"; <co xml:id='ex-dockerTools-pullImage-1' />
imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; <co xml:id='ex-dockerTools-pullImage-2' />
finalImageTag = "1.11"; <co xml:id='ex-dockerTools-pullImage-3' />
sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; <co xml:id='ex-dockerTools-pullImage-4' />
os = "linux"; <co xml:id='ex-dockerTools-pullImage-5' />
arch = "x86_64"; <co xml:id='ex-dockerTools-pullImage-6' />
}
</programlisting>
pullImage {
imageName = "nixos/nix"; <co xml:id='ex-dockerTools-pullImage-1' />
imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; <co xml:id='ex-dockerTools-pullImage-2' />
finalImageTag = "1.11"; <co xml:id='ex-dockerTools-pullImage-3' />
sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; <co xml:id='ex-dockerTools-pullImage-4' />
os = "linux"; <co xml:id='ex-dockerTools-pullImage-5' />
arch = "x86_64"; <co xml:id='ex-dockerTools-pullImage-6' />
}
</programlisting>
</example>

<calloutlist>
@@ -273,9 +444,9 @@ hello latest de2bf4786de6 About a minute ago 25.2MB
exactly which image you want. By default it will match the OS and
architecture of the host the command is run on.
<programlisting>
$ nix-shell --packages skopeo jq --command "skopeo --override-os linux --override-arch x86_64 inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'"
sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b
</programlisting>
$ nix-shell --packages skopeo jq --command "skopeo --override-os linux --override-arch x86_64 inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'"
sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b
</programlisting>
This argument is required.
</para>
</callout>
@@ -333,13 +504,13 @@ hello latest de2bf4786de6 About a minute ago 25.2MB
<example xml:id='ex-dockerTools-exportImage'>
<title>Docker export</title>
<programlisting>
exportImage {
fromImage = someLayeredImage;
fromImageName = null;
fromImageTag = null;
exportImage {
fromImage = someLayeredImage;
fromImageName = null;
fromImageTag = null;

name = someLayeredImage.name;
}
name = someLayeredImage.name;
}
</programlisting>
</example>

@@ -369,19 +540,19 @@ hello latest de2bf4786de6 About a minute ago 25.2MB
<example xml:id='ex-dockerTools-shadowSetup'>
<title>Shadow base files</title>
<programlisting>
buildImage {
name = "shadow-basic";

runAsRoot = ''
#!${stdenv.shell}
${shadowSetup}
groupadd -r redis
useradd -r -g redis redis
mkdir /data
chown redis:redis /data
'';
}
</programlisting>
buildImage {
name = "shadow-basic";

runAsRoot = ''
#!${stdenv.shell}
${shadowSetup}
groupadd -r redis
useradd -r -g redis redis
mkdir /data
chown redis:redis /data
'';
}
</programlisting>
</example>

<para>
4 changes: 4 additions & 0 deletions doc/languages-frameworks/vim.section.md
Original file line number Diff line number Diff line change
@@ -22,6 +22,7 @@ Adding custom .vimrc lines can be done using the following code:

```
vim_configurable.customize {
# `name` specifies the name of the executable and package
name = "vim-with-plugins";
vimrcConfig.customRC = ''
@@ -30,6 +31,8 @@ vim_configurable.customize {
}
```

This configuration is used when vim is invoked with the command specified as name, in this case `vim-with-plugins`.

For Neovim the `configure` argument can be overridden to achieve the same:

```
@@ -82,6 +85,7 @@ The resulting package can be added to `packageOverrides` in `~/.nixpkgs/config.n
{
packageOverrides = pkgs: with pkgs; {
myVim = vim_configurable.customize {
# `name` specifies the name of the executable and package
name = "vim-with-plugins";
# add here code from the example section
};
26 changes: 24 additions & 2 deletions doc/stdenv.xml
Original file line number Diff line number Diff line change
@@ -372,7 +372,7 @@ let f(h, h + 1, i) = i + h
They are programs/libraries used at build time that furthermore produce
programs/libraries also used at build time. If the dependency doesn't
care about the target platform (i.e. isn't a compiler or similar tool),
put it in <varname>nativeBuildInputs</varname>instead. The most common
put it in <varname>nativeBuildInputs</varname> instead. The most common
use for this <literal>buildPackages.stdenv.cc</literal>, the default C
compiler for this role. That example crops up more than one might think
in old commonly used C libraries.
@@ -2100,7 +2100,7 @@ someVar=$(stripHash $name)

<para>
In order to alleviate this burden, the <firstterm>setup
hook></firstterm>mechanism was written, where any package can include a
hook</firstterm> mechanism was written, where any package can include a
shell script that [by convention rather than enforcement by Nix], any
downstream reverse-dependency will source as part of its build process. That
allows the downstream dependency to merely specify its dependencies, and
@@ -2445,6 +2445,28 @@ addEnvHooks "$hostOffset" myBashFunction
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
breakpointHook
</term>
<listitem>
<para>
This hook will make a build pause instead of stopping when a failure
happen. It prevents nix to cleanup the build environment immediatly and
allows the user to attach to a build environment using the
<command>cntr</command> command. On build error it will print the
instruction that are neccessary for <command>cntr</command>. Installing
cntr and running the command will provide shell access to the build
sandbox of failed build. At <filename>/var/lib/cntr</filename> the
sandbox filesystem is mounted. All commands and files of the system are
still accessible within the shell. To execute commands from the sandbox
use the cntr exec subcommand. Note that <command>cntr</command> also
needs to be executed on the machine that is doing the build, which might
be not the case when remote builders are enabled.
<command>cntr</command> is only supported on linux based platforms.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
Loading