Merge remote-tracking branch 'origin/gcc-4.9' into staging

Conflicts:
	pkgs/development/libraries/wayland/default.nix
This commit is contained in:
Eelco Dolstra 2015-06-11 00:23:03 +02:00
commit 4970574409
28 changed files with 132 additions and 164 deletions

View file

@ -28,8 +28,6 @@ stdenv.mkDerivation rec {
];
preFixup = ''
rm $out/share/icons/hicolor/icon-theme.cache
for f in "$out"/bin/*; do
wrapProgram "$f" \
--prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \

View file

@ -9,7 +9,6 @@
, cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
, zlib ? null, extraPackages ? []
, dyld ? null # TODO: should this be a setup-hook on dyld?
, setupHook ? ./setup-hook.sh
, isGNU ? false, isClang ? false
}:
@ -227,7 +226,7 @@ stdenv.mkDerivation {
''
+ ''
substituteAll ${setupHook} $out/nix-support/setup-hook.tmp
substituteAll ${./setup-hook.sh} $out/nix-support/setup-hook.tmp
cat $out/nix-support/setup-hook.tmp >> $out/nix-support/setup-hook
rm $out/nix-support/setup-hook.tmp

View file

@ -1,44 +0,0 @@
# This is an alternate setup hook for gcc-wrapper that uses the -I flag to
# add include search paths instead of -isystem. We need this for some packages
# because -isystem can change the search order specified by prior -I flags.
# Changing the search order can point gcc to the wrong package's headers.
# The -I flag will never change the order of prior flags.
export NIX_CC=@out@
addCVars () {
if [ -d $1/include ]; then
export NIX_CFLAGS_COMPILE+=" -I $1/include"
fi
if [ -d $1/lib64 -a ! -L $1/lib64 ]; then
export NIX_LDFLAGS+=" -L$1/lib64"
fi
if [ -d $1/lib ]; then
export NIX_LDFLAGS+=" -L$1/lib"
fi
}
envHooks+=(addCVars)
# Note: these come *after* $out in the PATH (see setup.sh).
if [ -n "@gcc@" ]; then
addToSearchPath PATH @gcc@/bin
fi
if [ -n "@binutils@" ]; then
addToSearchPath PATH @binutils@/bin
fi
if [ -n "@libc@" ]; then
addToSearchPath PATH @libc@/bin
fi
if [ -n "@coreutils@" ]; then
addToSearchPath PATH @coreutils@/bin
fi
export CC=gcc
export CXX=g++

View file

@ -2,7 +2,7 @@ export NIX_CC=@out@
addCVars () {
if [ -d $1/include ]; then
export NIX_CFLAGS_COMPILE+=" -isystem $1/include"
export NIX_CFLAGS_COMPILE+=" ${ccIncludeFlag:--isystem} $1/include"
fi
if [ -d $1/lib64 -a ! -L $1/lib64 ]; then

View file

@ -209,6 +209,8 @@ stdenv.mkDerivation ({
builder = ../builder.sh;
outputs = [ "out" "info" ];
src = fetchurl {
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
sha256 = "15c6gwm6dzsaagamxkak5smdkf1rdfbqqjs9jdbrp3lbg4ism02a";

View file

@ -208,6 +208,8 @@ stdenv.mkDerivation ({
builder = ../builder.sh;
outputs = [ "out" "info" ];
src = fetchurl {
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
sha256 = "1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810";

View file

@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
mv compiler-rt-* $sourceRoot/projects/compiler-rt
'';
buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind;
buildInputs = [ perl groff cmake libxml2 python libffi ] /* ++ stdenv.lib.optional stdenv.isLinux valgrind */;
propagatedBuildInputs = [ ncurses zlib ];

View file

@ -18,9 +18,10 @@ stdenv.mkDerivation rec {
};
patchPhase = ''
sed -i 's@/bin/echo@echo@g' configure
sed -i -e 's/^ /\t/' docs/{libs,plugins}/Makefile.in
patch -p1 < ${./gcc-4.9.patch}
'';
# TODO : v4l, libvisual

View file

@ -0,0 +1,38 @@
https://bugzilla.gnome.org/show_bug.cgi?id=670690
From 9bd5a7ae5435469c3557a3d70e762791cb3dc5c7 Mon Sep 17 00:00:00 2001
From: Antoine Jacoutot <ajacoutot@gnome.org>
Date: Mon, 20 Jan 2014 15:44:09 +0100
Subject: [PATCH] audioresample: fix build on BSD
On i386, EMMINTRIN is defined but not usable without sse so check for
__SSE__ and __SSE2__ as well.
https://bugzilla.gnome.org/show_bug.cgi?id=670690
---
gst/audioresample/resample.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gst/audioresample/resample.c b/gst/audioresample/resample.c
index 98d006c..481fa01 100644
--- a/gst/audioresample/resample.c
+++ b/gst/audioresample/resample.c
@@ -77,13 +77,13 @@
#define EXPORT G_GNUC_INTERNAL
#ifdef _USE_SSE
-#ifndef HAVE_XMMINTRIN_H
+#if !defined(__SSE__) || !defined(HAVE_XMMINTRIN_H)
#undef _USE_SSE
#endif
#endif
#ifdef _USE_SSE2
-#ifndef HAVE_EMMINTRIN_H
+#if !defined(__SSE2__) || !defined(HAVE_XMMINTRIN_H)
#undef _USE_SSE2
#endif
#endif
--
1.8.5.3

View file

@ -20,18 +20,14 @@ stdenv.mkDerivation rec {
export sourceRoot=${src.name}
'';
nativeBuildInputs = [
# cmake can be built with the system jsoncpp, or its own bundled version.
# Obviously we cannot build it against the system jsoncpp that doesn't yet exist, so
# we make a bootstrapping build with the bundled version.
(cmake.override { jsoncpp = null; })
python
];
nativeBuildInputs = [ cmake python ];
cmakeFlags = [
"-DJSONCPP_WITH_CMAKE_PACKAGE=1"
];
postInstall = "rm $out/lib/*.a";
meta = {
inherit version;
homepage = https://github.com/open-source-parsers/jsoncpp;

View file

@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
sha256 = "1zr3kadv35ii6liia0bpfgxpag27xcivp571ybckpbz4b10nnd14";
};
patches = [ ./gcc-4.9.patch ];
nativeBuildInputs = [ ]
++ optional nasmSupport nasm;

View file

@ -0,0 +1,33 @@
fix sse optimizations build on 32-bit with gcc 4.9
http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=351af417bae0d09bd5a3753d1237f03adf591933
xmm_quantize_sub.c: In function 'init_xrpow_core_sse':
xmm_quantize_sub.c:65:18: warning: SSE vector return without SSE enabled changes the ABI [-W
psabi]
const __m128 vec_fabs_mask = _mm_loadu_ps(&fabs_mask._float[0]);
^
In file included from xmm_quantize_sub.c:37:0:
/usr/lib/gcc/i686-w64-mingw32/4.9.0/include/xmmintrin.h:933:1: error: inlining failed in call to always_inline '_mm_loadu_ps': target specific option mismatch
_mm_loadu_ps (float const *__P)
^
xmm_quantize_sub.c:65:18: error: called from here
const __m128 vec_fabs_mask = _mm_loadu_ps(&fabs_mask._float[0]);
^
--- lame/libmp3lame/vector/xmm_quantize_sub.c.orig 2014-06-08 12:16:19.455468042 -0700
+++ lame/libmp3lame/vector/xmm_quantize_sub.c 2014-06-08 12:16:09.592356980 -0700
@@ -35,6 +35,7 @@
#ifdef HAVE_XMMINTRIN_H
#include <xmmintrin.h>
+#pragma GCC target("sse")
typedef union {
int32_t _i_32[4]; /* unions are initialized by its first member */
@@ -124,6 +125,7 @@
}
+#pragma GCC target("sse2")
void
fht_SSE2(FLOAT * fz, int n)
{

View file

@ -1,12 +1,13 @@
{ stdenv, fetchsvn, python, llvm, clang }:
{ stdenv, fetchFromGitHub, python, llvm, clang }:
stdenv.mkDerivation {
name = "libclc-2015-03-27";
src = fetchsvn {
url = "http://llvm.org/svn/llvm-project/libclc/trunk";
rev = "233456";
sha256 = "0g56kgffc1qr9rzhcjr4w8kljcicg0q828s9b4bmfzjvywd7hhr0";
src = fetchFromGitHub {
owner = "llvm-mirror";
repo = "libclc";
rev = "0a2d1619921545b52303be5608b64dc46f381e97";
sha256 = "0hgm013c0vlfqfbbf4cdajl01hhk1mhsfk4h4bfza1san97l0vcc";
};
buildInputs = [ python llvm clang ];
@ -22,7 +23,7 @@ stdenv.mkDerivation {
meta = with stdenv.lib; {
homepage = http://libclc.llvm.org/;
description = "implementation of the library requirements of the OpenCL C programming language";
description = "Implementation of the library requirements of the OpenCL C programming language";
license = licenses.mit;
platforms = platforms.all;
maintainers = with maintainers; [ wkennington ];

View file

@ -1,12 +1,7 @@
{ stdenv, fetchurl, fetchsvn, pkgconfig, zlib, libjpeg, xz }:
{ stdenv, fetchurl, pkgconfig, zlib, libjpeg, xz }:
let
version = "4.0.3";
patchDir = fetchsvn {
url = svn://svn.archlinux.org/packages/libtiff/trunk;
rev = "198247";
sha256 = "0a47l0zkc1zz7wxg64cyjv9z1djdvfyxgmwd03znlsac4zijkcy4";
};
version = "4.0.4beta";
in
stdenv.mkDerivation rec {
name = "libtiff-${version}";
@ -19,19 +14,6 @@ stdenv.mkDerivation rec {
sha256 = "0wj8d1iwk9vnpax2h29xqc2hwknxg3s0ay2d5pxkg59ihbifn6pa";
};
patchPhase = ''
for p in ${patchDir}/*-{2013-4244,2012-4447,2012-4564,2013-1960,2013-1961,libjpeg-turbo}.patch; do
patch -p1 < "$p"
done
(
cd tools
for p in ${patchDir}/*-CVE-{2013-4231,2013-4232}.patch; do
patch -p0 < "$p"
done
)
patch -p0 < ${patchDir}/${if stdenv.isDarwin then "tiff-4.0.3" else "*"}-tiff2pdf-colors.patch
''; # ^ sh on darwin seems not to expand globs in redirects, and I don't want to rebuild all again elsewhere
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [ zlib libjpeg xz ]; #TODO: opengl support (bogus configure detection)

View file

@ -132,9 +132,6 @@ stdenv.mkDerivation {
`#$out/lib/libXvMC*` \
$out/lib/gbm $out/lib/libgbm* \
'' + ''
$out/lib/gallium-pipe \
$out/lib/libdricore* \
$out/lib/libgallium* \
$out/lib/vdpau \
$out/lib/libxatracker*
@ -149,18 +146,6 @@ stdenv.mkDerivation {
$out/lib/pkgconfig/osmesa.pc
'' + /* now fix references in .la files */ ''
sed "/^libdir=/s,$out,$drivers," -i \
'' + optionalString enableExtraFeatures ''
`#$drivers/lib/libXvMC*.la` \
'' + ''
$drivers/lib/gallium-pipe/*.la \
$drivers/lib/libgallium.la \
$drivers/lib/vdpau/*.la \
$drivers/lib/libdricore*.la
sed "s,$out\(/lib/\(libdricore[0-9\.]*\|libgallium\).la\),$drivers\1,g" \
-i $drivers/lib/*.la $drivers/lib/*/*.la
sed "/^libdir=/s,$out,$osmesa," -i \
$osmesa/lib/libOSMesa*.la

View file

@ -15,11 +15,11 @@ stdenv.mkDerivation rec {
sha256 = "173w0pqzk2m7hjlg15bymrx7ynxgq1ciadg03hzybxwnvfi4gsmx";
};
configureFlags = "--with-scanner";
configureFlags = "--with-scanner --disable-documentation";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libffi docbook_xsl doxygen graphviz libxslt xmlto expat ];
buildInputs = [ libffi /* docbook_xsl doxygen graphviz libxslt xmlto */ expat ];
meta = {
description = "Reference implementation of the wayland protocol";

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl
, bzip2, curl, expat, jsoncpp, libarchive, xz, zlib
, bzip2, curl, expat, libarchive, xz, zlib
, useNcurses ? false, ncurses, useQt4 ? false, qt4
, wantPS ? false, ps ? null
}:
@ -40,7 +40,6 @@ stdenv.mkDerivation rec {
buildInputs =
[ bzip2 curl expat libarchive xz zlib ]
++ optional (jsoncpp != null) jsoncpp
++ optional useNcurses ncurses
++ optional useQt4 qt4;
@ -49,12 +48,11 @@ stdenv.mkDerivation rec {
CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
configureFlags =
[
"--docdir=/share/doc/${name}"
[ "--docdir=/share/doc/${name}"
"--mandir=/share/man"
"--no-system-jsoncpp"
]
++ optional (!stdenv.isCygwin) "--system-libs"
++ optional (jsoncpp == null) "--no-system-jsoncpp"
++ optional useQt4 "--qt-gui"
++ ["--"]
++ optional (!useNcurses) "-DBUILD_CursesDialog=OFF";

View file

@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = "-static-libgcc";
configureFlags =
[ "--enable-shared" "--enable-deterministic-archives" ]
[ "--enable-shared" "--enable-deterministic-archives" "--disable-werror" ]
++ optional (stdenv.system == "mips64el-linux") "--enable-fix-loongson2f-nop"
++ optional (cross != null) "--target=${cross.config}"
++ optionals gold [ "--enable-gold" "--enable-plugins" ]

View file

@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
''
# FIXME: patch this in systemd properly (and send upstream).
# FIXME: use sulogin from util-linux once updated.
for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.m4.in src/journal/cat.c src/core/shutdown.c src/nspawn/nspawn.c; do
for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.in src/journal/cat.c src/core/shutdown.c src/nspawn/nspawn.c; do
test -e $i
substituteInPlace $i \
--replace /usr/bin/getent ${stdenv.glibc}/bin/getent \

View file

@ -12,7 +12,6 @@ stdenv.mkDerivation rec {
postInstall =
''
rm $out/sbin/update-usbids.sh
substituteInPlace $out/bin/lsusb.py \
--replace /usr/share/usb.ids ${hwdata}/data/hwdata/usb.ids
'';

View file

@ -87,10 +87,6 @@ stdenv.mkDerivation rec {
];
postInstall = ''
# Copy the wpa_priv binary which is not installed
mkdir -p $out/bin
cp -v wpa_priv $out/bin
mkdir -p $out/share/man/man5 $out/share/man/man8
cp -v "doc/docbook/"*.5 $out/share/man/man5/
cp -v "doc/docbook/"*.8 $out/share/man/man8/
@ -99,6 +95,7 @@ stdenv.mkDerivation rec {
sed -e "s@/sbin/wpa_supplicant@$out&@" -i "$out/share/dbus-1/system-services/"*
cp -v dbus/dbus-wpa_supplicant.conf $out/etc/dbus-1/system.d
cp -v "systemd/"*.service $out/etc/systemd/system
rm $out/share/man/man8/wpa_priv.8
'';
meta = with stdenv.lib; {

View file

@ -9,8 +9,10 @@ postInstall() {
if test -n "$origPostInstall"; then eval "$origPostInstall"; fi
local r p requires
set +o pipefail
requires=$(grep "Requires:" $out/lib/pkgconfig/*.pc | \
sed "s/Requires://" | sed "s/,/ /g")
set -o pipefail
echo "propagating requisites $requires"

View file

@ -19,7 +19,7 @@ runHook() {
if [[ "$hookName" =~ Hook$ ]]; then var+=s; else var+=Hooks; fi
eval "local -a dummy=(\"\${$var[@]}\")"
for hook in "_callImplicitHook 0 $hookName" "${dummy[@]}"; do
if ! _eval "$hook" "$@"; then return 1; fi
_eval "$hook" "$@"
done
return 0
}

View file

@ -287,6 +287,7 @@ rec {
[ gzip bzip2 xz bash binutils coreutils diffutils findutils gawk
glibc gnumake gnused gnutar gnugrep gnupatch patchelf attr acl
paxctl zlib pcre linuxHeaders ed gcc gcc.cc libsigsegv
stage3.pkgs.isl_0_11 stage3.pkgs.cloog_0_18_0
];
overrides = pkgs: {

View file

@ -1,12 +1,14 @@
{ stdenv, fetchgit, file, libxslt, docbook_xml_dtd_412, docbook_xsl, xmlto, w3m }:
{ stdenv, fetchzip, file, libxslt, docbook_xml_dtd_412, docbook_xsl, xmlto, w3m }:
let rev = "e8ee3b18d16e41b95148111b920a0c8beed3ac6c"; in
stdenv.mkDerivation rec {
name = "xdg-utils-1.1.0-rc3p7";
src = fetchgit {
url = "http://anongit.freedesktop.org/git/xdg/xdg-utils.git";
rev = "e8ee3b18d16e41b95148111b920a0c8beed3ac6c";
sha256 = "0qy9h7vh6sw7wmadjvasw4sdhb9fvv7bn32ifgasdx7ag3r3939w";
src = fetchzip {
name = "xdg-utils-${rev}.tar.gz";
url = "http://cgit.freedesktop.org/xdg/xdg-utils/snapshot/${rev}.tar.gz";
sha256 = "1hz6rv45blcii1a8n1j45rg8vzm98vh4fvlca3zmay1kp57yr4jl";
};
# just needed when built from git

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, fetchgit, autoconf, automake, wineStaging, perl, xlibs
, gnupg, gcc48_multi, mesa, curl, bash, cacert, cabextract, utillinux, attr
, gnupg, gcc_multi, mesa, curl, bash, cacert, cabextract, utillinux, attr
}:
let
@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
sha256 = "1i440rf22fmd2w86dlm1mpi3nb7410rfczc0yldnhgsvp5p3sm5f";
};
buildInputs = [ wine_custom xlibs.libX11 gcc48_multi mesa curl ];
buildInputs = [ wine_custom xlibs.libX11 gcc_multi mesa curl ];
propagatedbuildInputs = [ curl cabextract ];
patches = [ ./pipelight.patch ];

View file

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "1998v2kcs288d3y7kfxpvl369nqi06zbbvjzafyvyl3pr7bajj1s";
};
enableParallelBuilding = false;
buildInputs = [ ghostscript ];
nativeBuildInputs = [ perl ];

View file

@ -239,7 +239,7 @@ let
# just the plain stdenv.
stdenv_32bit = lowPrio (
if system == "x86_64-linux" then
overrideCC stdenv gcc48_multi
overrideCC stdenv gcc_multi
else
stdenv);
@ -3563,8 +3563,20 @@ let
gambit = callPackage ../development/compilers/gambit { };
gcc = gcc48;
gcc_multi = gcc48_multi;
gcc = gcc49;
gcc_multi =
if system == "x86_64-linux" then lowPrio (
wrapCCWith (import ../build-support/cc-wrapper) glibc_multi (gcc.cc.override {
stdenv = overrideCC stdenv (wrapCCWith (import ../build-support/cc-wrapper) glibc_multi gcc.cc);
profiledCompiler = false;
enableMultilib = true;
}))
else throw "Multilib gcc not supported on ${system}";
gcc_debug = lowPrio (wrapCC (gcc.cc.override {
stripped = false;
}));
gccApple = throw "gccApple is no longer supported";
@ -3695,24 +3707,6 @@ let
else null;
}));
gcc48_multi =
if system == "x86_64-linux" then lowPrio (
wrapCCWith (import ../build-support/cc-wrapper) glibc_multi (gcc48.cc.override {
stdenv = overrideCC stdenv (wrapCCWith (import ../build-support/cc-wrapper) glibc_multi gcc.cc);
profiledCompiler = false;
enableMultilib = true;
}))
else throw "Multilib gcc not supported on ${system}";
gcc48_debug = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.8 {
stripped = false;
inherit noSysDirs;
cross = null;
libcCross = null;
binutilsCross = null;
}));
gcc49 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.9 {
inherit noSysDirs;
@ -4683,28 +4677,6 @@ let
inherit stdenv gcc binutils libc shell name cross;
});
/* Alternative GCC wrapper that uses the standard -I include flag instead of
* -isystem. The -isystem flag can change the search order specified by prior
* -I flags. For KDE 5 packages, we don't want to interfere with the include
* search path order specified by the build system. Some packages depend on
* Qt 4 and Qt 5 simultaneously; because the two Qt versions provide headers
* with the same filenames, we must respect the search order specified by the
* build system so that the Qt 4 components find the Qt 4 headers and the Qt 5
* components find the Qt 5 headers.
*/
wrapGCCStdInc = glibc: baseGCC: (import ../build-support/cc-wrapper) {
nativeTools = stdenv.cc.nativeTools or false;
nativeLibc = stdenv.cc.nativeLibc or false;
nativePrefix = stdenv.cc.nativePrefix or "";
cc = baseGCC;
libc = glibc;
isGNU = true;
inherit stdenv binutils coreutils zlib;
setupHook = ../build-support/cc-wrapper/setup-hook-stdinc.sh;
};
gccStdInc = wrapGCCStdInc glibc gcc.cc;
# prolog
yap = callPackage ../development/compilers/yap { };