Docs: update fixed output hashes

`fetchurl` will now throw if given an `md5`, and the hashes have generally
been upgraded to avoid it and use `sha256` as a default. This updates the
documentation examples in the manual accordingly.
This commit is contained in:
Benjamin Hipple 2018-10-04 02:37:15 +00:00
parent d93db0ace0
commit 65453e2d77

View file

@ -216,7 +216,7 @@ fetchurl {
<programlisting> <programlisting>
{ stdenv, curl }: # The <command>curl</command> program is used for downloading. { stdenv, curl }: # The <command>curl</command> program is used for downloading.
{ url, md5 }: { url, sha256 }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = baseNameOf (toString url); name = baseNameOf (toString url);
@ -224,10 +224,10 @@ stdenv.mkDerivation {
buildInputs = [ curl ]; buildInputs = [ curl ];
# This is a fixed-output derivation; the output must be a regular # This is a fixed-output derivation; the output must be a regular
# file with MD5 hash <varname>md5</varname>. # file with SHA256 hash <varname>sha256</varname>.
outputHashMode = "flat"; outputHashMode = "flat";
outputHashAlgo = "md5"; outputHashAlgo = "sha256";
outputHash = md5; outputHash = sha256;
inherit url; inherit url;
} }
@ -237,8 +237,8 @@ stdenv.mkDerivation {
<para>The <varname>outputHashAlgo</varname> attribute specifies <para>The <varname>outputHashAlgo</varname> attribute specifies
the hash algorithm used to compute the hash. It can currently be the hash algorithm used to compute the hash. It can currently be
<literal>"md5"</literal>, <literal>"sha1"</literal> or <literal>"sha1"</literal>, <literal>"sha256"</literal> or
<literal>"sha256"</literal>.</para> <literal>"sha512"</literal>.</para>
<para>The <varname>outputHashMode</varname> attribute determines <para>The <varname>outputHashMode</varname> attribute determines
how the hash is computed. It must be one of the following two how the hash is computed. It must be one of the following two
@ -251,7 +251,7 @@ stdenv.mkDerivation {
<listitem><para>The output must be a non-executable regular <listitem><para>The output must be a non-executable regular
file. If it isnt, the build fails. The hash is simply file. If it isnt, the build fails. The hash is simply
computed over the contents of that file (so its equal to what computed over the contents of that file (so its equal to what
Unix commands like <command>md5sum</command> or Unix commands like <command>sha256sum</command> or
<command>sha1sum</command> produce).</para> <command>sha1sum</command> produce).</para>
<para>This is the default.</para></listitem> <para>This is the default.</para></listitem>