From fac757a77efa87c4050bef653d197381547f1b59 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 25 Jun 2014 11:31:20 +0200 Subject: [PATCH 01/74] Make Perl 5.20 the default Perl --- pkgs/top-level/all-packages.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index df954e3fae6..c1637d53e72 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3492,13 +3492,13 @@ let perl514 = callPackage ../development/interpreters/perl/5.14 { }; - perl516 = callPackage ../development/interpreters/perl/5.16 { + perl516 = callPackage ../development/interpreters/perl/5.16 { }; + + perl520 = callPackage ../development/interpreters/perl/5.20 { fetchurl = fetchurlBoot; }; - perl520 = callPackage ../development/interpreters/perl/5.20 { }; - - perl = if system != "i686-cygwin" then perl516 else sysPerl; + perl = if system != "i686-cygwin" then perl520 else sysPerl; php = php54; From 1b55b07eeb43ba41470eed1ce21991df96110e70 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 27 Oct 2014 11:34:38 +0100 Subject: [PATCH 02/74] glibc/2.19 -> glibc We only have one version of Glibc so no need for a separate directory. --- .../libraries/glibc/{2.19 => }/builder.sh | 0 .../libraries/glibc/{2.19 => }/common.nix | 0 .../libraries/glibc/{2.19 => }/cve-2014-0475.patch | 0 .../libraries/glibc/{2.19 => }/cve-2014-5119.patch | 0 .../libraries/glibc/{2.19 => }/default.nix | 0 .../{2.19 => }/dont-use-system-ld-so-cache.patch | 0 .../{2.19 => }/dont-use-system-ld-so-preload.patch | 0 .../libraries/glibc/{2.19 => }/fix-math.patch | 0 .../{2.19 => }/fix_path_attribute_in_getconf.patch | 0 .../glibc/{2.19 => }/glibc-crypt-blowfish.patch | 0 .../glibc-remove-date-from-compilation-banner.patch | 0 .../{2.19 => }/glibc-remove-datetime-from-nscd.patch | 0 pkgs/development/libraries/glibc/{2.19 => }/info.nix | 0 .../libraries/glibc/{2.19 => }/locales-builder.sh | 0 .../libraries/glibc/{2.19 => }/locales.nix | 0 .../development/libraries/glibc/{2.19 => }/multi.nix | 0 .../glibc/{2.19 => }/nix-locale-archive.patch | 0 .../libraries/glibc/{2.19 => }/rpcgen-path.patch | 0 pkgs/top-level/all-packages.nix | 12 ++++++------ 19 files changed, 6 insertions(+), 6 deletions(-) rename pkgs/development/libraries/glibc/{2.19 => }/builder.sh (100%) rename pkgs/development/libraries/glibc/{2.19 => }/common.nix (100%) rename pkgs/development/libraries/glibc/{2.19 => }/cve-2014-0475.patch (100%) rename pkgs/development/libraries/glibc/{2.19 => }/cve-2014-5119.patch (100%) rename pkgs/development/libraries/glibc/{2.19 => }/default.nix (100%) rename pkgs/development/libraries/glibc/{2.19 => }/dont-use-system-ld-so-cache.patch (100%) rename pkgs/development/libraries/glibc/{2.19 => }/dont-use-system-ld-so-preload.patch (100%) rename pkgs/development/libraries/glibc/{2.19 => }/fix-math.patch (100%) rename pkgs/development/libraries/glibc/{2.19 => }/fix_path_attribute_in_getconf.patch (100%) rename pkgs/development/libraries/glibc/{2.19 => }/glibc-crypt-blowfish.patch (100%) rename pkgs/development/libraries/glibc/{2.19 => }/glibc-remove-date-from-compilation-banner.patch (100%) rename pkgs/development/libraries/glibc/{2.19 => }/glibc-remove-datetime-from-nscd.patch (100%) rename pkgs/development/libraries/glibc/{2.19 => }/info.nix (100%) rename pkgs/development/libraries/glibc/{2.19 => }/locales-builder.sh (100%) rename pkgs/development/libraries/glibc/{2.19 => }/locales.nix (100%) rename pkgs/development/libraries/glibc/{2.19 => }/multi.nix (100%) rename pkgs/development/libraries/glibc/{2.19 => }/nix-locale-archive.patch (100%) rename pkgs/development/libraries/glibc/{2.19 => }/rpcgen-path.patch (100%) diff --git a/pkgs/development/libraries/glibc/2.19/builder.sh b/pkgs/development/libraries/glibc/builder.sh similarity index 100% rename from pkgs/development/libraries/glibc/2.19/builder.sh rename to pkgs/development/libraries/glibc/builder.sh diff --git a/pkgs/development/libraries/glibc/2.19/common.nix b/pkgs/development/libraries/glibc/common.nix similarity index 100% rename from pkgs/development/libraries/glibc/2.19/common.nix rename to pkgs/development/libraries/glibc/common.nix diff --git a/pkgs/development/libraries/glibc/2.19/cve-2014-0475.patch b/pkgs/development/libraries/glibc/cve-2014-0475.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.19/cve-2014-0475.patch rename to pkgs/development/libraries/glibc/cve-2014-0475.patch diff --git a/pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch b/pkgs/development/libraries/glibc/cve-2014-5119.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch rename to pkgs/development/libraries/glibc/cve-2014-5119.patch diff --git a/pkgs/development/libraries/glibc/2.19/default.nix b/pkgs/development/libraries/glibc/default.nix similarity index 100% rename from pkgs/development/libraries/glibc/2.19/default.nix rename to pkgs/development/libraries/glibc/default.nix diff --git a/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-cache.patch b/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-cache.patch rename to pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch diff --git a/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch b/pkgs/development/libraries/glibc/dont-use-system-ld-so-preload.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch rename to pkgs/development/libraries/glibc/dont-use-system-ld-so-preload.patch diff --git a/pkgs/development/libraries/glibc/2.19/fix-math.patch b/pkgs/development/libraries/glibc/fix-math.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.19/fix-math.patch rename to pkgs/development/libraries/glibc/fix-math.patch diff --git a/pkgs/development/libraries/glibc/2.19/fix_path_attribute_in_getconf.patch b/pkgs/development/libraries/glibc/fix_path_attribute_in_getconf.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.19/fix_path_attribute_in_getconf.patch rename to pkgs/development/libraries/glibc/fix_path_attribute_in_getconf.patch diff --git a/pkgs/development/libraries/glibc/2.19/glibc-crypt-blowfish.patch b/pkgs/development/libraries/glibc/glibc-crypt-blowfish.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.19/glibc-crypt-blowfish.patch rename to pkgs/development/libraries/glibc/glibc-crypt-blowfish.patch diff --git a/pkgs/development/libraries/glibc/2.19/glibc-remove-date-from-compilation-banner.patch b/pkgs/development/libraries/glibc/glibc-remove-date-from-compilation-banner.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.19/glibc-remove-date-from-compilation-banner.patch rename to pkgs/development/libraries/glibc/glibc-remove-date-from-compilation-banner.patch diff --git a/pkgs/development/libraries/glibc/2.19/glibc-remove-datetime-from-nscd.patch b/pkgs/development/libraries/glibc/glibc-remove-datetime-from-nscd.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.19/glibc-remove-datetime-from-nscd.patch rename to pkgs/development/libraries/glibc/glibc-remove-datetime-from-nscd.patch diff --git a/pkgs/development/libraries/glibc/2.19/info.nix b/pkgs/development/libraries/glibc/info.nix similarity index 100% rename from pkgs/development/libraries/glibc/2.19/info.nix rename to pkgs/development/libraries/glibc/info.nix diff --git a/pkgs/development/libraries/glibc/2.19/locales-builder.sh b/pkgs/development/libraries/glibc/locales-builder.sh similarity index 100% rename from pkgs/development/libraries/glibc/2.19/locales-builder.sh rename to pkgs/development/libraries/glibc/locales-builder.sh diff --git a/pkgs/development/libraries/glibc/2.19/locales.nix b/pkgs/development/libraries/glibc/locales.nix similarity index 100% rename from pkgs/development/libraries/glibc/2.19/locales.nix rename to pkgs/development/libraries/glibc/locales.nix diff --git a/pkgs/development/libraries/glibc/2.19/multi.nix b/pkgs/development/libraries/glibc/multi.nix similarity index 100% rename from pkgs/development/libraries/glibc/2.19/multi.nix rename to pkgs/development/libraries/glibc/multi.nix diff --git a/pkgs/development/libraries/glibc/2.19/nix-locale-archive.patch b/pkgs/development/libraries/glibc/nix-locale-archive.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.19/nix-locale-archive.patch rename to pkgs/development/libraries/glibc/nix-locale-archive.patch diff --git a/pkgs/development/libraries/glibc/2.19/rpcgen-path.patch b/pkgs/development/libraries/glibc/rpcgen-path.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.19/rpcgen-path.patch rename to pkgs/development/libraries/glibc/rpcgen-path.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 37237470c9b..f586b260422 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5072,7 +5072,7 @@ let glfw2 = callPackage ../development/libraries/glfw/2.x.nix { }; glfw3 = callPackage ../development/libraries/glfw/3.x.nix { }; - glibc = callPackage ../development/libraries/glibc/2.19 { + glibc = callPackage ../development/libraries/glibc { kernelHeaders = linuxHeaders; installLocales = config.glibc.locales or false; machHeaders = null; @@ -5080,13 +5080,13 @@ let gccCross = null; }; - glibc_memusage = callPackage ../development/libraries/glibc/2.19 { + glibc_memusage = callPackage ../development/libraries/glibc { kernelHeaders = linuxHeaders; installLocales = false; withGd = true; }; - glibcCross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc/2.19) + glibcCross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc) (let crossGNU = crossSystem != null && crossSystem.config == "i586-pc-gnu"; in { inherit stdenv fetchurl; @@ -5114,11 +5114,11 @@ let installLocales = config.glibc.locales or false; }; - glibcLocales = callPackage ../development/libraries/glibc/2.19/locales.nix { }; + glibcLocales = callPackage ../development/libraries/glibc/locales.nix { }; - glibcInfo = callPackage ../development/libraries/glibc/2.19/info.nix { }; + glibcInfo = callPackage ../development/libraries/glibc/info.nix { }; - glibc_multi = callPackage ../development/libraries/glibc/2.19/multi.nix { + glibc_multi = callPackage ../development/libraries/glibc/multi.nix { inherit glibc; glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc; }; From 54e727133a5a1d599d5e4ecdbb3b2ae01bcb42bd Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 27 Oct 2014 12:31:53 +0100 Subject: [PATCH 03/74] Remove tabs/whitespace --- pkgs/stdenv/linux/make-bootstrap-tools.nix | 28 +++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index 9116b222569..820fc978bda 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -83,7 +83,7 @@ rec { ''; }; - build = + build = stdenv.mkDerivation { name = "build"; @@ -91,7 +91,7 @@ rec { buildInputs = [nukeReferences cpio]; buildCommand = '' - set -x + set -x mkdir -p $out/bin $out/lib $out/libexec # Copy what we need of Glibc. @@ -105,20 +105,20 @@ rec { cp -d ${glibc}/lib/libnsl*.so* $out/lib cp -d ${glibc}/lib/libutil*.so* $out/lib cp -d ${glibc}/lib/crt?.o $out/lib - + cp -rL ${glibc}/include $out chmod -R u+w $out/include - + # Hopefully we won't need these. rm -rf $out/include/mtd $out/include/rdma $out/include/sound $out/include/video find $out/include -name .install -exec rm {} \; find $out/include -name ..install.cmd -exec rm {} \; mv $out/include $out/include-glibc - + # Copy coreutils, bash, etc. cp ${coreutils_}/bin/* $out/bin (cd $out/bin && rm vdir dir sha*sum pinky factor pathchk runcon shuf who whoami shred users) - + cp ${bash}/bin/bash $out/bin cp ${findutils}/bin/find $out/bin cp ${findutils}/bin/xargs $out/bin @@ -135,7 +135,7 @@ rec { cp ${patchelf}/bin/* $out/bin cp -d ${gnugrep.pcre}/lib/libpcre*.so* $out/lib # needed by grep - + # Copy what we need of GCC. cp -d ${gcc.gcc}/bin/gcc $out/bin cp -d ${gcc.gcc}/bin/cpp $out/bin @@ -164,14 +164,14 @@ rec { cp -d ${mpc}/lib/libmpc*.so* $out/lib cp -d ${zlib}/lib/libz.so* $out/lib cp -d ${libelf}/lib/libelf.so* $out/lib - + # Copy binutils. for i in as ld ar ranlib nm strip readelf objdump; do cp ${binutils}/bin/$i $out/bin done chmod -R u+w $out - + # Strip executables even further. for i in $out/bin/* $out/libexec/gcc/*/*/*; do if test -x $i -a ! -L $i; then @@ -210,9 +210,9 @@ rec { allowedReferences = []; }; - + unpack = - + stdenv.mkDerivation { name = "unpack"; @@ -245,7 +245,7 @@ rec { name = "test"; realBuilder = "${unpack}/bin/bash"; - + buildCommand = '' export PATH=${unpack}/bin ls -l @@ -267,7 +267,7 @@ rec { export CPP="cpp -idirafter ${unpack}/include-glibc -B${unpack}" export CC="gcc -idirafter ${unpack}/include-glibc -B${unpack} -Wl,-dynamic-linker,$ldlinux -Wl,-rpath,${unpack}/lib" export CXX="g++ -idirafter ${unpack}/include-glibc -B${unpack} -Wl,-dynamic-linker,$ldlinux -Wl,-rpath,${unpack}/lib" - + echo '#include ' >> foo.c echo '#include ' >> foo.c echo 'int main() { printf("Hello World\n"); return 0; }' >> foo.c @@ -286,5 +286,5 @@ rec { make install ''; # */ }; - + } From 5b50f0cbc597005d555c18bb75206db4fb3a389d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 29 Oct 2014 09:40:44 +0100 Subject: [PATCH 04/74] busybox: Remove unused patch --- .../include-missing-sys-resource-header.patch | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 pkgs/os-specific/linux/busybox/include-missing-sys-resource-header.patch diff --git a/pkgs/os-specific/linux/busybox/include-missing-sys-resource-header.patch b/pkgs/os-specific/linux/busybox/include-missing-sys-resource-header.patch deleted file mode 100644 index 8163a86e3cd..00000000000 --- a/pkgs/os-specific/linux/busybox/include-missing-sys-resource-header.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/include/libbb.h b/include/libbb.h -index f12800f..e7806c2 100644 ---- a/include/libbb.h -+++ b/include/libbb.h -@@ -40,6 +40,7 @@ - #include - #include - #include -+#include - #include - #include - #include From 937e1280c0b3f9bc21c33e70475c76ec3e8e97d5 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 29 Oct 2014 11:23:12 +0100 Subject: [PATCH 05/74] Rename badly named linuxHeaders_3_7 (it's actually 3.12) --- pkgs/os-specific/linux/kernel-headers/{3.7.nix => 3.12.nix} | 0 pkgs/top-level/all-packages.nix | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename pkgs/os-specific/linux/kernel-headers/{3.7.nix => 3.12.nix} (100%) diff --git a/pkgs/os-specific/linux/kernel-headers/3.7.nix b/pkgs/os-specific/linux/kernel-headers/3.12.nix similarity index 100% rename from pkgs/os-specific/linux/kernel-headers/3.7.nix rename to pkgs/os-specific/linux/kernel-headers/3.12.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f586b260422..3b3ad79ffa4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7836,7 +7836,7 @@ let # -- Linux kernel expressions ------------------------------------------------ - linuxHeaders = linuxHeaders_3_7; + linuxHeaders = linuxHeaders_3_12; linuxHeaders24Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.4.nix { inherit stdenv fetchurl perl; @@ -7848,7 +7848,7 @@ let cross = assert crossSystem != null; crossSystem; }); - linuxHeaders_3_7 = callPackage ../os-specific/linux/kernel-headers/3.7.nix { }; + linuxHeaders_3_12 = callPackage ../os-specific/linux/kernel-headers/3.12.nix { }; linuxHeaders_3_14 = callPackage ../os-specific/linux/kernel-headers/3.14.nix { }; From 5cc92eb0d8b859b76b6f3ce0900a5e51af81d49f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 29 Oct 2014 11:54:17 +0100 Subject: [PATCH 06/74] Remove obsolete useDietLibC stdenv adapter --- pkgs/os-specific/linux/e3cfsprogs/default.nix | 12 +------- .../linux/module-init-tools/default.nix | 4 --- pkgs/stdenv/adapters.nix | 30 ------------------- pkgs/tools/compression/bzip2/default.nix | 2 +- pkgs/tools/networking/curl/7.15.nix | 1 - pkgs/tools/networking/curl/default.nix | 1 - 6 files changed, 2 insertions(+), 48 deletions(-) diff --git a/pkgs/os-specific/linux/e3cfsprogs/default.nix b/pkgs/os-specific/linux/e3cfsprogs/default.nix index 89d5ad5158c..ef25d59a9df 100644 --- a/pkgs/os-specific/linux/e3cfsprogs/default.nix +++ b/pkgs/os-specific/linux/e3cfsprogs/default.nix @@ -11,20 +11,10 @@ stdenv.mkDerivation { sha256 = "8dd3de546aeb1ae42fb05409aeb724a145fe9aa1dbe1115441c2297c9d48cf31"; }; - configureFlags = - if stdenv ? isDietLibC - then "" - else "--enable-dynamic-e2fsck --enable-elf-shlibs"; + configureFlags ="--enable-dynamic-e2fsck --enable-elf-shlibs"; buildInputs = [gettext]; preInstall = "installFlagsArray=('LN=ln -s')"; postInstall = "make install-libs"; - - NIX_CFLAGS_COMPILE = - if stdenv ? isDietLibC then - "-UHAVE_SYS_PRCTL_H " + - (if stdenv.system == "x86_64-linux" then "-DHAVE_LSEEK64_PROTOTYPE=1 -Dstat64=stat" else "") - else ""; } - #note that ext3cow requires the ext3cow kernel patch !!!! diff --git a/pkgs/os-specific/linux/module-init-tools/default.nix b/pkgs/os-specific/linux/module-init-tools/default.nix index 240150b09dd..c83bd28d243 100644 --- a/pkgs/os-specific/linux/module-init-tools/default.nix +++ b/pkgs/os-specific/linux/module-init-tools/default.nix @@ -23,10 +23,6 @@ stdenv.mkDerivation { postInstall = "rm $out/sbin/insmod.static"; # don't need it - # We don't want bash (and therefore glibc) in the closure of the - # output, since we want to put this in a initrd. - dontPatchShebangs = stdenv ? isDietLibC; - meta = { homepage = http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/; description = "Tools for loading and managing Linux kernel modules"; diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index d223cf1708c..2f1db703ed2 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -29,36 +29,6 @@ rec { overrideSetup = stdenv: setupScript: stdenv.override { inherit setupScript; }; - # Return a modified stdenv that uses dietlibc to create small - # statically linked binaries. - useDietLibC = stdenv: stdenv // - { mkDerivation = args: stdenv.mkDerivation (args // { - NIX_CFLAGS_LINK = "-static"; - - # libcompat.a contains some commonly used functions. - NIX_LDFLAGS = "-lcompat"; - - # These are added *after* the command-line flags, so we'll - # always optimise for size. - NIX_CFLAGS_COMPILE = - args.NIX_CFLAGS_COMPILE or "" - + " -Os -s -D_BSD_SOURCE=1"; - - configureFlags = - args.configureFlags or "" - + " --disable-shared"; # brrr... - - NIX_GCC = import ../build-support/gcc-wrapper { - inherit stdenv; - libc = pkgs.dietlibc; - inherit (stdenv.gcc) gcc binutils nativeTools nativePrefix; - nativeLibc = false; - }; - }); - isDietLibC = true; - }; - - # Return a modified stdenv that uses klibc to create small # statically linked binaries. useKlibc = stdenv: klibc: stdenv // diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix index 55fca6ca3cb..e00c4e504ce 100644 --- a/pkgs/tools/compression/bzip2/default.nix +++ b/pkgs/tools/compression/bzip2/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation { }; sharedLibrary = - !stdenv.isDarwin && !(stdenv ? isDietLibC) && !(stdenv ? isStatic) && stdenv.system != "i686-cygwin" && !linkStatic; + !stdenv.isDarwin && !(stdenv ? isStatic) && stdenv.system != "i686-cygwin" && !linkStatic; preConfigure = "substituteInPlace Makefile --replace '$(PREFIX)/man' '$(PREFIX)/share/man'"; diff --git a/pkgs/tools/networking/curl/7.15.nix b/pkgs/tools/networking/curl/7.15.nix index 0a87eaa944c..47ac790e2ad 100644 --- a/pkgs/tools/networking/curl/7.15.nix +++ b/pkgs/tools/networking/curl/7.15.nix @@ -43,7 +43,6 @@ stdenv.mkDerivation rec { dontDisableStatic = linkStatic; - CFLAGS = if stdenv ? isDietLibC then "-DHAVE_INET_NTOA_R_2_ARGS=1" else ""; LDFLAGS = if linkStatic then "-static" else ""; CXX = "g++"; CXXCPP = "g++ -E"; diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index e12db01ae72..6766415c8b1 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -47,7 +47,6 @@ stdenv.mkDerivation rec { dontDisableStatic = linkStatic; - CFLAGS = if stdenv ? isDietLibC then "-DHAVE_INET_NTOA_R_2_ARGS=1" else ""; LDFLAGS = if linkStatic then "-static" else ""; CXX = "g++"; CXXCPP = "g++ -E"; From d135422009991d9fb7602892abf77dcdb1e42cad Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 29 Oct 2014 11:55:23 +0100 Subject: [PATCH 07/74] Remove obsolete useKlibc stdenv adapter --- pkgs/stdenv/adapters.nix | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 2f1db703ed2..e2561258b7d 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -29,33 +29,6 @@ rec { overrideSetup = stdenv: setupScript: stdenv.override { inherit setupScript; }; - # Return a modified stdenv that uses klibc to create small - # statically linked binaries. - useKlibc = stdenv: klibc: stdenv // - { mkDerivation = args: stdenv.mkDerivation (args // { - NIX_CFLAGS_LINK = "-static"; - - # These are added *after* the command-line flags, so we'll - # always optimise for size. - NIX_CFLAGS_COMPILE = - args.NIX_CFLAGS_COMPILE or "" + " -Os -s"; - - configureFlags = - args.configureFlags or "" + " --disable-shared"; # brrr... - - NIX_GCC = pkgs.runCommand "klibc-wrapper" {} '' - mkdir -p $out/bin - ln -s ${klibc}/bin/klcc $out/bin/gcc - ln -s ${klibc}/bin/klcc $out/bin/cc - mkdir -p $out/nix-support - echo 'PATH=$PATH:${stdenv.gcc.binutils}/bin' > $out/nix-support/setup-hook - ''; - }); - isKlibc = true; - isStatic = true; - }; - - # Return a modified stdenv that tries to build statically linked # binaries. makeStaticBinaries = stdenv: stdenv // From dc0d68ffc30d2b446f416eff4ed974eeafcf8224 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 29 Oct 2014 12:06:27 +0100 Subject: [PATCH 08/74] curl: Remove static link support We only needed this for the stdenv bootstrap, but not anymore. --- pkgs/tools/networking/curl/default.nix | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 6766415c8b1..883d21e4da1 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -4,7 +4,6 @@ , scpSupport ? false, libssh2 ? null , gssSupport ? false, gss ? null , c-aresSupport ? false, c-ares ? null -, linkStatic ? false }: assert zlibSupport -> zlib != null; @@ -41,29 +40,18 @@ stdenv.mkDerivation rec { ( if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2" ) ] ++ stdenv.lib.optional c-aresSupport "--enable-ares=${c-ares}" - ++ stdenv.lib.optional gssSupport "--with-gssapi=${gss}" - ++ stdenv.lib.optionals linkStatic [ "--enable-static" "--disable-shared" ] - ; + ++ stdenv.lib.optional gssSupport "--with-gssapi=${gss}"; - dontDisableStatic = linkStatic; - - LDFLAGS = if linkStatic then "-static" else ""; CXX = "g++"; CXXCPP = "g++ -E"; - # libtool hack to get a static binary. Notice that to 'configure' I passed - # other LDFLAGS, because it doesn't use libtool for linking in the tests. - makeFlags = if linkStatic then "LDFLAGS=-all-static" else ""; - crossAttrs = { # We should refer to the cross built openssl # For the 'urandom', maybe it should be a cross-system option configureFlags = [ ( if sslSupport then "--with-ssl=${openssl.crossDrv}" else "--without-ssl" ) "--with-random /dev/urandom" - ] - ++ stdenv.lib.optionals linkStatic [ "--enable-static" "--disable-shared" ] - ; + ]; }; passthru = { From 423e923182d966e2315fdd405f1e0efbd1dcb18a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 29 Oct 2014 13:32:40 +0100 Subject: [PATCH 09/74] busybox: Enable building a minimal configuration This starts with "make allnoconfig" rather than "make defconfig", making it easier to turn on only the needed features. Also, fix broken .config generation (the presence of "#" lines confused parseconfig). --- pkgs/os-specific/linux/busybox/default.nix | 43 +++++++++------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index 34eb19380d4..da1d2dc2ed0 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, enableStatic ? false, extraConfig ? ""}: +{ stdenv, fetchurl, enableStatic ? false, enableMinimal ? false, extraConfig ? "" }: let configParser = '' @@ -7,14 +7,7 @@ let NAME=`echo "$LINE" | cut -d \ -f 1` OPTION=`echo "$LINE" | cut -d \ -f 2` - if test -z "$NAME"; then - continue - fi - - if test "$NAME" == "CLEAR"; then - echo "parseconfig: CLEAR" - echo > .config - fi + if ! [[ "$NAME" =~ ^CONFIG_ ]]; then continue; fi echo "parseconfig: removing $NAME" sed -i /$NAME'\(=\| \)'/d .config @@ -25,19 +18,6 @@ let } ''; - nixConfig = '' - CONFIG_PREFIX "$out" - CONFIG_INSTALL_NO_USR y - - # Use the external mount.cifs program. - CONFIG_FEATURE_MOUNT_CIFS n - CONFIG_FEATURE_MOUNT_HELPERS y - ''; - - staticConfig = stdenv.lib.optionalString enableStatic '' - CONFIG_STATIC y - ''; - in stdenv.mkDerivation rec { @@ -50,14 +30,27 @@ stdenv.mkDerivation rec { configurePhase = '' export KCONFIG_NOTIMESTAMP=1 - make defconfig + make ${if enableMinimal then "allnoconfig" else "defconfig"} + ${configParser} + cat << EOF | parseconfig - ${staticConfig} - ${nixConfig} + + CONFIG_PREFIX "$out" + CONFIG_INSTALL_NO_USR y + + ${stdenv.lib.optionalString enableStatic '' + CONFIG_STATIC y + ''} + + # Use the external mount.cifs program. + CONFIG_FEATURE_MOUNT_CIFS n + CONFIG_FEATURE_MOUNT_HELPERS y + ${extraConfig} $extraCrossConfig EOF + make oldconfig ''; From 3b2177b7696c23df8d378c175a2db0ab81062106 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 29 Oct 2014 13:34:46 +0100 Subject: [PATCH 10/74] busybox: Allow running from within the Nix store This enables running the busybox program directly from the Nix store (i.e. as /nix/store/-busybox). We need this for the stdenv bootstrap. --- .../linux/busybox/busybox-in-store.patch | 16 ++++++++++++++++ pkgs/os-specific/linux/busybox/default.nix | 2 ++ 2 files changed, 18 insertions(+) create mode 100644 pkgs/os-specific/linux/busybox/busybox-in-store.patch diff --git a/pkgs/os-specific/linux/busybox/busybox-in-store.patch b/pkgs/os-specific/linux/busybox/busybox-in-store.patch new file mode 100644 index 00000000000..ea245a49259 --- /dev/null +++ b/pkgs/os-specific/linux/busybox/busybox-in-store.patch @@ -0,0 +1,16 @@ +Allow BusyBox to be invoked as "-busybox". This is +necessary when it's run from the Nix store as -busybox during +stdenv bootstrap. + +diff -ru -x '*~' busybox-1.22.1-orig/libbb/appletlib.c busybox-1.22.1/libbb/appletlib.c +--- busybox-1.22.1-orig/libbb/appletlib.c 2014-01-09 19:15:44.000000000 +0100 ++++ busybox-1.22.1/libbb/appletlib.c 2014-10-29 09:53:01.232052068 +0100 +@@ -764,7 +764,7 @@ + int applet = find_applet_by_name(name); + if (applet >= 0) + run_applet_no_and_exit(applet, argv); +- if (strncmp(name, "busybox", 7) == 0) ++ if (strstr(name, "busybox") != 0) + exit(busybox_main(argv)); + } + diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index da1d2dc2ed0..6073692c70a 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -28,6 +28,8 @@ stdenv.mkDerivation rec { sha256 = "12v7nri79v8gns3inmz4k24q7pcnwi00hybs0wddfkcy1afh42xf"; }; + patches = [ ./busybox-in-store.patch ]; + configurePhase = '' export KCONFIG_NOTIMESTAMP=1 make ${if enableMinimal then "allnoconfig" else "defconfig"} From e8992c5084e31198af3fa2c624655203391ecd60 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 29 Oct 2014 13:36:03 +0100 Subject: [PATCH 11/74] Update the stdenv bootstrap tools generator The static curl program is gone, replaced by curl inside of the bootstrap tools tarball. Also, we generate a .tar.xz archive rather than .cpio.bz2, making the download smaller. The separate {sh,cpio,mkdir,ln,bzip2} programs have been replaced by a single busybox program. --- pkgs/stdenv/linux/make-bootstrap-tools.nix | 142 +++++++-------------- 1 file changed, 47 insertions(+), 95 deletions(-) diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index 820fc978bda..651ccee74fd 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -1,4 +1,4 @@ -{system ? builtins.currentSystem}: +{ system ? builtins.currentSystem }: with import ../../top-level/all-packages.nix {inherit system;}; @@ -6,80 +6,27 @@ rec { # We want coreutils without ACL support. - coreutils_ = coreutils.override (args: { + coreutilsMinimal = coreutils.override (args: { aclSupport = false; }); - # bzip2 wants utime.h, a header 'legacy' in uclibc - uclibcForBzip2 = uclibc.override { - extraConfig = '' - UCLIBC_SUSV3_LEGACY y - UCLIBC_SUSV4_LEGACY y - ''; - }; - - gccLinkStatic = wrapGCCWith (import ../../build-support/gcc-wrapper) uclibcForBzip2 - stdenv.gcc.gcc; - stdenvLinkStatic = overrideGCC stdenv gccLinkStatic; - - curlStatic = import ../../tools/networking/curl { - stdenv = stdenvLinkStatic; - inherit fetchurl; + curlMinimal = curl.override { zlibSupport = false; sslSupport = false; - linkStatic = true; + scpSupport = false; }; - - bzip2Static = import ../../tools/compression/bzip2 { - stdenv = stdenvLinkStatic; - inherit fetchurl; - linkStatic = true; - }; - - #gccNoShared = wrapGCC ( gcc.gcc.override { enableShared = false; } ); - - busyboxStaticSh = busybox.override { + busyboxMinimal = busybox.override { + enableStatic = true; + enableMinimal = true; extraConfig = '' - CLEAR - CONFIG_STATIC y - CONFIG_ASH y - CONFIG_BASH_COMPAT y - CONFIG_ASH_ALIAS y - CONFIG_ASH_GETOPTS y - CONFIG_ASH_CMDCMD y - CONFIG_ASH_JOB_CONTROL y CONFIG_ASH_BUILTIN_ECHO y - CONFIG_ASH_BUILTIN_PRINTF y CONFIG_ASH_BUILTIN_TEST y - ''; - }; - - busyboxStaticLn = busybox.override { - extraConfig = '' - CLEAR - CONFIG_STATIC y - CONFIG_LN y - ''; - }; - - busyboxStaticMkdir = busybox.override { - extraConfig = '' - CLEAR - CONFIG_STATIC y + CONFIG_ASH_OPTIMIZE_FOR_SIZE y CONFIG_MKDIR y - ''; - }; - - busyboxStaticCpio = busybox.override { - extraConfig = '' - CLEAR - CONFIG_STATIC y - CONFIG_CPIO y - # (shlevy) Are these necessary? - CONFIG_FEATURE_CPIO_O y - CONFIG_FEATURE_CPIO_P y + CONFIG_TAR y + CONFIG_UNXZ y ''; }; @@ -116,7 +63,7 @@ rec { mv $out/include $out/include-glibc # Copy coreutils, bash, etc. - cp ${coreutils_}/bin/* $out/bin + cp ${coreutilsMinimal}/bin/* $out/bin (cd $out/bin && rm vdir dir sha*sum pinky factor pathchk runcon shuf who whoami shred users) cp ${bash}/bin/bash $out/bin @@ -124,7 +71,7 @@ rec { cp ${findutils}/bin/xargs $out/bin cp -d ${diffutils}/bin/* $out/bin cp -d ${gnused}/bin/* $out/bin - cp -d ${gnugrep}/bin/* $out/bin + cp -d ${gnugrep}/bin/grep $out/bin cp ${gawk}/bin/gawk $out/bin cp -d ${gawk}/bin/awk $out/bin cp ${gnutar}/bin/tar $out/bin @@ -133,6 +80,8 @@ rec { cp -d ${gnumake}/bin/* $out/bin cp -d ${patch}/bin/* $out/bin cp ${patchelf}/bin/* $out/bin + cp ${curlMinimal}/bin/curl $out/bin + cp -d ${curlMinimal}/lib/libcurl* $out/lib cp -d ${gnugrep.pcre}/lib/libpcre*.so* $out/lib # needed by grep @@ -151,6 +100,8 @@ rec { rm -rf $out/lib/gcc/*/*/plugin #rm -f $out/lib/gcc/*/*/*.a cp -rd ${gcc.gcc}/libexec/* $out/libexec + chmod -R u+w $out/libexec + rm -rf $out/libexec/gcc/*/*/plugin mkdir $out/include cp -rd ${gcc.gcc}/include/c++ $out/include chmod -R u+w $out/include @@ -159,8 +110,6 @@ rec { cp -d ${gmpxx}/lib/libgmp*.so* $out/lib cp -d ${mpfr}/lib/libmpfr*.so* $out/lib - cp -d ${ppl}/lib/libppl*.so* $out/lib - cp -d ${cloogppl}/lib/libcloog*.so* $out/lib cp -d ${mpc}/lib/libmpc*.so* $out/lib cp -d ${zlib}/lib/libz.so* $out/lib cp -d ${libelf}/lib/libelf.so* $out/lib @@ -169,6 +118,7 @@ rec { for i in as ld ar ranlib nm strip readelf objdump; do cp ${binutils}/bin/$i $out/bin done + cp -d ${binutils}/lib/lib*.so* $out/lib chmod -R u+w $out @@ -189,19 +139,10 @@ rec { mv $out/.pack $out/pack mkdir $out/on-server - (cd $out/pack && (find | cpio -o -H newc)) | bzip2 > $out/on-server/bootstrap-tools.cpio.bz2 - - mkdir $out/in-nixpkgs - cp ${busyboxStaticSh}/bin/busybox $out/in-nixpkgs/sh - cp ${busyboxStaticCpio}/bin/busybox $out/in-nixpkgs/cpio - cp ${busyboxStaticMkdir}/bin/busybox $out/in-nixpkgs/mkdir - cp ${busyboxStaticLn}/bin/busybox $out/in-nixpkgs/ln - cp ${curlStatic}/bin/curl $out/in-nixpkgs - cp ${bzip2Static}/bin/bzip2 $out/in-nixpkgs - chmod u+w $out/in-nixpkgs/* - strip $out/in-nixpkgs/* - nuke-refs $out/in-nixpkgs/* - bzip2 $out/in-nixpkgs/curl + tar cvfJ $out/on-server/bootstrap-tools.tar.xz -C $out/pack . + cp ${busyboxMinimal}/bin/busybox $out/on-server + chmod u+w $out/on-server/busybox + nuke-refs $out/on-server/busybox ''; # */ # The result should not contain any references (store paths) so @@ -213,19 +154,30 @@ rec { unpack = - stdenv.mkDerivation { + derivation { name = "unpack"; + inherit system; + builder = "${build}/on-server/busybox"; + args = [ "ash" "-e" "-c" "eval \"$buildCommand\"" ]; buildCommand = '' - ${build}/in-nixpkgs/mkdir $out - ${build}/in-nixpkgs/bzip2 -d < ${build}/on-server/bootstrap-tools.cpio.bz2 | (cd $out && ${build}/in-nixpkgs/cpio -v -i) + export PATH=${build}/on-server:$out/bin + + busybox mkdir $out + < ${build}/on-server/bootstrap-tools.tar.xz busybox unxz | busybox tar x -C $out for i in $out/bin/* $out/libexec/gcc/*/*/*; do - echo patching $i - if ! test -L $i; then - LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.2 \ - $out/bin/patchelf --set-interpreter $out/lib/ld-linux*.so.2 --set-rpath $out/lib --force-rpath $i - fi + if [ -L "$i" ]; then continue; fi + if [ -z "''${i##*/liblto*}" ]; then continue; fi + echo patching "$i" + LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.2 \ + $out/bin/patchelf --set-interpreter $out/lib/ld-linux*.so.2 --set-rpath $out/lib --force-rpath "$i" + done + + for i in $out/lib/libpcre*; do + if [ -L "$i" ]; then continue; fi + echo patching "$i" + $out/bin/patchelf --set-rpath $out/lib --force-rpath "$i" done # Fix the libc linker script. @@ -241,10 +193,11 @@ rec { test = - stdenv.mkDerivation { + derivation { name = "test"; - - realBuilder = "${unpack}/bin/bash"; + inherit system; + builder = "${build}/on-server/busybox"; + args = [ "ash" "-e" "-c" "eval \"$buildCommand\"" ]; buildCommand = '' export PATH=${unpack}/bin @@ -259,8 +212,7 @@ rec { awk --version grep --version gcc --version - - ${build}/in-nixpkgs/sh -c 'echo Hello World' + curl --version ldlinux=$(echo ${unpack}/lib/ld-linux*.so.2) @@ -270,12 +222,12 @@ rec { echo '#include ' >> foo.c echo '#include ' >> foo.c - echo 'int main() { printf("Hello World\n"); return 0; }' >> foo.c + echo 'int main() { printf("Hello World\\n"); return 0; }' >> foo.c $CC -o $out/bin/foo foo.c $out/bin/foo echo '#include ' >> bar.cc - echo 'int main() { std::cout << "Hello World\n"; }' >> bar.cc + echo 'int main() { std::cout << "Hello World\\n"; }' >> bar.cc $CXX -v -o $out/bin/bar bar.cc $out/bin/bar From c77b30e3fbe61fa775ce874ba336819ff4f263f7 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 29 Oct 2014 14:18:00 +0100 Subject: [PATCH 12/74] uclibc: Fix building against recent kernel headers --- pkgs/os-specific/linux/uclibc/default.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/uclibc/default.nix b/pkgs/os-specific/linux/uclibc/default.nix index a0df3d526f5..dadae487cd2 100644 --- a/pkgs/os-specific/linux/uclibc/default.nix +++ b/pkgs/os-specific/linux/uclibc/default.nix @@ -16,11 +16,6 @@ let continue fi - if test "$NAME" == "CLEAR"; then - echo "parseconfig: CLEAR" - echo > .config - fi - echo "parseconfig: removing $NAME" sed -i /^$NAME=/d .config @@ -60,6 +55,13 @@ stdenv.mkDerivation { sha256 = "0qhngsbzj2s6nz92b1s2p0dmvwk8xiqpy58j7ljzw186grvjr3cq"; }; + patches = + [ (fetchurl { + url = https://dev.openwrt.org/export/37939/trunk/toolchain/uClibc/patches-0.9.33.2/970-add___kernel_long_and___kernel_ulong.patch; + sha256 = "1d1bfjpw0qla5zr32wk32s1y3wl2576zidbmvqsmqf0359bxhxrg"; + }) + ]; + # 'ftw' needed to build acl, a coreutils dependency configurePhase = '' make defconfig ${archMakeFlag} @@ -80,6 +82,8 @@ stdenv.mkDerivation { buildInputs = stdenv.lib.optional (gccCross != null) gccCross; + enableParallelBuilding = true; + installPhase = '' mkdir -p $out make PREFIX=$out VERBOSE=1 install ${crossMakeFlag} @@ -92,7 +96,7 @@ stdenv.mkDerivation { # Derivations may check for the existance of this attribute, to know what to link to. inherit libiconv; }; - + meta = { homepage = http://www.uclibc.org/; description = "A small implementation of the C library"; From 41a479b15f2f26fde3952e384d1aff37bde7186b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 29 Oct 2014 14:44:56 +0100 Subject: [PATCH 13/74] busybox: Optionally use uclibc --- pkgs/os-specific/linux/busybox/default.nix | 12 +++++++----- pkgs/stdenv/linux/make-bootstrap-tools.nix | 1 + 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index 6073692c70a..47f9fb9a5a4 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, enableStatic ? false, enableMinimal ? false, extraConfig ? "" }: +{ lib, stdenv, uclibc, fetchurl, enableStatic ? false, enableMinimal ? false, useUclibc ? false, extraConfig ? "" }: let configParser = '' @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { CONFIG_PREFIX "$out" CONFIG_INSTALL_NO_USR y - ${stdenv.lib.optionalString enableStatic '' + ${lib.optionalString enableStatic '' CONFIG_STATIC y ''} @@ -54,6 +54,8 @@ stdenv.mkDerivation rec { EOF make oldconfig + '' + lib.optionalString useUclibc '' + makeFlagsArray+=("CC=gcc -isystem ${uclibc}/include -B${uclibc}/lib -L${uclibc}/lib") ''; crossAttrs = { @@ -70,8 +72,8 @@ stdenv.mkDerivation rec { meta = { description = "Tiny versions of common UNIX utilities in a single small executable"; homepage = http://busybox.net/; - license = stdenv.lib.licenses.gpl2; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; + license = lib.licenses.gpl2; + maintainers = [ lib.maintainers.viric ]; + platforms = lib.platforms.linux; }; } diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index 651ccee74fd..e202f691fa8 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -17,6 +17,7 @@ rec { }; busyboxMinimal = busybox.override { + useUclibc = true; enableStatic = true; enableMinimal = true; extraConfig = '' From ac8e5cd145fa5f22bab1b01d8b4db4d26d22e65c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 29 Oct 2014 14:55:04 +0100 Subject: [PATCH 14/74] uclibc: Update to the latest prerelease This resolves a segfault in busybox. --- pkgs/os-specific/linux/uclibc/default.nix | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/pkgs/os-specific/linux/uclibc/default.nix b/pkgs/os-specific/linux/uclibc/default.nix index dadae487cd2..16973311205 100644 --- a/pkgs/os-specific/linux/uclibc/default.nix +++ b/pkgs/os-specific/linux/uclibc/default.nix @@ -46,22 +46,16 @@ let ''; in + stdenv.mkDerivation { - name = "uclibc-0.9.33.2" + stdenv.lib.optionalString (cross != null) + name = "uclibc-0.9.34-pre-20141029" + stdenv.lib.optionalString (cross != null) ("-" + cross.config); src = fetchurl { - url = http://www.uclibc.org/downloads/uClibc-0.9.33.2.tar.bz2; - sha256 = "0qhngsbzj2s6nz92b1s2p0dmvwk8xiqpy58j7ljzw186grvjr3cq"; + url = http://www.uclibc.org/downloads/snapshots/uClibc-20141029.tar.bz2; + sha256 = "018r3bhw1jyyihmm5xxq1psl3r5yx02a57p8qxvay3vvzxn2cvzm"; }; - patches = - [ (fetchurl { - url = https://dev.openwrt.org/export/37939/trunk/toolchain/uClibc/patches-0.9.33.2/970-add___kernel_long_and___kernel_ulong.patch; - sha256 = "1d1bfjpw0qla5zr32wk32s1y3wl2576zidbmvqsmqf0359bxhxrg"; - }) - ]; - # 'ftw' needed to build acl, a coreutils dependency configurePhase = '' make defconfig ${archMakeFlag} From 119ce1ab03d0b3250e9e350f0686e095060014b0 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 29 Oct 2014 17:26:29 +0100 Subject: [PATCH 15/74] Update the stdenv-linux bootstrap tools --- pkgs/stdenv/linux/bootstrap/i686.nix | 41 +++------------ pkgs/stdenv/linux/bootstrap/x86_64.nix | 9 ++-- pkgs/stdenv/linux/default.nix | 11 ++-- .../linux/scripts/unpack-bootstrap-tools.sh | 50 +++++++------------ 4 files changed, 32 insertions(+), 79 deletions(-) diff --git a/pkgs/stdenv/linux/bootstrap/i686.nix b/pkgs/stdenv/linux/bootstrap/i686.nix index 7b6b3ee8034..04712360d15 100644 --- a/pkgs/stdenv/linux/bootstrap/i686.nix +++ b/pkgs/stdenv/linux/bootstrap/i686.nix @@ -1,39 +1,12 @@ -let - - fetch = { file, sha256 }: import { - url = "http://tarballs.nixos.org/stdenv-linux/i686/r24519/${file}"; - inherit sha256; +{ + busybox = import { + url = http://tarballs.nixos.org/stdenv-linux/i686/ac8e5cd145fa5f22bab1b01d8b4db4d26d22e65c/busybox; + sha256 = "0314dskcp6gp0jpy87phpjz1r13zh0grb40yvdl9s4l2rxzgzr2v"; executable = true; }; -in { - sh = fetch { - file = "sh"; - sha256 = "1l6sdhyqjlh4m5gj3pfpi8aisp1m012lpwxfcc4v1x8g429mflmy"; - }; - - bzip2 = fetch { - file = "bzip2"; - sha256 = "1p5nkrdn52jm6rsx8x3wwjpsh83f2qsjl1qckkgnkplwhj23zjp7"; - }; - - mkdir = fetch { - file = "mkdir"; - sha256 = "02ff7i9ph9ahiapsg2v9c3pwr7sl73sk4n7ic112ljkrgwkail33"; - }; - - cpio = fetch { - file = "cpio"; - sha256 = "046if3aqqramyhrn2yxrjf4bfkl8x1bcqxhvi7ml9nrv9smx8irg"; - }; - - curl = fetch { - file = "curl.bz2"; - sha256 = "1v0yfb4gcdyqpl2fxlxjh337r28c23iqm7vwck4p4643xd55di7q"; - }; - - bootstrapTools = { - url = http://tarballs.nixos.org/stdenv-linux/i686/r24519/bootstrap-tools.cpio.bz2; - sha256 = "0imypaxy6piwbk8ff2y1nr7yk49pqmdgdbv6g8miq1zs5yfip6ij"; + bootstrapTools = import { + url = http://tarballs.nixos.org/stdenv-linux/i686/ac8e5cd145fa5f22bab1b01d8b4db4d26d22e65c/bootstrap-tools.tar.xz; + sha256 = "025r3vifkqlw0i5nvlkmfrvbn0v73r1pr6jkqckgs585y7nmsjhz"; }; } diff --git a/pkgs/stdenv/linux/bootstrap/x86_64.nix b/pkgs/stdenv/linux/bootstrap/x86_64.nix index 71961e6961e..2950e42ae0a 100644 --- a/pkgs/stdenv/linux/bootstrap/x86_64.nix +++ b/pkgs/stdenv/linux/bootstrap/x86_64.nix @@ -1,10 +1,9 @@ -# Use the static tools for i686-linux. They work on x86_64-linux -# machines as well. +# Use busybox for i686-linux since it works on x86_64-linux as well. (import ./i686.nix) // { - bootstrapTools = { - url = http://tarballs.nixos.org/stdenv-linux/x86_64/r23302/bootstrap-tools.cpio.bz2; - sha256 = "0w89kqhx47yl0jifp2vffp073pyrqha5f312kp971smi4h41drna"; + bootstrapTools = import { + url = http://tarballs.nixos.org/stdenv-linux/x86_64/ac8e5cd145fa5f22bab1b01d8b4db4d26d22e65c/bootstrap-tools.tar.xz; + sha256 = "01485vvwxb7fsx8c8il5hip0bhh4xy2gg76sj4zc98gl4v1jbfq9"; }; } diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 0467b60ca47..a5d8f5ba726 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -40,20 +40,15 @@ rec { bootstrapTools = derivation { name = "bootstrap-tools"; - builder = bootstrapFiles.sh; + builder = bootstrapFiles.busybox; args = if system == "armv5tel-linux" || system == "armv6l-linux" || system == "armv7l-linux" then [ ./scripts/unpack-bootstrap-tools-arm.sh ] - else [ ./scripts/unpack-bootstrap-tools.sh ]; + else [ "ash" "-e" ./scripts/unpack-bootstrap-tools.sh ]; - # FIXME: get rid of curl. - inherit (bootstrapFiles) bzip2 mkdir curl cpio; - - tarball = import { - inherit (bootstrapFiles.bootstrapTools) url sha256; - }; + tarball = bootstrapFiles.bootstrapTools; inherit system; diff --git a/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools.sh b/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools.sh index 422dc6dd5fe..9db5d2c88e5 100644 --- a/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools.sh +++ b/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools.sh @@ -1,9 +1,7 @@ -set -e - # Unpack the bootstrap tools tarball. echo Unpacking the bootstrap tools... -$mkdir $out -$bzip2 -d < $tarball | (cd $out && $cpio -i) +$builder mkdir $out +< $tarball $builder unxz | $builder tar x -C $out # Set the ELF interpreter / RPATH in the bootstrap binaries. echo Patching the bootstrap tools... @@ -21,32 +19,17 @@ fi LD_LIBRARY_PATH=$out/lib $LD_BINARY $out/bin/cp $out/bin/patchelf . for i in $out/bin/* $out/libexec/gcc/*/*/*; do - echo patching $i - if ! test -L $i; then - LD_LIBRARY_PATH=$out/lib $LD_BINARY \ - $out/bin/patchelf --set-interpreter $LD_BINARY --set-rpath $out/lib --force-rpath $i - LD_LIBRARY_PATH=$out/lib $LD_BINARY \ - $out/bin/patchelf --set-interpreter $LD_BINARY --set-rpath $out/lib --force-rpath $i - fi -done -for i in $out/lib/librt* ; do - echo patching $i - if ! test -L $i; then - LD_LIBRARY_PATH=$out/lib $LD_BINARY \ - $out/bin/patchelf --set-interpreter $LD_BINARY --set-rpath $out/lib --force-rpath $i - LD_LIBRARY_PATH=$out/lib $LD_BINARY \ - $out/bin/patchelf --set-interpreter $LD_BINARY --set-rpath $out/lib --force-rpath $i - fi + if [ -L "$i" ]; then continue; fi + if [ -z "${i##*/liblto*}" ]; then continue; fi + echo patching "$i" + LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.2 \ + $out/bin/patchelf --set-interpreter $LD_BINARY --set-rpath $out/lib --force-rpath "$i" done -for i in $out/lib/libgmp* $out/lib/libppl* $out/lib/libcloog* $out/lib/libmpc* $out/lib/libpcre* $out/lib/libstdc++*.so.*[0-9]; do - echo trying to patch $i - if test -f $i -a ! -L $i; then - LD_LIBRARY_PATH=$out/lib $LD_BINARY \ - $out/bin/patchelf --set-rpath $out/lib --force-rpath $i - LD_LIBRARY_PATH=$out/lib $LD_BINARY \ - $out/bin/patchelf --set-rpath $out/lib --force-rpath $i - fi +for i in $out/lib/libpcre*; do + if [ -L "$i" ]; then continue; fi + echo patching "$i" + $out/bin/patchelf --set-rpath $out/lib --force-rpath "$i" done # Fix the libc linker script. @@ -60,13 +43,16 @@ mv $out/lib/libpthread.so.tmp $out/lib/libpthread.so ln -s bash $out/bin/sh ln -s bzip2 $out/bin/bunzip2 -# Mimic the gunzip script as in gzip installations +# Provide a gunzip script. cat > $out/bin/gunzip < $out/bin/curl -chmod +x $out/bin/curl +# Provide fgrep/egrep. +echo "#! $out/bin/sh" > $out/bin/egrep +echo "exec $out/bin/grep -E \"\$@\"" >> $out/bin/egrep +echo "#! $out/bin/sh" > $out/bin/fgrep +echo "exec $out/bin/grep -F \"\$@\"" >> $out/bin/fgrep +chmod +x $out/bin/egrep $out/bin/fgrep From dac591aae6b56c5036b050fb017ccdfe4ed33f2d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 29 Oct 2014 17:54:47 +0100 Subject: [PATCH 16/74] glibc: Update to 2.20 --- pkgs/development/libraries/glibc/common.nix | 12 +- .../libraries/glibc/cve-2014-0475.patch | 170 --------- .../libraries/glibc/cve-2014-5119.patch | 206 ----------- .../glibc/dont-use-system-ld-so-preload.patch | 10 +- .../libraries/glibc/fix-math.patch | 336 ------------------ ...-remove-date-from-compilation-banner.patch | 12 - pkgs/development/libraries/glibc/locales.nix | 4 +- 7 files changed, 9 insertions(+), 741 deletions(-) delete mode 100644 pkgs/development/libraries/glibc/cve-2014-0475.patch delete mode 100644 pkgs/development/libraries/glibc/cve-2014-5119.patch delete mode 100644 pkgs/development/libraries/glibc/fix-math.patch delete mode 100644 pkgs/development/libraries/glibc/glibc-remove-date-from-compilation-banner.patch diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 23efc01a397..2559dea2653 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -13,7 +13,7 @@ cross: let - version = "2.19"; + version = "2.20"; in @@ -56,14 +56,6 @@ stdenv.mkDerivation ({ "/bin:/usr/bin", which is inappropriate on NixOS machines. This patch extends the search path by "/run/current-system/sw/bin". */ ./fix_path_attribute_in_getconf.patch - - ./fix-math.patch - - ./cve-2014-0475.patch - ./cve-2014-5119.patch - - /* Remove references to the compilation date. */ - ./glibc-remove-date-from-compilation-banner.patch ]; postPatch = @@ -155,7 +147,7 @@ stdenv.mkDerivation ({ } else fetchurl { url = "mirror://gnu/glibc/glibc-${version}.tar.gz"; - sha256 = "15n7x9mmzhd7w6s5hd9srx0h23b32gwb306x98k9ss940yvnvb8q"; + sha256 = "1g6ysvk15arpi7c1f1fpx5slgfr2k3dqd5xr0yvijajp1m0xxq9p"; }; # Remove absolute paths from `configure' & co.; build out-of-tree. diff --git a/pkgs/development/libraries/glibc/cve-2014-0475.patch b/pkgs/development/libraries/glibc/cve-2014-0475.patch deleted file mode 100644 index a4f983de8f6..00000000000 --- a/pkgs/development/libraries/glibc/cve-2014-0475.patch +++ /dev/null @@ -1,170 +0,0 @@ -Picked from upstream commits, but excluding changes to news and tests: -d183645616b0533 and 4e8f95a0df7c2 -Also see https://sourceware.org/bugzilla/show_bug.cgi?id=17137 - -diff --git a/locale/setlocale.c b/locale/setlocale.c -index 9458468..6455b8b 100644 ---- a/locale/setlocale.c -+++ b/locale/setlocale.c -@@ -272,6 +272,8 @@ setlocale (int category, const char *locale) - of entries of the form `CATEGORY=VALUE'. */ - const char *newnames[__LC_LAST]; - struct __locale_data *newdata[__LC_LAST]; -+ /* Copy of the locale argument, for in-place splitting. */ -+ char *locale_copy = NULL; - - /* Set all name pointers to the argument name. */ - for (category = 0; category < __LC_LAST; ++category) -@@ -281,7 +283,13 @@ setlocale (int category, const char *locale) - if (__glibc_unlikely (strchr (locale, ';') != NULL)) - { - /* This is a composite name. Make a copy and split it up. */ -- char *np = strdupa (locale); -+ locale_copy = strdup (locale); -+ if (__glibc_unlikely (locale_copy == NULL)) -+ { -+ __libc_rwlock_unlock (__libc_setlocale_lock); -+ return NULL; -+ } -+ char *np = locale_copy; - char *cp; - int cnt; - -@@ -299,6 +307,7 @@ setlocale (int category, const char *locale) - { - error_return: - __libc_rwlock_unlock (__libc_setlocale_lock); -+ free (locale_copy); - - /* Bogus category name. */ - ERROR_RETURN; -@@ -391,8 +400,9 @@ setlocale (int category, const char *locale) - /* Critical section left. */ - __libc_rwlock_unlock (__libc_setlocale_lock); - -- /* Free the resources (the locale path variable). */ -+ /* Free the resources. */ - free (locale_path); -+ free (locale_copy); - - return composite; - } -diff --git a/locale/findlocale.c b/locale/findlocale.c -index bbaf708..22e8b53 100644 ---- a/locale/findlocale.c -+++ b/locale/findlocale.c -@@ -17,6 +17,7 @@ - . */ - - #include -+#include - #include - #include - #include -@@ -57,6 +58,45 @@ struct loaded_l10nfile *_nl_locale_file_list[__LC_LAST]; - - const char _nl_default_locale_path[] attribute_hidden = LOCALEDIR; - -+/* Checks if the name is actually present, that is, not NULL and not -+ empty. */ -+static inline int -+name_present (const char *name) -+{ -+ return name != NULL && name[0] != '\0'; -+} -+ -+/* Checks that the locale name neither extremely long, nor contains a -+ ".." path component (to prevent directory traversal). */ -+static inline int -+valid_locale_name (const char *name) -+{ -+ /* Not set. */ -+ size_t namelen = strlen (name); -+ /* Name too long. The limit is arbitrary and prevents stack overflow -+ issues later. */ -+ if (__glibc_unlikely (namelen > 255)) -+ return 0; -+ /* Directory traversal attempt. */ -+ static const char slashdot[4] = {'/', '.', '.', '/'}; -+ if (__glibc_unlikely (memmem (name, namelen, -+ slashdot, sizeof (slashdot)) != NULL)) -+ return 0; -+ if (namelen == 2 && __glibc_unlikely (name[0] == '.' && name [1] == '.')) -+ return 0; -+ if (namelen >= 3 -+ && __glibc_unlikely (((name[0] == '.' -+ && name[1] == '.' -+ && name[2] == '/') -+ || (name[namelen - 3] == '/' -+ && name[namelen - 2] == '.' -+ && name[namelen - 1] == '.')))) -+ return 0; -+ /* If there is a slash in the name, it must start with one. */ -+ if (__glibc_unlikely (memchr (name, '/', namelen) != NULL) && name[0] != '/') -+ return 0; -+ return 1; -+} - - struct __locale_data * - internal_function -@@ -65,7 +105,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len, - { - int mask; - /* Name of the locale for this category. */ -- char *loc_name; -+ char *loc_name = (char *) *name; - const char *language; - const char *modifier; - const char *territory; -@@ -73,31 +113,39 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len, - const char *normalized_codeset; - struct loaded_l10nfile *locale_file; - -- if ((*name)[0] == '\0') -+ if (loc_name[0] == '\0') - { - /* The user decides which locale to use by setting environment - variables. */ -- *name = getenv ("LC_ALL"); -- if (*name == NULL || (*name)[0] == '\0') -- *name = getenv (_nl_category_names.str -+ loc_name = getenv ("LC_ALL"); -+ if (!name_present (loc_name)) -+ loc_name = getenv (_nl_category_names.str - + _nl_category_name_idxs[category]); -- if (*name == NULL || (*name)[0] == '\0') -- *name = getenv ("LANG"); -+ if (!name_present (loc_name)) -+ loc_name = getenv ("LANG"); -+ if (!name_present (loc_name)) -+ loc_name = (char *) _nl_C_name; - } - -- if (*name == NULL || (*name)[0] == '\0' -- || (__builtin_expect (__libc_enable_secure, 0) -- && strchr (*name, '/') != NULL)) -- *name = (char *) _nl_C_name; -+ /* We used to fall back to the C locale if the name contains a slash -+ character '/', but we now check for directory traversal in -+ valid_locale_name, so this is no longer necessary. */ - -- if (__builtin_expect (strcmp (*name, _nl_C_name), 1) == 0 -- || __builtin_expect (strcmp (*name, _nl_POSIX_name), 1) == 0) -+ if (__builtin_expect (strcmp (loc_name, _nl_C_name), 1) == 0 -+ || __builtin_expect (strcmp (loc_name, _nl_POSIX_name), 1) == 0) - { - /* We need not load anything. The needed data is contained in - the library itself. */ - *name = (char *) _nl_C_name; - return _nl_C[category]; - } -+ else if (!valid_locale_name (loc_name)) -+ { -+ __set_errno (EINVAL); -+ return NULL; -+ } -+ -+ *name = loc_name; - - /* We really have to load some data. First we try the archive, - but only if there was no LOCPATH environment variable specified. */ diff --git a/pkgs/development/libraries/glibc/cve-2014-5119.patch b/pkgs/development/libraries/glibc/cve-2014-5119.patch deleted file mode 100644 index cbae03425eb..00000000000 --- a/pkgs/development/libraries/glibc/cve-2014-5119.patch +++ /dev/null @@ -1,206 +0,0 @@ -http://anonscm.debian.org/viewvc/pkg-glibc/glibc-package/trunk/debian/patches/any/cvs-CVE-2014-5119.diff?revision=6248&view=co - -commit a1a6a401ab0a3c9f15fb7eaebbdcee24192254e8 -Author: Florian Weimer -Date: Tue Aug 26 19:38:59 2014 +0200 - - __gconv_translit_find: Disable function [BZ #17187] - - This functionality has never worked correctly, and the implementation - contained a security vulnerability (CVE-2014-5119). - -2014-08-26 Florian Weimer - - [BZ #17187] - * iconv/gconv_trans.c (struct known_trans, search_tree, lock, - trans_compare, open_translit, __gconv_translit_find): - Remove module loading code. - ---- a/iconv/gconv_trans.c -+++ b/iconv/gconv_trans.c -@@ -238,181 +238,12 @@ __gconv_transliterate (struct __gconv_step *step, - return __GCONV_ILLEGAL_INPUT; - } - -- --/* Structure to represent results of found (or not) transliteration -- modules. */ --struct known_trans --{ -- /* This structure must remain the first member. */ -- struct trans_struct info; -- -- char *fname; -- void *handle; -- int open_count; --}; -- -- --/* Tree with results of previous calls to __gconv_translit_find. */ --static void *search_tree; -- --/* We modify global data. */ --__libc_lock_define_initialized (static, lock); -- -- --/* Compare two transliteration entries. */ --static int --trans_compare (const void *p1, const void *p2) --{ -- const struct known_trans *s1 = (const struct known_trans *) p1; -- const struct known_trans *s2 = (const struct known_trans *) p2; -- -- return strcmp (s1->info.name, s2->info.name); --} -- -- --/* Open (maybe reopen) the module named in the struct. Get the function -- and data structure pointers we need. */ --static int --open_translit (struct known_trans *trans) --{ -- __gconv_trans_query_fct queryfct; -- -- trans->handle = __libc_dlopen (trans->fname); -- if (trans->handle == NULL) -- /* Not available. */ -- return 1; -- -- /* Find the required symbol. */ -- queryfct = __libc_dlsym (trans->handle, "gconv_trans_context"); -- if (queryfct == NULL) -- { -- /* We cannot live with that. */ -- close_and_out: -- __libc_dlclose (trans->handle); -- trans->handle = NULL; -- return 1; -- } -- -- /* Get the context. */ -- if (queryfct (trans->info.name, &trans->info.csnames, &trans->info.ncsnames) -- != 0) -- goto close_and_out; -- -- /* Of course we also have to have the actual function. */ -- trans->info.trans_fct = __libc_dlsym (trans->handle, "gconv_trans"); -- if (trans->info.trans_fct == NULL) -- goto close_and_out; -- -- /* Now the optional functions. */ -- trans->info.trans_init_fct = -- __libc_dlsym (trans->handle, "gconv_trans_init"); -- trans->info.trans_context_fct = -- __libc_dlsym (trans->handle, "gconv_trans_context"); -- trans->info.trans_end_fct = -- __libc_dlsym (trans->handle, "gconv_trans_end"); -- -- trans->open_count = 1; -- -- return 0; --} -- -- - int - internal_function - __gconv_translit_find (struct trans_struct *trans) - { -- struct known_trans **found; -- const struct path_elem *runp; -- int res = 1; -- -- /* We have to have a name. */ -- assert (trans->name != NULL); -- -- /* Acquire the lock. */ -- __libc_lock_lock (lock); -- -- /* See whether we know this module already. */ -- found = __tfind (trans, &search_tree, trans_compare); -- if (found != NULL) -- { -- /* Is this module available? */ -- if ((*found)->handle != NULL) -- { -- /* Maybe we have to reopen the file. */ -- if ((*found)->handle != (void *) -1) -- /* The object is not unloaded. */ -- res = 0; -- else if (open_translit (*found) == 0) -- { -- /* Copy the data. */ -- *trans = (*found)->info; -- (*found)->open_count++; -- res = 0; -- } -- } -- } -- else -- { -- size_t name_len = strlen (trans->name) + 1; -- int need_so = 0; -- struct known_trans *newp; -- -- /* We have to continue looking for the module. */ -- if (__gconv_path_elem == NULL) -- __gconv_get_path (); -- -- /* See whether we have to append .so. */ -- if (name_len <= 4 || memcmp (&trans->name[name_len - 4], ".so", 3) != 0) -- need_so = 1; -- -- /* Create a new entry. */ -- newp = (struct known_trans *) malloc (sizeof (struct known_trans) -- + (__gconv_max_path_elem_len -- + name_len + 3) -- + name_len); -- if (newp != NULL) -- { -- char *cp; -- -- /* Clear the struct. */ -- memset (newp, '\0', sizeof (struct known_trans)); -- -- /* Store a copy of the module name. */ -- newp->info.name = cp = (char *) (newp + 1); -- cp = __mempcpy (cp, trans->name, name_len); -- -- newp->fname = cp; -- -- /* Search in all the directories. */ -- for (runp = __gconv_path_elem; runp->name != NULL; ++runp) -- { -- cp = __mempcpy (__stpcpy ((char *) newp->fname, runp->name), -- trans->name, name_len); -- if (need_so) -- memcpy (cp, ".so", sizeof (".so")); -- -- if (open_translit (newp) == 0) -- { -- /* We found a module. */ -- res = 0; -- break; -- } -- } -- -- if (res) -- newp->fname = NULL; -- -- /* In any case we'll add the entry to our search tree. */ -- if (__tsearch (newp, &search_tree, trans_compare) == NULL) -- { -- /* Yickes, this should not happen. Unload the object. */ -- res = 1; -- /* XXX unload here. */ -- } -- } -- } -- -- __libc_lock_unlock (lock); -- -- return res; -+ /* Transliteration module loading has been removed because it never -+ worked as intended and suffered from a security vulnerability. -+ Consequently, this function always fails. */ -+ return 1; - } diff --git a/pkgs/development/libraries/glibc/dont-use-system-ld-so-preload.patch b/pkgs/development/libraries/glibc/dont-use-system-ld-so-preload.patch index fabb6c3ec5e..894e2a11cf8 100644 --- a/pkgs/development/libraries/glibc/dont-use-system-ld-so-preload.patch +++ b/pkgs/development/libraries/glibc/dont-use-system-ld-so-preload.patch @@ -1,12 +1,12 @@ -diff -rupN a/elf/rtld.c b/elf/rtld.c ---- a/elf/rtld.c 2013-08-11 00:52:55.000000001 +0200 -+++ b/elf/rtld.c 2014-02-18 13:56:19.000000001 +0100 -@@ -1639,7 +1639,7 @@ ERROR: ld.so: object '%s' cannot be load +diff -ru glibc-2.20-orig/elf/rtld.c glibc-2.20/elf/rtld.c +--- glibc-2.20-orig/elf/rtld.c 2014-09-07 10:09:09.000000000 +0200 ++++ glibc-2.20/elf/rtld.c 2014-10-27 11:32:25.203043157 +0100 +@@ -1513,7 +1513,7 @@ open(). So we do this first. If it succeeds we do almost twice the work but this does not matter, since it is not for production use. */ - static const char preload_file[] = "/etc/ld.so.preload"; + static const char preload_file[] = "/etc/ld-nix.so.preload"; - if (__builtin_expect (__access (preload_file, R_OK) == 0, 0)) + if (__glibc_unlikely (__access (preload_file, R_OK) == 0)) { /* Read the contents of the file. */ diff --git a/pkgs/development/libraries/glibc/fix-math.patch b/pkgs/development/libraries/glibc/fix-math.patch deleted file mode 100644 index 516f53954dd..00000000000 --- a/pkgs/development/libraries/glibc/fix-math.patch +++ /dev/null @@ -1,336 +0,0 @@ -From: Siddhesh Poyarekar -Date: Thu, 27 Feb 2014 15:42:09 +0000 (+0530) -Subject: Fix sign of input to bsloww1 (BZ #16623) -X-Git-Url: http://repo.or.cz/w/glibc.git/commitdiff_plain/1cadc85813d736f7682fa2eeadae639ab6b66c65 - -Fix sign of input to bsloww1 (BZ #16623) - -In 84ba214c, I removed some redundant sign computations and in the -process, I incorrectly got rid of a temporary variable, thus passing -the absolute value of the input to bsloww1. This caused #16623. - -This fix undoes the incorrect change. - -[nix]: drop docs update (wouldn't apply) ---- - -diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in -index ac5348f..fafe96f 100644 ---- a/math/auto-libm-test-in -+++ b/math/auto-libm-test-in -@@ -594,6 +594,7 @@ cos 0x1.0000010b239a9p0 - cos 0x1.00000162a932bp0 - cos 0x1.000002d452a10p0 - cos 0x1.000005bc7d86dp0 -+cos 0x1.200145a975ce6p32 - cos 1 - cos 2 - cos 3 -@@ -1748,6 +1749,7 @@ sin 7 - sin 8 - sin 9 - sin 10 -+sin 0x1.2001469775ce6p32 - - sincos 0 - sincos -0 -diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out -index 8f79359..59c08a7 100644 ---- a/math/auto-libm-test-out -+++ b/math/auto-libm-test-out -@@ -74446,6 +74446,75 @@ cos 0x1.000005bc7d86dp0 - = cos tonearest ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92354p-4L : inexact-ok - = cos towardzero ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92354p-4L : inexact-ok - = cos upward ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92358p-4L : inexact-ok -+cos 0x1.200145a975ce6p32 -+= cos downward flt-32 0x1.200146p+32f : -0xf.74fbep-4f : inexact-ok -+= cos tonearest flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok -+= cos towardzero flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok -+= cos upward flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok -+= cos downward dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe5p-4 : inexact-ok -+= cos tonearest dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe5p-4 : inexact-ok -+= cos towardzero dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe48p-4 : inexact-ok -+= cos upward dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe48p-4 : inexact-ok -+= cos downward ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0dp-4L : inexact-ok -+= cos tonearest ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok -+= cos towardzero ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok -+= cos upward ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok -+= cos downward ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0dp-4L : inexact-ok -+= cos tonearest ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok -+= cos towardzero ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok -+= cos upward ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok -+= cos downward ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59e8p-4L : inexact-ok -+= cos tonearest ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59e8p-4L : inexact-ok -+= cos towardzero ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59ep-4L : inexact-ok -+= cos upward ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59ep-4L : inexact-ok -+= cos downward ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef5cp-4L : inexact-ok -+= cos tonearest ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok -+= cos towardzero ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok -+= cos upward ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok -+= cos downward flt-32 0x1.200144p+32f : 0xf.bc96cp-4f : inexact-ok -+= cos tonearest flt-32 0x1.200144p+32f : 0xf.bc96dp-4f : inexact-ok -+= cos towardzero flt-32 0x1.200144p+32f : 0xf.bc96cp-4f : inexact-ok -+= cos upward flt-32 0x1.200144p+32f : 0xf.bc96dp-4f : inexact-ok -+= cos downward dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok -+= cos tonearest dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok -+= cos towardzero dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok -+= cos upward dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658bp-4 : inexact-ok -+= cos downward ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok -+= cos tonearest ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok -+= cos towardzero ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok -+= cos upward ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok -+= cos downward ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok -+= cos tonearest ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok -+= cos towardzero ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok -+= cos upward ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok -+= cos downward ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok -+= cos tonearest ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok -+= cos towardzero ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok -+= cos upward ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fb8p-4L : inexact-ok -+= cos downward ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8cp-4L : inexact-ok -+= cos tonearest ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a9p-4L : inexact-ok -+= cos towardzero ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8cp-4L : inexact-ok -+= cos upward ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a9p-4L : inexact-ok -+= cos downward dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffdp-4 : inexact-ok -+= cos tonearest dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok -+= cos towardzero dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok -+= cos upward dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok -+= cos downward ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe8p-4L : inexact-ok -+= cos tonearest ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok -+= cos towardzero ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok -+= cos upward ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok -+= cos downward ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe8p-4L : inexact-ok -+= cos tonearest ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok -+= cos towardzero ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok -+= cos upward ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok -+= cos downward ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e8p-4L : inexact-ok -+= cos tonearest ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok -+= cos towardzero ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok -+= cos upward ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok -+= cos downward ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726842p-4L : inexact-ok -+= cos tonearest ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok -+= cos towardzero ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok -+= cos upward ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok - cos 1 - = cos downward flt-32 0x1p+0f : 0x8.a514p-4f : inexact-ok - = cos tonearest flt-32 0x1p+0f : 0x8.a514p-4f : inexact-ok -@@ -157744,6 +157813,75 @@ sin 10 - = sin tonearest ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be025p-4L : inexact-ok - = sin towardzero ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be024cp-4L : inexact-ok - = sin upward ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be024cp-4L : inexact-ok -+sin 0x1.2001469775ce6p32 -+= sin downward flt-32 0x1.200148p+32f : -0x5.595d8p-4f : inexact-ok -+= sin tonearest flt-32 0x1.200148p+32f : -0x5.595d8p-4f : inexact-ok -+= sin towardzero flt-32 0x1.200148p+32f : -0x5.595d78p-4f : inexact-ok -+= sin upward flt-32 0x1.200148p+32f : -0x5.595d78p-4f : inexact-ok -+= sin downward dbl-64 0x1.200148p+32 : -0x5.595d7e536fe38p-4 : inexact-ok -+= sin tonearest dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok -+= sin towardzero dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok -+= sin upward dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok -+= sin downward ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35eep-4L : inexact-ok -+= sin tonearest ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok -+= sin towardzero ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok -+= sin upward ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok -+= sin downward ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35eep-4L : inexact-ok -+= sin tonearest ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok -+= sin towardzero ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok -+= sin upward ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok -+= sin downward ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d944p-4L : inexact-ok -+= sin tonearest ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok -+= sin towardzero ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok -+= sin upward ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok -+= sin downward ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9dap-4L : inexact-ok -+= sin tonearest ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9dap-4L : inexact-ok -+= sin towardzero ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d8p-4L : inexact-ok -+= sin upward ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d8p-4L : inexact-ok -+= sin downward flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok -+= sin tonearest flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok -+= sin towardzero flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok -+= sin upward flt-32 0x1.200146p+32f : 0x4.220ff8p-4f : inexact-ok -+= sin downward dbl-64 0x1.200146p+32 : 0x4.220ff25f5cfp-4 : inexact-ok -+= sin tonearest dbl-64 0x1.200146p+32 : 0x4.220ff25f5cf04p-4 : inexact-ok -+= sin towardzero dbl-64 0x1.200146p+32 : 0x4.220ff25f5cfp-4 : inexact-ok -+= sin upward dbl-64 0x1.200146p+32 : 0x4.220ff25f5cf04p-4 : inexact-ok -+= sin downward ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok -+= sin tonearest ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok -+= sin towardzero ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok -+= sin upward ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok -+= sin downward ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok -+= sin tonearest ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok -+= sin towardzero ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok -+= sin upward ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok -+= sin downward ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok -+= sin tonearest ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok -+= sin towardzero ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok -+= sin upward ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cc4p-4L : inexact-ok -+= sin downward ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok -+= sin tonearest ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok -+= sin towardzero ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok -+= sin upward ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ep-4L : inexact-ok -+= sin downward dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019fcp-4 : inexact-ok -+= sin tonearest dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok -+= sin towardzero dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok -+= sin upward dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok -+= sin downward ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f6p-4L : inexact-ok -+= sin tonearest ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok -+= sin towardzero ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok -+= sin upward ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok -+= sin downward ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f6p-4L : inexact-ok -+= sin tonearest ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok -+= sin towardzero ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok -+= sin upward ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok -+= sin downward ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca70604p-4L : inexact-ok -+= sin tonearest ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok -+= sin towardzero ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok -+= sin upward ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok -+= sin downward ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca708p-4L : inexact-ok -+= sin tonearest ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok -+= sin towardzero ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok -+= sin upward ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok - sincos 0 - = sincos downward flt-32 0x0p+0f : 0x0p+0f 0x1p+0f : inexact-ok - = sincos tonearest flt-32 0x0p+0f : 0x0p+0f 0x1p+0f : inexact-ok -diff --git a/sysdeps/ieee754/dbl-64/s_sin.c b/sysdeps/ieee754/dbl-64/s_sin.c -index 6105e9f..50109b8 100644 ---- a/sysdeps/ieee754/dbl-64/s_sin.c -+++ b/sysdeps/ieee754/dbl-64/s_sin.c -@@ -447,19 +447,21 @@ __sin (double x) - } - else - { -+ double t; - if (a > 0) - { - m = 1; -+ t = a; - db = da; - } - else - { - m = 0; -- a = -a; -+ t = -a; - db = -da; - } -- u.x = big + a; -- y = a - (u.x - big); -+ u.x = big + t; -+ y = t - (u.x - big); - res = do_sin (u, y, db, &cor); - cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps; - retval = ((res == res + cor) ? ((m) ? res : -res) -@@ -671,19 +673,21 @@ __cos (double x) - } - else - { -+ double t; - if (a > 0) - { - m = 1; -+ t = a; - db = da; - } - else - { - m = 0; -- a = -a; -+ t = -a; - db = -da; - } -- u.x = big + a; -- y = a - (u.x - big); -+ u.x = big + t; -+ y = t - (u.x - big); - res = do_sin (u, y, db, &cor); - cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps; - retval = ((res == res + cor) ? ((m) ? res : -res) -diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps -index f3980f8..544f1c7 100644 ---- a/sysdeps/x86_64/fpu/libm-test-ulps -+++ b/sysdeps/x86_64/fpu/libm-test-ulps -@@ -10900,6 +10900,14 @@ idouble: 1 - Test "cos_downward (0x1.0c152382d7365p+0)": - double: 1 - idouble: 1 -+Test "cos_downward (0x1.200145a975ce6p+32)": -+double: 1 -+idouble: 1 -+ildouble: 1 -+ldouble: 1 -+Test "cos_downward (0x1.200146p+32)": -+ildouble: 1 -+ldouble: 1 - Test "cos_downward (0x1.921fb4p+0)": - ildouble: 1 - ldouble: 1 -@@ -11126,6 +11134,9 @@ idouble: 1 - Test "cos_towardzero (0x1.0c152382d7365p+0)": - double: 1 - idouble: 1 -+Test "cos_towardzero (0x1.200146p+32)": -+double: 1 -+idouble: 1 - Test "cos_towardzero (0x1.921fb4p+0)": - ildouble: 1 - ldouble: 1 -@@ -11258,6 +11269,17 @@ idouble: 1 - Test "cos_upward (0x1.0c1524p+0)": - double: 1 - idouble: 1 -+Test "cos_upward (0x1.200144p+32)": -+double: 1 -+idouble: 1 -+Test "cos_upward (0x1.200145a975ce6p+32)": -+ildouble: 1 -+ldouble: 1 -+Test "cos_upward (0x1.200146p+32)": -+double: 1 -+idouble: 1 -+ildouble: 1 -+ldouble: 1 - Test "cos_upward (0x1.921fb4p+0)": - double: 1 - idouble: 1 -@@ -15155,6 +15177,19 @@ double: 1 - idouble: 1 - ildouble: 1 - ldouble: 1 -+Test "sin_downward (0x1.2001469775ce6p+32)": -+double: 1 -+idouble: 1 -+ildouble: 1 -+ldouble: 1 -+Test "sin_downward (0x1.200146p+32)": -+double: 1 -+idouble: 1 -+Test "sin_downward (0x1.200148p+32)": -+double: 1 -+idouble: 1 -+ildouble: 1 -+ldouble: 1 - Test "sin_downward (0x1.921fb54442d18468p+0)": - ildouble: 1 - ldouble: 1 -@@ -15383,6 +15418,9 @@ double: 1 - idouble: 1 - ildouble: 1 - ldouble: 1 -+Test "sin_towardzero (0x1.200146p+32)": -+double: 1 -+idouble: 1 - Test "sin_towardzero (0x1.921fb54442d18468p+0)": - ildouble: 1 - ldouble: 1 -@@ -15532,6 +15570,12 @@ ldouble: 1 - Test "sin_upward (-0x8.60a92p-4)": - ildouble: 1 - ldouble: 1 -+Test "sin_upward (0x1.2001469775ce6p+32)": -+ildouble: 1 -+ldouble: 1 -+Test "sin_upward (0x1.200148p+32)": -+ildouble: 1 -+ldouble: 1 - Test "sin_upward (0x1.921fb4p+0)": - double: 1 - idouble: 1 diff --git a/pkgs/development/libraries/glibc/glibc-remove-date-from-compilation-banner.patch b/pkgs/development/libraries/glibc/glibc-remove-date-from-compilation-banner.patch deleted file mode 100644 index 5d0b1a51762..00000000000 --- a/pkgs/development/libraries/glibc/glibc-remove-date-from-compilation-banner.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur glibc-2.17.orig/csu/Makefile glibc-2.17/csu/Makefile ---- glibc-2.17.orig/csu/Makefile 2012-12-25 04:02:13.000000000 +0100 -+++ glibc-2.17/csu/Makefile 2013-08-19 16:01:57.132378550 +0200 -@@ -172,7 +172,7 @@ - os=Linux; \ - fi; \ - printf '"Compiled on a %s %s system on %s.\\n"\n' \ -- "$$os" "$$version" "`date +%Y-%m-%d`";; \ -+ "$$os" "$$version";; \ - *) ;; \ - esac; \ - files="$(all-Banner-files)"; \ diff --git a/pkgs/development/libraries/glibc/locales.nix b/pkgs/development/libraries/glibc/locales.nix index 9f9fb86a396..1dd15832f5b 100644 --- a/pkgs/development/libraries/glibc/locales.nix +++ b/pkgs/development/libraries/glibc/locales.nix @@ -28,8 +28,8 @@ build null { mkdir -p $TMPDIR/"$(dirname $(readlink -f $(type -p localedef)))/../lib/locale" # Hack to allow building of the locales (needed since glibc-2.12) - sed -i -e "s,^LOCALEDEF=.*,LOCALEDEF=localedef --prefix=$TMPDIR," -e \ - /library-path/d ../glibc-2*/localedata/Makefile + sed -i -e 's,^$(rtld-prefix) $(common-objpfx)locale/localedef,localedef --prefix='$TMPDIR',' ../glibc-2*/localedata/Makefile + ${if allLocales then "" else "echo SUPPORTED-LOCALES=\"${toString locales}\" > ../glibc-2*/localedata/SUPPORTED"} From 41c0302661b90dd98e9c1806e5e747ea339d5a3d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 29 Oct 2014 17:55:40 +0100 Subject: [PATCH 17/74] aterm: Fix building on Glibc 2.20 --- pkgs/development/libraries/aterm/2.5.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/aterm/2.5.nix b/pkgs/development/libraries/aterm/2.5.nix index 10a22e00f65..ef53a76d20b 100644 --- a/pkgs/development/libraries/aterm/2.5.nix +++ b/pkgs/development/libraries/aterm/2.5.nix @@ -21,6 +21,8 @@ stdenv.mkDerivation { dontDisableStatic = true; + NIX_CFLAGS_COMPILE = "-D__USE_BSD"; + meta = { homepage = http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ATerm; license = "LGPL"; From 1acfbca7dfc7beff7f5988d7e3621c930b7eaccd Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 30 Oct 2014 09:28:10 +0100 Subject: [PATCH 18/74] grub2: Fix building against Glibc 2.20 http://hydra.nixos.org/build/16563301 --- pkgs/tools/misc/grub/2.0x.nix | 2 +- pkgs/tools/misc/grub/glibc-2.20.patch | 29 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 pkgs/tools/misc/grub/glibc-2.20.patch diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index e5471a6c404..1dbdfff7448 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -77,7 +77,7 @@ stdenv.mkDerivation rec { -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g" ''; - patches = [ ./fix-bash-completion.patch ]; + patches = [ ./fix-bash-completion.patch ./glibc-2.20.patch ]; configureFlags = optional zfsSupport "--enable-libzfs" ++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystems.${stdenv.system}.target}" "--program-prefix=" ]; diff --git a/pkgs/tools/misc/grub/glibc-2.20.patch b/pkgs/tools/misc/grub/glibc-2.20.patch new file mode 100644 index 00000000000..6bb4f677541 --- /dev/null +++ b/pkgs/tools/misc/grub/glibc-2.20.patch @@ -0,0 +1,29 @@ +* grub-core/kern/emu/hostfs.c: squahes below warning + warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use +_DEFAULT_SOURCE" + +Signed-off-by: Khem Raj + +Upstream-Status: Submitted +--- + grub-core/kern/emu/hostfs.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/grub-core/kern/emu/hostfs.c b/grub-core/kern/emu/hostfs.c +index 7e725f6..823116d 100644 +--- a/grub-core/kern/emu/hostfs.c ++++ b/grub-core/kern/emu/hostfs.c +@@ -19,7 +19,11 @@ + + #include + ++/* Legacy feature macro.*/ + #define _BSD_SOURCE ++/* New feature macro that provides everything _BSD_SOURCE and ++ * _SVID_SOURCE provided and possibly more. */ ++#define _DEFAULT_SOURCE + #include + #include + #include +-- +2.1.0 From d3da884dd8562dee55b4eeccc0a0c19ef052e9ec Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 30 Oct 2014 13:34:26 +0100 Subject: [PATCH 19/74] imagemagick: Use --with-gcc-arch Without this, ImageMagick's configure script will generate code specific to the machine building the package. This code may then fail on other CPU types. http://hydra.nixos.org/build/16564129 --- .../graphics/ImageMagick/default.nix | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index e75ce535f7f..da2ca64d975 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -1,4 +1,5 @@ -{ stdenv +{ lib +, stdenv , fetchurl , pkgconfig , bzip2 @@ -18,8 +19,16 @@ }: let + version = "6.8.9-8"; + + arch = + if stdenv.system == "i686-linux" then "i686" + else if stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin" then "x86-64" + else throw "ImageMagick is not supported on this platform."; + in + stdenv.mkDerivation rec { name = "ImageMagick-${version}"; @@ -35,18 +44,19 @@ stdenv.mkDerivation rec { export DVIDecodeDelegate=${tetex}/bin/dvips '' else ""; - configureFlags = "" + stdenv.lib.optionalString (stdenv.system != "x86_64-darwin") '' - --with-gs-font-dir=${ghostscript}/share/ghostscript/fonts - --with-gslib - '' + '' - --with-frozenpaths - ${if librsvg != null then "--with-rsvg" else ""} - ''; + configureFlags = + [ "--with-frozenpaths" ] + ++ [ "--with-gcc-arch=${arch}" ] + ++ lib.optional (librsvg != null) "--with-rsvg" + ++ lib.optionals (stdenv.system != "x86_64-darwin") + [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts" + "--with-gslib" + ]; propagatedBuildInputs = [ bzip2 fontconfig freetype libjpeg libpng libtiff libxml2 zlib librsvg libtool jasper libX11 - ] ++ stdenv.lib.optional (stdenv.system != "x86_64-darwin") ghostscript; + ] ++ lib.optional (stdenv.system != "x86_64-darwin") ghostscript; buildInputs = [ tetex pkgconfig ]; From 4cc61d6d080a10c80267463a340dbe42f0ad0174 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 1 Nov 2014 22:29:42 +0100 Subject: [PATCH 20/74] xorg.xf86-video-vmware: fix build against glibc-2.20 --- pkgs/servers/x11/xorg/overrides.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 246ed94cd1a..19c119ad74c 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -203,6 +203,11 @@ 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 95b475da0925230b6610330d6f6b7fec4729a6dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 1 Nov 2014 23:26:44 +0100 Subject: [PATCH 21/74] xorg.xf86-input-vmmouse: fix build with glibc-2.20 --- pkgs/servers/x11/xorg/overrides.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 19c119ad74c..ca3d16d1f9b 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -188,6 +188,11 @@ in "--with-xorg-conf-dir=$(out)/share/X11/xorg.conf.d" "--with-udev-rules-dir=$(out)/lib/udev/rules.d" ]; + patches = [( args.fetchpatch { + url = "http://cgit.freedesktop.org/xorg/driver/xf86-input-vmmouse/patch/" + + "?id=1cbbc03c4b37d57760c57bd2e0b0f89d744a5795"; + sha256 = "1qkhwj2yal0cz15lv9557d10ylvxlq05ibq43pm2rrvqdg3mb6h4"; + })]; }; xf86videoati = attrs: attrs // { From 515dcb0f660a472877a34a8c00980fb77ebc005a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 1 Nov 2014 23:31:18 +0100 Subject: [PATCH 22/74] xorg.xf86-video-intel: use the new versions The old driver wasn't updated since August 2013, and e.g. won't compile with glibc-2.20. Distros like Arch or Ubuntu are using newer one for a long time. --- pkgs/servers/x11/xorg/default.nix | 10 +++++----- pkgs/servers/x11/xorg/tarballs-7.7.list | 2 +- pkgs/servers/x11/xorg/xf86-video-intel-testing.nix | 14 -------------- pkgs/top-level/all-packages.nix | 2 -- 4 files changed, 6 insertions(+), 22 deletions(-) delete mode 100644 pkgs/servers/x11/xorg/xf86-video-intel-testing.nix diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 11b1168498d..e379ab2750d 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1555,14 +1555,14 @@ let }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; xf86videointel = (mkDerivation "xf86videointel" { - name = "xf86-video-intel-2.21.15"; + name = "xf86-video-intel-2.99.916"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-intel-2.21.15.tar.bz2; - sha256 = "1z6ncmpszmwqi9xr590c4kp4gjjf7mndcr56r35x2bx7h87i8nkx"; + url = mirror://xorg/individual/driver/xf86-video-intel-2.99.916.tar.bz2; + sha256 = "00gd3v3xgrmj8aliwjxkml13gfqvcbjazb6l5m1wkry39agq36j0"; }; - buildInputs = [pkgconfig dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ]; - }) // {inherit dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ;}; + buildInputs = [pkgconfig dri2proto dri3proto fontsproto glamoregl libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXvMC ]; + }) // {inherit dri2proto dri3proto fontsproto glamoregl libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXvMC ;}; xf86videomach64 = (mkDerivation "xf86videomach64" { name = "xf86-video-mach64-6.9.4"; diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index 42947f49778..8644aba9a50 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -134,7 +134,7 @@ mirror://xorg/individual/driver/xf86-video-geode-2.11.16.tar.bz2 mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2 mirror://xorg/individual/driver/xf86-video-glint-1.2.8.tar.bz2 mirror://xorg/individual/driver/xf86-video-i128-1.3.6.tar.bz2 -mirror://xorg/individual/driver/xf86-video-intel-2.21.15.tar.bz2 +mirror://xorg/individual/driver/xf86-video-intel-2.99.916.tar.bz2 mirror://xorg/individual/driver/xf86-video-mach64-6.9.4.tar.bz2 mirror://xorg/individual/driver/xf86-video-mga-1.6.3.tar.bz2 mirror://xorg/individual/driver/xf86-video-modesetting-0.9.0.tar.bz2 diff --git a/pkgs/servers/x11/xorg/xf86-video-intel-testing.nix b/pkgs/servers/x11/xorg/xf86-video-intel-testing.nix deleted file mode 100644 index bee394e9963..00000000000 --- a/pkgs/servers/x11/xorg/xf86-video-intel-testing.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, libdrm, udev, xorg }: - -with xorg; - -(stdenv.mkDerivation ({ - name = "xf86-video-intel-2.99.912"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-intel-2.99.912.tar.bz2; - sha256 = "00cmvs5jxaqnl1pwqvj1rwir4kbvf5qfng89cjn4rwsr5m4zr3vw"; - }; - buildInputs = [pkgconfig dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes libXinerama xorgserver xproto libXrandr libXrender libXtst libXvMC ]; -})) // {inherit dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes libXinerama xorgserver xproto libXrandr libXrender libXtst libXvMC ;} - diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3b3ad79ffa4..17ac0a29554 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7565,8 +7565,6 @@ let mesa = mesa_noglu; udev = if stdenv.isLinux then udev else null; libdrm = if stdenv.isLinux then libdrm else null; - } // { - xf86videointel-testing = callPackage ../servers/x11/xorg/xf86-video-intel-testing.nix { }; }); xorgReplacements = callPackage ../servers/x11/xorg/replacements.nix { }; From 73b75f6157db79fc899154a497823e82e409e76d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 3 Nov 2014 13:25:58 +0100 Subject: [PATCH 23/74] gcc: Fix bug causing Glibc miscompilation http://hydra.nixos.org/build/16564205 --- .../development/compilers/gcc/4.8/bug-61801.patch | 15 +++++++++++++++ pkgs/development/compilers/gcc/4.8/default.nix | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/compilers/gcc/4.8/bug-61801.patch diff --git a/pkgs/development/compilers/gcc/4.8/bug-61801.patch b/pkgs/development/compilers/gcc/4.8/bug-61801.patch new file mode 100644 index 00000000000..3d87e007813 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.8/bug-61801.patch @@ -0,0 +1,15 @@ +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801 +https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=212740 + +--- a/gcc/sched-deps.c 2014/07/17 07:48:49 212739 ++++ b/gcc/sched-deps.c 2014/07/17 07:49:44 212740 +@@ -2744,7 +2744,8 @@ + Consider for instance a volatile asm that changes the fpu rounding + mode. An insn should not be moved across this even if it only uses + pseudo-regs because it might give an incorrectly rounded result. */ +- if (code != ASM_OPERANDS || MEM_VOLATILE_P (x)) ++ if ((code != ASM_OPERANDS || MEM_VOLATILE_P (x)) ++ && !DEBUG_INSN_P (insn)) + reg_pending_barrier = TRUE_BARRIER; + + /* For all ASM_OPERANDS, we must traverse the vector of input operands. diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index 7166d325b31..ac5056fbca5 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -61,7 +61,7 @@ let version = "4.8.3"; enableParallelBuilding = true; - patches = [] + patches = [ ./bug-61801.patch ] ++ optional enableParallelBuilding ./parallel-bconfig.patch ++ optional (cross != null) ./libstdc++-target.patch ++ optional noSysDirs ./no-sys-dirs.patch From 103f5658a49e35dbac2fcec4a58937b9045836cb Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 3 Nov 2014 14:19:53 +0100 Subject: [PATCH 24/74] bash: Update to 4.3 --- pkgs/shells/bash/bash-4.2-patches.nix | 57 --------------------------- pkgs/shells/bash/bash-4.3-patches.nix | 34 ++++++++++++++++ pkgs/shells/bash/default.nix | 8 ++-- 3 files changed, 38 insertions(+), 61 deletions(-) delete mode 100644 pkgs/shells/bash/bash-4.2-patches.nix create mode 100644 pkgs/shells/bash/bash-4.3-patches.nix diff --git a/pkgs/shells/bash/bash-4.2-patches.nix b/pkgs/shells/bash/bash-4.2-patches.nix deleted file mode 100644 index 8ec6bf73835..00000000000 --- a/pkgs/shells/bash/bash-4.2-patches.nix +++ /dev/null @@ -1,57 +0,0 @@ -# Automatically generated by `update-patch-set.sh'; do not edit. - -patch: [ -(patch "001" "0yml2b6yarrr0dzv7h45lz4126i228hvqbqacqzg4jkcawla0v4d") -(patch "002" "1yffzfxryvqns513yv3r46slkysa3nbqv40442xfxb4rw4kwkfpy") -(patch "003" "1kdl9hcpf1m7gz0ja3mvin3syprl2kmbxc3wm27391wc04apq2js") -(patch "004" "1ha0453cjqdgkns2xkdgpd2izj5b6xlsc9a2w5b3sn6j63wb0d2f") -(patch "005" "182r2iyk27l28b8kyppfavvzxhax6vn5n1zyy3yirf0463klj5x8") -(patch "006" "1labcciavnfmn0alncz1x92ydrsriikcimw24rwzmnidbaa4h4f9") -(patch "007" "15byzdqvavc3zg2lbzzdwpdy43kzdnvmr89nya211pa3yjn2cn20") -(patch "008" "0dr4p83m2xpxhvd61yny0gdlasq6r9mpyiz220998y0alq8hs213") -(patch "009" "086b9jkyjgf2zhwln72d7s5x759iskgg3r4hdrw6b5y1ni059vg7") -(patch "010" "1p23m9kssdmpnjfp96bjmmshzf25cdzlyjygdw8j6sayqa159z5c") -(patch "011" "0chm4r6zv2kafq1g8xs7r0gixmw9h9r63rgd38rdgfvyk8ssx4d4") -(patch "012" "1f5pp64rv4mx3r34577pmb15pyxvhmdhmliccnwz20nssbqk6i1m") -(patch "013" "1sl5rxl3kz39xbnbaf0085jcx0l19l2yqjk0ja2wirmwrg3ca4il") -(patch "014" "0cwb5ilgx1gcbvnfk93pcpyhvq5wzasyvyllbxrk51c517k7i9mm") -(patch "015" "164afkc75534x1ad1h6qkl511k2cpirqs2kyx1jddwxx0j1nm1rd") -(patch "016" "19p20g7h7563m79vvy0adkpzlaxg192affzsm1rxm67wyyycr598") -(patch "017" "0zzfva20hxfrj5njd321pcjfydiv0kzcqryxfdh1sxlc95228mbk") -(patch "018" "0ka9pfnjmdak8lvmbryv2r1kkrlffnxbqjxq656la39pf9qlbag2") -(patch "019" "0mpb0whacppwcdx7pcnf0ah5vjvkw14ang6r2rh9fmkn401cvdx8") -(patch "020" "0vrwv9wpbr692kf427npmsxzvn007d9alk6jf99v7307s3q76is9") -(patch "021" "1p5s6apnnbmx4yf1kzndw7fiwvdxamkcgqiv937mwmr6w9xsk1x8") -(patch "022" "0sswp2c63pclvdwi2hbkwbqf9ysmiw6mmi0qinl2pkgqyyfzdkcx") -(patch "023" "1gzhcmwj0741libjqwln4r4h9k7lskprc4q87hvqgj56y6a17hax") -(patch "024" "1rlrdfk67g8as6pr076ldhjhnkd2c86mb4ci18fjivivsfyjdj4r") -(patch "025" "05am4w789v630x0a6a9wrxhvrjvs73fjn68i55qdand5sxpn9c0d") -(patch "026" "1li3sd3hpdxhh257hdwzzn2g18m4ksflx6crqswv9qxwmgx0rsg7") -(patch "027" "0hpdywvny6vihls2qqlwwxkvps7q710vp6szq117zhgwarr6n7qc") -(patch "028" "0ypdn590h5f8y7kvk2sk93vcjbh5vrcwsaasvprsm0ds77g2chi0") -(patch "029" "10gm73rvfhr42v7i70qqc56wl8l459i2frs6ifrcsnmw2w48rc6h") -(patch "030" "1bmg8iz95jijxp89czwaw9msppgj220233nbrn66s4qsb5k46n8j") -(patch "031" "1yfrz093hghhlrj8na48dzc8v6ax34mj5i0h6l3bnpvp6i6qrwsm") -(patch "032" "1vci8xh1r8f59j6d95iljw9i555jm1fm2lssm1ycprdivdivba73") -(patch "033" "0js38r5gmlyz70zjfw0m2j08h26c3vma2vy8gbsb5pwzss82glgm") -(patch "034" "1f213qpvqnv2bm79a01r44xjlwk65483cxvw6kgwx28k20rg7h81") -(patch "035" "1pvqxpm7m1y7ab5srq3s7r095z34nbcr62gz6nb89d1qn1iy9kff") -(patch "036" "1yma0m9wrk6a15x36libb8a0cz7gmzihv6lvmrrd5i1ar4dklagy") -(patch "037" "0x0niqv7zwqvz4l8n9nivhk0g0036jh5h3vlkil3095vsgfqqmy7") -(patch "038" "0mvdpsxxs4bn5zvsm04yfsplhcrv6y0avpwilj5yasr0vwdsijdq") -(patch "039" "148pkj5s73ym0jhpr8d3z5vfily4chm0am4yms4506ijc0531ygl") -(patch "040" "0v5a98ybibwsd4iyh18gy0kc51mx8qn9w2wfpjaiycn7yg5gjrdj") -(patch "041" "1szmm8xv41hvbzgxfwrj6dg85wa7zy3781nnil428rlzpm8ikk05") -(patch "042" "017kpdqy6v9sgi2a931wyzpix86n9mkalpm6n9cb45v58lgmraps") -(patch "043" "0mswgjk3z80qm1mb93jmbql27nbczxk86cw5byf0m29y1y2869nw") -(patch "044" "1rk6jywzfvg1crvhib1zk37rsps73minhr7l4vcb3vfdkin2vlqh") -(patch "045" "0vcqn9rb26bahhrarbwhpa0ny0nrf4vyrzh97d44lfcxypqfzdyx") -(patch "046" "0vc1ngkxkamwr022ww3vjp9ww9c647az4pjn175c1v60d0xk5hcm") -(patch "047" "0ymgimqz65sx2izg1dvm1h5cc01arl3j9j5137212l1ls00r55y1") -(patch "048" "091xk1ms7ycnczsl3fx461gjhj69j6ycnfijlymwj6mj60ims6km") -(patch "049" "03jipi8qz5baf1dyhld7yvazkkad7lz5czchrjsrnglzvm6df74h") -(patch "050" "19lb9nh0x5siwf21xkga3khy5pa3srfrlx97mby4cfz8am2bh68s") -(patch "051" "0705948wzi27zxphkh5vx4n62i671afyrb4qx276n49sq9xk859y") -(patch "052" "036wc4azli48ri7641fflxh6j95fnsma2167hbn80v7p91qzm67h") -(patch "053" "1pnkzx8bj8rz219wk8kxs8iga1k2wn13g1yvg3dci19qakbr7ri0") -] diff --git a/pkgs/shells/bash/bash-4.3-patches.nix b/pkgs/shells/bash/bash-4.3-patches.nix new file mode 100644 index 00000000000..cd1fb578e62 --- /dev/null +++ b/pkgs/shells/bash/bash-4.3-patches.nix @@ -0,0 +1,34 @@ +# Automatically generated by `update-patch-set.sh'; do not edit. + +patch: [ +(patch "001" "0hip2n2s5hws8p4nfcz37379zn6cak83ljsm64z52rw6ckrdzczc") +(patch "002" "0ashj5d1g3zbyr7zf0r72s5wnk96cz1xj919y3jajadbc9qcvrzf") +(patch "003" "0z88q4daq7dmw93iqd9c5i5d1sndklih3nrh0v75746da2n6w3h0") +(patch "004" "0f0kh9j5k4ym6knshscx31przm50x5cc7ifkwqk0swh6clna982y") +(patch "005" "1ym3b8b7lgmdp3dklp8qaqhyq965wd5392namq8mz7rb0d231j0s") +(patch "006" "04q20igq49py49ynb0f83f6f52cdkyqwd9bpic6akr0m5pkqwr50") +(patch "007" "18zkz23d9myshrwfcwcdjk7qmkqp8az5n91ni9jaixlwqlhy64qi") +(patch "008" "0pprcwvh7ngdli0x95pc1cpssg4qg7layi9xrv2jq6c7965ajhcr") +(patch "009" "19a0pf0alp30d1bjj0zf3zq2f5n0s6y91w7brm9jyswl51kns8n0") +(patch "010" "1dzhr5ammyijisz48cqi5vaw26hfr5vh9smnqxq4qc9p06f7j1ff") +(patch "011" "0fvzdzzi142a8rf3v965r6gbpn0k7fv2gif1yq8a4160vcn40qvw") +(patch "012" "04lcgfcyz7p3zagb4hkia3hkpd7lii9m8ycy9qqwzyrm1c1pj4ry") +(patch "013" "0y9cqi378z6flapkd5k5lfl4lq3ivzg4njj3i3wmw7xb6r9wma5z") +(patch "014" "04xcb0k9fxxq4vashgzb98567xzdnm4655nlm4jvfvjv6si6ykas") +(patch "015" "13ay6lldy1p00xj41nfjpq8lai3vw2qwca79gx6s80z04j53wa8k") +(patch "016" "0wq7bvx3pfw90pnfb86yg5nr9jgjsvm2nq5rrkqxf6zn977hpmlj") +(patch "017" "103p7sibihv6cshqj12k546zsbz0dnd5cv5vlx1719avddfc4rqj") +(patch "018" "0n1x3812y1brb9xbabaj3fvr4cpvm2225iwckmqk2fcpkq5b9a3s") +(patch "019" "08rd1p7zpzgbpmmmnj2im8wj2pcwmbbx51psr9vdc5c049si9ad7") +(patch "020" "163c6g05qpag2plx5q795pmw3f3m904jy7z93xj2i08pgzc8cpna") +(patch "021" "1a90cl3h10dh8k9f2ddrsjmw5ywaw2d5x78xb4fd2sryi039yhs1") +(patch "022" "120s0s4qcqd0q12j1iv0hkpf9fp3w5jnqw646kv66n66jnxlfkgx") +(patch "023" "1m00sfi88p2akgiyrg4hw0gvz3s1586pkzjdr3dm73vs773m1hls") +(patch "024" "0v0gjqzjsqjfgj5x17fq7g649k94jn8zq92qsxkhc2d6l215hl1v") +(patch "025" "0lcj96i659q35f1jcmwwbnw3p7w7vvlxjxqi989vn6d6qksqcl8y") +(patch "026" "0k919ir0inwn4wai2vdzpbwqq5h54fnrlkmgccxjg91v3ch15k1f") +(patch "027" "1gnsfvq6bhb3srlbh0cannj2hackdsipcg7z0ds7zlk1hp96mdqy") +(patch "028" "17a65c4fn4c5rgsiw9gqqnzhznh3gwnd2xzzv2dppyi48znxpc78") +(patch "029" "14k27p28r5l2fz3r03kd0x72vvsq8bja8c6hjz5kxikbzsbs7i2c") +(patch "030" "0nrqb0m7s89qsrbfaffpilc5gcf82bx9yvgzld4hr79p5y54yhw5") +] diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix index ca12c26f256..cc3108841b6 100644 --- a/pkgs/shells/bash/default.nix +++ b/pkgs/shells/bash/default.nix @@ -3,7 +3,7 @@ assert interactive -> readline != null; let - realName = "bash-4.2"; + realName = "bash-4.3"; baseConfigureFlags = if interactive then "--with-installed-readline" else "--disable-readline"; in @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnu/bash/${realName}.tar.gz"; - sha256 = "a27a1179ec9c0830c65c6aa5d7dab60f7ce1a2a608618570f96bfa72e95ab3d8"; + sha256 = "1m14s1f61mf6bijfibcjm9y6pkyvz6gibyl8p4hxq90fisi8gimg"; }; NIX_CFLAGS_COMPILE = '' @@ -30,11 +30,11 @@ stdenv.mkDerivation rec { (let patch = nr: sha256: fetchurl { - url = "mirror://gnu/bash/bash-4.2-patches/bash42-${nr}"; + url = "mirror://gnu/bash/bash-4.3-patches/bash43-${nr}"; inherit sha256; }; in - import ./bash-4.2-patches.nix patch); + import ./bash-4.3-patches.nix patch); crossAttrs = { configureFlags = baseConfigureFlags + From 3bd2cfa85373a94f88fd90d9b6b0953c9c3c63a9 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 3 Nov 2014 18:50:28 +0100 Subject: [PATCH 25/74] Update bootstrap tools with the fix for GCC bug 61801 --- pkgs/stdenv/linux/bootstrap/i686.nix | 8 ++++---- pkgs/stdenv/linux/bootstrap/x86_64.nix | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/stdenv/linux/bootstrap/i686.nix b/pkgs/stdenv/linux/bootstrap/i686.nix index 04712360d15..88bd984bab9 100644 --- a/pkgs/stdenv/linux/bootstrap/i686.nix +++ b/pkgs/stdenv/linux/bootstrap/i686.nix @@ -1,12 +1,12 @@ { busybox = import { - url = http://tarballs.nixos.org/stdenv-linux/i686/ac8e5cd145fa5f22bab1b01d8b4db4d26d22e65c/busybox; - sha256 = "0314dskcp6gp0jpy87phpjz1r13zh0grb40yvdl9s4l2rxzgzr2v"; + url = http://tarballs.nixos.org/stdenv-linux/i686/73b75f6157db79fc899154a497823e82e409e76d/busybox; + sha256 = "159208615405938d9830634f15d38adf5a9c33643926845c44499dbe6dd62042"; executable = true; }; bootstrapTools = import { - url = http://tarballs.nixos.org/stdenv-linux/i686/ac8e5cd145fa5f22bab1b01d8b4db4d26d22e65c/bootstrap-tools.tar.xz; - sha256 = "025r3vifkqlw0i5nvlkmfrvbn0v73r1pr6jkqckgs585y7nmsjhz"; + url = http://tarballs.nixos.org/stdenv-linux/i686/73b75f6157db79fc899154a497823e82e409e76d/bootstrap-tools.tar.xz; + sha256 = "68c430b84dbeac0bd1bea4cdd3159dce44a76445e07860caed1972b4608c42ca"; }; } diff --git a/pkgs/stdenv/linux/bootstrap/x86_64.nix b/pkgs/stdenv/linux/bootstrap/x86_64.nix index 2950e42ae0a..96822f57e50 100644 --- a/pkgs/stdenv/linux/bootstrap/x86_64.nix +++ b/pkgs/stdenv/linux/bootstrap/x86_64.nix @@ -3,7 +3,7 @@ { bootstrapTools = import { - url = http://tarballs.nixos.org/stdenv-linux/x86_64/ac8e5cd145fa5f22bab1b01d8b4db4d26d22e65c/bootstrap-tools.tar.xz; - sha256 = "01485vvwxb7fsx8c8il5hip0bhh4xy2gg76sj4zc98gl4v1jbfq9"; + url = http://tarballs.nixos.org/stdenv-linux/x86_64/73b75f6157db79fc899154a497823e82e409e76d/bootstrap-tools.tar.xz; + sha256 = "e29d47a5dc9f1ff10c3fbaacbd03a3cca0c784299df09fcdd9e25797ec6414ad"; }; } From 78b01de68d6ecb65ed3b3220e96d290e116436aa Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 10 Nov 2014 13:35:09 +0100 Subject: [PATCH 26/74] substituteAll: Enumerate environment variables more reliably Getting the names of all environment variables is tricky. The previous implementation easily got confused by multi-line variables. The new one is more reliable but not still not perfect. This works around a segfault in Bash 4.3, where the expression "${!var}" (where var="-9") crashes under certain conditions. http://hydra.nixos.org/build/16693445 --- pkgs/stdenv/generic/setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index fe801c6bb97..987d7766ce8 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -386,7 +386,7 @@ substituteAll() { local output="$2" # Select all environment variables that start with a lowercase character. - for envVar in $(env | sed "s/^[^a-z].*//" | sed "s/^\([^=]*\)=.*/\1/"); do + for envVar in $(env | sed -e $'s/^\([a-z][^=]*\)=.*/\\1/; t \n d'); do if [ "$NIX_DEBUG" = "1" ]; then echo "$envVar -> ${!envVar}" fi From 1455ecee734d537766ee61515c77582a9ebd5309 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 10 Nov 2014 14:09:53 +0100 Subject: [PATCH 27/74] Ensure a correct value for $BASH Previously it was set to /run/current-system/sw/sbin/nologin or similar. --- pkgs/stdenv/generic/setup.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 987d7766ce8..e9cb75bb694 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -176,10 +176,11 @@ fi # Check that the pre-hook initialised SHELL. if [ -z "$SHELL" ]; then echo "SHELL not set"; exit 1; fi +BASH="$SHELL" +export CONFIG_SHELL="$SHELL" # Execute the pre-hook. -export CONFIG_SHELL="$SHELL" if [ -z "$shell" ]; then export shell=$SHELL; fi From 65221567c12eb20d1254f6bc1b573e126af43645 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Nov 2014 10:23:26 +0100 Subject: [PATCH 28/74] glibc: Include a copy of libgcc_s.so.1 This prevents failures like "libgcc_s.so.1 must be installed for pthread_cancel to work" that occur because Glibc assumes libgcc_s.so.1 to be in Glibc's libdir. This solution is pretty hacky, because the libgcc_s.so.1 from bootstrap-tools might be too old. So if we update GCC, programs might end up using an outdated libgcc_s.so.1. Ideally, we would build libgcc_s.so.1 *before* Glibc, which might not be impossible... Fixes #3548. --- pkgs/development/libraries/glibc/builder.sh | 4 ---- pkgs/development/libraries/glibc/default.nix | 2 +- pkgs/tools/filesystems/squashfs/default.nix | 2 -- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/pkgs/development/libraries/glibc/builder.sh b/pkgs/development/libraries/glibc/builder.sh index 3b077cbb3fd..2836063e3bf 100644 --- a/pkgs/development/libraries/glibc/builder.sh +++ b/pkgs/development/libraries/glibc/builder.sh @@ -46,10 +46,6 @@ postInstall() { ln -s lib $out/lib64 fi - # This file, that should not remain in the glibc derivation, - # may have not been created during the preInstall - rm -f $out/lib/libgcc_s.so.1 - # Get rid of more unnecessary stuff. rm -rf $out/var $out/sbin/sln } diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix index 52a94bd0a0d..1abba35af08 100644 --- a/pkgs/development/libraries/glibc/default.nix +++ b/pkgs/development/libraries/glibc/default.nix @@ -35,7 +35,7 @@ in preInstall = '' if [ -f ${stdenv.gcc.gcc}/lib/libgcc_s.so.1 ]; then mkdir -p $out/lib - ln -s ${stdenv.gcc.gcc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1 + cp ${stdenv.gcc.gcc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1 fi ''; diff --git a/pkgs/tools/filesystems/squashfs/default.nix b/pkgs/tools/filesystems/squashfs/default.nix index a016627b7a4..5e1700af017 100644 --- a/pkgs/tools/filesystems/squashfs/default.nix +++ b/pkgs/tools/filesystems/squashfs/default.nix @@ -12,8 +12,6 @@ stdenv.mkDerivation rec { buildInputs = [ zlib xz ]; preBuild = "cd squashfs-tools"; - - NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel installFlags = "INSTALL_DIR=\${out}/bin"; From 975a822778896c086438e22532fe58652c019499 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 11 Nov 2014 11:04:10 +0100 Subject: [PATCH 29/74] glibc: improve nscd version check after e316672dcb --- pkgs/development/libraries/glibc/common.nix | 7 +++++-- .../libraries/glibc/glibc-remove-datetime-from-nscd.patch | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 2559dea2653..da1d4f08fa2 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -69,8 +69,11 @@ stdenv.mkDerivation ({ + '' echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile '' - # Replace the date and time in nscd by $out. - # It is used as a protocol compatibility check. + # Replace the date and time in nscd by a prefix of $out. + # It is used as a protocol compatibility check. + # Note: the size of the struct changes, but using only a part + # would break hash-rewriting. When receiving stats it does check + # that the struct sizes match and can't cause overflow or something. + '' cat ${./glibc-remove-datetime-from-nscd.patch} \ | sed "s,@out@,$out," | patch -p1 diff --git a/pkgs/development/libraries/glibc/glibc-remove-datetime-from-nscd.patch b/pkgs/development/libraries/glibc/glibc-remove-datetime-from-nscd.patch index 0a5456ea5c4..db010e62366 100644 --- a/pkgs/development/libraries/glibc/glibc-remove-datetime-from-nscd.patch +++ b/pkgs/development/libraries/glibc/glibc-remove-datetime-from-nscd.patch @@ -5,7 +5,7 @@ /* We use this to make sure the receiver is the same. */ -static const char compilation[21] = __DATE__ " " __TIME__; -+static const char compilation[21] = "@out@"; ++static const char compilation[] = "@out@"; /* Statistic data for one database. */ struct dbstat From cef0bcefc6544513fec9dec49686932ef15f1734 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 15 Nov 2014 21:47:05 +0100 Subject: [PATCH 30/74] linux-headers: Update to 3.12.32 We can do this because bootstrap-tools contains an unxz program now (via busybox). --- pkgs/os-specific/linux/kernel-headers/3.12.nix | 6 +++--- pkgs/stdenv/linux/scripts/unpack-bootstrap-tools.sh | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/kernel-headers/3.12.nix b/pkgs/os-specific/linux/kernel-headers/3.12.nix index 9bf189c40ed..2fd34c68edc 100644 --- a/pkgs/os-specific/linux/kernel-headers/3.12.nix +++ b/pkgs/os-specific/linux/kernel-headers/3.12.nix @@ -4,7 +4,7 @@ assert cross == null -> stdenv.isLinux; let - version = "3.12.6"; + version = "3.12.32"; kernelHeadersBaseConfig = if cross == null @@ -17,8 +17,8 @@ stdenv.mkDerivation { name = "linux-headers-${version}"; src = fetchurl { - url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.bz2"; - sha256 = "1qh6f1az0flfrbkdjx1i9r7yf31ad0gxigax91nd33z2jmd6h4df"; + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "1hzws2bf267hfk81ywqcxspkyi1lg56x63izdc0pv1338xcfas53"; }; targetConfig = if cross != null then cross.config else null; diff --git a/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools.sh b/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools.sh index 9db5d2c88e5..52953c9b88d 100644 --- a/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools.sh +++ b/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools.sh @@ -55,4 +55,9 @@ echo "#! $out/bin/sh" > $out/bin/egrep echo "exec $out/bin/grep -E \"\$@\"" >> $out/bin/egrep echo "#! $out/bin/sh" > $out/bin/fgrep echo "exec $out/bin/grep -F \"\$@\"" >> $out/bin/fgrep -chmod +x $out/bin/egrep $out/bin/fgrep + +# Provide xz (actually only xz -d will work). +echo "#! $out/bin/sh" > $out/bin/xz +echo "exec $builder unxz \"\$@\"" >> $out/bin/xz + +chmod +x $out/bin/egrep $out/bin/fgrep $out/bin/xz From 581721887dc56ea5f3cf61b2005f1b2a0540eef7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 17 Nov 2014 11:23:21 +0100 Subject: [PATCH 31/74] gnutls-3.2: maintenance+security update CVE-2014-8564 seems only DOS, so relatively non-critical. --- pkgs/development/libraries/gnutls/3.2.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gnutls/3.2.nix b/pkgs/development/libraries/gnutls/3.2.nix index 5bf933fbc96..e9254a445de 100644 --- a/pkgs/development/libraries/gnutls/3.2.nix +++ b/pkgs/development/libraries/gnutls/3.2.nix @@ -4,11 +4,11 @@ assert guileBindings -> guile != null; stdenv.mkDerivation rec { - name = "gnutls-3.2.17"; + name = "gnutls-3.2.20"; src = fetchurl { url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/${name}.tar.lz"; - sha256 = "a332adda1d294fbee859ae46ee0c128d8959c4a5b9c28e7cdbe5c9b56898fc25"; + sha256 = "0mjwzj486g0aj5i3zr70mixmbd4ldrj1ckrwmcr90si6bqa0sc6q"; }; patches = From 8e44ae5bd4489c1c8342b43687e7026b2e521b21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 14 Nov 2014 11:38:33 +0100 Subject: [PATCH 32/74] stdenv lib64-moving: fail instead of overwriting Silent overwriting is dangerous and it bit us straightaway on gcc_multi. https://github.com/NixOS/nixpkgs/commit/51f1b4ec48d5 --- pkgs/build-support/setup-hooks/move-lib64.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/setup-hooks/move-lib64.sh b/pkgs/build-support/setup-hooks/move-lib64.sh index 46c90fcea6b..7724be369c9 100644 --- a/pkgs/build-support/setup-hooks/move-lib64.sh +++ b/pkgs/build-support/setup-hooks/move-lib64.sh @@ -3,6 +3,7 @@ # $output/lib. The rationale is that lib64 directories are unnecessary # in Nix (since 32-bit and 64-bit builds of a package are in different # store paths anyway). +# If the move would overwrite anything, it should fail on rmdir. fixupOutputHooks+=(_moveLib64) @@ -13,7 +14,7 @@ _moveLib64() { mkdir -p $prefix/lib shopt -s dotglob for i in $prefix/lib64/*; do - mv "$i" $prefix/lib + mv --no-clobber "$i" $prefix/lib done shopt -u dotglob rmdir $prefix/lib64 From 074af2ac1ca15caa3d1bbb4a65676290661f545d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 17 Nov 2014 11:28:31 +0100 Subject: [PATCH 33/74] gnutls-3.1: remove unused version The upstream doesn't maintain these well, as they even fail to build now. --- pkgs/development/libraries/gnutls/3.1.nix | 67 ----------------------- pkgs/top-level/all-packages.nix | 4 -- 2 files changed, 71 deletions(-) delete mode 100644 pkgs/development/libraries/gnutls/3.1.nix diff --git a/pkgs/development/libraries/gnutls/3.1.nix b/pkgs/development/libraries/gnutls/3.1.nix deleted file mode 100644 index 44ea0176e38..00000000000 --- a/pkgs/development/libraries/gnutls/3.1.nix +++ /dev/null @@ -1,67 +0,0 @@ -{ fetchurl, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip -, guileBindings, guile, perl, gmp }: - -assert guileBindings -> guile != null; - -stdenv.mkDerivation rec { - name = "gnutls-3.1.26"; - - src = fetchurl { - url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/${name}.tar.lz"; - sha256 = "7947e18fd0c292c0274d810c9bdf674b8faa3566e056ea404a39f335982607a3"; - }; - - # FreeBSD doesn't have , and Gnulib's `alloca' module isn't used. - patches = stdenv.lib.optional stdenv.isFreeBSD ./guile-gnulib-includes.patch; - - # Note: GMP is a dependency of Nettle, whose public headers include - # GMP headers, hence the hack. - configurePhase = '' - ./configure --prefix="$out" \ - --disable-dependency-tracking --enable-fast-install \ - --without-p11-kit \ - --with-lzo --with-libtasn1-prefix="${libtasn1}" \ - --with-libnettle-prefix="${nettle}" \ - CPPFLAGS="-I${gmp}/include" \ - ${stdenv.lib.optionalString guileBindings - "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""} - ''; - - # Build of the Guile bindings is not parallel-safe. See - # - # for the actual fix. - enableParallelBuilding = !guileBindings; - - buildInputs = [ zlib lzo lzip ] - ++ stdenv.lib.optional guileBindings guile; - - nativeBuildInputs = [ perl pkgconfig ]; - - propagatedBuildInputs = [ nettle libtasn1 ]; - - # XXX: Gnulib's `test-select' fails on FreeBSD: - # http://hydra.nixos.org/build/2962084/nixlog/1/raw . - doCheck = false;#(!stdenv.isFreeBSD && !stdenv.isDarwin); - - meta = { - description = "The GNU Transport Layer Security Library"; - - longDescription = '' - GnuTLS is a project that aims to develop a library which - provides a secure layer, over a reliable transport - layer. Currently the GnuTLS library implements the proposed - standards by the IETF's TLS working group. - - Quoting from the TLS protocol specification: - - "The TLS protocol provides communications privacy over the - Internet. The protocol allows client/server applications to - communicate in a way that is designed to prevent eavesdropping, - tampering, or message forgery." - ''; - - homepage = http://www.gnu.org/software/gnutls/; - license = stdenv.lib.licenses.lgpl21Plus; - maintainers = [ stdenv.lib.maintainers.eelco ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 10736fabf0b..03697edf579 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5318,10 +5318,6 @@ let gnutls = gnutls32; - gnutls31 = callPackage ../development/libraries/gnutls/3.1.nix { - guileBindings = config.gnutls.guile or false; - }; - gnutls32 = callPackage ../development/libraries/gnutls/3.2.nix { guileBindings = config.gnutls.guile or false; }; From 847b7fe6976d95a08c76b4ef1e52bb4e329438c2 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 17 Nov 2014 15:21:29 +0100 Subject: [PATCH 34/74] perl: Fix evaluation on Darwin --- pkgs/development/interpreters/perl/5.20/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/perl/5.20/default.nix b/pkgs/development/interpreters/perl/5.20/default.nix index 66a9ca597a4..bfd2c26bf70 100644 --- a/pkgs/development/interpreters/perl/5.20/default.nix +++ b/pkgs/development/interpreters/perl/5.20/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, enableThreading ? true }: +{ stdenv, fetchurl, enableThreading ? stdenv ? glibc }: # We can only compile perl with threading on platforms where we have a # real glibc in the stdenv. From 9f914a3f82e7b3400210006d79a9d7603ba0488c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 18 Nov 2014 10:42:23 +0100 Subject: [PATCH 35/74] perl-5.14: Remove It's EOL and unmaintained. There was only one package using it which I've marked as broken. --- pkgs/applications/misc/slic3r/default.nix | 1 + .../interpreters/perl/5.14/default.nix | 64 -------- .../interpreters/perl/5.14/ld-shared.patch | 11 -- .../interpreters/perl/5.14/no-libutil.patch | 12 -- .../interpreters/perl/5.14/no-sys-dirs.patch | 152 ------------------ .../interpreters/perl/5.14/setup-hook.sh | 5 - pkgs/top-level/all-packages.nix | 16 +- 7 files changed, 2 insertions(+), 259 deletions(-) delete mode 100644 pkgs/development/interpreters/perl/5.14/default.nix delete mode 100644 pkgs/development/interpreters/perl/5.14/ld-shared.patch delete mode 100644 pkgs/development/interpreters/perl/5.14/no-libutil.patch delete mode 100644 pkgs/development/interpreters/perl/5.14/no-sys-dirs.patch delete mode 100644 pkgs/development/interpreters/perl/5.14/setup-hook.sh diff --git a/pkgs/applications/misc/slic3r/default.nix b/pkgs/applications/misc/slic3r/default.nix index a057197a92d..727bb048605 100644 --- a/pkgs/applications/misc/slic3r/default.nix +++ b/pkgs/applications/misc/slic3r/default.nix @@ -69,5 +69,6 @@ stdenv.mkDerivation rec { license = licenses.agpl3; platforms = platforms.linux; maintainers = with maintainers; [ bjornfor the-kenny ]; + broken = true; # requires Perl 5.14 }; } diff --git a/pkgs/development/interpreters/perl/5.14/default.nix b/pkgs/development/interpreters/perl/5.14/default.nix deleted file mode 100644 index dd4e7acf71f..00000000000 --- a/pkgs/development/interpreters/perl/5.14/default.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ stdenv, fetchurl }: - -let - - libc = if stdenv ? gcc && stdenv.gcc.libc != null then stdenv.gcc.libc else "/usr"; - -in - -stdenv.mkDerivation rec { - name = "perl-5.14.4"; - - src = fetchurl { - url = "mirror://cpan/src/${name}.tar.gz"; - sha256 = "1js47zzna3v38fjnirf2vq6y0rjp8m86ysj5vagzgkig956d8gw0"; - }; - - patches = - [ # Do not look in /usr etc. for dependencies. - ./no-sys-dirs.patch - ] - ++ stdenv.lib.optional stdenv.isSunOS ./ld-shared.patch - ++ stdenv.lib.optional stdenv.isDarwin ./no-libutil.patch; - - # Build a thread-safe Perl with a dynamic libperls.o. We need the - # "installstyle" option to ensure that modules are put under - # $out/lib/perl5 - this is the general default, but because $out - # contains the string "perl", Configure would select $out/lib. - # Miniperl needs -lm. perl needs -lrt. - configureFlags = - [ "-de" - "-Dcc=gcc" - "-Uinstallusrbinperl" - "-Dinstallstyle=lib/perl5" - "-Duseshrplib" - "-Dlocincpth=${libc}/include" - "-Dloclibpth=${libc}/lib" - ] - ++ stdenv.lib.optional (stdenv ? glibc) "-Dusethreads"; - - configureScript = "${stdenv.shell} ./Configure"; - - dontAddPrefix = true; - - enableParallelBuilding = true; - - preConfigure = - '' - configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3" - - ${stdenv.lib.optionalString stdenv.isArm '' - configureFlagsArray=(-Dldflags="-lm -lrt") - ''} - ''; - - preBuild = stdenv.lib.optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools)) - '' - # Make Cwd work on NixOS (where we don't have a /bin/pwd). - substituteInPlace dist/Cwd/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'" - ''; - - setupHook = ./setup-hook.sh; - - passthru.libPrefix = "lib/perl5/site_perl"; -} diff --git a/pkgs/development/interpreters/perl/5.14/ld-shared.patch b/pkgs/development/interpreters/perl/5.14/ld-shared.patch deleted file mode 100644 index b1834ff7a1f..00000000000 --- a/pkgs/development/interpreters/perl/5.14/ld-shared.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- perl-5.14.2/hints/solaris_2.sh.orig 2013-02-14 19:29:49.453988140 +0000 -+++ perl-5.14.2/hints/solaris_2.sh 2013-02-14 19:30:31.681631019 +0000 -@@ -568,7 +568,7 @@ - # ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`" - # fi - ldflags="$ldflags -m64" -- lddlflags="$lddlflags -G -m64" -+ lddlflags="$lddlflags -shared -m64" - ;; - *) - getconfccflags="`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`" diff --git a/pkgs/development/interpreters/perl/5.14/no-libutil.patch b/pkgs/development/interpreters/perl/5.14/no-libutil.patch deleted file mode 100644 index 9b749bccf32..00000000000 --- a/pkgs/development/interpreters/perl/5.14/no-libutil.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure ---- perl-5.14.2-orig/Configure 2011-09-26 11:44:34.000000000 +0200 -+++ perl-5.14.2/Configure 2012-02-16 17:24:50.779839039 +0100 -@@ -1368,7 +1368,7 @@ - : List of libraries we want. - : If anyone needs extra -lxxx, put those in a hint file. - libswanted="sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun" --libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD" -+libswanted="$libswanted m crypt sec c cposix posix ucb bsd BSD" - : We probably want to search /usr/shlib before most other libraries. - : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. - glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'` diff --git a/pkgs/development/interpreters/perl/5.14/no-sys-dirs.patch b/pkgs/development/interpreters/perl/5.14/no-sys-dirs.patch deleted file mode 100644 index 54ffb28e206..00000000000 --- a/pkgs/development/interpreters/perl/5.14/no-sys-dirs.patch +++ /dev/null @@ -1,152 +0,0 @@ -diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure ---- perl-5.14.2-orig/Configure 2011-09-26 11:44:34.000000000 +0200 -+++ perl-5.14.2/Configure 2012-01-20 17:05:23.089223129 +0100 -@@ -106,15 +106,7 @@ - fi - - : Proper PATH setting --paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' --paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin" --paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin" --paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" --paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" --paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin" --paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib" --paths="$paths /sbin /usr/sbin /usr/libexec" --paths="$paths /system/gnu_library/bin" -+paths='' - - for p in $paths - do -@@ -1311,8 +1303,7 @@ - archname='' - : Possible local include directories to search. - : Set locincpth to "" in a hint file to defeat local include searches. --locincpth="/usr/local/include /opt/local/include /usr/gnu/include" --locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include" -+locincpth="" - : - : no include file wanted by default - inclwanted='' -@@ -1328,17 +1319,12 @@ - archobjs='' - libnames='' - : change the next line if compiling for Xenix/286 on Xenix/386 --xlibpth='/usr/lib/386 /lib/386' -+xlibpth='' - : Possible local library directories to search. --loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib" --loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib" -+loclibpth="" - - : general looking path for locating libraries --glibpth="/lib /usr/lib $xlibpth" --glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib" --test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth" --test -f /shlib/libc.so && glibpth="/shlib $glibpth" --test -d /usr/lib64 && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64" -+glibpth="" - - : Private path used by Configure to find libraries. Its value - : is prepended to libpth. This variable takes care of special -@@ -1371,8 +1357,6 @@ - libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD" - : We probably want to search /usr/shlib before most other libraries. - : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. --glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'` --glibpth="/usr/shlib $glibpth" - : Do not use vfork unless overridden by a hint file. - usevfork=false - -@@ -2380,7 +2364,6 @@ - zip - " - pth=`echo $PATH | sed -e "s/$p_/ /g"` --pth="$pth /lib /usr/lib" - for file in $loclist; do - eval xxx=\$$file - case "$xxx" in -@@ -4785,7 +4768,7 @@ - : Set private lib path - case "$plibpth" in - '') if ./mips; then -- plibpth="$incpath/usr/lib /usr/local/lib /usr/ccs/lib" -+ plibpth="$incpath/usr/lib" - fi;; - esac - case "$libpth" in -@@ -8390,13 +8373,8 @@ - echo " " - case "$sysman" in - '') -- syspath='/usr/share/man/man1 /usr/man/man1' -- syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1" -- syspath="$syspath /usr/man/u_man/man1" -- syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1" -- syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1" -- syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1" -- sysman=`./loc . /usr/man/man1 $syspath` -+ syspath='' -+ sysman='' - ;; - esac - if $test -d "$sysman"; then -@@ -19721,9 +19699,10 @@ - case "$full_ar" in - '') full_ar=$ar ;; - esac -+full_ar=ar - - : Store the full pathname to the sed program for use in the C program --full_sed=$sed -+full_sed=sed - - : see what type gids are declared as in the kernel - echo " " -diff -ru -x '*~' perl-5.14.2-orig/ext/Errno/Errno_pm.PL perl-5.14.2/ext/Errno/Errno_pm.PL ---- perl-5.14.2-orig/ext/Errno/Errno_pm.PL 2011-09-26 11:44:34.000000000 +0200 -+++ perl-5.14.2/ext/Errno/Errno_pm.PL 2012-01-20 17:02:07.938138311 +0100 -@@ -137,11 +137,7 @@ - if ($dep =~ /(\S+errno\.h)/) { - $file{$1} = 1; - } -- } elsif ($^O eq 'linux' && -- $Config{gccversion} ne '' && -- $Config{gccversion} !~ /intel/i -- # might be using, say, Intel's icc -- ) { -+ } elsif (0) { - # Some Linuxes have weird errno.hs which generate - # no #file or #line directives - my $linux_errno_h = -e '/usr/include/errno.h' ? -diff -ru -x '*~' perl-5.14.2-orig/hints/freebsd.sh perl-5.14.2/hints/freebsd.sh ---- perl-5.14.2-orig/hints/freebsd.sh 2011-09-19 15:18:22.000000000 +0200 -+++ perl-5.14.2/hints/freebsd.sh 2012-01-20 17:10:37.267924044 +0100 -@@ -118,21 +118,21 @@ - objformat=`/usr/bin/objformat` - if [ x$objformat = xaout ]; then - if [ -e /usr/lib/aout ]; then -- libpth="/usr/lib/aout /usr/local/lib /usr/lib" -- glibpth="/usr/lib/aout /usr/local/lib /usr/lib" -+ libpth="" -+ glibpth="" - fi - lddlflags='-Bshareable' - else -- libpth="/usr/lib /usr/local/lib" -- glibpth="/usr/lib /usr/local/lib" -+ libpth="" -+ glibpth="" - ldflags="-Wl,-E " - lddlflags="-shared " - fi - cccdlflags='-DPIC -fPIC' - ;; - *) -- libpth="/usr/lib /usr/local/lib" -- glibpth="/usr/lib /usr/local/lib" -+ libpth="" -+ glibpth="" - ldflags="-Wl,-E " - lddlflags="-shared " - cccdlflags='-DPIC -fPIC' diff --git a/pkgs/development/interpreters/perl/5.14/setup-hook.sh b/pkgs/development/interpreters/perl/5.14/setup-hook.sh deleted file mode 100644 index a8656b8531d..00000000000 --- a/pkgs/development/interpreters/perl/5.14/setup-hook.sh +++ /dev/null @@ -1,5 +0,0 @@ -addPerlLibPath () { - addToSearchPath PERL5LIB $1/lib/perl5/site_perl -} - -envHooks+=(addPerlLibPath) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 03697edf579..669d3d473db 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4000,8 +4000,6 @@ let ocropus = callPackage ../applications/misc/ocropus { }; - perl514 = callPackage ../development/interpreters/perl/5.14 { }; - perl516 = callPackage ../development/interpreters/perl/5.16 { }; perl520 = callPackage ../development/interpreters/perl/5.20 { @@ -7238,14 +7236,6 @@ let overrides = (config.perlPackageOverrides or (p: {})) pkgs; }); - perl514Packages = import ./perl-packages.nix { - pkgs = pkgs // { - perl = perl514; - buildPerlPackage = import ../development/perl-modules/generic perl514; - }; - overrides = (config.perl514PackageOverrides or (p: {})) pkgs; - }; - perlXMLParser = perlPackages.XMLParser; ack = perlPackages.ack; @@ -10581,11 +10571,7 @@ let lightdm_gtk_greeter = callPackage ../applications/display-managers/lightdm-gtk-greeter { }; - # slic3r 0.9.10b says: "Running Slic3r under Perl >= 5.16 is not supported nor recommended" - slic3r = callPackage ../applications/misc/slic3r { - perlPackages = perl514Packages; - perl = perl514; - }; + slic3r = callPackage ../applications/misc/slic3r { }; curaengine = callPackage ../applications/misc/curaengine { }; From f4ab3dc223ede44cb9d20ed0638d7528219b04fa Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Wed, 19 Nov 2014 14:45:02 +0100 Subject: [PATCH 36/74] libcurl: Honor $SSL_CERT_FILE --- pkgs/tools/networking/curl/7.15.nix | 6 ++++++ pkgs/tools/networking/curl/default.nix | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/pkgs/tools/networking/curl/7.15.nix b/pkgs/tools/networking/curl/7.15.nix index 0a87eaa944c..df42b7d290e 100644 --- a/pkgs/tools/networking/curl/7.15.nix +++ b/pkgs/tools/networking/curl/7.15.nix @@ -32,6 +32,12 @@ stdenv.mkDerivation rec { preConfigure = '' sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure ''; + + # make curl honor CURL_CA_BUNDLE & SSL_CERT_FILE + postConfigure = '' + echo '#define CURL_CA_BUNDLE (getenv("CURL_CA_BUNDLE") || getenv("SSL_CERT_FILE"))' >> lib/curl_config.h + ''; + configureFlags = [ ( if sslSupport then "--with-ssl=${openssl}" else "--without-ssl" ) ( if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2" ) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 85b935ebd76..f055680a2f0 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -36,6 +36,11 @@ stdenv.mkDerivation rec { rm src/tool_hugehelp.c ''; + # make curl honor CURL_CA_BUNDLE & SSL_CERT_FILE + postConfigure = '' + echo '#define CURL_CA_BUNDLE (getenv("CURL_CA_BUNDLE") || getenv("SSL_CERT_FILE"))' >> lib/curl_config.h + ''; + configureFlags = [ ( if sslSupport then "--with-ssl=${openssl}" else "--without-ssl" ) ( if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2" ) From ad38cdac8ab9526d9eb15edcf5cb005103a9fef0 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 17 Nov 2014 18:54:31 -0600 Subject: [PATCH 37/74] qt: upgrade to 5.3.2 This commit also removes the 5.2 branch in favor of 5.3. Several components of KDE5 require Qt 5.3, so it doesn't make much sense to have the rest of the system on an older version. Also, the application styles may not be compatible because Qt breaks ABI compatibility between versions. --- .../misc/cool-old-term/default.nix | 6 +- pkgs/development/libraries/qt-5/default.nix | 11 +- .../qt-5/qt-5.2-dlopen-absolute-paths.patch | 36 ---- pkgs/development/libraries/qt-5/qt-5.3.nix | 165 ------------------ pkgs/top-level/all-packages.nix | 15 -- 5 files changed, 8 insertions(+), 225 deletions(-) delete mode 100644 pkgs/development/libraries/qt-5/qt-5.2-dlopen-absolute-paths.patch delete mode 100644 pkgs/development/libraries/qt-5/qt-5.3.nix diff --git a/pkgs/applications/misc/cool-old-term/default.nix b/pkgs/applications/misc/cool-old-term/default.nix index 76d78f00402..c56393a1be8 100644 --- a/pkgs/applications/misc/cool-old-term/default.nix +++ b/pkgs/applications/misc/cool-old-term/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, qt53 }: +{ stdenv, fetchFromGitHub, qt5 }: stdenv.mkDerivation rec { version = "0.9"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "8462f3eded7b2219acc143258544b0dfac32d81e10cac61ff14276d426704c93"; }; - buildInputs = [ qt53 ]; + buildInputs = [ qt5 ]; buildPhase = '' pushd ./konsole-qml-plugin @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { cat > $out/bin/cool-old-term < Date: Mon, 17 Nov 2014 19:00:17 -0600 Subject: [PATCH 38/74] polkit-qt-1: Qt 5 support polkit-qt-1 is upgraded to the latest version, which supports Qt 5. The attributes are also renamed to differentiate the Qt 4 and Qt 5 branches. The prior naming scheme differentiated between polkit-qt-1 and polkit-qt, but we no longer package the latter. --- pkgs/desktops/kde-4.14/kdebindings/pykde4.nix | 4 ++-- pkgs/desktops/kde-4.14/kdelibs/kdelibs.nix | 4 ++-- .../libraries/polkit-qt-1/default.nix | 20 ++++++++++--------- .../polkit-qt-1/polkit-install.patch | 12 ----------- .../security/polkit-kde-agent/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 9 ++++++++- 6 files changed, 25 insertions(+), 28 deletions(-) delete mode 100644 pkgs/development/libraries/polkit-qt-1/polkit-install.patch diff --git a/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix index 64e196452e3..f86412147d3 100644 --- a/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix +++ b/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix @@ -1,5 +1,5 @@ { kde, kdelibs, python, sip, pyqt4, kdepimlibs, shared_desktop_ontologies, - polkit_qt_1, boost, lndir, pkgconfig }: + polkit_qt4, boost, lndir, pkgconfig }: let pydir = "lib/python${python.majorVersion}"; in @@ -9,7 +9,7 @@ kde { buildInputs = [ python kdepimlibs shared_desktop_ontologies - boost polkit_qt_1 + boost polkit_qt4 ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/desktops/kde-4.14/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.14/kdelibs/kdelibs.nix index 4207dfd5654..52e0ebf2062 100644 --- a/pkgs/desktops/kde-4.14/kdelibs/kdelibs.nix +++ b/pkgs/desktops/kde-4.14/kdelibs/kdelibs.nix @@ -2,7 +2,7 @@ , qt4, bzip2, fam, shared_mime_info, giflib, jasper, strigi , openexr, avahi, kerberos, shared_desktop_ontologies, libXScrnSaver , automoc4, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee -, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, acl, attr, libXtst +, docbook_xml_dtd_42, docbook_xsl, polkit_qt4, acl, attr, libXtst , udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt , pkgconfig }: @@ -13,7 +13,7 @@ kde { buildInputs = [ pkgconfig attica avahi bzip2 enchant fam giflib grantlee herqq - libdbusmenu_qt libXScrnSaver polkit_qt_1 qca2 acl jasper libxslt + libdbusmenu_qt libXScrnSaver polkit_qt4 qca2 acl jasper libxslt shared_desktop_ontologies xz udev libjpeg kerberos openexr libXtst attr ]; diff --git a/pkgs/development/libraries/polkit-qt-1/default.nix b/pkgs/development/libraries/polkit-qt-1/default.nix index 13bc992d026..c60ae560fe5 100644 --- a/pkgs/development/libraries/polkit-qt-1/default.nix +++ b/pkgs/development/libraries/polkit-qt-1/default.nix @@ -1,20 +1,22 @@ -{ stdenv, fetchurl, cmake, qt4, pkgconfig, polkit, automoc4, glib }: +{ stdenv, fetchurl, cmake, pkgconfig, polkit, automoc4, glib +, qt4 ? null, qt5 ? null, withQt5 ? false }: -stdenv.mkDerivation rec { - name = "polkit-qt-1-0.103.0"; +assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null); + +stdenv.mkDerivation { + name = "polkit-qt-1-0.112.0"; src = fetchurl { - url = "mirror://kde/stable/apps/KDE4.x/admin/${name}.tar.bz2"; - sha256 = "0k17sb70ywk94dmncnkyig03sg1hcfbhi5wlc77xf3rxirmmccif"; + url = "mirror://kde/stable/apps/KDE4.x/admin/polkit-qt-1-0.112.0.tar.bz2"; + sha256 = "1ip78x20hjqvm08kxhp6gb8hf6k5n6sxyx6kk2yvvq53djzh7yv7"; }; - patches = [ ./polkit-install.patch ]; + nativeBuildInputs = [ cmake automoc4 pkgconfig ]; - nativeBuildInputs = [ cmake automoc4 ]; - - propagatedBuildInputs = [ polkit glib qt4 ]; + propagatedBuildInputs = [ polkit glib (if withQt5 then qt5 else qt4) ]; meta = { description = "A Qt wrapper around PolKit"; + maintainers = with stdenv.lib.maintainers; [ ttuegel ]; }; } diff --git a/pkgs/development/libraries/polkit-qt-1/polkit-install.patch b/pkgs/development/libraries/polkit-qt-1/polkit-install.patch deleted file mode 100644 index 79beda2a318..00000000000 --- a/pkgs/development/libraries/polkit-qt-1/polkit-install.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru -x '*~' polkit-qt-1-0.99.0-orig/PolkitQt-1Config.cmake.in polkit-qt-1-0.99.0/PolkitQt-1Config.cmake.in ---- polkit-qt-1-0.99.0-orig/PolkitQt-1Config.cmake.in 2010-12-08 18:22:28.000000000 +0100 -+++ polkit-qt-1-0.99.0/PolkitQt-1Config.cmake.in 2011-07-12 13:26:51.000000000 +0200 -@@ -15,7 +15,7 @@ - - set(POLKITQT-1_INCLUDE_DIR "@INCLUDE_INSTALL_DIR@/polkit-qt-1") - set(POLKITQT-1_LIB_DIR "@LIB_INSTALL_DIR@") --set(POLKITQT-1_POLICY_FILES_INSTALL_DIR "${POLKITQT-1_INSTALL_DIR}/share/polkit-1/actions") -+set(POLKITQT-1_POLICY_FILES_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions") - - # Compatibility - if(WIN32) diff --git a/pkgs/tools/security/polkit-kde-agent/default.nix b/pkgs/tools/security/polkit-kde-agent/default.nix index 7696ee93bce..b3990b53a87 100644 --- a/pkgs/tools/security/polkit-kde-agent/default.nix +++ b/pkgs/tools/security/polkit-kde-agent/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, kdelibs, polkit_qt_1, gettext }: +{ stdenv, fetchurl, kdelibs, polkit_qt4, gettext }: stdenv.mkDerivation rec { name = "polkit-kde-agent-1-0.99.0"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "0rxlq6x0vhvha8i6w109zpzzacp4imins55v4p4fq7a3k0kgywg3"; }; - buildInputs = [ kdelibs polkit_qt_1 ]; + buildInputs = [ kdelibs polkit_qt4 ]; nativeBuildInputs = [ gettext ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 76c26547dc0..0ab82cd418e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6536,7 +6536,14 @@ let spidermonkey = spidermonkey_185; }; - polkit_qt_1 = callPackage ../development/libraries/polkit-qt-1 { }; + polkit_qt4 = callPackage ../development/libraries/polkit-qt-1 { + inherit qt4; + }; + + polkit_qt5 = callPackage ../development/libraries/polkit-qt-1 { + inherit qt5; + withQt5 = true; + }; policykit = callPackage ../development/libraries/policykit { }; From c3240b9315fea4c9744cb72ad7ab7ac0d9235a21 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 17 Nov 2014 19:25:36 -0600 Subject: [PATCH 39/74] phonon: upgrade to 4.8.1 This version adds Qt 5 support. --- pkgs/development/libraries/phonon/default.nix | 20 +++++++++++++------ pkgs/top-level/all-packages.nix | 8 +++++++- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix index 7fd99ab0244..df32f04bb6c 100644 --- a/pkgs/development/libraries/phonon/default.nix +++ b/pkgs/development/libraries/phonon/default.nix @@ -1,25 +1,33 @@ -{ stdenv, fetchurl, cmake, automoc4, qt4, pulseaudio }: +{ stdenv, fetchurl, cmake, automoc4, pulseaudio +, qt4 ? null, qt5 ? null, withQt5 ? false }: + +assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null); + +with stdenv.lib; let - v = "4.7.2"; + v = "4.8.1"; in stdenv.mkDerivation rec { name = "phonon-${v}"; src = fetchurl { - url = "mirror://kde/stable/phonon/${v}/${name}.tar.xz"; - sha256 = "1ghidabmi6vnnmz8q272qi259nb8bbqlbayqk52ln98fs8s9g7l1"; + url = "mirror://kde/stable/phonon/${v}/phonon-${v}.tar.xz"; + sha256 = "1l97h1jj3gvl1chx1qbipizfvjgqc05wrhdcflc76c2krlk03jmn"; }; - buildInputs = [ qt4 pulseaudio ]; + buildInputs = [ (if withQt5 then qt5 else qt4) pulseaudio ]; nativeBuildInputs = [ cmake automoc4 ]; + cmakeFlags = optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON"; + meta = { homepage = http://phonon.kde.org/; description = "Multimedia API for Qt"; license = stdenv.lib.licenses.lgpl2; platforms = stdenv.lib.platforms.linux; - }; + maintainers = with stdenv.lib.maintainers; [ ttuegel ]; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0ab82cd418e..3b919b3d8cb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6514,7 +6514,13 @@ let pdf2xml = callPackage ../development/libraries/pdf2xml {} ; - phonon = callPackage ../development/libraries/phonon { }; + phonon = callPackage ../development/libraries/phonon { inherit qt4; }; + + phonon_qt5 = phonon.override { + withQt5 = true; + inherit qt5; + qt4 = null; + }; phonon_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer { }; From b1123db790131f0c581401967942c55cba01d2e9 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 17 Nov 2014 19:30:46 -0600 Subject: [PATCH 40/74] phonon-backend-gstreamer: add Qt 5 support --- .../phonon-backend-gstreamer/default.nix | 29 +++++++++++++------ pkgs/top-level/all-packages.nix | 8 ++++- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/phonon-backend-gstreamer/default.nix b/pkgs/development/libraries/phonon-backend-gstreamer/default.nix index 844c2e58009..5067a3bd2c2 100644 --- a/pkgs/development/libraries/phonon-backend-gstreamer/default.nix +++ b/pkgs/development/libraries/phonon-backend-gstreamer/default.nix @@ -1,28 +1,39 @@ -{ stdenv, fetchurl, cmake, automoc4, qt4, pkgconfig, phonon, gstreamer -, gst_plugins_base }: +{ stdenv, fetchurl, cmake, automoc4, pkgconfig, gst_all_1 +, phonon, qt4 ? null, qt5 ? null, withQt5 ? false }: + +with stdenv.lib; + +assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null); let - version = "4.7.2"; + version = "4.8.0"; pname = "phonon-backend-gstreamer"; + qt = if withQt5 then qt5 else qt4; + # Force same Qt version in phonon + phonon_ = phonon.override { inherit qt4 qt5 withQt5; }; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { - url = "mirror://kde/stable/phonon/${pname}/${version}/src/${name}.tar.xz"; - sha256 = "1cfjk450aajr8hfhnfq7zbmryprxiwr9ha5x585dsh7mja82mdw0"; + url = "mirror://kde/stable/phonon/${pname}/${version}/${name}.tar.xz"; + sha256 = "0zjqf1gpj6h9hj27225vihg5gj0fjgvh4n9nkrbij7kf57bcn6gq"; }; - buildInputs = [ phonon qt4 gstreamer gst_plugins_base ]; + buildInputs = with gst_all_1; [ phonon_ qt gstreamer gst-plugins-base ]; nativeBuildInputs = [ cmake automoc4 pkgconfig ]; - cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ]; + cmakeFlags = + [ "-DCMAKE_INSTALL_LIBDIR=lib" + ] ++ optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON"; meta = { homepage = http://phonon.kde.org/; description = "GStreamer backend for Phonon"; - platforms = stdenv.lib.platforms.linux; - }; + platforms = platforms.linux; + maintainers = with maintainers; [ ttuegel ]; + license = licenses.lgpl21Plus; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3b919b3d8cb..f3b9331ce98 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6522,7 +6522,13 @@ let qt4 = null; }; - phonon_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer { }; + phonon_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer { inherit qt4; }; + + phonon_qt5_backend_gstreamer = phonon_backend_gstreamer.override { + withQt5 = true; + inherit qt5; + qt4 = null; + }; phonon_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc { }; From 66ebc65cd3fd91eba18e43e4cc37ddfecbddba95 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 17 Nov 2014 19:33:10 -0600 Subject: [PATCH 41/74] phonon-backend-vlc: add Qt 5 support --- pkgs/applications/video/vlc/default.nix | 15 ++++++++--- .../libraries/phonon-backend-vlc/default.nix | 27 +++++++++++++------ pkgs/top-level/all-packages.nix | 10 ++++++- 3 files changed, 39 insertions(+), 13 deletions(-) diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index 71db3d40a46..f1d3cf836ad 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -1,14 +1,20 @@ { stdenv, fetchurl, xz, bzip2, perl, xlibs, libdvdnav, libbluray , zlib, a52dec, libmad, faad2, ffmpeg, alsaLib -, pkgconfig, dbus, fribidi, qt4, freefont_ttf, libebml, libmatroska +, pkgconfig, dbus, fribidi, freefont_ttf, libebml, libmatroska , libvorbis, libtheora, speex, lua5, libgcrypt, libupnp , libcaca, pulseaudio, flac, schroedinger, libxml2, librsvg , mpeg2dec, udev, gnutls, avahi, libcddb, jack2, SDL, SDL_image , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz , libass, libva, libdvbpsi, libdc1394, libraw1394, libopus , libvdpau +, onlyLibVLC ? false +, qt4 ? null, qt5 ? null, withQt5 ? false }: +with stdenv.lib; + +assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null); + stdenv.mkDerivation rec { name = "vlc-${version}"; version = "2.1.5"; @@ -20,13 +26,13 @@ stdenv.mkDerivation rec { buildInputs = [ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread - libbluray dbus fribidi qt4 libvorbis libtheora speex lua5 libgcrypt + libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt libupnp libcaca pulseaudio flac schroedinger libxml2 librsvg mpeg2dec udev gnutls avahi libcddb jack2 SDL SDL_image libmtp unzip taglib libkate libtiger libv4l samba liboggz libass libdvbpsi libva xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms libdc1394 libraw1394 libopus libebml libmatroska libvdpau - ]; + ] ++ [(if withQt5 then qt5 else qt4)]; nativeBuildInputs = [ pkgconfig ]; @@ -36,7 +42,8 @@ stdenv.mkDerivation rec { "--enable-dc1394" "--enable-ncurses" "--enable-vdpau" - ]; + ] + ++ optional onlyLibVLC "--disable-vlc"; preConfigure = ''sed -e "s@/bin/echo@echo@g" -i configure''; diff --git a/pkgs/development/libraries/phonon-backend-vlc/default.nix b/pkgs/development/libraries/phonon-backend-vlc/default.nix index 8a196463639..8883f5c11d9 100644 --- a/pkgs/development/libraries/phonon-backend-vlc/default.nix +++ b/pkgs/development/libraries/phonon-backend-vlc/default.nix @@ -1,26 +1,37 @@ -{ stdenv, fetchurl, xz, qt4, vlc, automoc4, cmake, pkgconfig, phonon }: +{ stdenv, fetchurl, xz, vlc, automoc4, cmake, pkgconfig, phonon +, qt4 ? null, qt5 ? null, withQt5 ? false }: + +with stdenv.lib; + +assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null); let pname = "phonon-backend-vlc"; - v = "0.7.2"; - vlc_ = vlc.override { inherit qt4; }; #Force using the same qt version + v = "0.8.1"; + # Force same Qt version in phonon and VLC + vlc_ = vlc.override { inherit qt4 qt5 withQt5; }; + phonon_ = phonon.override { inherit qt4 qt5 withQt5; }; in stdenv.mkDerivation { name = "${pname}-${v}"; src = fetchurl { - url = "mirror://kde/stable/phonon/${pname}/${v}/src/${pname}-${v}.tar.xz"; - sha256 = "1acmbn8pmmq16gcz825dlzaf3haj6avp1bmcxzpkjd1fvxh86y0a"; + url = "mirror://kde/stable/phonon/${pname}/${v}/${pname}-${v}.tar.xz"; + sha256 = "1fyfh7qyb6rld350v2fgz452ld96d3z5ifchr323q0vc3hb9k222"; }; nativeBuildInputs = [ cmake pkgconfig automoc4 xz ]; - buildInputs = [ qt4 vlc_ phonon ]; + buildInputs = [ vlc_ phonon_ (if withQt5 then qt5 else qt4)]; + + cmakeFlags = optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON"; meta = { + homepage = http://phonon.kde.org/; description = "VideoLAN backend for Phonon multimedia framework"; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.urkud ]; + platforms = platforms.linux; + maintainers = with maintainers; [ ttuegel urkud ]; + license = licenses.lgpl21Plus; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f3b9331ce98..340852ff356 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6530,7 +6530,13 @@ let qt4 = null; }; - phonon_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc { }; + phonon_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc { inherit qt4; }; + + phonon_qt5_backend_vlc = phonon_backend_vlc.override { + withQt5 = true; + inherit qt5; + qt4 = null; + }; physfs = callPackage ../development/libraries/physfs { }; @@ -10890,6 +10896,8 @@ let ffmpeg = ffmpeg_2_3; }; + libvlc = vlc.override { onlyLibVLC = true; }; + vmpk = callPackage ../applications/audio/vmpk { }; vnstat = callPackage ../applications/networking/vnstat { }; From e2fe48756f3edbf1becc31a5c65b7632fd700387 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 19 Nov 2014 16:22:54 -0600 Subject: [PATCH 42/74] qt5: find timezone table in $TZDIR --- pkgs/development/libraries/qt-5/default.nix | 1 + .../libraries/qt-5/qt-5.3-tzdir.patch | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 pkgs/development/libraries/qt-5/qt-5.3-tzdir.patch diff --git a/pkgs/development/libraries/qt-5/default.nix b/pkgs/development/libraries/qt-5/default.nix index fe290fd69fc..cdee9276489 100644 --- a/pkgs/development/libraries/qt-5/default.nix +++ b/pkgs/development/libraries/qt-5/default.nix @@ -46,6 +46,7 @@ stdenv.mkDerivation rec { patches = [ ./glib-2.32.patch + ./qt-5.3-tzdir.patch (substituteAll { src = ./qt-5.2-dlopen-absolute-paths.patch; inherit cups icu libXfixes; diff --git a/pkgs/development/libraries/qt-5/qt-5.3-tzdir.patch b/pkgs/development/libraries/qt-5/qt-5.3-tzdir.patch new file mode 100644 index 00000000000..5434a228a9e --- /dev/null +++ b/pkgs/development/libraries/qt-5/qt-5.3-tzdir.patch @@ -0,0 +1,40 @@ +diff --git a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp +index b4ea91e..a56a245 100644 +--- a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp ++++ b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp +@@ -68,7 +68,10 @@ typedef QHash QTzTimeZoneHash; + // Parse zone.tab table, assume lists all installed zones, if not will need to read directories + static QTzTimeZoneHash loadTzTimeZones() + { +- QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); ++ QString path = qgetenv("TZDIR"); ++ path += "/zone.tab"; ++ if (!QFile::exists(path)) ++ path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); + if (!QFile::exists(path)) + path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); + +@@ -559,12 +562,18 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId) + if (!tzif.open(QIODevice::ReadOnly)) + return; + } else { +- // Open named tz, try modern path first, if fails try legacy path +- tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ // Try TZDIR first ++ QString zoneinfoDir = qgetenv("TZDIR"); ++ zoneinfoDir += "/" + QString::fromLocal8Bit(ianaId); ++ tzif.setFileName(zoneinfoDir); + if (!tzif.open(QIODevice::ReadOnly)) { +- tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); +- if (!tzif.open(QIODevice::ReadOnly)) +- return; ++ // Open named tz, try modern path first, if fails try legacy path ++ tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ if (!tzif.open(QIODevice::ReadOnly)) { ++ tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ if (!tzif.open(QIODevice::ReadOnly)) ++ return; ++ } + } + } + From bb2fba11254804635a49ffbfec0e7e3f852eb28a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 24 Nov 2014 22:09:43 +0100 Subject: [PATCH 43/74] Revert "mesa: Don't depend on Wayland" This reverts commit 7ff232e9584b6bd78a38b0d6b85dd2c6e0ebce4e. See discussion at the original commit. CC: #4999, #5001, #5061, #5071. --- pkgs/development/libraries/mesa/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 842f3dc7d9b..4536316b801 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -78,7 +78,7 @@ stdenv.mkDerivation { "--with-dri-drivers=i965,r200,radeon" "--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast,radeonsi" - "--with-egl-platforms=x11,drm" "--enable-gbm" + "--with-egl-platforms=x11,wayland,drm" "--enable-gbm" ] ++ optional enableTextureFloats "--enable-texture-float" ++ optionals enableExtraFeatures [ @@ -97,7 +97,7 @@ stdenv.mkDerivation { autoreconfHook intltool expat libxml2Python llvm glproto dri2proto dri3proto presentproto libX11 libXext libxcb libXt libXfixes libxshmfence - libffi /* wayland */ libvdpau libelf + libffi wayland libvdpau libelf ] ++ optionals enableExtraFeatures [ /*libXvMC*/ ] ++ optional stdenv.isLinux udev ; From 443e0fcbeafa576d1d521d79dd1c5ab4d79baa96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 24 Nov 2014 23:04:36 +0100 Subject: [PATCH 44/74] dbus: small update, fixing boot on slow machines See http://cgit.freedesktop.org/dbus/dbus/tree/NEWS?h=dbus-1.8 --- 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 31e27127784..d332321a22a 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.10"; - sha256 = "13mgvwigm931r8n9363imnn0vn6dvc0m322k3p8fs5c8nvyqggqh"; + version = "1.8.12"; + sha256 = "07jhcalg00i2rx5zrgk73rg0vm7lzi5q5z2gscrbl999ipr2h569"; inherit (stdenv) lib; From af379076ceed818f08ffba175b9e4eceb5c35ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 24 Nov 2014 23:06:39 +0100 Subject: [PATCH 45/74] 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 45cdc5be02b..9c7244fdc6e 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.35"; + name = "harfbuzz-0.9.36"; src = fetchurl { url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2"; - sha256 = "1v86596994bnb9hx7laykhw4ipixqz9ckwzyyqf340pmlsmsi88a"; + sha256 = "3bfbf7b016167ee6b2a2f83948fef75cc1253081873d6a91022161815956b9be"; }; configureFlags = [ From 97a2de297e48d312ef734f8b9c2bdc5092b2aea8 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 25 Nov 2014 00:28:20 +0100 Subject: [PATCH 46/74] Fix various Perl packages Perl 5.20 removed some modules, in particular Module::Pluggable. So now other modules need to get it from CPAN. http://hydra.nixos.org/build/17450281 --- .../scripts/nix-generate-from-cpan.nix | 4 +- maintainers/scripts/nix-generate-from-cpan.pl | 2 +- pkgs/top-level/perl-packages.nix | 209 ++++++++++++------ 3 files changed, 147 insertions(+), 68 deletions(-) diff --git a/maintainers/scripts/nix-generate-from-cpan.nix b/maintainers/scripts/nix-generate-from-cpan.nix index fffe11f1a5f..056cd994ba2 100644 --- a/maintainers/scripts/nix-generate-from-cpan.nix +++ b/maintainers/scripts/nix-generate-from-cpan.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation { name = "nix-generate-from-cpan-1"; - buildInputs = [ makeWrapper perl perlPackages.YAMLLibYAML perlPackages.JSON ]; + buildInputs = [ makeWrapper perl perlPackages.YAMLLibYAML perlPackages.JSON perlPackages.CPANPLUS ]; unpackPhase = "true"; buildPhase = "true"; @@ -19,4 +19,4 @@ stdenv.mkDerivation { maintainers = [ stdenv.lib.maintainers.eelco ]; description = "Utility to generate a Nix expression for a Perl package from CPAN"; }; -} \ No newline at end of file +} diff --git a/maintainers/scripts/nix-generate-from-cpan.pl b/maintainers/scripts/nix-generate-from-cpan.pl index 1d9f926ec55..56709ca8000 100755 --- a/maintainers/scripts/nix-generate-from-cpan.pl +++ b/maintainers/scripts/nix-generate-from-cpan.pl @@ -100,7 +100,7 @@ sub get_deps { foreach my $n (keys %{$deps}) { next if $n eq "perl"; # Hacky way to figure out if this module is part of Perl. - if ($n !~ /^JSON/ && $n !~ /^YAML/) { + if ($n !~ /^JSON/ && $n !~ /^YAML/ && $n !~ /^Module::Pluggable/) { eval "use $n;"; if (!$@) { print STDERR "skipping Perl-builtin module $n\n"; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index d02a4f69a16..e1dd33e9281 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -239,6 +239,19 @@ let self = _self // overrides; _self = with self; { }; }; + ArchiveExtract = buildPerlPackage { + name = "Archive-Extract-0.74"; + src = fetchurl { + url = mirror://cpan/authors/id/B/BI/BINGOS/Archive-Extract-0.74.tar.gz; + sha256 = "b297d230fe91720a423a01482db7e037b2acf589f9c8f58cef39f3148374e216"; + }; + propagatedBuildInputs = [ if_ ]; + meta = { + description = "Generic archive extracting mechanism"; + license = "perl"; + }; + }; + ArchiveZip = buildPerlPackage { name = "Archive-Zip-1.16"; src = fetchurl { @@ -329,19 +342,7 @@ let self = _self // overrides; _self = with self; { }; }; - autodie = buildPerlPackage { - name = "autodie-2.20"; - src = fetchurl { - url = mirror://cpan/authors/id/P/PJ/PJF/autodie-2.20.tar.gz; - sha256 = "346763c582cd8066b4e5d07e4013202f9f9296d32b42343e117dbfb13ea6e4f0"; - }; - meta = { - description = "Replace functions with ones that succeed or die with lexical scope"; - license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; - maintainers = with maintainers; [ ocharles ]; - platforms = stdenv.lib.platforms.unix; - }; - }; + autodie = null; # part of Perl autovivification = buildPerlPackage { name = "autovivification-0.12"; @@ -643,16 +644,16 @@ let self = _self // overrides; _self = with self; { }; CatalystActionREST = buildPerlPackage { - name = "Catalyst-Action-REST-1.07"; + name = "Catalyst-Action-REST-1.17"; src = fetchurl { - url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Action-REST-1.07.tar.gz; - sha256 = "0c893iia1bmqlrknylaqhc9ln1xqz7yw9z639rxmyjyidx5b4q0d"; + url = mirror://cpan/authors/id/F/FR/FREW/Catalyst-Action-REST-1.17.tar.gz; + sha256 = "c833c6ba2150b035b0486ff568c1e5928c14bb53d6a70758271feb969aaedde6"; }; - propagatedBuildInputs = [ CatalystRuntime ClassInspector ConfigGeneral DataSerializer DataTaxi FreezeThaw HTMLParser JSONXS LWPUserAgent Moose MROCompat namespaceautoclean ParamsValidate PHPSerialization URIFind XMLSimple YAMLSyck ]; + buildInputs = [ TestRequires ]; + propagatedBuildInputs = [ CatalystRuntime ClassInspector LWP MROCompat ModulePluggable Moose ParamsValidate URIFind namespaceautoclean ]; meta = { description = "Automated REST Method Dispatching"; - license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; - platforms = stdenv.lib.platforms.linux; + license = "perl"; }; }; @@ -1498,11 +1499,16 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ IOCompress ]; }; - ConfigAny = buildPerlPackage rec { + ConfigAny = buildPerlPackage { name = "Config-Any-0.24"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Config/${name}.tar.gz"; - sha256 = "06n6jn3q3xhk57icwip0ihzqixxav6sgp6rrb35hahj1z748y3vi"; + url = mirror://cpan/authors/id/B/BR/BRICAS/Config-Any-0.24.tar.gz; + sha256 = "710f8fc8f9414205cb58399bfbb4d9aaf7883f8ce046cee22913f6818795c61a"; + }; + propagatedBuildInputs = [ ModulePluggable ]; + meta = { + description = "Load configuration from different file formats, transparently"; + license = "perl"; }; }; @@ -1733,6 +1739,21 @@ let self = _self // overrides; _self = with self; { }; }; + CPANPLUS = buildPerlPackage { + name = "CPANPLUS-0.9152"; + src = fetchurl { + url = mirror://cpan/authors/id/B/BI/BINGOS/CPANPLUS-0.9152.tar.gz; + sha256 = "732d9978ca6e8cde9b16431e1d1bafa543a66d8bce3fbfca4e5ac297a348ad17"; + }; + propagatedBuildInputs = [ ArchiveExtract LogMessage ModulePluggable ObjectAccessor PackageConstants ]; + doCheck = false; + meta = { + homepage = http://github.com/jib/cpanplus-devel; + description = "Ameliorated interface to the CPAN"; + license = "perl"; + }; + }; + CPANUploader = buildPerlPackage { name = "CPAN-Uploader-0.103006"; src = fetchurl { @@ -2200,15 +2221,15 @@ let self = _self // overrides; _self = with self; { }; DateTimeFormatFlexible = buildPerlPackage { - name = "DateTime-Format-Flexible-0.25"; + name = "DateTime-Format-Flexible-0.26"; src = fetchurl { - url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.25.tar.gz; - sha256 = "cd3267e68736ece386d677289b334d4ef1f33ff2524b17b9c9deb53d20420090"; + url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.26.tar.gz; + sha256 = "436efbc5e87cc385112e1c44336427fea32df670caf2b7d6dbb7a113ac6e693d"; }; - propagatedBuildInputs = [ DateTime DateTimeFormatBuilder DateTimeTimeZone ListMoreUtils TestMockTime ]; + propagatedBuildInputs = [ DateTime DateTimeFormatBuilder DateTimeTimeZone ListMoreUtils ModulePluggable TestMockTime ]; meta = { description = "DateTime::Format::Flexible - Flexibly parse strings and turn them into DateTime objects"; - license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + license = "perl"; }; }; @@ -3094,11 +3115,13 @@ let self = _self // overrides; _self = with self; { name = "Email-Abstract-3.007"; src = fetchurl { url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.007.tar.gz; - sha256 = "1a7aynf5jd5lr77x4k51hphnbmxf6p0s2gm1a6fbmxjqlnimm48h"; + sha256 = "10915aa3a558f6ba9c51a13ea1c135aed765e185a14cd2cfc9b434599cf5eaa8"; }; - propagatedBuildInputs = [ EmailSimple MROCompat ]; + propagatedBuildInputs = [ EmailSimple MROCompat ModulePluggable ]; meta = { - license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + homepage = https://github.com/rjbs/Email-Abstract; + description = "Unified interface to mail representations"; + license = "perl"; }; }; @@ -3597,17 +3620,20 @@ let self = _self // overrides; _self = with self; { }; }; - FileChangeNotify = buildPerlModule rec { + FileChangeNotify = buildPerlModule { name = "File-ChangeNotify-0.24"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz"; - sha256 = "090i265f73jlcl5rv250791vw32j9vvl4nd5abc7myg0klb8109w"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/File-ChangeNotify-0.24.tar.gz; + sha256 = "3c8180169de0f97ad852a55942f74e520cbe433aa0889d0b65548ee38a111124"; }; buildInputs = [ TestException ]; propagatedBuildInputs = - [ ClassMOP Moose MooseXParamsValidate MooseXSemiAffordanceAccessor - namespaceautoclean - ] ++ stdenv.lib.optional stdenv.isLinux LinuxInotify2; + [ ClassLoad ListMoreUtils ModulePluggable Moose MooseXParamsValidate MooseXSemiAffordanceAccessor namespaceautoclean ] + ++ stdenv.lib.optional stdenv.isLinux LinuxInotify2; + meta = { + description = "Watch for changes to files, cross-platform style"; + license = "artistic_2"; + }; }; Filechdir = buildPerlPackage rec { @@ -5101,6 +5127,19 @@ let self = _self // overrides; _self = with self; { }; }; + LogMessage = buildPerlPackage { + name = "Log-Message-0.08"; + src = fetchurl { + url = mirror://cpan/authors/id/B/BI/BINGOS/Log-Message-0.08.tar.gz; + sha256 = "bd697dd62aaf26d118e9f0a0813429deb1c544e4501559879b61fcbdfe99fe46"; + }; + propagatedBuildInputs = [ if_ ]; + meta = { + description = "Powerful and flexible message logging mechanism"; + license = "perl"; + }; + }; + LogTrace = buildPerlPackage rec { name = "Log-Trace-1.070"; src = fetchurl { @@ -5615,16 +5654,16 @@ let self = _self // overrides; _self = with self; { }; ModuleInstall = buildPerlPackage { - name = "Module-Install-1.06"; + name = "Module-Install-1.14"; src = fetchurl { - url = mirror://cpan/authors/id/A/AD/ADAMK/Module-Install-1.06.tar.gz; - sha256 = "06a5375q1cr21rzcr07z3n8w6hv611a9p199jrnpsj9vbcwwi7ny"; + url = mirror://cpan/authors/id/B/BI/BINGOS/Module-Install-1.14.tar.gz; + sha256 = "3f02f0a33603aff2f5cf06d15f74d1a9be65e844ada99e1a9c2102330ffa0d49"; }; buildInputs = [ YAMLTiny ]; - propagatedBuildInputs = [ FileRemove LWPUserAgent ModuleScanDeps PARDist YAMLTiny ]; + propagatedBuildInputs = [ FileRemove ModuleScanDeps YAMLTiny ]; meta = { description = "Standalone, extensible Perl module installer"; - license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + license = "perl"; }; }; @@ -5748,14 +5787,15 @@ let self = _self // overrides; _self = with self; { }; ModuleScanDeps = buildPerlPackage { - name = "Module-ScanDeps-1.10"; + name = "Module-ScanDeps-1.17"; src = fetchurl { - url = mirror://cpan/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1.10.tar.gz; - sha256 = "0z85zqvqpj2ck80sw91hmzn94q8m3s40anybw324xh3pcrm9cg5s"; + url = mirror://cpan/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1.17.tar.gz; + sha256 = "1b2999344919826476c59e08e65e4877121b4da1e847c9f354841df688927dd2"; }; + buildInputs = [ TestRequires ]; meta = { description = "Recursively scan Perl code for dependencies"; - license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + license = "perl"; }; }; @@ -6235,17 +6275,17 @@ let self = _self // overrides; _self = with self; { }; MooseXTypes = buildPerlPackage { - name = "MooseX-Types-0.35"; + name = "MooseX-Types-0.45"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-Types-0.35.tar.gz; - sha256 = "11namg9pjw328ybvj70cgn15aac093jwdm4jv0b173gb7vkflx8a"; + url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-0.45.tar.gz; + sha256 = "d01ff4a3db78e1150101b4b63569e4bce3ced3b5b0024c52c87575e0820609c7"; }; - buildInputs = [ TestFatal TestMoose TestRequires ]; - propagatedBuildInputs = [ CarpClan Moose namespaceclean SubInstall SubName ]; + buildInputs = [ ModuleBuildTiny Moose TestFatal TestRequires if_ ]; + propagatedBuildInputs = [ CarpClan ModuleRuntime Moose SubExporter SubName namespaceautoclean ]; meta = { - homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + homepage = https://github.com/moose/MooseX-Types; description = "Organise your Moose types in libraries"; - license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + license = "perl"; }; }; @@ -6815,6 +6855,18 @@ let self = _self // overrides; _self = with self; { }; }; + ObjectAccessor = buildPerlPackage { + name = "Object-Accessor-0.48"; + src = fetchurl { + url = mirror://cpan/authors/id/B/BI/BINGOS/Object-Accessor-0.48.tar.gz; + sha256 = "76cb824a27b6b4e560409fcf6fd5b3bfbbd38b72f1f3d37ed0b54bd9c0baeade"; + }; + meta = { + description = "Per object accessors"; + license = "perl"; + }; + }; + ObjectInsideOut = buildPerlPackage { name = "Object-InsideOut-3.98"; src = fetchurl { @@ -6887,6 +6939,18 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ NetOpenIDCommon JSON LWP ]; }; + PackageConstants = buildPerlPackage { + name = "Package-Constants-0.04"; + src = fetchurl { + url = mirror://cpan/authors/id/B/BI/BINGOS/Package-Constants-0.04.tar.gz; + sha256 = "7e09a88da2c0df24f498eb3a133f7d979404a7bc853f21afa2ba68dfd859a880"; + }; + meta = { + description = "List constants defined in a package"; + license = "perl"; + }; + }; + PackageDeprecationManager = buildPerlPackage { name = "Package-DeprecationManager-0.13"; src = fetchurl { @@ -7541,11 +7605,15 @@ let self = _self // overrides; _self = with self; { }; }; - RegexpCommon = buildPerlPackage rec { - name = "Regexp-Common-2.122"; + RegexpCommon = buildPerlPackage { + name = "Regexp-Common-2013031301"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AB/ABIGAIL/${name}.tar.gz"; - sha256 = "1mi411nfsx58nfsgjsbyck50x9d0yfvwqpw63iavajlpx1z38n8r"; + url = mirror://cpan/authors/id/A/AB/ABIGAIL/Regexp-Common-2013031301.tar.gz; + sha256 = "729a8198d264aa64ecbb233ff990507f97fbb66bda746b95f3286f50f5f25c84"; + }; + meta = { + description = "Provide commonly requested regular expressions"; + license = "mit"; }; }; @@ -9080,11 +9148,17 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ProbePerl IPCRun3]; }; - TestSharedFork = buildPerlPackage rec { - name = "Test-SharedFork-0.18"; + TestSharedFork = buildPerlPackage { + name = "Test-SharedFork-0.29"; src = fetchurl { - url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/${name}.tar.gz"; - sha256 = "1wc41jzi780w75m2ry1038mzxyz7386r8rmhbnmj3krcdxy676cc"; + url = mirror://cpan/authors/id/E/EX/EXODIST/Test-SharedFork-0.29.tar.gz; + sha256 = "63af7788cc35b9b7e6fa37c61220ca66abd6364d8bb90c20038e3d8241988a6e"; + }; + buildInputs = [ TestRequires ]; + meta = { + homepage = https://github.com/tokuhirom/Test-SharedFork; + description = "Fork test"; + license = "perl"; }; }; @@ -9725,10 +9799,15 @@ let self = _self // overrides; _self = with self; { }; UNIVERSALcan = buildPerlPackage { - name = "UNIVERSAL-can-1.12"; + name = "UNIVERSAL-can-1.20140328"; src = fetchurl { - url = mirror://cpan/authors/id/C/CH/CHROMATIC/UNIVERSAL-can-1.12.tar.gz; - sha256 = "1abadbgcy11cmlmj9qf1v73ycic1qhysxv5xx81h8s4p81alialr"; + url = mirror://cpan/authors/id/C/CH/CHROMATIC/UNIVERSAL-can-1.20140328.tar.gz; + sha256 = "522da9f274786fe2cba99bc77cc1c81d2161947903d7fad10bd62dfb7f11990f"; + }; + meta = { + homepage = https://github.com/chromatic/UNIVERSAL-can; + description = "Work around buggy code calling UNIVERSAL::can() as a function"; + license = "perl"; }; }; @@ -10256,10 +10335,10 @@ let self = _self // overrides; _self = with self; { }; YAMLLibYAML = buildPerlPackage rec { - name = "YAML-LibYAML-0.41"; + name = "YAML-LibYAML-0.52"; src = fetchurl { url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz"; - sha256 = "1kj506lpg3fhqq0726p6y2h7pk24l6xihfyhqqsf8gd6lckl8rcs"; + sha256 = "14qajsfbi2syjz38iynj8c6qf0rv1zmy71kydzvvg9kcq1ib3h86"; }; }; From 07bf146b301a3b5ee03e3d9c76c3e310b66da8f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 8 Nov 2014 21:21:36 +0100 Subject: [PATCH 47/74] gtkmm and related *mm updates Also enableParallelBuilding for gtkmm3. --- pkgs/development/libraries/cairomm/default.nix | 6 +++--- pkgs/development/libraries/glibmm/default.nix | 6 +++--- pkgs/development/libraries/gtkmm/3.x.nix | 7 ++++--- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/cairomm/default.nix b/pkgs/development/libraries/cairomm/default.nix index f21abedc1f5..990d44dfef8 100644 --- a/pkgs/development/libraries/cairomm/default.nix +++ b/pkgs/development/libraries/cairomm/default.nix @@ -1,15 +1,15 @@ { fetchurl, stdenv, pkgconfig, cairo, x11, fontconfig, freetype, libsigcxx }: stdenv.mkDerivation rec { - name = "cairomm-1.10.0"; + name = "cairomm-1.11.2"; src = fetchurl { url = "http://cairographics.org/releases/${name}.tar.gz"; - sha256 = "13rrp96px95m6xnvmsaqb0wcqsnizg3bz334k0yhlyxf7v29d386"; + sha1 = "35e190a03f760924bece5dc1204cc36b3583c806"; }; buildInputs = [ pkgconfig ]; - + propagatedBuildInputs = [ cairo x11 fontconfig freetype libsigcxx ]; meta = { diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix index 66fb0179489..c0f0983d73d 100644 --- a/pkgs/development/libraries/glibmm/default.nix +++ b/pkgs/development/libraries/glibmm/default.nix @@ -1,15 +1,15 @@ { stdenv, fetchurl, pkgconfig, glib, libsigcxx }: let - ver_maj = "2.38"; - ver_min = "1"; + ver_maj = "2.42"; + ver_min = "0"; in stdenv.mkDerivation rec { name = "glibmm-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://gnome/sources/glibmm/${ver_maj}/${name}.tar.xz"; - sha256 = "18n4czi6lh4ncj54apxms18xn9k8pmrp2ba9sxn0sk9w3pp2bja9"; + sha256 = "985083d97378d234da27a7243587cc0d186897a4b2d3c1286f794089be1a3397"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix index 47057b819e0..2d5798186c4 100644 --- a/pkgs/development/libraries/gtkmm/3.x.nix +++ b/pkgs/development/libraries/gtkmm/3.x.nix @@ -1,21 +1,22 @@ { stdenv, fetchurl, pkgconfig, gtk3, glibmm, cairomm, pangomm, atkmm }: let - ver_maj = "3.11"; # unstable version, but ATM no stable builds with gtk-3.12 and this is the version used in GNOME-3.12 "stable" - ver_min = "9"; + ver_maj = "3.12"; + ver_min = "0"; in stdenv.mkDerivation rec { name = "gtkmm-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://gnome/sources/gtkmm/${ver_maj}/${name}.tar.xz"; - sha256 = "04yji82prijlwpd3blx0am1ikjy7y7ih7jd628dywdjbbfq42920"; + sha256 = "86c526ceec15d889996822128d566748bb36f70cf5a2c270530dfc546a2574e1"; }; nativeBuildInputs = [ pkgconfig ]; propagatedBuildInputs = [ glibmm gtk3 atkmm cairomm pangomm ]; + enableParallelBuilding = true; doCheck = true; meta = { From e368ca20c91843396f0e418537fdd841cd944439 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 25 Nov 2014 00:36:20 +0100 Subject: [PATCH 48/74] Fix old Go versions http://hydra.nixos.org/build/17432147 http://hydra.nixos.org/build/17439772 --- pkgs/development/compilers/go/1.1.nix | 2 ++ pkgs/development/compilers/go/1.2.nix | 2 ++ 2 files changed, 4 insertions(+) diff --git a/pkgs/development/compilers/go/1.1.nix b/pkgs/development/compilers/go/1.1.nix index 14ea73c2384..11640f2393d 100644 --- a/pkgs/development/compilers/go/1.1.nix +++ b/pkgs/development/compilers/go/1.1.nix @@ -17,6 +17,8 @@ stdenv.mkDerivation { buildInputs = [ bison glibc bash makeWrapper ]; + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + # I'm not sure what go wants from its 'src', but the go installation manual # describes an installation keeping the src. preUnpack = '' diff --git a/pkgs/development/compilers/go/1.2.nix b/pkgs/development/compilers/go/1.2.nix index d5ca3bf812e..8e6f6d3f51e 100644 --- a/pkgs/development/compilers/go/1.2.nix +++ b/pkgs/development/compilers/go/1.2.nix @@ -16,6 +16,8 @@ stdenv.mkDerivation { buildInputs = [ bison glibc bash makeWrapper ]; + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + # I'm not sure what go wants from its 'src', but the go installation manual # describes an installation keeping the src. preUnpack = '' From 5c01205bf767b4dd3230a4085f2f03acfe2ba2a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 25 Nov 2014 01:03:29 +0100 Subject: [PATCH 49/74] mesa: use upstream patch to fix doCheck again --- pkgs/development/libraries/mesa/default.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 4536316b801..a3b40eb612c 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, intltool, flex, bison, autoreconfHook, substituteAll +{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, flex, bison, autoreconfHook, substituteAll , python, libxml2Python, file, expat, makedepend , libdrm, xorg, wayland, udev, llvm, libffi , libvdpau, libelf @@ -45,6 +45,12 @@ stdenv.mkDerivation { ./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; @@ -103,7 +109,7 @@ stdenv.mkDerivation { ; enableParallelBuilding = true; - #doCheck = true; # https://bugs.freedesktop.org/show_bug.cgi?id=67672 + doCheck = true; # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM; # also move libOSMesa to $osmesa, as it's relatively big From 9adc6fe2766669330c5287a276e93c4777fed902 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 25 Nov 2014 15:43:04 +0100 Subject: [PATCH 50/74] docbook5: Install a catalog.xml --- .../sgml+xml/schemas/docbook-5.0/builder.sh | 17 ----------- .../sgml+xml/schemas/docbook-5.0/default.nix | 28 +++++++++++++++++-- 2 files changed, 25 insertions(+), 20 deletions(-) delete mode 100644 pkgs/data/sgml+xml/schemas/docbook-5.0/builder.sh diff --git a/pkgs/data/sgml+xml/schemas/docbook-5.0/builder.sh b/pkgs/data/sgml+xml/schemas/docbook-5.0/builder.sh deleted file mode 100644 index 96ad77eaa57..00000000000 --- a/pkgs/data/sgml+xml/schemas/docbook-5.0/builder.sh +++ /dev/null @@ -1,17 +0,0 @@ -source $stdenv/setup - -unpackFile $src - -cd docbook-* - -mkdir -p $out/xml/rng -cp -prv rng $out/xml/rng/docbook - -mkdir -p $out/xml/dtd -cp -prv dtd $out/xml/dtd/docbook - -mkdir -p $out/share/doc -cp -prv docs $out/share/doc/docbook - -mkdir -p $out/share/docbook -cp -prv tools $out/share/docbook/ diff --git a/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix b/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix index 1e0103a9305..a9d09945d7f 100644 --- a/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix +++ b/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix @@ -1,13 +1,35 @@ -{stdenv, fetchurl, unzip}: +{ lib, stdenv, fetchurl, unzip }: stdenv.mkDerivation { name = "docbook5-5.0"; - builder = ./builder.sh; src = fetchurl { url = http://www.docbook.org/xml/5.0/docbook-5.0.zip; sha256 = "13i04dkd709f0p5f2413sf2y9321pfi4y85ynf8wih6ryphnbk9x"; }; - buildInputs = [unzip]; + buildInputs = [ unzip ]; + + installPhase = + '' + dst=$out/share/xml/docbook-5.0 + mkdir -p $dst + cp -prv * $dst/ + + substituteInPlace $dst/catalog.xml --replace 'uri="' "uri=\"$dst/" + + rm -rf $dst/docs $dst/ChangeLog + + # Backwards compatibility. Will remove eventually. + mkdir -p $out/xml/rng $out/xml/dtd + ln -s $dst/rng $out/xml/rng/docbook + ln -s $dst/dtd $out/xml/dtd/docbook + ''; + + meta = { + description = "Schemas for DocBook 5.0, a semantic markup language for technical documentation"; + homepage = http://docbook.org/xml/5.0/; + maintainers = [ lib.maintainers.eelco ]; + platforms = lib.platforms.all; + }; } From e611215f5c1b7ca19785ec462e696dff103847b0 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 25 Nov 2014 16:02:19 +0100 Subject: [PATCH 51/74] Move finding XML catalogs into a separate setup hook This is because libxml/libxslt are not the only implementations that respect $XML_CATALOG_FILES. Also, look in share/xml for catalogs (in addition to the now-deprecated xml/dtd and xml/xsl). --- .../setup-hooks/find-xml-catalogs.sh | 22 +++++++++++++++++++ .../development/libraries/libxml2/default.nix | 6 ++--- .../libraries/libxml2/setup-hook.sh | 19 ---------------- pkgs/top-level/all-packages.nix | 5 ++++- 4 files changed, 28 insertions(+), 24 deletions(-) create mode 100644 pkgs/build-support/setup-hooks/find-xml-catalogs.sh delete mode 100644 pkgs/development/libraries/libxml2/setup-hook.sh diff --git a/pkgs/build-support/setup-hooks/find-xml-catalogs.sh b/pkgs/build-support/setup-hooks/find-xml-catalogs.sh new file mode 100644 index 00000000000..b742d5a8ffd --- /dev/null +++ b/pkgs/build-support/setup-hooks/find-xml-catalogs.sh @@ -0,0 +1,22 @@ +addXMLCatalogs () { + local d i + # ‘xml/dtd’ and ‘xml/xsl’ are deprecated. Catalogs should be + # installed underneath ‘share/xml’. + for d in $1/share/xml $1/xml/dtd $1/xml/xsl; do + if [ -d $d ]; then + for i in $(find $d -name catalog.xml); do + XML_CATALOG_FILES+=" $i" + done + fi + done +} + +if [ -z "$libxmlHookDone" ]; then + libxmlHookDone=1 + + # Set up XML_CATALOG_FILES. An empty initial value prevents + # xmllint and xsltproc from looking in /etc/xml/catalog. + export XML_CATALOG_FILES + if [ -z "$XML_CATALOG_FILES" ]; then XML_CATALOG_FILES=" "; fi + envHooks+=(addXMLCatalogs) +fi diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index 8dfe60f9026..434b76a09ea 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, zlib, xz, python ? null, pythonSupport ? true }: +{ stdenv, fetchurl, zlib, xz, python ? null, pythonSupport ? true, findXMLCatalogs }: assert pythonSupport -> python != null; @@ -22,9 +22,7 @@ stdenv.mkDerivation (rec { # RUNPATH for that, leading to undefined references for its users. ++ (stdenv.lib.optional stdenv.isFreeBSD xz); - propagatedBuildInputs = [ zlib ]; - - setupHook = ./setup-hook.sh; + propagatedBuildInputs = [ zlib findXMLCatalogs ]; passthru = { inherit pythonSupport version; }; diff --git a/pkgs/development/libraries/libxml2/setup-hook.sh b/pkgs/development/libraries/libxml2/setup-hook.sh deleted file mode 100644 index 4acdd25a6b2..00000000000 --- a/pkgs/development/libraries/libxml2/setup-hook.sh +++ /dev/null @@ -1,19 +0,0 @@ -addXMLCatalogs () { - for kind in dtd xsl; do - if test -d $1/xml/$kind; then - for i in $(find $1/xml/$kind -name catalog.xml); do - export XML_CATALOG_FILES="$XML_CATALOG_FILES $i" - done - fi - done -} - -if test -z "$libxmlHookDone"; then - libxmlHookDone=1 - - # Set up XML_CATALOG_FILES. An empty initial value prevents - # xmllint and xsltproc from looking in /etc/xml/catalog. - export XML_CATALOG_FILES - if test -z "$XML_CATALOG_FILES"; then XML_CATALOG_FILES=" "; fi - envHooks+=(addXMLCatalogs) -fi diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bebdfab1b54..c81db70d1b1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -437,7 +437,10 @@ let ../build-support/setup-hooks/make-coverage-analysis-report.sh; # intended to be used like nix-build -E 'with {}; enableDebugging fooPackage' - enableDebugging = pkg : pkg.override { stdenv = stdenvAdapters.keepDebugInfo pkg.stdenv; }; + enableDebugging = pkg: pkg.override { stdenv = stdenvAdapters.keepDebugInfo pkg.stdenv; }; + + findXMLCatalogs = makeSetupHook { } ../build-support/setup-hooks/find-xml-catalogs.sh; + ### TOOLS From 880616c353630fabb54ca33f8ef61b6be7274b13 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 25 Nov 2014 16:18:53 +0100 Subject: [PATCH 52/74] docbook-xsl-ns: Cleanup --- .../stylesheets/xslt/docbook-xsl-ns/default.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix index bfe454a49fe..36d2cc48c9f 100644 --- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix +++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix @@ -1,8 +1,8 @@ -{stdenv, fetchurl}: +{ lib, stdenv, fetchurl }: stdenv.mkDerivation rec { name = "docbook-xsl-ns-1.78.1"; - + src = fetchurl { url = "mirror://sourceforge/docbook/${name}.tar.bz2"; sha256 = "1x3sc0axk9z3i6n0jhlsmzlmb723a4sjgslm9g12by6phirdx3ng"; @@ -12,13 +12,20 @@ stdenv.mkDerivation rec { installPhase = '' + dst=$out/share/xml/docbook-xsl-ns + mkdir -p $dst + rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh svn* tools log Makefile tests extensions webhelp + mv * $dst/ + + # Backwards compatibility. Will remove eventually. mkdir -p $out/xml/xsl - cd .. - mv docbook-xsl-ns-* $out/xml/xsl/docbook + ln -s $dst $out/xml/xsl/docbook ''; meta = { homepage = http://wiki.docbook.org/topic/DocBookXslStylesheets; description = "XSL stylesheets for transforming DocBook documents into HTML and various other formats"; + maintainers = [ lib.maintainers.eelco ]; + platforms = lib.platforms.all; }; } From 1e5242931b938e2e5ae79ee7c7d2cf567024090b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 25 Nov 2014 17:52:43 +0100 Subject: [PATCH 53/74] libxslt: Fix propagation of the libxml2 setup hook --- pkgs/development/libraries/libxslt/default.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix index fd84c53c88f..c5b91f3c491 100644 --- a/pkgs/development/libraries/libxslt/default.nix +++ b/pkgs/development/libraries/libxslt/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libxml2 }: +{ stdenv, fetchurl, libxml2, findXMLCatalogs }: stdenv.mkDerivation rec { name = "libxslt-1.1.28"; @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { buildInputs = [ libxml2 ]; + propagatedBuildInputs = [ findXMLCatalogs ]; + patches = stdenv.lib.optionals stdenv.isSunOS [ ./patch-ah.patch ]; configureFlags = [ @@ -21,11 +23,6 @@ stdenv.mkDerivation rec { "--without-debugger" ]; - postInstall = '' - mkdir -p $out/nix-support - ln -s ${libxml2}/nix-support/setup-hook $out/nix-support/ - ''; - meta = { homepage = http://xmlsoft.org/XSLT/; description = "A C library and tools to do XSL transformations"; From 53fc3e178f388ffec10a6c6f1ea77a56888b0bc2 Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Wed, 26 Nov 2014 14:05:05 +0300 Subject: [PATCH 54/74] ImageMagick: update (close #5133) --- pkgs/applications/graphics/ImageMagick/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index 69bc2006666..8ae4bc2dd1b 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -20,7 +20,7 @@ let - version = "6.8.9-8"; + version = "6.9.0-0"; arch = if stdenv.system == "i686-linux" then "i686" @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://imagemagick/releases/${name}.tar.xz"; - sha256 = "1c792hbwi308lm9xkml319xaa4w3bz6hwy6i92jwrm7kqr4h8di7"; + sha256 = "1dmrl5x63msdnxsf4cmhz5v4ard2z3jrgp2zhqlb27399j81qcqj"; }; enableParallelBuilding = true; From 3ef186bdb415ba9324d461ff0c182d1e97c7a3d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 26 Nov 2014 22:03:45 +0100 Subject: [PATCH 55/74] fontconfig: drop infinality (for now), close #5140 Also the simplify the expression when we rebuild anyway. --- .../libraries/fontconfig/default.nix | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix index bb8289b661e..158c3dcf07d 100644 --- a/pkgs/development/libraries/fontconfig/default.nix +++ b/pkgs/development/libraries/fontconfig/default.nix @@ -23,22 +23,12 @@ stdenv.mkDerivation rec { sha256 = "16baa4g5lswkyjlyf1h5lwc0zjap7c4d8grw79349a5w6dsl8qnw"; }; - infinality_patch = - let subvers = "1"; - in fetchurl { - url = http://www.infinality.net/fedora/linux/zips/fontconfig-infinality-1-20130104_1.tar.bz2; - sha256 = "1fm5xx0mx2243jrq5rxk4v0ajw2nawpj23399h710bx6hd1rviq7"; - } - ; - patches = [ - (fetchpatch ({ - url = "http://cgit.freedesktop.org/fontconfig/patch/?id=f44157c809d280e2a0ce87fb078fc4b278d24a67"; - sha256 = "19s5irclg4irj2yxd7xw9yikbazs9263px8qbv4r21asw06nfalv"; - } // stdenv.lib.optionalAttrs (!stdenv.isLinux) { - name = "fc-cache-bug-77252.patch"; # TODO: collapse on mass rebuild - } - )) + (fetchpatch { + name = "fc-cache-bug-77252.patch"; # TODO: collapse on mass rebuild + url = "http://cgit.freedesktop.org/fontconfig/patch/?id=f44157c809d280e2a0ce87fb078fc4b278d24a67"; + sha256 = "19s5irclg4irj2yxd7xw9yikbazs9263px8qbv4r21asw06nfalv"; + }) (substituteAll { src = ./config-compat.patch; inherit configVersion; @@ -72,7 +62,7 @@ stdenv.mkDerivation rec { installFlags = "fc_cachedir=$(TMPDIR)/dummy RUN_FC_CACHE_TEST=false"; postInstall = '' - cd "$out/etc/fonts" && tar xvf ${infinality_patch} + cd "$out/etc/fonts" rm conf.d/{50-user,51-local}.conf "${libxslt}/bin/xsltproc" --stringparam fontDirectories "${fontbhttf}" \ --stringparam fontconfig "$out" \ From a68c1adc35920fa9ee7faf4311f2ad5311a92e99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 26 Nov 2014 23:37:50 +0100 Subject: [PATCH 56/74] *: fix builds by disregarding warning from new glibc Says: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" CC: #4803. There will likely appear more of these errors on Hydra in time. --- pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix | 2 ++ pkgs/development/compilers/go/default.nix | 2 ++ pkgs/development/tools/misc/tcptrack/default.nix | 2 ++ pkgs/os-specific/linux/kernel/perf.nix | 2 ++ pkgs/tools/networking/inadyn/default.nix | 2 ++ 5 files changed, 10 insertions(+) diff --git a/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix index 8d19d1c1ef2..5aa15d7b80d 100644 --- a/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix +++ b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix @@ -7,6 +7,8 @@ stdenv.mkDerivation { (fetchurl { url = "http://mawercer.de/~nix/repos/libwapcaplet-9721.tar.gz"; sha256 = "7f9f32ca772c939d67f3bc8bf0705544c2b2950760da3fe6a4e069ad0f77d91a"; }); # END + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + installPhase = "make PREFIX=$out install"; buildInputs = []; diff --git a/pkgs/development/compilers/go/default.nix b/pkgs/development/compilers/go/default.nix index e289ce14ee1..b35159c10e7 100644 --- a/pkgs/development/compilers/go/default.nix +++ b/pkgs/development/compilers/go/default.nix @@ -60,6 +60,8 @@ stdenv.mkDerivation { else throw "Unsupported system"; GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5"; + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + installPhase = '' mkdir -p "$out/bin" export GOROOT="$(pwd)/" diff --git a/pkgs/development/tools/misc/tcptrack/default.nix b/pkgs/development/tools/misc/tcptrack/default.nix index 645bd061177..a6e40a4809a 100644 --- a/pkgs/development/tools/misc/tcptrack/default.nix +++ b/pkgs/development/tools/misc/tcptrack/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses libpcap ]; + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + meta = with stdenv.lib; { description = "libpcap based program for live TCP connection monitoring"; homepage = http://www.rhythm.cx/~steve/devel/tcptrack/; # dead link diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix index 8b8f7e1e78d..be375ea310f 100644 --- a/pkgs/os-specific/linux/kernel/perf.nix +++ b/pkgs/os-specific/linux/kernel/perf.nix @@ -25,6 +25,8 @@ stdenv.mkDerivation { buildInputs = [ elfutils python perl newt slang pkgconfig] ++ stdenv.lib.optional withGtk gtk; + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + installFlags = "install install-man ASCIIDOC8=1"; inherit elfutils; diff --git a/pkgs/tools/networking/inadyn/default.nix b/pkgs/tools/networking/inadyn/default.nix index a821684e5b4..7e4d5fbe5f0 100644 --- a/pkgs/tools/networking/inadyn/default.nix +++ b/pkgs/tools/networking/inadyn/default.nix @@ -17,6 +17,8 @@ stdenv.mkDerivation { buildInputs = [ gnutls ]; + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + meta = { homepage = http://inadyn.sourceforge.net/; description = "Free dynamic DNS client"; From 130c324809dea4b735a521790d1afb42d8cfb76b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 26 Nov 2014 23:52:32 +0100 Subject: [PATCH 57/74] rsnapshot: fix build by using older perl --- 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 4904f053d34..9dcc7a9bc52 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2256,6 +2256,7 @@ let rng_tools = callPackage ../tools/security/rng-tools { }; rsnapshot = callPackage ../tools/backup/rsnapshot { + perl = perl516; # fails to create docs: POD document had syntax errors # For the `logger' command, we can use either `utillinux' or # GNU Inetutils. The latter is more portable. logger = inetutils; From 75d7b9c0c34b5266a9d6a76d42abb4acc5e0e94a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 26 Nov 2014 23:59:03 +0100 Subject: [PATCH 58/74] stlport: mark as broken (it's unused anyway) I seem unable to fix the error. --- pkgs/development/libraries/stlport/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/stlport/default.nix b/pkgs/development/libraries/stlport/default.nix index 5588646e53a..30f87d36ddf 100644 --- a/pkgs/development/libraries/stlport/default.nix +++ b/pkgs/development/libraries/stlport/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { description = "An implementation of the C++ Standard Library"; homepage = http://sourceforge.net/projects/stlport/; license = stdenv.lib.licenses.free; # seems BSD-like + broken = true; # probably glibc-2.20 -related issue }; } From c52db08aa02ac6f326624331305313c7056e3b85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 27 Nov 2014 00:51:35 +0100 Subject: [PATCH 59/74] sdcc: fix build with glibc-2.20 (from upstream) --- pkgs/development/compilers/sdcc/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/compilers/sdcc/default.nix b/pkgs/development/compilers/sdcc/default.nix index fe293fbc4b8..0650fae917a 100644 --- a/pkgs/development/compilers/sdcc/default.nix +++ b/pkgs/development/compilers/sdcc/default.nix @@ -16,6 +16,8 @@ stdenv.mkDerivation rec { ${if gputils == null then "--disable-pic14-port --disable-pic16-port" else ""} ''; + NIX_CFLAGS_COMPILE = "--std=c99"; # http://sourceforge.net/p/sdcc/code/9106/ + meta = with stdenv.lib; { description = "Small Device C Compiler"; longDescription = '' From 607c64fe5517d9dfa8c87025107a03a371ef73a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 27 Nov 2014 01:18:49 +0100 Subject: [PATCH 60/74] pthread-man-pages: fix build by using older perl --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9dcc7a9bc52..d41afa7b021 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8886,7 +8886,9 @@ let proggyfonts = callPackage ../data/fonts/proggyfonts { }; - pthreadmanpages = callPackage ../data/documentation/pthread-man-pages { }; + pthreadmanpages = callPackage ../data/documentation/pthread-man-pages { + perl = perl516; # syntax error at troffprepro line 49, near "do subst(" + }; shared_mime_info = callPackage ../data/misc/shared-mime-info { }; From abcb355453805f1f5078e0e16c930929047163dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 27 Nov 2014 01:19:24 +0100 Subject: [PATCH 61/74] restund, openssh_hpn: mark as broken --- pkgs/servers/restund/default.nix | 1 + pkgs/tools/networking/openssh/default.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/pkgs/servers/restund/default.nix b/pkgs/servers/restund/default.nix index d6952e9700e..cf07d0e6e3e 100644 --- a/pkgs/servers/restund/default.nix +++ b/pkgs/servers/restund/default.nix @@ -28,5 +28,6 @@ stdenv.mkDerivation rec { downloadPage = "http://www.creytiv.com/pub/"; updateWalker = true; downloadURLRegexp = "/restund-.*[.]tar[.]"; + broken = true; # probably due to glibc-2.20 }; } diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix index 05b97bdcaac..19957de5d1c 100644 --- a/pkgs/tools/networking/openssh/default.nix +++ b/pkgs/tools/networking/openssh/default.nix @@ -75,5 +75,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.bsd2; platforms = platforms.unix; maintainers = with maintainers; [ eelco ]; + broken = hpnSupport; # probably after 6.7 update }; } From 06c6d4696d47e79b30a8d4ec4cd2dc7f4e135732 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 28 Nov 2014 18:40:19 +0100 Subject: [PATCH 62/74] *: fix builds by disregarding warning from new glibc Also, in case of collectd, the -lgcc_s shouldn't be needed anymore, as the library is in ${glibc}/lib/ now, which is practically always on RPATH. In case of seyren it was some stdenv change uncovering the mistake of putting src into buildInputs. --- pkgs/applications/misc/monero/default.nix | 3 +++ .../networking/browsers/mozilla-plugins/fribid/default.nix | 2 ++ pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix | 2 ++ pkgs/os-specific/linux/disk-indicator/default.nix | 2 ++ pkgs/servers/monitoring/seyren/default.nix | 2 +- pkgs/servers/sip/freeswitch/default.nix | 2 ++ pkgs/servers/sql/mariadb/default.nix | 2 ++ pkgs/tools/system/collectd/default.nix | 4 ++-- 8 files changed, 16 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/monero/default.nix b/pkgs/applications/misc/monero/default.nix index 1fe5406384f..6af9b7dc267 100644 --- a/pkgs/applications/misc/monero/default.nix +++ b/pkgs/applications/misc/monero/default.nix @@ -16,6 +16,9 @@ stdenv.mkDerivation { # these tests take a long time and don't # always complete in the build environment postPatch = "sed -i '/add_subdirectory(tests)/d' CMakeLists.txt"; + + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + doCheck = false; checkTarget = "test-release"; # this would be the target diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix index 229aa4f23ba..3b473019600 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix @@ -17,6 +17,8 @@ stdenv.mkDerivation rec { ./ipc-lazytrace.patch ]; + postPatch = "substituteInPlace plugin/pluginutil.c --replace strndup strndup_"; + passthru.mozillaPlugin = "/lib/mozilla/plugins"; meta = { diff --git a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix index 300e9965092..1e9f74a1ffd 100644 --- a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix +++ b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix @@ -7,6 +7,8 @@ stdenv.mkDerivation { (fetchurl { url = "http://mawercer.de/~nix/repos/libsvgtiny-9721.tar.gz"; sha256 = "0c4c8e357c220218a32ef789eb2ba8226a403d4c2b550d7c65f351a0af5d1a71"; }); # END + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + installPhase = "make PREFIX=$out install"; buildInputs = [pkgconfig gperf libxml2]; diff --git a/pkgs/os-specific/linux/disk-indicator/default.nix b/pkgs/os-specific/linux/disk-indicator/default.nix index b60232a9b75..11c1e7ee8a2 100644 --- a/pkgs/os-specific/linux/disk-indicator/default.nix +++ b/pkgs/os-specific/linux/disk-indicator/default.nix @@ -18,6 +18,8 @@ stdenv.mkDerivation { buildPhase = "make -f makefile"; + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + installPhase = '' mkdir -p "$out/bin" cp ./disk_indicator "$out/bin/" diff --git a/pkgs/servers/monitoring/seyren/default.nix b/pkgs/servers/monitoring/seyren/default.nix index e428067ab62..ab8365c23f8 100644 --- a/pkgs/servers/monitoring/seyren/default.nix +++ b/pkgs/servers/monitoring/seyren/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { phases = ["installPhase"]; - buildInputs = [ makeWrapper jre src ]; + buildInputs = [ makeWrapper jre ]; installPhase = '' mkdir -p "$out"/bin diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix index c4a5fcc4284..5b6ff15cb10 100644 --- a/pkgs/servers/sip/freeswitch/default.nix +++ b/pkgs/servers/sip/freeswitch/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses curl pkgconfig gnutls readline openssl perl libjpeg libzrtpcpp ]; + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + meta = { description = "Cross-Platform Scalable FREE Multi-Protocol Soft Switch"; homepage = http://freeswitch.org/; diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 04f82022373..c0548f07dd3 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -17,6 +17,8 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DWITH_READLINE=yes" "-DWITH_EMBEDDED_SERVER=yes" "-DINSTALL_SCRIPTDIR=bin" ]; + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + enableParallelBuilding = true; prePatch = '' diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix index 4210a0a04a5..692016153a6 100644 --- a/pkgs/tools/system/collectd/default.nix +++ b/pkgs/tools/system/collectd/default.nix @@ -33,8 +33,6 @@ stdenv.mkDerivation rec { sha256 = "1q365zx6d1wyhv7n97bagfxqnqbhj2j14zz552nhmjviy8lj2ibm"; }; - NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel - buildInputs = [ pkgconfig curl iptables libcredis libdbi libgcrypt libmemcached cyrus_sasl libmodbus libnotify gdk_pixbuf liboping libpcap libsigrok libvirt @@ -45,6 +43,8 @@ stdenv.mkDerivation rec { # for some reason libsigrok isn't auto-detected configureFlags = stdenv.lib.optional (libsigrok != null) "--with-libsigrok"; + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + meta = with stdenv.lib; { description = "Daemon which collects system performance statistics periodically"; homepage = http://collectd.org; From d2688fd6955ae3d215a684bd86777515fc644349 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 28 Nov 2014 18:47:03 +0100 Subject: [PATCH 63/74] weechat-dev: mark as broken Non-dev version is newer anyway. --- pkgs/applications/networking/irc/weechat/devel.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/networking/irc/weechat/devel.nix b/pkgs/applications/networking/irc/weechat/devel.nix index 34ca4b4d7c6..a2f32e2b3d3 100644 --- a/pkgs/applications/networking/irc/weechat/devel.nix +++ b/pkgs/applications/networking/irc/weechat/devel.nix @@ -37,5 +37,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl3; maintainers = with stdenv.lib.maintainers; [ lovek323 garbas the-kenny ]; platforms = stdenv.lib.platforms.unix; + broken = true; # we have a newer stable that builds }; } From e75fe2e528d745610eb4924e418aee0d85cc582f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 28 Nov 2014 20:26:22 +0100 Subject: [PATCH 64/74] cairo: pull an upstream patch to fix racket Close #5165, #5166. Also enableParallelBuilding in racket. --- pkgs/development/interpreters/racket/default.nix | 1 + pkgs/development/libraries/cairo/default.nix | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix index b626c8a1539..af6cf4b1956 100644 --- a/pkgs/development/interpreters/racket/default.nix +++ b/pkgs/development/interpreters/racket/default.nix @@ -48,6 +48,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-shared" "--enable-lt=${libtool}/bin/libtool" ]; NIX_LDFLAGS = "-lgcc_s"; + enableParallelBuilding = true; postInstall = '' for p in $(ls $out/bin/) ; do diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix index dd73858c3fc..97e455b1f30 100644 --- a/pkgs/development/libraries/cairo/default.nix +++ b/pkgs/development/libraries/cairo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, libiconvOrEmpty, libintlOrEmpty +{ stdenv, fetchurl, fetchpatch, pkgconfig, libiconvOrEmpty, libintlOrEmpty , expat, zlib, libpng, pixman, fontconfig, freetype, xlibs , gobjectSupport ? true, glib , xcbSupport ? true # no longer experimental since 1.12 @@ -18,6 +18,12 @@ stdenv.mkDerivation rec { sha1 = "53cf589b983412ea7f78feee2e1ba9cea6e3ebae"; }; + patches = [(fetchpatch { + name = "fix-racket.diff"; + url = "http://cgit.freedesktop.org/cairo/patch/?id=2de69581c28bf115852037ca41eba13cb7335976"; + sha256 = "0mk2fd9fwxqzravlmnbbrzwak15wqspn7609y0yn6qh87va5i0x4"; + })]; + nativeBuildInputs = [ pkgconfig ] ++ libintlOrEmpty ++ libiconvOrEmpty; propagatedBuildInputs = From 442cad9cbd7ab1624a87a9b9a4d0287615b3e3c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 28 Nov 2014 20:42:07 +0100 Subject: [PATCH 65/74] xorg: update some modules --- pkgs/servers/x11/xorg/default.nix | 24 ++++++++++++------------ pkgs/servers/x11/xorg/tarballs-7.7.list | 10 +++++----- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index efe35b42b40..8e4566d906d 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1375,11 +1375,11 @@ let }) // {inherit ;}; xf86inputevdev = (mkDerivation "xf86inputevdev" { - name = "xf86-input-evdev-2.8.4"; + name = "xf86-input-evdev-2.9.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2; - sha256 = "030haki1h0m85h91c91812gdnk6znfamw5kpr010zxwwbsgxxyl5"; + url = mirror://xorg/individual/driver/xf86-input-evdev-2.9.1.tar.bz2; + sha256 = "1y82hpx86rngb0yrvcl4ni88wkc3zf9dj25myjk91b7ymll07qqc"; }; buildInputs = [pkgconfig inputproto udev xorgserver xproto ]; }) // {inherit inputproto udev xorgserver xproto ;}; @@ -1645,11 +1645,11 @@ let }) // {inherit fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;}; xf86videoqxl = (mkDerivation "xf86videoqxl" { - name = "xf86-video-qxl-0.1.2"; + name = "xf86-video-qxl-0.1.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-qxl-0.1.2.tar.bz2; - sha256 = "09sjpkg7klzzg9sagmqpsw911501vqk9wdd4nr0jkqqanvkx39s3"; + url = mirror://xorg/individual/driver/xf86-video-qxl-0.1.3.tar.bz2; + sha256 = "1368dd5mihn3s098n7wa3fpjkp8pnamabfjjipkqs9zyrcvncy3m"; }; buildInputs = [pkgconfig fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xf86dgaproto xorgserver xproto ]; }) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;}; @@ -1865,11 +1865,11 @@ let }) // {inherit inputproto libX11 libXext libXi libXinerama libXrandr ;}; xkbcomp = (mkDerivation "xkbcomp" { - name = "xkbcomp-1.2.4"; + name = "xkbcomp-1.3.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xkbcomp-1.2.4.tar.bz2; - sha256 = "0bas1d2wjiy5zy9d0g92d2p9pwv4aapfbfidi7hxy8ax8jmwkl4i"; + url = mirror://xorg/individual/app/xkbcomp-1.3.0.tar.bz2; + sha256 = "0aibcbhhjlwcrxh943xg2dswwx5bz1x0pmhs28b55gzsg0vrgb6g"; }; buildInputs = [pkgconfig libX11 libxkbfile xproto ]; }) // {inherit libX11 libxkbfile xproto ;}; @@ -1985,11 +1985,11 @@ let }) // {inherit ;}; xorgserver = (mkDerivation "xorgserver" { - name = "xorg-server-1.16.1"; + name = "xorg-server-1.16.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/xserver/xorg-server-1.16.1.tar.bz2; - sha256 = "0q706wdbwipyfcvywl7apih3p5mrms3p0wr1hdj5jyzvr5p7qrzl"; + url = mirror://xorg/individual/xserver/xorg-server-1.16.2.tar.bz2; + sha256 = "0r6fhyvlifmg4zw9gm0pf4qybwbkmslhn060ivbwwsjmplz0qvj4"; }; buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ]; }) // {inherit renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ;}; diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index d3a2f1b45f9..74688017152 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -41,7 +41,7 @@ mirror://xorg/X11R7.7/src/everything/font-mutt-misc-1.0.3.tar.bz2 mirror://xorg/X11R7.7/src/everything/font-schumacher-misc-1.1.2.tar.bz2 mirror://xorg/X11R7.7/src/everything/font-screen-cyrillic-1.0.4.tar.bz2 mirror://xorg/X11R7.7/src/everything/font-sony-misc-1.0.3.tar.bz2 -mirror://xorg/X11R7.7/src/everything/fontsproto-2.1.3.tar.bz2 +mirror://xorg/individual/proto/fontsproto-2.1.3.tar.bz2 mirror://xorg/X11R7.7/src/everything/font-sun-misc-1.0.3.tar.bz2 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 @@ -115,7 +115,7 @@ mirror://xorg/individual/proto/xextproto-7.3.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-1.2.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86dgaproto-2.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2 -mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2 +mirror://xorg/individual/driver/xf86-input-evdev-2.9.1.tar.bz2 mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.tar.bz2 mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2 mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2 @@ -138,7 +138,7 @@ mirror://xorg/individual/driver/xf86-video-intel-2.99.916.tar.bz2 mirror://xorg/individual/driver/xf86-video-mach64-6.9.4.tar.bz2 mirror://xorg/individual/driver/xf86-video-mga-1.6.3.tar.bz2 mirror://xorg/individual/driver/xf86-video-modesetting-0.9.0.tar.bz2 -mirror://xorg/individual/driver/xf86-video-qxl-0.1.2.tar.bz2 +mirror://xorg/individual/driver/xf86-video-qxl-0.1.3.tar.bz2 mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2 mirror://xorg/individual/driver/xf86-video-nv-2.1.20.tar.bz2 @@ -162,7 +162,7 @@ mirror://xorg/X11R7.7/src/everything/xgamma-1.0.5.tar.bz2 mirror://xorg/individual/app/xhost-1.0.6.tar.bz2 mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2 mirror://xorg/individual/app/xinput-1.6.1.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xkbcomp-1.2.4.tar.bz2 +mirror://xorg/individual/app/xkbcomp-1.3.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/xkbevd-1.1.3.tar.bz2 mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2 mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.11.tar.bz2 @@ -171,7 +171,7 @@ mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.tar.bz2 mirror://xorg/individual/app/xlsclients-1.1.3.tar.bz2 mirror://xorg/individual/app/xmodmap-1.0.8.tar.bz2 mirror://xorg/X11R7.7/src/everything/xorg-docs-1.7.tar.bz2 -mirror://xorg/individual/xserver/xorg-server-1.16.1.tar.bz2 +mirror://xorg/individual/xserver/xorg-server-1.16.2.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 From 8c5fd63275a1a209e63187073b9f813668bcde08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 28 Nov 2014 21:15:58 +0100 Subject: [PATCH 66/74] flac: maintenance+security update Claims to fix CVE-2014-8962 and CVE-2014-9028 --- pkgs/applications/audio/flac/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix index cb3ec1da97c..5dd70673521 100644 --- a/pkgs/applications/audio/flac/default.nix +++ b/pkgs/applications/audio/flac/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libogg }: stdenv.mkDerivation rec { - name = "flac-1.3.0"; + name = "flac-1.3.1"; src = fetchurl { url = "http://downloads.xiph.org/releases/flac/${name}.tar.xz"; - sha256 = "1p0hh190kqvpkbk1bbajd81jfbmkyl4fn2i7pggk2zppq6m68bgs"; + sha256 = "4773c0099dba767d963fd92143263be338c48702172e8754b9bc5103efe1c56c"; }; buildInputs = [ libogg ]; From ea1dd9fd4a44228f02ef3916968425a1fca65483 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 28 Nov 2014 22:04:39 +0100 Subject: [PATCH 67/74] xorg: revert to older xf86-input-evdev for now How could I forget to test to build it at least :-/ --- 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 8e4566d906d..ec56ce185b9 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1375,11 +1375,11 @@ let }) // {inherit ;}; xf86inputevdev = (mkDerivation "xf86inputevdev" { - name = "xf86-input-evdev-2.9.1"; + name = "xf86-input-evdev-2.8.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-input-evdev-2.9.1.tar.bz2; - sha256 = "1y82hpx86rngb0yrvcl4ni88wkc3zf9dj25myjk91b7ymll07qqc"; + url = mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2; + sha256 = "030haki1h0m85h91c91812gdnk6znfamw5kpr010zxwwbsgxxyl5"; }; buildInputs = [pkgconfig inputproto udev xorgserver xproto ]; }) // {inherit inputproto udev xorgserver xproto ;}; diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index 74688017152..fb5f444a695 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -115,7 +115,7 @@ mirror://xorg/individual/proto/xextproto-7.3.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-1.2.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86dgaproto-2.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2 -mirror://xorg/individual/driver/xf86-input-evdev-2.9.1.tar.bz2 +mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2 mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.tar.bz2 mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2 mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2 From 02157ab123508341c4019c64017966fbb8ab2921 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 2 Dec 2014 10:41:24 -0600 Subject: [PATCH 68/74] libcurl: honor $SSL_CERT_FILE (fixed) The previous attempt to patch libcurl used getenv("CURL_CA_BUNDLE") || getenv("SSL_CERT_FILE") to get the second environment variable if the first is unset. Unfortunately, this broke libcurl because the (||) operator is C returns only 0 or 1, so it is inappropriate for pointer comparisons! Now we use getenv("CURL_CA_BUNDLE") ? getenv("CURL_CA_BUNDLE") : getenv("SSL_CERT_FILE") instead. This has one downside: it always calls getenv twice! But, that's a small price to pay for actually being correct. --- pkgs/tools/networking/curl/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 2e106c899b9..b54df60ef0a 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { # make curl honor CURL_CA_BUNDLE & SSL_CERT_FILE postConfigure = '' - echo '#define CURL_CA_BUNDLE (getenv("CURL_CA_BUNDLE") || getenv("SSL_CERT_FILE"))' >> lib/curl_config.h + echo '#define CURL_CA_BUNDLE (getenv("CURL_CA_BUNDLE") ? getenv("CURL_CA_BUNDLE") : getenv("SSL_CERT_FILE"))' >> lib/curl_config.h ''; configureFlags = [ From e36d7c8d1126fb6180a1fb7bffccc87c934fcc81 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 2 Dec 2014 07:27:43 -0600 Subject: [PATCH 69/74] qt5: absolute paths for dlopen --- ...style.patch => 0001-dlopen-gtkstyle.patch} | 39 +++++++++++--- .../qt-5/0002-dlopen-webkit-nsplugin.patch | 53 +++++++++++++++++++ .../libraries/qt-5/0003-glib-2.32.patch | 25 +++++++++ .../libraries/qt-5/0004-dlopen-resolv.patch | 39 ++++++++++++++ .../libraries/qt-5/0005-dlopen-gl.patch | 25 +++++++++ .../{qt-5.3-tzdir.patch => 0006-tzdir.patch} | 12 +++++ .../qt-5/0007-dlopen-webkit-gtk.patch | 25 +++++++++ .../qt-5/0008-dlopen-webkit-udev.patch | 31 +++++++++++ .../qt-5/0009-dlopen-serialport-udev.patch | 28 ++++++++++ .../qt-5/0010-dlopen-libXcursor.patch | 29 ++++++++++ .../libraries/qt-5/0011-dlopen-openssl.patch | 38 +++++++++++++ .../libraries/qt-5/0012-dlopen-dbus.patch | 25 +++++++++ pkgs/development/libraries/qt-5/default.nix | 44 ++++++++++----- .../qt-5/dlopen-webkit-nsplugin.patch | 36 ------------- .../libraries/qt-5/glib-2.32.patch | 12 ----- .../qt-5/qt-5.3-dlopen-absolute-paths.patch | 24 --------- 16 files changed, 393 insertions(+), 92 deletions(-) rename pkgs/development/libraries/qt-5/{dlopen-gtkstyle.patch => 0001-dlopen-gtkstyle.patch} (58%) create mode 100644 pkgs/development/libraries/qt-5/0002-dlopen-webkit-nsplugin.patch create mode 100644 pkgs/development/libraries/qt-5/0003-glib-2.32.patch create mode 100644 pkgs/development/libraries/qt-5/0004-dlopen-resolv.patch create mode 100644 pkgs/development/libraries/qt-5/0005-dlopen-gl.patch rename pkgs/development/libraries/qt-5/{qt-5.3-tzdir.patch => 0006-tzdir.patch} (86%) create mode 100644 pkgs/development/libraries/qt-5/0007-dlopen-webkit-gtk.patch create mode 100644 pkgs/development/libraries/qt-5/0008-dlopen-webkit-udev.patch create mode 100644 pkgs/development/libraries/qt-5/0009-dlopen-serialport-udev.patch create mode 100644 pkgs/development/libraries/qt-5/0010-dlopen-libXcursor.patch create mode 100644 pkgs/development/libraries/qt-5/0011-dlopen-openssl.patch create mode 100644 pkgs/development/libraries/qt-5/0012-dlopen-dbus.patch delete mode 100644 pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch delete mode 100644 pkgs/development/libraries/qt-5/glib-2.32.patch delete mode 100644 pkgs/development/libraries/qt-5/qt-5.3-dlopen-absolute-paths.patch diff --git a/pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/0001-dlopen-gtkstyle.patch similarity index 58% rename from pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch rename to pkgs/development/libraries/qt-5/0001-dlopen-gtkstyle.patch index 05ff30b7ac3..3f411139f5b 100644 --- a/pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch +++ b/pkgs/development/libraries/qt-5/0001-dlopen-gtkstyle.patch @@ -1,7 +1,31 @@ -diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp ---- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp 2013-08-25 20:03:30.000000000 +0200 -+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp 2013-09-25 17:58:04.229373681 +0200 -@@ -348,7 +348,7 @@ +From 35d5995a58c86a6addbf0aaf0d1be64d39182872 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:21:58 -0600 +Subject: [PATCH] dlopen-gtkstyle + +--- + qtbase/src/widgets/styles/qgtk2painter.cpp | 2 +- + qtbase/src/widgets/styles/qgtkstyle_p.cpp | 12 ++++++------ + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/qtbase/src/widgets/styles/qgtk2painter.cpp b/qtbase/src/widgets/styles/qgtk2painter.cpp +index 7b9bd97..075947a 100644 +--- a/qtbase/src/widgets/styles/qgtk2painter.cpp ++++ b/qtbase/src/widgets/styles/qgtk2painter.cpp +@@ -104,7 +104,7 @@ static void initGtk() + static bool initialized = false; + if (!initialized) { + // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0 +- QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0); ++ QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0); + + QGtk2PainterPrivate::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new"); + QGtk2PainterPrivate::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable"); +diff --git a/qtbase/src/widgets/styles/qgtkstyle_p.cpp b/qtbase/src/widgets/styles/qgtkstyle_p.cpp +index 2c64225..3343d32 100644 +--- a/qtbase/src/widgets/styles/qgtkstyle_p.cpp ++++ b/qtbase/src/widgets/styles/qgtkstyle_p.cpp +@@ -334,7 +334,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus(GtkWidget *widget, bool focus) void QGtkStylePrivate::resolveGtk() const { // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0 @@ -10,7 +34,7 @@ diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtk gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init"); gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new"); -@@ -461,8 +461,8 @@ +@@ -432,8 +432,8 @@ void QGtkStylePrivate::resolveGtk() const pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family"); pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style"); @@ -21,7 +45,7 @@ diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtk } /* \internal -@@ -630,9 +630,9 @@ +@@ -601,9 +601,9 @@ void QGtkStylePrivate::cleanupGtkWidgets() static bool resolveGConf() { if (!QGtkStylePrivate::gconf_client_get_default) { @@ -34,3 +58,6 @@ diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtk } return (QGtkStylePrivate::gconf_client_get_default !=0); } +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/0002-dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/0002-dlopen-webkit-nsplugin.patch new file mode 100644 index 00000000000..0752cdcf479 --- /dev/null +++ b/pkgs/development/libraries/qt-5/0002-dlopen-webkit-nsplugin.patch @@ -0,0 +1,53 @@ +From 8c30f72dbe11752e8ed25f292c6e5695d7733f72 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:22:23 -0600 +Subject: [PATCH] dlopen-webkit-nsplugin + +--- + qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp | 2 +- + qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp | 2 +- + .../WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp +index 679480b..2c373cc 100644 +--- a/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp ++++ b/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp +@@ -132,7 +132,7 @@ static void initializeGtk(QLibrary* module = 0) + } + } + +- QLibrary library(QLatin1String("libgtk-x11-2.0"), 0); ++ QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0); + if (library.load()) { + typedef void *(*gtk_init_check_ptr)(int*, char***); + gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check"); +diff --git a/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp b/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp +index de06a2f..363bde5 100644 +--- a/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp ++++ b/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp +@@ -697,7 +697,7 @@ static Display *getPluginDisplay() + // support gdk based plugins (like flash) that use a different X connection. + // The code below has the same effect as this one: + // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); +- QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); ++ QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0); + if (!library.load()) + return 0; + +diff --git a/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp +index d734ff6..62a2197 100644 +--- a/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp ++++ b/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp +@@ -64,7 +64,7 @@ static Display* getPluginDisplay() + // The code below has the same effect as this one: + // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); + +- QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); ++ QLibrary library(QLatin1String("@gdk_pixbuf@/libgdk-x11-2.0"), 0); + if (!library.load()) + return 0; + +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/0003-glib-2.32.patch b/pkgs/development/libraries/qt-5/0003-glib-2.32.patch new file mode 100644 index 00000000000..4abb69da4d8 --- /dev/null +++ b/pkgs/development/libraries/qt-5/0003-glib-2.32.patch @@ -0,0 +1,25 @@ +From a41c3e3a3a1ce4b373b1bbb98f3a835e9e8a0718 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:22:39 -0600 +Subject: [PATCH] glib-2.32 + +--- + qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h +index 1f6d25e..087c3fb 100644 +--- a/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h ++++ b/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h +@@ -81,7 +81,7 @@ + #include + #elif PLATFORM(GTK) + #include +-typedef struct _GMutex GMutex; ++typedef union _GMutex GMutex; + typedef struct _GCond GCond; + #endif + +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/0004-dlopen-resolv.patch b/pkgs/development/libraries/qt-5/0004-dlopen-resolv.patch new file mode 100644 index 00000000000..e6b921b771d --- /dev/null +++ b/pkgs/development/libraries/qt-5/0004-dlopen-resolv.patch @@ -0,0 +1,39 @@ +From 63af41c6eeca28c911c13b1a77afeaf860863c2d Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:22:55 -0600 +Subject: [PATCH] dlopen-resolv + +--- + qtbase/src/network/kernel/qdnslookup_unix.cpp | 2 +- + qtbase/src/network/kernel/qhostinfo_unix.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qtbase/src/network/kernel/qdnslookup_unix.cpp b/qtbase/src/network/kernel/qdnslookup_unix.cpp +index 8c5a0eb..27ebf16 100644 +--- a/qtbase/src/network/kernel/qdnslookup_unix.cpp ++++ b/qtbase/src/network/kernel/qdnslookup_unix.cpp +@@ -87,7 +87,7 @@ static void resolveLibrary() + if (!lib.load()) + #endif + { +- lib.setFileName(QLatin1String("resolv")); ++ lib.setFileName(QLatin1String("@glibc/lib/resolv")); + if (!lib.load()) + return; + } +diff --git a/qtbase/src/network/kernel/qhostinfo_unix.cpp b/qtbase/src/network/kernel/qhostinfo_unix.cpp +index df8c8b1..613d0e0 100644 +--- a/qtbase/src/network/kernel/qhostinfo_unix.cpp ++++ b/qtbase/src/network/kernel/qhostinfo_unix.cpp +@@ -103,7 +103,7 @@ static void resolveLibrary() + if (!lib.load()) + #endif + { +- lib.setFileName(QLatin1String("resolv")); ++ lib.setFileName(QLatin1String("@glibc@/lib/libresolv")); + if (!lib.load()) + return; + } +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/0005-dlopen-gl.patch b/pkgs/development/libraries/qt-5/0005-dlopen-gl.patch new file mode 100644 index 00000000000..d112427bdd6 --- /dev/null +++ b/pkgs/development/libraries/qt-5/0005-dlopen-gl.patch @@ -0,0 +1,25 @@ +From 6aaf6858bf817172a4c503158e1701c4837ee790 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:23:08 -0600 +Subject: [PATCH] dlopen-gl + +--- + qtbase/src/plugins/platforms/xcb/qglxintegration.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp b/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp +index 67235e0..2220a2e 100644 +--- a/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp ++++ b/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp +@@ -434,7 +434,7 @@ void (*QGLXContext::getProcAddress(const QByteArray &procName)) () + { + extern const QString qt_gl_library_name(); + // QLibrary lib(qt_gl_library_name()); +- QLibrary lib(QLatin1String("GL")); ++ QLibrary lib(QLatin1String("@openglDriver@/lib/libGL")); + glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); + } + } +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/qt-5.3-tzdir.patch b/pkgs/development/libraries/qt-5/0006-tzdir.patch similarity index 86% rename from pkgs/development/libraries/qt-5/qt-5.3-tzdir.patch rename to pkgs/development/libraries/qt-5/0006-tzdir.patch index 5434a228a9e..d5a74b25fb3 100644 --- a/pkgs/development/libraries/qt-5/qt-5.3-tzdir.patch +++ b/pkgs/development/libraries/qt-5/0006-tzdir.patch @@ -1,3 +1,12 @@ +From 775fd74351faaabd45f6751618b28e2b05812d05 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:23:22 -0600 +Subject: [PATCH] tzdir + +--- + qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) + diff --git a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp index b4ea91e..a56a245 100644 --- a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp @@ -38,3 +47,6 @@ index b4ea91e..a56a245 100644 } } +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/0007-dlopen-webkit-gtk.patch b/pkgs/development/libraries/qt-5/0007-dlopen-webkit-gtk.patch new file mode 100644 index 00000000000..9582b714c90 --- /dev/null +++ b/pkgs/development/libraries/qt-5/0007-dlopen-webkit-gtk.patch @@ -0,0 +1,25 @@ +From 089db8835c80bf2b7dd91a97a5c6eb26636b6ab9 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:26:39 -0600 +Subject: [PATCH] dlopen-webkit-gtk + +--- + qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp +index 8de6521..0b25748 100644 +--- a/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp ++++ b/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp +@@ -53,7 +53,7 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr + + static bool initializeGtk() + { +- QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0); ++ QLibrary gtkLibrary(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0); + if (!gtkLibrary.load()) + return false; + typedef void* (*gtk_init_ptr)(void*, void*); +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/0008-dlopen-webkit-udev.patch b/pkgs/development/libraries/qt-5/0008-dlopen-webkit-udev.patch new file mode 100644 index 00000000000..e8a4ba6a215 --- /dev/null +++ b/pkgs/development/libraries/qt-5/0008-dlopen-webkit-udev.patch @@ -0,0 +1,31 @@ +From 25d2922cce383fcaa4c138e0cc6c8d92328eeacb Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:30:41 -0600 +Subject: [PATCH] dlopen-webkit-udev + +--- + qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp b/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp +index 60ff317..da8ac69 100644 +--- a/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp ++++ b/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp +@@ -111,12 +111,12 @@ private: + bool load() + { + m_libUdev.setLoadHints(QLibrary::ResolveAllSymbolsHint); +- m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 1); ++ m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1); + m_loaded = m_libUdev.load(); + if (resolveMethods()) + return true; + +- m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 0); ++ m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0); + m_loaded = m_libUdev.load(); + return resolveMethods(); + } +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/0009-dlopen-serialport-udev.patch b/pkgs/development/libraries/qt-5/0009-dlopen-serialport-udev.patch new file mode 100644 index 00000000000..e1e66a3ce95 --- /dev/null +++ b/pkgs/development/libraries/qt-5/0009-dlopen-serialport-udev.patch @@ -0,0 +1,28 @@ +From 17c7257e54c00ea2121f2cf95fb2be5e5db6b4ad Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:31:03 -0600 +Subject: [PATCH] dlopen-serialport-udev + +--- + qtserialport/src/serialport/qtudev_p.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qtserialport/src/serialport/qtudev_p.h b/qtserialport/src/serialport/qtudev_p.h +index 09940ab..45460f9 100644 +--- a/qtserialport/src/serialport/qtudev_p.h ++++ b/qtserialport/src/serialport/qtudev_p.h +@@ -119,9 +119,9 @@ inline void *resolveSymbol(QLibrary *udevLibrary, const char *symbolName) + inline bool resolveSymbols(QLibrary *udevLibrary) + { + if (!udevLibrary->isLoaded()) { +- udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1); ++ udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1); + if (!udevLibrary->load()) { +- udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0); ++ udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0); + if (!udevLibrary->load()) { + qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0); + return false; +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/0010-dlopen-libXcursor.patch b/pkgs/development/libraries/qt-5/0010-dlopen-libXcursor.patch new file mode 100644 index 00000000000..49ade86fae3 --- /dev/null +++ b/pkgs/development/libraries/qt-5/0010-dlopen-libXcursor.patch @@ -0,0 +1,29 @@ +From b56e3737ca97e3de664603976989da4419297eb3 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:33:51 -0600 +Subject: [PATCH] dlopen-libXcursor + +--- + qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp +index 6dbac90..4b23fc2 100644 +--- a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp ++++ b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp +@@ -305,10 +305,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen) + #ifdef XCB_USE_XLIB + static bool function_ptrs_not_initialized = true; + if (function_ptrs_not_initialized) { +- QLibrary xcursorLib(QLatin1String("Xcursor"), 1); ++ QLibrary xcursorLib(QLatin1String("@libXcursor@/lib/libXcursor"), 1); + bool xcursorFound = xcursorLib.load(); + if (!xcursorFound) { // try without the version number +- xcursorLib.setFileName(QLatin1String("Xcursor")); ++ xcursorLib.setFileName(QLatin1String("@libXcursor@/lib/Xcursor")); + xcursorFound = xcursorLib.load(); + } + if (xcursorFound) { +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/0011-dlopen-openssl.patch b/pkgs/development/libraries/qt-5/0011-dlopen-openssl.patch new file mode 100644 index 00000000000..d08061dd5dd --- /dev/null +++ b/pkgs/development/libraries/qt-5/0011-dlopen-openssl.patch @@ -0,0 +1,38 @@ +From 99d458c93698b2d4f16ff164ed54237279ffbb64 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:35:21 -0600 +Subject: [PATCH] dlopen-openssl + +--- + qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp b/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp +index 4e6200f..d9c3e7d 100644 +--- a/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp ++++ b/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp +@@ -585,8 +585,8 @@ static QPair loadOpenSsl() + #endif + #if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so + // first attempt: the canonical name is libssl.so. +- libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER)); +- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER)); ++ libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), QLatin1String(SHLIB_VERSION_NUMBER)); ++ libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER)); + if (libcrypto->load() && libssl->load()) { + // libssl.so. and libcrypto.so. found + return pair; +@@ -597,8 +597,8 @@ static QPair loadOpenSsl() + #endif + + // second attempt: find the development files libssl.so and libcrypto.so +- libssl->setFileNameAndVersion(QLatin1String("ssl"), -1); +- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1); ++ libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), -1); ++ libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), -1); + if (libcrypto->load() && libssl->load()) { + // libssl.so.0 and libcrypto.so.0 found + return pair; +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/0012-dlopen-dbus.patch b/pkgs/development/libraries/qt-5/0012-dlopen-dbus.patch new file mode 100644 index 00000000000..f32386e114b --- /dev/null +++ b/pkgs/development/libraries/qt-5/0012-dlopen-dbus.patch @@ -0,0 +1,25 @@ +From eec8a79c6cc9e2c65fd43db48ca2347de3ae0c5e Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:38:04 -0600 +Subject: [PATCH] dlopen-dbus + +--- + qtbase/src/dbus/qdbus_symbols.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtbase/src/dbus/qdbus_symbols.cpp b/qtbase/src/dbus/qdbus_symbols.cpp +index a7a1b67..661baf1 100644 +--- a/qtbase/src/dbus/qdbus_symbols.cpp ++++ b/qtbase/src/dbus/qdbus_symbols.cpp +@@ -93,7 +93,7 @@ bool qdbus_loadLibDBus() + + static int majorversions[] = { 3, 2, -1 }; + lib->unload(); +- lib->setFileName(QLatin1String("dbus-1")); ++ lib->setFileName(QLatin1String("@dbus_libs@/lib/libdbus-1")); + for (uint i = 0; i < sizeof(majorversions) / sizeof(majorversions[0]); ++i) { + lib->setFileNameAndVersion(lib->fileName(), majorversions[i]); + if (lib->load() && lib->resolve("dbus_connection_open_private")) +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/default.nix b/pkgs/development/libraries/qt-5/default.nix index 0fce4203a9a..31003376fa0 100644 --- a/pkgs/development/libraries/qt-5/default.nix +++ b/pkgs/development/libraries/qt-5/default.nix @@ -3,9 +3,9 @@ , mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig , libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi , gdk_pixbuf, python, gdb, xlibs, libX11, libxcb, xcbutil, xcbutilimage -, xcbutilkeysyms, xcbutilwm,udev, libxml2, libxslt, pcre, libxkbcommon +, xcbutilkeysyms, xcbutilwm, udev, libxml2, libxslt, pcre, libxkbcommon , alsaLib, gstreamer, gst_plugins_base -, pulseaudio, bison, flex, gperf, ruby, libwebp +, pulseaudio, bison, flex, gperf, ruby, libwebp, libXcursor , flashplayerFix ? false , gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs , buildDocs ? false @@ -45,24 +45,40 @@ stdenv.mkDerivation rec { ''; patches = - [ ./glib-2.32.patch - ./qt-5.3-tzdir.patch + optional gtkStyle (substituteAll { - src = ./qt-5.3-dlopen-absolute-paths.patch; - inherit cups icu libXfixes; - glibc = stdenv.gcc.libc; - openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path"; - }) - ] ++ optional gtkStyle (substituteAll { - src = ./dlopen-gtkstyle.patch; + src = ./0001-dlopen-gtkstyle.patch; # substituteAll ignores env vars starting with capital letter gconf = GConf; inherit gnome_vfs libgnomeui gtk; }) - ++ optional flashplayerFix (substituteAll { - src = ./dlopen-webkit-nsplugin.patch; + ++ optional flashplayerFix + (substituteAll { + src = ./0002-dlopen-webkit-nsplugin.patch; inherit gtk gdk_pixbuf; - }); + }) + ++ optional flashplayerFix + (substituteAll { + src = ./0007-dlopen-webkit-gtk.patch; + inherit gtk; + }) + ++ [ + ./0003-glib-2.32.patch + (substituteAll { + src = ./0004-dlopen-resolv.patch; + glibc = stdenv.gcc.libc; + }) + (substituteAll { + src = ./0005-dlopen-gl.patch; + openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path"; + }) + ./0006-tzdir.patch + (substituteAll { src = ./0008-dlopen-webkit-udev.patch; inherit udev; }) + (substituteAll { src = ./0009-dlopen-serialport-udev.patch; inherit udev; }) + (substituteAll { src = ./0010-dlopen-libXcursor.patch; inherit libXcursor; }) + (substituteAll { src = ./0011-dlopen-openssl.patch; inherit openssl; }) + (substituteAll { src = ./0012-dlopen-dbus.patch; dbus_libs = dbus; }) + ]; preConfigure = '' export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH" diff --git a/pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch deleted file mode 100644 index 7cd90551454..00000000000 --- a/pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp ---- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp 2013-08-25 20:04:47.000000000 +0200 -+++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp 2013-09-25 17:59:45.925363807 +0200 -@@ -132,7 +132,7 @@ - } - } - -- QLibrary library(QLatin1String("libgtk-x11-2.0"), 0); -+ QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0); - if (library.load()) { - typedef void *(*gtk_init_check_ptr)(int*, char***); - gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check"); -diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp ---- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp 2013-08-25 20:04:47.000000000 +0200 -+++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp 2013-09-25 18:00:29.551215155 +0200 -@@ -702,7 +702,7 @@ - // support gdk based plugins (like flash) that use a different X connection. - // The code below has the same effect as this one: - // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); -- QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); -+ QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0); - if (!library.load()) - return 0; - -diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp ---- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 2013-08-25 20:04:42.000000000 +0200 -+++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 2013-09-25 18:04:54.955408293 +0200 -@@ -64,7 +64,7 @@ - // The code below has the same effect as this one: - // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); - -- QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); -+ QLibrary library(QLatin1String("@gdk_pixbuf@/libgdk-x11-2.0"), 0); - if (!library.load()) - return 0; - diff --git a/pkgs/development/libraries/qt-5/glib-2.32.patch b/pkgs/development/libraries/qt-5/glib-2.32.patch deleted file mode 100644 index eb71e79d147..00000000000 --- a/pkgs/development/libraries/qt-5/glib-2.32.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h qt-everywhere-opensource-src-5.1.1/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h ---- qt-everywhere-opensource-src-5.1.1-orig/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h 2013-08-25 20:04:35.000000000 +0200 -+++ qt-everywhere-opensource-src-5.1.1/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h 2013-09-25 18:09:22.154639482 +0200 -@@ -81,7 +81,7 @@ - #include - #elif PLATFORM(GTK) - #include --typedef struct _GMutex GMutex; -+typedef union _GMutex GMutex; - typedef struct _GCond GCond; - #endif - diff --git a/pkgs/development/libraries/qt-5/qt-5.3-dlopen-absolute-paths.patch b/pkgs/development/libraries/qt-5/qt-5.3-dlopen-absolute-paths.patch deleted file mode 100644 index 66cf342c107..00000000000 --- a/pkgs/development/libraries/qt-5/qt-5.3-dlopen-absolute-paths.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp ---- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp 2013-08-25 20:03:35.000000000 +0200 -+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp 2013-09-25 17:43:14.047015411 +0200 -@@ -103,7 +103,7 @@ - if (!lib.load()) - #endif - { -- lib.setFileName(QLatin1String("resolv")); -+ lib.setFileName(QLatin1String("@glibc@/lib/libresolv")); - if (!lib.load()) - return; - } -diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp ---- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp 2013-08-25 20:03:35.000000000 +0200 -+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp 2013-09-25 17:51:29.834674976 +0200 -@@ -379,7 +379,7 @@ - { - extern const QString qt_gl_library_name(); - // QLibrary lib(qt_gl_library_name()); -- QLibrary lib(QLatin1String("GL")); -+ QLibrary lib(QLatin1String("@openglDriver@/lib/libGL")); - glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); - } - } From b409bd78212be306f00d832b0670c6088f5692e8 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 3 Dec 2014 05:24:24 -0600 Subject: [PATCH 70/74] qt5: add ttuegel to maintainers --- pkgs/development/libraries/qt-5/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/qt-5/default.nix b/pkgs/development/libraries/qt-5/default.nix index 31003376fa0..d1198075297 100644 --- a/pkgs/development/libraries/qt-5/default.nix +++ b/pkgs/development/libraries/qt-5/default.nix @@ -176,7 +176,7 @@ stdenv.mkDerivation rec { homepage = http://qt-project.org; description = "A cross-platform application framework for C++"; license = "GPL/LGPL"; - maintainers = [ maintainers.bbenoist maintainers.qknight ]; + maintainers = with maintainers; [ bbenoist qknight ttuegel ]; platforms = platforms.linux; }; } From 91398001d85ed39a5512c037e9eef38acddd1545 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 29 Nov 2014 11:13:37 +0100 Subject: [PATCH 71/74] libevdev: minor update Sadly, I could find no kind of news, changelog, or announcement. upstream-tracker.org shows no warnings. --- pkgs/development/libraries/libevdev/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix index 5dac8f88895..fd16866ccee 100644 --- a/pkgs/development/libraries/libevdev/default.nix +++ b/pkgs/development/libraries/libevdev/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, python }: stdenv.mkDerivation rec { - name = "libevdev-1.3"; + name = "libevdev-1.3.1"; src = fetchurl { url = "http://www.freedesktop.org/software/libevdev/${name}.tar.xz"; - sha256 = "0iil4pnla0kjdx52ay7igq65sx32sjbzn1wx9q3v74m5g7712m16"; + sha256 = "0hr6xjp7vcnr7lnr1il03235rcslqb95yv7j88qh51q0bwcpcz2b"; }; buildInputs = [ python ]; From ea557c8fd18bd721f4e8017c0da2020e92c251e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 29 Nov 2014 11:19:00 +0100 Subject: [PATCH 72/74] xorg xf86-input-evdev: update and add needed inputs --- pkgs/servers/x11/xorg/default.nix | 6 +++--- pkgs/servers/x11/xorg/overrides.nix | 1 + pkgs/servers/x11/xorg/tarballs-7.7.list | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index ec56ce185b9..8e4566d906d 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1375,11 +1375,11 @@ let }) // {inherit ;}; xf86inputevdev = (mkDerivation "xf86inputevdev" { - name = "xf86-input-evdev-2.8.4"; + name = "xf86-input-evdev-2.9.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2; - sha256 = "030haki1h0m85h91c91812gdnk6znfamw5kpr010zxwwbsgxxyl5"; + url = mirror://xorg/individual/driver/xf86-input-evdev-2.9.1.tar.bz2; + sha256 = "1y82hpx86rngb0yrvcl4ni88wkc3zf9dj25myjk91b7ymll07qqc"; }; buildInputs = [pkgconfig inputproto udev xorgserver xproto ]; }) // {inherit inputproto udev xorgserver xproto ;}; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 2fa9a7fddc5..a95d8818651 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -173,6 +173,7 @@ in xf86inputevdev = attrs: attrs // { preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c"; installFlags = "sdkdir=\${out}/include/xorg"; + buildInputs = attrs.buildInputs ++ [ args.mtdev args.libevdev ]; }; xf86inputmouse = attrs: attrs // { diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index fb5f444a695..74688017152 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -115,7 +115,7 @@ mirror://xorg/individual/proto/xextproto-7.3.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-1.2.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86dgaproto-2.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2 -mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2 +mirror://xorg/individual/driver/xf86-input-evdev-2.9.1.tar.bz2 mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.tar.bz2 mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2 mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2 From 43c4d78bc6e19476c122efc82316122722e988aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 3 Dec 2014 13:49:33 +0100 Subject: [PATCH 73/74] popplerQt4: re-introduce the subpixel rendering patch --- pkgs/development/libraries/poppler/default.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index feb3750907f..39059905a02 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchgit, pkgconfig, cmake, libiconvOrEmpty, libintlOrEmpty +{ stdenv, fetchurl, fetchpatch, pkgconfig, cmake, libiconvOrEmpty, libintlOrEmpty , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg , qt4Support ? false, qt4 ? null }: @@ -7,6 +7,14 @@ let version = "0.28.1"; # even major numbers are stable sha256 = "01pxjdbhvpxf00ncf8d9wxc8gkcqcxz59lwrpa151ah988inxkrc"; + # This is for Okular (and similar) to support subpixel rendering. + # It's kept from upstream because of political reasons. + qtcairo_patch = fetchpatch { + url = "https://github.com/giddie/poppler-qt4-cairo-backend/compare/" + + "fa1d636...b30f96c.diff"; # update to current maint...qt4-lcd + sha256 = "0g18y247k2vcz1n56rnfpy226f22v4r9c7pk8cf2h9l12vz2qxkm"; + }; + poppler_drv = nameSuff: merge: stdenv.mkDerivation (stdenv.lib.mergeAttrsByFuncDefaultsClean [ rec { name = "poppler-${nameSuff}-${version}"; @@ -53,6 +61,7 @@ let poppler_glib = poppler_drv "glib" { }; poppler_qt4 = poppler_drv "qt4" { + patches = [ qtcairo_patch ]; propagatedBuildInputs = [ qt4 poppler_glib ]; NIX_LDFLAGS = "-lpoppler"; postConfigure = '' From 9d86b4683d1cea565f608e9fd49909d9eb4344c8 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 8 Dec 2014 16:18:29 +0100 Subject: [PATCH 74/74] gobject-introspection: add glib to propagatedBuldInputs --- pkgs/development/libraries/gobject-introspection/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index 4b7ec1f4116..8263ee7071c 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -16,10 +16,10 @@ stdenv.mkDerivation rec { sha256 = "162flbzwzz0b8axab2gimc4dglpaw88fh1d177zfg0whczlpbsln"; }; - buildInputs = [ flex bison glib pkgconfig python ] + buildInputs = [ flex bison pkgconfig python ] ++ libintlOrEmpty ++ stdenv.lib.optional stdenv.isDarwin otool; - propagatedBuildInputs = [ libffi ]; + propagatedBuildInputs = [ libffi glib ]; # Tests depend on cairo, which is undesirable (it pulls in lots of # other dependencies).