From a112709b02b93f9690a4a5b422119f1a1dd6d8a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 5 Feb 2015 00:02:26 +0100 Subject: [PATCH 01/52] automake: use 1.14.* as the default I see 1.15 has been released recently, but that's probably too new to be the default. --- .../gnome-3/3.12/core/gnome-contacts/default.nix | 4 ++-- pkgs/desktops/gnome-3/3.12/core/tracker/default.nix | 4 ++-- pkgs/development/tools/misc/fswatch/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 11 +++-------- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/default.nix index 5b4ca5c34182..49bd7ac70f48 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/default.nix @@ -2,7 +2,7 @@ , pkgconfig, gtk3, glib, hicolor_icon_theme, libsecret , bash, makeWrapper, itstool, folks, libnotify, libxml2 , gnome3, librsvg, gdk_pixbuf, file, telepathy_glib, nspr, nss -, libsoup, vala, dbus_glib, automake114x, autoconf }: +, libsoup, vala, dbus_glib, automake, autoconf }: stdenv.mkDerivation rec { name = "gnome-contacts-3.12.0"; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { libxml2 libsoup gnome3.gnome_online_accounts nspr nss gdk_pixbuf gnome3.gnome_icon_theme librsvg hicolor_icon_theme gnome3.gnome_icon_theme_symbolic - vala automake114x autoconf db ]; + vala automake autoconf db ]; preFixup = '' for f in "$out/bin/gnome-contacts" "$out/libexec/gnome-contacts-search-provider"; do diff --git a/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix index 0d5cc4d14279..13ea6bb391cf 100644 --- a/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix @@ -1,6 +1,6 @@ { stdenv, intltool, fetchurl, libxml2, upower , pkgconfig, gtk3, glib, hicolor_icon_theme, gobjectIntrospection -, bash, makeWrapper, itstool, vala, sqlite, automake114x, autoconf +, bash, makeWrapper, itstool, vala, sqlite, automake, autoconf , gnome3, librsvg, gdk_pixbuf, file, libnotify , evolution_data_server, gst_all_1, poppler, libtool , icu, taglib, libjpeg, libtiff, giflib, libcue @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { buildInputs = [ vala pkgconfig gtk3 glib intltool itstool libxml2 bzip2 gnome3.totem-pl-parser gobjectIntrospection - automake114x autoconf libtool + automake autoconf libtool gnome3.gsettings_desktop_schemas makeWrapper file gdk_pixbuf gnome3.gnome_icon_theme librsvg sqlite upower libnotify evolution_data_server gnome3.libgee diff --git a/pkgs/development/tools/misc/fswatch/default.nix b/pkgs/development/tools/misc/fswatch/default.nix index a7e42a07a63e..35468d1351f0 100644 --- a/pkgs/development/tools/misc/fswatch/default.nix +++ b/pkgs/development/tools/misc/fswatch/default.nix @@ -1,7 +1,7 @@ { stdenv , fetchFromGitHub , autoconf -, automake114x +, automake , findutils # for xargs , gettext_0_19 , libtool @@ -24,7 +24,7 @@ in stdenv.mkDerivation { sha256 = "0flq8baqzifhmf61zyiipdipvgy4h0kl551clxrhwa8gvzf75im4"; }; - buildInputs = [ autoconf automake114x gettext_0_19 libtool makeWrapper texinfo ]; + buildInputs = [ autoconf automake gettext_0_19 libtool makeWrapper texinfo ]; preConfigure = '' ./autogen.sh diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3dd8284bbc93..8faa7a548a95 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1294,9 +1294,7 @@ let freeipmi = callPackage ../tools/system/freeipmi {}; - freetalk = callPackage ../applications/networking/instant-messengers/freetalk { - automake = automake114x; - }; + freetalk = callPackage ../applications/networking/instant-messengers/freetalk { }; freetds = callPackage ../development/libraries/freetds { }; @@ -4353,7 +4351,6 @@ let mesos = callPackage ../applications/networking/cluster/mesos { sasl = cyrus_sasl; - automake = automake114x; inherit (pythonPackages) python boto setuptools distutils-cfg wrapPython; pythonProtobuf = pythonPackages.protobuf; }; @@ -4656,7 +4653,7 @@ let autocutsel = callPackage ../tools/X11/autocutsel{ }; - automake = automake112x; + automake = automake114x; automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix { }; @@ -5203,9 +5200,7 @@ let adns = callPackage ../development/libraries/adns { }; - afflib = callPackage ../development/libraries/afflib { - automake = automake114x; - }; + afflib = callPackage ../development/libraries/afflib { }; agg = callPackage ../development/libraries/agg { }; From e8288a7e2e52ee3726388c3a536922f57a3e5624 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 4 Feb 2015 22:06:05 +0100 Subject: [PATCH 02/52] grep: update The 2.21 update fixes NixOS/nix#464. --- pkgs/tools/text/gnugrep/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix index 0380d2d2467b..e0dcd4eadf94 100644 --- a/pkgs/tools/text/gnugrep/default.nix +++ b/pkgs/tools/text/gnugrep/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, pcre, libiconv }: -let version = "2.20"; in +let version = "2.21"; in stdenv.mkDerivation { name = "gnugrep-${version}"; src = fetchurl { url = "mirror://gnu/grep/grep-${version}.tar.xz"; - sha256 = "0rcs0spsxdmh6yz8y4frkqp6f5iw19mdbdl9s2v6956hq0mlbbzh"; + sha256 = "1pp5n15qwxrw1pibwjhhgsibyv5cafhamf8lwzjygs6y00fa2i2j"; }; buildInputs = [ pcre libiconv ]; From ff1a5a25282c11ea6debfb0ac03ce81632b43c0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 4 Feb 2015 23:39:27 +0100 Subject: [PATCH 03/52] libtool: update I see nothing dangerous in NEWS. Also refactored the expression. --- .../tools/misc/libtool/libtool2.nix | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix index d0cc086a9a6a..443915d71e90 100644 --- a/pkgs/development/tools/misc/libtool/libtool2.nix +++ b/pkgs/development/tools/misc/libtool/libtool2.nix @@ -1,14 +1,15 @@ -{ stdenv, fetchurl, m4, perl, lzma }: +{ stdenv, fetchurl, m4, perl, help2man }: -stdenv.mkDerivation (rec { - name = "libtool-2.4.2"; +stdenv.mkDerivation rec { + name = "libtool-2.4.5"; src = fetchurl { url = "mirror://gnu/libtool/${name}.tar.gz"; - sha256 = "0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk"; + sha256 = "11v9gl8ancavx7179n6zk4k8hwa0zl4wz4w9z3mffk71gnfb972h"; }; - nativeBuildInputs = [ lzma m4 perl ]; + propagatedNativeBuildInputs = [ m4 ]; + nativeBuildInputs = [ perl help2man ]; # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the # "fixed" path in generated files! @@ -18,6 +19,10 @@ stdenv.mkDerivation (rec { # leads to the failure of a number of tests. doCheck = false; + # Don't run the native `strip' when cross-compiling. This breaks at least + # with `.a' files for MinGW. + dontStrip = stdenv ? cross; + meta = { description = "GNU Libtool, a generic library support script"; @@ -39,10 +44,3 @@ stdenv.mkDerivation (rec { }; } -// - -# Don't run the native `strip' when cross-compiling. This breaks at least -# with `.a' files for MinGW. -(if (stdenv ? cross) - then { dontStrip = true; } - else { })) From 2fd5f06acee84d44cc6966e794e621eeae8c0b46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 5 Feb 2015 10:58:35 +0100 Subject: [PATCH 04/52] recode: fix build, needing texinfo now Also make the build inputs native (no references are retained). --- pkgs/tools/text/recode/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/text/recode/default.nix b/pkgs/tools/text/recode/default.nix index 21b35682e4e8..bf95125b208a 100644 --- a/pkgs/tools/text/recode/default.nix +++ b/pkgs/tools/text/recode/default.nix @@ -1,6 +1,6 @@ # XXX: this may need -liconv on non-glibc systems.. -{ stdenv, fetchFromGitHub, python, perl, autoconf, automake, libtool, intltool, flex }: +{ stdenv, fetchFromGitHub, python, perl, autoconf, automake, libtool, intltool, flex, texinfo }: stdenv.mkDerivation rec { name = "recode-3.7-2fd838565"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "06vyjqaraamcc5vka66mlvxj27ihccqc74aymv2wn8nphr2rhh03"; }; - buildInputs = [ python perl autoconf automake libtool intltool flex ]; + nativeBuildInputs = [ python perl autoconf automake libtool intltool flex texinfo ]; preConfigure = '' # fix build with new automake, https://bugs.gentoo.org/show_bug.cgi?id=419455 From a00f77155173f28edd05b8531f0afa3a1e5d9a84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 14 Feb 2015 15:03:34 +0100 Subject: [PATCH 05/52] gnugrep: fix CVE-2015-1345 by upstream patch --- pkgs/tools/text/gnugrep/cve-2015-1345.patch | 60 +++++++++++++++++++++ pkgs/tools/text/gnugrep/default.nix | 2 + 2 files changed, 62 insertions(+) create mode 100644 pkgs/tools/text/gnugrep/cve-2015-1345.patch diff --git a/pkgs/tools/text/gnugrep/cve-2015-1345.patch b/pkgs/tools/text/gnugrep/cve-2015-1345.patch new file mode 100644 index 000000000000..7156f475e7e8 --- /dev/null +++ b/pkgs/tools/text/gnugrep/cve-2015-1345.patch @@ -0,0 +1,60 @@ +From 83a95bd8c8561875b948cadd417c653dbe7ef2e2 Mon Sep 17 00:00:00 2001 +From: Yuliy Pisetsky +Date: Thu, 01 Jan 2015 23:36:55 +0000 +Subject: grep -F: fix a heap buffer (read) overrun + +grep's read buffer is often filled to its full size, except when +reading the final buffer of a file. In that case, the number of +bytes read may be far less than the size of the buffer. However, for +certain unusual pattern/text combinations, grep -F would mistakenly +examine bytes in that uninitialized region of memory when searching +for a match. With carefully chosen inputs, one can cause grep -F to +read beyond the end of that buffer altogether. This problem arose via +commit v2.18-90-g73893ff with the introduction of a more efficient +heuristic using what is now the memchr_kwset function. The use of +that function in bmexec_trans could leave TP much larger than EP, +and the subsequent call to bm_delta2_search would mistakenly access +beyond end of the main input read buffer. + +* src/kwset.c (bmexec_trans): When TP reaches or exceeds EP, +do not call bm_delta2_search. +* tests/kwset-abuse: New file. +* tests/Makefile.am (TESTS): Add it. +* THANKS.in: Update. +* NEWS (Bug fixes): Mention it. + +Prior to this patch, this command would trigger a UMR: + + printf %0360db 0 | valgrind src/grep -F $(printf %019dXb 0) + + Use of uninitialised value of size 8 + at 0x4142BE: bmexec_trans (kwset.c:657) + by 0x4143CA: bmexec (kwset.c:678) + by 0x414973: kwsexec (kwset.c:848) + by 0x414DC4: Fexecute (kwsearch.c:128) + by 0x404E2E: grepbuf (grep.c:1238) + by 0x4054BF: grep (grep.c:1417) + by 0x405CEB: grepdesc (grep.c:1645) + by 0x405EC1: grep_command_line_arg (grep.c:1692) + by 0x4077D4: main (grep.c:2570) + +See the accompanying test for how to trigger the heap buffer overrun. + +Thanks to Nima Aghdaii for testing and finding numerous +ways to break early iterations of this patch. + +Nix: @vcunat restricted this to the runtime code only to avoid needing autoreconfiguration. +--- +diff --git a/src/kwset.c b/src/kwset.c +index 4003c8d..376f7c3 100644 +--- a/src/kwset.c ++++ b/src/kwset.c +@@ -643,6 +643,8 @@ bmexec_trans (kwset_t kwset, char const *text, size_t size) + if (! tp) + return -1; + tp++; ++ if (ep <= tp) ++ break; + } + } + } diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix index e0dcd4eadf94..e73458d0abae 100644 --- a/pkgs/tools/text/gnugrep/default.nix +++ b/pkgs/tools/text/gnugrep/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation { sha256 = "1pp5n15qwxrw1pibwjhhgsibyv5cafhamf8lwzjygs6y00fa2i2j"; }; + patches = [ ./cve-2015-1345.patch ]; + buildInputs = [ pcre libiconv ]; doCheck = !stdenv.isDarwin; From 3d9e9f65715e30edc63c5395193c4bd18cc4e4d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 20 Feb 2015 11:49:17 +0100 Subject: [PATCH 06/52] glibc: fix -lgcc_s linking https://github.com/NixOS/nixpkgs/commit/65221567c12eb20d12#commitcomment-9515597 --- pkgs/development/libraries/glibc/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix index b0a284064731..f60df4a30d67 100644 --- a/pkgs/development/libraries/glibc/default.nix +++ b/pkgs/development/libraries/glibc/default.nix @@ -36,6 +36,7 @@ in if [ -f ${stdenv.cc.cc}/lib/libgcc_s.so.1 ]; then mkdir -p $out/lib cp ${stdenv.cc.cc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1 + ln -s libgcc_s.so.1 $out/lib/libgcc_s.so fi ''; From fe76b8e60803b8a82f1c760311b304be9139d4f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 20 Feb 2015 15:57:04 +0100 Subject: [PATCH 07/52] libdrm: update --- pkgs/development/libraries/libdrm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index 12e25b03a7b0..ecc92fce40c9 100644 --- a/pkgs/development/libraries/libdrm/default.nix +++ b/pkgs/development/libraries/libdrm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev }: stdenv.mkDerivation rec { - name = "libdrm-2.4.58"; + name = "libdrm-2.4.59"; src = fetchurl { url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2"; - sha256 = "b155fae6b9c9a3b02ef8b77f58c7c219194c996a4018dc55ba66c03996a365dd"; + sha256 = "68d26e1fd85582f4243d66864f9b43ca4ee93662825de32b5506fc8e181ea41b"; }; nativeBuildInputs = [ pkgconfig ]; From bb587dd5cc86b08433b3901ef38009b73a91f360 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 20 Feb 2015 16:19:32 +0100 Subject: [PATCH 08/52] dbus: security bump to fix CVE-2015-0245 --- pkgs/development/libraries/dbus/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index f6c42f2136cb..8fc75721c23a 100644 --- a/pkgs/development/libraries/dbus/default.nix +++ b/pkgs/development/libraries/dbus/default.nix @@ -3,8 +3,8 @@ , libX11, libICE, libSM, useX11 ? (stdenv.isLinux || stdenv.isDarwin) }: let - version = "1.8.14"; - sha256 = "06hzrvlpm91c4a4a19bk5pzxvs00fwd7fjd3njd3pjd4lr854hl3"; + version = "1.8.16"; + sha256 = "01rba8mp8kqvmy6ibdmi806kjr3m14swnskqk02gyhykxxl54ybz"; inherit (stdenv) lib; From bb2be45e086f53cede9164855b4d9c0ebd5de35c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 20 Feb 2015 16:22:13 +0100 Subject: [PATCH 09/52] xorg: update various modules --- pkgs/servers/x11/xorg/default.nix | 46 ++++++++++++------------- pkgs/servers/x11/xorg/tarballs-7.7.list | 14 ++++---- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index da537c5c453a..2ffa65debb94 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -25,11 +25,11 @@ let }) // {inherit ;}; bdftopcf = (mkDerivation "bdftopcf" { - name = "bdftopcf-1.0.4"; + name = "bdftopcf-1.0.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/bdftopcf-1.0.4.tar.bz2; - sha256 = "1617zmgnx50n7vxlqyj84fl7vnk813jjqmi6jpigyz1xp9br1xga"; + url = mirror://xorg/individual/app/bdftopcf-1.0.5.tar.bz2; + sha256 = "09i03sk878cmx2i40lkpsysn7zqcvlczb30j7x3lryb11jz4gx1q"; }; buildInputs = [pkgconfig libXfont ]; }) // {inherit libXfont ;}; @@ -515,11 +515,11 @@ let }) // {inherit ;}; iceauth = (mkDerivation "iceauth" { - name = "iceauth-1.0.6"; + name = "iceauth-1.0.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/iceauth-1.0.6.tar.bz2; - sha256 = "1x72y99dxf2fxnlyf0yrf9yzd8xzimxshy6l8mprwhrv6lvhi6dx"; + url = mirror://xorg/individual/app/iceauth-1.0.7.tar.bz2; + sha256 = "02izdyzhwpgiyjd8brzilwvwnfr72ncjb6mzz3y1icwrxqnsy5hj"; }; buildInputs = [pkgconfig libICE xproto ]; }) // {inherit libICE xproto ;}; @@ -895,11 +895,11 @@ let }) // {inherit xproto zlib ;}; libpciaccess = (mkDerivation "libpciaccess" { - name = "libpciaccess-0.13.2"; + name = "libpciaccess-0.13.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/lib/libpciaccess-0.13.2.tar.bz2; - sha256 = "06fy43n3c450h7xqpn3094bnfn7ca1mrq3i856y8kyqa0lmqraxb"; + url = mirror://xorg/individual/lib/libpciaccess-0.13.3.tar.bz2; + sha256 = "1qy2i776jb7912dxqylv59p41sa0hw8lmn7asd3ywvp0wk56rmvc"; }; buildInputs = [pkgconfig zlib ]; }) // {inherit zlib ;}; @@ -935,11 +935,11 @@ let }) // {inherit kbproto libX11 ;}; libxshmfence = (mkDerivation "libxshmfence" { - name = "libxshmfence-1.1"; + name = "libxshmfence-1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/lib/libxshmfence-1.1.tar.bz2; - sha256 = "1gnfb1z8sbbdc3xpz1zmm94lv7yvfh4kvip9s5pj37ya4llxphnv"; + url = mirror://xorg/individual/lib/libxshmfence-1.2.tar.bz2; + sha256 = "032b0nlkdrpbimdld4gqvhqx53rzn8fawvf1ybhzn7lcswgjs6yj"; }; buildInputs = [pkgconfig xproto ]; }) // {inherit xproto ;}; @@ -985,11 +985,11 @@ let }) // {inherit ;}; mkfontscale = (mkDerivation "mkfontscale" { - name = "mkfontscale-1.1.1"; + name = "mkfontscale-1.1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/mkfontscale-1.1.1.tar.bz2; - sha256 = "0cdpn1ii2iw1vg2ga4w62acrh78gzgf0vza4g8wx5kkp4jcifh14"; + url = mirror://xorg/individual/app/mkfontscale-1.1.2.tar.bz2; + sha256 = "081z8lwh9c1gyrx3ad12whnpv3jpfbqsc366mswpfm48mwl54vcc"; }; buildInputs = [pkgconfig libfontenc freetype xproto zlib ]; }) // {inherit libfontenc freetype xproto zlib ;}; @@ -1065,11 +1065,11 @@ let }) // {inherit ;}; sessreg = (mkDerivation "sessreg" { - name = "sessreg-1.0.8"; + name = "sessreg-1.1.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/sessreg-1.0.8.tar.bz2; - sha256 = "1hy4wvgawajf4qw2k51fkcjzxw0drx60ydzpmqhj7k1g4z3cqahf"; + url = mirror://xorg/individual/app/sessreg-1.1.0.tar.bz2; + sha256 = "0z013rskwmdadd8cdlxvh4asmgim61qijyzfbqmr1q1mg1jpf4am"; }; buildInputs = [pkgconfig xproto ]; }) // {inherit xproto ;}; @@ -1561,8 +1561,8 @@ let url = mirror://xorg/individual/driver/xf86-video-intel-2.99.917.tar.bz2; sha256 = "1jb7jspmzidfixbc0gghyjmnmpqv85i7pi13l4h2hn2ml3p83dq0"; }; - buildInputs = [pkgconfig dri2proto dri3proto fontsproto glamoregl libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ]; - }) // {inherit dri2proto dri3proto fontsproto glamoregl libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ;}; + buildInputs = [pkgconfig dri2proto dri3proto fontsproto libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ]; + }) // {inherit dri2proto dri3proto fontsproto libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ;}; xf86videomach64 = (mkDerivation "xf86videomach64" { name = "xf86-video-mach64-6.9.4"; @@ -2025,11 +2025,11 @@ let }) // {inherit libX11 xproto ;}; xproto = (mkDerivation "xproto" { - name = "xproto-7.0.26"; + name = "xproto-7.0.27"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/proto/xproto-7.0.26.tar.bz2; - sha256 = "0ksi8vhfd916bx2f3xlyhn6azf6cvvzrsdja26haa1cqfp0n4qb3"; + url = mirror://xorg/individual/proto/xproto-7.0.27.tar.bz2; + sha256 = "030ix881p0crnd4bc01nz6cs0afmfv6ivsyyhf0h1j1mnak26vr4"; }; buildInputs = [pkgconfig ]; }) // {inherit ;}; diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index bb1c5b9291fd..0ca8d6b5fc79 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -1,5 +1,5 @@ mirror://xorg/X11R7.7/src/everything/applewmproto-1.4.2.tar.bz2 -mirror://xorg/individual/app/bdftopcf-1.0.4.tar.bz2 +mirror://xorg/individual/app/bdftopcf-1.0.5.tar.bz2 mirror://xorg/X11R7.7/src/everything/bigreqsproto-1.1.2.tar.bz2 mirror://xorg/X11R7.7/src/everything/compositeproto-0.4.2.tar.bz2 mirror://xorg/X11R7.7/src/everything/damageproto-1.2.1.tar.bz2 @@ -47,16 +47,16 @@ mirror://xorg/X11R7.7/src/everything/font-util-1.3.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2 mirror://xorg/X11R7.7/src/everything/font-xfree86-type1-1.0.4.tar.bz2 mirror://xorg/individual/proto/glproto-1.4.17.tar.bz2 -mirror://xorg/individual/app/iceauth-1.0.6.tar.bz2 +mirror://xorg/individual/app/iceauth-1.0.7.tar.bz2 mirror://xorg/individual/proto/inputproto-2.3.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/kbproto-1.0.6.tar.bz2 mirror://xorg/X11R7.7/src/everything/libAppleWM-1.4.1.tar.bz2 mirror://xorg/individual/lib/libdmx-1.1.3.tar.bz2 -mirror://xorg/individual/lib/libxshmfence-1.1.tar.bz2 +mirror://xorg/individual/lib/libxshmfence-1.2.tar.bz2 mirror://xorg/individual/lib/libfontenc-1.1.2.tar.bz2 mirror://xorg/individual/lib/libFS-1.0.6.tar.bz2 mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2 -mirror://xorg/individual/lib/libpciaccess-0.13.2.tar.bz2 +mirror://xorg/individual/lib/libpciaccess-0.13.3.tar.bz2 mirror://xorg/individual/lib/libSM-1.2.2.tar.bz2 mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2 mirror://xorg/individual/lib/libX11-1.6.2.tar.bz2 @@ -88,13 +88,13 @@ mirror://xorg/individual/lib/libXxf86vm-1.1.3.tar.bz2 mirror://xorg/X11R7.7/src/everything/luit-1.1.1.tar.bz2 mirror://xorg/individual/util/makedepend-1.0.5.tar.bz2 mirror://xorg/X11R7.7/src/everything/mkfontdir-1.0.7.tar.bz2 -mirror://xorg/individual/app/mkfontscale-1.1.1.tar.bz2 +mirror://xorg/individual/app/mkfontscale-1.1.2.tar.bz2 mirror://xorg/individual/proto/randrproto-1.4.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/recordproto-1.14.2.tar.bz2 mirror://xorg/X11R7.7/src/everything/renderproto-0.11.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/resourceproto-1.2.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/scrnsaverproto-1.2.2.tar.bz2 -mirror://xorg/individual/app/sessreg-1.0.8.tar.bz2 +mirror://xorg/individual/app/sessreg-1.1.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/setxkbmap-1.3.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/smproxy-1.0.5.tar.bz2 mirror://xorg/individual/util/util-macros-1.19.0.tar.bz2 @@ -175,7 +175,7 @@ mirror://xorg/individual/xserver/xorg-server-1.16.4.tar.bz2 mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2 mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2 mirror://xorg/individual/app/xprop-1.2.2.tar.bz2 -mirror://xorg/individual/proto/xproto-7.0.26.tar.bz2 +mirror://xorg/individual/proto/xproto-7.0.27.tar.bz2 mirror://xorg/individual/app/xrandr-1.4.3.tar.bz2 mirror://xorg/individual/app/xrdb-1.1.0.tar.bz2 mirror://xorg/individual/app/xrefresh-1.0.5.tar.bz2 From 99a740aa2178bb5ca4a96d4c2c70ee20b139d3ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 20 Feb 2015 16:22:44 +0100 Subject: [PATCH 10/52] xf86-video-vmware: update --- pkgs/servers/x11/xorg/default.nix | 6 +++--- pkgs/servers/x11/xorg/tarballs-7.7.list | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 2ffa65debb94..55bc13f22733 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1765,11 +1765,11 @@ let }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;}; xf86videovmware = (mkDerivation "xf86videovmware" { - name = "xf86-video-vmware-13.0.2"; + name = "xf86-video-vmware-13.1.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-vmware-13.0.2.tar.bz2; - sha256 = "0m1wfsv34s4pyr5ry87yyjb2p6vmy6vyypdz5jx0sqnkx8n3vfn8"; + url = mirror://xorg/individual/driver/xf86-video-vmware-13.1.0.tar.bz2; + sha256 = "1k50whwnkzxam2ihc1sw456dx0pvr76naycm4qhyjxqv9d72879w"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ]; }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;}; diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index 0ca8d6b5fc79..e199672942de 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -154,7 +154,7 @@ mirror://xorg/individual/driver/xf86-video-tga-1.2.2.tar.bz2 mirror://xorg/individual/driver/xf86-video-trident-1.3.6.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-0.2.0.tar.bz2 mirror://xorg/individual/driver/xf86-video-vesa-2.3.3.tar.bz2 -mirror://xorg/individual/driver/xf86-video-vmware-13.0.2.tar.bz2 +mirror://xorg/individual/driver/xf86-video-vmware-13.1.0.tar.bz2 mirror://xorg/individual/driver/xf86-video-voodoo-1.2.5.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-0.4.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86vidmodeproto-2.3.1.tar.bz2 From c0def4a169755c17db2203bae3c8d46f08cb6d99 Mon Sep 17 00:00:00 2001 From: Eduard Bachmakov Date: Fri, 20 Feb 2015 16:29:52 +0100 Subject: [PATCH 11/52] llvm-3.5: enable RTTI to support mesa Extracted from #6367. --- pkgs/development/compilers/llvm/3.5/llvm.nix | 1 + pkgs/top-level/all-packages.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/pkgs/development/compilers/llvm/3.5/llvm.nix b/pkgs/development/compilers/llvm/3.5/llvm.nix index bacd0b26643e..7e11caa66f0f 100644 --- a/pkgs/development/compilers/llvm/3.5/llvm.nix +++ b/pkgs/development/compilers/llvm/3.5/llvm.nix @@ -41,6 +41,7 @@ in stdenv.mkDerivation rec { "-DCMAKE_BUILD_TYPE=Release" "-DLLVM_BUILD_TESTS=ON" "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_REQUIRES_RTTI=1" ] ++ stdenv.lib.optionals (!isDarwin) [ "-DBUILD_SHARED_LIBS=ON" "-DLLVM_BINUTILS_INCDIR=${binutils}/include" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8faa7a548a95..25b34d791608 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3714,6 +3714,7 @@ let llvm = llvmPackages.llvm; + llvm_35 = llvmPackages_35.llvm; llvm_34 = llvmPackages_34.llvm; llvm_33 = llvm_v ../development/compilers/llvm/3.3/llvm.nix; From 0e9a0c9913a810af38cc644d4847b4b6bf3e5198 Mon Sep 17 00:00:00 2001 From: Eduard Bachmakov Date: Sun, 22 Feb 2015 19:11:38 +0100 Subject: [PATCH 12/52] mesa: big update, and related improvements (close #6367) * Remove upstreamed patch * EGL driver dirs are no longer a thing, see mesa commit 407450eb84f5a1b466a2eff19b85cdee7ac15dfb Patching runtime search dir in sources instead (by vcunat). * static-gallium patch dropped as it causes visibility issues with nouveau * rtti patch dropped as it the relevant configuration has been removed upstream; properly fixed by an LLVM flag now * Checks disabled. This is known and solved upstream. Checks will be re-enabled in a future commit when updating to a version containing the fixes * Use llvm-3.5 now (by vcunat). --- pkgs/development/libraries/mesa/default.nix | 32 +++------ pkgs/development/libraries/mesa/rtti.patch | 72 ------------------- .../libraries/mesa/static-gallium.patch | 64 ----------------- pkgs/top-level/all-packages.nix | 2 +- 4 files changed, 11 insertions(+), 159 deletions(-) delete mode 100644 pkgs/development/libraries/mesa/rtti.patch delete mode 100644 pkgs/development/libraries/mesa/static-gallium.patch diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index d562b2364d4b..875dabc37342 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -15,16 +15,15 @@ else - The basic mesa ($out) contains headers and libraries (GLU is in mesa_glu now). This or the mesa attribute (which also contains GLU) are small (~ 2 MB, mostly headers) and are designed to be the buildInput of other packages. - - DRI and EGL drivers are compiled into $drivers output, - which is much bigger and depends on LLVM. - These should be searched at runtime in "/run/opengl-driver{,-32}/lib/*" - and so are kind-of impure (given by NixOS). + - DRI drivers are compiled into $drivers output, which is much bigger and + depends on LLVM. These should be searched at runtime in + "/run/opengl-driver{,-32}/lib/*" and so are kind-of impure (given by NixOS). (I suppose on non-NixOS one would create the appropriate symlinks from there.) - libOSMesa is in $osmesa (~4 MB) */ let - version = "10.2.9"; + version = "10.4.5"; # this is the default search path for DRI drivers driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32"; in @@ -38,46 +37,35 @@ stdenv.mkDerivation { "https://launchpad.net/mesa/trunk/${version}/+download/MesaLib-${version}.tar.bz2" "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2" ]; - sha256 = "f6031f8b7113a92325b60635c504c510490eebb2e707119bbff7bd86aa34657d"; + sha256 = "bf60000700a9d58e3aca2bfeee7e781053b0d839e61a95b1883e05a2dee247a0"; }; prePatch = "patchShebangs ."; patches = [ - ./static-gallium.patch ./glx_ro_text_segm.patch # fix for grsecurity/PaX # TODO: revive ./dricore-gallium.patch when it gets ported (from Ubuntu), # as it saved ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog - (fetchpatch { - name = "fix-lp_test_arit.diff"; - url = "http://cgit.freedesktop.org/mesa/mesa/patch/" - + "?id=8148a06b8fdb734f7f9a11ce787ee6505939fdaa"; - sha256 = "0k2bnl7d28nx2y88jchw6jj4f3xfdjjvz4vpvhc40060c2iz8fla"; - }) ] ++ optional stdenv.isLinux (substituteAll { src = ./dlopen-absolute-paths.diff; inherit udev; }); - # Change the search path for EGL drivers from $drivers/* to driverLink postPatch = '' - sed '/D_EGL_DRIVER_SEARCH_DIR=/s,EGL_DRIVER_INSTALL_DIR,${driverLink}/lib/egl,' \ - -i src/egl/main/Makefile.am - '' + /* work around RTTI LLVM problems */ '' - patch -R -p1 < ${./rtti.patch} + substituteInPlace src/egl/main/egldriver.c \ + --replace _EGL_DRIVER_SEARCH_DIR '"${driverLink}"' ''; outputs = ["out" "drivers" "osmesa"]; configureFlags = [ "--with-dri-driverdir=$(drivers)/lib/dri" - "--with-egl-driver-dir=$(drivers)/lib/egl" "--with-dri-searchpath=${driverLink}/lib/dri" "--enable-dri" "--enable-glx-tls" - "--enable-shared-glapi" "--enable-shared-gallium" + "--enable-shared-glapi" "--enable-driglx-direct" # seems enabled anyway "--enable-gallium-llvm" "--enable-llvm-shared-libs" "--enable-xa" # used in vmware driver @@ -112,7 +100,7 @@ stdenv.mkDerivation { ; enableParallelBuilding = true; - doCheck = true; + doCheck = false; # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM; # also move libOSMesa to $osmesa, as it's relatively big @@ -178,6 +166,6 @@ stdenv.mkDerivation { homepage = http://www.mesa3d.org/; license = "bsd"; platforms = stdenv.lib.platforms.mesaPlatforms; - maintainers = with stdenv.lib.maintainers; [ simons vcunat ]; + maintainers = with stdenv.lib.maintainers; [ eduarrrd simons vcunat ]; }; } diff --git a/pkgs/development/libraries/mesa/rtti.patch b/pkgs/development/libraries/mesa/rtti.patch deleted file mode 100644 index 6b123139013d..000000000000 --- a/pkgs/development/libraries/mesa/rtti.patch +++ /dev/null @@ -1,72 +0,0 @@ -http://lists.freedesktop.org/archives/mesa-dev/2013-October/046311.html - -* As discussed on the mailing list, - forced no-rtti breaks C++ public - API's such as the Haiku C++ libGL.so -* -fno-rtti *can* be still set however - instead of blindly forcing -fno-rtti, - we can rely on the llvm-config - --cppflags output. - If the system llvm is built without - rtti (default), the no-rtti flag will be - present in llvm-config --cppflags - (which we pick up on) - If llvm is built with rtti - (REQUIRES_RTTI=1), then -fno-rtti is - removed from llvm-config --cppflags. -* We could selectively add / remove rtti - from various components, however mixing - rtti and non-rtti code is tricky and - could introduce bugs. -* This needs impact tested. ---- - configure.ac | 1 - - scons/llvm.py | 3 --- - src/gallium/auxiliary/Makefile.am | 6 ------ - 3 files changed, 10 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 0d082d2..3335575 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1943,7 +1943,6 @@ AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes) - AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes) - AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes) - AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1) --AM_CONDITIONAL(LLVM_NEEDS_FNORTTI, test $LLVM_VERSION_INT -ge 302) - - AC_SUBST([ELF_LIB]) - -diff --git a/scons/llvm.py b/scons/llvm.py -index 7cd609c..c1c3736 100644 ---- a/scons/llvm.py -+++ b/scons/llvm.py -@@ -195,9 +195,6 @@ def generate(env): - if llvm_version >= distutils.version.LooseVersion('3.1'): - components.append('mcjit') - -- if llvm_version >= distutils.version.LooseVersion('3.2'): -- env.Append(CXXFLAGS = ('-fno-rtti',)) -- - env.ParseConfig('llvm-config --libs ' + ' '.join(components)) - env.ParseConfig('llvm-config --ldflags') - except OSError: -diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am -index 670e124..2d2d8d4 100644 ---- a/src/gallium/auxiliary/Makefile.am -+++ b/src/gallium/auxiliary/Makefile.am -@@ -25,12 +25,6 @@ AM_CXXFLAGS += \ - $(GALLIUM_CFLAGS) \ - $(LLVM_CXXFLAGS) - --if LLVM_NEEDS_FNORTTI -- --AM_CXXFLAGS += -fno-rtti -- --endif -- - libgallium_la_SOURCES += \ - $(GALLIVM_SOURCES) \ - $(GALLIVM_CPP_SOURCES) --- -1.8.4 diff --git a/pkgs/development/libraries/mesa/static-gallium.patch b/pkgs/development/libraries/mesa/static-gallium.patch deleted file mode 100644 index bb3f60eaf88a..000000000000 --- a/pkgs/development/libraries/mesa/static-gallium.patch +++ /dev/null @@ -1,64 +0,0 @@ -117-static-gallium.patch from Ubuntu Trusty - -diff --git a/configure.ac b/configure.ac -index b9fcb0b..be89843 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -747,6 +747,19 @@ if test "x$enable_shared_glapi" = xyes; then - fi - AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes) - -+AC_ARG_ENABLE([shared-gallium], -+ [AS_HELP_STRING([--enable-shared-gallium], -+ [Enable shared gallium core @<:@default=yes@:>@])], -+ [enable_shared_gallium="$enableval"], -+ [enable_shared_gallium=yes]) -+ -+SHARED_GALLIUM="0" -+if test "x$enable_shared_gallium" = xyes; then -+ SHARED_GALLIUM="1" -+fi -+AC_SUBST([SHARED_GALLIUM]) -+AM_CONDITIONAL(HAVE_SHARED_GALLIUM, test $SHARED_GALLIUM = 1) -+ - dnl - dnl Driver specific build directories - dnl -diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am -index f14279b..3cdec83 100644 ---- a/src/gallium/auxiliary/Makefile.am -+++ b/src/gallium/auxiliary/Makefile.am -@@ -3,14 +3,19 @@ AUTOMAKE_OPTIONS = subdir-objects - include Makefile.sources - include $(top_srcdir)/src/gallium/Automake.inc - --noinst_LTLIBRARIES = libgallium.la -- - AM_CFLAGS = \ - -I$(top_srcdir)/src/gallium/auxiliary/util \ -- $(GALLIUM_CFLAGS) \ -- $(VISIBILITY_CFLAGS) -+ $(GALLIUM_CFLAGS) - --AM_CXXFLAGS = $(VISIBILITY_CXXFLAGS) -+AM_CXXFLAGS = -+ -+if HAVE_SHARED_GALLIUM -+lib_LTLIBRARIES = libgallium.la -+else -+noinst_LTLIBRARIES = libgallium.la -+AM_CFLAGS += $(VISIBILITY_CFLAGS) -+AM_CXXFLAGS += $(VISIBILITY_CXXFLAGS) -+endif - - libgallium_la_SOURCES = \ - $(C_SOURCES) \ -@@ -29,6 +34,8 @@ if LLVM_NEEDS_FNORTTI - - AM_CXXFLAGS += -fno-rtti - -+libgallium_la_LIBADD = $(LLVM_LIBS) -+ - endif - - libgallium_la_SOURCES += \ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 25b34d791608..8bff0cc14972 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6744,7 +6744,7 @@ let # makes it slower, but during runtime we link against just mesa_drivers # through /run/opengl-driver*, which is overriden according to config.grsecurity grsecEnabled = true; - llvm = llvm_34; + llvm = llvm_35; }); mesa_glu = mesaDarwinOr (callPackage ../development/libraries/mesa-glu { }); mesa_drivers = mesaDarwinOr ( From b8bf8e502c21f24d7a52fe83171d65d8272f4fd5 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 22 Feb 2015 21:55:27 +0100 Subject: [PATCH 13/52] ghc: re-instate code that configures statically linked builds by default The compiler should not expect to have dynamic versions of all libraries available, because that configuration doesn't play along nicely with statically linked libraries. Fixes https://github.com/NixOS/nixpkgs/issues/6399. --- pkgs/development/compilers/ghc/7.8.4.nix | 1 + pkgs/development/compilers/ghc/head.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/pkgs/development/compilers/ghc/7.8.4.nix b/pkgs/development/compilers/ghc/7.8.4.nix index e9e1e1eafd03..c4000fc86c25 100644 --- a/pkgs/development/compilers/ghc/7.8.4.nix +++ b/pkgs/development/compilers/ghc/7.8.4.nix @@ -18,6 +18,7 @@ stdenv.mkDerivation rec { libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" + DYNAMIC_BY_DEFAULT = NO ${stdenv.lib.optionalString stdenv.isDarwin '' libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include" libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib" diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index 0363855977f7..4cde21dbcc2a 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -7,6 +7,7 @@ let libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" + DYNAMIC_BY_DEFAULT = NO ${stdenv.lib.optionalString stdenv.isDarwin '' libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include" libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib" From d3dd218bc2d6bfea1c9365f49b0e78802a249b8a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 23 Feb 2015 11:45:49 +0100 Subject: [PATCH 14/52] haskell-generic-builder: consistently use $TMPDIR to refer to the designated place for temporary files Resolves https://github.com/NixOS/nixpkgs/issues/6525. --- pkgs/development/haskell-modules/generic-builder.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 8e730fd37f03..03535f90b795 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -129,7 +129,7 @@ stdenv.mkDerivation ({ export PATH="${ghc}/bin:$PATH" ${optionalString (hasActiveLibrary && hyperlinkSource) "export PATH=${hscolour}/bin:$PATH"} - packageConfDir="$TMP/package.conf.d" + packageConfDir="$TMPDIR/package.conf.d" mkdir -p $packageConfDir setupCompileFlags="${concatStringsSep " " setupCompileFlags}" From 7b531e28454412a68b68f821b3dd394e5ec4f141 Mon Sep 17 00:00:00 2001 From: mancha Date: Mon, 23 Feb 2015 23:13:00 +0000 Subject: [PATCH 15/52] unzip: fix CVE-2014-9636 patch Close #6544, fixes #6543. vcunat: no security impact; just fixes false rejections of some rarer inputs - a problem introduced by the CVE patch. --- pkgs/tools/archivers/unzip/CVE-2014-9636.diff | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/archivers/unzip/CVE-2014-9636.diff b/pkgs/tools/archivers/unzip/CVE-2014-9636.diff index aeaf3e70de6e..d4c7f752975e 100644 --- a/pkgs/tools/archivers/unzip/CVE-2014-9636.diff +++ b/pkgs/tools/archivers/unzip/CVE-2014-9636.diff @@ -1,6 +1,6 @@ -From a9bfab5b52d08879bbc5e0991684b700127ddcff Mon Sep 17 00:00:00 2001 +From 190040ebfcf5395a6ccedede2cc9343d34f0a108 Mon Sep 17 00:00:00 2001 From: mancha -Date: Mon, 3 Nov 2014 +Date: Wed, 11 Feb 2015 Subject: Info-ZIP UnZip buffer overflow By carefully crafting a corrupt ZIP archive with "extra fields" that @@ -26,12 +26,13 @@ This patch ensures that when extra fields use STORED mode, the if (compr_offset < 4) /* field is not compressed: */ return PK_OK; /* do nothing and signal OK */ -@@ -2226,6 +2227,12 @@ static int test_compr_eb(__G__ eb, eb_si +@@ -2226,6 +2227,13 @@ static int test_compr_eb(__G__ eb, eb_si eb_size <= (compr_offset + EB_CMPRHEADLEN))) return IZ_EF_TRUNC; /* no compressed data! */ + method = makeword(eb + (EB_HEADSIZE + compr_offset)); -+ if ((method == STORED) && (eb_size - compr_offset != eb_ucsize)) ++ if ((method == STORED) && ++ (eb_size - compr_offset - EB_CMPRHEADLEN != eb_ucsize)) + return PK_ERR; /* compressed & uncompressed + * should match in STORED + * method */ From bf521d7b55fb4913c895946f9d0af2e89fc36033 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 24 Feb 2015 10:51:46 +0100 Subject: [PATCH 16/52] Add setup-hook to hicolor_icon_theme --- .../graphics/shotwell/default.nix | 1 - .../data/icons/hicolor-icon-theme/default.nix | 2 ++ .../icons/hicolor-icon-theme/setup-hook.sh | 20 +++++++++++++++++++ .../gnome-3/3.12/apps/bijiben/default.nix | 1 - .../gnome-3/3.12/apps/file-roller/default.nix | 1 - .../gnome-3/3.12/apps/glade/default.nix | 1 - .../gnome-3/3.12/apps/gnome-boxes/default.nix | 1 - .../3.12/apps/gnome-clocks/default.nix | 1 - .../3.12/apps/gnome-documents/default.nix | 1 - .../gnome-3/3.12/apps/gnome-music/default.nix | 2 -- .../3.12/apps/gnome-photos/default.nix | 1 - .../gnome-3/3.12/apps/seahorse/default.nix | 1 - .../gnome-3/3.12/core/baobab/default.nix | 2 -- .../gnome-3/3.12/core/empathy/default.nix | 1 - .../gnome-3/3.12/core/eog/default.nix | 2 -- .../gnome-3/3.12/core/evince/default.nix | 2 -- .../core/gnome-control-center/default.nix | 2 -- .../3.12/core/gnome-disk-utility/default.nix | 1 - .../gnome-icon-theme-symbolic/default.nix | 4 +++- .../3.12/core/gnome-icon-theme/default.nix | 6 +++--- .../3.12/core/gnome-icon-theme/setup-hook.sh | 10 ---------- .../3.12/core/gnome-system-log/default.nix | 1 - .../3.12/core/gnome-user-share/default.nix | 1 - .../gnome-3/3.12/core/totem/default.nix | 2 -- .../gnome-3/3.12/misc/gitg/default.nix | 1 - pkgs/desktops/xfce/applications/ristretto.nix | 2 -- .../development/tools/misc/d-feet/default.nix | 2 -- 27 files changed, 28 insertions(+), 44 deletions(-) create mode 100644 pkgs/data/icons/hicolor-icon-theme/setup-hook.sh delete mode 100644 pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/setup-hook.sh diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix index 223f632f937d..629126503c92 100644 --- a/pkgs/applications/graphics/shotwell/default.nix +++ b/pkgs/applications/graphics/shotwell/default.nix @@ -44,7 +44,6 @@ in stdenv.mkDerivation rec { --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" - rm $out/share/icons/hicolor/icon-theme.cache ''; diff --git a/pkgs/data/icons/hicolor-icon-theme/default.nix b/pkgs/data/icons/hicolor-icon-theme/default.nix index 1cf29db9dbc6..f8eb7bc032ea 100644 --- a/pkgs/data/icons/hicolor-icon-theme/default.nix +++ b/pkgs/data/icons/hicolor-icon-theme/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "01ilkizzal3wq2naaj84rqmd850aari1ahiw9vfis3a82n4h72x3"; }; + setupHook = ./setup-hook.sh; + meta = { description = "Default fallback theme used by implementations of the icon theme specification"; homepage = http://icon-theme.freedesktop.org/releases/; diff --git a/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh b/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh new file mode 100644 index 000000000000..05ab9b3d65df --- /dev/null +++ b/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh @@ -0,0 +1,20 @@ +# Populate XDG_ICON_DIRS +hicolorIconThemeHook() { + + # where to find icon themes + if [ -d "$1/share/icons" ]; then + addToSearchPath XDG_ICON_DIRS $1/share + fi + +} + +envHooks+=(hicolorIconThemeHook) + +# Remove icon cache +hicolorPreFixupPhase() { + rm -f $out/share/icons/hicolor/icon-theme.cache + rm -f $out/share/icons/HighContrast/icon-theme.cache +} + +preFixupPhases="$preFixupPhases hicolorPreFixupPhase" + diff --git a/pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix b/pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix index c4d609790fa9..c4f6741c070a 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix @@ -28,7 +28,6 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/bijiben" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix index a761c13e9595..deff8494866b 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix @@ -22,7 +22,6 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/file-roller" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share" - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/apps/glade/default.nix b/pkgs/desktops/gnome-3/3.12/apps/glade/default.nix index 5979d10fa707..4783804f200a 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/glade/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/glade/default.nix @@ -24,7 +24,6 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/glade" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix index cbb53eedd4c7..7d33933656a3 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix @@ -34,7 +34,6 @@ stdenv.mkDerivation rec { --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ --prefix PATH : "${mtools}/bin:${cdrkit}/bin:${libcdio}/bin" done - rm "$out/share/icons/hicolor/icon-theme.cache" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix index 2226f314eed0..47bcbf692ad6 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix @@ -28,7 +28,6 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/gnome-clocks" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix index 5c2206641e55..642e0044a757 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix @@ -44,7 +44,6 @@ stdenv.mkDerivation rec { --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ --run "if [ -z \"\$XDG_CACHE_DIR\" ]; then XDG_CACHE_DIR=\$HOME/.cache; fi; if [ -w \"\$XDG_CACHE_DIR/..\" ]; then mkdir -p \"\$XDG_CACHE_DIR/gnome-documents\"; fi" done - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix index 028ab4832eff..ebcd4c0d01ed 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix @@ -32,8 +32,6 @@ stdenv.mkDerivation rec { --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \ --prefix PYTHONPATH : "$PYTHONPATH" - - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix index cc92cdd3014b..4d080039a880 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix @@ -35,7 +35,6 @@ stdenv.mkDerivation rec { --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \ --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" done - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix index fb7339dd05f3..02365d6b3d5a 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix @@ -28,7 +28,6 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/seahorse" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/core/baobab/default.nix b/pkgs/desktops/gnome-3/3.12/core/baobab/default.nix index e4da596ae21b..4d6c91787a37 100644 --- a/pkgs/desktops/gnome-3/3.12/core/baobab/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/baobab/default.nix @@ -25,8 +25,6 @@ stdenv.mkDerivation rec { hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; preFixup = '' - rm $out/share/icons/hicolor/icon-theme.cache - rm $out/share/icons/HighContrast/icon-theme.cache wrapProgram "$out/bin/baobab" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" diff --git a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix index c6ac93b10747..a10450d93328 100644 --- a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix @@ -42,7 +42,6 @@ stdenv.mkDerivation rec { --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" done - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/core/eog/default.nix b/pkgs/desktops/gnome-3/3.12/core/eog/default.nix index 8c8a49cb7ed7..de30f0dbbe14 100644 --- a/pkgs/desktops/gnome-3/3.12/core/eog/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/eog/default.nix @@ -19,8 +19,6 @@ stdenv.mkDerivation rec { --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${shared_mime_info}/share:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" - - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/core/evince/default.nix b/pkgs/desktops/gnome-3/3.12/core/evince/default.nix index aaef1d59ed98..d1ad071d426a 100644 --- a/pkgs/desktops/gnome-3/3.12/core/evince/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/evince/default.nix @@ -46,8 +46,6 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/evince" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${shared_mime_info}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" - - rm $out/share/icons/hicolor/icon-theme.cache ''; doCheck = false; # would need pythonPackages.dogTail, which is missing diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix index 0aed2e7a410a..bcb49b6cafe1 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix @@ -47,8 +47,6 @@ stdenv.mkDerivation rec { for i in $out/share/applications/*; do substituteInPlace $i --replace "gnome-control-center" "$out/bin/gnome-control-center" done - - rm $out/share/icons/hicolor/icon-theme.cache ''; patches = [ ./search_providers_dir.patch ]; diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-disk-utility/default.nix index 56bde211105e..a68624ba0e10 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-disk-utility/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-disk-utility/default.nix @@ -29,7 +29,6 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/gnome-disks" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme-symbolic/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme-symbolic/default.nix index 6a30362f5936..7b9e2097befb 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme-symbolic/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme-symbolic/default.nix @@ -16,7 +16,9 @@ stdenv.mkDerivation rec { make -C src install ''; - buildInputs = [ pkgconfig iconnamingutils gtk gnome3.gnome_icon_theme ]; + buildInputs = [ pkgconfig iconnamingutils gtk ]; + + propagatedBuildInputs = [ gnome3.gnome_icon_theme ]; meta = with stdenv.lib; { platforms = platforms.linux; diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix index aa0c9d24dfec..34a3b67af7e4 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }: +{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk, hicolor_icon_theme }: stdenv.mkDerivation rec { name = "gnome-icon-theme-3.12.0"; @@ -8,10 +8,10 @@ stdenv.mkDerivation rec { sha256 = "359e720b9202d3aba8d477752c4cd11eced368182281d51ffd64c8572b4e503a"; }; - setupHook = ./setup-hook.sh; - nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ]; + propagatedBuildInputs = [ hicolor_icon_theme ]; + meta = with stdenv.lib; { platforms = platforms.linux; }; diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/setup-hook.sh b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/setup-hook.sh deleted file mode 100644 index d7156f3d4630..000000000000 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/setup-hook.sh +++ /dev/null @@ -1,10 +0,0 @@ -make_gtk_applications_find_icon_themes() { - - # where to find icon themes - if [ -d "$1/share/icons" ]; then - addToSearchPath XDG_ICON_DIRS $1/share - fi - -} - -envHooks+=(make_gtk_applications_find_icon_themes) diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix index cdc4b732b97e..9abeda537447 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix @@ -25,7 +25,6 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/gnome-system-log" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-user-share/default.nix index 976b0eaca45b..fde47a66340b 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-user-share/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-user-share/default.nix @@ -39,7 +39,6 @@ stdenv.mkDerivation rec { wrapProgram "$out/libexec/gnome-user-share" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix index 490947519832..9c2db40f89d3 100644 --- a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix @@ -35,8 +35,6 @@ stdenv.mkDerivation rec { --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \ --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" - - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix index 401d5cf2f36a..37e1975fd57b 100644 --- a/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix +++ b/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix @@ -32,7 +32,6 @@ stdenv.mkDerivation rec { --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" - rm $out/share/icons/hicolor/icon-theme.cache rm $out/share/gitg/icons/hicolor/icon-theme.cache ''; diff --git a/pkgs/desktops/xfce/applications/ristretto.nix b/pkgs/desktops/xfce/applications/ristretto.nix index de7fe5975947..b38b97b90438 100644 --- a/pkgs/desktops/xfce/applications/ristretto.nix +++ b/pkgs/desktops/xfce/applications/ristretto.nix @@ -24,8 +24,6 @@ stdenv.mkDerivation rec { --prefix XDG_DATA_DIRS : "${hicolor_icon_theme}/share" ''; - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; - meta = { homepage = "http://goodies.xfce.org/projects/applications/${p_name}"; description = "A fast and lightweight picture-viewer for the Xfce desktop environment"; diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix index df5fdbfab5a3..5afe5525d0e2 100644 --- a/pkgs/development/tools/misc/d-feet/default.nix +++ b/pkgs/development/tools/misc/d-feet/default.nix @@ -27,8 +27,6 @@ stdenv.mkDerivation rec { --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share" - - rm $out/share/icons/hicolor/icon-theme.cache ''; meta = { From 5ea3b3e36ff69925ffd07e5c885d45c606a5f17e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 25 Feb 2015 19:42:02 +0100 Subject: [PATCH 17/52] haskell-generic-builder.nix: don't add lib64 directories to the search path Packages that provide 32 and 64-bit libraries in the same store path are rare and usually require manual overrides anyway. It seems pointless to try and guess proper settings for them. The effect is that we'll end up with bogus settings that take more effort to correct that it takes to configure proper settings in the first place. Point in case: haskell-cuda and it's configuration for "cudatools". Fixes https://github.com/NixOS/nixpkgs/issues/6564. --- pkgs/development/haskell-modules/generic-builder.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 03535f90b795..509cc0586485 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -147,11 +147,9 @@ stdenv.mkDerivation ({ if [ -d "$p/include" ]; then configureFlags+=" --extra-include-dirs=$p/include" fi - for d in lib{,64}; do - if [ -d "$p/$d" ]; then - configureFlags+=" --extra-lib-dirs=$p/$d" - fi - done + if [ -d "$p/lib" ]; then + configureFlags+=" --extra-lib-dirs=$p/lib" + fi done ghc-pkg --${packageDbFlag}="$packageConfDir" recache From d732039ecc95aaaf4126a33e76b58e592ebb67d1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 25 Feb 2015 19:49:39 +0100 Subject: [PATCH 18/52] haskell-generic-builder: set LOCALE_ARCHIVE only on Linux --- pkgs/development/haskell-modules/generic-builder.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 509cc0586485..da07af21c776 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -120,7 +120,6 @@ stdenv.mkDerivation ({ propagatedNativeBuildInputs = optionals hasActiveLibrary propagatedBuildInputs; LANG = "en_US.UTF-8"; # GHC needs the locale configured during the Haddock phase. - LOCALE_ARCHIVE = optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive"; setupCompilerEnvironmentPhase = '' runHook preSetupCompilerEnvironment @@ -296,4 +295,5 @@ stdenv.mkDerivation ({ // optionalAttrs (postInstall != "") { inherit postInstall; } // optionalAttrs (preFixup != "") { inherit preFixup; } // optionalAttrs (postFixup != "") { inherit postFixup; } +// optionalAttrs (stdenv.isLinux) { LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive"; } ) From 3021f2f529c914fe2ac8212e4388b16f57663e1d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 25 Feb 2015 20:15:26 +0100 Subject: [PATCH 19/52] haskell-generic-builder: update and jailbreak cabal files before patchPhase is run The updated and jailbroken Cabal file must be in place before the 'patchPhase' hook is run, otherwise we cannot use that hook to patch the Cabal file! Resolves https://github.com/NixOS/nixpkgs/issues/5922. As an added bonus, this change makes the "jailbreakPhase" obsolete. --- .../haskell-modules/generic-builder.nix | 25 +++++++------------ 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index da07af21c776..f22d2d7e5079 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -111,7 +111,7 @@ stdenv.mkDerivation ({ name = "${optionalString hasActiveLibrary "haskell-"}${pname}-${version}"; prePhases = ["setupCompilerEnvironmentPhase"]; - preConfigurePhases = ["jailbreakPhase" "compileBuildDriverPhase"]; + preConfigurePhases = ["compileBuildDriverPhase"]; preInstallPhases = ["haddockPhase"]; inherit src; @@ -121,6 +121,14 @@ stdenv.mkDerivation ({ LANG = "en_US.UTF-8"; # GHC needs the locale configured during the Haddock phase. + prePatch = optionalString (editedCabalFile != null) '' + echo "Replacing Cabal file with edited version ${newCabalFile}." + cp ${newCabalFile} ${pname}.cabal + '' + optionalString jailbreak '' + echo "Running jailbreak-cabal to lift version restrictions on build inputs." + ${jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal + '' + prePatch; + setupCompilerEnvironmentPhase = '' runHook preSetupCompilerEnvironment @@ -155,20 +163,6 @@ stdenv.mkDerivation ({ runHook postSetupCompilerEnvironment ''; - jailbreakPhase = '' - runHook preJailbreak - - ${optionalString (editedCabalFile != null) '' - echo "Replacing Cabal file with edited version ${newCabalFile}." - cp ${newCabalFile} ${pname}.cabal - ''}${optionalString jailbreak '' - echo "Running jailbreak-cabal to lift version restrictions on build inputs." - ${jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal - ''} - - runHook postJailbreak - ''; - compileBuildDriverPhase = '' runHook preCompileBuildDriver @@ -281,7 +275,6 @@ stdenv.mkDerivation ({ // optionalAttrs (configureFlags != []) { inherit configureFlags; } // optionalAttrs (patches != []) { inherit patches; } // optionalAttrs (patchPhase != "") { inherit patchPhase; } -// optionalAttrs (prePatch != "") { inherit prePatch; } // optionalAttrs (postPatch != "") { inherit postPatch; } // optionalAttrs (preConfigure != "") { inherit preConfigure; } // optionalAttrs (postConfigure != "") { inherit postConfigure; } From fffcb14e0636ed2713066177005e788e8d82a1f8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 25 Feb 2015 20:40:11 +0100 Subject: [PATCH 20/52] haskell-highlighting-kate: make build work without patching --- pkgs/development/haskell-modules/hackage-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 201826b1e897..78cdf27dce9b 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -59947,7 +59947,7 @@ self: { "highlighting-kate" = callPackage ({ mkDerivation, base, blaze-html, containers, Diff, directory - , filepath, mtl, parsec, process, regex-pcre, utf8-string + , filepath, mtl, parsec, pcre-light, process, utf8-string }: mkDerivation { pname = "highlighting-kate"; @@ -59956,14 +59956,14 @@ self: { isLibrary = true; isExecutable = true; buildDepends = [ - base blaze-html containers filepath mtl parsec regex-pcre + base blaze-html containers filepath mtl parsec pcre-light utf8-string ]; testDepends = [ base blaze-html containers Diff directory filepath process ]; + configureFlags = [ "-fpcre-light" ]; jailbreak = true; - prePatch = "sed -i -e 's|regex-pcre-builtin >= .*|regex-pcre|' highlighting-kate.cabal"; homepage = "http://github.com/jgm/highlighting-kate"; description = "Syntax highlighting"; license = "GPL"; From c01dd4ab57c82dacee742c0d49bf676df4d97eb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 24 Feb 2015 20:48:26 +0100 Subject: [PATCH 21/52] gtk2: small maintenance update --- pkgs/development/libraries/gtk+/2.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix index b95de7105be4..c4dec6c2e1e2 100644 --- a/pkgs/development/libraries/gtk+/2.x.nix +++ b/pkgs/development/libraries/gtk+/2.x.nix @@ -8,11 +8,11 @@ assert xineramaSupport -> xlibs.libXinerama != null; assert cupsSupport -> cups != null; stdenv.mkDerivation rec { - name = "gtk+-2.24.25"; + name = "gtk+-2.24.26"; src = fetchurl { url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz"; - sha256 = "38af1020cb8ff3d10dda2c8807f11e92af9d2fa4045de61c62eedb7fbc7ea5b3"; + sha256 = "d84fc0f1e3cd99e8b9ec756e754f42653940638579a8f28d0eabffc37018d133"; }; enableParallelBuilding = true; From 90979e6aa4a7663c414640355797a478d614f405 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 26 Feb 2015 20:06:06 +0100 Subject: [PATCH 22/52] xf86-video-vmware: drop patch included in update --- pkgs/servers/x11/xorg/overrides.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 3701bdc461f0..bb3be6e8b51f 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -221,11 +221,6 @@ in xf86videovmware = attrs: attrs // { buildInputs = attrs.buildInputs ++ [ args.mesa_drivers ]; # for libxatracker - patches = [( args.fetchpatch { - url = "http://cgit.freedesktop.org/xorg/driver/xf86-video-vmware/patch/" - + "?id=4664412d7a5266d2b392957406b34abc5db95e48"; - sha256 = "1gix83f1is91iq1zd66nj4k72jm24jjjd9s9l0bzpzhgc8smqdk2"; - })]; }; xf86videoqxl = attrs: attrs // { From be18346534184a21e5835cb38449528435896f51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 26 Feb 2015 20:14:45 +0100 Subject: [PATCH 23/52] glib: maintenance update --- pkgs/development/libraries/glib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 1dff672b3489..4749e2394b5e 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -40,7 +40,7 @@ let ''; ver_maj = "2.42"; - ver_min = "1"; + ver_min = "2"; in stdenv.mkDerivation rec { @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/glib/${ver_maj}/${name}.tar.xz"; - sha256 = "16pqvikrps1fvwwqvk0qi4a13mfg7gw6w5qfhk7bhi8f51jhhgwg"; + sha256 = "1nz7vb549gzkxcpmb7yj9dvg3k8kwwz2kr1aykysj46k5fyixk53"; }; patches = optional stdenv.isDarwin ./darwin-compilation.patch ++ optional doCheck ./skip-timer-test.patch; From fefe6d69832861546a73fca9e9b011918601d76f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 26 Feb 2015 20:24:09 +0100 Subject: [PATCH 24/52] trustedGrub: fix build by using older automake (again) --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 70173068432e..4d847b56b3f2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1467,6 +1467,7 @@ let trustedGrub = callPackage_i686 ../tools/misc/grub/trusted.nix { buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true; + automake = automake112x; # fails with 13 and 14 }; grub2 = grub2_full; From d3bfead0d4178c22bea9584f4ad8cc7b43160ae4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 26 Feb 2015 20:26:26 +0100 Subject: [PATCH 25/52] dbus-glib: maintenance update --- pkgs/development/libraries/dbus-glib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix index 16a20ec94a4d..00b302bde8d5 100644 --- a/pkgs/development/libraries/dbus-glib/default.nix +++ b/pkgs/development/libraries/dbus-glib/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, expat, gettext, libiconv, dbus, glib }: stdenv.mkDerivation rec { - name = "dbus-glib-0.102"; + name = "dbus-glib-0.104"; src = fetchurl { url = "${meta.homepage}/releases/dbus-glib/${name}.tar.gz"; - sha256 = "177j5p2vrvpmzk2xrrj6akn73kvpbvnmsjvlmca9l55qbdcfsr39"; + sha256 = "1xi1v1msz75qs0s4lkyf1psrksdppa3hwkg0mznc6gpw5flg3hdz"; }; nativeBuildInputs = [ pkgconfig gettext ]; From a24ef4f33804c8e6a2574315639d0cef9f468b78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 26 Feb 2015 20:31:41 +0100 Subject: [PATCH 26/52] harfbuzz: small update --- pkgs/development/libraries/harfbuzz/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 0b75797b366f..a7ec3a758788 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -8,11 +8,11 @@ # (icu is a ~30 MB dependency, the rest is very small in comparison) stdenv.mkDerivation rec { - name = "harfbuzz-0.9.37"; + name = "harfbuzz-0.9.38"; src = fetchurl { url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2"; - sha256 = "01q22an29ni6b7yaial7l2zq0yyr8dk2230x7n31dbfy88w3npr5"; + sha256 = "056mrzf6ry78s8nvnj4rqzc1gml2lcn314ijdzmsmz7dnj1z6dk7"; }; configureFlags = [ From 54fc2db1b86918f9204107d623294740c64b4c32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 2 Mar 2015 21:24:55 +0100 Subject: [PATCH 27/52] glibc: update 2.20 -> 2.21, including security fixes Fixes #6578. https://sourceware.org/ml/libc-alpha/2015-02/msg00119.html - I had to disable one warning-error type. - One of our patches needed modification - it seemed that just the context changed without affecting the purpose of the patch. --- pkgs/development/libraries/glibc/common.nix | 7 ++++--- .../libraries/glibc/dont-use-system-ld-so-cache.patch | 9 +++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 81abd4f19d4b..01b60361e8e1 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -13,7 +13,7 @@ cross: let - version = "2.20"; + version = "2.21"; in @@ -127,7 +127,8 @@ stdenv.mkDerivation ({ # I.e. when gcc is compiled with --with-arch=i686, then the # preprocessor symbol `__i686' will be defined to `1'. This causes # the symbol __i686.get_pc_thunk.dx to be mangled. - NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.system == "i686-linux") "-U__i686"; + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.system == "i686-linux") "-U__i686" + + " -Wno-error=strict-prototypes"; } # Remove the `gccCross' attribute so that the *native* glibc store path @@ -150,7 +151,7 @@ stdenv.mkDerivation ({ } else fetchurl { url = "mirror://gnu/glibc/glibc-${version}.tar.gz"; - sha256 = "1g6ysvk15arpi7c1f1fpx5slgfr2k3dqd5xr0yvijajp1m0xxq9p"; + sha256 = "0f4prv4c0fcpi85wv4028wqxn075197gwxhgf0vp571fiw2pi3wd"; }; # Remove absolute paths from `configure' & co.; build out-of-tree. diff --git a/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch b/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch index 95f537733204..fc14553c3ee0 100644 --- a/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch +++ b/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch @@ -15,13 +15,14 @@ diff -ru glibc-2.16.0-orig/elf/Makefile glibc-2.16.0/elf/Makefile +++ glibc-2.16.0/elf/Makefile 2012-09-18 12:03:30.031955196 -0400 @@ -415,12 +415,12 @@ - $(objpfx)pldd: $(pldd-modules:%=$(objpfx)%.o) + $(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o) -SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"' -CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \ +PREFIX-FLAGS := -D'PREFIX="$(prefix)"' +CFLAGS-ldconfig.c = $(PREFIX-FLAGS) -D'LIBDIR="$(libdir)"' \ - -D'SLIBDIR="$(slibdir)"' -DIS_IN_ldconfig=1 + -D'SLIBDIR="$(slibdir)"' + libof-ldconfig = ldconfig -CFLAGS-dl-cache.c = $(SYSCONF-FLAGS) -CFLAGS-cache.c = $(SYSCONF-FLAGS) -CFLAGS-rtld.c = $(SYSCONF-FLAGS) @@ -29,8 +30,8 @@ diff -ru glibc-2.16.0-orig/elf/Makefile glibc-2.16.0/elf/Makefile +CFLAGS-cache.c = $(PREFIX-FLAGS) +CFLAGS-rtld.c = $(PREFIX-FLAGS) - CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\ - -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld) + cpp-srcs-left := $(all-rtld-routines:=.os) + lib := rtld diff -ru glibc-2.16.0-orig/sysdeps/generic/dl-cache.h glibc-2.16.0/sysdeps/generic/dl-cache.h --- glibc-2.16.0-orig/sysdeps/generic/dl-cache.h 2012-06-30 15:12:34.000000000 -0400 +++ glibc-2.16.0/sysdeps/generic/dl-cache.h 2012-09-18 11:59:27.465284809 -0400 From 4dd253c30602a273dfc58ee5c45fc7e1ea0633a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 2 Mar 2015 23:45:00 +0100 Subject: [PATCH 28/52] valgrind: fix build with glibc-2.21 by Arch patch --- pkgs/development/tools/analysis/valgrind/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index 28456d931e0a..a58ad0f39b2e 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, perl, gdb }: +{ stdenv, fetchurl, fetchpatch, perl, gdb }: stdenv.mkDerivation rec { name = "valgrind-3.10.1"; @@ -8,6 +8,13 @@ stdenv.mkDerivation rec { sha256 = "15xrzhfnwwn7n1sfbkwvdbvs6zk0zx718n6zd5i1nrnvdp13s9gs"; }; + patches = [(fetchpatch { + name = "glibc-2.21.patch"; + url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk" + + "/valgrind-3.9.0-glibc-2.21.patch?h=packages/valgrind&id=41e87313b69"; + sha256 = "14sgsvjjalbcqpcayyv5cndc9hfm5bigkp684b6cr6virksmlk19"; + })]; + # Perl is needed for `cg_annotate'. # GDB is needed to provide a sane default for `--db-command'. nativeBuildInputs = [ perl ]; From bd87d32efc2e6a7b178bbe5ed0f372477c1a9949 Mon Sep 17 00:00:00 2001 From: "Alexander V. Nikolaev" Date: Tue, 24 Feb 2015 21:47:04 +0200 Subject: [PATCH 29/52] util-linux: update to 2.26 (close #6553) Patch unshare-fix-map-root-user.patch appiled upstream, and removed. Trigger mass-rebuild, so PR will be to staging --- pkgs/os-specific/linux/util-linux/default.nix | 7 +- .../unshare-fix-map-root-user.patch | 66 ------------------- 2 files changed, 3 insertions(+), 70 deletions(-) delete mode 100644 pkgs/os-specific/linux/util-linux/unshare-fix-map-root-user.patch diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index 81eeee68fbad..ae13b7b267c2 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchurl, zlib, ncurses ? null, perl ? null, pam }: stdenv.mkDerivation rec { - name = "util-linux-2.25.2"; + name = "util-linux-2.26"; src = fetchurl { - url = "mirror://kernel/linux/utils/util-linux/v2.25/${name}.tar.xz"; - sha256 = "e0457f715b73f4a349e1acb08cb410bf0edc9a74a3f75c357070f31f70e33cd6"; + url = "mirror://kernel/linux/utils/util-linux/v2.26/${name}.tar.xz"; + sha256 = "a23c6f39dea0ed215ccd589509ffc7bb6f706f6e1a04760f493fb0fd7e93c489"; }; patches = [ ./rtcwake-search-PATH-for-shutdown.patch - ./unshare-fix-map-root-user.patch ]; #FIXME: make it also work on non-nixos? diff --git a/pkgs/os-specific/linux/util-linux/unshare-fix-map-root-user.patch b/pkgs/os-specific/linux/util-linux/unshare-fix-map-root-user.patch deleted file mode 100644 index 1d1531e110cb..000000000000 --- a/pkgs/os-specific/linux/util-linux/unshare-fix-map-root-user.patch +++ /dev/null @@ -1,66 +0,0 @@ -In rare cases droping groups with setgroups(0, NULL) is an operation -that can grant a user additional privileges. User namespaces were -allwoing that operation to unprivileged users and that had to be -fixed. - -Update unshare --map-root-user to disable the setgroups operation -before setting the gid_map. - -This is needed as after the security fix gid_map is restricted to -privileged users unless setgroups has been disabled. - -Signed-off-by: "Eric W. Biederman" ---- - include/pathnames.h | 1 + - sys-utils/unshare.c | 19 +++++++++++++++++++ - 2 files changed, 20 insertions(+) - -diff --git a/include/pathnames.h b/include/pathnames.h -index 1cc4e15e6e4f..1c53e4554268 100644 ---- a/include/pathnames.h -+++ b/include/pathnames.h -@@ -92,6 +92,7 @@ - - #define _PATH_PROC_UIDMAP "/proc/self/uid_map" - #define _PATH_PROC_GIDMAP "/proc/self/gid_map" -+#define _PATH_PROC_SETGROUPS "/proc/self/setgroups" - - #define _PATH_PROC_ATTR_CURRENT "/proc/self/attr/current" - #define _PATH_PROC_ATTR_EXEC "/proc/self/attr/exec" -diff --git a/sys-utils/unshare.c b/sys-utils/unshare.c -index 95e4afbd055e..d409a7c936b6 100644 ---- a/sys-utils/unshare.c -+++ b/sys-utils/unshare.c -@@ -39,6 +39,24 @@ - #include "pathnames.h" - #include "all-io.h" - -+static void disable_setgroups(void) -+{ -+ const char *file = _PATH_PROC_SETGROUPS; -+ const char *deny = "deny"; -+ int fd; -+ -+ fd = open(file, O_WRONLY); -+ if (fd < 0) { -+ if (errno == ENOENT) -+ return; -+ err(EXIT_FAILURE, _("cannot open %s"), file); -+ } -+ -+ if (write_all(fd, deny, strlen(deny))) -+ err(EXIT_FAILURE, _("write failed %s"), file); -+ close(fd); -+} -+ - static void map_id(const char *file, uint32_t from, uint32_t to) - { - char *buf; -@@ -178,6 +196,7 @@ int main(int argc, char *argv[]) - } - - if (maproot) { -+ disable_setgroups(); - map_id(_PATH_PROC_UIDMAP, 0, real_euid); - map_id(_PATH_PROC_GIDMAP, 0, real_egid); - } From 91fa9b27d57c58d9a7be9b5d49dcb4e767e4c109 Mon Sep 17 00:00:00 2001 From: James Cook Date: Mon, 2 Mar 2015 00:02:47 -0800 Subject: [PATCH 30/52] graphviz: Patch to fix CVE-2014-9157 (close #6640) --- .../graphics/graphviz/cve-2014-9157.patch | 24 +++++++++++++++++++ pkgs/tools/graphics/graphviz/default.nix | 11 +++++++-- 2 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 pkgs/tools/graphics/graphviz/cve-2014-9157.patch diff --git a/pkgs/tools/graphics/graphviz/cve-2014-9157.patch b/pkgs/tools/graphics/graphviz/cve-2014-9157.patch new file mode 100644 index 000000000000..66ce496ca748 --- /dev/null +++ b/pkgs/tools/graphics/graphviz/cve-2014-9157.patch @@ -0,0 +1,24 @@ +From https://lists.debian.org/debian-qa-packages/2014/12/msg00048.html , which +seems to come from Ubuntu. + +Subject: Fix format string vulnerability (CVE-2014-9157) in yyerror() routine +Origin: https://github.com/ellson/graphviz/commit/99eda421f7ddc27b14e4ac1d2126e5fe41719081 +Author: Emden R. Gansner + +--- + lib/cgraph/scan.l | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: b/lib/cgraph/scan.l +=================================================================== +--- a/lib/cgraph/scan.l ++++ b/lib/cgraph/scan.l +@@ -225,7 +225,7 @@ + agxbput (&xb, buf); + agxbput (&xb, yytext); + agxbput (&xb,"'\n"); +- agerr(AGERR,agxbuse(&xb)); ++ agerr(AGERR, "%s", agxbuse(&xb)); + agxbfree(&xb); + } + /* must be here to see flex's macro defns */ diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix index 31945c9f232c..2fcea02519a5 100644 --- a/pkgs/tools/graphics/graphviz/default.nix +++ b/pkgs/tools/graphics/graphviz/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat, libXaw , yacc, libtool, fontconfig, pango, gd, xlibs, gts, libdevil, gettext, cairo +, flex }: stdenv.mkDerivation rec { @@ -11,10 +12,16 @@ stdenv.mkDerivation rec { sha256 = "17l5czpvv5ilmg17frg0w4qwf89jzh2aglm9fgx0l0aakn6j7al1"; }; - patches = [ ./0001-vimdot-lookup-vim-in-PATH.patch ]; + patches = + [ ./0001-vimdot-lookup-vim-in-PATH.patch + + # NOTE: Once this patch is removed, flex can probably be removed from + # buildInputs. + ./cve-2014-9157.patch + ]; buildInputs = - [ pkgconfig libpng libjpeg expat yacc libtool fontconfig gd gts libdevil + [ pkgconfig libpng libjpeg expat yacc libtool fontconfig gd gts libdevil flex ] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender pango libXaw ] ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext; From 856d1ff27f0ca573d9fc26cab6e64a6c659985ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 4 Mar 2015 22:01:11 +0100 Subject: [PATCH 31/52] more build fixups concerning automake defaults --- pkgs/tools/security/gnupg/21.nix | 4 ++-- pkgs/top-level/all-packages.nix | 17 +++++++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/security/gnupg/21.nix b/pkgs/tools/security/gnupg/21.nix index b9f212de26b1..c79414a64568 100644 --- a/pkgs/tools/security/gnupg/21.nix +++ b/pkgs/tools/security/gnupg/21.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, pkgconfig, libgcrypt, libassuan, libksba, npth , readline ? null, libusb ? null, gnutls ? null, adns ? null, openldap ? null -, zlib ? null, bzip2 ? null, pinentry ? null, autoreconfHook, gettext +, zlib ? null, bzip2 ? null, pinentry ? null, autoreconfHook, texinfo, gettext }: with stdenv.lib; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig libgcrypt libassuan libksba npth readline libusb gnutls adns openldap zlib bzip2 - autoreconfHook gettext + autoreconfHook texinfo gettext ]; configureFlags = diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9f20f2d2389a..7c4a3e30387d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1469,6 +1469,7 @@ let grub = callPackage_i686 ../tools/misc/grub { buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true; + automake = automake112x; # fails with 13 and 14 }; trustedGrub = callPackage_i686 ../tools/misc/grub/trusted.nix { @@ -2212,7 +2213,9 @@ let panomatic = callPackage ../tools/graphics/panomatic { }; - par2cmdline = callPackage ../tools/networking/par2cmdline { }; + par2cmdline = callPackage ../tools/networking/par2cmdline { + automake = automake112x; # fails with 14 + }; parallel = callPackage ../tools/misc/parallel { }; @@ -2333,7 +2336,9 @@ let ponysay = callPackage ../tools/misc/ponysay { }; - povray = callPackage ../tools/graphics/povray { }; + povray = callPackage ../tools/graphics/povray { + automake = automake113x; # fails with 14 + }; ppl = callPackage ../development/libraries/ppl { }; @@ -6037,7 +6042,9 @@ let libassuan = callPackage ../development/libraries/libassuan { }; - libassuan2_1 = callPackage ../development/libraries/libassuan/git.nix { }; + libassuan2_1 = callPackage ../development/libraries/libassuan/git.nix { + automake = automake112x; # fails with 13 and 14 + }; libatomic_ops = callPackage ../development/libraries/libatomic_ops {}; @@ -6632,7 +6639,9 @@ let libunwindNative = callPackage ../development/libraries/libunwind/native.nix {}; - libuvVersions = recurseIntoAttrs (callPackage ../development/libraries/libuv { }); + libuvVersions = recurseIntoAttrs (callPackage ../development/libraries/libuv { + automake = automake113x; # fails with 14 + }); libv4l = lowPrio (v4l_utils.override { withQt4 = false; From 7e042659b7821a38ef2c63d92badc581937e4c52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 4 Mar 2015 22:02:09 +0100 Subject: [PATCH 32/52] plymouth: hacky fix build (automake-related) --- pkgs/os-specific/linux/plymouth/default.nix | 41 ++++++++++----------- pkgs/top-level/all-packages.nix | 4 +- 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/pkgs/os-specific/linux/plymouth/default.nix b/pkgs/os-specific/linux/plymouth/default.nix index a04407ba5c2a..00d330ca955e 100644 --- a/pkgs/os-specific/linux/plymouth/default.nix +++ b/pkgs/os-specific/linux/plymouth/default.nix @@ -1,6 +1,5 @@ -{ stdenv, fetchurl, autoconf, automake, cairo, docbook_xsl, gtk -, libdrm, libpng , libtool, libxslt, makeWrapper, pango, pkgconfig -, udev +{ stdenv, fetchurl, autoreconfHook, cairo, docbook_xsl, gtk +, libdrm, libpng, libxslt, makeWrapper, pango, pkgconfig, udev }: stdenv.mkDerivation rec { @@ -13,7 +12,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - autoconf automake cairo docbook_xsl gtk libdrm libpng libtool + autoreconfHook cairo docbook_xsl gtk libdrm libpng libxslt makeWrapper pango pkgconfig udev ]; @@ -22,23 +21,23 @@ stdenv.mkDerivation rec { -i configure.ac ''; - configurePhase = '' - ./configure \ - --prefix=$out \ - -bindir=$out/bin \ - -sbindir=$out/sbin \ - --exec-prefix=$out \ - --libdir=$out/lib \ - --libexecdir=$out/lib \ - --sysconfdir=$out/etc \ - --localstatedir=/var \ - --with-log-viewer \ - --without-system-root-install \ - --without-rhgb-compat-link \ - --enable-tracing \ - --enable-systemd-integration \ - --enable-pango \ - --enable-gtk + postPatch = '' + configureFlags=" + --prefix=$out + --bindir=$out/bin + --sbindir=$out/sbin + --exec-prefix=$out + --libdir=$out/lib + --libexecdir=$out/lib + --sysconfdir=$out/etc + --localstatedir=/var + --with-log-viewer + --without-system-root-install + --without-rhgb-compat-link + --enable-tracing + --enable-systemd-integration + --enable-pango + --enable-gtk" ''; meta = with stdenv.lib; { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7c4a3e30387d..d30cd98cb871 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9129,9 +9129,7 @@ let config = config.pcmciaUtils.config or null; }; - plymouth = callPackage ../os-specific/linux/plymouth { - automake = automake113x; - }; + plymouth = callPackage ../os-specific/linux/plymouth { }; pmount = callPackage ../os-specific/linux/pmount { }; From 2485055a963395f80be238ba7663027fd703e3d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 4 Mar 2015 22:02:45 +0100 Subject: [PATCH 33/52] gtk2: maintenance update Perhaps a bugfix important for us: 745052 Icon theme code assumes directories with mtime 0 don't exist --- pkgs/development/libraries/gtk+/2.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix index c4dec6c2e1e2..774193cc06c8 100644 --- a/pkgs/development/libraries/gtk+/2.x.nix +++ b/pkgs/development/libraries/gtk+/2.x.nix @@ -8,11 +8,11 @@ assert xineramaSupport -> xlibs.libXinerama != null; assert cupsSupport -> cups != null; stdenv.mkDerivation rec { - name = "gtk+-2.24.26"; + name = "gtk+-2.24.27"; src = fetchurl { url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz"; - sha256 = "d84fc0f1e3cd99e8b9ec756e754f42653940638579a8f28d0eabffc37018d133"; + sha256 = "1x14rnjvqslpa1q19fp1qalz5sxds72amsgjk8m7769rwk511jr0"; }; enableParallelBuilding = true; From f1b7e4d12717630ec9f46a71c5a72ee35d0d7f18 Mon Sep 17 00:00:00 2001 From: Benjamin Saunders Date: Thu, 5 Mar 2015 06:43:33 +0100 Subject: [PATCH 34/52] LLVM, clang, and lldb 3.6 --- .../compilers/llvm/3.6/clang-exports.patch | 29 ++++++++ .../compilers/llvm/3.6/clang-purity.patch | 22 ++++++ pkgs/development/compilers/llvm/3.6/clang.nix | 46 ++++++++++++ .../compilers/llvm/3.6/default.nix | 31 ++++++++ .../compilers/llvm/3.6/libc++/darwin.patch | 30 ++++++++ .../compilers/llvm/3.6/libc++/default.nix | 41 +++++++++++ .../compilers/llvm/3.6/libc++/setup-hook.sh | 4 + .../compilers/llvm/3.6/libc++abi/default.nix | 47 ++++++++++++ pkgs/development/compilers/llvm/3.6/lldb.nix | 44 +++++++++++ pkgs/development/compilers/llvm/3.6/llvm.nix | 73 +++++++++++++++++++ 10 files changed, 367 insertions(+) create mode 100644 pkgs/development/compilers/llvm/3.6/clang-exports.patch create mode 100644 pkgs/development/compilers/llvm/3.6/clang-purity.patch create mode 100644 pkgs/development/compilers/llvm/3.6/clang.nix create mode 100644 pkgs/development/compilers/llvm/3.6/default.nix create mode 100644 pkgs/development/compilers/llvm/3.6/libc++/darwin.patch create mode 100644 pkgs/development/compilers/llvm/3.6/libc++/default.nix create mode 100644 pkgs/development/compilers/llvm/3.6/libc++/setup-hook.sh create mode 100644 pkgs/development/compilers/llvm/3.6/libc++abi/default.nix create mode 100644 pkgs/development/compilers/llvm/3.6/lldb.nix create mode 100644 pkgs/development/compilers/llvm/3.6/llvm.nix diff --git a/pkgs/development/compilers/llvm/3.6/clang-exports.patch b/pkgs/development/compilers/llvm/3.6/clang-exports.patch new file mode 100644 index 000000000000..fbe9489d8e2c --- /dev/null +++ b/pkgs/development/compilers/llvm/3.6/clang-exports.patch @@ -0,0 +1,29 @@ +diff -Naur clang-3.6.0.src-orig/CMakeLists.txt clang-3.6.0.src/CMakeLists.txt +--- clang-3.6.0.src-orig/CMakeLists.txt 2015-03-05 05:56:20.788520896 +0100 ++++ clang-3.6.0.src/CMakeLists.txt 2015-03-05 06:02:15.589365469 +0100 +@@ -362,6 +362,7 @@ + + if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "libclang") + install(TARGETS ${name} ++ EXPORT ClangTargets + LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} + ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} + RUNTIME DESTINATION bin) +@@ -516,15 +517,15 @@ + set(CLANG_INSTALL_PACKAGE_DIR share/clang/cmake) + set(clang_cmake_builddir "${CMAKE_BINARY_DIR}/${CLANG_INSTALL_PACKAGE_DIR}") + get_property(CLANG_EXPORTS GLOBAL PROPERTY CLANG_EXPORTS) +- export(TARGETS ${CLANG_EXPORTS} FILE ${clang_cmake_builddir}/ClangTargets.cmake) + + # Install a /share/clang/cmake/ClangConfig.cmake file so that + # find_package(Clang) works. Install the target list with it. + install(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/ClangConfig.cmake +- ${CLANG_BINARY_DIR}/share/clang/cmake/ClangTargets.cmake + DESTINATION share/clang/cmake) + ++ install(EXPORT ClangTargets DESTINATION share/clang/cmake) ++ + # Also copy ClangConfig.cmake to the build directory so that dependent projects + # can build against a build directory of Clang more easily. + configure_file( diff --git a/pkgs/development/compilers/llvm/3.6/clang-purity.patch b/pkgs/development/compilers/llvm/3.6/clang-purity.patch new file mode 100644 index 000000000000..dc3b54e304fc --- /dev/null +++ b/pkgs/development/compilers/llvm/3.6/clang-purity.patch @@ -0,0 +1,22 @@ +diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp +index 198e82e..810d006 100644 +--- a/lib/Driver/Tools.cpp ++++ b/lib/Driver/Tools.cpp +@@ -7355,17 +7355,6 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA, + CmdArgs.push_back("-shared"); + } + +- if (ToolChain.getArch() == llvm::Triple::arm || +- ToolChain.getArch() == llvm::Triple::armeb || +- ToolChain.getArch() == llvm::Triple::thumb || +- ToolChain.getArch() == llvm::Triple::thumbeb || +- (!Args.hasArg(options::OPT_static) && +- !Args.hasArg(options::OPT_shared))) { +- CmdArgs.push_back("-dynamic-linker"); +- CmdArgs.push_back(Args.MakeArgString( +- D.DyldPrefix + getLinuxDynamicLinker(Args, ToolChain))); +- } +- + CmdArgs.push_back("-o"); + CmdArgs.push_back(Output.getFilename()); + diff --git a/pkgs/development/compilers/llvm/3.6/clang.nix b/pkgs/development/compilers/llvm/3.6/clang.nix new file mode 100644 index 000000000000..49b75d7fe0d6 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.6/clang.nix @@ -0,0 +1,46 @@ +{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }: + +stdenv.mkDerivation { + name = "clang-${version}"; + + unpackPhase = '' + unpackFile ${fetch "cfe" "0b8825mvdhfk5r9gwcwp1j2dl9kw5glgyk7pybq2dzhrh4vnj3my"} + mv cfe-${version}.src clang + sourceRoot=$PWD/clang + unpackFile ${clang-tools-extra_src} + mv clang-tools-extra-* $sourceRoot/tools/extra + ''; + + buildInputs = [ cmake libedit libxml2 llvm ]; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_CXX_FLAGS=-std=c++11" + ] ++ + (stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include"); + + patches = [ ./clang-purity.patch ./clang-exports.patch ]; + + postPatch = '' + sed -i -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/Tools.cpp + sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp + ''; + + # Clang expects to find LLVMgold in its own prefix + # Clang expects to find sanitizer libraries in its own prefix + postInstall = '' + ln -sv ${llvm}/lib/LLVMgold.so $out/lib + ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ + ln -sv $out/bin/clang $out/bin/cpp + ''; + + enableParallelBuilding = true; + + meta = { + description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; + homepage = http://llvm.org/; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/3.6/default.nix b/pkgs/development/compilers/llvm/3.6/default.nix new file mode 100644 index 000000000000..a6f5d10d05d3 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.6/default.nix @@ -0,0 +1,31 @@ +{ pkgs, newScope, stdenv, isl, fetchurl }: +let + callPackage = newScope (self // { inherit stdenv isl version fetch; }); + + version = "3.6.0"; + + fetch = fetch_v version; + fetch_v = ver: name: sha256: fetchurl { + url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz"; + inherit sha256; + }; + + compiler-rt_src = fetch "compiler-rt" "04bbn946jninynkrjyp337xqs8ihn4fkz5xgvmywxkddwmwznjbz"; + clang-tools-extra_src = fetch "clang-tools-extra" "04n83gsmy2ghvn7vp9hamsgn332rx2g7sa4paskr0d4ihax4ka9s"; + + self = { + llvm = callPackage ./llvm.nix { + inherit compiler-rt_src; + }; + + clang = callPackage ./clang.nix { + inherit clang-tools-extra_src; + }; + + lldb = callPackage ./lldb.nix {}; + + libcxx = callPackage ./libc++ { stdenv = pkgs.clangStdenv; }; + + libcxxabi = callPackage ./libc++abi { stdenv = pkgs.clangStdenv; }; + }; +in self diff --git a/pkgs/development/compilers/llvm/3.6/libc++/darwin.patch b/pkgs/development/compilers/llvm/3.6/libc++/darwin.patch new file mode 100644 index 000000000000..bf83f169cfc3 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.6/libc++/darwin.patch @@ -0,0 +1,30 @@ +diff -ru -x '*~' libcxx-3.4.2.src-orig/lib/CMakeLists.txt libcxx-3.4.2.src/lib/CMakeLists.txt +--- libcxx-3.4.2.src-orig/lib/CMakeLists.txt 2013-11-15 18:18:57.000000000 +0100 ++++ libcxx-3.4.2.src/lib/CMakeLists.txt 2014-09-24 14:04:01.000000000 +0200 +@@ -56,7 +56,7 @@ + "-compatibility_version 1" + "-current_version ${LIBCXX_VERSION}" + "-install_name /usr/lib/libc++.1.dylib" +- "-Wl,-reexport_library,/usr/lib/libc++abi.dylib" ++ "-Wl,-reexport_library,${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib" + "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp" + "/usr/lib/libSystem.B.dylib") + else() +@@ -64,14 +64,14 @@ + list(FIND ${CMAKE_OSX_ARCHITECTURES} "armv7" OSX_HAS_ARMV7) + if (OSX_HAS_ARMV7) + set(OSX_RE_EXPORT_LINE +- "${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib" ++ "${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib" + "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++sjlj-abi.exp") + else() + set(OSX_RE_EXPORT_LINE +- "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib") ++ "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib") + endif() + else() +- set (OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp") ++ set (OSX_RE_EXPORT_LINE "${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp") + endif() + + list(APPEND link_flags diff --git a/pkgs/development/compilers/llvm/3.6/libc++/default.nix b/pkgs/development/compilers/llvm/3.6/libc++/default.nix new file mode 100644 index 000000000000..a01d15e186ba --- /dev/null +++ b/pkgs/development/compilers/llvm/3.6/libc++/default.nix @@ -0,0 +1,41 @@ +{ lib, stdenv, fetch, cmake, libcxxabi, fixDarwinDylibNames, version }: + +stdenv.mkDerivation rec { + name = "libc++-${version}"; + + src = fetch "libcxx" "1dzvhyrzj54v823biadag5lwxfz37gm8a65aq72pjsh8n211x719"; + + # instead of allowing libc++ to link with /usr/lib/libc++abi.dylib, + # force it to link with our copy + preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace lib/CMakeLists.txt \ + --replace 'OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib' \ + 'OSX_RE_EXPORT_LINE "${libcxxabi}/lib/libc++abi.dylib' \ + --replace '"''${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib"' \ + '"${libcxxabi}/lib/libc++abi.dylib"' + ''; + + patches = [ ./darwin.patch ]; + + buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; + + cmakeFlags = + [ "-DCMAKE_BUILD_TYPE=Release" + "-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${libcxxabi}/include" + "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib" + "-DLIBCXX_LIBCPPABI_VERSION=2" + "-DLIBCXX_CXX_ABI=libcxxabi" + ]; + + enableParallelBuilding = true; + + setupHook = ./setup-hook.sh; + + meta = { + homepage = http://libcxx.llvm.org/; + description = "A new implementation of the C++ standard library, targeting C++11"; + license = "BSD"; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/development/compilers/llvm/3.6/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/3.6/libc++/setup-hook.sh new file mode 100644 index 000000000000..8a45be7e85a2 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.6/libc++/setup-hook.sh @@ -0,0 +1,4 @@ +export NIX_CFLAGS_COMPILE+=" -isystem @out@/include/c++/v1" + +export NIX_CXXSTDLIB_COMPILE=" -stdlib=libc++" +export NIX_CXXSTDLIB_LINK=" -stdlib=libc++" diff --git a/pkgs/development/compilers/llvm/3.6/libc++abi/default.nix b/pkgs/development/compilers/llvm/3.6/libc++abi/default.nix new file mode 100644 index 000000000000..ddc9c267edda --- /dev/null +++ b/pkgs/development/compilers/llvm/3.6/libc++abi/default.nix @@ -0,0 +1,47 @@ +{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: + +stdenv.mkDerivation { + name = "libc++abi-${version}"; + + src = fetch "libcxxabi" "1xclv63l7cmrxkl129w6j9fsxgdm8jjlcm8gswl2y9qmh3dwz2zp"; + + buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin) libunwind; + + postUnpack = '' + unpackFile ${libcxx.src} + unpackFile ${llvm.src} + export NIX_CFLAGS_COMPILE+=" -I$PWD/include" + export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_INCLUDES=$PWD/$(ls -d libcxx-*)/include" + '' + stdenv.lib.optionalString stdenv.isDarwin '' + export TRIPLE=x86_64-apple-darwin + ''; + + installPhase = if stdenv.isDarwin + then '' + for file in lib/*; do + # this should be done in CMake, but having trouble figuring out + # the magic combination of necessary CMake variables + # if you fancy a try, take a look at + # http://www.cmake.org/Wiki/CMake_RPATH_handling + install_name_tool -id $out/$file $file + done + make install + install -d 755 $out/include + install -m 644 ../include/cxxabi.h $out/include + '' + else '' + install -d -m 755 $out/include $out/lib + install -m 644 lib/libc++abi.so.1.0 $out/lib + install -m 644 ../include/cxxabi.h $out/include + ln -s libc++abi.so.1.0 $out/lib/libc++abi.so + ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 + ''; + + meta = { + homepage = http://libcxxabi.llvm.org/; + description = "A new implementation of low level support for a standard C++ library"; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [ shlevy vlstill ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/development/compilers/llvm/3.6/lldb.nix b/pkgs/development/compilers/llvm/3.6/lldb.nix new file mode 100644 index 000000000000..efb592e493e5 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.6/lldb.nix @@ -0,0 +1,44 @@ +{ stdenv +, fetch +, cmake +, zlib +, ncurses +, swig +, which +, libedit +, llvm +, clang +, python +, version +}: + +stdenv.mkDerivation { + name = "lldb-${version}"; + + src = fetch "lldb" "1cphxbc8c0yqs2rxn94vcn8his465m97rnynklpzm8sf5kad26ib"; + + patchPhase = '' + sed -i 's|/usr/bin/env||' \ + scripts/Python/finish-swig-Python-LLDB.sh \ + scripts/Python/build-swig-Python.sh + ''; + + buildInputs = [ cmake python which swig ncurses zlib libedit ]; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_CXX_FLAGS=-std=c++11" + "-DLLDB_PATH_TO_LLVM_BUILD=${llvm}" + "-DLLDB_PATH_TO_CLANG_BUILD=${clang}" + ]; + + enableParallelBuilding = true; + + meta = { + description = "A next-generation high-performance debugger"; + homepage = http://llvm.org/; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/3.6/llvm.nix b/pkgs/development/compilers/llvm/3.6/llvm.nix new file mode 100644 index 000000000000..a679ab3babd5 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.6/llvm.nix @@ -0,0 +1,73 @@ +{ stdenv +, fetch +, perl +, groff +, cmake +, python +, libffi +, binutils +, libxml2 +, valgrind +, ncurses +, version +, zlib +, compiler-rt_src +}: + +let + src = fetch "llvm" "1kmr5vlnz1419nnvyc7lsrcfx09n65ravjbmzxrqz7ml07jnk6mk"; +in stdenv.mkDerivation rec { + name = "llvm-${version}"; + + unpackPhase = '' + unpackFile ${src} + mv llvm-${version}.src llvm + sourceRoot=$PWD/llvm + unpackFile ${compiler-rt_src} + mv compiler-rt-* $sourceRoot/projects/compiler-rt + ''; + + buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind; + + propagatedBuildInputs = [ ncurses zlib ]; + + # hacky fix: created binaries need to be run before installation + preBuild = '' + mkdir -p $out/ + ln -sv $PWD/lib $out + ''; + + cmakeFlags = with stdenv; [ + "-DCMAKE_BUILD_TYPE=Release" + "-DLLVM_BUILD_TESTS=ON" + "-DLLVM_ENABLE_FFI=ON" + ] ++ stdenv.lib.optionals (!isDarwin) [ + "-DBUILD_SHARED_LIBS=ON" + "-DLLVM_BINUTILS_INCDIR=${binutils}/include" + ] ++ stdenv.lib.optionals ( isDarwin) [ + "-DCMAKE_CXX_FLAGS=-stdlib=libc++" + "-DCAN_TARGET_i386=false" + ]; + + postBuild = '' + rm -fR $out + + paxmark m bin/{lli,llvm-rtdyld} + + paxmark m unittests/ExecutionEngine/JIT/JITTests + paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests + paxmark m unittests/Support/SupportTests + ''; + + enableParallelBuilding = true; + + passthru.src = src; + + meta = { + description = "Collection of modular and reusable compiler and toolchain technologies"; + homepage = http://llvm.org/; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ shlevy lovek323 raskin viric ]; + platforms = stdenv.lib.platforms.all; + }; +} From de89820f69c0d8ed076d9fbd2b79dda90a41e71e Mon Sep 17 00:00:00 2001 From: Benjamin Saunders Date: Wed, 4 Mar 2015 22:45:04 -0800 Subject: [PATCH 35/52] Add LLVM 3.6 to all-packages --- pkgs/top-level/all-packages.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5e9f9247b07a..cefe8cbb26c7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3197,6 +3197,7 @@ let clang = wrapCC llvmPackages.clang; + clang_36 = wrapCC llvmPackages_36.clang; clang_35 = wrapCC llvmPackages_35.clang; clang_34 = wrapCC llvmPackages_34.clang; clang_33 = wrapCC (clangUnwrapped llvm_33 ../development/compilers/llvm/3.3/clang.nix); @@ -3727,12 +3728,14 @@ let llvm = llvmPackages.llvm; + llvm_36 = llvmPackages_36.llvm; + llvm_35 = llvmPackages_35.llvm; llvm_34 = llvmPackages_34.llvm; llvm_33 = llvm_v ../development/compilers/llvm/3.3/llvm.nix; llvm_v = path: callPackage path { }; - llvmPackages = llvmPackages_35; + llvmPackages = llvmPackages_36; llvmPackages_34 = recurseIntoAttrs (import ../development/compilers/llvm/3.4 { inherit stdenv newScope fetchurl; @@ -3744,6 +3747,10 @@ let inherit pkgs stdenv newScope fetchurl isl; }; + llvmPackages_36 = import ../development/compilers/llvm/3.6 { + inherit pkgs stdenv newScope fetchurl isl; + }; + manticore = callPackage ../development/compilers/manticore { }; mentorToolchains = recurseIntoAttrs ( From 36c1a8a6c7b9fd137f4428dc802978cbc765bdd9 Mon Sep 17 00:00:00 2001 From: koral Date: Thu, 5 Mar 2015 01:50:19 +0100 Subject: [PATCH 36/52] git: 2.3.0 -> 2.3.1 --- .../version-management/git-and-tools/git/default.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index d31edb04bbe3..310fcbc92e6a 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -9,11 +9,8 @@ }: let - - version = "2.3.0"; - + version = "2.3.1"; svn = subversionClient.override { perlBindings = true; }; - in stdenv.mkDerivation { @@ -21,7 +18,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - sha256 = "1jhagfsmn9as6bss0c6zppw0iydcalgmadyywz7kdxbdsqa3mcll"; + sha256 = "1dwqqi3hynf4q8fnlkpvqp3qi5b2fra6gxc03ns3w53n2l2lpk0s"; }; patches = [ From 0ce3dcd91a7b7823f0582668ae66e1c6957d3c87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 6 Mar 2015 10:27:31 +0100 Subject: [PATCH 37/52] libxmi: fix build after libtool bump The file copied by libxmi builder seems moved. --- pkgs/development/libraries/libxmi/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libxmi/default.nix b/pkgs/development/libraries/libxmi/default.nix index 71c641770e49..46d38b16ccf1 100644 --- a/pkgs/development/libraries/libxmi/default.nix +++ b/pkgs/development/libraries/libxmi/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { }; # For the x86_64 GNU/Linux arch to be recognized by 'configure' - preConfigure = "cp ${libtool}/share/libtool/config/config.sub ."; + preConfigure = "cp ${libtool}/share/libtool/build-aux/config.sub ."; meta = { description = "Library for rasterizing 2-D vector graphics"; From 33153a216679f903478ad6a3a9a0b5aea489db91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 6 Mar 2015 12:09:01 +0100 Subject: [PATCH 38/52] paraview, vtk: fix build after mesa update --- pkgs/applications/graphics/paraview/default.nix | 3 +++ pkgs/development/libraries/vtk/default.nix | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix index 40f8d441d7e9..0973893bbec8 100644 --- a/pkgs/applications/graphics/paraview/default.nix +++ b/pkgs/applications/graphics/paraview/default.nix @@ -29,6 +29,9 @@ stdenv.mkDerivation rec { "-DPARAVIEW_INSTALL_DEVELOPMENT=ON" ]; + # https://bugzilla.redhat.com/show_bug.cgi?id=1138466 + NIX_CFLAGS_COMPILE = "-DGLX_GLXEXT_LEGACY"; + enableParallelBuilding = true; buildInputs = [ cmake qt4 hdf5 mpich2 python libxml2 mesa libXt ]; diff --git a/pkgs/development/libraries/vtk/default.nix b/pkgs/development/libraries/vtk/default.nix index 62fce3c1d2d3..59063645232d 100644 --- a/pkgs/development/libraries/vtk/default.nix +++ b/pkgs/development/libraries/vtk/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, mesa, libX11, xproto, libXt +{ stdenv, fetchurl, fetchpatch, cmake, mesa, libX11, xproto, libXt , qtLib ? null }: with stdenv.lib; @@ -17,6 +17,9 @@ stdenv.mkDerivation rec { sha256 = "1fxxgsa7967gdphkl07lbfr6dcbq9a72z5kynlklxn7hyp0l18pi"; }; + # https://bugzilla.redhat.com/show_bug.cgi?id=1138466 + postPatch = "sed '/^#define GL_GLEXT_LEGACY/d' -i ./Rendering/vtkOpenGL.h"; + buildInputs = [ cmake mesa libX11 xproto libXt ] ++ optional (qtLib != null) qtLib; From 0ea7d9b6f9437cc2db761967a782786453bc61ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 6 Mar 2015 14:44:01 +0100 Subject: [PATCH 39/52] opencascade*: fix build after mesa update --- pkgs/development/libraries/opencascade/6.5.nix | 4 +++- pkgs/development/libraries/opencascade/default.nix | 3 +++ pkgs/development/libraries/opencascade/oce.nix | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/opencascade/6.5.nix b/pkgs/development/libraries/opencascade/6.5.nix index 7cc47a30eb70..a150f53bb860 100644 --- a/pkgs/development/libraries/opencascade/6.5.nix +++ b/pkgs/development/libraries/opencascade/6.5.nix @@ -20,7 +20,9 @@ stdenv.mkDerivation rec { # -fpermissive helps building opencascade, although gcc detects a flaw in the code # and reports an error otherwise. Further versions may fix that. - NIX_CFLAGS_COMPILE = "-fpermissive"; + NIX_CFLAGS_COMPILE = "-fpermissive" + # https://bugs.freedesktop.org/show_bug.cgi?id=83631 + + " -DGLX_GLXEXT_LEGACY"; configureFlags = [ "--with-tcl=${tcl}/lib" "--with-tk=${tk}/lib" "--with-qt=${qt4}" "--with-ftgl=${ftgl}" "--with-freetype=${freetype}" ]; diff --git a/pkgs/development/libraries/opencascade/default.nix b/pkgs/development/libraries/opencascade/default.nix index 1ce38ab7b3cf..ec15d9d631e6 100644 --- a/pkgs/development/libraries/opencascade/default.nix +++ b/pkgs/development/libraries/opencascade/default.nix @@ -14,6 +14,9 @@ stdenv.mkDerivation rec { cmakeFlags="$cmakeFlags -DINSTALL_DIR=$out -D3RDPARTY_TCL_DIR=${tcl} -D3RDPARTY_FREETYPE_DIR=${freetype}" ''; + # https://bugs.freedesktop.org/show_bug.cgi?id=83631 + NIX_CFLAGS_COMPILE = "-DGLX_GLXEXT_LEGACY"; + postInstall = '' mv $out/inc $out/include mkdir -p $out/share/doc/${name} diff --git a/pkgs/development/libraries/opencascade/oce.nix b/pkgs/development/libraries/opencascade/oce.nix index 480664a0d4d3..4988ee6ef240 100644 --- a/pkgs/development/libraries/opencascade/oce.nix +++ b/pkgs/development/libraries/opencascade/oce.nix @@ -14,6 +14,9 @@ stdenv.mkDerivation rec { cmakeFlags="$cmakeFlags -DOCE_INSTALL_PREFIX=$out" ''; + # https://bugs.freedesktop.org/show_bug.cgi?id=83631 + NIX_CFLAGS_COMPILE = "-DGLX_GLXEXT_LEGACY"; + enableParallelBuilding = true; meta = { From 33fbec14b643b47a611e13c4d9bf3858c28568c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 6 Mar 2015 14:44:21 +0100 Subject: [PATCH 40/52] opencascade-6.5: maintenance update They claim it's ABI-compatible. --- pkgs/development/libraries/opencascade/6.5.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/opencascade/6.5.nix b/pkgs/development/libraries/opencascade/6.5.nix index a150f53bb860..b0ef9e83242a 100644 --- a/pkgs/development/libraries/opencascade/6.5.nix +++ b/pkgs/development/libraries/opencascade/6.5.nix @@ -2,10 +2,10 @@ ftgl, freetype}: stdenv.mkDerivation rec { - name = "opencascade-6.5.4"; + name = "opencascade-6.5.5"; src = fetchurl { - url = http://files.opencascade.com/OCCT/OCC_6.5.4_release/OpenCASCADE654.tar.gz; - sha256 = "1di08mc0wly4cdi3rh9kj52bk0bfpyk6dy03c9yfnv04i7z03kmy"; + url = http://files.opencascade.com/OCCT/OCC_6.5.5_release/OpenCASCADE655.tgz; + sha256 = "1dnik00adfh6dxvn9kgf35yjda8chbi05f71i9119idmmrcapipm"; }; buildInputs = [ mesa tcl tk file libXmu automake autoconf libtool qt4 ftgl freetype ]; From 55cf0151424be6a2dba0eda5459ece0840472f1a Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 6 Mar 2015 13:49:49 +0000 Subject: [PATCH 41/52] clang-3.6: provide path to gcc on Linux gcc contains core runtime bits that aren't available elsewhere for Linux. Refs #6449 --- pkgs/development/compilers/llvm/3.6/clang.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/llvm/3.6/clang.nix b/pkgs/development/compilers/llvm/3.6/clang.nix index 49b75d7fe0d6..45ad74457122 100644 --- a/pkgs/development/compilers/llvm/3.6/clang.nix +++ b/pkgs/development/compilers/llvm/3.6/clang.nix @@ -1,6 +1,8 @@ { stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }: -stdenv.mkDerivation { +let + gcc = if stdenv.cc.cc.isGNU or false then stdenv.cc.cc else stdenv.cc.cc.gcc; +in stdenv.mkDerivation { name = "clang-${version}"; unpackPhase = '' @@ -17,6 +19,8 @@ stdenv.mkDerivation { "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_CXX_FLAGS=-std=c++11" ] ++ + # Maybe with compiler-rt this won't be needed? + (stdenv.lib.optional stdenv.isLinux "-DGCC_INSTALL_PREFIX=${gcc}") ++ (stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include"); patches = [ ./clang-purity.patch ./clang-exports.patch ]; @@ -36,6 +40,10 @@ stdenv.mkDerivation { enableParallelBuilding = true; + passthru = stdenv.lib.optionalAttrs stdenv.isLinux { + inherit gcc; + }; + meta = { description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; homepage = http://llvm.org/; From f91dea4c0be410c52d8131d6a1237f04b1b8da71 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 6 Mar 2015 19:04:43 +0000 Subject: [PATCH 42/52] cc-wrapper: Set default system include flags for non-gcc c++ on Linux Without this, clang can't find libstdc++. This needs to happen in the wrapper so that the libc++ setup hook can still override it --- pkgs/build-support/cc-wrapper/cc-wrapper.sh | 4 ++-- pkgs/build-support/cc-wrapper/default.nix | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh index 548b19106457..e374e1656a47 100644 --- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh @@ -80,8 +80,8 @@ if [ "$NIX_ENFORCE_PURITY" = 1 -a -n "$NIX_STORE" ]; then fi if [[ "@prog@" = *++ ]]; then - if echo "$@" | grep -qvw -- -nostdlib; then - NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $NIX_CXXSTDLIB_COMPILE" + if echo "$@" | grep -qv -- -nostdlib; then + NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE ${NIX_CXXSTDLIB_COMPILE-@default_cxx_stdlib_compile@}" NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK $NIX_CXXSTDLIB_LINK" fi fi diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index ac33a0b083c2..df43da58e3ec 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -169,6 +169,12 @@ stdenv.mkDerivation { export real_cc=cc export real_cxx=c++ + export default_cxx_stdlib_compile="${ + if stdenv.isLinux && !(cc.isGNU or false) + then "-isystem $(echo -n ${cc.gcc}/include/c++/*) -isystem $(echo -n ${cc.gcc}/include/c++/*)/$(${cc.gcc}/bin/gcc -dumpmachine)" + else "" + }" + if [ -e $ccPath/gcc ]; then wrap gcc ${./cc-wrapper.sh} $ccPath/gcc ln -s gcc $out/bin/cc From b37fd11351ed60eb8c2c83170d04bfe5364a3107 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sat, 7 Mar 2015 12:51:06 +0000 Subject: [PATCH 43/52] llvm-3.6 packages: Rearrange directory structure --- .../3.6/{clang-exports.patch => clang/cmake-exports.patch} | 0 .../compilers/llvm/3.6/{clang.nix => clang/default.nix} | 2 +- .../llvm/3.6/{clang-purity.patch => clang/purity.patch} | 0 pkgs/development/compilers/llvm/3.6/default.nix | 4 ++-- .../llvm/3.6/{libc++abi/default.nix => libc++abi.nix} | 0 5 files changed, 3 insertions(+), 3 deletions(-) rename pkgs/development/compilers/llvm/3.6/{clang-exports.patch => clang/cmake-exports.patch} (100%) rename pkgs/development/compilers/llvm/3.6/{clang.nix => clang/default.nix} (96%) rename pkgs/development/compilers/llvm/3.6/{clang-purity.patch => clang/purity.patch} (100%) rename pkgs/development/compilers/llvm/3.6/{libc++abi/default.nix => libc++abi.nix} (100%) diff --git a/pkgs/development/compilers/llvm/3.6/clang-exports.patch b/pkgs/development/compilers/llvm/3.6/clang/cmake-exports.patch similarity index 100% rename from pkgs/development/compilers/llvm/3.6/clang-exports.patch rename to pkgs/development/compilers/llvm/3.6/clang/cmake-exports.patch diff --git a/pkgs/development/compilers/llvm/3.6/clang.nix b/pkgs/development/compilers/llvm/3.6/clang/default.nix similarity index 96% rename from pkgs/development/compilers/llvm/3.6/clang.nix rename to pkgs/development/compilers/llvm/3.6/clang/default.nix index 45ad74457122..2216dad3ef8e 100644 --- a/pkgs/development/compilers/llvm/3.6/clang.nix +++ b/pkgs/development/compilers/llvm/3.6/clang/default.nix @@ -23,7 +23,7 @@ in stdenv.mkDerivation { (stdenv.lib.optional stdenv.isLinux "-DGCC_INSTALL_PREFIX=${gcc}") ++ (stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include"); - patches = [ ./clang-purity.patch ./clang-exports.patch ]; + patches = [ ./purity.patch ./cmake-exports.patch ]; postPatch = '' sed -i -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/Tools.cpp diff --git a/pkgs/development/compilers/llvm/3.6/clang-purity.patch b/pkgs/development/compilers/llvm/3.6/clang/purity.patch similarity index 100% rename from pkgs/development/compilers/llvm/3.6/clang-purity.patch rename to pkgs/development/compilers/llvm/3.6/clang/purity.patch diff --git a/pkgs/development/compilers/llvm/3.6/default.nix b/pkgs/development/compilers/llvm/3.6/default.nix index a6f5d10d05d3..dddd09c44eda 100644 --- a/pkgs/development/compilers/llvm/3.6/default.nix +++ b/pkgs/development/compilers/llvm/3.6/default.nix @@ -18,7 +18,7 @@ let inherit compiler-rt_src; }; - clang = callPackage ./clang.nix { + clang = callPackage ./clang { inherit clang-tools-extra_src; }; @@ -26,6 +26,6 @@ let libcxx = callPackage ./libc++ { stdenv = pkgs.clangStdenv; }; - libcxxabi = callPackage ./libc++abi { stdenv = pkgs.clangStdenv; }; + libcxxabi = callPackage ./libc++abi.nix { stdenv = pkgs.clangStdenv; }; }; in self diff --git a/pkgs/development/compilers/llvm/3.6/libc++abi/default.nix b/pkgs/development/compilers/llvm/3.6/libc++abi.nix similarity index 100% rename from pkgs/development/compilers/llvm/3.6/libc++abi/default.nix rename to pkgs/development/compilers/llvm/3.6/libc++abi.nix From e57e44f867b7d308d2296907f400b87f5393ce83 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sat, 7 Mar 2015 13:08:34 +0000 Subject: [PATCH 44/52] llvm-3.6 packages: Build everything (except clang and llvm) with clang --- .../development/compilers/llvm/3.6/default.nix | 18 +++++++++++------- pkgs/development/compilers/llvm/3.6/lldb.nix | 4 ++-- pkgs/top-level/all-packages.nix | 15 ++++++++------- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/pkgs/development/compilers/llvm/3.6/default.nix b/pkgs/development/compilers/llvm/3.6/default.nix index dddd09c44eda..624fc68c21ad 100644 --- a/pkgs/development/compilers/llvm/3.6/default.nix +++ b/pkgs/development/compilers/llvm/3.6/default.nix @@ -1,6 +1,6 @@ -{ pkgs, newScope, stdenv, isl, fetchurl }: +{ pkgs, newScope, stdenv, isl, fetchurl, overrideCC, wrapCC }: let - callPackage = newScope (self // { inherit stdenv isl version fetch; }); + callPackage = newScope (self // { inherit isl version fetch; }); version = "3.6.0"; @@ -15,17 +15,21 @@ let self = { llvm = callPackage ./llvm.nix { - inherit compiler-rt_src; + inherit compiler-rt_src stdenv; }; - clang = callPackage ./clang { - inherit clang-tools-extra_src; + clang-unwrapped = callPackage ./clang { + inherit clang-tools-extra_src stdenv; }; + clang = wrapCC self.clang-unwrapped; + + stdenv = overrideCC stdenv self.clang; + lldb = callPackage ./lldb.nix {}; - libcxx = callPackage ./libc++ { stdenv = pkgs.clangStdenv; }; + libcxx = callPackage ./libc++ {}; - libcxxabi = callPackage ./libc++abi.nix { stdenv = pkgs.clangStdenv; }; + libcxxabi = callPackage ./libc++abi.nix {}; }; in self diff --git a/pkgs/development/compilers/llvm/3.6/lldb.nix b/pkgs/development/compilers/llvm/3.6/lldb.nix index efb592e493e5..d4f496a1749d 100644 --- a/pkgs/development/compilers/llvm/3.6/lldb.nix +++ b/pkgs/development/compilers/llvm/3.6/lldb.nix @@ -7,7 +7,7 @@ , which , libedit , llvm -, clang +, clang-unwrapped , python , version }: @@ -29,7 +29,7 @@ stdenv.mkDerivation { "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_CXX_FLAGS=-std=c++11" "-DLLDB_PATH_TO_LLVM_BUILD=${llvm}" - "-DLLDB_PATH_TO_CLANG_BUILD=${clang}" + "-DLLDB_PATH_TO_CLANG_BUILD=${clang-unwrapped}" ]; enableParallelBuilding = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e808674eee25..395fae18ada8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3203,9 +3203,9 @@ let ccl = callPackage ../development/compilers/ccl { }; - clang = wrapCC llvmPackages.clang; + clang = llvmPackages.clang; - clang_36 = wrapCC llvmPackages_36.clang; + clang_36 = llvmPackages.clang; clang_35 = wrapCC llvmPackages_35.clang; clang_34 = wrapCC llvmPackages_34.clang; clang_33 = wrapCC (clangUnwrapped llvm_33 ../development/compilers/llvm/3.3/clang.nix); @@ -3233,8 +3233,8 @@ let }; #Use this instead of stdenv to build with clang - clangStdenv = if stdenv.isDarwin then stdenv else lowPrio (stdenvAdapters.overrideCC stdenv clang); - libcxxStdenv = stdenvAdapters.overrideCC stdenv (clangWrapSelf llvmPackages.clang); + clangStdenv = if stdenv.isDarwin then stdenv else lowPrio llvmPackages.stdenv; + libcxxStdenv = stdenvAdapters.overrideCC stdenv (clangWrapSelf llvmPackages.clang-unwrapped); clean = callPackage ../development/compilers/clean { }; @@ -3756,7 +3756,8 @@ let }; llvmPackages_36 = import ../development/compilers/llvm/3.6 { - inherit pkgs stdenv newScope fetchurl isl; + inherit pkgs stdenv newScope fetchurl isl wrapCC; + inherit (stdenvAdapters) overrideCC; }; manticore = callPackage ../development/compilers/manticore { }; @@ -4837,8 +4838,8 @@ let csslint = callPackage ../development/web/csslint { }; - libcxx = llvmPackages_35.libcxx; - libcxxabi = llvmPackages_35.libcxxabi; + libcxx = llvmPackages.libcxx; + libcxxabi = llvmPackages.libcxxabi; libsigrok = callPackage ../development/tools/libsigrok { }; From de892761cf10a161663fbf97c80f17281ed5e65f Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Mon, 9 Mar 2015 23:01:59 +0000 Subject: [PATCH 45/52] dragonegg: Pull from llvm 3.5 If someone uses it, we can add the 3.6 version of course --- 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 395fae18ada8..6b41f1d51d34 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5468,7 +5468,7 @@ let dssi = callPackage ../development/libraries/dssi {}; - dragonegg = llvmPackages.dragonegg; + dragonegg = llvmPackages_35.dragonegg; dxflib = callPackage ../development/libraries/dxflib {}; From 50933385c53ae640bfe9188d4111a540feeb648f Mon Sep 17 00:00:00 2001 From: koral Date: Tue, 10 Mar 2015 10:32:56 +0000 Subject: [PATCH 46/52] git: 2.3.1 -> 2.3.2 --- .../version-management/git-and-tools/git/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 310fcbc92e6a..1a0ea9e02dae 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -9,7 +9,7 @@ }: let - version = "2.3.1"; + version = "2.3.2"; svn = subversionClient.override { perlBindings = true; }; in @@ -18,7 +18,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - sha256 = "1dwqqi3hynf4q8fnlkpvqp3qi5b2fra6gxc03ns3w53n2l2lpk0s"; + sha256 = "09gqijsjfnxlbsxbxzlvllg37bfs9f4jwa2plqsanmba09i89sqq"; }; patches = [ From e729dfbd3f63f1a840e0f6bc02cb6dde804b2091 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 13 Mar 2015 12:47:11 -0400 Subject: [PATCH 47/52] gcc-4.9: Set isGNU Fixes #6787 --- pkgs/development/compilers/gcc/4.9/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index 02747d90567b..7de8a140c0ab 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -475,7 +475,7 @@ stdenv.mkDerivation ({ else null; passthru = - { inherit langC langCC langAda langFortran langVhdl langGo enableMultilib version; }; + { inherit langC langCC langAda langFortran langVhdl langGo enableMultilib version; isGNU = true; }; inherit enableParallelBuilding; From cd89c697984c31198b5918a7a017e32b1234aeab Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 11 Nov 2014 13:56:48 +0100 Subject: [PATCH 48/52] Switch default version of GNU Make to 4.1. --- 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 83459a53e02a..302ba09b22ab 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4952,7 +4952,7 @@ let gnumake382 = callPackage ../development/tools/build-managers/gnumake/3.82 { }; gnumake40 = callPackage ../development/tools/build-managers/gnumake/4.0 { }; gnumake41 = callPackage ../development/tools/build-managers/gnumake/4.1 { }; - gnumake = gnumake382; + gnumake = gnumake41; gob2 = callPackage ../development/tools/misc/gob2 { }; From 2c1041acc74844251a2456024e99f25126419f35 Mon Sep 17 00:00:00 2001 From: koral Date: Tue, 17 Mar 2015 00:11:54 +0000 Subject: [PATCH 49/52] curl: 7.40.0 -> 7.41.0 (close #6844) --- pkgs/tools/networking/curl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index fa0a15ea044d..08c00fc4b342 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -12,11 +12,11 @@ assert scpSupport -> libssh2 != null; assert c-aresSupport -> c-ares != null; stdenv.mkDerivation rec { - name = "curl-7.40.0"; + name = "curl-7.41.0"; src = fetchurl { url = "http://curl.haxx.se/download/${name}.tar.bz2"; - sha256 = "1fizi07p0h76zaa3wxh4d9vr4hln97sgfpcr5y56pyh077mhk4c9"; + sha256 = "1slbbxp2k8m34mdzrl5qhafr5zhhcv7fgjhs2mcxjmswvimm92wz"; }; # Zlib and OpenSSL must be propagated because `libcurl.la' contains From e73933da9c2fb4d731d8bedd7603e6850b38632e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 18 Mar 2015 20:20:18 +0100 Subject: [PATCH 50/52] coreutils: skip dd/sparse test (fixes #6306) It's not done very nicely, as the main build log still prints as if the test ran and succeeded, but I'm lazy to dig deeper into the framework. --- pkgs/tools/misc/coreutils/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 28f45d972e2a..a15c78e0a819 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -18,6 +18,11 @@ let sha256 = "0bdq6yggyl7nkc2pbl6pxhhyx15nyqhz3ds6rfn448n6rxdwlhzc"; }; + # The test tends to fail on btrfs and maybe other unusual filesystems. + postPatch = '' + sed '2i echo Skipping dd sparse test && exit 0' -i ./tests/dd/sparse.sh + ''; + nativeBuildInputs = [ perl ]; buildInputs = [ gmp ] ++ optional aclSupport acl From 2fe351c7e31f47400d752a59ab7b1e2e89acf392 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 19 Mar 2015 15:57:17 +0100 Subject: [PATCH 51/52] openssl: Update to 1.0.1m Fixes various "Moderate" / "Low" CVEs: http://openssl.org/news/secadv_20150319.txt --- .../libraries/openssl/cert-file.patch | 42 +++++++++---------- .../development/libraries/openssl/default.nix | 6 ++- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/pkgs/development/libraries/openssl/cert-file.patch b/pkgs/development/libraries/openssl/cert-file.patch index 26b51c0295e0..e6e661112015 100644 --- a/pkgs/development/libraries/openssl/cert-file.patch +++ b/pkgs/development/libraries/openssl/cert-file.patch @@ -1,6 +1,6 @@ -diff -ru -x '*~' openssl-1.0.0e-orig/crypto/x509/x509_def.c openssl-1.0.0e/crypto/x509/x509_def.c ---- openssl-1.0.0e-orig/crypto/x509/x509_def.c 1999-09-11 19:54:11.000000000 +0200 -+++ openssl-1.0.0e/crypto/x509/x509_def.c 2011-09-12 18:30:59.386501609 +0200 +diff -ru openssl-1.0.1m-orig/crypto/x509/x509_def.c openssl-1.0.1m/crypto/x509/x509_def.c +--- openssl-1.0.1m-orig/crypto/x509/x509_def.c 2015-03-19 14:19:00.000000000 +0100 ++++ openssl-1.0.1m/crypto/x509/x509_def.c 2015-03-19 15:50:44.676683616 +0100 @@ -57,6 +57,10 @@ */ @@ -12,30 +12,28 @@ diff -ru -x '*~' openssl-1.0.0e-orig/crypto/x509/x509_def.c openssl-1.0.0e/crypt #include "cryptlib.h" #include #include -@@ -71,7 +75,25 @@ - { return(X509_CERT_DIR); } +@@ -78,7 +82,23 @@ const char *X509_get_default_cert_file(void) -- { return(X509_CERT_FILE); } -+ { -+ static char buf[PATH_MAX] = X509_CERT_FILE; -+ static int init = 0; -+ if (!init) { -+ init = 1; -+ char * s = getenv("OPENSSL_X509_CERT_FILE"); -+ if (s) { + { +- return (X509_CERT_FILE); ++ static char buf[PATH_MAX] = X509_CERT_FILE; ++ static int init = 0; ++ if (!init) { ++ init = 1; ++ char * s = getenv("OPENSSL_X509_CERT_FILE"); ++ if (s) { +#ifndef OPENSSL_SYS_WINDOWS -+ if (getuid() == geteuid()) { ++ if (getuid() == geteuid()) { +#endif -+ strncpy(buf, s, sizeof(buf)); -+ buf[sizeof(buf) - 1] = 0; ++ strncpy(buf, s, sizeof(buf)); ++ buf[sizeof(buf) - 1] = 0; +#ifndef OPENSSL_SYS_WINDOWS -+ } ++ } +#endif -+ } -+ } -+ return buf; -+ } ++ } ++ } ++ return buf; + } const char *X509_get_default_cert_dir_env(void) - { return(X509_CERT_DIR_EVP); } diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 9a1df52d3f7f..7255e91f282d 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -2,7 +2,7 @@ , withCryptodev ? false, cryptodevHeaders }: let - name = "openssl-1.0.1l"; + name = "openssl-1.0.1m"; opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ] (throw "openssl needs its platform name cross building" null) @@ -18,6 +18,8 @@ let # hardcoding something like /etc/ssl/cert.pem is impure and # cannot be overriden per-process. For security, the # environment variable is ignored for setuid binaries. + # FIXME: drop this patch; it really isn't necessary, because + # OpenSSL already supports a ‘SSL_CERT_FILE’ variable. ./cert-file.patch ] @@ -43,7 +45,7 @@ stdenv.mkDerivation { "http://www.openssl.org/source/${name}.tar.gz" "http://openssl.linux-mirror.org/source/${name}.tar.gz" ]; - sha256 = "1m6i80y9c9g7h4303bqbxnsk5wm6jd0n57hwqr0g4jaxzr44vkxj"; + sha256 = "0x7gvyybmqm4lv62mlhlm80f1rn7il2qh8224rahqv0i15xhnpq9"; }; patches = patchesCross false; From cd97c581106208e902f32569d3ff14592e8dc416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 19 Mar 2015 20:28:35 +0100 Subject: [PATCH 52/52] openssl_1_0_1j: fix after updating the main version --- pkgs/development/libraries/openssl/1.0.1j.nix | 2 +- .../libraries/openssl/cert-file-1.0.1j.patch | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/openssl/cert-file-1.0.1j.patch diff --git a/pkgs/development/libraries/openssl/1.0.1j.nix b/pkgs/development/libraries/openssl/1.0.1j.nix index 29656f7ef888..541561b0b702 100644 --- a/pkgs/development/libraries/openssl/1.0.1j.nix +++ b/pkgs/development/libraries/openssl/1.0.1j.nix @@ -18,7 +18,7 @@ let # hardcoding something like /etc/ssl/cert.pem is impure and # cannot be overriden per-process. For security, the # environment variable is ignored for setuid binaries. - ./cert-file.patch + ./cert-file-1.0.1j.patch # Remove the compilation time from the library ./no-date-in-library.patch ] diff --git a/pkgs/development/libraries/openssl/cert-file-1.0.1j.patch b/pkgs/development/libraries/openssl/cert-file-1.0.1j.patch new file mode 100644 index 000000000000..26b51c0295e0 --- /dev/null +++ b/pkgs/development/libraries/openssl/cert-file-1.0.1j.patch @@ -0,0 +1,41 @@ +diff -ru -x '*~' openssl-1.0.0e-orig/crypto/x509/x509_def.c openssl-1.0.0e/crypto/x509/x509_def.c +--- openssl-1.0.0e-orig/crypto/x509/x509_def.c 1999-09-11 19:54:11.000000000 +0200 ++++ openssl-1.0.0e/crypto/x509/x509_def.c 2011-09-12 18:30:59.386501609 +0200 +@@ -57,6 +57,10 @@ + */ + + #include ++#include ++#include ++#include ++#include + #include "cryptlib.h" + #include + #include +@@ -71,7 +75,25 @@ + { return(X509_CERT_DIR); } + + const char *X509_get_default_cert_file(void) +- { return(X509_CERT_FILE); } ++ { ++ static char buf[PATH_MAX] = X509_CERT_FILE; ++ static int init = 0; ++ if (!init) { ++ init = 1; ++ char * s = getenv("OPENSSL_X509_CERT_FILE"); ++ if (s) { ++#ifndef OPENSSL_SYS_WINDOWS ++ if (getuid() == geteuid()) { ++#endif ++ strncpy(buf, s, sizeof(buf)); ++ buf[sizeof(buf) - 1] = 0; ++#ifndef OPENSSL_SYS_WINDOWS ++ } ++#endif ++ } ++ } ++ return buf; ++ } + + const char *X509_get_default_cert_dir_env(void) + { return(X509_CERT_DIR_EVP); }