Merge branch 'staging' (older one)

Hydra seems OK-ish, except that some aarch64 jobs need restarting
after qt4 timing out for the first time:
https://hydra.nixos.org/eval/1412641?compare=1412561
This commit is contained in:
Vladimír Čunát
2017-11-24 18:29:15 +01:00
106 changed files with 2055 additions and 1571 deletions

View File

@@ -1,4 +1,4 @@
{stdenv, fetchFromGitHub, cmake, pkgconfig, zlib, curl, elfutils, python, libiberty, binutils}:
{stdenv, fetchFromGitHub, cmake, pkgconfig, zlib, curl, elfutils, python, libiberty, libopcodes}:
stdenv.mkDerivation rec {
name = "kcov-${version}";
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
};
preConfigure = "patchShebangs src/bin-to-c-source.py";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ cmake zlib curl elfutils python libiberty binutils ];
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ zlib curl elfutils python libiberty libopcodes ];
enableParallelBuilding = true;

View File

@@ -1,29 +1,28 @@
{ stdenv, fetchurl, python, asciidoc, re2c }:
{ stdenv, fetchFromGitHub, python, asciidoc, re2c }:
stdenv.mkDerivation rec {
name = "ninja-${version}";
version = "1.7.2";
version = "1.8.2";
src = fetchurl {
name = "${name}.tar.gz";
url = "https://github.com/ninja-build/ninja/archive/v${version}.tar.gz";
sha256 = "1n8n3g26ppwh7zwrc37n3alkbpbj0wki34ih53s3rkhs8ajs1p9f";
src = fetchFromGitHub {
owner = "ninja-build";
repo = "ninja";
rev = "v${version}";
sha256 = "16scq9hcq6c5ap6sy8j4qi75qps1zvrf3p79j1vbrvnqzp928i5f";
};
buildInputs = [ python asciidoc re2c ];
nativeBuildInputs = [ python asciidoc re2c ];
buildPhase = ''
python bootstrap.py
python configure.py --bootstrap
asciidoc doc/manual.asciidoc
'';
installPhase = ''
mkdir -p $out/bin
cp ninja $out/bin/
mkdir -p $out/share/doc/ninja
cp doc/manual.asciidoc $out/share/doc/ninja/
cp doc/manual.html $out/share/doc/ninja/
install -Dm555 -t $out/bin ninja
install -Dm444 -t $out/share/doc/ninja doc/manual.asciidoc doc/manual.html
install -Dm444 misc/bash-completion $out/share/bash-completion/completions/ninja
install -Dm444 misc/zsh-completion $out/share/zsh/site-functions/_ninja
'';
setupHook = ./setup-hook.sh;
@@ -36,9 +35,9 @@ stdenv.mkDerivation rec {
input files generated by a higher-level build system, and it is designed
to run builds as fast as possible.
'';
homepage = http://martine.github.io/ninja/;
homepage = https://ninja-build.org/;
license = licenses.asl20;
platforms = platforms.unix;
maintainers = [ maintainers.thoughtpolice maintainers.bjornfor ];
maintainers = with maintainers; [ thoughtpolice bjornfor orivej ];
};
}

View File

@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
mv man "$out/share"
mv bin "$out"
for p in $out/bin/*; do
wrapProgram "$p" --set PATH '$PATH:'"$out/bin"
wrapProgram "$p" --suffix PATH : "$out/bin"
done
'';

View File

@@ -0,0 +1,178 @@
From bc09a9236f67e710d545ac11bcdac7b55dbcc1a0 Mon Sep 17 00:00:00 2001
From: John Ericson <John.Ericson@Obsidian.Systems>
Date: Thu, 12 Oct 2017 11:16:57 -0400
Subject: [PATCH] Build components separately
---
bfd/configure.ac | 18 +++---------------
opcodes/Makefile.am | 17 +++++++++++++----
opcodes/configure.ac | 45 ++++++---------------------------------------
3 files changed, 22 insertions(+), 58 deletions(-)
diff --git a/bfd/configure.ac b/bfd/configure.ac
index 9a183c1628..8728837384 100644
--- a/bfd/configure.ac
+++ b/bfd/configure.ac
@@ -241,31 +241,19 @@ AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed,
LT_LIB_M
-# When building a shared libbfd, link against the pic version of libiberty
-# so that apps that use libbfd won't need libiberty just to satisfy any
-# libbfd references.
-# We can't do that if a pic libiberty is unavailable since including non-pic
-# code would insert text relocations into libbfd.
SHARED_LIBADD=
-SHARED_LDFLAGS=
+SHARED_LDFLAGS=-liberty
if test "$enable_shared" = "yes"; then
-changequote(,)dnl
- x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
-changequote([,])dnl
- if test -n "$x"; then
- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
- fi
-
# More hacks to build DLLs on Windows.
case "${host}" in
*-*-cygwin*)
SHARED_LDFLAGS="-no-undefined"
- SHARED_LIBADD="-L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin -lkernel32"
+ SHARED_LIBADD="-liberty -lintl -lcygwin -lkernel32"
;;
# Hack to build or1k-src on OSX
or1k*-*-darwin*)
- SHARED_LIBADD="-L`pwd`/../libiberty/pic -L`pwd`/../intl -liberty -lintl"
+ SHARED_LIBADD="-liberty -lintl"
;;
esac
diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am
index 925e7ff651..47b395c195 100644
--- a/opcodes/Makefile.am
+++ b/opcodes/Makefile.am
@@ -52,7 +52,7 @@ libopcodes_la_LDFLAGS += -rpath $(rpath_bfdlibdir)
endif
# This is where bfd.h lives.
-BFD_H = ../bfd/bfd.h
+BFD_H = $(BFDDIR)/bfd.h
BUILD_LIBS = @BUILD_LIBS@
BUILD_LIB_DEPS = @BUILD_LIB_DEPS@
@@ -303,7 +303,7 @@ OFILES = @BFD_MACHINES@
# development.sh is used to determine -Werror default.
CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh
-AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ @INCINTL@
+AM_CPPFLAGS = -I. -I$(srcdir) -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ @INCINTL@
disassemble.lo: disassemble.c
if am__fastdepCC
@@ -324,12 +324,21 @@ libopcodes_la_SOURCES = dis-buf.c disassemble.c dis-init.c
# old version of libbfd, or to pick up libbfd for the wrong architecture
# if host != build. So for building with shared libraries we use a
# hardcoded path to libbfd.so instead of relying on the entries in libbfd.la.
-libopcodes_la_DEPENDENCIES = $(OFILES) @SHARED_DEPENDENCIES@
+libopcodes_la_DEPENDENCIES = $(OFILES) @SHARED_DEPENDENCIES@ libtool-soversion
libopcodes_la_LIBADD = $(OFILES) @SHARED_LIBADD@
-libopcodes_la_LDFLAGS += -release `cat ../bfd/libtool-soversion` @SHARED_LDFLAGS@
+libopcodes_la_LDFLAGS += -release `cat libtool-soversion` @SHARED_LDFLAGS@
# Allow dependency tracking to work on all the source files.
EXTRA_libopcodes_la_SOURCES = $(LIBOPCODES_CFILES)
+libtool-soversion:
+ @echo "creating $@"
+ bfd_soversion="$(VERSION)" ;\
+ . $(BFDDIR)/development.sh ;\
+ if test "$$development" = true ; then \
+ bfd_soversion="$(VERSION).$${bfd_version_date}" ;\
+ fi ;\
+ echo "$${bfd_soversion}" > $@
+
# libtool will build .libs/libopcodes.a. We create libopcodes.a in
# the build directory so that we don't have to convert all the
# programs that use libopcodes.a simultaneously. This is a hack which
diff --git a/opcodes/configure.ac b/opcodes/configure.ac
index b9f5eb8a4f..ef2c2152b7 100644
--- a/opcodes/configure.ac
+++ b/opcodes/configure.ac
@@ -89,6 +89,7 @@ AC_PROG_INSTALL
AC_CHECK_HEADERS(string.h strings.h stdlib.h limits.h)
ACX_HEADER_STRING
+GCC_HEADER_STDINT(bfd_stdint.h)
AC_CHECK_DECLS([basename, stpcpy])
@@ -134,61 +135,27 @@ AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed,
LT_LIB_M
-#Libs for generator progs
-if test "x$cross_compiling" = "xno"; then
- BUILD_LIBS=../libiberty/libiberty.a
- BUILD_LIB_DEPS=$BUILD_LIBS
-else
- # if cross-compiling, assume that the system provides -liberty
- # and that the version is compatible with new headers.
- BUILD_LIBS=-liberty
- BUILD_LIB_DEPS=
-fi
-BUILD_LIBS="$BUILD_LIBS $LIBINTL"
-BUILD_LIB_DEPS="$BUILD_LIB_DEPS $LIBINTL_DEP"
+BUILD_LIBS="-liberty $LIBINTL"
+BUILD_LIB_DEPS="$LIBINTL_DEP"
AC_SUBST(BUILD_LIBS)
AC_SUBST(BUILD_LIB_DEPS)
# Horrible hacks to build DLLs on Windows and a shared library elsewhere.
SHARED_LDFLAGS=
-SHARED_LIBADD=
+SHARED_LIBADD=-liberty
SHARED_DEPENDENCIES=
if test "$enable_shared" = "yes"; then
-# When building a shared libopcodes, link against the pic version of libiberty
-# so that apps that use libopcodes won't need libiberty just to satisfy any
-# libopcodes references.
-# We can't do that if a pic libiberty is unavailable since including non-pic
-# code would insert text relocations into libopcodes.
# Note that linking against libbfd as we do here, which is itself linked
# against libiberty, may not satisfy all the libopcodes libiberty references
# since libbfd may not pull in the entirety of libiberty.
-changequote(,)dnl
- x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
-changequote([,])dnl
- if test -n "$x"; then
- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
- fi
-
case "${host}" in
*-*-cygwin*)
SHARED_LDFLAGS="-no-undefined"
- SHARED_LIBADD="-L`pwd`/../bfd -lbfd -L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin"
+ SHARED_LIBADD="-lbfd -liberty -lintl -lcygwin"
;;
- *-*-darwin*)
- SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.dylib ${SHARED_LIBADD}"
- SHARED_DEPENDENCIES="../bfd/libbfd.la"
- ;;
*)
- case "$host_vendor" in
- hp)
- SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.sl ${SHARED_LIBADD}"
- ;;
- *)
- SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.so ${SHARED_LIBADD}"
- ;;
- esac
- SHARED_DEPENDENCIES="../bfd/libbfd.la"
+ SHARED_LIBADD="-lbfd ${SHARED_LIBADD}"
;;
esac
--
2.14.2

View File

@@ -48,15 +48,16 @@ stdenv.mkDerivation rec {
# there) and causes a cycle between the lib and bin outputs, so
# get rid of it.
./no-plugins.patch
# Help bfd choose between elf32-littlearm, elf32-littlearm-symbian, and
# elf32-littlearm-vxworks in favor of the first.
# https://github.com/NixOS/nixpkgs/pull/30484#issuecomment-345472766
./disambiguate-arm-targets.patch
];
outputs = [ "out" ]
++ optional (targetPlatform == hostPlatform && !hostPlatform.isDarwin) "lib" # problems in Darwin stdenv
++ [ "info" ]
++ optional (targetPlatform == hostPlatform) "dev";
outputs = [ "out" "info" ];
nativeBuildInputs = [ bison ]
++ optional (hostPlatform != buildPlatform) buildPackages.stdenv.cc;
nativeBuildInputs = [ bison buildPackages.stdenv.cc ];
buildInputs = [ zlib ];
inherit noSysDirs;
@@ -87,16 +88,21 @@ stdenv.mkDerivation rec {
then []
else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
configureFlags =
[ "--enable-shared" "--enable-deterministic-archives" "--disable-werror" ]
++ optional (stdenv.system == "mips64el-linux") "--enable-fix-loongson2f-nop"
++ optionals gold [ "--enable-gold" "--enable-plugins" ]
++ optional (stdenv.system == "i686-linux") "--enable-targets=x86_64-linux-gnu";
configureFlags = [
"--enable-targets=all" "--enable-64-bit-bfd"
"--disable-install-libbfd"
"--disable-shared" "--enable-static"
"--with-system-zlib"
"--enable-deterministic-archives"
"--disable-werror"
"--enable-fix-loongson2f-nop"
] ++ optionals gold [ "--enable-gold" "--enable-plugins" ];
enableParallelBuilding = true;
passthru = {
inherit prefix;
inherit prefix version;
};
meta = with stdenv.lib; {
@@ -109,6 +115,7 @@ stdenv.mkDerivation rec {
'';
homepage = http://www.gnu.org/software/binutils/;
license = licenses.gpl3Plus;
maintainers = with maintainers; [ ericson2314 ];
platforms = platforms.unix;
/* Give binutils a lower priority than gcc-wrapper to prevent a

View File

@@ -0,0 +1,23 @@
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 9f956d3..f5b61f1 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -19585,7 +19585,10 @@ elf32_arm_vxworks_final_write_processing (bfd *abfd, bfd_boolean linker)
#undef ELF_MAXPAGESIZE
#define ELF_MAXPAGESIZE 0x1000
+/* Prioritize elf32-*arm (priority 1) over elf32-*arm-vxworks (priority 2) */
+#define elf_match_priority 2
#include "elf32-target.h"
+#undef elf_match_priority
/* Merge backend specific data from an object file to the output
@@ -19974,4 +19977,7 @@ elf32_arm_symbian_plt_sym_val (bfd_vma i, const asection *plt,
#undef ELF_MAXPAGESIZE
#define ELF_MAXPAGESIZE 0x8000
+/* Prioritize elf32-*arm (priority 1) over elf32-*arm-symbian (priority 2) */
+#define elf_match_priority 2
#include "elf32-target.h"
+#undef elf_match_priority

View File

@@ -1,18 +1,19 @@
{ fetchurl, stdenv, ncurses, readline, gmp, mpfr, expat, texinfo, zlib
, dejagnu, perl, pkgconfig
{ stdenv
# Build time
, fetchurl, pkgconfig, perl, texinfo, setupDebugInfoDirs
# Run time
, ncurses, readline, gmp, mpfr, expat, zlib, dejagnu
, buildPlatform, hostPlatform, targetPlatform
, pythonSupport ? hostPlatform == buildPlatform && !hostPlatform.isCygwin, python ? null
, guile ? null
# Support all known targets in one gdb binary.
, multitarget ? false
# Additional dependencies for GNU/Hurd.
, mig ? null, hurd ? null
, setupDebugInfoDirs
}:
let
@@ -58,10 +59,16 @@ stdenv.mkDerivation rec {
configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
configureFlags = with stdenv.lib; [
"--with-gmp=${gmp.dev}" "--with-mpfr=${mpfr.dev}" "--with-system-readline"
"--with-system-zlib" "--with-expat" "--with-libexpat-prefix=${expat.dev}"
] ++ stdenv.lib.optional (!pythonSupport) "--without-python"
++ stdenv.lib.optional multitarget "--enable-targets=all";
"--enable-targets=all" "--enable-64-bit-bfd"
"--disable-install-libbfd"
"--disable-shared" "--enable-static"
"--with-system-zlib"
"--with-system-readline"
"--with-gmp=${gmp.dev}"
"--with-mpfr=${mpfr.dev}"
"--with-expat" "--with-libexpat-prefix=${expat.dev}"
] ++ stdenv.lib.optional (!pythonSupport) "--without-python";
postInstall =
'' # Remove Info files already provided by Binutils and other packages.

View File

@@ -1,4 +1,8 @@
{ stdenv, fetchurl, autoconf, libelf, libiberty, gfortran, zlib, binutils }:
{ stdenv
, fetchurl, autoconf, gfortran
, libelf, libiberty, zlib, libbfd, libopcodes
, buildPackages
}:
stdenv.mkDerivation rec {
version = "1.0.6";
@@ -9,12 +13,15 @@ stdenv.mkDerivation rec {
sha256 = "06q5y9qmdn1h0wjmy28z6gwswskmph49j7simfqcqwv05gvd9svr";
};
# Goes past the rpl_malloc linking failure
# Goes past the rpl_malloc linking failure; fixes silent file breakage
preConfigure = ''
export ac_cv_func_malloc_0_nonnull=yes
substituteInPlace ./configure \
--replace "/usr/bin/file" "${buildPackages.file}/bin/file"
'';
buildInputs = [ autoconf libelf libiberty gfortran zlib binutils ];
nativeBuildInputs = [ autoconf gfortran ];
buildInputs = [ libelf libiberty zlib libbfd libopcodes ];
meta = {
description = "Tool that aims at generating automatically execution trace from HPC programs";

View File

@@ -1,5 +1,8 @@
{ stdenv, fetchurl, binutils, popt, zlib, pkgconfig, linuxHeaders, coreutils
, libiberty_static, withGUI ? false , qt4 ? null}:
{ stdenv, buildPackages
, fetchurl, pkgconfig
, libbfd, popt, zlib, linuxHeaders, libiberty_static
, withGUI ? false, qt4 ? null
}:
# libX11 is needed because the Qt build stuff automatically adds `-lX11'.
assert withGUI -> qt4 != null;
@@ -14,12 +17,12 @@ stdenv.mkDerivation rec {
postPatch = ''
substituteInPlace opjitconv/opjitconv.c \
--replace "/bin/rm" "${coreutils}/bin/rm" \
--replace "/bin/cp" "${coreutils}/bin/cp"
--replace "/bin/rm" "${buildPackages.coreutils}/bin/rm" \
--replace "/bin/cp" "${buildPackages.coreutils}/bin/cp"
'';
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ binutils zlib popt linuxHeaders libiberty_static ]
buildInputs = [ libbfd zlib popt linuxHeaders libiberty_static ]
++ stdenv.lib.optionals withGUI [ qt4 ];
configureFlags = [

View File

@@ -1,5 +1,7 @@
{ fetchurl, stdenv, binutils
, pkgconfig, gtk2, glib, pango, libglade }:
{ stdenv
, fetchurl, pkgconfig
, gtk2, glib, pango, libglade
}:
stdenv.mkDerivation rec {
name = "sysprof-1.2.0";
@@ -10,7 +12,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ binutils gtk2 glib pango libglade ];
buildInputs = [ gtk2 glib pango libglade ];
meta = {
homepage = http://sysprof.com/;