Skip to content
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
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: d00ca4476cd9
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: f55f45f273ea
Choose a head ref

Commits on Feb 27, 2018

  1. Copy the full SHA
    3a21d5b View commit details

Commits on Oct 16, 2018

  1. Copy the full SHA
    4ed7d82 View commit details

Commits on Dec 25, 2018

  1. Copy the full SHA
    8362452 View commit details

Commits on Jan 2, 2019

  1. Copy the full SHA
    420b83b View commit details

Commits on Jan 7, 2019

  1. nixos/containers: add bridge without address specified

    According to systemd-nspawn(1), --network-bridge implies --network-veth,
    and --port option is supported only when private networking is enabled.
    Fixes #52417.
    uvNikita committed Jan 7, 2019
    Copy the full SHA
    53013ea View commit details
  2. litecli: init at 1.0.0

    Scriptkiddi committed Jan 7, 2019
    Copy the full SHA
    2f0dbb8 View commit details

Commits on Jan 8, 2019

  1. haskell.buildStackProject: use setup hook

    This makes things easier and hopefully fixes the arg too long issue.
    
    Fixes #49206.
    matthewbauer committed Jan 8, 2019
    Copy the full SHA
    0dabaca View commit details

Commits on Jan 9, 2019

  1. nixos/nslcd: restart when nslcd.conf changes

    Julien Moutinho committed Jan 9, 2019
    Copy the full SHA
    4af7db9 View commit details
  2. nixos/nslcd: use systemd's RuntimeDirectory

    Julien Moutinho committed Jan 9, 2019
    Copy the full SHA
    eb90d97 View commit details
  3. bitwig-studio: switch to autoPatchelfHook

    gnidorah committed Jan 9, 2019
    Copy the full SHA
    c680c57 View commit details
  4. bitwig-studio2: 2.3.5 -> 2.4.3

    gnidorah committed Jan 9, 2019
    Copy the full SHA
    bce5c13 View commit details

Commits on Jan 12, 2019

  1. xcbuild: provide migcom in toolchain

    This is needed to facilitate build of qt5.qtwebengine on darwin
    veprbl committed Jan 12, 2019
    Copy the full SHA
    7a6d18c View commit details
  2. shmig: 2017-07-24 -> 1.0.0

    Update to the latest revision, don't replace `which` anymore as all
    `which` references are eliminated previously, enable support for at
    least one database type (otherwise this scrpit is unusable and needs to
    be built manually with support for on of these packages).
    
    Tested functionality with a simple SQLite database.
    Ma27 committed Jan 12, 2019
    Copy the full SHA
    f494cff View commit details
  3. qt511.qtwebengine: fix build on darwin

    Co-Authored-By: Josef Kemetmüller <josef.kemetmueller@gmail.com>
    veprbl and knedlsepp committed Jan 12, 2019
    Copy the full SHA
    45ab55e View commit details

Commits on Jan 13, 2019

  1. anki: add manual output

    The Anki manual is distibuted in a separate repository and has to be
    patched a bit to work offline.
    The in-program manual now points to our distributed offline version.
    Profpatsch committed Jan 13, 2019
    Copy the full SHA
    14572e2 View commit details
  2. bcc: 0.7.0 -> 0.8.0

    dtzWill committed Jan 13, 2019
    Copy the full SHA
    91f2eb7 View commit details
  3. Copy the full SHA
    d85777c View commit details
  4. Copy the full SHA
    4c84258 View commit details

Commits on Jan 15, 2019

  1. Copy the full SHA
    ace5f7a View commit details

Commits on Jan 16, 2019

  1. Copy the full SHA
    b147fa1 View commit details

Commits on Jan 18, 2019

  1. Copy the full SHA
    d1e838e View commit details
  2. nixos/tests: test LDAP password changing through nslcd

    NOTE: slapd.conf is deprecated, hence use cn=config.
    Julien Moutinho committed Jan 18, 2019
    Copy the full SHA
    65cfba2 View commit details

Commits on Jan 19, 2019

  1. Copy the full SHA
    1f2a3fe View commit details

Commits on Jan 20, 2019

  1. Merge master into staging-next

    FRidh committed Jan 20, 2019
    Copy the full SHA
    ca2edf7 View commit details
  2. Copy the full SHA
    ecbb9d3 View commit details

Commits on Jan 21, 2019

  1. Copy the full SHA
    6f61d8b View commit details

Commits on Jan 22, 2019

  1. Copy the full SHA
    ea02ddc View commit details
  2. xorg.luit: fix darwin build

    LnL7 committed Jan 22, 2019
    Copy the full SHA
    8c0cc98 View commit details

Commits on Jan 24, 2019

  1. maintainers: add clacke

    clacke committed Jan 24, 2019
    Copy the full SHA
    65671ed View commit details
  2. certmgr: Add patch for optional trust of self-signed certificates at …

    …remote cfssl apiserver
    Johan Thomsen authored and fpletz committed Jan 24, 2019
    Copy the full SHA
    72eb82b View commit details
  3. Copy the full SHA
    016128d View commit details
  4. Copy the full SHA
    4602b43 View commit details
  5. go_1_10: 1.10.7 -> 1.10.8

    rvolosatovs committed Jan 24, 2019
    Copy the full SHA
    70b1c5e View commit details
  6. go_1_11: 1.11.4 -> 1.11.5

    rvolosatovs committed Jan 24, 2019
    Copy the full SHA
    0372ae7 View commit details
  7. sherpa: 2.2.5 -> 2.2.6

    veprbl committed Jan 24, 2019
    Copy the full SHA
    d28bce3 View commit details

Commits on Jan 25, 2019

  1. slurp: init at 1.0

    buffet committed Jan 25, 2019
    Copy the full SHA
    1985772 View commit details
  2. Put slurp in correct position in all-packages

    buffet committed Jan 25, 2019
    Copy the full SHA
    d26acb3 View commit details
  3. Fixed homepage

    buffet committed Jan 25, 2019
    Copy the full SHA
    954e9f2 View commit details

Commits on Jan 26, 2019

  1. Copy the full SHA
    f83b393 View commit details
  2. qtkeychain: remove CMP0025 hack

    This argument is already set by the cmake setup hook.
    veprbl committed Jan 26, 2019
    Copy the full SHA
    467a23a View commit details
  3. Copy the full SHA
    d3466ff View commit details
  4. libstdcxx: don’t set stdlib automatically

    We don’t need to set -stdlib=libstdc++. This only works on Clang so it
    is not good to set it globally. In addition, Clang knows to use
    libstdc++ on Linux by default if no stdlib is set:
    
    https://github.com/llvm-mirror/clang/blob/324f918438715b4a0d024af5930628c1674f4fcd/lib/Driver/ToolChains/Linux.cpp#L456
    
    It’s a good policy to just leave off stdlib for now.
    
    Fixes #29877.
    matthewbauer committed Jan 26, 2019
    Copy the full SHA
    f9ed5e0 View commit details
  5. Copy the full SHA
    8babcc3 View commit details
  6. qt59: 5.9.3 -> 5.9.7

    FlorianFranzen committed Jan 26, 2019
    Copy the full SHA
    776c962 View commit details
  7. Copy the full SHA
    f22db06 View commit details
  8. gambit: 4.9.1 -> 4.9.2

    fare committed Jan 26, 2019
    Copy the full SHA
    d9e452d View commit details
  9. gambit-unstable : 2018-11-19 -> 2019-01-18

    This is actually the same as the stable version 4.9.2.
    fare committed Jan 26, 2019
    Copy the full SHA
    83a48f7 View commit details
  10. Copy the full SHA
    0446928 View commit details
  11. gerbil: 0.14 -> 0.15

    fare committed Jan 26, 2019
    Copy the full SHA
    85f8481 View commit details
  12. Copy the full SHA
    a737bbd View commit details
Showing 459 changed files with 9,844 additions and 5,678 deletions.
2 changes: 2 additions & 0 deletions doc/functions.xml
Original file line number Diff line number Diff line change
@@ -11,6 +11,8 @@
<xi:include href="functions/overrides.xml" />
<xi:include href="functions/generators.xml" />
<xi:include href="functions/debug.xml" />
<xi:include href="functions/fetchers.xml" />
<xi:include href="functions/trivial-builders.xml" />
<xi:include href="functions/fhs-environments.xml" />
<xi:include href="functions/shell.xml" />
<xi:include href="functions/dockertools.xml" />
14 changes: 7 additions & 7 deletions doc/functions/dockertools.xml
Original file line number Diff line number Diff line change
@@ -24,7 +24,7 @@

<para>
This function is analogous to the <command>docker build</command> command,
in that can used to build a Docker-compatible repository tarball containing
in that it can be used to build a Docker-compatible repository tarball containing
a single image with one or multiple layers. As such, the result is suitable
for being loaded in Docker with <command>docker load</command>.
</para>
@@ -190,11 +190,11 @@ buildImage {
By default <function>buildImage</function> will use a static date of one
second past the UNIX Epoch. This allows <function>buildImage</function> to
produce binary reproducible images. When listing images with
<command>docker list images</command>, the newly created images will be
<command>docker images</command>, the newly created images will be
listed like this:
</para>
<screen><![CDATA[
$ docker image list
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello latest 08c791c7846e 48 years ago 25.2MB
]]></screen>
@@ -217,7 +217,7 @@ pkgs.dockerTools.buildImage {
and now the Docker CLI will display a reasonable date and sort the images
as expected:
<screen><![CDATA[
$ docker image list
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello latest de2bf4786de6 About a minute ago 25.2MB
]]></screen>
@@ -402,7 +402,7 @@ pkgs.dockerTools.buildLayeredImage {

<para>
This function is analogous to the <command>docker pull</command> command, in
that can be used to pull a Docker image from a Docker registry. By default
that it can be used to pull a Docker image from a Docker registry. By default
<link xlink:href="https://hub.docker.com/">Docker Hub</link> is used to pull
images.
</para>
@@ -484,7 +484,7 @@ sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b

<para>
This function is analogous to the <command>docker export</command> command,
in that can used to flatten a Docker image that contains multiple layers. It
in that it can be used to flatten a Docker image that contains multiple layers. It
is in fact the result of the merge of all the layers of the image. As such,
the result is suitable for being imported in Docker with <command>docker
import</command>.
@@ -557,7 +557,7 @@ buildImage {

<para>
Creating base files like <literal>/etc/passwd</literal> or
<literal>/etc/login.defs</literal> are necessary for shadow-utils to
<literal>/etc/login.defs</literal> is necessary for shadow-utils to
manipulate users and groups.
</para>
</section>
206 changes: 206 additions & 0 deletions doc/functions/fetchers.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,206 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-pkgs-fetchers">
<title>Fetcher functions</title>

<para>
When using Nix, you will frequently need to download source code
and other files from the internet. Nixpkgs comes with a few helper
functions that allow you to fetch fixed-output derivations in a
structured way.
</para>

<para>
The two fetcher primitives are <function>fetchurl</function> and
<function>fetchzip</function>. Both of these have two required
arguments, a URL and a hash. The hash is typically
<literal>sha256</literal>, although many more hash algorithms are
supported. Nixpkgs contributors are currently recommended to use
<literal>sha256</literal>. This hash will be used by Nix to
identify your source. A typical usage of fetchurl is provided
below.
</para>

<programlisting><![CDATA[
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "hello";
src = fetchurl {
url = "http://www.example.org/hello.tar.gz";
sha256 = "1111111111111111111111111111111111111111111111111111";
};
}
]]></programlisting>

<para>
The main difference between <function>fetchurl</function> and
<function>fetchzip</function> is in how they store the contents.
<function>fetchurl</function> will store the unaltered contents of
the URL within the Nix store. <function>fetchzip</function> on the
other hand will decompress the archive for you, making files and
directories directly accessible in the future.
<function>fetchzip</function> can only be used with archives.
Despite the name, <function>fetchzip</function> is not limited to
.zip files and can also be used with any tarball.
</para>

<para>
<function>fetchpatch</function> works very similarly to
<function>fetchurl</function> with the same arguments expected. It
expects patch files as a source and and performs normalization on
them before computing the checksum. For example it will remove
comments or other unstable parts that are sometimes added by
version control systems and can change over time.
</para>

<para>
Other fetcher functions allow you to add source code directly from
a VCS such as subversion or git. These are mostly straightforward
names based on the name of the command used with the VCS system.
Because they give you a working repository, they act most like
<function>fetchzip</function>.
</para>

<variablelist>
<varlistentry>
<term>
<literal>fetchsvn</literal>
</term>
<listitem>
<para>
Used with Subversion. Expects <literal>url</literal> to a
Subversion directory, <literal>rev</literal>, and
<literal>sha256</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchgit</literal>
</term>
<listitem>
<para>
Used with Git. Expects <literal>url</literal> to a Git repo,
<literal>rev</literal>, and <literal>sha256</literal>.
<literal>rev</literal> in this case can be full the git commit
id (SHA1 hash) or a tag name like
<literal>refs/tags/v1.0</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchfossil</literal>
</term>
<listitem>
<para>
Used with Fossil. Expects <literal>url</literal> to a Fossil
archive, <literal>rev</literal>, and <literal>sha256</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchcvs</literal>
</term>
<listitem>
<para>
Used with CVS. Expects <literal>cvsRoot</literal>,
<literal>tag</literal>, and <literal>sha256</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchhg</literal>
</term>
<listitem>
<para>
Used with Mercurial. Expects <literal>url</literal>,
<literal>rev</literal>, and <literal>sha256</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>

<para>
A number of fetcher functions wrap part of
<function>fetchurl</function> and <function>fetchzip</function>.
They are mainly convenience functions intended for commonly used
destinations of source code in Nixpkgs. These wrapper fetchers are
listed below.
</para>

<variablelist>
<varlistentry>
<term>
<literal>fetchFromGitHub</literal>
</term>
<listitem>
<para>
<function>fetchFromGitHub</function> expects four arguments.
<literal>owner</literal> is a string corresponding to the
GitHub user or organization that controls this repository.
<literal>repo</literal> corresponds to the name of the
software repository. These are located at the top of every
GitHub HTML page as
<literal>owner</literal>/<literal>repo</literal>.
<literal>rev</literal> corresponds to the Git commit hash or
tag (e.g <literal>v1.0</literal>) that will be downloaded from
Git. Finally, <literal>sha256</literal> corresponds to the
hash of the extracted directory. Again, other hash algorithms
are also available but <literal>sha256</literal> is currently
preferred.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchFromGitLab</literal>
</term>
<listitem>
<para>
This is used with GitLab repositories. The arguments expected
are very similar to fetchFromGitHub above.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchFromBitbucket</literal>
</term>
<listitem>
<para>
This is used with BitBucket repositories. The arguments expected
are very similar to fetchFromGitHub above.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchFromSavannah</literal>
</term>
<listitem>
<para>
This is used with Savannah repositories. The arguments expected
are very similar to fetchFromGitHub above.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchFromRepoOrCz</literal>
</term>
<listitem>
<para>
This is used with repo.or.cz repositories. The arguments
expected are very similar to fetchFromGitHub above.
</para>
</listitem>
</varlistentry>
</variablelist>


</section>
124 changes: 124 additions & 0 deletions doc/functions/trivial-builders.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-trivial-builders">
<title>Trivial builders</title>

<para>
Nixpkgs provides a couple of functions that help with building
derivations. The most important one,
<function>stdenv.mkDerivation</function>, has already been
documented above. The following functions wrap
<function>stdenv.mkDerivation</function>, making it easier to use
in certain cases.
</para>

<variablelist>
<varlistentry>
<term>
<literal>runCommand</literal>
</term>
<listitem>
<para>
This takes three arguments, <literal>name</literal>,
<literal>env</literal>, and <literal>buildCommand</literal>.
<literal>name</literal> is just the name that Nix will append
to the store path in the same way that
<literal>stdenv.mkDerivation</literal> uses its
<literal>name</literal> attribute. <literal>env</literal> is an
attribute set specifying environment variables that will be set
for this derivation. These attributes are then passed to the
wrapped <literal>stdenv.mkDerivation</literal>.
<literal>buildCommand</literal> specifies the commands that
will be run to create this derivation. Note that you will need
to create <literal>$out</literal> for Nix to register the
command as successful.
</para>
<para>
An example of using <literal>runCommand</literal> is provided
below.
</para>
<programlisting>
(import &lt;nixpkgs&gt; {}).runCommand "my-example" {} ''
echo My example command is running

mkdir $out

echo I can write data to the Nix store > $out/message

echo I can also run basic commands like:

echo ls
ls

echo whoami
whoami

echo date
date
''
</programlisting>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>runCommandCC</literal>
</term>
<listitem>
<para>
This works just like <literal>runCommand</literal>. The only
difference is that it also provides a C compiler in
<literal>buildCommand</literal>’s environment. To minimize your
dependencies, you should only use this if you are sure you will
need a C compiler as part of running your command.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>writeTextFile</literal>, <literal>writeText</literal>,
<literal>writeTextDir</literal>, <literal>writeScript</literal>,
<literal>writeScriptBin</literal>
</term>
<listitem>
<para>
These functions write <literal>text</literal> to the Nix store.
This is useful for creating scripts from Nix expressions.
<literal>writeTextFile</literal> takes an attribute set and
expects two arguments, <literal>name</literal> and
<literal>text</literal>. <literal>name</literal> corresponds to
the name used in the Nix store path. <literal>text</literal>
will be the contents of the file. You can also set
<literal>executable</literal> to true to make this file have
the executable bit set.
</para>
<para>
Many more commands wrap <literal>writeTextFile</literal>
including <literal>writeText</literal>,
<literal>writeTextDir</literal>,
<literal>writeScript</literal>, and
<literal>writeScriptBin</literal>. These are convenience
functions over <literal>writeTextFile</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>symlinkJoin</literal>
</term>
<listitem>
<para>
This can be used to put many derivations into the same directory
structure. It works by creating a new derivation and adding
symlinks to each of the paths listed. It expects two arguments,
<literal>name</literal>, and <literal>paths</literal>.
<literal>name</literal> is the name used in the Nix store path
for the created derivation. <literal>paths</literal> is a list of
paths that will be symlinked. These paths can be to Nix store
derivations or any other subdirectory contained within.
</para>
</listitem>
</varlistentry>
</variablelist>

</section>
Loading