diff options
26 files changed, 146 insertions, 116 deletions
diff --git a/doc/stdenv.xml b/doc/stdenv.xml index dac53bc2b800..a097762130a5 100644 --- a/doc/stdenv.xml +++ b/doc/stdenv.xml @@ -1,4 +1,3 @@ - <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="chap-stdenv"> @@ -188,11 +187,13 @@ genericBuild <varlistentry> <term><varname>NIX_DEBUG</varname></term> - <listitem><para>If set, <literal>stdenv</literal> will print some - debug information during the build. In particular, the - <command>gcc</command> and <command>ld</command> wrapper scripts - will print out the complete command line passed to the wrapped - tools.</para></listitem> + <listitem><para> + A natural number indicating how much information to log. + If set to 1 or higher, <literal>stdenv</literal> will print moderate debug information during the build. + In particular, the <command>gcc</command> and <command>ld</command> wrapper scripts will print out the complete command line passed to the wrapped tools. + If set to 6 or higher, the <literal>stdenv</literal> setup script will be run with <literal>set -x</literal> tracing. + If set to 7 or higher, the <command>gcc</command> and <command>ld</command> wrapper scripts will also be run with <literal>set -x</literal> tracing. + </para></listitem> </varlistentry> </variablelist> diff --git a/pkgs/build-support/cc-wrapper/add-hardening.sh b/pkgs/build-support/cc-wrapper/add-hardening.sh index 34358e04194a..b0e39e455ffc 100644 --- a/pkgs/build-support/cc-wrapper/add-hardening.sh +++ b/pkgs/build-support/cc-wrapper/add-hardening.sh @@ -16,14 +16,14 @@ do hardeningDisableMap[$flag]=1 done -if [[ -n "${NIX_DEBUG:-}" ]]; then +if (( "${NIX_DEBUG:-0}" >= 1 )); then printf 'HARDENING: disabled flags:' >&2 (( "${#hardeningDisableMap[@]}" )) && printf ' %q' "${!hardeningDisableMap[@]}" >&2 echo >&2 fi if [[ -z "${hardeningDisableMap[all]:-}" ]]; then - if [[ -n "${NIX_DEBUG:-}" ]]; then + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo 'HARDENING: Is active (not completely disabled with "all" flag)' >&2; fi for flag in "${hardeningFlags[@]}" @@ -31,40 +31,40 @@ if [[ -z "${hardeningDisableMap[all]:-}" ]]; then if [[ -z "${hardeningDisableMap[$flag]:-}" ]]; then case $flag in fortify) - if [[ -n "${NIX_DEBUG:-}" ]]; then echo HARDENING: enabling fortify >&2; fi + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling fortify >&2; fi hardeningCFlags+=('-O2' '-D_FORTIFY_SOURCE=2') ;; stackprotector) - if [[ -n "${NIX_DEBUG:-}" ]]; then echo HARDENING: enabling stackprotector >&2; fi + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling stackprotector >&2; fi hardeningCFlags+=('-fstack-protector-strong' '--param' 'ssp-buffer-size=4') ;; pie) - if [[ -n "${NIX_DEBUG:-}" ]]; then echo HARDENING: enabling CFlags -fPIE >&2; fi + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling CFlags -fPIE >&2; fi hardeningCFlags+=('-fPIE') if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static ") ]]; then - if [[ -n "${NIX_DEBUG:-}" ]]; then echo HARDENING: enabling LDFlags -pie >&2; fi + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi hardeningCFlags+=('-pie') hardeningLDFlags+=('-pie') fi ;; pic) - if [[ -n "${NIX_DEBUG:-}" ]]; then echo HARDENING: enabling pic >&2; fi + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling pic >&2; fi hardeningCFlags+=('-fPIC') ;; strictoverflow) - if [[ -n "${NIX_DEBUG:-}" ]]; then echo HARDENING: enabling strictoverflow >&2; fi + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling strictoverflow >&2; fi hardeningCFlags+=('-fno-strict-overflow') ;; format) - if [[ -n "${NIX_DEBUG:-}" ]]; then echo HARDENING: enabling format >&2; fi + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling format >&2; fi hardeningCFlags+=('-Wformat' '-Wformat-security' '-Werror=format-security') ;; relro) - if [[ -n "${NIX_DEBUG:-}" ]]; then echo HARDENING: enabling relro >&2; fi + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling relro >&2; fi hardeningLDFlags+=('-z' 'relro') ;; bindnow) - if [[ -n "${NIX_DEBUG:-}" ]]; then echo HARDENING: enabling bindnow >&2; fi + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling bindnow >&2; fi hardeningLDFlags+=('-z' 'now') ;; *) diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh index aacaf196f313..e6f5a5a9f7d8 100644 --- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh @@ -2,6 +2,10 @@ set -eu -o pipefail shopt -s nullglob +if (( "${NIX_DEBUG:-0}" >= 7 )); then + set -x +fi + path_backup="$PATH" # That @-vars are substituted separately from bash evaluation makes @@ -161,7 +165,7 @@ if [ "$*" = -v ]; then fi # Optionally print debug info. -if [ -n "${NIX_DEBUG:-}" ]; then +if (( "${NIX_DEBUG:-0}" >= 1 )); then # Old bash workaround, see ld-wrapper for explanation. echo "extra flags before to @prog@:" >&2 printf " %q\n" ${extraBefore+"${extraBefore[@]}"} >&2 diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 866be9cded9e..489fb02dcb5d 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -5,15 +5,15 @@ # script that sets up the right environment variables so that the # compiler and the linker just "work". -{ name ? "", stdenv, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" -, cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell +{ name ? "", stdenvNoCC, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" +, cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenvNoCC.shell , zlib ? null, extraPackages ? [], extraBuildCommands ? "" , isGNU ? false, isClang ? cc.isClang or false, gnugrep ? null , buildPackages ? {} , useMacosReexportHack ? false }: -with stdenv.lib; +with stdenvNoCC.lib; assert nativeTools -> nativePrefix != ""; assert !nativeTools -> @@ -25,6 +25,7 @@ assert (noLibc || nativeLibc) == (libc == null); assert cc.langVhdl or false -> zlib != null; let + stdenv = stdenvNoCC; inherit (stdenv) hostPlatform targetPlatform; # Prefix for binaries. Customarily ends with a dash separator. diff --git a/pkgs/build-support/cc-wrapper/gnat-wrapper.sh b/pkgs/build-support/cc-wrapper/gnat-wrapper.sh index f0c922a3d5b4..b15f1e461e5f 100644 --- a/pkgs/build-support/cc-wrapper/gnat-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/gnat-wrapper.sh @@ -2,6 +2,10 @@ set -eu -o pipefail shopt -s nullglob +if (( "${NIX_DEBUG:-0}" >= 7 )); then + set -x +fi + # N.B. Gnat is not used during bootstrapping, so we don't need to # worry about the old bash empty array `set -u` workarounds. @@ -109,7 +113,7 @@ fi #fi # Optionally print debug info. -if [ -n "${NIX_DEBUG:-}" ]; then +if (( "${NIX_DEBUG:-0}" >= 1 )); then echo "extra flags before to @prog@:" >&2 printf " %q\n" "${extraBefore[@]}" >&2 echo "original flags to @prog@:" >&2 diff --git a/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh b/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh index 2de748b5f31e..88e644dc54dc 100644 --- a/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh @@ -2,6 +2,10 @@ set -eu -o pipefail shopt -s nullglob +if (( "${NIX_DEBUG:-0}" >= 7 )); then + set -x +fi + # N.B. Gnat is not used during bootstrapping, so we don't need to # worry about the old bash empty array `set -u` workarounds. @@ -24,7 +28,7 @@ extraBefore=() #export NIX_@infixSalt@_LDFLAGS_SET=1 # Optionally print debug info. -if [ -n "${NIX_DEBUG:-}" ]; then +if (( "${NIX_DEBUG:-0}" >= 1 )); then echo "extra flags before to @prog@:" >&2 printf " %q\n" "${extraBefore[@]}" >&2 echo "original flags to @prog@:" >&2 diff --git a/pkgs/build-support/cc-wrapper/ld-solaris-wrapper.sh b/pkgs/build-support/cc-wrapper/ld-solaris-wrapper.sh index 72c999ff8bc8..5d81e34a047f 100755 --- a/pkgs/build-support/cc-wrapper/ld-solaris-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/ld-solaris-wrapper.sh @@ -2,6 +2,10 @@ set -eu -o pipefail shopt -s nullglob +if (( "${NIX_DEBUG:-0}" >= 7 )); then + set -x +fi + declare -a args=("$@") # I've also tried adding -z direct and -z lazyload, but it gave too many problems with C++ exceptions :'( # Also made sure libgcc would not be lazy-loaded, as suggested here: https://www.illumos.org/issues/2534#note-3 diff --git a/pkgs/build-support/cc-wrapper/ld-wrapper.sh b/pkgs/build-support/cc-wrapper/ld-wrapper.sh index a9cc1e3f9e6f..355ea8818981 100644 --- a/pkgs/build-support/cc-wrapper/ld-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/ld-wrapper.sh @@ -2,6 +2,10 @@ set -eu -o pipefail shopt -s nullglob +if (( "${NIX_DEBUG:-0}" >= 7 )); then + set -x +fi + path_backup="$PATH" # phase separation makes this look useless @@ -156,7 +160,7 @@ fi # Optionally print debug info. -if [ -n "${NIX_DEBUG:-}" ]; then +if (( "${NIX_DEBUG:-0}" >= 1 )); then # Old bash workaround, see above. echo "extra flags before to @prog@:" >&2 printf " %q\n" ${extraBefore+"${extraBefore[@]}"} >&2 diff --git a/pkgs/build-support/cc-wrapper/utils.sh b/pkgs/build-support/cc-wrapper/utils.sh index c84a094e26b0..c43c2e12d74a 100644 --- a/pkgs/build-support/cc-wrapper/utils.sh +++ b/pkgs/build-support/cc-wrapper/utils.sh @@ -1,5 +1,5 @@ skip () { - if [ -n "${NIX_DEBUG:-}" ]; then + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo "skipping impure path $1" >&2 fi } diff --git a/pkgs/development/libraries/at-spi2-atk/default.nix b/pkgs/development/libraries/at-spi2-atk/default.nix index 30fe8173e86f..3aef90594a15 100644 --- a/pkgs/development/libraries/at-spi2-atk/default.nix +++ b/pkgs/development/libraries/at-spi2-atk/default.nix @@ -2,14 +2,14 @@ , intltool, dbus_glib, at_spi2_core, libSM }: stdenv.mkDerivation rec { - versionMajor = "2.24"; - versionMinor = "1"; + versionMajor = "2.26"; + versionMinor = "0"; moduleName = "at-spi2-atk"; name = "${moduleName}-${versionMajor}.${versionMinor}"; src = fetchurl { url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; - sha256 = "60dc90ac4f74b8ffe96a9363c25208a443b381bacecfefea6de549f20ed6957d"; + sha256 = "d25e528e1406a10c7d9b675aa15e638bcbf0a122ca3681f655a30cce83272fb9"; }; buildInputs = [ python pkgconfig popt atk libX11 libICE xorg.libXtst libXi diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix index 4d496932f669..bd8588f9771f 100644 --- a/pkgs/development/libraries/at-spi2-core/default.nix +++ b/pkgs/development/libraries/at-spi2-core/default.nix @@ -2,14 +2,14 @@ , libX11, xextproto, libSM, libICE, libXtst, libXi, gobjectIntrospection }: stdenv.mkDerivation rec { - versionMajor = "2.24"; - versionMinor = "1"; + versionMajor = "2.26"; + versionMinor = "0"; moduleName = "at-spi2-core"; name = "${moduleName}-${versionMajor}.${versionMinor}"; src = fetchurl { url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; - sha256 = "1e90d064b937aacfe79a96232ac7e63d28d716e85bd9ff4333f865305a959b5b"; + sha256 = "511568a65fda11fdd5ba5d4adfd48d5d76810d0e6ba4f7460f1b2ec0dbbbc337"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix index cd2ffe556647..1574d8d037c7 100644 --- a/pkgs/development/libraries/atk/default.nix +++ b/pkgs/development/libraries/atk/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, perl, glib, libintlOrEmpty, gobjectIntrospection }: let - ver_maj = "2.22"; + ver_maj = "2.26"; ver_min = "0"; in stdenv.mkDerivation rec { @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/atk/${ver_maj}/${name}.tar.xz"; - sha256 = "d349f5ca4974c9c76a4963e5b254720523b0c78672cbc0e1a3475dbd9b3d44b6"; + sha256 = "eafe49d5c4546cb723ec98053290d7e0b8d85b3fdb123938213acb7bb4178827"; }; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index e76e48ad8fc0..39140eaf5196 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -42,8 +42,8 @@ let ln -sr -t "''${!outputInclude}/include/" "''${!outputInclude}"/lib/*/include/* 2>/dev/null || true ''; - ver_maj = "2.52"; - ver_min = "3"; + ver_maj = "2.54"; + ver_min = "0"; in stdenv.mkDerivation rec { @@ -51,10 +51,11 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/glib/${ver_maj}/${name}.tar.xz"; - sha256 = "0a71wkkhkvad84gm30w13micxxgqqw3sxhybj7nd9z60lwspdvi5"; + sha256 = "fe22998ff0394ec31e6e5511c379b74011bee61a4421bca7fcab223dfbe0fc6a"; }; - patches = optional stdenv.isDarwin ./darwin-compilation.patch ++ optional doCheck ./skip-timer-test.patch; + patches = optional stdenv.isDarwin ./darwin-compilation.patch + ++ optional doCheck ./skip-timer-test.patch; outputs = [ "out" "dev" "devdoc" ]; outputBin = "dev"; @@ -76,21 +77,23 @@ stdenv.mkDerivation rec { ++ optional (stdenv.isFreeBSD || stdenv.isSunOS) "--with-libiconv=gnu" ++ optional stdenv.isSunOS "--disable-dtrace"; - NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin " -lintl" - + optionalString stdenv.isSunOS " -DBSD_COMP"; + NIX_CFLAGS_COMPILE = optional stdenv.isDarwin "-lintl" + ++ optional stdenv.isSunOS "-DBSD_COMP"; - preConfigure = if !stdenv.isSunOS then null else - '' - sed -i -e 's|inotify.h|foobar-inotify.h|g' configure - ''; + preConfigure = optionalString stdenv.isSunOS '' + sed -i -e 's|inotify.h|foobar-inotify.h|g' configure + ''; + + postConfigure = '' + patchShebangs ./gobject/ + ''; LIBELF_CFLAGS = optional stdenv.isFreeBSD "-I${libelf}"; LIBELF_LIBS = optional stdenv.isFreeBSD "-L${libelf} -lelf"; - preBuild = optionalString stdenv.isDarwin - '' - export MACOSX_DEPLOYMENT_TARGET= - ''; + preBuild = optionalString stdenv.isDarwin '' + export MACOSX_DEPLOYMENT_TARGET= + ''; enableParallelBuilding = true; DETERMINISTIC_BUILD = 1; @@ -100,33 +103,36 @@ stdenv.mkDerivation rec { substituteInPlace "$dev/bin/gdbus-codegen" --replace "$out" "$dev" sed -i "$dev/bin/glib-gettextize" -e "s|^gettext_dir=.*|gettext_dir=$dev/share/glib-2.0/gettext|" '' - # This file is *included* in gtk3 and would introduce runtime reference via __FILE__. - + '' - sed '1i#line 1 "${name}/include/glib-2.0/gobject/gobjectnotifyqueue.c"' \ - -i "$dev"/include/glib-2.0/gobject/gobjectnotifyqueue.c - ''; + # This file is *included* in gtk3 and would introduce runtime reference via __FILE__. + + '' + sed '1i#line 1 "${name}/include/glib-2.0/gobject/gobjectnotifyqueue.c"' \ + -i "$dev"/include/glib-2.0/gobject/gobjectnotifyqueue.c + ''; inherit doCheck; - preCheck = optionalString doCheck - '' export LD_LIBRARY_PATH="$NIX_BUILD_TOP/${name}/glib/.libs:$LD_LIBRARY_PATH" - export TZDIR="${tzdata}/share/zoneinfo" - export XDG_CACHE_HOME="$TMP" - export XDG_RUNTIME_HOME="$TMP" - export HOME="$TMP" - export XDG_DATA_DIRS="${desktop_file_utils}/share:${shared_mime_info}/share" - export G_TEST_DBUS_DAEMON="${dbus_daemon.out}/bin/dbus-daemon" - - substituteInPlace gio/tests/desktop-files/home/applications/epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb.desktop --replace "Exec=/bin/true" "Exec=${coreutils}/bin/true" - # Needs machine-id, comment the test - sed -e '/\/gdbus\/codegen-peer-to-peer/ s/^\/*/\/\//' -i gio/tests/gdbus-peer.c - sed -e '/g_test_add_func/ s/^\/*/\/\//' -i gio/tests/gdbus-unix-addresses.c - # All gschemas fail to pass the test, upstream bug? - sed -e '/g_test_add_data_func/ s/^\/*/\/\//' -i gio/tests/gschema-compile.c - # Cannot reproduce the failing test_associations on hydra - sed -e '/\/appinfo\/associations/d' -i gio/tests/appinfo.c - # Needed because of libtool wrappers - sed -e '/g_subprocess_launcher_set_environ (launcher, envp);/a g_subprocess_launcher_setenv (launcher, "PATH", g_getenv("PATH"), TRUE);' -i gio/tests/gsubprocess.c - ''; + preCheck = optionalString doCheck '' + export LD_LIBRARY_PATH="$NIX_BUILD_TOP/${name}/glib/.libs:$LD_LIBRARY_PATH" + export TZDIR="${tzdata}/share/zoneinfo" + export XDG_CACHE_HOME="$TMP" + export XDG_RUNTIME_HOME="$TMP" + export HOME="$TMP" + export XDG_DATA_DIRS="${desktop_file_utils}/share:${shared_mime_info}/share" + export G_TEST_DBUS_DAEMON="${dbus_daemon.out}/bin/dbus-daemon" + export PATH="$PATH:$(pwd)/gobject" + echo "PATH=$PATH" + + substituteInPlace gio/tests/desktop-files/home/applications/epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb.desktop \ + --replace "Exec=/bin/true" "Exec=${coreutils}/bin/true" + # Needs machine-id, comment the test + sed -e '/\/gdbus\/codegen-peer-to-peer/ s/^\/*/\/\//' -i gio/tests/gdbus-peer.c + sed -e '/g_test_add_func/ s/^\/*/\/\//' -i gio/tests/gdbus-unix-addresses.c + # All gschemas fail to pass the test, upstream bug? + sed -e '/g_test_add_data_func/ s/^\/*/\/\//' -i gio/tests/gschema-compile.c + # Cannot reproduce the failing test_associations on hydra + sed -e '/\/appinfo\/associations/d' -i gio/tests/appinfo.c + # Needed because of libtool wrappers + sed -e '/g_subprocess_launcher_set_environ (launcher, envp);/a g_subprocess_launcher_setenv (launcher, "PATH", g_getenv("PATH"), TRUE);' -i gio/tests/gsubprocess.c + ''; passthru = { gioModuleDir = "lib/gio/modules"; @@ -136,7 +142,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "C library of programming buildings blocks"; homepage = https://www.gtk.org/; - license = licenses.lgpl2Plus; + license = licenses.lgpl21Plus; maintainers = with maintainers; [ lovek323 raskin ]; platforms = platforms.unix; diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 8885f2a2c432..f5756d1f5702 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -5,7 +5,7 @@ }: let - version = "1.4.8"; + version = "1.5.1"; inherit (stdenv.lib) optional optionals optionalString; in @@ -14,7 +14,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2"; - sha256 = "ccec4930ff0bb2d0c40aee203075447954b64a8c2695202413cc5e428c907131"; + sha256 = "56838dfdad2729b8866763c82d623354d138a4d99d9ffb710c7d377b5cfc7c51"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix index d1b476d94d20..229a92d84bf5 100644 --- a/pkgs/development/libraries/libsoup/default.nix +++ b/pkgs/development/libraries/libsoup/default.nix @@ -4,15 +4,15 @@ , libintlOrEmpty , intltool, python }: let - majorVersion = "2.59"; - version = "${majorVersion}.90.1"; + majorVersion = "2.60"; + version = "${majorVersion}.0"; in stdenv.mkDerivation { name = "libsoup-${version}"; src = fetchurl { url = "mirror://gnome/sources/libsoup/${majorVersion}/libsoup-${version}.tar.xz"; - sha256 = "0bh8wa0szkm9bx2anfq655zshwf6jhxvrqwx8jyh8rqgi6z9dhz0"; + sha256 = "b324edbecda0884143c0853b4a2bd5bd37fb3761f12f293c621ff34b9acdc84c"; }; prePatch = '' @@ -38,8 +38,6 @@ stdenv.mkDerivation { NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; - postInstall = "rm -rf $out/share/gtk-doc"; - meta = { inherit (glib.meta) maintainers platforms; }; diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index c9cb0b36bc50..2d253f7cd45c 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -67,7 +67,7 @@ let in let - version = "17.1.9"; + version = "17.1.10"; branch = head (splitString "." version); driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32"; in @@ -82,7 +82,7 @@ stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz" ]; - sha256 = "5f51ad94341696097d5df7b838183534478216858ac0fc8de183671a36ffea1a"; + sha256 = "cbc0d681cc4df47d8deb5a36f45b420978128522fd665b2cd4c7096316f11bdb"; }; prePatch = "patchShebangs ."; diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index 88a8ed1df4f3..85032677aae3 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -6,25 +6,16 @@ with stdenv.lib; let ver_maj = "1.40"; - ver_min = "11"; + ver_min = "12"; in stdenv.mkDerivation rec { name = "pango-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://gnome/sources/pango/${ver_maj}/${name}.tar.xz"; - sha256 = "5b11140590e632739e4151cae06b8116160d59e22bf36a3ccd5df76d1cf0383e"; + sha256 = "75f1a9a8e4e2b28cbc078b50c1fa927ee4ded994d1ade97c5603e2d1f3161cfc"; }; - patches = [ - # https://bugzilla.gnome.org/show_bug.cgi?id=785978#c9 - (fetchpatch rec { - name = "pango-fix-gtk2-test-failures.patch"; - url = "https://bug785978.bugzilla-attachments.gnome.org/attachment.cgi?id=357690&action=diff&collapsed=&context=patch&format=raw&headers=1"; - sha256 = "055m2dllfr5pgw6bci72snw38f4hsyw1x7flj188c965ild8lq3a"; - }) - ]; - outputs = [ "bin" "dev" "out" "devdoc" ]; buildInputs = [ gobjectIntrospection ]; diff --git a/pkgs/development/libraries/qt-5/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-5/qtbase-setup-hook.sh index e080d99a4aa6..e4ef456bf97b 100644 --- a/pkgs/development/libraries/qt-5/qtbase-setup-hook.sh +++ b/pkgs/development/libraries/qt-5/qtbase-setup-hook.sh @@ -116,7 +116,11 @@ fi if [ -z "$NIX_QT5_TMP" ]; then if [ -z "$NIX_QT_SUBMODULE" ]; then - NIX_QT5_TMP=$(pwd)/__nix_qt5__ + if [ -z "$IN_NIX_SHELL" ]; then + NIX_QT5_TMP=$(pwd)/__nix_qt5__ + else + NIX_QT5_TMP=$(mktemp -d) + fi else NIX_QT5_TMP=$out fi @@ -142,3 +146,10 @@ EOF export QMAKE="$NIX_QT5_TMP/bin/qmake" fi +_qtShellCleanupHook () { + rm -fr $NIX_QT5_TMP +} + +if [ -n "$IN_NIX_SHELL" ]; then + trap _qtShellCleanupHook EXIT +fi diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index a912b04d217f..0cb9078aede5 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -17,7 +17,7 @@ with stdenv.lib; let os = stdenv.lib.optionalString; majorVersion = "3.9"; - minorVersion = "1"; + minorVersion = "2"; version = "${majorVersion}.${minorVersion}"; in @@ -28,8 +28,8 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz"; - # from https://cmake.org/files/v3.9/cmake-3.9.1-SHA-256.txt - sha256 = "d768ee83d217f91bb597b3ca2ac663da7a8603c97e1f1a5184bc01e0ad2b12bb"; + # from https://cmake.org/files/v3.9/cmake-3.9.2-SHA-256.txt + sha256 = "954a5801a456ee48e76f01107c9a4961677dd0f3e115275bbd18410dc22ba3c1"; }; prePatch = optionalString (!useSharedLibraries) '' diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index b7f750508e8c..a67ca53e1c54 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -77,7 +77,7 @@ in rec { cc = if isNull last then "/dev/null" else import ../../build-support/cc-wrapper { inherit shell; - inherit (last) stdenv; + inherit (last) stdenvNoCC; nativeTools = false; nativeLibc = false; @@ -324,7 +324,7 @@ in rec { shell = "${pkgs.bash}/bin/bash"; cc = lib.callPackageWith {} ../../build-support/cc-wrapper { - inherit (pkgs) stdenv; + inherit (pkgs) stdenvNoCC; inherit shell; nativeTools = false; nativeLibc = false; diff --git a/pkgs/stdenv/freebsd/default.nix b/pkgs/stdenv/freebsd/default.nix index c10d1515a3d5..6ab8bf217269 100644 --- a/pkgs/stdenv/freebsd/default.nix +++ b/pkgs/stdenv/freebsd/default.nix @@ -77,7 +77,7 @@ let inherit (localSystem) system; in nativeTools = true; nativePrefix = "/usr"; nativeLibc = true; - inherit (prevStage) stdenv; + stdenvNoCC = prevStage.stdenv; cc = { name = "clang-9.9.9"; cc = "/usr"; diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index ce8c3ecef829..02da3829c5ae 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -1,6 +1,10 @@ set -eu set -o pipefail +if (( "${NIX_DEBUG:-0}" >= 6 )); then + set -x +fi + : ${outputs:=out} @@ -269,7 +273,7 @@ for i in $initialPath; do addToSearchPath PATH "$i/bin" done -if [ "${NIX_DEBUG:-}" = 1 ]; then +if (( "${NIX_DEBUG:-0}" >= 1 )); then echo "initial path: $PATH" fi @@ -429,7 +433,7 @@ fi PATH="${_PATH-}${_PATH:+${PATH:+:}}$PATH" -if [ "${NIX_DEBUG:-}" = 1 ]; then +if (( "${NIX_DEBUG:-0}" >= 1 )); then echo "final path: $PATH" fi @@ -539,7 +543,7 @@ substituteAll() { local -a args=() for varName in $(awk 'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }'); do - if [ "${NIX_DEBUG:-}" = "1" ]; then + if (( "${NIX_DEBUG:-0}" >= 1 )); then printf "@%s@ -> %q\n" "${varName}" "${!varName}" fi args+=("--subst-var" "$varName") diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index e79ec48e9f42..a114ab609e6c 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -84,7 +84,7 @@ let libc = prevStage.glibc; inherit (prevStage) binutils coreutils gnugrep; name = name; - stdenv = prevStage.ccWrapperStdenv; + stdenvNoCC = prevStage.ccWrapperStdenv; }; extraAttrs = { @@ -244,7 +244,7 @@ in }; cc = prevStage.gcc-unwrapped; libc = self.glibc; - inherit (self) stdenv binutils coreutils gnugrep; + inherit (self) stdenvNoCC binutils coreutils gnugrep; name = ""; shell = self.bash + "/bin/bash"; }; diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix index 9ecb56028bc0..558a77281edb 100644 --- a/pkgs/stdenv/native/default.nix +++ b/pkgs/stdenv/native/default.nix @@ -117,6 +117,7 @@ in cc = null; fetchurl = null; }; + stdenvNoCC = stdenv; cc = import ../../build-support/cc-wrapper { name = "cc-native"; @@ -126,7 +127,7 @@ in "i686-solaris" = "/usr/gnu"; "x86_64-solaris" = "/opt/local/gcc47"; }.${system} or "/usr"; - inherit stdenv; + inherit stdenvNoCC; }; fetchurl = import ../../build-support/fetchurl { diff --git a/pkgs/stdenv/nix/default.nix b/pkgs/stdenv/nix/default.nix index c736442dc0a4..ffff8bdf51d4 100644 --- a/pkgs/stdenv/nix/default.nix +++ b/pkgs/stdenv/nix/default.nix @@ -1,5 +1,5 @@ { lib -, crossSystem, config +, crossSystem, config, overlays , bootStages , ... }: @@ -7,9 +7,7 @@ assert crossSystem == null; bootStages ++ [ - (prevStage: let - inherit (prevStage) stdenv; - in { + (prevStage: { inherit config overlays; stdenv = import ../generic rec { @@ -27,10 +25,9 @@ bootStages ++ [ cc = import ../../build-support/cc-wrapper { nativeTools = false; - nativePrefix = stdenv.lib.optionalString hostPlatform.isSunOS "/usr"; + nativePrefix = lib.optionalString hostPlatform.isSunOS "/usr"; nativeLibc = true; - inherit stdenv; - inherit (prevStage) binutils coreutils gnugrep; + inherit (prevStage) stdenvNoCC binutils coreutils gnugrep; cc = prevStage.gcc.cc; isGNU = true; shell = prevStage.bash + "/bin/sh"; @@ -38,7 +35,7 @@ bootStages ++ [ shell = prevStage.bash + "/bin/sh"; - fetchurlBoot = stdenv.fetchurlBoot; + fetchurlBoot = prevStage.stdenv.fetchurlBoot; overrides = self: super: { inherit cc; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bbd6a59088dc..43cec9a5a9f3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6264,11 +6264,11 @@ with pkgs; wla-dx = callPackage ../development/compilers/wla-dx { }; - wrapCCWith = { name ? "", cc, libc, extraBuildCommands ? "" }: ccWrapperFun { + wrapCCWith = { name ? "", cc, libc, extraBuildCommands ? "" }: ccWrapperFun rec { nativeTools = targetPlatform == hostPlatform && stdenv.cc.nativeTools or false; nativeLibc = targetPlatform == hostPlatform && stdenv.cc.nativeLibc or false; nativePrefix = stdenv.cc.nativePrefix or ""; - noLibc = (libc == null); + noLibc = !nativeLibc && (libc == null); isGNU = cc.isGNU or false; isClang = cc.isClang or false; |