···297 </listitem>
298 <listitem>
299 <para>
000000300 Starting with version 1.7.0, the project formerly named <literal>CodiMD</literal>
301 is now named <literal>HedgeDoc</literal>.
302 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.
···297 </listitem>
298 <listitem>
299 <para>
300+ The <literal>wafHook</literal> hook does not wrap Python anymore.
301+ Packages depending on <literal>wafHook</literal> need to include any Python into their <literal>nativeBuildInputs</literal>.
302+ </para>
303+ </listitem>
304+ <listitem>
305+ <para>
306 Starting with version 1.7.0, the project formerly named <literal>CodiMD</literal>
307 is now named <literal>HedgeDoc</literal>.
308 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.
···4}:
56mkDerivation {
7- name = "bomber";
8 meta = with lib; {
9 homepage = "https://kde.org/applications/en/games/org.kde.bomber";
10 description = "A single player arcade game";
···4}:
56mkDerivation {
7+ pname = "bomber";
8 meta = with lib; {
9 homepage = "https://kde.org/applications/en/games/org.kde.bomber";
10 description = "A single player arcade game";
+1-1
pkgs/applications/kde/bovo.nix
···4}:
56mkDerivation {
7- name = "bovo";
8 meta = with lib; {
9 homepage = "https://kde.org/applications/en/games/org.kde.bovo";
10 description = "Five in a row application";
···4}:
56mkDerivation {
7+ pname = "bovo";
8 meta = with lib; {
9 homepage = "https://kde.org/applications/en/games/org.kde.bovo";
10 description = "Five in a row application";
···8}:
910mkDerivation {
11- name = "dragon";
12 meta = {
13 license = with lib.licenses; [ gpl2 fdl12 ];
14 description = "A simple media player for KDE";
···8}:
910mkDerivation {
11+ pname = "dragon";
12 meta = {
13 license = with lib.licenses; [ gpl2 fdl12 ];
14 description = "A simple media player for KDE";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, openbabel, avogadro, qtscript, kparts, kplotting, kunitconversion }:
23mkDerivation {
4- name = "kalzium";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/utilities/org.kde.kalzium";
7 description = "Program that shows you the Periodic Table of Elements";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, openbabel, avogadro, qtscript, kparts, kplotting, kunitconversion }:
23mkDerivation {
4+ pname = "kalzium";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/utilities/org.kde.kalzium";
7 description = "Program that shows you the Periodic Table of Elements";
+1-1
pkgs/applications/kde/kapman.nix
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }:
23mkDerivation {
4- name = "kapman";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.kapman";
7 description = "Clone of the well known game Pac-Man";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }:
23mkDerivation {
4+ pname = "kapman";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.kapman";
7 description = "Clone of the well known game Pac-Man";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, knewstuff }:
23mkDerivation {
4- name = "katomic";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.katomic";
7 description = "Fun educational game built around molecular geometry";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, knewstuff }:
23mkDerivation {
4+ pname = "katomic";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.katomic";
7 description = "Fun educational game built around molecular geometry";
+1-1
pkgs/applications/kde/kblackbox.nix
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }:
23mkDerivation {
4- name = "kblackbox";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.kblackbox";
7 description = "Game of hide and seek played on a grid of boxes";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }:
23mkDerivation {
4+ pname = "kblackbox";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.kblackbox";
7 description = "Game of hide and seek played on a grid of boxes";
···1{ mkDerivation, lib, extra-cmake-modules, libkdegames, kconfig, kcrash, kio, ki18n }:
23mkDerivation {
4- name = "kbounce";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.kbounce";
7 description = "Single player arcade game with the elements of puzzle";
···1{ mkDerivation, lib, extra-cmake-modules, libkdegames, kconfig, kcrash, kio, ki18n }:
23mkDerivation {
4+ pname = "kbounce";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.kbounce";
7 description = "Single player arcade game with the elements of puzzle";
···6}:
78mkDerivation {
9- name = "kig";
10 meta = {
11 license = with lib.licenses; [ gpl2 ];
12 maintainers = with lib.maintainers; [ raskin ];
···6}:
78mkDerivation {
9+ pname = "kig";
10 meta = {
11 license = with lib.licenses; [ gpl2 ];
12 maintainers = with lib.maintainers; [ raskin ];
+1-1
pkgs/applications/kde/kigo.nix
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, knewstuff }:
23mkDerivation {
4- name = "kigo";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.kigo";
7 description = "An open-source implementation of the popular Go game";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, knewstuff }:
23mkDerivation {
4+ pname = "kigo";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.kigo";
7 description = "An open-source implementation of the popular Go game";
+1-1
pkgs/applications/kde/killbots.nix
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }:
23mkDerivation {
4- name = "killbots";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.killbots";
7 description = "A game where you avoid robots";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }:
23mkDerivation {
4+ pname = "killbots";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.killbots";
7 description = "A game where you avoid robots";
+1-1
pkgs/applications/kde/kimap.nix
···5}:
67mkDerivation {
8- name = "kimap";
9 meta = {
10 license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
11 maintainers = kdepimTeam;
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, phonon, knewstuff }:
23mkDerivation {
4- name = "klettres";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/utilities/org.kde.klettres";
7 description = "An application specially designed to help the user to learn an alphabet";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, phonon, knewstuff }:
23mkDerivation {
4+ pname = "klettres";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/utilities/org.kde.klettres";
7 description = "An application specially designed to help the user to learn an alphabet";
+1-1
pkgs/applications/kde/klines.nix
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }:
23mkDerivation {
4- name = "klines";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.klines";
7 description = "A simple but highly addictive one player game";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }:
23mkDerivation {
4+ pname = "klines";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.klines";
7 description = "A simple but highly addictive one player game";
+1-1
pkgs/applications/kde/kmag.nix
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio }:
23mkDerivation {
4- name = "kmag";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/utilities/org.kde.kmag";
7 description = "A small Linux utility to magnify a part of the screen";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio }:
23mkDerivation {
4+ pname = "kmag";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/utilities/org.kde.kmag";
7 description = "A small Linux utility to magnify a part of the screen";
···1{ mkDerivation, lib, extra-cmake-modules, libkdegames, kdeclarative }:
23mkDerivation {
4- name = "kreversi";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.kreversi";
7 description = "A simple one player strategy game played against the computer";
···1{ mkDerivation, lib, extra-cmake-modules, libkdegames, kdeclarative }:
23mkDerivation {
4+ pname = "kreversi";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.kreversi";
7 description = "A simple one player strategy game played against the computer";
+1-1
pkgs/applications/kde/krfb.nix
···5}:
67mkDerivation {
8- name = "krfb";
9 meta = {
10 license = with lib.licenses; [ gpl2 fdl12 ];
11 maintainers = with lib.maintainers; [ jerith666 ];
···5}:
67mkDerivation {
8+ pname = "krfb";
9 meta = {
10 license = with lib.licenses; [ gpl2 fdl12 ];
11 maintainers = with lib.maintainers; [ jerith666 ];
+1-1
pkgs/applications/kde/kruler.nix
···5}:
67mkDerivation {
8- name = "kruler";
9 meta = {
10 license = with lib.licenses; [ gpl2 ];
11 maintainers = [ lib.maintainers.vandenoever ];
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, libkmahjongg }:
23mkDerivation {
4- name = "kshisen";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.kshisen";
7 description = "A solitaire-like game played using the standard set of Mahjong tiles";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, libkmahjongg }:
23mkDerivation {
4+ pname = "kshisen";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.kshisen";
7 description = "A solitaire-like game played using the standard set of Mahjong tiles";
+1-1
pkgs/applications/kde/ksmtp/default.nix
···5}:
67mkDerivation {
8- name = "ksmtp";
9 meta = {
10 license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
11 maintainers = kdepimTeam;
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, libkdegames, kconfig, kcrash, kxmlgui }:
23mkDerivation {
4- name = "ksquares";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.ksquares";
7 description = "A game of Dots and Boxes";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, libkdegames, kconfig, kcrash, kxmlgui }:
23mkDerivation {
4+ pname = "ksquares";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/games/org.kde.ksquares";
7 description = "A game of Dots and Boxes";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kconfig, kcrash, kiconthemes, knotifyconfig }:
23mkDerivation {
4- name = "kteatime";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/utilities/org.kde.kteatime";
7 description = "A handy timer for steeping tea";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kconfig, kcrash, kiconthemes, knotifyconfig }:
23mkDerivation {
4+ pname = "kteatime";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/utilities/org.kde.kteatime";
7 description = "A handy timer for steeping tea";
+1-1
pkgs/applications/kde/ktimer.nix
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio }:
23mkDerivation {
4- name = "ktimer";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/utilities/org.kde.ktimer";
7 description = "A little tool to execute programs after some time";
···1{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio }:
23mkDerivation {
4+ pname = "ktimer";
5 meta = with lib; {
6 homepage = "https://kde.org/applications/en/utilities/org.kde.ktimer";
7 description = "A little tool to execute programs after some time";
+1-1
pkgs/applications/kde/ktnef.nix
···5}:
67mkDerivation {
8- name = "ktnef";
9 meta = {
10 license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
11 maintainers = kdepimTeam;
···4}:
56mkDerivation {
7- name = "picmi";
8 meta = with lib; {
9 description = "Nonogram game";
10 longDescription = ''The goal is to reveal the hidden pattern in the board by coloring or
···4}:
56mkDerivation {
7+ pname = "picmi";
8 meta = with lib; {
9 description = "Nonogram game";
10 longDescription = ''The goal is to reveal the hidden pattern in the board by coloring or
+1-1
pkgs/applications/kde/pim-data-exporter.nix
···8}:
910mkDerivation {
11- name = "pim-data-exporter";
12 meta = {
13 license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
14 maintainers = kdepimTeam;
···94 postInstall = ''
95 for prog in "$dev/bin/"*; do
96 # We can't use --suffix here due to quoting so we craft the export command by hand
97- 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")'
98 done
99 '';
100
···94 postInstall = ''
95 for prog in "$dev/bin/"*; do
96 # We can't use --suffix here due to quoting so we craft the export command by hand
97+ 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")'
98 done
99 '';
100
+2
pkgs/development/libraries/gtk/3.x.nix
···43, cups ? null
44, AppKit
45, Cocoa
046}:
4748assert cupsSupport -> cups != null;
···87 "-Dgtk_doc=${boolToString withGtkDoc}"
88 "-Dtests=false"
89 "-Dtracker3=${boolToString trackerSupport}"
090 ];
9192 # These are the defines that'd you'd get with --enable-debug=minimum (default).
···43, cups ? null
44, AppKit
45, Cocoa
46+, broadwaySupport ? true
47}:
4849assert cupsSupport -> cups != null;
···88 "-Dgtk_doc=${boolToString withGtkDoc}"
89 "-Dtests=false"
90 "-Dtracker3=${boolToString trackerSupport}"
91+ "-Dbroadway_backend=${boolToString broadwaySupport}"
92 ];
9394 # These are the defines that'd you'd get with --enable-debug=minimum (default).
···34 # aarch64
35 configurePlatforms = [ "host" "build" ];
360000037 # Make sure libraries are correct for .pc and .la files
38 # Also make sure includes are fixed for callers who don't use libgpgcrypt-config
39 postFixup = ''
···34 # aarch64
35 configurePlatforms = [ "host" "build" ];
3637+ postConfigure = ''
38+ sed -i configure \
39+ -e 's/NOEXECSTACK_FLAGS=$/NOEXECSTACK_FLAGS="-Wa,--noexecstack"/'
40+ '';
41+42 # Make sure libraries are correct for .pc and .la files
43 # Also make sure includes are fixed for callers who don't use libgpgcrypt-config
44 postFixup = ''
···1819 # Fix for #40213, probably permanent, because upstream doesn't seem to be
20 # developed anymore. Alternatively, gcc7Stdenv could be used.
21- NIX_CFLAGS_COMPILE = "-Wno-error=array-bounds";
2223 meta = with stdenv.lib; {
24 homepage = "https://sourceforge.net/projects/omxil/";
···1819 # Fix for #40213, probably permanent, because upstream doesn't seem to be
20 # developed anymore. Alternatively, gcc7Stdenv could be used.
21+ NIX_CFLAGS_COMPILE = "-Wno-error=array-bounds -Wno-error=stringop-overflow=8";
2223 meta = with stdenv.lib; {
24 homepage = "https://sourceforge.net/projects/omxil/";
+1-1
pkgs/development/libraries/libopcodes/default.nix
···10 outputs = [ "out" "dev" ];
1112 patches = binutils-unwrapped.patches ++ [
13- (binutils-unwrapped.patchesDir + "/build-components-separately.patch")
14 ];
1516 # We just want to build libopcodes
···10 outputs = [ "out" "dev" ];
1112 patches = binutils-unwrapped.patches ++ [
13+ ../../tools/misc/binutils/build-components-separately.patch
14 ];
1516 # We just want to build libopcodes
···2, intltool, spidermonkey_78, gobject-introspection, libxslt, docbook_xsl, dbus
3, docbook_xml_dtd_412, gtk-doc, coreutils
4, useSystemd ? (stdenv.isLinux && !stdenv.hostPlatform.isMusl), systemd, elogind
5-, withIntrospection ? true
06# A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault).
7# Not yet investigated; it may be due to the "Make netgroup support optional"
8# patch not updating the tests correctly yet, or doing something wrong,
···2, intltool, spidermonkey_78, gobject-introspection, libxslt, docbook_xsl, dbus
3, docbook_xml_dtd_412, gtk-doc, coreutils
4, useSystemd ? (stdenv.isLinux && !stdenv.hostPlatform.isMusl), systemd, elogind
5+# needed until gobject-introspection does cross-compile (https://github.com/NixOS/nixpkgs/pull/88222)
6+, withIntrospection ? (stdenv.buildPlatform == stdenv.hostPlatform)
7# A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault).
8# Not yet investigated; it may be due to the "Make netgroup support optional"
9# patch not updating the tests correctly yet, or doing something wrong,
···1+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/ \
2+ -A '*.tar.xz' )
+4
pkgs/development/libraries/range-v3/default.nix
···11 sha256 = "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh";
12 };
13000014 nativeBuildInputs = [ cmake ];
1516 # Building the tests currently fails on AArch64 due to internal compiler
···11 sha256 = "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh";
12 };
1314+ patches = [
15+ ./gcc10.patch
16+ ];
17+18 nativeBuildInputs = [ cmake ];
1920 # Building the tests currently fails on AArch64 due to internal compiler
···1+{ stdenv, fetchurl, m4, perl }:
2+3+stdenv.mkDerivation rec {
4+ name = "autoconf-2.69";
5+6+ src = fetchurl {
7+ url = "mirror://gnu/autoconf/${name}.tar.xz";
8+ sha256 = "113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4";
9+ };
10+11+ nativeBuildInputs = [ m4 perl ];
12+ buildInputs = [ m4 ];
13+14+ # Work around a known issue in Cygwin. See
15+ # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
16+ # details.
17+ # There are many test failures on `i386-pc-solaris2.11'.
18+ #doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS));
19+ doCheck = false;
20+21+ # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the
22+ # "fixed" path in generated files!
23+ dontPatchShebangs = true;
24+25+ enableParallelBuilding = true;
26+27+ # Make the Autotest test suite run in parallel.
28+ preCheck =''
29+ export TESTSUITEFLAGS="-j$NIX_BUILD_CORES"
30+ '';
31+32+ doInstallCheck = false; # fails
33+34+ meta = {
35+ homepage = "https://www.gnu.org/software/autoconf/";
36+ description = "Part of the GNU Build System";
37+38+ longDescription = ''
39+ GNU Autoconf is an extensible package of M4 macros that produce
40+ shell scripts to automatically configure software source code
41+ packages. These scripts can adapt the packages to many kinds of
42+ UNIX-like systems without manual user intervention. Autoconf
43+ creates a configuration script for a package from a template
44+ file that lists the operating system features that the package
45+ can use, in the form of M4 macro calls.
46+ '';
47+48+ license = stdenv.lib.licenses.gpl2Plus;
49+50+ platforms = stdenv.lib.platforms.all;
51+ };
52+}
+3-6
pkgs/development/tools/misc/autoconf/default.nix
···6# files.
78stdenv.mkDerivation rec {
9- name = "autoconf-2.69";
1011 src = fetchurl {
12 url = "mirror://gnu/autoconf/${name}.tar.xz";
13- sha256 = "113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4";
14 };
1516 nativeBuildInputs = [ m4 perl ];
···20 # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
21 # details.
22 # There are many test failures on `i386-pc-solaris2.11'.
23- #doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS));
24- doCheck = false;
2526 # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the
27 # "fixed" path in generated files!
···33 preCheck =''
34 export TESTSUITEFLAGS="-j$NIX_BUILD_CORES"
35 '';
36-37- doInstallCheck = false; # fails
3839 meta = {
40 homepage = "https://www.gnu.org/software/autoconf/";
···6# files.
78stdenv.mkDerivation rec {
9+ name = "autoconf-2.70";
1011 src = fetchurl {
12 url = "mirror://gnu/autoconf/${name}.tar.xz";
13+ sha256 = "1ipckz0wr2mvhj9n3ys54fmf2aksin6bhqvzl304bn6rc1w257ps";
14 };
1516 nativeBuildInputs = [ m4 perl ];
···20 # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
21 # details.
22 # There are many test failures on `i386-pc-solaris2.11'.
23+ doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS));
02425 # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the
26 # "fixed" path in generated files!
···32 preCheck =''
33 export TESTSUITEFLAGS="-j$NIX_BUILD_CORES"
34 '';
003536 meta = {
37 homepage = "https://www.gnu.org/software/autoconf/";
+22-57
pkgs/development/tools/misc/binutils/default.nix
···19let
20 reuseLibs = enableShared && withAllTargets;
2122- # Remove gold-symbol-visibility patch when updating, the proper fix
23- # is now upstream.
24- # https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=330b90b5ffbbc20c5de6ae6c7f60c40fab2e7a4f;hp=99181ccac0fc7d82e7dabb05dc7466e91f1645d3
25- version = "${minorVersion}${patchVersion}";
26- minorVersion = if stdenv.targetPlatform.isOr1k then "2.34" else "2.31";
27- patchVersion = if stdenv.targetPlatform.isOr1k then "" else ".1";
28-29 basename = "binutils";
30 # The targetPrefix prepended to binary names to allow multiple binuntils on the
31 # PATH to both be usable.
···37 rev = "708acc851880dbeda1dd18aca4fd0a95b2573b36";
38 sha256 = "1kdrz6fki55lm15rwwamn74fnqpy0zlafsida2zymk76n3656c63";
39 };
40-41- # binutils sources not part of the bootstrap.
42- non-boot-src = (fetchurl {
43 url = "mirror://gnu/binutils/${basename}-${version}.tar.bz2";
44- sha256 = {
45- "2.31.1" = "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z";
46- "2.34" = "1rin1f5c7wm4n3piky6xilcrpf2s0n3dd5vqq8irrxkcic3i1w49";
47- }.${version};
48 });
49-50- # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM
51- normal-src = stdenv.__bootPackages.binutils-unwrapped.src or non-boot-src;
52-53- # Platforms where we directly use the final source.
54- # Generally for cross-compiled platforms, where the boot source won't compile.
55- skipBootSrc = stdenv.targetPlatform.isOr1k;
56-57- # Select the specific source according to the platform in use.
58- src = if stdenv.targetPlatform.isVc4 then vc4-binutils-src
59- else if skipBootSrc then non-boot-src
60- else normal-src;
61-62- patchesDir = ./patches + "/${minorVersion}";
63in
6465stdenv.mkDerivation {
66 pname = targetPrefix + basename;
67- inherit src version;
006869 patches = [
70 # Make binutils output deterministic by default.
71- "${patchesDir}/deterministic.patch"
7273 # Bfd looks in BINDIR/../lib for some plugins that don't
74 # exist. This is pointless (since users can't install plugins
75 # there) and causes a cycle between the lib and bin outputs, so
76 # get rid of it.
77- "${patchesDir}/no-plugins.patch"
7879 # Help bfd choose between elf32-littlearm, elf32-littlearm-symbian, and
80 # elf32-littlearm-vxworks in favor of the first.
81 # https://github.com/NixOS/nixpkgs/pull/30484#issuecomment-345472766
82- "${patchesDir}/disambiguate-arm-targets.patch"
8384 # For some reason bfd ld doesn't search DT_RPATH when cross-compiling. It's
85 # not clear why this behavior was decided upon but it has the unfortunate
···87 # shared objects when cross-compiling. Consequently, we are forced to
88 # override this behavior, forcing ld to search DT_RPATH even when
89 # cross-compiling.
90- "${patchesDir}/always-search-rpath.patch"
91- ]
92- # For version 2.31 exclusively
93- ++ lib.optionals (!stdenv.targetPlatform.isVc4 && minorVersion == "2.31") [
94- # https://sourceware.org/bugzilla/show_bug.cgi?id=22868
95- ./patches/2.31/gold-symbol-visibility.patch
9697- # https://sourceware.org/bugzilla/show_bug.cgi?id=23428
98- # un-break features so linking against musl doesn't produce crash-only binaries
99- ./patches/2.31/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch
100- ./patches/2.31/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch
101- ./patches/2.31/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch
102- ]
103- ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch
104- ++ # This patch was suggested by Nick Clifton to fix
105- # https://sourceware.org/bugzilla/show_bug.cgi?id=16177
106- # It can be removed when that 7-year-old bug is closed.
107- # This binutils bug causes GHC to emit broken binaries on armv7, and
108- # indeed GHC will refuse to compile with a binutils suffering from it. See
109- # this comment for more information:
110- # https://gitlab.haskell.org/ghc/ghc/issues/4210#note_78333
111- lib.optional stdenv.targetPlatform.isAarch32 ./R_ARM_COPY.patch
112- ;
113114 outputs = [ "out" "info" "man" ];
115116 depsBuildBuild = [ buildPackages.stdenv.cc ];
117 nativeBuildInputs = [
118 bison
119- ] ++ lib.optionals (lib.versionAtLeast version "2.34") [
120 perl
121 texinfo
122 ] ++ (lib.optionals stdenv.targetPlatform.isiOS [
123 autoreconfHook
124- ]) ++ lib.optionals stdenv.targetPlatform.isVc4 [ texinfo flex ];
125 buildInputs = [ zlib gettext ];
126127 inherit noSysDirs;
···182 enableParallelBuilding = true;
183184 passthru = {
185- inherit targetPrefix patchesDir;
186 };
187188 meta = with lib; {
···19let
20 reuseLibs = enableShared && withAllTargets;
2122+ version = "2.34";
00000023 basename = "binutils";
24 # The targetPrefix prepended to binary names to allow multiple binuntils on the
25 # PATH to both be usable.
···31 rev = "708acc851880dbeda1dd18aca4fd0a95b2573b36";
32 sha256 = "1kdrz6fki55lm15rwwamn74fnqpy0zlafsida2zymk76n3656c63";
33 };
34+ # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM
35+ normal-src = stdenv.__bootPackages.binutils-unwrapped.src or (fetchurl {
036 url = "mirror://gnu/binutils/${basename}-${version}.tar.bz2";
37+ sha256 = "1rin1f5c7wm4n3piky6xilcrpf2s0n3dd5vqq8irrxkcic3i1w49";
00038 });
0000000000000039in
4041stdenv.mkDerivation {
42 pname = targetPrefix + basename;
43+ inherit version;
44+45+ src = if stdenv.targetPlatform.isVc4 then vc4-binutils-src else normal-src;
4647 patches = [
48 # Make binutils output deterministic by default.
49+ ./deterministic.patch
5051 # Bfd looks in BINDIR/../lib for some plugins that don't
52 # exist. This is pointless (since users can't install plugins
53 # there) and causes a cycle between the lib and bin outputs, so
54 # get rid of it.
55+ ./no-plugins.patch
5657 # Help bfd choose between elf32-littlearm, elf32-littlearm-symbian, and
58 # elf32-littlearm-vxworks in favor of the first.
59 # https://github.com/NixOS/nixpkgs/pull/30484#issuecomment-345472766
60+ ./disambiguate-arm-targets.patch
6162 # For some reason bfd ld doesn't search DT_RPATH when cross-compiling. It's
63 # not clear why this behavior was decided upon but it has the unfortunate
···65 # shared objects when cross-compiling. Consequently, we are forced to
66 # override this behavior, forcing ld to search DT_RPATH even when
67 # cross-compiling.
68+ ./always-search-rpath.patch
000006970+ ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch
71+ ++ # This patch was suggested by Nick Clifton to fix
72+ # https://sourceware.org/bugzilla/show_bug.cgi?id=16177
73+ # It can be removed when that 7-year-old bug is closed.
74+ # This binutils bug causes GHC to emit broken binaries on armv7, and
75+ # indeed GHC will refuse to compile with a binutils suffering from it. See
76+ # this comment for more information:
77+ # https://gitlab.haskell.org/ghc/ghc/issues/4210#note_78333
78+ lib.optional stdenv.targetPlatform.isAarch32 ./R_ARM_COPY.patch;
00000007980 outputs = [ "out" "info" "man" ];
8182 depsBuildBuild = [ buildPackages.stdenv.cc ];
83 nativeBuildInputs = [
84 bison
085 perl
86 texinfo
87 ] ++ (lib.optionals stdenv.targetPlatform.isiOS [
88 autoreconfHook
89+ ]) ++ lib.optionals stdenv.targetPlatform.isVc4 [ flex ];
90 buildInputs = [ zlib gettext ];
9192 inherit noSysDirs;
···147 enableParallelBuilding = true;
148149 passthru = {
150+ inherit targetPrefix;
151 };
152153 meta = with lib; {
···1-From bc09a9236f67e710d545ac11bcdac7b55dbcc1a0 Mon Sep 17 00:00:00 2001
2-From: John Ericson <John.Ericson@Obsidian.Systems>
3-Date: Thu, 12 Oct 2017 11:16:57 -0400
4-Subject: [PATCH] Build components separately
5-6----
7- bfd/configure.ac | 18 +++---------------
8- opcodes/Makefile.am | 17 +++++++++++++----
9- opcodes/configure.ac | 45 ++++++---------------------------------------
10- 3 files changed, 22 insertions(+), 58 deletions(-)
11-12-diff --git a/bfd/configure.ac b/bfd/configure.ac
13-index 9a183c1628..8728837384 100644
14---- a/bfd/configure.ac
15-+++ b/bfd/configure.ac
16-@@ -241,31 +241,19 @@ AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed,
17-18- LT_LIB_M
19-20--# When building a shared libbfd, link against the pic version of libiberty
21--# so that apps that use libbfd won't need libiberty just to satisfy any
22--# libbfd references.
23--# We can't do that if a pic libiberty is unavailable since including non-pic
24--# code would insert text relocations into libbfd.
25- SHARED_LIBADD=
26--SHARED_LDFLAGS=
27-+SHARED_LDFLAGS=-liberty
28- if test "$enable_shared" = "yes"; then
29--changequote(,)dnl
30-- x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
31--changequote([,])dnl
32-- if test -n "$x"; then
33-- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
34-- fi
35--
36- # More hacks to build DLLs on Windows.
37- case "${host}" in
38- *-*-cygwin*)
39- SHARED_LDFLAGS="-no-undefined"
40-- SHARED_LIBADD="-L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin -lkernel32"
41-+ SHARED_LIBADD="-liberty -lintl -lcygwin -lkernel32"
42- ;;
43-44- # Hack to build or1k-src on OSX
45- or1k*-*-darwin*)
46-- SHARED_LIBADD="-L`pwd`/../libiberty/pic -L`pwd`/../intl -liberty -lintl"
47-+ SHARED_LIBADD="-liberty -lintl"
48- ;;
49- esac
50-51-diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am
52-index 925e7ff651..47b395c195 100644
53---- a/opcodes/Makefile.am
54-+++ b/opcodes/Makefile.am
55-@@ -52,7 +52,7 @@ libopcodes_la_LDFLAGS += -rpath $(rpath_bfdlibdir)
56- endif
57-58- # This is where bfd.h lives.
59--BFD_H = ../bfd/bfd.h
60-+BFD_H = $(BFDDIR)/bfd.h
61-62- BUILD_LIBS = @BUILD_LIBS@
63- BUILD_LIB_DEPS = @BUILD_LIB_DEPS@
64-@@ -303,7 +303,7 @@ OFILES = @BFD_MACHINES@
65- # development.sh is used to determine -Werror default.
66- CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh
67-68--AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ @INCINTL@
69-+AM_CPPFLAGS = -I. -I$(srcdir) -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ @INCINTL@
70-71- disassemble.lo: disassemble.c
72- if am__fastdepCC
73-@@ -324,12 +324,21 @@ libopcodes_la_SOURCES = dis-buf.c disassemble.c dis-init.c
74- # old version of libbfd, or to pick up libbfd for the wrong architecture
75- # if host != build. So for building with shared libraries we use a
76- # hardcoded path to libbfd.so instead of relying on the entries in libbfd.la.
77--libopcodes_la_DEPENDENCIES = $(OFILES) @SHARED_DEPENDENCIES@
78-+libopcodes_la_DEPENDENCIES = $(OFILES) @SHARED_DEPENDENCIES@ libtool-soversion
79- libopcodes_la_LIBADD = $(OFILES) @SHARED_LIBADD@
80--libopcodes_la_LDFLAGS += -release `cat ../bfd/libtool-soversion` @SHARED_LDFLAGS@
81-+libopcodes_la_LDFLAGS += -release `cat libtool-soversion` @SHARED_LDFLAGS@
82- # Allow dependency tracking to work on all the source files.
83- EXTRA_libopcodes_la_SOURCES = $(LIBOPCODES_CFILES)
84-85-+libtool-soversion:
86-+ @echo "creating $@"
87-+ bfd_soversion="$(VERSION)" ;\
88-+ . $(BFDDIR)/development.sh ;\
89-+ if test "$$development" = true ; then \
90-+ bfd_soversion="$(VERSION).$${bfd_version_date}" ;\
91-+ fi ;\
92-+ echo "$${bfd_soversion}" > $@
93-+
94- # libtool will build .libs/libopcodes.a. We create libopcodes.a in
95- # the build directory so that we don't have to convert all the
96- # programs that use libopcodes.a simultaneously. This is a hack which
97-diff --git a/opcodes/configure.ac b/opcodes/configure.ac
98-index b9f5eb8a4f..ef2c2152b7 100644
99---- a/opcodes/configure.ac
100-+++ b/opcodes/configure.ac
101-@@ -89,6 +89,7 @@ AC_PROG_INSTALL
102-103- AC_CHECK_HEADERS(string.h strings.h stdlib.h limits.h)
104- ACX_HEADER_STRING
105-+GCC_HEADER_STDINT(bfd_stdint.h)
106-107- AC_CHECK_DECLS([basename, stpcpy])
108-109-@@ -134,61 +135,27 @@ AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed,
110-111- LT_LIB_M
112-113--#Libs for generator progs
114--if test "x$cross_compiling" = "xno"; then
115-- BUILD_LIBS=../libiberty/libiberty.a
116-- BUILD_LIB_DEPS=$BUILD_LIBS
117--else
118-- # if cross-compiling, assume that the system provides -liberty
119-- # and that the version is compatible with new headers.
120-- BUILD_LIBS=-liberty
121-- BUILD_LIB_DEPS=
122--fi
123--BUILD_LIBS="$BUILD_LIBS $LIBINTL"
124--BUILD_LIB_DEPS="$BUILD_LIB_DEPS $LIBINTL_DEP"
125-+BUILD_LIBS="-liberty $LIBINTL"
126-+BUILD_LIB_DEPS="$LIBINTL_DEP"
127-128- AC_SUBST(BUILD_LIBS)
129- AC_SUBST(BUILD_LIB_DEPS)
130-131- # Horrible hacks to build DLLs on Windows and a shared library elsewhere.
132- SHARED_LDFLAGS=
133--SHARED_LIBADD=
134-+SHARED_LIBADD=-liberty
135- SHARED_DEPENDENCIES=
136- if test "$enable_shared" = "yes"; then
137--# When building a shared libopcodes, link against the pic version of libiberty
138--# so that apps that use libopcodes won't need libiberty just to satisfy any
139--# libopcodes references.
140--# We can't do that if a pic libiberty is unavailable since including non-pic
141--# code would insert text relocations into libopcodes.
142- # Note that linking against libbfd as we do here, which is itself linked
143- # against libiberty, may not satisfy all the libopcodes libiberty references
144- # since libbfd may not pull in the entirety of libiberty.
145--changequote(,)dnl
146-- x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
147--changequote([,])dnl
148-- if test -n "$x"; then
149-- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
150-- fi
151--
152- case "${host}" in
153- *-*-cygwin*)
154- SHARED_LDFLAGS="-no-undefined"
155-- SHARED_LIBADD="-L`pwd`/../bfd -lbfd -L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin"
156-+ SHARED_LIBADD="-lbfd -liberty -lintl -lcygwin"
157- ;;
158-- *-*-darwin*)
159-- SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.dylib ${SHARED_LIBADD}"
160-- SHARED_DEPENDENCIES="../bfd/libbfd.la"
161-- ;;
162- *)
163-- case "$host_vendor" in
164-- hp)
165-- SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.sl ${SHARED_LIBADD}"
166-- ;;
167-- *)
168-- SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.so ${SHARED_LIBADD}"
169-- ;;
170-- esac
171-- SHARED_DEPENDENCIES="../bfd/libbfd.la"
172-+ SHARED_LIBADD="-lbfd ${SHARED_LIBADD}"
173- ;;
174- esac
175-176---
177-2.14.2
178-
···1-diff --git a/ld/genscripts.sh b/ld/genscripts.sh
2-index b6940d376d..0feb1adfd0 100755
3---- a/ld/genscripts.sh
4-+++ b/ld/genscripts.sh
5-@@ -125,6 +125,9 @@ if test "x$NATIVE" = "xyes" ; then
6- USE_LIBPATH=yes
7- fi
8-9-+# TODO: why is this needed?
10-+USE_LIBPATH=yes
11-+
12- # Set the library search path, for libraries named by -lfoo.
13- # If LIB_PATH is defined (e.g., by Makefile) and non-empty, it is used.
14- # Otherwise, the default is set here.
···99 # elements specified above.
100 dontPatchELF = true;
101102- # Disable stripping to avoid breaking placeholder DLLs/EXEs.
103- # Symptoms of broken placeholders are: when the wineprefix is created
104- # drive_c/windows/system32 will only contain a few files instead of
105- # hundreds, there will be an error about winemenubuilder and MountMgr
106- # on startup of Wine, and the Drives tab in winecfg will show an error.
107- # TODO: binutils 2.34 contains a fix for this bug, re-enable stripping once available.
108- dontStrip = true;
109-110 ## FIXME
111 # Add capability to ignore known failing tests
112 # and enable doCheck
···99 # elements specified above.
100 dontPatchELF = true;
10100000000102 ## FIXME
103 # Add capability to ignore known failing tests
104 # and enable doCheck
···113 sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g'
114 done
115 sed -i Makefile -e 's|= depmod|= ${buildPackages.kmod}/bin/depmod|'
0000000116 sed -i scripts/ld-version.sh -e "s|/usr/bin/awk|${buildPackages.gawk}/bin/awk|"
117 '';
118
···113 sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g'
114 done
115 sed -i Makefile -e 's|= depmod|= ${buildPackages.kmod}/bin/depmod|'
116+117+ # Don't include a (random) NT_GNU_BUILD_ID, to make the build more deterministic.
118+ # This way kernels can be bit-by-bit reproducible depending on settings
119+ # (e.g. MODULE_SIG and SECURITY_LOCKDOWN_LSM need to be disabled).
120+ # See also https://kernelnewbies.org/BuildId
121+ sed -i Makefile -e 's|--build-id|--build-id=none|'
122+123 sed -i scripts/ld-version.sh -e "s|/usr/bin/awk|${buildPackages.gawk}/bin/awk|"
124 '';
125
···13 }
14 ;
15000016 # Default makefile is full of impurities on Darwin. The patch doesn't hurt Linux so I'm leaving it unconditional
17 postPatch = ''
18 sed -i '/CC=\/usr/d' makefile.macosx_llvm_64bits
···13 }
14 ;
1516+ patches = [
17+ ./gcc10.patch
18+ ];
19+20 # Default makefile is full of impurities on Darwin. The patch doesn't hurt Linux so I'm leaving it unconditional
21 postPatch = ''
22 sed -i '/CC=\/usr/d' makefile.macosx_llvm_64bits