Support for profiling (all libraries) enabled by custom config
moved flapjax to ghcExecutables added haskelldb mysql added ghc darcs build (left in comments) svn path=/nixpkgs/trunk/; revision=11742
This commit is contained in:
parent
0875919fa1
commit
e17c96c881
pkgs
development/compilers/ghcs
lib
misc
@ -1,4 +1,5 @@
|
|||||||
{ ghcPkgUtil, gnum4, perl, ghcboot, stdenv, fetchurl, recurseIntoAttrs, gmp, readline, lib, hasktags, ctags } :
|
{ ghcPkgUtil, gnum4, perl, ghcboot, stdenv, fetchurl, recurseIntoAttrs, gmp, readline, lib, hasktags, ctags
|
||||||
|
, sourceByName, autoconf, happy, alex ,automake, getConfig} :
|
||||||
rec {
|
rec {
|
||||||
|
|
||||||
/* What's in here?
|
/* What's in here?
|
||||||
@ -33,11 +34,11 @@ rec {
|
|||||||
|
|
||||||
#this only works for ghc-6.8 right now
|
#this only works for ghc-6.8 right now
|
||||||
ghcAndLibraries = { version, src /* , core_libraries, extra_libraries */
|
ghcAndLibraries = { version, src /* , core_libraries, extra_libraries */
|
||||||
, extra_src }:
|
, extra_src, pass ? {} }:
|
||||||
recurseIntoAttrs ( rec {
|
recurseIntoAttrs ( rec {
|
||||||
inherit src extra_src version;
|
inherit src extra_src version;
|
||||||
|
|
||||||
ghc = stdenv.mkDerivation {
|
ghc = stdenv.mkDerivation ( lib.mergeAttrsNoOverride {} pass {
|
||||||
name = "ghc-"+version;
|
name = "ghc-"+version;
|
||||||
inherit src ghcboot gmp version;
|
inherit src ghcboot gmp version;
|
||||||
|
|
||||||
@ -61,6 +62,7 @@ rec {
|
|||||||
|
|
||||||
# now read the main package.conf and create a single package db file for each of them
|
# now read the main package.conf and create a single package db file for each of them
|
||||||
# Also create setup hook.
|
# Also create setup hook.
|
||||||
|
makeFlags = getConfig ["ghc" "makeFlags" ] "";
|
||||||
|
|
||||||
# note : I don't know yet wether it's a good idea to have RUNGHC.. It's faster
|
# note : I don't know yet wether it's a good idea to have RUNGHC.. It's faster
|
||||||
# but you can't pass packages, can you?
|
# but you can't pass packages, can you?
|
||||||
@ -81,7 +83,7 @@ rec {
|
|||||||
echo \"RUNHGHC=\$RUNHGHC\" >> \$sh
|
echo \"RUNHGHC=\$RUNHGHC\" >> \$sh
|
||||||
|
|
||||||
";
|
";
|
||||||
};
|
});
|
||||||
|
|
||||||
core_libs = rec {
|
core_libs = rec {
|
||||||
# name (using lowercase letters everywhere because using installing packages having different capitalization is discouraged) - this way there is not that much to remember?
|
# name (using lowercase letters everywhere because using installing packages having different capitalization is discouraged) - this way there is not that much to remember?
|
||||||
@ -186,6 +188,8 @@ rec {
|
|||||||
#sha256 = "1b1gvi7hc7sc0fkh29qvzzd5lgnlvdv3ayiak4mkfnzkahvmq85s";
|
#sha256 = "1b1gvi7hc7sc0fkh29qvzzd5lgnlvdv3ayiak4mkfnzkahvmq85s";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pass = { patches = ./patch; };
|
||||||
|
|
||||||
extra_src = fetchurl {
|
extra_src = fetchurl {
|
||||||
url = "http://www.haskell.org/ghc/dist/stable/dist/ghc-${version}-src-extralibs.tar.bz2";
|
url = "http://www.haskell.org/ghc/dist/stable/dist/ghc-${version}-src-extralibs.tar.bz2";
|
||||||
sha256 = "044mpbzpkbxcnqhjnrnmjs00mr85057d123rrlz2vch795lxbkcn";
|
sha256 = "044mpbzpkbxcnqhjnrnmjs00mr85057d123rrlz2vch795lxbkcn";
|
||||||
@ -193,4 +197,65 @@ rec {
|
|||||||
#sha256 = "0py7d9nh3lkhjxr3yb3n9345d0hmzq79bi40al5rcr3sb84rnp9r";
|
#sha256 = "0py7d9nh3lkhjxr3yb3n9345d0hmzq79bi40al5rcr3sb84rnp9r";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# this works. commented out because I haven't uploaded all the bleeding edge source dist files.
|
||||||
|
#[> darcs version of ghc which is updated occasionally by Marc Weber
|
||||||
|
#ghc68darcs = ghcAndLibraries rec {
|
||||||
|
# version = "6.9";
|
||||||
|
|
||||||
|
# pass = { buildInputs = [ happy alex];
|
||||||
|
# patches = ./patch;
|
||||||
|
# patchPhase = "
|
||||||
|
# unset patchPhase; patchPhase
|
||||||
|
# pwd
|
||||||
|
# sed 's/GhcWithJavaGen=NO/GhcWithJavaGen=YES/g' -i mk/config.mk.in
|
||||||
|
# ";
|
||||||
|
# };
|
||||||
|
# [> each library is usually added using darcs-all get
|
||||||
|
# [> so I assemble and prepare the sources here
|
||||||
|
# src = stdenv.mkDerivation {
|
||||||
|
# name = "ghc-darcs-src-dist";
|
||||||
|
# buildInputs = [autoconf automake];
|
||||||
|
# core_libs = map (x : sourceByName "ghc_core_${x}") ["array" "base" "bytestring" "Cabal" "containers" "directory" "editline" "filepath" "ghc_prim" "haskell98" "hpc" "integer_gmp" "old_locale" "old_time" "packedstring" "pretty" "process" "random" "template_haskell" "unix" "Win32" ];
|
||||||
|
# ghc = sourceByName "ghc";
|
||||||
|
# phases = "buildPhase";
|
||||||
|
# buildPhase = "
|
||||||
|
# echo unpacking ghc
|
||||||
|
# tar xfz \$ghc &> /dev/null
|
||||||
|
# cd nix_repsoitory_manager_tmp_dir/libraries
|
||||||
|
# for i in \$core_libs; do
|
||||||
|
# echo 'unpacking core_lib :' \$i
|
||||||
|
# tar xfz \$i &> /dev/null
|
||||||
|
# n=`basename \$i`
|
||||||
|
# n=\${n/ghc_core_/}
|
||||||
|
# if [ -f nix_repsoitory_manager_tmp_dir/*.ac ]; then
|
||||||
|
# cd nix_repsoitory_manager_tmp_dir
|
||||||
|
# echo =======================================================
|
||||||
|
# echo \$n
|
||||||
|
# autoreconf
|
||||||
|
# cd ..
|
||||||
|
# fi
|
||||||
|
# mv nix_repsoitory_manager_tmp_dir \${n/.tar.gz/}
|
||||||
|
# done
|
||||||
|
# mv ghc_prim ghc-prim
|
||||||
|
# for i in integer-gmp old-locale old-time template-haskell; do
|
||||||
|
# mv \${i/-/_} $i
|
||||||
|
# done
|
||||||
|
# mkdir \$out
|
||||||
|
# cd ..
|
||||||
|
# autoreconf
|
||||||
|
# sh boot
|
||||||
|
# cd ..
|
||||||
|
# mv nix*/* \$out/
|
||||||
|
# ";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# [> TODO this is copied.. use dev versions as well here
|
||||||
|
# extra_src = fetchurl {
|
||||||
|
# url = "http://www.haskell.org/ghc/dist/stable/dist/ghc-${version}-src-extralibs.tar.bz2";
|
||||||
|
# sha256 = "044mpbzpkbxcnqhjnrnmjs00mr85057d123rrlz2vch795lxbkcn";
|
||||||
|
# [>url = http://www.haskell.org/ghc/dist/stable/dist/ghc-6.8.20070912-src-extralibs.tar.bz2;
|
||||||
|
# [>sha256 = "0py7d9nh3lkhjxr3yb3n9345d0hmzq79bi40al5rcr3sb84rnp9r";
|
||||||
|
# };
|
||||||
|
#};
|
||||||
}
|
}
|
||||||
|
55
pkgs/development/compilers/ghcs/patch
Normal file
55
pkgs/development/compilers/ghcs/patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
diff -rN -U3 old-ghc_package_db/compiler/package.conf.in new-ghc_package_db/compiler/package.conf.in
|
||||||
|
--- old-ghc_package_db/compiler/package.conf.in 2008-04-24 02:03:28.000000000 +0200
|
||||||
|
+++ new-ghc_package_db/compiler/package.conf.in 2008-04-24 02:03:28.000000000 +0200
|
||||||
|
@@ -10,7 +10,6 @@
|
||||||
|
BasicTypes
|
||||||
|
BinIface
|
||||||
|
Binary
|
||||||
|
- BitSet
|
||||||
|
Bitmap
|
||||||
|
BuildTyCl
|
||||||
|
ByteCodeAsm
|
||||||
|
@@ -91,7 +90,6 @@
|
||||||
|
Encoding
|
||||||
|
FastString
|
||||||
|
FastTypes
|
||||||
|
- FieldLabel
|
||||||
|
Finder
|
||||||
|
FiniteMap
|
||||||
|
FloatIn
|
||||||
|
@@ -121,7 +119,6 @@
|
||||||
|
IfaceEnv
|
||||||
|
IfaceSyn
|
||||||
|
IfaceType
|
||||||
|
- IlxGen
|
||||||
|
Inst
|
||||||
|
InstEnv
|
||||||
|
Java
|
||||||
|
@@ -179,7 +176,6 @@
|
||||||
|
RdrHsSyn
|
||||||
|
RdrName
|
||||||
|
RegAllocInfo
|
||||||
|
- RegisterAlloc
|
||||||
|
RnBinds
|
||||||
|
RnEnv
|
||||||
|
RnExpr
|
||||||
|
diff -rN -U3 old-ghc_package_db/mk/package.mk new-ghc_package_db/mk/package.mk
|
||||||
|
--- old-ghc_package_db/mk/package.mk 2008-04-24 02:03:26.000000000 +0200
|
||||||
|
+++ new-ghc_package_db/mk/package.mk 2008-04-24 02:03:28.000000000 +0200
|
||||||
|
@@ -61,6 +61,7 @@
|
||||||
|
|
||||||
|
package.conf.inplace : package.conf.in
|
||||||
|
$(CPP) $(RAWCPP_FLAGS) -P \
|
||||||
|
+ $(if $(subst NO,,$(GhcWithJavaGen)),, -DJava= -D JavaGen= -DPrintJava= ) \
|
||||||
|
-DIMPORT_DIR='"$(IMPORT_DIR_INPLACE)"' \
|
||||||
|
-DLIB_DIR='"$(LIB_DIR_INPLACE)"' \
|
||||||
|
-DINCLUDE_DIR='"$(INCLUDE_DIR_INPLACE)"' \
|
||||||
|
@@ -74,6 +75,7 @@
|
||||||
|
|
||||||
|
install::
|
||||||
|
$(CPP) $(RAWCPP_FLAGS) -P -DINSTALLING \
|
||||||
|
+ $(if $(subst NO,,$(GhcWithJavaGen)),, -DJava= -D JavaGen= -DPrintJava= ) \
|
||||||
|
-DIMPORT_DIR='"$(IMPORT_DIR_INSTALLED)"' \
|
||||||
|
-DLIB_DIR='"$(LIB_DIR_INSTALLED)"' \
|
||||||
|
-DINCLUDE_DIR='"$(INCLUDE_DIR_INSTALLED)"' \
|
||||||
|
|
@ -396,6 +396,25 @@ rec {
|
|||||||
# eg { a = 7; } { a = [ 2 3 ]; } becomes { a = [ 7 2 3 ]; }
|
# eg { a = 7; } { a = [ 2 3 ]; } becomes { a = [ 7 2 3 ]; }
|
||||||
mergeAttrsConcatenateValues = mergeAttrsWithFunc ( a : b : (toList a) ++ (toList b) );
|
mergeAttrsConcatenateValues = mergeAttrsWithFunc ( a : b : (toList a) ++ (toList b) );
|
||||||
|
|
||||||
|
# merges attributes using //, if a name exisits in both attributes
|
||||||
|
# an error will be triggered unless its listed in mergeLists
|
||||||
|
# so you can mergeAttrsNoOverride { buildInputs = [a]; } { buildInputs = [a]; } {} to get
|
||||||
|
# { buildInputs = [a b]; }
|
||||||
|
# merging buildPhase does'nt really make sense. The cases will be rare where appending /prefixing will fit your needs?
|
||||||
|
# in these cases the first buildPhase will override the second one
|
||||||
|
mergeAttrsNoOverride = { mergeLists ? ["buildInputs" "propagatedBuildInputs"],
|
||||||
|
overrideSnd ? [ "buildPhase" ]
|
||||||
|
} : attrs1 : attrs2 :
|
||||||
|
fold (n: set :
|
||||||
|
setAttr set n ( if (__hasAttr n set)
|
||||||
|
then # merge
|
||||||
|
if elem n mergeLists # attribute contains list, merge them by concatenating
|
||||||
|
then (__getAttr n attrs2) ++ (__getAttr n attrs1)
|
||||||
|
else if elem n overrideSnd
|
||||||
|
then __getAttr n attrs1
|
||||||
|
else throw "error mergeAttrsNoOverride, attribute ${n} given in both attributes - no merge func defined"
|
||||||
|
else __getAttr n attrs2 # add attribute not existing in attr1
|
||||||
|
)) attrs1 (__attrNames attrs2);
|
||||||
# returns atribute values as a list
|
# returns atribute values as a list
|
||||||
flattenAttrs = set : map ( attr : builtins.getAttr attr set) (attrNames set);
|
flattenAttrs = set : map ( attr : builtins.getAttr attr set) (attrNames set);
|
||||||
mapIf = cond : f : fold ( x : l : if (cond x) then [(f x)] ++ l else l) [];
|
mapIf = cond : f : fold ( x : l : if (cond x) then [(f x)] ++ l else l) [];
|
||||||
|
3
pkgs/misc/bleeding-edge-fetch-info/haskellnet.nix
Normal file
3
pkgs/misc/bleeding-edge-fetch-info/haskellnet.nix
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
args: with args; fetchurl {
|
||||||
|
url = http://mawercer.de/~nix/repos/haskellnet.tar.gz;
|
||||||
|
sha256 = "fde6f79b09d6cfbc6021aed9fa54ed186715a6eaacd4634f07554d4d3777f70d";}
|
@ -29,10 +29,27 @@ rec {
|
|||||||
quickcheck = { name="QuickCheck-1.1.0.0"; srcDir="libraries/QuickCheck"; p_deps=[x.base x.random]; src = ghc.extra_src; };
|
quickcheck = { name="QuickCheck-1.1.0.0"; srcDir="libraries/QuickCheck"; p_deps=[x.base x.random]; src = ghc.extra_src; };
|
||||||
tagsoup = { name = "tagsoup-0.4"; src = fetchurl { url = http://hackage.haskell.org/packages/archive/tagsoup/0.4/tagsoup-0.4.tar.gz; sha256 = "0rdy303qaw63la1fhw1z8h6k8cs33f71955pwlzxyx0n45g58hc7";}; p_deps = [ x.base x.mtl x.network ]; };
|
tagsoup = { name = "tagsoup-0.4"; src = fetchurl { url = http://hackage.haskell.org/packages/archive/tagsoup/0.4/tagsoup-0.4.tar.gz; sha256 = "0rdy303qaw63la1fhw1z8h6k8cs33f71955pwlzxyx0n45g58hc7";}; p_deps = [ x.base x.mtl x.network ]; };
|
||||||
hxt = { name = "hxt-7.5"; src =fetchurl { url = http://hackage.haskell.org/packages/archive/hxt/7.5/hxt-7.5.tar.gz; sha256 ="00q6m90a4qm4d5cg1x9r6b7f0rszcf2y7ifzs9mvy9kmzfl5ga7n"; }; p_deps = [x.base x.haskell98 x.http_darcs x.hunit x.network x.parsec x.tagsoup ]; };
|
hxt = { name = "hxt-7.5"; src =fetchurl { url = http://hackage.haskell.org/packages/archive/hxt/7.5/hxt-7.5.tar.gz; sha256 ="00q6m90a4qm4d5cg1x9r6b7f0rszcf2y7ifzs9mvy9kmzfl5ga7n"; }; p_deps = [x.base x.haskell98 x.http_darcs x.hunit x.network x.parsec x.tagsoup ]; };
|
||||||
|
haskellnet = { name = "HaskellNet-0.2"; src = sourceByName "haskellnet"; p_deps = [ x.base x.haskell98 x.network x.crypto x.mtl x.parsec x.time x.haxml x.bytestring x.pretty x.array x.dataenc x.containers x.old_locale x.old_time ];
|
||||||
|
pass = {
|
||||||
|
patchPhase = "
|
||||||
|
patch -p1 < \$patch
|
||||||
|
sed -i 's/mtl/mtl, bytestring, pretty, array, dataenc, containers, old-locale, old-time/' *.cabal
|
||||||
|
";
|
||||||
|
patch= ./haskellnetPatch ;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dataenc = { name = "dataenc-0.10.2"; src = fetchurl { url = http://hackage.haskell.org/packages/archive/dataenc/0.10.2/dataenc-0.10.2.tar.gz; sha256="1kl087994ajbwy65f24qjnz6wchlhmk5vkdw1506zzfbi5fr6x7r"; }; p_deps = [ x.base ]; };
|
||||||
# other pacakges (hackage etc)
|
# other pacakges (hackage etc)
|
||||||
polyparse = { name = "polyparse-2.3"; src = fetchurl { url = http://hackage.haskell.org/packages/archive/polyparse/1.1/polyparse-1.1.tar.gz; sha256 = "0mrrk3hhfrn68xn5y4jfg4ba0pa08bj05l007862vrxyyb4bksl7"; }; p_deps = [ x.base x.haskell98 ]; };
|
polyparse = { name = "polyparse-2.3"; src = fetchurl { url = http://hackage.haskell.org/packages/archive/polyparse/1.1/polyparse-1.1.tar.gz; sha256 = "0mrrk3hhfrn68xn5y4jfg4ba0pa08bj05l007862vrxyyb4bksl7"; }; p_deps = [ x.base x.haskell98 ]; };
|
||||||
|
hsHaruPDF = { name = "HsHaruPDF-0.0.0"; src = fetchurl{url= "http://hackage.haskell.org/packages/archive/HsHaruPDF/0.0.0/HsHaruPDF-0.0.0.tar.gz"; sha256="1yifhxk1m3z2i7gaxgwlmk6cv2spbpx8fny4sn59ybca8wd9z7ps";}; p_deps = [ x.base x.haskell98 ];
|
||||||
|
pass = { buildInputs = [ mysql zlib libpng ];
|
||||||
|
patchPhase = "
|
||||||
|
sed 's/include-dirs:.*/include-dirs: haru/' -i HsHaruPDF.cabal
|
||||||
|
sed 's=extra-lib-dirs:.*=extra-lib-dirs: ${libpng}/lib ${zlib}/lib=' -i HsHaruPDF.cabal
|
||||||
|
";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# hint = { name="hint-0.1"; src = fetchurl { url = "http://hackage.haskell.org/packages/archive/hint/0.1/hint-0.1.tar.gz"; sha256 = "1adydl2la4lxxl6zz24lm4vbdrsi4bkpppzxhpkkmzsjhhkpf2f9"; }; p_deps = [ x.base x.ghc x.haskellSrc x.mtl ]; };
|
||||||
timeout = { name="timeout-0.1.2"; src = fetchurl{ url = http://hackage.haskell.org/packages/archive/control-timeout/0.1.2/control-timeout-0.1.2.tar.gz; sha256 = "1g1x6c4dafckwcw48v83f3nm2sxv8kynwv8ib236ay913ycgayvg";}; p_deps = [ x.base x.time x.stm ]; };
|
timeout = { name="timeout-0.1.2"; src = fetchurl{ url = http://hackage.haskell.org/packages/archive/control-timeout/0.1.2/control-timeout-0.1.2.tar.gz; sha256 = "1g1x6c4dafckwcw48v83f3nm2sxv8kynwv8ib236ay913ycgayvg";}; p_deps = [ x.base x.time x.stm ]; };
|
||||||
parsec3 = { name="parsec-3.0.0"; p_deps=[ x.base x.mtl x.bytestring ]; src = fetchurl { url = "http://hackage.haskell.org/packages/archive/parsec/3.0.0/parsec-3.0.0.tar.gz"; sha256 = "0fqryy09y8h7z0hlayg5gpavghgwa0g3bldynwl17ks8l87ykj7a"; }; };
|
parsec3 = { name="parsec-3.0.0"; p_deps=[ x.base x.mtl x.bytestring ]; src = fetchurl { url = "http://hackage.haskell.org/packages/archive/parsec/3.0.0/parsec-3.0.0.tar.gz"; sha256 = "0fqryy09y8h7z0hlayg5gpavghgwa0g3bldynwl17ks8l87ykj7a"; }; };
|
||||||
|
|
||||||
@ -63,7 +80,7 @@ rec {
|
|||||||
src = sourceByName "hsql";
|
src = sourceByName "hsql";
|
||||||
pass = { srcDir = "HSQL"; };
|
pass = { srcDir = "HSQL"; };
|
||||||
};
|
};
|
||||||
hsqlMysqlDarcs = { name = "hsql-mysql-darcs"; srcDir = "MySQL"; src = sourceByName "pg_hsql"; p_deps = [ x.base x.hsqlDarcs x.old_time ];
|
hsqlMysqlDarcs = { name = "hsql-mysql-darcs"; srcDir = "MySQL"; src = sourceByName "hsql"; p_deps = [ x.base x.hsqlDarcs x.old_time ];
|
||||||
pass = { buildInputs = [ mysql zlib ];
|
pass = { buildInputs = [ mysql zlib ];
|
||||||
patchPhase = "echo \" extra-lib-dirs: ${zlib}/lib\" >> MySQL/hsql-mysql.cabal";
|
patchPhase = "echo \" extra-lib-dirs: ${zlib}/lib\" >> MySQL/hsql-mysql.cabal";
|
||||||
};
|
};
|
||||||
@ -147,12 +164,13 @@ rec {
|
|||||||
name = "wxhaskel-${wxVersion}"; p_deps = [ x.haskell98 x.mtl x.bytestring x.parsec3 pkgconfig wxGTK ] ++ (with gtkLibs; [ glib pango gtk gnome.glib]);
|
name = "wxhaskel-${wxVersion}"; p_deps = [ x.haskell98 x.mtl x.bytestring x.parsec3 pkgconfig wxGTK ] ++ (with gtkLibs; [ glib pango gtk gnome.glib]);
|
||||||
src = wxSrc;
|
src = wxSrc;
|
||||||
pass = {
|
pass = {
|
||||||
|
profiling = if getConfig [ "ghc68" "profiling" ] false then "--hcprof" else "";
|
||||||
buildInputs = [ unzip ];
|
buildInputs = [ unzip ];
|
||||||
buildPhase = "
|
buildPhase = "
|
||||||
createEmptyPackageDatabaseAndSetupHook
|
createEmptyPackageDatabaseAndSetupHook
|
||||||
export GHC_PACKAGE_PATH
|
export GHC_PACKAGE_PATH
|
||||||
sed -e 's/which/type -p/g' configure
|
sed -e 's/which/type -p/g' configure
|
||||||
./configure --prefix=\$out --package-conf=\$PACKAGE_DB
|
./configure --prefix=\$out --package-conf=\$PACKAGE_DB \$profiling
|
||||||
make
|
make
|
||||||
ensureDir \$out
|
ensureDir \$out
|
||||||
make install
|
make install
|
||||||
@ -187,8 +205,22 @@ rec {
|
|||||||
pass = { buildInputs = (with executables; [ happy alex ] ); };
|
pass = { buildInputs = (with executables; [ happy alex ] ); };
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
# haskelldb
|
||||||
|
haskelldb = { name = "haskelldb-0.10"; src = fetchurl { url = "http://hackage.haskell.org/packages/archive/haskelldb/0.10/haskelldb-0.10.tar.gz"; sha256 = "1i4kgsgajr9cijg0a2c04rn1zqwiasfvdbvs8c5qm49vkbdzm7l5"; }; p_deps = [ x.base x.haskell98 x.mtl x.pretty x.old_time x.directory x.old_locale];
|
||||||
|
pass = { patchPhase = "sed -i 's/mtl/mtl, pretty, old-time, directory, old-locale/' haskelldb.cabal
|
||||||
|
echo 'ghc-options: -O2 -fglasgow-exts -fallow-undecidable-instances' >> haskelldb.cabal"; };
|
||||||
|
};
|
||||||
|
#hsql drivers
|
||||||
|
|
||||||
|
haskelldbHsql = { name= "haskelldb-hsql--0.10"; src = fetchurl { url = http://hackage.haskell.org/packages/archive/haskelldb-hsql/0.10/haskelldb-hsql-0.10.tar.gz; sha256 = "0s3bjm080hzw23zjxr4412m81v408ll9y6gqb2yyw30n886ixzgh"; }; p_deps = [ x.base x.haskell98 x.mtl x.hsqlDarcs x.haskelldb x.old_time x.old_locale ];
|
||||||
|
pass = { patchPhase = "sed -i 's/mtl/mtl, pretty, old-time, directory, old-locale/' haskelldb-hsql.cabal
|
||||||
|
echo 'ghc-options: -O2 -fglasgow-exts -fallow-undecidable-instances' >> haskelldb-hsql.cabal"; };
|
||||||
|
};
|
||||||
|
haskelldbHsqlMysql = { name= "haskelldb-hsql-mysql-0.10"; src = fetchurl { url = http://hackage.haskell.org/packages/archive/haskelldb-hsql-mysql/0.10/haskelldb-hsql-mysql-0.10.tar.gz; sha256 = "0nfgq0xn45rhwxr8jvawviqfhgvhqr56l7ki1d72605y34dfx7rw"; }; p_deps = [ x.base x.haskell98 x.mtl x.hsqlDarcs x.haskelldbHsql x.hsqlMysqlDarcs x.haskelldb ];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
haskelldb-hsql-postgresql-0.10.tar.gz
|
haskelldb-hsql-postgresql-0.10.tar.gz
|
||||||
######################################################################## 100.0%
|
######################################################################## 100.0%
|
||||||
hash is 00nva5hhaknm5via4c1p2wj7ibyn6q874f0c3izjb9dk7rivfvgv
|
hash is 00nva5hhaknm5via4c1p2wj7ibyn6q874f0c3izjb9dk7rivfvgv
|
||||||
|
66
pkgs/misc/ghc68extraLibs/haskellnetPatch
Normal file
66
pkgs/misc/ghc68extraLibs/haskellnetPatch
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
diff -rN -U3 old-pg_haskellnet/HaskellNet/Auth.hs new-pg_haskellnet/HaskellNet/Auth.hs
|
||||||
|
--- old-pg_haskellnet/HaskellNet/Auth.hs 2008-04-22 19:21:58.000000000 +0200
|
||||||
|
+++ new-pg_haskellnet/HaskellNet/Auth.hs 2008-04-22 19:21:58.000000000 +0200
|
||||||
|
@@ -21,6 +21,7 @@
|
||||||
|
import Data.List
|
||||||
|
import Data.Bits
|
||||||
|
import Data.Array
|
||||||
|
+import Data.Maybe
|
||||||
|
|
||||||
|
type UserName = String
|
||||||
|
type Password = String
|
||||||
|
@@ -41,7 +42,7 @@
|
||||||
|
b64Encode = map (toEnum.fromEnum) . B64.encode . map (toEnum.fromEnum)
|
||||||
|
|
||||||
|
b64Decode :: String -> String
|
||||||
|
-b64Decode = map (toEnum.fromEnum) . B64.decode . map (toEnum.fromEnum)
|
||||||
|
+b64Decode = map (toEnum.fromEnum) . fromJust . B64.decode . map (toEnum.fromEnum)
|
||||||
|
|
||||||
|
showOctet :: [Octet] -> String
|
||||||
|
showOctet = concat . map hexChars
|
||||||
|
diff -rN -U3 old-pg_haskellnet/haskellnet.cabal new-pg_haskellnet/haskellnet.cabal
|
||||||
|
--- old-pg_haskellnet/haskellnet.cabal 2008-04-22 19:21:58.000000000 +0200
|
||||||
|
+++ new-pg_haskellnet/haskellnet.cabal 2008-04-22 19:21:58.000000000 +0200
|
||||||
|
@@ -3,7 +3,7 @@
|
||||||
|
Author: Jun Mukai
|
||||||
|
License: BSD3
|
||||||
|
Category: Network
|
||||||
|
-Build-Depends: base, haskell98, network, Crypto, mtl, parsec, time, HaXml
|
||||||
|
+Build-Depends: base, haskell98, network, Crypto, mtl, parsec, time, HaXml, bytestring, pretty, array, dataenc, containers, old-locale, old-time
|
||||||
|
Synopsis: network related libraries such as HTTP, POP3, SMTP
|
||||||
|
Exposed-modules:
|
||||||
|
Text.IMAPParsers,
|
||||||
|
diff -rN -U3 old-pg_haskellnet/Text/Atom.hs new-pg_haskellnet/Text/Atom.hs
|
||||||
|
--- old-pg_haskellnet/Text/Atom.hs 2008-04-22 19:21:58.000000000 +0200
|
||||||
|
+++ new-pg_haskellnet/Text/Atom.hs 2008-04-22 19:21:58.000000000 +0200
|
||||||
|
@@ -38,7 +38,8 @@
|
||||||
|
import Data.Map (findWithDefault, insert, Map)
|
||||||
|
import qualified Data.Map as M
|
||||||
|
import Data.Monoid (Sum(..))
|
||||||
|
-import Data.Time.LocalTime (LocalTime(..), TimeOfDay(..), ZonedTime(..), TimeZone(..), formatTime, minutesToTimeZone, utc)
|
||||||
|
+import Data.Time.Format (formatTime)
|
||||||
|
+import Data.Time.LocalTime (LocalTime(..), TimeOfDay(..), ZonedTime(..), TimeZone(..), minutesToTimeZone, utc)
|
||||||
|
import System.Locale (defaultTimeLocale)
|
||||||
|
import Data.Time.Calendar
|
||||||
|
import Text.XML.HaXml hiding (version)
|
||||||
|
@@ -55,7 +56,7 @@
|
||||||
|
b64Encode :: String -> String
|
||||||
|
b64Encode = map e2e . B64.encode . map e2e
|
||||||
|
b64Decode :: String -> String
|
||||||
|
-b64Decode = map e2e . B64.decode . map e2e
|
||||||
|
+b64Decode = map e2e . fromJust . B64.decode . map e2e
|
||||||
|
|
||||||
|
atomEscaper = mkXmlEscaper [('<', "lt"), ('>', "gt"), ('&', "amp"), ('"', "quot")] (`elem` "<>\"")
|
||||||
|
xEscape :: [Content] -> [Content]
|
||||||
|
diff -rN -U3 old-pg_haskellnet/Text/RSS.hs new-pg_haskellnet/Text/RSS.hs
|
||||||
|
--- old-pg_haskellnet/Text/RSS.hs 2008-04-22 19:21:58.000000000 +0200
|
||||||
|
+++ new-pg_haskellnet/Text/RSS.hs 2008-04-22 19:21:58.000000000 +0200
|
||||||
|
@@ -26,6 +26,7 @@
|
||||||
|
import Data.Record
|
||||||
|
import Data.List (isPrefixOf)
|
||||||
|
import Data.Maybe
|
||||||
|
+import Data.Time.Format (formatTime)
|
||||||
|
import Data.Time.Calendar (fromGregorian)
|
||||||
|
import Data.Time.LocalTime
|
||||||
|
import System.Locale (defaultTimeLocale)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user