diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2018-02-20 20:31:39 +0100 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2018-02-20 20:31:39 +0100 |
commit | 43a88e3d8a68a008abea0bca0b17805aa4910764 (patch) | |
tree | dfedec7c941b61fdd748bdf9806344d24c5f29f2 | |
parent | a34b0274ef111f02299c7b3435b4502eeb4deb3e (diff) | |
parent | fbe38c7c442e21b9eaa9a145c0e2bfe134f7f367 (diff) | |
download | nixpkgs-43a88e3d8a68a008abea0bca0b17805aa4910764.tar nixpkgs-43a88e3d8a68a008abea0bca0b17805aa4910764.tar.gz nixpkgs-43a88e3d8a68a008abea0bca0b17805aa4910764.tar.bz2 nixpkgs-43a88e3d8a68a008abea0bca0b17805aa4910764.tar.lz nixpkgs-43a88e3d8a68a008abea0bca0b17805aa4910764.tar.xz nixpkgs-43a88e3d8a68a008abea0bca0b17805aa4910764.tar.zst nixpkgs-43a88e3d8a68a008abea0bca0b17805aa4910764.zip |
Merge branch 'gcc-7' into staging
Close #27794.
49 files changed, 358 insertions, 244 deletions
diff --git a/pkgs/applications/editors/leo-editor/default.nix b/pkgs/applications/editors/leo-editor/default.nix index b05bbd053c1..2084a047a08 100644 --- a/pkgs/applications/editors/leo-editor/default.nix +++ b/pkgs/applications/editors/leo-editor/default.nix @@ -1,20 +1,29 @@ -{ stdenv, python3Packages, fetchFromGitHub, makeWrapper, makeDesktopItem }: +{ stdenv, python3, libsForQt56, fetchFromGitHub, makeWrapper, makeDesktopItem }: +let + packageOverrides = self: super: { + pyqt56 = libsForQt56.callPackage ../../../development/python-modules/pyqt/5.x.nix { + pythonPackages = self; + }; + }; + + pythonPackages = (python3.override { inherit packageOverrides; }).pkgs; +in stdenv.mkDerivation rec { name = "leo-editor-${version}"; - version = "5.5"; + version = "5.6"; src = fetchFromGitHub { owner = "leo-editor"; repo = "leo-editor"; rev = version; - sha256 = "0crzljirzfiy9xn02ydd23clmd8bzdjxkyxdqsvdkgfy9j41b8hr"; + sha256 = "1k6q3gvaf05bi0mzkmmb1p6wrgxwri7ivn38p6f0m0wfd3f70x2j"; }; dontBuild = true; - nativeBuildInputs = [ makeWrapper python3Packages.python ]; - propagatedBuildInputs = with python3Packages; [ pyqt5 ]; + nativeBuildInputs = [ makeWrapper python3 ]; + propagatedBuildInputs = with pythonPackages; [ pyqt56 docutils ]; desktopItem = makeDesktopItem rec { name = "leo-editor"; @@ -50,7 +59,7 @@ stdenv.mkDerivation rec { mkdir -p $out/share/leo-editor mv * $out/share/leo-editor - makeWrapper ${python3Packages.python.interpreter} $out/bin/leo \ + makeWrapper ${python3.interpreter} $out/bin/leo \ --set PYTHONPATH "$PYTHONPATH:$out/share/leo-editor" \ --add-flags "-O $out/share/leo-editor/launchLeo.py" ''; diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix index c4158d280e2..34f0d16a7b4 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix @@ -1,5 +1,5 @@ { mkDerivation, lib, fetchgit, fetchpatch -, pkgconfig, gyp, cmake, gcc7, makeWrapper +, pkgconfig, gyp, cmake, makeWrapper , qtbase, qtimageformats, gtk3, libappindicator-gtk3 , dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3 }: @@ -31,7 +31,7 @@ mkDerivation rec { }) ]; - nativeBuildInputs = [ pkgconfig gyp cmake gcc7 makeWrapper ]; + nativeBuildInputs = [ pkgconfig gyp cmake makeWrapper ]; buildInputs = [ qtbase qtimageformats gtk3 libappindicator-gtk3 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 afb3716f04c..e545cb33bef 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -13,7 +13,7 @@ }: let - version = "2.16.1"; + version = "2.16.2"; svn = subversionClient.override { perlBindings = true; }; in @@ -22,7 +22,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - sha256 = "06gay8k29glg4giwphjalcc1fknxw4bmxkmbr3ic3gzxy8vl7bfg"; + sha256 = "05y7480f2p7fkncbhf08zz56jbykcp0ia5gl6y3djs0lsa5mfq2m"; }; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/virtualization/qemu/statfs-flags.patch b/pkgs/applications/virtualization/qemu/statfs-flags.patch index c0f0162aacc..52a470a2869 100644 --- a/pkgs/applications/virtualization/qemu/statfs-flags.patch +++ b/pkgs/applications/virtualization/qemu/statfs-flags.patch @@ -1,4 +1,4 @@ -commit d3282d2512774dc5027c98930a3852b2b6e8407a +commit 909fe47c7009aa9a75fe9470c5f8d3dd5b50917a Author: Shea Levy <shea@shealevy.com> Date: Sun Feb 18 13:50:11 2018 -0500 @@ -59,7 +59,7 @@ index 82b35a6bdf..77481eca2c 100644 unlock_user_struct(target_stfs, arg2, 1); } diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h -index a35c52a60a..9f90451caf 100644 +index a35c52a60a..64aa49d3c5 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -362,7 +362,14 @@ struct kernel_statfs { @@ -77,49 +77,46 @@ index a35c52a60a..9f90451caf 100644 }; struct target_dirent { -@@ -2223,7 +2230,13 @@ struct target_statfs { +@@ -2223,7 +2230,12 @@ struct target_statfs { /* Linux specials */ target_fsid_t f_fsid; int32_t f_namelen; +#ifdef HAVE_STATFS_FLAGS -+ int32_t f_frsize; + int32_t f_flags; -+ int32_t f_spare[4]; ++ int32_t f_spare[5]; +#else int32_t f_spare[6]; +#endif }; #else struct target_statfs { -@@ -2239,7 +2252,13 @@ struct target_statfs { +@@ -2239,7 +2251,12 @@ struct target_statfs { /* Linux specials */ target_fsid_t f_fsid; abi_long f_namelen; +#ifdef HAVE_STATFS_FLAGS -+ abi_long f_frsize; + abi_long f_flags; -+ abi_long f_spare[4]; ++ abi_long f_spare[5]; +#else abi_long f_spare[6]; +#endif }; #endif -@@ -2255,7 +2274,13 @@ struct target_statfs64 { +@@ -2255,7 +2272,12 @@ struct target_statfs64 { uint64_t f_bavail; target_fsid_t f_fsid; uint32_t f_namelen; +#ifdef HAVE_STATFS_FLAGS -+ uint32_t f_frsize; + uint32_t f_flags; -+ uint32_t f_spare[4]; ++ uint32_t f_spare[5]; +#else uint32_t f_spare[6]; +#endif }; #elif (defined(TARGET_PPC64) || defined(TARGET_X86_64) || \ defined(TARGET_SPARC64) || defined(TARGET_AARCH64)) && \ -@@ -2271,7 +2296,12 @@ struct target_statfs { +@@ -2271,7 +2293,12 @@ struct target_statfs { target_fsid_t f_fsid; abi_long f_namelen; abi_long f_frsize; @@ -132,7 +129,7 @@ index a35c52a60a..9f90451caf 100644 }; struct target_statfs64 { -@@ -2285,7 +2315,12 @@ struct target_statfs64 { +@@ -2285,7 +2312,12 @@ struct target_statfs64 { target_fsid_t f_fsid; abi_long f_namelen; abi_long f_frsize; @@ -145,7 +142,7 @@ index a35c52a60a..9f90451caf 100644 }; #elif defined(TARGET_S390X) struct target_statfs { -@@ -2299,7 +2334,13 @@ struct target_statfs { +@@ -2299,7 +2331,13 @@ struct target_statfs { kernel_fsid_t f_fsid; int32_t f_namelen; int32_t f_frsize; @@ -159,7 +156,7 @@ index a35c52a60a..9f90451caf 100644 }; struct target_statfs64 { -@@ -2313,7 +2354,12 @@ struct target_statfs64 { +@@ -2313,7 +2351,12 @@ struct target_statfs64 { kernel_fsid_t f_fsid; int32_t f_namelen; int32_t f_frsize; @@ -172,7 +169,7 @@ index a35c52a60a..9f90451caf 100644 }; #else struct target_statfs { -@@ -2327,7 +2373,12 @@ struct target_statfs { +@@ -2327,7 +2370,12 @@ struct target_statfs { target_fsid_t f_fsid; uint32_t f_namelen; uint32_t f_frsize; @@ -185,7 +182,7 @@ index a35c52a60a..9f90451caf 100644 }; struct target_statfs64 { -@@ -2341,7 +2392,12 @@ struct target_statfs64 { +@@ -2341,7 +2389,12 @@ struct target_statfs64 { target_fsid_t f_fsid; uint32_t f_namelen; uint32_t f_frsize; diff --git a/pkgs/data/documentation/zeal/default.nix b/pkgs/data/documentation/zeal/default.nix index 68a1fb92cc8..e9225900cb7 100644 --- a/pkgs/data/documentation/zeal/default.nix +++ b/pkgs/data/documentation/zeal/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = "zeal-${version}"; - version = "0.5.0"; + version = "0.6.0"; src = fetchFromGitHub { owner = "zealdocs"; repo = "zeal"; rev = "v${version}"; - sha256 = "14gm9n2zmqgig4nz5i3089dhn0a7c175g1szr0zg9yzr9j2hk0mr"; + sha256 = "0zsrb89jz04b8in1d69p7mg001yayyljc47vdlvm48cjbhvxwj0k"; }; # while ads can be disabled from the user settings, by default they are not so diff --git a/pkgs/data/documentation/zeal/remove_ads.patch b/pkgs/data/documentation/zeal/remove_ads.patch index 1c0b3c081f1..be0cab305eb 100644 --- a/pkgs/data/documentation/zeal/remove_ads.patch +++ b/pkgs/data/documentation/zeal/remove_ads.patch @@ -1,17 +1,23 @@ +commit 1b61397175b6e60f23224db463301c9057830859 +Author: Peter Hoeg <peter@hoeg.com> +Date: Mon Feb 19 07:38:03 2018 +0800 + + strip container with ads + diff --git a/src/app/resources/browser/welcome.html b/src/app/resources/browser/welcome.html -index 22e6278..ec09771 100644 +index bb3f511..67382b2 100644 --- a/src/app/resources/browser/welcome.html +++ b/src/app/resources/browser/welcome.html -@@ -35,12 +35,6 @@ - <div class="hero-foot"> - <div class="container"> - <div class="content has-text-centered"> -- <div id="carboncontainer"> -- <div id="carbon" class="box"> -- <script async type="text/javascript" src="https://cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=zealdocsforwindowsorg" -- onerror="document.getElementById('carboncontainer').style.display = 'none';" id="_carbonads_js"></script> +@@ -20,12 +20,6 @@ + <span id="version" class="has-text-weight-light is-size-5"></span> + </p> + <p class="subtitle">Docs for everyone</p> +- <div id="carboncontainer" style="margin-top: 75px;"> +- <div id="carbon" class="box"> +- <script async type="text/javascript" src="https://cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=zealdocsforwindowsorg" +- onerror="document.getElementById('carboncontainer').style.display = 'none';" id="_carbonads_js"></script> +- </div> - </div> -- </div> - <p> - <a class="icon" href="https://github.com/zealdocs/zeal"> - <i class="fa fa-github"></i> + </div> + <div class="column"> + <p class="subtitle is-5">Customize</p> diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index 42ac766d2cc..bbf87eccac7 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -33,7 +33,6 @@ , gnused ? null , cloog # unused; just for compat with gcc4, as we override the parameter on some places , darwin ? null -, flex ? null , buildPlatform, hostPlatform, targetPlatform , buildPackages }: @@ -295,7 +294,7 @@ stdenv.mkDerivation ({ ]; buildInputs = [ - gmp mpfr libmpc libelf flex + gmp mpfr libmpc libelf targetPackages.stdenv.cc.bintools # For linking code at run-time ] ++ (optional (isl != null) isl) ++ (optional (zlib != null) zlib) @@ -408,9 +407,8 @@ stdenv.mkDerivation ({ targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; - buildFlags = if bootstrap then - (if profiledCompiler then "profiledbootstrap" else "bootstrap") - else ""; + buildFlags = + optional bootstrap (if profiledCompiler then "profiledbootstrap" else "bootstrap"); installTargets = if stripped @@ -523,7 +521,7 @@ stdenv.mkDerivation ({ } # Strip kills static libs of other archs (hence targetPlatform != hostPlatform) -// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; NIX_STRIP_DEBUG = 0; } +// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; } // optionalAttrs (enableMultilib) { dontMoveLib64 = true; } ) diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix index a66b2264f07..1cb28118ccb 100644 --- a/pkgs/development/compilers/hhvm/default.nix +++ b/pkgs/development/compilers/hhvm/default.nix @@ -53,6 +53,7 @@ stdenv.mkDerivation rec { hphp/runtime/ext/std/*.cpp \ hphp/runtime/ext_zend_compat/php-src/main/*.cpp \ hphp/runtime/ext_zend_compat/php-src/main/*.h + sed '1i#include <functional>' -i third-party/mcrouter/src/mcrouter/lib/cycles/Cycles.h patchShebangs . ''; diff --git a/pkgs/development/compilers/openjdk/7.nix b/pkgs/development/compilers/openjdk/7.nix index 372bb153269..13f8bcfdb1d 100644 --- a/pkgs/development/compilers/openjdk/7.nix +++ b/pkgs/development/compilers/openjdk/7.nix @@ -69,7 +69,10 @@ let fontconfig perl file bootjdk ]; - NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; + NIX_CFLAGS_COMPILE = [ + "-Wno-error=deprecated-declarations" + "-Wno-error=format-overflow" # newly detected by gcc7 + ]; NIX_LDFLAGS = if minimal then null else "-lfontconfig -lXcursor -lXinerama"; diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index b5550a96a83..413751cf255 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -10,7 +10,7 @@ let in rec { rustc = callPackage ./rustc.nix { - inherit llvm targets targetPatches targetToolchains rustPlatform version; + inherit stdenv llvm targets targetPatches targetToolchains rustPlatform version; forceBundledLLVM = true; @@ -34,6 +34,7 @@ rec { srcSha = "14b2n1msxma19ydchj54hd7f2zdsr524fg133dkmdn7j65f1x6aj"; cargoSha256 = "1sj59z0w172qvjwg1ma5fr5am9dgw27086xwdnrvlrk4hffcr7y7"; + inherit stdenv; inherit rustc; # the rustc that will be wrapped by cargo inherit rustPlatform; # used to build cargo }; diff --git a/pkgs/development/compilers/yap/default.nix b/pkgs/development/compilers/yap/default.nix index 8e37dc76441..d93da8cb996 100644 --- a/pkgs/development/compilers/yap/default.nix +++ b/pkgs/development/compilers/yap/default.nix @@ -13,6 +13,8 @@ stdenv.mkDerivation rec { configureFlags = "--enable-tabling=yes"; + NIX_CFLAGS_COMPILE = [ "-fpermissive" ]; + meta = { homepage = http://www.dcc.fc.up.pt/~vsc/Yap/; description = "A ISO-compatible high-performance Prolog compiler"; diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix index 3b071d3afb3..7aac606fdfb 100644 --- a/pkgs/development/interpreters/clojure/default.nix +++ b/pkgs/development/interpreters/clojure/default.nix @@ -1,28 +1,28 @@ { stdenv, fetchurl, jdk, rlwrap, makeWrapper }: -let version = "1.9.0.326"; in - -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "clojure-${version}"; + version = "1.9.0.329"; src = fetchurl { url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz"; - sha256 = "0sf8gy39iz4jxj2wic1lbdwdwbj90k3awhr0kq76gr1z1dwbj6s9"; + sha256 = "1g1mi75285z977vrqbihmmmrmdcnznxbw3r6wkzh571sc1yyrlrj"; }; buildInputs = [ makeWrapper ]; + outputs = [ "out" "prefix" ]; + installPhase = '' - pwd - ls -la - mkdir -p $out/libexec $out/bin - cp -f deps.edn example-deps.edn $out - cp -f clojure-tools-${version}.jar $out/libexec - sed -i -e "s@PREFIX@$out@g" clojure - cp -f clj clojure $out/bin - for program in $out/bin/{clojure,clj}; do - wrapProgram $program --suffix PATH : $out/bin:${jdk.jre}/bin:${rlwrap}/bin - done + mkdir -p $prefix/libexec + cp clojure-tools-${version}.jar $prefix/libexec + cp {,example-}deps.edn $prefix + + substituteInPlace clojure --replace PREFIX $prefix + + install -Dt $out/bin clj clojure + wrapProgram $out/bin/clj --suffix PATH ${rlwrap}/bin + wrapProgram $out/bin/clojure --suffix PATH ${jdk}/bin ''; meta = with stdenv.lib; { diff --git a/pkgs/development/interpreters/gnu-apl/default.nix b/pkgs/development/interpreters/gnu-apl/default.nix index 4d38545a44f..2f5ce0e7635 100644 --- a/pkgs/development/interpreters/gnu-apl/default.nix +++ b/pkgs/development/interpreters/gnu-apl/default.nix @@ -12,6 +12,9 @@ stdenv.mkDerivation rec { buildInputs = [ readline gettext ncurses ]; + # Needed with GCC 7 + NIX_CFLAGS_COMPILE = "-Wno-error=int-in-bool-context"; + patchPhase = optionalString stdenv.isDarwin '' substituteInPlace src/LApack.cc --replace "malloc.h" "malloc/malloc.h" ''; diff --git a/pkgs/development/interpreters/spidermonkey/17.nix b/pkgs/development/interpreters/spidermonkey/17.nix index da5fc193a22..9c47ebe79b6 100644 --- a/pkgs/development/interpreters/spidermonkey/17.nix +++ b/pkgs/development/interpreters/spidermonkey/17.nix @@ -18,6 +18,16 @@ stdenv.mkDerivation rec { postUnpack = "sourceRoot=\${sourceRoot}/js/src"; + patches = [ + (fetchurl { + name = "jsoptparse-gcc7.patch"; + url = "https://src.fedoraproject.org/cgit/rpms/mozjs17.git/plain/" + + "mozjs17.0.0-gcc7.patch?id=43b846629a299f"; + sha256 = "17plyaq0jwf9wli4zlgvh4ri3zyk6nj1fiakh3wnd37nsl90raf9"; + }) + ]; + patchFlags = "-p3"; + postPatch = '' # Fixes an issue with version detection under perl 5.22.x sed -i 's/(defined\((@TEMPLATE_FILE)\))/\1/' config/milestone.pl diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix index cccd93e5d4d..d0e93337a39 100644 --- a/pkgs/development/libraries/aspell/default.nix +++ b/pkgs/development/libraries/aspell/default.nix @@ -1,5 +1,6 @@ -{stdenv, fetchurl, perl -, searchNixProfiles ? true}: +{ stdenv, fetchurl, fetchpatch, perl +, searchNixProfiles ? true +}: stdenv.mkDerivation rec { name = "aspell-0.60.6.1"; @@ -9,10 +10,16 @@ stdenv.mkDerivation rec { sha256 = "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm"; }; - patchPhase = '' + patches = [ + (fetchpatch { # remove in >= 0.60.7 + name = "gcc-7.patch"; + url = "https://github.com/GNUAspell/aspell/commit/8089fa02122fed0a.diff"; + sha256 = "1b3p1zy2lqr2fknddckm58hyk95hw4scf6hzjny1v9iaic2p37ix"; + }) + ] ++ stdenv.lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch; + + postPatch = '' patch interfaces/cc/aspell.h < ${./clang.patch} - '' + stdenv.lib.optionalString searchNixProfiles '' - patch -p1 < ${./data-dirs-from-nix-profiles.patch} ''; nativeBuildInputs = [ perl ]; diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix index 1983aab0e32..cd42652e091 100644 --- a/pkgs/development/libraries/aws-sdk-cpp/default.nix +++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix @@ -58,6 +58,8 @@ in stdenv.mkDerivation rec { rm aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp ''; + NIX_CFLAGS_COMPILE = [ "-Wno-error=noexcept-type" ]; + meta = { description = "A C++ interface for Amazon Web Services"; homepage = https://github.com/awslabs/aws-sdk-cpp; diff --git a/pkgs/development/libraries/dbus-cplusplus/default.nix b/pkgs/development/libraries/dbus-cplusplus/default.nix index ee7afbbf252..05140581143 100644 --- a/pkgs/development/libraries/dbus-cplusplus/default.nix +++ b/pkgs/development/libraries/dbus-cplusplus/default.nix @@ -10,11 +10,26 @@ stdenv.mkDerivation rec { sha256 = "0qafmy2i6dzx4n1dqp6pygyy6gjljnb7hwjcj2z11c1wgclsq4dw"; }; - patches = [( fetchurl { - url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/dbus-c%2B%2B/files/dbus-c%2B%2B-0.9.0-gcc-4.7.patch; - name = "gcc-4.7.patch"; - sha256 = "0rwcz9pvc13b3yfr0lkifnfz0vb5q6dg240bzgf37ni4s8rpc72g"; - })]; + patches = [ + (fetchurl { + name = "gcc-4.7.patch"; + url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/" + + "dbus-c%2B%2B/files/dbus-c%2B%2B-0.9.0-gcc-4.7.patch"; + sha256 = "0rwcz9pvc13b3yfr0lkifnfz0vb5q6dg240bzgf37ni4s8rpc72g"; + }) + (fetchurl { + name = "writechar.patch"; # since gcc7 + url = "https://src.fedoraproject.org/cgit/rpms/dbus-c++.git/plain/" + + "dbus-c++-writechar.patch?id=7f371172f5c"; + sha256 = "1kkg4gbpm4hp87l25zw2a3r9c58g7vvgzcqgiman734i66zsbb9l"; + }) + (fetchurl { + name = "threading.patch"; # since gcc7 + url = "https://src.fedoraproject.org/cgit/rpms/dbus-c++.git/plain/" + + "dbus-c++-threading.patch?id=7f371172f5c"; + sha256 = "1h362anx3wyxm5lq0v8girmip1jmkdbijrmbrq7k5pp47zkhwwrq"; + }) + ]; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ dbus glib expat ]; diff --git a/pkgs/development/libraries/json-c/0.11.nix b/pkgs/development/libraries/json-c/0.11.nix index 029921ee08c..8c4eab9ede6 100644 --- a/pkgs/development/libraries/json-c/0.11.nix +++ b/pkgs/development/libraries/json-c/0.11.nix @@ -6,6 +6,9 @@ stdenv.mkDerivation rec { url = "https://github.com/json-c/json-c/archive/json-c-0.11-20130402.tar.gz"; sha256 = "1m8fy7lbahv1r7yqbhw4pl057sxmmgjihm1fsvc3h66710s2i24r"; }; + + NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-fallthrough" ]; + meta = with stdenv.lib; { description = "A JSON implementation in C"; homepage = https://github.com/json-c/json-c/wiki; diff --git a/pkgs/development/libraries/json-c/default.nix b/pkgs/development/libraries/json-c/default.nix index b8c72d9669e..7317efc53f8 100644 --- a/pkgs/development/libraries/json-c/default.nix +++ b/pkgs/development/libraries/json-c/default.nix @@ -11,6 +11,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; # won't configure without it, no idea why + # probably OK after update: https://github.com/json-c/json-c/pull/365 + NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-fallthrough" ]; + # compatibility hack (for mypaint at least) postInstall = '' ln -s json-c.pc "$dev/lib/pkgconfig/json.pc" diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix index 147d6bac2f9..54d669f1913 100644 --- a/pkgs/development/libraries/libidn/default.nix +++ b/pkgs/development/libraries/libidn/default.nix @@ -10,7 +10,8 @@ stdenv.mkDerivation rec { outputs = [ "bin" "dev" "out" "info" "devdoc" ]; - doCheck = !stdenv.isDarwin && !stdenv.hostPlatform.isMusl; + # broken with gcc-7 + #doCheck = !stdenv.isDarwin && !stdenv.hostPlatform.isMusl; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/libraries/libmemcached/default.nix b/pkgs/development/libraries/libmemcached/default.nix index 6d895290e2c..15e642832df 100644 --- a/pkgs/development/libraries/libmemcached/default.nix +++ b/pkgs/development/libraries/libmemcached/default.nix @@ -23,6 +23,8 @@ stdenv.mkDerivation rec { buildInputs = [ libevent ]; propagatedBuildInputs = [ cyrus_sasl ]; + NIX_CFLAGS_COMPILE = [ "-fpermissive"/*gcc7*/ ]; + meta = with stdenv.lib; { homepage = http://libmemcached.org; description = "Open source C/C++ client library and tools for the memcached server"; diff --git a/pkgs/development/libraries/libmwaw/default.nix b/pkgs/development/libraries/libmwaw/default.nix index e1ac659683c..35137a09cd9 100644 --- a/pkgs/development/libraries/libmwaw/default.nix +++ b/pkgs/development/libraries/libmwaw/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="libmwaw"; - version="0.3.10"; + version="0.3.13"; name="${baseName}-${version}"; - hash="087j6kx03ggvqwpl944nnf75qkvi9bag8b0z59phg66gbz0s0imj"; - url="https://netcologne.dl.sourceforge.net/project/libmwaw/libmwaw/libmwaw-0.3.10/libmwaw-0.3.10.tar.xz"; - sha256="087j6kx03ggvqwpl944nnf75qkvi9bag8b0z59phg66gbz0s0imj"; + hash="1sjs3nc39im232h5bf81w3il8ivd7w2bc2qssxf7k74g8hlcfmfv"; + url="mirror://sourceforge/libmwaw/libmwaw/libmwaw-0.3.13/libmwaw-0.3.13.tar.xz"; + sha256="1sjs3nc39im232h5bf81w3il8ivd7w2bc2qssxf7k74g8hlcfmfv"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/librevenge/default.nix b/pkgs/development/libraries/librevenge/default.nix index 3523eb5c37b..2c6e792ae8c 100644 --- a/pkgs/development/libraries/librevenge/default.nix +++ b/pkgs/development/libraries/librevenge/default.nix @@ -21,11 +21,10 @@ stdenv.mkDerivation { inherit (s) url sha256; }; - # Clang generates warnings in Boost's header files + # Clang and gcc-7 generate warnings, and # -Werror causes these warnings to be interpreted as errors # Simplest solution: disable -Werror - configureFlags = if stdenv.cc.isClang - then [ "--disable-werror" ] else null; + configureFlags = [ "--disable-werror" ]; # Fix an issue with boost 1.59 # This is fixed upstream so please remove this when updating diff --git a/pkgs/development/libraries/libunique/default.nix b/pkgs/development/libraries/libunique/default.nix index a5adaa9ac17..1bef7683654 100644 --- a/pkgs/development/libraries/libunique/default.nix +++ b/pkgs/development/libraries/libunique/default.nix @@ -13,7 +13,8 @@ stdenv.mkDerivation rec { ./1.1.6-fix-test.patch ./1.1.6-G_CONST_RETURN.patch ./1.1.6-include-terminator.patch - ]; + ] + ++ [ ./gcc7-bug.patch ]; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ glib gtk2 dbus_glib ]; @@ -24,7 +25,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - homepage = http://live.gnome.org/LibUnique; + homepage = https://wiki.gnome.org/Attic/LibUnique; description = "A library for writing single instance applications"; license = stdenv.lib.licenses.lgpl21; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/development/libraries/libunique/gcc7-bug.patch b/pkgs/development/libraries/libunique/gcc7-bug.patch new file mode 100644 index 00000000000..2b0587510bc --- /dev/null +++ b/pkgs/development/libraries/libunique/gcc7-bug.patch @@ -0,0 +1,18 @@ +gcc-7 newly detects this class of bugs. +In this particular case it's clear that the inention was +to detect if the string is non-NULL *and* non-empty. + + +diff --git a/unique/uniqueapp.c b/unique/uniqueapp.c +index b40a86c..66a7226 100644 +--- a/unique/uniqueapp.c ++++ b/unique/uniqueapp.c +@@ -176,7 +176,7 @@ set_startup_id (UniqueBackend *backend, + { + gchar *id; + +- if (startup_id && startup_id != '\0') ++ if (startup_id && *startup_id != '\0') + id = g_strdup (startup_id); + else + { diff --git a/pkgs/development/libraries/libwps/default.nix b/pkgs/development/libraries/libwps/default.nix index 73fe5b55ab4..37ff9d098c5 100644 --- a/pkgs/development/libraries/libwps/default.nix +++ b/pkgs/development/libraries/libwps/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ boost librevenge zlib ]; + NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-fallthrough" ]; # newly detected by gcc-7 + meta = with stdenv.lib; { homepage = http://libwps.sourceforge.net/; description = "Microsoft Works document format import filter library"; diff --git a/pkgs/development/libraries/mp4v2/default.nix b/pkgs/development/libraries/mp4v2/default.nix index 736c31b442a..a5542ebb659 100644 --- a/pkgs/development/libraries/mp4v2/default.nix +++ b/pkgs/development/libraries/mp4v2/default.nix @@ -8,11 +8,19 @@ stdenv.mkDerivation rec { sha256 = "0f438bimimsvxjbdp4vsr8hjw2nwggmhaxgcw07g2z361fkbj683"; }; - # From Handbrake - # mp4v2 doesn't seem to be actively maintained any more :-/ patches = [ + # From Handbrake + # mp4v2 doesn't seem to be actively maintained any more :-/ ./A02-meaningful-4gb-warning.patch + + (fetchurl { + name = "gcc-7.patch"; + url = "https://src.fedoraproject.org/cgit/rpms/libmp4v2.git/plain/" + + "0004-Fix-GCC7-build.patch?id=d7aeedabb"; + sha256 = "0sbn0il7lmk77yrjyb4f0a3z3h8gsmdkscvz5n9hmrrrhrwf672w"; + }) ]; + # `faac' expects `mp4.h'. postInstall = "ln -s mp4v2/mp4v2.h $out/include/mp4.h"; diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix index 0dd7b37e1a6..308a916b0bd 100644 --- a/pkgs/development/libraries/ncurses/default.nix +++ b/pkgs/development/libraries/ncurses/default.nix @@ -11,23 +11,18 @@ }: stdenv.mkDerivation rec { - version = if abiVersion == "5" then "5.9" else "6.0-20171125"; - name = "ncurses-${version}"; + version = "6.0-20171125"; + name = "ncurses-${version}" + lib.optionalString (abiVersion == "5") "-abi5-compat"; - src = fetchurl (if abiVersion == "5" then { - url = "mirror://gnu/ncurses/${name}.tar.gz"; - sha256 = "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh"; - } else { + src = fetchurl { urls = [ - "ftp://ftp.invisible-island.net/ncurses/current/${name}.tgz" - "https://invisible-mirror.net/archives/ncurses/current/${name}.tgz" + "ftp://ftp.invisible-island.net/ncurses/current/ncurses-${version}.tgz" + "https://invisible-mirror.net/archives/ncurses/current/ncurses-${version}.tgz" ]; sha256 = "11adzj0k82nlgpfrflabvqn2m7fmhp2y6pd7ivmapynxqb9vvb92"; - }); + }; - # Unnecessarily complicated in order to avoid mass-rebuilds - patches = lib.optional (!stdenv.cc.isClang || abiVersion == "5") ./clang.patch - ++ lib.optional (stdenv.cc.isGNU && abiVersion == "5") ./gcc-5.patch; + patches = lib.optional (!stdenv.cc.isClang) ./clang.patch; outputs = [ "out" "dev" "man" ]; setOutputFlags = false; # some aren't supported @@ -37,7 +32,8 @@ stdenv.mkDerivation rec { "--without-debug" "--enable-pc-files" "--enable-symlinks" - ] ++ lib.optional unicode "--enable-widec"; + ] ++ lib.optional unicode "--enable-widec" + ++ lib.optional (abiVersion == "5") "--with-abi-version=5"; # Only the C compiler, and explicitly not C++ compiler needs this flag on solaris: CFLAGS = lib.optionalString stdenv.isSunOS "-D_XOPEN_SOURCE_EXTENDED"; diff --git a/pkgs/development/libraries/ncurses/gcc-5.patch b/pkgs/development/libraries/ncurses/gcc-5.patch deleted file mode 100644 index 2448229b88e..00000000000 --- a/pkgs/development/libraries/ncurses/gcc-5.patch +++ /dev/null @@ -1,46 +0,0 @@ -https://bugs.gentoo.org/545114 - -extracted from the upstream change (which had many unrelated commits in one) - -From 97bb4678dc03e753290b39bbff30ba2825df9517 Mon Sep 17 00:00:00 2001 -From: "Thomas E. Dickey" <dickey@invisible-island.net> -Date: Sun, 7 Dec 2014 03:10:09 +0000 -Subject: [PATCH] ncurses 5.9 - patch 20141206 - -+ modify MKlib_gen.sh to work around change in development version of - gcc introduced here: - https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html - https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html - (reports by Marcus Shawcroft, Maohui Lei). - -diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh -index d8cc3c9..b91398c 100755 ---- a/ncurses/base/MKlib_gen.sh -+++ b/ncurses/base/MKlib_gen.sh -@@ -474,11 +474,22 @@ sed -n -f $ED1 \ - -e 's/gen_$//' \ - -e 's/ / /g' >>$TMP - -+cat >$ED1 <<EOF -+s/ / /g -+s/^ // -+s/ $// -+s/P_NCURSES_BOOL/NCURSES_BOOL/g -+EOF -+ -+# A patch discussed here: -+# https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html -+# introduces spurious #line markers. Work around that by ignoring the system's -+# attempt to define "bool" and using our own symbol here. -+sed -e 's/bool/P_NCURSES_BOOL/g' $TMP > $ED2 -+cat $ED2 >$TMP -+ - $preprocessor $TMP 2>/dev/null \ --| sed \ -- -e 's/ / /g' \ -- -e 's/^ //' \ -- -e 's/_Bool/NCURSES_BOOL/g' \ -+| sed -f $ED1 \ - | $AWK -f $AW2 \ - | sed -f $ED3 \ - | sed \ 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 46f24a08b5e..8b3fd8c6678 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -176,13 +176,14 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; NIX_CFLAGS_COMPILE = - optionalString stdenv.isLinux "-std=gnu++98" # gnu++ in (Obj)C flags is no good on Darwin - + 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) - "-lglib-2.0"; + # with gcc7 the warnings blow the log over Hydra's limit + [ "-Wno-expansion-to-defined" "-Wno-unused-local-typedefs" ] + ++ optional stdenv.isLinux "-std=gnu++98" # gnu++ in (Obj)C flags is no good on Darwin + ++ optionals (stdenv.isFreeBSD || stdenv.isDarwin) + [ "-I${glib.dev}/include/glib-2.0" "-I${glib.out}/lib/glib-2.0/include" ] + ++ optional stdenv.isDarwin "-I${libcxx}/include/c++/v1"; + + NIX_LDFLAGS = optionalString (stdenv.isFreeBSD || stdenv.isDarwin) "-lglib-2.0"; preBuild = optionalString stdenv.isDarwin '' # resolve "extra qualification on member" error diff --git a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix index 4dce9c4e22e..6834b7ce87b 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix @@ -31,7 +31,8 @@ qtModule { ''; NIX_CFLAGS_COMPILE = - optionals flashplayerFix + [ "-Wno-expansion-to-defined" ] # with gcc7 this warning blows the log over Hydra's limit + ++ optionals flashplayerFix [ ''-DNIXPKGS_LIBGTK2="${getLib gtk2}/lib/libgtk-x11-2.0"'' ''-DNIXPKGS_LIBGDK2="${getLib gdk_pixbuf}/lib/libgdk-x11-2.0"'' diff --git a/pkgs/development/libraries/usbredir/default.nix b/pkgs/development/libraries/usbredir/default.nix index 4735375de1f..507c494ea27 100644 --- a/pkgs/development/libraries/usbredir/default.nix +++ b/pkgs/development/libraries/usbredir/default.nix @@ -10,7 +10,8 @@ stdenv.mkDerivation rec { }; # Works around bunch of "format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t {aka long long unsigned int}'" warnings - NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!stdenv.is64bit) "-Wno-error=format"; + NIX_CFLAGS_COMPILE = stdenv.lib.optional (!stdenv.is64bit) "-Wno-error=format" + ++ [ "-Wno-error=format-truncation" ]; # newly detected with gcc-7 nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libusb ]; diff --git a/pkgs/development/python-modules/pythonix/default.nix b/pkgs/development/python-modules/pythonix/default.nix index dacc27c53a0..6248ed7bf66 100644 --- a/pkgs/development/python-modules/pythonix/default.nix +++ b/pkgs/development/python-modules/pythonix/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, ninja, meson, pkgconfig, gcc7, nixUnstable, isPy3k }: +{ stdenv, fetchFromGitHub, ninja, meson, pkgconfig, nixUnstable, isPy3k }: assert isPy3k; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "1piblysypyr442a6najk4mdh87xc377i2fdbfw6fr569z60mnnnj"; }; - nativeBuildInputs = [ meson pkgconfig ninja gcc7 ]; + nativeBuildInputs = [ meson pkgconfig ninja ]; buildInputs = [ nixUnstable ]; diff --git a/pkgs/development/tools/analysis/radare2-cutter/default.nix b/pkgs/development/tools/analysis/radare2-cutter/default.nix new file mode 100644 index 00000000000..3cd1d309e15 --- /dev/null +++ b/pkgs/development/tools/analysis/radare2-cutter/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchFromGitHub, fetchpatch, qmake, pkgconfig, qtbase, qtsvg, radare2 }: + + +stdenv.mkDerivation rec { + name = "radare2-cutter-${version}"; + version = "1.1"; + + src = fetchFromGitHub { + owner = "radareorg"; + repo = "cutter"; + rev = "v${version}"; + sha256 = "02m5sf45n455hn34y7hrqanj830rc5xhz2ppp1z3mzbz0s515pfl"; + }; + + postUnpack = "export sourceRoot=$sourceRoot/src"; + + patches = [ + # Fixup version number :D + (fetchpatch { + url = "https://github.com/radareorg/cutter/commit/69506b64600df632afdca8b680baa7d946c78644.patch"; + sha256 = "0ks3ixz8bycjcfi26bd0p6z7qaplhq00alw44hsfzpdm4bmr01x0"; + }) + (fetchpatch { + url = "https://github.com/radareorg/cutter/commit/8b52c66f4f0091cd9d97389b32aa519c2c602e2b.patch"; + sha256 = "0wcdn35lx2943pfzm7mkg4sr82pm0qz3yxf74m8fxbd70s3w0gkm"; + }) + + # case-insensitive filtering + (fetchpatch { + url = "https://github.com/radareorg/cutter/commit/0ebd34370bcaed00000168147572bb78106eeab1.patch"; + sha256 = "0sc50jwhncfnd2i5mlyld4dbdzi2ws7nh4yglkhlap9l9h1jxn20"; + }) + ]; + + patchFlags = [ "-p2" ]; + + nativeBuildInputs = [ qmake pkgconfig ]; + buildInputs = [ qtbase qtsvg radare2 ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A Qt and C++ GUI for radare2 reverse engineering framework"; + homepage = src.meta.homepage; + license = licenses.gpl3; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix index 49f6aeb7279..6a7992b0131 100644 --- a/pkgs/development/tools/analysis/radare2/default.nix +++ b/pkgs/development/tools/analysis/radare2/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchFromGitHub, fetchurl, fetchpatch, pkgconfig, libusb, readline, libewf, perl, zlib, openssl, +{stdenv, fetchFromGitHub, fetchgit, fetchurl, fetchpatch, pkgconfig, libusb, readline, libewf, perl, zlib, openssl, git, gtk2 ? null, vte ? null, gtkdialog ? null, python ? null, ruby ? null, @@ -13,32 +13,33 @@ let inherit (stdenv.lib) optional; in stdenv.mkDerivation rec { - version = "2.2.0"; + version = "2.3.0"; name = "radare2-${version}"; src = fetchFromGitHub { owner = "radare"; repo = "radare2"; rev = version; - sha256 = "0rd1dfgwdpn3x1pzi67sw040vxywbg5h6yw0mj317p0p1cvlyihl"; + sha256 = "0x5vcprqf0fnj876mdvryfvg7ymbrw1cxrr7a06v0swg7yql1lpw"; }; postPatch = let - cs_ver = "3.0.4"; # version from $sourceRoot/shlr/Makefile - capstone = fetchurl { - url = "https://github.com/aquynh/capstone/archive/${cs_ver}.tar.gz"; - sha256 = "1whl5c8j6vqvz2j6ay2pyszx0jg8d3x8hq66cvgghmjchvsssvax"; + cs_tip = "bdbc57de63725a98732ddc34b48de96f8ada66f2"; # version from $sourceRoot/shlr/Makefile + capstone = fetchgit { + url = "https://github.com/aquynh/capstone.git"; + rev = cs_tip; + sha256 = "1sqxpjf2dlrg87dm9p39p5d1qzahrnfnrjijpv1xg1shax439jni"; + leaveDotGit = true; }; in '' - if ! grep -F "CS_VER=${cs_ver}" shlr/Makefile; then echo "CS_VER mismatch"; exit 1; fi - substituteInPlace shlr/Makefile --replace CS_RELEASE=0 CS_RELEASE=1 - cp ${capstone} shlr/capstone-${cs_ver}.tar.gz - + if ! grep -F "CS_TIP=${cs_tip}" shlr/Makefile; then echo "CS_TIP mismatch"; exit 1; fi + cp -r ${capstone} shlr/capstone + chmod -R u+rw shlr/capstone ''; enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig git ]; buildInputs = [ readline libusb libewf perl zlib openssl] ++ optional useX11 [gtkdialog vte gtk2] ++ optional rubyBindings [ruby] diff --git a/pkgs/development/tools/misc/openocd/default.nix b/pkgs/development/tools/misc/openocd/default.nix index 2ab0dbd1b5f..73c5b762318 100644 --- a/pkgs/development/tools/misc/openocd/default.nix +++ b/pkgs/development/tools/misc/openocd/default.nix @@ -25,6 +25,12 @@ stdenv.mkDerivation rec { "--enable-remote-bitbang" ]; + NIX_CFLAGS_COMPILE = [ + "-Wno-implicit-fallthrough" + "-Wno-format-truncation" + "-Wno-format-overflow" + ]; + postInstall = '' mkdir -p "$out/etc/udev/rules.d" rules="$out/share/openocd/contrib/60-openocd.rules" diff --git a/pkgs/misc/riscv-pk/default.nix b/pkgs/misc/riscv-pk/default.nix new file mode 100644 index 00000000000..025d591d137 --- /dev/null +++ b/pkgs/misc/riscv-pk/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, autoreconfHook }: let + rev = "e5846a2bc707eaa58dc8ab6a8d20a090c6ee8570"; + sha256 = "1clynpp70fnbgsjgxx7xi0vrdrj1v0h8zpv0x26i324kp2gwylf4"; + revCount = "438"; + shortRev = "e5846a2"; +in stdenv.mkDerivation { + name = "riscv-pk-0.1pre${revCount}_${shortRev}"; + + src = fetchFromGitHub { + owner = "riscv"; + repo = "riscv-pk"; + inherit rev sha256; + }; + + nativeBuildInputs = [ autoreconfHook ]; + + preConfigure = '' + mkdir build + cd build + ''; + + configureScript = "../configure"; + + hardeningDisable = [ "all" ]; + + meta = { + description = "RISC-V Proxy Kernel and Bootloader."; + homepage = https://github.com/riscv/riscv-pk; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + }; +} diff --git a/pkgs/os-specific/linux/ffado/default.nix b/pkgs/os-specific/linux/ffado/default.nix index aa273ec613e..4e2d2b38841 100644 --- a/pkgs/os-specific/linux/ffado/default.nix +++ b/pkgs/os-specific/linux/ffado/default.nix @@ -25,11 +25,11 @@ let in stdenv.mkDerivation rec { name = "${prefix}ffado-${version}"; - version = "2.3.0"; + version = "2.4.0"; src = fetchurl { url = "http://www.ffado.org/files/libffado-${version}.tgz"; - sha256 = "122z8gya60nyg47i738z2yr4qcjyk2xix4kwhf5ybkmp23kcgqqq"; + sha256 = "14rprlcd0gpvg9kljh0zzjzd2rc9hbqqpjidshxxjvvfh4r00f4f"; }; nativeBuildInputs = [ scons pkgconfig which makeWrapper python ]; @@ -41,12 +41,8 @@ stdenv.mkDerivation rec { optXdg_utils libxmlxx glibmm ]; - patches = [ - ./gcc6.patch - ./glibc226.patch - ]; - postPatch = '' + sed '1iimport sys' -i SConstruct # SConstruct checks cpuinfo and an objdump of /bin/mount to determine the appropriate arch # Let's just skip this and tell it which to build sed '/def is_userspace_32bit(cpuinfo):/a\ diff --git a/pkgs/os-specific/linux/ffado/gcc6.patch b/pkgs/os-specific/linux/ffado/gcc6.patch deleted file mode 100644 index f9cad9c88ab..00000000000 --- a/pkgs/os-specific/linux/ffado/gcc6.patch +++ /dev/null @@ -1,19 +0,0 @@ -Author: Adrian Knoth <adi@drcomp.erfurt.thur.de> -Forwarded: Yes -Applied-Upstream: 2.3.1 -Last-Update: 2016-08-11 -Description: Fix FTBFS with gcc6 - -Index: b/src/ffadotypes.h -=================================================================== ---- a/src/ffadotypes.h -+++ b/src/ffadotypes.h -@@ -51,6 +51,8 @@ struct ffado_handle { - }; - - -+#include <cmath> -+#include <algorithm> - #include <vector> - #include <string> - diff --git a/pkgs/os-specific/linux/ffado/glibc226.patch b/pkgs/os-specific/linux/ffado/glibc226.patch deleted file mode 100644 index e147ee9aa76..00000000000 --- a/pkgs/os-specific/linux/ffado/glibc226.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- libffado/src/libutil/PosixMessageQueue.cpp (revision 2705) -+++ libffado/src/libutil/PosixMessageQueue.cpp (revision 2706) -@@ -30,6 +30,7 @@ - #include <errno.h> - #include <string.h> - #include <poll.h> -+#include <signal.h> - - #define MQ_INVALID_ID ((mqd_t) -1) - // one second diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 216a7c7cb85..f69865cdc4d 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -4,15 +4,10 @@ , utillinux , writeTextFile, ubootTools , callPackage -, overrideCC, gcc7 }: { stdenv, buildPackages, perl, buildLinux -, # Allow really overriding even our gcc7 default. - # We want gcc >= 7.3 to enable the "retpoline" mitigation of security problems. - stdenvNoOverride ? overrideCC stdenv gcc7 - , # The kernel source tarball. src @@ -37,14 +32,12 @@ # optionally be compressed with gzip or bzip2. kernelPatches ? [] , ignoreConfigErrors ? hostPlatform.platform.name != "pc" || - hostPlatform != stdenvNoOverride.buildPlatform + hostPlatform != stdenv.buildPlatform , extraMeta ? {} , hostPlatform , ... } @ args: -let stdenv = stdenvNoOverride; in # finish the rename - assert stdenv.isLinux; let diff --git a/pkgs/os-specific/linux/libsepol/default.nix b/pkgs/os-specific/linux/libsepol/default.nix index 0417bf59cfa..f7f393afb39 100644 --- a/pkgs/os-specific/linux/libsepol/default.nix +++ b/pkgs/os-specific/linux/libsepol/default.nix @@ -18,6 +18,8 @@ stdenv.mkDerivation rec { makeFlagsArray+=("DESTDIR=$out") ''; + NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-fallthrough" ]; + passthru = { inherit se_release se_url; }; meta = with stdenv.lib; { diff --git a/pkgs/os-specific/linux/reptyr/default.nix b/pkgs/os-specific/linux/reptyr/default.nix index 779337e85f8..4b83e478dd1 100644 --- a/pkgs/os-specific/linux/reptyr/default.nix +++ b/pkgs/os-specific/linux/reptyr/default.nix @@ -13,6 +13,9 @@ stdenv.mkDerivation rec { sed 1i'#include <sys/sysmacros.h>' -i platform/linux/linux.c ''; + # Needed with GCC 7 + NIX_CFLAGS_COMPILE = "-Wno-error=format-truncation"; + makeFlags = ["PREFIX=$(out)"]; meta = { platforms = [ "i686-linux" "x86_64-linux" ]; diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 249f788c17a..703800deb2a 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -248,9 +248,9 @@ in gmp = super.gmp.override { stdenv = self.makeStaticLibraries self.stdenv; }; mpfr = super.mpfr.override { stdenv = self.makeStaticLibraries self.stdenv; }; libmpc = super.libmpc.override { stdenv = self.makeStaticLibraries self.stdenv; }; - isl_0_14 = super.isl_0_14.override { stdenv = self.makeStaticLibraries self.stdenv; }; + isl_0_17 = super.isl_0_17.override { stdenv = self.makeStaticLibraries self.stdenv; }; gcc-unwrapped = super.gcc-unwrapped.override { - isl = isl_0_14; + isl = isl_0_17; }; }; extraNativeBuildInputs = [ prevStage.patchelf prevStage.paxctl ] ++ diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index 71347ef8392..8033d47d5db 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -5,7 +5,6 @@ let pkgs = import ../../.. { inherit localSystem crossSystem; }; libc = pkgs.stdenv.cc.libc; - isl = with pkgs; if targetPlatform.isRiscV then isl_0_17 else isl_0_14; in with pkgs; rec { @@ -144,7 +143,7 @@ in with pkgs; rec { # These needed for cross but not native tools because the stdenv # GCC has certain things built in statically. See # pkgs/stdenv/linux/default.nix for the details. - cp -d ${isl.out}/lib/libisl*.so* $out/lib + cp -d ${isl_0_17.out}/lib/libisl*.so* $out/lib '' + '' cp -d ${bzip2.out}/lib/libbz2.so* $out/lib diff --git a/pkgs/tools/misc/less/default.nix b/pkgs/tools/misc/less/default.nix index 2907af43a29..57eeb39f543 100644 --- a/pkgs/tools/misc/less/default.nix +++ b/pkgs/tools/misc/less/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ncurses, lessSecure ? false }: stdenv.mkDerivation rec { - name = "less-529"; + name = "less-530"; src = fetchurl { url = "http://www.greenwoodsoftware.com/less/${name}.tar.gz"; - sha256 = "02wspzv90cki8936m50qxk0vrribvwwqlva21nyvfx41qga2r96v"; + sha256 = "1qpj2z38c53qmvqn8jaa0kq26q989cfbfjj4y0s6z17l1amr2gsh"; }; configureFlags = [ "--sysconfdir=/etc" ] # Look for ‘sysless’ in /etc. diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix index e7a593ff830..1812e95dcbb 100644 --- a/pkgs/tools/networking/dhcp/default.nix +++ b/pkgs/tools/networking/dhcp/default.nix @@ -37,6 +37,8 @@ stdenv.mkDerivation rec { "--localstatedir=/var" ] ++ stdenv.lib.optionals (openldap != null) [ "--with-ldap" "--with-ldapcrypto" ]; + NIX_CFLAGS_COMPILE = [ "-Wno-error=pointer-compare" ]; + installFlags = [ "DESTDIR=\${out}" ]; postInstall = diff --git a/pkgs/tools/networking/ntopng/default.nix b/pkgs/tools/networking/ntopng/default.nix index d1a90d9d1aa..b307a8f6f13 100644 --- a/pkgs/tools/networking/ntopng/default.nix +++ b/pkgs/tools/networking/ntopng/default.nix @@ -53,6 +53,8 @@ stdenv.mkDerivation rec { sed 's|LIBS += -lstdc++.6||' -i Makefile ''; + NIX_CFLAGS_COMPILE = [ "-fpermissive" ]; + meta = with stdenv.lib; { description = "High-speed web-based traffic analysis and flow collection tool"; homepage = http://www.ntop.org/products/ntop/; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b88e3fa6f43..58783a148ec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5790,12 +5790,8 @@ with pkgs; gambit = callPackage ../development/compilers/gambit { }; gerbil = callPackage ../development/compilers/gerbil { }; - # !!! When updating to gcc7 everywhere we can get rid of the - # isRiscV overrides here and in gccCrossStageStatic - gccFun6 = callPackage ../development/compilers/gcc/6; - gccFun7 = callPackage ../development/compilers/gcc/7; - gccFun = if targetPlatform.isRiscV then gccFun7 else gccFun6; - gcc = if targetPlatform.isRiscV then gcc7 else gcc6; + gccFun = callPackage ../development/compilers/gcc/7; + gcc = gcc7; gcc-unwrapped = gcc.cc; gccStdenv = if stdenv.cc.isGNU then stdenv else stdenv.override { @@ -5875,7 +5871,6 @@ with pkgs; bintools = binutils-unwrapped; libc = libcCross1; }; - isl = if targetPlatform.isRiscV then isl_0_17 else isl_0_14; in wrapCCWith { name = "gcc-cross-wrapper"; cc = gccFun { @@ -5883,7 +5878,7 @@ with pkgs; inherit noSysDirs; # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64)); - isl = if !stdenv.isDarwin then isl else null; + isl = if !stdenv.isDarwin then isl_0_17 else null; # just for stage static crossStageStatic = true; @@ -5988,7 +5983,7 @@ with pkgs; isl = isl_0_17; })); - gfortran = gfortran6; + gfortran = gfortran7; gfortran48 = wrapCC (gcc48.cc.override { name = "gfortran"; @@ -6451,6 +6446,8 @@ with pkgs; }; libxml2 = libxml2.override { pythonSupport = false; }; python2 = callPackage ../development/interpreters/python/cpython/2.7/boot.nix { inherit (darwin) CF configd; }; + } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { + stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4' }); manticore = callPackage ../development/compilers/manticore { }; @@ -6567,7 +6564,10 @@ with pkgs; }; # For beta and nightly releases use the nixpkgs-mozilla overlay - rust = callPackage ../development/compilers/rust { }; + rust = callPackage ../development/compilers/rust + (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { + stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4' + }); inherit (rust) cargo rustc; buildRustCrate = callPackage ../build-support/rust/build-rust-crate.nix { }; @@ -7075,12 +7075,7 @@ with pkgs; pyrex096 = callPackage ../development/interpreters/pyrex/0.9.6.nix { }; - racket = callPackage ../development/interpreters/racket { - # racket 6.11 doesn't build with gcc6 + recent glibc: - # https://github.com/racket/racket/pull/1886 - # https://github.com/NixOS/nixpkgs/pull/31017#issuecomment-343574769 - stdenv = overrideCC stdenv gcc7; - }; + racket = callPackage ../development/interpreters/racket { }; rakudo = callPackage ../development/interpreters/rakudo { inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices; @@ -7928,6 +7923,7 @@ with pkgs; rubyBindings = config.radare.rubyBindings or false; luaBindings = config.radare.luaBindings or false; }; + radare2-cutter = libsForQt5.callPackage ../development/tools/analysis/radare2-cutter { }; ragel = ragelStable; @@ -8804,7 +8800,9 @@ with pkgs; glibc32 = pkgsi686Linux.glibc; }; - glm = callPackage ../development/libraries/glm { }; + glm = callPackage ../development/libraries/glm + (lib.optionalAttrs stdenv.cc.isGNU { stdenv = overrideCC stdenv gcc6;/*maybe a hack*/ }); + glm_0954 = callPackage ../development/libraries/glm/0954.nix { }; globalplatform = callPackage ../development/libraries/globalplatform { }; @@ -9145,8 +9143,14 @@ with pkgs; hyena = callPackage ../development/libraries/hyena { }; - icu58 = callPackage ../development/libraries/icu/58.nix { }; - icu59 = callPackage ../development/libraries/icu/59.nix { }; + icu58 = callPackage ../development/libraries/icu/58.nix + (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { + stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4' + }); + icu59 = callPackage ../development/libraries/icu/59.nix + (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { + stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4' + }); icu = icu59; @@ -10412,8 +10416,12 @@ with pkgs; notify-sharp = callPackage ../development/libraries/notify-sharp { }; - ncurses5 = callPackage ../development/libraries/ncurses { abiVersion = "5"; }; - ncurses6 = callPackage ../development/libraries/ncurses { abiVersion = "6"; }; + ncurses5 = callPackage ../development/libraries/ncurses { + abiVersion = "5"; + }; + ncurses6 = callPackage ../development/libraries/ncurses { + abiVersion = "6"; + }; ncurses = ncurses6; neardal = callPackage ../development/libraries/neardal { }; @@ -11496,6 +11504,7 @@ with pkgs; webkitgtk218x = callPackage ../development/libraries/webkitgtk/2.18.nix { harfbuzz = harfbuzz-icu; inherit (gst_all_1) gst-plugins-base gst-plugins-bad; + stdenv = overrideCC stdenv gcc6; }; webkitgtk24x-gtk2 = webkitgtk24x-gtk3.override { @@ -13540,6 +13549,8 @@ with pkgs; rfkill_udev = callPackage ../os-specific/linux/rfkill/udev.nix { }; + riscv-pk = callPackage ../misc/riscv-pk { }; + rtkit = callPackage ../os-specific/linux/rtkit { }; rt5677-firmware = callPackage ../os-specific/linux/firmware/rt5677 { }; @@ -14550,6 +14561,7 @@ with pkgs; blender = callPackage ../applications/misc/blender { cudaSupport = config.cudaSupport or false; python = python35; + stdenv = overrideCC stdenv gcc6; }; bluefish = callPackage ../applications/editors/bluefish { @@ -15957,6 +15969,7 @@ with pkgs; k3d = callPackage ../applications/graphics/k3d { inherit (pkgs.gnome2) gtkglext; + stdenv = overrideCC stdenv gcc6; }; k9copy = libsForQt5.callPackage ../applications/video/k9copy {}; @@ -16668,7 +16681,9 @@ with pkgs; openfx = callPackage ../development/libraries/openfx {}; - openimageio = callPackage ../applications/graphics/openimageio { }; + openimageio = callPackage ../applications/graphics/openimageio { + stdenv = overrideCC stdenv gcc6; + }; openjump = callPackage ../applications/misc/openjump { }; @@ -18340,7 +18355,9 @@ with pkgs; armagetronad = callPackage ../games/armagetronad { }; - arx-libertatis = callPackage ../games/arx-libertatis { }; + arx-libertatis = callPackage ../games/arx-libertatis { + stdenv = overrideCC stdenv gcc6; + }; asc = callPackage ../games/asc { lua = lua5_1; @@ -18692,9 +18709,7 @@ with pkgs; openmw = callPackage ../games/openmw { }; - openmw-tes3mp = libsForQt5.callPackage ../games/openmw/tes3mp.nix { - stdenv = overrideCC stdenv gcc7; - }; + openmw-tes3mp = libsForQt5.callPackage ../games/openmw/tes3mp.nix { }; openra = callPackage ../games/openra { lua = lua5_1; }; |