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
}:
# 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 {
name = "ed-${version}";
version = "1.16";

View File

@ -31,6 +31,11 @@
, 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.
assert libelf != null -> zlib != null;

View File

@ -2,6 +2,11 @@
, 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;
let

View File

@ -36,6 +36,11 @@
, 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
&& tk != null
&& xorgproto != null

View File

@ -1,5 +1,10 @@
{ 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 {
name = "acl-2.2.53";

View File

@ -1,5 +1,10 @@
{ 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 {
name = "attr-2.4.48";

View File

@ -1,5 +1,10 @@
{ 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 =
stdenv.mkDerivation rec {
name = "c-ares-1.15.0";

View File

@ -1,5 +1,10 @@
{ 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 {
name = "expat-2.2.8";

View File

@ -1,5 +1,10 @@
{ 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 {
pname = "gettext";
version = "0.20.1";

View File

@ -17,6 +17,11 @@
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
, buildPackages
, fetchurl

View File

@ -3,6 +3,11 @@
, buildPackages
, 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 self = stdenv.mkDerivation rec {

View File

@ -8,6 +8,11 @@
, 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
libOnly = type == "lib";
in

View File

@ -2,6 +2,11 @@
, 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 {
name = "libelf-0.8.13";

View File

@ -1,5 +1,10 @@
{ 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 {
pname = "libev";
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 {
name = "libffi-3.3";

View File

@ -1,5 +1,10 @@
{ 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;
stdenv.mkDerivation rec {

View File

@ -2,6 +2,11 @@
, 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
version = "1.1.0";
in

View File

@ -1,5 +1,10 @@
{ 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 {
pname = "libunistring";
version = "0.9.10";

View File

@ -1,5 +1,10 @@
{ 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 {
version = "4.0.2";
pname = "mpfr";

View File

@ -12,6 +12,11 @@
, 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 enableAsioLib -> boost != null;
assert enableGetAssets -> libxml2 != null;

View File

@ -5,6 +5,11 @@
, 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;
let

View File

@ -12,6 +12,11 @@
, 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;
stdenv.mkDerivation (rec {

View File

@ -1,5 +1,10 @@
{ 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 {
name = "autoconf-2.69";

View File

@ -10,6 +10,11 @@
, 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
reuseLibs = enableShared && withAllTargets;

View File

@ -1,5 +1,10 @@
{ 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 {
name = "gnum4-1.4.18";

View File

@ -1,5 +1,10 @@
{ 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 {
name = "help2man-1.47.16";

View File

@ -1,5 +1,10 @@
{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 {
name = "libtool-1.5.26";

View File

@ -1,5 +1,10 @@
{ 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 {
name = "patchelf-0.11";

View File

@ -6,6 +6,11 @@
, 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
crossBuildTools = interactive && stdenv.hostPlatform != stdenv.buildPlatform;
in

View File

@ -1,5 +1,10 @@
{ 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 {
pname = "bison";
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;
let

View File

@ -1,5 +1,10 @@
{ 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 {
pname = "keyutils";
version = "1.6.1";

View File

@ -12,6 +12,11 @@ assert interactive -> readline70 != null;
assert withDocs -> texinfo != 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
upstreamPatches = import ./bash-4.4-patches.nix (nr: sha256: fetchurl {
url = "mirror://gnu/bash/bash-4.4-patches/bash44-${nr}";

View File

@ -1,5 +1,10 @@
{ 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 {
pname = "gnutar";
version = "1.32";

View File

@ -3,6 +3,11 @@
, 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 {
pname = "bzip2";
version = "1.0.6.0.1";

View File

@ -4,6 +4,11 @@
, 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 {
pname = "gzip";
version = "1.10";

View File

@ -1,5 +1,10 @@
{ 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 {
pname = "lzip";
version = "1.21";

View File

@ -1,5 +1,10 @@
{ 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 {
name = "xz-5.2.5";

View File

@ -10,6 +10,11 @@
, 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 selinuxSupport -> libselinux != null && libsepol != null;

View File

@ -2,6 +2,11 @@
, 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 {
pname = "findutils";
version = "4.7.0";

View File

@ -12,6 +12,11 @@
, 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 idnSupport -> libidn != null;
assert ldapSupport -> openldap != null;

View File

@ -1,5 +1,10 @@
{ 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 {
name = "diffutils-3.7";

View File

@ -1,5 +1,10 @@
{ 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
stdenv.mkDerivation {
@ -19,7 +24,7 @@ stdenv.mkDerivation {
# cygwin: FAIL: multibyte-white-space
# 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 = false;