Merged with trunk again

svn path=/nixpkgs/branches/stdenv-updates/; revision=10267
This commit is contained in:
Yury G. Kudryashov
2008-01-23 18:11:03 +00:00
parent 4de89f61b0
commit da57804fff
109 changed files with 1394 additions and 1352 deletions

View File

@@ -47,7 +47,7 @@
rec {
# using undocumented feature that attribute can contain hyphens when using listToAttrs
# You should be able to get the attribute values using __getAttr
result = builtins.listToAttrs (map ( l : lib.av l.name (
result = builtins.listToAttrs (map ( l : lib.nv l.name (
packageByPackageDB ghc l.name
("lib/ghc-${ghc.version}/${l.name}.conf")
(map (n: builtins.getAttr n result) l.deps)
@@ -80,6 +80,7 @@
+" --prefix=\$out "
+" --with-ghc=\$ghcboot/bin/ghc"
+" --with-gmp-libraries=$gmp/lib"
+" --with-gmp-includes=${gmp}/include"
+" --with-readline-libraries=\"$readline/lib\"";
# now read the main package.conf and create a single package db file for each of them
@@ -107,26 +108,26 @@
# Why this effort? If you want to use pretty-0.9 you can do this now without cabal choosing the 1.0 version hassle
core_libs = resolveDeps ghc
[ { name = "Cabal-1.2.0"; deps = ["base-2.1" "pretty-1.0" "old-locale-1.0" "old-time-1.0" "directory-1.0" "unix-2.0" "process-1.0" "array-0.1" "containers-0.1" "rts-1.0" "filepath-1.0"];} #
{ name = "array-0.1"; deps = ["base-2.1"];}
{ name = "base-2.1"; deps = [];} #
{ name = "bytestring-0.9"; deps = [ "base-2.1" "array-0.1" ];}
{ name = "containers-0.1"; deps = [ "base-2.1" "array-0.1" ];}
{ name = "directory-1.0"; deps = [ "base-2.1" "old-locale-1.0" "old-time-1.0" "filepath-1.0"];}
{ name = "filepath-1.0"; deps = [ "base-2.1" ];} #
{ name = "ghc-6.8.0.20071004"; deps = [ "base-2.1" "old-locale-1.0" "old-time-1.0" "filepath-1.0" "directory-1.0" "array-0.1" "containers-0.1" "hpc-0.5" "bytestring-0.9" "pretty-1.0" "packedstring-0.1" "template-haskell-0.1" "unix-2.0" "process-1.0" "readline-1.0" "Cabal-1.2.0" "random-1.0" "haskell98-1.0"];}
{ name = "haskell98-1.0"; deps = [ "base-2.1" "old-locale-1.0" "old-time-1.0" "filepath-1.0" "directory-1.0" "random-1.0" "unix-2.0" "process-1.0" "array-0.1"];}
{ name = "hpc-0.5"; deps = [ "base-2.1" "old-locale-1.0" "old-time-1.0" "filepath-1.0" "directory-1.0" "array-0.1" "containers-0.1"]; }
{ name = "old-locale-1.0"; deps = [ "base-2.1"];}
{ name = "old-time-1.0"; deps = [ "base-2.1" "old-locale-1.0" ];}
{ name = "packedstring-0.1"; deps = [ "base-2.1" "array-0.1" ];}
{ name = "pretty-1.0"; deps = [ "base-2.1" ];}
{ name = "process-1.0"; deps = [ "base-2.1" "old-locale-1.0" "old-time-1.0" "filepath-1.0" "directory-1.0" "unix-2.0"];}
{ name = "random-1.0"; deps = [ "base-2.1" "old-locale-1.0" "old-time-1.0"];}
{ name = "readline-1.0"; deps = [ "base-2.1" "old-locale-1.0" "old-time-1.0" "filepath-1.0" "directory-1.0" "unix-2.0" "process-1.0" ];}
{ name = "rts-1.0"; deps = [ "base-2.1" ];} #
{ name = "template-haskell-0.1"; deps = [ "base-2.1" "pretty-1.0" "array-0.1" "packedstring-0.1" "containers-0.1" ];}
{ name = "unix-2.0"; deps = [ "base-2.1" "old-locale-1.0" "old-time-1.0" "filepath-1.0" "directory-1.0" ];}
[ { name = "Cabal-1.2.3.0"; deps = ["base-3.0.1.0" "pretty-1.0.0.0" "old-locale-1.0.0.0" "old-time-1.0.0.0" "directory-1.0.0.0" "unix-2.3.0.0" "process-1.0.0.0" "array-0.1.0.0" "containers-0.1.0.1" "rts-1.0" "filepath-1.1.0.0"];} #
{ name = "array-0.1.0.0"; deps = ["base-3.0.1.0"];}
{ name = "base-3.0.1.0"; deps = [];} #
{ name = "bytestring-0.9.0.1"; deps = [ "base-3.0.1.0" "array-0.1.0.0" ];}
{ name = "containers-0.1.0.1"; deps = [ "base-3.0.1.0" "array-0.1.0.0" ];}
{ name = "directory-1.0.0.0"; deps = [ "base-3.0.1.0" "old-locale-1.0.0.0" "old-time-1.0.0.0" "filepath-1.1.0.0"];}
{ name = "filepath-1.1.0.0"; deps = [ "base-3.0.1.0" ];} #
{ name = "ghc-${version}"; deps = [ "base-3.0.1.0" "old-locale-1.0.0.0" "old-time-1.0.0.0" "filepath-1.1.0.0" "directory-1.0.0.0" "array-0.1.0.0" "containers-0.1.0.1" "hpc-0.5.0.0" "bytestring-0.9.0.1" "pretty-1.0.0.0" "packedstring-0.1.0.0" "template-haskell-2.2.0.0" "unix-2.3.0.0" "process-1.0.0.0" "readline-1.0.1.0" "Cabal-1.2.3.0" "random-1.0.0.0" "haskell98-1.0.1.0"];}
{ name = "haskell98-1.0.1.0"; deps = [ "base-3.0.1.0" "old-locale-1.0.0.0" "old-time-1.0.0.0" "filepath-1.1.0.0" "directory-1.0.0.0" "random-1.0.0.0" "unix-2.3.0.0" "process-1.0.0.0" "array-0.1.0.0"];}
{ name = "hpc-0.5.0.0"; deps = [ "base-3.0.1.0" "old-locale-1.0.0.0" "old-time-1.0.0.0" "filepath-1.1.0.0" "directory-1.0.0.0" "array-0.1.0.0" "containers-0.1.0.1"]; }
{ name = "old-locale-1.0.0.0"; deps = [ "base-3.0.1.0"];}
{ name = "old-time-1.0.0.0"; deps = [ "base-3.0.1.0" "old-locale-1.0.0.0" ];}
{ name = "packedstring-0.1.0.0"; deps = [ "base-3.0.1.0" "array-0.1.0.0" ];}
{ name = "pretty-1.0.0.0"; deps = [ "base-3.0.1.0" ];}
{ name = "process-1.0.0.0"; deps = [ "base-3.0.1.0" "old-locale-1.0.0.0" "old-time-1.0.0.0" "filepath-1.1.0.0" "directory-1.0.0.0" "unix-2.3.0.0"];}
{ name = "random-1.0.0.0"; deps = [ "base-3.0.1.0" "old-locale-1.0.0.0" "old-time-1.0.0.0"];}
{ name = "readline-1.0.1.0"; deps = [ "base-3.0.1.0" "old-locale-1.0.0.0" "old-time-1.0.0.0" "filepath-1.1.0.0" "directory-1.0.0.0" "unix-2.3.0.0" "process-1.0.0.0" ];}
{ name = "rts-1.0"; deps = [ "base-3.0.1.0" ];} #
{ name = "template-haskell-2.2.0.0"; deps = [ "base-3.0.1.0" "pretty-1.0.0.0" "array-0.1.0.0" "packedstring-0.1.0.0" "containers-0.1.0.1" ];}
{ name = "unix-2.3.0.0"; deps = [ "base-3.0.1.0" "old-locale-1.0.0.0" "old-time-1.0.0.0" "filepath-1.1.0.0" "directory-1.0.0.0" ];}
];
@@ -137,18 +138,20 @@
} );
ghc68 = ghcAndLibraries {
version = "6.8.0.20071004";
ghc68 = ghcAndLibraries rec {
version = "6.8.2";
src = fetchurl {
url = http://www.haskell.org/ghc/dist/stable/dist/ghc-6.8.0.20071004-src.tar.bz2;
sha256 = "1yyl7sxykmvkiwfxkfzpqa6cmgw19phkyjcdv99ml22j16wli63l";
#url = http://www.haskell.org/ghc/dist/stable/dist/ghc-6.8.0.20071004-src.tar.bz2;
#sha256 = "1yyl7sxykmvkiwfxkfzpqa6cmgw19phkyjcdv99ml22j16wli63l";
url = "http://www.haskell.org/ghc/dist/stable/dist/ghc-${version}-src.tar.bz2";
md5 = "745c6b7d4370610244419cbfec4b2f84";
#url = http://www.haskell.org/ghc/dist/stable/dist/ghc-6.8.20070912-src.tar.bz2;
#sha256 = "1b1gvi7hc7sc0fkh29qvzzd5lgnlvdv3ayiak4mkfnzkahvmq85s";
};
extra_src = fetchurl {
url = http://www.haskell.org/ghc/dist/stable/dist/ghc-6.8.0.20071004-src-extralibs.tar.bz2;
sha256 = "0vjx4vb2xhv5v2wj74ii3gpjim7x9wj0m87zglqlhc8xn31pmrd2";
url = "http://www.haskell.org/ghc/dist/stable/dist/ghc-${version}-src-extralibs.tar.bz2";
sha256 = "044mpbzpkbxcnqhjnrnmjs00mr85057d123rrlz2vch795lxbkcn";
#url = http://www.haskell.org/ghc/dist/stable/dist/ghc-6.8.20070912-src-extralibs.tar.bz2;
#sha256 = "0py7d9nh3lkhjxr3yb3n9345d0hmzq79bi40al5rcr3sb84rnp9r";
};
@@ -165,4 +168,3 @@
};
}

View File

@@ -1,3 +1,4 @@
buildInputs="$unzip"
source $stdenv/setup
src=$filename.bin

View File

@@ -0,0 +1,9 @@
{stdenv, fetchurl, unzip}:
if stdenv.system == "i686-linux"
then
(import ./jdk5-sun-linux.nix) {
inherit stdenv fetchurl unzip;
}
else
abort "the Java 5 SDK is not supported on this platform"

View File

@@ -0,0 +1,23 @@
/**
* This Nix expression requires the user to download the j2sdk
* distribution to /tmp. Please obtain jdk-1_5_0_14-linux-i586.bin
* from java.sun.com by hand and place it in /tmp. Blame Sun, not me.
*
* Note that this is not necessary if someone has already pushed a
* binary.
*/
{stdenv, fetchurl, unzip}:
assert stdenv.system == "i686-linux";
stdenv.mkDerivation {
name = "jdk-1.5.0_14";
filename = "jdk-1_5_0_14";
dirname = "jdk1.5.0_14";
builder = ./builder.sh;
pathname = "/tmp/jdk-1_5_0_14-linux-i586.bin";
md5 = "32df8f2be09c3a0f39da1b3869164b55";
stdenv = stdenv;
inherit unzip;
}

View File

@@ -1,5 +1,5 @@
args : with args;
with builderDefs {
let localDefs = builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = http://www.lambdassociates.org/Download/Qi9.1.zip;
@@ -8,6 +8,7 @@ args : with args;
buildInputs = [ unzip clisp];
configureFlags = [];
} null; /* null is a terminator for sumArgs */
in with localDefs;
let
shell=stdenv.shell;
in
@@ -28,7 +29,7 @@ in
stdenv.mkDerivation rec {
name = "Qi-"+version;
builder = writeScript (name + "-builder")
(textClosure [allBuild doForceShare doPropagate]);
(textClosure localDefs [allBuild doForceShare doPropagate]);
meta = {
description = "
Qi - next generation on top of Common Lisp.

View File

@@ -0,0 +1,14 @@
buildInputs="$perl $gnum4 $ncurses $openssl"
source $stdenv/setup
tar xfvz $src
cd otp_src_*
# Fix some hard coded paths to /bin/rm
sed -i -e "s|/bin/rm|rm|" lib/odbc/configure
sed -i -e "s|/bin/rm|rm|" erts/configure
./configure --prefix=$out --with-ssl=$openssl
make
make install

View File

@@ -0,0 +1,11 @@
{stdenv, fetchurl, perl, ncurses, gnum4, openssl}:
stdenv.mkDerivation {
name = "erlang-R11B-5";
builder = ./builder.sh;
src = fetchurl {
url = http://www.erlang.org/download/otp_src_R11B-5.tar.gz;
md5 = "96acec41da87d6ee0ef18e1aab36ffdd";
};
inherit perl ncurses gnum4 openssl;
}

View File

@@ -1,5 +1,5 @@
args : with args;
with builderDefs {
let localDefs = builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-0.9.6.tar.gz;
@@ -8,10 +8,11 @@ args : with args;
buildInputs = [python];
configureFlags = [];
} null; /* null is a terminator for sumArgs */
in with localDefs;
stdenv.mkDerivation rec {
name = "Pyrex-"+version;
builder = writeScript (name + "-builder")
(textClosure [installPythonPackage doForceShare]);
(textClosure localDefs [installPythonPackage doForceShare]);
meta = {
description = "
Python package compiler or something like that.

View File

@@ -1,5 +1,5 @@
args : with args;
with builderDefs {
let localDefs = builderDefs {
src =
fetchurl {
url = ftp://ftp.fftw.org/pub/fftw/fftw-3.1.2.tar.gz;
@@ -8,10 +8,11 @@ args : with args;
buildInputs = [];
configureFlags = ["--enable-float --enable-shared"];
} null;
in with localDefs;
stdenv.mkDerivation {
name = "fftw-3.1.2";
builder = writeScript "fftw-3.1.2-builder"
(textClosure [doConfigure doMakeInstall doForceShare]);
(textClosure localDefs [doConfigure doMakeInstall doForceShare]);
meta = {
description = "
Fastest Fourier Transform in the West library.

View File

@@ -0,0 +1,19 @@
args:
args.stdenv.mkDerivation {
name = "glew-1.5.0";
src = args.fetchurl {
url = http://dfn.dl.sourceforge.net/sourceforge/glew/glew-1.5.0-src.tgz;
sha256 = "1kjr1fchnl785wsg11vzc03q3pm12lh20n1i593zr1xqfjgx2b4h";
};
buildInputs =(with args; [mesa x11 libXmu libXi]);
meta = {
description = "cross-platform open-source C/C++ extension loading library";
homepage = http://glew.sourceforge.net/;
license = ["BSD" "GLX" "SGI-B" "GPL2"]; # License description copied from gentoo-1.4.0
};
installPhase="GLEW_DEST=\$out make install";
}

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "Crypto";
version = "4.1.0";
sha256 = "0984c833c5dfa6f4d56fd6fb284db7b7cef6676dc7999a1436aa856becba2b8f";
meta = {
description = "Several encryption algorithms for Haskell";
};
})

View File

@@ -0,0 +1,13 @@
{cabal, libX11, xineramaSupport ? true, libXinerama ? null, libXext ? null}:
assert xineramaSupport -> (libXinerama != null && libXext != null);
cabal.mkDerivation (self : {
pname = "X11";
version = "1.4.1";
sha256 = "e51038541415686f0e278ccdbc0b2373cd11f212de99023b7b8f8e776aa09f79";
propagatedBuildInputs = [libX11] ++ (if xineramaSupport then [libXinerama libXext] else []);
meta = {
description = "A Haskell binding to the X11 graphics library";
};
})

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "binary";
version = "0.4.1";
sha256 = "bb74824306843da25f6d97c271e2a06ee3a7e05fc529156fb81d7c576688e549";
meta = {
description = "Efficient, pure binary serialisation using lazy ByteStrings";
};
})

View File

@@ -0,0 +1,95 @@
# generic builder for Cabal packages
attrs :
{
mkDerivation =
transform :
let dtransform =
self : {
# pname should be defined by the client to be the package basename
# version should be defined by the client to be the package version
# fname is the internal full name of the package
fname = "${self.pname}-${self.version}";
# name is the external full name of the package; usually we prefix
# all packages with haskell- to avoid name clashes for libraries;
# if that is not desired (for applications), name can be set to
# fname.
name = "haskell-${self.fname}";
# the default download location for Cabal packages is Hackage,
# you still have to specify the checksum
src = attrs.fetchurl {
url = "http://hackage.haskell.org/packages/archive/${self.pname}/${self.version}/${self.fname}.tar.gz";
inherit (self) sha256;
};
# default buildInputs are just ghc, if more buildInputs are required
# buildInputs can be extended by the client by using extraBuildInputs,
# but often propagatedBuildInputs is preferable anyway
buildInputs = [attrs.ghc] ++ self.extraBuildInputs;
extraBuildInputs = [];
# we make sure that propagatedBuildInputs is defined, so that we don't
# have to check for its existence
propagatedBuildInputs = [];
# library directories that have to be added to the Cabal files
extraLibDirs = map (x : x + "/lib") self.propagatedBuildInputs;
# file(s) that have to be patched with information about extra libraries;
# can be redefined to the empty list by the client if this is not desired
patchLibFiles = [ "${self.pname}.cabal" ];
# patches files, compiles Setup, and configures
configurePhase = ''
eval "$preConfigure"
for i in ${toString self.patchLibFiles}; do
echo "patching $i"
test -f $i && sed -i '/extra-libraries/ { s|\( *\)extra-libraries.*|&\n\1extra-lib-dirs: ${toString self.extraLibDirs}| }' $i
done
for i in Setup.hs Setup.lhs; do
test -f $i && ghc --make $i
done
./Setup configure --verbose --prefix="$out"
eval "$postConfigure"
'';
# builds via Cabal
buildPhase = ''
eval "$preBuild"
./Setup build
eval "$postBuild"
'';
# installs via Cabal; creates a registration file for nix-support
# so that the package can be used in other Haskell-builds; also
# creates a register-${name}.sh in userspace that can be used to
# register the library in a user environment (but this scheme
# should sooner or later be deprecated in favour of using a
# ghc-wrapper).
installPhase = ''
eval "$preInstall"
./Setup copy
./Setup register --gen-script
mkdir -p $out/nix-support
if test -f register.sh; then
sed -i 's/|.*\(ghc-pkg update\)/| \1/' register.sh
cp register.sh $out/nix-support/register-ghclib.sh
sed -i 's/\(ghc-pkg update\)/\1 --user/' register.sh
mkdir -p $out/bin
cp register.sh $out/bin/register-${self.name}.sh
fi
eval "$postInstall"
'';
};
in attrs.stdenv.mkDerivation ((rec { f = dtransform f // transform f; }).f);
}

View File

@@ -0,0 +1,12 @@
{cabal, pcre}:
cabal.mkDerivation (self : {
pname = "pcre-light";
version = "0.3";
sha256 = "a8cfec1c265530388efbb187426368e280331d9829fa93d8f49f16db3c3e7794";
propagatedBuildInputs = [pcre];
meta = {
description = "A small, efficient and portable regex library for Perl 5 compatible regular expressions";
};
})

View File

@@ -1,21 +0,0 @@
source $stdenv/setup
tar xzf "$src" &&
cd uulib-* &&
autoconf &&
./configure --prefix=$out &&
ghc --make Setup.hs -o setup -package Cabal &&
./setup configure --prefix=$out --with-hc-pkg=ghc-pkg &&
./setup build &&
./setup install &&
./setup register --gen-script &&
mkdir -p $out/nix-support/ &&
cp register.sh $out/nix-support/register-ghclib.sh

View File

@@ -1,11 +0,0 @@
{stdenv, fetchurl, autoconf, ghc}:
stdenv.mkDerivation
{
name = "uulib-0.9.2-ghc-6.6";
src = fetchurl { url = http://www.cs.uu.nl/~ariem/uulib-2006-10-30-src.tar.gz;
md5 = "d26059447d45fa91f54eca38680be7b7";
};
builder = ./builder.sh;
buildInputs = [ autoconf ghc ];
}

View File

@@ -1,51 +0,0 @@
source $stdenv/setup
export HOME=$(pwd)/fake-home
#add ghc to search path
test -n "$ghc" && PATH=$PATH:$ghc/bin
#unpack
tar xzf "$src" &&
cd uulib-* &&
#configure
ghc --make Setup.hs -o setup -package Cabal &&
./setup configure --prefix=$out &&
#make
./setup build &&
#install
./setup copy &&
# Create package database. If we can find the ghc version we might install the
# package, like ghc does, in $out/lib/ghc-version/package.conf.
support=$out/nix-support &&
packages_db=$out/nix-support/package.conf &&
mkdir $support &&
cp $ghc/lib/ghc-*/package.conf $packages_db &&
chmod +w $packages_db &&
#echo '[]' > $packages_db &&
# We save a modified version of a register script. This gives a dependency on
# ghc, but this should not be a problem as long as $out is a static library.
./setup register --gen-script &&
sed '/ghc-pkg/ s|update -|-f "$1" update -|' register.sh > register-pkg.sh &&
sed '/ghc-pkg/ s|--auto-ghci-libs||' register-pkg.sh > $support/register.sh &&
# The package and its direct cabal dependencies are registered. This may result
# in duplicate registrations attempts but hopefully that will not result in
# errors.
# uulib has no dependencies on other ghc libraries
for dep in ; do
sh $dep/nix-support/register.sh $packages_db || exit 1
done &&
sh register-pkg.sh $packages_db &&
rm -f $package_db.old

View File

@@ -1,12 +1,10 @@
{stdenv, fetchurl, ghc}:
{cabal}:
stdenv.mkDerivation {
name = "uulib-0.9.2";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/uulib-0.9.2-src.tar.gz;
md5 = "0cc9acc6a268e2bc5c8a954e67406e2d";
cabal.mkDerivation (self : {
pname = "uulib";
version = "0.9.5";
sha256 = "38415725133af464de582dadc7d7e60b1aeb96344b18b239d176bf2181f98563";
meta = {
description = "Fast Parser Combinators and Pretty Printing Combinators";
};
builder = ./builder.sh;
#buildInputs = [ ghc ];
inherit ghc;
}
})

View File

@@ -0,0 +1,13 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "vty";
version = "3.0.0";
sha256 = "44ae53d06b8b45c14cd3861e860a38730ed9995ed56b1b3d9aba6641771f1947";
meta = {
description = "vty is a *very* simplistic library in the niche of ncurses";
};
preConfigure = ''
sed -i 's|^Build-Depends:.*$|&, bytestring, containers|' ${self.pname}.cabal
'';
})

View File

@@ -0,0 +1,11 @@
{cabal, zlib}:
cabal.mkDerivation (self : {
pname = "zlib";
version = "0.4.0.2";
sha256 = "e6e9e51ca5b7f1685eb031f826f7865acc10cc2c8d0dfad975e0e81fd17f17ed";
propagatedBuildInputs = [zlib];
meta = {
description = "Compression and decompression in the gzip and zlib formats";
};
})

View File

@@ -1,5 +1,5 @@
args : with args;
with builderDefs {
let localDefs = builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = mirror://sourceforge/libdbi-drivers/libdbi-drivers-0.8.2-1.tar.gz;
@@ -27,10 +27,11 @@ args : with args;
] else [])
;
} null; /* null is a terminator for sumArgs */
in with localDefs;
stdenv.mkDerivation rec {
name = "libdbi"+version;
builder = writeScript (name + "-builder")
(textClosure [doConfigure doMakeInstall doForceShare doPropagate]);
(textClosure localDefs [doConfigure doMakeInstall doForceShare doPropagate]);
meta = {
description = "
DB independent interface to DB; DB drivers (mysql only for now).

View File

@@ -1,5 +1,5 @@
args : with args;
with builderDefs {
let localDefs = builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = mirror://sourceforge/libdbi/libdbi-0.8.2.tar.gz;
@@ -9,10 +9,11 @@ args : with args;
buildInputs = [];
configureFlags = [];
} null; /* null is a terminator for sumArgs */
in with localDefs;
stdenv.mkDerivation rec {
name = "libdbi"+version;
builder = writeScript (name + "-builder")
(textClosure [doConfigure doMakeInstall doForceShare doPropagate]);
(textClosure localDefs [doConfigure doMakeInstall doForceShare doPropagate]);
meta = {
description = "
DB independent interface to DB.

View File

@@ -1,5 +1,5 @@
args : with args;
with builderDefs {
let localDefs = builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = http://gnunet.org/libextractor/download/libextractor-0.5.18.tar.gz;
@@ -9,10 +9,11 @@ args : with args;
buildInputs = [ zlib];
configureFlags = [];
} null; /* null is a terminator for sumArgs */
in with localDefs;
stdenv.mkDerivation rec {
name = "libextractor"+version;
builder = writeScript (name + "-builder")
(textClosure [doConfigure doMakeInstall doForceShare doPropagate]);
(textClosure localDefs [doConfigure doMakeInstall doForceShare doPropagate]);
meta = {
description = "
Libextractor - extracts metadata from files.

View File

@@ -1,10 +1,10 @@
{stdenv, fetchurl, python}:
stdenv.mkDerivation {
name = "ZopeInterface-3.1.0c1";
name = "ZopeInterface-3.3.0";
src = fetchurl {
url = http://www.zope.org/Products/ZopeInterface/3.1.0c1/ZopeInterface-3.1.0c1.tgz;
md5 = "f34cb95f2fbdbe3f1850c95cefddbd2c";
url = http://www.zope.org/Products/ZopeInterface/3.3.0/zope.interface-3.3.0.tar.gz;
sha256 = "0xahg9cmagn4j3dbifvgzbjliw2jdrbf27fhqwkdp8j80xpyyjf0";
};
buildInputs = [python];
buildPhase = "true";

View File

@@ -1,10 +1,10 @@
{stdenv, fetchurl, python, ZopeInterface}:
stdenv.mkDerivation {
name = "twisted-2.4.0";
name = "twisted-2.5.0";
src = fetchurl {
url = http://tmrc.mit.edu/mirror/twisted/Twisted/2.4/Twisted-2.4.0.tar.bz2;
md5 = "42eb0c8fd0f8707a39fff1dd6adab27d";
url = http://tmrc.mit.edu/mirror/twisted/Twisted/2.5/Twisted-2.5.0.tar.bz2;
sha256 = "1kfj4354lm4kphm317giyldykyd17lba2xd7y512lxc38hzxzcpk";
};
buildInputs = [python];
propagatedBuildInputs = [ZopeInterface];

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "haddock";
version = "2.0.0.0";
name = self.fname;
sha256 = "a2ea5bdc127bc8b189a8d869f582ec774fea0933e7f5ca89549a6c142b9993df";
meta = {
description = "a tool for automatically generating documentation from annotated Haskell source code";
};
})

View File

@@ -1,14 +1,12 @@
{stdenv, fetchurl, ghc, uulib}:
{cabal, uulib}:
stdenv.mkDerivation
{
name = "uuagc-0.9.2";
src = fetchurl { url = http://www.cs.uu.nl/~ariem/uuagc-0.9.2-src.tar.gz;
md5 = "cbac92287c9c0a858ccbfa37615d9f5f";
};
buildInputs = [ghc uulib];
meta = { description = "The UUAG Compiler"; };
}
cabal.mkDerivation (self : {
pname = "uuagc";
version = "0.9.5";
name = self.fname;
sha256 = "c5be435efa609f72c09e175dd5cf7835a060bd7eaf6634ec4cde72ea84b99f25";
extraBuildInputs = [uulib];
meta = {
description = "Attribute Grammar System of Universiteit Utrecht";
};
})

View File

@@ -1,5 +1,5 @@
args : with args;
with builderDefs {
let localDefs = builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = ftp://ftp.gnu.org/gnu/indent/indent-2.2.9.tar.gz;
@@ -9,6 +9,7 @@ args : with args;
buildInputs = [];
configureFlags = [];
} null; /* null is a terminator for sumArgs */
in with localDefs;
let
preBuild = FullDepEntry ("
sed -e '/extern FILE [*]output/i#ifndef OUTPUT_DEFINED_ELSEWHERE' -i src/indent.h
@@ -19,7 +20,7 @@ in
stdenv.mkDerivation rec {
name = "indent";
builder = writeScript (name + "-builder")
(textClosure [doConfigure preBuild doMakeInstall doForceShare doPropagate]);
(textClosure localDefs [doConfigure preBuild doMakeInstall doForceShare doPropagate]);
meta = {
description = "
GNU Indent - a source text formatter.

View File

@@ -1,5 +1,5 @@
args : with args;
with builderDefs {
let localDefs = builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = http://ftp.gnome.org/pub/gnome/sources/intltool/0.36/intltool-0.36.2.tar.bz2;
@@ -9,10 +9,11 @@ args : with args;
propagatedBuildInputs = [perl perlXMLParser];
configureFlags = [];
} null; /* null is a terminator for sumArgs */
in with localDefs;
stdenv.mkDerivation rec {
name = "intltool-0.36.2";
builder = writeScript (name + "-builder")
(textClosure [doConfigure doMakeInstall doPropagate doForceShare]);
(textClosure localDefs [doConfigure doMakeInstall doPropagate doForceShare]);
inherit propagatedBuildInputs;
meta = {
description = "

View File

@@ -1,5 +1,5 @@
args : with args;
with builderDefs {
let localDefs = builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = ftp://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.5.orig.tar.gz;
@@ -12,6 +12,7 @@ args : with args;
cd ltrace-*;
";
} null; /* null is a terminator for sumArgs */
in with localDefs;
let
preConfigure = FullDepEntry ("
sed -e 's@-o root -g root@@' -i Makefile.in;
@@ -20,7 +21,7 @@ in
stdenv.mkDerivation rec {
name = "ltrace-0.5";
builder = writeScript (name + "-builder")
(textClosure [preConfigure doConfigure doMakeInstall doForceShare]);
(textClosure localDefs [preConfigure doConfigure doMakeInstall doForceShare]);
meta = {
description = "
Library call tracer.

View File

@@ -1,23 +1,12 @@
{stdenv, fetchurl, ghc, perl}:
{cabal, perl}:
stdenv.mkDerivation {
name = "alex-2.1.0";
src = fetchurl {
url = http://www.haskell.org/alex/dist/2.1.0/alex-2.1.0.tar.gz;
sha1 = "37599b7be5249d639b3a5a3fdc61907dc4dad660";
cabal.mkDerivation (self : {
pname = "alex";
version = "2.2";
name = self.fname;
sha256 = "e958d4fc6cfdb1d351dc39a45ea882f23b1b1773a736d43814a52d4939a41ffe";
extraBuildInputs = [perl];
meta = {
description = "A lexical analyser generator for Haskell";
};
buildInputs = [ghc perl];
configurePhase = "
ghc --make Setup.lhs
./Setup configure --prefix=\"\${out}\"
";
buildPhase = "
./Setup build
";
installPhase = "
./Setup install
";
}
})

View File

@@ -0,0 +1,12 @@
{cabal, perl}:
cabal.mkDerivation (self : {
# requires cabal-1.2 (and therefore, in Nix, currently ghc-6.8)
pname = "happy";
version = "1.17";
name = self.fname;
sha256 = "dca4e47d17e5d538335496236b3d2c3cbff644cf7380c987a4714e7784c70a2b";
extraBuildInputs = [perl];
})