treewide: add warning comment to “boot” packages

This adds a warning to the top of each “boot” package that reads:

  Note: this package is used for bootstrapping fetchurl, and thus cannot
  use fetchpatch! All mutable patches (generated by GitHub or cgit) that
  are needed here should be included directly in Nixpkgs as files.

This makes it clear to maintainer that they may need to treat this
package a little differently than others. Importantly, we can’t use
fetchpatch here due to using <nix/fetchurl.nix>. To avoid having stale
hashes, we need to include patches that are subject to changing
overtime (for instance, gitweb’s patches contain a version number at
the bottom).
This commit is contained in:
Matthew Bauer 2020-06-26 16:44:45 -04:00 committed by Frederik Rietdijk
parent f36899e118
commit d0677e6d45
43 changed files with 216 additions and 1 deletions

View file

@ -1,6 +1,11 @@
{ stdenv, fetchurl, lzip { stdenv, fetchurl, lzip
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation (rec { stdenv.mkDerivation (rec {
name = "ed-${version}"; name = "ed-${version}";
version = "1.16"; version = "1.16";

View file

@ -31,6 +31,11 @@
, buildPackages , buildPackages
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
# LTO needs libelf and zlib. # LTO needs libelf and zlib.
assert libelf != null -> zlib != null; assert libelf != null -> zlib != null;

View file

@ -2,6 +2,11 @@
, enableThreading ? true, coreutils, makeWrapper , enableThreading ? true, coreutils, makeWrapper
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
with lib; with lib;
let let

View file

@ -36,6 +36,11 @@
, enableOptimizations ? (!stdenv.isDarwin) , enableOptimizations ? (!stdenv.isDarwin)
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
assert x11Support -> tcl != null assert x11Support -> tcl != null
&& tk != null && tk != null
&& xorgproto != null && xorgproto != null

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl, gettext, attr }: { stdenv, fetchurl, gettext, attr }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "acl-2.2.53"; name = "acl-2.2.53";

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl, gettext }: { stdenv, fetchurl, gettext }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "attr-2.4.48"; name = "attr-2.4.48";

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl, writeTextDir }: { stdenv, fetchurl, writeTextDir }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
let self = let self =
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "c-ares-1.15.0"; name = "c-ares-1.15.0";

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "expat-2.2.8"; name = "expat-2.2.8";

View file

@ -1,5 +1,10 @@
{ stdenv, lib, fetchurl, libiconv, xz, fetchpatch }: { stdenv, lib, fetchurl, libiconv, xz, fetchpatch }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gettext"; pname = "gettext";
version = "0.20.1"; version = "0.20.1";

View file

@ -17,6 +17,11 @@
but the exact set depends on the library version and the configuration. but the exact set depends on the library version and the configuration.
*/ */
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
{ stdenv, lib { stdenv, lib
, buildPackages , buildPackages
, fetchurl , fetchurl

View file

@ -3,6 +3,11 @@
, buildPackages , buildPackages
, withStatic ? false }: , withStatic ? false }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
let inherit (stdenv.lib) optional; in let inherit (stdenv.lib) optional; in
let self = stdenv.mkDerivation rec { let self = stdenv.mkDerivation rec {

View file

@ -8,6 +8,11 @@
, staticOnly ? false , staticOnly ? false
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
let let
libOnly = type == "lib"; libOnly = type == "lib";
in in

View file

@ -2,6 +2,11 @@
, fetchurl, autoreconfHook, gettext , fetchurl, autoreconfHook, gettext
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libelf-0.8.13"; name = "libelf-0.8.13";

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl, static ? false }: { stdenv, fetchurl, static ? false }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libev"; pname = "libev";
version="4.33"; version="4.33";

View file

@ -3,6 +3,11 @@
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libffi-3.3"; name = "libffi-3.3";

View file

@ -1,5 +1,10 @@
{ fetchurl, stdenv, libiconv, libunistring, help2man, buildPackages }: { fetchurl, stdenv, libiconv, libunistring, help2man, buildPackages }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {

View file

@ -2,6 +2,11 @@
, gmp, mpfr , gmp, mpfr
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
let let
version = "1.1.0"; version = "1.1.0";
in in

View file

@ -1,5 +1,10 @@
{ fetchurl, stdenv, libiconv }: { fetchurl, stdenv, libiconv }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libunistring"; pname = "libunistring";
version = "0.9.10"; version = "0.9.10";

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl, gmp }: { stdenv, fetchurl, gmp }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "4.0.2"; version = "4.0.2";
pname = "mpfr"; pname = "mpfr";

View file

@ -12,6 +12,11 @@
, enablePython ? false, python ? null, cython ? null, ncurses ? null, setuptools ? null , enablePython ? false, python ? null, cython ? null, ncurses ? null, setuptools ? null
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
assert enableHpack -> jansson != null; assert enableHpack -> jansson != null;
assert enableAsioLib -> boost != null; assert enableAsioLib -> boost != null;
assert enableGetAssets -> libxml2 != null; assert enableGetAssets -> libxml2 != null;

View file

@ -5,6 +5,11 @@
, static ? false , static ? false
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
with stdenv.lib; with stdenv.lib;
let let

View file

@ -12,6 +12,11 @@
, splitStaticOutput ? static , splitStaticOutput ? static
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
assert splitStaticOutput -> static; assert splitStaticOutput -> static;
stdenv.mkDerivation (rec { stdenv.mkDerivation (rec {

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl, m4, perl }: { stdenv, fetchurl, m4, perl }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "autoconf-2.69"; name = "autoconf-2.69";

View file

@ -10,6 +10,11 @@
, texinfo , texinfo
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
let let
reuseLibs = enableShared && withAllTargets; reuseLibs = enableShared && withAllTargets;

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation { stdenv.mkDerivation {
name = "gnum4-1.4.18"; name = "gnum4-1.4.18";

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl, perlPackages, gettext }: { stdenv, fetchurl, perlPackages, gettext }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "help2man-1.47.16"; name = "help2man-1.47.16";

View file

@ -1,5 +1,10 @@
{stdenv, fetchurl, m4, perl}: {stdenv, fetchurl, m4, perl}:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libtool-1.5.26"; name = "libtool-1.5.26";

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "patchelf-0.11"; name = "patchelf-0.11";

View file

@ -6,6 +6,11 @@
, interactive ? false, ncurses, procps , interactive ? false, ncurses, procps
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
let let
crossBuildTools = interactive && stdenv.hostPlatform != stdenv.buildPlatform; crossBuildTools = interactive && stdenv.hostPlatform != stdenv.buildPlatform;
in in

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl, m4, perl, help2man }: { stdenv, fetchurl, m4, perl, help2man }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bison"; pname = "bison";
version = "3.6.4"; version = "3.6.4";

View file

@ -53,6 +53,11 @@
, ... , ...
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
assert stdenv.isLinux; assert stdenv.isLinux;
let let

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "keyutils"; pname = "keyutils";
version = "1.6.1"; version = "1.6.1";

View file

@ -12,6 +12,11 @@ assert interactive -> readline70 != null;
assert withDocs -> texinfo != null; assert withDocs -> texinfo != null;
assert stdenv.hostPlatform.isDarwin -> binutils != null; assert stdenv.hostPlatform.isDarwin -> binutils != null;
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
let let
upstreamPatches = import ./bash-4.4-patches.nix (nr: sha256: fetchurl { upstreamPatches = import ./bash-4.4-patches.nix (nr: sha256: fetchurl {
url = "mirror://gnu/bash/bash-4.4-patches/bash44-${nr}"; url = "mirror://gnu/bash/bash-4.4-patches/bash44-${nr}";

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl, autoreconfHook, acl }: { stdenv, fetchurl, autoreconfHook, acl }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnutar"; pname = "gnutar";
version = "1.32"; version = "1.32";

View file

@ -3,6 +3,11 @@
, autoreconfHook , autoreconfHook
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bzip2"; pname = "bzip2";
version = "1.0.6.0.1"; version = "1.0.6.0.1";

View file

@ -4,6 +4,11 @@
, writeText , writeText
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gzip"; pname = "gzip";
version = "1.10"; version = "1.10";

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl, texinfo }: { stdenv, fetchurl, texinfo }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "lzip"; pname = "lzip";
version = "1.21"; version = "1.21";

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl, enableStatic ? false }: { stdenv, fetchurl, enableStatic ? false }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "xz-5.2.5"; name = "xz-5.2.5";

View file

@ -10,6 +10,11 @@
, singleBinary ? "symlinks" # you can also pass "shebangs" or false , singleBinary ? "symlinks" # you can also pass "shebangs" or false
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
assert aclSupport -> acl != null; assert aclSupport -> acl != null;
assert selinuxSupport -> libselinux != null && libsepol != null; assert selinuxSupport -> libselinux != null && libsepol != null;

View file

@ -2,6 +2,11 @@
, coreutils , coreutils
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "findutils"; pname = "findutils";
version = "4.7.0"; version = "4.7.0";

View file

@ -12,6 +12,11 @@
, brotliSupport ? false, brotli ? null , brotliSupport ? false, brotli ? null
}: }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
assert http2Support -> nghttp2 != null; assert http2Support -> nghttp2 != null;
assert idnSupport -> libidn != null; assert idnSupport -> libidn != null;
assert ldapSupport -> openldap != null; assert ldapSupport -> openldap != null;

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl, xz, coreutils ? null }: { stdenv, fetchurl, xz, coreutils ? null }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "diffutils-3.7"; name = "diffutils-3.7";

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl, pcre, libiconv, perl }: { stdenv, fetchurl, pcre, libiconv, perl }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
let version = "3.4"; in let version = "3.4"; in
stdenv.mkDerivation { stdenv.mkDerivation {
@ -19,7 +24,7 @@ stdenv.mkDerivation {
# cygwin: FAIL: multibyte-white-space # cygwin: FAIL: multibyte-white-space
# freebsd: FAIL mb-non-UTF8-performance # freebsd: FAIL mb-non-UTF8-performance
# all platforms: timing sensitivity in long-pattern-perf # all platforms: timing sensitivity in long-pattern-perf
#doCheck = !stdenv.isDarwin && !stdenv.isSunOS && !stdenv.isCygwin && !stdenv.isFreeBSD; #doCheck = !stdenv.isDarwin && !stdenv.isSunOS && !stdenv.isCygwin && !stdenv.isFreeBSD;
doCheck = false; doCheck = false;