Merged with trunk again
svn path=/nixpkgs/branches/stdenv-updates/; revision=10267
This commit is contained in:
@@ -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 @@
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
buildInputs="$unzip"
|
||||
source $stdenv/setup
|
||||
|
||||
src=$filename.bin
|
||||
|
||||
9
pkgs/development/compilers/jdk/default-5.nix
Normal file
9
pkgs/development/compilers/jdk/default-5.nix
Normal 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"
|
||||
23
pkgs/development/compilers/jdk/jdk5-sun-linux.nix
Normal file
23
pkgs/development/compilers/jdk/jdk5-sun-linux.nix
Normal 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;
|
||||
}
|
||||
@@ -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.
|
||||
|
||||
14
pkgs/development/interpreters/erlang/builder.sh
Normal file
14
pkgs/development/interpreters/erlang/builder.sh
Normal 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
|
||||
11
pkgs/development/interpreters/erlang/default.nix
Normal file
11
pkgs/development/interpreters/erlang/default.nix
Normal 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;
|
||||
}
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
19
pkgs/development/libraries/glew/default.nix
Normal file
19
pkgs/development/libraries/glew/default.nix
Normal 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";
|
||||
}
|
||||
11
pkgs/development/libraries/haskell/Crypto/default.nix
Normal file
11
pkgs/development/libraries/haskell/Crypto/default.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "Crypto";
|
||||
version = "4.1.0";
|
||||
sha256 = "0984c833c5dfa6f4d56fd6fb284db7b7cef6676dc7999a1436aa856becba2b8f";
|
||||
meta = {
|
||||
description = "Several encryption algorithms for Haskell";
|
||||
};
|
||||
})
|
||||
|
||||
13
pkgs/development/libraries/haskell/X11/default.nix
Normal file
13
pkgs/development/libraries/haskell/X11/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
11
pkgs/development/libraries/haskell/binary/default.nix
Normal file
11
pkgs/development/libraries/haskell/binary/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
95
pkgs/development/libraries/haskell/cabal/cabal.nix
Normal file
95
pkgs/development/libraries/haskell/cabal/cabal.nix
Normal 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);
|
||||
}
|
||||
12
pkgs/development/libraries/haskell/pcre-light/default.nix
Normal file
12
pkgs/development/libraries/haskell/pcre-light/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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
|
||||
@@ -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 ];
|
||||
}
|
||||
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
})
|
||||
|
||||
13
pkgs/development/libraries/haskell/vty/default.nix
Normal file
13
pkgs/development/libraries/haskell/vty/default.nix
Normal 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
|
||||
'';
|
||||
})
|
||||
11
pkgs/development/libraries/haskell/zlib/default.nix
Normal file
11
pkgs/development/libraries/haskell/zlib/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
@@ -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).
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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];
|
||||
|
||||
11
pkgs/development/tools/documentation/haddock/default.nix
Normal file
11
pkgs/development/tools/documentation/haddock/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 = "
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
";
|
||||
}
|
||||
})
|
||||
|
||||
12
pkgs/development/tools/parsing/happy/happy-1.17.nix
Normal file
12
pkgs/development/tools/parsing/happy/happy-1.17.nix
Normal 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];
|
||||
})
|
||||
Reference in New Issue
Block a user