Merge stdenv-updates into master

This is a re-merge, in fact. Now the first parent is master
as of right before the "first merge" (ac6761c9).
A few commits pushed in-between into master now look like coming
from stdenv-updates, but otherwise this seems to fix the situation.

Cf. 320209a618 (commitcomment-5125991)
This commit is contained in:
Vladimír Čunát 2014-01-21 12:54:58 +01:00
commit 668310a2b5
200 changed files with 2782 additions and 2706 deletions

View File

@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
url = "http://code.soundsoftware.ac.uk/attachments/download/194/${name}.tar.gz";
sha256 = "00igf7j6s8xfyxnlkbqma0yby9pknxqzy8cmh0aw95ix80cw56fq";
};
patches = [(fetchurl {
url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-sound/sonic-visualiser/files/sonic-visualiser-1.9-gcc47.patch;
sha256 = "0dhh111crvjvhcjqp7j9jqnvs8zmd6xrcirmzqrrnca1h0vbpkay";
name = "gcc47.patch";
})];
buildInputs =
[ libsndfile qt4 fftw /* should be fftw3f ??*/ bzip2 librdf rubberband

View File

@ -1,11 +1,11 @@
{ fetchurl, stdenv }:
stdenv.mkDerivation rec {
name = "ed-1.7";
name = "ed-1.9";
src = fetchurl {
url = "mirror://gnu/ed/${name}.tar.gz";
sha256 = "0c908wb5pm48rjrrfbm5dhrqzys8f1dbvi90dn0vgwjzk80l2hl9";
sha256 = "122syihsx2hwzj75mkf5a9ssiky2xby748kp4cc00wzhmp7p5cym";
};
/* FIXME: Tests currently fail on Darwin:

View File

@ -1,4 +1,4 @@
{ clangStdenv, fetchgit, llvmFull }:
{ clangStdenv, fetchgit, llvm, clang }:
clangStdenv.mkDerivation {
name = "emacs-clang-complete-async-20130218";
@ -8,7 +8,7 @@ clangStdenv.mkDerivation {
sha256 = "1c8zqi6axbsb951azz9iqx3j52j30nd9ypv396hvids3g02cirrf";
};
buildInputs = [ llvmFull ];
buildInputs = [ llvm clang.clang ];
installPhase = ''
mkdir -p $out/bin

View File

@ -13,6 +13,10 @@ stdenv.mkDerivation rec {
patches = [ ./configure-python-libs.patch ];
postPatch = ''
patch -p0 < ${./spuriouscomma.patch}
'';
propagatedBuildInputs = [
# Python is used at run-time to execute scripts, e.g., those from
# the "Effects" menu.

View File

@ -1,47 +0,0 @@
Source: upstream revisions 10061 and 10707
--- a/src/sp-image.cpp 2011-02-21 07:59:34 +0000
+++ b/src/sp-image.cpp 2011-02-21 08:57:28 +0000
@@ -387,9 +387,13 @@
#if defined(PNG_iCCP_SUPPORTED)
{
- char* name = 0;
+ png_charp name = 0;
int compression_type = 0;
- char* profile = 0;
+#if (PNG_LIBPNG_VER < 10500)
+ png_charp profile = 0;
+#else
+ png_bytep profile = 0;
+#endif
png_uint_32 proflen = 0;
if ( png_get_iCCP(pngPtr, infoPtr, &name, &compression_type, &profile, &proflen) ) {
// g_message("Found an iCCP chunk named [%s] with %d bytes and comp %d", name, proflen, compression_type);
--- a/src/extension/internal/pdfinput/svg-builder.cpp 2011-10-27 04:55:51 +0000
+++ b/src/extension/internal/pdfinput/svg-builder.cpp 2011-10-29 20:34:00 +0000
@@ -1481,7 +1481,7 @@
return NULL;
}
// Set error handler
- if (setjmp(png_ptr->jmpbuf)) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
png_destroy_write_struct(&png_ptr, &info_ptr);
return NULL;
}
--- a/src/helper/png-write.cpp 2011-08-07 10:53:12 +0000
+++ b/src/helper/png-write.cpp 2011-10-29 20:34:00 +0000
@@ -166,8 +166,8 @@
/* Set error handling. REQUIRED if you aren't supplying your own
* error hadnling functions in the png_create_write_struct() call.
*/
- if (setjmp(png_ptr->jmpbuf)) {
- /* If we get here, we had a problem reading the file */
+ if (setjmp(png_jmpbuf(png_ptr))) {
+ // If we get here, we had a problem reading the file
fclose(fp);
png_destroy_write_struct(&png_ptr, &info_ptr);
return false;

View File

@ -0,0 +1,11 @@
--- src/widgets/desktop-widget.h~ 2011-07-08 13:25:09.000000000 -0500
+++ src/widgets/desktop-widget.h 2013-02-15 16:04:45.806910365 -0600
@@ -239,7 +239,7 @@
private:
GtkWidget *tool_toolbox;
GtkWidget *aux_toolbox;
- GtkWidget *commands_toolbox,;
+ GtkWidget *commands_toolbox;
GtkWidget *snap_toolbox;
static void init(SPDesktopWidget *widget);

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
preConfigure = ''
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/build/lib"
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${gtkglext}/include/gtkglext-*) -I$(echo ${gtkglext}/lib/gtkglext-*/include)"
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fpermissive -I$(echo ${gtkglext}/include/gtkglext-*) -I$(echo ${gtkglext}/lib/gtkglext-*/include)"
'';
buildInputs = [

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
cd ${name}-src
tar xf ${src}
'';
patches = [ ./goldendict-paths.diff ];
patches = [ ./goldendict-paths.diff ./gcc47.patch ];
patchFlags = "-p 0";
configurePhase = ''
qmake

View File

@ -0,0 +1,40 @@
From b00d081da20b9a6b257573c6b23a6bc640c4dab1 Mon Sep 17 00:00:00 2001
From: Michael Palimaka <kensington@gentoo.org>
Date: Fri, 20 Jul 2012 03:27:38 +1000
Subject: [PATCH] Fix build with GCC 4.7 by adding missing includes.
---
processwrapper.cc | 4 ++++
qtsingleapplication/src/qtlocalpeer.cpp | 1 +
2 files changed, 5 insertions(+)
diff --git processwrapper.cc processwrapper.cc
index f7f3f19..86b985d 100644
--- processwrapper.cc
+++ processwrapper.cc
@@ -2,6 +2,10 @@
#include <QtCore>
+#if defined(Q_OS_UNIX)
+#include <unistd.h>
+#endif
+
#ifdef Q_OS_WIN32
#include <windows.h>
diff --git qtsingleapplication/src/qtlocalpeer.cpp qtsingleapplication/src/qtlocalpeer.cpp
index 382d182..506c142 100644
--- qtsingleapplication/src/qtlocalpeer.cpp
+++ qtsingleapplication/src/qtlocalpeer.cpp
@@ -50,6 +50,7 @@ static PProcessIdToSessionId pProcessIdToSessionId = 0;
#endif
#if defined(Q_OS_UNIX)
#include <time.h>
+#include <unistd.h>
#endif
namespace QtLP_Private {
--
1.7.11.1

View File

@ -7,6 +7,7 @@ stdenv.mkDerivation rec {
sha256 = "1q1m4cjzz2m41pdpxnwrsiczc7990785b700lv64midjjgjnr7j6";
};
buildInputs = [ gettext kdelibs kde_baseapps ];
NIX_CFLAGS_COMPILE = "-fpermissive"; # fix build with newer gcc versions
meta = {
description = "Norton/Total Commander clone for KDE";
license = "GPL";

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation {
name = "esniper-2.28.0";
src = fetchurl {
url = "mirror://sourceforge/esniper/esniper-2-28-0.tgz";
url = "mirror://sourceforge/esniper/esniper-2-28-0.tgz";
sha256 = "c2b0ccb757616b32f2d6cf54a4a5e367405fa7bcd6e6ed11835fe4f8a06a016b";
};
buildInputs = [openssl curl];
buildInputs = [ openssl curl ];
# Add support for CURL_CA_BUNDLE variable.
patches = [ ./find-ca-bundle.patch ];
@ -19,12 +19,11 @@ stdenv.mkDerivation {
chmod 555 "$out/bin/snipe"
'';
meta = {
meta = with stdenv.lib; {
description = "Simple, lightweight tool for sniping eBay auctions";
homepage = "http://esnipe.rsourceforge.net";
license = "GPLv2";
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.simons ];
homepage = http://esnipe.rsourceforge.net;
license = licenses.gpl2;
maintainers = with maintainers; [ lovek323 simons ];
platforms = platforms.all;
};
}

View File

@ -65,6 +65,8 @@ stdenv.mkDerivation {
)
'';
installPhase = ''make DESTDIR="$out" MKDIR_P="mkdir -p" install'';
enableParallelBuilding = true;
meta = {

View File

@ -35,7 +35,8 @@ stdenv.mkDerivation {
NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
makeFlags = "prefix=\${out} sysconfdir=/etc/ PERL_PATH=${perl}/bin/perl SHELL_PATH=${stdenv.shell} "
+ (if pythonSupport then "PYTHON_PATH=${python}/bin/python" else "NO_PYTHON=1");
+ (if pythonSupport then "PYTHON_PATH=${python}/bin/python" else "NO_PYTHON=1")
+ (if stdenv.isSunOS then " INSTALL=install NO_INET_NTOP= NO_INET_PTON=" else "");
# FIXME: "make check" requires Sparse; the Makefile must be tweaked
# so that `SPARSE_FLAGS' corresponds to the current architecture...

View File

@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
configureFlags = "--with-boost-libdir=${boost}/lib";
NIX_CFLAGS_COMPILE = "-fpermissive"; # fix build with newer gcc versions
meta = {
homepage = "http://code.google.com/p/gource/";
description = "software version control visualization tool";

View File

@ -66,13 +66,23 @@ else
echo "$gccCFlags" > $out/nix-support/gcc-cflags
gccPath="$gcc/bin"
ldPath="$binutils/bin"
# On Illumos/Solaris we might prefer native ld
if test -n "$nativePrefix"; then
ldPath="$nativePrefix/bin"
else
ldPath="$binutils/bin"
fi;
fi
doSubstitute() {
local src=$1
local dst=$2
local ld="$ldPath/ld"
if $ld -V 2>&1 |grep Solaris; then
# Use Solaris specific linker wrapper
ld="$out/bin/ld-solaris"
fi
# Can't use substitute() here, because replace may not have been
# built yet (in the bootstrap).
sed \
@ -85,7 +95,7 @@ doSubstitute() {
-e "s^@binutils@^$binutils^g" \
-e "s^@coreutils@^$coreutils^g" \
-e "s^@libc@^$libc^g" \
-e "s^@ld@^$ldPath/ld^g" \
-e "s^@ld@^$ld^g" \
< "$src" > "$dst"
}
@ -174,6 +184,13 @@ ln -s $ldPath/as $out/bin/as
doSubstitute "$ldWrapper" "$out/bin/ld"
chmod +x "$out/bin/ld"
# Copy solaris ld wrapper if needed
if $ldPath/ld -V 2>&1 |grep Solaris; then
# Use Solaris specific linker wrapper
sed -e "s^@ld@^$ldPath/ld^g" < "$ldSolarisWrapper" > "$out/bin/ld-solaris"
chmod +x "$out/bin/ld-solaris"
fi
# Emit a setup hook. Also store the path to the original GCC and
# Glibc.

View File

@ -36,6 +36,7 @@ stdenv.mkDerivation {
gnatWrapper = ./gnat-wrapper.sh;
gnatlinkWrapper = ./gnatlink-wrapper.sh;
ldWrapper = ./ld-wrapper.sh;
ldSolarisWrapper = ./ld-solaris-wrapper.sh;
utils = ./utils.sh;
addFlags = ./add-flags;

View File

@ -0,0 +1,40 @@
#!/bin/bash
set -e
set -u
# I've also tried adding -z direct and -z lazyload, but it gave too many problems with C++ exceptions :'(
# Also made sure libgcc would not be lazy-loaded, as suggested here: https://www.illumos.org/issues/2534#note-3
# but still no success.
cmd="@ld@ -z ignore"
args=("$@");
# This loop makes sure all -L arguments are before -l arguments, or ld may complain it cannot find a library.
# GNU binutils does not have this problem:
# http://stackoverflow.com/questions/5817269/does-the-order-of-l-and-l-options-in-the-gnu-linker-matter
i=0;
while [[ $i -lt $# ]]; do
case "${args[$i]}" in
-L) cmd="$cmd ${args[$i]} ${args[($i+1)]}"; i=($i+1); ;;
-L*) cmd="$cmd ${args[$i]}" ;;
*) ;;
esac
i=($i+1);
done
i=0;
while [[ $i -lt $# ]]; do
case "${args[$i]}" in
-L) i=($i+1); ;;
-L*) ;;
*) cmd="$cmd ${args[$i]}" ;;
esac
i=($i+1);
done
# Trace:
set -x
exec $cmd
exit 0

View File

@ -1,6 +1,6 @@
addCVars () {
if test -d $1/include; then
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$1/include"
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem $1/include"
fi
if test -d $1/lib64; then

View File

@ -1,4 +1,4 @@
{ callPackage, self, stdenv, gettext, gvfs, libunique, overrides ? {} }:
{ callPackage, self, stdenv, gettext, gvfs, libunique, bison2, overrides ? {} }:
let overridden = set // overrides; set = with overridden; {
# Backward compatibility.
gtkdoc = self.gtk_doc;
@ -19,7 +19,9 @@ let overridden = set // overrides; set = with overridden; {
libglade = callPackage ./platform/libglade { };
libgnomeprint = callPackage ./platform/libgnomeprint { };
libgnomeprint = callPackage ./platform/libgnomeprint {
bison = bison2;
};
libgnomeprintui = callPackage ./platform/libgnomeprintui { };

View File

@ -30,11 +30,11 @@ stdenv.mkDerivation {
url = "mirror://gnu/gcc/gcc-${version}/gcc-fortran-${version}.tar.bz2";
sha256 = "013yqiqhdavgxzjryvylgf3lcnknmw89fx41jf2v4899srn0bhkg";
});
patches =
[./pass-cxxcpp.patch]
[./pass-cxxcpp.patch ./siginfo_t.patch]
++ optional noSysDirs [./no-sys-dirs.patch];
inherit noSysDirs profiledCompiler staticCompiler;
buildInputs = [gmp mpfr texinfo];

View File

@ -0,0 +1,15 @@
https://bbs.archlinux.org/viewtopic.php?id=144949
--- a/gcc/config/i386/linux-unwind.h 2011-01-03 20:52:22.000000000 +0000
+++ b/gcc/config/i386/linux-unwind.h 2012-07-06 12:23:51.562859470 +0100
@@ -133,9 +133,9 @@
{
struct rt_sigframe {
int sig;
- struct siginfo *pinfo;
+ siginfo_t *pinfo;
void *puc;
- struct siginfo info;
+ siginfo_t info;
struct ucontext uc;
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.

View File

@ -29,7 +29,7 @@ assert langVhdl -> gnat != null;
with stdenv.lib;
let
version = "4.3.4";
version = "4.3.6";
crossConfigureFlags =
"--target=${cross.config}" +
@ -54,27 +54,27 @@ in
stdenv.mkDerivation ({
name = "${name}-${version}" + crossNameAddon;
builder = ./builder.sh;
src =
optional /*langC*/ true (fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2";
sha256 = "1yk80nwyw8vkpw8d3x7lkg3zrv3ngjqlvj0i8zslzgj7a27q729i";
sha256 = "0ygrfw3hgp48hkqipbl9lw38f27npigc2sm6f01g9iswpq1igbw6";
}) ++
optional langCC (fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2";
sha256 = "0d8pyk5c9zmph25f4fl63vd8vhljj6ildbxpz2hr594g5i6pplpq";
sha256 = "105xz3991b57zx3146xwlpchdb2sjmlknclvi1iac2gawm4mhxhf";
}) ++
optional langFortran (fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2";
sha256 = "1xf2njykv1qcgxiqwj693dxjf77ss1rcxirylvnsp5hs89mdlj12";
sha256 = "12bqvf53hvhrwjnh101vn9frb5g8cr98cra4f11dzhzs4ppydpi1";
}) ++
optional langJava (fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2";
sha256 = "1v3krhxi3zyaqfj0x8dbxvg67fjp29cr1psyf71r9zf757p3vqsw";
sha256 = "03w6jln9gmdv149s774rlw4rzi2zhbqna54r86cd6mql8flmy7fs";
});
patches =
[ ./pass-cxxcpp.patch ./libmudflap-cpp.patch ./siginfo_t_fix.patch ]
++ optional noSysDirs ./no-sys-dirs.patch

View File

@ -31,7 +31,7 @@ assert langVhdl -> gnat != null;
with stdenv.lib;
let version = "4.4.6";
let version = "4.4.7";
javaEcj = fetchurl {
# The `$(top_srcdir)/ecj.jar' file is automatically picked up at
# `configure' time.

View File

@ -1,26 +1,26 @@
/* Automatically generated by `update-gcc.sh', do not edit.
For GCC 4.4.6. */
For GCC 4.4.7. */
{ fetchurl, optional, version, langC, langCC, langFortran, langJava, langAda }:
assert version == "4.4.6";
assert version == "4.4.7";
optional /* langC */ true (fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2";
sha256 = "c2959820de3e42eee6b1d381586992f26430f0083b9a51db31d706080fc9b44a";
sha256 = "c4663b7023909a4a075d3c2b2e17f6e082a9625aebfd0ce7f1d7817e44bf5542";
}) ++
optional langCC (fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2";
sha256 = "6d5d2dacab9569472e4caa291abe94017a9b19574b9b0d866de7b04702634ddf";
sha256 = "1882ff29be51eeb3fb349cbcda9df200a5c3cd20c97dd1d593101e0998b3c469";
}) ++
optional langFortran (fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2";
sha256 = "2b9998716a16b80f4cf843ce81da1cf58ce116e0b85422e3004ce4454e8ff923";
sha256 = "545a1e8e97d9364de4408c6a91830f9051ce24b4fbfbfdc56e72c7b4be17ebdd";
}) ++
optional langJava (fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2";
sha256 = "7c8c12eac21d2a5c605ea4d9b7aa52e482354205b801bc93d62603b6f0956b35";
sha256 = "3c31ddd80f945b797d8d4ed7761426c26343781c361ec1b33bcea9874cc4c6c0";
}) ++
optional langAda (fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-ada-${version}.tar.bz2";
sha256 = "771ef0e90abf61208ce84689bed15391ad249287e36a28e816d6a044035af0c6";
sha256 = "fb9f30b85d48838390554b948d137487f0db09ad5f8ba73ca4d7ca35765c6ed8";
}) ++
[]

View File

@ -21,7 +21,7 @@ options["g++"]="langCC"
options["fortran"]="langFortran"
options["java"]="langJava"
options["ada"]="langAda"
options["go"]="langGo"
#options["go"]="langGo"
cat > "$out"<<EOF
/* Automatically generated by \`$(basename $0)', do not edit.
@ -32,7 +32,7 @@ cat > "$out"<<EOF
assert version == "${version}";
EOF
for component in core g++ fortran java ada go
for component in core g++ fortran java ada #go
do
dir="ftp.gnu.org/gnu/gcc/gcc-${version}"
file="gcc-${component}-${version}.tar.bz2"

View File

@ -212,7 +212,7 @@ stdenv.mkDerivation ({
++ (optional (ppl != null) ppl)
++ (optional (cloogppl != null) cloogppl)
++ (optional (zlib != null) zlib)
++ (optional (boehmgc != null) boehmgc)
++ (optional langJava boehmgc)
++ (optionals langJava [zip unzip])
++ (optionals javaAwtGtk ([gtk pkgconfig libart_lgpl] ++ xlibs))
++ (optionals (cross != null) [binutilsCross])

View File

@ -434,7 +434,7 @@ stdenv.mkDerivation ({
passthru = { inherit langC langCC langAda langFortran langVhdl
langGo version; };
enableParallelBuilding = !langAda;
enableParallelBuilding = false;
inherit (stdenv) is64bit;

View File

@ -1,11 +0,0 @@
--- gcc-4.7.3/gcc/Makefile.in 2013-04-01 10:11:11.000000000 +0200
+++ gcc-4.7.3/gcc/Makefile.in.new 2014-01-14 00:55:31.056406483 +0100
@@ -3904,7 +3904,7 @@
$(SYSTEM_H) coretypes.h $(GTM_H) errors.h $(READ_MD_H) gensupport.h
build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
gengtype-lex.o build/gengtype-lex.o : gengtype-lex.c gengtype.h $(SYSTEM_H)
-gengtype-lex.o: $(CONFIG_H)
+gengtype-lex.o: $(CONFIG_H) $(BCONFIG_H)
build/gengtype-lex.o: $(BCONFIG_H)
gengtype-parse.o build/gengtype-parse.o : gengtype-parse.c gengtype.h \
$(SYSTEM_H)

View File

@ -33,7 +33,7 @@ if test "$noSysDirs" = "1"; then
# The path to the Glibc binaries such as `crti.o'.
glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib"
else
# Hack: support impure environments.
extraFlags="-isystem /usr/include"
@ -50,10 +50,10 @@ if test "$noSysDirs" = "1"; then
# bootstrap compiler are optimized and (optionally) contain
# debugging information (info "(gccinstall) Building").
if test -n "$dontStrip"; then
extraFlags="-O2 -g $extraFlags"
extraFlags="-O2 -g $extraFlags"
else
# Don't pass `-g' at all; this saves space while building.
extraFlags="-O2 $extraFlags"
# Don't pass `-g' at all; this saves space while building.
extraFlags="-O2 $extraFlags"
fi
EXTRA_FLAGS="$extraFlags"
@ -155,7 +155,7 @@ if test -n "$targetConfig"; then
dontStrip=1
fi
providedPreConfigure="$preConfigure";
preConfigure() {
if test -n "$newlibSrc"; then
tar xvf "$newlibSrc" -C ..
@ -188,6 +188,9 @@ preConfigure() {
configureFlags="$configureFlags --with-build-sysroot=`pwd`/.."
fi
# Eval the preConfigure script from nix expression.
eval $providedPreConfigure;
env;
# Perform the build in a different directory.
mkdir ../build
cd ../build
@ -210,7 +213,7 @@ postInstall() {
# previous gcc.
rm -rf $out/libexec/gcc/*/*/install-tools
rm -rf $out/lib/gcc/*/*/install-tools
# More dependencies with the previous gcc or some libs (gccbug stores the build command line)
rm -rf $out/bin/gccbug
# Take out the bootstrap-tools from the rpath, as it's not needed at all having $out

View File

@ -11,7 +11,7 @@
, perl ? null # optional, for texi2pod (then pod2man); required for Java
, gmp, mpfr, mpc, gettext, which
, libelf # optional, for link-time optimizations (LTO)
, ppl ? null, cloog ? null # optional, for the Graphite optimization framework.
, ppl ? null, cloog ? null, isl ? null # optional, for the Graphite optimization framework.
, zlib ? null, boehmgc ? null
, zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null
, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
@ -37,6 +37,9 @@ assert langJava -> zip != null && unzip != null
assert langAda -> gnatboot != null;
assert langVhdl -> gnat != null;
# We enable the isl cloog backend.
assert cloog != null -> isl != null;
# LTO needs libelf and zlib.
assert libelf != null -> zlib != null;
@ -49,14 +52,19 @@ assert langGo -> langCC;
with stdenv.lib;
with builtins;
let version = "4.7.3";
let version = "4.8.2";
# Whether building a cross-compiler for GNU/Hurd.
crossGNU = cross != null && cross.config == "i586-pc-gnu";
patches = [
./build-race.patch
] ++ optional stdenv.isArm [ ./arm-eabi.patch ]
/* gccinstall.info says that "parallel make is currently not supported since
collisions in profile collecting may occur".
*/
enableParallelBuilding = !profiledCompiler;
patches = []
++ optional stdenv.isArm ./arm-eabi.patch
++ optional enableParallelBuilding ./parallel-bconfig.patch
++ optional (cross != null) ./libstdc++-target.patch
# ++ optional noSysDirs ./no-sys-dirs.patch
# The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
@ -89,35 +97,35 @@ let version = "4.7.3";
/* Platform flags */
platformFlags = let
gccArch = stdenv.lib.attrByPath [ "platform" "gcc" "arch" ] null stdenv;
gccCpu = stdenv.lib.attrByPath [ "platform" "gcc" "cpu" ] null stdenv;
gccAbi = stdenv.lib.attrByPath [ "platform" "gcc" "abi" ] null stdenv;
gccFpu = stdenv.lib.attrByPath [ "platform" "gcc" "fpu" ] null stdenv;
gccFloat = stdenv.lib.attrByPath [ "platform" "gcc" "float" ] null stdenv;
gccMode = stdenv.lib.attrByPath [ "platform" "gcc" "mode" ] null stdenv;
gccArch = stdenv.platform.gcc.arch or null;
gccCpu = stdenv.platform.gcc.cpu or null;
gccAbi = stdenv.platform.gcc.abi or null;
gccFpu = stdenv.platform.gcc.fpu or null;
gccFloat = stdenv.platform.gcc.float or null;
gccMode = stdenv.platform.gcc.mode or null;
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else "";
withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
in
(withArch +
in
withArch +
withCpu +
withAbi +
withFpu +
withFloat +
withMode);
withMode;
/* Cross-gcc settings */
crossMingw = (cross != null && cross.libc == "msvcrt");
crossConfigureFlags = let
gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null cross;
gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null cross;
gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null cross;
gccFpu = stdenv.lib.attrByPath [ "gcc" "fpu" ] null cross;
gccFloat = stdenv.lib.attrByPath [ "gcc" "float" ] null cross;
gccMode = stdenv.lib.attrByPath [ "gcc" "mode" ] null cross;
gccArch = stdenv.cross.gcc.arch or null;
gccCpu = stdenv.cross.gcc.cpu or null;
gccAbi = stdenv.cross.gcc.abi or null;
gccFpu = stdenv.cross.gcc.fpu or null;
gccFloat = stdenv.cross.gcc.float or null;
gccMode = stdenv.cross.gcc.mode or null;
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
@ -180,8 +188,7 @@ let version = "4.7.3";
" --enable-nls" +
" --disable-decimal-float") # No final libdecnumber (it may work only in 386)
);
stageNameAddon = if crossStageStatic then "-stage-static" else
"-stage-final";
stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else "";
bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips;
@ -198,7 +205,7 @@ stdenv.mkDerivation ({
src = fetchurl {
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
sha256 = "1hx9h64ivarlzi4hxvq42as5m9vlr5cyzaaq4gzj4i619zmkfz1g";
sha256 = "1j6dwgby4g3p3lz7zkss32ghr45zpdidrg8xvazvn91lqxv25p09";
};
inherit patches;
@ -267,6 +274,7 @@ stdenv.mkDerivation ({
buildInputs = [ gmp mpfr mpc libelf ]
++ (optional (ppl != null) ppl)
++ (optional (cloog != null) cloog)
++ (optional (isl != null) isl)
++ (optional (zlib != null) zlib)
++ (optionals langJava [ boehmgc zip unzip ])
++ (optionals javaAwtGtk ([ gtk libart_lgpl ] ++ xlibs))
@ -279,22 +287,42 @@ stdenv.mkDerivation ({
++ (optional stdenv.isDarwin gnused)
;
configureFlagsArray = stdenv.lib.optionals
(ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic)
[ "--with-host-libstdcxx=-lstdc++ -lgcc_s" ];
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isSunOS "-lm -ldl";
preConfigure = ''
configureFlagsArray=(
${stdenv.lib.optionalString (ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic)
"'--with-host-libstdcxx=-lstdc++ -lgcc_s'"}
${stdenv.lib.optionalString (ppl != null && stdenv.isSunOS)
"\"--with-host-libstdcxx=-Wl,-rpath,\$prefix/lib/amd64 -lstdc++\"
\"--with-boot-ldflags=-L../prev-x86_64-pc-solaris2.11/libstdc++-v3/src/.libs\""}
);
${stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit)
''
export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
''}
'';
# 'iant' at #go-nuts@freenode, gccgo maintainer, said that
# they have a bug in 4.7.1 if adding "--disable-static"
dontDisableStatic = langGo;
dontDisableStatic = langGo || staticCompiler;
configureFlags = "
${if stdenv.isSunOS then
" --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " +
# On Illumos/Solaris GNU as is preferred
" --with-gnu-as --without-gnu-ld "
else ""}
--enable-lto
${if enableMultilib then "" else "--disable-multilib"}
${if enableShared then "" else "--disable-shared"}
${if enablePlugin then "--enable-plugin" else ""}
${if ppl != null then "--with-ppl=${ppl}" else ""}
${if cloog != null then
"--with-cloog=${cloog} --enable-cloog-backend=isl"
else ""}
${if enablePlugin then "--enable-plugin" else "--disable-plugin"}
${if ppl != null then "--with-ppl=${ppl} --disable-ppl-version-check" else ""}
${optionalString (isl != null) "--with-isl=${isl}"}
${optionalString (cloog != null) "--with-cloog=${cloog} --disable-cloog-version-check --enable-cloog-backend=isl"}
${if langJava then
"--with-ecj-jar=${javaEcj} " +
@ -345,11 +373,11 @@ stdenv.mkDerivation ({
else "install";
crossAttrs = let
xgccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null stdenv.cross;
xgccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null stdenv.cross;
xgccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null stdenv.cross;
xgccFpu = stdenv.lib.attrByPath [ "gcc" "fpu" ] null stdenv.cross;
xgccFloat = stdenv.lib.attrByPath [ "gcc" "float" ] null stdenv.cross;
xgccArch = stdenv.cross.gcc.arch or null;
xgccCpu = stdenv.cross.gcc.cpu or null;
xgccAbi = stdenv.cross.gcc.abi or null;
xgccFpu = stdenv.cross.gcc.fpu or null;
xgccFloat = stdenv.cross.gcc.float or null;
xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
@ -408,7 +436,8 @@ stdenv.mkDerivation ({
# Needed for the cross compilation to work
AR = "ar";
LD = "ld";
CC = "gcc";
# http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc";
# Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find
# the library headers and binaries, regarless of the language being
@ -432,8 +461,7 @@ stdenv.mkDerivation ({
# On GNU/Hurd glibc refers to Mach & Hurd
# headers.
++ optionals (libcCross != null &&
hasAttr "propagatedBuildInputs" libcCross)
++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs" )
libcCross.propagatedBuildInputs)));
LIBRARY_PATH = concatStrings
@ -456,14 +484,10 @@ stdenv.mkDerivation ({
" -L${libpthreadCross}/lib -Wl,${libpthreadCross.TARGET_LDFLAGS}")
else null;
passthru = { inherit langC langCC langAda langFortran langVhdl
langGo enableMultilib version; };
passthru =
{ inherit langC langCC langAda langFortran langVhdl langGo enableMultilib version; };
/* From gccinstall.info:
"parallel make is currently not supported since collisions in profile
collecting may occur"
*/
enableParallelBuilding = !profiledCompiler;
inherit enableParallelBuilding;
meta = {
homepage = http://gcc.gnu.org/;
@ -480,11 +504,7 @@ stdenv.mkDerivation ({
compiler used in the GNU system including the GNU/Linux variant.
'';
maintainers = [
stdenv.lib.maintainers.ludo
stdenv.lib.maintainers.viric
stdenv.lib.maintainers.shlevy
];
maintainers = with stdenv.lib.maintainers; [ ludo viric shlevy simons ];
# Volunteers needed for the {Cyg,Dar}win ports of *PPL.
# gnatboot is not available out of linux platforms, so we disable the darwin build

View File

@ -0,0 +1,32 @@
Hacky work-around for highly parallel builds.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57125
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index aad927c..182f666 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -3908,21 +3908,21 @@ build/gengtype-lex.o: $(BCONFIG_H)
gengtype-parse.o build/gengtype-parse.o : gengtype-parse.c gengtype.h \
$(SYSTEM_H)
-gengtype-parse.o: $(CONFIG_H)
+gengtype-parse.o: $(CONFIG_H) $(BCONFIG_H)
CFLAGS-gengtype-parse.o += -DGENERATOR_FILE
build/gengtype-parse.o: $(BCONFIG_H)
gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \
gengtype.h errors.h double-int.h version.h $(HASHTAB_H) $(OBSTACK_H) \
$(XREGEX_H)
-gengtype-state.o: $(CONFIG_H)
+gengtype-state.o: $(CONFIG_H) $(BCONFIG_H)
CFLAGS-gengtype-state.o += -DGENERATOR_FILE
build/gengtype-state.o: $(BCONFIG_H)
gengtype.o build/gengtype.o : gengtype.c $(SYSTEM_H) gengtype.h \
rtl.def insn-notes.def errors.h double-int.h version.h $(HASHTAB_H) \
$(OBSTACK_H) $(XREGEX_H)
-gengtype.o: $(CONFIG_H)
+gengtype.o: $(CONFIG_H) $(BCONFIG_H)
CFLAGS-gengtype.o += -DGENERATOR_FILE
build/gengtype.o: $(BCONFIG_H)

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
buildInputs = [ ghc perl gmp ncurses ];
enableParallelBuilding = true;
enableParallelBuilding = false; # the same errors as 7.6.1
buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"

View File

@ -1,21 +0,0 @@
#! /bin/sh
# Usage:
# $1: version of GHC
# $2: invocation path of GHC
# $3: prefix
version="$1"
if test -z "$3"; then
prefix="-package-conf "
else
prefix="$3"
fi
PATH="$2:$PATH"
IFS=":"
for p in $PATH; do
PkgDir="$p/../lib/ghc-pkgs/ghc-$version"
for i in $PkgDir/*.installedconf; do
# output takes place here
test -f $i && echo -n " $prefix$i"
done
done
test -f "$2/../lib/ghc-$version/package.conf" && echo -n " $prefix$2/../lib/ghc-$version/package.conf"

View File

@ -0,0 +1,41 @@
{ stdenv, fetchurl, perl, groff, cmake, python, libffi, binutils }:
let
version = "3.3";
in stdenv.mkDerivation rec {
name = "llvm-${version}";
src = fetchurl {
url = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz";
sha256 = "0y3mfbb5qzcpw3v5qncn69x1hdrrrfirgs82ypi2annhf0g6nxk8";
};
patches = [
./more-memory-for-bugpoint.patch # The default rlimits in 3.3 are too low for shared libraries.
./no-rule-aarch64.patch # http://llvm.org/bugs/show_bug.cgi?id=16625
];
buildInputs = [ perl groff cmake python libffi ];
# hacky fix: created binaries need to be run before installation
preBuild = let LD = if stdenv.isDarwin then "DYLD" else "LD";
in "export ${LD}_LIBRARY_PATH='$$${LD}_LIBRARY_PATH:'`pwd`/lib";
cmakeFlags = with stdenv; [
"-DCMAKE_BUILD_TYPE=Release"
"-DLLVM_ENABLE_FFI=ON"
"-DLLVM_BINUTILS_INCDIR=${binutils}/include"
"-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=R600" # for mesa
] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON";
enableParallelBuilding = true;
doCheck = true;
meta = with stdenv.lib; {
description = "Collection of modular and reusable compiler and toolchain technologies";
homepage = http://llvm.org/;
license = licenses.bsd3;
maintainers = with maintainers; [ lovek323 raskin viric ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,8 @@
--- llvm/lib/Target/AArch64/Utils/CMakeLists.txt 2013/05/18 04:32:15 182189
+++ llvm/lib/Target/AArch64/Utils/CMakeLists.txt 2013/05/18 08:17:47 182190
@@ -3,3 +3,5 @@
add_llvm_library(LLVMAArch64Utils
AArch64BaseInfo.cpp
)
+
+add_dependencies(LLVMAArch64Utils AArch64CommonTableGen)

View File

@ -0,0 +1,8 @@
diff -Naur clang-3.4-orig/tools/extra/CMakeLists.txt clang-3.4/tools/extra/CMakeLists.txt
--- clang-3.4-orig/tools/extra/CMakeLists.txt 2013-11-07 19:08:23.000000000 -0500
+++ clang-3.4/tools/extra/CMakeLists.txt 2014-01-20 11:47:22.678435223 -0500
@@ -1,3 +1,4 @@
+include(CheckLibraryExists)
check_library_exists(edit el_init "" HAVE_LIBEDIT)
add_subdirectory(clang-apply-replacements)

View File

@ -0,0 +1,41 @@
{ stdenv, fetch, cmake, libxml2, libedit, llvm, version }:
stdenv.mkDerivation {
name = "clang-${version}";
unpackPhase = ''
unpackFile ${fetch "clang" "06rb4j1ifbznl3gfhl98s7ilj0ns01p7y7zap4p7ynmqnc6pia92"}
mv clang-${version} clang
sourceRoot=$PWD/clang
unpackFile ${fetch "clang-tools-extra" "1d1822mwxxl9agmyacqjw800kzz5x8xr0sdmi8fgx5xfa5sii1ds"}
mv clang-tools-extra-${version} $sourceRoot/tools/extra
# !!! Hopefully won't be needed for 3.5
unpackFile ${llvm.src}
export cmakeFlags="$cmakeFlags -DCLANG_PATH_TO_LLVM_SOURCE=$PWD/llvm-${version}"
(cd llvm-${version} && patch -Np1 -i ${./llvm-separate-build.patch})
'';
patches = [ ./clang-separate-build.patch ];
buildInputs = [ cmake libedit libxml2 ];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DCMAKE_CXX_FLAGS=-std=c++11"
"-DCLANG_PATH_TO_LLVM_BUILD=${llvm}"
] ++
(stdenv.lib.optional (stdenv.gcc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include") ++
(stdenv.lib.optional (stdenv.gcc.gcc != null) "-DGCC_INSTALL_PREFIX=${stdenv.gcc.gcc}");
passthru.gcc = stdenv.gcc.gcc;
enableParallelBuilding = true;
meta = {
description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler";
homepage = http://llvm.org/;
license = stdenv.lib.licenses.bsd3;
maintainers = [ stdenv.lib.maintainers.shlevy ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,25 @@
{ newScope, stdenv, isl, fetchurl }:
let
callPackage = newScope (self // { inherit stdenv isl version fetch; });
version = "3.4";
fetch = name: sha256: fetchurl {
url = "http://llvm.org/releases/${version}/${name}-${version}.src.tar.gz";
inherit sha256;
};
self = {
llvm = callPackage ./llvm.nix {};
clang = callPackage ./clang.nix {};
lld = callPackage ./lld.nix {};
lldb = callPackage ./lldb.nix {};
polly = callPackage ./polly.nix {};
dragonegg = callPackage ./dragonegg.nix {};
};
in self

View File

@ -1,13 +1,9 @@
{stdenv, fetchurl, llvm, gmp, mpfr, mpc, ncurses, zlib}:
{stdenv, fetch, llvm, gmp, mpfr, mpc, ncurses, zlib, version}:
stdenv.mkDerivation rec {
version = "3.4";
name = "dragonegg-${version}";
src = fetchurl {
url = "http://llvm.org/releases/${version}/${name}.src.tar.gz";
sha256 = "1733czbvby1ww3xkwcwmm0km0bpwhfyxvf56wb0zv5gksp3kbgrl";
};
src = fetch "dragonegg" "1733czbvby1ww3xkwcwmm0km0bpwhfyxvf56wb0zv5gksp3kbgrl";
# The gcc the plugin will be built for (the same used building dragonegg)
GCC = "gcc";
@ -24,7 +20,7 @@ stdenv.mkDerivation rec {
homepage = http://dragonegg.llvm.org/;
description = "gcc plugin that replaces gcc's optimizers and code generators by those in LLVM";
license = "GPLv2+";
maintainers = with stdenv.lib.maintainers; [viric];
maintainers = with stdenv.lib.maintainers; [viric shlevy];
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@ -0,0 +1,31 @@
{ stdenv, fetch, cmake, llvm, ncurses, zlib, python, version }:
stdenv.mkDerivation {
name = "lld-${version}";
src = fetch "lld" "1sd4scqynryfrmcc4h0ljgwn2dgjmbbmf38z50ya6l0janpd2nxz";
preUnpack = ''
# !!! Hopefully won't be needed for 3.5
unpackFile ${llvm.src}
export cmakeFlags="$cmakeFlags -DLLD_PATH_TO_LLVM_SOURCE=$PWD/llvm-${version}"
'';
buildInputs = [ cmake ncurses zlib python ];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DCMAKE_CXX_FLAGS=-std=c++11"
"-DLLD_PATH_TO_LLVM_BUILD=${llvm}"
];
enableParallelBuilding = true;
meta = {
description = "A set of modular code for creating linker tools";
homepage = http://llvm.org/;
license = stdenv.lib.licenses.bsd3;
maintainers = [ stdenv.lib.maintainers.shlevy ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,44 @@
{ stdenv
, fetch
, cmake
, zlib
, ncurses
, swig
, which
, libedit
, llvm
, clang
, python
, version
}:
stdenv.mkDerivation {
name = "lldb-${version}";
src = fetch "lldb" "0h8cmjrhjhigk7k2qll1pcf6jfgmbdzkzfz2i048pkfg851s0x4g";
patchPhase = ''
sed -i 's|/usr/bin/env||' \
scripts/Python/finish-swig-Python-LLDB.sh \
scripts/Python/build-swig-Python.sh
'';
buildInputs = [ cmake python which swig ncurses zlib libedit ];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DCMAKE_CXX_FLAGS=-std=c++11"
"-DLLDB_PATH_TO_LLVM_BUILD=${llvm}"
"-DLLDB_PATH_TO_CLANG_BUILD=${clang}"
];
enableParallelBuilding = true;
meta = {
description = "A next-generation high-performance debugger";
homepage = http://llvm.org/;
license = stdenv.lib.licenses.bsd3;
maintainers = [ stdenv.lib.maintainers.shlevy ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,12 @@
diff -Naur llvm-3.4-orig/cmake/modules/TableGen.cmake llvm-3.4/cmake/modules/TableGen.cmake
--- llvm-3.4-orig/cmake/modules/TableGen.cmake 2013-10-06 21:00:07.000000000 -0400
+++ llvm-3.4/cmake/modules/TableGen.cmake 2014-01-20 13:06:55.273022149 -0500
@@ -78,8 +78,6 @@
endif()
macro(add_tablegen target project)
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR})
-
set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
add_llvm_utility(${target} ${ARGN})

View File

@ -0,0 +1,55 @@
{ stdenv
, fetch
, perl
, groff
, cmake
, python
, libffi
, binutils
, libxml2
, valgrind
, ncurses
, version
}:
let
src = fetch "llvm" "0a169ba045r4apb9cv6ncrwl83l7yiajnzirkcdlhj1cd4nn3995";
in stdenv.mkDerivation rec {
name = "llvm-${version}";
unpackPhase = ''
unpackFile ${src}
mv llvm-${version} llvm
sourceRoot=$PWD/llvm
unpackFile ${fetch "compiler-rt" "0p5b6varxdqn7q3n77xym63hhq4qqxd2981pfpa65r1w72qqjz7k"}
mv compiler-rt-${version} $sourceRoot/projects/compiler-rt
'';
buildInputs = [ perl groff cmake libxml2 python libffi valgrind ncurses ];
# hacky fix: created binaries need to be run before installation
preBuild = ''
mkdir -p $out/
ln -sv $PWD/lib $out
'';
postBuild = "rm -fR $out";
cmakeFlags = with stdenv; [
"-DCMAKE_BUILD_TYPE=Release"
"-DLLVM_ENABLE_FFI=ON"
"-DLLVM_BINUTILS_INCDIR=${binutils}/include"
"-DCMAKE_CXX_FLAGS=-std=c++11"
] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON";
enableParallelBuilding = true;
passthru.src = src;
meta = {
description = "Collection of modular and reusable compiler and toolchain technologies";
homepage = http://llvm.org/;
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ shlevy lovek323 raskin viric ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,12 @@
diff -Naur polly-3.4-orig/CMakeLists.txt polly-3.4/CMakeLists.txt
--- polly-3.4-orig/CMakeLists.txt 2013-11-21 06:51:46.000000000 -0500
+++ polly-3.4/CMakeLists.txt 2014-01-20 18:49:34.907919933 -0500
@@ -53,7 +53,7 @@
execute_process(COMMAND "${LLVM_INSTALL_ROOT}/bin/llvm-config" --cxxflags
OUTPUT_VARIABLE LLVM_CXX_FLAGS
OUTPUT_STRIP_TRAILING_WHITESPACE)
- set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS})
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS}")
endif(NOT DEFINED LLVM_MAIN_SRC_DIR)
set(POLLY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})

View File

@ -0,0 +1,27 @@
{ stdenv, fetch, cmake, isl, python, gmp, llvm, version }:
stdenv.mkDerivation {
name = "polly-${version}";
src = fetch "polly" "1rqflmgzg1vzjm0r32c5ck8x3q0qm3g0hh8ggbjazh6x7nvmy6lz";
patches = [ ./polly-separate-build.patch ];
buildInputs = [ cmake isl python gmp ];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DCMAKE_CXX_FLAGS=-std=c++11"
"-DLLVM_INSTALL_ROOT=${llvm}"
];
enableParallelBuilding = true;
meta = {
description = "A polyhedral optimizer for llvm";
homepage = http://llvm.org/;
license = stdenv.lib.licenses.bsd3;
maintainers = [ stdenv.lib.maintainers.shlevy ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,47 +0,0 @@
{ stdenv, fetchurl, perl, groff, cmake, python, libffi, binutils_gold, version }:
with { inherit (stdenv.lib) optional; };
assert version == "3.4" || version == "3.3";
stdenv.mkDerivation rec {
name = "llvm-${version}";
src = fetchurl {
url = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz";
sha256 =
if version == "3.4" then "0a169ba045r4apb9cv6ncrwl83l7yiajnzirkcdlhj1cd4nn3995"
else /*3.3*/ "0y3mfbb5qzcpw3v5qncn69x1hdrrrfirgs82ypi2annhf0g6nxk8";
};
# The default rlimits are too low for shared libraries.
patches = optional (version == "3.3") [ ./more-memory-for-bugpoint.patch ];
# libffi was propagated before, but it wasn't even being used, so
# unless something needs it just an input is fine.
buildInputs = [ perl groff cmake python libffi ]; # ToDo: polly, libc++; enable cxx11?
# hacky fix: created binaries need to be run before installation
preBuild = let LD = if stdenv.isDarwin then "DYLD" else "LD";
in "export ${LD}_LIBRARY_PATH='$$${LD}_LIBRARY_PATH:'`pwd`/lib";
cmakeFlags = with stdenv; [
"-DCMAKE_BUILD_TYPE=Release"
"-DLLVM_ENABLE_FFI=ON"
"-DLLVM_BINUTILS_INCDIR=${binutils_gold}/include"
]
++ optional (version == "3.3") "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=R600" # for mesa
++ optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON";
enableParallelBuilding = true;
doCheck = true;
meta = with stdenv.lib; {
description = "Collection of modular and reusable compiler and toolchain technologies";
homepage = http://llvm.org/;
license = licenses.bsd3;
maintainers = with maintainers; [ lovek323 raskin viric ];
platforms = platforms.all;
};
}

View File

@ -1,89 +0,0 @@
{ stdenv
, fetchurl
, perl, groff
, cmake
, libxml2
, python
, libffi
, zlib
, ncurses
, isl
, gmp
, doxygen
, binutils_gold
, swig
, which
, libedit
, valgrind
}:
let
version = "3.4";
fetch = name: sha256: fetchurl {
url = "http://llvm.org/releases/${version}/${name}-${version}.src.tar.gz";
inherit sha256;
};
inherit (stdenv.lib) concatStrings mapAttrsToList;
in stdenv.mkDerivation {
name = "llvm-full-${version}";
unpackPhase = ''
unpackFile ${fetch "llvm" "0a169ba045r4apb9cv6ncrwl83l7yiajnzirkcdlhj1cd4nn3995"}
mv llvm-${version} llvm
sourceRoot=$PWD/llvm
${concatStrings (mapAttrsToList (name: { location, sha256 }: ''
unpackFile ${fetch name sha256}
mv ${name}-${version} $sourceRoot/${location}
'') {
clang = { location = "tools/clang"; sha256 = "06rb4j1ifbznl3gfhl98s7ilj0ns01p7y7zap4p7ynmqnc6pia92"; };
clang-tools-extra = { location = "tools/clang/tools/extra"; sha256 = "1d1822mwxxl9agmyacqjw800kzz5x8xr0sdmi8fgx5xfa5sii1ds"; };
compiler-rt = { location = "projects/compiler-rt"; sha256 = "0p5b6varxdqn7q3n77xym63hhq4qqxd2981pfpa65r1w72qqjz7k"; };
lld = { location = "tools/lld"; sha256 = "1sd4scqynryfrmcc4h0ljgwn2dgjmbbmf38z50ya6l0janpd2nxz"; };
lldb = { location = "tools/lldb"; sha256 = "0h8cmjrhjhigk7k2qll1pcf6jfgmbdzkzfz2i048pkfg851s0x4g"; };
polly = { location = "tools/polly"; sha256 = "1rqflmgzg1vzjm0r32c5ck8x3q0qm3g0hh8ggbjazh6x7nvmy6lz"; };
})}
sed -i 's|/usr/bin/env||' \
$sourceRoot/tools/lldb/scripts/Python/finish-swig-Python-LLDB.sh \
$sourceRoot/tools/lldb/scripts/Python/build-swig-Python.sh
'';
buildInputs = [ perl
groff
cmake
libxml2
python
libffi
zlib
ncurses
isl
gmp
doxygen
swig
which
libedit
valgrind
];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DLLVM_ENABLE_FFI=ON"
"-DGCC_INSTALL_PREFIX=${stdenv.gcc.gcc}"
"-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include/"
"-DLLVM_BINUTILS_INCDIR=${binutils_gold}/include"
"-DCMAKE_CXX_FLAGS=-std=c++11"
];
passthru.gcc = stdenv.gcc.gcc;
enableParallelBuilding = true;
meta = {
description = "Collection of modular and reusable compiler and toolchain technologies";
homepage = http://llvm.org/;
license = stdenv.lib.licenses.bsd3;
maintainers = [ stdenv.lib.maintainers.shlevy ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,23 +1,26 @@
{ stdenv, fetchurl, gmp }:
let
version = "20130715";
in
stdenv.mkDerivation rec {
name = "mlton-20100608";
name = "mlton-${version}";
binSrc =
if stdenv.system == "i686-linux" then (fetchurl {
url = "http://sourceforge.net/projects/mlton/files/mlton/20100608/${name}-1.x86-linux.static.tgz";
sha256 = "16qg8df9hg2pmnsblkgxp6bgm7334rsqkxqzskv5fl21wivmnwfw";
url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}-1.x86-linux.tgz";
sha256 = "1kxjjmnw4xk2d9hpvz43w9dvyhb3025k4zvjx785c33nrwkrdn4j";
})
else if stdenv.system == "x86_64-linux" then (fetchurl {
url = "http://sourceforge.net/projects/mlton/files/mlton/20100608/${name}-1.amd64-linux.static.tgz";
sha256 = "0i6ic8f6prl0cigrmf6bj9kqz3plzappxn17lz1rg2v832nfbw9r";
url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}-1.amd64-linux.tgz";
sha256 = "0fyhwxb4nmpirjbjcvk9f6w67gmn2gkz7xcgz0xbfih9kc015ygn";
})
else throw "Architecture not supported";
codeSrc =
fetchurl {
url = "http://sourceforge.net/projects/mlton/files/mlton/20100608/${name}.src.tgz";
sha256 = "0cqb3k6ld9965hyyfyayi510f205vqzd5qqm3crh13nasvq2rjzj";
url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}.src.tgz";
sha256 = "0v1x2hrh9hiqkvnbq11kf34v4i5a2x0ffxbzqaa8skyl26nmfn11";
};
srcs = [ binSrc codeSrc ];

View File

@ -65,6 +65,7 @@ stdenv.mkDerivation rec {
"DEVTOOLS_PATH="
"UNIXCOMMAND_PATH="
"BOOTDIR=${jdk}"
"STATIC_CXX=false"
"UNLIMITED_CRYPTO=1"
];

View File

@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
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

View File

@ -0,0 +1,11 @@
--- 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`"

View File

@ -6,6 +6,10 @@ let
in
with {
inherit (stdenv.lib) optional optionalString;
};
stdenv.mkDerivation rec {
name = "perl-5.16.3";
@ -18,7 +22,8 @@ stdenv.mkDerivation rec {
[ # Do not look in /usr etc. for dependencies.
./no-sys-dirs.patch
]
++ stdenv.lib.optionals stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ;
++ optional stdenv.isSunOS ./ld-shared.patch
++ stdenv.lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./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
@ -34,7 +39,7 @@ stdenv.mkDerivation rec {
"-Dlocincpth=${libc}/include"
"-Dloclibpth=${libc}/lib"
]
++ stdenv.lib.optional (stdenv ? glibc) "-Dusethreads";
++ optional (stdenv ? glibc) "-Dusethreads";
configureScript = "${stdenv.shell} ./Configure";
@ -46,12 +51,12 @@ stdenv.mkDerivation rec {
''
configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
${stdenv.lib.optionalString stdenv.isArm ''
${optionalString stdenv.isArm ''
configureFlagsArray=(-Dldflags="-lm -lrt")
''}
'';
preBuild = stdenv.lib.optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools))
preBuild = 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)'"
@ -59,5 +64,27 @@ stdenv.mkDerivation rec {
setupHook = ./setup-hook.sh;
doCheck = !stdenv.isDarwin;
# some network-related tests don't work, mostly probably due to our sandboxing
testsToSkip = ''
lib/Net/hostent.t \
dist/IO/t/{io_multihomed.t,io_sock.t} \
t/porting/{maintainers.t,regen.t} \
cpan/Socket/t/get{name,addr}info.t \
'' + optionalString stdenv.isFreeBSD ''
cpan/CPANPLUS/t/04_CPANPLUS-Module.t \
cpan/CPANPLUS/t/20_CPANPLUS-Dist-MM.t \
'' + " ";
postPatch = optionalString (!stdenv.isDarwin) /* this failed on Darwin, no idea why */ ''
for test in ${testsToSkip}; do
echo "Removing test" $test
rm "$test"
pat=`echo "$test" | sed 's,/,\\\\/,g'` # just escape slashes
sed "/^$pat/d" -i MANIFEST
done
'';
passthru.libPrefix = "lib/perl5/site_perl";
}

View File

@ -0,0 +1,11 @@
--- perl-5.16.2/hints/solaris_2.sh.orig 2013-02-14 19:29:49.453988140 +0000
+++ perl-5.16.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`"

View File

@ -1,7 +1,8 @@
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 @@
diff --git a/Configure b/Configure
index fdbbf20..ba1fd07 100755
--- a/Configure
+++ b/Configure
@@ -106,15 +106,7 @@ if test -d c:/. || ( uname -a | grep -i 'os\(/\|\)2' ) 2>&1 >/dev/null ; then
fi
: Proper PATH setting
@ -18,7 +19,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
for p in $paths
do
@@ -1311,8 +1303,7 @@
@@ -1323,8 +1315,7 @@ archobjs=''
archname=''
: Possible local include directories to search.
: Set locincpth to "" in a hint file to defeat local include searches.
@ -28,8 +29,8 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
:
: no include file wanted by default
inclwanted=''
@@ -1328,17 +1319,12 @@
archobjs=''
@@ -1335,17 +1326,12 @@ DEBUGGING=''
libnames=''
: change the next line if compiling for Xenix/286 on Xenix/386
-xlibpth='/usr/lib/386 /lib/386'
@ -49,7 +50,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
: Private path used by Configure to find libraries. Its value
: is prepended to libpth. This variable takes care of special
@@ -1371,8 +1357,6 @@
@@ -1380,8 +1366,6 @@ 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"
: We probably want to search /usr/shlib before most other libraries.
: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
@ -58,7 +59,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
: Do not use vfork unless overridden by a hint file.
usevfork=false
@@ -2380,7 +2364,6 @@
@@ -2389,7 +2373,6 @@ uname
zip
"
pth=`echo $PATH | sed -e "s/$p_/ /g"`
@ -66,7 +67,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
for file in $loclist; do
eval xxx=\$$file
case "$xxx" in
@@ -4785,7 +4768,7 @@
@@ -4708,7 +4691,7 @@ $rm -f testcpp.c testcpp.out
: Set private lib path
case "$plibpth" in
'') if ./mips; then
@ -75,7 +76,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
fi;;
esac
case "$libpth" in
@@ -8390,13 +8373,8 @@
@@ -8354,13 +8337,8 @@ esac
echo " "
case "$sysman" in
'')
@ -91,7 +92,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
;;
esac
if $test -d "$sysman"; then
@@ -19721,9 +19699,10 @@
@@ -19742,9 +19720,10 @@ $rm_try tryp
case "$full_ar" in
'') full_ar=$ar ;;
esac
@ -103,10 +104,11 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
: 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 @@
diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
index 439f254..2cdfdb0 100644
--- a/ext/Errno/Errno_pm.PL
+++ b/ext/Errno/Errno_pm.PL
@@ -137,11 +137,7 @@ sub get_files {
if ($dep =~ /(\S+errno\.h)/) {
$file{$1} = 1;
}
@ -119,10 +121,11 @@ diff -ru -x '*~' perl-5.14.2-orig/ext/Errno/Errno_pm.PL perl-5.14.2/ext/Errno/Er
# 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 @@
diff --git a/hints/freebsd.sh b/hints/freebsd.sh
index a67c0bb..0f07ca5 100644
--- a/hints/freebsd.sh
+++ b/hints/freebsd.sh
@@ -119,21 +119,21 @@ case "$osvers" in
objformat=`/usr/bin/objformat`
if [ x$objformat = xaout ]; then
if [ -e /usr/lib/aout ]; then
@ -150,3 +153,73 @@ diff -ru -x '*~' perl-5.14.2-orig/hints/freebsd.sh perl-5.14.2/hints/freebsd.sh
ldflags="-Wl,-E "
lddlflags="-shared "
cccdlflags='-DPIC -fPIC'
diff --git a/hints/linux.sh b/hints/linux.sh
index 688c68d..c12f5f5 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -60,17 +60,6 @@ libswanted="$*"
# Debian 4.0 puts ndbm in the -lgdbm_compat library.
libswanted="$libswanted gdbm_compat"
-# If you have glibc, then report the version for ./myconfig bug reporting.
-# (Configure doesn't need to know the specific version since it just uses
-# gcc to load the library for all tests.)
-# We don't use __GLIBC__ and __GLIBC_MINOR__ because they
-# are insufficiently precise to distinguish things like
-# libc-2.0.6 and libc-2.0.7.
-if test -L /lib/libc.so.6; then
- libc=`ls -l /lib/libc.so.6 | awk '{print $NF}'`
- libc=/lib/$libc
-fi
-
# Configure may fail to find lstat() since it's a static/inline
# function in <sys/stat.h>.
d_lstat=define
@@ -154,24 +143,6 @@ case "$optimize" in
;;
esac
-# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
-# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us
-# where to look. We don't want gcc's own libraries, however, so we
-# filter those out.
-# This could be conditional on Unbuntu, but other distributions may
-# follow suit, and this scheme seems to work even on rather old gcc's.
-# This unconditionally uses gcc because even if the user is using another
-# compiler, we still need to find the math library and friends, and I don't
-# know how other compilers will cope with that situation.
-# Morever, if the user has their own gcc earlier in $PATH than the system gcc,
-# we don't want its libraries. So we try to prefer the system gcc
-# Still, as an escape hatch, allow Configure command line overrides to
-# plibpth to bypass this check.
-if [ -x /usr/bin/gcc ] ; then
- gcc=/usr/bin/gcc
-else
- gcc=gcc
-fi
case "$plibpth" in
'') plibpth=`LANG=C LC_ALL=C $gcc -print-search-dirs | grep libraries |
@@ -345,22 +316,6 @@ sparc*)
;;
esac
-# SuSE8.2 has /usr/lib/libndbm* which are ld scripts rather than
-# true libraries. The scripts cause binding against static
-# version of -lgdbm which is a bad idea. So if we have 'nm'
-# make sure it can read the file
-# NI-S 2003/08/07
-if [ -r /usr/lib/libndbm.so -a -x /usr/bin/nm ] ; then
- if /usr/bin/nm /usr/lib/libndbm.so >/dev/null 2>&1 ; then
- echo 'Your shared -lndbm seems to be a real library.'
- else
- echo 'Your shared -lndbm is not a real library.'
- set `echo X "$libswanted "| sed -e 's/ ndbm / /'`
- shift
- libswanted="$*"
- fi
-fi
-
# This script UU/usethreads.cbu will get 'called-back' by Configure
# after it has prompted the user for whether to use threads.

View File

@ -45,7 +45,7 @@ let
C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
configureFlags = "--enable-shared --with-threads --enable-unicode --with-wctype-functions";
configureFlags = "--enable-shared --with-threads --enable-unicode";
preConfigure =
''

View File

@ -59,7 +59,7 @@ let
C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
configureFlags = "--enable-shared --with-threads --enable-unicode --with-wctype-functions";
configureFlags = "--enable-shared --with-threads --enable-unicode";
preConfigure = "${ensurePurity}" + optionalString stdenv.isCygwin
''

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, gettext, attr }:
stdenv.mkDerivation rec {
name = "acl-2.2.51";
name = "acl-2.2.52";
src = fetchurl {
url = "mirror://savannah/acl/${name}.src.tar.gz";
sha256 = "09aj30m49ivycl3irram8c3givc0crivjm3ymw0nhfaxrwhlb186";
sha256 = "08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p";
};
nativeBuildInputs = [ gettext ];

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, gettext }:
stdenv.mkDerivation rec {
name = "attr-2.4.46";
name = "attr-2.4.47";
src = fetchurl {
url = "mirror://savannah/attr/${name}.src.tar.gz";
sha256 = "07qf6kb2zk512az481bbnsk9jycn477xpva1a726n5pzlzf9pmnw";
sha256 = "0nd8y0m6awc9ahv0ciiwf8gy54c8d3j51pw9xg7f7cn579jjyxr5";
};
nativeBuildInputs = [ gettext ];

View File

@ -1,11 +1,11 @@
{ fetchurl, stdenv, gmp, isl }:
stdenv.mkDerivation rec {
name = "cloog-0.16.3";
name = "cloog-0.18.0";
src = fetchurl {
url = "http://www.bastoul.net/cloog/pages/download/count.php3?url=./${name}.tar.gz";
sha256 = "0lzbsszfzsr0jfwkccfbsvx913d2yc45dqwa472plmxkhbwykmc9";
sha256 = "1c4aa8dde7886be9cbe0f9069c334843b21028f61d344a2d685f88cb1dcf2228";
};
buildInputs = [ gmp ];

View File

@ -9,6 +9,15 @@ stdenv.mkDerivation rec {
sha256 = "05ylhrcglm81dajbk132l1w892634z2i97x10fm64y1ih72phd2q";
};
patches = [
(fetchurl {
url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-libs/coin/files/coin-3.1.3-gcc-4.7.patch;
name = "gcc-4.7.patch";
sha256 = "076dyc52swk8qc7ylps53fg6iqmd52x8s7m18i80x49dd109yw20";
})
./gcc-4.8.patch # taken from FC-17 source rpm
];
buildInputs = [ mesa ];
meta = {

View File

@ -0,0 +1,38 @@
From 9f5d96a2b9a71ab539237d2dab4c54fc46fc5c5b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu@corsepiu.home>
Date: Thu, 18 Apr 2013 19:17:06 +0200
Subject: [PATCH 10/10] GCC-4.8.0 fixes
---
src/fonts/freetype.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/fonts/freetype.cpp b/src/fonts/freetype.cpp
index 760b88b..e705d3a 100644
--- a/src/fonts/freetype.cpp
+++ b/src/fonts/freetype.cpp
@@ -32,18 +32,18 @@
20050613 mortene. */
-#include "fonts/freetype.h"
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif /* HAVE_CONFIG_H */
-#include <stdlib.h>
+#include <cstdlib>
#include <assert.h>
#include "glue/freetype.h"
#include "glue/GLUWrapper.h"
+#include "fonts/freetype.h"
+
/* ************************************************************************* */
#ifdef __cplusplus
--
1.8.1.4

View File

@ -8,12 +8,12 @@ stdenv.mkDerivation {
sha256 = "16lzgbpxdyhykdwndj1i9vx3h4bfkxqqcrvasvgg70gb5raxj0mj";
};
patches = [ ./patch.patch ];
patches = [ ./patch.patch ./gcc47.patch ];
propagatedBuildInputs = [ ilmbase ];
configureFlags = "--with-ilmbase-prefix=${ilmbase}";
#configurePhase = "
#export CXXFLAGS=\"-I${ilmbase}/include -L${ilmbase}/lib\"
#echo $CXXFLAGS

View File

@ -0,0 +1,15 @@
https://bugs.gentoo.org/426368
IlmCtl/CtlInterpreter.cpp | 1 +
1 file changed, 1 insertion(+)
--- a/IlmCtl/CtlInterpreter.cpp
+++ b/IlmCtl/CtlInterpreter.cpp
@@ -64,6 +64,7 @@
#include <fstream>
#include <algorithm>
#include <cassert>
+#include <unistd.h>
#ifdef WIN32
#include <io.h>

View File

@ -10,6 +10,12 @@ stdenv.mkDerivation rec {
sha256 = "0qafmy2i6dzx4n1dqp6pygyy6gjljnb7hwjcj2z11c1wgclsq4dw";
};
patches = [( fetchurl {
url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/dbus-c%2B%2B/files/dbus-c%2B%2B-0.9.0-gcc-4.7.patch;
name = "gcc-4.7.patch";
sha256 = "0rwcz9pvc13b3yfr0lkifnfz0vb5q6dg240bzgf37ni4s8rpc72g";
})];
buildInputs = [ dbus glib gtkmm pkgconfig expat ];
configureFlags = "--disable-ecore";

View File

@ -1,19 +1,17 @@
{ stdenv, fetchurl, libiconvOrEmpty }:
with { inherit (stdenv.lib) optionals optionalAttrs; };
{ stdenv, fetchurl, libiconv, xz }:
stdenv.mkDerivation (rec {
name = "gettext-0.18.1.1";
name = "gettext-0.18.2";
src = fetchurl {
url = "mirror://gnu/gettext/${name}.tar.gz";
sha256 = "1sa3ch12qxa4h3ya6hkz119yclcccmincl9j20dhrdx5mykp3b4k";
sha256 = "516a6370b3b3f46e2fc5a5e222ff5ecd76f3089bc956a7587a6e4f89de17714c";
};
patches = [ ./no-gets.patch ];
LDFLAGS = if stdenv.isSunOS then "-lm -lmd -lmp -luutil -lnvpair -lnsl -lidmap -lavl -lsec" else "";
configureFlags = [ "--disable-csharp" ]
++ (optionals stdenv.isCygwin
configureFlags = [ "--disable-csharp" "--with-xz" ]
++ (stdenv.lib.optionals stdenv.isCygwin
[ # We have a static libiconv, so we can only build the static lib.
"--disable-shared" "--enable-static"
@ -32,12 +30,12 @@ stdenv.mkDerivation (rec {
fi
'';
buildInputs = libiconvOrEmpty;
buildInputs = [ xz ] ++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
enableParallelBuilding = true;
crossAttrs = {
buildInputs = optional (stdenv.gccCross.libc ? libiconv)
buildInputs = stdenv.lib.optional (stdenv.gccCross.libc ? libiconv)
stdenv.gccCross.libc.libiconv.crossDrv;
# Gettext fails to guess the cross compiler
configureFlags = "CXX=${stdenv.cross.config}-g++";
@ -72,11 +70,11 @@ stdenv.mkDerivation (rec {
};
}
// optionalAttrs stdenv.isDarwin {
// stdenv.lib.optionalAttrs stdenv.isDarwin {
makeFlags = "CFLAGS=-D_FORTIFY_SOURCE=0";
}
// optionalAttrs stdenv.isCygwin {
// stdenv.lib.optionalAttrs stdenv.isCygwin {
patchPhase =
# Make sure `error.c' gets compiled and is part of `libgettextlib.la'.
# This fixes:

View File

@ -1,42 +0,0 @@
hack until gzip pulls a newer gnulib version
From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001
From: Eric Blake <eblake@redhat.com>
Date: Thu, 29 Mar 2012 13:30:41 -0600
Subject: [PATCH] stdio: don't assume gets any more
Gnulib intentionally does not have a gets module, and now that C11
and glibc have dropped it, we should be more proactive about warning
any user on a platform that still has a declaration of this dangerous
interface.
--- a/gettext-tools/libgettextpo/stdio.in.h
+++ b/gettext-tools/libgettextpo/stdio.in.h
@@ -125,7 +125,6 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
--- a/gettext-tools/gnulib-lib/stdio.in.h
+++ b/gettext-tools/gnulib-lib/stdio.in.h
@@ -125,7 +125,6 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
--- a/gettext-runtime/gnulib-lib/stdio.in.h
+++ b/gettext-runtime/gnulib-lib/stdio.in.h
@@ -125,7 +125,6 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@

View File

@ -54,7 +54,10 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ pcre zlib libffi ] ++ libiconvOrEmpty ++ libintlOrEmpty;
preConfigure = "autoreconf -fi";
configureFlags = "--with-pcre=system --disable-fam";
configureFlags = stdenv.lib.optional stdenv.isSunOS "--disable-modular-tests";
CPPFLAGS = stdenv.lib.optionalString stdenv.isSunOS "-DBSD_COMP";
NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-lintl";

View File

@ -56,14 +56,20 @@ stdenv.mkDerivation ({
./scanf.patch
/* The command "getconf CS_PATH" returns the default search path
"/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
./cve-2012-4412+4424.patch
./cve-2013-4237.patch
./cve-2013-4332.patch
./cve-2013-4458.patch
./cve-2013-4788.patch
]
# the problem only seems to affect i686, so avoid re-hash x86_64 ATM
++ stdenv.lib.optional stdenv.isi686 ./strstr-sse42-hack.patch;
./strstr-sse42-hack.patch
];
postPatch = ''
# Needed for glibc to build with the gnumake 3.82

View File

@ -0,0 +1,6 @@
diff -ubr glibc-2.17-orig/sysdeps/unix/confstr.h glibc-2.17/sysdeps/unix/confstr.h
--- glibc-2.17-orig/sysdeps/unix/confstr.h 2013-06-03 22:01:44.829726968 +0200
+++ glibc-2.17/sysdeps/unix/confstr.h 2013-06-03 22:04:39.469376740 +0200
@@ -1 +1 @@
-#define CS_PATH "/bin:/usr/bin"
+#define CS_PATH "/run/current-system/sw/bin:/bin:/usr/bin"

View File

@ -23,7 +23,9 @@ stdenv.mkDerivation rec {
configureFlags = if cxx then "--enable-cxx" else "--disable-cxx";
doCheck = true;
# The test t-lucnum_ui fails (on Linux/x86_64) when built with GCC 4.8.
# Newer versions of GMP don't have that issue anymore.
doCheck = false;
meta = {
description = "GMP, the GNU multiple precision arithmetic library";

View File

@ -3,7 +3,7 @@
stdenv.mkDerivation rec {
name = "gmp-5.1.3";
src = fetchurl {
src = fetchurl { # we need to use bz2, others aren't in bootstrapping stdenv
urls = [ "mirror://gnu/gmp/${name}.tar.bz2" "ftp://ftp.gmplib.org/pub/${name}/${name}.tar.bz2" ];
sha256 = "0q5i39pxrasgn9qdxzpfbwhh11ph80p57x6hf48m74261d97j83m";
};
@ -15,7 +15,8 @@ stdenv.mkDerivation rec {
# (x86), except on Solaris where some tests crash with "Memory fault".
# See <http://hydra.nixos.org/build/2760931>, for instance.
(stdenv.lib.optional (!stdenv.isSunOS) "--enable-fat")
++ (if cxx then [ "--enable-cxx" ] else [ "--disable-cxx" ]);
++ (if cxx then [ "--enable-cxx" ] else [ "--disable-cxx" ])
++ (if stdenv.is64bit then [ "--with-pic" ] else []);
doCheck = true;

View File

@ -19,8 +19,8 @@ let version = "3.0u"; in stdenv.mkDerivation {
platforms = ["x86_64-linux" "i686-linux"];
};
buildFlags = [
"CC=cc"
makeFlags = [
"CC=gcc"
"AS=as"
"LD=ld"
"AR=ar"
@ -29,12 +29,12 @@ let version = "3.0u"; in stdenv.mkDerivation {
];
buildPhase = ''
make $buildFlags
make $buildFlags -C apps clean all
make $makeFlags
make $makeFlags -C apps clean all
'';
installPhase = ''
make PREFIX="$out" install
make PREFIX="$out" $makeFlags install
mkdir -pv $out/share/gnu-efi
install -D -m644 apps/*.efi $out/share/gnu-efi
'';

View File

@ -8,6 +8,10 @@ stdenv.mkDerivation rec {
sha256 = "18qf6jzz1r3mzb5qynywv4xx3z9g61hgkbpkdrhbgqh2g7jhgfc5";
};
# ToDo: there might be more impurities than FMA support check
patches = [ ./disable-fma.patch ]; # http://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html
patchFlags = "-p0";
doCheck = true;
meta = {

View File

@ -0,0 +1,32 @@
--- configure.ac 2011-09-22 16:13:22 +0000
+++ configure.ac 2011-11-26 23:55:24 +0000
@@ -381,6 +381,28 @@
AC_SUBST(HAVE_DARWIN_IEEE_INTERFACE)
AC_SUBST(HAVE_DARWIN86_IEEE_INTERFACE)
+dnl check for compiler flags to disable use of FMA
+save_cflags="$CFLAGS"
+AC_CACHE_CHECK([for compiler flags to disable use of FMA], ac_cv_c_fma_flags,
+[
+if test X"$GCC" = Xyes; then
+ fma_flags='-ffp-contract=off'
+else
+ fma_flags=
+fi
+if test X"$fma_flags" != X; then
+ CFLAGS="$fma_flags $CFLAGS"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int foo;]])],[ac_cv_c_fma_flags="$fma_flags"],[ac_cv_c_fma_flags="none"])
+else
+ ac_cv_c_fma_flags="none"
+fi])
+
+if test "$ac_cv_c_fma_flags" != "none" ; then
+ CFLAGS="$ac_cv_c_fma_flags $save_cflags"
+else
+ CFLAGS="$save_cflags"
+fi
+
dnl Check for IEEE control flags
save_cflags="$CFLAGS"

View File

@ -3,16 +3,14 @@
let
pname = "icu4c";
ver_maj = "52";
ver_min = "1";
version = "${ver_maj}.${ver_min}";
version = "52.1";
in
stdenv.mkDerivation {
name = pname + "-" + version;
src = fetchurl {
url = "http://download.icu-project.org/files/icu4c/${version}/icu4c-${ver_maj}_${ver_min}-src.tgz";
url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-"
+ (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz";
sha256 = "14l0kl17nirc34frcybzg0snknaks23abhdxkmsqg3k9sil5wk9g";
};

View File

@ -1,17 +1,15 @@
{ stdenv, fetchurl, gmp }:
stdenv.mkDerivation rec {
name = "isl-0.07"; # CLooG 0.16.3 fails to build with ISL 0.08.
name = "isl-0.11.1"; # CLooG 0.16.3 fails to build with ISL 0.08.
src = fetchurl {
urls = [
"http://www.kotnet.org/~skimo/isl/${name}.tar.bz2"
"ftp://ftp.linux.student.kuleuven.be/pub/people/skimo/isl/${name}.tar.bz2"
];
sha256 = "0kpxmvhrwwdygqqafqzjf9xiksq7paac2x24g9jhr3f9ajj3zkyx";
url = "http://pkgs.fedoraproject.org/repo/pkgs/gcc/isl-0.11.1.tar.bz2/bce1586384d8635a76d2f017fb067cd2/isl-0.11.1.tar.bz2";
sha256 = "13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9";
};
buildInputs = [ gmp ];
patches = [ ./fix-gcc-build.diff ];
meta = {
homepage = http://www.kotnet.org/~skimo/isl/;

View File

@ -0,0 +1,12 @@
diff -ru isl-0.11.1/include/isl/int.h isl-0.11.1.new/include/isl/int.h
--- isl-0.11.1/include/isl/int.h 2012-11-29 09:47:32.000000000 +0100
+++ isl-0.11.1.new/include/isl/int.h 2013-10-27 15:35:31.348553812 +0100
@@ -14,7 +14,7 @@
#include <string.h>
#include <gmp.h>
#if defined(__cplusplus)
-#include <iostream>
+#include <ostream>
#endif
#if defined(__cplusplus)

View File

@ -23,11 +23,13 @@ stdenv.mkDerivation (rec {
cd ${name}/src
'';
#doCheck = true; # report: No suitable file for testing purposes
enableParallelBuilding = true;
meta = {
description = "MIT Kerberos 5";
homepage = webpage;
license = "MPL";
description = "MIT Kerberos 5";
homepage = webpage;
license = "MPL";
};
})

View File

@ -2,11 +2,11 @@
, sharutils }:
stdenv.mkDerivation rec {
name = "libarchive-3.0.4";
name = "libarchive-3.1.2";
src = fetchurl {
url = "https://github.com/downloads/libarchive/libarchive/${name}.tar.gz";
sha256 = "76e8d7c7b100ec4071e48c1b7d3f3ea1d22b39db3e45b7189f75b5ff4df90fac";
url = "${meta.homepage}/downloads/${name}.tar.gz";
sha256 = "0pixqnrcf35dnqgv0lp7qlcw7k13620qkhgxr288v7p4iz6ym1zb";
};
buildInputs = [ sharutils libxml2 zlib bzip2 openssl xz ] ++
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
compressions formats including (but not limited to) tar, shar, cpio, zip, and
compressed with gzip, bzip2, lzma, xz, ..
'';
homepage = http://libarchive.github.com/;
homepage = http://libarchive.org;
license = stdenv.lib.licenses.bsd3;
platforms = with stdenv.lib.platforms; all;
maintainers = with stdenv.lib.maintainers; [ jcumming ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, fetchsvn, cmake, libcxxabi }:
{ stdenv, fetchurl, fetchsvn, cmake, libcxxabi, python }:
let
version = "3.4";
@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
sha256 = "1sqd5qhqj7qnn9zjxx9bv7ky4f7xgmh9sbgd53y1kszhg41217xx";
};
buildInputs = [ cmake libcxxabi ];
buildInputs = [ cmake libcxxabi python ];
cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release"
"-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${libcxxabi}/include"

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation (rec {
propagatedBuildInputs = [ libgpgerror ];
doCheck = true;
doCheck = stdenv.system != "i686-linux"; # "basic" test fails after stdenv+glibc-2.18
# For some reason the tests don't find `libgpg-error.so'.
checkPhase = ''

View File

@ -6,5 +6,6 @@ stdenv.mkDerivation rec {
url = "mirror://sourceforge/libmsn/${name}.tar.bz2";
sha256 = "338369c7455b123e84b9a7a858ac0ed2b1dc32e6529f460fdc01d28869a20fde";
};
patches = [ ./fix-ftbfs-gcc4.7.diff ];
buildInputs = [ cmake openssl ];
}

View File

@ -0,0 +1,16 @@
Fix g++ 4.7 build failure
Kudos to Matthias Klose for the patch
Index: libmsn-4.2/msn/util.cpp
===================================================================
--- libmsn-4.2.orig/msn/util.cpp 2009-07-22 19:57:10.000000000 +0000
+++ libmsn-4.2/msn/util.cpp 2012-04-16 20:52:18.068767213 +0000
@@ -25,6 +25,7 @@
#include <msn/util.h>
#include <sstream>
#include <errno.h>
+#include <unistd.h>
#include <cctype>
#include <fstream>
#include <openssl/rand.h>

View File

@ -1,13 +0,0 @@
diff -rc libofa-0.9.3/examples/protocol.cpp libofa-0.9.3-new/examples/protocol.cpp
*** libofa-0.9.3/examples/protocol.cpp 2006-05-10 14:05:42.000000000 -0400
--- libofa-0.9.3-new/examples/protocol.cpp 2011-11-06 09:24:05.653283203 -0500
***************
*** 12,18 ****
#include <map>
#include <expat.h>
#include <curl/curl.h>
- #include <curl/types.h>
#include <curl/easy.h>
using namespace std;
--- 12,17 ----

View File

@ -1,17 +1,24 @@
{ stdenv, fetchurl, expat, curl, fftw }:
let
version = "0.9.3";
deb_patch = "5";
in
stdenv.mkDerivation rec {
name = "libofa-0.9.3";
propagatedBuildInputs = [ expat curl fftw ];
patches = [ ./libofa-0.9.3-gcc-4.patch ./libofa-0.9.3-gcc-4.3.patch ./gcc-4.x.patch ./curl-types.patch ];
name = "libofa-${version}";
src = fetchurl {
url = "http://musicip-libofa.googlecode.com/files/${name}.tar.gz";
sha256 = "184ham039l7lwhfgg0xr2vch2xnw1lwh7sid432mh879adhlc5h2";
};
patches = fetchurl {
url = "mirror://debian/pool/main/libo/libofa/libofa_${version}-${deb_patch}.debian.tar.gz";
sha256 = "1rfkyz13cm8izm90c1xflp4rvsa24aqs6qpbbbqqcbmvzsj6j9yn";
};
propagatedBuildInputs = [ expat curl fftw ];
meta = {
homepage = http://code.google.com/musicip-libofa/;
description = "LibOFA - Library Open Fingerprint Architecture";

View File

@ -1,12 +0,0 @@
diff --git a/examples/example.cpp b/examples/example.cpp
index ef978d5..7d58a0f 100644
--- a/examples/example.cpp
+++ b/examples/example.cpp
@@ -10,6 +10,7 @@
#include "protocol.h"
#include <string.h>
+#include <stdio.h>
AudioData* loadWaveFile(char *file);
AudioData* loadDataUsingLAME(char *file);

View File

@ -1,36 +0,0 @@
Fix build with gcc >=4.3
diff -ur libofa-0.9.3.orig/examples/example.cpp libofa-0.9.3/examples/example.cpp
--- libofa-0.9.3.orig/examples/example.cpp 2006-05-10 21:05:37.000000000 +0300
+++ libofa-0.9.3/examples/example.cpp 2008-04-16 15:51:49.000000000 +0300
@@ -9,6 +9,8 @@
#include "protocol.h"
+#include <string.h>
+
AudioData* loadWaveFile(char *file);
AudioData* loadDataUsingLAME(char *file);
Vain hakemistossa libofa-0.9.3/examples: example.cpp.orig
diff -ur libofa-0.9.3.orig/examples/protocol.cpp libofa-0.9.3/examples/protocol.cpp
--- libofa-0.9.3.orig/examples/protocol.cpp 2006-05-10 21:05:42.000000000 +0300
+++ libofa-0.9.3/examples/protocol.cpp 2008-04-16 15:51:49.000000000 +0300
@@ -8,6 +8,7 @@
-------------------------------------------------------------------*/
#include <stdio.h>
#include <stdlib.h>
+#include <cstring>
#include <string>
#include <map>
#include <expat.h>
diff -ur libofa-0.9.3.orig/lib/signal_op.cpp libofa-0.9.3/lib/signal_op.cpp
--- libofa-0.9.3.orig/lib/signal_op.cpp 2006-05-10 21:01:12.000000000 +0300
+++ libofa-0.9.3/lib/signal_op.cpp 2008-04-16 15:51:49.000000000 +0300
@@ -12,6 +12,7 @@
// DATE CREATED: 1/12/06
+#include <cstdlib>
#include <math.h>
#include "signal_op.h"
#include "AFLIB/aflibConverter.h"

View File

@ -1,39 +0,0 @@
--- a/lib/JAMA/tnt_math_utils.h 2006-06-17 01:46:22.000000000 +0300
+++ b/lib/JAMA/tnt_math_utils.h 2006-06-17 01:47:02.000000000 +0300
@@ -20,11 +20,20 @@
namespace TNT
{
/**
+ @returns the absolute value of a real (no-complex) scalar.
+*/
+template <class Real>
+Real abs(const Real &a)
+{
+ return (a > 0 ? a : -a);
+}
+/**
@returns hypotenuse of real (non-complex) scalars a and b by
avoiding underflow/overflow
using (a * sqrt( 1 + (b/a) * (b/a))), rather than
sqrt(a*a + b*b).
*/
+
template <class Real>
Real hypot(const Real &a, const Real &b)
{
@@ -56,15 +65,6 @@
}
*/
-/**
- @returns the absolute value of a real (no-complex) scalar.
-*/
-template <class Real>
-Real abs(const Real &a)
-{
- return (a > 0 ? a : -a);
-}
-
}
#endif
/* MATH_UTILS_H */

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, cmake, zlib}:
{ stdenv, fetchurl, pkgconfig, cmake, zlib, glib }:
stdenv.mkDerivation rec {
name = "libproxy-0.4.11";
@ -6,5 +6,9 @@ stdenv.mkDerivation rec {
url = "http://libproxy.googlecode.com/files/${name}.tar.gz";
sha256 = "0jw6454gxjykmbnbh544axi8hzz9gmm4jz1y5gw1hdqnakg36gyw";
};
buildInputs = [cmake zlib];
nativeBuildInputs = [ pkgconfig cmake ];
propagatedBuildInputs = [ zlib ]
# now some optional deps, but many more are possible
++ [ glib ];
}

View File

@ -41,7 +41,7 @@ stdenv.mkDerivation (rec {
preInstall = ''substituteInPlace python/libxml2mod.la --replace "${python}" "$out"'';
installFlags = ''pythondir="$(out)/lib/${python.libPrefix}/site-packages"'';
} // stdenv.lib.optionalAttrs (!pythonSupport && stdenv.isFreeBSD) {
} // stdenv.lib.optionalAttrs (!pythonSupport) {
configureFlags = "--with-python=no"; # otherwise build impurity bites us
})

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, libxml2 }:
stdenv.mkDerivation (rec {
stdenv.mkDerivation rec {
name = "libxslt-1.1.28";
src = fetchurl {
@ -10,6 +10,17 @@ stdenv.mkDerivation (rec {
buildInputs = [ libxml2 ];
patches = stdenv.lib.optionals stdenv.isSunOS [ ./patch-ah.patch ];
configureFlags = [
"--with-libxml-prefix=${libxml2}"
"--without-python"
"--without-crypto"
"--without-debug"
"--without-mem-debug"
"--without-debugger"
];
postInstall = ''
mkdir -p $out/nix-support
ln -s ${libxml2}/nix-support/setup-hook $out/nix-support/
@ -22,15 +33,4 @@ stdenv.mkDerivation (rec {
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
} // (if !stdenv.isFreeBSD then {} else {
buildInputs = [];
configureFlags = [
"--with-libxml-prefix=${libxml2}"
"--without-python"
"--without-crypto"
"--without-debug"
"--without-mem-debug"
"--without-debugger"
];
}))
}

View File

@ -0,0 +1,69 @@
$NetBSD: patch-ah,v 1.3 2012/11/27 12:17:51 adam Exp $
Fix syms file for stricter solaris ld
--- libxslt-1.1.28/libxslt/libxslt.syms.orig 2012-11-27 12:04:43.000000000 +0000
+++ libxslt-1.1.28/libxslt/libxslt.syms
@@ -107,7 +107,7 @@ LIBXML2_1.0.11 {
xsltFreeCompMatchList;
xsltFreeTemplateHashes;
xsltGetTemplate;
- xsltMatchPattern;
+# xsltMatchPattern;
xsltTestCompMatchList;
# preproc
@@ -407,7 +407,7 @@ LIBXML2_1.1.18 {
global:
# xsltInternals
- xsltConstNamespaceNameXSLT; # variable
+# xsltConstNamespaceNameXSLT; # variable
xsltExtensionInstructionResultFinalize;
xsltExtensionInstructionResultRegister;
xsltInitCtxtKey;
@@ -416,24 +416,24 @@ LIBXML2_1.1.18 {
xsltInit;
# xsltInternals
- xsltParseAnyXSLTElem;
- xsltParseSequenceConstructor;
- xsltPointerListAddSize;
- xsltPointerListClear;
- xsltPointerListCreate;
- xsltPointerListFree;
+# xsltParseAnyXSLTElem;
+# xsltParseSequenceConstructor;
+# xsltPointerListAddSize;
+# xsltPointerListClear;
+# xsltPointerListCreate;
+# xsltPointerListFree;
xsltRegisterLocalRVT;
xsltReleaseRVT;
- xsltRestoreDocumentNamespaces;
+# xsltRestoreDocumentNamespaces;
# extensions
- xsltStyleStylesheetLevelGetExtData;
+# xsltStyleStylesheetLevelGetExtData;
# xsltInternals
# xsltTransStorageAdd; removed in 1.1.28
# xsltTransStorageRemove; removed in 1.1.28
xsltUninit;
- xsltXSLTAttrMarker; # variable
+# xsltXSLTAttrMarker; # variable
} LIBXML2_1.1.9;
LIBXML2_1.1.20 {
@@ -476,6 +476,10 @@ LIBXML2_1.1.26 {
# transform
xsltProcessOneNode;
+
+# Solaris ld needs explicit auto-reduction (or, alternatively, "-B local")
+ local:
+ *;
} LIBXML2_1.1.25;
LIBXML2_1.1.27 {

View File

@ -1,11 +1,11 @@
{ fetchurl, stdenv, gmp, mpfr }:
stdenv.mkDerivation rec {
name = "mpc-0.9";
name = "mpc-1.0.1";
src = fetchurl {
url = "http://www.multiprecision.org/mpc/download/${name}.tar.gz";
sha1 = "229722d553030734d49731844abfef7617b64f1a";
sha1 = "vxg0rkyn4cs40wr2cp6bbcyr1nnijzlc";
};
buildInputs = [ gmp mpfr ];

Some files were not shown because too many files have changed in this diff Show More