Merge commit 'bde820' from staging

http://hydra.nixos.org/eval/1252653 - only ~9400 packages to go at the
time of writing this.
This commit is contained in:
Tuomas Tynkkynen 2016-04-06 01:18:28 +03:00
commit 6b42f9f4be
16 changed files with 127 additions and 90 deletions

View File

@ -46,9 +46,9 @@ while [ $n -lt ${#params[*]} ]; do
isCpp=1
elif [ "$p" = -nostdlib ]; then
isCpp=-1
elif [ "${i:0:1}" != - ]; then
elif [ "${p:0:1}" != - ]; then
nonFlagArgs=1
elif [ "$i" = -m32 ]; then
elif [ "$p" = -m32 ]; then
if [ -e @out@/nix-support/dynamic-linker-m32 ]; then
NIX_LDFLAGS="$NIX_LDFLAGS -dynamic-linker $(cat @out@/nix-support/dynamic-linker-m32)"
fi

View File

@ -495,8 +495,6 @@ stdenv.mkDerivation ({
inherit (stdenv) is64bit;
setupHook = ./use-old-abi.sh;
meta = {
homepage = http://gcc.gnu.org/;
license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+

View File

@ -1 +0,0 @@
NIX_CFLAGS_COMPILE+=" -D_GLIBCXX_USE_CXX11_ABI=0"

View File

@ -3,8 +3,8 @@
, xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi
, xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon
, fontconfig, freetype, openssl, dbus, glib, udev, libxml2, libxslt, pcre
, zlib, libjpeg, libpng, libtiff, sqlite, icu
, fontconfig, freetype, openssl, dbus, glib, udev, libxml2, libxslt, pcre16
, zlib, libjpeg, libpng, libtiff, sqlite, icu, harfbuzz
, coreutils, bison, flex, gdb, gperf, lndir, ruby
, python, perl, pkgconfig
@ -164,8 +164,10 @@ stdenv.mkDerivation {
-system-zlib
-system-libpng
-system-libjpeg
-system-harfbuzz
-system-xcb
-system-xkbcommon
-system-pcre
-openssl-linked
-dbus-linked
@ -186,8 +188,8 @@ stdenv.mkDerivation {
propagatedBuildInputs = [
xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre
zlib libjpeg libpng libtiff sqlite icu
fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre16
zlib libjpeg libpng libtiff sqlite icu harfbuzz
xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
]
# Qt doesn't directly need GLU (just GL), but many apps use, it's small and

View File

@ -2,10 +2,11 @@ Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/kernel/qcoreapplica
===================================================================
--- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/corelib/kernel/qcoreapplication.cpp
+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/kernel/qcoreapplication.cpp
@@ -2498,6 +2498,21 @@ QStringList QCoreApplication::libraryPat
@@ -2498,6 +2498,22 @@ QStringList QCoreApplication::libraryPat
}
}
}
+ qunsetenv("QT_PLUGIN_PATH"); // do not propagate to child processes
+
+ // Add library paths derived from NIX_PROFILES.
+ const QByteArray nixProfilesEnv = qgetenv("NIX_PROFILES");

View File

@ -1,37 +0,0 @@
From 3f6fa74067aacd0e595e45b4ef7ce754514cb205 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Sat, 17 Oct 2015 09:28:18 -0500
Subject: [PATCH] nix profiles import paths
---
src/qml/qml/qqmlimport.cpp | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
index 5a54609..f33c2f9 100644
--- a/src/qml/qml/qqmlimport.cpp
+++ b/src/qml/qml/qqmlimport.cpp
@@ -1549,6 +1549,20 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
QString installImportsPath = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
addImportPath(installImportsPath);
+ // Add import paths derived from NIX_PROFILES.
+ const QByteArray nixProfilesEnv = qgetenv("NIX_PROFILES");
+ if (!nixProfilesEnv.isEmpty()) {
+ QLatin1Char pathSep(' ');
+ QStringList paths = QFile::decodeName(nixProfilesEnv).split(pathSep, QString::SkipEmptyParts);
+ for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
+ it->append("/lib/qt5/qml");
+ QString canonicalPath = QDir(*it).canonicalPath();
+ if (!canonicalPath.isEmpty()) {
+ addImportPath(canonicalPath);
+ }
+ }
+ }
+
// env import paths
QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH");
if (!envImportPath.isEmpty()) {
--
2.5.2

View File

@ -1,8 +1,8 @@
{ qtSubmodule, python, qtbase, qtsvg, qtxmlpatterns }:
{ qtSubmodule, lib, copyPathsToStore, python, qtbase, qtsvg, qtxmlpatterns }:
qtSubmodule {
name = "qtdeclarative";
patches = [ ./0001-nix-profiles-import-paths.patch ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
qtInputs = [ qtbase qtsvg qtxmlpatterns ];
nativeBuildInputs = [ python ];
}

View File

@ -0,0 +1 @@
nix-profiles-import-paths.patch

View File

@ -1,37 +0,0 @@
From bbc706b3fcb90ca3b2b51d5e3434145572152711 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Sat, 17 Oct 2015 09:29:51 -0500
Subject: [PATCH] nix profiles import paths
---
src/declarative/qml/qdeclarativeimport.cpp | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/declarative/qml/qdeclarativeimport.cpp b/src/declarative/qml/qdeclarativeimport.cpp
index 9404834..d185ed5 100644
--- a/src/declarative/qml/qdeclarativeimport.cpp
+++ b/src/declarative/qml/qdeclarativeimport.cpp
@@ -725,6 +725,20 @@ QDeclarativeImportDatabase::QDeclarativeImportDatabase(QDeclarativeEngine *e)
addImportPath(installImportsPath);
+ // Add import paths derived from NIX_PROFILES.
+ const QByteArray nixProfilesEnv = qgetenv("NIX_PROFILES");
+ if (!nixProfilesEnv.isEmpty()) {
+ QLatin1Char pathSep(' ');
+ QStringList paths = QFile::decodeName(nixProfilesEnv).split(pathSep, QString::SkipEmptyParts);
+ for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
+ it->append("/lib/qt5/imports");
+ QString canonicalPath = QDir(*it).canonicalPath();
+ if (!canonicalPath.isEmpty()) {
+ addImportPath(canonicalPath);
+ }
+ }
+ }
+
// env import paths
QByteArray envImportPath = qgetenv("QML_IMPORT_PATH");
if (!envImportPath.isEmpty()) {
--
2.5.2

View File

@ -1,7 +1,7 @@
{ qtSubmodule, qtscript, qtsvg, qtwebkit, qtxmlpatterns }:
{ qtSubmodule, lib, copyPathsToStore, qtscript, qtsvg, qtwebkit, qtxmlpatterns }:
qtSubmodule {
name = "qtquick1";
patches = [ ./0001-nix-profiles-import-paths.patch ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
qtInputs = [ qtscript qtsvg qtwebkit qtxmlpatterns ];
}

View File

@ -0,0 +1 @@
nix-profiles-import-paths.patch

View File

@ -35,6 +35,9 @@ stdenv.mkDerivation rec {
# Bug fix backported from binutils master.
./fix-bsymbolic.patch
# Bug fix backported from binutils master.
./fix-update-symbol-version.patch
];
outputs = [ "out" "info" ];

View File

@ -0,0 +1,106 @@
NOTE: removed Changelog diffs to avoid the patch failing to apply
From 544ddf9322b1b83982e5cb84a54d084ee7e718ea Mon Sep 17 00:00:00 2001
From: H.J. Lu <hjl.tools@gmail.com>
Date: Wed, 24 Feb 2016 15:13:35 -0800
Subject: [PATCH] Update symbol version for symbol from linker script
We need to update symbol version for symbols from linker script.
Backport from master
bfd/
PR ld/19698
* elflink.c (bfd_elf_record_link_assignment): Set versioned if
symbol version is unknown.
ld/
PR ld/19698
* testsuite/ld-elf/pr19698.d: New file.
* testsuite/ld-elf/pr19698.s: Likewise.
* testsuite/ld-elf/pr19698.t: Likewise.
---
bfd/ChangeLog | 9 +++++++++
bfd/elflink.c | 13 +++++++++++++
ld/ChangeLog | 10 ++++++++++
ld/testsuite/ld-elf/pr19698.d | 10 ++++++++++
ld/testsuite/ld-elf/pr19698.s | 5 +++++
ld/testsuite/ld-elf/pr19698.t | 11 +++++++++++
6 files changed, 58 insertions(+), 0 deletions(-)
create mode 100644 ld/testsuite/ld-elf/pr19698.d
create mode 100644 ld/testsuite/ld-elf/pr19698.s
create mode 100644 ld/testsuite/ld-elf/pr19698.t
diff --git a/bfd/elflink.c b/bfd/elflink.c
index ae8d148..8fcaadd 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -555,6 +555,19 @@ bfd_elf_record_link_assignment (bfd *output_bfd,
if (h == NULL)
return provide;
+ if (h->versioned == unknown)
+ {
+ /* Set versioned if symbol version is unknown. */
+ char *version = strrchr (name, ELF_VER_CHR);
+ if (version)
+ {
+ if (version > name && version[-1] != ELF_VER_CHR)
+ h->versioned = versioned_hidden;
+ else
+ h->versioned = versioned;
+ }
+ }
+
switch (h->root.type)
{
case bfd_link_hash_defined:
diff --git a/ld/testsuite/ld-elf/pr19698.d b/ld/testsuite/ld-elf/pr19698.d
new file mode 100644
index 0000000..a39f67a
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr19698.d
@@ -0,0 +1,10 @@
+#ld: -shared $srcdir/$subdir/pr19698.t
+#readelf : --dyn-syms --wide
+#target: *-*-linux* *-*-gnu* *-*-solaris*
+
+Symbol table '\.dynsym' contains [0-9]+ entries:
+#...
+ +[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ +foo@VERS.1
+#...
+ +[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ +foo@@VERS.2
+#pass
diff --git a/ld/testsuite/ld-elf/pr19698.s b/ld/testsuite/ld-elf/pr19698.s
new file mode 100644
index 0000000..875dca4
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr19698.s
@@ -0,0 +1,5 @@
+ .text
+ .globl foo
+ .type foo, %function
+foo:
+ .byte 0
diff --git a/ld/testsuite/ld-elf/pr19698.t b/ld/testsuite/ld-elf/pr19698.t
new file mode 100644
index 0000000..09d9125
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr19698.t
@@ -0,0 +1,11 @@
+"foo@VERS.1" = foo;
+
+VERSION {
+VERS.2 {
+ global:
+ foo;
+};
+
+VERS.1 {
+};
+}
--
1.7.1

View File

@ -649,14 +649,14 @@ configurePhase() {
# Add --disable-dependency-tracking to speed up some builds.
if [ -z "$dontAddDisableDepTrack" ]; then
if grep -q dependency-tracking "$configureScript"; then
if [ -f "$configureScript" ] && grep -q dependency-tracking "$configureScript"; then
configureFlags="--disable-dependency-tracking $configureFlags"
fi
fi
# By default, disable static builds.
if [ -z "$dontDisableStatic" ]; then
if grep -q enable-static "$configureScript"; then
if [ -f "$configureScript" ] && grep -q enable-static "$configureScript"; then
configureFlags="--disable-static $configureFlags"
fi
fi