From 1ded0cb24c4cd6b456ff18b6162d2173cc6330fc Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 14 Oct 2016 17:36:57 +0200 Subject: [PATCH 01/42] gcc: Make 6.x the default Fixes #19456. --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 00b05fce30f8..589d077f0f4d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4538,7 +4538,7 @@ in gambit = callPackage ../development/compilers/gambit { }; - gcc = gcc5; + gcc = gcc6; wrapCCMulti = cc: if system == "x86_64-linux" then lowPrio ( From bbc204cd98ec83e40f3ebae7889fdd095179ea9e Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 14 Oct 2016 17:52:14 +0200 Subject: [PATCH 02/42] binutils: Add lib output Some packages depend on libbfd. This prevents them from having all of binutils in their closure (which is 29 MiB). --- .../tools/misc/binutils/default.nix | 8 +++++++- .../tools/misc/binutils/no-plugins.patch | 19 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/tools/misc/binutils/no-plugins.patch diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 4c32255e8755..0214cafb1a7b 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -32,9 +32,15 @@ stdenv.mkDerivation rec { # This is needed, for instance, so that running "ldd" on a binary that is # PaX-marked to disable mprotect doesn't fail with permission denied. ./pt-pax-flags.patch + + # Bfd looks in BINDIR/../lib for some plugins that don't + # exist. This is pointless (since users can't install plugins + # there) and causes a cycle between the lib and bin outputs, so + # get rid of it. + ./no-plugins.patch ]; - outputs = [ "out" "info" ] ++ (optional (cross == null) "dev"); + outputs = [ "out" "lib" "info" ] ++ (optional (cross == null) "dev"); nativeBuildInputs = [ bison ]; buildInputs = [ zlib ]; diff --git a/pkgs/development/tools/misc/binutils/no-plugins.patch b/pkgs/development/tools/misc/binutils/no-plugins.patch new file mode 100644 index 000000000000..9624b7976b70 --- /dev/null +++ b/pkgs/development/tools/misc/binutils/no-plugins.patch @@ -0,0 +1,19 @@ +diff -ru binutils-2.27-orig/bfd/plugin.c binutils-2.27/bfd/plugin.c +--- binutils-2.27-orig/bfd/plugin.c 2016-10-14 17:46:30.791315555 +0200 ++++ binutils-2.27/bfd/plugin.c 2016-10-14 17:46:38.583298765 +0200 +@@ -333,6 +333,7 @@ + if (plugin_program_name == NULL) + return found; + ++#if 0 + plugin_dir = concat (BINDIR, "/../lib/bfd-plugins", NULL); + p = make_relative_prefix (plugin_program_name, + BINDIR, +@@ -364,6 +365,7 @@ + free (p); + if (d) + closedir (d); ++#endif + + return found; + } From 04fefde9e42f84d956fb2112fd3ff0b65c742d3e Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 19 Oct 2016 16:19:11 +0200 Subject: [PATCH 03/42] audiofile: Fix build on GCC 6 http://hydra.nixos.org/build/42228674 --- .../libraries/audiofile/default.nix | 2 +- .../libraries/audiofile/gcc-6.patch | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/audiofile/gcc-6.patch diff --git a/pkgs/development/libraries/audiofile/default.nix b/pkgs/development/libraries/audiofile/default.nix index c76115000cb0..78867881dc32 100644 --- a/pkgs/development/libraries/audiofile/default.nix +++ b/pkgs/development/libraries/audiofile/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "0rb927zknk9kmhprd8rdr4azql4gn2dp75a36iazx2xhkbqhvind"; }; - patches = [ ./CVE-2015-7747.patch ]; + patches = [ ./CVE-2015-7747.patch ./gcc-6.patch ]; meta = with stdenv.lib; { description = "Library for reading and writing audio files in various formats"; diff --git a/pkgs/development/libraries/audiofile/gcc-6.patch b/pkgs/development/libraries/audiofile/gcc-6.patch new file mode 100644 index 000000000000..1a7edd5af9a1 --- /dev/null +++ b/pkgs/development/libraries/audiofile/gcc-6.patch @@ -0,0 +1,30 @@ +http://patchwork.ozlabs.org/patch/630200/ + +From 28cfdbbcb96a69087c3d21faf69b5eae7bcf6d69 Mon Sep 17 00:00:00 2001 +From: Hodorgasm +Date: Wed, 11 May 2016 21:42:07 -0400 +Subject: [PATCH] Cast to unsigned while left bit-shifting + +GCC-6 now treats the left bitwise-shift of a negative integer as nonconformant so explicitly cast to an unsigned int while bit-shifting. + +Downloaded from upstream PR: +https://github.com/mpruett/audiofile/pull/28 + +Signed-off-by: Bernd Kuhls +--- + libaudiofile/modules/SimpleModule.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libaudiofile/modules/SimpleModule.h b/libaudiofile/modules/SimpleModule.h +index 03c6c69..4014fb2 100644 +--- a/libaudiofile/modules/SimpleModule.h ++++ b/libaudiofile/modules/SimpleModule.h +@@ -123,7 +123,7 @@ struct signConverter + typedef typename IntTypes::UnsignedType UnsignedType; + + static const int kScaleBits = (Format + 1) * CHAR_BIT - 1; +- static const int kMinSignedValue = -1 << kScaleBits; ++ static const int kMinSignedValue = static_cast(static_cast(-1) << kScaleBits);; + + struct signedToUnsigned : public std::unary_function + { From b5cbecd12794c79f4ddb9ef11e6e6b9131d8930e Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 2 Nov 2016 15:31:43 +0100 Subject: [PATCH 04/42] memtest86+: Build with gcc 5 http://hydra.nixos.org/build/43011285 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 547895a340cf..b93d0f517514 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2626,7 +2626,9 @@ in memtest86 = callPackage ../tools/misc/memtest86 { }; - memtest86plus = callPackage ../tools/misc/memtest86+ { }; + memtest86plus = callPackage ../tools/misc/memtest86+ { + stdenv = overrideCC stdenv gcc5; + }; meo = callPackage ../tools/security/meo { boost = boost155; From 624cecfd1e76e0e17850d126db9af056654275ac Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 3 Nov 2016 09:24:03 +0100 Subject: [PATCH 05/42] libfaketime: Fix build on gcc 6 http://hydra.nixos.org/build/43031670 --- pkgs/development/libraries/libfaketime/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/libraries/libfaketime/default.nix b/pkgs/development/libraries/libfaketime/default.nix index 7d430614257e..49710339828d 100644 --- a/pkgs/development/libraries/libfaketime/default.nix +++ b/pkgs/development/libraries/libfaketime/default.nix @@ -12,6 +12,9 @@ stdenv.mkDerivation rec { makeFlagsArray+=(PREFIX="$out" LIBDIRNAME=/lib) ''; + # Work around "libfaketime.c:513:7: error: nonnull argument 'buf' compared to NULL [-Werror=nonnull-compare]". + NIX_CFLAGS_COMPILE = "-Wno-nonnull-compare"; + meta = with stdenv.lib; { description = "Report faked system time to programs without having to change the system-wide time"; homepage = http://www.code-wizards.com/projects/libfaketime/; From 820186434ae33fee3953c8e74f111c45d6779192 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 9 Nov 2016 14:46:26 +0100 Subject: [PATCH 06/42] guile: Fix random test failure Also, let's try parallel building again. Seems to work on several tries. https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24769#12 http://hydra.nixos.org/build/43385084 --- .../interpreters/guile/default.nix | 8 ++-- .../interpreters/guile/fix-test.patch | 38 +++++++++++++++++++ 2 files changed, 41 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/interpreters/guile/fix-test.patch diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix index 97f8f61a98e6..391885a44049 100644 --- a/pkgs/development/interpreters/guile/default.nix +++ b/pkgs/development/interpreters/guile/default.nix @@ -16,8 +16,8 @@ nativeBuildInputs = [ makeWrapper gawk pkgconfig ]; buildInputs = [ readline libtool libunistring libffi ]; - propagatedBuildInputs = [ gmp boehmgc ] + propagatedBuildInputs = [ gmp boehmgc ] # XXX: These ones aren't normally needed here, but since # `libguile-2.0.la' reads `-lltdl -lunistring', adding them here will add # the needed `-L' flags. As for why the `.la' file lacks the `-L' flags, @@ -27,11 +27,9 @@ # A native Guile 2.0 is needed to cross-build Guile. selfNativeBuildInput = true; - # Guile 2.0.11 repeatable fails with 8-core parallel building because - # libguile/vm-i-system.i is not created in time - enableParallelBuilding = false; + enableParallelBuilding = true; - patches = [ ./disable-gc-sensitive-tests.patch ./eai_system.patch ./clang.patch ] ++ + patches = [ ./disable-gc-sensitive-tests.patch ./eai_system.patch ./clang.patch ./fix-test.patch ] ++ (stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch); # Explicitly link against libgcc_s, to work around the infamous diff --git a/pkgs/development/interpreters/guile/fix-test.patch b/pkgs/development/interpreters/guile/fix-test.patch new file mode 100644 index 000000000000..91bfa822b9e2 --- /dev/null +++ b/pkgs/development/interpreters/guile/fix-test.patch @@ -0,0 +1,38 @@ +From 2fbde7f02adb8c6585e9baf6e293ee49cd23d4c4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= +Date: Fri, 4 Nov 2016 22:45:51 +0100 +Subject: tests: Avoid race condition in REPL server test. + +Fixes . +Reported by Rob Browning . + +* test-suite/tests/00-repl-server.test ("simple expression"): Add call +to 'select' before 'display'. +--- + test-suite/tests/00-repl-server.test | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/test-suite/tests/00-repl-server.test b/test-suite/tests/00-repl-server.test +index 1f570a9..4b5ec0c 100644 +--- a/test-suite/tests/00-repl-server.test ++++ b/test-suite/tests/00-repl-server.test +@@ -105,8 +105,14 @@ reached." + "scheme@(repl-server)> $1 = 42\n" + (with-repl-server socket + (read-until-prompt socket %last-line-before-prompt) +- (display "(+ 40 2)\n(quit)\n" socket) +- (read-string socket))) ++ ++ ;; Wait until 'repl-reader' in boot-9 has written the prompt. ++ ;; Otherwise, if we write too quickly, 'repl-reader' checks for ++ ;; 'char-ready?' and doesn't print the prompt. ++ (match (select (list socket) '() (list socket) 3) ++ (((_) () ()) ++ (display "(+ 40 2)\n(quit)\n" socket) ++ (read-string socket))))) + + (pass-if "HTTP inter-protocol attack" ;CVE-2016-8606 + (with-repl-server socket +-- +cgit v1.0 + From a399c55a0f45381e0581597bc87700134d059de6 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 9 Nov 2016 15:28:57 +0100 Subject: [PATCH 07/42] libraw: 0.17.1 -> 0.17.2 Also apply a fix from Debian for building with GCC 6. --- pkgs/development/libraries/libraw/default.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix index fedc5287b49b..10979abdeabc 100644 --- a/pkgs/development/libraries/libraw/default.nix +++ b/pkgs/development/libraries/libraw/default.nix @@ -2,13 +2,20 @@ stdenv.mkDerivation rec { name = "libraw-${version}"; - version = "0.17.1"; + version = "0.17.2"; src = fetchurl { url = "http://www.libraw.org/data/LibRaw-${version}.tar.gz"; - sha256 = "18fygk896gxbx47nh2rn5jp4skisgkl6pdfjqb7h0zn39hd6b6g5"; + sha256 = "0p6imxpsfn82i0i9w27fnzq6q6gwzvb9f7sygqqakv36fqnc9c4j"; }; + patches = + [ (fetchurl { + url = https://anonscm.debian.org/cgit/pkg-phototools/libraw.git/plain/debian/patches/0001-Fix_gcc6_narrowing_conversion.patch?id=d890937aaca6359df45a66b35e547c94ca564823; + sha256 = "1lcg5l0wmwiyzhhm67c1c7hy8py6ihxfmicnhrwpi3i6f16vq29w"; + }) + ]; + outputs = [ "out" "lib" "dev" "doc" ]; buildInputs = [ jasper ]; From 1751568e9fddb140d1e2f1070b5629224b126162 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Tue, 17 Jan 2017 04:58:14 +0100 Subject: [PATCH 08/42] ragel: fix build with gcc 6 --- pkgs/development/tools/parsing/ragel/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix index 05546da67f01..0fe243e8aaff 100644 --- a/pkgs/development/tools/parsing/ragel/default.nix +++ b/pkgs/development/tools/parsing/ragel/default.nix @@ -20,6 +20,8 @@ let configureFlags = [ "--with-colm=${colm}" ]; + NIX_CFLAGS_COMPILE = "-std=gnu++98"; + doCheck = true; meta = with stdenv.lib; { From a9be685dbfbb427d623de69ad3b25977d7559eed Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Tue, 17 Jan 2017 05:07:11 +0100 Subject: [PATCH 09/42] geos: 3.5.0 -> 3.6.1 --- pkgs/development/libraries/geos/default.nix | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/pkgs/development/libraries/geos/default.nix b/pkgs/development/libraries/geos/default.nix index d63a1bb75726..de7111f6be36 100644 --- a/pkgs/development/libraries/geos/default.nix +++ b/pkgs/development/libraries/geos/default.nix @@ -1,24 +1,17 @@ -{ composableDerivation, fetchurl, python }: +{ stdenv, fetchurl, fetchpatch, python }: -let inherit (composableDerivation) edf; in - -composableDerivation.composableDerivation {} rec { - - flags = - # python and ruby untested - edf { name = "python"; enable = { buildInputs = [ python ]; }; }; - # (if args.use_svn then ["libtool" "autoconf" "automake" "swig"] else []) - # // edf { name = "ruby"; enable = { buildInputs = [ ruby ]; };} - - name = "geos-3.5.0"; +stdenv.mkDerivation rec { + name = "geos-3.6.1"; src = fetchurl { url = "http://download.osgeo.org/geos/${name}.tar.bz2"; - sha256 = "49982b23bcfa64a53333dab136b82e25354edeb806e5a2e2f5b8aa98b1d0ae02"; + sha256 = "1icz31kd5sml2kdxhjznvmv33zfr6nig9l0i6bdcz9q9g8x4wbja"; }; enableParallelBuilding = true; + buildInputs = [ python ]; + meta = { description = "C++ port of the Java Topology Suite (JTS)"; homepage = http://geos.refractions.net/; From e28c3a4d42d81216bc19d01b1ba30236b5a54e66 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Tue, 17 Jan 2017 22:51:17 +0100 Subject: [PATCH 10/42] protobuf3_0: 3.0.0 -> 3.0.2 --- pkgs/development/libraries/protobuf/3.0.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/protobuf/3.0.nix b/pkgs/development/libraries/protobuf/3.0.nix index f80acf462b85..4e77e7f1fbee 100644 --- a/pkgs/development/libraries/protobuf/3.0.nix +++ b/pkgs/development/libraries/protobuf/3.0.nix @@ -1,6 +1,6 @@ { callPackage, ... }: callPackage ./generic-v3.nix { - version = "3.0.0"; - sha256 = "05qkcl96lkdama848m7q3nzzzdckjc158iiyvgmln0zi232xx7g7"; + version = "3.0.2"; + sha256 = "16wmr1fgdqpf84fkq90cxvccfsxx7h0q0wzqkbg8vdjmka412g09"; } From 26d24cf111cd5e800ee3d89ed484a5eabae68a5c Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Wed, 18 Jan 2017 00:11:59 +0100 Subject: [PATCH 11/42] protobuf3_0: fix build with gcc 6 --- pkgs/development/libraries/protobuf/generic-v3.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/protobuf/generic-v3.nix b/pkgs/development/libraries/protobuf/generic-v3.nix index f74aea9dbd57..315608bf2b4f 100644 --- a/pkgs/development/libraries/protobuf/generic-v3.nix +++ b/pkgs/development/libraries/protobuf/generic-v3.nix @@ -34,6 +34,8 @@ stdenv.mkDerivation rec { doCheck = true; + NIX_CFLAGS_COMPILE = "-Wno-error=misleading-indentation"; + meta = { description = "Google's data interchange format"; longDescription = From 064dd204b716d22c645b696914efc3da8de8bd9d Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Wed, 18 Jan 2017 00:22:08 +0100 Subject: [PATCH 12/42] qt4: add patch to fix build with gcc6, set c++ std --- .../development/libraries/qt-4.x/4.8/default.nix | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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 91a8899f4d13..cfb4ac614599 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -80,12 +80,19 @@ stdenv.mkDerivation rec { gtk = gtk2.out; gdk_pixbuf = gdk_pixbuf.out; }) - ++ [(fetchpatch { + ++ [ + (fetchpatch { name = "fix-medium-font.patch"; url = "http://anonscm.debian.org/cgit/pkg-kde/qt/qt4-x11.git/plain/debian/patches/" + "kubuntu_39_fix_medium_font.diff?id=21b342d71c19e6d68b649947f913410fe6129ea4"; sha256 = "0bli44chn03c2y70w1n8l7ss4ya0b40jqqav8yxrykayi01yf95j"; - })]; + }) + (fetchpatch { + name = "qt4-gcc6.patch"; + url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qt4-gcc6.patch?h=packages/qt4&id=ca773a144f5abb244ac4f2749eeee9333cac001f"; + sha256 = "07lrva7bjh6i40p7b3ml26a2jlznri8bh7y7iyx5zmvb1gfxmj34"; + }) + ]; preConfigure = '' export LD_LIBRARY_PATH="`pwd`/lib:$LD_LIBRARY_PATH" @@ -145,8 +152,9 @@ stdenv.mkDerivation rec { enableParallelBuilding = false; - NIX_CFLAGS_COMPILE = optionalString (stdenv.isFreeBSD || stdenv.isDarwin) - "-I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include" + NIX_CFLAGS_COMPILE = "-std=gnu++98" + + optionalString (stdenv.isFreeBSD || stdenv.isDarwin) + "-I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include" + optionalString stdenv.isDarwin " -I${libcxx}/include/c++/v1"; NIX_LDFLAGS = optionalString (stdenv.isFreeBSD || stdenv.isDarwin) From fe0fe963bd12205b78f5b82026105e31e784532d Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Wed, 18 Jan 2017 01:12:49 +0100 Subject: [PATCH 13/42] smpeg: build with gcc 6 --- pkgs/development/libraries/smpeg/default.nix | 7 ++-- pkgs/development/libraries/smpeg/format.patch | 11 +++++++ pkgs/development/libraries/smpeg/gcc6.patch | 33 +++++++++++++++++++ 3 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/smpeg/format.patch create mode 100644 pkgs/development/libraries/smpeg/gcc6.patch diff --git a/pkgs/development/libraries/smpeg/default.nix b/pkgs/development/libraries/smpeg/default.nix index 6803dfd76de9..f248d65e2ed6 100644 --- a/pkgs/development/libraries/smpeg/default.nix +++ b/pkgs/development/libraries/smpeg/default.nix @@ -10,9 +10,12 @@ stdenv.mkDerivation rec { sha256 = "0ynwn7ih5l2b1kpzpibns9bb9wzfjak7mgrb1ji0dkn2q5pv6lr0"; }; - enableParallelBuilding = true; + patches = [ + ./format.patch + ./gcc6.patch + ]; - hardeningDisable = [ "format" ]; + enableParallelBuilding = true; buildInputs = [ SDL gtk2 mesa ]; diff --git a/pkgs/development/libraries/smpeg/format.patch b/pkgs/development/libraries/smpeg/format.patch new file mode 100644 index 000000000000..8486dee5cda4 --- /dev/null +++ b/pkgs/development/libraries/smpeg/format.patch @@ -0,0 +1,11 @@ +--- a/plaympeg.c 2014-09-04 08:55:10.646132150 +0200 ++++ b/plaympeg.c 2014-09-04 08:56:57.465210820 +0200 +@@ -262,7 +262,7 @@ + answer[i] = c; + } + answer[i] = 0; +- fprintf(stderr, answer + 4); ++ fprintf(stderr, "%s", answer + 4); + } + while(answer[3] == '-'); + diff --git a/pkgs/development/libraries/smpeg/gcc6.patch b/pkgs/development/libraries/smpeg/gcc6.patch new file mode 100644 index 000000000000..165feb4428c2 --- /dev/null +++ b/pkgs/development/libraries/smpeg/gcc6.patch @@ -0,0 +1,33 @@ +--- a/audio/hufftable.cpp ++++ b/audio/hufftable.cpp +@@ -9,6 +9,7 @@ + #include "config.h" + #endif + ++#include + #include "MPEGaudio.h" + + static const unsigned int +@@ -550,11 +551,11 @@ htd33[ 31][2]={{ 16, 1},{ 8, 1},{ 4, + + const HUFFMANCODETABLE MPEGaudio::ht[HTN]= + { +- { 0, 0-1, 0-1, 0, 0, htd33}, ++ { 0, UINT_MAX, UINT_MAX, 0, 0, htd33}, + { 1, 2-1, 2-1, 0, 7,htd01}, + { 2, 3-1, 3-1, 0, 17,htd02}, + { 3, 3-1, 3-1, 0, 17,htd03}, +- { 4, 0-1, 0-1, 0, 0, htd33}, ++ { 4, UINT_MAX, UINT_MAX, 0, 0, htd33}, + { 5, 4-1, 4-1, 0, 31,htd05}, + { 6, 4-1, 4-1, 0, 31,htd06}, + { 7, 6-1, 6-1, 0, 71,htd07}, +@@ -564,7 +565,7 @@ const HUFFMANCODETABLE MPEGaudio::ht[HTN + {11, 8-1, 8-1, 0,127,htd11}, + {12, 8-1, 8-1, 0,127,htd12}, + {13,16-1,16-1, 0,511,htd13}, +- {14, 0-1, 0-1, 0, 0, htd33}, ++ {14, UINT_MAX, UINT_MAX, 0, 0, htd33}, + {15,16-1,16-1, 0,511,htd15}, + {16,16-1,16-1, 1,511,htd16}, + {17,16-1,16-1, 2,511,htd16}, From aca78bf6373b78bc72454cc67e34ca7eec9c780b Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Wed, 18 Jan 2017 14:48:13 +0100 Subject: [PATCH 14/42] wxGTK: build with gcc 6 --- pkgs/development/libraries/wxGTK-2.8/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/wxGTK-2.8/default.nix b/pkgs/development/libraries/wxGTK-2.8/default.nix index c4530da54531..6b9aa4587350 100644 --- a/pkgs/development/libraries/wxGTK-2.8/default.nix +++ b/pkgs/development/libraries/wxGTK-2.8/default.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { + optionalString withMesa "${mesa.out}/lib "; # Work around a bug in configure. - NIX_CFLAGS_COMPILE = [ "-DHAVE_X11_XLIB_H=1" "-lX11" "-lcairo" ]; + NIX_CFLAGS_COMPILE = [ "-DHAVE_X11_XLIB_H=1" "-lX11" "-lcairo" "-Wno-narrowing" ]; preConfigure = " substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE=' From 1877be499d1fb30c9399cdfc034ff3a84c4a38af Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Wed, 18 Jan 2017 20:42:53 +0100 Subject: [PATCH 15/42] wxGTK30: fix build with gcc 6 --- pkgs/development/libraries/wxGTK-3.0/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/wxGTK-3.0/default.nix b/pkgs/development/libraries/wxGTK-3.0/default.nix index 5c45b29ec5cd..ed9372725146 100644 --- a/pkgs/development/libraries/wxGTK-3.0/default.nix +++ b/pkgs/development/libraries/wxGTK-3.0/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm, xf86vidmodeproto -, gstreamer, gst_plugins_base, GConf, setfile +{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm +, xf86vidmodeproto , gstreamer, gst_plugins_base, GConf, setfile , withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true , withWebKit ? false, webkitgtk2 ? null , AGL ? null, Carbon ? null, Cocoa ? null, Kernel ? null, QTKit ? null @@ -33,6 +33,11 @@ stdenv.mkDerivation { propagatedBuildInputs = optional stdenv.isDarwin AGL; + patches = [ (fetchpatch { + url = "https://raw.githubusercontent.com/jessehager/MINGW-packages/af6ece963d8157dd3fbc710bcc190647c4924c63/mingw-w64-wxwidgets/wxWidgets-3.0.2-gcc6-abs.patch"; + sha256 = "0100pg0z7i6cjyysf2k3330pmqmdaxgc9hz6kxnfvc31dynjcq3h"; + }) ]; + configureFlags = [ "--enable-gtk2" "--disable-precomp-headers" "--enable-mediactrl" (if compat24 then "--enable-compat24" else "--disable-compat24") From b98bcca019e5dc65e460ee9c8b8f3080b3379782 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Thu, 19 Jan 2017 02:03:42 +0100 Subject: [PATCH 16/42] audacity: fix build with gcc 6 --- pkgs/applications/audio/audacity/default.nix | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix index f91fc03ec019..8b81fd7c35a0 100644 --- a/pkgs/applications/audio/audacity/default.nix +++ b/pkgs/applications/audio/audacity/default.nix @@ -13,12 +13,19 @@ stdenv.mkDerivation rec { url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"; sha256 = "1ggr6g0mk36rqj7ahsg8b0b1r9kphwajzvxgn43md263rm87n04h"; }; - patches = [(fetchpatch { - name = "new-ffmpeg.patch"; - url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk" - + "/audacity-ffmpeg.patch?h=packages/audacity&id=0c1e35798d4d70692"; - sha256 = "19fr674mw844zmkp1476yigkcnmb6zyn78av64ccdwi3p68i00rf"; - })]; + patches = [ + (fetchpatch { + name = "new-ffmpeg.patch"; + url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk" + + "/audacity-ffmpeg.patch?h=packages/audacity&id=0c1e35798d4d70692"; + sha256 = "19fr674mw844zmkp1476yigkcnmb6zyn78av64ccdwi3p68i00rf"; + }) + (fetchpatch { + name = "gcc6.patch"; + url = "https://github.com/audacity/audacity/commit/60f2322055756e8cacfe96530a12c63e9694482c.patch"; + sha256 = "07jlxr8y7ap3nsblx3zh8v9rcx7ajbcfnvwzhwykmbwbsyirgqf2"; + }) + ]; preConfigure = /* we prefer system-wide libs */ '' mv lib-src lib-src-rm From d6bac43a14a1c2b95c9cf963c960d1a917412290 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Thu, 19 Jan 2017 02:09:16 +0100 Subject: [PATCH 17/42] podofo: 0.9.3 -> 0.9.4, pin to gcc5 --- pkgs/development/libraries/podofo/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/podofo/default.nix b/pkgs/development/libraries/podofo/default.nix index 0b67ce16331c..b68bc20ecf35 100644 --- a/pkgs/development/libraries/podofo/default.nix +++ b/pkgs/development/libraries/podofo/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, cmake, zlib, freetype, libjpeg, libtiff, fontconfig -, openssl, libpng, lua5 }: +, gcc5, openssl, libpng, lua5 }: stdenv.mkDerivation rec { - name = "podofo-0.9.3"; + name = "podofo-0.9.4"; src = fetchurl { url = "mirror://sourceforge/podofo/${name}.tar.gz"; - sha256 = "1n12lbq9x15vqn7dc0hsccp56l5jdff1xrhvlfqlbklxx0qiw9pc"; + sha256 = "0ngqgwl38afmzcj2zpf18a2g63vhm2fp45cbf9z62129rdgm1pyc"; }; propagatedBuildInputs = [ zlib freetype libjpeg libtiff fontconfig openssl libpng ]; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake gcc5 ]; buildInputs = [ lua5 stdenv.cc.libc ]; crossAttrs = { From 55c8891426d289545e732ad3bf3eda82381dc8df Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Thu, 19 Jan 2017 02:18:03 +0100 Subject: [PATCH 18/42] libe-book: fix build with gcc6 --- pkgs/development/libraries/libe-book/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/libe-book/default.nix b/pkgs/development/libraries/libe-book/default.nix index 02195dede936..1e374b8ad1fd 100644 --- a/pkgs/development/libraries/libe-book/default.nix +++ b/pkgs/development/libraries/libe-book/default.nix @@ -28,6 +28,7 @@ stdenv.mkDerivation { src = fetchurl { inherit (s) url sha256; }; + NIX_CFLAGS_COMPILE = "-Wno-error=unused-function"; meta = { inherit (s) version; description = ''Library for import of reflowable e-book formats''; From 3fc9934e58da48ae912de9e9c5b748b07a4eee93 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Thu, 19 Jan 2017 02:24:04 +0100 Subject: [PATCH 19/42] linuxPackages.perf: fix build with gcc6 --- pkgs/os-specific/linux/kernel/perf.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix index 9e5724984576..76f2662f21b9 100644 --- a/pkgs/os-specific/linux/kernel/perf.nix +++ b/pkgs/os-specific/linux/kernel/perf.nix @@ -30,7 +30,10 @@ stdenv.mkDerivation { # Note: we don't add elfutils to buildInputs, since it provides a # bad `ld' and other stuff. - NIX_CFLAGS_COMPILE = "-Wno-error=cpp -Wno-error=bool-compare -Wno-error=deprecated-declarations"; + NIX_CFLAGS_COMPILE = [ + "-Wno-error=cpp" "-Wno-error=bool-compare" "-Wno-error=deprecated-declarations" + "-Wno-error=unused-const-variable" "-Wno-error=misleading-indentation" + ]; installFlags = "install install-man ASCIIDOC8=1"; From e52d072c64a497980e33786f75991620c4c65d51 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Thu, 19 Jan 2017 12:43:05 +0100 Subject: [PATCH 20/42] libtasn1: 4.9 -> 4.10 --- pkgs/development/libraries/libtasn1/default.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix index 150e7455c032..3b74406d7bf1 100644 --- a/pkgs/development/libraries/libtasn1/default.nix +++ b/pkgs/development/libraries/libtasn1/default.nix @@ -5,16 +5,12 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnu/libtasn1/${name}.tar.gz"; - sha256 = "681a4d9a0d259f2125713f2e5766c5809f151b3a1392fd91390f780b4b8f5a02"; + sha256 = "00jsix5hny0g768zv4hk78dib7w0qmk5fbizf4jj37r51nd4s6k8"; }; outputs = [ "out" "dev" "devdoc" ]; outputBin = "dev"; - # Warning causes build to fail on darwin since 4.9, - # check if this can be removed in the next release. - CFLAGS = "-Wno-sign-compare"; - buildInputs = [ perl texinfo ]; doCheck = true; From 53a2bbd552a5dc09537f2d1dae6ff760fedd7a7e Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Thu, 19 Jan 2017 15:48:29 +0100 Subject: [PATCH 21/42] thunderbird: add patch to fix build with gcc6 --- .../mailreaders/thunderbird/default.nix | 2 + .../mailreaders/thunderbird/gcc6.patch | 75 +++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 pkgs/applications/networking/mailreaders/thunderbird/gcc6.patch diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix index 5f1483672b24..89cdfcb1aa43 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix @@ -25,6 +25,8 @@ stdenv.mkDerivation rec { sha512 = "1f4579ac37b8ab98c91fe2e3e6742ba1b005ca9346d23f467d19e6af45eb457cab749bf91ed2a79f2058bd66f54da661da3ea5d5786f8c4b472d8a2a6c34db4b"; }; + patches = [ ./gcc6.patch ]; + # New sed no longer tolerates this mistake. postPatch = '' for f in mozilla/{js/src,}/configure; do diff --git a/pkgs/applications/networking/mailreaders/thunderbird/gcc6.patch b/pkgs/applications/networking/mailreaders/thunderbird/gcc6.patch new file mode 100644 index 000000000000..bd1022202851 --- /dev/null +++ b/pkgs/applications/networking/mailreaders/thunderbird/gcc6.patch @@ -0,0 +1,75 @@ + +# HG changeset patch +# User Mike Hommey +# Date 1457596445 -32400 +# Node ID 55212130f19da3079167a6b0a5a0ed6689c9a71d +# Parent 27c94617d7064d566c24a42e11cd4c7ef725923d +Bug 1245076 - Don't include mozalloc.h from the cstdlib wrapper. r=froydnj + +Our STL wrappers do various different things, one of which is including +mozalloc.h for infallible operator new. mozalloc.h includes stdlib.h, +which, in libstdc++ >= 6 is now itself a wrapper around cstdlib, which +circles back to our STL wrapper. + +But of the things our STL wrappers do, including mozalloc.h is not one +that is necessary for cstdlib. So skip including mozalloc.h in our +cstdlib wrapper. + +Additionally, some C++ sources (in media/mtransport) are including +headers in an extern "C" block, which end up including stdlib.h, which +ends up including cstdlib because really, this is all C++, and our +wrapper pre-includes for mozalloc.h, which fails because templates +don't work inside extern "C". So, don't pre-include when we're not +including mozalloc.h. + + +diff --git a/mozilla/config/gcc-stl-wrapper.template.h b/mozilla/config/gcc-stl-wrapper.template.h +--- a/mozilla/config/gcc-stl-wrapper.template.h ++++ b/mozilla/config/gcc-stl-wrapper.template.h +@@ -12,33 +12,40 @@ + // compiling ObjC. + #if defined(__EXCEPTIONS) && __EXCEPTIONS && !(__OBJC__ && __GNUC__ && XP_IOS) + # error "STL code can only be used with -fno-exceptions" + #endif + + // Silence "warning: #include_next is a GCC extension" + #pragma GCC system_header + ++// Don't include mozalloc for cstdlib. See bug 1245076. ++#ifndef moz_dont_include_mozalloc_for_cstdlib ++# define moz_dont_include_mozalloc_for_cstdlib ++#endif ++#ifndef moz_dont_include_mozalloc_for_${HEADER} + // mozalloc.h wants ; break the cycle by always explicitly + // including here. NB: this is a tad sneaky. Sez the gcc docs: + // + // `#include_next' does not distinguish between and "file" + // inclusion, nor does it check that the file you specify has the + // same name as the current file. It simply looks for the file + // named, starting with the directory in the search path after the + // one where the current file was found. +-#include_next ++# include_next + + // See if we're in code that can use mozalloc. NB: this duplicates + // code in nscore.h because nscore.h pulls in prtypes.h, and chromium + // can't build with that being included before base/basictypes.h. +-#if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC) +-# include "mozilla/mozalloc.h" +-#else +-# error "STL code can only be used with infallible ::operator new()" ++# if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC) ++# include "mozilla/mozalloc.h" ++# else ++# error "STL code can only be used with infallible ::operator new()" ++# endif ++ + #endif + + #if defined(DEBUG) && !defined(_GLIBCXX_DEBUG) + // Enable checked iterators and other goodies + // + // FIXME/bug 551254: gcc's debug STL implementation requires -frtti. + // Figure out how to resolve this with -fno-rtti. Maybe build with + // -frtti in DEBUG builds? + From b705cd4da7a7c12aef5b199a40ba729d773d0d3c Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Thu, 19 Jan 2017 22:57:29 +0100 Subject: [PATCH 22/42] openxcom: add patch to fix build with gcc6 --- pkgs/games/openxcom/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/games/openxcom/default.nix b/pkgs/games/openxcom/default.nix index 7b939af096ac..32ba63709d71 100644 --- a/pkgs/games/openxcom/default.nix +++ b/pkgs/games/openxcom/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, cmake, mesa, zlib, openssl, libyamlcpp, boost +{stdenv, fetchurl, fetchpatch, cmake, mesa, zlib, openssl, libyamlcpp, boost , SDL, SDL_image, SDL_mixer, SDL_gfx }: let version = "1.0.0"; in @@ -13,6 +13,11 @@ stdenv.mkDerivation { buildInputs = [ cmake mesa zlib openssl libyamlcpp boost SDL SDL_image SDL_mixer SDL_gfx ]; + patches = [ (fetchpatch { + url = "https://github.com/SupSuper/OpenXcom/commit/49bec0851fc6e5365cac0f71b2c40a80ddf95e77.patch"; + sha256 = "156fk8wz4qc0nmqq3zjb6kw84qirabads2azr6xvlgb3lcn327v2"; + }) ]; + meta = { description = "Open source clone of UFO: Enemy Unknown"; homepage = http://openxcom.org; From 1ce3d0b97e23e024e82ffbc64f3e0042f94496dc Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Thu, 19 Jan 2017 23:10:28 +0100 Subject: [PATCH 23/42] warmux: add patch to fix build with gcc6 --- pkgs/games/warmux/gcc-fix.patch | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkgs/games/warmux/gcc-fix.patch b/pkgs/games/warmux/gcc-fix.patch index 1ac476b92a32..913b912af7d4 100644 --- a/pkgs/games/warmux/gcc-fix.patch +++ b/pkgs/games/warmux/gcc-fix.patch @@ -34,3 +34,18 @@ Author: Felix Geyer #include #include #include + +Description: Fix conversion error in gcc 6. +Author: Robin Gloster + +--- warmux-11.04.1.orig/src/interface/weapon_menu.cpp 2017-01-19 23:06:32.401035923 +0100 ++++ warmux-11.04.1/src/interface/weapon_menu.cpp 2017-01-19 23:07:14.245866593 +0100 +@@ -391,7 +391,7 @@ + Weapon * WeaponsMenu::UpdateCurrentOverflyItem(const Polygon * poly) + { + if (!show) +- return false; ++ return nullptr; + const std::vector& items = poly->GetItem(); + WeaponMenuItem * tmp; + Interface::GetInstance()->SetCurrentOverflyWeapon(NULL); From 3bc2154f99e9dbcdf55b3bfb766029f8b0154b97 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Sat, 21 Jan 2017 13:49:24 +0100 Subject: [PATCH 24/42] spidermonkey_1_8_5: add patch to fix build with gcc6 --- pkgs/development/interpreters/spidermonkey/1.8.5.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/spidermonkey/1.8.5.nix b/pkgs/development/interpreters/spidermonkey/1.8.5.nix index 3c5eef01db01..ed09ac7467d4 100644 --- a/pkgs/development/interpreters/spidermonkey/1.8.5.nix +++ b/pkgs/development/interpreters/spidermonkey/1.8.5.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, autoconf213, fetchurl, pkgconfig, nspr, perl, python2, zip }: +{ stdenv, lib, autoconf213, fetchurl, fetchpatch, pkgconfig, nspr, perl, python2, zip }: stdenv.mkDerivation rec { name = "spidermonkey-${version}"; @@ -22,7 +22,13 @@ stdenv.mkDerivation rec { ${lib.optionalString stdenv.isArm "autoreconf --verbose --force"} ''; - patches = stdenv.lib.optionals stdenv.isArm [ + patches = [ + (fetchpatch { + name = "gcc6.patch"; + url = "https://anonscm.debian.org/cgit/collab-maint/mozjs.git/plain/debian/patches/fix-811665.patch?id=00b15c7841968ab4f7fec409a6b93fa5e1e1d32e"; + sha256 = "1q8477xqxiy5d8376k5902l45gd0qkd4nxmhl8vr6rr1pxfcny99"; + }) + ] ++ stdenv.lib.optionals stdenv.isArm [ # Explained below in configureFlags for ARM ./1.8.5-findvanilla.patch # Fix for hard float flags. From 87d85c1d273e3236f357c875183e386815b5428a Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Sat, 21 Jan 2017 14:42:59 +0100 Subject: [PATCH 25/42] dirac: fix build with gcc6 --- pkgs/development/libraries/dirac/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/dirac/default.nix b/pkgs/development/libraries/dirac/default.nix index ac94e077b9a6..7b42ead14bd8 100644 --- a/pkgs/development/libraries/dirac/default.nix +++ b/pkgs/development/libraries/dirac/default.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { patches = [ ./dirac-1.0.2.patch ]; + NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; + postInstall = '' # keep only necessary binaries find $out/bin \( -name '*RGB*' -or -name '*YUV*' -or -name create_dirac_testfile.pl \) -delete From 2b51c411636f9f40c63439dc7d43b78cc0a34c17 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Sat, 21 Jan 2017 14:43:22 +0100 Subject: [PATCH 26/42] freeimage: fix build with gcc6 --- pkgs/development/libraries/freeimage/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix index 42105c7022c2..6ee7670fc296 100644 --- a/pkgs/development/libraries/freeimage/default.nix +++ b/pkgs/development/libraries/freeimage/default.nix @@ -1,11 +1,15 @@ -{stdenv, fetchurl, unzip, darwin}: +{ stdenv, fetchurl, unzip, darwin }: + stdenv.mkDerivation { name = "freeimage-3.17.0"; + src = fetchurl { url = mirror://sourceforge/freeimage/FreeImage3170.zip; sha256 = "12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v"; }; + buildInputs = [ unzip ] ++ stdenv.lib.optional stdenv.isDarwin darwin.cctools; + prePatch = if stdenv.isDarwin then '' sed -e 's/gcc-4.0/clang/g' \ @@ -38,6 +42,8 @@ stdenv.mkDerivation { preInstall = "mkdir -p $out/include $out/lib"; postInstall = stdenv.lib.optionalString (!stdenv.isDarwin) "make -f Makefile.fip install"; + NIX_CFLAGS_COMPILE = "-Wno-narrowing"; + meta = { description = "Open Source library for accessing popular graphics image file formats"; homepage = http://freeimage.sourceforge.net/; From 539564d641659c716c49050ac651dd17ceb3f995 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Sat, 21 Jan 2017 14:43:45 +0100 Subject: [PATCH 27/42] libjack2: add patch to fix build with gcc6 --- pkgs/misc/jackaudio/default.nix | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix index a4e4e408fec5..a38c9b764100 100644 --- a/pkgs/misc/jackaudio/default.nix +++ b/pkgs/misc/jackaudio/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchFromGitHub, pkgconfig, python2Packages, makeWrapper -, bash, libsamplerate, libsndfile, readline, gcc +{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, python2Packages, makeWrapper +, bash, libsamplerate, libsndfile, readline # Optional Dependencies , dbus ? null, libffado ? null, alsaLib ? null @@ -34,11 +34,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig python makeWrapper ]; - buildInputs = [ gcc - python - - libsamplerate libsndfile readline - + buildInputs = [ python libsamplerate libsndfile readline optDbus optPythonDBus optLibffado optAlsaLib optLibopus ]; @@ -46,7 +42,13 @@ stdenv.mkDerivation rec { substituteInPlace svnversion_regenerate.sh --replace /bin/bash ${bash}/bin/bash ''; - patches = [ ./jack-gcc5.patch ]; + patches = [ + ./jack-gcc5.patch + (fetchpatch { + url = "https://github.com/jackaudio/jack2/commit/ff1ed2c4524095055140370c1008a2d9cccc5645.patch"; + sha256 = "0vywakbmlskvs9ginij9ilk39wjyzg7w6cf1qxp11hb0hj69fir5"; + }) + ]; configurePhase = '' python waf configure --prefix=$out \ From 292c03c9c808dff5e89f6197ad8a81502c91ecc5 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Sun, 22 Jan 2017 20:24:27 +0100 Subject: [PATCH 28/42] ams-lv2: 1.1.0 -> 1.2.1 --- pkgs/applications/audio/ams-lv2/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/audio/ams-lv2/default.nix b/pkgs/applications/audio/ams-lv2/default.nix index 9d62696a3f8e..fbbb9f90f8a5 100644 --- a/pkgs/applications/audio/ams-lv2/default.nix +++ b/pkgs/applications/audio/ams-lv2/default.nix @@ -1,12 +1,14 @@ -{ stdenv, fetchurl, cairo, fftw, gtkmm2, lv2, lvtk, pkgconfig, python }: +{ stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkgconfig, python }: stdenv.mkDerivation rec { name = "ams-lv2-${version}"; - version = "1.1.0"; + version = "1.2.1"; - src = fetchurl { - url = "https://github.com/blablack/ams-lv2/archive/v${version}.tar.gz"; - sha256 = "1kqbl7rc3zrs27c5ga0frw3mlpx15sbxzhf04sfbrd9l60535fd5"; + src = fetchFromGitHub { + owner = "blablack"; + repo = "ams-lv2"; + rev = version; + sha256 = "1n1dnqnj24xhiy9323lj52nswr5120cj56fpckg802miss05sr6x"; }; buildInputs = [ cairo fftw gtkmm2 lv2 lvtk pkgconfig python ]; From 2ca70d5b648937817fd3ba3fde597307641b28ea Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Sun, 22 Jan 2017 20:25:16 +0100 Subject: [PATCH 29/42] apvlv: 0.1 -> 0.1.5 --- pkgs/applications/misc/apvlv/default.nix | 37 +++++++++++++++--------- pkgs/top-level/all-packages.nix | 4 +-- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/pkgs/applications/misc/apvlv/default.nix b/pkgs/applications/misc/apvlv/default.nix index 88e08b409146..977f5e94e5d9 100644 --- a/pkgs/applications/misc/apvlv/default.nix +++ b/pkgs/applications/misc/apvlv/default.nix @@ -1,26 +1,37 @@ -{ stdenv, fetchurl, cmake, pkgconfig, - gtk2 , poppler, freetype, libpthreadstubs, libXdmcp, libxshmfence +{ stdenv, fetchFromGitHub, fetchpatch, cmake, pkgconfig, pcre, libxkbcommon, epoxy +, gtk3, poppler, freetype, libpthreadstubs, libXdmcp, libxshmfence }: stdenv.mkDerivation rec { - version = "0.1.f7f7b9c"; + version = "0.1.5"; name = "apvlv-${version}"; - src = fetchurl { - url = "https://github.com/downloads/naihe2010/apvlv/${name}-Source.tar.gz"; - sha256 = "125nlcfjdhgzi9jjxh9l2yc9g39l6jahf8qh2555q20xkxf4rl0w"; + src = fetchFromGitHub { + owner = "naihe2010"; + repo = "apvlv"; + rev = "v${version}"; + sha256 = "1n4xiic8lqnv3mqi7wpdv866gyyakax71gffv3n9427rmcld465i"; }; - preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${poppler.dev}/include/poppler" - ''; + NIX_CFLAGS_COMPILE = "-I${poppler.dev}/include/poppler"; buildInputs = [ pkgconfig cmake - poppler - freetype gtk2 - libpthreadstubs libXdmcp libxshmfence # otherwise warnings in compilation - ]; + poppler pcre libxkbcommon epoxy + freetype gtk3 + libpthreadstubs libXdmcp libxshmfence # otherwise warnings in compilation + ]; + + patches = [ + (fetchpatch { + url = "https://github.com/naihe2010/apvlv/commit/d432635b9c5ea6c052a2ae1fb71aedec5c4ad57a.patch"; + sha256 = "1am8dgv2kkpqmm2vaysa61czx8ppdx94zb3c59sx88np50jpy70w"; + }) + (fetchpatch { + url = "https://github.com/naihe2010/apvlv/commit/4c7a583e8431964def482e5471f02e6de8e62a7b.patch"; + sha256 = "1dszm120lwm90hcg5zmd4vr6pjyaxc84qmb7k0fr59mmb3qif62j"; + }) + ]; installPhase = '' # binary diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b0ad47dc5363..885c37713fca 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15718,9 +15718,7 @@ in inherit (gnome2) libgnomeprint libgnomeprintui libgnomecanvas; }; - apvlv = callPackage ../applications/misc/apvlv { - gtk2 = gtk2-x11; - }; + apvlv = callPackage ../applications/misc/apvlv { }; xpdf = callPackage ../applications/misc/xpdf { base14Fonts = "${ghostscript}/share/ghostscript/fonts"; From f6a46e0be553be4d170c80ab4c3c66c289558eb1 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Sun, 22 Jan 2017 19:56:55 +0100 Subject: [PATCH 30/42] acoustidFingerprinter: add patch to fix build with gcc6 --- pkgs/tools/audio/acoustid-fingerprinter/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/audio/acoustid-fingerprinter/default.nix b/pkgs/tools/audio/acoustid-fingerprinter/default.nix index 208b4c2b38b0..80149fa98ddf 100644 --- a/pkgs/tools/audio/acoustid-fingerprinter/default.nix +++ b/pkgs/tools/audio/acoustid-fingerprinter/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, pkgconfig, qt4, taglib, chromaprint, ffmpeg }: +{ stdenv, fetchurl, fetchpatch, cmake, pkgconfig, qt4, taglib, chromaprint, ffmpeg }: stdenv.mkDerivation rec { name = "acoustid-fingerprinter-${version}"; @@ -14,6 +14,11 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DTAGLIB_MIN_VERSION=${(builtins.parseDrvName taglib.name).version}" ]; + patches = [ (fetchpatch { + url = "https://bitbucket.org/acoustid/acoustid-fingerprinter/commits/632e87969c3a5562a5d4842b03613267ba6236b2/raw"; + sha256 = "15hm9knrpqn3yqrwyjz4zh2aypwbcycd0c5svrsy1fb2h2rh05jk"; + }) ]; + meta = with stdenv.lib; { homepage = "http://acoustid.org/fingerprinter"; description = "Audio fingerprinting tool using chromaprint"; From 6ce688c3d826aafb17f1e410c0e7ccb057c65187 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Mon, 23 Jan 2017 01:33:49 +0100 Subject: [PATCH 31/42] gnome3.gjs: 1.46 -> 1.47, use spidermonkey_31 --- pkgs/desktops/gnome-3/3.22/core/gjs/default.nix | 4 ++-- pkgs/desktops/gnome-3/3.22/core/gjs/src.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.22/core/gjs/default.nix b/pkgs/desktops/gnome-3/3.22/core/gjs/default.nix index ac5572decb8c..1141db03c407 100644 --- a/pkgs/desktops/gnome-3/3.22/core/gjs/default.nix +++ b/pkgs/desktops/gnome-3/3.22/core/gjs/default.nix @@ -1,12 +1,12 @@ { fetchurl, stdenv, pkgconfig, gnome3, gtk3, gobjectIntrospection -, spidermonkey_24, pango, readline, glib, libxml2, dbus }: +, spidermonkey_31, pango, readline, glib, libxml2, dbus }: stdenv.mkDerivation rec { inherit (import ./src.nix fetchurl) name src; buildInputs = [ libxml2 gobjectIntrospection pkgconfig gtk3 glib pango readline dbus ]; - propagatedBuildInputs = [ spidermonkey_24 ]; + propagatedBuildInputs = [ spidermonkey_31 ]; postInstall = '' sed 's|-lreadline|-L${readline.out}/lib -lreadline|g' -i $out/lib/libgjs.la diff --git a/pkgs/desktops/gnome-3/3.22/core/gjs/src.nix b/pkgs/desktops/gnome-3/3.22/core/gjs/src.nix index 1f4ef08f9b12..7af8d7c531b3 100644 --- a/pkgs/desktops/gnome-3/3.22/core/gjs/src.nix +++ b/pkgs/desktops/gnome-3/3.22/core/gjs/src.nix @@ -1,11 +1,11 @@ # Autogenerated by maintainers/scripts/gnome.sh update fetchurl: rec { - name = "gjs-${major}.0"; - major = "1.46"; + name = "gjs-${major}.4"; + major = "1.47"; src = fetchurl { url = "mirror://gnome/sources/gjs/${major}/${name}.tar.xz"; - sha256 = "2283591fa70785443793e1d7db66071b36052d707075f229baeb468d8dd25ad4"; + sha256 = "05x9yk3h53wn9fpwbcxl8yz71znhwhzwy7412di77x88ghkxi2c1"; }; } From 9bf73bded14832d0bc90041eb3b12b3c520919b5 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Mon, 23 Jan 2017 01:34:41 +0100 Subject: [PATCH 32/42] html-tidy: 5.0.0 -> 5.2.0 --- pkgs/tools/text/html-tidy/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/text/html-tidy/default.nix b/pkgs/tools/text/html-tidy/default.nix index c0db454ed29b..1a264885b485 100644 --- a/pkgs/tools/text/html-tidy/default.nix +++ b/pkgs/tools/text/html-tidy/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, cmake, libxslt }: +{ stdenv, fetchFromGitHub, cmake, libxslt }: -let - version = "5.0.0"; -in stdenv.mkDerivation rec { name = "html-tidy-${version}"; + version = "5.2.0"; - src = fetchurl { - url = "https://github.com/htacg/tidy-html5/archive/${version}.tar.gz"; - sha256 = "1qz7hgk482496agngp9grz4jqkyxrp29r2ywbccc9i5198yspca4"; + src = fetchFromGitHub { + owner = "htacg"; + repo = "tidy-html5"; + rev = version; + sha256 = "1yxp3kjsxd5zwwn4r5rpyq5ndyylbcnb9pisdyf7dxjqd47z64bc"; }; nativeBuildInputs = [ cmake libxslt/*manpage*/ ]; From 3d9e90fe5429420cb1de71a401b55a1c82587210 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Wed, 25 Jan 2017 20:07:40 +0100 Subject: [PATCH 33/42] edbrowse: mark as broken --- pkgs/applications/editors/edbrowse/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/edbrowse/default.nix b/pkgs/applications/editors/edbrowse/default.nix index e6f942dbfdd6..e5e64a32e977 100644 --- a/pkgs/applications/editors/edbrowse/default.nix +++ b/pkgs/applications/editors/edbrowse/default.nix @@ -1,10 +1,11 @@ -{ stdenv, fetchurl, spidermonkey_24, unzip, curl, pcre, readline, openssl, perl, html-tidy }: +{ stdenv, fetchurl, spidermonkey, unzip, curl, pcre, readline, openssl, perl, html-tidy }: + stdenv.mkDerivation rec { name = "edbrowse-${version}"; version = "3.6.1"; nativeBuildInputs = [ unzip ]; - buildInputs = [ curl pcre readline openssl spidermonkey_24 perl html-tidy ]; + buildInputs = [ curl pcre readline openssl spidermonkey perl html-tidy ]; patchPhase = '' substituteInPlace src/ebjs.c --replace \"edbrowse-js\" \"$out/bin/edbrowse-js\" @@ -14,7 +15,7 @@ stdenv.mkDerivation rec { done ''; - NIX_CFLAGS_COMPILE = "-I${spidermonkey_24.dev}/include/mozjs-24"; + NIX_CFLAGS_COMPILE = "-I${spidermonkey}/include/mozjs-31"; makeFlags = "-C src prefix=$(out)"; src = fetchurl { @@ -34,5 +35,6 @@ stdenv.mkDerivation rec { homepage = http://edbrowse.org/; maintainers = [ maintainers.schmitthenner maintainers.vrthra ]; platforms = platforms.linux; + broken = true; # no compatible spidermonkey }; } From 9beb44fb84fa579edcbdb9089facce25248bac02 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Wed, 25 Jan 2017 20:07:57 +0100 Subject: [PATCH 34/42] spidermonkey_24: remove --- .../interpreters/spidermonkey/24.nix | 62 ------------------- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 63 deletions(-) delete mode 100644 pkgs/development/interpreters/spidermonkey/24.nix diff --git a/pkgs/development/interpreters/spidermonkey/24.nix b/pkgs/development/interpreters/spidermonkey/24.nix deleted file mode 100644 index 6e354c542963..000000000000 --- a/pkgs/development/interpreters/spidermonkey/24.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, nspr, perl, python2, zip, libffi, readline, icu }: - -stdenv.mkDerivation rec { - version = "24.2.0"; - name = "spidermonkey-${version}"; - - src = fetchurl { - url = "mirror://mozilla/js/mozjs-${version}.tar.bz2"; - sha256 = "1n1phk8r3l8icqrrap4czplnylawa0ddc2cc4cgdz46x3lrkybz6"; - }; - - outputs = [ "out" "dev" "lib" ]; - - propagatedBuildInputs = [ nspr ]; - - buildInputs = [ pkgconfig perl python2 zip libffi readline icu ]; - - postPatch = '' - # Fixes an issue with version detection under perl 5.22.x - sed -i 's/(defined\((@TEMPLATE_FILE)\))/\1/' config/milestone.pl - ''; - - postUnpack = "sourceRoot=\${sourceRoot}/js/src"; - - preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr" - export LIBXUL_DIST=$out - ''; - - setOutputFlags = false; - configureFlags = [ - "--libdir=$(lib)/lib" - "--includedir=$(dev)/include" - "--enable-threadsafe" - "--with-system-icu" - "--with-system-nspr" - "--with-system-ffi" - "--enable-readline" - ]; - - # hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393 - preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}"; - - enableParallelBuilding = true; - - doCheck = true; - preCheck = "rm jit-test/tests/sunspider/check-date-format-tofte.js"; # https://bugzil.la/600522 - - postInstall = '' - rm "$lib"/lib/*.a # halve the output size - moveToOutput "bin/js*-config" "$dev" # break the cycle - ''; - - meta = with stdenv.lib; { - description = "Mozilla's JavaScript engine written in C/C++"; - homepage = https://developer.mozilla.org/en/SpiderMonkey; - # TODO: MPL/GPL/LGPL tri-license. - maintainers = [ maintainers.goibhniu ]; - platforms = platforms.linux; - }; -} - diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 584854914081..b2ccdcb9161d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5914,7 +5914,6 @@ in spidermonkey_1_8_5 = callPackage ../development/interpreters/spidermonkey/1.8.5.nix { }; spidermonkey_17 = callPackage ../development/interpreters/spidermonkey/17.nix { }; - spidermonkey_24 = callPackage ../development/interpreters/spidermonkey/24.nix { }; spidermonkey_31 = callPackage ../development/interpreters/spidermonkey/31.nix { }; spidermonkey_38 = callPackage ../development/interpreters/spidermonkey/38.nix { }; spidermonkey = spidermonkey_31; From 235d5c5c4755058e37cdbcc2ce450cb15fd37296 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Tue, 23 May 2017 11:24:33 +0200 Subject: [PATCH 35/42] openjdk8: 8u131-b11 -> 8u152-b04 --- pkgs/development/compilers/openjdk/8.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index 7ddf2c7ef5d3..e157249fb2f3 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -21,42 +21,42 @@ let else throw "openjdk requires i686-linux or x86_64 linux"; - update = "131"; - build = "11"; + update = "152"; + build = "04"; baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u"; repover = "jdk8u${update}-b${build}"; paxflags = if stdenv.isi686 then "msp" else "m"; jdk8 = fetchurl { url = "${baseurl}/archive/${repover}.tar.gz"; - sha256 = "1k401wsickbdy50yxjd26v8qm9519kxayaj3b103cr6ygp2rd9s6"; + sha256 = "1hnpbx0v89jmbg58ym4zm255da11zf5jq8y5s58zj4x2z6b1fpxi"; }; langtools = fetchurl { url = "${baseurl}/langtools/archive/${repover}.tar.gz"; - sha256 = "1qj75bb17a9czvxz7rm246w97cavglrssx0l1mkbickx0i0wamm8"; + sha256 = "060q01msfyspn14c9mkf9x0l8sprki9n8zb3cwlgglhnr2d4gfbr"; }; hotspot = fetchurl { url = "${baseurl}/hotspot/archive/${repover}.tar.gz"; - sha256 = "0kh8rk5y3n4g3hyjzflc8nwc0kyakjivpwlpj1bncsm1sykw8lr8"; + sha256 = "0705667y6llsmszvdcbhbxzbn1csv1f2rlyghwggx5xnaq46dhx6"; }; corba = fetchurl { url = "${baseurl}/corba/archive/${repover}.tar.gz"; - sha256 = "0gqa58mwwyf6mbgp48j1akv1y8yq55zpwfziqrbdbpkcsaf603n7"; + sha256 = "13f4h43lw9q1292fymn2d7whwvccpkcqraasdhvzf904101xcpsl"; }; jdk = fetchurl { url = "${baseurl}/jdk/archive/${repover}.tar.gz"; - sha256 = "0ymvvi7srr9qkss20s1yg3x2mjw178bscrnxa6s8y82gsw02y820"; + sha256 = "16wqinqv0aqyf6jg3nsn6rj5s7ggq82wvx86zm584g56011vkgf6"; }; jaxws = fetchurl { url = "${baseurl}/jaxws/archive/${repover}.tar.gz"; - sha256 = "0507mxvir4s536pdz45pvmahwa6s3h2yhg6rwdzrb568ab06asmi"; + sha256 = "0japl4nyb8y3w1mpfpkxn5vkf8fap1rg340vjnb6qm6fpqvl964f"; }; jaxp = fetchurl { url = "${baseurl}/jaxp/archive/${repover}.tar.gz"; - sha256 = "0igbg8axk028kqs9q11m8hb5bg2fa0qcwffbpfbhilyw5gmf7cy8"; + sha256 = "024zphx9r92ws9xjihvhyrbbbamfl7js0s24ff577v5z5gdb1lly"; }; nashorn = fetchurl { url = "${baseurl}/nashorn/archive/${repover}.tar.gz"; - sha256 = "0l63zm5a7ql3xvfxy5kzazq2184mpx0zyqzinjmq7v0q573g8xak"; + sha256 = "1crnbjjv1s6ndqpllcrggcpsxvqcnpr58zp51y0hjz3m3gpsxwcq"; }; openjdk8 = stdenv.mkDerivation { name = "openjdk-8u${update}b${build}"; From 1b55c0bc697b28510853188eccbe035f0f53e23c Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Fri, 2 Jun 2017 15:20:10 +0200 Subject: [PATCH 36/42] flann: 1.8.4 -> 1.9.1 --- pkgs/development/libraries/flann/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/flann/default.nix b/pkgs/development/libraries/flann/default.nix index 145d2b42a9db..5f67c84bd195 100644 --- a/pkgs/development/libraries/flann/default.nix +++ b/pkgs/development/libraries/flann/default.nix @@ -1,11 +1,13 @@ -{stdenv, fetchurl, unzip, cmake, python}: +{ stdenv, fetchFromGitHub, unzip, cmake, python }: stdenv.mkDerivation { - name = "flann-1.8.4"; + name = "flann-1.9.1"; - src = fetchurl { - url = http://people.cs.ubc.ca/~mariusm/uploads/FLANN/flann-1.8.4-src.zip; - sha256 = "022w8hph7bli5zbpnk3z1qh1c2sl5hm8fw2ccim651ynn0hr7fyz"; + src = fetchFromGitHub { + owner = "mariusmuja"; + repo = "flann"; + rev = "1.9.1"; + sha256 = "13lg9nazj5s9a41j61vbijy04v6839i67lqd925xmxsbybf36gjc"; }; buildInputs = [ unzip cmake python ]; From dac08b2a9834b075ffc43dcb74b77bd5b93dc82b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 25 Jul 2017 11:55:50 +0200 Subject: [PATCH 37/42] clucene-core: Fix build on gcc 6 http://hydra.nixos.org/build/56895322 --- .../libraries/clucene-core/default.nix | 4 +- .../libraries/clucene-core/gcc6.patch | 146 ++++++++++++++++++ 2 files changed, 149 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/clucene-core/gcc6.patch diff --git a/pkgs/development/libraries/clucene-core/default.nix b/pkgs/development/libraries/clucene-core/default.nix index 90cfbb1865cc..b65e794a92aa 100644 --- a/pkgs/development/libraries/clucene-core/default.nix +++ b/pkgs/development/libraries/clucene-core/default.nix @@ -7,7 +7,9 @@ stdenv.mkDerivation rec { url = "mirror://sourceforge/clucene/${name}.tar.bz2"; sha256 = "202ee45af747f18642ae0a088d7c4553521714a511a1a9ec99b8144cf9928317"; }; - + + patches = [ ./gcc6.patch ]; + meta = { description = "Core library for full-featured text search engine"; longDescription = '' diff --git a/pkgs/development/libraries/clucene-core/gcc6.patch b/pkgs/development/libraries/clucene-core/gcc6.patch new file mode 100644 index 000000000000..f78b26d24f6a --- /dev/null +++ b/pkgs/development/libraries/clucene-core/gcc6.patch @@ -0,0 +1,146 @@ +https://bugzilla.redhat.com/show_bug.cgi?id=998477 + +diff -up clucene-core-0.9.21b/src/CLucene/debug/lucenebase.h.gcc48 clucene-core-0.9.21b/src/CLucene/debug/lucenebase.h +--- clucene-core-0.9.21b/src/CLucene/debug/lucenebase.h.gcc48 2008-10-23 12:44:35.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/debug/lucenebase.h 2013-08-27 13:17:35.754234297 -0500 +@@ -58,7 +58,7 @@ public: + __cl_refcount--; + return __cl_refcount; + } +- virtual ~LuceneBase(){}; ++ virtual ~LuceneBase() throw(CLuceneError&) {}; + }; + + class LuceneVoidBase{ +diff -up clucene-core-0.9.21b/src/CLucene/index/CompoundFile.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/index/CompoundFile.cpp +--- clucene-core-0.9.21b/src/CLucene/index/CompoundFile.cpp.gcc48 2013-08-27 13:17:35.754234297 -0500 ++++ clucene-core-0.9.21b/src/CLucene/index/CompoundFile.cpp 2013-08-27 13:18:02.844949386 -0500 +@@ -94,7 +94,7 @@ CompoundFileReader::CompoundFileReader(D + ) + } + +-CompoundFileReader::~CompoundFileReader(){ ++CompoundFileReader::~CompoundFileReader() throw(CLuceneError&) { + close(); + } + +diff -up clucene-core-0.9.21b/src/CLucene/index/CompoundFile.h.gcc48 clucene-core-0.9.21b/src/CLucene/index/CompoundFile.h +--- clucene-core-0.9.21b/src/CLucene/index/CompoundFile.h.gcc48 2008-10-23 12:44:37.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/index/CompoundFile.h 2013-08-27 13:17:35.755234286 -0500 +@@ -95,7 +95,7 @@ protected: + + public: + CompoundFileReader(CL_NS(store)::Directory* dir, char* name); +- ~CompoundFileReader(); ++ ~CompoundFileReader() throw(CLuceneError&); + CL_NS(store)::Directory* getDirectory(); + const char* getName() const; + +diff -up clucene-core-0.9.21b/src/CLucene/index/Term.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/index/Term.cpp +--- clucene-core-0.9.21b/src/CLucene/index/Term.cpp.gcc48 2008-10-23 12:44:37.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/index/Term.cpp 2013-08-27 13:17:35.755234286 -0500 +@@ -81,7 +81,7 @@ Term::Term(const TCHAR* fld, const TCHAR + set(fld,txt); + } + +-Term::~Term(){ ++Term::~Term() throw (CLuceneError&) { + //Func - Destructor. + //Pre - true + //Post - The instance has been destroyed. field and text have been deleted if pre(intrn) is false +diff -up clucene-core-0.9.21b/src/CLucene/index/Term.h.gcc48 clucene-core-0.9.21b/src/CLucene/index/Term.h +--- clucene-core-0.9.21b/src/CLucene/index/Term.h.gcc48 2008-10-23 12:44:37.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/index/Term.h 2013-08-27 13:17:35.755234286 -0500 +@@ -68,7 +68,7 @@ class Term:LUCENE_REFBASE { + Term(const TCHAR* fld, const TCHAR* txt); + + ///Destructor. +- ~Term(); ++ ~Term() throw(CLuceneError&); + + ///Returns the field of this term, an interned string. The field indicates + ///the part of a document which this term came from. +diff -up clucene-core-0.9.21b/src/CLucene/store/Directory.h.gcc48 clucene-core-0.9.21b/src/CLucene/store/Directory.h +--- clucene-core-0.9.21b/src/CLucene/store/Directory.h.gcc48 2008-10-23 12:44:36.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/store/Directory.h 2013-08-27 13:17:35.756234276 -0500 +@@ -41,7 +41,7 @@ CL_NS_DEF(store) + public: + DEFINE_MUTEX(THIS_LOCK) + +- virtual ~Directory(){ }; ++ virtual ~Directory() throw(CLuceneError&) { }; + + // Returns an null terminated array of strings, one for each file in the directory. + char** list() const{ +diff -up clucene-core-0.9.21b/src/CLucene/store/FSDirectory.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/store/FSDirectory.cpp +--- clucene-core-0.9.21b/src/CLucene/store/FSDirectory.cpp.gcc48 2008-10-23 13:01:52.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/store/FSDirectory.cpp 2013-08-27 13:17:35.756234276 -0500 +@@ -368,7 +368,7 @@ void FSDirectory::FSIndexInput::readInte + strcat(buffer,name); + } + +- FSDirectory::~FSDirectory(){ ++ FSDirectory::~FSDirectory() throw(CLuceneError&) { + } + + void FSDirectory::list(vector* names) const{ //todo: fix this, ugly!!! +diff -up clucene-core-0.9.21b/src/CLucene/store/FSDirectory.h.gcc48 clucene-core-0.9.21b/src/CLucene/store/FSDirectory.h +--- clucene-core-0.9.21b/src/CLucene/store/FSDirectory.h.gcc48 2008-10-23 13:00:43.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/store/FSDirectory.h 2013-08-27 13:17:35.756234276 -0500 +@@ -155,7 +155,7 @@ + ///Destructor - only call this if you are sure the directory + ///is not being used anymore. Otherwise use the ref-counting + ///facilities of _CLDECDELETE +- ~FSDirectory(); ++ ~FSDirectory() throw(CLuceneError&); + + /// Get a list of strings, one for each file in the directory. + void list(vector* names) const; +diff -up clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.cpp +--- clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.cpp.gcc48 2008-10-23 12:44:36.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.cpp 2013-08-27 13:17:35.757234265 -0500 +@@ -219,7 +219,7 @@ CL_NS_DEF(store) + { + } + +- RAMDirectory::~RAMDirectory(){ ++ RAMDirectory::~RAMDirectory() throw(CLuceneError&) { + //todo: should call close directory? + } + +diff -up clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.h.gcc48 clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.h +--- clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.h.gcc48 2008-10-23 12:44:36.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.h 2013-08-27 13:17:35.757234265 -0500 +@@ -131,7 +131,7 @@ CL_NS_DEF(store) + ///Destructor - only call this if you are sure the directory + ///is not being used anymore. Otherwise use the ref-counting + ///facilities of dir->close +- virtual ~RAMDirectory(); ++ virtual ~RAMDirectory() throw(CLuceneError&); + RAMDirectory(Directory* dir); + + /** +diff -up clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.cpp +--- clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.cpp.gcc48 2008-10-23 12:44:36.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.cpp 2013-08-27 13:17:35.757234265 -0500 +@@ -16,7 +16,7 @@ CL_NS_USE(util) + { + transOpen = false; + } +- TransactionalRAMDirectory::~TransactionalRAMDirectory(){ ++ TransactionalRAMDirectory::~TransactionalRAMDirectory() throw(CLuceneError&) { + } + + bool TransactionalRAMDirectory::archiveOrigFileIfNecessary(const char* name) { +diff -up clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.h.gcc48 clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.h +--- clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.h.gcc48 2008-10-23 12:44:36.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.h 2013-08-27 13:17:35.757234265 -0500 +@@ -44,7 +44,7 @@ CL_NS_DEF(store) + + public: + TransactionalRAMDirectory(); +- virtual ~TransactionalRAMDirectory(); ++ virtual ~TransactionalRAMDirectory() throw(CLuceneError&); + + bool transIsOpen() const; + void transStart(); From ecaef62bd98cd99f495c83a0c039766fc7bed84a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 25 Jul 2017 12:01:38 +0200 Subject: [PATCH 38/42] cdrdao: Fix build on gcc 6 http://hydra.nixos.org/build/56889707 --- pkgs/tools/cd-dvd/cdrdao/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/cd-dvd/cdrdao/default.nix b/pkgs/tools/cd-dvd/cdrdao/default.nix index caf37ccbe1d5..95dd58a59b48 100644 --- a/pkgs/tools/cd-dvd/cdrdao/default.nix +++ b/pkgs/tools/cd-dvd/cdrdao/default.nix @@ -24,6 +24,9 @@ stdenv.mkDerivation { sed -i 's,linux/../,,g' dao/sg_err.h ''; + # Needed on gcc >= 6. + NIX_CFLAGS_COMPILE = "-Wno-narrowing"; + meta = { description = "A tool for recording audio or data CD-Rs in disk-at-once (DAO) mode"; homepage = http://cdrdao.sourceforge.net/; From b9c403c5310a61d7274f8490b9a06be8ccd1bc93 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 25 Jul 2017 14:19:31 +0200 Subject: [PATCH 39/42] stdenvLinux: Remove bootstrapTools from closure The "expand-response-params" program had an unnecessary reference to bootstrapTools, bloating the closure from 205 to 314 MiB. --- pkgs/build-support/cc-wrapper/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 676fbd006881..570bb6785df8 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -130,6 +130,8 @@ let # Work around "stdenv-darwin-boot-2 is not allowed to refer to path /nix/store/...-expand-response-params.c" cp "$src" expand-response-params.c "$CC" -std=c99 -O3 -o "$out" expand-response-params.c + strip -S $out + ${optionalString hostPlatform.isLinux "patchelf --shrink-rpath $out"} ''; } else ""; From 70d4d22806a2dee5d5c50048742b57ec9dfab433 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 25 Jul 2017 14:22:33 +0200 Subject: [PATCH 40/42] cc-wrapper: Add a "man" output ... and propagate cc.man from there. --- pkgs/build-support/cc-wrapper/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 570bb6785df8..7df9615653f9 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -147,6 +147,7 @@ stdenv.mkDerivation { inherit cc shell libc_bin libc_dev libc_lib binutils_bin coreutils_bin; gnugrep_bin = if nativeTools then "" else gnugrep; + outputs = [ "out" "man" ]; passthru = { inherit libc nativeTools nativeLibc nativePrefix isGNU isClang default_cxx_stdlib_compile @@ -166,7 +167,7 @@ stdenv.mkDerivation { buildCommand = '' - mkdir -p $out/bin $out/nix-support + mkdir -p $out/bin $out/nix-support $man/nix-support wrap() { local dst="$1" @@ -277,7 +278,8 @@ stdenv.mkDerivation { # Propagate the wrapped cc so that if you install the wrapper, # you get tools like gcov, the manpages, etc. as well (including # for binutils and Glibc). - echo ${cc} ${cc.man or ""} ${binutils_bin} ${if libc == null then "" else libc_bin} > $out/nix-support/propagated-user-env-packages + echo ${cc} ${binutils_bin} ${if libc == null then "" else libc_bin} > $out/nix-support/propagated-user-env-packages + echo ${cc.man or ""} > $man/nix-support/propagated-user-env-packages echo ${toString extraPackages} > $out/nix-support/propagated-native-build-inputs '' From 9bcee1051a94d6ba2be64a19665f017542122b83 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 31 Jul 2017 11:06:30 +0200 Subject: [PATCH 41/42] strigi: Build on gcc 6 https://hydra.nixos.org/build/56882669 --- pkgs/development/libraries/strigi/default.nix | 4 +- pkgs/development/libraries/strigi/gcc6.patch | 45 +++++++++++++++++++ 2 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/strigi/gcc6.patch diff --git a/pkgs/development/libraries/strigi/default.nix b/pkgs/development/libraries/strigi/default.nix index 1961160cbc95..362881a2f42b 100644 --- a/pkgs/development/libraries/strigi/default.nix +++ b/pkgs/development/libraries/strigi/default.nix @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { CLUCENE_HOME = clucene_core; buildInputs = - [ zlib bzip2 stdenv.cc.libc libxml2 qt4 exiv2 clucene_core fam dbus_tools ]; + [ zlib bzip2 libxml2 qt4 exiv2 clucene_core fam dbus_tools ]; nativeBuildInputs = [ cmake pkgconfig perl ]; - patches = [ ./export_bufferedstream.patch ]; + patches = [ ./export_bufferedstream.patch ./gcc6.patch ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/strigi/gcc6.patch b/pkgs/development/libraries/strigi/gcc6.patch new file mode 100644 index 000000000000..b46f6c52b823 --- /dev/null +++ b/pkgs/development/libraries/strigi/gcc6.patch @@ -0,0 +1,45 @@ +https://sourceforge.net/p/strigi/patches/4/ + +and a fix for + +/tmp/nix-build-strigi-0.7.8.drv-0/strigi-0.7.8/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp:325:37: error: no matching function for call to 'make_pair(std::__cxx11::string, std::__cxx11::string&)' + wchartoutf8(name), value)); + +diff -Naur strigi-0.7.8.old/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake strigi-0.7.8/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake +--- strigi-0.7.8.old/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake 2013-02-05 16:34:52.000000000 -0500 ++++ strigi-0.7.8/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake 2016-05-14 11:39:54.586260564 -0400 +@@ -15,7 +15,7 @@ + # get the gcc version + exec_program(${CMAKE_C_COMPILER} ARGS ${CMAKE_C_COMPILER_ARG1} --version OUTPUT_VARIABLE _gcc_version_info) + +- string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}") ++ string (REGEX MATCH "[3456789]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}") + # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the patch level, handle this here: + if (NOT _gcc_version) + string (REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0" _gcc_version "${_gcc_version_info}") +diff -Naur strigi-0.7.8.old/libstreams/cmake/MacroCheckGccVisibility.cmake strigi-0.7.8/libstreams/cmake/MacroCheckGccVisibility.cmake +--- strigi-0.7.8.old/libstreams/cmake/MacroCheckGccVisibility.cmake 2013-02-05 16:34:57.000000000 -0500 ++++ strigi-0.7.8/libstreams/cmake/MacroCheckGccVisibility.cmake 2016-05-14 11:40:11.340134414 -0400 +@@ -15,7 +15,7 @@ + # get the gcc version + exec_program(${CMAKE_C_COMPILER} ARGS ${CMAKE_C_COMPILER_ARG1} --version OUTPUT_VARIABLE _gcc_version_info) + +- string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}") ++ string (REGEX MATCH "[3456789]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}") + # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the patch level, handle this here: + if (NOT _gcc_version) + string (REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0" _gcc_version "${_gcc_version_info}") + +diff -ru strigi-0.7.8-orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp strigi-0.7.8/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp +--- strigi-0.7.8-orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp 2013-02-05 22:34:52.000000000 +0100 ++++ strigi-0.7.8/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp 2017-07-31 10:56:27.067902643 +0200 +@@ -321,8 +321,7 @@ + string size = value; + doc.size = atoi(size.c_str()); + } else { +- doc.properties.insert(make_pair( +- wchartoutf8(name), value)); ++ doc.properties.emplace(wchartoutf8(name), value); + } + } + Variant From 505e94256ef247dc5425068304583f8dc1b2064a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 13 Aug 2017 11:44:36 +0200 Subject: [PATCH 42/42] stdenv: resurrect the allowedRequisites check Discovered in #28091. I'm sorry I forgot to re-check my TODOs, long ago. --- pkgs/stdenv/linux/default.nix | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index c475d2d1e927..0aeb292e3169 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -299,13 +299,21 @@ in shellPackage = prevStage.bash; }; - /* outputs TODO - allowedRequisites = with prevStage; - [ gzip bzip2 xz bash binutils coreutils diffutils findutils gawk - glibc gnumake gnused gnutar gnugrep gnupatch patchelf attr acl - paxctl zlib pcre linuxHeaders ed gcc gcc.cc libsigsegv - ] ++ lib.optional (system == "aarch64-linux") prevStage.updateAutotoolsGnuConfigScriptsHook; - */ + # Mainly avoid reference to bootstrap tools + allowedRequisites = with prevStage; with lib; + # Simple executable tools + concatMap (p: [ (getBin p) (getLib p) ]) + [ gzip bzip2 xz bash binutils coreutils diffutils findutils gawk + gnumake gnused gnutar gnugrep gnupatch patchelf ed paxctl + ] + # Library dependencies + ++ map getLib [ attr acl zlib pcre libsigsegv ] + # More complicated cases + ++ [ + glibc.out glibc.dev glibc.bin/*propagated from .dev*/ linuxHeaders + gcc gcc.cc gcc.cc.lib gcc.expandResponseParams + ] + ++ lib.optional (system == "aarch64-linux") prevStage.updateAutotoolsGnuConfigScriptsHook; overrides = self: super: { inherit (prevStage)