Merge branch 'master' into x-updates

Conflicts:
	pkgs/applications/graphics/rawtherapee/default.nix
	pkgs/applications/misc/blender/default.nix
	pkgs/applications/networking/browsers/chromium/sources.nix
	pkgs/os-specific/linux/kernel/linux-3.9.nix
	pkgs/top-level/all-packages.nix
This commit is contained in:
Vladimír Čunát
2013-04-04 21:43:11 +02:00
1110 changed files with 13883 additions and 13920 deletions

View File

@@ -13,6 +13,9 @@ cabal.mkDerivation (self: {
description = "Command-line program for type-checking and compiling Agda programs";
license = "unknown";
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.andres ];
maintainers = [
self.stdenv.lib.maintainers.andres
self.stdenv.lib.maintainers.simons
];
};
})

View File

@@ -0,0 +1,18 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "chicken-4.8.1";
meta = {
homepage = http://www.call-cc.org/;
description = "Chicken Scheme";
};
src = fetchurl {
url = http://code.call-cc.org/dev-snapshots/2013/01/04/chicken-4.8.1.tar.gz;
md5 = "bd758ec7abeaeb4f4c92c290fb5f3db7";
};
buildFlags = "PLATFORM=linux PREFIX=$(out) VARDIR=$(out)/var/lib";
installFlags = "PLATFORM=linux PREFIX=$(out) VARDIR=$(out)/var/lib";
}

View File

@@ -10,12 +10,12 @@ else
throw "Unsupported architecture";
edk2 = stdenv.mkDerivation {
name = "edk2-2012-03-13";
name = "edk2-2013-03-19";
src = fetchsvn {
url = https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2;
rev = "13783";
sha256 = "18sx0nwcnghij7737xdnmgwk5vm0ax4p0v3ybggqqs8cdhzfghil";
rev = "14211";
sha256 = "1rhrv7cyazb1d4gw3s8fv0c245iankvb9pqx6nngbkkxkcswvnw7";
};
buildInputs = [ libuuid pythonFull ];

View File

@@ -14,6 +14,9 @@ cabal.mkDerivation (self: {
description = "Compiler for a simple functional language";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.andres ];
maintainers = [
self.stdenv.lib.maintainers.andres
self.stdenv.lib.maintainers.simons
];
};
})

View File

@@ -0,0 +1,230 @@
Index: gcc-4_7-branch/libstdc++-v3/configure.host
===================================================================
--- gcc-4_7-branch/libstdc++-v3/configure.host (revision 194579)
+++ gcc-4_7-branch/libstdc++-v3/configure.host (revision 194580)
@@ -340,7 +340,7 @@
fi
esac
case "${host}" in
- arm*-*-linux-*eabi)
+ arm*-*-linux-*eabi*)
port_specific_symbol_files="\$(srcdir)/../config/os/gnu-linux/arm-eabi-extra.ver"
;;
esac
Index: gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
===================================================================
--- gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc (revision 194579)
+++ gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc (revision 194580)
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums" }
-// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
// 2007-05-03 Benjamin Kosnik <bkoz@redhat.com>
//
Index: gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
===================================================================
--- gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc (revision 194579)
+++ gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc (revision 194580)
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums" }
-// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
// 2007-05-03 Benjamin Kosnik <bkoz@redhat.com>
//
Index: gcc-4_7-branch/libjava/configure.ac
===================================================================
--- gcc-4_7-branch/libjava/configure.ac (revision 194579)
+++ gcc-4_7-branch/libjava/configure.ac (revision 194580)
@@ -931,7 +931,7 @@
# on Darwin -single_module speeds up loading of the dynamic libraries.
extra_ldflags_libjava=-Wl,-single_module
;;
-arm*linux*eabi)
+arm*-*-linux*eabi*)
# Some of the ARM unwinder code is actually in libstdc++. We
# could in principle replicate it in libgcj, but it's better to
# have a dependency on libstdc++.
Index: gcc-4_7-branch/libjava/configure
===================================================================
--- gcc-4_7-branch/libjava/configure (revision 194579)
+++ gcc-4_7-branch/libjava/configure (revision 194580)
@@ -20542,7 +20542,7 @@
# on Darwin -single_module speeds up loading of the dynamic libraries.
extra_ldflags_libjava=-Wl,-single_module
;;
-arm*linux*eabi)
+arm*-*-linux*eabi*)
# Some of the ARM unwinder code is actually in libstdc++. We
# could in principle replicate it in libgcj, but it's better to
# have a dependency on libstdc++.
Index: gcc-4_7-branch/libgcc/config.host
===================================================================
--- gcc-4_7-branch/libgcc/config.host (revision 194579)
+++ gcc-4_7-branch/libgcc/config.host (revision 194580)
@@ -327,7 +327,7 @@
arm*-*-linux*) # ARM GNU/Linux with ELF
tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
case ${host} in
- arm*-*-linux-*eabi)
+ arm*-*-linux-*eabi*)
tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
tm_file="$tm_file arm/bpabi-lib.h"
unwind_header=config/arm/unwind-arm.h
Index: gcc-4_7-branch/gcc/doc/install.texi
===================================================================
--- gcc-4_7-branch/gcc/doc/install.texi (revision 194579)
+++ gcc-4_7-branch/gcc/doc/install.texi (revision 194580)
@@ -3222,7 +3222,7 @@
@heading @anchor{arm-x-eabi}arm-*-eabi
ARM-family processors. Subtargets that use the ELF object format
require GNU binutils 2.13 or newer. Such subtargets include:
-@code{arm-*-netbsdelf}, @code{arm-*-*linux-gnueabi}
+@code{arm-*-netbsdelf}, @code{arm-*-*linux-gnueabi*}
and @code{arm-*-rtemseabi}.
@html
Index: gcc-4_7-branch/gcc/testsuite/gcc.target/arm/synchronize.c
===================================================================
--- gcc-4_7-branch/gcc/testsuite/gcc.target/arm/synchronize.c (revision 194579)
+++ gcc-4_7-branch/gcc/testsuite/gcc.target/arm/synchronize.c (revision 194580)
@@ -1,4 +1,4 @@
-/* { dg-final { scan-assembler "__sync_synchronize|dmb|mcr" { target arm*-*-linux-*eabi } } } */
+/* { dg-final { scan-assembler "__sync_synchronize|dmb|mcr" { target arm*-*-linux-*eabi* } } } */
void *foo (void)
{
Index: gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.jason/enum6.C
===================================================================
--- gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.jason/enum6.C (revision 194579)
+++ gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.jason/enum6.C (revision 194580)
@@ -7,10 +7,10 @@
// enum-size attributes should only be emitted if there are values of
// enum type that can escape the compilation unit, gcc cannot currently
// detect this; if this facility is added then this linker option should
-// not be needed. arm-*-linux*eabi should be a good approximation to
+// not be needed. arm-*-linux*eabi* should be a good approximation to
// those platforms where the EABI supplement defines enum values to be
// 32 bits wide.
-// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
#include <limits.h>
Index: gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.other/enum4.C
===================================================================
--- gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.other/enum4.C (revision 194579)
+++ gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.other/enum4.C (revision 194580)
@@ -9,10 +9,10 @@
// enum-size attributes should only be emitted if there are values of
// enum type that can escape the compilation unit, gcc cannot currently
// detect this; if this facility is added then this linker option should
-// not be needed. arm-*-linux*eabi should be a good approximation to
+// not be needed. arm-*-linux*eabi* should be a good approximation to
// those platforms where the EABI supplement defines enum values to be
// 32 bits wide.
-// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
enum E {
a = -312
Index: gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.law/enum9.C
===================================================================
--- gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.law/enum9.C (revision 194579)
+++ gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.law/enum9.C (revision 194580)
@@ -7,10 +7,10 @@
// enum-size attributes should only be emitted if there are values of
// enum type that can escape the compilation unit, gcc cannot currently
// detect this; if this facility is added then this linker option should
-// not be needed. arm-*-linux*eabi should be a good approximation to
+// not be needed. arm-*-linux*eabi* should be a good approximation to
// those platforms where the EABI supplement defines enum values to be
// 32 bits wide.
-// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
// GROUPS passed enums
extern "C" int printf (const char *, ...);
Index: gcc-4_7-branch/gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc-4_7-branch/gcc/testsuite/lib/target-supports.exp (revision 194579)
+++ gcc-4_7-branch/gcc/testsuite/lib/target-supports.exp (revision 194580)
@@ -3818,7 +3818,7 @@
}
} ""
}]
- } elseif { [istarget arm*-*-linux-gnueabi] } {
+ } elseif { [istarget arm*-*-linux-gnueabi*] } {
return [check_runtime sync_longlong_runtime {
#include <stdlib.h>
int main ()
@@ -3860,7 +3860,7 @@
|| [istarget i?86-*-*]
|| [istarget x86_64-*-*]
|| [istarget alpha*-*-*]
- || [istarget arm*-*-linux-gnueabi]
+ || [istarget arm*-*-linux-gnueabi*]
|| [istarget bfin*-*linux*]
|| [istarget hppa*-*linux*]
|| [istarget s390*-*-*]
@@ -3890,7 +3890,7 @@
|| [istarget i?86-*-*]
|| [istarget x86_64-*-*]
|| [istarget alpha*-*-*]
- || [istarget arm*-*-linux-gnueabi]
+ || [istarget arm*-*-linux-gnueabi*]
|| [istarget hppa*-*linux*]
|| [istarget s390*-*-*]
|| [istarget powerpc*-*-*]
Index: gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_9.f90
===================================================================
--- gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_9.f90 (revision 194579)
+++ gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_9.f90 (revision 194580)
@@ -1,6 +1,6 @@
! { dg-do run }
! { dg-options "-fshort-enums" }
-! { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+! { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
! Program to test enumerations when option -fshort-enums is given
program main
Index: gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_10.f90
===================================================================
--- gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_10.f90 (revision 194579)
+++ gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_10.f90 (revision 194580)
@@ -1,7 +1,7 @@
! { dg-do run }
! { dg-additional-sources enum_10.c }
! { dg-options "-fshort-enums -w" }
-! { dg-options "-fshort-enums -w -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+! { dg-options "-fshort-enums -w -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
! Make sure short enums are indeed interoperable with the
! corresponding C type.
Index: gcc-4_7-branch/gcc/ada/gcc-interface/Makefile.in
===================================================================
--- gcc-4_7-branch/gcc/ada/gcc-interface/Makefile.in (revision 194579)
+++ gcc-4_7-branch/gcc/ada/gcc-interface/Makefile.in (revision 194580)
@@ -1866,7 +1866,7 @@
LIBRARY_VERSION := $(LIB_VERSION)
endif
-ifeq ($(strip $(filter-out arm% linux-gnueabi,$(arch) $(osys)-$(word 4,$(targ)))),)
+ifeq ($(strip $(filter-out arm%-linux,$(arch)-$(osys)) $(if $(findstring eabi,$(word 4,$(targ))),,$(word 4,$(targ)))),)
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<a-intnam-linux.ads \
s-inmaop.adb<s-inmaop-posix.adb \
Index: gcc-4_7-branch/gcc/config.gcc
===================================================================
--- gcc-4_7-branch/gcc/config.gcc (revision 194579)
+++ gcc-4_7-branch/gcc/config.gcc (revision 194580)
@@ -855,7 +855,7 @@
esac
tmake_file="${tmake_file} arm/t-arm"
case ${target} in
- arm*-*-linux-*eabi)
+ arm*-*-linux-*eabi*)
tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
# Define multilib configuration for arm-linux-androideabi.

View File

@@ -54,7 +54,8 @@ let version = "4.7.2";
# Whether building a cross-compiler for GNU/Hurd.
crossGNU = cross != null && cross.config == "i586-pc-gnu";
patches = [ ]
patches = []
++ optional stdenv.isArm [ ./arm-eabi.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

View File

@@ -98,5 +98,6 @@ stdenv.mkDerivation rec {
[ $(./main) == "yes" ]
'';
meta.license = stdenv.lib.licenses.bsd3;
meta.platforms = ["i686-darwin" "x86_64-linux" "i686-linux"];
}

View File

@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
meta = {
inherit homepage;
description = "The Glasgow Haskell Compiler";
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};

View File

@@ -97,5 +97,6 @@ stdenv.mkDerivation rec {
[ $(./main) == "yes" ]
'';
meta.license = stdenv.lib.licenses.bsd3;
meta.platforms = ["x86_64-linux" "i686-linux"];
}

View File

@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
meta = {
inherit homepage;
description = "The Glasgow Haskell Compiler";
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
passthru = {

View File

@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
meta = {
inherit homepage;
description = "The Glasgow Haskell Compiler";
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};

View File

@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
meta = {
inherit homepage;
description = "The Glasgow Haskell Compiler";
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
passthru = {

View File

@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
meta = {
inherit homepage;
description = "The Glasgow Haskell Compiler";
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
}

View File

@@ -99,5 +99,6 @@ stdenv.mkDerivation rec {
[ $(./main) == "yes" ]
'';
meta.license = stdenv.lib.licenses.bsd3;
meta.platforms = ["x86_64-linux" "i686-linux"];
}

View File

@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
stdenv.lib.maintainers.marcweber
stdenv.lib.maintainers.andres
];
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
# TODO: requires a comment as to what it does and why it is needed.

View File

@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
stdenv.lib.maintainers.marcweber
stdenv.lib.maintainers.andres
];
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
# TODO: requires a comment as to what it does and why it is needed.

View File

@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
stdenv.lib.maintainers.marcweber
stdenv.lib.maintainers.andres
];
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
# TODO: requires a comment as to what it does and why it is needed.

View File

@@ -62,5 +62,6 @@ stdenv.mkDerivation {
'' else "";
meta.license = stdenv.lib.licenses.bsd3;
meta.platforms = ["i686-darwin" "x86_64-linux" "i686-linux"];
}

View File

@@ -23,6 +23,6 @@ stdenv.mkDerivation {
meta = {
description = "The Glasgow Haskell Compiler";
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
}

View File

@@ -16,7 +16,7 @@ stdenv.mkDerivation (rec {
meta = {
description = "The Glasgow Haskell Compiler";
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
postInstall = ''

View File

@@ -18,7 +18,7 @@ stdenv.mkDerivation (rec {
meta = {
description = "The Glasgow Haskell Compiler";
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
configureFlags=[

View File

@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
meta = {
description = "The Glasgow Haskell Compiler";
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
configureFlags=[

View File

@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
stdenv.lib.maintainers.marcweber
stdenv.lib.maintainers.andres
];
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
# TODO: requires a comment as to what it does and why it is needed.

View File

@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
stdenv.lib.maintainers.marcweber
stdenv.lib.maintainers.andres
];
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
}

View File

@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
stdenv.lib.maintainers.marcweber
stdenv.lib.maintainers.andres
];
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
}

View File

@@ -87,5 +87,6 @@ stdenv.mkDerivation rec {
[ $(./main) == "yes" ]
'';
meta.license = stdenv.lib.licenses.bsd3;
meta.platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"];
}

View File

@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
stdenv.lib.maintainers.andres
stdenv.lib.maintainers.simons
];
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
}

View File

@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
stdenv.lib.maintainers.andres
stdenv.lib.maintainers.simons
];
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
}

View File

@@ -87,5 +87,6 @@ stdenv.mkDerivation rec {
[ $(./main) == "yes" ]
'';
meta.license = stdenv.lib.licenses.bsd3;
meta.platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"];
}

View File

@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
stdenv.lib.maintainers.andres
stdenv.lib.maintainers.simons
];
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
}

View File

@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
stdenv.lib.maintainers.andres
stdenv.lib.maintainers.simons
];
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
}

View File

@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
stdenv.lib.maintainers.andres
stdenv.lib.maintainers.simons
];
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
}

View File

@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
stdenv.lib.maintainers.andres
stdenv.lib.maintainers.simons
];
platforms = ghc.meta.platforms;
inherit (ghc.meta) license platforms;
};
}

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchurl, bison, glibc, bash, coreutils, makeWrapper}:
{ stdenv, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata}:
let
loader386 = "${glibc}/lib/ld-linux.so.2";
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c
sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c
sed -i 's,/lib64/ld-linux-x86-64.so.3,${loaderArm},' src/cmd/5l/asm.c
sed -i 's,/usr/share/zoneinfo/,${glibc}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go
sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go
#sed -i -e 's,/bin/cat,${coreutils}/bin/cat,' \
# -e 's,/bin/echo,${coreutils}/bin/echo,' \

View File

@@ -5,12 +5,22 @@ stdenv.mkDerivation {
buildInputs = [ocaml zlib neko];
src = fetchsvn {
srcs = fetchsvn {
url = "http://haxe.googlecode.com/svn/tags/v2-10";
sha256 = "dbd3c655e4136eb68a165ef83b96bfc1f0f2eb9ec8729603b19bcd717a61a679";
sha256 = "0vwdlj0vmmf97bg6cish7yah36aca2q599vwzbr1m0jpjbvindkh";
ignoreExternals = true;
};
ocamllibs = fetchsvn {
url = "http://ocamllibs.googlecode.com/svn/trunk";
sha256 = "143s320xn2xalm0lnw46h1fvy48qg7my3j8cf66f0wwzv2fisr1q";
rev = 256;
ignoreExternals = true;
};
prePatch = ''
cp -r "$ocamllibs" libs
chmod -R u+w libs
sed -i -e 's|com.class_path <- \[|&"'"$out/lib/haxe/std/"'";|' main.ml
'';

View File

@@ -17,6 +17,9 @@ cabal.mkDerivation (self: {
description = "Functional Programming Language with Dependent Types";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.andres ];
maintainers = [
self.stdenv.lib.maintainers.andres
self.stdenv.lib.maintainers.simons
];
};
})

View File

@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "neko-${version}";
version = "1.8.2";
version = "2.0.0";
src = fetchurl {
url = "http://nekovm.org/_media/neko-${version}.tar.gz";
sha256 = "099727w6dk689z3pcgbhsqjl74zzrh82a5vb2abxynamcqxcgz1w";
sha256 = "1lcm1ahbklfpd5lnqjwmvyj2vr85jbq57hszk5jgq0x6yx6p3927";
};
prePatch = with stdenv.lib; let

View File

@@ -2,95 +2,62 @@
assert stdenv ? glibc;
let version = "0.9.25"; in
stdenv.mkDerivation {
name = "tinycc-${version}";
stdenv.mkDerivation rec {
name = "tcc-0.9.26";
src = fetchurl {
url = "mirror://savannah/tinycc/tcc-${version}.tar.bz2";
sha256 = "0dfycf80x73dz67c97j1ry29wrv35393ai5ry46i1x1fzfq6rv8v";
};
src = fetchurl {
url = "mirror://savannah/tinycc/${name}.tar.bz2";
sha256 = "0wbdbdq6090ayw8bxnbikiv989kykff3m5rzbia05hrnwhd707jj";
};
nativeBuildInputs = [ perl texinfo ];
nativeBuildInputs = [ perl texinfo ];
patches =
[ (fetchurl {
# Add support for `alloca' on x86-64.
url = "http://repo.or.cz/w/tinycc.git/patch/8ea8305199496ba29b6d0da2de07aea4441844aa";
sha256 = "0dz1cm9zihk533hszqql4gxpzbp8c4g9dnvkkh9vs4js6fnz1fl2";
name = "x86-64-alloca.patch";
})
postPatch = ''
substituteInPlace "texi2pod.pl" \
--replace "/usr/bin/perl" "${perl}/bin/perl"
'';
(fetchurl {
# Fix alignment of the return value of `alloca'.
url = "http://repo.or.cz/w/tinycc.git/patch/dca2b15df42c1341794dd412917708416da25594";
sha256 = "0617a69gnfdmv8pr6dj3szv97v3zh57439dsbklxrnipx2jv6pq7";
name = "x86-64-alloca-align.patch";
})
];
preConfigure = ''
configureFlagsArray+=("--elfinterp=$(cat $NIX_GCC/nix-support/dynamic-linker)")
configureFlagsArray+=("--crtprefix=${stdenv.glibc}/lib")
configureFlagsArray+=("--sysincludepaths=${stdenv.glibc}/include:{B}/include")
configureFlagsArray+=("--libpaths=${stdenv.glibc}/lib")
'';
postPatch = ''
substituteInPlace "texi2pod.pl" \
--replace "/usr/bin/perl" "${perl}/bin/perl"
doCheck = true;
checkTarget = "test";
# To produce executables, `tcc' needs to know where `crt*.o' are.
sed -i "tcc.h" \
-e's|define CONFIG_TCC_CRT_PREFIX.*$|define CONFIG_TCC_CRT_PREFIX "${stdenv.glibc}/lib"|g'
meta = {
description = "TinyCC, a small, fast, and embeddable C compiler and interpreter";
sed -i "libtcc.c" \
-e's|tcc_add_library_path(s, CONFIG_SYSROOT "/lib");|tcc_add_library_path(s, "${stdenv.glibc}/lib");|g;
s|tcc_add_sysinclude_path(s, CONFIG_SYSROOT "/usr/include");|tcc_add_library_path(s, "${stdenv.glibc}/include");|g ;
s|tcc_add_sysinclude_path(s, buf);|tcc_add_sysinclude_path(s, buf); tcc_add_sysinclude_path(s, "${stdenv.glibc}/include");|g'
longDescription =
'' TinyCC (aka TCC) is a small but hyper fast C compiler. Unlike
other C compilers, it is meant to be self-sufficient: you do not
need an external assembler or linker because TCC does that for
you.
# Tell it about the loader's location.
sed -i "tccelf.c" \
-e's|".*/ld-linux\([^"]\+\)"|"${stdenv.glibc}/lib/ld-linux\1"|g'
''; # "
TCC compiles so fast that even for big projects Makefiles may not
be necessary.
postInstall = ''
makeinfo --force tcc-doc.texi || true
TCC not only supports ANSI C, but also most of the new ISO C99
standard and many GNU C extensions.
mkdir -p "$out/share/info"
mv tcc-doc.info* "$out/share/info"
TCC can also be used to make C scripts, i.e. pieces of C source
that you run as a Perl or Python script. Compilation is so fast
that your script will be as fast as if it was an executable.
echo 'int main () { printf ("it works!\n"); exit(0); }' | \
"$out/bin/tcc" -run -
'';
TCC can also automatically generate memory and bound checks while
allowing all C pointers operations. TCC can do these checks even
if non patched libraries are used.
doCheck = true;
checkTarget = "test";
With libtcc, you can use TCC as a backend for dynamic code
generation.
'';
meta = {
description = "TinyCC, a small, fast, and embeddable C compiler and interpreter";
homepage = http://www.tinycc.org/;
license = "LGPLv2+";
longDescription =
'' TinyCC (aka TCC) is a small but hyper fast C compiler. Unlike
other C compilers, it is meant to be self-sufficient: you do not
need an external assembler or linker because TCC does that for
you.
TCC compiles so fast that even for big projects Makefiles may not
be necessary.
TCC not only supports ANSI C, but also most of the new ISO C99
standard and many GNU C extensions.
TCC can also be used to make C scripts, i.e. pieces of C source
that you run as a Perl or Python script. Compilation is so fast
that your script will be as fast as if it was an executable.
TCC can also automatically generate memory and bound checks while
allowing all C pointers operations. TCC can do these checks even
if non patched libraries are used.
With libtcc, you can use TCC as a backend for dynamic code
generation.
'';
homepage = http://www.tinycc.org/;
license = "LGPLv2+";
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.ludo ];
};
}
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.ludo ];
};
}