* Another sync with the trunk.

svn path=/nixpkgs/branches/stdenv-updates/; revision=15269
This commit is contained in:
Eelco Dolstra
2009-04-23 11:59:43 +00:00
151 changed files with 4866 additions and 3182 deletions

View File

@@ -1,41 +0,0 @@
# Support dir for isolating GHC
ghc_support=$TMPDIR/ghc-6.6-nix-support
mkdir -p $ghc_support
# Create isolated package config
packages_db=$ghc_support/package.conf
cp @out@/lib/ghc-*/package.conf $packages_db
chmod +w $packages_db
# Generate wrappers for GHC that use the isolated package config
makeWrapper() {
wrapperName="$1"
wrapper="$ghc_support/$wrapperName"
shift #the other arguments are passed to the source app
echo '#!'"$SHELL" > "$wrapper"
echo "exec \"@out@/bin/$wrapperName\" $@" '"$@"' >> "$wrapper"
chmod +x "$wrapper"
}
makeWrapper "ghc" "-no-user-package-conf -package-conf $packages_db"
makeWrapper "ghci" "-no-user-package-conf -package-conf $packages_db"
makeWrapper "runghc" "-no-user-package-conf -package-conf $packages_db"
makeWrapper "runhaskell" "-no-user-package-conf -package-conf $packages_db"
makeWrapper "ghc-pkg" "--global-conf $packages_db"
# Add wrappers to search path
export _PATH=$ghc_support:$_PATH
# Env hook to add packages to the package config
addLibToPackageConf ()
{
local regscript=$1/nix-support/register-ghclib.sh
if test -f $regscript; then
local oldpath=$PATH
export PATH=$ghc_support:$PATH
sh $regscript $package_db
export PATH=$oldpath
fi
}
envHooks=(${envHooks[@]} addLibToPackageConf)

View File

@@ -1,26 +0,0 @@
source $stdenv/setup
# Setup isolated package management
postInstall()
{
ensureDir "$out/nix-support"
echo "# Path to the GHC compiler directory in the store" > $out/nix-support/setup-hook
echo "ghc=$out" >> $out/nix-support/setup-hook
echo "" >> $out/nix-support/setup-hook
cat $setupHook >> $out/nix-support/setup-hook
}
postInstall=postInstall
configureFlags="--with-readline-libraries=\"$readline/lib\""
preConfigure()
{
chmod u+x rts/gmp/configure
# add library paths for gmp, ncurses
sed -i "s|^\(library-dirs.*$\)|\1 \"$gmp/lib\"|" rts/package.conf.in
sed -i "s|^\(library-dirs.*$\)|\1 \"$ncurses/lib\"|" libraries/readline/package.conf.in
}
preConfigure=preConfigure
# Standard configure/make/make install
genericBuild

View File

@@ -1,26 +0,0 @@
{stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses}:
stdenv.mkDerivation {
name = "ghc-6.6";
src = map fetchurl [
{ url = http://www.haskell.org/ghc/dist/6.6/ghc-6.6-src.tar.bz2;
md5 = "2427a8d7d14f86e0878df6b54938acf7";
}
{ url = http://www.haskell.org/ghc/dist/6.6/ghc-6.6-src-extralibs.tar.bz2;
md5 = "14b22fce36caffa509046361724bc119";
}
];
builder = ./builder.sh;
buildInputs = [ghc readline perl m4];
setupHook = ./setup-hook.sh;
meta = {
description = "The Glasgow Haskell Compiler v6.6";
};
inherit readline gmp ncurses;
}

View File

@@ -1,41 +0,0 @@
# Support dir for isolating GHC
ghc_support=$TMPDIR/ghc-6.6-nix-support
mkdir -p $ghc_support
# Create isolated package config
packages_db=$ghc_support/package.conf
cp $ghc/lib/ghc-*/package.conf $packages_db
chmod +w $packages_db
# Generate wrappers for GHC that use the isolated package config
makeWrapper() {
wrapperName="$1"
wrapper="$ghc_support/$wrapperName"
shift #the other arguments are passed to the source app
echo '#!'"$SHELL" > "$wrapper"
echo "exec \"$ghc/bin/$wrapperName\" $@" '"$@"' >> "$wrapper"
chmod +x "$wrapper"
}
makeWrapper "ghc" "-no-user-package-conf -package-conf $packages_db"
makeWrapper "ghci" "-no-user-package-conf -package-conf $packages_db"
makeWrapper "runghc" "-no-user-package-conf -package-conf $packages_db"
makeWrapper "runhaskell" "-no-user-package-conf -package-conf $packages_db"
makeWrapper "ghc-pkg" "--global-conf $packages_db"
# Add wrappers to search path
export _PATH=$ghc_support:$_PATH
# Env hook to add packages to the package config
addLibToPackageConf ()
{
local regscript=$1/nix-support/register-ghclib.sh
if test -f $regscript; then
local oldpath=$PATH
export PATH=$ghc_support:$PATH
sh $regscript $package_db
export PATH=$oldpath
fi
}
envHooks=(${envHooks[@]} addLibToPackageConf)

View File

@@ -1,47 +0,0 @@
{stdenv, fetchurl, readline, ghc, happy, alex, perl, m4, gmp, ncurses, haskellEditline}:
stdenv.mkDerivation (rec {
name = "ghc-6.9.20080719";
homepage = "http://www.haskell.org/ghc";
src = map fetchurl [
{ url = "${homepage}/dist/current/dist/${name}-src.tar.bz2";
sha256 = "ed2371c3632962fccab6ec60c04e9fc6a38f3ade3a30a464cea5d53784bc3a34";
}
{ url = "${homepage}/dist/current/dist/${name}-src-extralibs.tar.bz2";
sha256 = "d3c7aa7d53befe268f92148cc8f3b0861dfdc84e9b21b039af0f5b230bfbf72b";
}
];
buildInputs = [ghc readline perl m4 gmp happy alex haskellEditline];
# The setup hook is executed by other packages building with ghc.
# It then looks for package configurations that are available and
# build a package database on the fly.
setupHook = ./setup-hook.sh;
meta = {
description = "The Glasgow Haskell Compiler";
};
configureFlags=[
"--with-gmp-libraries=${gmp}/lib"
"--with-gmp-includes=${gmp}/include"
"--with-readline-libraries=${readline}/lib"
"--with-gcc=${gcc}/bin/gcc"
];
preConfigure = ''
# should not be present in a clean distribution
rm utils/pwd/pwd
# fix bug in makefile
sed -i -e 's/:\\"//' -e 's/\\"//' mk/config.mk.in
'';
postInstall = ''
ln -s $out/lib/${name}/ghc $out/lib/${name}/${name}
'';
inherit (stdenv) gcc;
inherit readline gmp ncurses;
})

View File

@@ -1,41 +0,0 @@
# Support dir for isolating GHC
ghc_support=$TMPDIR/ghc-6.8-nix-support
ensureDir $ghc_support
# Create isolated package config
packages_db=$ghc_support/package.conf
cp @out@/lib/ghc-*/package.conf $packages_db
chmod +w $packages_db
# Generate wrappers for GHC that use the isolated package config
makeWrapper() {
wrapperName="$1"
wrapper="$ghc_support/$wrapperName"
shift #the other arguments are passed to the source app
echo '#!'"$SHELL" > "$wrapper"
echo "exec \"@out@/bin/$wrapperName\" $@" '"$@"' >> "$wrapper"
chmod +x "$wrapper"
}
makeWrapper "ghc" "-no-user-package-conf -package-conf $packages_db"
makeWrapper "ghci" "-no-user-package-conf -package-conf $packages_db"
makeWrapper "runghc" "-no-user-package-conf -package-conf $packages_db"
makeWrapper "runhaskell" "-no-user-package-conf -package-conf $packages_db"
makeWrapper "ghc-pkg" "--global-conf $packages_db"
# Add wrappers to search path
export _PATH=$ghc_support:$_PATH
# Env hook to add packages to the package config
addLibToPackageConf ()
{
local regscript=$1/nix-support/register-ghclib.sh
if test -f $regscript; then
local oldpath=$PATH
export PATH=$ghc_support:$PATH
sh $regscript $package_db
export PATH=$oldpath
fi
}
envHooks=(${envHooks[@]} addLibToPackageConf)

View File

@@ -1,34 +0,0 @@
source $stdenv/setup
export HOME=$(pwd)/fake-home
makeWrapper() {
wrapperBase="$1"
wrapperName="$2"
wrapper="$out/$wrapperName"
shift; shift #the other arguments are passed to the source app
echo '#!'"$SHELL" > "$wrapper"
echo "exec \"$wrapperBase/$wrapperName\" $@" '"$@"' > "$wrapper"
chmod +x "$wrapper"
}
mkdir -p $out/nix-support $out/bin
packages_db=$out/nix-support/package.conf
#create packages database (start with compiler base packages)
cp $ghc/lib/ghc-*/package.conf $packages_db
chmod +w $packages_db
for lib in $libraries; do
sh $lib/nix-support/register.sh $packages_db || exit 1
done
rm -f $packages_db.old
#create the wrappers
#NB: The double dash for ghc-pkg is not a typo!
makeWrapper $ghc "bin/ghc" "-package-conf" $packages_db
makeWrapper $ghc "bin/ghci" "-package-conf" $packages_db
makeWrapper $ghc "bin/runghc" "-package-conf" $packages_db
makeWrapper $ghc "bin/runhaskell" "-package-conf" $packages_db
makeWrapper $ghc "bin/ghc-pkg" "--global-conf" $packages_db
# todo: link all other binaries of ghc

View File

@@ -1,7 +0,0 @@
{stdenv, ghc, libraries}:
stdenv.mkDerivation {
inherit (ghc) name meta;
inherit ghc libraries;
builder = ./builder.sh;
}

View File

@@ -1,31 +1,32 @@
{stdenv, fetchurl, perl, editline, ncurses, gmp, makeWrapper}:
{stdenv, fetchurl, perl, libedit, ncurses, gmp}:
stdenv.mkDerivation rec {
version = "6.10.1";
name = "ghc-${version}";
name = "ghc-${version}-binary";
src =
if stdenv.system == "i686-linux" then
fetchurl {
# libedit .so.0
# This binary requires libedit.so.0 (rather than libedit.so.2).
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2";
sha256 = "18l0vwlf7y86s65klpdvz4ccp8kydvcmyh03c86hld8jvx16q7zz";
}
else if stdenv.system == "x86_64-linux" then
fetchurl {
# libedit .so.0
# Idem.
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2";
sha256 = "14jvvn333i36wm7mmvi47jr93f5hxrw1h2dpjvqql0rp00svhzzg";
}
else if stdenv.system == "i686-darwin" then
fetchurl {
# update
# untested
# Idem.
url = "http://haskell.org/ghc/dist/${version}/maeder/ghc-${version}-i386-apple-darwin.tar.bz2";
sha256 = "0lax61cfzxkrjb7an3magdax6c8fygsirpw9qfmc651k2sfby1mq";
}
else throw "cannot bootstrap GHC on this platform";
else throw "cannot bootstrap GHC on this platform";
buildInputs = [perl makeWrapper];
buildInputs = [perl];
postUnpack =
# Strip is harmful, see also below. It's important that this happens
@@ -45,7 +46,7 @@ stdenv.mkDerivation rec {
(if stdenv.isLinux then ''
find . -type f -perm +100 \
-exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath "${editline}/lib:${ncurses}/lib:${gmp}/lib" {} \;
--set-rpath "${libedit}/lib:${ncurses}/lib:${gmp}/lib" {} \;
for prog in ld ar gcc strip ranlib; do
find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
done
@@ -61,46 +62,45 @@ stdenv.mkDerivation rec {
# No building is necessary, but calling make without flags ironically
# calls install-strip ...
buildPhase = ":";
buildPhase = "true";
# The binaries for Darwin use frameworks, so fake those frameworks,
# and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
# that the executables work with no special setup.
postInstall = (if stdenv.isDarwin then "
postInstall =
(if stdenv.isDarwin then
''
ensureDir $out/frameworks/GMP.framework/Versions/A
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP
# !!! fix this
ensureDir $out/frameworks/GNUeditline.framework/Versions/A
ln -s ${libedit}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/GNUeditline
ln -s ${libedit}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/Versions/A/GNUeditline
ensureDir $out/frameworks/GMP.framework/Versions/A
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP
ensureDir $out/frameworks/GNUeditline.framework/Versions/A
ln -s ${editline}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/GNUeditline
ln -s ${editline}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/Versions/A/GNUeditline
mv $out/bin $out/bin-orig
mkdir $out/bin
for i in $(cd $out/bin-orig && ls); do
echo "#! $SHELL -e" >> $out/bin/$i
echo "DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i -framework-path $out/frameworks \"\$@\"" >> $out/bin/$i
chmod +x $out/bin/$i
done
'' else "")
+
''
# bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf
mv $out/bin $out/bin-orig
mkdir $out/bin
for i in $(cd $out/bin-orig && ls); do
echo \"#! $SHELL -e\" >> $out/bin/$i
echo \"DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i -framework-path $out/frameworks \\\"\\$@\\\"\" >> $out/bin/$i
chmod +x $out/bin/$i
done
" else "")
+
''
# bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf
wrapProgram $out/bin/ghc --set LDPATH "${gmp}/lib"
# sanity check, can ghc create executables?
cd $TMP
mkdir test-ghc; cd test-ghc
cat > main.hs << EOF
module Main where
main = putStrLn "yes"
EOF
$out/bin/ghc --make main.hs
echo compilation ok
[ $(./main) == "yes" ]
''
;
# Sanity check, can ghc create executables?
cd $TMP
mkdir test-ghc; cd test-ghc
cat > main.hs << EOF
module Main where
main = putStrLn "yes"
EOF
$out/bin/ghc --make main.hs
echo compilation ok
[ $(./main) == "yes" ]
'';
}

View File

@@ -0,0 +1,27 @@
{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}:
stdenv.mkDerivation rec {
version = "6.10.1";
name = "ghc-${version}";
homepage = "http://haskell.org/ghc";
src = fetchurl {
url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
sha256 = "16q08cxxsmh4hgjhvkl739pc1hh81gljycfq1d2z6m1ld3jpbi22";
};
buildInputs = [ghc libedit perl gmp];
configureFlags=[
"--with-gmp-libraries=${gmp}/lib"
"--with-gmp-includes=${gmp}/include"
"--with-gcc=${stdenv.gcc}/bin/gcc"
];
meta = {
inherit homepage;
description = "The Glasgow Haskell Compiler";
};
}

View File

@@ -0,0 +1,100 @@
{stdenv, fetchurl, perl, libedit, ncurses, gmp}:
stdenv.mkDerivation rec {
version = "6.10.2";
name = "ghc-${version}-binary";
src =
if stdenv.system == "i686-linux" then
fetchurl {
# This binary requires libedit.so.0 (rather than libedit.so.2).
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2";
sha256 = "1fw0zr2qshlpk8s0d16k27zcv5263nqdg2xds5ymw8ff6qz9rz9b";
}
else if stdenv.system == "x86_64-linux" then
fetchurl {
# Idem.
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2";
sha256 = "1rd2j7lmcfsm2rdfb5g6q0l8dz3sxadk5m3d2f69d4a6g4p4h7jj";
}
else throw "cannot bootstrap GHC on this platform";
buildInputs = [perl];
postUnpack =
# Strip is harmful, see also below. It's important that this happens
# first. The GHC Cabal build system makes use of strip by default and
# has hardcoded paths to /usr/bin/strip in many places. We replace
# those below, making them point to our dummy script.
''
mkdir "$TMP/bin"
for i in strip; do
echo '#!/bin/sh' >> "$TMP/bin/$i"
chmod +x "$TMP/bin/$i"
PATH="$TMP/bin:$PATH"
done
'' +
# On Linux, use patchelf to modify the executables so that they can
# find editline/gmp.
(if stdenv.isLinux then ''
find . -type f -perm +100 \
-exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath "${libedit}/lib:${ncurses}/lib:${gmp}/lib" {} \;
for prog in ld ar gcc strip ranlib; do
find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
done
'' else "");
configurePhase = ''
./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
'';
# Stripping combined with patchelf breaks the executables (they die
# with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
dontStrip = true;
# No building is necessary, but calling make without flags ironically
# calls install-strip ...
buildPhase = "true";
# The binaries for Darwin use frameworks, so fake those frameworks,
# and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
# that the executables work with no special setup.
postInstall =
(if stdenv.isDarwin then
''
ensureDir $out/frameworks/GMP.framework/Versions/A
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP
# !!! fix this
ensureDir $out/frameworks/GNUeditline.framework/Versions/A
ln -s ${libedit}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/GNUeditline
ln -s ${libedit}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/Versions/A/GNUeditline
mv $out/bin $out/bin-orig
mkdir $out/bin
for i in $(cd $out/bin-orig && ls); do
echo \"#! $SHELL -e\" >> $out/bin/$i
echo \"DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i -framework-path $out/frameworks \\\"\\$@\\\"\" >> $out/bin/$i
chmod +x $out/bin/$i
done
'' else "")
+
''
# bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf
# Sanity check, can ghc create executables?
cd $TMP
mkdir test-ghc; cd test-ghc
cat > main.hs << EOF
module Main where
main = putStrLn "yes"
EOF
$out/bin/ghc --make main.hs
echo compilation ok
[ $(./main) == "yes" ]
'';
}

View File

@@ -0,0 +1,27 @@
{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}:
stdenv.mkDerivation rec {
version = "6.10.2";
name = "ghc-${version}";
homepage = "http://haskell.org/ghc";
src = fetchurl {
url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
sha256 = "0q3wgp8svfl54kpyp55a1kh63cni5vzz811hqjsps84jdg0lg56m";
};
buildInputs = [ghc libedit perl gmp];
configureFlags=[
"--with-gmp-libraries=${gmp}/lib"
"--with-gmp-includes=${gmp}/include"
"--with-gcc=${stdenv.gcc}/bin/gcc"
];
meta = {
inherit homepage;
description = "The Glasgow Haskell Compiler";
};
}

View File

@@ -1,7 +1,7 @@
{stdenv, fetchurl, perl, readline, ncurses, gmp}:
stdenv.mkDerivation {
name = if stdenv.system == "i686-darwin" then "ghc-6.6.1" else "ghc-6.4.2";
name = if stdenv.system == "i686-darwin" then "ghc-6.6.1-binary" else "ghc-6.4.2-binary";
src =
if stdenv.system == "i686-linux" then
@@ -15,6 +15,9 @@ stdenv.mkDerivation {
md5 = "8f5fe48798f715cd05214a10987bf6d5";
}
else if stdenv.system == "i686-darwin" then
/* Yes, this isn't GHC 6.4.2. But IIRC either there was no
6.4.2 binary for Darwin, or it didn't work. In any case, in
Nixpkgs we just need this bootstrapping a "real" GHC. */
fetchurl {
url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-i386-apple-darwin.tar.bz2;
sha256 = "1drbsicanr6jlykvs4vs6gbi2q9ac1bcaxz2vzwh3pfv3lfibwia";
@@ -38,7 +41,7 @@ stdenv.mkDerivation {
# The binaries for Darwin use frameworks, so fake those frameworks,
# and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
# that the executables work with no special setup.
postInstall = if stdenv.isDarwin then "
postInstall = if stdenv.isDarwin then ''
ensureDir $out/frameworks/GMP.framework/Versions/A
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
@@ -50,13 +53,13 @@ stdenv.mkDerivation {
mkdir $out/bin-orig
for i in $(cd $out/bin && ls *); do
mv $out/bin/$i $out/bin-orig/$i
echo \"#! $SHELL -e\" >> $out/bin/$i
echo "#! $SHELL -e" >> $out/bin/$i
extraFlag=
if test $i != ghc-pkg; then extraFlag=\"-framework-path $out/frameworks\"; fi
echo \"DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i $extraFlag \\\"\\$@\\\"\" >> $out/bin/$i
if test $i != ghc-pkg; then extraFlag="-framework-path $out/frameworks"; fi
echo "DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i $extraFlag \"\$@\"" >> $out/bin/$i
chmod +x $out/bin/$i
done
" else "";
'' else "";
}

View File

@@ -1,15 +1,25 @@
{stdenv, gcc, fetchurl, perl, ghc, m4, readline, ncurses, gmp}:
{stdenv, fetchurl, perl, ghc, m4, readline, ncurses, gmp}:
stdenv.mkDerivation {
name = "ghc-6.4.2";
src = fetchurl {
url = http://www.haskell.org/ghc/dist/6.4.2/ghc-6.4.2-src.tar.bz2;
md5 = "a394bf14e94c3bca5507d568fcc03375";
};
buildInputs = [perl ghc m4];
propagatedBuildInputs = [readline ncurses gmp];
builder = ./builder.sh;
inherit gcc;
configureFlags = "--with-gcc=${stdenv.gcc}/bin/gcc";
preConfigure =
''
# Don't you hate build processes that write in $HOME? :-(
export HOME=$(pwd)/fake-home
mkdir -p $HOME
'';
meta = {
description = "The Glasgow Haskell Compiler";

View File

@@ -14,8 +14,6 @@ stdenv.mkDerivation (rec {
buildInputs = [ghc readline perl58 m4 gmp];
setupHook = ./setup-hook.sh;
meta = {
description = "The Glasgow Haskell Compiler";
};

View File

@@ -16,11 +16,6 @@ stdenv.mkDerivation (rec {
buildInputs = [ghc readline perl m4 gmp];
# The setup hook is executed by other packages building with ghc.
# It then looks for package configurations that are available and
# build a package database on the fly.
setupHook = ./setup-hook.sh;
meta = {
description = "The Glasgow Haskell Compiler";
};
@@ -29,14 +24,11 @@ stdenv.mkDerivation (rec {
"--with-gmp-libraries=${gmp}/lib"
"--with-gmp-includes=${gmp}/include"
"--with-readline-libraries=${readline}/lib"
"--with-gcc=${gcc}/bin/gcc"
"--with-gcc=${stdenv.gcc}/bin/gcc"
];
preConfigure = "
# still requires a hack for ncurses
sed -i \"s|^\\\(ld-options.*$\\\)|\\\1 -L${ncurses}/lib|\" libraries/readline/readline.buildinfo.in
";
inherit (stdenv) gcc;
inherit readline gmp ncurses;
})

View File

@@ -1,25 +1,21 @@
{stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses, haddock}:
stdenv.mkDerivation (rec {
name = "ghc-6.8.3";
stdenv.mkDerivation rec {
version = "6.8.3";
name = "ghc-${version}";
homepage = "http://www.haskell.org/ghc";
src = map fetchurl [
{ url = "${homepage}/dist/6.8.3/${name}-src.tar.bz2";
{ url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
sha256 = "1fc1ff82a555532f1c9d2dc628fd9de5e6ebab2ce6ee9490a34174ceb6f76e6b";
}
{ url = "${homepage}/dist/6.8.3/${name}-src-extralibs.tar.bz2";
{ url = "${homepage}/dist/${version}/${name}-src-extralibs.tar.bz2";
sha256 = "ee2f5ba6a46157fc53eae515cb6fa1ed3c5023e7eac15981d92af0af00ee2ba2";
}
];
buildInputs = [ghc readline perl m4 gmp haddock];
# The setup hook is executed by other packages building with ghc.
# It then looks for package configurations that are available and
# build a package database on the fly.
setupHook = ./setup-hook.sh;
meta = {
description = "The Glasgow Haskell Compiler";
};
@@ -28,7 +24,7 @@ stdenv.mkDerivation (rec {
"--with-gmp-libraries=${gmp}/lib"
"--with-gmp-includes=${gmp}/include"
"--with-readline-libraries=${readline}/lib"
"--with-gcc=${gcc}/bin/gcc"
"--with-gcc=${stdenv.gcc}/bin/gcc"
];
preConfigure = ''
@@ -37,9 +33,4 @@ stdenv.mkDerivation (rec {
# build haddock docs
echo "HADDOCK_DOCS = YES" >> mk/build.mk
'';
installTargets = ["install" "install-docs"];
inherit (stdenv) gcc;
inherit readline gmp ncurses;
})
}

View File

@@ -1,9 +0,0 @@
source $stdenv/setup
configureFlags="--with-gcc=$gcc/bin/gcc"
# Don't you hate build processes that write in $HOME? :-(
export HOME=$(pwd)/fake-home
mkdir -p $HOME
genericBuild

View File

@@ -0,0 +1,17 @@
# Create isolated package config
packages_db=$TMPDIR/.package.conf
cp @ghc@/lib/ghc-*/package.conf $packages_db
chmod u+w $packages_db
export GHC_PACKAGE_PATH=$packages_db
# Env hook to add packages to the package config
addLibToPackageConf () {
local fn
shopt -s nullglob
for fn in $1/lib/ghc-pkgs/ghc-@ghcVersion@/*.conf; do
@ghc@/bin/ghc-pkg register --force $fn
done
}
envHooks=(${envHooks[@]} addLibToPackageConf)

View File

@@ -0,0 +1,15 @@
{stdenv, ghc}:
stdenv.mkDerivation {
name = "ghc-wrapper-${ghc.version}";
propagatedBuildInputs = [ghc];
unpackPhase = "true";
installPhase = "true";
setupHook = ./setup-hook.sh;
inherit ghc;
ghcVersion = ghc.version;
}

View File

@@ -1,7 +1,7 @@
{stdenv, fetchurl, bison, flex}:
stdenv.mkDerivation {
name = "iasl-20090123.tar.gz";
name = "iasl-20090123";
src = fetchurl {
url = http://www.acpica.org/download/acpica-unix-20090123.tar.gz;
md5 = "4ca6484acbf16cf67fd4ba91d32fd0a0";

View File

@@ -28,11 +28,11 @@ rec {
strategoxt = stdenv.mkDerivation rec {
name = "strategoxt-0.17pre18269";
name = "strategoxt-0.17pre18583";
src = fetchurl {
url = "http://releases.strategoxt.org/strategoxt/${name}-a0f0wy0j/${name}.tar.gz";
sha256 = "7c51c2452bd45f34cd480b6b3cbaac50e0fc53fbb1a884d97cf4e2c2b5330577";
url = "http://releases.strategoxt.org/strategoxt/strategoxt-0.17pre18583-i573smdl/strategoxt-0.17pre18583.tar.gz";
sha256 = "4769d82a62d1c53fc3f4631ddef489e638ff2361a2eceb1226f2b56ab45b7784";
};
buildInputs = [pkgconfig aterm sdf getopt];

View File

@@ -9,7 +9,7 @@ let
buildInputs = with args; [
zlib sqlite gmp libffi cairo ncurses freetype mesa
libpng libtiff libjpeg readline libsndfile libxml2
freeglut e2fsprogs libsamplerate pcre libevent editline
freeglut e2fsprogs libsamplerate pcre libevent libedit
];
in
rec {

View File

@@ -1,10 +1,10 @@
{stdenv, fetchurl, ncurses, readline}:
stdenv.mkDerivation {
name = "lua-5.1.2";
name = "lua-5.1.4";
src = fetchurl {
url = http://www.lua.org/ftp/lua-5.1.2.tar.gz;
sha256 = "17ixifwgjva5592s2rn1ki56wa7hgw0z210r4bcx5lv8zv39iw2w";
url = http://www.lua.org/ftp/lua-5.1.4.tar.gz;
sha256 = "0fmgk100ficm1jbm4ga9xy484v4cm89wsdfckdybb9gjx8jy4f5h";
};
buildFlags = "linux"; # TODO: support for non-linux systems
installFlags = "install INSTALL_TOP=\${out}";

View File

@@ -36,6 +36,8 @@ stdenv.mkDerivation {
url = "mirror://sourceforge/boost/boost_1_38_0.tar.bz2";
sha256 = "0rk044s4m7l4sma6anml34vxcd9w0fzcy1cy7csbzynjyida9qry";
};
patches = [ ./classr.patch ];
buildInputs = [icu expat zlib bzip2 python];

View File

@@ -0,0 +1,15 @@
Taken from http://wiki.freebsd.org/BoostPortingProject
--- boost1.38/boost/function/function_template.hpp.orig 2008-10-16 17:21:50.000000000 +0400
+++ boost1.38_2/boost/function/function_template.hpp 2009-03-25 04:12:15.000000000 +0300
@@ -950,10 +950,10 @@
f.vtable->manager(f.functor, this->functor,
boost::detail::function::move_functor_tag);
f.vtable = 0;
-#if !defined(BOOST_NO_EXCEPTIONS)
} else {
clear();
}
+#if !defined(BOOST_NO_EXCEPTIONS)
} catch (...) {
vtable = 0;
throw;

View File

@@ -1,10 +0,0 @@
{ stdenv, fetchurl, ncurses }:
stdenv.mkDerivation {
name = "editline-2.11";
src = fetchurl {
url = http://www.thrysoee.dk/editline/libedit-20080712-2.11.tar.gz;
sha256 = "6ff51a15d1ada16c44be0f32a539b492cd3b0286c3dfa413915525f55851d1e6";
};
propagatedBuildInputs = [ ncurses ];
}

View File

@@ -0,0 +1,15 @@
{cabal, QuickCheck, binary, haskeline, haskellSrc, mtl, utf8String, xhtml, zlib,
happy, alex}:
cabal.mkDerivation (self : {
pname = "Agda";
version = "2.2.2";
sha256 = "265dbb5bc6d67bfeefa4a2a4ac9e5018d6d8b5c1a75816e05da2661c43a39bba";
extraBuildInputs = [happy alex];
propagatedBuildInputs =
[QuickCheck binary haskeline haskellSrc mtl utf8String xhtml zlib];
meta = {
description = "A dependently typed functional language and proof assistant";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, OpenGL, glut, libSM, libICE, libXmu, libXi, mesa}:
cabal.mkDerivation (self : {
pname = "GLUT";
version = "2.1.1.2"; # Haskell Platform 2009.0.0
sha256 = "d5ecf4b6bacc5e68ade00710df04fa158c6ed322c74362954716a0baba6bd3fb";
propagatedBuildInputs = [OpenGL glut libSM libICE libXmu libXi mesa];
meta = {
description = "A binding for the OpenGL Utility Toolkit";
};
})

View File

@@ -1,9 +1,10 @@
{cabal}:
{cabal, mtl, network, parsec}:
cabal.mkDerivation (self : {
pname = "HTTP";
version = "3001.0.0";
sha256 = "0d1ixrylb7vl5q963r31jc8gsqm24bkjas4dyi6ks8kbhzrgrw17";
version = "4000.0.5"; # Haskell Platform 2009.0.0
sha256 = "54cbb211e73f183aa91780afd6cc7c830edef1b2eb5ce8dc05e5fa539bb685d8";
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.0.3"; # Haskell Platform 2009.0.0
sha256 = "954f584f7c096c3ddef677e70b3811195bb4fd18dfdb4727a260ca7d7465de12";
meta = {
description = "A unit testing framework for Haskell";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, OpenGL, openal}:
cabal.mkDerivation (self : {
pname = "OpenAL";
version = "1.3.1.1"; # Haskell Platform 2009.0.0
sha256 = "4875e015770feb93d5127d4b6f2338eb3957a0c36f64ccb8b3846010619f89b0";
propagatedBuildInputs = [OpenGL openal];
meta = {
description = "A binding to the OpenAL cross-platform 3D audio API";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, mesa, libX11}:
cabal.mkDerivation (self : {
pname = "OpenGL";
version = "2.2.1.1"; # Haskell Platform 2009.0.0
sha256 = "926ca25cf9502cdaaeb8ade484015468cb60594e1bfbf0e04bd01235d8d9a792";
propagatedBuildInputs = [mesa libX11];
meta = {
description = "A binding for the OpenGL graphics system";
};
})

View File

@@ -0,0 +1,13 @@
{cabal, mtl}:
cabal.mkDerivation (self : {
pname = "QuickCheck";
version = "2.1.0.1";
sha256 = "f99edf1a45315e90c9ec672d5d959d5878dcc1de65678c6aed85829a896b75f1";
propagatedBuildInputs = [mtl];
configureFlags = ''--constraint=base<4'';
meta = {
description = "Automatic testing of Haskell programs";
};
})

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "QuickCheck";
version = "1.2.0.0"; # Haskell Platform 2009.0.0
sha256 = "21672d817913ac7ab6d3fd7f102dd5d0f115a0826c95b9604c8c0b0171e8d4ed";
meta = {
description = "Automatic testing of Haskell programs";
};
})

View File

@@ -4,8 +4,8 @@ assert xineramaSupport -> (libXinerama != null && libXext != null);
cabal.mkDerivation (self : {
pname = "X11";
version = "1.4.2";
sha256 = "7a37ba1adee9c30a27013ea7058e907c2348ef08eaa79c9895e62e4f0d73d2aa";
version = "1.4.5";
sha256 = "6665056b9fe5801ca27bf960a90215c940ae70b549753efed0303d5ed8d89ddb";
propagatedBuildInputs = [libX11] ++ (if xineramaSupport then [libXinerama libXext] else []);
meta = {
description = "A Haskell binding to the X11 graphics library";

View File

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

View File

@@ -17,7 +17,7 @@ attrs :
# 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}";
name = "haskell-${self.pname}-ghc${attrs.ghc.ghc.version}-${self.version}";
# the default download location for Cabal packages is Hackage,
# you still have to specify the checksum
@@ -39,22 +39,14 @@ attrs :
# 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
# compiles Setup and configures
configurePhase = ''
eval "$preConfigure"
for i in ${toString self.patchLibFiles}; do
echo "patching $i"
test -f $i && sed -i '/[eE]xtra-[lL]ibraries/ { s|\( *\)[eE]xtra-[lL]ibraries.*|&\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"
./Setup configure --verbose --prefix="$out" ${toString (map (x : "--extra-lib-dir=" + x) self.extraLibDirs)} $configureFlags
eval "$postConfigure"
'';
@@ -70,24 +62,19 @@ attrs :
# 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).
# adds all propagated build inputs to the user environment packages
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
local confDir=$out/lib/ghc-pkgs/ghc-${attrs.ghc.ghc.version}
ensureDir $confDir
./Setup register --gen-pkg-config=$confDir/${self.fname}.conf
ensureDir $out/nix-support
ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
eval "$postInstall"
'';
};

View File

@@ -0,0 +1,12 @@
{cabal, mtl, network, parsec, xhtml}:
cabal.mkDerivation (self : {
pname = "cgi";
version = "3001.1.7.1"; # Haskell Platform 2009.0.0
sha256 = "7d1d710871fffbbec2a33d7288b2959ddbcfd794d47f0122127576c02550b339";
propagatedBuildInputs = [mtl network parsec xhtml];
meta = {
description = "A library for writing CGI programs";
};
})

View File

@@ -1,21 +1,12 @@
{ cabal, editline } :
{ cabal, libedit } :
cabal.mkDerivation (self : {
pname = "editline";
version = "0.2";
sha256 = "6ee0b553cc8d7542c096730ceebabdcb9b2951d7b00a5a0ddbf47b5436a77ce4";
propagatedBuildInputs = [ editline ];
patchLibFiles = [ "editline.buildinfo.in" ];
preConfigure = ''
sed -i -e '/el_get/d' include/HsEditline.h
'';
# I don't quite understand why ncurses as an extra-library is harmful, but
# it works only if we remove it ...
postConfigure = ''
sed -i -e 's/ncurses//' editline.buildinfo
'';
version = "0.2.1.0";
sha256 = "83618e5f86074fdc11d7f5033aa2886284462941be38fa02966acc92712c46e1";
propagatedBuildInputs = [ libedit ];
meta = {
description = "Binding to the BSD editline library";
description = "Binding to the BSD editline library (libedit)";
};
})

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "extensible-exceptions";
version = "0.1.1.0";
sha256 = "c252dc5a505332700f041d4e1fd3d309cde6158892f9c35339bf5e67bad7f781";
meta = {
description = "Extensible exceptions";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, mtl}:
cabal.mkDerivation (self : {
pname = "fgl";
version = "5.4.2.2";
sha256 = "8232c337f0792854bf2a12a5fd1bc46726fff05d2f599053286ff873364cd7d2";
propagatedBuildInputs = [mtl];
meta = {
description = "Martin Erwig's Functional Graph Library";
};
})

View File

@@ -0,0 +1,11 @@
{ cabal } :
cabal.mkDerivation (self : {
pname = "ghc-paths";
version = "0.1.0.5";
sha256 = "ea9e97425894e3dbd7915e00e107e2e7fc07b6e8293fd2dd66a813f0673cba10";
meta = {
description = "Knowledge of GHC's installations directories";
};
})

View File

@@ -1,20 +1,31 @@
{stdenv, fetchurl, pkgconfig, ghc, gtk, cairo, GConf, libglade
, glib, libgtkhtml, gtkhtml}:
{ stdenv, fetchurl, pkgconfig, gnome, cairo, ghc, mtl }:
stdenv.mkDerivation (rec {
let gtksourceview = gnome.gtksourceview_24; in
stdenv.mkDerivation rec {
pname = "gtk2hs";
version = "0.9.12.1";
version = "0.10.0";
fname = "${pname}-${version}";
name = "haskell-${fname}";
name = "haskell-${pname}-ghc${ghc.ghc.version}-${version}";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${fname}.tar.gz";
sha256 = "110z6v9gzhg6nzlz5gs8aafmipbva6rc50b8z1jgq0k2g25hfy22";
url = http://nixos.org/tarballs/gtk2hs-0.10.0-20090419.tar.gz;
sha256 = "18a7cfph83yvv91ks37nrgqrn21fvww8bhb8nd8xy1mgb8lnfds1";
};
propagatedBuildInputs = [mtl];
buildInputs = [pkgconfig ghc gtk glib cairo GConf libglade libgtkhtml gtkhtml];
configureFlags = [
"--enable-cairo"
buildInputs = [
pkgconfig cairo ghc gnome.glib gnome.gtk gnome.libglade
gnome.GConf gtksourceview gnome.librsvg
];
})
postInstall =
''
local confDir=$out/lib/ghc-pkgs/ghc-${ghc.ghc.version}
ensureDir $confDir
cp $out/lib/gtk2hs/*.conf $confDir/
''; # */
passthru = { inherit gtksourceview; };
}

View File

@@ -0,0 +1,12 @@
{cabal, extensibleExceptions, mtl, utf8String}:
cabal.mkDerivation (self : {
pname = "haskeline";
version = "0.6.1.3";
sha256 = "af27d17bf6df7647e843bca91548b542748a5305f072ba7cfef97105a52578d4";
propagatedBuildInputs = [extensibleExceptions mtl utf8String];
meta = {
description = "A command-line interface for user input, written in Haskell";
};
})

View File

@@ -0,0 +1,29 @@
{cabal, fetchurl, GLUT, HTTP, HUnit, OpenAL, OpenGL, QuickCheck, cgi, fgl,
haskellSrc, html, parallel, regexBase, regexCompat, regexPosix,
stm, time, xhtml, zlib, cabalInstall, alex, happy, haddock, ghc}:
cabal.mkDerivation (self : {
pname = "haskell-platform";
version = "2009.0.0";
src = fetchurl {
url = http://code.haskell.org/haskell-platform/haskell-platform.cabal;
sha256 = "cefe19076bed6450d3d8611ff1b29fd0966106787003abedec90544968f30d9c";
};
unpackPhase = ''
cp $src haskell-platform.cabal
'';
preConfigure = ''
sed -i 's/^.*cabal-install ==.*$//' haskell-platform.cabal
echo 'import Distribution.Simple; main = defaultMain' > Setup.hs
touch LICENSE
'';
propagatedBuildInputs = [
GLUT HTTP HUnit OpenAL OpenGL QuickCheck cgi fgl
haskellSrc html parallel regexBase regexCompat regexPosix
stm time xhtml zlib cabalInstall alex happy ghc
];
meta = {
description = "Haskell Platform meta package";
};
})

View File

@@ -0,0 +1,13 @@
{cabal, cpphs, happy}:
cabal.mkDerivation (self : {
pname = "haskell-src-exts";
version = "0.4.8";
sha256 = "f059f698681b262b2a4725735b99ecbafec721ccadab65fcf075c2fc5d346dec";
extraBuildInputs = [happy];
propagatedBuildInputs = [cpphs];
meta = {
description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, haskellSrcExts}:
cabal.mkDerivation (self : {
pname = "haskell-src-meta";
version = "0.0.3.1";
sha256 = "74d450fd9d50edfd3cdad5c2860da2af3454b280bd37b401e16e2f492bfb5e15";
propagatedBuildInputs = [haskellSrcExts];
meta = {
description = "Parse source to template-haskell abstract syntax";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, happy}:
cabal.mkDerivation (self : {
pname = "haskell-src";
version = "1.0.1.3"; # Haskell Platform 2009.0.0
sha256 = "a7872900acd2293775a6bdc6dc8f70438ccd80e62d2d1e2394ddff15b1883e89";
extraBuildInputs = [happy];
meta = {
description = "Manipulating Haskell source code";
};
})

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "hscolour";
version = "1.10.1";
sha256 = "293f24b8373be1d70d9e5a4b8d3c527166ad645b4ac983c1a6fc5999c44a2d36";
meta = {
description = "Colourise Haskell code";
};
})

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "html";
version = "1.0.1.2"; # Haskell Platform 2009.0.0
sha256 = "0c35495ea33d65e69c69bc7441ec8e1af69fbb43433c2aa3406c0a13a3ab3061";
meta = {
description = "HTML combinator library";
};
})

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "mtl";
version = "1.1.0.2"; # Haskell Platform 2009.0.0
sha256 = "a225aaf2b1e337f40c31e5c42f95eec9a4608322b0e4c135d2b31b8421a58d36";
meta = {
description = "Monad transformer library";
};
})

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "multirec";
version = "0.2";
sha256 = "66f748245020437ad30dbc25e2decae7d49c6d968c014b316c0961539892083c";
meta = {
description = "Generic programming with systems of recursive datatypes";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, parsec}:
cabal.mkDerivation (self : {
pname = "network";
version = "2.2.1"; # Haskell Platform 2009.0.0
sha256 = "111e4963a0a979570993e79511a778b267ef58df35320d1ddda61a869259b63c";
propagatedBuildInputs = [parsec];
meta = {
description = "Networking-related facilities";
};
})

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "parallel";
version = "1.1.0.1"; # Haskell Platform 2009.0.0
sha256 = "0885086660268f3626effacb29a02b5c81f3e5a8dfa99dabe0981ddbc407999f";
meta = {
description = "parallel programming library";
};
})

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "parsec";
version = "2.1.0.1"; # Haskell Platform 2009.0.0
sha256 = "2d85e5b5c8b2b1f341037ce67e1db7fa47b31c083136796cfef9e5b945c656df";
meta = {
description = "Monadic parser combinators";
};
})

View File

@@ -0,0 +1,12 @@
{ cabal, readline } :
cabal.mkDerivation (self : {
pname = "readline";
version = "1.0.1.0";
sha256 = "07f2f039f32bf18838a4875d0f3caa3ed9436dd52b962b2061f0bb8a3316fa1d";
propagatedBuildInputs = [ readline ];
meta = {
description = "An interface to the GNU readline library";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, mtl}:
cabal.mkDerivation (self : {
pname = "regex-base";
version = "0.72.0.2"; # Haskell Platform 2009.0.0
sha256 = "38a4901b942fea646a422d52c52ef14eec4d6561c258b3c54cd96a8a354141ee";
propagatedBuildInputs = [mtl];
meta = {
description = "Replaces/Ehances Text.Regex";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, regexBase, regexPosix}:
cabal.mkDerivation (self : {
pname = "regex-compat";
version = "0.71.0.1"; # Haskell Platform 2009.0.0
sha256 = "904552f7d690686b2602f37494827d09b09fc0a8a2565522b61847bec8d1de8d";
propagatedBuildInputs = [regexBase regexPosix];
meta = {
description = "Replaces/Enhances Text.Regex";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, regexBase}:
cabal.mkDerivation (self : {
pname = "regex-posix";
version = "0.72.0.3"; # Haskell Platform 2009.0.0
sha256 = "327ab87f3d4f5315a9414331eb382b8b997de8836d577c3f7d232c574606feb1";
propagatedBuildInputs = [regexBase];
meta = {
description = "Replaces/Enhances Text.Regex";
};
})

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "stm";
version = "2.1.1.2"; # Haskell Platform 2009.0.0
sha256 = "68d550067ae180373142c51f3fa14bdf0a1516310aee9a37e28f9ac7cf3b8c6d";
meta = {
description = "Software Transactional Memory";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, parallel}:
cabal.mkDerivation (self : {
pname = "strict-concurrency";
version = "0.2.1";
sha256 = "8838600033bde2ce7ca6bd95a3815412da67244b57dfc0e2246a8f2469f5fd9c";
propagatedBuildInputs = [parallel];
meta = {
description = "Strict concurrency abstractions";
};
})

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "time";
version = "1.1.2.4"; # Haskell Platform 2009.0.0
sha256 = "11dfcb9b5ca76428a7a31019928c3c1898320f774e5d3df8e4407580d074fad3";
meta = {
description = "A time library";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, mtl}:
cabal.mkDerivation (self : {
pname = "uniplate";
version = "1.2.0.3";
sha256 = "77cf07c96ae62799d790284c0c84beca9ee17c9c2416d4de6641f3fddd644b58";
propagatedBuildInputs = [mtl];
meta = {
description = "Uniform type generic traversals";
};
})

View File

@@ -0,0 +1,10 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "utf8-string";
version = "0.3.4";
sha256 = "1gd5b5q5jw70mg0z8jjgqigc0wmvnc7fx2k3yfdsz20b9wsjfw7r";
meta = {
description = "A UTF8 layer for IO and Strings";
};
})

View File

@@ -2,9 +2,9 @@
cabal.mkDerivation (self : {
pname = "uulib";
version = "0.9.5";
sha256 = "38415725133af464de582dadc7d7e60b1aeb96344b18b239d176bf2181f98563";
version = "0.9.10";
sha256 = "1df7336ed76c278323c2e25ab53ec1afc9eba6a7c918c826e9f783e84479e08f";
meta = {
description = "Fast Parser Combinators and Pretty Printing Combinators";
description = "Haskell Utecht Tools Library";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, ghcPaths, haskellSrcMeta}:
cabal.mkDerivation (self : {
pname = "vacuum";
version = "0.0.91";
sha256 = "9240ec35b39d60928a73469893adf1d2aa742b9a781dbc6dcdaa54e96d9bf1af";
propagatedBuildInputs = [ghcPaths haskellSrcMeta];
meta = {
description = "Extract graph representations of ghc heap values";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, vacuum, gtk2hs, parallel, strictConcurrency}:
cabal.mkDerivation (self : {
pname = "vacuum-cairo";
version = "0.4.1";
sha256 = "4d506fec246d40e5c983eea1dbd72735e276f882539aa3682cda9d9a33f8ddb2";
propagatedBuildInputs = [vacuum gtk2hs parallel strictConcurrency];
meta = {
description = "Visualize live Haskell data structures using vacuum, graphviz and cairo";
};
})

View File

@@ -0,0 +1,11 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "xhtml";
version = "3000.2.0.1"; # Haskell Platform 2009.0.0
sha256 = "60d7a44ae6d607475e2d60c5bf9909b8a3bd88850d52b08ff1532aa6d58bec96";
meta = {
description = "An XHTML combinator library";
};
})

View File

@@ -2,8 +2,10 @@
cabal.mkDerivation (self : {
pname = "zlib";
version = "0.4.0.2";
sha256 = "e6e9e51ca5b7f1685eb031f826f7865acc10cc2c8d0dfad975e0e81fd17f17ed";
version = "0.5.0.0"; # Haskell Platform 2009.0.0
sha256 = "20e067cfbec87ec062ac144875a60e158ea6cf7836aac031ec367fcdd5446891";
# TODO: find out exactly why propagated is needed here (to build other
# packages depending on zlib):
propagatedBuildInputs = [zlib];
meta = {
description = "Compression and decompression in the gzip and zlib formats";

View File

@@ -0,0 +1,17 @@
{ stdenv, fetchurl, ncurses }:
stdenv.mkDerivation {
name = "libedit-20090405-3.0";
src = fetchurl {
url = http://www.thrysoee.dk/editline/libedit-20090405-3.0.tar.gz;
sha256 = "1il68apydk6nnm30v8gn61vbi23ii571bixp7662j96xsivy7z5l";
};
propagatedBuildInputs = [ ncurses ];
meta = {
homepage = "http://www.thrysoee.dk/editline/";
description = "A port of the NetBSD Editline library (libedit)";
};
}

View File

@@ -0,0 +1,17 @@
{ fetchurl, stdenv, zlib, openssl, libuuid }:
stdenv.mkDerivation rec {
name = "libewf-20080501";
src = fetchurl {
url = mirror://sourceforge/libewf/libewf-20080501.tar.gz;
sha256 = "0s8fp7kmpk0976zii0fbk8vhi8k1br2fjp510rmgr6q1ssqdbi36";
};
buildInputs = [ zlib openssl libuuid ];
meta = {
description = "Library for support of the Expert Witness Compression Format";
homepage = http://sourceforge.net/projects/libewf/;
license = "free";
};
}

View File

@@ -0,0 +1,26 @@
{stdenv, fetchurl, pkgconfig, glib, ncurses}:
stdenv.mkDerivation {
name = "libpseudo-1.1.0";
src = fetchurl {
url = mirror://sourceforge/libpseudo/libpseudo-1.1.0.tar.gz;
sha256 = "0fp64c6sbdrp4gs4a7rnh5zwis73p7zg04basdn91byshvs1giwv";
};
patchPhase = ''
sed -i -e s@/usr/local@$out@ -e /ldconfig/d Makefile
'';
preInstall = ''
ensureDir $out/include
ensureDir $out/lib
'';
buildInputs = [pkgconfig glib ncurses];
meta = {
homepage = http://libpseudo.sourceforge.net/;
description = "Simple, thread-safe messaging between threads";
license="GPLv2+";
};
}

View File

@@ -0,0 +1,26 @@
{stdenv, fetchurl, pkgconfig, glib, ncurses, gpm}:
stdenv.mkDerivation {
name = "libviper-1.2.2";
src = fetchurl {
url = mirror://sourceforge/libviper/libviper-1.4.2.tar.gz;
sha256 = "06ff9i914cxi3ifnr5xfpfbvz46kx150jaxvr6rcha6ylglw48c9";
};
patchPhase = ''
sed -i -e s@/usr/local@$out@ -e /ldconfig/d -e '/cd vdk/d' Makefile
'';
preInstall = ''
ensureDir $out/include
ensureDir $out/lib
'';
buildInputs = [pkgconfig glib ncurses gpm];
meta = {
homepage = http://libviper.sourceforge.net/;
description = "Simple window creation and management facilities for the console";
license="GPLv2+";
};
}

View File

@@ -2,7 +2,7 @@
assert pythonSupport -> python != null;
stdenv.mkDerivation {
stdenv.mkDerivation ({
name = "libxml2-2.7.3";
src = fetchurl {
@@ -31,4 +31,8 @@ stdenv.mkDerivation {
homepage = http://xmlsoft.org/;
description = "A XML parsing library for C";
};
}
} // (if pythonSupport then {
preConfigure = ''
sed -e "s^pythondir=.*$^pythondir=$(toPythonPath $out)^" < configure.old > configure
'';
} else {}))

View File

@@ -1,19 +1,35 @@
{ stdenv, fetchurl, alsaLib, cmake }:
let version = "1.5.304"; in
let version = "1.7.411"; in
stdenv.mkDerivation rec {
name = "openal-${version}";
src = fetchurl {
url = "http://connect.creativelabs.com/openal/Downloads/openal-soft-${version}.tar.bz2";
sha256 = "0k26ycprmpynvfkqkqsbaahl6avn033z2c03sp21vhpqbyms50ks";
url = "http://connect.creativelabs.com/openal/Downloads/openal-soft-${version}.bz2";
sha256 = "1nbqvg08hy5p2cxy2i2mmh2szmbpsg2dcvhr61iplyisw04rwc8i";
name = "openal-soft-${version}.tar.bz2";
};
# FIXME: The `$out/bin/openal-info' executable doesn't have the
# right RPATH, so it can't find `libopenal.so'. This must be fixed
# by tweaking the CMake crap.
buildInputs = [ cmake alsaLib ];
cmakeFlags = "-DCMAKE_SHARED_LINKER_FLAGS=\"-Wl,-rpath,$out/lib/\"" +
" -DCMAKE_EXE_LINKER_FLAGS=\"-Wl,-rpath,$out/lib\"" +
" -DCMAKE_SKIP_BUILD_RPATH=ON" +
" -DCMAKE_BUILD_TYPE=Release" +
" -DCMAKE_INSTALL_PREFIX=$out";
dontUseCmakeConfigure = true;
# I rewrote the configure phase to get the $out references evaluated in
# cmakeFlags
configurePhase = ''
set -x
mkdir -p build;
cd build
eval -- "cmake .. $cmakeFlags"
set +x
'';
meta = {
description = "OpenAL, a cross-platform 3D audio API";

View File

@@ -1,4 +1,4 @@
{fetchurl, buildPerlPackage, perlDBI, sqlite}:
{fetchurl, buildPerlPackage, DBI, sqlite}:
buildPerlPackage {
name = "DBD-SQLite-1.14";
@@ -8,7 +8,7 @@ buildPerlPackage {
sha256 = "01qd5xfx702chg3bv2k727kfdp84zy5xh31y6njvivkp78vrs624";
};
propagatedBuildInputs = [perlDBI];
propagatedBuildInputs = [DBI];
makeMakerFlags = "SQLITE_LOCATION=${sqlite}";

View File

@@ -1,6 +1,6 @@
{fetchurl, perl, db4}:
{fetchurl, buildPerlPackage, db4}:
import ../generic perl {
buildPerlPackage {
name = "DB_File-1.816";
src = fetchurl {
@@ -16,6 +16,4 @@ import ../generic perl {
INCLUDE = ${db4}/include
EOF
'';
inherit db4;
}

View File

@@ -0,0 +1,53 @@
{ fetchurl, stdenv, python, setuptools, twisted, pyopenssl }:
stdenv.mkDerivation rec {
name = "foolscap-0.3.2";
src = fetchurl {
url = "http://foolscap.lothar.com/releases/${name}.tar.gz";
sha256 = "1wkqgm6anlxvz8dnqx7ki008255nm1mlhak5n9xy6g1yf31fn3l0";
};
buildInputs = [ python ];
propagatedBuildInputs = [ setuptools twisted pyopenssl ];
doCheck = true;
buildPhase = "python setup.py build --build-base $out";
checkPhase = "python setup.py test";
# FIXME: `$out/bin/flogtool' can't find its friends:
#
# $ ./result/bin/flogtool --help
# Traceback (most recent call last):
# File "./result/bin/flogtool", line 4, in <module>
# import pkg_resources
# ImportError: No module named pkg_resources
installPhase = ''
ensureDir "$out/lib/python2.5/site-packages"
PYTHONPATH="$out/lib/python2.5/site-packages:$PYTHONPATH" \
python setup.py install --prefix="$out"
ensureDir "$out/doc/${name}"
cp -rv "doc/"* "$out/doc/${name}"
'';
meta = {
homepage = http://foolscap.lothar.com/;
description = "Foolscap, an RPC protocol for Python that follows the distributed object-capability model";
longDescription = ''
"Foolscap" is the name for the next-generation RPC protocol,
intended to replace Perspective Broker (part of Twisted).
Foolscap is a protocol to implement a distributed
object-capabilities model in Python.
'';
# See http://foolscap.lothar.com/trac/browser/LICENSE.
license = "MIT";
};
}

View File

@@ -0,0 +1,80 @@
{ fetchurl, stdenv, python, setuptools, twisted, makeWrapper, lib }:
stdenv.mkDerivation rec {
name = "nevow-0.9.33";
src = fetchurl {
url = "http://divmod.org/trac/attachment/wiki/SoftwareReleases/Nevow-0.9.33.tar.gz?format=raw";
sha256 = "1b6zhfxx247b60n1qi2hrawhiaah88v8igg37pf7rjkmvy2z1c6c";
name = "${name}.tar.gz";
};
buildInputs = [ python makeWrapper ];
propagatedBuildInputs = [ setuptools twisted ];
doCheck = true;
buildPhase = "python setup.py build --build-base $out";
checkPhase = "python runtests";
installPhase = ''
ensureDir "$out/lib/python2.5/site-packages"
PYTHONPATH="$out/lib/python2.5/site-packages:$PYTHONPATH" \
python setup.py install --prefix="$out"
ensureDir "$out/doc/${name}"
cp -rv "doc/"* "$out/doc/${name}"
${postInstall}
'';
/* FIXME: Wrapping programs like this is not enough:
$ ./result/bin/nit --help
Traceback (most recent call last):
File "/nix/store/p5a9qbdjqcfzqmaya8absvm5279l9wd0-nevow-0.9.33/bin/.wrapped-nit", line 4, in <module>
import pkg_resources
[...]
pkg_resources.DistributionNotFound: Nevow==0.9.33-r17222
Ideas welcome. */
postInstall = ''
for i in "$out/bin/"*
do
wrapProgram "$i" \
--prefix PYTHONPATH ":" \
${lib.concatStringsSep ":"
([ "$out/lib/python2.5/site-packages/src" ] ++
(map (path: path + "/lib/python2.5/site-packages")
(propagatedBuildInputs
++ twisted.propagatedBuildInputs)))}
done
'';
meta = {
description = "Nevow, a web application construction kit for Python";
longDescription = ''
Nevow - Pronounced as the French "nouveau", or "noo-voh", Nevow
is a web application construction kit written in Python. It is
designed to allow the programmer to express as much of the view
logic as desired in Python, and includes a pure Python XML
expression syntax named stan to facilitate this. However it
also provides rich support for designer-edited templates, using
a very small XML attribute language to provide bi-directional
template manipulation capability.
Nevow also includes formless, a declarative syntax for
specifying the types of method parameters and exposing these
methods to the web. Forms can be rendered automatically, and
form posts will be validated and input coerced, rendering error
pages if appropriate. Once a form post has validated
successfully, the method will be called with the coerced values.
'';
homepage = http://divmod.org/trac/wiki/DivmodNevow;
license = "BSD-style";
};
}

View File

@@ -0,0 +1,45 @@
{ fetchsvn, stdenv, python, setuptools }:
stdenv.mkDerivation rec {
name = "simplejson-2.0.9";
src = fetchsvn {
url = "http://simplejson.googlecode.com/svn/tags/${name}";
sha256 = "a48d5256fdb4f258c33da3dda110ecf3c786f086dcb08a01309acde6d1ddb921";
rev = "172"; # to be on the safe side
};
buildInputs = [ python ];
propagatedBuildInputs = [ setuptools ];
doCheck = true;
buildPhase = "python setup.py build --build-base $out";
checkPhase = "python setup.py test";
installPhase = ''
ensureDir "$out/lib/python2.5/site-packages"
PYTHONPATH="$out/lib/python2.5/site-packages:$PYTHONPATH" \
python setup.py install --prefix="$out"
# Remove irrelevant directories.
rm -rvf "$out/"lib.* "$out/"temp.*
'';
meta = {
description = "simplejson is a simple, fast, extensible JSON encoder/decoder for Python";
longDescription = ''
simplejson is compatible with Python 2.4 and later with no
external dependencies. It covers the full JSON specification
for both encoding and decoding, with unicode support. By
default, encoding is done in an encoding neutral fashion (plain
ASCII with \uXXXX escapes for unicode characters).
'';
homepage = http://code.google.com/p/simplejson/;
license = "MIT";
};
}

View File

@@ -0,0 +1,22 @@
{stdenv, fetchurl, pkgconfig, gtk, libusb, readline, lua, gtkdialog,
python, ruby, libewf, vte, perl}:
stdenv.mkDerivation {
name = "radare-1.2.2";
src = fetchurl {
url = http://radare.org/get/radare-1.2.2.tar.gz;
sha256 = "0624ic97s1b70ijbr16b33p76mls8rziqwla6bq29l554dh2hfn4";
};
patches = [ ./lua.patch ];
buildInputs = [pkgconfig gtk readline libusb lua gtkdialog python
ruby libewf vte perl];
meta = {
description = "Free advanced command line hexadecimal editor";
homepage = http://radare.org/;
license = "GPLv2+";
};
}

View File

@@ -0,0 +1,12 @@
diff --git a/src/plug/hack/Makefile b/src/plug/hack/Makefile
index b05d8dd..d6c73f9 100644
--- a/src/plug/hack/Makefile
+++ b/src/plug/hack/Makefile
@@ -7,7 +7,6 @@ PERL_LIBS=`perl -MExtUtils::Embed -e ldopts` -lncurses
PY_CFLAGS=-I${PREFIX}/include/python2.5/ -I/usr/include/python2.5/
PY_LIBS=-lpython2.5
LUA_CFLAGS=-I${PREFIX}/include/lua5.1/ -I/usr/include/lua5.1/
-LUA_LIBS=
RUBY_CFLAGS=-I/usr/lib/ruby/1.8/i386-linux
RUBY_LIBS=-lruby18
SO=${SHARED_EXT}

View File

@@ -1,31 +0,0 @@
{fetchurl, stdenv, replace, ncurses}:
stdenv.mkDerivation rec {
name = "cmake-2.6.3-RC-15";
# We look for cmake modules in .../share/cmake-${majorVersion}/Modules.
majorVersion = "2.6";
setupHook = ./setup-hook.sh;
meta = {
homepage = http://www.cmake.org/;
description = "Cross-Platform Makefile Generator";
};
src = fetchurl {
url = "http://www.cmake.org/files/v2.6/${name}.tar.gz";
sha256 = "476b6daca63c39bc46955f99f2566735d51159c43ccc716fa689ba2a2fa7e432";
};
postUnpack = ''
dontUseCmakeConfigure=1
source $setupHook
fixCmakeFiles $sourceRoot
echo 'SET (CMAKE_SYSTEM_PREFIX_PATH "'${ncurses}'" CACHE FILEPATH "Root for libs for cmake" FORCE)' > $sourceRoot/cmakeInit.txt
'';
configureFlags= [ " --init=cmakeInit.txt " ];
postInstall = "fixCmakeFiles $out/share";
}

View File

@@ -1,31 +1,31 @@
{fetchurl, stdenv, replace, ncurses}:
stdenv.mkDerivation rec {
name = "cmake-2.6.2";
name = "cmake-2.6.3";
# We look for cmake modules in .../share/cmake-${majorVersion}/Modules.
majorVersion = "2.6";
majorVersion = "2.6";
setupHook = ./setup-hook.sh;
meta = {
homepage = http://www.cmake.org/;
description = "Cross-Platform Makefile Generator";
};
src = fetchurl {
url = "http://www.cmake.org/files/v2.6/${name}.tar.gz";
sha256 = "b3f5a9dfa97fb82cb1b7d78a62d949f93c8d4317af36674f337d27066fa6b7e9";
url = "http://www.cmake.org/files/v${majorVersion}/${name}.tar.gz";
sha256 = "3c3af80526a32bc2afed616e8f486b847144f2fa3a8e441908bd39c38b146450";
};
postUnpack = ''
dontUseCmakeConfigure=1
source $setupHook
fixCmakeFiles $sourceRoot
echo 'SET (CMAKE_SYSTEM_PREFIX_PATH "'${ncurses}'" CACHE FILEPATH "Root for libs for cmake" FORCE)' > $sourceRoot/cmakeInit.txt
'';
configureFlags= [ " --init=cmakeInit.txt " ];
postInstall = "fixCmakeFiles $out/share";
}

View File

@@ -11,13 +11,13 @@ fixCmakeFiles()
echo "fixing cmake files"
replaceArgs="-e -f -L -T /usr /FOO"
replaceArgs="$replaceArgs -a NO_DEFAULT_PATH \"\" -a NO_SYSTEM_PATH \"\""
find $1 -type f -name "*.cmake" | xargs replace-literal ${replaceArgs}
find $1 -type f -name "*.cmake" -print0 | xargs -0 replace-literal ${replaceArgs}
}
cmakeConfigurePhase()
{
eval "$preConfigure"
if test -z "$dontFixCmake"; then
fixCmakeFiles .
fi
@@ -33,9 +33,9 @@ cmakeConfigurePhase()
fi
echo "cmake flags: $cmakeFlags ${cmakeFlagsArray[@]}"
cmake ${cmakeDir:-.} $cmakeFlags ${cmakeFlagsArray[@]}
eval "$postConfigure"
}

View File

@@ -0,0 +1,13 @@
{cabal, ghcPaths, libedit}:
cabal.mkDerivation (self : {
pname = "haddock";
version = "2.4.2"; # Haskell Platform 2009.0.0
name = self.fname;
sha256 = "dbf0a7d0103a3ce6a91b2a3b96148c1b9c13ea7f8bd74260c21fe98df7839547";
# TODO: adding libedit here is a hack
propagatedBuildInputs = [ghcPaths libedit];
meta = {
description = "a tool for automatically generating documentation from annotated Haskell source code";
};
})

View File

@@ -0,0 +1,12 @@
{cabal, haskellSrcExts, mtl, uniplate, hscolour}:
cabal.mkDerivation (self : {
pname = "hlint";
version = "1.4";
name = self.fname;
sha256 = "deddcd8b2a2e1dce2510395dae1d6c78dc9264766e362ff378fe0f008db42e4e";
extraBuildInputs = [haskellSrcExts mtl uniplate hscolour];
meta = {
description = "Source code suggestions";
};
})

View File

@@ -2,9 +2,9 @@
cabal.mkDerivation (self : {
pname = "uuagc";
version = "0.9.7";
version = "0.9.10";
name = self.fname;
sha256 = "7479ddbc8dc4b04cae278a942a50d7d76f06011aca06c56bcd26bdeba6eeb2d6";
sha256 = "cdbe78b6138a67bbc612f0f667f70ba483ebbdaa4d0c87c5508cfb5e68a49dcb";
extraBuildInputs = [uulib];
meta = {
description = "Attribute Grammar System of Universiteit Utrecht";

View File

@@ -0,0 +1,10 @@
{cabal} :
cabal.mkDerivation (self : {
pname = "cpphs";
version = "1.6";
sha256 = "2e7c430fde17adbb3905e6d2a3c3845a40349c61a53fcfa40c733e8b43e73295";
meta = {
description = "A liberalised re-implementation of cpp, the C pre-processor";
};
})

View File

@@ -0,0 +1,18 @@
{stdenv, fetchurl, gtk, pkgconfig}:
stdenv.mkDerivation {
name = "gtkdialog-0.7.9";
src = fetchurl {
url = ftp://linux.pte.hu/pub/gtkdialog/gtkdialog-0.7.9.tar.gz;
sha256 = "142k8fnh1b8jclm7my2rhk7n8j1b0xh76b2gg712r738r94qwka2";
};
buildInputs = [ gtk pkgconfig ];
meta = {
homepage = http://linux.pte.hu/~pipas/gtkdialog/;
description = "Small utility for fast and easy GUI building from many scripted and compiled languages";
license = "GPLv2+";
};
}

View File

@@ -1,4 +1,4 @@
{stdenv, fetchurl, perl, gettext, perlLocaleGettext}:
{stdenv, fetchurl, perl, gettext, LocaleGettext}:
stdenv.mkDerivation {
name = "help2man-1.35.1";
@@ -11,11 +11,11 @@ stdenv.mkDerivation {
buildInputs = [
perl
gettext
perlLocaleGettext
LocaleGettext
];
# So that configure can find `preloadable_libintl.so'.
LD_LIBRARY_PATH = gettext + "/lib";
LD_LIBRARY_PATH = "${gettext}/lib";
inherit gettext;
}

View File

@@ -1,4 +1,4 @@
{stdenv, fetchurl, perl, perlXMLSimple}:
{stdenv, fetchurl, perl, XMLSimple}:
stdenv.mkDerivation {
name = "icon-naming-utils-0.8.7";
@@ -7,13 +7,13 @@ stdenv.mkDerivation {
url = http://tango.freedesktop.org/releases/icon-naming-utils-0.8.7.tar.gz;
sha256 = "1lj0lffdg7fjfinhrn0vsq1kj010dxlxlix4jfc969j6l3k9rd0w";
};
buildInputs = [perl perlXMLSimple];
buildInputs = [perl XMLSimple];
postInstall = "
# Add XML::Simple to the runtime search path.
substituteInPlace $out/libexec/icon-name-mapping \\
--replace '/bin/perl' '/bin/perl -I${perlXMLSimple}/lib/perl5/site_perl';
--replace '/bin/perl' '/bin/perl -I${XMLSimple}/lib/perl5/site_perl';
ensureDir $out/lib
ln -s $out/share/pkgconfig $out/lib/pkgconfig # WTF?
";

View File

@@ -2,9 +2,9 @@
cabal.mkDerivation (self : {
pname = "alex";
version = "2.2";
version = "2.3.1"; # Haskell Platform 2009.0.0
name = self.fname;
sha256 = "e958d4fc6cfdb1d351dc39a45ea882f23b1b1773a736d43814a52d4939a41ffe";
sha256 = "cdd42fd992a72fedeff1f38debc21aa315d90dc070f0945d7819c0bccd549a44";
extraBuildInputs = [perl];
meta = {
description = "A lexical analyser generator for Haskell";

View File

@@ -1,10 +0,0 @@
{stdenv, fetchurl, perl, ghc}:
stdenv.mkDerivation {
name = "happy-1.14";
src = fetchurl {
url = http://www.haskell.org/happy/dist/1.14/happy-1.14-src.tar.gz;
md5 = "501b5b63533b2e2838de18085e8c4492";
};
buildInputs = [ghc perl];
}

View File

@@ -0,0 +1,13 @@
{cabal, mtl, perl}:
cabal.mkDerivation (self : {
pname = "happy";
version = "1.18.2"; # Haskell Platform 2009.0.0
name = self.fname;
sha256 = "7515922f3cfd32cd844a0abfefe0b4871f403f0d869b8644bf9cbfc0b67996ae";
extraBuildInputs = [perl];
propagatedBuildInputs = [mtl];
meta = {
description = "Happy is a parser generator for Haskell";
};
})