* Sync with the trunk.

svn path=/nixpkgs/branches/modular-python/; revision=26347
This commit is contained in:
Eelco Dolstra
2011-03-16 09:39:40 +00:00
707 changed files with 9812 additions and 8802 deletions

View File

@@ -1,11 +1,15 @@
a :
{builderDefsPackage
, gmp, mpfr, libffi
, ...} @ x:
builderDefsPackage (a :
let
s = import ./src-for-default.nix;
buildInputs = with a; [
];
helperArgNames = [];
propagatedBuildInputs = with a; [
gmp mpfr
];
buildInputs = map (n: builtins.getAttr n x)
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
in
rec {
src = a.fetchUrlFromSrcInfo s;
@@ -35,4 +39,4 @@ rec {
platforms = with a.lib.platforms;
linux;
};
}
}) x

View File

@@ -1,9 +1,9 @@
rec {
version="10.4.1";
name="ecl-10.4.1";
hash="0v1wqvvi2zvvmymsgxz7yvqbxf8py6kxani2f4i3bjkayblcypah";
url="http://downloads.sourceforge.net/project/ecls/ecls/10.4/ecl-${version}.tar.gz";
advertisedUrl="http://downloads.sourceforge.net/project/ecls/ecls/10.4/ecl-10.4.1.tar.gz";
version="11.1.1";
name="ecl-11.1.1";
hash="01rvxpa5cwggq1p39qgjm0sdixx3l6vlnhm2h9qrwji69s3wxb18";
url="http://downloads.sourceforge.net/project/ecls/ecls/11.1/ecl-${version}.tar.gz";
advertisedUrl="http://downloads.sourceforge.net/project/ecls/ecls/11.1/ecl-11.1.1.tar.gz";
}

View File

@@ -1,25 +1,30 @@
args:
args.stdenv.mkDerivation {
name = "flapjax-source-20070514";
{cabal, fetchurl, unzip, xhtml, WebBits, WebBitsHtml, JsContracts}:
src = args.fetchurl {
url = http://www.flapjax-lang.org/download/20070514/flapjax-source.tar.gz;
sha256 = "188dafpggbfdyciqhrjaq12q0q01z1rp3mpm2iixb0mvrci14flc";
cabal.mkDerivation ( self: {
pname = "flapjax";
version = "2.1";
src = fetchurl {
url = https://github.com/brownplt/flapjax/zipball/Flapjax-2.1;
name = "flapjax-2.1.zip";
sha256 = "1cp9g570528a813ljnvd1lb389iz0i6511xynf6kzryv8ckc1n7v";
};
phases = "unpackPhase buildPhase";
# The Makefile copies some files to update the flapjax website into
# missing directories; the -p is to avoid these errors.
preConfigure = ''
cd fx
sed -i 's/mkdir/mkdir -p/' Makefile
make
cd ../compiler
'';
buildPhase = "
ensureDir \$out/bin
cd compiler;
ghc --make Fjc.hs -o \$out/bin/fjc
";
buildInputs =(with args; [ghc] ++ libs);
extraBuildInputs = [ unzip JsContracts ];
propagatedBuildInputs = [ xhtml WebBits WebBitsHtml ];
meta = {
description = "programming language designed around the demands of modern, client-based Web applications";
homepage = http://www.flapjax-lang.org/;
license = "BSD";
};
}
})

View File

@@ -0,0 +1,45 @@
{stdenv, fetchurl, ghc, perl, gmp, ncurses}:
stdenv.mkDerivation rec {
version = "7.0.2";
name = "ghc-${version}";
# TODO: Does this have to be here, or can it go to meta?
homepage = "http://haskell.org/ghc";
src = fetchurl {
url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
sha256 = "f0551f1af2f008a8a14a888b70c0557e00dd04f9ae309ac91897306cd04a6668";
};
buildInputs = [ghc perl gmp ncurses];
buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
'';
preConfigure = ''
echo "${buildMK}" > mk/build.mk
'';
configureFlags=[
"--with-gcc=${stdenv.gcc}/bin/gcc"
];
# required, because otherwise all symbols from HSffi.o are stripped, and
# that in turn causes GHCi to abort
stripDebugFlags=["-S" "--keep-file-symbols"];
meta = {
inherit homepage;
description = "The Glasgow Haskell Compiler";
maintainers = [
stdenv.lib.maintainers.marcweber
stdenv.lib.maintainers.andres
];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -1,7 +1,8 @@
{stdenv, fetchurl, ghc, perl, gmp, ncurses}:
stdenv.mkDerivation rec {
version = "6.13.20100917";
version = "7.0.1.20110217";
label = "7.0.2-rc2";
name = "ghc-${version}";
@@ -9,8 +10,8 @@ stdenv.mkDerivation rec {
homepage = "http://haskell.org/ghc";
src = fetchurl {
url = "${homepage}/dist/current/dist/${name}-src.tar.bz2";
sha256 = "0b5pg6688yfzd5zfaffjp21y933vp94h94ds85gwi156f4g3bkij";
url = "${homepage}/dist/${label}/${name}-src.tar.bz2";
sha256 = "18jbw5na4v8v2vzswbi8xfd73mx8zv1diym0bg5bns5337q76lzi";
};
buildInputs = [ghc perl gmp ncurses];
@@ -42,43 +43,4 @@ stdenv.mkDerivation rec {
platforms = stdenv.lib.platforms.linux;
};
# TODO: requires a comment as to what it does and why it is needed.
passthru = {
corePackages = [
[ "Cabal" "1.8.0.2" ]
[ "array" "0.3.0.0" ]
[ "base" "3.0.3.2" ]
[ "base" "4.2.0.0" ]
[ "bin-package-db" "0.0.0.0" ]
[ "bytestring" "0.9.1.5" ]
[ "containers" "0.3.0.0" ]
[ "directory" "1.0.1.0" ]
[ "dph-base" "0.4.0" ]
[ "dph-par" "0.4.0" ]
[ "dph-prim-interface" "0.4.0" ]
[ "dph-prim-par" "0.4.0" ]
[ "dph-prim-seq" "0.4.0" ]
[ "dph-seq" "0.4.0" ]
[ "extensible-exceptions" "0.1.1.1" ]
[ "ffi" "1.0" ]
[ "filepath" "1.1.0.3" ]
[ "ghc" "6.12.1" ]
[ "ghc-binary" "0.5.0.2" ]
[ "ghc-prim" "0.2.0.0" ]
[ "haskell98" "1.0.1.1" ]
[ "hpc" "0.5.0.4" ]
[ "integer-gmp" "0.2.0.0" ]
[ "old-locale" "1.0.0.2" ]
[ "old-time" "1.0.0.3" ]
[ "pretty" "1.0.1.1" ]
[ "process" "1.0.1.2" ]
[ "random" "1.0.0.2" ]
[ "rts" "1.0" ]
[ "syb" "0.1.0.2" ]
[ "template-haskell" "2.4.0.0" ]
[ "time" "1.1.4" ]
[ "unix" "2.4.0.0" ]
[ "utf8-string" "0.3.4" ]
];
};
}

View File

@@ -1,202 +1,36 @@
diff --git a/tools/clang/lib/Frontend/InitHeaderSearch.cpp b/tools/clang/lib/Frontend/InitHeaderSearch.cpp
index cd749d2..b5591f6 100644
--- a/tools/clang/lib/Frontend/InitHeaderSearch.cpp
+++ b/tools/clang/lib/Frontend/InitHeaderSearch.cpp
@@ -393,51 +393,7 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple) {
diff -ru -x '*~' a/tools/clang/lib/Frontend/InitHeaderSearch.cpp b/tools/clang/lib/Frontend/InitHeaderSearch.cpp
--- a/tools/clang/lib/Frontend/InitHeaderSearch.cpp 2010-09-03 18:45:53.000000000 +0200
+++ b/tools/clang/lib/Frontend/InitHeaderSearch.cpp 2011-02-05 14:59:08.669573190 +0100
@@ -443,6 +443,7 @@
AddPath(*i, System, false, false, false);
return;
}
- llvm::Triple::OSType os = triple.getOS();
- switch (os) {
- case llvm::Triple::Win32:
- {
- std::string VSDir;
- std::string WindowsSDKDir;
- if (getVisualStudioDir(VSDir)) {
- AddPath(VSDir + "\\VC\\include", System, false, false, false);
- if (getWindowsSDKDir(WindowsSDKDir))
- AddPath(WindowsSDKDir, System, false, false, false);
- else
- AddPath(VSDir + "\\VC\\PlatformSDK\\Include",
- System, false, false, false);
- }
- else {
- // Default install paths.
- AddPath("C:/Program Files/Microsoft Visual Studio 9.0/VC/include",
- System, false, false, false);
- AddPath(
- "C:/Program Files/Microsoft Visual Studio 9.0/VC/PlatformSDK/Include",
- System, false, false, false);
- AddPath("C:/Program Files/Microsoft Visual Studio 8/VC/include",
- System, false, false, false);
- AddPath(
- "C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/Include",
- System, false, false, false);
- // For some clang developers.
- AddPath("G:/Program Files/Microsoft Visual Studio 9.0/VC/include",
- System, false, false, false);
- AddPath(
- "G:/Program Files/Microsoft Visual Studio 9.0/VC/PlatformSDK/Include",
- System, false, false, false);
- }
- }
- break;
- case llvm::Triple::MinGW64:
- case llvm::Triple::MinGW32:
- AddPath("c:/mingw/include", System, true, false, false);
- break;
- default:
- break;
- }
-
- AddPath("/usr/local/include", System, true, false, false);
- AddPath("/usr/include", System, false, false, false);
+#if 0
llvm::Triple::OSType os = triple.getOS();
switch (os) {
case llvm::Triple::Win32:
@@ -532,6 +533,8 @@
}
AddPath("/usr/include", System, false, false, false);
+#endif
+ AddPath(C_INCLUDE_PATH, System, false, false, false);
}
void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths(const llvm::Triple &triple) {
@@ -453,144 +409,9 @@ void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths(const llvm::Triple &tripl
CXX_INCLUDE_32BIT_DIR, CXX_INCLUDE_64BIT_DIR, triple);
void InitHeaderSearch::
@@ -550,6 +553,7 @@
triple);
return;
}
- // FIXME: temporary hack: hard-coded paths.
- switch (os) {
- case llvm::Triple::Cygwin:
- AddPath("/lib/gcc/i686-pc-cygwin/3.4.4/include",
- System, true, false, false);
- AddPath("/lib/gcc/i686-pc-cygwin/3.4.4/include/c++",
- System, true, false, false);
- break;
- case llvm::Triple::MinGW64:
- // Try gcc 4.4.0
- AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw64", "4.4.0");
- // Try gcc 4.3.0
- AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw64", "4.3.0");
- // Fall through.
- case llvm::Triple::MinGW32:
- // Try gcc 4.4.0
- AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw32", "4.4.0");
- // Try gcc 4.3.0
- AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw32", "4.3.0");
- break;
- case llvm::Triple::Darwin:
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",
- "i686-apple-darwin10", "", "x86_64", triple);
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.0.0",
- "i686-apple-darwin8", "", "", triple);
- break;
- case llvm::Triple::DragonFly:
- AddPath("/usr/include/c++/4.1", System, true, false, false);
- break;
- case llvm::Triple::Linux:
- // Exherbo (2010-01-25)
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3",
- "x86_64-pc-linux-gnu", "32", "", triple);
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3",
- "i686-pc-linux-gnu", "", "", triple);
- // Debian sid
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4",
- "x86_64-linux-gnu", "32", "", triple);
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4",
- "i486-linux-gnu", "64", "", triple);
- // Ubuntu 7.10 - Gutsy Gibbon
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.1.3",
- "i486-linux-gnu", "", "", triple);
- // Ubuntu 9.04
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.3",
- "x86_64-linux-gnu","32", "", triple);
- // Ubuntu 9.10
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.1",
- "x86_64-linux-gnu", "32", "", triple);
- // Fedora 8
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.1.2",
- "i386-redhat-linux", "", "", triple);
- // Fedora 9
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.0",
- "i386-redhat-linux", "", "", triple);
- // Fedora 10
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.2",
- "i386-redhat-linux","", "", triple);
-
- // Fedora 10 x86_64
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.2",
- "x86_64-redhat-linux", "32", "", triple);
-
- // Fedora 11
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.1",
- "i586-redhat-linux","", "", triple);
-
- // Fedora 12
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.2",
- "i686-redhat-linux","", "", triple);
-
- // Fedora 12 (February-2010+)
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3",
- "i686-redhat-linux","", "", triple);
-
- // openSUSE 11.1 32 bit
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3",
- "i586-suse-linux", "", "", triple);
- // openSUSE 11.1 64 bit
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3",
- "x86_64-suse-linux", "32", "", triple);
- // openSUSE 11.2
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4",
- "i586-suse-linux", "", "", triple);
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4",
- "x86_64-suse-linux", "", "", triple);
- // Arch Linux 2008-06-24
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.1",
- "i686-pc-linux-gnu", "", "", triple);
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.1",
- "x86_64-unknown-linux-gnu", "", "", triple);
- // Gentoo x86 2009.1 stable
- AddGnuCPlusPlusIncludePaths(
- "/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4",
- "i686-pc-linux-gnu", "", "", triple);
- // Gentoo x86 2009.0 stable
- AddGnuCPlusPlusIncludePaths(
- "/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/include/g++-v4",
- "i686-pc-linux-gnu", "", "", triple);
- // Gentoo x86 2008.0 stable
- AddGnuCPlusPlusIncludePaths(
- "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4",
- "i686-pc-linux-gnu", "", "", triple);
- // Ubuntu 8.10
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3",
- "i486-pc-linux-gnu", "", "", triple);
- // Ubuntu 9.04
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3",
- "i486-linux-gnu","", "", triple);
- // Gentoo amd64 stable
- AddGnuCPlusPlusIncludePaths(
- "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4",
- "i686-pc-linux-gnu", "", "", triple);
-
- // Gentoo amd64 gcc 4.3.2
- AddGnuCPlusPlusIncludePaths(
- "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include/g++-v4",
- "x86_64-pc-linux-gnu", "", "", triple);
-
- // Gentoo amd64 gcc 4.4.3
- AddGnuCPlusPlusIncludePaths(
- "/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4",
- "x86_64-pc-linux-gnu", "32", "", triple);
-
- break;
- case llvm::Triple::FreeBSD:
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2", "", "", "", triple);
- break;
- case llvm::Triple::Solaris:
- // Solaris - Fall though..
- case llvm::Triple::AuroraUX:
- // AuroraUX
- AddGnuCPlusPlusIncludePaths("/opt/gcc4/include/c++/4.2.4",
- "i386-pc-solaris2.11", "", "", triple);
- break;
- default:
- break;
- }
+#if 0
// FIXME: temporary hack: hard-coded paths.
switch (os) {
case llvm::Triple::Cygwin:
@@ -769,6 +773,10 @@
default:
break;
}
+#endif
+ AddGnuCPlusPlusIncludePaths(
+ CPP_INCLUDE_PATH,
+ CPP_HOST, "", "", triple);

View File

@@ -1,16 +1,17 @@
{stdenv, fetchurl, fetchsvn, gcc, flex, perl, libtool, groff
, buildClang ? false}:
{ stdenv, fetchurl, gcc, flex, perl, libtool, groff
, buildClang ? false }:
stdenv.mkDerivation ({
name = "llvm-2.7";
name = "llvm-2.8";
src = fetchurl {
url = http://llvm.org/releases/2.7/llvm-2.7.tgz;
sha256 = "19dwvfyxr851fjfsaxbm56gdj9mlivr37bv6h41hd8q3hpf4nrlr";
url = http://llvm.org/releases/2.8/llvm-2.8.tgz;
sha256 = "0fyl2gk2ld28isz9bq4f6r4dhqm9vljfj3pdfwlc2v0w5xsdpb95";
};
buildInputs = [ gcc flex perl libtool groff ];
buildInputs = [ gcc flex perl groff ];
configureFlags = [ "--enable-optimized" "--enable-shared" ];
configureFlags = [ "--enable-optimized" "--enable-shared" "--disable-static" ];
meta = {
homepage = http://llvm.org/;
@@ -20,8 +21,7 @@ stdenv.mkDerivation ({
platforms = with stdenv.lib.platforms; all;
};
}
//
(if buildClang then
// stdenv.lib.optionalAttrs buildClang (
# I write the assert because 'gcc.libc' will be evaluated although 'triplet' would not
# evaluate properly (in the preConfigure below)
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
@@ -30,19 +30,19 @@ stdenv.mkDerivation ({
else if (stdenv.system == "x86_64-linux") then "x86_64-unknown-linux-gnu"
else throw "System not supported";
in {
name = "clang-2.7";
name = "clang-2.8";
srcClang = fetchsvn {
url = http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_27;
rev = 105900;
sha256 = "fe79988950319b62d3bca34848424f20a3f33c8182507df222f2ac93fbacf671";
srcClang = fetchurl {
url = http://llvm.org/releases/2.8/clang-2.8.tgz;
sha256 = "1hg0vqmyr4wdy686l2bga0rpin41v0q9ds2k5659m8z6acali0zd";
};
prePatch = ''
pushd tools
cp -R "$srcClang" clang
chmod u+w -R clang
unpackFile $srcClang
mv clang-2.8 clang
popd
find
'';
patches = [ ./clang-include-paths.patch ];
@@ -63,5 +63,4 @@ stdenv.mkDerivation ({
platforms = with stdenv.lib.platforms; linux;
};
}
else {}
))

View File

@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
description = "gcc plugin that replaces gcc's optimizers and code generators by those in LLVM";
license = "GPLv2+";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; all;
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@@ -1,9 +1,9 @@
rec {
version="1.0.45";
name="sbcl-1.0.45";
hash="1asl4qy2mizj239cmgnw2dza03h7j3ysrkdavc5gnv9y4gn9miyi";
url="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.45/sbcl-1.0.45-source.tar.bz2";
advertisedUrl="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.45/sbcl-1.0.45-source.tar.bz2";
version="1.0.46";
name="sbcl-1.0.46";
hash="1sdm0gf9vajk65hn07xl0j084fkk7rsjrpqk8sa8183gbkgag79n";
url="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.46/sbcl-1.0.46-source.tar.bz2";
advertisedUrl="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.46/sbcl-1.0.46-source.tar.bz2";
}

View File

@@ -1,16 +1,16 @@
{ stdenv, fetchurl, file, libmhash, mlton, mysql, postgresql, sqlite }:
{ stdenv, fetchurl, file, openssl, mlton, mysql, postgresql, sqlite }:
stdenv.mkDerivation rec {
pname = "urweb";
version = "20101102";
version = "20110123";
name = "${pname}-${version}";
src = fetchurl {
url = "http://www.impredicative.com/ur/${name}.tgz";
sha256 = "1x661z6hg8gb7v1n580kdij9mr6vv3psm28zr4mmipj2kqh66gfi";
sha256 = "00k3ghv115fn8xm99dbc6jygl0g3j6fwc84mgcg76nnim3rvgb8r";
};
buildInputs = [ stdenv.gcc file libmhash mlton mysql postgresql sqlite ];
buildInputs = [ stdenv.gcc file openssl mlton mysql postgresql sqlite ];
patches = [ ./remove-header-include-directory-prefix.patch ];
@@ -21,9 +21,11 @@ stdenv.mkDerivation rec {
preConfigure =
''
export GCCARGS="-I${mysql}/include/mysql -I${postgresql}/include -I${sqlite}/include -L${libmhash}/lib -L${mysql}/lib/mysql -L${postgresql}/lib -L${sqlite}/lib"
export GCCARGS="-I${mysql}/include/mysql -I${postgresql}/include -I${sqlite}/include -L${mysql}/lib/mysql -L${postgresql}/lib -L${sqlite}/lib"
'';
configureFlags = "--with-openssl=${openssl}";
dontDisableStatic = true;
meta = {

View File

@@ -0,0 +1,33 @@
{ fetchurl, stdenv, guile, ncurses }:
stdenv.mkDerivation rec {
name = "guile-ncurses-1.3";
src = fetchurl {
url = "mirror://gnu/guile-ncurses/${name}.tar.gz";
sha256 = "0chvfjrlmg99db98ra9vzwjmbypqx7d4ssm8q0kvzi0n0p9irszi";
};
buildInputs = [ guile ncurses ];
preConfigure =
'' configureFlags="$configureFlags --with-guilesitedir=$out/share/guile/site" '';
doCheck = false; # XXX: 1 of 65 tests failed
meta = {
description = "GNU Guile-Ncurses, Scheme interface to the NCurses libraries";
longDescription =
'' GNU Guile-Ncurses is a library for the Guile Scheme interpreter that
provides functions for creating text user interfaces. The text user
interface functionality is built on the ncurses libraries: curses,
form, panel, and menu.
'';
license = "LGPLv3+";
maintainers = [ stdenv.lib.maintainers.ludo ];
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
};
}

View File

@@ -1,6 +1,6 @@
{ stdenv, fetchurl, libsigsegv, gettext, ncurses, readline, libX11
, libXau, libXt, pcre, zlib, libXpm, xproto, libXext, xextproto
, libffi, libffcall, coreutils }:
, libffi, libffcall, coreutils}:
stdenv.mkDerivation rec {
v = "2.49";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
configureFlags =
''
--with-readline builddir --with-dynamic-ffi
--with-readline builddir --with-dynamic-ffi --with-ffcall
--with-module=clx/new-clx --with-module=i18n --with-module=bindings/glibc
--with-module=pcre --with-module=rawsock --with-module=readline
--with-module=syscalls --with-module=wildcard --with-module=zlib

View File

@@ -0,0 +1,55 @@
{ fetchurl, stdenv, libtool, readline, gmp
, gawk, makeWrapper }:
stdenv.mkDerivation rec {
name = "guile-1.8.8";
src = fetchurl {
url = "mirror://gnu/guile/" + name + ".tar.gz";
sha256 = "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3";
};
patches = [ ./cpp-4.5.patch ];
buildNativeInputs = [ makeWrapper gawk ];
propagatedBuildInputs = [ readline gmp libtool ];
selfBuildNativeInput = true;
postInstall = ''
wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
'';
preBuild = ''
sed -e '/lt_dlinit/a lt_dladdsearchdir("'$out/lib'");' -i libguile/dynl.c
'';
# Guile needs patching to preset results for the configure tests
# about pthreads, which work only in native builds.
preConfigure = ''
if test -n "$crossConfig"; then
configureFlags="--with-threads=no $configureFlags"
fi
'';
# One test fails.
# ERROR: file: "libtest-asmobs", message: "file not found"
# This is fixed here:
# <http://git.savannah.gnu.org/cgit/guile.git/commit/?h=branch_release-1-8&id=a0aa1e5b69d6ef0311aeea8e4b9a94eae18a1aaf>.
doCheck = false;
setupHook = ./setup-hook.sh;
meta = {
description = "GNU Guile, an embeddable Scheme interpreter";
longDescription = ''
GNU Guile is an interpreter for the Scheme programming language,
packaged as a library that can be embedded into programs to make
them extensible. It supports many SRFIs.
'';
homepage = http://www.gnu.org/software/guile/;
license = "LGPLv2+";
maintainers = [ stdenv.lib.maintainers.ludo ];
};
}

View File

@@ -1,68 +0,0 @@
{ fetchurl, stdenv, libtool, readline, gmp, pkgconfig, boehmgc, libunistring
, libffi, gawk, makeWrapper, coverageAnalysis ? null }:
# Do either a coverage analysis build or a standard build.
(if coverageAnalysis != null
then coverageAnalysis
else stdenv.mkDerivation)
rec {
name = "guile-1.9.13"; # This is a beta release!
src = fetchurl {
url = "ftp://alpha.gnu.org/gnu/guile/${name}.tar.gz";
sha256 = "1idrp39lnqyiw68k1mmbfrd46zqdn19crwqbg3b064p6hljypdl4";
};
buildInputs =
[ makeWrapper gawk readline libtool libunistring
libffi pkgconfig
];
propagatedBuildInputs = [ gmp boehmgc ]
# XXX: These ones aren't normally needed here, but since
# `libguile-2.0.la' reads `-lltdl -lunistring', adding them here will add
# the needed `-L' flags. As for why the `.la' file lacks the `-L' flags,
# see below.
++ [ libtool libunistring ];
patches =
stdenv.lib.optionals (coverageAnalysis != null)
[ ./gcov-file-name.patch ./disable-gc-sensitive-tests.patch ];
postInstall = ''
wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
# XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for
# why `--with-libunistring-prefix' and similar options coming from
# `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64.
sed -i "$out/lib/pkgconfig/guile-2.0.pc" \
-e 's|-lunistring|-L${libunistring}/lib -lunistring|g ;
s|^Cflags:\(.*\)$|Cflags: -I${libunistring}/include \1|g ;
s|-lltdl|-L${libtool}/lib -lltdl|g'
'';
doCheck = true;
setupHook = ./setup-hook.sh;
meta = {
description = "GNU Guile 1.9 (alpha), an embeddable Scheme implementation";
longDescription = ''
GNU Guile is an implementation of the Scheme programming language, with
support for many SRFIs, packaged for use in a wide variety of
environments. In addition to implementing the R5RS Scheme standard,
Guile includes a module system, full access to POSIX system calls,
networking support, multiple threads, dynamic linking, a foreign
function call interface, and powerful string processing.
'';
homepage = http://www.gnu.org/software/guile/;
license = "LGPLv3+";
maintainers = [ stdenv.lib.maintainers.ludo ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@@ -1,55 +1,69 @@
{ fetchurl, stdenv, libtool, readline, gmp
, gawk, makeWrapper }:
{ fetchurl, stdenv, libtool, readline, gmp, pkgconfig, boehmgc, libunistring
, libffi, gawk, makeWrapper, coverageAnalysis ? null }:
stdenv.mkDerivation rec {
name = "guile-1.8.7";
# Do either a coverage analysis build or a standard build.
(if coverageAnalysis != null
then coverageAnalysis
else stdenv.mkDerivation)
rec {
name = "guile-2.0.0";
src = fetchurl {
url = "mirror://gnu/guile/" + name + ".tar.gz";
sha256 = "1czhcrn6l63xhsw3fjmv88djflqxbdpxjhgmwwvscm8rv4wn7vmz";
url = "mirror://gnu/guile/${name}.tar.gz";
sha256 = "0yy6iqlgqaav0nszldlkv8dq4xhcs6r18ahp4h2885jv9payp93v";
};
patches = [ ./cpp-4.5.patch ];
buildInputs =
[ makeWrapper gawk readline libtool libunistring
libffi pkgconfig
];
propagatedBuildInputs = [ gmp boehmgc ]
buildNativeInputs = [ makeWrapper gawk ];
propagatedBuildInputs = [ readline gmp libtool ];
selfBuildNativeInput = true;
# XXX: These ones aren't normally needed here, but since
# `libguile-2.0.la' reads `-lltdl -lunistring', adding them here will add
# the needed `-L' flags. As for why the `.la' file lacks the `-L' flags,
# see below.
++ [ libtool libunistring ];
patches =
stdenv.lib.optionals (coverageAnalysis != null)
[ ./gcov-file-name.patch ./disable-gc-sensitive-tests.patch ];
postInstall = ''
wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
# XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for
# why `--with-libunistring-prefix' and similar options coming from
# `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64.
sed -i "$out/lib/pkgconfig/guile-2.0.pc" \
-e 's|-lunistring|-L${libunistring}/lib -lunistring|g ;
s|^Cflags:\(.*\)$|Cflags: -I${libunistring}/include \1|g ;
s|-lltdl|-L${libtool}/lib -lltdl|g'
'';
preBuild = ''
sed -e '/lt_dlinit/a lt_dladdsearchdir("'$out/lib'");' -i libguile/dynl.c
'';
# Guile needs patching to preset results for the configure tests
# about pthreads, which work only in native builds.
preConfigure = ''
if test -n "$crossConfig"; then
configureFlags="--with-threads=no $configureFlags"
fi
'';
# One test fails.
# ERROR: file: "libtest-asmobs", message: "file not found"
# This is fixed here:
# <http://git.savannah.gnu.org/cgit/guile.git/commit/?h=branch_release-1-8&id=a0aa1e5b69d6ef0311aeea8e4b9a94eae18a1aaf>.
doCheck = false;
doCheck = true;
setupHook = ./setup-hook.sh;
meta = {
description = "GNU Guile, an embeddable Scheme interpreter";
description = "GNU Guile 2.0, an embeddable Scheme implementation";
longDescription = ''
GNU Guile is an interpreter for the Scheme programming language,
packaged as a library that can be embedded into programs to make
them extensible. It supports many SRFIs.
GNU Guile is an implementation of the Scheme programming language, with
support for many SRFIs, packaged for use in a wide variety of
environments. In addition to implementing the R5RS Scheme standard
and a large subset of R6RS, Guile includes a module system, full access
to POSIX system calls, networking support, multiple threads, dynamic
linking, a foreign function call interface, and powerful string
processing.
'';
homepage = http://www.gnu.org/software/guile/;
license = "LGPLv2+";
license = "LGPLv3+";
maintainers = [ stdenv.lib.maintainers.ludo ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@@ -1,29 +1,27 @@
{ stdenv, fetchurl, flex, bison, ncurses, buddy, tecla, libsigsegv, gmpxx, makeWrapper }:
stdenv.mkDerivation rec {
name = "maude-2.5";
name = "maude-2.6";
src = fetchurl {
url = "http://maude.cs.uiuc.edu/download/current/Maude-2.5.tar.gz";
sha256 = "16bvnbyi257z87crzkw9gx2kz13482hnjnik22c2p2ml4rj4lpfw";
url = "http://maude.cs.uiuc.edu/download/current/Maude-2.6.tar.gz";
sha256 = "182abzhvjvlaa21aqv7802v3bs57a4dm7cw09s3mqmih7nzpkfm5";
};
fullMaude = fetchurl {
url = "http://maude.cs.uiuc.edu/download/current/FM2.5/full-maude25.maude";
sha256 = "1d0izdbmhpifb2plnkk3cp7li2z60r8a8ppxhifmfpzi6x6pfvrd";
url = "http://maude.cs.uiuc.edu/download/current/FM2.6/full-maude26.maude";
sha256 = "1382hjwwrsdgd5yjn3ph1b5i1bhrhzvqx0v369bmcjkly9k96v6q";
};
buildInputs = [flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper];
configurePhase = ''./configure --disable-dependency-tracking --prefix=$out --datadir=$out/share/maude TECLA_LIBS="-ltecla -lncursesw" CFLAGS="-O3" CXXFLAGS="-O3"'';
# The test suite is known to fail on Darwin. If maude is ever updated to a
# new version, this exception ought to be removed again.
doCheck = !stdenv.isDarwin;
doCheck = true;
postInstall =
''
for n in $out/bin/*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done
for n in "$out/bin/"*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done
ensureDir $out/share/maude
cp ${fullMaude} $out/share/maude/full-maude.maude
'';

View File

@@ -1,79 +1,54 @@
{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2
, gdbmSupport ? true, gdbm ? null
, sqlite ? null
, db4 ? null
, readline ? null
, openssl ? null
, tk ? null
, tcl ? null
, libX11 ? null
, xproto ? null
, arch ? null
, sw_vers ? null
{ stdenv, fetchurl
, zlib
, bzip2
, gdbm
, sqlite
, db4
, ncurses
, readline
, openssl
, tcl, tk
, libX11, xproto
, arch ? null, sw_vers ? null
}:
# This derivation is mostly identical to the one that builds Python 2.x.
# Some of these settings may not apply to the latest version. A general
# cleanup might be worthwile.
assert zlibSupport -> zlib != null;
assert gdbmSupport -> gdbm != null;
assert stdenv.isDarwin -> arch != null;
assert stdenv.isDarwin -> sw_vers != null;
assert readline != null -> ncurses != null;
with stdenv.lib;
let
majorVersion = "3.1";
version = "${majorVersion}.1";
buildInputs =
optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
[bzip2]
++ optional zlibSupport zlib
++ optional gdbmSupport gdbm
++ optional (sqlite != null) sqlite
++ optional (db4 != null) db4
++ optional (readline != null) readline
++ optional (openssl != null) openssl
++ optional (tk != null) tk
++ optional (tcl != null) tcl
++ optional (libX11 != null) libX11
++ optional (xproto != null) xproto
++ optional (arch != null) arch
++ optional (sw_vers != null) sw_vers
;
version = "${majorVersion}.3";
buildInputs = filter (p: p != null) [
zlib bzip2 gdbm sqlite db4 readline ncurses openssl tcl tk libX11 xproto arch sw_vers
];
in
stdenv.mkDerivation ( {
stdenv.mkDerivation {
name = "python3-${version}";
inherit majorVersion version;
src = fetchurl {
url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
sha256 = "1zai7damkpbzwgflrm3rc9r024kb2iiqwasb2b0kmpmsi9bw4z6q";
sha256 = "1jsqapgwrcqcaskyi2qdn1xj7l8x5340a137hdfshk5ya4dg9xkp";
};
patches = [
# Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
./search-path.patch
];
inherit buildInputs;
patches = [ ./search-path.patch ];
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";
preConfigure = ''
# Purity.
for i in /usr /sw /opt /pkg; do
for i in /usr /sw /opt /pkg; do # improve purity
substituteInPlace ./setup.py --replace $i /no-such-path
done
'' + (if readline != null then ''
export NIX_LDFLAGS="$NIX_LDFLAGS -lncurses"
'' else "");
${optionalString (ncurses != null) ''export NIX_LDFLAGS="$NIX_LDFLAGS -lncurses"''}
${optionalString stdenv.isDarwin ''export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"''}
'';
setupHook = ./setup-hook.sh;
@@ -82,7 +57,7 @@ stdenv.mkDerivation ( {
'';
passthru = {
inherit zlibSupport;
zlibSupport = zlib != null;
sqliteSupport = sqlite != null;
db4Support = db4 != null;
readlineSupport = readline != null;
@@ -91,7 +66,22 @@ stdenv.mkDerivation ( {
libPrefix = "python${majorVersion}";
};
enableParallelBuilding = true;
meta = {
homepage = "http://python.org";
description = "a high-level dynamically-typed programming language";
longDescription = ''
Python is a remarkably powerful dynamic programming language that
is used in a wide variety of application domains. Some of its key
distinguishing features include: clear, readable syntax; strong
introspection capabilities; intuitive object orientation; natural
expression of procedural code; full modularity, supporting
hierarchical packages; exception-based error handling; and very
high level dynamic data types.
'';
license = "GPLv2";
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.simons ];
};
} // (if stdenv.isDarwin then { NIX_CFLAGS_COMPILE = "-msse2" ; patches = [./search-path.patch]; } else {} ) )
}

View File

@@ -1,12 +1,12 @@
addPythonPath() {
addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python2.6/site-packages
addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.1/site-packages
}
toPythonPath() {
local paths="$1"
local result=
for i in $paths; do
p="$i/lib/python2.6/site-packages"
p="$i/lib/python3.1/site-packages"
result="${result}${result:+:}$p"
done
echo $result

View File

@@ -1,34 +1,35 @@
{ stdenv, fetchurl, cairo, file, libjpeg
, libpng, libtool, libXaw, libXext, libXft, libXrender
, libXt, libXmu, mesa, pkgconfig, which } :
{ stdenv, fetchurl, cairo, file, pango, glib, gtk
, which, libtool, makeWrapper, libjpeg, libpng
, fontconfig, liberation_ttf } :
stdenv.mkDerivation rec {
pname = "racket";
version = "5.0.2";
version = "5.1";
name = "${pname}-${version}";
src = fetchurl {
url = "http://download.racket-lang.org/installers/${version}/${pname}/${name}-src-unix.tgz";
sha256 = "1xx0gc935mvh9b1nch7p4xscx9hjd0401rl1sdpf291nj9vmpb3k";
sha256 = "0k53jdsz0qf8jvydw29gnz1z8d9vs9ycfgilgqa6rcyp8i0f468k";
};
buildInputs = [ cairo
file
libjpeg
libpng
libtool
libXaw
libXext
libXft
libXrender
libXt
libXmu
mesa
pkgconfig
which
];
# Various racket executables do run-time searches for these.
ffiSharedLibs = "${glib}/lib:${cairo}/lib:${pango}/lib:${gtk}/lib:${libjpeg}/lib:${libpng}/lib";
buildInputs = [ file libtool which makeWrapper fontconfig liberation_ttf ];
preConfigure = ''
export LD_LIBRARY_PATH=${ffiSharedLibs}:$LD_LIBRARY_PATH
# Chroot builds do not have access to /etc/fonts/fonts.conf, but the Racket bootstrap
# needs a working fontconfig, so here a simple standin is used.
mkdir chroot-fontconfig
cat ${fontconfig}/etc/fonts/fonts.conf > chroot-fontconfig/fonts.conf
sed -e 's@</fontconfig>@@' -i chroot-fontconfig/fonts.conf
echo "<dir>${liberation_ttf}</dir>" >> chroot-fontconfig/fonts.conf
echo "</fontconfig>" >> chroot-fontconfig/fonts.conf
export FONTCONFIG_FILE=$(pwd)/chroot-fontconfig/fonts.conf
cd src
sed -e 's@/usr/bin/uname@'"$(which uname)"'@g' -i configure
sed -e 's@/usr/bin/file@'"$(which file)"'@g' -i foreign/libffi/configure
@@ -36,6 +37,12 @@ stdenv.mkDerivation rec {
configureFlags = [ "--enable-shared" "--enable-lt=${libtool}/bin/libtool" ];
postInstall = ''
for p in $(ls $out/bin/) ; do
wrapProgram $out/bin/$p --prefix LD_LIBRARY_PATH ":" "${ffiSharedLibs}" ;
done
'';
meta = {
description = "Racket (formerly called PLT Scheme) is a programming language derived from Scheme.";
longDescription = ''

View File

@@ -12,15 +12,18 @@ let
in
stdenv.mkDerivation rec {
version = "1.8.7-p302";
version = with passthru; "${majorVersion}.${minorVersion}-p${patchLevel}";
name = "ruby-${version}";
src = fetchurl {
url = "ftp://ftp.ruby-lang.org/pub/ruby/1.8/${name}.tar.gz";
sha256 = "18a4w0n1n0sij7gkb3196dnqav5zr0c5p26f08k7cw6y0i9dz0sq";
sha256 = "0qf50wa1ziziagnxarj8z6yrsivrhchq1j9017ff3z2z7d31l9kc";
};
# Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
NROFF = "${groff}/bin/nroff";
buildInputs = (ops cursesSupport [ ncurses readline ] )
++ (op docSupport groff )
++ (op zlibSupport zlib)
@@ -30,6 +33,8 @@ stdenv.mkDerivation rec {
configureFlags = ["--enable-shared" "--enable-pthread"];
installFlags = stdenv.lib.optionalString docSupport "install-doc";
# Bundler tries to create this directory
postInstall = "mkdir -pv $out/${passthru.gemPath}";
meta = {
license = "Ruby";
@@ -37,8 +42,11 @@ stdenv.mkDerivation rec {
description = "The Ruby language";
};
passthru = {
# install ruby libs into "$out/${ruby.libPath}"
libPath = "lib/ruby-1.8";
passthru = rec {
majorVersion = "1.8";
minorVersion = "7";
patchLevel = "330";
libPath = "lib/ruby/${majorVersion}";
gemPath = "lib/ruby/gems/${majorVersion}";
};
}

View File

@@ -0,0 +1,52 @@
{stdenv, fetchurl, ruby, rubygems, makeWrapper, patches, overrides}:
let
gemDefaults = { name, basename, requiredGems, sha256, meta }:
{
buildInputs = [rubygems ruby makeWrapper];
unpackPhase = ":";
configurePhase=":";
bulidPhase=":";
src = fetchurl {
url = "http://rubygems.org/downloads/${name}.gem";
inherit sha256;
};
name = "ruby-${name}";
propagatedBuildInputs = requiredGems;
inherit meta;
installPhase = ''
export HOME=$TMP/home; mkdir -pv "$HOME"
gem install -V --ignore-dependencies \
-i "$out/${ruby.gemPath}" -n "$out/bin" "$src" $gemFlags -- $buildFlags
rm -frv $out/${ruby.gemPath}/cache # don't keep the .gem file here
addToSearchPath GEM_PATH $out/${ruby.gemPath}
for prog in $out/bin/*; do
wrapProgram "$prog" \
--prefix GEM_PATH : "$GEM_PATH" \
--prefix RUBYLIB : "${rubygems}/lib" \
--set RUBYOPT 'rubygems'
done
for prog in $out/gems/*/bin/*; do
[[ -e "$out/bin/$(basename $prog)" ]]
done
runHook postInstall
'';
};
mb = stdenv.lib.maybeAttr;
patchedGem = a: stdenv.mkDerivation (removeAttrs (stdenv.lib.mergeAttrsByFuncDefaults
([ (gemDefaults a) ]
++ (stdenv.lib.concatMap (p: [(mb a.basename {} p) (mb a.name {} p)] )
patches)))
[ "mergeAttrBy" ]);
in
aName: a@{ name, basename, requiredGems, sha256, meta }:
stdenv.lib.foldl (d: o: mb name (mb basename d o) o) (patchedGem a) overrides

View File

@@ -0,0 +1,18 @@
diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
index d1ef3cb..bf15652 100755
--- a/lib/rubygems/installer.rb
+++ b/lib/rubygems/installer.rb
@@ -545,6 +545,13 @@ Results logged to #{File.join(Dir.pwd, 'gem_make.out')}
say path if Gem.configuration.really_verbose
end
+
+ if !ENV['NIX_POST_EXTRACT_FILES_HOOK'].nil?
+ print "\nrunning NIX_POST_EXTRACT_FILES_HOOK #{ENV['NIX_POST_EXTRACT_FILES_HOOK']} #{@gem_dir}\n"
+ print `#{ENV['NIX_POST_EXTRACT_FILES_HOOK']} #{@gem_dir}`
+ print "\nrunning NIX_POST_EXTRACT_FILES_HOOK done\n"
+ end
+
end
##

View File

@@ -1,266 +0,0 @@
diff --git a/lib/rubygems/command_manager.rb b/lib/rubygems/command_manager.rb
index 0a19016..ef66d30 100755
--- a/lib/rubygems/command_manager.rb
+++ b/lib/rubygems/command_manager.rb
@@ -70,6 +70,7 @@ class Gem::CommandManager
register_command :unpack
register_command :update
register_command :which
+ register_command :nix
end
##
diff --git a/lib/rubygems/commands/nix_command.rb b/lib/rubygems/commands/nix_command.rb
new file mode 100644
index 0000000..24f3479
--- /dev/null
+++ b/lib/rubygems/commands/nix_command.rb
@@ -0,0 +1,228 @@
+require 'net/http'
+require 'rubygems/command'
+require 'rubygems/doc_manager'
+require 'rubygems/install_update_options'
+require 'rubygems/dependency_installer'
+require 'rubygems/local_remote_options'
+require 'rubygems/validator'
+require 'rubygems/exceptions'
+require 'rubygems/version_option'
+require 'rubygems/version'
+require 'open3'
+
+
+def nixname(gem)
+ s = "#{gem}" == gem ? gem : gem.full_name
+ s.gsub(/[.-]/,'_')
+end
+
+def nixdescription(spec)
+ desc_from_spec = spec.description
+ desc = desc_from_spec.sub(/[.].*/,'') # only keep first sentence
+ desc = desc.length > 120 \
+ ? "description = ''#{ desc[0..120] }''; # cut to 120 chars" \
+ : "description = ''#{ desc }'';"
+ desc = desc.sub(/'';$/,"[...]'';") if desc != desc_from_spec
+ desc.gsub("\n"," ") # no \ns in description
+end
+
+##
+# tool creating nix expression to install gems (from ruby forge etc)
+#
+# this is work in progress
+
+class Gem::Commands::NixCommand < Gem::Command
+
+ include Gem::VersionOption
+ include Gem::LocalRemoteOptions
+ include Gem::InstallUpdateOptions
+
+ def initialize
+ defaults = Gem::DependencyInstaller::DEFAULT_OPTIONS.merge({
+ })
+ super 'nix', 'create a nix file containing expressions of the gems', defaults
+ end
+
+ def description # :nodoc:
+ <<-EOF
+ create a nix file containing expressions of the gems
+ There are many gems. So it's best to only specify some target gems and
+ take them into acocunt with their deps
+ TODO more details
+ EOF
+ end
+
+ def usage # :nodoc:
+ "#{program_name} GEMNAME [GEMNAME ...] [options] -- --build-flags"
+ end
+
+ def arguments # :nodoc:
+ "GEMNAME name of gem to be added to the expressions file"
+ end
+
+ def defaults_str # :nodoc:
+ # what to put in here ? TODO (probably nothing is ok)
+ ""
+ end
+
+ def execute
+
+ begin
+ @prerelease = false;
+
+ args = options[:args];
+
+ @gems_with_deps = {}
+ @seen = {}
+
+ # args to dep informations
+ args.map { |arg|
+ if arg =~ /(.+)-?(.*)?/ then
+ gem_name = $1
+ version = $2.empty? ? Gem::Requirement.default : Gem::Version.new($2)
+ else
+ raise Gem::CommandLineError, "could'nt parse arg. expected: name or name-version"
+ end
+
+ warn "adding #{gem_name}\n"
+
+ adddep(Gem::Dependency.new gem_name, version)
+ }
+
+ warn " total: #{@gems_with_deps.length}"
+
+
+ out = "
+ # WARNING: automatically generated CODE
+ # This section has been generated by gem nix #{args.join(" ")}
+ # the gem nix command has been added by a nix patch to ruby gems
+ "
+ # define aliases
+ aliases = {}
+ @gems_with_deps.each{ |key, (spec, src, deps)|
+ aliases[spec.name] = spec \
+ if aliases[spec.name].nil? || aliases[spec.name].version < spec.version
+
+ src_url = "http://gems.rubyforge.org/gems/#{spec.full_name}.gem"
+
+ # [> get true mirror url reading redirect contents
+ # h = Net::HTTP.new('gems.rubyforge.org', 80)
+ # resp, data = h.get("/gems/#{spec.full_name}.gem", nil)
+ # if resp.code == "200" then
+ # src_url = "http://gems.rubyforge.org/gems/#{spec.full_name}.gem"
+ # else if resp.code == "302" then
+ # src_url = resp['location']
+ # print "redirection: http://gems.rubyforge.org/gems/#{spec.full_name}.gem -> #{src_url}\n"
+ # else
+ # raise Gem::DependencyError.new("unkown http return code #{resp} #{data}")
+ # end
+ # end
+
+ #raise Gem::DependencyError("src_url is nil, 302 redirection failed?") if src_url.nil?
+
+ out += "
+ #{nixname spec} = rubyDerivation {
+ name = \"ruby-#{spec.full_name}\"; # full_name
+ nameNoVersion = \"#{nixname spec.name}\";
+ propagatedBuildInputs = [ #{deps.map {|n| n.nil? ? "" : (nixname n) }.join(" ")} ];
+ src = fetchurl {
+ url = \"#{src_url}\";
+ sha256 = \"#{nixhashof src_url}\";
+ };
+ meta = {
+ homepage = \"#{spec.homepage}\";
+ license = [#{spec.licenses.map{|l| "\"#{l}\""}.join(" ") }]; # one of ?
+ #{nixdescription spec}
+ longDescription = ''#{ spec.description }'';
+ };
+ };\n"
+ }
+
+ out += "\n# aliases\n"
+ aliases.each { |key, spec |
+ out += "#{nixname key}=#{nixname spec};\n"
+ }
+
+ print out
+ exit_code = 0
+
+ rescue => e
+ puts e.inspect
+ puts e.backtrace
+ end
+
+
+ end
+
+ # helper funtions ================
+
+ def adddep(dep)
+ gem = find_gem_with_source(dep)
+ raise Gem::CommandLineError, "couldn't find #{dep}" if gem.nil?
+ full_name = gem[0].full_name
+
+ return if @seen[full_name]
+ @seen[full_name] = true # there maybe circular dependencies. thus mark this gem seen as early as possible
+
+ # development deps can't be found. Some are old. Thus only add rutime dependencies
+ deps = gem[0].dependencies.find_all { |d| d.type == :runtime }
+
+ warn " total deps of #{full_name}: #{deps.length}"
+
+ dep_specs = []
+ # recurse while collecting deps
+ deps.each {|dep_var| dep_specs.push(adddep(dep_var)) }
+
+
+ @gems_with_deps[full_name] = [
+ gem[0], # spec
+ gem[1], # src
+ dep_specs # deps
+ ]
+ gem[0] # only return spec, no source for dep list
+ end
+
+
+ # copied from dependency_installer, stripped
+ def find_gem_with_source(dep)
+ gems_and_sources = []
+
+ # no local
+
+ requirements = dep.version_requirements.requirements.map do |req, ver|
+ req
+ end
+
+ all = true
+ found = Gem::SpecFetcher.fetcher.fetch dep, all, true, @prerelease
+ found.reverse[0]
+ end
+
+
+ def nixhashof(src)
+ cashfile="#{ENV['HOME']}/.nix-ruby-gems-cache"
+ cash = {}
+ if FileTest.exists?(cashfile)
+ File.open(cashfile,'r') do |f| Marshal.load(f) end
+ end
+
+ if cash[src].nil? then
+ tmp="/tmp/ruby-gems-nix-tmp-file"
+ system("nix-prefetch-url #{src.gsub(/([:= `$;])/,'\\\\\1')} > #{tmp} 2>/dev/null")
+ if $? == 0
+ file = File.new(tmp)
+ hash = file.readlines().first().split("\n")[0] # remove trailing \n
+ file.close()
+ File.delete(tmp)
+ cash[src] = hash
+ else
+ cash[src] = "no hash"
+ end
+
+ File.open(cashfile, "w+") do |f| Marshal.dump(cash, f) end
+ end
+
+ return cash[src]
+ end
+
+end
diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
index d1ef3cb..bf15652 100755
--- a/lib/rubygems/installer.rb
+++ b/lib/rubygems/installer.rb
@@ -545,6 +545,13 @@ Results logged to #{File.join(Dir.pwd, 'gem_make.out')}
say path if Gem.configuration.really_verbose
end
+
+ if !ENV['NIX_POST_EXTRACT_FILES_HOOK'].nil?
+ print "\nrunning NIX_POST_EXTRACT_FILES_HOOK #{ENV['NIX_POST_EXTRACT_FILES_HOOK']} #{@gem_dir}\n"
+ print `#{ENV['NIX_POST_EXTRACT_FILES_HOOK']} #{@gem_dir}`
+ print "\nrunning NIX_POST_EXTRACT_FILES_HOOK done\n"
+ end
+
end
##

View File

@@ -1,37 +0,0 @@
args : with args;
rec {
# some packages (eg ruby-debug) still require 1.8. So let's stick to that for
# now if nobody has different requirements
version = "1.3.7";
src = fetchurl {
url = "http://production.cf.rubygems.org/rubygems/${name}.tgz";
sha256 = "17bwlqxqrjrial111rn395yjx9wyxrmvmj0hgd85bxkkcap912rq";
};
buildInputs = [ruby makeWrapper];
configureFlags = [];
doInstall = fullDepEntry (''
ruby setup.rb --prefix=$out/
wrapProgram $out/bin/gem --prefix RUBYLIB : $out/lib:$out/lib
find $out -type f -name "*.rb" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
'') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
/* doConfigure should be specified separately */
phaseNames = ["doPatch" "doInstall"];
name = "rubygems-" + version;
meta = {
description = "Ruby gems package collection";
longDescription = ''
see comment in rubyLibs to get to know how to use ruby gems in nix
'';
};
# TODO don't resolve 302 redirects but make nix resolve in fetchurl and
# nix-prefetch-url. This should be done on stdenv-updates.
patches = [ ./gem_nix_command.patch /* see longDescription above */ ];
}

View File

@@ -0,0 +1,34 @@
# WARNING: automatically generated file
# Generated by 'gem nix' command that comes from 'nix' gem
g: # Get dependencies from patched gems
{
aliases = {
nix = g.nix_0_1;
rake = g.rake_0_8_7;
};
gem_nix_args = [ ''nix'' ''rake'' ];
gems = {
nix_0_1 = {
basename = ''nix'';
meta = {
description = ''Nix package manager interface'';
homepage = ''http://gitorious.org/ruby-nix'';
longDescription = ''Adds 'gem nix' command that dumps given set of gems to format suitable for Nix package manager'';
};
name = ''nix-0.1'';
requiredGems = [ ];
sha256 = ''16lc3yfjcsm1s5jjfazlwia1vhy6x401f0mam79r2qkcic70xnap'';
};
rake_0_8_7 = {
basename = ''rake'';
meta = {
description = ''Ruby based make-like utility.'';
homepage = ''http://rake.rubyforge.org'';
longDescription = ''Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax.'';
};
name = ''rake-0.8.7'';
requiredGems = [ ];
sha256 = ''03z1zm7xwl2r9v945ambwbd9sn2smbi34xldmac7qjcmsvd7pcqh'';
};
};
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,5 @@
{ xapianBindings }:
{
xapian_full = xapianBindings.merge { cfg = { rubySupport = true; }; };
}

View File

@@ -0,0 +1,49 @@
{fetchurl, writeScript, ruby, ncurses, sqlite, libxml2, libxslt, libffi, zlib,
libuuid, gems}:
let
patchUsrBinEnv = writeScript "path-usr-bin-env" ''
#!/bin/sh
set -x
echo "==================="
find "$1" -type f -name "*.rb" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
find "$1" -type f -name "*.mk" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
'';
in
{
sup = { buildInputs = [ gems.ncursesw ]; };
sqlite3 = { propagatedBuildInputs = [ sqlite ]; };
rails = { gemFlags = "--no-ri --no-rdoc"; };
ncurses = { propagatedBuildInputs = [ ncurses ]; };
ncursesw = { propagatedBuildInputs = [ ncurses ]; };
nokogiri = {
buildFlags=["--with-xml2-dir=${libxml2} --with-xml2-include=${libxml2}/include/libxml2"
"--with-xslt-dir=${libxslt}" ];
};
ffi = {
postUnpack = "onetuh";
buildFlags=["--with-ffi-dir=${libffi}"];
NIX_POST_EXTRACT_FILES_HOOK = patchUsrBinEnv;
};
xrefresh_server =
let patch = fetchurl {
url = "http://mawercer.de/~nix/xrefresh.diff.gz";
sha256 = "1f7bnmn1pgkmkml0ms15m5lx880hq2sxy7vsddb3sbzm7n1yyicq";
};
in {
propagatedBuildInputs = [ gems.rb_inotify ];
# monitor implementation for Linux
postInstall = ''
cd $out/${ruby.gemPath}/gems/*
zcat ${patch} | patch -p 1
'';
};
xapian_full = {
buildInputs = [ gems.rake zlib libuuid ];
gemFlags = "--no-rdoc --no-ri";
};
}

View File

@@ -0,0 +1,51 @@
args : with args;
rec {
# some packages (eg ruby-debug) still require 1.8. So let's stick to that for
# now if nobody has different requirements
version = "1.4.1";
src = fetchurl {
url = "http://production.cf.rubygems.org/rubygems/${name}.tgz";
sha256 = "189wg1msb4sdjvdzv9ia6q3lvjlygpp67wlbkl7cjb22bpjy4w4b";
};
buildInputs = [ruby makeWrapper];
configureFlags = [];
doInstall = fullDepEntry (''
ruby setup.rb --prefix=$out/
wrapProgram $out/bin/gem --prefix RUBYLIB : $out/lib
find $out -type f -name "*.rb" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
mkdir -pv $out/nix-support
cat > $out/nix-support/setup-hook <<EOF
export RUBYOPT=rubygems
addToSearchPath RUBYLIB $out/lib
addGemPath() {
addToSearchPath GEM_PATH \$1/${ruby.gemPath}
}
envHooks+=(addGemPath)
EOF'') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
/* doConfigure should be specified separately */
phaseNames = ["doPatch" "doInstall"];
name = "rubygems-" + version;
meta = {
description = "Ruby gems package collection";
longDescription = ''
Nix can create nix packages from gems.
To use it do the following:
1. Install rubygems and rubyLibs.nix.
2. Add $your_profile/${ruby.gemPath} to GEM_PATH.
3. export RUBYLIB=$your_profile/lib RUBYOPT=rubygems
4. See `gem nix --help` for the rest.
'';
};
patches = [ ./gem_hook.patch ];
}

View File

@@ -1,11 +1,11 @@
{stdenv, fetchurl, SDL} :
stdenv.mkDerivation rec {
name = "SDL_gfx-2.0.20";
name = "SDL_gfx-2.0.22";
src = fetchurl {
url = "http://www.ferzkopp.net/Software/SDL_gfx-2.0/${name}.tar.gz";
sha256 = "0dyc1sj0ymv2ghmlgwfb2c6r07scbgmi2dfhmnddsb27y8wjqz4q";
sha256 = "1w1bdpyypvqg1nmbjwkqnjhmngvpjmhc0zanwgq7z4pxffzffx8m";
};
buildInputs = [ SDL ] ;
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
license = "LGPLv2+";
maintainers = [ stdenv.lib.maintainers.bjg ];
platforms = stdenv.lib.platforms.all;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -2,18 +2,18 @@
stdenv.mkDerivation rec {
pname = "SDL_image";
version = "1.2.6";
version = "1.2.10";
name = "${pname}-${version}";
src = fetchurl {
url = "http://www.libsdl.org/projects/${pname}/release/${name}.tar.gz";
sha256 = "1i3f72dw3i3l6d77dk81gw57sp0629rng9k76qb37brlz7dv3z48";
sha256 = "0xhqw56xgc0rn3ziccirib8ai2whbbidjmvig527n9znjlg5vq3m";
};
buildInputs = [SDL libpng libjpeg libtiff libungif libXpm];
postInstall = "ln -s $out/include/SDL/SDL_image.h $out/include/";
postInstall = "ln -sv $out/include/SDL/SDL_image.h $out/include/";
meta = {
description = "SDL image library";

View File

@@ -1,29 +0,0 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "aterm-2.4.2-fixes-r2";
src = fetchurl {
url = http://nixos.org/tarballs/aterm-2.4.2-fixes-r2.tar.bz2;
sha256 = "1w3bxdpc2hz29li5ssmdcz3x0fn47r7g62ns0v8nazxwf40vff4j";
};
patches = [
# Fix for http://bugzilla.sen.cwi.nl:8080/show_bug.cgi?id=841
./max-long.patch
];
# There are apparently still some aliasing bugs left in
# aterm-2.4.2-fixes-r2 (in AT_setAnnotations to be precise), but
# under my reading of the C standard it should be fine. Anyway, just
# disable strict aliasing.
NIX_CFLAGS_COMPILE = "-fno-strict-aliasing";
doCheck = true;
meta = {
homepage = http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ATerm;
license = "LGPL";
description = "Library for manipulation of term data structures in C";
};
}

View File

@@ -1,16 +1,18 @@
{ stdenv, fetchurl, pkgconfig, perl, glib }:
stdenv.mkDerivation rec {
name = "atk-1.28.0";
name = "atk-1.32.0";
src = fetchurl {
url = "mirror://gnome/sources/atk/1.28/${name}.tar.bz2";
sha256 = "11zyamivv7fcj9ap3w3bn3gm89mkni9waf51fx75zmfjh3jrznp4";
url = "mirror://gnome/sources/atk/1.32/${name}.tar.bz2";
sha256 = "e9a3e598f75c4db1af914f8b052dd9f7e89e920a96cc187c18eb06b8339cb16e";
};
buildInputs = [pkgconfig perl];
propagatedBuildInputs = [glib];
buildInputs = [ pkgconfig perl ];
propagatedBuildInputs = [ glib ];
postInstall = "rm -rf $out/share/gtk-doc";
meta = {
description = "ATK, the accessibility toolkit";

View File

@@ -1,6 +1,7 @@
{ fetchurl, stdenv, pkgconfig, libdaemon, dbus, perl, perlXMLParser
, expat, gettext, intltool, glib, gtk, qt4 ? null, lib
, qt4Support ? false }:
, qt4Support ? false
, withLibdnsCompat ? false }:
assert qt4Support -> qt4 != null;
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
"--${if qt4Support then "enable" else "disable"}-qt4"
"--disable-python"
"--with-distro=none" "--localstatedir=/var"
];
] ++ stdenv.lib.optional withLibdnsCompat "--enable-compat-libdns_sd";
meta = {
description = "Avahi, an mDNS/DNS-SD implementation";
@@ -40,7 +41,7 @@ stdenv.mkDerivation rec {
homepage = http://avahi.org;
license = "LGPLv2+";
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
platforms = stdenv.lib.platforms.linux; # arbitrary choice
maintainers = [ stdenv.lib.maintainers.ludo ];
};
}

View File

@@ -1,24 +0,0 @@
Don't pass "-lpthread -ldl" on Cygwin. See
http://thread.gmane.org/gmane.comp.programming.garbage-collection.boehmgc/3219
for details.
--- gc-7.1/configure 2008-05-04 02:52:50.000000000 +0200
+++ gc-7.1/configure 2009-09-18 16:23:30.000000000 +0200
@@ -4859,7 +4859,7 @@
cat >>confdefs.h <<\_ACEOF
#define THREAD_LOCAL_ALLOC 1
_ACEOF
-
+ THREADDLLIBS=""
win32_threads=true
;;
*-*-darwin*)
@@ -5934,6 +5934,7 @@
# dyld calls anyway
case "$host" in
*-*-darwin*) ;;
+ *-*-cygwin*) ;;
*)
{ echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }

View File

@@ -1,23 +1,17 @@
{stdenv, fetchurl}:
{ stdenv, fetchurl }:
let
version = if stdenv.isMips then "7.2alpha4" else "7.1";
in
stdenv.mkDerivation ({
name = "boehm-gc-${version}";
stdenv.mkDerivation rec {
name = "boehm-gc-7.2pre20110122";
src = fetchurl {
url = "http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-${version}.tar.gz";
sha256 = (if version == "7.1" then "0c5zrsdw0rsli06lahcqwwz0prgah340fhfg7ggfgvz3iw1gdkp3"
else if version == "7.2alpha4" then "1ya9hr1wbx0hrx29q5zy2k51ml71k9mhqzqs7f505qr9s6jsfh0b"
else throw "Version unknown");
url = "http://nixos.org/tarballs/${name}.tar.bz2";
sha256 = "06nf60flq6344pgic3bz83jh6pvj4k42apm3x4xwxc4d2is457ly";
};
patches = stdenv.lib.optional (stdenv.system == "i686-cygwin")
./cygwin-pthread-dl.patch;
doCheck = true;
configureFlags = stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") "CPPFLAGS=-D_XOPEN_SOURCE";
meta = {
description = "The Boehm-Demers-Weiser conservative garbage collector for C and C++";
@@ -47,10 +41,3 @@ stdenv.mkDerivation ({
platforms = stdenv.lib.platforms.all;
};
}
//
(if stdenv.system == "x86_64-darwin"
# Fix "#error ucontext routines are deprecated, and require _XOPEN_SOURCE to be defined".
then { configureFlags = "CPPFLAGS=-D_XOPEN_SOURCE"; }
else {}))

View File

@@ -0,0 +1,80 @@
{ stdenv, fetchurl, icu, expat, zlib, bzip2, python
, enableRelease ? true
, enableDebug ? false
, enableSingleThreaded ? false
, enableMultiThreaded ? true
, enableShared ? true
, enableStatic ? false
, enablePIC ? false
}:
let
variant = stdenv.lib.concatStringsSep ","
(stdenv.lib.optional enableRelease "release" ++
stdenv.lib.optional enableDebug "debug");
threading = stdenv.lib.concatStringsSep ","
(stdenv.lib.optional enableSingleThreaded "single" ++
stdenv.lib.optional enableMultiThreaded "multi");
link = stdenv.lib.concatStringsSep ","
(stdenv.lib.optional enableShared "shared" ++
stdenv.lib.optional enableStatic "static");
# To avoid library name collisions
finalLayout = if ((enableRelease && enableDebug) ||
(enableSingleThreaded && enableMultiThreaded) ||
(enableShared && enableStatic)) then
"tagged" else "system";
cflags = if (enablePIC) then "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC" else "";
in
stdenv.mkDerivation {
name = "boost-1.46.0";
meta = {
homepage = "http://boost.org/";
description = "Boost C++ Library Collection";
license = "boost-license";
maintainers = [ stdenv.lib.maintainers.simons ];
};
src = fetchurl {
url = "mirror://sourceforge/boost/boost_1_46_0.tar.bz2";
sha256 = "0ndsiv06332gbh6wj68pcnci3l5qrc5pm1ca9dkmxhpxj83zd41g";
};
enableParallelBuilding = true;
buildInputs = [icu expat zlib bzip2 python];
configureScript = "./bootstrap.sh";
configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
buildPhase = "./bjam -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${finalLayout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
installPhase = ":";
crossAttrs = rec {
buildInputs = [ expat.hostDrv zlib.hostDrv bzip2.hostDrv ];
# all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
# override them.
propagatedBuildInputs = buildInputs;
# We want to substitute the contents of configureFlags, removing thus the
# usual --build and --host added on cross building.
preConfigure = ''
export configureFlags="--prefix=$out --without-icu"
'';
buildPhase = ''
set -x
cat << EOF > user-config.jam
using gcc : cross : $crossConfig-g++ ;
EOF
./bjam -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.hostDrv}/include -sEXPAT_LIBPATH=${expat.hostDrv}/lib --layout=${finalLayout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
'';
};
}

View File

@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
description = "binary decision diagram package";
license = "as-is";
platforms = stdenv.lib.platforms.all;
platforms = stdenv.lib.platforms.allBut "i686-cygwin";
maintainers = [ stdenv.lib.maintainers.simons ];
};
}

View File

@@ -1,60 +0,0 @@
{ postscriptSupport ? true
, pdfSupport ? true
, pngSupport ? true
, xcbSupport ? false
, stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype
, zlib, libpng, pixman, libxcb ? null, xcbutil ? null
}:
assert postscriptSupport -> zlib != null;
assert pngSupport -> libpng != null;
assert xcbSupport -> libxcb != null && xcbutil != null;
stdenv.mkDerivation rec {
name = "cairo-1.10.0";
src = fetchurl {
url = "http://cairographics.org/releases/${name}.tar.gz";
sha256 = "1cllxp8rx5zxkfpn36ysqg1kqz5d1cvbbf2fsy440n8m8v6f8b0g";
};
buildInputs =
[ pkgconfig x11 fontconfig pixman ] ++
stdenv.lib.optionals xcbSupport [ libxcb xcbutil ];
propagatedBuildInputs =
[ freetype ] ++
stdenv.lib.optional postscriptSupport zlib ++
stdenv.lib.optional pngSupport libpng;
configureFlags =
stdenv.lib.optional xcbSupport "--enable-xcb" ++
stdenv.lib.optional pdfSupport "--enable-pdf";
preConfigure = ''
# Work around broken `Requires.private' that prevents Freetype
# `-I' flags to be propagated.
sed -i "src/cairo.pc.in" \
-es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g'
'';
meta = {
description = "A 2D graphics library with support for multiple output devices";
longDescription = ''
Cairo is a 2D graphics library with support for multiple output
devices. Currently supported output targets include the X
Window System, Quartz, Win32, image buffers, PostScript, PDF,
and SVG file output. Experimental backends include OpenGL
(through glitz), XCB, BeOS, OS/2, and DirectFB.
Cairo is designed to produce consistent output on all output
media while taking advantage of display hardware acceleration
when available (e.g., through the X Render Extension).
'';
homepage = http://cairographics.org/;
licenses = [ "LGPLv2+" "MPLv1" ];
};
}

View File

@@ -2,7 +2,7 @@
, pdfSupport ? true
, pngSupport ? true
, xcbSupport ? false
, stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype
, stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs
, zlib, libpng, pixman, libxcb ? null, xcbutil ? null
}:
@@ -11,15 +11,15 @@ assert pngSupport -> libpng != null;
assert xcbSupport -> libxcb != null && xcbutil != null;
stdenv.mkDerivation rec {
name = "cairo-1.8.10";
name = "cairo-1.10.2";
src = fetchurl {
url = "http://cairographics.org/releases/${name}.tar.gz";
sha1 = "fd5e8ca82ff0e8542ea4c51612cad387f2a49df3";
sha1 = "ccce5ae03f99c505db97c286a0c9a90a926d3c6e";
};
buildInputs =
[ pkgconfig x11 fontconfig pixman ] ++
[ pkgconfig x11 fontconfig pixman xlibs.libXrender ] ++
stdenv.lib.optionals xcbSupport [ libxcb xcbutil ];
propagatedBuildInputs =
@@ -28,8 +28,9 @@ stdenv.mkDerivation rec {
stdenv.lib.optional pngSupport libpng;
configureFlags =
stdenv.lib.optional xcbSupport "--enable-xcb" ++
stdenv.lib.optional pdfSupport "--enable-pdf";
[ "--enable-tee" ]
++ stdenv.lib.optional xcbSupport "--enable-xcb"
++ stdenv.lib.optional pdfSupport "--enable-pdf";
preConfigure = ''
# Work around broken `Requires.private' that prevents Freetype
@@ -38,6 +39,9 @@ stdenv.mkDerivation rec {
-es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g'
'';
# The default `--disable-gtk-doc' is ignored.
postInstall = "rm -rf $out/share/gtk-doc";
meta = {
description = "A 2D graphics library with support for multiple output devices";

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, openssl, pkgconfig, libgcrypt, commoncpp2 }:
stdenv.mkDerivation {
name = "ccrtp-1.7.2";
name = "ccrtp-1.8.0";
src = fetchurl {
url = mirror://gnu/ccrtp/ccrtp-1.7.2.tar.gz;
sha256 = "1vz759f0342ih95sc7vmzx8als7y2ddr0s3jaaj03x22r7xaqzwy";
url = mirror://gnu/ccrtp/ccrtp-1.8.0.tar.gz;
sha256 = "0wr4dandlfajhmg90nqyvwv61ikn9vdycji001310y3c4zfysprn";
};
buildInputs = [ openssl pkgconfig libgcrypt commoncpp2 ];

View File

@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
description = "C/C++ library for numbers, a part of GiNaC";
homepage = http://www.ginac.de/CLN/;
maintainers = [ stdenv.lib.maintainers.urkud ];
platforms = stdenv.lib.platforms.all;
platforms = stdenv.lib.platforms.allBut "i686-cygwin";
};
}

View File

@@ -1,17 +1,19 @@
{ fetchurl, stdenv, pkgconfig, clutter, gtk }:
stdenv.mkDerivation rec {
name = "clutter-gtk-0.10.4";
name = "clutter-gtk-0.10.8";
src = fetchurl {
url = "http://source.clutter-project.org/sources/clutter-gtk/0.10/${name}.tar.bz2";
sha256 = "04mrq5ddj24zhh7dvyp9bl8510wq7qpmy3rl3wiqwl9c43gahd01";
sha256 = "0508x1jfnlq0zhgscysvfa7i7ljkzm23d2myikvdjwc8ar8zjrvq";
};
buildInputs = [ pkgconfig clutter gtk ];
preConfigure = "export V=1";
postBuild = "rm -rf $out/share/gtk-doc";
meta = {
description = "Clutter-GTK";

View File

@@ -2,11 +2,11 @@
, libXcomposite, cairo, glib, pango, gtk, json_glib }:
stdenv.mkDerivation rec {
name = "clutter-1.4.0";
name = "clutter-1.4.2";
src = fetchurl {
url = "http://source.clutter-project.org/sources/clutter/1.4/${name}.tar.bz2";
sha256 = "15icq2gf2fi098lq1wqr7sq2cnb00g1ids050a5z3f43l1ajrnxw";
sha256 = "14l8wgk5jdwsnjf991qgzl115kjs1xywil2awlrwj1airsn6gzcj";
};
buildInputs = [ pkgconfig ];
@@ -17,7 +17,6 @@ stdenv.mkDerivation rec {
libXi libXfixes libXdamage libXcomposite
];
meta = {
description = "Clutter, a library for creating fast, dynamic graphical user interfaces";

View File

@@ -0,0 +1,25 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "cminpack-1.1.2";
src = fetchurl {
url = http://devernay.free.fr/hacks/cminpack/cminpack-1.1.2.tar.gz;
sha256 = "0sd8gqk7npyiiiz2jym8q89d9gqx8fig0mnx63swkwmp4lqmmxww";
};
patchPhase = ''
sed -i s,/usr/local,$out, Makefile
'';
preInstall = ''
ensureDir $out/lib $out/include
'';
meta = {
homepage = http://devernay.free.fr/hacks/cminpack/cminpack.html;
license = "BSD";
description = "Software for solving nonlinear equations and nonlinear least squares problems";
};
}

View File

@@ -0,0 +1,22 @@
{ fetchurl, stdenv, mesa }:
stdenv.mkDerivation rec {
name = "coin3d-${version}";
version = "3.1.3";
src = fetchurl {
url = "http://ftp.coin3d.org/coin/src/all/Coin-${version}.tar.gz";
sha256 = "05ylhrcglm81dajbk132l1w892634z2i97x10fm64y1ih72phd2q";
};
buildInputs = [ mesa ];
meta = {
homepage = http://www.coin3d.org/;
license = "GPLv2+";
description = "High-level, retained-mode toolkit for effective 3D graphics development.";
maintainers = [ stdenv.lib.maintainers.viric ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
maintainers = [ stdenv.lib.maintainers.marcweber
stdenv.lib.maintainers.ludo
];
platforms = stdenv.lib.platforms.all;
platforms = stdenv.lib.platforms.allBut "i686-freebsd";
};
}

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, expat, libX11, libICE, libSM, useX11 ? true }:
let
version = "1.2.24";
version = "1.4.6";
src = fetchurl {
url = "http://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz";
sha256 = "0j2wb79kndq4b1qqr59n1g6s0lm7yp6r9ny3skimadkh9a7p8b7i";
sha256 = "0rx5p1f0jg4ch4958qb3ld3w3cw57a0rmvmxjgn1ir9dvxj1wgkm";
};
patches = [ ./ignore-missing-includedirs.patch ];

View File

@@ -0,0 +1,18 @@
{ fetchurl, stdenv }:
stdenv.mkDerivation rec {
name = "dotconf-" + version;
version = "1.0.13";
src = fetchurl {
url = "http://www.azzit.de/dotconf/download/v1.0/dotconf-1.0.13.tar.gz";
sha256 = "0rcvi743jgnrq2p5gknnvsqiv47479y5gyc2g9pz7bp7v7bzlmc9";
};
meta = {
description = "A configuration parser library";
homepage = http://www.azzit.de/dotconf/;
license = "LGPLv21+";
};
}

View File

@@ -0,0 +1,50 @@
x@{builderDefsPackage
, ladspaH, jackaudio, liblo, alsaLib, qt4, libX11, libsndfile, libSM
, libsamplerate, libtool, autoconf, automake, xproto, libICE
, ...}:
builderDefsPackage
(a :
let
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
[];
buildInputs = map (n: builtins.getAttr n x)
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec {
baseName="dssi";
version="1.1.0";
project="${baseName}";
name="${baseName}-${version}";
url="mirror://sourceforge/project/${project}/${baseName}/${version}/${name}.tar.gz";
hash="0lwvyrsr9dm032rrhxad30k712q3arrbn7g898n3flg26hmw58yf";
};
in
rec {
src = a.fetchurl {
url = sourceInfo.url;
sha256 = sourceInfo.hash;
};
inherit (sourceInfo) name version;
inherit buildInputs;
/* doConfigure should be removed if not needed */
phaseNames = ["doConfigure" "doMakeInstall"];
meta = {
description = "A plugin SDK for virtual instruments";
maintainers = with a.lib.maintainers;
[
raskin
];
platforms = with a.lib.platforms;
linux;
license = a.lib.licenses.lgpl21;
};
passthru = {
updateInfo = {
downloadPage = "http://sourceforge.net/projects/dssi/files/dssi/";
};
};
}) x

View File

@@ -0,0 +1,20 @@
{stdenv, fetchurl, cmake}:
let
v = "2.0.15";
in
stdenv.mkDerivation {
name = "eigen-${v}";
src = fetchurl {
url = "http://bitbucket.org/eigen/eigen/get/${v}.tar.bz2";
name = "eigen-${v}.tar.bz2";
sha256 = "0frgmkwsgmqaw88qpgvfalisq0wjpcbgqbj6jhpk39nbrs3zcq83";
};
buildNativeInputs = [ cmake ];
meta = with stdenv.lib; {
description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
license = licenses.lgpl3Plus;
homepage = http://eigen.tuxfamily.org ;
maintainers = with stdenv.lib.maintainers; [ sander urkud raskin ];
};
}

View File

@@ -0,0 +1,17 @@
{stdenv, fetchurl, libosip, openssl, pkgconfig }:
stdenv.mkDerivation rec {
version = "3.5.0";
src = fetchurl {
url = http://download.savannah.gnu.org/releases/exosip/libeXosip2-3.5.0.tar.gz;
sha256 = "1z0s8qxxvyaksnnb9srfi3aipkkb7c1rsxdywl9xyxgnlri0w0a6";
};
name = "libexosip2-${version}";
buildInputs = [ libosip openssl pkgconfig ];
meta = {
license = "GPLv2+";
description = "Library that hides the complexity of using the SIP protocol";
};
}

View File

@@ -0,0 +1,18 @@
From: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/expat/files/expat-2.0.1-CVE-2009-3560-revised.patch?revision=1.1
http://nvd.nist.gov/nvd.cfm?cvename=CVE-2009-3560
http://bugs.gentoo.org/show_bug.cgi?id=303727
http://cvs.fedoraproject.org/viewvc/rpms/expat/devel/
--- a/lib/xmlparse.c
+++ b/lib/xmlparse.c
@@ -3703,6 +3703,9 @@ doProlog(XML_Parser parser,
return XML_ERROR_UNCLOSED_TOKEN;
case XML_TOK_PARTIAL_CHAR:
return XML_ERROR_PARTIAL_CHAR;
+ case -XML_TOK_PROLOG_S:
+ tok = -tok;
+ break;
case XML_TOK_NONE:
#ifdef XML_DTD
/* for internal PE NOT referenced between declarations */

View File

@@ -1,7 +1,17 @@
{stdenv, fetchurl}: stdenv.mkDerivation {
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "expat-2.0.1";
src = fetchurl {
url = mirror://sourceforge/expat/expat-2.0.1.tar.gz;
sha256 = "14sy5qx9hgjyfs743iq8ywldhp5w4n6cscqf2p4hgrw6vys60xl4";
};
patches = [ ./cve-2009-3560.patch ];
meta = {
homepage = http://expat.sourceforge.net/;
description = "A stream-oriented XML parser library written in C";
};
}

View File

@@ -0,0 +1,18 @@
{stdenv, fetchurl, unzip, cmake, python}:
stdenv.mkDerivation {
name = "flann-1.6.8";
src = fetchurl {
url = http://people.cs.ubc.ca/~mariusm/uploads/FLANN/flann-1.6.8-src.zip;
sha256 = "0ag9k821jy0983gjrfsjnqkl5axklcih0qkpfy72h3643nin0f50";
};
buildInputs = [ unzip cmake python ];
meta = {
homepage = http://people.cs.ubc.ca/~mariusm/flann/;
license = "BSD";
description = "Fast approximate nearest neighbor searches in high dimensional spaces";
};
}

View File

@@ -6,11 +6,11 @@
}:
stdenv.mkDerivation rec {
name = "freetype-2.4.1";
name = "freetype-2.4.4";
src = fetchurl {
url = "mirror://sourceforge/freetype/${name}.tar.bz2";
sha256 = "0gmyk6w7rbiiw7zjbyvkvp8wfl7q9n5576ifqq67qwsjdzlm9ja5";
sha256 = "1vqg93473j6jma1bxms7mczk32j8is0g9inkcmmmqdsdvk3q30jb";
};
configureFlags = "--disable-static";

View File

@@ -0,0 +1,30 @@
{ stdenv, fetchurl, zlib, curl, automake, libtool, autoconf, unzip }:
stdenv.mkDerivation rec {
name = "funambol-client-cpp-9.0.0";
src = fetchurl {
url = mirror://sourceforge/funambol/funambol-client-sdk-9.0.0.zip;
sha256 = "1667gahz30i5r8kbv7w415z0hbgm6f6pln1137l5skapi1if6r73";
};
postUnpack = ''sourceRoot+="/sdk/cpp/build/autotools"'';
# Upstream guys forgotten to run autoreconf...
preConfigure=''
libtoolize -c -f
aclocal
autoheader
automake -a -c -f --add-missing
autoconf -f'';
propagatedBuildInputs = [ zlib curl ];
buildNativeInputs = [ automake libtool autoconf unzip ];
meta = {
description = "SyncML client sdk by Funambol project";
homepage = http://www.funambol.com;
maintainers = [ stdenv.lib.maintainers.urkud ];
};
}

View File

@@ -0,0 +1,24 @@
{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, xlibs }:
stdenv.mkDerivation rec {
name = "gdk-pixbuf-2.22.1";
src = fetchurl {
url = "mirror://gnome/sources/gdk-pixbuf/2.22/${name}.tar.bz2";
sha256 = "6ce87eda24af9362307b2593c154d0b660f4e26d0abf2e71d46d0ddd55fd953d";
};
# !!! We might want to factor out the gdk-pixbuf-xlib subpackage.
buildInputs = [ pkgconfig glib libtiff libjpeg libpng xlibs.xlibs ];
postInstall = "rm -rf $out/share/gtk-doc";
meta = {
description = "A library for image loading and manipulation";
homepage = http://library.gnome.org/devel/gdk-pixbuf/;
maintainers = [ stdenv.lib.maintainers.eelco ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -1,13 +0,0 @@
{stdenv, fetchurl, gtk, libtiff, libjpeg, libpng}:
stdenv.mkDerivation rec {
name = "gdk-pixbuf-0.22.0";
src = fetchurl {
url = "ftp://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/0.22/${name}.tar.bz2";
md5 = "05fcb68ceaa338614ab650c775efc2f2";
};
buildInputs = [libtiff libjpeg libpng];
propagatedBuildInputs = [gtk];
}

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv, zlib }:
stdenv.mkDerivation rec {
name = "glib-2.24.1";
name = "glib-2.24.2";
src = fetchurl {
url = "mirror://gnome/sources/glib/2.24/${name}.tar.bz2";
sha256 = "014c3da960bf17117371075c16495f05f36501db990851ceea658f15d2ea6d04";
sha256 = "030nl16xa2ps9bklm2l81w0yamsrj5a0x7rp4h9dshinpld55srs";
};
buildInputs = [ pkgconfig gettext ]

View File

@@ -1,20 +1,24 @@
{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv}:
{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv, zlib }:
stdenv.mkDerivation rec {
name = "glib-2.22.5";
name = "glib-2.28.3";
src = fetchurl {
url = "mirror://gnome/sources/glib/2.22/${name}.tar.bz2";
sha256 = "802be9c9ffeb631725ffd6ed35af0af309776729a7fab4fcb48f2b0b8fe7245b";
url = "mirror://gnome/sources/glib/2.28/${name}.tar.bz2";
sha256 = "7e1ab62d0f0cdc3f0ce8214b77d104b3abbd51185a9f3fc9b6a504cce26f6fab";
};
buildInputs = [pkgconfig gettext perl]
# configure script looks for d-bus but it is only needed for tests
buildInputs = [ pkgconfig gettext ]
++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
buildNativeInputs = [ perl ];
# The nbd package depends on a static version of this library; hence
# the default configure flag --disable-static is switched off.
dontDisableStatic = true;
configureFlags = "--enable-static --enable-shared";
propagatedBuildInputs = [ zlib ];
# glib buildsystem fails to find python, thus hardcodes python2.4 in #!
postInstall = ''
rm -rvf $out/share/gtk-doc
sed -e 's@python2\.4@python@' -i $out/bin/gtester-report'';
meta = {
description = "GLib, a C library of programming buildings blocks";

View File

@@ -0,0 +1,27 @@
From 7c8a67320e26b8c11108bf0a3410d3aef9cf3486 Mon Sep 17 00:00:00 2001
From: Ulrich Drepper <drepper@redhat.com>
Date: Sat, 31 Jan 2009 00:21:15 +0000
Subject: [PATCH] * elf/Makefile (ld.so): Adjust the sed script to insert _begin in to
newer linker scripts.
---
ChangeLog | 5 +++++
elf/Makefile | 4 ++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/elf/Makefile b/elf/Makefile
index 8079fe9..e44ff1d 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -304,7 +304,7 @@ $(objpfx)ld.so: $(objpfx)librtld.os $(ld-map)
$(LDFLAGS-rtld) -Wl,-z,defs -Wl,--verbose 2>&1 | \
LC_ALL=C \
sed -e '/^=========/,/^=========/!d;/^=========/d' \
- -e 's/\. = 0 + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \
+ -e 's/\. = .* + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \
> $@.lds
$(LINK.o) -nostdlib -nostartfiles -shared -o $@ \
$(LDFLAGS-rtld) -Wl,-z,defs $(z-now-$(bind-now)) \
--
1.6.4

View File

@@ -19,6 +19,9 @@ preConfigure() {
--replace "@PWD@" "pwd"
done
# Fix shell code that tries to determine whether GNU ld is recent enough.
substituteInPlace configure --replace '2.1[3-9]*)' '2.1[3-9]*|2.[2-9][0-9]*)'
mkdir ../build
cd ../build

View File

@@ -12,7 +12,8 @@ stdenv.mkDerivation {
md5 = "1fb29764a6a650a4d5b409dda227ac9f";
};
patches = [ ./glibc-pwd.patch ./glibc-getcwd-param-MAX.patch ./glibc-inline.patch ./x86-fnstsw.patch ];
patches = [ ./glibc-pwd.patch ./glibc-getcwd-param-MAX.patch ./glibc-inline.patch
./x86-fnstsw.patch ./binutils-ld.patch ./make-3-82-fix.patch ];
inherit kernelHeaders installLocales;

View File

@@ -0,0 +1,14 @@
--- glibc-2.5/manual/Makefile.orig 2011-01-26 17:03:14.000000000 +0100
+++ glibc-2.5/manual/Makefile 2011-01-26 17:04:30.000000000 +0100
@@ -232,7 +232,10 @@
.PHONY: stubs
stubs: $(objpfx)stubs
endif
-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%:
+$(objpfx)stubs ../po/manual.pot:
+ $(make-target-directory)
+ touch $@
+$(objpfx)stamp%:
$(make-target-directory)
touch $@

View File

@@ -1,17 +0,0 @@
{ stdenv, fetchurl, pkgconfig, glib, zlib }:
stdenv.mkDerivation rec {
name = "gmime-2.2.26";
src = fetchurl {
url = "mirror://gnome/sources/gmime/2.2/${name}.tar.gz";
sha256 = "16inhq6symym9n71kxcndjwrxs2xrz63idvy64yc486wlg54aqfc";
};
buildInputs = [ pkgconfig glib zlib ];
meta = {
homepage = http://spruce.sourceforge.net/gmime/;
description = "A C/C++ library for manipulating MIME messages";
};
}

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, glib, zlib }:
stdenv.mkDerivation rec {
name = "gmime-2.4.17";
name = "gmime-2.4.22";
src = fetchurl {
url = "mirror://gnome/sources/gmime/2.4/${name}.tar.gz";
sha256 = "1l1pbk0yrr7zwl90aabdhw0f9i4m6ragsfyk5qwg0hzk21abz9wd";
sha256 = "0s93amrj7fh3p8lv770p7mrml07m6dps6srwi1wn76d2rfb944xn";
};
buildInputs = [ pkgconfig glib zlib ];

View File

@@ -16,7 +16,14 @@ stdenv.mkDerivation rec {
# Prevent the build system from using sub-architecture-specific
# instructions (e.g., SSE2 on i686).
preConfigure = "ln -sf configfsf.guess config.guess";
#
# This is not a problem for Apple machines, which are all alike. In
# addition, `configfsf.guess' would return `i386-apple-darwin10.2.0' on
# `x86_64-darwin', leading to a 32-bit ABI build, which is undesirable.
preConfigure =
if !stdenv.isDarwin
then "ln -sf configfsf.guess config.guess"
else ''echo "Darwin host is `./config.guess`."'';
configureFlags = (if cxx then "--enable-cxx" else "--disable-cxx") +
staticFlags;

View File

@@ -5,11 +5,11 @@ assert guileBindings -> guile != null;
stdenv.mkDerivation rec {
name = "gnutls-2.10.4";
name = "gnutls-2.10.5";
src = fetchurl {
url = "mirror://gnu/gnutls/${name}.tar.bz2";
sha256 = "1j2zfjipvzqfamyygndckjksizb5dd7f9wazvfciwrzya1jf7gxq";
sha256 = "1jfrxd1h4f5kkfzrwx8yx6a2dwrgqr6imbxnil1jfi7hdr1db1n0";
};
configurePhase = ''

View File

@@ -1,22 +1,27 @@
{ stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python, cairo }:
{ stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python }:
let
baseName = "gobject-introspection";
v = "0.6.10";
v = "0.10.2";
in
stdenv.mkDerivation rec {
name = "${baseName}-${v}";
buildInputs = [ flex bison glib pkgconfig python cairo ];
buildInputs = [ flex bison glib pkgconfig python ];
propagatedBuildInputs = [ libffi ];
configureFlags = "--enable-gcov";
# Tests depend on cairo, which is undesirable (it pulls in lots of
# other dependencies).
configureFlags = "--disable-tests";
src = fetchurl {
url = "mirror://gnome/sources/${baseName}/0.6/${name}.tar.bz2";
sha256 = "0jwd7bybgvg6dwhg64da8k9yjrs37y5p153gaaapz5j59ld53g9n";
url = "mirror://gnome/sources/${baseName}/0.10/${name}.tar.bz2";
sha256 = "18di6v39hibb6j39vs0a5icaafihfryh8250kz7x1q1313pvm62v";
};
postInstall = "rm -rf $out/share/gtk-doc";
meta = with stdenv.lib; {
maintainers = [ maintainers.urkud ];
platforms = platforms.linux;

View File

@@ -1,11 +1,11 @@
{ fetchurl, stdenv }:
stdenv.mkDerivation rec {
name = "gsasl-1.4.4";
name = "gsasl-1.6.0";
src = fetchurl {
url = "mirror://gnu/gsasl/${name}.tar.gz";
sha256 = "0xd9irff42dd5i4cr74dy0yd9ijjv9nkg6c2l1328grsn8zifwdc";
sha256 = "1panxrfy8f6gfhd3iqx1rssz7k473463xvnp6sxagrg4p83qz36a";
};
doCheck = true;

View File

@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig jasper ];
propagatedBuildInputs =
[ xlibs.xlibs glib atk pango libtiff libjpeg libpng cairo xlibs.libXrandr ]
[ xlibs.xlibs glib atk pango libtiff libjpeg libpng cairo xlibs.libXrandr xlibs.libXrender ]
++ stdenv.lib.optional xineramaSupport xlibs.libXinerama
++ stdenv.lib.optionals cupsSupport [ cups ];

View File

@@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, glib, atk, pango, libtiff, libjpeg
, libpng, cairo, perl, jasper, xlibs
, libpng, cairo, perl, jasper, xlibs, gdk_pixbuf
, xineramaSupport ? true
, cupsSupport ? true, cups ? null
}:
@@ -8,21 +8,35 @@ assert xineramaSupport -> xlibs.libXinerama != null;
assert cupsSupport -> cups != null;
stdenv.mkDerivation rec {
name = "gtk+-2.18.9";
name = "gtk+-2.24.3";
src = fetchurl {
url = "mirror://gnome/sources/gtk+/2.18/${name}.tar.bz2";
sha256 = "5dcd8c406acbb8779c0b081a089fa87dfd7ab4d7d4c6075db478997ce96aa9b4";
url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.bz2";
sha256 = "336ddf3dd342cc36bee80dd4f86ef036044a2deb10cda67c8eecf5315b279ef7";
};
patches =
[ # Fix broken icons such as the back/forward buttons in Firefox.
# http://bugs.gentoo.org/339319
./old-icons.patch
];
enableParallelBuilding = true;
buildNativeInputs = [ perl ];
buildInputs = [ pkgconfig jasper ];
propagatedBuildInputs =
[ xlibs.xlibs glib atk pango libtiff libjpeg libpng cairo xlibs.libXrandr ]
[ xlibs.xlibs glib atk pango gdk_pixbuf /* libtiff libjpeg libpng */ cairo
xlibs.libXrandr xlibs.libXrender xlibs.libXcomposite xlibs.libXi
]
++ stdenv.lib.optional xineramaSupport xlibs.libXinerama
++ stdenv.lib.optionals cupsSupport [ cups ];
configureFlags = "--with-xinput=yes";
postInstall = "rm -rf $out/share/gtk-doc";
passthru = { inherit libtiff libjpeg libpng; };
meta = {

View File

@@ -0,0 +1,270 @@
diff -ru -x '*~' gtk+-2.24.0-orig//gtk/Makefile.in gtk+-2.24.0//gtk/Makefile.in
--- gtk+-2.24.0-orig//gtk/Makefile.in 2011-01-30 05:39:20.000000000 +0100
+++ gtk+-2.24.0//gtk/Makefile.in 2011-02-14 00:06:56.000000000 +0100
@@ -1601,7 +1601,173 @@
stock-icons/24/folder-remote.png \
stock-icons/24/user-home.png \
stock-icons/24/user-desktop.png \
- stock-icons/24/text-x-generic.png
+ stock-icons/24/text-x-generic.png \
+ stock-icons/16/gtk-quit.png \
+ stock-icons/16/gtk-info.png \
+ stock-icons/16/gtk-file.png \
+ stock-icons/16/gtk-open.png \
+ stock-icons/16/gtk-print-preview.png \
+ stock-icons/16/gtk-print.png \
+ stock-icons/16/gtk-properties.png \
+ stock-icons/16/gtk-revert-to-saved-ltr.png \
+ stock-icons/16/gtk-revert-to-saved-rtl.png \
+ stock-icons/16/gtk-save-as.png \
+ stock-icons/16/gtk-new.png \
+ stock-icons/16/gtk-harddisk.png \
+ stock-icons/16/gtk-clear.png \
+ stock-icons/16/gtk-copy.png \
+ stock-icons/16/gtk-cut.png \
+ stock-icons/16/gtk-delete.png \
+ stock-icons/16/gtk-find-and-replace.png \
+ stock-icons/16/gtk-find.png \
+ stock-icons/16/gtk-paste.png \
+ stock-icons/16/gtk-redo-ltr.png \
+ stock-icons/16/gtk-redo-rtl.png \
+ stock-icons/16/gtk-select-all.png \
+ stock-icons/16/gtk-undo-ltr.png \
+ stock-icons/16/gtk-undo-rtl.png \
+ stock-icons/16/gtk-directory.png \
+ stock-icons/16/gtk-unindent-ltr.png \
+ stock-icons/16/gtk-unindent-rtl.png \
+ stock-icons/16/gtk-indent-ltr.png \
+ stock-icons/16/gtk-indent-rtl.png \
+ stock-icons/16/gtk-justify-center.png \
+ stock-icons/16/gtk-justify-fill.png \
+ stock-icons/16/gtk-justify-left.png \
+ stock-icons/16/gtk-justify-right.png \
+ stock-icons/16/gtk-bold.png \
+ stock-icons/16/gtk-italic.png \
+ stock-icons/16/gtk-strikethrough.png \
+ stock-icons/16/gtk-underline.png \
+ stock-icons/16/gtk-goto-bottom.png \
+ stock-icons/16/gtk-go-down.png \
+ stock-icons/16/gtk-goto-first-ltr.png \
+ stock-icons/16/gtk-home.png \
+ stock-icons/16/gtk-jump-to-ltr.png \
+ stock-icons/16/gtk-jump-to-rtl.png \
+ stock-icons/16/gtk-goto-last-ltr.png \
+ stock-icons/16/gtk-go-forward-ltr.png \
+ stock-icons/16/gtk-go-back-ltr.png \
+ stock-icons/16/gtk-goto-top.png \
+ stock-icons/16/gtk-go-up.png \
+ stock-icons/16/gtk-about.png \
+ stock-icons/16/gtk-help.png \
+ stock-icons/16/gtk-missing-image.png \
+ stock-icons/16/gtk-add.png \
+ stock-icons/16/gtk-remove.png \
+ stock-icons/16/gtk-floppy.png \
+ stock-icons/16/gtk-cdrom.png \
+ stock-icons/16/gtk-media-pause.png \
+ stock-icons/16/gtk-media-play-ltr.png \
+ stock-icons/16/gtk-media-play-rtl.png \
+ stock-icons/16/gtk-media-stop.png \
+ stock-icons/16/gtk-media-record.png \
+ stock-icons/16/gtk-media-rewind-ltr.png \
+ stock-icons/16/gtk-media-forward-ltr.png \
+ stock-icons/16/gtk-media-previous-ltr.png \
+ stock-icons/16/gtk-media-next-ltr.png \
+ stock-icons/16/gtk-network.png \
+ stock-icons/16/gtk-print-error.png \
+ stock-icons/16/gtk-print-report.png \
+ stock-icons/16/gtk-print-paused.png \
+ stock-icons/16/gtk-print-warning.png \
+ stock-icons/16/gtk-stop.png \
+ stock-icons/16/gtk-execute.png \
+ stock-icons/16/gtk-spell-check.png \
+ stock-icons/16/gtk-fullscreen.png \
+ stock-icons/16/gtk-refresh.png \
+ stock-icons/16/gtk-leave-fullscreen.png \
+ stock-icons/16/gtk-sort-ascending.png \
+ stock-icons/16/gtk-sort-descending.png \
+ stock-icons/16/gtk-close.png \
+ stock-icons/16/gtk-zoom-fit.png \
+ stock-icons/16/gtk-zoom-in.png \
+ stock-icons/16/gtk-zoom-100.png \
+ stock-icons/16/gtk-zoom-out.png \
+ stock-icons/24/gtk-quit.png \
+ stock-icons/24/gtk-info.png \
+ stock-icons/24/gtk-file.png \
+ stock-icons/24/gtk-open.png \
+ stock-icons/24/gtk-print-preview.png \
+ stock-icons/24/gtk-print.png \
+ stock-icons/24/gtk-properties.png \
+ stock-icons/24/gtk-revert-to-saved-ltr.png \
+ stock-icons/24/gtk-revert-to-saved-rtl.png \
+ stock-icons/24/gtk-save-as.png \
+ stock-icons/24/gtk-new.png \
+ stock-icons/24/gtk-harddisk.png \
+ stock-icons/24/gtk-clear.png \
+ stock-icons/24/gtk-copy.png \
+ stock-icons/24/gtk-cut.png \
+ stock-icons/24/gtk-delete.png \
+ stock-icons/24/gtk-find-and-replace.png \
+ stock-icons/24/gtk-find.png \
+ stock-icons/24/gtk-paste.png \
+ stock-icons/24/gtk-redo-ltr.png \
+ stock-icons/24/gtk-redo-rtl.png \
+ stock-icons/24/gtk-select-all.png \
+ stock-icons/24/gtk-undo-ltr.png \
+ stock-icons/24/gtk-undo-rtl.png \
+ stock-icons/24/gtk-directory.png \
+ stock-icons/24/gtk-unindent-ltr.png \
+ stock-icons/24/gtk-unindent-rtl.png \
+ stock-icons/24/gtk-indent-ltr.png \
+ stock-icons/24/gtk-indent-rtl.png \
+ stock-icons/24/gtk-justify-center.png \
+ stock-icons/24/gtk-justify-fill.png \
+ stock-icons/24/gtk-justify-left.png \
+ stock-icons/24/gtk-justify-right.png \
+ stock-icons/24/gtk-bold.png \
+ stock-icons/24/gtk-italic.png \
+ stock-icons/24/gtk-strikethrough.png \
+ stock-icons/24/gtk-underline.png \
+ stock-icons/24/gtk-goto-bottom.png \
+ stock-icons/24/gtk-go-down.png \
+ stock-icons/24/gtk-goto-first-ltr.png \
+ stock-icons/24/gtk-home.png \
+ stock-icons/24/gtk-jump-to-ltr.png \
+ stock-icons/24/gtk-jump-to-rtl.png \
+ stock-icons/24/gtk-goto-last-ltr.png \
+ stock-icons/24/gtk-go-forward-ltr.png \
+ stock-icons/24/gtk-go-back-ltr.png \
+ stock-icons/24/gtk-goto-top.png \
+ stock-icons/24/gtk-go-up.png \
+ stock-icons/24/gtk-about.png \
+ stock-icons/24/gtk-help.png \
+ stock-icons/24/gtk-missing-image.png \
+ stock-icons/24/gtk-add.png \
+ stock-icons/24/gtk-remove.png \
+ stock-icons/24/gtk-floppy.png \
+ stock-icons/24/gtk-cdrom.png \
+ stock-icons/24/gtk-media-pause.png \
+ stock-icons/24/gtk-media-play-ltr.png \
+ stock-icons/24/gtk-media-play-rtl.png \
+ stock-icons/24/gtk-media-stop.png \
+ stock-icons/24/gtk-media-record.png \
+ stock-icons/24/gtk-media-rewind-ltr.png \
+ stock-icons/24/gtk-media-forward-ltr.png \
+ stock-icons/24/gtk-media-previous-ltr.png \
+ stock-icons/24/gtk-media-next-ltr.png \
+ stock-icons/24/gtk-network.png \
+ stock-icons/24/gtk-print-error.png \
+ stock-icons/24/gtk-print-report.png \
+ stock-icons/24/gtk-print-paused.png \
+ stock-icons/24/gtk-print-warning.png \
+ stock-icons/24/gtk-stop.png \
+ stock-icons/24/gtk-execute.png \
+ stock-icons/24/gtk-spell-check.png \
+ stock-icons/24/gtk-fullscreen.png \
+ stock-icons/24/gtk-refresh.png \
+ stock-icons/24/gtk-leave-fullscreen.png \
+ stock-icons/24/gtk-sort-ascending.png \
+ stock-icons/24/gtk-sort-descending.png \
+ stock-icons/24/gtk-close.png \
+ stock-icons/24/gtk-zoom-fit.png \
+ stock-icons/24/gtk-zoom-in.png \
+ stock-icons/24/gtk-zoom-100.png \
+ stock-icons/24/gtk-zoom-out.png \
+ stock-icons/48/gtk-dialog-error.png
+
@CROSS_COMPILING_FALSE@gtk_update_icon_cache_program = \
@CROSS_COMPILING_FALSE@ ./gtk-update-icon-cache
@@ -2873,7 +3039,91 @@
&& $(LN_S) folder.png user-desktop.png \
&& $(RM) text-x-generic.png \
&& $(LN_S) document-x-generic.png text-x-generic.png \
+ && $(LN_S) application-exit.png gtk-quit.png \
+ && $(LN_S) dialog-information.png gtk-info.png \
+ && $(LN_S) document-new.png gtk-file.png \
+ && $(LN_S) document-open.png gtk-open.png \
+ && $(LN_S) document-print-preview.png gtk-print-preview.png \
+ && $(LN_S) document-print.png gtk-print.png \
+ && $(LN_S) document-properties.png gtk-properties.png \
+ && $(LN_S) document-revert-ltr.png gtk-revert-to-saved-ltr.png \
+ && $(LN_S) document-revert-rtl.png gtk-revert-to-saved-rtl.png \
+ && $(LN_S) document-save-as.png gtk-save-as.png \
+ && $(LN_S) document-x-generic.png gtk-new.png \
+ && $(LN_S) drive-harddisk.png gtk-harddisk.png \
+ && $(LN_S) edit-clear.png gtk-clear.png \
+ && $(LN_S) edit-copy.png gtk-copy.png \
+ && $(LN_S) edit-cut.png gtk-cut.png \
+ && $(LN_S) edit-delete.png gtk-delete.png \
+ && $(LN_S) edit-find-replace.png gtk-find-and-replace.png \
+ && $(LN_S) edit-find.png gtk-find.png \
+ && $(LN_S) edit-paste.png gtk-paste.png \
+ && $(LN_S) edit-redo-ltr.png gtk-redo-ltr.png \
+ && $(LN_S) edit-redo-rtl.png gtk-redo-rtl.png \
+ && $(LN_S) edit-select-all.png gtk-select-all.png \
+ && $(LN_S) edit-undo-ltr.png gtk-undo-ltr.png \
+ && $(LN_S) edit-undo-rtl.png gtk-undo-rtl.png \
+ && $(LN_S) folder.png gtk-directory.png \
+ && $(LN_S) format-indent-less-ltr.png gtk-unindent-ltr.png \
+ && $(LN_S) format-indent-less-rtl.png gtk-unindent-rtl.png \
+ && $(LN_S) format-indent-more-ltr.png gtk-indent-ltr.png \
+ && $(LN_S) format-indent-more-rtl.png gtk-indent-rtl.png \
+ && $(LN_S) format-justify-center.png gtk-justify-center.png \
+ && $(LN_S) format-justify-fill.png gtk-justify-fill.png \
+ && $(LN_S) format-justify-left.png gtk-justify-left.png \
+ && $(LN_S) format-justify-right.png gtk-justify-right.png \
+ && $(LN_S) format-text-bold.png gtk-bold.png \
+ && $(LN_S) format-text-italic.png gtk-italic.png \
+ && $(LN_S) format-text-strikethrough.png gtk-strikethrough.png \
+ && $(LN_S) format-text-underline.png gtk-underline.png \
+ && $(LN_S) go-bottom.png gtk-goto-bottom.png \
+ && $(LN_S) go-down.png gtk-go-down.png \
+ && $(LN_S) go-first-ltr.png gtk-goto-first-ltr.png \
+ && $(LN_S) go-home.png gtk-home.png \
+ && $(LN_S) go-jump-ltr.png gtk-jump-to-ltr.png \
+ && $(LN_S) go-jump-rtl.png gtk-jump-to-rtl.png \
+ && $(LN_S) go-last-ltr.png gtk-goto-last-ltr.png \
+ && $(LN_S) go-next-ltr.png gtk-go-forward-ltr.png \
+ && $(LN_S) go-previous-ltr.png gtk-go-back-ltr.png \
+ && $(LN_S) go-top.png gtk-goto-top.png \
+ && $(LN_S) go-up.png gtk-go-up.png \
+ && $(LN_S) help-about.png gtk-about.png \
+ && $(LN_S) help-contents.png gtk-help.png \
+ && $(LN_S) image-missing.png gtk-missing-image.png \
+ && $(LN_S) list-add.png gtk-add.png \
+ && $(LN_S) list-remove.png gtk-remove.png \
+ && $(LN_S) media-floppy.png gtk-floppy.png \
+ && $(LN_S) media-optical.png gtk-cdrom.png \
+ && $(LN_S) media-playback-pause.png gtk-media-pause.png \
+ && $(LN_S) media-playback-start-ltr.png gtk-media-play-ltr.png \
+ && $(LN_S) media-playback-start-rtl.png gtk-media-play-rtl.png \
+ && $(LN_S) media-playback-stop.png gtk-media-stop.png \
+ && $(LN_S) media-record.png gtk-media-record.png \
+ && $(LN_S) media-seek-backward-ltr.png gtk-media-rewind-ltr.png \
+ && $(LN_S) media-seek-forward-ltr.png gtk-media-forward-ltr.png \
+ && $(LN_S) media-skip-backward-ltr.png gtk-media-previous-ltr.png \
+ && $(LN_S) media-skip-forward-ltr.png gtk-media-next-ltr.png \
+ && $(LN_S) network-idle.png gtk-network.png \
+ && $(LN_S) printer-error.png gtk-print-error.png \
+ && $(LN_S) printer-info.png gtk-print-report.png \
+ && $(LN_S) printer-paused.png gtk-print-paused.png \
+ && $(LN_S) printer-warning.png gtk-print-warning.png \
+ && $(LN_S) process-stop.png gtk-stop.png \
+ && $(LN_S) system-run.png gtk-execute.png \
+ && $(LN_S) tools-check-spelling.png gtk-spell-check.png \
+ && $(LN_S) view-fullscreen.png gtk-fullscreen.png \
+ && $(LN_S) view-refresh.png gtk-refresh.png \
+ && $(LN_S) view-restore.png gtk-leave-fullscreen.png \
+ && $(LN_S) view-sort-ascending.png gtk-sort-ascending.png \
+ && $(LN_S) view-sort-descending.png gtk-sort-descending.png \
+ && $(LN_S) window-close.png gtk-close.png \
+ && $(LN_S) zoom-fit-best.png gtk-zoom-fit.png \
+ && $(LN_S) zoom-in.png gtk-zoom-in.png \
+ && $(LN_S) zoom-original.png gtk-zoom-100.png \
+ && $(LN_S) zoom-out.png gtk-zoom-out.png \
) done \
+ && (cd stock-icons/48 \
+ && $(LN_S) dialog-error.png gtk-dialog-error.png) \
&& touch stamp-icons
gtkbuiltincache.h: @REBUILD@ stamp-icons

View File

@@ -0,0 +1,28 @@
{ fetchurl, stdenv, glib, pkgconfig }:
stdenv.mkDerivation rec {
name = "gts-${version}";
version = "0.7.6";
src = fetchurl {
url = "mirror://sourceforge/gts/${name}.tar.gz";
sha256 = "07mqx09jxh8cv9753y2d2jsv7wp8vjmrd7zcfpbrddz3wc9kx705";
};
buildInputs = [ glib pkgconfig ];
meta = {
homepage = http://gts.sourceforge.net/;
license = "LGPLv2+";
description = "GNU Triangulated Surface Library";
longDescription = ''
Library intended to provide a set of useful functions to deal with
3D surfaces meshed with interconnected triangles.
'';
maintainers = [ stdenv.lib.maintainers.viric ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -0,0 +1,13 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "AC-Vector";
version = "2.3.1";
sha256 = "0nmj57czqcik23j9iqxbdwqg73n5n1kc9akhp0wywrbkklgf79a0";
meta = {
description = "Efficient geometric vectors and transformations";
license = "BSD";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@@ -1,13 +1,15 @@
{cabal, QuickCheck, binary, haskeline, haskellSrc, mtl, utf8String, xhtml, zlib,
{cabal, QuickCheck, binary, haskeline, haskellSrcExts, mtl, utf8String,
syb, xhtml, zlib,
happy, alex}:
cabal.mkDerivation (self : {
pname = "Agda";
version = "2.2.8";
sha256 = "06j2s7x3h5lanygd6mhhxkzjf4c0m8pw6c0s7gbmwlxqrkz9firg";
version = "2.2.10";
sha256 = "1bh96g5c6b6jzaf3m9gm0vr64avgi86kb45p8i1vg1jbfjdbdlsw";
extraBuildInputs = [happy alex];
propagatedBuildInputs =
[QuickCheck binary haskeline haskellSrc mtl utf8String xhtml zlib];
[QuickCheck binary haskeline haskellSrcExts mtl utf8String
syb xhtml zlib];
meta = {
description = "A dependently typed functional language and proof assistant";
maintainers = [self.stdenv.lib.maintainers.andres];

View File

@@ -2,8 +2,8 @@
cabal.mkDerivation (self : {
pname = "GLUT";
version = "2.1.2.1"; # Haskell Platform 2010.1.0.0 and 2010.2.0.0
sha256 = "0230bfacbfb85c126f1fba45fcd8d02f20da9ee19180b5ada698224362d17264";
version = "2.1.2.1"; # Haskell Platform 2010.1.0.0, 2010.2.0.0, 2011.2.0.0
sha256 = "0r3js5i468lqlsnvb04iw6gdl81gs3cgqids3xpi4p5qpynbyc02";
propagatedBuildInputs = [OpenGL glut libSM libICE libXmu libXi mesa];
meta = {
description = "A binding for the OpenGL Utility Toolkit";

View File

@@ -1,25 +0,0 @@
{cabal, mtl, sybWithClass, HaXml, HAppSUtil, bytestring, binary}:
cabal.mkDerivation (self : {
pname = "HAppS-Data";
version = "0.9.3";
sha256 = "b23c6f4a949927194e47f9781edc3b7d38513210de4a24987859d68b375bc335";
propagatedBuildInputs = [mtl sybWithClass HaXml HAppSUtil bytestring binary];
meta = {
description = ''HAppS data manipulation libraries'';
longDescription = ''
This package provides libraries for:
* Deriving instances for your datatypes.
* Producing default values of Haskell datatypes.
* Normalizing values of Haskell datatypes.
* Marshalling Haskell values to and from XML.
* Marshalling Haskell values to and from HTML forms.
'';
license = "free";
};
})

View File

@@ -1,12 +0,0 @@
{cabal, mtl, hslogger, HAppSUtil, HAppSState, HAppSData, sybWithClass}:
cabal.mkDerivation (self : {
pname = "HAppS-IxSet";
version = "0.9.3";
sha256 = "ebacd72e153bbcafb18bf4fa607550de98f8a991e9cfd8314b572cacf155a372";
propagatedBuildInputs = [mtl hslogger HAppSUtil HAppSState HAppSData sybWithClass];
meta = {
longDescription = ''Web framework'';
license = "free";
};
})

View File

@@ -1,13 +0,0 @@
{cabal, HaXml, parsec, mtl, network, hslogger, HAppSData, HAppSUtil, HAppSState, HAppSIxSet, HTTP, xhtml, html, bytestring}:
cabal.mkDerivation (self : {
pname = "HAppS-Server";
version = "0.9.3.1";
sha256 = "b03129f332c35cd558b0f32bc626321dcfa2647dd7ddf67f3403eca8c4c52038";
propagatedBuildInputs = [HaXml parsec mtl network hslogger HAppSData HAppSUtil HAppSState HAppSIxSet HTTP xhtml html bytestring];
meta = {
description = ''Web related tools and services.'';
longDescription = ''Web framework'';
license = "free";
};
})

View File

@@ -1,13 +0,0 @@
{cabal, HaXml, mtl, network, stm, hslogger, HAppSUtil, HAppSData, bytestring, binary, hspread}:
cabal.mkDerivation (self : {
pname = "HAppS-State";
version = "0.9.3";
sha256 = "5099e635f8fcf56f775947a241a24e1aab6eb6d9fee0406e6a2169c4c8b331e4";
propagatedBuildInputs = [HaXml mtl network stm hslogger HAppSUtil HAppSData bytestring binary hspread];
meta = {
description = ''Event-based distributed state.'';
longDescription = ''Web framework'';
license = "free";
};
})

View File

@@ -1,12 +0,0 @@
{cabal, mtl, hslogger, bytestring}:
cabal.mkDerivation (self : {
pname = "HAppS-Util";
version = "0.9.3";
sha256 = "f9120d256e37111b6203dfc4eb598dd438c87e53bb9eb37258c999dd49b8e655";
propagatedBuildInputs = [mtl hslogger bytestring];
meta = {
description = ''Web framework'';
license = "free";
};
})

View File

@@ -1,10 +1,10 @@
{cabal, parsec, time, text, utf8String, parallel}:
{cabal, parsec, time, text, utf8String, parallel, syb}:
cabal.mkDerivation (self : {
pname = "HStringTemplate";
version = "0.6.5";
sha256 = "e40b69e22900f381ca7fb080ea6e70d623e52e909bd7b896bc24e15c8e43252c";
propagatedBuildInputs = [parsec time text utf8String parallel];
version = "0.6.6";
sha256 = "1ian79az5q6m08pwb5fks52ffs4h2mq02kkcwmr6jb7i0ha2k2si";
propagatedBuildInputs = [parsec time text utf8String parallel syb];
meta = {
description = "StringTemplate implementation in Haskell";
};

View File

@@ -0,0 +1,12 @@
{cabal, mtl, network, parsec}:
cabal.mkDerivation (self : {
pname = "HTTP";
version = "4000.1.1"; # Haskell Platform 2011.2.0.0
sha256 = "09khx5fb673a0d7m3bl39xjdxvc60m52rmm4865cha2mby0zidy3";
propagatedBuildInputs = [mtl network parsec];
meta = {
description = "a Haskell library for client-side HTTP";
};
})

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "HUnit";
version = "1.2.2.3"; # Haskell Platform 2011.2.0.0
sha256 = "158i6s014ybh5bflzspd21qzdlhdyk89yqpmk8kwc59lxjvvjsxz";
meta = {
description = "A unit testing framework for Haskell";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, polyparse}:
cabal.mkDerivation (self : {
pname = "HaXml";
version = "1.20.2";
sha256 = "05kmr2ablinnrg3x1xr19g5kzzby322lblvcvhwbkv26ajwi0b63";
propagatedBuildInputs = [polyparse];
meta = {
description = "Haskell utilities for parsing, filtering, transforming and generating XML documents.";
};
})

View File

@@ -0,0 +1,13 @@
{cabal, WebBits, WebBitsHtml}:
cabal.mkDerivation (self : {
pname = "JsContracts";
version = "0.5.3";
sha256 = "17l6kdpdc7lrpd9j4d2b6vklkpclshcjy6hzpi442b7pj96sn589";
propagatedBuildInputs = [ WebBits WebBitsHtml ];
meta = {
description = "Design-by-contract for JavaScript.";
};
})

View File

@@ -0,0 +1,12 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "ListLike";
version = "3.0.1";
sha256 = "1366ipy33fphjjk583c62rsyfwh36i5lbnip1v8r089c9glvwkxf";
meta = {
description = "Generic support for list-like structures";
license = "BSD";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@@ -2,8 +2,8 @@
cabal.mkDerivation (self : {
pname = "OpenGL";
version = "2.2.3.0"; # Haskell Platform 2010.1.0.0 and 2010.2.0.0
sha256 = "a75c3277bb20fda9a4ac1eb0e838fe4b5baf92f5539466b92bd255626afb0502";
version = "2.2.3.0"; # Haskell Platform 2010.1.0.0, 2010.2.0.0, 2011.2.0.0
sha256 = "00h5zdm64mfj5fwnd52kyn9aynsbzqwfic0ymjjakz90pdvk4p57";
propagatedBuildInputs = [mesa libX11];
meta = {
description = "A binding for the OpenGL graphics system";

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "QuickCheck";
version = "1.2.0.1"; # version of QuickCheck1 compatible with base-4
sha256 = "1gxpvbc0ab4n35b5zcbzng8qc7y3mzgym8cj42bci984f08y1bld";
meta = {
description = "Automatic testing of Haskell programs";
};
})

View File

@@ -0,0 +1,14 @@
{cabal, mtl}:
cabal.mkDerivation (self : {
pname = "QuickCheck";
version = "2.4.0.1"; # Haskell Platform 2011.2.0.0
sha256 = "1x7jc2svpxbll8qkrbswh5q59sqcjf2v5a6jnqslf5gwr5qpq18r";
propagatedBuildInputs = [mtl];
meta = {
description = "Automatic testing of Haskell programs";
license = "BSD";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

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