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-07-31 08:56:53 +02:00
committed by Frederik Rietdijk
parent f36899e118
commit d0677e6d45
43 changed files with 216 additions and 1 deletions
+5
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";
@@ -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;
@@ -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
@@ -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
@@ -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";
@@ -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";
@@ -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";
@@ -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";
@@ -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";
@@ -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
+5
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 {
@@ -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
@@ -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";
@@ -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";
@@ -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";
@@ -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 {
@@ -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
@@ -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";
@@ -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";
@@ -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;
@@ -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
@@ -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 {
@@ -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";
@@ -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;
@@ -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";
@@ -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";
@@ -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";
@@ -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";
@@ -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
@@ -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";
@@ -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
@@ -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";
+5
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}";
+5
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";
+5
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";
+5
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";
+5
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";
+5
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";
+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;
+5
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";
+5
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;
+5
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";
+6 -1
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;