From f06942327ab60c0a546c7236cb718fd909430066 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 19 Jul 2018 17:20:57 -0400 Subject: [PATCH 001/130] patch-shebangs: respect cross compilation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This hopefully makes patchShebangs respect cross compilation. It introduces the concept of the HOST_PATH. Nothing is ever executed on it but instead used as a way to get the proper path using ‘command -v’. Needs more testing. /cc @ericson2314 @dtzwill Fixes #33956 Fixes #21138 --- .../setup-hooks/patch-shebangs.sh | 53 +++++++++++++++++-- 1 file changed, 50 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh index 1433d1e1f144..0c61813f743d 100644 --- a/pkgs/build-support/setup-hooks/patch-shebangs.sh +++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh @@ -5,10 +5,32 @@ # rewritten to /nix/store//bin/python. Interpreters that are # already in the store are left untouched. -fixupOutputHooks+=('if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then patchShebangs "$prefix"; fi') +fixupOutputHooks+=(patchShebangsAuto) + +# Run patch shebangs on a directory. +# patchShebangs [--build | --host] directory + +# Flags: +# --build : Lookup commands available at build-time +# --host : Lookup commands available at runtime + +# Example use cases, +# $ patchShebangs --host /nix/store/...-hello-1.0/bin +# $ patchShebangs --build configure patchShebangs() { + local pathName + + if [ "$1" = "--host" ]; then + pathName=HOST_PATH + shift + elif [ "$1" = "--build" ]; then + pathName=PATH + shift + fi + local dir="$1" + header "patching script interpreter paths in $dir" local f local oldPath @@ -27,6 +49,14 @@ patchShebangs() { oldInterpreterLine=$(head -1 "$f" | tail -c+3) read -r oldPath arg0 args <<< "$oldInterpreterLine" + if [ -z "$pathName" ]; then + if [ -n "$strictDeps" ] && [[ "$f" = "$NIX_STORE"* ]]; then + pathName=HOST_PATH + else + pathName=PATH + fi + fi + if $(echo "$oldPath" | grep -q "/bin/env$"); then # Check for unsupported 'env' functionality: # - options: something starting with a '-' @@ -35,14 +65,17 @@ patchShebangs() { echo "unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" exit 1 fi - newPath="$(command -v "$arg0" || true)" + + newPath="$(PATH="${!pathName}" command -v "$arg0" || true)" else if [ "$oldPath" = "" ]; then # If no interpreter is specified linux will use /bin/sh. Set # oldpath="/bin/sh" so that we get /nix/store/.../sh. oldPath="/bin/sh" fi - newPath="$(command -v "$(basename "$oldPath")" || true)" + + newPath="$(PATH="${!pathName}" command -v "$(basename "$oldPath")" || true)" + args="$arg0 $args" fi @@ -65,3 +98,17 @@ patchShebangs() { stopNest } + +patchShebangsAuto () { + if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then + + # Dev output will end up being run on the build platform. An + # example case of this is sdl2-config. Otherwise, we can just + # use the runtime path (--host). + if [ "$output" != out ] && [ "$output" = "${!outputDev}" ]; then + patchShebangs --build "$prefix" + else + patchShebangs --host "$prefix" + fi + fi +} From 17de73a383407b9e326bf969094ccce8938d9976 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Sun, 19 Aug 2018 10:40:04 -0400 Subject: [PATCH 002/130] kernel-headers: 4.15 -> 4.18.3 --- pkgs/os-specific/linux/kernel-headers/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index 677bb076b0c8..c135a88dd497 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -48,7 +48,7 @@ let in { linuxHeaders = common { - version = "4.15"; - sha256 = "0sd7l9n9h7vf9c6gd6ciji28hawda60yj0llh17my06m0s4lf9js"; + version = "4.18.3"; + sha256 = "1m23hjd02bg8mqnd8dc4z4m3kxds1cyrc6j5saiwnhzbz373rvc1"; }; } From 16879e2f6ac4d98b4c4e94c940ec535168075327 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sat, 25 Aug 2018 15:53:30 -0500 Subject: [PATCH 003/130] mesa: remove darwin-specific derivations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The ‘mesa-darwin’ stuff was very out of date (2012). This moves darwin to use the newer mesa. Stuff seems to build okay. Needs more testing on other stuff though (libraries work). No drivers build but that is how it should work on macOS. /cc @cstrahan @Anton-Latukha --- .../libraries/mesa-darwin/default.nix | 73 --------- ...evel-max-texture-size-error-checking.patch | 147 ------------------ ...const-force-glsl-extension-warning-i.patch | 33 ---- ..._EXT_framebuffer_sRGB-in-glPopAttrib.patch | 28 ---- ...-is-not-needed-with-CGLFlushDrawable.patch | 29 ---- ...void-heap-corruption-in-_glapi_table.patch | 28 ---- ...for-kCGLPFAOpenGLProfile-support-at-.patch | 40 ----- ...-error-reporting-if-CGLChoosePixelFo.patch | 30 ---- ...ors-in-choosing-the-pixel-format-to-.patch | 55 ------- ...e-Profile-usage-behind-a-testing-env.patch | 69 -------- .../patch-src-mapi-vgapi-Makefile.diff | 11 -- .../libraries/mesa/darwin-clock-gettime.patch | 76 +++++++++ pkgs/development/libraries/mesa/default.nix | 78 +++++----- pkgs/top-level/all-packages.nix | 21 +-- 14 files changed, 125 insertions(+), 593 deletions(-) delete mode 100644 pkgs/development/libraries/mesa-darwin/default.nix delete mode 100644 pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch delete mode 100644 pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch delete mode 100644 pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch delete mode 100644 pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch delete mode 100644 pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch delete mode 100644 pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch delete mode 100644 pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch delete mode 100644 pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch delete mode 100644 pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch delete mode 100644 pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff create mode 100644 pkgs/development/libraries/mesa/darwin-clock-gettime.patch diff --git a/pkgs/development/libraries/mesa-darwin/default.nix b/pkgs/development/libraries/mesa-darwin/default.nix deleted file mode 100644 index 2bfdb679156c..000000000000 --- a/pkgs/development/libraries/mesa-darwin/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, intltool, flex, bison -, python, libxml2Python, expat, makedepend, xorg, llvm, libffi, libvdpau -, OpenGL, apple_sdk, Xplugin -}: - -let - version = "8.0.5"; - self = stdenv.mkDerivation rec { - name = "mesa-${version}"; - - src = fetchurl { - url = "ftp://ftp.freedesktop.org/pub/mesa/older-versions/8.x/${version}/MesaLib-${version}.tar.bz2"; - sha256 = "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si"; - }; - - nativeBuildInputs = [ pkgconfig python makedepend flex bison ]; - - buildInputs = with xorg; [ - glproto dri2proto libXfixes libXi libXmu - intltool expat libxml2Python llvm - presentproto - libX11 libXext libxcb libXt libxshmfence - libffi libvdpau - ] ++ stdenv.lib.optionals stdenv.isDarwin [ OpenGL apple_sdk.sdk Xplugin ]; - - propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ OpenGL ]; - - postUnpack = '' - ln -s darwin $sourceRoot/configs/current - ''; - - preBuild = stdenv.lib.optionalString stdenv.isDarwin '' - substituteInPlace bin/mklib --replace g++ clang++ - ''; - - patches = [ - ./patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch - ./patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch - ./patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch - ./patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch - ./patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch - ./patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch - ./patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch - ./patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch - ./patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch - ./patches/patch-src-mapi-vgapi-Makefile.diff - ]; - - postPatch = "patchShebangs ."; - - configurePhase = ":"; - - configureFlags = [ - # NOTE: Patents expired on June 17 2018. - # For details see: https://www.phoronix.com/scan.php?page=news_item&px=OpenGL-Texture-Float-Freed - "texture-float" - ]; - - makeFlags = "INSTALL_DIR=\${out} CC=cc CXX=c++"; - - enableParallelBuilding = true; - - passthru = { inherit version; }; - - meta = { - description = "An open source implementation of OpenGL"; - homepage = http://www.mesa3d.org/; - license = "bsd"; - platforms = stdenv.lib.platforms.darwin; - maintainers = with stdenv.lib.maintainers; [ cstrahan ]; - }; - }; -in self // { driverLink = self; } diff --git a/pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch b/pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch deleted file mode 100644 index 5466ffc90858..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch +++ /dev/null @@ -1,147 +0,0 @@ -From 9cf1afbf8ae87ddbb29b24a0f9f2724e9e2935c1 Mon Sep 17 00:00:00 2001 -From: Brian Paul -Date: Tue, 4 Sep 2012 20:17:15 -0600 -Subject: [PATCH 03/13] mesa: fix per-level max texture size error checking -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This is a long-standing omission in Mesa's texture image size checking. -We need to take the mipmap level into consideration when checking if the -width, height and depth are too large. - -Fixes the new piglit max-texture-size-level test. -Thanks to Stéphane Marchesin for finding this problem. - -Note: This is a candidate for the stable branches. - -Reviewed-by: Michel Dänzer -(cherry picked from commit 771e7b6d884bb4294a89f276a904d90b28efb90a) ---- - src/mesa/main/teximage.c | 36 +++++++++++++++++++++--------------- - 1 file changed, 21 insertions(+), 15 deletions(-) - -diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c -index 3aecc0f..ed22fa9 100644 ---- a/src/mesa/main/teximage.c -+++ b/src/mesa/main/teximage.c -@@ -1251,11 +1251,12 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, - - switch (target) { - case GL_PROXY_TEXTURE_1D: -- maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); -- if (width < 2 * border || width > 2 * border + maxSize) -- return GL_FALSE; - if (level >= ctx->Const.MaxTextureLevels) - return GL_FALSE; -+ maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); /* level zero size */ -+ maxSize >>= level; /* level size */ -+ if (width < 2 * border || width > 2 * border + maxSize) -+ return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; -@@ -1263,13 +1264,14 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, - return GL_TRUE; - - case GL_PROXY_TEXTURE_2D: -+ if (level >= ctx->Const.MaxTextureLevels) -+ return GL_FALSE; - maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); -+ maxSize >>= level; - if (width < 2 * border || width > 2 * border + maxSize) - return GL_FALSE; - if (height < 2 * border || height > 2 * border + maxSize) - return GL_FALSE; -- if (level >= ctx->Const.MaxTextureLevels) -- return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; -@@ -1279,15 +1281,16 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, - return GL_TRUE; - - case GL_PROXY_TEXTURE_3D: -+ if (level >= ctx->Const.Max3DTextureLevels) -+ return GL_FALSE; - maxSize = 1 << (ctx->Const.Max3DTextureLevels - 1); -+ maxSize >>= level; - if (width < 2 * border || width > 2 * border + maxSize) - return GL_FALSE; - if (height < 2 * border || height > 2 * border + maxSize) - return GL_FALSE; - if (depth < 2 * border || depth > 2 * border + maxSize) - return GL_FALSE; -- if (level >= ctx->Const.Max3DTextureLevels) -- return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; -@@ -1299,23 +1302,24 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, - return GL_TRUE; - - case GL_PROXY_TEXTURE_RECTANGLE_NV: -+ if (level != 0) -+ return GL_FALSE; - maxSize = ctx->Const.MaxTextureRectSize; - if (width < 0 || width > maxSize) - return GL_FALSE; - if (height < 0 || height > maxSize) - return GL_FALSE; -- if (level != 0) -- return GL_FALSE; - return GL_TRUE; - - case GL_PROXY_TEXTURE_CUBE_MAP_ARB: -+ if (level >= ctx->Const.MaxCubeTextureLevels) -+ return GL_FALSE; - maxSize = 1 << (ctx->Const.MaxCubeTextureLevels - 1); -+ maxSize >>= level; - if (width < 2 * border || width > 2 * border + maxSize) - return GL_FALSE; - if (height < 2 * border || height > 2 * border + maxSize) - return GL_FALSE; -- if (level >= ctx->Const.MaxCubeTextureLevels) -- return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; -@@ -1325,13 +1329,14 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, - return GL_TRUE; - - case GL_PROXY_TEXTURE_1D_ARRAY_EXT: -+ if (level >= ctx->Const.MaxTextureLevels) -+ return GL_FALSE; - maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); -+ maxSize >>= level; - if (width < 2 * border || width > 2 * border + maxSize) - return GL_FALSE; - if (height < 1 || height > ctx->Const.MaxArrayTextureLayers) - return GL_FALSE; -- if (level >= ctx->Const.MaxTextureLevels) -- return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; -@@ -1339,15 +1344,16 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, - return GL_TRUE; - - case GL_PROXY_TEXTURE_2D_ARRAY_EXT: -+ if (level >= ctx->Const.MaxTextureLevels) -+ return GL_FALSE; - maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); -+ maxSize >>= level; - if (width < 2 * border || width > 2 * border + maxSize) - return GL_FALSE; - if (height < 2 * border || height > 2 * border + maxSize) - return GL_FALSE; - if (depth < 1 || depth > ctx->Const.MaxArrayTextureLayers) - return GL_FALSE; -- if (level >= ctx->Const.MaxTextureLevels) -- return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; --- -1.9.2 - diff --git a/pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch b/pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch deleted file mode 100644 index ff933b2ec284..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch +++ /dev/null @@ -1,33 +0,0 @@ -From db8cb2250335a93cad6e877e634116e5cd6b42fc Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Tue, 13 Mar 2012 14:53:25 +0000 -Subject: [PATCH 08/13] glsl: initialise const force glsl extension warning in - fake ctx - -valgrind complained about an uninitialised value being used in -glsl_parser_extras.cpp, and this was the one it was giving out about. - -Just initialise the value in the fakectx. - -Signed-off-by: Dave Airlie -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48057 -(cherry picked from commit b78a77f979b21a84aecb6fa4f19a2ed51a48c306) ---- - src/glsl/builtins/tools/generate_builtins.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/glsl/builtins/tools/generate_builtins.py b/src/glsl/builtins/tools/generate_builtins.py -index 72d12bb..bd15c4d 100755 ---- a/src/glsl/builtins/tools/generate_builtins.py -+++ b/src/glsl/builtins/tools/generate_builtins.py -@@ -156,6 +156,7 @@ read_builtins(GLenum target, const char *protos, const char **functions, unsigne - fakeCtx.API = API_OPENGL; - fakeCtx.Const.GLSLVersion = 130; - fakeCtx.Extensions.ARB_ES2_compatibility = true; -+ fakeCtx.Const.ForceGLSLExtensionsWarn = false; - gl_shader *sh = _mesa_new_shader(NULL, 0, target); - struct _mesa_glsl_parse_state *st = - new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh); --- -1.9.2 - diff --git a/pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch b/pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch deleted file mode 100644 index 919443045e46..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 2286bd68a832a4d4908d50e1a4496853e1f3305a Mon Sep 17 00:00:00 2001 -From: Brian Paul -Date: Mon, 27 Aug 2012 21:52:07 -0600 -Subject: [PATCH 09/13] mesa: test for GL_EXT_framebuffer_sRGB in glPopAttrib() - -To avoid spurious GL_INVALID_ENUM errors if the extension isn't supported. -(cherry picked from commit 1aee8803f83f7ae24d9c2150c70afff2b1ee4c2f) ---- - src/mesa/main/attrib.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c -index 225ac89..cc384c7 100644 ---- a/src/mesa/main/attrib.c -+++ b/src/mesa/main/attrib.c -@@ -993,7 +993,8 @@ _mesa_PopAttrib(void) - _mesa_ClampColorARB(GL_CLAMP_READ_COLOR_ARB, color->ClampReadColor); - - /* GL_ARB_framebuffer_sRGB / GL_EXT_framebuffer_sRGB */ -- _mesa_set_enable(ctx, GL_FRAMEBUFFER_SRGB, color->sRGBEnabled); -+ if (ctx->Extensions.EXT_framebuffer_sRGB) -+ _mesa_set_enable(ctx, GL_FRAMEBUFFER_SRGB, color->sRGBEnabled); - } - break; - case GL_CURRENT_BIT: --- -1.9.2 - diff --git a/pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch b/pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch deleted file mode 100644 index 565d5e6c2737..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9c50093adff0c7531ab32a7ec9ce3b91712b4d20 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston Sequoia -Date: Sat, 20 Jul 2013 10:25:28 -0700 -Subject: [PATCH 11/13] Apple: glFlush() is not needed with CGLFlushDrawable() - - - -Signed-off-by: Jeremy Huddleston Sequoia -(cherry picked from commit fa5ed99d8e809fb86e486a40273a4a6971055398) ---- - src/glx/apple/apple_glx.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/src/glx/apple/apple_glx.c b/src/glx/apple/apple_glx.c -index 56cff64..4e2aa33 100644 ---- a/src/glx/apple/apple_glx.c -+++ b/src/glx/apple/apple_glx.c -@@ -132,8 +132,6 @@ apple_glx_swap_buffers(void *ptr) - { - struct apple_glx_context *ac = ptr; - -- /* This may not be needed with CGLFlushDrawable: */ -- glFlush(); - apple_cgl.flush_drawable(ac->context_obj); - } - --- -1.9.2 - diff --git a/pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch b/pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch deleted file mode 100644 index 58ac66bd5511..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 629600450b3845a768c0edc92ea3f444d03a2738 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston Sequoia -Date: Tue, 20 May 2014 01:37:58 -0700 -Subject: [PATCH 12/13] glapi: Avoid heap corruption in _glapi_table - -Signed-off-by: Jeremy Huddleston Sequoia -Reviewed-by: Chia-I Wu -(cherry picked from commit ff5456d1acf6f627a6837be3f3f37c6a268c9e8e) ---- - src/mapi/glapi/gen/gl_gentable.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/mapi/glapi/gen/gl_gentable.py b/src/mapi/glapi/gen/gl_gentable.py -index 5657e32..0d0a02d 100644 ---- a/src/mapi/glapi/gen/gl_gentable.py -+++ b/src/mapi/glapi/gen/gl_gentable.py -@@ -111,7 +111,7 @@ __glapi_gentable_set_remaining_noop(struct _glapi_table *disp) { - - struct _glapi_table * - _glapi_create_table_from_handle(void *handle, const char *symbol_prefix) { -- struct _glapi_table *disp = calloc(1, sizeof(struct _glapi_table)); -+ struct _glapi_table *disp = calloc(1, _glapi_get_dispatch_table_size() * sizeof(_glapi_proc)); - char symboln[512]; - - if(!disp) --- -1.9.2 - diff --git a/pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch b/pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch deleted file mode 100644 index 5ec0d9024eff..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch +++ /dev/null @@ -1,40 +0,0 @@ -From ba59a779ed41e08fa16805c1c60da39885546d0e Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston Sequoia -Date: Tue, 20 May 2014 10:53:00 -0700 -Subject: [PATCH 13/13] darwin: Fix test for kCGLPFAOpenGLProfile support at - runtime - -Signed-off-by: Jeremy Huddleston Sequoia -(cherry picked from commit 7a109268ab5b3544e7f7b99e84ef1fdf54023fb4) ---- - src/glx/apple/apple_visual.c | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c -index 282934f..238c248 100644 ---- a/src/glx/apple/apple_visual.c -+++ b/src/glx/apple/apple_visual.c -@@ -73,11 +73,15 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m - GLint vsref = 0; - CGLError error = 0; - -- /* Request an OpenGL 3.2 profile if one is available */ -- if(apple_cgl.version_major > 1 || (apple_cgl.version_major == 1 && apple_cgl.version_minor >= 3)) { -- attr[numattr++] = kCGLPFAOpenGLProfile; -- attr[numattr++] = kCGLOGLPVersion_3_2_Core; -- } -+ /* Request an OpenGL 3.2 profile if one is available and supported */ -+ attr[numattr++] = kCGLPFAOpenGLProfile; -+ attr[numattr++] = kCGLOGLPVersion_3_2_Core; -+ -+ /* Test for kCGLPFAOpenGLProfile support at runtime and roll it out if not supported */ -+ attr[numattr] = 0; -+ error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); -+ if (error == kCGLBadAttribute) -+ numattr -= 2; - - if (offscreen) { - apple_glx_diagnostic --- -1.9.2 - diff --git a/pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch b/pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch deleted file mode 100644 index 372ce4a27a39..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f0702d6e631bb912a230c081463bb51a0dde1bff Mon Sep 17 00:00:00 2001 -From: Jon TURNEY -Date: Mon, 12 May 2014 15:38:26 +0100 -Subject: [PATCH 1001/1003] appleglx: Improve error reporting if - CGLChoosePixelFormat() didn't find any matching pixel formats. - -Signed-off-by: Jon TURNEY -Reviewed-by: Jeremy Huddleston Sequoia -(cherry picked from commit 002a3a74273b81dfb226e1c3f0a8c18525ed0af4) ---- - src/glx/apple/apple_visual.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c -index 238c248..c6ede51 100644 ---- a/src/glx/apple/apple_visual.c -+++ b/src/glx/apple/apple_visual.c -@@ -167,4 +167,9 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m - fprintf(stderr, "error: %s\n", apple_cgl.error_string(error)); - abort(); - } -+ -+ if (!*pfobj) { -+ fprintf(stderr, "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n"); -+ abort(); -+ } - } --- -1.9.2 (Apple Git-49) - diff --git a/pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch b/pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch deleted file mode 100644 index 4818ee63d4c9..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 1b2f877c8ef052b183c1f20ece6c6e4a7bfd237c Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston Sequoia -Date: Sat, 24 May 2014 14:13:33 -0700 -Subject: [PATCH 1002/1003] darwin: Write errors in choosing the pixel format - to the crash log - -Signed-off-by: Jeremy Huddleston Sequoia -(cherry picked from commit 9eb1d36c978a9b15ae2e999c630492dfffd7f165) ---- - src/glx/apple/apple_visual.c | 18 ++++++++++++++++-- - 1 file changed, 16 insertions(+), 2 deletions(-) - -diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c -index c6ede51..951b213 100644 ---- a/src/glx/apple/apple_visual.c -+++ b/src/glx/apple/apple_visual.c -@@ -63,6 +63,16 @@ enum - MAX_ATTR = 60 - }; - -+static char __crashreporter_info_buff__[4096] = { 0 }; -+static const char *__crashreporter_info__ __attribute__((__used__)) = -+ &__crashreporter_info_buff__[0]; -+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 -+// This is actually a toolchain requirement, but I'm not sure the correct check, -+// but it should be fine to just only include it for Leopard and later. This line -+// just tells the linker to never strip this symbol (such as for space optimization) -+__asm__ (".desc ___crashreporter_info__, 0x10"); -+#endif -+ - void - apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * mode, - bool * double_buffered, bool * uses_stereo, -@@ -164,12 +174,16 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m - error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); - - if (error) { -- fprintf(stderr, "error: %s\n", apple_cgl.error_string(error)); -+ snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__), -+ "CGLChoosePixelFormat error: %s\n", apple_cgl.error_string(error)); -+ fprintf(stderr, "%s", __crashreporter_info_buff__); - abort(); - } - - if (!*pfobj) { -- fprintf(stderr, "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n"); -+ snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__), -+ "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n"); -+ fprintf(stderr, "%s", __crashreporter_info_buff__); - abort(); - } - } --- -1.9.2 (Apple Git-49) - diff --git a/pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch b/pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch deleted file mode 100644 index 72841e2a2cce..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 9d6e12eb6b06202519e48a7321f32944d7a34b0f Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston Sequoia -Date: Sat, 24 May 2014 14:08:16 -0700 -Subject: [PATCH 1003/1003] darwin: Guard Core Profile usage behind a testing - envvar - -Signed-off-by: Jeremy Huddleston Sequoia -(cherry picked from commit 04ce3be4010305902cc5ae81e8e0c8550d043a1e) ---- - src/glx/apple/apple_visual.c | 30 ++++++++++++++++++++---------- - 1 file changed, 20 insertions(+), 10 deletions(-) - -diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c -index 951b213..046581b 100644 ---- a/src/glx/apple/apple_visual.c -+++ b/src/glx/apple/apple_visual.c -@@ -82,16 +82,7 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m - int numattr = 0; - GLint vsref = 0; - CGLError error = 0; -- -- /* Request an OpenGL 3.2 profile if one is available and supported */ -- attr[numattr++] = kCGLPFAOpenGLProfile; -- attr[numattr++] = kCGLOGLPVersion_3_2_Core; -- -- /* Test for kCGLPFAOpenGLProfile support at runtime and roll it out if not supported */ -- attr[numattr] = 0; -- error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); -- if (error == kCGLBadAttribute) -- numattr -= 2; -+ bool use_core_profile = getenv("LIBGL_PROFILE_CORE"); - - if (offscreen) { - apple_glx_diagnostic -@@ -167,12 +158,31 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m - attr[numattr++] = mode->samples; - } - -+ /* Debugging support for Core profiles to support newer versions of OpenGL */ -+ if (use_core_profile) { -+ attr[numattr++] = kCGLPFAOpenGLProfile; -+ attr[numattr++] = kCGLOGLPVersion_3_2_Core; -+ } -+ - attr[numattr++] = 0; - - assert(numattr < MAX_ATTR); - - error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); - -+ if ((error == kCGLBadAttribute || vsref == 0) && use_core_profile) { -+ apple_glx_diagnostic -+ ("Trying again without CoreProfile: error=%s, vsref=%d\n", apple_cgl.error_string(error), vsref); -+ -+ if (!error) -+ apple_cgl.destroy_pixel_format(*pfobj); -+ -+ numattr -= 3; -+ attr[numattr++] = 0; -+ -+ error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); -+ } -+ - if (error) { - snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__), - "CGLChoosePixelFormat error: %s\n", apple_cgl.error_string(error)); --- -1.9.2 (Apple Git-49) - diff --git a/pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff b/pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff deleted file mode 100644 index e29a8464076d..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/mapi/vgapi/Makefile 2012-11-30 12:06:24.000000000 -0500 -+++ b/src/mapi/vgapi/Makefile 2012-11-30 12:06:52.000000000 -0500 -@@ -75,6 +75,8 @@ - install-headers: - $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/VG - $(INSTALL) -m 644 $(TOP)/include/VG/*.h $(DESTDIR)$(INSTALL_INC_DIR)/VG -+ $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/KHR -+ $(INSTALL) -m 644 $(TOP)/include/KHR/*.h $(DESTDIR)$(INSTALL_INC_DIR)/KHR - - install: default install-headers install-pc - $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR) diff --git a/pkgs/development/libraries/mesa/darwin-clock-gettime.patch b/pkgs/development/libraries/mesa/darwin-clock-gettime.patch new file mode 100644 index 000000000000..94e90a1c5871 --- /dev/null +++ b/pkgs/development/libraries/mesa/darwin-clock-gettime.patch @@ -0,0 +1,76 @@ +diff --git a/include/c11/threads_posix.h b/include/c11/threads_posix.h +index 45cb6075e6..62937311b9 100644 +--- a/include/c11/threads_posix.h ++++ b/include/c11/threads_posix.h +@@ -36,6 +36,11 @@ + #include + #include /* for intptr_t */ + ++#ifdef __MACH__ ++#include ++#include ++#endif ++ + /* + Configuration macro: + +@@ -383,12 +388,25 @@ tss_set(tss_t key, void *val) + /*-------------------- 7.25.7 Time functions --------------------*/ + // 7.25.6.1 + #ifndef HAVE_TIMESPEC_GET ++ + static inline int + timespec_get(struct timespec *ts, int base) + { + if (!ts) return 0; + if (base == TIME_UTC) { ++#ifdef __MACH__ ++ if (ts != NULL) { ++ clock_serv_t cclock; ++ mach_timespec_t mts; ++ host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock); ++ clock_get_time(cclock, &mts); ++ mach_port_deallocate(mach_task_self(), cclock); ++ ts->tv_sec = mts.tv_sec; ++ ts->tv_nsec = mts.tv_nsec; ++ } ++#else + clock_gettime(CLOCK_REALTIME, ts); ++#endif + return base; + } + return 0; +diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c +index 1208ebb315..e1378fb1f0 100644 +--- a/src/egl/drivers/dri2/egl_dri2.c ++++ b/src/egl/drivers/dri2/egl_dri2.c +@@ -65,6 +65,11 @@ + #include "util/u_vector.h" + #include "mapi/glapi/glapi.h" + ++#ifdef __MACH__ ++#include ++#include ++#endif ++ + #define NUM_ATTRIBS 12 + + static void +@@ -3092,7 +3097,17 @@ dri2_client_wait_sync(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync, + + /* We override the clock to monotonic when creating the condition + * variable. */ ++#ifdef __MACH__ ++ clock_serv_t cclock; ++ mach_timespec_t mts; ++ host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock); ++ clock_get_time(cclock, &mts); ++ mach_port_deallocate(mach_task_self(), cclock); ++ current.tv_sec = mts.tv_sec; ++ current.tv_nsec = mts.tv_nsec; ++#else + clock_gettime(CLOCK_MONOTONIC, ¤t); ++#endif + + /* calculating when to expire */ + expire.tv_nsec = timeout % 1000000000L; diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index e1a9477dcd63..d771ba7ee8fc 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -8,6 +8,8 @@ , galliumDrivers ? null , driDrivers ? null , vulkanDrivers ? null +, eglPlatforms ? [ "x11" ] ++ lib.optionals stdenv.isLinux [ "wayland" "drm" ] +, OpenGL, Xplugin }: /** Packaging design: @@ -29,19 +31,21 @@ else let defaultGalliumDrivers = - if stdenv.isAarch32 + optionals (builtins.elem "drm" eglPlatforms) + (if stdenv.isAarch32 then ["virgl" "nouveau" "freedreno" "vc4" "etnaviv" "imx"] else if stdenv.isAarch64 then ["virgl" "nouveau" "vc4" ] - else ["virgl" "svga" "i915" "r300" "r600" "radeonsi" "nouveau"]; + else ["virgl" "svga" "i915" "r300" "r600" "radeonsi" "nouveau"]); defaultDriDrivers = - if (stdenv.isAarch32 || stdenv.isAarch64) + optionals (builtins.elem "drm" eglPlatforms) + (if (stdenv.isAarch32 || stdenv.isAarch64) then ["nouveau"] - else ["i915" "i965" "nouveau" "radeon" "r200"]; + else ["i915" "i965" "nouveau" "radeon" "r200"]); defaultVulkanDrivers = - if (stdenv.isAarch32 || stdenv.isAarch64) + optionals stdenv.isLinux (if (stdenv.isAarch32 || stdenv.isAarch64) then [] - else ["intel"] ++ lib.optional enableRadv "radeon"; + else ["intel"] ++ lib.optional enableRadv "radeon"); in let gallium_ = galliumDrivers; dri_ = driDrivers; vulkan_ = vulkanDrivers; in @@ -51,11 +55,11 @@ let (if gallium_ == null then defaultGalliumDrivers else gallium_) - ++ ["swrast" "virgl"]; + ++ lib.optional stdenv.isLinux "swrast"; driDrivers = (if dri_ == null - then defaultDriDrivers - else dri_) ++ ["swrast"]; + then optionals (elem "drm" eglPlatforms) defaultDriDrivers + else dri_) ++ lib.optional stdenv.isLinux "swrast"; vulkanDrivers = if vulkan_ == null then defaultVulkanDrivers @@ -89,9 +93,10 @@ let self = stdenv.mkDerivation { ./symlink-drivers.patch ./missing-includes.patch # dev_t needs sys/stat.h, time_t needs time.h, etc.-- fixes build w/musl ./disk_cache-include-dri-driver-path-in-cache-key.patch - ]; + ] ++ lib.optional stdenv.isDarwin ./darwin-clock-gettime.patch; - outputs = [ "out" "dev" "drivers" "osmesa" ]; + outputs = [ "out" "dev" "drivers" ] + ++ lib.optional (elem "swrast" galliumDrivers) "osmesa"; # TODO: Figure out how to enable opencl without having a runtime dependency on clang configureFlags = [ @@ -99,18 +104,10 @@ let self = stdenv.mkDerivation { "--localstatedir=/var" "--with-dri-driverdir=$(drivers)/lib/dri" "--with-dri-searchpath=${libglvnd.driverLink}/lib/dri" - "--with-platforms=x11,wayland,drm" - ] - ++ (optional (galliumDrivers != []) - ("--with-gallium-drivers=" + - builtins.concatStringsSep "," galliumDrivers)) - ++ (optional (driDrivers != []) - ("--with-dri-drivers=" + - builtins.concatStringsSep "," driDrivers)) - ++ (optional (vulkanDrivers != []) - ("--with-vulkan-drivers=" + - builtins.concatStringsSep "," vulkanDrivers)) - ++ [ + "--with-platforms=${concatStringsSep "," eglPlatforms}" + "--with-gallium-drivers=${concatStringsSep "," galliumDrivers}" + "--with-dri-drivers=${concatStringsSep "," driDrivers}" + "--with-vulkan-drivers=${concatStringsSep "," vulkanDrivers}" (enableFeature stdenv.isLinux "dri3") (enableFeature stdenv.isLinux "nine") # Direct3D in Wine "--enable-libglvnd" @@ -121,17 +118,18 @@ let self = stdenv.mkDerivation { "--enable-glx" # https://bugs.freedesktop.org/show_bug.cgi?id=35268 (enableFeature (!stdenv.hostPlatform.isMusl) "glx-tls") - "--enable-gallium-osmesa" # used by wine + # used by wine + (enableFeature (elem "swrast" galliumDrivers) "gallium-osmesa") "--enable-llvm" - "--enable-egl" - "--enable-xa" # used in vmware driver - "--enable-gbm" + (enableFeature stdenv.isLinux "egl") + (enableFeature stdenv.isLinux "xa") # used in vmware driver + (enableFeature stdenv.isLinux "gbm") "--enable-xvmc" "--enable-vdpau" "--enable-shared-glapi" "--enable-llvm-shared-libs" - "--enable-omx-bellagio" - "--enable-va" + (enableFeature stdenv.isLinux "omx-bellagio") + (enableFeature stdenv.isLinux "va") "--disable-opencl" ]; @@ -139,16 +137,18 @@ let self = stdenv.mkDerivation { propagatedBuildInputs = with xorg; [ libXdamage libXxf86vm ] - ++ optional stdenv.isLinux libdrm; + ++ optional stdenv.isLinux libdrm + ++ optionals stdenv.isDarwin [ OpenGL Xplugin ]; buildInputs = with xorg; [ expat llvmPackages.llvm libglvnd glproto dri2proto dri3proto presentproto libX11 libXext libxcb libXt libXfixes libxshmfence - libffi wayland wayland-protocols libvdpau libelf libXvMC - libomxil-bellagio libva-minimal libpthreadstubs openssl/*or another sha1 provider*/ + libffi libvdpau libelf libXvMC + libpthreadstubs openssl/*or another sha1 provider*/ valgrind-light python2 python2.pkgs.Mako - ]; + ] ++ lib.optionals stdenv.isLinux [ wayland wayland-protocols + libomxil-bellagio libva-minimal ]; enableParallelBuilding = true; doCheck = false; @@ -160,7 +160,7 @@ let self = stdenv.mkDerivation { ]; # TODO: probably not all .la files are completely fixed, but it shouldn't matter; - postInstall = '' + postInstall = optionalString (galliumDrivers != []) '' # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM mv -t "$drivers/lib/" \ $out/lib/libXvMC* \ @@ -214,7 +214,7 @@ let self = stdenv.mkDerivation { # TODO: # check $out doesn't depend on llvm: builder failures are ignored # for some reason grep -qv '${llvmPackages.llvm}' -R "$out"; - postFixup = '' + postFixup = optionalString (galliumDrivers != []) '' # add RPATH so the drivers can find the moved libgallium and libdricore9 # moved here to avoid problems with stripping patchelfed files for lib in $drivers/lib/*.so* $drivers/lib/*/*.so*; do @@ -234,7 +234,9 @@ let self = stdenv.mkDerivation { # Use stub libraries from libglvnd and headers from Mesa. buildCommand = '' - ln -s ${libglvnd.out} $out + mkdir -p $out/nix-support + ln -s ${libglvnd.out}/lib $out/lib + mkdir -p $dev/{,lib/pkgconfig,nix-support} echo "$out" > $dev/nix-support/propagated-build-inputs ln -s ${self.dev}/include $dev/include @@ -256,6 +258,8 @@ let self = stdenv.mkDerivation { genPkgConfig egl EGL genPkgConfig glesv1_cm GLESv1_CM genPkgConfig glesv2 GLESv2 + '' + lib.optionalString stdenv.isDarwin '' + echo ${OpenGL} > $out/nix-support/propagated-build-inputs ''; }; }; @@ -264,7 +268,7 @@ let self = stdenv.mkDerivation { description = "An open source implementation of OpenGL"; homepage = https://www.mesa3d.org/; license = licenses.mit; # X11 variant, in most files - platforms = platforms.linux; + platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ vcunat ]; }; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cce255e3728a..245eef1bbafd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11079,37 +11079,32 @@ with pkgs; ## libGL/libGLU/Mesa stuff # Default libGL implementation, should provide headers and libGL.so/libEGL.so/... to link agains them - libGL = libGLDarwinOr mesa_noglu.stubs; + libGL = mesa_noglu.stubs; # Default libGLU - libGLU = libGLDarwinOr mesa_glu; + libGLU = mesa_glu; # Combined derivation, contains both libGL and libGLU # Please, avoid using this attribute. It was meant as transitional hack # for packages that assume that libGLU and libGL live in the same prefix. # libGLU_combined propagates both libGL and libGLU - libGLU_combined = libGLDarwinOr (buildEnv { + libGLU_combined = buildEnv { name = "libGLU-combined"; paths = [ libGL libGLU ]; extraOutputsToInstall = [ "dev" ]; - }); + }; # Default derivation with libGL.so.1 to link into /run/opengl-drivers (if need) - libGL_driver = libGLDarwinOr mesa_drivers; + libGL_driver = mesa_drivers; libGLSupported = lib.elem system lib.platforms.mesaPlatforms; - libGLDarwin = callPackage ../development/libraries/mesa-darwin { - inherit (darwin.apple_sdk.frameworks) OpenGL; - inherit (darwin.apple_sdk.libs) Xplugin; - inherit (darwin) apple_sdk; - }; - - libGLDarwinOr = alternative: if stdenv.isDarwin then libGLDarwin else alternative; - mesa_noglu = callPackage ../development/libraries/mesa { llvmPackages = llvmPackages_6; + inherit (darwin.apple_sdk.frameworks) OpenGL; + inherit (darwin.apple_sdk.libs) Xplugin; }; + mesa = mesa_noglu; mesa_glu = callPackage ../development/libraries/mesa-glu { }; From 383de74f883ab544ef2c9811f5735592160a765d Mon Sep 17 00:00:00 2001 From: Kamil Chmielewski Date: Tue, 28 Aug 2018 11:06:04 +0200 Subject: [PATCH 004/130] patch-shebangs: filename on unsupported shebang Show the filename on unsupported shebang error. Simplifies debugging packages with large set of scripts. --- pkgs/build-support/setup-hooks/patch-shebangs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh index 1433d1e1f144..d5586fccae67 100644 --- a/pkgs/build-support/setup-hooks/patch-shebangs.sh +++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh @@ -32,7 +32,7 @@ patchShebangs() { # - options: something starting with a '-' # - environment variables: foo=bar if $(echo "$arg0" | grep -q -- "^-.*\|.*=.*"); then - echo "unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" + echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" exit 1 fi newPath="$(command -v "$arg0" || true)" From 408eacbc896ecc6d0e25238963ecbd412d78ce3c Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Mon, 3 Sep 2018 23:56:40 +0200 Subject: [PATCH 005/130] openblas: fix pkg-config alias name Turns out the filename is important. It should be `cblas`, not `openblas-cblas`. --- pkgs/development/libraries/science/math/openblas/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index 3f271d015027..2efabcdd05e0 100644 --- a/pkgs/development/libraries/science/math/openblas/default.nix +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -140,7 +140,7 @@ stdenv.mkDerivation rec { # Write pkgconfig aliases. Upstream report: # https://github.com/xianyi/OpenBLAS/issues/1740 for alias in blas cblas lapack; do - cat < $out/lib/pkgconfig/openblas-$alias.pc + cat < $out/lib/pkgconfig/$alias.pc Name: $alias Version: ${version} Description: $alias provided by the OpenBLAS package. From 20a4a4b5933db55b769d48c532b6bf906738b821 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 1 Sep 2018 11:57:08 +0200 Subject: [PATCH 006/130] pythonPackages.pytest.setupHook: run in correct phase It was reported that the 2nd solution wasn't working as expected because it was ran in the wrong phase. This commit creates a new phase, in between the installCheckPhase and distPhase. --- pkgs/development/python-modules/pytest/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix index 3770f62f1a5b..6146159ad0ab 100644 --- a/pkgs/development/python-modules/pytest/default.nix +++ b/pkgs/development/python-modules/pytest/default.nix @@ -29,9 +29,11 @@ buildPythonPackage rec { # Remove .pytest_cache when using py.test in a Nix build setupHook = writeText "pytest-hook" '' - postFixupHooks+=( - 'find $out -name .pytest_cache -type d -exec rm -rf {} +' - ) + pytestcachePhase() { + find $out -name .pytest_cache -type d -exec rm -rf {} + + } + + preDistPhases+=" pytestcachePhase" ''; meta = with stdenv.lib; { From b75ea627c6f290c0764d5ab8103dfd82ca309caa Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 1 Sep 2018 11:57:31 +0200 Subject: [PATCH 007/130] pythonPackages.autobahn: run hooks --- pkgs/development/python-modules/autobahn/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/autobahn/default.nix b/pkgs/development/python-modules/autobahn/default.nix index 87a337a154dd..04aa9411247e 100644 --- a/pkgs/development/python-modules/autobahn/default.nix +++ b/pkgs/development/python-modules/autobahn/default.nix @@ -21,7 +21,9 @@ buildPythonPackage rec { (stdenv.lib.optionals (!isPy3k) [ trollius futures ]); checkPhase = '' + runHook preCheck USE_TWISTED=true py.test $out + runHook postCheck ''; meta = with stdenv.lib; { From d93aa1c50fc8a83be1c709f905d8c94e1677845f Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 4 Sep 2018 16:25:51 -0500 Subject: [PATCH 008/130] sudo: 1.8.24 -> 1.8.25 (#46057) https://www.sudo.ws/stable.html (may need to scroll to the 1.8.25 notes afternewer versions are released) --- pkgs/tools/security/sudo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix index 71cf239d72cb..03c400751451 100644 --- a/pkgs/tools/security/sudo/default.nix +++ b/pkgs/tools/security/sudo/default.nix @@ -5,14 +5,14 @@ }: stdenv.mkDerivation rec { - name = "sudo-1.8.24"; + name = "sudo-1.8.25"; src = fetchurl { urls = [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz" "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz" ]; - sha256 = "1s2v49n905wf3phmdnaa6v1dwck2lrcin0flg85z7klf35x5b25l"; + sha256 = "0hfw6pcwjvv1vvnhb4n1p210306jm4npz99p9cfhbd33yrhhzkwx"; }; prePatch = '' From c63ca0a431a7a3bdf2aaae05b2acca86d8c1e7bd Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Wed, 5 Sep 2018 01:08:14 +0000 Subject: [PATCH 009/130] stdenv: implement enableParallelChecking option Works similarly to `enableParallelBuilding`, but is set by default when `enableParallelBuilding` is set. In my experience most packages that build fine in parallel also check fine in parallel. --- pkgs/stdenv/generic/make-derivation.nix | 2 ++ pkgs/stdenv/generic/setup.sh | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index e1ce3200e8c9..3f35dce2eb29 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -227,6 +227,8 @@ rec { inherit doCheck doInstallCheck; inherit outputs; + } // lib.optionalAttrs (attrs.enableParallelBuilding or false) { + enableParallelChecking = attrs.enableParallelChecking or true; } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != []) { NIX_HARDENING_ENABLE = enabledHardeningOptions; } // lib.optionalAttrs (stdenv.buildPlatform.isDarwin) { diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 141e94c5ed46..e51dc1f1a0a6 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -1044,7 +1044,7 @@ checkPhase() { # Old bash empty array hack # shellcheck disable=SC2086 local flagsArray=( - ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} + ${enableParallelChecking:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"} ${checkFlags:-VERBOSE=y} ${checkFlagsArray+"${checkFlagsArray[@]}"} ${checkTarget} @@ -1176,7 +1176,7 @@ installCheckPhase() { # Old bash empty array hack # shellcheck disable=SC2086 local flagsArray=( - ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} + ${enableParallelChecking:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"} $installCheckFlags ${installCheckFlagsArray+"${installCheckFlagsArray[@]}"} ${installCheckTarget:-installcheck} From 20106e1066f8174ebb3c018966699181d1cf3706 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Wed, 5 Sep 2018 01:12:48 +0000 Subject: [PATCH 010/130] gettext: disable parallel checking --- pkgs/development/libraries/gettext/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix index 4531a5a01d4c..1b2f6bbc2225 100644 --- a/pkgs/development/libraries/gettext/default.nix +++ b/pkgs/development/libraries/gettext/default.nix @@ -51,6 +51,7 @@ stdenv.mkDerivation rec { gettextNeedsLdflags = stdenv.hostPlatform.libc != "glibc" && !stdenv.hostPlatform.isMusl; enableParallelBuilding = true; + enableParallelChecking = false; # fails sometimes meta = with lib; { description = "Well integrated set of translation tools and documentation"; From e48f2d02268fe926ef16cbd8b2a87391bea739c4 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Wed, 5 Sep 2018 01:13:16 +0000 Subject: [PATCH 011/130] tor: disable parallel checking --- pkgs/tools/security/tor/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index bb49e478910d..b03c753b0a32 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -23,8 +23,6 @@ stdenv.mkDerivation rec { outputs = [ "out" "geoip" ]; - enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libevent openssl zlib ] ++ stdenv.lib.optionals stdenv.isLinux [ libseccomp systemd libcap ]; @@ -37,14 +35,17 @@ stdenv.mkDerivation rec { --replace 'exec torsocks' 'exec ${torsocks}/bin/torsocks' ''; + enableParallelBuilding = true; + enableParallelChecking = false; # 4 tests fail randomly + + doCheck = true; + postInstall = '' mkdir -p $geoip/share/tor mv $out/share/tor/geoip{,6} $geoip/share/tor rm -rf $out/share/tor ''; - doCheck = true; - passthru.updateScript = import ./update.nix { inherit (stdenv) lib; inherit From 902b35a4888e7a58ea13ba7a378fbd17299c35c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 29 Aug 2018 10:01:10 +0100 Subject: [PATCH 012/130] vala_0_34: 0.34.17 -> 0.34.18 --- pkgs/development/compilers/vala/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index a4a8aa980b62..6e9e844e771a 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -45,8 +45,8 @@ let in rec { vala_0_34 = generic { major = "0.34"; - minor = "17"; - sha256 = "0wd2zxww4z1ys4iqz218lvzjqjjqwsaad4x2by8pcyy43sbr7qp2"; + minor = "18"; + sha256 = "1lhw3ghns059y5d6pdldy5p4yjwlhcls84k892i6qmbhxg34945q"; }; vala_0_36 = generic { From c67c39cfdbf7291b29ccd158f95fb127ec32b361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 29 Aug 2018 10:01:30 +0100 Subject: [PATCH 013/130] vala_0_36: 0.36.13 -> 0.36.15 --- pkgs/development/compilers/vala/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index 6e9e844e771a..f8d5ad3dbe1c 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -51,8 +51,8 @@ in rec { vala_0_36 = generic { major = "0.36"; - minor = "13"; - sha256 = "0gxz7yisd9vh5d2889p60knaifz5zndgj98zkdfkkaykdfdq4m9k"; + minor = "15"; + sha256 = "11lnwjbhiz2l7g6y1f0jb0s81ymgssinlil3alibzcwmzpk175ix"; }; vala_0_38 = generic { From c2ef18ae8bbb976d6e1f27d03cff57fe6eae49b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 29 Aug 2018 10:01:53 +0100 Subject: [PATCH 014/130] vala_0_38: 0.38.9 -> 0.38.10 --- pkgs/development/compilers/vala/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index f8d5ad3dbe1c..fb2d9fc535af 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -57,8 +57,8 @@ in rec { vala_0_38 = generic { major = "0.38"; - minor = "9"; - sha256 = "1dh1qacfsc1nr6hxwhn9lqmhnq39rv8gxbapdmj1v65zs96j3fn3"; + minor = "10"; + sha256 = "1rdwwqs973qv225v8b5izcgwvqn56jxgr4pa3wxxbliar3aww5sw"; extraNativeBuildInputs = [ autoconf ] ++ lib.optional stdenv.isDarwin libtool; }; From 7fac51740a151a7b78c5fbe225b7ef49933825e5 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Wed, 5 Sep 2018 16:55:35 +0200 Subject: [PATCH 015/130] libgsf: 1.14.42 -> 1.14.44 (#46054) --- pkgs/development/libraries/libgsf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix index 20a08885142a..bcd37396bf7f 100644 --- a/pkgs/development/libraries/libgsf/default.nix +++ b/pkgs/development/libraries/libgsf/default.nix @@ -2,11 +2,11 @@ , python, perl, gdk_pixbuf, libiconv, libintl }: stdenv.mkDerivation rec { - name = "libgsf-1.14.42"; + name = "libgsf-1.14.44"; src = fetchurl { url = "mirror://gnome/sources/libgsf/1.14/${name}.tar.xz"; - sha256 = "1hhdz0ymda26q6bl5ygickkgrh998lxqq4z9i8dzpcvqna3zpzr9"; + sha256 = "1ppzfk3zmmgrg9jh8vc4dacddbfngjslq2wpj94pcr3i0c8dxgk8"; }; nativeBuildInputs = [ pkgconfig intltool libintl ]; From 6abd75067ab70a33bb49f2ea6f141967af79a61d Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Wed, 5 Sep 2018 15:17:01 +0000 Subject: [PATCH 016/130] ffmpeg: add support for libssh and speex (#46078) --- pkgs/development/libraries/ffmpeg/generic.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 7d72de2a2ded..89e06f8b8d92 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, perl, texinfo, yasm , alsaLib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg -, libtheora, libva, libvorbis, libvpx, lzma, libpulseaudio, soxr -, x264, x265, xvidcore, zlib, libopus +, libssh, libtheora, libva, libvorbis, libvpx, lzma, libpulseaudio, soxr +, x264, x265, xvidcore, zlib, libopus, speex , openglSupport ? false, libGLU_combined ? null # Build options , runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime @@ -128,6 +128,7 @@ stdenv.mkDerivation rec { "--enable-libmp3lame" (ifMinVer "1.2" "--enable-iconv") "--enable-libtheora" + "--enable-libssh" (ifMinVer "0.6" (enableFeature vaapiSupport "vaapi")) "--enable-vdpau" "--enable-libvorbis" @@ -141,6 +142,7 @@ stdenv.mkDerivation rec { "--enable-libxvid" "--enable-zlib" (ifMinVer "2.8" "--enable-libopus") + "--enable-libspeex" (ifMinVer "2.8" "--enable-libx265") # Developer flags (enableFeature debugDeveloper "debug") @@ -157,8 +159,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ perl pkgconfig texinfo yasm ]; buildInputs = [ - bzip2 fontconfig freetype gnutls libiconv lame libass libogg libtheora - libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus + bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora + libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus speex ] ++ optional openglSupport libGLU_combined ++ optional vpxSupport libvpx ++ optionals (!isDarwin && !isAarch32) [ libpulseaudio ] # Need to be fixed on Darwin and ARM From f6ffd9c8ba35543712ec39029917c78e9480f5f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 5 Sep 2018 22:54:18 +0100 Subject: [PATCH 017/130] iana-etc: 20180711 -> 20180905 --- pkgs/data/misc/iana-etc/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/data/misc/iana-etc/default.nix b/pkgs/data/misc/iana-etc/default.nix index e6c33fc260e8..af8270e6eefa 100644 --- a/pkgs/data/misc/iana-etc/default.nix +++ b/pkgs/data/misc/iana-etc/default.nix @@ -1,12 +1,11 @@ { stdenv, fetchzip }: let - version = "20180711"; + version = "20180905"; in fetchzip { name = "iana-etc-${version}"; - url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz"; - sha256 = "0vbgk3paix2v4rlh90a8yh1l39s322awng06izqj44zcg704fjbj"; + sha256 = "1vl3by24xddl267cjq9bcwb7yvfd7gqalwgd5sgx8i7kz9bk40q2"; postFetch = '' tar -xzvf $downloadedFile --strip-components=1 From 9f0efc084c30516bba320f60e3066e1eef020c2a Mon Sep 17 00:00:00 2001 From: qolii <36613499+qolii@users.noreply.github.com> Date: Thu, 6 Sep 2018 10:02:48 +0000 Subject: [PATCH 018/130] pyopenssl: Disable some tests, for libressl support. (#46072) --- .../python-modules/pyopenssl/default.nix | 45 +++++++++++++++---- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix index 035c70f3995a..d6b966b6df3c 100644 --- a/pkgs/development/python-modules/pyopenssl/default.nix +++ b/pkgs/development/python-modules/pyopenssl/default.nix @@ -11,6 +11,41 @@ , glibcLocales }: +with stdenv.lib; + + +let + # https://github.com/pyca/pyopenssl/issues/791 + # These tests, we disable in the case that libressl is passed in as openssl. + failingLibresslTests = [ + "test_op_no_compression" + "test_npn_advertise_error" + "test_npn_select_error" + "test_npn_client_fail" + "test_npn_success" + "test_use_certificate_chain_file_unicode" + "test_use_certificate_chain_file_bytes" + "test_add_extra_chain_cert" + "test_set_session_id_fail" + "test_verify_with_revoked" + "test_set_notAfter" + "test_set_notBefore" + ]; + + disabledTests = [ + # https://github.com/pyca/pyopenssl/issues/692 + # These tests, we disable always. + "test_set_default_verify_paths" + "test_fallback_default_verify_paths" + ] ++ (optionals (hasPrefix "libressl" openssl.meta.name) failingLibresslTests); + + # Compose the final string expression, including the "-k" and the single quotes. + testExpression = optionalString (disabledTests != []) + "-k 'not ${concatStringsSep " and not " disabledTests}'"; + +in + + buildPythonPackage rec { pname = "pyOpenSSL"; version = "18.0.0"; @@ -22,16 +57,10 @@ buildPythonPackage rec { outputs = [ "out" "dev" ]; - preCheck = '' - sed -i 's/test_set_default_verify_paths/noop/' tests/test_ssl.py - # https://github.com/pyca/pyopenssl/issues/692 - sed -i 's/test_fallback_default_verify_paths/noop/' tests/test_ssl.py - ''; - checkPhase = '' runHook preCheck export LANG="en_US.UTF-8" - py.test + py.test tests ${testExpression} runHook postCheck ''; @@ -43,4 +72,4 @@ buildPythonPackage rec { propagatedBuildInputs = [ cryptography pyasn1 idna ]; checkInputs = [ pytest pretend flaky glibcLocales ]; -} \ No newline at end of file +} From 06e41e4639ad183d2ad86625f5ab1d2d25a072fa Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 6 Sep 2018 18:49:50 -0700 Subject: [PATCH 019/130] libdrm: 2.4.93 -> 2.4.94 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from libdrm --- pkgs/development/libraries/libdrm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index 5107d8898d46..761216f420bb 100644 --- a/pkgs/development/libraries/libdrm/default.nix +++ b/pkgs/development/libraries/libdrm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }: stdenv.mkDerivation rec { - name = "libdrm-2.4.93"; + name = "libdrm-2.4.94"; src = fetchurl { url = "https://dri.freedesktop.org/libdrm/${name}.tar.bz2"; - sha256 = "0g6d9wsnb7lx8r1m4kq8js0wsc5jl20cz1csnlh6z9s8jpfd313f"; + sha256 = "1ghn3l1dv1rsp9z6jpmy4ryna1s8rm4xx0ds532041bnlfq5jg5p"; }; outputs = [ "out" "dev" "bin" ]; From d68a9d9db9cb2f69b5fef6e8c4a87b9ae3e499d0 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 5 Sep 2018 14:28:04 -0400 Subject: [PATCH 020/130] gcc-*: Clean up crossStageStatic logic 54282b9610e80b1ed93136319e24cb79c5bbcc33 tread carefuly to avoid a mass rebuild. This embraces the mass rebuild to clean things up. --- pkgs/development/compilers/gcc/4.8/default.nix | 4 +--- pkgs/development/compilers/gcc/4.9/default.nix | 4 +--- pkgs/development/compilers/gcc/5/default.nix | 4 +--- pkgs/development/compilers/gcc/6/default.nix | 4 +--- pkgs/development/compilers/gcc/7/default.nix | 4 +--- pkgs/development/compilers/gcc/8/default.nix | 4 +--- pkgs/development/compilers/gcc/builder.sh | 2 +- pkgs/development/compilers/gcc/snapshot/default.nix | 4 +--- 8 files changed, 8 insertions(+), 22 deletions(-) diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index ed185b4be1a2..735377ec6f98 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -199,9 +199,7 @@ stdenv.mkDerivation ({ '' else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler langJava + inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index 3f13562c1b8c..e202e3b7e4e7 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -208,9 +208,7 @@ stdenv.mkDerivation ({ '' else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler langJava + inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index 497ca40c3ae6..c4c429134416 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -213,9 +213,7 @@ stdenv.mkDerivation ({ ) else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler langJava + inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index 3f5d3172d12f..2137b1fb1fe0 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -217,9 +217,7 @@ stdenv.mkDerivation ({ ) else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler langJava + inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index 30c1611f5fb3..4c09f81a4d31 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -190,9 +190,7 @@ stdenv.mkDerivation ({ ) else ""); - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler + inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix index 727cd9cbdbd7..ab9f8be70b9c 100644 --- a/pkgs/development/compilers/gcc/8/default.nix +++ b/pkgs/development/compilers/gcc/8/default.nix @@ -185,9 +185,7 @@ stdenv.mkDerivation ({ ) else ""); - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler + inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh index a3250f4021a5..75e70006d749 100644 --- a/pkgs/development/compilers/gcc/builder.sh +++ b/pkgs/development/compilers/gcc/builder.sh @@ -131,7 +131,7 @@ if test "$noSysDirs" = "1"; then ) fi - if test -n "${targetConfig-}" -a "$crossStageStatic" == 1; then + if test "$crossStageStatic" == 1; then # We don't want the gcc build to assume there will be a libc providing # limits.h in this stagae makeFlagsArray+=( diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix index dd6de818117f..2e6ec3af5677 100644 --- a/pkgs/development/compilers/gcc/snapshot/default.nix +++ b/pkgs/development/compilers/gcc/snapshot/default.nix @@ -152,9 +152,7 @@ stdenv.mkDerivation ({ '' else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler + inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; From 16650af8c34e468cee61d6826c72cbc79eb114c2 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Sat, 8 Sep 2018 10:44:02 -0400 Subject: [PATCH 021/130] curl: 7.61.0 -> 7.61.1 --- pkgs/tools/networking/curl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index d42cdcd4a347..dda97d34d869 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -24,14 +24,14 @@ assert brotliSupport -> brotli != null; assert gssSupport -> kerberos != null; stdenv.mkDerivation rec { - name = "curl-7.61.0"; + name = "curl-7.61.1"; src = fetchurl { urls = [ "https://curl.haxx.se/download/${name}.tar.bz2" "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] name}/${name}.tar.bz2" ]; - sha256 = "173ccmnnr4qcawzgn7vm0ciyzphanzghigdgavg88nyg45lk6vsz"; + sha256 = "1f8rljpa98g7ry7qyvv6657cmvgrwmam9mdbjklv45lspiykf253"; }; outputs = [ "bin" "dev" "out" "man" "devdoc" ]; From 7705c76c49cf2958e56dc3293ea1fc5dd9aabfbf Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Sat, 8 Sep 2018 23:04:51 +0000 Subject: [PATCH 022/130] git: use default texinfo --- pkgs/applications/version-management/git-and-tools/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index 2093c86b050c..10c3d3391d60 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -4,7 +4,6 @@ args @ {config, lib, pkgs}: with args; with pkgs; let gitBase = callPackage ./git { - texinfo = texinfo5; svnSupport = false; # for git-svn support guiSupport = false; # requires tcl/tk sendEmailSupport = false; # requires plenty of perl libraries From 53c9efe9e51fa7355a4a41c559f08d4b2cff496e Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Sat, 8 Sep 2018 23:04:55 +0000 Subject: [PATCH 023/130] gpgme: use default texinfo --- pkgs/development/libraries/gpgme/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix index 71fe23ea6b0d..416ecb5631ed 100644 --- a/pkgs/development/libraries/gpgme/default.nix +++ b/pkgs/development/libraries/gpgme/default.nix @@ -2,7 +2,7 @@ , file, which , autoreconfHook , git -, texinfo5 +, texinfo , qtbase ? null , withPython ? false, swig2 ? null, python ? null }: @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { [ libgpgerror glib libassuan pth ] ++ lib.optional (qtbase != null) qtbase; - nativeBuildInputs = [ file pkgconfig gnupg autoreconfHook git texinfo5 ] + nativeBuildInputs = [ file pkgconfig gnupg autoreconfHook git texinfo ] ++ lib.optionals withPython [ python swig2 which ]; postPatch ='' From 1ac912bf1b964f0703b1bd8b10fb445006cdc383 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Sun, 9 Sep 2018 05:37:29 -0400 Subject: [PATCH 024/130] texlive: Adds patch for missing synctex header. (#46376) This seems like a known issue as other distributions (ArchLinux here) have patches fixing the issue. This hopefully fixes more than one dependant builds for ZHF 18.09. --- pkgs/tools/typesetting/tex/texlive/bin.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index 53fac978ebb0..e3528ce699d1 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -32,6 +32,11 @@ let url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/texlive-poppler-0.64.patch?h=packages/texlive-bin; sha256 = "0443d074zl3c5raba8jyhavish706arjcd80ibb84zwnwck4ai0w"; }) + (fetchurl { + name = "synctex-missing-header.patch"; + url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/synctex-missing-header.patch?h=packages/texlive-bin&id=da56abf0f8a1e85daca0ec0f031b8fa268519e6b; + sha256 = "1c4aq8lk8g3mlfq3mdjnxvmhss3qs7nni5rmw0k054dmj6q1xj5n"; + }) ]; configureFlags = [ From fc5daa7b68409a1a9f0794b8672ab9d11c8751c7 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 7 Sep 2018 17:25:04 -0500 Subject: [PATCH 025/130] mesa: 18.1.7 -> 18.1.8 https://www.mesa3d.org/relnotes/18.1.8.html --- pkgs/development/libraries/mesa/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index fb02366f1c1b..c8eee42a2527 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -67,7 +67,7 @@ let in let - version = "18.1.7"; + version = "18.1.8"; branch = head (splitString "." version); in @@ -81,7 +81,7 @@ let self = stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz" ]; - sha256 = "655e3b32ce3bdddd5e6e8768596e5d4bdef82d0dd37067c324cc4b2daa207306"; + sha256 = "bd1be67fe9c73b517765264ac28911c84144682d28dbff140e1c2deb2f44c21b"; }; prePatch = "patchShebangs ."; From c64d76d0e682aa6094c3171e79475ad5be746b15 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 5 Sep 2018 13:57:25 -0400 Subject: [PATCH 026/130] dhcpcd: No need to hack around broken patchShebangs anymore --- pkgs/tools/networking/dhcpcd/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix index 1fe29b8b96ff..bb568bd2c1e7 100644 --- a/pkgs/tools/networking/dhcpcd/default.nix +++ b/pkgs/tools/networking/dhcpcd/default.nix @@ -11,7 +11,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ udev ]; + buildInputs = [ + udev + runtimeShellPackage # So patchShebangs finds a bash suitable for the installed scripts + ]; preConfigure = "patchShebangs ./configure"; @@ -29,11 +32,6 @@ stdenv.mkDerivation rec { # Check that the udev plugin got built. postInstall = stdenv.lib.optional (udev != null) "[ -e $out/lib/dhcpcd/dev/udev.so ]"; - # TODO shlevy remove once patchShebangs is fixed - postFixup = '' - find $out -type f -print0 | xargs --null sed -i 's|${stdenv.shellPackage}|${runtimeShellPackage}|' - ''; - meta = { description = "A client for the Dynamic Host Configuration Protocol (DHCP)"; homepage = https://roy.marples.name/projects/dhcpcd; From b66ef28841319bf1a281bde4e97c82458839a483 Mon Sep 17 00:00:00 2001 From: Justin Humm Date: Mon, 20 Aug 2018 20:30:02 +0200 Subject: [PATCH 027/130] buildRustPackage, fetchcargo: optionally use vendor config from cargo-vendor By setting useRealVendorConfig explicitly to true, the actual (slightly modified) config generated by cargo-vendor is used. This solves a problem, where the static vendor config in pkgs/build-support/rust/default.nix would not sufficiently replace all crates Cargo is looking for. As useRealVendorConfig (and writeVendorConfig in fetchcargo) default to false, there should be no breakage in existing cargoSha256 hashes. Nethertheless, imho using this new feature should become standard. A possible deprecation path could be: - introduce this patch - set useRealVendorConfig explicitly to false whereever cargoSha256 is set but migration is not wanted yet. - after some time, let writeVendorConfig default to true - when useRealVendorConfig is true everywhere cargoSha256 is set and enough time is passed, `assert cargoVendorDir == null -> useRealVendorConfig;`, remove old behaviour - after some time, remove all appearences of useRealVendorConfig and the parameter itself --- doc/languages-frameworks/rust.section.md | 11 ++++++++- nixos/doc/manual/release-notes/rl-1809.xml | 21 +++++++++++++++++ pkgs/build-support/rust/default.nix | 26 ++++++++++++++++------ pkgs/build-support/rust/fetchcargo.nix | 10 +++++---- 4 files changed, 56 insertions(+), 12 deletions(-) diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md index 6588281878a0..737759fd8bd8 100644 --- a/doc/languages-frameworks/rust.section.md +++ b/doc/languages-frameworks/rust.section.md @@ -42,7 +42,8 @@ rustPlatform.buildRustPackage rec { sha256 = "0y5d1n6hkw85jb3rblcxqas2fp82h3nghssa4xqrhqnz25l799pj"; }; - cargoSha256 = "0q68qyl2h6i0qsz82z840myxlnjay8p1w5z7hfyr8fqp7wgwa9cx"; + cargoSha256 = "194lzn9xjkc041lmqnm676ydgbhn45xx9jhrhz6lzlg99yr6b880"; + useRealVendorConfig = true; meta = with stdenv.lib; { description = "A fast line-oriented regex search tool, similar to ag and ack"; @@ -64,6 +65,14 @@ When the `Cargo.lock`, provided by upstream, is not in sync with the added in `cargoPatches` will also be prepended to the patches in `patches` at build-time. +The `useRealVendorConfig` parameter tells cargo-vendor to include a Cargo +configuration file in the fetched dependencies. This will fix problems with +projects, where Crates are downloaded from non-crates.io sources. Please note, +that currently this parameter defaults to `false` only due to compatibility +reasons, as setting this to `true` requires a change in `cargoSha256`. +Eventually this distinction will be deprecated, so please always set +`useRealVendorConfig` to `true` and make sure to recompute the `cargoSha256`. + To install crates with nix there is also an experimental project called [nixcrates](https://github.com/fractalide/nixcrates). diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml index 01421fc5dda7..dd04996925bb 100644 --- a/nixos/doc/manual/release-notes/rl-1809.xml +++ b/nixos/doc/manual/release-notes/rl-1809.xml @@ -551,6 +551,27 @@ inherit (pkgs.nixos { stdenv.buildPlatform, stdenv.hostPlatform, and stdenv.targetPlatform. + + + The buildRustPackage function got the new + argument useRealVendorConfig, currently + defaulting to false. Setting it to + true necessates the recomputation of the + cargoSha256 and fixes a problem with + dependencies, that were fetched from a non-crates.io source. + Eventually only the true behaviour will be kept, + so please set it explicitly to true and + recompute your cargoSha256, so that we can + migrate to the new behaviour and deprecate the option. + + + While recomputing cargoSha256, it is important + to first invalidate the hash (e.g. by changing a digit), so that + Nix actually rebuilds the fixed-output derivation. Otherwise this + could lead to hard to detect errors, where a package seemingly + builds on your computer, but breaks on others! + + diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index 820989a76206..a2dc5df4d926 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -17,9 +17,15 @@ in , cargoBuildFlags ? [] , cargoVendorDir ? null +# This tells cargo-vendor to include a Cargo config file in the fixed-output +# derivation. This is desirable in every case, so please set it to true. +# Eventually this will default to true and even later this option and the old +# behaviour will be removed. +, useRealVendorConfig ? false , ... } @ args: assert cargoVendorDir == null -> cargoSha256 != "unset"; +assert cargoVendorDir != null -> !useRealVendorConfig; let cargoDeps = if cargoVendorDir == null @@ -27,6 +33,7 @@ let inherit name src srcs sourceRoot cargoUpdateHook; patches = cargoPatches; sha256 = cargoSha256; + writeVendorConfig = useRealVendorConfig; } else null; @@ -61,14 +68,19 @@ in stdenv.mkDerivation (args // { ${setupVendorDir} mkdir .cargo - cat >.cargo/config <<-EOF - [source.crates-io] - registry = 'https://github.com/rust-lang/crates.io-index' - replace-with = 'vendored-sources' + '' + (if useRealVendorConfig then '' + sed "s|directory = \".*\"|directory = \"$(pwd)/$cargoDepsCopy\"|g" \ + "$(pwd)/$cargoDepsCopy/.cargo/config" > .cargo/config + '' else '' + cat >.cargo/config <<-EOF + [source.crates-io] + registry = 'https://github.com/rust-lang/crates.io-index' + replace-with = 'vendored-sources' - [source.vendored-sources] - directory = '$(pwd)/$cargoDepsCopy' - EOF + [source.vendored-sources] + directory = '$(pwd)/$cargoDepsCopy' + EOF + '') + '' unset cargoDepsCopy diff --git a/pkgs/build-support/rust/fetchcargo.nix b/pkgs/build-support/rust/fetchcargo.nix index 2670ed528640..2d8a36a30ace 100644 --- a/pkgs/build-support/rust/fetchcargo.nix +++ b/pkgs/build-support/rust/fetchcargo.nix @@ -1,5 +1,5 @@ { stdenv, cacert, git, rust, cargo-vendor }: -{ name ? "cargo-deps", src, srcs, patches, sourceRoot, sha256, cargoUpdateHook ? "" }: +{ name ? "cargo-deps", src, srcs, patches, sourceRoot, sha256, cargoUpdateHook ? "", writeVendorConfig ? false }: stdenv.mkDerivation { name = "${name}-vendor"; nativeBuildInputs = [ cacert cargo-vendor git rust.cargo ]; @@ -23,9 +23,11 @@ stdenv.mkDerivation { ${cargoUpdateHook} - cargo vendor - - cp -ar vendor $out + mkdir -p $out + cargo vendor $out > config + '' + stdenv.lib.optionalString writeVendorConfig '' + mkdir $out/.cargo + sed "s|directory = \".*\"|directory = \"./vendor\"|g" config > $out/.cargo/config ''; outputHashAlgo = "sha256"; From ccf72b853738cba2de2c4b22cfc1668792201bb3 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Sat, 8 Sep 2018 14:14:56 +0200 Subject: [PATCH 028/130] fetchcargo: normalise cargo config to ensure determinism --- .../rust/cargo-vendor-normalise.py | 32 +++++++++++++++++++ pkgs/build-support/rust/default.nix | 8 ++--- pkgs/build-support/rust/fetchcargo.nix | 13 ++++++-- 3 files changed, 47 insertions(+), 6 deletions(-) create mode 100755 pkgs/build-support/rust/cargo-vendor-normalise.py diff --git a/pkgs/build-support/rust/cargo-vendor-normalise.py b/pkgs/build-support/rust/cargo-vendor-normalise.py new file mode 100755 index 000000000000..194636968564 --- /dev/null +++ b/pkgs/build-support/rust/cargo-vendor-normalise.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python + +import toml +import sys + +def escape(s): + return '"'+s.replace('"', r'\"').replace("\n", r"\n").replace("\\", "\\\\")+'"' + +data = toml.load(sys.stdin) + +assert list(data.keys()) == [ "source" ] + +# this value is non deterministic +data["source"]["vendored-sources"]["directory"] = "@vendor@" + +result = "" +inner = data["source"] +for source in sorted(inner.keys()): + result += '[source.{}]\n'.format(escape(source)) + if source == "vendored-sources": + result += '"directory" = "@vendor@"\n' + else: + for key in sorted(inner[source].keys()): + result += '{} = {}\n'.format(escape(key), escape(inner[source][key])) + result += "\n" + +real = toml.loads(result) +assert real == data, "output = {} while input = {}".format(real, data) + +print(result) + + diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index a2dc5df4d926..864e42c47619 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -1,7 +1,7 @@ -{ stdenv, cacert, git, rust, cargo-vendor }: +{ stdenv, cacert, git, rust, cargo-vendor, python3 }: let fetchcargo = import ./fetchcargo.nix { - inherit stdenv cacert git rust cargo-vendor; + inherit stdenv cacert git rust cargo-vendor python3; }; in { name, cargoSha256 ? "unset" @@ -69,8 +69,8 @@ in stdenv.mkDerivation (args // { mkdir .cargo '' + (if useRealVendorConfig then '' - sed "s|directory = \".*\"|directory = \"$(pwd)/$cargoDepsCopy\"|g" \ - "$(pwd)/$cargoDepsCopy/.cargo/config" > .cargo/config + substitute "$(pwd)/$cargoDepsCopy/.cargo/config" .cargo/config \ + --subst-var-by vendor "$(pwd)/$cargoDepsCopy" '' else '' cat >.cargo/config <<-EOF [source.crates-io] diff --git a/pkgs/build-support/rust/fetchcargo.nix b/pkgs/build-support/rust/fetchcargo.nix index 2d8a36a30ace..f04988a7dc13 100644 --- a/pkgs/build-support/rust/fetchcargo.nix +++ b/pkgs/build-support/rust/fetchcargo.nix @@ -1,5 +1,14 @@ -{ stdenv, cacert, git, rust, cargo-vendor }: +{ stdenv, cacert, git, rust, cargo-vendor, python3 }: { name ? "cargo-deps", src, srcs, patches, sourceRoot, sha256, cargoUpdateHook ? "", writeVendorConfig ? false }: +let cargo-vendor-normalise = stdenv.mkDerivation { + name = "cargo-vendor-normalise"; + src = ./cargo-vendor-normalise.py; + unpackPhase = ":"; + installPhase = "install -D $src $out/bin/cargo-vendor-normalise"; + buildInputs = [ (python3.withPackages(ps: [ ps.toml ])) ]; + preferLocalBuild = true; +}; +in stdenv.mkDerivation { name = "${name}-vendor"; nativeBuildInputs = [ cacert cargo-vendor git rust.cargo ]; @@ -27,7 +36,7 @@ stdenv.mkDerivation { cargo vendor $out > config '' + stdenv.lib.optionalString writeVendorConfig '' mkdir $out/.cargo - sed "s|directory = \".*\"|directory = \"./vendor\"|g" config > $out/.cargo/config + < config ${cargo-vendor-normalise}/bin/cargo-vendor-normalise > $out/.cargo/config ''; outputHashAlgo = "sha256"; From f20b229aa19e92914aba7fe990201be730c07a10 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Sun, 9 Sep 2018 15:54:00 +0200 Subject: [PATCH 029/130] fectchcargo: don't break old sha256 --- doc/languages-frameworks/rust.section.md | 11 +------- nixos/doc/manual/release-notes/rl-1809.xml | 21 --------------- pkgs/build-support/rust/default.nix | 26 +++++-------------- .../rust/fetchcargo-default-config.toml | 7 +++++ pkgs/build-support/rust/fetchcargo.nix | 17 +++++++----- 5 files changed, 25 insertions(+), 57 deletions(-) create mode 100755 pkgs/build-support/rust/fetchcargo-default-config.toml diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md index 737759fd8bd8..6588281878a0 100644 --- a/doc/languages-frameworks/rust.section.md +++ b/doc/languages-frameworks/rust.section.md @@ -42,8 +42,7 @@ rustPlatform.buildRustPackage rec { sha256 = "0y5d1n6hkw85jb3rblcxqas2fp82h3nghssa4xqrhqnz25l799pj"; }; - cargoSha256 = "194lzn9xjkc041lmqnm676ydgbhn45xx9jhrhz6lzlg99yr6b880"; - useRealVendorConfig = true; + cargoSha256 = "0q68qyl2h6i0qsz82z840myxlnjay8p1w5z7hfyr8fqp7wgwa9cx"; meta = with stdenv.lib; { description = "A fast line-oriented regex search tool, similar to ag and ack"; @@ -65,14 +64,6 @@ When the `Cargo.lock`, provided by upstream, is not in sync with the added in `cargoPatches` will also be prepended to the patches in `patches` at build-time. -The `useRealVendorConfig` parameter tells cargo-vendor to include a Cargo -configuration file in the fetched dependencies. This will fix problems with -projects, where Crates are downloaded from non-crates.io sources. Please note, -that currently this parameter defaults to `false` only due to compatibility -reasons, as setting this to `true` requires a change in `cargoSha256`. -Eventually this distinction will be deprecated, so please always set -`useRealVendorConfig` to `true` and make sure to recompute the `cargoSha256`. - To install crates with nix there is also an experimental project called [nixcrates](https://github.com/fractalide/nixcrates). diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml index dd04996925bb..01421fc5dda7 100644 --- a/nixos/doc/manual/release-notes/rl-1809.xml +++ b/nixos/doc/manual/release-notes/rl-1809.xml @@ -551,27 +551,6 @@ inherit (pkgs.nixos { stdenv.buildPlatform, stdenv.hostPlatform, and stdenv.targetPlatform. - - - The buildRustPackage function got the new - argument useRealVendorConfig, currently - defaulting to false. Setting it to - true necessates the recomputation of the - cargoSha256 and fixes a problem with - dependencies, that were fetched from a non-crates.io source. - Eventually only the true behaviour will be kept, - so please set it explicitly to true and - recompute your cargoSha256, so that we can - migrate to the new behaviour and deprecate the option. - - - While recomputing cargoSha256, it is important - to first invalidate the hash (e.g. by changing a digit), so that - Nix actually rebuilds the fixed-output derivation. Otherwise this - could lead to hard to detect errors, where a package seemingly - builds on your computer, but breaks on others! - - diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index 864e42c47619..1d5de052f893 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -17,15 +17,9 @@ in , cargoBuildFlags ? [] , cargoVendorDir ? null -# This tells cargo-vendor to include a Cargo config file in the fixed-output -# derivation. This is desirable in every case, so please set it to true. -# Eventually this will default to true and even later this option and the old -# behaviour will be removed. -, useRealVendorConfig ? false , ... } @ args: assert cargoVendorDir == null -> cargoSha256 != "unset"; -assert cargoVendorDir != null -> !useRealVendorConfig; let cargoDeps = if cargoVendorDir == null @@ -33,7 +27,6 @@ let inherit name src srcs sourceRoot cargoUpdateHook; patches = cargoPatches; sha256 = cargoSha256; - writeVendorConfig = useRealVendorConfig; } else null; @@ -68,19 +61,12 @@ in stdenv.mkDerivation (args // { ${setupVendorDir} mkdir .cargo - '' + (if useRealVendorConfig then '' - substitute "$(pwd)/$cargoDepsCopy/.cargo/config" .cargo/config \ - --subst-var-by vendor "$(pwd)/$cargoDepsCopy" - '' else '' - cat >.cargo/config <<-EOF - [source.crates-io] - registry = 'https://github.com/rust-lang/crates.io-index' - replace-with = 'vendored-sources' - - [source.vendored-sources] - directory = '$(pwd)/$cargoDepsCopy' - EOF - '') + '' + config="$(pwd)/$cargoDepsCopy/.cargo/config"; + if [[ ! -e $config ]]; then + config=${./fetchcargo-default-config.toml}; + fi; + substitute $config .cargo/config \ + --subst-var-by vendor "$(pwd)/$cargoDepsCopy" unset cargoDepsCopy diff --git a/pkgs/build-support/rust/fetchcargo-default-config.toml b/pkgs/build-support/rust/fetchcargo-default-config.toml new file mode 100755 index 000000000000..dd8ebbc32d31 --- /dev/null +++ b/pkgs/build-support/rust/fetchcargo-default-config.toml @@ -0,0 +1,7 @@ +[source."crates-io"] +"replace-with" = "vendored-sources" + +[source."vendored-sources"] +"directory" = "@vendor@" + + diff --git a/pkgs/build-support/rust/fetchcargo.nix b/pkgs/build-support/rust/fetchcargo.nix index f04988a7dc13..1a40a362d9b5 100644 --- a/pkgs/build-support/rust/fetchcargo.nix +++ b/pkgs/build-support/rust/fetchcargo.nix @@ -1,5 +1,4 @@ { stdenv, cacert, git, rust, cargo-vendor, python3 }: -{ name ? "cargo-deps", src, srcs, patches, sourceRoot, sha256, cargoUpdateHook ? "", writeVendorConfig ? false }: let cargo-vendor-normalise = stdenv.mkDerivation { name = "cargo-vendor-normalise"; src = ./cargo-vendor-normalise.py; @@ -9,9 +8,10 @@ let cargo-vendor-normalise = stdenv.mkDerivation { preferLocalBuild = true; }; in +{ name ? "cargo-deps", src, srcs, patches, sourceRoot, sha256, cargoUpdateHook ? "" }: stdenv.mkDerivation { name = "${name}-vendor"; - nativeBuildInputs = [ cacert cargo-vendor git rust.cargo ]; + nativeBuildInputs = [ cacert cargo-vendor git cargo-vendor-normalise rust.cargo ]; inherit src srcs patches sourceRoot; phases = "unpackPhase patchPhase installPhase"; @@ -33,10 +33,15 @@ stdenv.mkDerivation { ${cargoUpdateHook} mkdir -p $out - cargo vendor $out > config - '' + stdenv.lib.optionalString writeVendorConfig '' - mkdir $out/.cargo - < config ${cargo-vendor-normalise}/bin/cargo-vendor-normalise > $out/.cargo/config + cargo vendor $out | cargo-vendor-normalise > config + # fetchcargo used to never keep the config output by cargo vendor + # and instead hardcode the config in ./fetchcargo-default-config.toml. + # This broke on packages needing git dependencies, so now we keep the config. + # But not to break old cargoSha256, if the previous behavior was enough, + # we don't store the config. + if ! cmp config ${./fetchcargo-default-config.toml} > /dev/null; then + install -Dt $out/.cargo config; + fi; ''; outputHashAlgo = "sha256"; From 7bfa20198afce7830ff2daccb4400f03c9f40e0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 11 Sep 2018 21:49:16 +0100 Subject: [PATCH 030/130] fetchcargo: add type checking to cargo-vendor-normalise.py --- .../rust/cargo-vendor-normalise.py | 61 +++++++++++-------- 1 file changed, 35 insertions(+), 26 deletions(-) diff --git a/pkgs/build-support/rust/cargo-vendor-normalise.py b/pkgs/build-support/rust/cargo-vendor-normalise.py index 194636968564..2d7a18957184 100755 --- a/pkgs/build-support/rust/cargo-vendor-normalise.py +++ b/pkgs/build-support/rust/cargo-vendor-normalise.py @@ -1,32 +1,41 @@ #!/usr/bin/env python -import toml import sys -def escape(s): - return '"'+s.replace('"', r'\"').replace("\n", r"\n").replace("\\", "\\\\")+'"' - -data = toml.load(sys.stdin) - -assert list(data.keys()) == [ "source" ] - -# this value is non deterministic -data["source"]["vendored-sources"]["directory"] = "@vendor@" - -result = "" -inner = data["source"] -for source in sorted(inner.keys()): - result += '[source.{}]\n'.format(escape(source)) - if source == "vendored-sources": - result += '"directory" = "@vendor@"\n' - else: - for key in sorted(inner[source].keys()): - result += '{} = {}\n'.format(escape(key), escape(inner[source][key])) - result += "\n" - -real = toml.loads(result) -assert real == data, "output = {} while input = {}".format(real, data) - -print(result) +import toml +def quote(s: str) -> str: + escaped = s.replace('"', r"\"").replace("\n", r"\n").replace("\\", "\\\\") + return '"{}"'.format(escaped) + + +def main() -> None: + data = toml.load(sys.stdin) + + assert list(data.keys()) == ["source"] + + # this value is non deterministic + data["source"]["vendored-sources"]["directory"] = "@vendor@" + + lines = [] + inner = data["source"] + for source, attrs in sorted(inner.items()): + lines.append("[source.{}]".format(quote(source))) + if source == "vendored-sources": + lines.append('"directory" = "@vendor@"\n') + else: + for key, value in sorted(attrs.items()): + attr = "{} = {}".format(quote(key), quote(value)) + lines.append(attr) + lines.append("") + + result = "\n".join(lines) + real = toml.loads(result) + assert real == data, "output = {} while input = {}".format(real, data) + + print(result) + + +if __name__ == "__main__": + main() From 33dab23255cedcf83fe1710a35b9b962f41406aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 11 Sep 2018 21:52:06 +0100 Subject: [PATCH 031/130] alacritty: switch back to upstream source Thanks to https://github.com/NixOS/nixpkgs/pull/46362 We can now support git dependencies! --- pkgs/applications/misc/alacritty/default.nix | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix index 4544ed1fba3b..98e93321265e 100644 --- a/pkgs/applications/misc/alacritty/default.nix +++ b/pkgs/applications/misc/alacritty/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, - fetchgit, + fetchFromGitHub, rustPlatform, cmake, makeWrapper, @@ -51,18 +51,16 @@ let ]; in buildRustPackage rec { name = "alacritty-unstable-${version}"; - version = "2018-08-30"; + version = "2018-08-05"; - # At the moment we cannot handle git dependencies in buildRustPackage. - # This fork only replaces rust-fontconfig/libfontconfig with a git submodules. - src = fetchgit { - url = https://github.com/Mic92/alacritty.git; - rev = "rev-${version}"; - sha256 = "0izvg7dwwb763jc6gnmn47i5zrkxvmh3vssn6vzrrmqhd4j3msmf"; - fetchSubmodules = true; + src = fetchFromGitHub { + owner = "jwilm"; + repo = "alacritty"; + rev = "1adb5cb7fc05054197aa08e0d1fa957df94888ab"; + sha256 = "06rc7dy1vn59lc5hjh953h9lh0f39c0n0jmrz472mrya722fl2ab"; }; - cargoSha256 = "1ijgkwv9ij4haig1h6n2b9xbhp5vahy9vp1sx72wxaaj9476msjx"; + cargoSha256 = "0ms0248bb2lgbzcqks6i0qhn1gaiim3jf1kl17qw52c8an3rc652"; nativeBuildInputs = [ cmake From a3e1da17cb10327f1045e22f49dba1f959ac769e Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Tue, 11 Sep 2018 23:40:35 +0200 Subject: [PATCH 032/130] cargo-vendor-normalise: add a small install check --- pkgs/build-support/rust/fetchcargo.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/build-support/rust/fetchcargo.nix b/pkgs/build-support/rust/fetchcargo.nix index 1a40a362d9b5..eb51e5c4ff9a 100644 --- a/pkgs/build-support/rust/fetchcargo.nix +++ b/pkgs/build-support/rust/fetchcargo.nix @@ -4,6 +4,13 @@ let cargo-vendor-normalise = stdenv.mkDerivation { src = ./cargo-vendor-normalise.py; unpackPhase = ":"; installPhase = "install -D $src $out/bin/cargo-vendor-normalise"; + doInstallCheck = true; + installCheckPhase = '' + # check that ./fetchcargo-default-config.toml is a fix point + reference=${./fetchcargo-default-config.toml} + < $reference $out/bin/cargo-vendor-normalise > test; + cmp test $reference + ''; buildInputs = [ (python3.withPackages(ps: [ ps.toml ])) ]; preferLocalBuild = true; }; From d8b7ffc7efa63d03eeaf3ee26555c75b14c43881 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Wed, 12 Sep 2018 21:55:03 +0900 Subject: [PATCH 033/130] iproute: add $dev output (#46558) to provide the user API include/ that was previously dropped. --- pkgs/os-specific/linux/iproute/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index 13135844aa7a..8f81ec4918ed 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -16,6 +16,8 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace " netem " " " ''; + outputs = [ "out" "dev"]; + makeFlags = [ "DESTDIR=" "LIBDIR=$(out)/lib" @@ -23,7 +25,7 @@ stdenv.mkDerivation rec { "MANDIR=$(out)/share/man" "BASH_COMPDIR=$(out)/share/bash-completion/completions" "DOCDIR=$(TMPDIR)/share/doc/${name}" # Don't install docs - "HDRDIR=$(TMPDIR)/include/iproute2" # Don't install headers + "HDRDIR=$(dev)/include/iproute2" ]; buildFlags = [ From aea9db9d5044b56925b968972b1c044c46b5bf71 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 12 Sep 2018 14:13:02 -0700 Subject: [PATCH 034/130] gdbm: 1.17 -> 1.18 (#46285) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/gdbm/versions --- pkgs/development/libraries/gdbm/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix index 685775e2918d..8d88dc04924b 100644 --- a/pkgs/development/libraries/gdbm/default.nix +++ b/pkgs/development/libraries/gdbm/default.nix @@ -1,13 +1,13 @@ { stdenv, lib, fetchurl }: stdenv.mkDerivation rec { - name = "gdbm-1.17"; - # FIXME: remove on update to > 1.17 + name = "gdbm-1.18"; + # FIXME: remove on update to > 1.18 NIX_CFLAGS_COMPILE = if stdenv.cc.isClang then "-Wno-error=return-type" else null; src = fetchurl { url = "mirror://gnu/gdbm/${name}.tar.gz"; - sha256 = "0zcp2iv5dbab18859a5fvacg8lkp8k4pr9af13kfvami6lpcrn3w"; + sha256 = "1kimnv12bzjjhaqk4c8w2j6chdj9c6bg21lchaf7abcyfss2r0mq"; }; doCheck = true; # not cross; From ffafe959ee302fe645a77dfae9a719b5d6709fa3 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Tue, 11 Sep 2018 23:20:20 +0200 Subject: [PATCH 035/130] rustc: 1.27 -> 1.29 --- .../networking/browsers/firefox/packages.nix | 6 ++++++ pkgs/development/compilers/rust/bootstrap.nix | 14 +++++++------- pkgs/development/compilers/rust/cargo.nix | 3 +++ pkgs/development/compilers/rust/default.nix | 6 +++--- pkgs/development/compilers/rust/rustc.nix | 5 +++++ 5 files changed, 24 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 984d80167c39..b8f05cc8e5d6 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -28,6 +28,12 @@ rec { patches = nixpkgsPatches ++ [ ./no-buildconfig.patch + # fix build with rust >= 1.29 and firefox < 63 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1479540 + (fetchpatch { + url = "https://github.com/mozilla/gecko-dev/commit/eec0d4f8714e6671402d41632232ef57348e65c4.patch"; + sha256 = "1cjaqx811bcnp8b6z16q25csaclaic3b11q45ck02srd99n8qp0j"; + }) ]; extraNativeBuildInputs = [ python3 ]; diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix index 901675ff31b4..55348c5795ad 100644 --- a/pkgs/development/compilers/rust/bootstrap.nix +++ b/pkgs/development/compilers/rust/bootstrap.nix @@ -3,16 +3,16 @@ let # Note: the version MUST be one version prior to the version we're # building - version = "1.26.2"; + version = "1.28.0"; # fetch hashes by running `print-hashes.sh 1.24.1` hashes = { - i686-unknown-linux-gnu = "e22286190a074bfb6d47c9fde236d712a53675af1563ba85ea33e0d40165f755"; - x86_64-unknown-linux-gnu = "d2b4fb0c544874a73c463993bde122f031c34897bb1eeb653d2ba2b336db83e6"; - armv7-unknown-linux-gnueabihf = "1140387a61083e3ef10e7a097269200fc7e9db6f6cc9f270e04319b3b429c655"; - aarch64-unknown-linux-gnu = "3dfad0dc9c795f7ee54c2099c9b7edf06b942adbbf02e9ed9e5d4b5e3f1f3759"; - i686-apple-darwin = "3a5de30f3e334a66bd320ec0e954961d348434da39a826284e00d55ea60f8370"; - x86_64-apple-darwin = "f193705d4c0572a358670dbacbf0ffadcd04b3989728b442f4680fa1e065fa72"; + i686-unknown-linux-gnu = "de7cdb4e665e897ea9b10bf6fd545f900683296456d6a11d8510397bb330455f"; + x86_64-unknown-linux-gnu = "2a1390340db1d24a9498036884e6b2748e9b4b057fc5219694e298bdaa37b810"; + armv7-unknown-linux-gnueabihf = "346558d14050853b87049e5e1fbfae0bf0360a2f7c57433c6985b1a879c349a2"; + aarch64-unknown-linux-gnu = "9b6fbcee73070332c811c0ddff399fa31965bec62ef258656c0c90354f6231c1"; + i686-apple-darwin = "752e2c9182e057c4a54152d1e0b3949482c225d02bb69d9d9a4127dc2a65fb68"; + x86_64-apple-darwin = "5d7a70ed4701fe9410041c1eea025c95cad97e5b3d8acc46426f9ac4f9f02393"; }; platform = diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix index 34932c911ebc..25a71965e0b4 100644 --- a/pkgs/development/compilers/rust/cargo.nix +++ b/pkgs/development/compilers/rust/cargo.nix @@ -28,6 +28,9 @@ rustPlatform.buildRustPackage rec { LIBGIT2_SYS_USE_PKG_CONFIG=1; + # fixes: the cargo feature `edition` requires a nightly version of Cargo, but this is the `stable` channel + RUSTC_BOOTSTRAP=1; + # FIXME: Use impure version of CoreFoundation because of missing symbols. # CFURLSetResourcePropertyForKey is defined in the headers but there's no # corresponding implementation in the sources from opensource.apple.com. diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index d368c977f8f8..47415ac9177b 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -6,11 +6,11 @@ let rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {})); - version = "1.27.0"; - cargoVersion = "1.27.0"; + version = "1.29.0"; + cargoVersion = "1.29.0"; src = fetchurl { url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; - sha256 = "089d7rhw55zpvnw71dj8vil6qrylvl4xjr4m8bywjj83d4zq1f9c"; + sha256 = "1sb15znckj8pc8q3g7cq03pijnida6cg64yqmgiayxkzskzk9sx4"; }; in rec { rustc = callPackage ./rustc.nix { diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 9c9788ff4834..a054ed0eb557 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -105,6 +105,11 @@ stdenv.mkDerivation { # On Hydra: `TcpListener::bind(&addr)`: Address already in use (os error 98)' sed '/^ *fn fast_rebind()/i#[ignore]' -i src/libstd/net/tcp.rs + # https://github.com/rust-lang/rust/issues/39522 + echo removing gdb-version-sensitive tests... + find src/test/debuginfo -type f -execdir grep -q ignore-gdb-version '{}' \; -print -delete + rm src/test/debuginfo/{borrowed-c-style-enum.rs,c-style-enum-in-composite.rs,gdb-pretty-struct-and-enums-pre-gdb-7-7.rs,generic-enum-with-different-disr-sizes.rs} + # Useful debugging parameter # export VERBOSE=1 '' + optionalString stdenv.isDarwin '' From ef04b4f283317d02397ce6546ef66868d59f45f3 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Fri, 14 Sep 2018 11:13:53 -0700 Subject: [PATCH 036/130] findutils: disable a bogus test --- pkgs/tools/misc/findutils/default.nix | 8 +++++- .../disable-getdtablesize-test.patch | 25 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 pkgs/tools/misc/findutils/disable-getdtablesize-test.patch diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix index d6eca100411b..e7c507903190 100644 --- a/pkgs/tools/misc/findutils/default.nix +++ b/pkgs/tools/misc/findutils/default.nix @@ -10,7 +10,13 @@ stdenv.mkDerivation rec { sha256 = "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y"; }; - patches = [ ./memory-leak.patch ./no-install-statedir.patch ]; + patches = [ + ./memory-leak.patch + ./no-install-statedir.patch + + # prevent tests from failing on old kernels + ./disable-getdtablesize-test.patch + ]; buildInputs = [ coreutils ]; # bin/updatedb script needs to call sort diff --git a/pkgs/tools/misc/findutils/disable-getdtablesize-test.patch b/pkgs/tools/misc/findutils/disable-getdtablesize-test.patch new file mode 100644 index 000000000000..611df364b687 --- /dev/null +++ b/pkgs/tools/misc/findutils/disable-getdtablesize-test.patch @@ -0,0 +1,25 @@ +diff --git a/tests/test-dup2.c b/tests/test-dup2.c +--- a/tests/test-dup2.c ++++ b/tests/test-dup2.c +@@ -157,8 +157,6 @@ main (void) + ASSERT (close (255) == 0); + ASSERT (close (256) == 0); + } +- ASSERT (dup2 (fd, bad_fd - 1) == bad_fd - 1); +- ASSERT (close (bad_fd - 1) == 0); + errno = 0; + ASSERT (dup2 (fd, bad_fd) == -1); + ASSERT (errno == EBADF); +diff --git a/tests/test-getdtablesize.c b/tests/test-getdtablesize.c +index a0325af..a83f8ec 100644 +--- a/tests/test-getdtablesize.c ++++ b/tests/test-getdtablesize.c +@@ -29,8 +29,6 @@ int + main (int argc, char *argv[]) + { + ASSERT (getdtablesize () >= 3); +- ASSERT (dup2 (0, getdtablesize() - 1) == getdtablesize () - 1); +- ASSERT (dup2 (0, getdtablesize()) == -1); + + return 0; + } From 56b95ba4376057a4064e2742bfe971dfae1422db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 15 Sep 2018 19:41:46 +0100 Subject: [PATCH 037/130] findutils: specify on which kernel version the test fail --- pkgs/tools/misc/findutils/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix index e7c507903190..d19117d4dcda 100644 --- a/pkgs/tools/misc/findutils/default.nix +++ b/pkgs/tools/misc/findutils/default.nix @@ -14,7 +14,8 @@ stdenv.mkDerivation rec { ./memory-leak.patch ./no-install-statedir.patch - # prevent tests from failing on old kernels + # Prevent tests from failing on old kernels (2.6x) + # getdtablesize reports incorrect values if getrlimit() fails ./disable-getdtablesize-test.patch ]; From 4efd4053ed183d63f09615cf30ea822e708a4fbe Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Sun, 9 Sep 2018 13:36:05 -0400 Subject: [PATCH 038/130] stdenv/darwin: integrate a new CoreFoundation This also updates the bootstrap tool builder to LLVM 5, but not the ones we actually use for bootstrap. I'll make that change in a subsequent commit so as to provide traceable provenance of the bootstrap tools. --- .../interpreters/python/cpython/2.7/boot.nix | 9 +++ .../libraries/libunistring/default.nix | 14 +++- pkgs/development/libraries/libuv/default.nix | 2 +- .../tools/build-managers/ninja/default.nix | 12 ++- .../CF/add-cfmachport.patch | 22 ------ .../CF/cf-bridging.patch | 39 ---------- .../apple-source-releases/CF/default.nix | 51 ------------- .../apple-source-releases/CF/remove-xpc.patch | 17 ----- .../darwin/apple-source-releases/default.nix | 1 - .../libsecurity_generic/default.nix | 1 - .../libsecurity_keychain/default.nix | 4 - .../os-specific/darwin/cf-private/default.nix | 74 ++++++++++++++----- .../darwin/swift-corelibs/corefoundation.nix | 23 ++++-- .../darwin/swift-corelibs/default.nix | 8 -- pkgs/stdenv/darwin/default.nix | 47 +++++++++--- pkgs/stdenv/darwin/make-bootstrap-tools.nix | 3 +- pkgs/top-level/darwin-packages.nix | 10 +-- 17 files changed, 148 insertions(+), 189 deletions(-) delete mode 100644 pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch delete mode 100644 pkgs/os-specific/darwin/apple-source-releases/CF/cf-bridging.patch delete mode 100644 pkgs/os-specific/darwin/apple-source-releases/CF/default.nix delete mode 100644 pkgs/os-specific/darwin/apple-source-releases/CF/remove-xpc.patch delete mode 100644 pkgs/os-specific/darwin/swift-corelibs/default.nix diff --git a/pkgs/development/interpreters/python/cpython/2.7/boot.nix b/pkgs/development/interpreters/python/cpython/2.7/boot.nix index 7d6f2541d3d1..976d30819dbe 100644 --- a/pkgs/development/interpreters/python/cpython/2.7/boot.nix +++ b/pkgs/development/interpreters/python/cpython/2.7/boot.nix @@ -43,6 +43,15 @@ stdenv.mkDerivation rec { ./deterministic-build.patch ]; + # Hack hack hack to stop shit from failing from a missing _scproxy on Darwin. Since + # we only use this python for bootstrappy things, it doesn't really matter if it + # doesn't have perfect proxy support in urllib :) this just makes it fall back on env + # vars instead of attempting to read the proxy configuration automatically, so not a + # huge loss even if for whatever reason we did want proxy support. + postPatch = '' + substituteInPlace Lib/urllib.py --replace "if sys.platform == 'darwin'" "if False" + ''; + DETERMINISTIC_BUILD = 1; preConfigure = '' diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix index 24da3a8e2c7d..312a5c118103 100644 --- a/pkgs/development/libraries/libunistring/default.nix +++ b/pkgs/development/libraries/libunistring/default.nix @@ -19,7 +19,19 @@ stdenv.mkDerivation rec { doCheck = true; - enableParallelBuilding = true; + /* This seems to cause several random failures like these, which I assume + is because of bad or missing target dependencies in their build system: + + ./unistdio/test-u16-vasnprintf2.sh: line 16: ./test-u16-vasnprintf1: No such file or directory + FAIL unistdio/test-u16-vasnprintf2.sh (exit status: 1) + + FAIL: unistdio/test-u16-vasnprintf3.sh + ====================================== + + ./unistdio/test-u16-vasnprintf3.sh: line 16: ./test-u16-vasnprintf1: No such file or directory + FAIL unistdio/test-u16-vasnprintf3.sh (exit status: 1) + */ + enableParallelBuilding = false; meta = { homepage = http://www.gnu.org/software/libunistring/; diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix index 9ee934cd78bb..f75ce4396a6d 100644 --- a/pkgs/development/libraries/libuv/default.nix +++ b/pkgs/development/libraries/libuv/default.nix @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { "tcp_open" "tcp_write_queue_order" "tcp_try_write" "tcp_writealot" "multiple_listen" "delayed_accept" "shutdown_close_tcp" "shutdown_eof" "shutdown_twice" "callback_stack" - "tty_pty" + "tty_pty" "condvar_5" ]; tdRegexp = lib.concatStringsSep "\\|" toDisable; in lib.optionalString doCheck '' diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix index b1df54f9bd5c..e1637e2f2cab 100644 --- a/pkgs/development/tools/build-managers/ninja/default.nix +++ b/pkgs/development/tools/build-managers/ninja/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchFromGitHub, python, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, re2c }: +{ stdenv, fetchFromGitHub, python, buildDocs ? true, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, re2c }: + +with stdenv.lib; stdenv.mkDerivation rec { name = "ninja-${version}"; @@ -11,25 +13,27 @@ stdenv.mkDerivation rec { sha256 = "16scq9hcq6c5ap6sy8j4qi75qps1zvrf3p79j1vbrvnqzp928i5f"; }; - nativeBuildInputs = [ python asciidoc docbook_xml_dtd_45 docbook_xsl libxslt.bin re2c ]; + nativeBuildInputs = [ python ] ++ optionals buildDocs [ asciidoc docbook_xml_dtd_45 docbook_xsl libxslt.bin re2c ]; buildPhase = '' python configure.py --bootstrap # "./ninja -vn manual" output copied here to support cross compilation. + '' + optionalString buildDocs '' asciidoc -b docbook -d book -o build/manual.xml doc/manual.asciidoc xsltproc --nonet doc/docbook.xsl build/manual.xml > doc/manual.html ''; installPhase = '' install -Dm555 -t $out/bin ninja - install -Dm444 -t $out/share/doc/ninja doc/manual.asciidoc doc/manual.html install -Dm444 misc/bash-completion $out/share/bash-completion/completions/ninja install -Dm444 misc/zsh-completion $out/share/zsh/site-functions/_ninja + '' + optionalString buildDocs '' + install -Dm444 -t $out/share/doc/ninja doc/manual.asciidoc doc/manual.html ''; setupHook = ./setup-hook.sh; - meta = with stdenv.lib; { + meta = { description = "Small build system with a focus on speed"; longDescription = '' Ninja is a small build system with a focus on speed. It differs from diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch b/pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch deleted file mode 100644 index a1018d389c14..000000000000 --- a/pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- CF-855.17/CoreFoundation.h 2015-01-03 00:17:41.000000000 -0500 -+++ CF-855.17/CoreFoundation.h.new 2015-01-03 00:18:35.000000000 -0500 -@@ -72,6 +72,7 @@ - #include - #include - #include -+#include - #include - #include - #include - ---- CF-855.17/Makefile 2015-01-03 00:32:52.000000000 -0500 -+++ CF-855.17/Makefile.new 2015-01-03 00:33:07.000000000 -0500 -@@ -9,7 +9,7 @@ - HFILES = $(wildcard *.h) - INTERMEDIATE_HFILES = $(addprefix $(OBJBASE)/CoreFoundation/,$(HFILES)) - --PUBLIC_HEADERS=CFArray.h CFBag.h CFBase.h CFBinaryHeap.h CFBitVector.h CFBundle.h CFByteOrder.h CFCalendar.h CFCharacterSet.h CFData.h CFDate.h CFDateFormatter.h CFDictionary.h CFError.h CFLocale.h CFMessagePort.h CFNumber.h CFNumberFormatter.h CFPlugIn.h CFPlugInCOM.h CFPreferences.h CFPropertyList.h CFRunLoop.h CFSet.h CFSocket.h CFStream.h CFString.h CFStringEncodingExt.h CFTimeZone.h CFTree.h CFURL.h CFURLAccess.h CFUUID.h CFUserNotification.h CFXMLNode.h CFXMLParser.h CFAvailability.h CFUtilities.h CoreFoundation.h -+PUBLIC_HEADERS=CFArray.h CFBag.h CFBase.h CFBinaryHeap.h CFBitVector.h CFBundle.h CFByteOrder.h CFCalendar.h CFCharacterSet.h CFData.h CFDate.h CFDateFormatter.h CFDictionary.h CFError.h CFLocale.h CFMachPort.h CFMessagePort.h CFNumber.h CFNumberFormatter.h CFPlugIn.h CFPlugInCOM.h CFPreferences.h CFPropertyList.h CFRunLoop.h CFSet.h CFSocket.h CFStream.h CFString.h CFStringEncodingExt.h CFTimeZone.h CFTree.h CFURL.h CFURLAccess.h CFUUID.h CFUserNotification.h CFXMLNode.h CFXMLParser.h CFAvailability.h CFUtilities.h CoreFoundation.h - - PRIVATE_HEADERS=CFBundlePriv.h CFCharacterSetPriv.h CFError_Private.h CFLogUtilities.h CFPriv.h CFRuntime.h CFStorage.h CFStreamAbstract.h CFStreamPriv.h CFStreamInternal.h CFStringDefaultEncoding.h CFStringEncodingConverter.h CFStringEncodingConverterExt.h CFUniChar.h CFUnicodeDecomposition.h CFUnicodePrecomposition.h ForFoundationOnly.h CFBurstTrie.h CFICULogging.h - diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/cf-bridging.patch b/pkgs/os-specific/darwin/apple-source-releases/CF/cf-bridging.patch deleted file mode 100644 index 068a6311a9cb..000000000000 --- a/pkgs/os-specific/darwin/apple-source-releases/CF/cf-bridging.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/CFBase.h b/CFBase.h -index ffddd2b..e5a926b 100644 ---- a/CFBase.h -+++ b/CFBase.h -@@ -249,6 +249,33 @@ CF_EXTERN_C_BEGIN - #endif - #endif - -+#if __has_attribute(objc_bridge) && __has_feature(objc_bridge_id) && __has_feature(objc_bridge_id_on_typedefs) -+ -+#ifdef __OBJC__ -+@class NSArray; -+@class NSAttributedString; -+@class NSString; -+@class NSNull; -+@class NSCharacterSet; -+@class NSData; -+@class NSDate; -+@class NSTimeZone; -+@class NSDictionary; -+@class NSError; -+@class NSLocale; -+@class NSNumber; -+@class NSSet; -+@class NSURL; -+#endif -+ -+#define CF_BRIDGED_TYPE(T) __attribute__((objc_bridge(T))) -+#define CF_BRIDGED_MUTABLE_TYPE(T) __attribute__((objc_bridge_mutable(T))) -+#define CF_RELATED_TYPE(T,C,I) __attribute__((objc_bridge_related(T,C,I))) -+#else -+#define CF_BRIDGED_TYPE(T) -+#define CF_BRIDGED_MUTABLE_TYPE(T) -+#define CF_RELATED_TYPE(T,C,I) -+#endif - - CF_EXPORT double kCFCoreFoundationVersionNumber; - - diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix deleted file mode 100644 index 5589d1592f46..000000000000 --- a/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ stdenv, appleDerivation, ICU, dyld, libdispatch, libplatform, launchd, libclosure }: - -# this project uses blocks, a clang-only extension -assert stdenv.cc.isClang; - -appleDerivation { - buildInputs = [ dyld ICU libdispatch libplatform launchd libclosure ]; - - patches = [ ./add-cfmachport.patch ./cf-bridging.patch ./remove-xpc.patch ]; - - __propagatedImpureHostDeps = [ "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation" ]; - - preBuild = '' - substituteInPlace Makefile \ - --replace "/usr/bin/clang" "clang" \ - --replace "-arch i386 " "" \ - --replace "/usr/bin/" "" \ - --replace "/usr/sbin/" "" \ - --replace "/bin/" "" \ - --replace "INSTALLNAME=/System" "INSTALLNAME=$out" \ - --replace "install_name_tool -id /System/Library/Frameworks" "install_name_tool -id @rpath" \ - --replace 'chown -RH -f root:wheel $(DSTBASE)/CoreFoundation.framework' "" \ - --replace 'chmod -RH' 'chmod -R' - - # with this file present, CoreFoundation gets a _main symbol defined, which can - # interfere with linking other programs - rm plconvert.c - - replacement=''$'#define __PTK_FRAMEWORK_COREFOUNDATION_KEY5 55\n#define _pthread_getspecific_direct(key) pthread_getspecific((key))\n#define _pthread_setspecific_direct(key, val) pthread_setspecific((key), (val))' - - substituteInPlace CFPlatform.c --replace "#include " "$replacement" - - substituteInPlace CFRunLoop.c --replace "#include " "" - - substituteInPlace CFURLPriv.h \ - --replace "#include " "" \ - --replace "#include " "" \ - --replace "CFFileSecurityRef" "void *" \ - --replace "CFURLEnumeratorResult" "void *" \ - --replace "CFURLEnumeratorRef" "void *" - - export DSTROOT=$out - ''; - - postInstall = '' - mv $out/System/* $out - rmdir $out/System - mv $out/Library/Frameworks/CoreFoundation.framework/Versions/A/PrivateHeaders/* \ - $out/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers - ''; -} diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/remove-xpc.patch b/pkgs/os-specific/darwin/apple-source-releases/CF/remove-xpc.patch deleted file mode 100644 index a7b9fe486434..000000000000 --- a/pkgs/os-specific/darwin/apple-source-releases/CF/remove-xpc.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CFBundlePriv.h b/CFBundlePriv.h -index d4feb5f..e7b52e8 100644 ---- a/CFBundlePriv.h -+++ b/CFBundlePriv.h -@@ -254,12 +254,6 @@ Boolean _CFBundleGetStringsFilesShared(CFBundleRef bundle); - CF_EXPORT - CFURLRef _CFBundleCopyFrameworkURLForExecutablePath(CFStringRef executablePath); - --#if (TARGET_OS_MAC && !(TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)) || (TARGET_OS_EMBEDDED || TARGET_OS_IPHONE) --#include --CF_EXPORT --void _CFBundleSetupXPCBootstrap(xpc_object_t bootstrap) CF_AVAILABLE(10_10, 8_0); --#endif -- - /* Functions deprecated as SPI */ - - CF_EXPORT diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix index e2d62cef1ba4..d490048c4df3 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix @@ -204,7 +204,6 @@ let bootstrap_cmds = applePackage "bootstrap_cmds" "dev-tools-7.0" "1v5dv2q3af1xwj5kz0a5g54fd5dm6j4c9dd2g66n4kc44ixyrhp3" {}; bsdmake = applePackage "bsdmake" "dev-tools-3.2.6" "11a9kkhz5bfgi1i8kpdkis78lhc6b5vxmhd598fcdgra1jw4iac2" {}; CarbonHeaders = applePackage "CarbonHeaders" "osx-10.6.2" "1zam29847cxr6y9rnl76zqmkbac53nx0szmqm9w5p469a6wzjqar" {}; - CF = applePackage "CF" "osx-10.10.5" "07f5psjxi7wyd13ci4x83ya5hy6p69sjfqcpp2mmxdlhd8yzkf74" {}; CommonCrypto = applePackage "CommonCrypto" "osx-10.11.6" "0vllfpb8f4f97wj2vpdd7w5k9ibnsbr6ff1zslpp6q323h01n25y" {}; configd = applePackage "configd" "osx-10.8.5" "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" {}; copyfile = applePackage "copyfile" "osx-10.11.6" "1rkf3iaxmjz5ycgrmf0g971kh90jb2z1zqxg5vlqz001s4y457gs" {}; diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix index fe68ee78d1f0..714524e8da58 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix @@ -33,7 +33,6 @@ name: version: sha256: args: let pkgs.gnustep.make pkgs.darwin.apple_sdk.frameworks.AppKit pkgs.darwin.apple_sdk.frameworks.Foundation - pkgs.darwin.cf-private ]; makeFlags = [ "-f${makeFile}" diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix index 609d07fda100..724c4788b6cc 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix @@ -39,9 +39,5 @@ appleDerivation { --replace 'return mLoginDLDbIdentifier;' 'return mLoginDLDbIdentifier; }' \ --replace '_xpc_runtime_is_app_sandboxed()' 'false' # hope that doesn't hurt anything - - substituteInPlace lib/KCEventNotifier.h --replace \ - 'CoreFoundation/CFNotificationCenter.h' \ - '${apple_sdk.sdk.out}/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers/CFNotificationCenter.h' ''; } diff --git a/pkgs/os-specific/darwin/cf-private/default.nix b/pkgs/os-specific/darwin/cf-private/default.nix index 603c0f652b01..3fac20d23c78 100644 --- a/pkgs/os-specific/darwin/cf-private/default.nix +++ b/pkgs/os-specific/darwin/cf-private/default.nix @@ -1,21 +1,59 @@ -{ stdenv, osx_private_sdk, CF }: +{ CF, apple_sdk }: -stdenv.mkDerivation { - name = "${CF.name}-private"; - phases = [ "installPhase" "fixupPhase" ]; - installPhase = '' - dest=$out/Library/Frameworks/CoreFoundation.framework/Headers - mkdir -p $dest - pushd $dest - for file in ${CF}/Library/Frameworks/CoreFoundation.framework/Headers/*; do - ln -sf $file - done - - # Copy or overwrite private headers, some of these might already - # exist in CF but the private versions have more information. - cp -Lfv ${osx_private_sdk}/include/CoreFoundationPrivateHeaders/* $dest - popd - ''; +# cf-private is a bit weird, but boils down to CF with a weird setup-hook that +# makes a build link against the system CoreFoundation rather than our pure one. +# The reason it exists is that although our CF headers and build are pretty legit +# now, the underlying runtime is quite different. Apple's in a bit of flux around CF +# right now, and support three different backends for it: swift, "C", and an ObjC +# one. The former two can be built from public sources, but the ObjC one isn't really +# public. Unfortunately, it's also one of the core underpinnings of a lot of Mac- +# specific behavior, and defines a lot of symbols that some Objective C apps depend +# on, even though one might expect those symbols to derive from Foundation. So if +# your app relies on NSArray and several other basic ObjC types, it turns out that +# because of their magic "toll-free bridging" support, the symbols for those types +# live in CoreFoundation with an ObjC runtime. And because that isn't public, we have +# this hack in place to let people link properly anyway. Phew! +# +# This can be revisited if Apple ever decide to release the ObjC backend in a publicly +# buildable form. +# +# This doesn't really need to rebuild CF, but it's cheap, and adding a setup hook to +# an existing package was annoying. We need a buildEnv that knows how to add those +CF.overrideAttrs (orig: { + # PLEASE if you add things to this derivation, explain in reasonable detail why + # you're adding them and when the workaround can go away. This whole derivation is + # a workaround and if you don't explain what you're working around, it makes it + # very hard for people to clean it up later. + name = "${orig.name}-private"; setupHook = ./setup-hook.sh; -} + + # TODO: consider re-adding https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/darwin/apple-source-releases/CF/cf-bridging.patch + # once the missing headers are in and see if that fixes all need for this. + + # This can go away once https://bugs.swift.org/browse/SR-8741 happens, which is + # looking more likely these days with the friendly people at Apple! We only need + # the header because the setup hook takes care of linking us against a version + # of the framework with the functionality built into it. The main user I know of + # this is watchman, who can almost certainly switch to the pure CF once the header + # and functionality is merged in. + installPhase = orig.installPhase + '' + basepath="Library/Frameworks/CoreFoundation.framework/Headers" + path="$basepath/CFFileDescriptor.h" + + # Append the include at top level or nobody will notice the header we're about to add + sed -i '/CFNotificationCenter.h/a #include ' \ + "$out/$basepath/CoreFoundation.h" + + cp ${apple_sdk.frameworks.CoreFoundation}/$path $out/$path + '' + + # This one is less likely to go away, but I'll mention it anyway. The issue is at + # https://bugs.swift.org/browse/SR-8744, and the main user I know of is qtbase + '' + path="$basepath/CFURLEnumerator.h" + sed -i '/CFNotificationCenter.h/a #include ' \ + "$out/$basepath/CoreFoundation.h" + + cp ${apple_sdk.frameworks.CoreFoundation}/$path $out/$path + ''; +}) \ No newline at end of file diff --git a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix index 1dea55cccc9e..f819429f4deb 100644 --- a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix +++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix @@ -14,11 +14,12 @@ in stdenv.mkDerivation { src = fetchFromGitHub { owner = "apple"; repo = "swift-corelibs-foundation"; - rev = "85c640e7ce50e6ca61a134c72270e214bc63fdba"; # https://github.com/apple/swift-corelibs-foundation/pull/1686 - sha256 = "0z2v278wy7jh0c92g1dszd8hj8naxari660sqx6yab5dwapd46qc"; + rev = "71aaba20e1450a82c516af1342fe23268e15de0a"; + sha256 = "17kpql0f27xxz4jjw84vpas5f5sn4vdqwv10g151rc3rswbwln1z"; }; - buildInputs = [ ninja python libxml2 objc4 ICU curl ]; + nativeBuildInputs = [ ninja python ]; + buildInputs = [ libxml2 objc4 ICU curl ]; sourceRoot = "source/CoreFoundation"; @@ -31,8 +32,7 @@ in stdenv.mkDerivation { # 3. Use the legit CoreFoundation.h, not the one telling you not to use it because of Swift substituteInPlace build.py \ --replace "cf.CFLAGS += '-DDEPLOYMENT" '#' \ - --replace "cf.LDFLAGS += '-ldispatch" '#' \ - --replace "Base.subproj/SwiftRuntime/CoreFoundation.h" 'Base.subproj/CoreFoundation.h' + --replace "cf.LDFLAGS += '-ldispatch" '#' # Includes xpc for some initialization routine that they don't define anyway, so no harm here substituteInPlace PlugIn.subproj/CFBundlePriv.h \ @@ -53,8 +53,11 @@ in stdenv.mkDerivation { BUILD_DIR = "./Build"; CFLAGS = "-DINCLUDE_OBJC -I${libxml2.dev}/include/libxml2"; # They seem to assume we include objc in some places and not in others, make a PR; also not sure why but libxml2 include path isn't getting picked up from buildInputs - LDFLAGS = "-install_name ${placeholder "out"}/Frameworks/CoreFoundation.framework/CoreFoundation -current_version 1234.56.7 -compatibility_version 150.0.0 -init ___CFInitialize"; - configurePhase = "../configure --sysroot unused"; + + # I'm guessing at the version here. https://github.com/apple/swift-corelibs-foundation/commit/df3ec55fe6c162d590a7653d89ad669c2b9716b1 imported "high sierra" + # and this version is a version from there. No idea how accurate it is. + LDFLAGS = "-current_version 1454.90.0 -compatibility_version 150.0.0 -init ___CFInitialize"; + configurePhase = "../configure release --sysroot UNUSED"; enableParallelBuilding = true; buildPhase = "ninja -j $NIX_BUILD_CORES"; @@ -66,6 +69,12 @@ in stdenv.mkDerivation { mkdir -p $base/Versions/A/{Headers,PrivateHeaders,Modules} cp ./Build/CoreFoundation/libCoreFoundation.dylib $base/Versions/A/CoreFoundation + + # Note that this could easily live in the ldflags above as `-install_name @rpath/...` but + # https://github.com/NixOS/nixpkgs/issues/46434 thwarts that, so for now I'm hacking it up + # after the fact. + install_name_tool -id '@rpath/CoreFoundation.framework/Versions/A/CoreFoundation' $base/Versions/A/CoreFoundation + cp ./Build/CoreFoundation/usr/include/CoreFoundation/*.h $base/Versions/A/Headers cp ./Build/CoreFoundation/usr/include/CoreFoundation/module.modulemap $base/Versions/A/Modules diff --git a/pkgs/os-specific/darwin/swift-corelibs/default.nix b/pkgs/os-specific/darwin/swift-corelibs/default.nix deleted file mode 100644 index 0d96b8fd008e..000000000000 --- a/pkgs/os-specific/darwin/swift-corelibs/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ callPackage, darwin }: - -rec { - corefoundation = callPackage ./corefoundation.nix { inherit (darwin) objc4 ICU; }; - libdispatch = callPackage ./libdispatch.nix { - inherit (darwin) apple_sdk_sierra xnu; - }; -} diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 6d224e4cc44f..d287517e8868 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -198,6 +198,9 @@ in rec { CF = null; # use CoreFoundation from bootstrap-tools configd = null; }; + python2 = self.python; + + ninja = super.ninja.override { buildDocs = false; }; }; in with prevStage; stageFun 1 prevStage { extraPreHook = "export NIX_CFLAGS_COMPILE+=\" -F${bootstrapTools}/Library/Frameworks\""; @@ -217,11 +220,12 @@ in rec { zlib patchutils m4 scons flex perl bison unifdef unzip openssl python libxml2 gettext sharutils gmp libarchive ncurses pkg-config libedit groff openssh sqlite sed serf openldap db cyrus-sasl expat apr-util subversion xz - findfreetype libssh curl cmake autoconf automake libtool ed cpio coreutils; + findfreetype libssh curl cmake autoconf automake libtool ed cpio coreutils + libssh2 nghttp2 libkrb5 python2 ninja; darwin = super.darwin // { inherit (darwin) - dyld Libsystem xnu configd ICU libdispatch libclosure launchd; + dyld Libsystem xnu configd ICU libdispatch libclosure launchd CF; }; }; in with prevStage; stageFun 2 prevStage { @@ -235,7 +239,10 @@ in rec { allowedRequisites = [ bootstrapTools ] ++ - (with pkgs; [ xz.bin xz.out libcxx libcxxabi ]) ++ + (with pkgs; [ + xz.bin xz.out libcxx libcxxabi zlib libxml2.out curl.out openssl.out libssh2.out + nghttp2.lib libkrb5 + ]) ++ (with pkgs.darwin; [ dyld Libsystem CF ICU locale ]); overrides = persistent; @@ -247,9 +254,10 @@ in rec { patchutils m4 scons flex perl bison unifdef unzip openssl python gettext sharutils libarchive pkg-config groff bash subversion openssh sqlite sed serf openldap db cyrus-sasl expat apr-util - findfreetype libssh curl cmake autoconf automake libtool cpio; + findfreetype libssh curl cmake autoconf automake libtool cpio + libssh2 nghttp2 libkrb5 python2 ninja; - # Avoid pulling in a full python and it's extra dependencies for the llvm/clang builds. + # Avoid pulling in a full python and its extra dependencies for the llvm/clang builds. libxml2 = super.libxml2.override { pythonSupport = false; }; llvmPackages_5 = super.llvmPackages_5 // (let @@ -281,7 +289,10 @@ in rec { allowedRequisites = [ bootstrapTools ] ++ - (with pkgs; [ xz.bin xz.out bash libcxx libcxxabi ]) ++ + (with pkgs; [ + xz.bin xz.out bash libcxx libcxxabi zlib libxml2.out curl.out openssl.out libssh2.out + nghttp2.lib libkrb5 + ]) ++ (with pkgs.darwin; [ dyld ICU Libsystem locale ]); overrides = persistent; @@ -292,7 +303,7 @@ in rec { inherit gnumake gzip gnused bzip2 gawk ed xz patch bash ncurses libffi zlib gmp pcre gnugrep - coreutils findutils diffutils patchutils; + coreutils findutils diffutils patchutils ninja; # Hack to make sure we don't link ncurses in bootstrap tools. The proper # solution is to avoid passing -L/nix-store/...-bootstrap-tools/lib, @@ -312,8 +323,14 @@ in rec { }); in { inherit tools libraries; } // tools // libraries); - darwin = super.darwin // { + darwin = super.darwin // rec { inherit (darwin) dyld Libsystem libiconv locale; + + libxml2-nopython = super.libxml2.override { pythonSupport = false; }; + CF = super.darwin.CF.override { + libxml2 = libxml2-nopython; + python = prevStage.python; + }; }; }; in with prevStage; stageFun 4 prevStage { @@ -345,6 +362,17 @@ in rec { }); in { inherit tools libraries; } // tools // libraries); + # N.B: the important thing here is to ensure that python == python2 + # == python27 or you get weird issues with inconsistent package sets. + # In a particularly subtle bug, I overrode python2 instead of python27 + # here, and it caused gnome-doc-utils to complain about: + # "PyThreadState_Get: no current thread". This is because Python gets + # really unhappy if you have Python A which loads a native python lib + # which was linked against Python B, which in our case was happening + # because we didn't override python "deeply enough". Anyway, this works + # and I'm just leaving this blurb here so people realize why it matters + python27 = super.python27.override { CF = prevStage.darwin.CF; }; + darwin = super.darwin // { inherit (darwin) dyld ICU Libsystem libiconv; } // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) { @@ -398,9 +426,10 @@ in rec { gzip ncurses.out ncurses.dev ncurses.man gnused bash gawk gnugrep llvmPackages.clang-unwrapped llvmPackages.clang-unwrapped.lib patch pcre.out gettext binutils.bintools darwin.binutils darwin.binutils.bintools + curl.out openssl.out libssh2.out nghttp2.lib libkrb5 cc.expand-response-params ]) ++ (with pkgs.darwin; [ - dyld Libsystem CF cctools ICU libiconv locale + dyld Libsystem CF cctools ICU libiconv locale libxml2-nopython.out ]); overrides = lib.composeExtensions persistent (self: super: { diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix index 66c5f419f2f6..d128be7019bd 100644 --- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix +++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix @@ -3,7 +3,7 @@ with import pkgspath { inherit system; }; let - llvmPackages = llvmPackages_4; + llvmPackages = llvmPackages_5; in rec { coreutils_ = coreutils.override (args: { # We want coreutils without ACL support. @@ -73,6 +73,7 @@ in rec { cp -d ${gettext}/lib/libintl*.dylib $out/lib chmod +x $out/lib/libintl*.dylib cp -d ${ncurses.out}/lib/libncurses*.dylib $out/lib + cp -d ${libxml2.out}/lib/libxml2*.dylib $out/lib # Copy what we need of clang cp -d ${llvmPackages.clang-unwrapped}/bin/clang $out/bin diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix index b0c82508c114..3bf7c31b7008 100644 --- a/pkgs/top-level/darwin-packages.nix +++ b/pkgs/top-level/darwin-packages.nix @@ -31,10 +31,7 @@ in libcxxabi = pkgs.libcxxabi; }; - cf-private = callPackage ../os-specific/darwin/cf-private { - inherit (apple-source-releases) CF; - inherit (darwin) osx_private_sdk; - }; + cf-private = callPackage ../os-specific/darwin/cf-private { inherit (darwin) CF apple_sdk; }; DarwinTools = callPackage ../os-specific/darwin/DarwinTools { }; @@ -76,7 +73,10 @@ in CoreSymbolication = callPackage ../os-specific/darwin/CoreSymbolication { }; - swift-corelibs = callPackages ../os-specific/darwin/swift-corelibs { }; + CF = callPackage ../os-specific/darwin/swift-corelibs/corefoundation.nix { inherit (darwin) objc4 ICU; }; + + # As the name says, this is broken, but I don't want to lose it since it's a direction we want to go in + # libdispatch-broken = callPackage ../os-specific/darwin/swift-corelibs/libdispatch.nix { inherit (darwin) apple_sdk_sierra xnu; }; darling = callPackage ../os-specific/darwin/darling/default.nix { }; From 06c63123ccfbe3fa21b74819050281c6394ae6eb Mon Sep 17 00:00:00 2001 From: Orivej Desh Date: Sat, 15 Sep 2018 22:36:21 +0000 Subject: [PATCH 039/130] Fix comment location after #46704 --- pkgs/development/tools/build-managers/ninja/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix index e1637e2f2cab..bb08ae2f3af5 100644 --- a/pkgs/development/tools/build-managers/ninja/default.nix +++ b/pkgs/development/tools/build-managers/ninja/default.nix @@ -17,8 +17,8 @@ stdenv.mkDerivation rec { buildPhase = '' python configure.py --bootstrap - # "./ninja -vn manual" output copied here to support cross compilation. '' + optionalString buildDocs '' + # "./ninja -vn manual" output copied here to support cross compilation. asciidoc -b docbook -d book -o build/manual.xml doc/manual.asciidoc xsltproc --nonet doc/docbook.xsl build/manual.xml > doc/manual.html ''; From 110c2528709ee10466a6b4bee5a2adefe11a0c3f Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Sat, 15 Sep 2018 16:49:44 -0400 Subject: [PATCH 040/130] cctools: support LTO on Darwin LTO is disabled during bootstrap to keep the bootstrap tools small and avoid unnecessary LLVM rebuilds, but is enabled in the final stdenv stage and should be usable by normal packages. --- pkgs/development/compilers/llvm/5/llvm.nix | 4 +++- .../darwin/apple-source-releases/ICU/default.nix | 4 +--- .../darwin/apple-source-releases/default.nix | 2 +- pkgs/os-specific/darwin/cctools/port.nix | 4 ++-- pkgs/stdenv/darwin/default.nix | 1 + pkgs/stdenv/darwin/make-bootstrap-tools.nix | 10 +++++++--- 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/pkgs/development/compilers/llvm/5/llvm.nix b/pkgs/development/compilers/llvm/5/llvm.nix index 3abba0ed340f..6dae8be97c88 100644 --- a/pkgs/development/compilers/llvm/5/llvm.nix +++ b/pkgs/development/compilers/llvm/5/llvm.nix @@ -119,12 +119,14 @@ in stdenv.mkDerivation (rec { + stdenv.lib.optionalString enableSharedLibraries '' moveToOutput "lib/libLLVM-*" "$lib" moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib" + moveToOutput "lib/libLTO${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib" substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-" '' + stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) '' substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ - --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" + --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" \ + --replace "\''${_IMPORT_PREFIX}/lib/libLTO.dylib" "$lib/lib/libLTO.dylib" ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib ''; diff --git a/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix b/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix index 89ff68266a29..761ff3ea9252 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix @@ -1,8 +1,6 @@ -{ cctools, appleDerivation }: +{ appleDerivation }: appleDerivation { - nativeBuildInputs = [ cctools ]; - patches = [ ./clang-5.patch ]; postPatch = '' diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix index d490048c4df3..4fa0c0e3e47f 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix @@ -215,7 +215,7 @@ let # Splicing is currently broken in Nixpkgs # cctools need to be specified manually here to handle this - ICU = applePackage "ICU" "osx-10.10.5" "1qihlp42n5g4dl0sn0f9pc0bkxy1452dxzf0vr6y5gqpshlzy03p" { inherit (buildPackages.darwin) cctools; }; + ICU = applePackage "ICU" "osx-10.10.5" "1qihlp42n5g4dl0sn0f9pc0bkxy1452dxzf0vr6y5gqpshlzy03p" {}; IOKit = applePackage "IOKit" "osx-10.11.6" "0kcbrlyxcyirvg5p95hjd9k8a01k161zg0bsfgfhkb90kh2s8x00" { inherit IOKitSrcs; }; launchd = applePackage "launchd" "osx-10.9.5" "0w30hvwqq8j5n90s3qyp0fccxflvrmmjnicjri4i1vd2g196jdgj" {}; diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix index fff6eaaa5c1d..bad17cf6de46 100644 --- a/pkgs/os-specific/darwin/cctools/port.nix +++ b/pkgs/os-specific/darwin/cctools/port.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, autoconf, automake, libtool_2, autoreconfHook -, libcxxabi, libuuid +, libcxxabi, libuuid, llvm , libobjc ? null, maloader ? null , enableDumpNormalizedLibArgs ? false }: @@ -56,7 +56,7 @@ let autoreconfHook ]; buildInputs = [ libuuid ] ++ - stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ]; + stdenv.lib.optionals stdenv.isDarwin [ llvm libcxxabi libobjc ]; patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index d287517e8868..c361ae6e4021 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -201,6 +201,7 @@ in rec { python2 = self.python; ninja = super.ninja.override { buildDocs = false; }; + darwin = super.darwin // { cctools = super.darwin.cctools.override { llvm = null; }; }; }; in with prevStage; stageFun 1 prevStage { extraPreHook = "export NIX_CFLAGS_COMPILE+=\" -F${bootstrapTools}/Library/Frameworks\""; diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix index d128be7019bd..eee3b1ce0759 100644 --- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix +++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix @@ -12,6 +12,10 @@ in rec { singleBinary = false; }); + # We want a version of cctools without LLVM, because the LTO support ends up making + # the bootstrap tools huge and isn't really necessary for bootstrap + cctools_ = darwin.cctools.override { llvm = null; }; + # Avoid debugging larger changes for now. bzip2_ = bzip2.override (args: { linkStatic = true; }); @@ -95,7 +99,7 @@ in rec { # Copy binutils. for i in as ld ar ranlib nm strip otool install_name_tool dsymutil lipo; do - cp ${darwin.cctools}/bin/$i $out/bin + cp ${cctools_}/bin/$i $out/bin done cp -rd ${pkgs.darwin.CF}/Library $out @@ -105,9 +109,9 @@ in rec { nuke-refs $out/bin/* rpathify() { - local libs=$(${darwin.cctools}/bin/otool -L "$1" | tail -n +2 | grep -o "$NIX_STORE.*-\S*") || true + local libs=$(${cctools_}/bin/otool -L "$1" | tail -n +2 | grep -o "$NIX_STORE.*-\S*") || true for lib in $libs; do - ${darwin.cctools}/bin/install_name_tool -change $lib "@rpath/$(basename $lib)" "$1" + ${cctools_}/bin/install_name_tool -change $lib "@rpath/$(basename $lib)" "$1" done } From 88a969d1b764968de26ad93f140cd6f35c9e90db Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Sun, 16 Sep 2018 13:53:45 -0400 Subject: [PATCH 041/130] top-level/release.nix: add patchShebangs test This is currently failing but nobody noticed! --- pkgs/test/default.nix | 2 ++ pkgs/test/patch-shebangs/default.nix | 26 ++++++++++++++++++++++++++ pkgs/top-level/release.nix | 3 +++ 3 files changed, 31 insertions(+) create mode 100644 pkgs/test/patch-shebangs/default.nix diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index 774077949b25..eb7fd82b945c 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -27,4 +27,6 @@ with pkgs; macOSSierraShared = callPackage ./macos-sierra-shared {}; cross = callPackage ./cross {}; + + patch-shebangs = callPackage ./patch-shebangs {}; } diff --git a/pkgs/test/patch-shebangs/default.nix b/pkgs/test/patch-shebangs/default.nix new file mode 100644 index 000000000000..a82e5e1e1982 --- /dev/null +++ b/pkgs/test/patch-shebangs/default.nix @@ -0,0 +1,26 @@ +{ stdenv, runCommand }: + +let + bad-shebang = stdenv.mkDerivation { + name = "bad-shebang"; + unpackPhase = ":"; + installPhase = '' + mkdir -p $out/bin + echo "#!/bin/sh" > $out/bin/test + echo "echo -n hello" >> $out/bin/test + chmod +x $out/bin/test + ''; + }; +in runCommand "patch-shebangs-test" { + passthru = { inherit bad-shebang; }; + meta.platforms = stdenv.lib.platforms.all; +} '' + printf "checking whether patchShebangs works properly... ">&2 + if ! grep -q '^#!/bin/sh' ${bad-shebang}/bin/test; then + echo "yes" >&2 + touch $out + else + echo "no" >&2 + exit 1 + fi +'' \ No newline at end of file diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 6ebc640ea219..93400bf0ee65 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -77,6 +77,7 @@ let jobs.tests.cc-wrapper-libcxx-39.x86_64-darwin jobs.tests.stdenv-inputs.x86_64-darwin jobs.tests.macOSSierraShared.x86_64-darwin + jobs.tests.patch-shebangs.x86_64-darwin ]; } else null; @@ -119,6 +120,7 @@ let jobs.tests.cc-multilib-gcc.x86_64-linux jobs.tests.cc-multilib-clang.x86_64-linux jobs.tests.stdenv-inputs.x86_64-linux + jobs.tests.patch-shebangs.x86_64-linux ] ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools ++ lib.optionals supportDarwin [ @@ -148,6 +150,7 @@ let jobs.tests.cc-wrapper-libcxx-6.x86_64-darwin jobs.tests.stdenv-inputs.x86_64-darwin jobs.tests.macOSSierraShared.x86_64-darwin + jobs.tests.patch-shebangs.x86_64-darwin ]; }; From a4630c65caf8a239b9ba5c013466d485c4fd7fde Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sun, 16 Sep 2018 15:58:21 -0500 Subject: [PATCH 042/130] stdenv: add shell to HOST_PATH for backwards compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To avoid breaking things, we need to make sure SHELL goes into HOST_PATH. This reflects my changes to patch-shebangs to make it cross compilation ready. When a script is patched from the Nix store it now looks to HOST_PATH to get the targeted machine’s executables. Unfortunately, this only works in native builds. --- pkgs/stdenv/generic/setup.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index e51dc1f1a0a6..9a620abfbade 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -257,6 +257,7 @@ shopt -s nullglob # Set up the initial path. PATH= +HOST_PATH= for i in $initialPath; do if [ "$i" = / ]; then i=; fi addToSearchPath PATH "$i/bin" @@ -272,6 +273,12 @@ if [ -z "${SHELL:-}" ]; then echo "SHELL not set"; exit 1; fi BASH="$SHELL" export CONFIG_SHELL="$SHELL" +# For backward compatibility, we add SHELL to HOST_PATH so it can be +# used in auto patch-shebangs. Unfortunately this will not work with +# cross compilation because it will be for the builder’s platform. +if [ -z "${strictDeps-}" ]; then + addToSearchPath HOST_PATH "$SHELL/bin" +fi # Dummy implementation of the paxmark function. On Linux, this is # overwritten by paxctl's setup hook. From 72cfa07dd3cb7120d07cbd751a201b116b0efcb2 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sun, 16 Sep 2018 17:25:42 -0500 Subject: [PATCH 043/130] parallel: fix patch-shebangs For patch-shebangs to work we need perl to be listed as a build input because it will run on the target system, not the build one. Fixes #46476 /cc @dtzWill --- pkgs/tools/misc/parallel/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix index 7af5e12081b6..11a9cd4ff87a 100644 --- a/pkgs/tools/misc/parallel/default.nix +++ b/pkgs/tools/misc/parallel/default.nix @@ -8,12 +8,12 @@ stdenv.mkDerivation rec { sha256 = "0jjs7fpvdjjb5v0j39a6k7hq9h5ap3db1j7vg1r2dq4swk23h9bm"; }; - nativeBuildInputs = [ makeWrapper perl ]; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ perl procps ]; postInstall = '' wrapProgram $out/bin/parallel \ - --prefix PATH : "${procps}/bin" \ - --prefix PATH : "${perl}/bin" \ + --prefix PATH : "${stdenv.lib.makeBinPath [ procps perl ]}" ''; doCheck = true; From d6ecbe1410c847f76af21d4821dde1f751890dd0 Mon Sep 17 00:00:00 2001 From: Uli Baum Date: Mon, 17 Sep 2018 01:33:20 +0200 Subject: [PATCH 044/130] gtk-doc: don't build with dblatex by default make it optional: withDblatex ? false This removes the dependency of gtk-doc on texlive. --- pkgs/development/tools/documentation/gtk-doc/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix index 8ec6aec9918e..0213eca30d22 100644 --- a/pkgs/development/tools/documentation/gtk-doc/default.nix +++ b/pkgs/development/tools/documentation/gtk-doc/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, perl, python, libxml2Python, libxslt, which -, docbook_xml_dtd_43, docbook_xsl, gnome-doc-utils, dblatex, gettext, itstool +, docbook_xml_dtd_43, docbook_xsl, gnome-doc-utils, gettext, itstool +, withDblatex ? false, dblatex }: stdenv.mkDerivation rec { @@ -20,8 +21,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ pkgconfig perl python libxml2Python libxslt docbook_xml_dtd_43 docbook_xsl - gnome-doc-utils dblatex gettext which itstool - ]; + gnome-doc-utils gettext which itstool + ] ++ stdenv.lib.optional withDblatex dblatex; configureFlags = [ "--disable-scrollkeeper" ]; From 2c51846728e4877b04a79f6eee037ecb61a2548f Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Sun, 16 Sep 2018 21:04:04 -0400 Subject: [PATCH 045/130] qt48: fix on darwin because it's ancient, it relies on ancient APIs that Apple has deprecated for literally years. Our new CoreFoundation cleanup means those APIs are no longer here, so let's kill the functionality. Eventually support for it got removed from upstream too, so it's not as if we're doing anything too awful here. --- .../libraries/qt-4.x/4.8/default.nix | 1 + .../qt-4.x/4.8/kill-legacy-darwin-apis.patch | 330 ++++++++++++++++++ 2 files changed, 331 insertions(+) create mode 100644 pkgs/development/libraries/qt-4.x/4.8/kill-legacy-darwin-apis.patch diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix index f7ddf8ff780c..8715aaaa44d0 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -68,6 +68,7 @@ stdenv.mkDerivation rec { ./parallel-configure.patch ./clang-5-darwin.patch ./qt-4.8.7-unixmake-darwin.patch + ./kill-legacy-darwin-apis.patch (substituteAll { src = ./dlopen-absolute-paths.diff; cups = if cups != null then lib.getLib cups else null; diff --git a/pkgs/development/libraries/qt-4.x/4.8/kill-legacy-darwin-apis.patch b/pkgs/development/libraries/qt-4.x/4.8/kill-legacy-darwin-apis.patch new file mode 100644 index 000000000000..c1338e98d851 --- /dev/null +++ b/pkgs/development/libraries/qt-4.x/4.8/kill-legacy-darwin-apis.patch @@ -0,0 +1,330 @@ +diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp +index 4a9049b..c0ac9db 100644 +--- a/src/corelib/io/qfilesystemengine_unix.cpp ++++ b/src/corelib/io/qfilesystemengine_unix.cpp +@@ -242,9 +242,8 @@ QFileSystemEntry QFileSystemEngine::canonicalName(const QFileSystemEntry &entry, + #else + char *ret = 0; + # if defined(Q_OS_MAC) && !defined(Q_OS_IOS) +- // When using -mmacosx-version-min=10.4, we get the legacy realpath implementation, +- // which does not work properly with the realpath(X,0) form. See QTBUG-28282. +- if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_6) { ++ // In Nix-on-Darwin, we don't support ancient macOS anyway, and the deleted branch relies on ++ // a symbol that's been deprecated for years and that our CF doesn't have + ret = (char*)malloc(PATH_MAX + 1); + if (ret && realpath(entry.nativeFilePath().constData(), (char*)ret) == 0) { + const int savedErrno = errno; // errno is checked below, and free() might change it +@@ -252,19 +251,6 @@ QFileSystemEntry QFileSystemEngine::canonicalName(const QFileSystemEntry &entry, + errno = savedErrno; + ret = 0; + } +- } else { +- // on 10.5 we can use FSRef to resolve the file path. +- QString path = QDir::cleanPath(entry.filePath()); +- FSRef fsref; +- if (FSPathMakeRef((const UInt8 *)path.toUtf8().data(), &fsref, 0) == noErr) { +- CFURLRef urlref = CFURLCreateFromFSRef(NULL, &fsref); +- CFStringRef canonicalPath = CFURLCopyFileSystemPath(urlref, kCFURLPOSIXPathStyle); +- QString ret = QCFString::toQString(canonicalPath); +- CFRelease(canonicalPath); +- CFRelease(urlref); +- return QFileSystemEntry(ret); +- } +- } + # else + # if _POSIX_VERSION >= 200801L + ret = realpath(entry.nativeFilePath().constData(), (char*)0); +diff --git a/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.h b/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.h +index 3bf7342..b6bcfc0 100644 +--- a/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.h ++++ b/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.h +@@ -43,7 +43,6 @@ BOOL stringIsCaseInsensitiveEqualToString(NSString *first, NSString *second); + BOOL hasCaseInsensitiveSuffix(NSString *string, NSString *suffix); + BOOL hasCaseInsensitiveSubstring(NSString *string, NSString *substring); + NSString *filenameByFixingIllegalCharacters(NSString *string); +-CFStringEncoding stringEncodingForResource(Handle resource); + + #ifdef __cplusplus + } +diff --git a/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.mm b/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.mm +index d6c3f0c..c88ca76 100644 +--- a/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.mm ++++ b/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.mm +@@ -68,45 +68,4 @@ BOOL hasCaseInsensitiveSubstring(NSString *string, NSString *substring) + return filename; + } + +-CFStringEncoding stringEncodingForResource(Handle resource) +-{ +- short resRef = HomeResFile(resource); +- if (ResError() != noErr) +- return NSMacOSRomanStringEncoding; +- +- // Get the FSRef for the current resource file +- FSRef fref; +- OSStatus error = FSGetForkCBInfo(resRef, 0, NULL, NULL, NULL, &fref, NULL); +- if (error != noErr) +- return NSMacOSRomanStringEncoding; +- +- RetainPtr url(AdoptCF, CFURLCreateFromFSRef(NULL, &fref)); +- if (!url) +- return NSMacOSRomanStringEncoding; +- +- NSString *path = [(NSURL *)url.get() path]; +- +- // Get the lproj directory name +- path = [path stringByDeletingLastPathComponent]; +- if (!stringIsCaseInsensitiveEqualToString([path pathExtension], @"lproj")) +- return NSMacOSRomanStringEncoding; +- +- NSString *directoryName = [[path stringByDeletingPathExtension] lastPathComponent]; +- RetainPtr locale(AdoptCF, CFLocaleCreateCanonicalLocaleIdentifierFromString(NULL, (CFStringRef)directoryName)); +- if (!locale) +- return NSMacOSRomanStringEncoding; +- +- LangCode lang; +- RegionCode region; +- error = LocaleStringToLangAndRegionCodes([(NSString *)locale.get() UTF8String], &lang, ®ion); +- if (error != noErr) +- return NSMacOSRomanStringEncoding; +- +- TextEncoding encoding; +- error = UpgradeScriptInfoToTextEncoding(kTextScriptDontCare, lang, region, NULL, &encoding); +- if (error != noErr) +- return NSMacOSRomanStringEncoding; +- +- return encoding; +-} + +diff --git a/src/3rdparty/webkit/Source/WebCore/plugins/mac/PluginPackageMac.cpp b/src/3rdparty/webkit/Source/WebCore/plugins/mac/PluginPackageMac.cpp +index 865ea32..20bda8d 100644 +--- a/src/3rdparty/webkit/Source/WebCore/plugins/mac/PluginPackageMac.cpp ++++ b/src/3rdparty/webkit/Source/WebCore/plugins/mac/PluginPackageMac.cpp +@@ -101,33 +101,6 @@ static WTF::RetainPtr readPListFile(CFStringRef fileName, bool + return map; + } + +-static Vector stringListFromResourceId(SInt16 id) +-{ +- Vector list; +- +- Handle handle = Get1Resource('STR#', id); +- if (!handle) +- return list; +- +- CFStringEncoding encoding = stringEncodingForResource(handle); +- +- unsigned char* p = (unsigned char*)*handle; +- if (!p) +- return list; +- +- SInt16 count = *(SInt16*)p; +- p += sizeof(SInt16); +- +- for (SInt16 i = 0; i < count; ++i) { +- unsigned char length = *p; +- WTF::RetainPtr str = CFStringCreateWithPascalString(0, p, encoding); +- list.append(str.get()); +- p += 1 + length; +- } +- +- return list; +-} +- + bool PluginPackage::fetchInfo() + { + if (!load()) +@@ -202,36 +175,8 @@ bool PluginPackage::fetchInfo() + m_description = (CFStringRef)CFBundleGetValueForInfoDictionaryKey(m_module, CFSTR("WebPluginDescription")); + + } else { +- int resFile = CFBundleOpenBundleResourceMap(m_module); +- +- UseResFile(resFile); +- +- Vector mimes = stringListFromResourceId(MIMEListStringStringNumber); +- +- if (mimes.size() % 2 != 0) +- return false; +- +- Vector descriptions = stringListFromResourceId(MIMEDescriptionStringNumber); +- if (descriptions.size() != mimes.size() / 2) +- return false; +- +- for (size_t i = 0; i < mimes.size(); i += 2) { +- String mime = mimes[i].lower(); +- Vector extensions; +- mimes[i + 1].lower().split(UChar(','), extensions); +- +- m_mimeToExtensions.set(mime, extensions); +- +- m_mimeToDescriptions.set(mime, descriptions[i / 2]); +- } +- +- Vector names = stringListFromResourceId(PluginNameOrDescriptionStringNumber); +- if (names.size() == 2) { +- m_description = names[0]; +- m_name = names[1]; +- } +- +- CFBundleCloseBundleResourceMap(m_module, resFile); ++ LOG(Plugins, "Nix removed ancient code that relies on long-deprecated functionality that we don't want to support!"); ++ return false; + } + + LOG(Plugins, "PluginPackage::fetchInfo(): Found plug-in '%s'", m_name.utf8().data()); +diff --git a/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm b/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm +index b206e48..669d442 100644 +--- a/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm ++++ b/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm +@@ -26,7 +26,6 @@ + #import "config.h" + #import "NetscapePluginModule.h" + +-#import + #import + + using namespace WebCore; +@@ -196,132 +195,6 @@ static bool getPluginInfoFromPropertyLists(CFBundleRef bundle, PluginInfo& plugi + return true; + } + +-class ResourceMap { +-public: +- explicit ResourceMap(CFBundleRef bundle) +- : m_bundle(bundle) +- , m_currentResourceFile(CurResFile()) +- , m_bundleResourceMap(CFBundleOpenBundleResourceMap(m_bundle)) +- { +- UseResFile(m_bundleResourceMap); +- } +- +- ~ResourceMap() +- { +- // Close the resource map. +- CFBundleCloseBundleResourceMap(m_bundle, m_bundleResourceMap); +- +- // And restore the old resource. +- UseResFile(m_currentResourceFile); +- } +- +- bool isValid() const { return m_bundleResourceMap != -1; } +- +-private: +- CFBundleRef m_bundle; +- ResFileRefNum m_currentResourceFile; +- ResFileRefNum m_bundleResourceMap; +-}; +- +-static bool getStringListResource(ResID resourceID, Vector& stringList) { +- Handle stringListHandle = Get1Resource('STR#', resourceID); +- if (!stringListHandle || !*stringListHandle) +- return false; +- +- // Get the string list size. +- Size stringListSize = GetHandleSize(stringListHandle); +- if (stringListSize < static_cast(sizeof(UInt16))) +- return false; +- +- CFStringEncoding stringEncoding = stringEncodingForResource(stringListHandle); +- +- unsigned char* ptr = reinterpret_cast(*stringListHandle); +- unsigned char* end = ptr + stringListSize; +- +- // Get the number of strings in the string list. +- UInt16 numStrings = *reinterpret_cast(ptr); +- ptr += sizeof(UInt16); +- +- for (UInt16 i = 0; i < numStrings; ++i) { +- // We're past the end of the string, bail. +- if (ptr >= end) +- return false; +- +- // Get the string length. +- unsigned char stringLength = *ptr++; +- +- RetainPtr cfString(AdoptCF, CFStringCreateWithBytesNoCopy(kCFAllocatorDefault, ptr, stringLength, stringEncoding, false, kCFAllocatorNull)); +- if (!cfString.get()) +- return false; +- +- stringList.append(cfString.get()); +- ptr += stringLength; +- } +- +- if (ptr != end) +- return false; +- +- return true; +-} +- +-static const ResID PluginNameOrDescriptionStringNumber = 126; +-static const ResID MIMEDescriptionStringNumber = 127; +-static const ResID MIMEListStringStringNumber = 128; +- +-static bool getPluginInfoFromCarbonResources(CFBundleRef bundle, PluginInfo& pluginInfo) +-{ +- ResourceMap resourceMap(bundle); +- if (!resourceMap.isValid()) +- return false; +- +- // Get the description and name string list. +- Vector descriptionAndName; +- if (!getStringListResource(PluginNameOrDescriptionStringNumber, descriptionAndName)) +- return false; +- +- // Get the MIME types and extensions string list. This list needs to be a multiple of two. +- Vector mimeTypesAndExtensions; +- if (!getStringListResource(MIMEListStringStringNumber, mimeTypesAndExtensions)) +- return false; +- +- if (mimeTypesAndExtensions.size() % 2) +- return false; +- +- // Now get the MIME type descriptions string list. This string list needs to be the same length as the number of MIME types. +- Vector mimeTypeDescriptions; +- if (!getStringListResource(MIMEDescriptionStringNumber, mimeTypeDescriptions)) +- return false; +- +- // Add all MIME types. +- for (size_t i = 0; i < mimeTypesAndExtensions.size() / 2; ++i) { +- MimeClassInfo mimeClassInfo; +- +- const String& mimeType = mimeTypesAndExtensions[i * 2]; +- String description; +- if (i < mimeTypeDescriptions.size()) +- description = mimeTypeDescriptions[i]; +- +- mimeClassInfo.type = mimeType.lower(); +- mimeClassInfo.desc = description; +- +- Vector extensions; +- mimeTypesAndExtensions[i * 2 + 1].split(',', extensions); +- +- for (size_t i = 0; i < extensions.size(); ++i) +- mimeClassInfo.extensions.append(extensions[i].lower()); +- +- pluginInfo.mimes.append(mimeClassInfo); +- } +- +- // Set the description and name if they exist. +- if (descriptionAndName.size() > 0) +- pluginInfo.desc = descriptionAndName[0]; +- if (descriptionAndName.size() > 1) +- pluginInfo.name = descriptionAndName[1]; +- +- return true; +-} +- + bool NetscapePluginModule::getPluginInfo(const String& pluginPath, PluginInfoStore::Plugin& plugin) + { + RetainPtr bundlePath(AdoptCF, pluginPath.createCFString()); +@@ -344,8 +217,7 @@ static bool getPluginInfoFromCarbonResources(CFBundleRef bundle, PluginInfo& plu + return false; + + // Check that there's valid info for this plug-in. +- if (!getPluginInfoFromPropertyLists(bundle.get(), plugin.info) && +- !getPluginInfoFromCarbonResources(bundle.get(), plugin.info)) ++ if (!getPluginInfoFromPropertyLists(bundle.get(), plugin.info)) + return false; + + plugin.path = pluginPath; From a257d64f333caa50facc57c0e3fc6a64620ed348 Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Mon, 17 Sep 2018 01:01:29 -0400 Subject: [PATCH 046/130] valgrind: don't force LLVM 3.9 This was added when 3.9 was the only one with llvm-dsymutil, but now almost all of them have it, so the default works fine. --- pkgs/top-level/all-packages.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d1c6ddbbe60d..5920927ae2f3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8784,7 +8784,6 @@ with pkgs; valgrind = callPackage ../development/tools/analysis/valgrind { inherit (darwin) xnu bootstrap_cmds cctools; - llvm = llvm_39; }; valgrind-light = self.valgrind.override { gdb = null; }; From 50578abfc5e42b47247c486bf845c310c2299d8d Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Mon, 17 Sep 2018 20:21:21 +0200 Subject: [PATCH 047/130] fetchcargo: Fix cargo-vendor-normalise for darwin --- pkgs/build-support/rust/fetchcargo.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/rust/fetchcargo.nix b/pkgs/build-support/rust/fetchcargo.nix index eb51e5c4ff9a..9e77f8817b24 100644 --- a/pkgs/build-support/rust/fetchcargo.nix +++ b/pkgs/build-support/rust/fetchcargo.nix @@ -2,8 +2,11 @@ let cargo-vendor-normalise = stdenv.mkDerivation { name = "cargo-vendor-normalise"; src = ./cargo-vendor-normalise.py; + nativeBuildInputs = [ python3.pkgs.wrapPython ]; unpackPhase = ":"; installPhase = "install -D $src $out/bin/cargo-vendor-normalise"; + pythonPath = [ python3.pkgs.toml ]; + postFixup = "wrapPythonPrograms"; doInstallCheck = true; installCheckPhase = '' # check that ./fetchcargo-default-config.toml is a fix point @@ -11,7 +14,6 @@ let cargo-vendor-normalise = stdenv.mkDerivation { < $reference $out/bin/cargo-vendor-normalise > test; cmp test $reference ''; - buildInputs = [ (python3.withPackages(ps: [ ps.toml ])) ]; preferLocalBuild = true; }; in From ba5717a6f5d2e474a4caf65a1be5750469b447bd Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 17 Sep 2018 14:13:43 -0500 Subject: [PATCH 048/130] stdenv: fix HOST_PATH change MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit a4630c65caf was incorrect in assuming $SHELL would be a path to the bash derivation. In fact $SHELL will be a path to the bash executable. Unfortunately this did not fix the original issue. So instead, we just have to reuse initialPath can be added like PATH is. Sorry for the inconvenience! I hadn’t thought through the effects of the last commit. /cc @copumpkin @ericson2314 --- pkgs/stdenv/generic/setup.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 9a620abfbade..11d0f1fbce43 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -261,6 +261,13 @@ HOST_PATH= for i in $initialPath; do if [ "$i" = / ]; then i=; fi addToSearchPath PATH "$i/bin" + + # For backward compatibility, we add initial path to HOST_PATH so + # it can be used in auto patch-shebangs. Unfortunately this will + # not work with cross compilation. + if [ -z "${strictDeps-}" ]; then + addToSearchPath HOST_PATH "$i/bin" + fi done if (( "${NIX_DEBUG:-0}" >= 1 )); then @@ -273,13 +280,6 @@ if [ -z "${SHELL:-}" ]; then echo "SHELL not set"; exit 1; fi BASH="$SHELL" export CONFIG_SHELL="$SHELL" -# For backward compatibility, we add SHELL to HOST_PATH so it can be -# used in auto patch-shebangs. Unfortunately this will not work with -# cross compilation because it will be for the builder’s platform. -if [ -z "${strictDeps-}" ]; then - addToSearchPath HOST_PATH "$SHELL/bin" -fi - # Dummy implementation of the paxmark function. On Linux, this is # overwritten by paxctl's setup hook. paxmark() { true; } From 91b67af0f6657049ec59d226c0dda0dbacf6b291 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 17 Sep 2018 23:19:11 +0100 Subject: [PATCH 049/130] alacritty: 2018-08-05 -> 0.2.0 --- pkgs/applications/misc/alacritty/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix index 98e93321265e..8be3db97c2b0 100644 --- a/pkgs/applications/misc/alacritty/default.nix +++ b/pkgs/applications/misc/alacritty/default.nix @@ -50,14 +50,14 @@ let OpenGL ]; in buildRustPackage rec { - name = "alacritty-unstable-${version}"; - version = "2018-08-05"; + name = "alacritty-${version}"; + version = "0.2.0"; src = fetchFromGitHub { owner = "jwilm"; repo = "alacritty"; - rev = "1adb5cb7fc05054197aa08e0d1fa957df94888ab"; - sha256 = "06rc7dy1vn59lc5hjh953h9lh0f39c0n0jmrz472mrya722fl2ab"; + rev = "v${version}"; + sha256 = "11z7diji64x6n3m5m2d0a9215aajg7mpklflvpwrglmghnvi74y6"; }; cargoSha256 = "0ms0248bb2lgbzcqks6i0qhn1gaiim3jf1kl17qw52c8an3rc652"; From dc5c68a7bb03e8807f8ab8ad30e5eb11d1f29302 Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Mon, 17 Sep 2018 18:46:26 -0400 Subject: [PATCH 050/130] stdenv/darwin: bump bootstrap tools You can verify the provenance of these yourself by checking Hydra here: https://hydra.nixos.org/build/81511173 --- pkgs/stdenv/darwin/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index c361ae6e4021..a08ea3b34bac 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -4,15 +4,15 @@ # Allow passing in bootstrap files directly so we can test the stdenv bootstrap process when changing the bootstrap tools , bootstrapFiles ? let fetch = { file, sha256, executable ? true }: import { - url = "http://tarballs.nixos.org/stdenv-darwin/x86_64/d5bdfcbfe6346761a332918a267e82799ec954d2/${file}"; + url = "http://tarballs.nixos.org/stdenv-darwin/x86_64/a257d64f333caa50facc57c0e3fc6a64620ed348/${file}"; inherit (localSystem) system; inherit sha256 executable; }; in { - sh = fetch { file = "sh"; sha256 = "07wm33f1yzfpcd3rh42f8g096k4cvv7g65p968j28agzmm2s7s8m"; }; - bzip2 = fetch { file = "bzip2"; sha256 = "0y9ri2aprkrp2dkzm6229l0mw4rxr2jy7vvh3d8mxv2698v2kdbm"; }; - mkdir = fetch { file = "mkdir"; sha256 = "0sb07xpy66ws6f2jfnpjibyimzb71al8n8c6y4nr8h50al3g90nr"; }; - cpio = fetch { file = "cpio"; sha256 = "0r5c54hg678w7zydx27bzl9p3v9fs25y5ix6vdfi1ilqim7xh65n"; }; - tarball = fetch { file = "bootstrap-tools.cpio.bz2"; sha256 = "18hp5w6klr8g307ap4368r255qpzg9r0vwg9vqvj8f2zy1xilcjf"; executable = false; }; + sh = fetch { file = "sh"; sha256 = "0a8q8sdqwvs5kn9ia6rkmr36xa5y6g44a9nww5kxbyvsvwmw22y6"; }; + bzip2 = fetch { file = "bzip2"; sha256 = "0j256wrz1a5d21800h6k8cr20bka6fhpb47qig01n2mc0bc3db2m"; }; + mkdir = fetch { file = "mkdir"; sha256 = "1rqzhcc0rccnck31a728j8va4xw54r17k4d58c5bi5z8hjz4458f"; }; + cpio = fetch { file = "cpio"; sha256 = "1680lxhqfldsvg9as19xv34kjpka6vn3nm9d91w0rh90sbqpa610"; }; + tarball = fetch { file = "bootstrap-tools.cpio.bz2"; sha256 = "0cvwj6q16f6b2q6lx43lly1a8dwkxpvck2946qln2fmcmgin3rpq"; executable = false; }; } }: From 50454ec5f17a2a1095de51907d0406eb6f8614dc Mon Sep 17 00:00:00 2001 From: Andrew Childs Date: Wed, 19 Sep 2018 00:54:22 +0900 Subject: [PATCH 051/130] git: 2.18.0 -> 2.19.0 (#46723) --- .../version-management/git-and-tools/git/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 6cc109c48c75..8bd6457a9e50 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -20,7 +20,7 @@ assert sendEmailSupport -> perlSupport; assert svnSupport -> perlSupport; let - version = "2.18.0"; + version = "2.19.0"; svn = subversionClient.override { perlBindings = perlSupport; }; in @@ -29,7 +29,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - sha256 = "14hfwfkrci829a9316hnvkglnqqw1p03cw9k56p4fcb078wbwh4b"; + sha256 = "1x1y5z3awabmfg7hk6zb331jxngad4nal4507v96bnf0izsyy3qq"; }; outputs = [ "out" ] ++ stdenv.lib.optional perlSupport "gitweb"; @@ -283,7 +283,7 @@ EOF # XXX: I failed to understand why this one fails. # Could someone try to re-enable it on the next release ? - # Tested to fail: 2.18.0 + # Tested to fail: 2.18.0 and 2.19.0 disable_test t1700-split-index "null sha1" # Tested to fail: 2.18.0 @@ -292,6 +292,9 @@ EOF # Tested to fail: 2.18.0 disable_test t9902-completion "sourcing the completion script clears cached --options" + + # As of 2.19.0, t5562 refers to #!/usr/bin/perl + patchShebangs t/t5562/invoke-with-content-length.pl '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' # Test fails (as of 2.17.0, musl 1.1.19) disable_test t3900-i18n-commit From ce6e72a11cc2f52d6e92224791fe5db7f9e2ecdd Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Mon, 17 Sep 2018 18:09:34 +0200 Subject: [PATCH 052/130] texlive: fix missing synctex header The automake file was patched but `automake` not run. Also since the texk/web2c folder is not in autoconfig's SUBDIRS the autoreconfHook has to be run in there. Completely fixes #46376 --- pkgs/tools/typesetting/tex/texlive/bin.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index e3528ce699d1..73d8b6d0edb6 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -2,7 +2,7 @@ , texlive , zlib, libiconv, libpng, libX11 , freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext -, perl, pkgconfig +, perl, pkgconfig, autoreconfHook , poppler, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr , cairo, pixman, xorg, clisp, biber , makeWrapper @@ -38,6 +38,9 @@ let sha256 = "1c4aq8lk8g3mlfq3mdjnxvmhss3qs7nni5rmw0k054dmj6q1xj5n"; }) ]; + # remove when removing synctex-missing-header.patch + preAutoreconf = "pushd texk/web2c"; + postAutoreconf = "popd"; configureFlags = [ "--with-banner-add=/NixOS.org" @@ -69,11 +72,11 @@ texliveYear = year; core = stdenv.mkDerivation rec { name = "texlive-bin-${version}"; - inherit (common) src patches; + inherit (common) src patches preAutoreconf postAutoreconf; outputs = [ "out" "doc" ]; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig autoreconfHook ]; buildInputs = [ /*teckit*/ zziplib poppler mpfr gmp pixman potrace gd freetype libpng libpaper zlib @@ -106,7 +109,6 @@ core = stdenv.mkDerivation rec { "xetex" "bibtexu" "bibtex8" "bibtex-x" "upmendex" # ICU isn't small ] ++ stdenv.lib.optional (stdenv.hostPlatform.isPower && stdenv.hostPlatform.is64bit) "mfluajit") ++ [ "--without-system-harfbuzz" "--without-system-icu" ] # bogus configure - ; enableParallelBuilding = true; @@ -170,7 +172,7 @@ inherit (core-big) metafont metapost luatex xetex; core-big = stdenv.mkDerivation { #TODO: upmendex name = "texlive-core-big.bin-${version}"; - inherit (common) src patches; + inherit (common) src patches preAutoreconf postAutoreconf; hardeningDisable = [ "format" ]; From 134929d9acb8f004c8166266ccaa04dece0e75b7 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 18 Sep 2018 16:51:41 -0500 Subject: [PATCH 053/130] rhash: 2018-02-05 -> 1.3.6 Move to official release now that one exists beyond the pinned git revision. --- pkgs/tools/security/rhash/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/rhash/default.nix b/pkgs/tools/security/rhash/default.nix index 22d7e93fe476..27f2ca04d710 100644 --- a/pkgs/tools/security/rhash/default.nix +++ b/pkgs/tools/security/rhash/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, which }: stdenv.mkDerivation rec { - version = "2018-02-05"; + version = "1.3.6"; name = "rhash-${version}"; src = fetchFromGitHub { owner = "rhash"; repo = "RHash"; - rev = "cc26d54ff5df0f692907a5e3132a5eeca559ed61"; - sha256 = "1ldagp931lmxxpyvsb9rrar4iqwmv94m6lfjzkbkshpmk3p5ng7h"; + rev = "v${version}"; + sha256 = "1c8gngjj34ylx1f56hjbvml22bif0bx1b88dx2cyxbix8praxqh7"; }; nativeBuildInputs = [ which ]; From 5a9c9162228bc0e3d13b316ecf1578bee2cd32e1 Mon Sep 17 00:00:00 2001 From: Uli Baum Date: Wed, 19 Sep 2018 08:50:25 +0200 Subject: [PATCH 054/130] Revert "sudo: 1.8.24 -> 1.8.25 (#46057)" This reverts commit d93aa1c50fc8a83be1c709f905d8c94e1677845f. Moved to master, no mass rebuild. --- pkgs/tools/security/sudo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix index 03c400751451..71cf239d72cb 100644 --- a/pkgs/tools/security/sudo/default.nix +++ b/pkgs/tools/security/sudo/default.nix @@ -5,14 +5,14 @@ }: stdenv.mkDerivation rec { - name = "sudo-1.8.25"; + name = "sudo-1.8.24"; src = fetchurl { urls = [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz" "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz" ]; - sha256 = "0hfw6pcwjvv1vvnhb4n1p210306jm4npz99p9cfhbd33yrhhzkwx"; + sha256 = "1s2v49n905wf3phmdnaa6v1dwck2lrcin0flg85z7klf35x5b25l"; }; prePatch = '' From d7f9a337edcf26480bb94a80114080a664bdcb26 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 19 Sep 2018 15:14:44 -0700 Subject: [PATCH 055/130] libatomic_ops: 7.6.4 -> 7.6.6 (#46253) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from libatomic_ops --- pkgs/development/libraries/libatomic_ops/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libatomic_ops/default.nix b/pkgs/development/libraries/libatomic_ops/default.nix index 0c0fc3861c9e..a887384f94da 100644 --- a/pkgs/development/libraries/libatomic_ops/default.nix +++ b/pkgs/development/libraries/libatomic_ops/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { name = "libatomic_ops-${version}"; - version = "7.6.4"; + version = "7.6.6"; src = fetchurl { urls = [ "http://www.ivmaisoft.com/_bin/atomic_ops/libatomic_ops-${version}.tar.gz" "https://github.com/ivmai/libatomic_ops/releases/download/v${version}/libatomic_ops-${version}.tar.gz" ]; - sha256 = "0knxncsjhbknlyy6lx7ycxhpzfk3sykhvicgxyp0rmsxd1d3v0jv"; + sha256 = "0x7071z707msvyrv9dmgahd1sghbkw8fpbagvcag6xs8yp2spzlr"; }; outputs = [ "out" "dev" "doc" ]; From cec0ff764db1383d36c2b35d5e5496325faf5ec8 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Wed, 19 Sep 2018 17:28:41 -0500 Subject: [PATCH 056/130] boehmgc: 7.6.6 -> 7.6.8 (#45708) --- pkgs/development/libraries/boehm-gc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix index da71e40187f4..012c1d123b62 100644 --- a/pkgs/development/libraries/boehm-gc/default.nix +++ b/pkgs/development/libraries/boehm-gc/default.nix @@ -4,14 +4,14 @@ stdenv.mkDerivation rec { name = "boehm-gc-${version}"; - version = "7.6.6"; + version = "7.6.8"; src = fetchurl { urls = [ "http://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz" "https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz" ]; - sha256 = "1p1r015a7jbpvkkbgzv1y8nxrbbp6dg0mq3ksi6ji0qdz3wfss79"; + sha256 = "0n720a0i584ghcwmdsjiq6bl9ig0p9mrja29rp4cgsqvpz6wa2h4"; }; buildInputs = [ libatomic_ops ]; From eeeeacc9a61d44ada034e5eec72487fbbe10744f Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Thu, 20 Sep 2018 23:43:53 -0400 Subject: [PATCH 057/130] Revert "stdenv/darwin: bump bootstrap tools" This accidentally added some unwanted dependencies on the bootstrap tools, and I don't have time to fix before I go on vacation, so I'm backing it out until I have time to address it properly. This reverts commit dc5c68a7bb03e8807f8ab8ad30e5eb11d1f29302. --- pkgs/stdenv/darwin/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index a08ea3b34bac..c361ae6e4021 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -4,15 +4,15 @@ # Allow passing in bootstrap files directly so we can test the stdenv bootstrap process when changing the bootstrap tools , bootstrapFiles ? let fetch = { file, sha256, executable ? true }: import { - url = "http://tarballs.nixos.org/stdenv-darwin/x86_64/a257d64f333caa50facc57c0e3fc6a64620ed348/${file}"; + url = "http://tarballs.nixos.org/stdenv-darwin/x86_64/d5bdfcbfe6346761a332918a267e82799ec954d2/${file}"; inherit (localSystem) system; inherit sha256 executable; }; in { - sh = fetch { file = "sh"; sha256 = "0a8q8sdqwvs5kn9ia6rkmr36xa5y6g44a9nww5kxbyvsvwmw22y6"; }; - bzip2 = fetch { file = "bzip2"; sha256 = "0j256wrz1a5d21800h6k8cr20bka6fhpb47qig01n2mc0bc3db2m"; }; - mkdir = fetch { file = "mkdir"; sha256 = "1rqzhcc0rccnck31a728j8va4xw54r17k4d58c5bi5z8hjz4458f"; }; - cpio = fetch { file = "cpio"; sha256 = "1680lxhqfldsvg9as19xv34kjpka6vn3nm9d91w0rh90sbqpa610"; }; - tarball = fetch { file = "bootstrap-tools.cpio.bz2"; sha256 = "0cvwj6q16f6b2q6lx43lly1a8dwkxpvck2946qln2fmcmgin3rpq"; executable = false; }; + sh = fetch { file = "sh"; sha256 = "07wm33f1yzfpcd3rh42f8g096k4cvv7g65p968j28agzmm2s7s8m"; }; + bzip2 = fetch { file = "bzip2"; sha256 = "0y9ri2aprkrp2dkzm6229l0mw4rxr2jy7vvh3d8mxv2698v2kdbm"; }; + mkdir = fetch { file = "mkdir"; sha256 = "0sb07xpy66ws6f2jfnpjibyimzb71al8n8c6y4nr8h50al3g90nr"; }; + cpio = fetch { file = "cpio"; sha256 = "0r5c54hg678w7zydx27bzl9p3v9fs25y5ix6vdfi1ilqim7xh65n"; }; + tarball = fetch { file = "bootstrap-tools.cpio.bz2"; sha256 = "18hp5w6klr8g307ap4368r255qpzg9r0vwg9vqvj8f2zy1xilcjf"; executable = false; }; } }: From 0b221b24b9794e5b01c4b9cb7695173ed721419f Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:12:00 +0000 Subject: [PATCH 058/130] [cpan2nix] perlPackages.ArchiveTar: 2.30 -> 2.32 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 714dba45aa2f..135645340d6b 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -501,10 +501,10 @@ let }; ArchiveTar = buildPerlPackage rec { - name = "Archive-Tar-2.30"; + name = "Archive-Tar-2.32"; src = fetchurl { url = "mirror://cpan/authors/id/B/BI/BINGOS/${name}.tar.gz"; - sha256 = "4a5a172cfefe08cb2d32f99ed388a3b55967588bbf254e950bc8a48a8bf1d2e5"; + sha256 = "92783780731ab0c9247adf43e70f4801e8317e3915ea87e38b85c8f734e8fca2"; }; meta = { description = "Manipulates TAR archives"; From 64e0077681be50eed0b48ca06ebd9ed85c627411 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:12:01 +0000 Subject: [PATCH 059/130] [cpan2nix] perlPackages.BKeywords: 1.18 -> 1.19 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 135645340d6b..31bb39617104 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -811,10 +811,10 @@ let }; BKeywords = buildPerlPackage rec { - name = "B-Keywords-1.18"; + name = "B-Keywords-1.19"; src = fetchurl { url = "mirror://cpan/authors/id/R/RU/RURBAN/${name}.tar.gz"; - sha256 = "0f5bb2fpbq5jzdb2jfs73hrggrq2gnpacd2kkxgifjl7q7xd9ck5"; + sha256 = "1kdzhdksnqrmij98bnifv2p2125zvpf0rmzxjiav65ipydi4rsw9"; }; meta = { description = "Lists of reserved barewords and symbol names"; From 65bff53eaa8ad6b4edd9a9cc8822bfe0483fc208 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:12:06 +0000 Subject: [PATCH 060/130] [cpan2nix] perlPackages.Carp: 1.38 -> 1.50 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 31bb39617104..47d967d71ba8 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1082,10 +1082,10 @@ let }; Carp = buildPerlPackage rec { - name = "Carp-1.38"; + name = "Carp-1.50"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; - sha256 = "00bijwwc0ix27h2ma3lvsf3b56biar96bl9dikxgx7cmpcycxad5"; + url = mirror://cpan/authors/id/X/XS/XSAWYERX/Carp-1.50.tar.gz; + sha256 = "1ngbpjyd9qi7n4h5r3q3qibd8by7rfiv7364jqlv4lbd3973n9zm"; }; meta = with stdenv.lib; { description = "Alternative warn and die for modules"; From fdfa89153098d520b26b5d09e0cd7567547c5a9a Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:12:16 +0000 Subject: [PATCH 061/130] [cpan2nix] perlPackages.CpanelJSONXS: 4.05 -> 4.06 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 47d967d71ba8..21aef7a1eac6 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2771,10 +2771,10 @@ let }; CpanelJSONXS = buildPerlPackage rec { - name = "Cpanel-JSON-XS-4.05"; + name = "Cpanel-JSON-XS-4.06"; src = fetchurl { url = "mirror://cpan/authors/id/R/RU/RURBAN/${name}.tar.gz"; - sha256 = "dd2b69265604ac6f18b47131565f712d55ed8df3b85f8f58f0c98cad17383663"; + sha256 = "63481d9d2d6251cf520bb6a62147faf6e8f35b9fe6b3ddd81c5bfd71e31ec9ba"; }; meta = { description = "CPanel fork of JSON::XS, fast and correct serializing"; From 601cd99aea7fa19eab57a265f87eea57ee6c6cc1 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:12:22 +0000 Subject: [PATCH 062/130] [cpan2nix] perlPackages.DataDumper: 2.161 -> 2.172 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 21aef7a1eac6..8fcd1559c158 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3249,10 +3249,10 @@ let }; DataDumper = buildPerlPackage rec { - name = "Data-Dumper-2.161"; + name = "Data-Dumper-2.172"; src = fetchurl { - url = "mirror://cpan/authors/id/S/SM/SMUELLER/${name}.tar.gz"; - sha256 = "3aa4ac1b042b3880438165fb2b2139d377564a8e9928ffe689ede5304ee90558"; + url = mirror://cpan/authors/id/X/XS/XSAWYERX/Data-Dumper-2.172.tar.gz; + sha256 = "a95a3037163817221021ac145500968be44dc155c261f4097136392c0a9fecd9"; }; outputs = [ "out" ]; meta = { From 7fba75f4f16852ddbccee069cd91b33ce93f5c96 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:12:27 +0000 Subject: [PATCH 063/130] [cpan2nix] perlPackages.DevelPPPort: 3.42 -> 3.43 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8fcd1559c158..8046f80bf2bc 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4009,10 +4009,10 @@ let }; DevelPPPort = buildPerlPackage rec { - name = "Devel-PPPort-3.42"; + name = "Devel-PPPort-3.43"; src = fetchurl { - url = mirror://cpan/authors/id/X/XS/XSAWYERX/Devel-PPPort-3.42.tar.gz; - sha256 = "bac5d98b92fe2673a84ea45f1c9b615e3a46c3cc6db59c61a2fc95dd3cf9e14a"; + url = mirror://cpan/authors/id/X/XS/XSAWYERX/Devel-PPPort-3.43.tar.gz; + sha256 = "90fd98fb24e1d7252011ff181244e04c8c8135933e67eab93c57ed6a61ed86f4"; }; meta = { description = "Perl/Pollution/Portability"; From d83512a3f21fa04ff02345535a6609bf352d612c Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:12:44 +0000 Subject: [PATCH 064/130] [cpan2nix] perlPackages.FilePath: 2.15 -> 2.16 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8046f80bf2bc..c42e017d3088 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5976,10 +5976,10 @@ let }; FilePath = buildPerlPackage rec { - name = "File-Path-2.15"; + name = "File-Path-2.16"; src = fetchurl { - url = mirror://cpan/authors/id/J/JK/JKEENAN/File-Path-2.15.tar.gz; - sha256 = "1570f3c1cdf93c50f65c2072e8f20ee121550771dfb7f6e563f503a2a7050744"; + url = mirror://cpan/authors/id/J/JK/JKEENAN/File-Path-2.16.tar.gz; + sha256 = "21f7d69b59c381f459c5f0bf697d512109bd911f12ca33270b70ca9a9ef6fa05"; }; meta = { description = "Create or remove directory trees"; From 168969b8722e5c6dba88ce5716e3760f29c277bd Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:13:08 +0000 Subject: [PATCH 065/130] [cpan2nix] perlPackages.LocaleCodes: 3.57 -> 3.58 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c42e017d3088..0975b94f9e2c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8552,10 +8552,10 @@ let }; LocaleCodes = buildPerlPackage { - name = "Locale-Codes-3.57"; + name = "Locale-Codes-3.58"; src = fetchurl { - url = mirror://cpan/authors/id/S/SB/SBECK/Locale-Codes-3.57.tar.gz; - sha256 = "3547cffeb6098a706a5647f6079e06cbdb68a6b7f9c8d5b0032659df7bfd8812"; + url = mirror://cpan/authors/id/S/SB/SBECK/Locale-Codes-3.58.tar.gz; + sha256 = "345c0b0170288d74a147fbe218b7c78147aa2baf4e839fe8680a2b0a2d8e505b"; }; meta = { description = "A distribution of modules to handle locale codes"; From 7aa71f18c422675309841b774e180d6c4586540d Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:13:12 +0000 Subject: [PATCH 066/130] [cpan2nix] perlPackages.MCE: 1.836 -> 1.837 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 0975b94f9e2c..3a68713c01e7 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8830,10 +8830,10 @@ let }; MCE = buildPerlPackage rec { - name = "MCE-1.836"; + name = "MCE-1.837"; src = fetchurl { - url = mirror://cpan/authors/id/M/MA/MARIOROY/MCE-1.836.tar.gz; - sha256 = "04nkcbs27plwq31w541phfci3391s10p2xv5lmry5wq7fbdw5iwy"; + url = mirror://cpan/authors/id/M/MA/MARIOROY/MCE-1.837.tar.gz; + sha256 = "0si12wv02i8cn2xw6lk0m2apqrd88awcli1yadmvikq5rnfhcypa"; }; meta = { description = "Many-Core Engine for Perl providing parallel processing capabilities"; From 7ffb4efc07280a04caa8fa6cfdc422216b16b47e Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:13:17 +0000 Subject: [PATCH 067/130] [cpan2nix] perlPackages.ModernPerl: 1.20180701 -> 1.20180901 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3a68713c01e7..8e2861e94b02 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9553,11 +9553,11 @@ let }; ModernPerl = buildPerlModule { - name = "Modern-Perl-1.20180701"; + name = "Modern-Perl-1.20180901"; src = fetchurl { - url = mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-1.20180701.tar.gz; - sha256 = "cfdf390bc565599ef90ef086a81233dc1dfc7867676dc28e1deedcd7e5543da6"; + url = mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-1.20180901.tar.gz; + sha256 = "5c289bbe59cfc90abb9b8c6b9903b7625ca9ea26239d397d87f7b57517cd61a1"; }; meta = { homepage = https://github.com/chromatic/Modern-Perl; From 0a220d88ed31505151ee5cbb4bf8973b56873c89 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:13:21 +0000 Subject: [PATCH 068/130] [cpan2nix] perlPackages.Mojolicious: 7.88 -> 8.0 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8e2861e94b02..17021dc01f70 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9990,10 +9990,10 @@ let }; }; Mojolicious = buildPerlPackage rec { - name = "Mojolicious-7.88"; + name = "Mojolicious-8.0"; src = fetchurl { url = "mirror://cpan/authors/id/S/SR/SRI/${name}.tar.gz"; - sha256 = "4c4c9c05131fcd175cd6370e15d2586baec1a3ec882cb6971e1f5f52b5e0d785"; + sha256 = "b266fd32f12cca2504be012e785f34eb09c0a132df52be183ff5d494e87f0b98"; }; meta = { homepage = https://mojolicious.org/; From fc2de9d99ab253cf96f470211924b269f5bfd69c Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:13:34 +0000 Subject: [PATCH 069/130] [cpan2nix] perlPackages.PathTools: 3.74 -> 3.75 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 17021dc01f70..9b998d6e8d1f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -11977,13 +11977,13 @@ let }; PathTools = buildPerlPackage { - name = "PathTools-3.74"; + name = "PathTools-3.75"; preConfigure = '' substituteInPlace Cwd.pm --replace '/usr/bin/pwd' '${pkgs.coreutils}/bin/pwd' ''; src = fetchurl { - url = mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-3.74.tar.gz; - sha256 = "25724cc54c59a3bfabadec95e72db292c98676bf3632497384e8dc6277936e11"; + url = mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-3.75.tar.gz; + sha256 = "a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2"; }; }; From 58299eb1f3e87c28e3712b7f7e5acda85058e55e Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:13:37 +0000 Subject: [PATCH 070/130] [cpan2nix] perlPackages.PkgConfig: 0.21026 -> 0.22026 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 9b998d6e8d1f..06955c55e3ff 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -12210,10 +12210,10 @@ let }; PkgConfig = buildPerlPackage rec { - name = "PkgConfig-0.21026"; + name = "PkgConfig-0.22026"; src = fetchurl { url = "mirror://cpan/authors/id/P/PL/PLICEASE/${name}.tar.gz"; - sha256 = "018f8d3c74e661df66046b26e57f4c5991adafe202af7ea2d1c6f6bcafde584b"; + sha256 = "d01849bf88f3d56f4efe304cfe56f806867a45b716e3963dcacce17b829433ce"; }; meta = { description = "Pure-Perl Core-Only replacement for pkg-config"; From cec11727a0df8e8013242eb092574a0891a2e9dc Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:13:47 +0000 Subject: [PATCH 071/130] [cpan2nix] perlPackages.ScopeUpper: 0.30 -> 0.31 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 06955c55e3ff..fd837e9c442e 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -13351,10 +13351,10 @@ let }; ScopeUpper = buildPerlPackage rec { - name = "Scope-Upper-0.30"; + name = "Scope-Upper-0.31"; src = fetchurl { url = "mirror://cpan/authors/id/V/VP/VPIT/${name}.tar.gz"; - sha256 = "7f151582423850d814034404b1e23b5efb281b9dd656b9afe81c761ebb88bbb4"; + sha256 = "cc4d2ce0f185b4867d73b4083991117052a523fd409debf15bdd7e374cc16d8c"; }; meta = { description = "Act on upper scopes"; From 4d00009c9e9aaab38af1414ff030c4e906b5502b Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:14:32 +0000 Subject: [PATCH 072/130] [cpan2nix] perlPackages.YAMLLibYAML: 0.72 -> 0.74 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index fd837e9c442e..b79f8f4ecb45 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -17892,10 +17892,10 @@ let }; YAMLLibYAML = buildPerlPackage rec { - name = "YAML-LibYAML-0.72"; + name = "YAML-LibYAML-0.74"; src = fetchurl { - url = "mirror://cpan/authors/id/T/TI/TINITA/${name}.tar.gz"; - sha256 = "0dn50pranjyai4gclb501m29y0ks03y87g132wqpb469rb3sjd0g"; + url = mirror://cpan/authors/id/I/IN/INGY/YAML-LibYAML-0.74.tar.gz; + sha256 = "021l0gf6z93xd6vd604vpvb9d4b714zph17g6hg47fpawdq0xpd0"; }; }; From 5e627d70ed0508c43c5fd69db037ae69a6cfd4f8 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:14:46 +0000 Subject: [PATCH 073/130] [cpan2nix] perlPackages.ConfigIniFiles: 2.98 -> 3.000000 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b79f8f4ecb45..c7ffabf57f0b 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2519,10 +2519,10 @@ let }; ConfigIniFiles = buildPerlModule rec { - name = "Config-IniFiles-2.98"; + name = "Config-IniFiles-3.000000"; src = fetchurl { url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz"; - sha256 = "9d5fc5c2192058e58ad35150ddae3043a2679f2aa4e1fb7e18e36794622b1797"; + sha256 = "cd92f6b7f1aa3e03abf6251f1e6129dab8a2b835e8b17c7c4cc3e8305c1c9b29"; }; propagatedBuildInputs = [ IOStringy ]; meta = { From 91fb471557a4894c6cf5cd1a136d125ba157fc02 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:14:53 +0000 Subject: [PATCH 074/130] [cpan2nix] perlPackages.DateManip: 6.72 -> 6.73 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c7ffabf57f0b..a8a7ff64cb55 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3614,10 +3614,10 @@ let }; DateManip = buildPerlPackage rec { - name = "Date-Manip-6.72"; + name = "Date-Manip-6.73"; src = fetchurl { url = "mirror://cpan/authors/id/S/SB/SBECK/${name}.tar.gz"; - sha256 = "19jdm73kqbv1biw4v8bdzy5qr2xvqdrfz8lxgg59445ljjfxvx1q"; + sha256 = "0md25ik7pwbwgidiprcq20db8jdniknxs0qj1m3l76ziqg3rb4nk"; }; # for some reason, parsing /etc/localtime does not work anymore - make sure that the fallback "/bin/date +%Z" will work patchPhase = '' From 1d1bb309d55ca5ac8f76d431345fa9cfba5e5ead Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:15:25 +0000 Subject: [PATCH 075/130] [cpan2nix] perlPackages.CryptJWT: 0.022 -> 0.023 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a8a7ff64cb55..14ae041cbc86 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2954,10 +2954,10 @@ let }; CryptJWT = buildPerlPackage rec { - name = "Crypt-JWT-0.022"; + name = "Crypt-JWT-0.023"; src = fetchurl { url = "mirror://cpan/authors/id/M/MI/MIK/${name}.tar.gz"; - sha256 = "eb0a591f91c431929d8788dc26cc8cd98d1dc37af2a45b5754ca5039c8282476"; + sha256 = "540594d0051028e00e586eb7827df09b01c091c648bb6b210de3124fe118524b"; }; propagatedBuildInputs = [ CryptX JSONMaybeXS ]; meta = { From d0f30e728a20e71281672d00bb1c4af8324fa854 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:15:30 +0000 Subject: [PATCH 076/130] [cpan2nix] perlPackages.ForksSuper: 0.94 -> 0.96 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 14ae041cbc86..93def623bf3b 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6297,10 +6297,10 @@ let }; ForksSuper = buildPerlPackage { - name = "Forks-Super-0.94"; + name = "Forks-Super-0.96"; src = fetchurl { - url = mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.94.tar.gz; - sha256 = "145nj2wsymr5vr93ikrakjx3dd07q63fxb1bq7lkiranm9974v8s"; + url = mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.96.tar.gz; + sha256 = "0vzxfxdgxjk83cwg9p5dzvfydrah53xcxkickznrrd5rhp1rasqx"; }; doCheck = false; meta = { From 3f136c153d5bd2f5d94bd02fcbafc468420549ea Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:15:31 +0000 Subject: [PATCH 077/130] [cpan2nix] perlPackages.GD: 2.68 -> 2.69 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 93def623bf3b..3121b64bcab3 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6349,10 +6349,10 @@ let }; GD = buildPerlPackage rec { - name = "GD-2.68"; + name = "GD-2.69"; src = fetchurl { - url = mirror://cpan/authors/id/R/RU/RURBAN/GD-2.68.tar.gz; - sha256 = "0p2ya641nl5cvcqgw829xgabh835qijfd6vq2ba12862946xx8va"; + url = mirror://cpan/authors/id/R/RU/RURBAN/GD-2.69.tar.gz; + sha256 = "0palmq7l42fibqxhrabnjm7di4q8kciq9323902d717x3i4jvc6x"; }; buildInputs = [ pkgs.gd pkgs.libjpeg pkgs.zlib pkgs.freetype pkgs.libpng pkgs.fontconfig pkgs.xorg.libXpm ExtUtilsPkgConfig TestFork ]; From 2744f5a3ada448b7d82a954ec71ab18e71583894 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:15:33 +0000 Subject: [PATCH 078/130] [cpan2nix] perlPackages.IOSocketSSL: 2.059 -> 2.060 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3121b64bcab3..8cd00a642ea6 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7760,12 +7760,12 @@ let }; IOSocketSSL = buildPerlPackage rec { - name = "IO-Socket-SSL-2.059"; + name = "IO-Socket-SSL-2.060"; src = fetchurl { url = "mirror://cpan/authors/id/S/SU/SULLR/${name}.tar.gz"; - sha256 = "217debbe0a79f0b7c5669978b4d733271998df4497f4718f78456e5f54d64849"; + sha256 = "fb5b2877ac5b686a5d7b8dd71cf5464ffe75d10c32047b5570674870e46b1b8c"; }; - propagatedBuildInputs = [ NetSSLeay ]; + propagatedBuildInputs = [ MozillaCA NetSSLeay ]; # Fix path to default certificate store. postPatch = '' substituteInPlace lib/IO/Socket/SSL.pm \ From 5f461ea9279d0f389b263fed8a89a3110e95ad77 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:15:33 +0000 Subject: [PATCH 079/130] [cpan2nix] perlPackages.MojoIOLoopForkCall: 0.19 -> 0.20 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8cd00a642ea6..887bc24fb47f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -10003,10 +10003,10 @@ let }; MojoIOLoopForkCall = buildPerlModule rec { - name = "Mojo-IOLoop-ForkCall-0.19"; + name = "Mojo-IOLoop-ForkCall-0.20"; src = fetchurl { url = "mirror://cpan/authors/id/J/JB/JBERGER/${name}.tar.gz"; - sha256 = "a436b71c7d1450f79b9810f4f46e24f5ffe1e1428da473d4315673e08e4dec62"; + sha256 = "2b9962244c25a71e4757356fb3e1237cf869e26d1c27215115ba7b057a81f1a6"; }; propagatedBuildInputs = [ IOPipely Mojolicious ]; meta = { From 878f3626495a05e804b004b9dcd8d1071bf45292 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:15:37 +0000 Subject: [PATCH 080/130] [cpan2nix] perlPackages.Pegex: 0.64 -> 0.67 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 887bc24fb47f..1ba995e93ebd 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -12022,10 +12022,10 @@ let }; Pegex = buildPerlPackage rec { - name = "Pegex-0.64"; + name = "Pegex-0.67"; src = fetchurl { url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz"; - sha256 = "27e00264bdafb9c2109212b9654542032617fecf7b7814915d2bdac198f067cd"; + sha256 = "3cb9df73aece2a5fa769a89bd74daaac302cc077e2489b3b552f3aa172092091"; }; buildInputs = [ FileShareDirInstall YAMLLibYAML ]; meta = { From ca10e7903bd3da3aa16b250e53eba3e4cd84842f Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:15:46 +0000 Subject: [PATCH 081/130] [cpan2nix] perlPackages.AnyEventHTTP: 2.23 -> 2.24 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1ba995e93ebd..9ac1e69c0393 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -165,10 +165,10 @@ let }; AnyEventHTTP = buildPerlPackage rec { - name = "AnyEvent-HTTP-2.23"; + name = "AnyEvent-HTTP-2.24"; src = fetchurl { url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${name}.tar.gz"; - sha256 = "2e3376d03bfa5f172f43d4c615ba496281c9ffe3093a828c539683e17e2fbbcb"; + sha256 = "0358a542baa45403d81c0a70e43e79c044ddfa1371161d043f002acef63121dd"; }; propagatedBuildInputs = [ AnyEvent commonsense ]; }; From 9f9379d2e4f243599a8a9e3bf0c164411fc43e82 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:16:19 +0000 Subject: [PATCH 082/130] [cpan2nix] perlPackages.TestMockModule: 0.15 -> v0.170.0 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 9ac1e69c0393..4e628631b2f1 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -15336,10 +15336,10 @@ let }; TestMockModule = buildPerlModule { - name = "Test-MockModule-0.15"; + name = "Test-MockModule-0.170.0"; src = fetchurl { - url = mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-0.15.tar.gz; - sha256 = "0nx3nz7yvgcw9vw646520hh1jb3kz6sspsfqa69v3vczdkfgx5qn"; + url = mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-v0.170.0.tar.gz; + sha256 = "0pggwrlqj6k44qayhbpjqkzry1r626iy2vf30zlf2jdhbjbvlycz"; }; propagatedBuildInputs = [ SUPER ]; meta = { From da9abd11a58448646e0653383edee308c60b8d92 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:16:20 +0000 Subject: [PATCH 083/130] [cpan2nix] perlPackages.ArchiveZip: 1.62 -> 1.64 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 4e628631b2f1..c5d7c900db74 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -526,10 +526,10 @@ let }; ArchiveZip = buildPerlPackage { - name = "Archive-Zip-1.62"; + name = "Archive-Zip-1.64"; src = fetchurl { - url = mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-1.62.tar.gz; - sha256 = "1jax173w7nm5r6k7ymfcskvs1rw590lyscbqrnfbkjj4cxc65wrb"; + url = mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-1.64.tar.gz; + sha256 = "0zfinh8nx3rxzscp57vq3w8hihpdb0zs67vvalykcf402kr88pyy"; }; buildInputs = [ TestMockModule ]; meta = { From 8136df90da20680f78245ac7afdd606adbc39678 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:16:35 +0000 Subject: [PATCH 084/130] [cpan2nix] perlPackages.MailMessage: 3.006 -> 3.007 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c5d7c900db74..e615e4cf32e5 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9078,10 +9078,10 @@ let }; MailMessage = buildPerlPackage rec { - name = "Mail-Message-3.006"; + name = "Mail-Message-3.007"; src = fetchurl { - url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Message-3.006.tar.gz; - sha256 = "08bdf06bmxdqbslk3k9av542pjhyw9wx10j79fxz0dwpalimc6zi"; + url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Message-3.007.tar.gz; + sha256 = "1hpf68i5w20dxcibqj5w5h8mx9qa6vjhr34bicrvdh7d3dfxq0bn"; }; propagatedBuildInputs = [ IOStringy MIMETypes MailTools URI UserIdentity ]; meta = { From b2de2135fe34298f00e50a72a7df24e7abef3aaa Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:16:46 +0000 Subject: [PATCH 085/130] [cpan2nix] perlPackages.MailTransport: 3.002 -> 3.003 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index e615e4cf32e5..64d2e72c89e3 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9186,10 +9186,10 @@ let }; MailTransport = buildPerlPackage rec { - name = "Mail-Transport-3.002"; + name = "Mail-Transport-3.003"; src = fetchurl { - url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Transport-3.002.tar.gz; - sha256 = "0wm4j9w15nsvjxi9x22fn2rnljbffd88v27p0z0305bfg35gh4kg"; + url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Transport-3.003.tar.gz; + sha256 = "0lb1awpk2wcnn5wg663982jl45x9fdn8ikxscayscxa16rim116p"; }; propagatedBuildInputs = [ MailMessage ]; meta = { From b866cad68bc1177c324ca2851214b80fd9950624 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:16:57 +0000 Subject: [PATCH 086/130] [cpan2nix] perlPackages.ModuleSignature: 0.81 -> 0.83 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 64d2e72c89e3..d1ce7740b392 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9926,10 +9926,10 @@ let }; ModuleSignature = buildPerlPackage { - name = "Module-Signature-0.81"; + name = "Module-Signature-0.83"; src = fetchurl { - url = mirror://cpan/authors/id/A/AU/AUDREYT/Module-Signature-0.81.tar.gz; - sha256 = "7df547ceb8e45d40f75e481a868f389aaed5641c2cf4e133146ccea4b8facec6"; + url = mirror://cpan/authors/id/A/AU/AUDREYT/Module-Signature-0.83.tar.gz; + sha256 = "3c15f3845a85d2a76a81253be53cb0f716465a3f696eb9c50e92eef34e9601cb"; }; buildInputs = [ IPCRun ]; meta = { From 4996fb9b9f953aaeca818b36122f16e4b72c8992 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:17:07 +0000 Subject: [PATCH 087/130] [cpan2nix] perlPackages.LinguaENTagger: 0.29 -> 0.30 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index d1ce7740b392..4b2bb92e778a 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8320,10 +8320,10 @@ let }; LinguaENTagger = buildPerlPackage { - name = "Lingua-EN-Tagger-0.29"; + name = "Lingua-EN-Tagger-0.30"; src = fetchurl { - url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.29.tar.gz; - sha256 = "0dssn101kmpkh2ik1430mj2ikk04849vbpgi60382kvh9xn795na"; + url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.30.tar.gz; + sha256 = "0nrnkvsf9f0a7lp82sanmy89ms2nqq1lvjqicvsagsvzp513bl5b"; }; propagatedBuildInputs = [ HTMLParser LinguaStem MemoizeExpireLRU ]; meta = { From c52ba3b52ac98f8423d51cffd86b4b306a93b988 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:17:44 +0000 Subject: [PATCH 088/130] [cpan2nix] perlPackages.LWPProtocolHttps: cleanup --- pkgs/top-level/perl-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 4b2bb92e778a..2ca6b0929a78 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8959,7 +8959,7 @@ let sha256 = "1rxrpwylfw1afah0nk96kgkwjbl2p1a7lwx50iipg8c4rx3cjb2j"; }; patches = [ ../development/perl-modules/lwp-protocol-https-cert-file.patch ]; - propagatedBuildInputs = [ IOSocketSSL LWP MozillaCA ]; + propagatedBuildInputs = [ IOSocketSSL LWP ]; doCheck = false; # tries to connect to https://www.apache.org/. meta = { description = "Provide https support for LWP::UserAgent"; From 7cf45d7a3cccb25d0c8b760fdfd3ff8284133f06 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:18:06 +0000 Subject: [PATCH 089/130] [cpan2nix] perlPackages.LogDispatch: 2.67 -> 2.68 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2ca6b0929a78..d4e35cc117a7 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8768,10 +8768,10 @@ let }; LogDispatch = buildPerlPackage { - name = "Log-Dispatch-2.67"; + name = "Log-Dispatch-2.68"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.67.tar.gz; - sha256 = "017ks3i0k005dqz7fz53w7x35csqqlr4vfb95c0ijdablajs4kd9"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.68.tar.gz; + sha256 = "1bxd3bhrn1h2q9f8r65z3101a32nl2kdb7l40bxg4vbsk4wk0ynh"; }; propagatedBuildInputs = [ DevelGlobalDestruction ParamsValidationCompiler Specio namespaceautoclean ]; meta = { From 0f1875bd65fb6c92cc79547efe97cc3a5f324403 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:18:18 +0000 Subject: [PATCH 090/130] [cpan2nix] perlPackages.CodeTidyAll: 0.70 -> 0.71 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index d4e35cc117a7..93855e100ba7 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2347,10 +2347,10 @@ let }; CodeTidyAll = buildPerlPackage rec { - name = "Code-TidyAll-0.70"; + name = "Code-TidyAll-0.71"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/Code-TidyAll-0.70.tar.gz; - sha256 = "16s847y7jhx07yn15p84lpr1jn8srqb8ma12g4ngwr46hhkrbz06"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Code-TidyAll-0.71.tar.gz; + sha256 = "043s0fkg8y9g38m9p87jh9p1kkznz7yq96x2rnjj221hpl3zysdr"; }; propagatedBuildInputs = [ CaptureTiny ConfigINI FileWhich Filepushd IPCRun3 IPCSystemSimple ListCompare ListSomeUtils LogAny Moo ScopeGuard SpecioLibraryPathTiny TextDiff TimeDate TimeDurationParse ]; buildInputs = [ TestClass TestClassMost TestDeep TestDifferences TestException TestFatal TestMost TestWarn TestWarnings librelative ]; From 1c289d8ce3cb00365c52a411989e7c83276b7883 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:18:32 +0000 Subject: [PATCH 091/130] [cpan2nix] perlPackages.TestRoutine: 0.025 -> 0.027 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 93855e100ba7..64c9c8ca63e0 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -15625,10 +15625,10 @@ let }; TestRoutine = buildPerlPackage { - name = "Test-Routine-0.025"; + name = "Test-Routine-0.027"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.025.tar.gz; - sha256 = "13gxczy0mx3rqnp55vc0j2d936qldrimmad87nmf4wrj0kd2lw92"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.027.tar.gz; + sha256 = "0n6k310v2py787lkvhzrn8vndws9icdf8mighgl472k0x890xm5s"; }; buildInputs = [ TestAbortable TestFatal ]; propagatedBuildInputs = [ Moose TestSimple13 namespaceautoclean ]; From 0a35d732352bef698e2bb6daaad5eccdedc52177 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:18:45 +0000 Subject: [PATCH 092/130] [cpan2nix] perlPackages.DateTimeFormatFlexible: 0.30 -> 0.31 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 64c9c8ca63e0..5adbf7631b8f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3717,10 +3717,10 @@ let }; DateTimeFormatFlexible = buildPerlPackage { - name = "DateTime-Format-Flexible-0.30"; + name = "DateTime-Format-Flexible-0.31"; src = fetchurl { - url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.30.tar.gz; - sha256 = "e7974e0492d7801682b400dd8e9a6fbfd8a56602942883cd7867a2008734cca4"; + url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.31.tar.gz; + sha256 = "0daf62fe4af0b336d45e367143a580b5a34912a679eef788d54c4d5ad685c2d1"; }; propagatedBuildInputs = [ DateTimeFormatBuilder ListMoreUtils ModulePluggable ]; meta = { From f32975e3fdf8d682f32d7027551961c51dec6567 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 21 Sep 2018 12:19:11 +0000 Subject: [PATCH 093/130] [cpan2nix] perlPackages.NetAmazonS3: 0.84 -> 0.85 dependencies: perlPackages.TestLoadAllModules: init at 0.022 --- pkgs/top-level/perl-packages.nix | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 5adbf7631b8f..69dd7e572b2e 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -11068,13 +11068,13 @@ let }; NetAmazonS3 = buildPerlPackage rec { - name = "Net-Amazon-S3-0.84"; + name = "Net-Amazon-S3-0.85"; src = fetchurl { - url = mirror://cpan/authors/id/L/LL/LLAP/Net-Amazon-S3-0.84.tar.gz; - sha256 = "9e995f7d7982d4ab3510bf30e842426b341be20e4b7e6fe48edafeb067f49626"; + url = mirror://cpan/authors/id/L/LL/LLAP/Net-Amazon-S3-0.85.tar.gz; + sha256 = "49b91233b9e994ce3536dd69c5106c968a03d199ff3968c8fc2f2b5be3d55430"; }; - buildInputs = [ TestDeep TestException ]; - propagatedBuildInputs = [ DataStreamBulk DateTimeFormatHTTP DigestHMAC DigestMD5File FileFindRule LWPUserAgentDetermined MIMETypes MooseXStrictConstructor MooseXTypesDateTimeMoreCoercions RefUtil RegexpCommon TermEncoding TermProgressBarSimple XMLLibXML ]; + buildInputs = [ TestDeep TestException TestLoadAllModules TestMockTime TestWarnings ]; + propagatedBuildInputs = [ DataStreamBulk DateTimeFormatHTTP DigestHMAC DigestMD5File FileFindRule LWPUserAgentDetermined MIMETypes MooseXRoleParameterized MooseXStrictConstructor MooseXTypesDateTimeMoreCoercions RefUtil RegexpCommon SubOverride TermEncoding TermProgressBarSimple XMLLibXML ]; meta = { description = "Use the Amazon S3 - Simple Storage Service"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; @@ -15283,6 +15283,19 @@ let }; }; + TestLoadAllModules = buildPerlPackage { + name = "Test-LoadAllModules-0.022"; + src = fetchurl { + url = mirror://cpan/authors/id/K/KI/KITANO/Test-LoadAllModules-0.022.tar.gz; + sha256 = "1zjwbqk1ns9m8srrhyj3i5zih976i4d2ibflh5s8lr10a1aiz1hv"; + }; + propagatedBuildInputs = [ ListMoreUtils ModulePluggable ]; + meta = { + description = "do use_ok for modules in search path"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + TestLongString = buildPerlPackage rec { name = "Test-LongString-0.17"; src = fetchurl { From 45dc194f723622f987f2f1ad6e9eb7f4e677b91e Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 21 Sep 2018 07:32:48 -0500 Subject: [PATCH 094/130] libinput: 1.11.3 -> 1.12.0 --- pkgs/development/libraries/libinput/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index d42bd315d22f..925b278f5b71 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -16,11 +16,11 @@ in with stdenv.lib; stdenv.mkDerivation rec { name = "libinput-${version}"; - version = "1.11.3"; + version = "1.12.0"; src = fetchurl { url = "https://www.freedesktop.org/software/libinput/${name}.tar.xz"; - sha256 = "01nb1shnl871d939wgfd7nc9svclcnfjfhlq64b4yns2dvcr24gk"; + sha256 = "1901wxh9k8kz3krfmvacf8xa8r4idfyisw8d80a2ql0bxiw2pb0m"; }; outputs = [ "bin" "out" "dev" ]; From a2bf8dbb398e13f26f59e3f4cdb05dd4656f6a8e Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 21 Sep 2018 07:37:38 -0500 Subject: [PATCH 095/130] libinput: fix build w/1.12.0 --- pkgs/development/libraries/libinput/default.nix | 6 ------ .../development/libraries/libinput/udev-absolute-path.patch | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index 925b278f5b71..4c85971cc3ce 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -46,12 +46,6 @@ stdenv.mkDerivation rec { patches = [ ./udev-absolute-path.patch ]; - preBuild = '' - # meson setup-hook changes the directory so the files are located one level up - patchShebangs ../udev/parse_hwdb.py - patchShebangs ../test/symbols-leak-test.in - ''; - doCheck = testsSupport; meta = { diff --git a/pkgs/development/libraries/libinput/udev-absolute-path.patch b/pkgs/development/libraries/libinput/udev-absolute-path.patch index fb22fea40e80..5c85b8639486 100644 --- a/pkgs/development/libraries/libinput/udev-absolute-path.patch +++ b/pkgs/development/libraries/libinput/udev-absolute-path.patch @@ -5,7 +5,7 @@ udev_rules_config = configuration_data() -udev_rules_config.set('UDEV_TEST_PATH', '') -+udev_rules_config.set('UDEV_TEST_PATH', udev_dir + '/') ++udev_rules_config.set('UDEV_TEST_PATH', dir_udev + '/') configure_file(input : 'udev/80-libinput-device-groups.rules.in', output : '80-libinput-device-groups.rules', install : true, From 90268efa3873e5f0de59e13c07ef0c995c60623a Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 21 Sep 2018 08:33:57 -0500 Subject: [PATCH 096/130] cryus-sasl: cleanup, fix w/musl (although not at all musl-specific) musl is fixed by disabling update of config.{guess,sub}. --- .../development/libraries/cyrus-sasl/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix index 7a9e3991aadb..619c0801e960 100644 --- a/pkgs/development/libraries/cyrus-sasl/default.nix +++ b/pkgs/development/libraries/cyrus-sasl/default.nix @@ -36,15 +36,15 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-openssl=${openssl.dev}" + "--with-plugindir=${placeholder "out"}/lib/sasl2" + "--with-saslauthd=/run/saslauthd" + "--enable-login" + "--enable-shared" ] ++ lib.optional enableLdap "--with-ldap=${openldap.dev}"; - # Set this variable at build-time to make sure $out can be evaluated. - preConfigure = '' - configureFlagsArray=( --with-plugindir=$out/lib/sasl2 - --with-saslauthd=/run/saslauthd - --enable-login - ) - ''; + # Avoid triggering regenerating using broken autoconf/libtool bits. + # (many distributions carry patches to remove/replace, but this works for now) + dontUpdateAutotoolsGnuConfigScripts = true; installFlags = lib.optional stdenv.isDarwin [ "framedir=$(out)/Library/Frameworks/SASL2.framework" ]; @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = http://cyrusimap.web.cmu.edu/; + homepage = https://www.cyrusimap.org/sasl; description = "Library for adding authentication support to connection-based protocols"; platforms = platforms.unix; }; From 6248955e6a2c5ad1b97a9db7ba2ab282ddce5e22 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 21 Sep 2018 11:06:09 -0500 Subject: [PATCH 097/130] mesa: 18.1.8 -> 18.2.1 (cherry picked from commit eb2b89a0a1901d4c89dcc6c0a36e1cabd1fcd002) --- pkgs/development/libraries/mesa/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index c8eee42a2527..152dcc8de854 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -67,7 +67,7 @@ let in let - version = "18.1.8"; + version = "18.2.1"; branch = head (splitString "." version); in @@ -81,7 +81,7 @@ let self = stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz" ]; - sha256 = "bd1be67fe9c73b517765264ac28911c84144682d28dbff140e1c2deb2f44c21b"; + sha256 = "0mhhr1id11s1fbdxbvr4a81xjh1nsznpra9dl36bv2hq7mpxqdln"; }; prePatch = "patchShebangs ."; From c1743dd12dcf1b992946c3c051c5700f41c9770a Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 21 Sep 2018 12:45:06 -0500 Subject: [PATCH 098/130] mesa: drop non-applying hunk, hopefully include no longer needed (cherry picked from commit b673b8987872adfd97fdb8821198450ff229118d) --- pkgs/development/libraries/mesa/missing-includes.patch | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/pkgs/development/libraries/mesa/missing-includes.patch b/pkgs/development/libraries/mesa/missing-includes.patch index feb6ffe428c0..18e7d5437b15 100644 --- a/pkgs/development/libraries/mesa/missing-includes.patch +++ b/pkgs/development/libraries/mesa/missing-includes.patch @@ -32,16 +32,6 @@ #include #include #else ---- ./src/mesa/drivers/dri/i965/brw_bufmgr.h -+++ ./src/mesa/drivers/dri/i965/brw_bufmgr.h -@@ -37,6 +37,7 @@ - #include - #include - #include -+#include - #include "util/u_atomic.h" - #include "util/list.h" - --- ./src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h +++ ./src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h @@ -28,6 +28,8 @@ From a94ac965c82fe8a1554a4ef85f4ead4a31c06c7e Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 21 Sep 2018 12:58:06 -0500 Subject: [PATCH 099/130] libxcb: 1.12 -> 1.13 (proto too) (cherry picked from commit 5853e62637eb2aaa1f2ccbcbf62c2a4f232a4257) --- pkgs/servers/x11/xorg/default.nix | 12 ++++++------ pkgs/servers/x11/xorg/extra.list | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index c9e8dd04c470..561f8ba94d9f 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1136,11 +1136,11 @@ let }) // {inherit ;}; libxcb = (mkDerivation "libxcb" { - name = "libxcb-1.12"; + name = "libxcb-1.13"; builder = ./builder.sh; src = fetchurl { - url = http://xcb.freedesktop.org/dist/libxcb-1.12.tar.bz2; - sha256 = "0nvv0la91cf8p5qqlb3r5xnmg1jn2wphn4fb5jfbr6byqsvv3psa"; + url = http://xcb.freedesktop.org/dist/libxcb-1.13.tar.bz2; + sha256 = "1ahxhmdqp4bhb90zmc275rmf5wixqra4bnw9pqnzyl1w3598g30q"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libxslt libpthreadstubs python libXau xcbproto libXdmcp ]; @@ -1448,11 +1448,11 @@ let }) // {inherit ;}; xcbproto = (mkDerivation "xcbproto" { - name = "xcb-proto-1.12"; + name = "xcb-proto-1.13"; builder = ./builder.sh; src = fetchurl { - url = http://xcb.freedesktop.org/dist/xcb-proto-1.12.tar.bz2; - sha256 = "01j91946q8f34l1mbvmmgvyc393sm28ym4lxlacpiav4qsjan8jr"; + url = http://xcb.freedesktop.org/dist/xcb-proto-1.13.tar.bz2; + sha256 = "1qdxw9syhbvswiqj5dvj278lrmfhs81apzmvx6205s4vcqg7563v"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ python ]; diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list index 28b698bdc816..222a9f654266 100644 --- a/pkgs/servers/x11/xorg/extra.list +++ b/pkgs/servers/x11/xorg/extra.list @@ -1,6 +1,6 @@ http://xcb.freedesktop.org/dist/libpthread-stubs-0.4.tar.bz2 -http://xcb.freedesktop.org/dist/libxcb-1.12.tar.bz2 -http://xcb.freedesktop.org/dist/xcb-proto-1.12.tar.bz2 +http://xcb.freedesktop.org/dist/libxcb-1.13.tar.bz2 +http://xcb.freedesktop.org/dist/xcb-proto-1.13.tar.bz2 http://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2 http://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.bz2 http://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.bz2 From 0d91e3b5509bada40a1c83f5a503d294cad81749 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 21 Sep 2018 13:25:12 -0500 Subject: [PATCH 100/130] mesa: add new required dep on libXrandr --- pkgs/development/libraries/mesa/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 152dcc8de854..aca9a237b0c7 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -144,7 +144,7 @@ let self = stdenv.mkDerivation { buildInputs = with xorg; [ expat llvmPackages.llvm libglvnd glproto dri2proto dri3proto presentproto - libX11 libXext libxcb libXt libXfixes libxshmfence + libX11 libXext libxcb libXt libXfixes libxshmfence libXrandr libffi libvdpau libelf libXvMC libpthreadstubs openssl/*or another sha1 provider*/ valgrind-light python2 python2.pkgs.Mako From fcde178ed5f76626d57b3b02848f2fedf5fd9928 Mon Sep 17 00:00:00 2001 From: Andrew Dunham Date: Fri, 21 Sep 2018 23:06:58 -0700 Subject: [PATCH 101/130] libsndfile: Add patch for CVE-2018-13139 (#47160) --- pkgs/development/libraries/libsndfile/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix index a68b5b2b6d5e..b150dd0f59c3 100644 --- a/pkgs/development/libraries/libsndfile/default.nix +++ b/pkgs/development/libraries/libsndfile/default.nix @@ -36,6 +36,11 @@ stdenv.mkDerivation rec { url = "https://github.com/erikd/libsndfile/commit/85c877d5072866aadbe8ed0c3e0590fbb5e16788.patch"; sha256 = "0kc7vp22qsxidhvmlc6nfamw7k92n0hcfpmwhb3gaksjamwhb2df"; }) + (fetchurl { + name = "CVE-2018-13139.patch"; + url = "https://github.com/erikd/libsndfile/commit/aaea680337267bfb6d2544da878890ee7f1c5077.patch"; + sha256 = "01q3m7pa3xqkh05ijmfgv064v8flkg4p24bgy9wxnc6wfcdifggx"; + }) ]; nativeBuildInputs = [ pkgconfig ]; From 6910a9d1e23887bb4600ddaf645770e8b93a7e2f Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sun, 23 Sep 2018 00:28:23 -0500 Subject: [PATCH 102/130] perl: disallow reference to cc Fixes #46077 --- pkgs/development/interpreters/perl/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index ec4f971eeeff..e4eca36b266b 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -37,6 +37,8 @@ let stdenv.lib.optional crossCompiling "dev"; setOutputFlags = false; + disallowedReferences = [ stdenv.cc ]; + patches = [ ] # Do not look in /usr etc. for dependencies. @@ -118,6 +120,7 @@ let --replace "${ if stdenv.cc.cc or null != null then stdenv.cc.cc else "/no-such-path" }" /no-such-path \ + --replace "${stdenv.cc}" /no-such-path \ --replace "$man" /no-such-path '' + stdenv.lib.optionalString crossCompiling '' From 81caec3568d96edc0a52762705dc0e2dae7e7c8b Mon Sep 17 00:00:00 2001 From: Dmitry Vyal Date: Sun, 2 Sep 2018 11:18:35 +0300 Subject: [PATCH 103/130] openblas-0.3.1 -> 0.3.3 --- .../science/math/openblas/default.nix | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index 2efabcdd05e0..453ad884b423 100644 --- a/pkgs/development/libraries/science/math/openblas/default.nix +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -79,12 +79,12 @@ let in stdenv.mkDerivation rec { name = "openblas-${version}"; - version = "0.3.1"; + version = "0.3.3"; src = fetchFromGitHub { owner = "xianyi"; repo = "OpenBLAS"; rev = "v${version}"; - sha256 = "1dkwp4gz1hzpmhzks9y9ipb4c5h0r6c7yff62x3s8x9z6f8knaqc"; + sha256 = "0cpkvfvc14xm9mifrm919rp8vrq70gpl7r2sww4f0izrl39wklwx"; }; inherit blas64; @@ -118,20 +118,7 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optional (stdenv.hostPlatform.libc == "musl") "NO_AFFINITY=1" ++ mapAttrsToList (var: val: var + "=" + val) config; - patches = [ - # Backport of https://github.com/xianyi/OpenBLAS/pull/1667, which - # is causing problems and was already accepted upstream. - (fetchpatch { - url = "https://github.com/xianyi/OpenBLAS/commit/5f2a3c05cd0e3872be3c5686b9da6b627658eeb7.patch"; - sha256 = "1qvxhk92likrshw6z6hjqxvkblwzgsbzis2b2f71bsvx9174qfk1"; - }) - # Double "MAX_ALLOCATING_THREADS", fix with Go and Octave - # https://github.com/xianyi/OpenBLAS/pull/1663 (see also linked issue) - (fetchpatch { - url = "https://github.com/xianyi/OpenBLAS/commit/a49203b48c4a3d6f86413fc8c4b1fbfaa1946463.patch"; - sha256 = "0v6kjkbgbw7hli6xkism48wqpkypxmcqvxpx564snll049l2xzq2"; - }) - ]; + patches = []; doCheck = true; checkTarget = "tests"; From f7f8b60acec7f384de97e0d447bb13c546bfce97 Mon Sep 17 00:00:00 2001 From: Dmitry Vyal Date: Wed, 12 Sep 2018 10:22:52 +0300 Subject: [PATCH 104/130] pytorch-0.4 rpath fix, some tests reenabled --- .../python-modules/pytorch/default.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix index d31719efa172..7d56f1990a52 100644 --- a/pkgs/development/python-modules/pytorch/default.nix +++ b/pkgs/development/python-modules/pytorch/default.nix @@ -42,6 +42,22 @@ in buildPythonPackage rec { export CUDNN_INCLUDE_DIR=${cudnn}/include ''; + preFixup = '' + function join_by { local IFS="$1"; shift; echo "$*"; } + function strip2 { + IFS=':' + read -ra RP <<< $(patchelf --print-rpath $1) + IFS=' ' + RP_NEW=$(join_by : ''${RP[@]:2}) + patchelf --set-rpath \$ORIGIN:''${RP_NEW} "$1" + } + + for f in $(find ''${out} -name 'libcaffe2*.so') + do + strip2 $f + done + ''; + buildInputs = [ cmake numpy.blas @@ -56,7 +72,7 @@ in buildPythonPackage rec { ] ++ lib.optional (pythonOlder "3.5") typing; checkPhase = '' - ${cudaStubEnv}python test/run_test.py --exclude distributed autograd distributions jit sparse torch utils nn + ${cudaStubEnv}python test/run_test.py --exclude dataloader sparse torch utils ''; meta = { From 155e017390b0d75991cf1697adff7a9b86adae00 Mon Sep 17 00:00:00 2001 From: Linus Heckemann Date: Thu, 20 Sep 2018 08:03:06 +0100 Subject: [PATCH 105/130] xorg.libxcb: 1.12 -> 1.13 --- pkgs/servers/x11/xorg/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index c9e8dd04c470..561f8ba94d9f 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1136,11 +1136,11 @@ let }) // {inherit ;}; libxcb = (mkDerivation "libxcb" { - name = "libxcb-1.12"; + name = "libxcb-1.13"; builder = ./builder.sh; src = fetchurl { - url = http://xcb.freedesktop.org/dist/libxcb-1.12.tar.bz2; - sha256 = "0nvv0la91cf8p5qqlb3r5xnmg1jn2wphn4fb5jfbr6byqsvv3psa"; + url = http://xcb.freedesktop.org/dist/libxcb-1.13.tar.bz2; + sha256 = "1ahxhmdqp4bhb90zmc275rmf5wixqra4bnw9pqnzyl1w3598g30q"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libxslt libpthreadstubs python libXau xcbproto libXdmcp ]; @@ -1448,11 +1448,11 @@ let }) // {inherit ;}; xcbproto = (mkDerivation "xcbproto" { - name = "xcb-proto-1.12"; + name = "xcb-proto-1.13"; builder = ./builder.sh; src = fetchurl { - url = http://xcb.freedesktop.org/dist/xcb-proto-1.12.tar.bz2; - sha256 = "01j91946q8f34l1mbvmmgvyc393sm28ym4lxlacpiav4qsjan8jr"; + url = http://xcb.freedesktop.org/dist/xcb-proto-1.13.tar.bz2; + sha256 = "1qdxw9syhbvswiqj5dvj278lrmfhs81apzmvx6205s4vcqg7563v"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ python ]; From b2c7a5a271269175bbcb2907ca821139a7ee465f Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Wed, 5 Sep 2018 18:33:56 +0000 Subject: [PATCH 106/130] bintools-wrapper, cc-wrapper, stdenv: infer propagateDoc automatically 02c09e01712ce0b61e5c8f7159047699a434f7fc (NixOS/nixpkgs#44558) was reverted in c981787db951afb11c1328461df82d4277ebec07 but, as it turns out, it fixed an issue I didn't know about at the time: the values of `propagateDoc` options were (and now again are) inconsistent with the underlying things those wrappers wrap (see NixOS/nixpkgs#46119), which was (and now is) likely to produce more instances of NixOS/nixpkgs#43547, if not now, then eventually as stdenv changes. This patch (which is a simplified version of the original reverted patch) is the simplest solution to this whole thing: it forces wrappers to directly inspect the outputs of the things they are wrapping instead of making stdenv guess the correct values. --- pkgs/build-support/bintools-wrapper/default.nix | 7 ++++--- pkgs/build-support/cc-wrapper/default.nix | 4 +++- pkgs/stdenv/darwin/default.nix | 1 - pkgs/stdenv/linux/default.nix | 1 - 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 7948f726c629..f9ca245beea6 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -6,9 +6,10 @@ # compiler and the linker just "work". { name ? "" -, stdenvNoCC, nativeTools, propagateDoc ? !nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" -, bintools ? null, libc ? null -, coreutils ? null, shell ? stdenvNoCC.shell, gnugrep ? null +, stdenvNoCC +, bintools ? null, libc ? null, coreutils ? null, shell ? stdenvNoCC.shell, gnugrep ? null +, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" +, propagateDoc ? bintools != null && bintools ? man , extraPackages ? [], extraBuildCommands ? "" , buildPackages ? {} , useMacosReexportHack ? false diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 301bc2694c4f..e59758371a38 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -6,8 +6,10 @@ # compiler and the linker just "work". { name ? "" -, stdenvNoCC, nativeTools, propagateDoc ? !nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" +, stdenvNoCC , cc ? null, libc ? null, bintools, coreutils ? null, shell ? stdenvNoCC.shell +, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" +, propagateDoc ? cc != null && cc ? man , extraPackages ? [], extraBuildCommands ? "" , isGNU ? false, isClang ? cc.isClang or false, gnugrep ? null , buildPackages ? {} diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 6d224e4cc44f..bfeac09ea650 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -88,7 +88,6 @@ in rec { extraPackages = lib.optional (libcxx != null) libcxx; nativeTools = false; - propagateDoc = false; nativeLibc = false; inherit buildPackages coreutils gnugrep bintools; libc = last.pkgs.darwin.Libsystem; diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 08703b6934e5..978beea692c6 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -92,7 +92,6 @@ let else lib.makeOverridable (import ../../build-support/cc-wrapper) { name = "${name}-gcc-wrapper"; nativeTools = false; - propagateDoc = false; nativeLibc = false; buildPackages = lib.optionalAttrs (prevStage ? stdenv) { inherit (prevStage) stdenv; From b14db1b0baea19934313ee90b56b157315ab328b Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 5 Sep 2018 14:28:04 -0400 Subject: [PATCH 107/130] gcc-*: Clean up crossStageStatic logic 54282b9610e80b1ed93136319e24cb79c5bbcc33 tread carefuly to avoid a mass rebuild. This embraces the mass rebuild to clean things up. --- pkgs/development/compilers/gcc/4.8/default.nix | 4 +--- pkgs/development/compilers/gcc/4.9/default.nix | 4 +--- pkgs/development/compilers/gcc/5/default.nix | 4 +--- pkgs/development/compilers/gcc/6/default.nix | 4 +--- pkgs/development/compilers/gcc/7/default.nix | 4 +--- pkgs/development/compilers/gcc/8/default.nix | 4 +--- pkgs/development/compilers/gcc/builder.sh | 2 +- pkgs/development/compilers/gcc/snapshot/default.nix | 4 +--- 8 files changed, 8 insertions(+), 22 deletions(-) diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index 60db368c403a..d9376f597a70 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -201,9 +201,7 @@ stdenv.mkDerivation ({ '' else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler langJava + inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index 361db92cb767..c60f54f1560c 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -210,9 +210,7 @@ stdenv.mkDerivation ({ '' else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler langJava + inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index 2e51e9c05066..efd6ec072573 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -215,9 +215,7 @@ stdenv.mkDerivation ({ ) else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler langJava + inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index e6825afcfa84..4760d18a7d81 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -216,9 +216,7 @@ stdenv.mkDerivation ({ ) else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler langJava + inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index 4dfbcf0f5458..bb8a3638b2db 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -189,9 +189,7 @@ stdenv.mkDerivation ({ ) else ""); - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler + inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix index 04054df8bf82..59d7653c52cd 100644 --- a/pkgs/development/compilers/gcc/8/default.nix +++ b/pkgs/development/compilers/gcc/8/default.nix @@ -184,9 +184,7 @@ stdenv.mkDerivation ({ ) else ""); - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler + inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh index a3250f4021a5..75e70006d749 100644 --- a/pkgs/development/compilers/gcc/builder.sh +++ b/pkgs/development/compilers/gcc/builder.sh @@ -131,7 +131,7 @@ if test "$noSysDirs" = "1"; then ) fi - if test -n "${targetConfig-}" -a "$crossStageStatic" == 1; then + if test "$crossStageStatic" == 1; then # We don't want the gcc build to assume there will be a libc providing # limits.h in this stagae makeFlagsArray+=( diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix index 230409e97538..0de6be36c351 100644 --- a/pkgs/development/compilers/gcc/snapshot/default.nix +++ b/pkgs/development/compilers/gcc/snapshot/default.nix @@ -154,9 +154,7 @@ stdenv.mkDerivation ({ '' else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler + inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; From 1abf1971cde752357fd9537dd963886c83fd8c03 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Tue, 4 Sep 2018 17:28:32 +0000 Subject: [PATCH 108/130] gcc7: cleanup with a mass rebuild --- pkgs/development/compilers/gcc/7/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index bb8a3638b2db..e2c686b7e7e8 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -217,9 +217,7 @@ stdenv.mkDerivation ({ ++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools) ; - # TODO: Use optionalString with next rebuild. - ${if (stdenv.cc.isClang && langFortran) then "NIX_CFLAGS_COMPILE" else null} = "-Wno-unused-command-line-argument"; - + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument"; NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl"; preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' From d2674c5e154881261ab17d6b0b2c2e77bb4be8ab Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Tue, 4 Sep 2018 17:30:39 +0000 Subject: [PATCH 109/130] llvm_5: cleanup with a mass rebuild --- pkgs/development/compilers/llvm/5/libc++/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/llvm/5/libc++/default.nix b/pkgs/development/compilers/llvm/5/libc++/default.nix index c7b4615e374a..b182f1250e72 100644 --- a/pkgs/development/compilers/llvm/5/libc++/default.nix +++ b/pkgs/development/compilers/llvm/5/libc++/default.nix @@ -10,11 +10,9 @@ stdenv.mkDerivation rec { export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" ''; - # on next rebuild, this can be replaced with optionals; for now set to null to avoid - # patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ - patches = if stdenv.hostPlatform.isMusl then [ + patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ ../../libcxx-0001-musl-hacks.patch - ] else null; + ]; prePatch = '' substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++" From ed10043f75ab92b1be561b46f2c6f10fc84a7b9b Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Tue, 4 Sep 2018 17:34:46 +0000 Subject: [PATCH 110/130] llvmPackages_6.libcxx: cleanup with a mass rebuild --- pkgs/development/compilers/llvm/6/libc++/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/llvm/6/libc++/default.nix b/pkgs/development/compilers/llvm/6/libc++/default.nix index 1f87cb83ab01..3a165e9da7b1 100644 --- a/pkgs/development/compilers/llvm/6/libc++/default.nix +++ b/pkgs/development/compilers/llvm/6/libc++/default.nix @@ -10,11 +10,9 @@ stdenv.mkDerivation rec { export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" ''; - # on next rebuild, this can be replaced with optionals; for now set to null to avoid - # patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ - patches = if stdenv.hostPlatform.isMusl then [ + patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ ../../libcxx-0001-musl-hacks.patch - ] else null; + ]; prePatch = '' substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++" From 2067b2a5246edd36d015ef30a4c957f2dfe4d48c Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Wed, 5 Sep 2018 00:28:02 +0000 Subject: [PATCH 111/130] texinfo: cleanup with a mass rebuild --- pkgs/development/tools/misc/texinfo/common.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix index c6877ed4d1a1..391179e2eb3f 100644 --- a/pkgs/development/tools/misc/texinfo/common.nix +++ b/pkgs/development/tools/misc/texinfo/common.nix @@ -17,8 +17,7 @@ stdenv.mkDerivation rec { inherit sha256; }; - # TODO: fix on mass rebuild - ${if interactive then "patches" else null} = optional (version == "6.5") ./perl.patch; + patches = optional (version == "6.5") ./perl.patch; # We need a native compiler to build perl XS extensions # when cross-compiling. From c77ba8b8f680ef29fe19b2fa4babe6d615c89f9c Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Tue, 4 Sep 2018 17:35:20 +0000 Subject: [PATCH 112/130] newt: cleanup with a mass rebuild --- pkgs/development/libraries/newt/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/newt/default.nix b/pkgs/development/libraries/newt/default.nix index a10f52462a8e..1a5656b7ca16 100644 --- a/pkgs/development/libraries/newt/default.nix +++ b/pkgs/development/libraries/newt/default.nix @@ -22,10 +22,9 @@ stdenv.mkDerivation rec { unset CPP ''; - # Use `lib.optionalString` next mass rebuild. - makeFlags = if stdenv.buildPlatform == stdenv.hostPlatform - then null - else "CROSS_COMPILE=${stdenv.cc.targetPrefix}"; + makeFlags = stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; meta = with stdenv.lib; { homepage = https://fedorahosted.org/newt/; From d5ddae51bd9b438aa6697ec8104ef9b8e13f30f8 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Tue, 4 Sep 2018 17:35:32 +0000 Subject: [PATCH 113/130] pkgconfig: cleanup with a mass rebuild --- pkgs/development/tools/misc/pkgconfig/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/development/tools/misc/pkgconfig/default.nix b/pkgs/development/tools/misc/pkgconfig/default.nix index 7235af49c2e6..1ae8a32b6405 100644 --- a/pkgs/development/tools/misc/pkgconfig/default.nix +++ b/pkgs/development/tools/misc/pkgconfig/default.nix @@ -19,7 +19,6 @@ stdenv.mkDerivation rec { patches = optional (!vanilla) ./requires-private.patch ++ optional stdenv.isCygwin ./2.36.3-not-win32.patch; - preConfigure = ""; # TODO(@Ericson2314): Remove next mass rebuild buildInputs = optional (stdenv.isCygwin || stdenv.isDarwin || stdenv.isSunOS) libiconv; configureFlags = [ "--with-internal-glib" ] From d0c6bf0a738b854c57bd87c1a1b4ce63c096d542 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Tue, 4 Sep 2018 17:54:47 +0000 Subject: [PATCH 114/130] libdaemon: cleanup with a mass rebuild --- pkgs/development/libraries/libdaemon/default.nix | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/libdaemon/default.nix b/pkgs/development/libraries/libdaemon/default.nix index 59e576fd3923..5dc153dd5ccc 100644 --- a/pkgs/development/libraries/libdaemon/default.nix +++ b/pkgs/development/libraries/libdaemon/default.nix @@ -1,6 +1,6 @@ {stdenv, fetchurl}: -stdenv.mkDerivation (rec { +stdenv.mkDerivation rec { name = "libdaemon-0.14"; src = fetchurl { @@ -8,6 +8,8 @@ stdenv.mkDerivation (rec { sha256 = "0d5qlq5ab95wh1xc87rqrh1vx6i8lddka1w3f1zcqvcqdxgyn8zx"; }; + patches = [ ./fix-includes.patch ]; + configureFlags = [ "--disable-lynx" ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [ # Can't run this test while cross-compiling @@ -16,16 +18,8 @@ stdenv.mkDerivation (rec { meta = { description = "Lightweight C library that eases the writing of UNIX daemons"; - homepage = http://0pointer.de/lennart/projects/libdaemon/; - license = stdenv.lib.licenses.lgpl2Plus; - platforms = stdenv.lib.platforms.unix; - maintainers = [ ]; }; -} // stdenv.lib.optionalAttrs stdenv.hostPlatform.isMusl { - # This patch should be applied unconditionally, but doing so will cause mass rebuild. - patches = ./fix-includes.patch; -}) - +} From 87c02060383a689e81749643a39dbcc3c4fc6ad1 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Tue, 4 Sep 2018 17:55:10 +0000 Subject: [PATCH 115/130] linuxHeaders: cleanup with a mass rebuild --- pkgs/os-specific/linux/kernel-headers/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index 09fa4fbfd3a7..f7c3650f8187 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -3,7 +3,7 @@ }: let - common = { version, sha256, patches ? null }: stdenvNoCC.mkDerivation { + common = { version, sha256, patches ? [] }: stdenvNoCC.mkDerivation { name = "linux-headers-${version}"; src = fetchurl { @@ -20,8 +20,6 @@ let extraIncludeDirs = lib.optional stdenvNoCC.hostPlatform.isPowerPC ["ppc"]; - # "patches" array defaults to 'null' to avoid changing hash - # and causing mass rebuild inherit patches; buildPhase = '' From 095ef623d917f3bbd3e560e8ff9f2a6e953fa7ca Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 23 Sep 2018 14:32:25 -0500 Subject: [PATCH 116/130] Revert "Revert "Merge #42880: coreutils: 8.29 -> 8.30"" This reverts commit e3ee9c098a64deb30e8d9edb180e613b93046f45. --- pkgs/tools/misc/coreutils/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 3d1c7145698c..582f8d8f05f9 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -16,11 +16,11 @@ assert selinuxSupport -> libselinux != null && libsepol != null; with lib; stdenv.mkDerivation rec { - name = "coreutils-8.29"; + name = "coreutils-8.30"; src = fetchurl { url = "mirror://gnu/coreutils/${name}.tar.xz"; - sha256 = "0plm1zs9il6bb5mk881qvbghq4glc8ybbgakk2lfzb0w64fgml4j"; + sha256 = "0mxhw43d4wpqmvg0l4znk1vm10fy92biyh90lzdnqjcic2lb6cg8"; }; patches = optional stdenv.hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch; @@ -32,6 +32,7 @@ stdenv.mkDerivation rec { sed '2i echo Skipping rm deep-2 test && exit 0' -i ./tests/rm/deep-2.sh sed '2i echo Skipping du long-from-unreadable test && exit 0' -i ./tests/du/long-from-unreadable.sh sed '2i echo Skipping chmod setgid test && exit 0' -i ./tests/chmod/setgid.sh + sed '2i print "Skipping env -S test"; exit 0;' -i ./tests/misc/env-S.pl substituteInPlace ./tests/install/install-C.sh \ --replace 'mode3=2755' 'mode3=1755' ''; From 4d9f9f171b776ede7765aabb4cd4ae588f9fbf68 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 23 Sep 2018 14:54:09 -0500 Subject: [PATCH 117/130] make-bootstrap-tools: fix with latest coreutils Since gcc.lib/lib64 is a symlink to 'lib', the use of "lib*/libgcc_s.so*" triggered a warning (error) with the latest coreutils. Essentially we were doing: $ cp a/x b/x y/ And latest coreutils rejects such invocations. Just copy from 'lib', lib64 is a link to it anyway. * Nothing else in this file bothers looking at lib* * AFAICT lib* only ever possibly matched lib64 anyway --- pkgs/stdenv/linux/make-bootstrap-tools.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index 4fc9999b538c..59ded9d81108 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -112,8 +112,8 @@ in with pkgs; rec { cp -d ${gcc.cc.out}/bin/gcc $out/bin cp -d ${gcc.cc.out}/bin/cpp $out/bin cp -d ${gcc.cc.out}/bin/g++ $out/bin - cp -d ${gcc.cc.lib}/lib*/libgcc_s.so* $out/lib - cp -d ${gcc.cc.lib}/lib*/libstdc++.so* $out/lib + cp -d ${gcc.cc.lib}/lib/libgcc_s.so* $out/lib + cp -d ${gcc.cc.lib}/lib/libstdc++.so* $out/lib cp -rd ${gcc.cc.out}/lib/gcc $out/lib chmod -R u+w $out/lib rm -f $out/lib/gcc/*/*/include*/linux From c3cc34f20a6c4b9a5a018ff27289f4c99101abdf Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Mon, 24 Sep 2018 11:00:50 +0200 Subject: [PATCH 118/130] systemd: update to fix nspawn containers (#47264) This fixes nspawn containers with older systemd inside currently failing to start. See: https://github.com/NixOS/systemd/pull/23 https://github.com/systemd/systemd/pull/10104 https://github.com/NixOS/nixpkgs/issues/47253 --- pkgs/os-specific/linux/systemd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 482e3e0bc796..dd8105c8c058 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -26,8 +26,8 @@ in stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "NixOS"; repo = "systemd"; - rev = "21efe60844fda21039c052442076dabcf8643a90"; - sha256 = "0aqifjsb0kaxnqy5nlmzvyzgfd99lm60k1494lbnnk8ahdh8ab07"; + rev = "31859ddd35fc3fa82a583744caa836d356c31d7f"; + sha256 = "1xci0491j95vdjgs397n618zii3sgwnvanirkblqqw6bcvcjvir1"; }; outputs = [ "out" "lib" "man" "dev" ]; From c0660c4c00e03a57a0817ec27a542621bfbab018 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Mon, 24 Sep 2018 09:44:30 -0500 Subject: [PATCH 119/130] cyrus-sasl: set to null on non-musl per reviewer suggestion Unclear what the problem is exactly regarding regenerating files, so this makes the change only impact build configs known to need it. --- pkgs/development/libraries/cyrus-sasl/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix index 619c0801e960..bc5e23581ffa 100644 --- a/pkgs/development/libraries/cyrus-sasl/default.nix +++ b/pkgs/development/libraries/cyrus-sasl/default.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { # Avoid triggering regenerating using broken autoconf/libtool bits. # (many distributions carry patches to remove/replace, but this works for now) - dontUpdateAutotoolsGnuConfigScripts = true; + dontUpdateAutotoolsGnuConfigScripts = if stdenv.hostPlatform.isMusl then true else null; installFlags = lib.optional stdenv.isDarwin [ "framedir=$(out)/Library/Frameworks/SASL2.framework" ]; From df1dcbf07fb91b9b9ecf676d57682e310625f2fe Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Mon, 24 Sep 2018 10:39:35 -0500 Subject: [PATCH 120/130] e2fsprogs: patch out glibc instead of local fix so headers are usable --- pkgs/tools/filesystems/e2fsprogs/default.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix index e2b87007b09f..168bf7d076ce 100644 --- a/pkgs/tools/filesystems/e2fsprogs/default.nix +++ b/pkgs/tools/filesystems/e2fsprogs/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPackages, fetchurl, pkgconfig, libuuid, gettext, texinfo, perl }: +{ stdenv, buildPackages, fetchurl, fetchpatch, pkgconfig, libuuid, gettext, texinfo, perl }: stdenv.mkDerivation rec { name = "e2fsprogs-1.44.4"; @@ -15,8 +15,14 @@ stdenv.mkDerivation rec { buildInputs = [ libuuid gettext ]; # Only use glibc's __GNUC_PREREQ(X,Y) (checks if compiler is gcc version >= X.Y) when using glibc - NIX_CFLAGS_COMPILE = stdenv.lib.optional (stdenv.hostPlatform.libc != "glibc") - "-D__GNUC_PREREQ(maj,min)=0"; + patches = if stdenv.hostPlatform.libc == "glibc" then null + else [ + (fetchpatch { + url = "https://raw.githubusercontent.com/void-linux/void-packages/1f3b51493031cc0309009804475e3db572fc89ad/srcpkgs/e2fsprogs/patches/fix-glibcism.patch"; + sha256 = "1q7y8nhsfwl9r1q7nhrlikazxxj97p93kgz5wh7723cshlji2vaa"; + extraPrefix = ""; + }) + ]; configureFlags = if stdenv.isLinux then [ From da18634eff4d8a49e9105c84b15dd139c47c1fc1 Mon Sep 17 00:00:00 2001 From: Ben Wolsieffer Date: Mon, 24 Sep 2018 16:57:38 -0400 Subject: [PATCH 121/130] valgrind: enable debug info (#47251) At least on ARM, valgrind produces no stack trace unless debug info is available for its own libraries. --- pkgs/development/tools/analysis/valgrind/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index 5734a0f27953..ccc2cf9b4ab5 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -17,6 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ perl gdb ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ bootstrap_cmds xnu ]; enableParallelBuilding = true; + separateDebugInfo = stdenv.isLinux; preConfigure = stdenv.lib.optionalString stdenv.isDarwin ( let OSRELEASE = '' From b25b6e0c75867cd0ae9866b7a8f0d6e3a4be54d5 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sun, 23 Sep 2018 20:32:19 +0200 Subject: [PATCH 122/130] stdenv: Improve ELF detection for isELF The isELF function only checks whether ELF is contained within the first 4 bytes of the file, which is a bit fuzzy and will also return successful if it's a text file starting with ELF, for example: ELF headers ----------- Some text here about ELF headers... So instead, we're now doing a precise match on \x7fELF. Signed-off-by: aszlig Acked-by: @Ericson2314 Closes: https://github.com/NixOS/nixpkgs/pull/47244 --- pkgs/stdenv/generic/setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 11d0f1fbce43..8af369b1d17d 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -211,7 +211,7 @@ isELF() { exec {fd}< "$fn" read -r -n 4 -u "$fd" magic exec {fd}<&- - if [[ "$magic" =~ ELF ]]; then return 0; else return 1; fi + if [ "$magic" = $'\177ELF' ]; then return 0; else return 1; fi } # Return success if the specified file is a script (i.e. starts with From 1b7397c61daa9df7b2dbd9a76802ecba8f657b08 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 25 Sep 2018 02:36:28 -0700 Subject: [PATCH 123/130] nspr: 4.19 -> 4.20 (#46227) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from nspr --- pkgs/development/libraries/nspr/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix index ce18498ee858..9cb7d701b9da 100644 --- a/pkgs/development/libraries/nspr/default.nix +++ b/pkgs/development/libraries/nspr/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl , CoreServices ? null }: -let version = "4.19"; in +let version = "4.20"; in stdenv.mkDerivation { name = "nspr-${version}"; src = fetchurl { url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz"; - sha256 = "0agpv3f17h8kmzi0ifibaaxc1k3xc0q61wqw3l6r2xr2z8bmkn9f"; + sha256 = "0vjms4j75zvv5b2siyafg7hh924ysx2cwjad8spzp7x87n8n929c"; }; outputs = [ "out" "dev" ]; From 588b524933a7af27808e1e749e258c3795c9b842 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 25 Sep 2018 02:40:32 -0700 Subject: [PATCH 124/130] curl: 7.61.0 -> 7.61.1 (#46295) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/curl/versions From 867d387a1c92dee533f380e5aeca874b3507de4f Mon Sep 17 00:00:00 2001 From: "Alexander V. Nikolaev" Date: Tue, 25 Sep 2018 12:50:51 +0300 Subject: [PATCH 125/130] epoxy: 1.5.1 -> 1.5.2 (#47178) libgl-path.patch was updated (it applied with little fuzz, because I am a bit lazy, and rebase it on master of epoxy, not 1.5.2) --- pkgs/development/libraries/epoxy/default.nix | 4 +-- .../libraries/epoxy/libgl-path.patch | 25 ++++++------------- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/pkgs/development/libraries/epoxy/default.nix b/pkgs/development/libraries/epoxy/default.nix index cc62b2776ede..7c3dd19a4795 100644 --- a/pkgs/development/libraries/epoxy/default.nix +++ b/pkgs/development/libraries/epoxy/default.nix @@ -6,13 +6,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "epoxy-${version}"; - version = "1.5.1"; + version = "1.5.2"; src = fetchFromGitHub { owner = "anholt"; repo = "libepoxy"; rev = "${version}"; - sha256 = "1811agxr7g9wd832np8sw152j468kg3qydmfkc564v54ncfcgaci"; + sha256 = "0frs42s7d3ff2wlw0jns6vb3myx2bhz9m5nkzbnfyn436s2qqls3"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/epoxy/libgl-path.patch b/pkgs/development/libraries/epoxy/libgl-path.patch index 6f50b9d262b5..8f38ee27174b 100644 --- a/pkgs/development/libraries/epoxy/libgl-path.patch +++ b/pkgs/development/libraries/epoxy/libgl-path.patch @@ -1,20 +1,11 @@ -From 4046e0ac8ed93354c01de5f3b5cae790cce70404 Mon Sep 17 00:00:00 2001 -From: Will Dietz -Date: Thu, 29 Mar 2018 07:21:02 -0500 -Subject: [PATCH] Explicitly search LIBGL_PATH as fallback, if defined. - ---- - src/dispatch_common.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - diff --git a/src/dispatch_common.c b/src/dispatch_common.c -index bc2fb94..776237b 100644 +index b3e4f5f..303e8f5 100644 --- a/src/dispatch_common.c +++ b/src/dispatch_common.c -@@ -306,6 +306,18 @@ get_dlopen_handle(void **handle, const char *lib_name, bool exit_on_fail) - pthread_mutex_lock(&api.mutex); - if (!*handle) { - *handle = dlopen(lib_name, RTLD_LAZY | RTLD_LOCAL); +@@ -310,6 +310,19 @@ get_dlopen_handle(void **handle, const char *lib_name, bool exit_on_fail, bool l + flags |= RTLD_NOLOAD; + + *handle = dlopen(lib_name, flags); +#ifdef LIBGL_PATH + if (!*handle) { + char pathbuf[sizeof(LIBGL_PATH) + 1 + 1024 + 1]; @@ -24,12 +15,10 @@ index bc2fb94..776237b 100644 + fprintf(stderr, "Error prefixing library pathname\n"); + exit(1); + } -+ *handle = dlopen(pathbuf, RTLD_LAZY | RTLD_LOCAL); ++ *handle = dlopen(pathbuf, flags); + } +#endif ++ if (!*handle) { if (exit_on_fail) { fprintf(stderr, "Couldn't open %s: %s\n", lib_name, dlerror()); --- -2.16.3 - From cfbfb9440c17ee280fe38e51bd51dced4e3ebc70 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Tue, 25 Sep 2018 14:03:30 -0400 Subject: [PATCH 126/130] numpy: gfortran and pytest should be nativeBuildInputs --- pkgs/development/python-modules/numpy/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix index af8815dbfb1b..c66650c0abf2 100644 --- a/pkgs/development/python-modules/numpy/default.nix +++ b/pkgs/development/python-modules/numpy/default.nix @@ -11,7 +11,8 @@ buildPythonPackage rec { }; disabled = isPyPy; - buildInputs = [ gfortran pytest blas ]; + nativeBuildInputs = [ gfortran pytest ]; + buildInputs = [ blas ]; patches = lib.optionals (python.hasDistutilsCxxPatch or false) [ # We patch cpython/distutils to fix https://bugs.python.org/issue1222585 From 84fc814982a3e35d74e292610d389d1a6aab549f Mon Sep 17 00:00:00 2001 From: John Ericson Date: Tue, 25 Sep 2018 14:08:21 -0400 Subject: [PATCH 127/130] scipy: gfortran should be in nativeBuildInputs --- pkgs/development/python-modules/scipy/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/scipy/default.nix b/pkgs/development/python-modules/scipy/default.nix index 140e8cc80b4d..5fdffedc6f27 100644 --- a/pkgs/development/python-modules/scipy/default.nix +++ b/pkgs/development/python-modules/scipy/default.nix @@ -10,7 +10,8 @@ buildPythonPackage rec { }; checkInputs = [ nose pytest ]; - buildInputs = [ gfortran numpy.blas ]; + nativeBuildInputs = [ gfortran ]; + buildInputs = [ numpy.blas ]; propagatedBuildInputs = [ numpy ]; # Remove tests because of broken wrapper From 9c4b11e9a060de2175aef4d36881f97812ab17fe Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Tue, 25 Sep 2018 21:11:54 +0200 Subject: [PATCH 128/130] Revert "patch-shebangs: respect cross compilation" This causes problems for packages built using a bootstrap stdenv, resulting in references to /bin/sh or even bootstrap-tools. The darwin stdenv is much stricter about what requisites/references are allowed but using /bin/sh on linux is also undesirable. eg. https://hydra.nixos.org/build/81754896 $ nix-build -A xz $ head -n1 result-bin/bin/xzdiff #!/nix/store/yvc7kmw98kq547bnqn1afgyxm8mxdwhp-bootstrap-tools/bin/sh This reverts commit f06942327ab60c0a546c7236cb718fd909430066. --- .../setup-hooks/patch-shebangs.sh | 53 ++----------------- 1 file changed, 3 insertions(+), 50 deletions(-) diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh index 8fecf519e1aa..d5586fccae67 100644 --- a/pkgs/build-support/setup-hooks/patch-shebangs.sh +++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh @@ -5,32 +5,10 @@ # rewritten to /nix/store//bin/python. Interpreters that are # already in the store are left untouched. -fixupOutputHooks+=(patchShebangsAuto) - -# Run patch shebangs on a directory. -# patchShebangs [--build | --host] directory - -# Flags: -# --build : Lookup commands available at build-time -# --host : Lookup commands available at runtime - -# Example use cases, -# $ patchShebangs --host /nix/store/...-hello-1.0/bin -# $ patchShebangs --build configure +fixupOutputHooks+=('if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then patchShebangs "$prefix"; fi') patchShebangs() { - local pathName - - if [ "$1" = "--host" ]; then - pathName=HOST_PATH - shift - elif [ "$1" = "--build" ]; then - pathName=PATH - shift - fi - local dir="$1" - header "patching script interpreter paths in $dir" local f local oldPath @@ -49,14 +27,6 @@ patchShebangs() { oldInterpreterLine=$(head -1 "$f" | tail -c+3) read -r oldPath arg0 args <<< "$oldInterpreterLine" - if [ -z "$pathName" ]; then - if [ -n "$strictDeps" ] && [[ "$f" = "$NIX_STORE"* ]]; then - pathName=HOST_PATH - else - pathName=PATH - fi - fi - if $(echo "$oldPath" | grep -q "/bin/env$"); then # Check for unsupported 'env' functionality: # - options: something starting with a '-' @@ -65,17 +35,14 @@ patchShebangs() { echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" exit 1 fi - - newPath="$(PATH="${!pathName}" command -v "$arg0" || true)" + newPath="$(command -v "$arg0" || true)" else if [ "$oldPath" = "" ]; then # If no interpreter is specified linux will use /bin/sh. Set # oldpath="/bin/sh" so that we get /nix/store/.../sh. oldPath="/bin/sh" fi - - newPath="$(PATH="${!pathName}" command -v "$(basename "$oldPath")" || true)" - + newPath="$(command -v "$(basename "$oldPath")" || true)" args="$arg0 $args" fi @@ -98,17 +65,3 @@ patchShebangs() { stopNest } - -patchShebangsAuto () { - if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then - - # Dev output will end up being run on the build platform. An - # example case of this is sdl2-config. Otherwise, we can just - # use the runtime path (--host). - if [ "$output" != out ] && [ "$output" = "${!outputDev}" ]; then - patchShebangs --build "$prefix" - else - patchShebangs --host "$prefix" - fi - fi -} From 56621c016d543f58817e0dc2c6189bf635ae9799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 2 Oct 2018 11:16:54 +0200 Subject: [PATCH 129/130] ffmpeg: unbreak build of older versions after #46078 As in the other cases, I didn't care about passing the dependency if unused... --- pkgs/development/libraries/ffmpeg/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 89e06f8b8d92..7c3b3447d613 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -128,7 +128,7 @@ stdenv.mkDerivation rec { "--enable-libmp3lame" (ifMinVer "1.2" "--enable-iconv") "--enable-libtheora" - "--enable-libssh" + (ifMinVer "2.1" "--enable-libssh") (ifMinVer "0.6" (enableFeature vaapiSupport "vaapi")) "--enable-vdpau" "--enable-libvorbis" From fe970a82ece66e08d5400c22eebd2c2ec19b5457 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 2 Oct 2018 12:43:55 +0200 Subject: [PATCH 130/130] firefox: drop patch that's applied already It's a bit weird that noone's noticed, but I guess it's because of a merge or rebase. --- pkgs/applications/networking/browsers/firefox/packages.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 7ac1f85c69e5..935be6230cd3 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -28,12 +28,6 @@ rec { patches = nixpkgsPatches ++ [ ./no-buildconfig.patch - # fix build with rust >= 1.29 and firefox < 63 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1479540 - (fetchpatch { - url = "https://github.com/mozilla/gecko-dev/commit/eec0d4f8714e6671402d41632232ef57348e65c4.patch"; - sha256 = "1cjaqx811bcnp8b6z16q25csaclaic3b11q45ck02srd99n8qp0j"; - }) ]; extraNativeBuildInputs = [ python3 ];