* Another sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=15269
This commit is contained in:
@@ -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)
|
||||
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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)
|
||||
@@ -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;
|
||||
})
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -1,7 +0,0 @@
|
||||
{stdenv, ghc, libraries}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
inherit (ghc) name meta;
|
||||
inherit ghc libraries;
|
||||
builder = ./builder.sh;
|
||||
}
|
||||
@@ -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" ]
|
||||
'';
|
||||
|
||||
}
|
||||
27
pkgs/development/compilers/ghc/6.10.1.nix
Normal file
27
pkgs/development/compilers/ghc/6.10.1.nix
Normal 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";
|
||||
};
|
||||
}
|
||||
100
pkgs/development/compilers/ghc/6.10.2-binary.nix
Normal file
100
pkgs/development/compilers/ghc/6.10.2-binary.nix
Normal 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" ]
|
||||
'';
|
||||
|
||||
}
|
||||
27
pkgs/development/compilers/ghc/6.10.2.nix
Normal file
27
pkgs/development/compilers/ghc/6.10.2.nix
Normal 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";
|
||||
};
|
||||
}
|
||||
@@ -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 "";
|
||||
|
||||
}
|
||||
@@ -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";
|
||||
@@ -14,8 +14,6 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
buildInputs = [ghc readline perl58 m4 gmp];
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
meta = {
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
};
|
||||
@@ -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;
|
||||
})
|
||||
@@ -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;
|
||||
})
|
||||
}
|
||||
@@ -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
|
||||
17
pkgs/development/compilers/ghc/setup-hook.sh
Normal file
17
pkgs/development/compilers/ghc/setup-hook.sh
Normal 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)
|
||||
15
pkgs/development/compilers/ghc/wrapper.nix
Normal file
15
pkgs/development/compilers/ghc/wrapper.nix
Normal 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;
|
||||
}
|
||||
@@ -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";
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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}";
|
||||
|
||||
@@ -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];
|
||||
|
||||
|
||||
15
pkgs/development/libraries/boost/classr.patch
Normal file
15
pkgs/development/libraries/boost/classr.patch
Normal 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;
|
||||
@@ -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 ];
|
||||
}
|
||||
15
pkgs/development/libraries/haskell/Agda/default.nix
Normal file
15
pkgs/development/libraries/haskell/Agda/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
12
pkgs/development/libraries/haskell/GLUT/default.nix
Normal file
12
pkgs/development/libraries/haskell/GLUT/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
11
pkgs/development/libraries/haskell/HUnit/default.nix
Normal file
11
pkgs/development/libraries/haskell/HUnit/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
12
pkgs/development/libraries/haskell/OpenAL/default.nix
Normal file
12
pkgs/development/libraries/haskell/OpenAL/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
12
pkgs/development/libraries/haskell/OpenGL/default.nix
Normal file
12
pkgs/development/libraries/haskell/OpenGL/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
13
pkgs/development/libraries/haskell/QuickCheck/2.1.0.1.nix
Normal file
13
pkgs/development/libraries/haskell/QuickCheck/2.1.0.1.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
11
pkgs/development/libraries/haskell/QuickCheck/default.nix
Normal file
11
pkgs/development/libraries/haskell/QuickCheck/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
|
||||
@@ -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"
|
||||
'';
|
||||
};
|
||||
|
||||
12
pkgs/development/libraries/haskell/cgi/default.nix
Normal file
12
pkgs/development/libraries/haskell/cgi/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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)";
|
||||
};
|
||||
})
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "extensible-exceptions";
|
||||
version = "0.1.1.0";
|
||||
sha256 = "c252dc5a505332700f041d4e1fd3d309cde6158892f9c35339bf5e67bad7f781";
|
||||
meta = {
|
||||
description = "Extensible exceptions";
|
||||
};
|
||||
})
|
||||
|
||||
12
pkgs/development/libraries/haskell/fgl/default.nix
Normal file
12
pkgs/development/libraries/haskell/fgl/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
11
pkgs/development/libraries/haskell/ghc-paths/default.nix
Normal file
11
pkgs/development/libraries/haskell/ghc-paths/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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; };
|
||||
}
|
||||
|
||||
12
pkgs/development/libraries/haskell/haskeline/default.nix
Normal file
12
pkgs/development/libraries/haskell/haskeline/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
12
pkgs/development/libraries/haskell/haskell-src/default.nix
Normal file
12
pkgs/development/libraries/haskell/haskell-src/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
11
pkgs/development/libraries/haskell/hscolour/default.nix
Normal file
11
pkgs/development/libraries/haskell/hscolour/default.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "hscolour";
|
||||
version = "1.10.1";
|
||||
sha256 = "293f24b8373be1d70d9e5a4b8d3c527166ad645b4ac983c1a6fc5999c44a2d36";
|
||||
meta = {
|
||||
description = "Colourise Haskell code";
|
||||
};
|
||||
})
|
||||
|
||||
11
pkgs/development/libraries/haskell/html/default.nix
Normal file
11
pkgs/development/libraries/haskell/html/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
11
pkgs/development/libraries/haskell/mtl/default.nix
Normal file
11
pkgs/development/libraries/haskell/mtl/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
11
pkgs/development/libraries/haskell/multirec/default.nix
Normal file
11
pkgs/development/libraries/haskell/multirec/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
12
pkgs/development/libraries/haskell/network/default.nix
Normal file
12
pkgs/development/libraries/haskell/network/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
11
pkgs/development/libraries/haskell/parallel/default.nix
Normal file
11
pkgs/development/libraries/haskell/parallel/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
11
pkgs/development/libraries/haskell/parsec/default.nix
Normal file
11
pkgs/development/libraries/haskell/parsec/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
12
pkgs/development/libraries/haskell/readline/default.nix
Normal file
12
pkgs/development/libraries/haskell/readline/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
12
pkgs/development/libraries/haskell/regex-base/default.nix
Normal file
12
pkgs/development/libraries/haskell/regex-base/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
12
pkgs/development/libraries/haskell/regex-compat/default.nix
Normal file
12
pkgs/development/libraries/haskell/regex-compat/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
12
pkgs/development/libraries/haskell/regex-posix/default.nix
Normal file
12
pkgs/development/libraries/haskell/regex-posix/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
11
pkgs/development/libraries/haskell/stm/default.nix
Normal file
11
pkgs/development/libraries/haskell/stm/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
11
pkgs/development/libraries/haskell/time/default.nix
Normal file
11
pkgs/development/libraries/haskell/time/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
12
pkgs/development/libraries/haskell/uniplate/default.nix
Normal file
12
pkgs/development/libraries/haskell/uniplate/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
10
pkgs/development/libraries/haskell/utf8-string/default.nix
Normal file
10
pkgs/development/libraries/haskell/utf8-string/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
12
pkgs/development/libraries/haskell/vacuum/default.nix
Normal file
12
pkgs/development/libraries/haskell/vacuum/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
12
pkgs/development/libraries/haskell/vacuumCairo/default.nix
Normal file
12
pkgs/development/libraries/haskell/vacuumCairo/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
11
pkgs/development/libraries/haskell/xhtml/default.nix
Normal file
11
pkgs/development/libraries/haskell/xhtml/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
|
||||
17
pkgs/development/libraries/libedit/default.nix
Normal file
17
pkgs/development/libraries/libedit/default.nix
Normal 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)";
|
||||
};
|
||||
}
|
||||
17
pkgs/development/libraries/libewf/default.nix
Normal file
17
pkgs/development/libraries/libewf/default.nix
Normal 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";
|
||||
};
|
||||
}
|
||||
26
pkgs/development/libraries/libpseudo/default.nix
Normal file
26
pkgs/development/libraries/libpseudo/default.nix
Normal 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+";
|
||||
};
|
||||
}
|
||||
26
pkgs/development/libraries/libviper/default.nix
Normal file
26
pkgs/development/libraries/libviper/default.nix
Normal 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+";
|
||||
};
|
||||
}
|
||||
@@ -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 {}))
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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}";
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
53
pkgs/development/python-modules/foolscap/default.nix
Normal file
53
pkgs/development/python-modules/foolscap/default.nix
Normal 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";
|
||||
};
|
||||
}
|
||||
80
pkgs/development/python-modules/nevow/default.nix
Normal file
80
pkgs/development/python-modules/nevow/default.nix
Normal 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";
|
||||
};
|
||||
}
|
||||
45
pkgs/development/python-modules/simplejson/default.nix
Normal file
45
pkgs/development/python-modules/simplejson/default.nix
Normal 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";
|
||||
};
|
||||
}
|
||||
22
pkgs/development/tools/analysis/radare/default.nix
Normal file
22
pkgs/development/tools/analysis/radare/default.nix
Normal 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+";
|
||||
};
|
||||
}
|
||||
12
pkgs/development/tools/analysis/radare/lua.patch
Normal file
12
pkgs/development/tools/analysis/radare/lua.patch
Normal 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}
|
||||
@@ -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";
|
||||
}
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
12
pkgs/development/tools/haskell/hlint/default.nix
Normal file
12
pkgs/development/tools/haskell/hlint/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
@@ -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";
|
||||
|
||||
10
pkgs/development/tools/misc/cpphs/default.nix
Normal file
10
pkgs/development/tools/misc/cpphs/default.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
18
pkgs/development/tools/misc/gtkdialog/default.nix
Normal file
18
pkgs/development/tools/misc/gtkdialog/default.nix
Normal 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+";
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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?
|
||||
";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
13
pkgs/development/tools/parsing/happy/happy-1.18.2.nix
Normal file
13
pkgs/development/tools/parsing/happy/happy-1.18.2.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
Reference in New Issue
Block a user