···297297 </listitem>
298298 <listitem>
299299 <para>
300300+ The <literal>wafHook</literal> hook does not wrap Python anymore.
301301+ Packages depending on <literal>wafHook</literal> need to include any Python into their <literal>nativeBuildInputs</literal>.
302302+ </para>
303303+ </listitem>
304304+ <listitem>
305305+ <para>
300306 Starting with version 1.7.0, the project formerly named <literal>CodiMD</literal>
301307 is now named <literal>HedgeDoc</literal>.
302308 New installations will no longer use the old name for users, state directories and such, this needs to be considered when moving state to a more recent NixOS installation.
···44}:
5566mkDerivation {
77- name = "bomber";
77+ pname = "bomber";
88 meta = with lib; {
99 homepage = "https://kde.org/applications/en/games/org.kde.bomber";
1010 description = "A single player arcade game";
+1-1
pkgs/applications/kde/bovo.nix
···44}:
5566mkDerivation {
77- name = "bovo";
77+ pname = "bovo";
88 meta = with lib; {
99 homepage = "https://kde.org/applications/en/games/org.kde.bovo";
1010 description = "Five in a row application";
···99}:
10101111mkDerivation {
1212- name = "dolphin";
1212+ pname = "dolphin";
1313 meta = {
1414 license = with lib.licenses; [ gpl2 fdl12 ];
1515 maintainers = [ lib.maintainers.ttuegel ];
+1-1
pkgs/applications/kde/dragon.nix
···88}:
991010mkDerivation {
1111- name = "dragon";
1111+ pname = "dragon";
1212 meta = {
1313 license = with lib.licenses; [ gpl2 fdl12 ];
1414 description = "A simple media player for KDE";
···1616}:
17171818mkDerivation {
1919- name = "kalarm";
1919+ pname = "kalarm";
2020 meta = {
2121 license = with lib.licenses; [ gpl2 ];
2222 maintainers = [ lib.maintainers.rittelle ];
+1-1
pkgs/applications/kde/kalarmcal.nix
···66}:
7788mkDerivation {
99- name = "kalarmcal";
99+ pname = "kalarmcal";
1010 meta = {
1111 license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
1212 maintainers = kdepimTeam;
+1-1
pkgs/applications/kde/kalzium.nix
···11{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, openbabel, avogadro, qtscript, kparts, kplotting, kunitconversion }:
2233mkDerivation {
44- name = "kalzium";
44+ pname = "kalzium";
55 meta = with lib; {
66 homepage = "https://kde.org/applications/en/utilities/org.kde.kalzium";
77 description = "Program that shows you the Periodic Table of Elements";
+1-1
pkgs/applications/kde/kapman.nix
···11{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }:
2233mkDerivation {
44- name = "kapman";
44+ pname = "kapman";
55 meta = with lib; {
66 homepage = "https://kde.org/applications/en/games/org.kde.kapman";
77 description = "Clone of the well known game Pac-Man";
···11{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, knewstuff }:
2233mkDerivation {
44- name = "katomic";
44+ pname = "katomic";
55 meta = with lib; {
66 homepage = "https://kde.org/applications/en/games/org.kde.katomic";
77 description = "Fun educational game built around molecular geometry";
+1-1
pkgs/applications/kde/kblackbox.nix
···11{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }:
2233mkDerivation {
44- name = "kblackbox";
44+ pname = "kblackbox";
55 meta = with lib; {
66 homepage = "https://kde.org/applications/en/games/org.kde.kblackbox";
77 description = "Game of hide and seek played on a grid of boxes";
···11{ mkDerivation, lib, extra-cmake-modules, libkdegames, kconfig, kcrash, kio, ki18n }:
2233mkDerivation {
44- name = "kbounce";
44+ pname = "kbounce";
55 meta = with lib; {
66 homepage = "https://kde.org/applications/en/games/org.kde.kbounce";
77 description = "Single player arcade game with the elements of puzzle";
···66}:
7788mkDerivation {
99- name = "kitinerary";
99+ pname = "kitinerary";
1010 meta = {
1111 license = with lib.licenses; [ lgpl21 ];
1212 maintainers = [ lib.maintainers.bkchr ];
+1-1
pkgs/applications/kde/kldap.nix
···55}:
6677mkDerivation {
88- name = "kldap";
88+ pname = "kldap";
99 meta = {
1010 license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
1111 maintainers = kdepimTeam;
+1-1
pkgs/applications/kde/kleopatra.nix
···66}:
7788mkDerivation {
99- name = "kleopatra";
99+ pname = "kleopatra";
1010 meta = {
1111 license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
1212 maintainers = kdepimTeam;
+1-1
pkgs/applications/kde/klettres.nix
···11{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, phonon, knewstuff }:
2233mkDerivation {
44- name = "klettres";
44+ pname = "klettres";
55 meta = with lib; {
66 homepage = "https://kde.org/applications/en/utilities/org.kde.klettres";
77 description = "An application specially designed to help the user to learn an alphabet";
+1-1
pkgs/applications/kde/klines.nix
···11{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }:
2233mkDerivation {
44- name = "klines";
44+ pname = "klines";
55 meta = with lib; {
66 homepage = "https://kde.org/applications/en/games/org.kde.klines";
77 description = "A simple but highly addictive one player game";
+1-1
pkgs/applications/kde/kmag.nix
···11{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio }:
2233mkDerivation {
44- name = "kmag";
44+ pname = "kmag";
55 meta = with lib; {
66 homepage = "https://kde.org/applications/en/utilities/org.kde.kmag";
77 description = "A small Linux utility to magnify a part of the screen";
···11{ mkDerivation, lib, extra-cmake-modules, libkdegames, kdeclarative }:
2233mkDerivation {
44- name = "kreversi";
44+ pname = "kreversi";
55 meta = with lib; {
66 homepage = "https://kde.org/applications/en/games/org.kde.kreversi";
77 description = "A simple one player strategy game played against the computer";
+1-1
pkgs/applications/kde/krfb.nix
···55}:
6677mkDerivation {
88- name = "krfb";
88+ pname = "krfb";
99 meta = {
1010 license = with lib.licenses; [ gpl2 fdl12 ];
1111 maintainers = with lib.maintainers; [ jerith666 ];
+1-1
pkgs/applications/kde/kruler.nix
···55}:
6677mkDerivation {
88- name = "kruler";
88+ pname = "kruler";
99 meta = {
1010 license = with lib.licenses; [ gpl2 ];
1111 maintainers = [ lib.maintainers.vandenoever ];
+1-1
pkgs/applications/kde/kshisen.nix
···11{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, libkmahjongg }:
2233mkDerivation {
44- name = "kshisen";
44+ pname = "kshisen";
55 meta = with lib; {
66 homepage = "https://kde.org/applications/en/games/org.kde.kshisen";
77 description = "A solitaire-like game played using the standard set of Mahjong tiles";
+1-1
pkgs/applications/kde/ksmtp/default.nix
···55}:
6677mkDerivation {
88- name = "ksmtp";
88+ pname = "ksmtp";
99 meta = {
1010 license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
1111 maintainers = kdepimTeam;
···11{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kconfig, kcrash, kiconthemes, knotifyconfig }:
2233mkDerivation {
44- name = "kteatime";
44+ pname = "kteatime";
55 meta = with lib; {
66 homepage = "https://kde.org/applications/en/utilities/org.kde.kteatime";
77 description = "A handy timer for steeping tea";
+1-1
pkgs/applications/kde/ktimer.nix
···11{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio }:
2233mkDerivation {
44- name = "ktimer";
44+ pname = "ktimer";
55 meta = with lib; {
66 homepage = "https://kde.org/applications/en/utilities/org.kde.ktimer";
77 description = "A little tool to execute programs after some time";
+1-1
pkgs/applications/kde/ktnef.nix
···55}:
6677mkDerivation {
88- name = "ktnef";
88+ pname = "ktnef";
99 meta = {
1010 license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
1111 maintainers = kdepimTeam;
···44}:
5566mkDerivation {
77- name = "picmi";
77+ pname = "picmi";
88 meta = with lib; {
99 description = "Nonogram game";
1010 longDescription = ''The goal is to reveal the hidden pattern in the board by coloring or
+1-1
pkgs/applications/kde/pim-data-exporter.nix
···88}:
991010mkDerivation {
1111- name = "pim-data-exporter";
1111+ pname = "pim-data-exporter";
1212 meta = {
1313 license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
1414 maintainers = kdepimTeam;
+1-1
pkgs/applications/kde/pim-sieve-editor.nix
···66}:
7788mkDerivation {
99- name = "pim-sieve-editor";
99+ pname = "pim-sieve-editor";
1010 meta = {
1111 license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
1212 maintainers = kdepimTeam;
+1-1
pkgs/applications/kde/pimcommon.nix
···88}:
991010mkDerivation {
1111- name = "pimcommon";
1111+ pname = "pimcommon";
1212 meta = {
1313 license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
1414 maintainers = kdepimTeam;
···9494 postInstall = ''
9595 for prog in "$dev/bin/"*; do
9696 # We can't use --suffix here due to quoting so we craft the export command by hand
9797- wrapProgram "$prog" --run 'export GST_PLUGIN_SYSTEM_PATH=$GST_PLUGIN_SYSTEM_PATH''${GST_PLUGIN_SYSTEM_PATH:+:}$(unset _tmp; for profile in $NIX_PROFILES; do _tmp="$profile/lib/gstreamer-1.0''${_tmp:+:}$_tmp"; done; printf '%s' "$_tmp")'
9797+ wrapProgram "$prog" --run 'export GST_PLUGIN_SYSTEM_PATH_1_0=$GST_PLUGIN_SYSTEM_PATH_1_0''${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$(unset _tmp; for profile in $NIX_PROFILES; do _tmp="$profile/lib/gstreamer-1.0''${_tmp:+:}$_tmp"; done; printf '%s' "$_tmp")'
9898 done
9999 '';
100100
+2
pkgs/development/libraries/gtk/3.x.nix
···4343, cups ? null
4444, AppKit
4545, Cocoa
4646+, broadwaySupport ? true
4647}:
47484849assert cupsSupport -> cups != null;
···8788 "-Dgtk_doc=${boolToString withGtkDoc}"
8889 "-Dtests=false"
8990 "-Dtracker3=${boolToString trackerSupport}"
9191+ "-Dbroadway_backend=${boolToString broadwaySupport}"
9092 ];
91939294 # These are the defines that'd you'd get with --enable-debug=minimum (default).
···3434 # aarch64
3535 configurePlatforms = [ "host" "build" ];
36363737+ postConfigure = ''
3838+ sed -i configure \
3939+ -e 's/NOEXECSTACK_FLAGS=$/NOEXECSTACK_FLAGS="-Wa,--noexecstack"/'
4040+ '';
4141+3742 # Make sure libraries are correct for .pc and .la files
3843 # Also make sure includes are fixed for callers who don't use libgpgcrypt-config
3944 postFixup = ''
···18181919 # Fix for #40213, probably permanent, because upstream doesn't seem to be
2020 # developed anymore. Alternatively, gcc7Stdenv could be used.
2121- NIX_CFLAGS_COMPILE = "-Wno-error=array-bounds";
2121+ NIX_CFLAGS_COMPILE = "-Wno-error=array-bounds -Wno-error=stringop-overflow=8";
22222323 meta = with stdenv.lib; {
2424 homepage = "https://sourceforge.net/projects/omxil/";
+1-1
pkgs/development/libraries/libopcodes/default.nix
···1010 outputs = [ "out" "dev" ];
11111212 patches = binutils-unwrapped.patches ++ [
1313- (binutils-unwrapped.patchesDir + "/build-components-separately.patch")
1313+ ../../tools/misc/binutils/build-components-separately.patch
1414 ];
15151616 # We just want to build libopcodes
···22, intltool, spidermonkey_78, gobject-introspection, libxslt, docbook_xsl, dbus
33, docbook_xml_dtd_412, gtk-doc, coreutils
44, useSystemd ? (stdenv.isLinux && !stdenv.hostPlatform.isMusl), systemd, elogind
55-, withIntrospection ? true
55+# needed until gobject-introspection does cross-compile (https://github.com/NixOS/nixpkgs/pull/88222)
66+, withIntrospection ? (stdenv.buildPlatform == stdenv.hostPlatform)
67# A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault).
78# Not yet investigated; it may be due to the "Make netgroup support optional"
89# patch not updating the tests correctly yet, or doing something wrong,
+2-2
pkgs/development/libraries/poppler/default.nix
···1212in
1313stdenv.mkDerivation rec {
1414 name = "poppler-${suffix}-${version}";
1515- version = "20.08.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
1515+ version = "20.12.1"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
16161717 src = fetchurl {
1818 url = "${meta.homepage}/poppler-${version}.tar.xz";
1919- sha256 = "19gchq6fpa00ic5rn1zmjzxx85cif4hbdrsjcfd2aqxz9gqgwrdf";
1919+ sha256 = "0dbv1y9i5ahg6namz6gw2d0njnmrigr4a80dbxvnqad4q232banh";
2020 };
21212222 outputs = [ "out" "dev" ];
+2-1
pkgs/development/libraries/qt-5/5.12/fetch.sh
···11-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.9/submodules/ )
11+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.9/submodules/ \
22+ -A '*.tar.xz' )
+2-1
pkgs/development/libraries/qt-5/5.14/fetch.sh
···11-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.14/5.14.2/submodules/ )
11+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.14/5.14.2/submodules/ \
22+ -A '*.tar.xz' )
+2-1
pkgs/development/libraries/qt-5/5.15/fetch.sh
···11-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/ )
11+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/ \
22+ -A '*.tar.xz' )
+4
pkgs/development/libraries/range-v3/default.nix
···1111 sha256 = "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh";
1212 };
13131414+ patches = [
1515+ ./gcc10.patch
1616+ ];
1717+1418 nativeBuildInputs = [ cmake ];
15191620 # Building the tests currently fails on AArch64 due to internal compiler
···11+{ stdenv, fetchurl, m4, perl }:
22+33+stdenv.mkDerivation rec {
44+ name = "autoconf-2.69";
55+66+ src = fetchurl {
77+ url = "mirror://gnu/autoconf/${name}.tar.xz";
88+ sha256 = "113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4";
99+ };
1010+1111+ nativeBuildInputs = [ m4 perl ];
1212+ buildInputs = [ m4 ];
1313+1414+ # Work around a known issue in Cygwin. See
1515+ # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
1616+ # details.
1717+ # There are many test failures on `i386-pc-solaris2.11'.
1818+ #doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS));
1919+ doCheck = false;
2020+2121+ # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the
2222+ # "fixed" path in generated files!
2323+ dontPatchShebangs = true;
2424+2525+ enableParallelBuilding = true;
2626+2727+ # Make the Autotest test suite run in parallel.
2828+ preCheck =''
2929+ export TESTSUITEFLAGS="-j$NIX_BUILD_CORES"
3030+ '';
3131+3232+ doInstallCheck = false; # fails
3333+3434+ meta = {
3535+ homepage = "https://www.gnu.org/software/autoconf/";
3636+ description = "Part of the GNU Build System";
3737+3838+ longDescription = ''
3939+ GNU Autoconf is an extensible package of M4 macros that produce
4040+ shell scripts to automatically configure software source code
4141+ packages. These scripts can adapt the packages to many kinds of
4242+ UNIX-like systems without manual user intervention. Autoconf
4343+ creates a configuration script for a package from a template
4444+ file that lists the operating system features that the package
4545+ can use, in the form of M4 macro calls.
4646+ '';
4747+4848+ license = stdenv.lib.licenses.gpl2Plus;
4949+5050+ platforms = stdenv.lib.platforms.all;
5151+ };
5252+}
+3-6
pkgs/development/tools/misc/autoconf/default.nix
···66# files.
7788stdenv.mkDerivation rec {
99- name = "autoconf-2.69";
99+ name = "autoconf-2.70";
10101111 src = fetchurl {
1212 url = "mirror://gnu/autoconf/${name}.tar.xz";
1313- sha256 = "113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4";
1313+ sha256 = "1ipckz0wr2mvhj9n3ys54fmf2aksin6bhqvzl304bn6rc1w257ps";
1414 };
15151616 nativeBuildInputs = [ m4 perl ];
···2020 # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
2121 # details.
2222 # There are many test failures on `i386-pc-solaris2.11'.
2323- #doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS));
2424- doCheck = false;
2323+ doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS));
25242625 # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the
2726 # "fixed" path in generated files!
···3332 preCheck =''
3433 export TESTSUITEFLAGS="-j$NIX_BUILD_CORES"
3534 '';
3636-3737- doInstallCheck = false; # fails
38353936 meta = {
4037 homepage = "https://www.gnu.org/software/autoconf/";
+22-57
pkgs/development/tools/misc/binutils/default.nix
···1919let
2020 reuseLibs = enableShared && withAllTargets;
21212222- # Remove gold-symbol-visibility patch when updating, the proper fix
2323- # is now upstream.
2424- # https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=330b90b5ffbbc20c5de6ae6c7f60c40fab2e7a4f;hp=99181ccac0fc7d82e7dabb05dc7466e91f1645d3
2525- version = "${minorVersion}${patchVersion}";
2626- minorVersion = if stdenv.targetPlatform.isOr1k then "2.34" else "2.31";
2727- patchVersion = if stdenv.targetPlatform.isOr1k then "" else ".1";
2828-2222+ version = "2.34";
2923 basename = "binutils";
3024 # The targetPrefix prepended to binary names to allow multiple binuntils on the
3125 # PATH to both be usable.
···3731 rev = "708acc851880dbeda1dd18aca4fd0a95b2573b36";
3832 sha256 = "1kdrz6fki55lm15rwwamn74fnqpy0zlafsida2zymk76n3656c63";
3933 };
4040-4141- # binutils sources not part of the bootstrap.
4242- non-boot-src = (fetchurl {
3434+ # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM
3535+ normal-src = stdenv.__bootPackages.binutils-unwrapped.src or (fetchurl {
4336 url = "mirror://gnu/binutils/${basename}-${version}.tar.bz2";
4444- sha256 = {
4545- "2.31.1" = "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z";
4646- "2.34" = "1rin1f5c7wm4n3piky6xilcrpf2s0n3dd5vqq8irrxkcic3i1w49";
4747- }.${version};
3737+ sha256 = "1rin1f5c7wm4n3piky6xilcrpf2s0n3dd5vqq8irrxkcic3i1w49";
4838 });
4949-5050- # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM
5151- normal-src = stdenv.__bootPackages.binutils-unwrapped.src or non-boot-src;
5252-5353- # Platforms where we directly use the final source.
5454- # Generally for cross-compiled platforms, where the boot source won't compile.
5555- skipBootSrc = stdenv.targetPlatform.isOr1k;
5656-5757- # Select the specific source according to the platform in use.
5858- src = if stdenv.targetPlatform.isVc4 then vc4-binutils-src
5959- else if skipBootSrc then non-boot-src
6060- else normal-src;
6161-6262- patchesDir = ./patches + "/${minorVersion}";
6339in
64406541stdenv.mkDerivation {
6642 pname = targetPrefix + basename;
6767- inherit src version;
4343+ inherit version;
4444+4545+ src = if stdenv.targetPlatform.isVc4 then vc4-binutils-src else normal-src;
68466947 patches = [
7048 # Make binutils output deterministic by default.
7171- "${patchesDir}/deterministic.patch"
4949+ ./deterministic.patch
72507351 # Bfd looks in BINDIR/../lib for some plugins that don't
7452 # exist. This is pointless (since users can't install plugins
7553 # there) and causes a cycle between the lib and bin outputs, so
7654 # get rid of it.
7777- "${patchesDir}/no-plugins.patch"
5555+ ./no-plugins.patch
78567957 # Help bfd choose between elf32-littlearm, elf32-littlearm-symbian, and
8058 # elf32-littlearm-vxworks in favor of the first.
8159 # https://github.com/NixOS/nixpkgs/pull/30484#issuecomment-345472766
8282- "${patchesDir}/disambiguate-arm-targets.patch"
6060+ ./disambiguate-arm-targets.patch
83618462 # For some reason bfd ld doesn't search DT_RPATH when cross-compiling. It's
8563 # not clear why this behavior was decided upon but it has the unfortunate
···8765 # shared objects when cross-compiling. Consequently, we are forced to
8866 # override this behavior, forcing ld to search DT_RPATH even when
8967 # cross-compiling.
9090- "${patchesDir}/always-search-rpath.patch"
9191- ]
9292- # For version 2.31 exclusively
9393- ++ lib.optionals (!stdenv.targetPlatform.isVc4 && minorVersion == "2.31") [
9494- # https://sourceware.org/bugzilla/show_bug.cgi?id=22868
9595- ./patches/2.31/gold-symbol-visibility.patch
6868+ ./always-search-rpath.patch
96699797- # https://sourceware.org/bugzilla/show_bug.cgi?id=23428
9898- # un-break features so linking against musl doesn't produce crash-only binaries
9999- ./patches/2.31/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch
100100- ./patches/2.31/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch
101101- ./patches/2.31/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch
102102- ]
103103- ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch
104104- ++ # This patch was suggested by Nick Clifton to fix
105105- # https://sourceware.org/bugzilla/show_bug.cgi?id=16177
106106- # It can be removed when that 7-year-old bug is closed.
107107- # This binutils bug causes GHC to emit broken binaries on armv7, and
108108- # indeed GHC will refuse to compile with a binutils suffering from it. See
109109- # this comment for more information:
110110- # https://gitlab.haskell.org/ghc/ghc/issues/4210#note_78333
111111- lib.optional stdenv.targetPlatform.isAarch32 ./R_ARM_COPY.patch
112112- ;
7070+ ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch
7171+ ++ # This patch was suggested by Nick Clifton to fix
7272+ # https://sourceware.org/bugzilla/show_bug.cgi?id=16177
7373+ # It can be removed when that 7-year-old bug is closed.
7474+ # This binutils bug causes GHC to emit broken binaries on armv7, and
7575+ # indeed GHC will refuse to compile with a binutils suffering from it. See
7676+ # this comment for more information:
7777+ # https://gitlab.haskell.org/ghc/ghc/issues/4210#note_78333
7878+ lib.optional stdenv.targetPlatform.isAarch32 ./R_ARM_COPY.patch;
1137911480 outputs = [ "out" "info" "man" ];
1158111682 depsBuildBuild = [ buildPackages.stdenv.cc ];
11783 nativeBuildInputs = [
11884 bison
119119- ] ++ lib.optionals (lib.versionAtLeast version "2.34") [
12085 perl
12186 texinfo
12287 ] ++ (lib.optionals stdenv.targetPlatform.isiOS [
12388 autoreconfHook
124124- ]) ++ lib.optionals stdenv.targetPlatform.isVc4 [ texinfo flex ];
8989+ ]) ++ lib.optionals stdenv.targetPlatform.isVc4 [ flex ];
12590 buildInputs = [ zlib gettext ];
1269112792 inherit noSysDirs;
···182147 enableParallelBuilding = true;
183148184149 passthru = {
185185- inherit targetPrefix patchesDir;
150150+ inherit targetPrefix;
186151 };
187152188153 meta = with lib; {
···11-From bc09a9236f67e710d545ac11bcdac7b55dbcc1a0 Mon Sep 17 00:00:00 2001
22-From: John Ericson <John.Ericson@Obsidian.Systems>
33-Date: Thu, 12 Oct 2017 11:16:57 -0400
44-Subject: [PATCH] Build components separately
55-66----
77- bfd/configure.ac | 18 +++---------------
88- opcodes/Makefile.am | 17 +++++++++++++----
99- opcodes/configure.ac | 45 ++++++---------------------------------------
1010- 3 files changed, 22 insertions(+), 58 deletions(-)
1111-1212-diff --git a/bfd/configure.ac b/bfd/configure.ac
1313-index 9a183c1628..8728837384 100644
1414---- a/bfd/configure.ac
1515-+++ b/bfd/configure.ac
1616-@@ -241,31 +241,19 @@ AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed,
1717-1818- LT_LIB_M
1919-2020--# When building a shared libbfd, link against the pic version of libiberty
2121--# so that apps that use libbfd won't need libiberty just to satisfy any
2222--# libbfd references.
2323--# We can't do that if a pic libiberty is unavailable since including non-pic
2424--# code would insert text relocations into libbfd.
2525- SHARED_LIBADD=
2626--SHARED_LDFLAGS=
2727-+SHARED_LDFLAGS=-liberty
2828- if test "$enable_shared" = "yes"; then
2929--changequote(,)dnl
3030-- x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
3131--changequote([,])dnl
3232-- if test -n "$x"; then
3333-- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
3434-- fi
3535--
3636- # More hacks to build DLLs on Windows.
3737- case "${host}" in
3838- *-*-cygwin*)
3939- SHARED_LDFLAGS="-no-undefined"
4040-- SHARED_LIBADD="-L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin -lkernel32"
4141-+ SHARED_LIBADD="-liberty -lintl -lcygwin -lkernel32"
4242- ;;
4343-4444- # Hack to build or1k-src on OSX
4545- or1k*-*-darwin*)
4646-- SHARED_LIBADD="-L`pwd`/../libiberty/pic -L`pwd`/../intl -liberty -lintl"
4747-+ SHARED_LIBADD="-liberty -lintl"
4848- ;;
4949- esac
5050-5151-diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am
5252-index 925e7ff651..47b395c195 100644
5353---- a/opcodes/Makefile.am
5454-+++ b/opcodes/Makefile.am
5555-@@ -52,7 +52,7 @@ libopcodes_la_LDFLAGS += -rpath $(rpath_bfdlibdir)
5656- endif
5757-5858- # This is where bfd.h lives.
5959--BFD_H = ../bfd/bfd.h
6060-+BFD_H = $(BFDDIR)/bfd.h
6161-6262- BUILD_LIBS = @BUILD_LIBS@
6363- BUILD_LIB_DEPS = @BUILD_LIB_DEPS@
6464-@@ -303,7 +303,7 @@ OFILES = @BFD_MACHINES@
6565- # development.sh is used to determine -Werror default.
6666- CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh
6767-6868--AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ @INCINTL@
6969-+AM_CPPFLAGS = -I. -I$(srcdir) -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ @INCINTL@
7070-7171- disassemble.lo: disassemble.c
7272- if am__fastdepCC
7373-@@ -324,12 +324,21 @@ libopcodes_la_SOURCES = dis-buf.c disassemble.c dis-init.c
7474- # old version of libbfd, or to pick up libbfd for the wrong architecture
7575- # if host != build. So for building with shared libraries we use a
7676- # hardcoded path to libbfd.so instead of relying on the entries in libbfd.la.
7777--libopcodes_la_DEPENDENCIES = $(OFILES) @SHARED_DEPENDENCIES@
7878-+libopcodes_la_DEPENDENCIES = $(OFILES) @SHARED_DEPENDENCIES@ libtool-soversion
7979- libopcodes_la_LIBADD = $(OFILES) @SHARED_LIBADD@
8080--libopcodes_la_LDFLAGS += -release `cat ../bfd/libtool-soversion` @SHARED_LDFLAGS@
8181-+libopcodes_la_LDFLAGS += -release `cat libtool-soversion` @SHARED_LDFLAGS@
8282- # Allow dependency tracking to work on all the source files.
8383- EXTRA_libopcodes_la_SOURCES = $(LIBOPCODES_CFILES)
8484-8585-+libtool-soversion:
8686-+ @echo "creating $@"
8787-+ bfd_soversion="$(VERSION)" ;\
8888-+ . $(BFDDIR)/development.sh ;\
8989-+ if test "$$development" = true ; then \
9090-+ bfd_soversion="$(VERSION).$${bfd_version_date}" ;\
9191-+ fi ;\
9292-+ echo "$${bfd_soversion}" > $@
9393-+
9494- # libtool will build .libs/libopcodes.a. We create libopcodes.a in
9595- # the build directory so that we don't have to convert all the
9696- # programs that use libopcodes.a simultaneously. This is a hack which
9797-diff --git a/opcodes/configure.ac b/opcodes/configure.ac
9898-index b9f5eb8a4f..ef2c2152b7 100644
9999---- a/opcodes/configure.ac
100100-+++ b/opcodes/configure.ac
101101-@@ -89,6 +89,7 @@ AC_PROG_INSTALL
102102-103103- AC_CHECK_HEADERS(string.h strings.h stdlib.h limits.h)
104104- ACX_HEADER_STRING
105105-+GCC_HEADER_STDINT(bfd_stdint.h)
106106-107107- AC_CHECK_DECLS([basename, stpcpy])
108108-109109-@@ -134,61 +135,27 @@ AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed,
110110-111111- LT_LIB_M
112112-113113--#Libs for generator progs
114114--if test "x$cross_compiling" = "xno"; then
115115-- BUILD_LIBS=../libiberty/libiberty.a
116116-- BUILD_LIB_DEPS=$BUILD_LIBS
117117--else
118118-- # if cross-compiling, assume that the system provides -liberty
119119-- # and that the version is compatible with new headers.
120120-- BUILD_LIBS=-liberty
121121-- BUILD_LIB_DEPS=
122122--fi
123123--BUILD_LIBS="$BUILD_LIBS $LIBINTL"
124124--BUILD_LIB_DEPS="$BUILD_LIB_DEPS $LIBINTL_DEP"
125125-+BUILD_LIBS="-liberty $LIBINTL"
126126-+BUILD_LIB_DEPS="$LIBINTL_DEP"
127127-128128- AC_SUBST(BUILD_LIBS)
129129- AC_SUBST(BUILD_LIB_DEPS)
130130-131131- # Horrible hacks to build DLLs on Windows and a shared library elsewhere.
132132- SHARED_LDFLAGS=
133133--SHARED_LIBADD=
134134-+SHARED_LIBADD=-liberty
135135- SHARED_DEPENDENCIES=
136136- if test "$enable_shared" = "yes"; then
137137--# When building a shared libopcodes, link against the pic version of libiberty
138138--# so that apps that use libopcodes won't need libiberty just to satisfy any
139139--# libopcodes references.
140140--# We can't do that if a pic libiberty is unavailable since including non-pic
141141--# code would insert text relocations into libopcodes.
142142- # Note that linking against libbfd as we do here, which is itself linked
143143- # against libiberty, may not satisfy all the libopcodes libiberty references
144144- # since libbfd may not pull in the entirety of libiberty.
145145--changequote(,)dnl
146146-- x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
147147--changequote([,])dnl
148148-- if test -n "$x"; then
149149-- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
150150-- fi
151151--
152152- case "${host}" in
153153- *-*-cygwin*)
154154- SHARED_LDFLAGS="-no-undefined"
155155-- SHARED_LIBADD="-L`pwd`/../bfd -lbfd -L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin"
156156-+ SHARED_LIBADD="-lbfd -liberty -lintl -lcygwin"
157157- ;;
158158-- *-*-darwin*)
159159-- SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.dylib ${SHARED_LIBADD}"
160160-- SHARED_DEPENDENCIES="../bfd/libbfd.la"
161161-- ;;
162162- *)
163163-- case "$host_vendor" in
164164-- hp)
165165-- SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.sl ${SHARED_LIBADD}"
166166-- ;;
167167-- *)
168168-- SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.so ${SHARED_LIBADD}"
169169-- ;;
170170-- esac
171171-- SHARED_DEPENDENCIES="../bfd/libbfd.la"
172172-+ SHARED_LIBADD="-lbfd ${SHARED_LIBADD}"
173173- ;;
174174- esac
175175-176176---
177177-2.14.2
178178-
···11-diff --git a/ld/genscripts.sh b/ld/genscripts.sh
22-index b6940d376d..0feb1adfd0 100755
33---- a/ld/genscripts.sh
44-+++ b/ld/genscripts.sh
55-@@ -125,6 +125,9 @@ if test "x$NATIVE" = "xyes" ; then
66- USE_LIBPATH=yes
77- fi
88-99-+# TODO: why is this needed?
1010-+USE_LIBPATH=yes
1111-+
1212- # Set the library search path, for libraries named by -lfoo.
1313- # If LIB_PATH is defined (e.g., by Makefile) and non-empty, it is used.
1414- # Otherwise, the default is set here.
···9999 # elements specified above.
100100 dontPatchELF = true;
101101102102- # Disable stripping to avoid breaking placeholder DLLs/EXEs.
103103- # Symptoms of broken placeholders are: when the wineprefix is created
104104- # drive_c/windows/system32 will only contain a few files instead of
105105- # hundreds, there will be an error about winemenubuilder and MountMgr
106106- # on startup of Wine, and the Drives tab in winecfg will show an error.
107107- # TODO: binutils 2.34 contains a fix for this bug, re-enable stripping once available.
108108- dontStrip = true;
109109-110102 ## FIXME
111103 # Add capability to ignore known failing tests
112104 # and enable doCheck
···5566stdenv.mkDerivation rec {
77 pname = "iproute2";
88- version = "5.9.0";
88+ version = "5.10.0";
991010 src = fetchurl {
1111 url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz";
1212- sha256 = "1kys6dmhrl43iaq95n5sh02p39d7bq8i5y672qrzgwnwpjaaqpd2";
1212+ sha256 = "1sakmhvh40gh4x55vzgy6cyvizqkhqalcfpvs6r0c14w62p38jm5";
1313 };
14141515 preConfigure = ''
1616 # Don't try to create /var/lib/arpd:
1717 sed -e '/ARPDDIR/d' -i Makefile
1818- # TODO: Drop temporary version fix for 5.9 once 5.10 is out:
1919- substituteInPlace include/version.h \
2020- --replace "5.8.0" "${version}"
2118 '';
22192320 outputs = [ "out" "dev" ];
+7
pkgs/os-specific/linux/kernel/manual-config.nix
···113113 sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g'
114114 done
115115 sed -i Makefile -e 's|= depmod|= ${buildPackages.kmod}/bin/depmod|'
116116+117117+ # Don't include a (random) NT_GNU_BUILD_ID, to make the build more deterministic.
118118+ # This way kernels can be bit-by-bit reproducible depending on settings
119119+ # (e.g. MODULE_SIG and SECURITY_LOCKDOWN_LSM need to be disabled).
120120+ # See also https://kernelnewbies.org/BuildId
121121+ sed -i Makefile -e 's|--build-id|--build-id=none|'
122122+116123 sed -i scripts/ld-version.sh -e "s|/usr/bin/awk|${buildPackages.gawk}/bin/awk|"
117124 '';
118125
···1313 }
1414 ;
15151616+ patches = [
1717+ ./gcc10.patch
1818+ ];
1919+1620 # Default makefile is full of impurities on Darwin. The patch doesn't hurt Linux so I'm leaving it unconditional
1721 postPatch = ''
1822 sed -i '/CC=\/usr/d' makefile.macosx_llvm_64bits