2008-08-06 18:56:05 +02:00
/* h a c k i s h c o l l e c t i o n o f g h c p a c k a g e s
this will be replaced in the future
A library is defined by this attribute set :
< attr name > = {
name =
src =
p_deps = [ x . < attr name > x . < attr name > ] # x = recursive list of packages defined here and the core packages shipping with ghc
srcDir = < subDir of source > # optional
pass = {
# stuff passed to the builder as is (used for patches most of the time
} ;
}
* /
2008-04-11 02:40:10 +02:00
# TODO use nix names (regexCompat instead of regex_compat)
2008-03-11 10:18:14 +01:00
args : ghc : with args ;
2008-03-13 10:46:12 +01:00
2008-03-11 10:18:14 +01:00
rec {
2008-03-13 10:46:12 +01:00
# name (using lowercase letters everywhere because using installing packages having different capitalization is discouraged) - this way there is not that much to remember?
2008-03-11 10:18:14 +01:00
2008-03-13 10:46:12 +01:00
cabal_darcs_name = " c a b a l - d a r c s " ;
2008-03-11 10:18:14 +01:00
2008-03-13 10:46:12 +01:00
# introducing p here to speed things up.
# It merges derivations (defined below) and additional inputs. I hope that using as few nix functions as possible results in greates speed?
# unfortunately with x; won't work because it forces nix to evaluate all attributes of x which would lead to infinite recursion
pkgs = let x = ghc . core_libs // derivations ;
2008-03-20 20:29:52 +01:00
wxVersion = " 0 . 1 0 . 3 " ;
wxSrc = fetchurl { url = " m i r r o r : / / s o u r c e f o r g e / w x h a s k e l l / w x h a s k e l l - s r c - ${ wxVersion } . t a r . g z " ;
2008-04-11 02:40:10 +02:00
sha256 = " 2 a 9 b 7 0 b 9 2 c 9 6 e f 1 a a 3 e a a 3 4 2 6 e 2 2 4 c 0 9 9 4 c 2 4 b f d a c c b f 2 b 6 7 3 e d e f 6 5 b a 3 c f f c e " ; } ;
2008-03-13 10:46:12 +01:00
inherit ( bleedingEdgeRepos ) sourceByName ;
in {
2008-08-06 18:56:05 +02:00
# ghc extra packages
2008-03-13 10:46:12 +01:00
mtl = { name = " m t l - 1 . 1 . 0 . 0 " ; srcDir = " l i b r a r i e s / m t l " ; p_deps = [ x . base ] ; src = ghc . extra_src ; } ;
2008-03-20 20:29:52 +01:00
parsec = { name = " p a r s e c - 2 . 1 . 0 . 0 " ; srcDir = " l i b r a r i e s / p a r s e c " ; p_deps = [ x . base ] ; src = ghc . extra_src ; } ;
2008-04-11 02:40:10 +02:00
network = { name = " n e t w o r k - 2 . 1 . 0 . 0 " ; srcDir = " l i b r a r i e s / n e t w o r k " ; p_deps = [ x . base x . parsec3 x . haskell98 ] ; src = ghc . extra_src ; } ;
2008-03-13 10:46:12 +01:00
regex_base = { name = " r e g e x - b a s e - 0 . 7 2 . 0 . 1 " ; srcDir = " l i b r a r i e s / r e g e x - b a s e " ; p_deps = [ x . base x . array x . bytestring x . haskell98 ] ; src = ghc . extra_src ; } ;
regex_posix = { name = " r e g e x - p o s i x - 0 . 7 2 . 0 . 2 " ; srcDir = " l i b r a r i e s / r e g e x - p o s i x " ; p_deps = [ x . regex_base x . haskell98 ] ; src = ghc . extra_src ; } ;
regex_compat = { name = " r e g e x - c o m p a t - 0 . 7 1 . 0 . 1 " ; srcDir = " l i b r a r i e s / r e g e x - c o m p a t " ; p_deps = [ x . base x . regex_posix x . regex_base x . haskell98 ] ; src = ghc . extra_src ; } ;
stm = { name = " s t m - 2 . 1 . 1 . 0 " ; srcDir = " l i b r a r i e s / s t m " ; p_deps = [ x . base x . array ] ; src = ghc . extra_src ; } ;
hunit = { name = " H U n i t - 1 . 2 . 0 . 0 " ; srcDir = " l i b r a r i e s / H U n i t " ; p_deps = [ x . base ] ; src = ghc . extra_src ; } ;
quickcheck = { name = " Q u i c k C h e c k - 1 . 1 . 0 . 0 " ; srcDir = " l i b r a r i e s / Q u i c k C h e c k " ; p_deps = [ x . base x . random ] ; src = ghc . extra_src ; } ;
2008-04-17 17:27:08 +02:00
tagsoup = { name = " t a g s o u p - 0 . 4 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/tagsoup/0.4/tagsoup-0.4.tar.gz ; sha256 = " 0 r d y 3 0 3 q a w 6 3 l a 1 f h w 1 z 8 h 6 k 8 c s 3 3 f 7 1 9 5 5 p w l z x y x 0 n 4 5 g 5 8 h c 7 " ; } ; p_deps = [ x . base x . mtl x . network ] ; } ;
hxt = { name = " h x t - 7 . 5 " ; s r c = f e t c h u r l { u r l = h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / h x t / 7 . 5 / h x t - 7 . 5 . t a r . g z ; s h a 2 5 6 = " 0 0 q6m90a4qm4d5cg1x9r6b7f0rszcf2y7ifzs9mvy9kmzfl5ga7n " ; } ; p _ d e p s = [ x . b a s e x . h a s k e l l 9 8 x . h t t p _ d a r c s x . h u n i t x . n e t w o r k x . p a r s e c x . t a g s o u p ] ; } ;
2008-08-06 23:21:54 +02:00
storableVector = { name = " s t o r a b l e v e c t o r - 0 . 1 . 2 . 2 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/storablevector/0.1.2.2/storablevector-0.1.2.2.tar.gz ; sha256 = " 1 g f 2 a 4 0 m v 8 x x p p d m g 9 l 3 s v s h w w 4 s g 0 w w d q l w j l 9 5 n h a c m 0 f 6 y r h b " ; } ; p_deps = [ x . base x . bytestring x . mtl x . quickcheck x . random ] ; } ;
storableVectorDarcs = { name = " s t o r a b l e v e c t o r - d a r c s " ; src = sourceByName " s t o r a b l e V e c t o r " ; p_deps = [ x . base x . bytestring x . mtl x . quickcheck x . random ] ; } ;
2008-08-06 18:56:05 +02:00
haskellnet = { name = " H a s k e l l N e t - 0 . 2 " ; src = sourceByName " h a s k e l l n e t " ; 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 = {
2008-04-29 00:27:03 +02:00
patchPhase = "
patch - p1 < \ $ patch
sed - i ' s/mtl/mtl , bytestring , pretty , array , dataenc , containers , old-locale , old-time / ' * . cabal
2008-08-06 18:56:05 +02:00
" ;
patch = ./haskellnetPatch ;
2008-04-29 00:27:03 +02:00
} ;
} ;
dataenc = { name = " d a t a e n c - 0 . 1 0 . 2 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/dataenc/0.10.2/dataenc-0.10.2.tar.gz ; sha256 = " 1 k l 0 8 7 9 9 4 a j b w y 6 5 f 2 4 q j n z 6 w c h l h m k 5 v k d w 1 5 0 6 z z f b i 5 f r 6 x 7 r " ; } ; p_deps = [ x . base ] ; } ;
2008-03-13 10:46:12 +01:00
# other pacakges (hackage etc)
2008-04-17 17:27:08 +02:00
polyparse = { name = " p o l y p a r s e - 2 . 3 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/polyparse/1.1/polyparse-1.1.tar.gz ; sha256 = " 0 m r r k 3 h h f r n 6 8 x n 5 y 4 j f g 4 b a 0 p a 0 8 b j 0 5 l 0 0 7 8 6 2 v r x y y b 4 b k s l 7 " ; } ; p_deps = [ x . base x . haskell98 ] ; } ;
2008-08-06 13:41:17 +02:00
# plugins doesn't compile with recent cabal
# plugins = { name="plugins-1.2"; src = fetchurl { url = http://hackage.haskell.org/packages/archive/plugins/1.2/plugins-1.2.tar.gz; sha256 = "1v2b3p3d2d3ab8zlzad4i6yy3zmarvkd09r71yc237xx66s7i9s5"; }; p_deps = [ x.array x.base x.cabal_darcs x.containers x.directory x.ghc x.haskellSrc x.process x.random ]; };
2008-08-06 18:56:05 +02:00
plugins_darcs = { name = " p l u g i n s - d a r c s " ; src = sourceByName " p l u g i n s " ; p_deps = [ x . array x . base x . cabal_darcs x . containers x . directory x . ghc x . haskellSrc x . process x . random ] ;
pass = { patches = ./plugins-darcs.patch ; } ;
2008-08-06 13:41:17 +02:00
} ;
hinotify = { name = " h i n i t o f y - 0 . 2 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/hinotify/0.2/hinotify-0.2.tar.gz ; sha256 = " 1 x 9 m n l q y 8 l s q 3 q y 9 d 5 5 9 k x w q l j 3 2 s m r 9 a n 7 6 n f 5 i 4 h j 6 7 v i c w 1 a l " ; } ; p_deps = [ x . base x . containers x . directory x . unix ] ; } ;
harp = { name = " h a r p - 0 . 2 . 1 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/harp/0.2.1/harp-0.2.1.tar.gz ; sha256 = " 8 6 5 e 8 c 2 2 9 e 1 f f 8 9 2 9 7 b 4 3 4 8 b e 9 5 d 9 3 c 1 0 e 3 7 3 b 6 3 b 7 9 1 0 d a 1 e 6 b 3 3 3 0 b 4 8 b 9 6 b 8 7 " ; } ; p_deps = [ x . base ] ; } ;
hsx = { name = " h s x - 0 . 4 . 4 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/hsx/0.4.4/hsx-0.4.4.tar.gz ; sha256 = " 1 w r 7 0 h 1 r 8 v m z s 1 x s i i q 8 9 h 0 k 3 g i p s 8 k r p 5 p 4 s 4 f 6 v j g l g 3 w 2 7 q 7 h " ; } ; p_deps = [ x . base x . haskellSrcExt x . mtl x . haskellSrcExtDarcs ] ; } ;
# TODO remove
# haskell_src_exts_metaquote = { name = "haskell_src_exts_metaquote-darcs"; src = sourceByName "haskell_src_exts_metaquote"; p_deps = [ x.base x.mtl x.containers x.array x.pretty x.binary x.packaged_string ]; };
2008-05-13 10:40:57 +02:00
# 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 ]; };
2008-08-06 18:56:05 +02:00
pcreLight = { name = " p c r e - l i g h t - 0 . 3 . 1 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/pcre-light/0.3.1/pcre-light-0.3.1.tar.gz ; sha256 = " 1 h 0 q h f v q j c x 5 9 z k q h v s y 7 v w 2 3 l 4 4 4 4 c z g 2 z 7 b 2 l n d y 6 c m k q c 7 1 9 m " ; } ; p_deps = [ x . base x . bytestring pcre x . haskell98 ] ;
pass = { patchPhase = "
2008-05-13 10:40:57 +02:00
echo \ " e x t r a - l i b - d i r s : ${ pcre } / l i b \" > > p c r e - l i g h t . c a b a l
" ;
} ; } ;
2008-08-06 18:56:05 +02:00
hsHaruPDF = { name = " H s H a r u P D F - 0 . 0 . 0 " ; src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / H s H a r u P D F / 0 . 0 . 0 / H s H a r u P D F - 0 . 0 . 0 . t a r . g z " ; sha256 = " 1 y i f h x k 1 m 3 z 2 i 7 g a x g w l m k 6 c v 2 s p b p x 8 f n y 4 s n 5 9 y b c a 8 w d 9 z 7 p s " ; } ; p_deps = [ x . base x . haskell98 ] ;
pass = { buildInputs = [ mysql zlib libpng ] ;
2008-04-29 00:27:03 +02:00
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 ]; };
2008-08-06 13:41:17 +02:00
bloomfilter = { name = " b l o o m f i l t e r - 1 . 2 . 1 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/bloomfilter/1.2.1/bloomfilter-1.2.1.tar.gz ; sha256 = " 1 d 2 m 0 w 8 l g p d p y k d g p 0 8 b m y 5 j b 1 c 8 9 b y 4 x n k f y 2 b n h 8 f 0 2 n b 1 z l s m " ; } ; p_deps = [ x . base x . bytestring x . containers ] ; } ;
2008-04-11 02:40:10 +02:00
timeout = { name = " t i m e o u t - 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 = " 1 g 1 x 6 c 4 d a f c k w c w 4 8 v 8 3 f 3 n m 2 s x v 8 k y n w v 8 i b 2 3 6 a y 9 1 3 y c g a y v g " ; } ; p_deps = [ x . base x . time x . stm ] ; } ;
2008-03-20 20:29:52 +01:00
parsec3 = { name = " p a r s e c - 3 . 0 . 0 " ; p_deps = [ x . base x . mtl x . bytestring ] ; src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / p a r s e c / 3 . 0 . 0 / p a r s e c - 3 . 0 . 0 . t a r . g z " ; sha256 = " 0 f q r y y 0 9 y 8 h 7 z 0 h l a y g 5 g p a v g h g w a 0 g 3 b l d y n w l 1 7 k s 8 l 8 7 y k j 7 a " ; } ; } ;
2008-03-13 10:46:12 +01:00
binary = rec { name = " b i n a r y - 0 . 4 . 1 " ; p_deps = [ x . base x . bytestring x . containers x . array ] ;
src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / b i n a r y / 0 . 4 . 1 / b i n a r y - 0 . 4 . 1 . t a r . g z " ;
sha256 = " 0 j g 5 i 1 k 5 f z 0 x p 1 p i a a f 5 b z h a g q v f l 3 i 7 3 h l p d m g s 4 g c 4 0 r 1 q 4 x 5 v " ; } ;
} ;
2008-05-13 10:40:57 +02:00
hlist = { name = " H L i s t - 0 . 1 " ; src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / H L i s t / 0 . 1 / H L i s t - 0 . 1 . t a r . g z " ; sha256 = " 1 g v 8 0 q r n f 7 1 f z g b 2 y w a y b k f v i d a 0 p w k d 4 a 5 3 v h m c 0 y g 2 1 4 y i n 4 k h " ; } ; p_deps = [ ] ; } ;
2008-03-13 10:46:12 +01:00
# using different name to not clash with postgresql
postgresql_bindings = rec { name = " P o s t g r e S Q L - 0 . 2 " ; p_deps = [ x . base x . mtl postgresql x . haskell98 ] ;
src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / P o s t g r e S Q L / 0 . 2 / P o s t g r e S Q L - 0 . 2 . t a r . g z " ;
sha256 = " 0 p 5 q 3 y c 8 y m g z z l c 6 0 0 h 4 m b 9 w 8 6 n c r g j d b p q f i 4 9 b 2 j q v k c x 5 b w r r " ; } ;
pass = {
inherit postgresql ;
patchPhase = " e c h o ' e x t e n s i o n s : M u l t i P a r a m T y p e C l a s s e s F o r e i g n F u n c t i o n I n t e r f a c e E m p t y D a t a D e c l s G e n e r a l i z e d N e w t y p e D e r i v i n g F l e x i b l e I n s t a n c e s U n d e c i d a b l e I n s t a n c e s ' > > P o s t g r e S Q L . c a b a l
echo \ " e x t r a - l i b - d i r s : \$ p o s t g r e s q l / l i b \" > > P o s t g r e S Q L . c a b a l
echo \ " e x t r a - l i b r a r i e s : p q \" > > P o s t g r e S Q L . c a b a l
" ;
2008-03-11 10:18:14 +01:00
2008-03-13 10:46:12 +01:00
} ;
} ;
2008-05-31 00:37:58 +02:00
unixCompat = { name = " u n i x - c o m p a t - 0 . 1 . 2 . 1 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/unix-compat/0.1.2.1/unix-compat-0.1.2.1.tar.gz ; sha256 = " 1 1 9 f i a z j r 8 3 x m 4 n k 3 9 4 v 7 l m s v h k i c 5 k 7 8 p z c v v 7 0 j 7 z p 8 3 h j c c s m " ; } ; p_deps = [ x . base x . directory x . old_time x . haskell98 ] ; } ;
tar = rec { name = " t a r - 0 . 1 . 1 . 1 " ; p_deps = [ x . base x . bytestring x . haskell98 x . binary x . unixCompat ] ;
src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / t a r / 0 . 1 . 1 . 1 / t a r - 0 . 1 . 1 . 1 . t a r . g z " ;
sha256 = " 0 8 n s 5 6 x x w 6 5 1 9 q 0 f 7 f q d z n h c w x 5 d j 2 r c 5 3 1 m i v x d y j a 6 l m m j c f c b " ; } ;
} ;
2008-05-13 10:40:57 +02:00
zlib = rec { name = " z l i b - 0 . 4 . 0 . 4 " ; p_deps = [ x . base x . bytestring x . haskell98 ] ;
src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / z l i b / 0 . 4 . 0 . 4 / z l i b - 0 . 4 . 0 . 4 . t a r . g z " ;
sha256 = " 1 4 h z q p z q s 3 r c w x 6 q p g y b r c z 3 3 y r z b 5 y 4 p 0 b d s i l h d g l 1 5 5 9 4 i b a d " ; } ;
pass = {
patchPhase = ''
echo " e x t r a - l i b - d i r s : ${ zlib } / l i b " > > zlib . cabal
echo " i n c l u d e - d i r s : ${ zlib } / i n c l u d e " > > zlib . cabal'' ;
} ; } ;
bzlib = rec { name = " b z l i b - 0 . 4 . 0 . 3 " ; p_deps = [ x . base x . bytestring x . haskell98 ] ;
src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / b z l i b / 0 . 4 . 0 . 3 / b z l i b - 0 . 4 . 0 . 3 . t a r . g z " ;
sha256 = " 0 m d h q d s 2 d 4 l x 7 5 y y 3 9 b v b v m v k b 8 1 x l 1 m h g b j w i 4 2 9 9 j 7 i s r r g m b 4 " ; } ;
pass = {
patchPhase = ''
echo " e x t r a - l i b - d i r s : ${ bzip2 } / l i b
include-dirs : $ { bzip2 } /include " > > b z l i b . c a b a l ' ' ;
} ; } ;
wash = rec { name = " W a s h N G o - 2 . 1 2 " ; p_deps = [ x . base x . mtl x . haskell98 x . regex_compat x . parsec x . containers ] ;
src = fetchurl { url = " h t t p : / / w w w . i n f o r m a t i k . u n i - f r e i b u r g . d e / ~ t h i e m a n n / W A S H / W a s h N G o - 2 . 1 2 . t g z " ;
sha256 = " 1 d y c 2 0 6 2 j p l 3 x d l m 0 n 7 x k z 6 2 0 h 0 6 0 g 2 i 5 g h n b 3 2 c n 9 5 b r c j 9 f g r z " ; } ;
useLocalPkgDB = true ;
pass = {
patches = ./WASHNGo_Patch_ghc682 ;
} ;
} ;
2008-03-11 10:18:14 +01:00
2008-05-13 10:40:57 +02:00
#hsql = rec { name = "hsql-1.7"; p_deps = [x.base x.mtl x.haskell98 x.old_time ];
#src = fetchurl { url = "http://hackage.haskell.org/packages/archive/hsql/1.7/hsql-1.7.tar.gz";
#sha256 = "0j2lkvg5c0x5gf2sy7zmmgrda0c3l73i9d6hyka2f15d5n1rfjc9"; };
#pass = { patchPhase = "
#sed -e 's=build-depends:.*=build-depends: base, old-locale, old-time=' -i hsql.cabal
2008-08-06 18:56:05 +02:00
#echo \"extensions:
2008-05-13 10:40:57 +02:00
#ForeignFunctionInterface, TypeSynonymInstances, CPP, ExistentialQuantification, GeneralizedNewtypeDeriving, PatternSignatures, ScopedTypeVariables, Rank2Types, DeriveDataTypeable \" >> hsql.cabal
#"; };
#};
# supports new time library
2008-04-17 17:27:08 +02:00
hsqlDarcs = rec { name = " h s q l - d a r c s " ; p_deps = [ x . base x . mtl x . haskell98 x . old_time x . old_locale x . time ] ;
2008-04-27 23:28:00 +02:00
src = sourceByName " h s q l " ;
2008-04-17 17:27:08 +02:00
pass = { srcDir = " H S Q L " ; } ;
2008-03-11 10:18:14 +01:00
} ;
2008-04-29 00:27:03 +02:00
hsqlMysqlDarcs = { name = " h s q l - m y s q l - d a r c s " ; srcDir = " M y S Q L " ; src = sourceByName " h s q l " ; p_deps = [ x . base x . hsqlDarcs x . old_time ] ;
2008-04-11 02:40:10 +02:00
pass = { buildInputs = [ mysql zlib ] ;
2008-05-13 10:40:57 +02:00
patchPhase = " e c h o \" e x t r a - l i b - d i r s : ${ zlib } / l i b \" > > M y S Q L / h s q l - m y s q l . c a b a l
sed - e \ " s = c o n f i g V e r b o s e = c o n f i g V e r b o s i t y = \" - e \" s = s q l i t e _ p a t h = \$ s q l i t e = \" - i M y S Q L / S e t u p . l h s
" ;
2008-04-11 02:40:10 +02:00
} ;
} ;
2008-03-13 10:46:12 +01:00
#hsql_postgresql = rec { name = "hsql-postgresql-1.7"; p_deps = [ x.base x.mtl x.haskell98 x.old_time x.hsql postgresql ];
# src = fetchurl { url = "";
# sha256 = "180c8acp4p9hsl5h8ryhhli9mlqcmcfjqaxzr7sa074gpzq29vfc"; };
# pass = { patchPhase = "
# sed -e 's=build-depends:.*=build-depends: base, old-locale, old-time=' -i hsql.cabal
2008-08-06 18:56:05 +02:00
# echo \"extensions:
2008-03-13 10:46:12 +01:00
# ForeignFunctionInterface, TypeSynonymInstances, CPP, ExistentialQuantification, GeneralizedNewtypeDeriving, PatternSignatures, ScopedTypeVariables, Rank2Types, DeriveDataTypeable \" >> hsql.cabal
# "; };
# };
# I'm getting a glibc error when compiling - where does it come from ?
2008-08-06 13:41:17 +02:00
#takusen = rec { name = "takusen-0.8"; p_deps = [ x.base x.mtl x.haskell98 x.time postgresql sqlite ];
# src = sourceByName "takusen";
# pass = {
# inherit postgresql sqlite;
# patch = ./takusen_setup_patch;
# [> no ODBC, Oracle support in nix
# patchPhase = "patch -p1 Setup.hs < \$patch
# sed -e '/ODBC/d' -i Takusen.cabal
# sed -e '/Oracle/d' -i Takusen.cabal
# sed -e \"s=pg_path=\$postgresql=\" -e \"s=sqlite_path=\$sqlite=\" -i Setup.hs
# sed -e \"s=configVerbose=configVerbosity=\" -e \"s=sqlite_path=\$sqlite=\" -i Setup.hs
# sed -e \"s=regVerbose=regVerbosity=\" -e \"s=sqlite_path=\$sqlite=\" -i Setup.hs
# ";
# };
# };
2008-03-13 10:46:12 +01:00
hdbc = rec { name = " h d b c - 1 . 1 . 4 . 0 " ; p_deps = [ x . base x . mtl x . haskell98 x . time x . bytestring postgresql sqlite ] ;
src = fetchurl {
url = http://software.complete.org/hdbc/static/download_area/1.1.4.0/hdbc_1.1.4.0.tar.gz ;
2008-04-11 02:40:10 +02:00
2008-03-13 10:46:12 +01:00
sha256 = " 6 7 7 e 7 8 9 0 9 4 e 3 7 9 0 b e 2 4 6 2 3 3 1 b 6 c 0 f 9 7 b 4 a c 1 d 6 5 c 8 e b 9 8 c f 7 d 8 b 8 3 d 5 f 3 f 9 f b d 3 9 " ;
} ;
pass = {
inherit postgresql sqlite ;
#patch = ./takusen_setup_patch;
# no ODBC, Oracle support in nix
#patchPhase = "patch -p1 Setup.hs < \$patch
# sed -e '/ODBC/d' -i Takusen.cabal
# sed -e '/Oracle/d' -i Takusen.cabal
# sed -e \"s=pg_path=\$postgresql=\" -e \"s=sqlite_path=\$sqlite=\" -i Setup.hs
# ";
} ;
2008-03-11 10:18:14 +01:00
} ;
2008-04-11 02:40:10 +02:00
hdbc_postgresql = { name = " h d b c - p o s t g r e s q l " ; p_deps = [ x . hdbc x . parsec3 postgresql ] ;
2008-03-13 10:46:12 +01:00
src = fetchurl {
url = http://hackage.haskell.org/packages/archive/HDBC-postgresql/1.1.4.0/HDBC-postgresql-1.1.4.0.tar.gz ;
sha256 = " 1 b 9 l x j 5 5 j v v q 7 6 l l 8 d r 4 k f b 6 a j 7 r 0 b a j 4 g h 8 w k h g w c 1 k d 4 1 s x 7 h 3 " ; } ;
pass = {
patches = [ ./hdbc_postgresql_patch ] ;
patchPhase = " u n s e t p a t c h P h a s e ; p a t c h P h a s e ;
sed - e ' /Cabal-Ver/d ' - i HDBC-postgresql . cabal " ;
} ;
} ;
2008-08-06 18:56:05 +02:00
gtk2hs = rec { name = " g t k 2 h s - 0 . 9 . 1 2 . 1 " ; p_deps = [ x . haskell98 x . mtl x . bytestring pkgconfig ] ++ ( with gtkLibs ; [ glib pango gtk gnome . glib gnome . gtksourceview ] ) ;
2008-03-13 10:46:12 +01:00
src = fetchurl {
url = " h t t p : / / d o w n l o a d s . s o u r c e f o r g e . n e t / g t k 2 h s / ${ name } . t a r . g z " ;
sha256 = " 1 1 0 z 6 v 9 g z h g 6 n z l z 5 g s 8 a a f m i p b v a 6 r c 5 0 b 8 z 1 j g q 0 k 2 g 2 5 h f y 2 2 " ; } ;
pass = {
buildPhase = "
createEmptyPackageDatabaseAndSetupHook
export GHC_PACKAGE_PATH
./configure - - prefix = \ $ out - - with-user-pkgconf = local-pkg-db - - with-pkgconf = \ $ PACKAGE_DB
make
ensureDir \ $ out
make install
" ;
} ;
} ;
2008-03-20 20:29:52 +01:00
hspread = { name = " h s p r e a d - 0 . 3 " ; p_deps = [ x . base x . bytestring x . network x . binary ] ;
src = fetchurl {
url = http://hackage.haskell.org/packages/archive/hspread/0.3/hspread-0.3.tar.gz ;
sha256 = " 0 l w q 7 v 7 p 6 a k y k c s z 6 i n k g 9 9 h 3 z 7 a b 1 g s 5 n k j j l g s b y q b w v i m m f 5 n " ; } ;
pass = {
} ;
} ;
wxcore = rec {
2008-08-06 18:56:05 +02:00
2008-04-11 02:40:10 +02:00
name = " w x h a s k e l - ${ wxVersion } " ; p_deps = [ x . haskell98 x . mtl x . bytestring x . parsec3 pkgconfig wxGTK ] ++ ( with gtkLibs ; [ glib pango gtk gnome . glib ] ) ;
2008-03-20 20:29:52 +01:00
src = wxSrc ;
pass = {
2008-04-29 00:27:03 +02:00
profiling = if getConfig [ " g h c 6 8 " " p r o f i l i n g " ] false then " - - h c p r o f " else " " ;
2008-03-20 20:29:52 +01:00
buildInputs = [ unzip ] ;
buildPhase = "
createEmptyPackageDatabaseAndSetupHook
export GHC_PACKAGE_PATH
sed - e ' s/which/type -p/g ' configure
2008-04-29 00:27:03 +02:00
./configure - - prefix = \ $ out - - package-conf = \ $ PACKAGE_DB \ $ profiling
2008-03-20 20:29:52 +01:00
make
ensureDir \ $ out
make install
" ;
} ;
} ;
2008-04-11 02:40:10 +02:00
wx = { name = " w x - ${ wxVersion } " ; src = wxSrc ; srcDir = " w x " ; p_deps = [ x . haskell98 x . mtl x . bytestring x . parsec3 x . wxcore pkgconfig wxGTK ] ++ ( with gtkLibs ; [ glib pango gtk gnome . glib ] ) ;
# TODO rempove pwd
2008-03-20 20:29:52 +01:00
pass = { patchPhase = " p w d ; c p { , w x / } l i c e n s e . t x t " ; } ;
} ;
2008-08-06 18:56:05 +02:00
2008-04-11 02:40:10 +02:00
typecompose = { name = " T y p e C o m p o s e - 0 . 4 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/TypeCompose/0.5/TypeCompose-0.5.tar.gz ; sha256 = " 0 m z j v w j i x k p 0 j x f z x j w 1 p q 8 k 1 s m 6 1 s b 5 y 9 6 f k 0 7 x m 9 1 n n 4 s g p a q j " ; } ; p_deps = [ x . base ] ; } ;
reactive = { name = " r e a c t i v e - 0 . 5 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/reactive/0.5/reactive-0.5.tar.gz ; sha256 = " 1 g i v 5 p 2 n k s 4 r w 6 8 3 b k m n j m d a n p x 8 m g q i 6 d z j 0 9 9 c j b k 9 3 j a g 9 5 8 1 " ; } ; p_deps = [ x . base x . typecompose ] ; } ;
phooey = { name = " p h o o e y - 2 . 0 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/phooey/2.0/phooey-2.0.tar.gz ; sha256 = " 1 b b 6 c n 2 v k 7 b 5 7 g a x h 8 6 3 y m i d b 4 l 7 l d i w c n p i f 7 9 0 r d 4 b q 4 4 f w f v f " ; } ; p_deps = [ x . base x . typecompose x . reactive x . wx x . wxcore ] ; } ;
# depreceated (This is the deprecated Data.FiniteMap library, often useful to get old code to build when you are too lazy to update it.)
finitemap = { name = " f i n i t e m a p - 0 . 1 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/FiniteMap/0.1/FiniteMap-0.1.tar.gz ; sha256 = " 1 k f 6 3 8 h 5 g s c 8 f k l h a w 2 j i a d 1 r 0 s s g j 8 z k f m z y w p 8 5 l r x 5 z 5 2 9 g k y " ; } ; p_deps = [ x . base x . haskell98 ] ; } ;
2008-03-20 20:29:52 +01:00
2008-04-11 02:40:10 +02:00
parallel = { name = " p a r a l l e l - 1 . 0 . 0 . 0 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/parallel/1.0.0.0/parallel-1.0.0.0.tar.gz ; sha256 = " 0 f 6 g 7 2 4 z p d q h j c f v 0 6 4 y k n r d x 4 r j a a j 7 1 b f x 5 7 c 8 y w i z i f c w x p 4 h " ; } ; p_deps = [ x . base ] ; } ;
httpSimple = { name = " H T T P - S i m p l e - 0 . 1 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/HTTP-Simple/0.1/HTTP-Simple-0.1.tar.gz ; sha256 = " 0 m b s z g x 8 x 0 2 w r y 2 h 8 j h d c 5 1 r y i 7 d w b i 3 9 6 y 5 h 4 k 6 p 0 b v a 8 y p 5 b d 0 " ; } ; p_deps = [ x . base x . network x . http_darcs ] ; } ;
deeparrow = { name = " D e e p A r r o w - 0 . 2 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/DeepArrow/0.2/DeepArrow-0.2.tar.gz ; sha256 = " 1 r m 5 5 n r y g 2 z 4 r 5 9 1 9 d a 2 c c 3 n q 0 8 c g 0 g 9 g f 5 9 q f z l 5 0 l f c c q 8 x 2 w d " ; } ; p_deps = [ x . base x . mtl x . typecompose x . haskellSrc ] ; } ;
tv = { name = " T V - 0 . 4 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/TV/0.4/TV-0.4.tar.gz ; sha256 = " 0 h r a c v x 6 p y d m q f k x 9 n 9 0 6 k 0 4 6 3 b 0 q a x s k i s 9 1 k i r 6 3 i v f 9 1 z w n d p " ; } ; p_deps = [ x . base x . typecompose x . deeparrow ] ; } ;
2008-08-06 18:56:05 +02:00
guitv = { name = " G u i T V - 0 . 4 " ; src = fetchurl { url = http://darcs.haskell.org/packages/GuiTV/dist/GuiTV-0.4.tar.gz ; sha256 = " 1 5 m n d b x m 8 3 q 0 d 8 c i 3 v j 5 1 z w r m z l 0 f 5 i 5 y q v 0 c a w 0 5 v l z f s r 4 i b 5 i " ; } ; p_deps = [ x . base x . deeparrow x . typecompose x . phooey x . tv ] ; } ;
2008-04-11 02:40:10 +02:00
2008-08-06 18:56:05 +02:00
haskellSrc = { name = " h a s k e l l - s r c - 1 . 0 . 1 . 1 " ; src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / h a s k e l l - s r c / 1 . 0 . 1 . 1 / h a s k e l l - s r c - 1 . 0 . 1 . 1 . t a r . g z " ; sha256 = " 0 6 k i l r f 7 y 5 h 6 d x j 5 7 k w y m r 2 0 z v d s q 6 z h c h w n 4 w k y 1 2 m r m z j x y j 0 1 " ; } ; p_deps = [ x . haskell98 x . base x . pretty x . array ] ;
2008-04-11 02:40:10 +02:00
pass = { buildInputs = ( with executables ; [ happy alex ] ) ; } ;
} ;
2008-08-06 18:56:05 +02:00
haskellSrcExt = { name = " h a s k e l l - s r c - e x t s - 0 . 3 . 3 . t a r . g z " ; src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / h a s k e l l - s r c - e x t s / 0 . 3 . 3 / h a s k e l l - s r c - e x t s - 0 . 3 . 3 . t a r . g z " ; sha256 = " 0 g 9 i b j j 1 k 5 k 3 m q f x 5 m p 8 p q r 0 z x 5 3 p p 9 d k f 5 2 r 8 c d v 1 8 b l 8 x h z b p x " ; } ; p_deps = [ x . base x . base x . array x . pretty ] ;
2008-04-11 02:40:10 +02:00
pass = { buildInputs = ( with executables ; [ happy alex ] ) ; } ;
} ;
2008-08-06 18:56:05 +02:00
haskellSrcExtDarcs = { name = " h a s k e l l - s r c - e x t s - d a r c s " ; src = sourceByName " h a s k e l l _ s r c _ e x t s " ; p_deps = [ x . base x . base x . array x . pretty ] ;
2008-08-06 13:41:17 +02:00
pass = { buildInputs = ( with executables ; [ happy alex ] ) ; } ;
} ;
2008-03-11 10:18:14 +01:00
2008-08-06 18:56:05 +02:00
# haskelldb
haskelldb = { name = " h a s k e l l d b - 0 . 1 0 " ; src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / h a s k e l l d b / 0 . 1 0 / h a s k e l l d b - 0 . 1 0 . t a r . g z " ; sha256 = " 1 i 4 k g s g a j r 9 c i j g 0 a 2 c 0 4 r n 1 z q w i a s f v d b v s 8 c 5 q m 4 9 v k b d z m 7 l 5 " ; } ; p_deps = [ x . base x . haskell98 x . mtl x . pretty x . old_time x . directory x . old_locale ] ;
2008-04-29 00:27:03 +02:00
pass = { patchPhase = " s e d - i ' s / m t l / m t l , p r e t t y , o l d - t i m e , d i r e c t o r y , o l d - l o c a l e / ' h a s k e l l d b . c a b a l
echo ' ghc-options : - O2 - fglasgow-exts - fallow-undecidable-instances' > > haskelldb . cabal " ; } ;
} ;
2008-08-06 18:56:05 +02:00
#hsql drivers
haskelldbHsql = { name = " h a s k e l l d b - h s q l - - 0 . 1 0 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/haskelldb-hsql/0.10/haskelldb-hsql-0.10.tar.gz ; sha256 = " 0 s 3 b j m 0 8 0 h z w 2 3 z j x r 4 4 1 2 m 8 1 v 4 0 8 l l 9 y 6 g q b 2 y y w 3 0 n 8 8 6 i x z g h " ; } ; p_deps = [ x . base x . haskell98 x . mtl x . hsqlDarcs x . haskelldb x . old_time x . old_locale ] ;
pass = { patchPhase = " s e d - i ' s / m t l / m t l , p r e t t y , o l d - t i m e , d i r e c t o r y , o l d - l o c a l e / ' h a s k e l l d b - h s q l . c a b a l
echo ' ghc-options : - O2 - fglasgow-exts - fallow-undecidable-instances' > > haskelldb-hsql . cabal " ; } ;
} ;
haskelldbHsqlMysql = { name = " h a s k e l l d b - h s q l - m y s q l - 0 . 1 0 " ; src = fetchurl { url = http://hackage.haskell.org/packages/archive/haskelldb-hsql-mysql/0.10/haskelldb-hsql-mysql-0.10.tar.gz ; sha256 = " 0 n f g q 0 x n 4 5 r h w x r 8 j v a w v i q f h g v h q r 5 6 l 7 k i 1 d 7 2 6 0 5 y 3 4 d f x 7 r w " ; } ; p_deps = [ x . base x . haskell98 x . mtl x . hsqlDarcs x . haskelldbHsql x . hsqlMysqlDarcs x . haskelldb ] ; } ;
2008-03-11 10:18:14 +01:00
2008-05-31 00:37:58 +02:00
getOptions = rec { name = " G e t O p t i o n s " ; p_deps = [ x . haskell98 x . base x . mtl ] ;
2008-08-06 18:56:05 +02:00
src = sourceByName " g e t O p t i o n s " ;
} ;
2008-05-31 00:37:58 +02:00
2008-03-13 10:46:12 +01:00
# 1.13 is stable. There are more recent non stable versions
haxml = rec { name = " H a X m l - 1 . 1 3 . 3 " ; p_deps = [ x . base x . rts x . directory x . process x . pretty x . containers x . filepath x . haskell98 ] ;
2008-08-06 18:56:05 +02:00
src = fetchurl { url = " h t t p : / / w w w . h a s k e l l . o r g / H a X m l / ${ name } . t a r . g z " ;
sha256 = " 0 8 d 9 w y 0 r g 9 m 6 6 d d 1 0 x 0 z v k l 7 4 l 2 5 v x d a k z 7 x p 3 j 8 8 s 2 g d 3 1 j p 1 v 0 " ; } ;
} ;
2008-08-06 13:41:17 +02:00
haxml_darcs = { name = " H a X m l - d a r c s " ; p_deps = [ x . base x . rts x . directory x . process x . pretty x . containers x . filepath x . haskell98 x . polyparse x . bytestring ] ;
2008-08-06 18:56:05 +02:00
src = sourceByName " h a x m l " ;
} ;
2008-03-13 10:46:12 +01:00
xhtml = rec { name = " x h t m l - 3 0 0 0 . 0 . 2 . 2 " ; p_deps = [ x . base ] ;
2008-08-06 18:56:05 +02:00
src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / x h t m l / 3 0 0 0 . 0 . 2 . 2 / x h t m l - 3 0 0 0 . 0 . 2 . 2 . t a r . g z " ;
sha256 = " 1 1 2 m b q 2 6 k s h 7 r 2 2 y 0 9 h 0 x v m 3 4 7 k b a 3 p 4 n s 1 2 v j 5 4 9 8 f q q j 3 3 3 8 7 8 " ; } ;
} ;
2008-03-13 10:46:12 +01:00
html = rec { name = " h t m l - 1 . 0 . 1 . 1 " ; p_deps = [ x . base ] ;
2008-08-06 18:56:05 +02:00
src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / h t m l / 1 . 0 . 1 . 1 / h t m l - 1 . 0 . 1 . 1 . t a r . g z " ;
sha256 = " 1 0 f a y f m 1 8 p 8 3 z l k r 9 i k x l q g n z x g 1 c k d q a q v z 6 w p 1 x j 9 5 f y 3 p 6 y l 1 " ; } ;
} ;
2008-03-13 10:46:12 +01:00
crypto = rec { name = " c r y p t o - 4 . 1 . 0 " ; p_deps = [ x . base x . array x . pretty x . quickcheck x . random x . hunit ] ;
2008-08-06 18:56:05 +02:00
src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / C r y p t o / 4 . 1 . 0 / C r y p t o - 4 . 1 . 0 . t a r . g z " ;
sha256 = " 1 3 r b p b n 6 p 1 d a 6 q a 9 m 6 f 7 d m k z d k m p n x 6 j i y y n d z a z 9 9 n z q l r w i 1 0 9 " ; } ;
} ;
2008-03-13 10:46:12 +01:00
hslogger = rec { name = " h s l o g g e r - 1 . 0 . 4 " ; p_deps = [ x . containers x . directory x . mtl x . network x . process ] ;
2008-08-06 18:56:05 +02:00
src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / h s l o g g e r / 1 . 0 . 4 / h s l o g g e r - 1 . 0 . 4 . t a r . g z " ;
sha256 = " 0 k m z 8 x s 1 q 4 1 r g 2 x w k 2 2 f a d y h x d g 5 m i z h w 0 r 4 d 7 4 y 4 3 a k k j w j 9 6 a r " ; } ;
} ;
2008-03-13 10:46:12 +01:00
parsep = { name = " p a r s e p - 0 . 1 " ; p_deps = [ x . base x . mtl x . bytestring ] ;
2008-08-06 18:56:05 +02:00
src = fetchurl { url = " h t t p : / / t w a n . h o m e . f m f . n l / p a r s e p / p a r s e p - 0 . 1 . t a r . g z " ;
sha256 = " 1 y 5 p b s 5 m z a a 2 1 1 2 7 c i x s a m a h l b v m q z y h z p w h 6 x 0 n z n s g m g 2 d p c 9 q " ; } ;
pass = { patchPhase = " s e d - i ' s / f p s / b y t e s t r i n g / ' * . c a b a l " ; } ;
} ;
2008-03-13 10:46:12 +01:00
time = { name = " t i m e - 1 . 1 . 2 . 0 " ; p_deps = [ x . base x . old_locale ] ;
2008-08-06 18:56:05 +02:00
src = fetchurl { url = " h t t p : / / h a c k a g e . h a s k e l l . o r g / p a c k a g e s / a r c h i v e / t i m e / 1 . 1 . 2 . 0 / t i m e - 1 . 1 . 2 . 0 . t a r . g z " ;
sha256 = " 0 z m 4 q q c z w b q z y 2 p k 7 w z 5 p 1 v i r g y l w y z d 9 z x p 0 4 0 6 s 5 z v p 3 5 g v l 8 9 " ; } ;
} ;
2008-04-11 02:40:10 +02:00
rjson = { name = " R J s o n - 0 . 3 . 3 " ; p_deps = [ x . base x . mtl x . parsec3 x . bytestring x . iconv x . array x . containers x . syb_with_class_darcs ] ;
2008-08-06 18:56:05 +02:00
src = fetchurl { url = http://hackage.haskell.org/packages/archive/RJson/0.3.3/RJson-0.3.3.tar.gz ;
sha256 = " 0 v a 1 r b g j b 8 m 3 r i j 0 2 3 1 8 a 3 1 b i 9 g m y 3 z w y x 5 z 1 2 1 6 4 c 7 i w a f n d 5 v 2 " ; } ;
} ;
2008-03-13 10:46:12 +01:00
iconv = { name = " i c o n v - 0 . 4 " ; p_deps = [ x . base x . bytestring ] ;
2008-08-06 18:56:05 +02:00
src = fetchurl { url = http://hackage.haskell.org/packages/archive/iconv/0.4/iconv-0.4.tar.gz ;
sha256 = " 1 s n q z z 7 h i 2 q a 8 3 m 5 v 3 0 9 8 r s l d b 4 8 5 k z 2 j g g d 3 3 5 q h v j a h c p 4 b j 1 p " ; } ;
} ;
2008-03-11 10:18:14 +01:00
2008-04-11 02:40:10 +02:00
utf8string = { name = " u t f 8 - s t r i n g - 0 . 3 " ; p_deps = [ x . base x . bytestring ] ;
2008-08-06 18:56:05 +02:00
src = fetchurl { url = http://hackage.haskell.org/packages/archive/utf8-string/0.3/utf8-string-0.3.tar.gz ;
sha256 = " 1 1 m l n 2 r 0 y m 4 y 1 2 z x i z n 6 n 4 0 x b g s i 6 q 4 n 6 n 8 1 0 r c g 9 4 b v 3 5 g q g c b y " ; } ;
} ;
2008-04-11 02:40:10 +02:00
x11 = { name = " x 1 1 - 1 . 4 . 1 " ; p_deps = [ x . base x . haskell98 x . bytestring ] ++ ( with xlibs ; [ libX11 libXext ] ) ;
2008-08-06 18:56:05 +02:00
src = fetchurl { url = http://hackage.haskell.org/packages/archive/X11/1.4.1/X11-1.4.1.tar.gz ;
sha256 = " 0 y c z l 1 m 7 g 3 l g g c x h 5 6 f y 2 b r 1 3 k b k 4 c 5 v r k c c 4 w 7 6 y s 0 m 2 i a 3 h 4 7 5 " ; } ;
} ;
2008-04-11 02:40:10 +02:00
x11extras = { name = " X 1 1 - e x t r a s - 0 . 4 " ; p_deps = [ x . base x . bytestring x . x11 xlibs . libXinerama ] ;
2008-08-06 18:56:05 +02:00
src = fetchurl { url = http://hackage.haskell.org/packages/archive/X11-extras/0.4/X11-extras-0.4.tar.gz ;
sha256 = " 1 c p j r 0 9 g d d c j d 0 w q w v a a n k v 1 z j 7 f y c 6 h b f d v a r 6 3 f 5 1 g 3 v v w 6 2 7 a " ; } ;
} ;
/*
2008-04-11 02:40:10 +02:00
x11xft = { name = " x f t - 0 . 2 " ; p_deps = [ x . base x . bytestring x . haskell98 x . x11 x . utf8string x . bytestring xlibs . libXft freetype ] ;
2008-08-06 18:56:05 +02:00
src = fetchurl { url = http://hackage.haskell.org/packages/archive/X11-xft/0.2/X11-xft-0.2.tar.gz ;
sha256 = " 1 a h v p k g h 5 m r 6 v 8 g i s v 1 s c 9 s 4 0 7 5 h q h 8 5 c p q c q h 1 y l r 6 l k f 7 d z 3 1 w " ; } ;
pass = {
inherit freetype ;
patchPhase = " s e d - i \" s = i n c l u d e - d i r s : . * = i n c l u d e - d i r s : $ f r e e t y p e / i n c l u d e = \" * . c a b a l " ; } ;
} ;
* /
2008-04-11 02:40:10 +02:00
2008-08-06 18:56:05 +02:00
# HAPPS - Libraries
2008-04-11 02:40:10 +02:00
http_darcs = { name = " h t t p - d a r c s " ; p_deps = [ x . network x . parsec3 ] ;
2008-08-06 18:56:05 +02:00
src = sourceByName " h t t p " ;
#src = fetchdarcs { url = "http://darcs.haskell.org/http/"; md5 = "4475f858cf94f4551b77963d08d7257c"; };
} ;
2008-03-13 10:46:12 +01:00
syb_with_class_darcs = { name = " s y b - w i t h - c l a s s - d a r c s " ; p_deps = [ x . template_haskell x . bytestring ] ;
2008-08-06 18:56:05 +02:00
src =
# fetchdarcs { url = "http://happs.org/HAppS/syb-with-class"; md5 = "b42336907f7bfef8bea73bc36282d6ac"; };
sourceByName " s y b _ w i t h _ c l a s s " ; # { url = "http://happs.org/HAppS/syb-with-class"; md5 = "b42336907f7bfef8bea73bc36282d6ac"; };
} ;
2008-03-13 10:46:12 +01:00
2008-08-06 18:56:05 +02:00
happs_data_darcs = { name = " H A p p S - D a t a - d a r c s " ; p_deps = [ x . base x . mtl x . template_haskell x . syb_with_class_darcs x . haxml x . happs_util_darcs x . regex_compat x . bytestring x . pretty x . binary ] ;
src = sourceByName " h a p p s _ d a t a " ; # fetchdarcs { url = "http://happs.org/repos/HAppS-Data"; md5 = "10c505dd687e9dc999cb187090af9ba7"; };
} ;
happs_util_darcs = { name = " H A p p S - U t i l - d a r c s " ; p_deps = [ x . base x . mtl x . hslogger x . template_haskell x . array x . bytestring x . old_time x . process x . directory ] ;
src = sourceByName " h a p p s _ u t i l " ; # fetchdarcs { url = "http://happs.org/repos/HAppS-Util"; md5 = "693cb79017e522031c307ee5e59fc250"; };
} ;
happs_state_darcs = { name = " H A p p S - S t a t e - d a r c s " ; p_deps = [ x . base x . haxml
x . mtl x . network x . stm x . template_haskell x . hslogger
x . happs_util_darcs x . happs_data_darcs x . bytestring x . containers
x . random x . old_time x . old_locale x . unix x . directory x . binary x . hspread ] ;
src = sourceByName " h a p p s _ s t a t e " ;
#src = fetchdarcs { url = "http://happs.org/repos/HAppS-State";
# md5 = "956e5c293b60f4a98148fedc5fa38acc";
# };
} ;
2008-08-06 13:41:17 +02:00
2008-08-06 18:56:05 +02:00
happs_hsp_darcs = { name = " h a p p s - h s p - d a r c s " ; src = sourceByName " h a p p s _ h s p " ; p_deps = [ x . base x . mtl x . bytestring x . plugins_darcs x . happs_server_darcs x . hsp_darcs x . containers x . rjson x . directory x . hinotify x . filepath ] ;
pass = { patches = ./hsp-darcs.patch ; } ;
} ;
happs_hsp_template_darcs = { name = " h a p p s - h s p - t e m p l a t e - d a r c s " ; src = sourceByName " h a p p s _ h s p _ t e m p l a t e " ; p_deps = [ x . base x . bytestring x . filepath x . directory x . mtl x . containers x . network x . hinotify x . plugins_darcs x . rjson x . happs_server_darcs x . hsp_darcs ] ; } ;
hsp_darcs = { name = " h s p - d a r c s " ; src = sourceByName " h s p " ; p_deps = [ x . base x . mtl x . harp x . hsx x . hjscript_darcs ] ;
pass = { inherit ( x ) hsx ; postUnpack = '' P A T H = $P A T H : $h s x / u s r / l o c a l / b i n '' ; } ;
} ;
#hsp_xml_darcs = { name="hsp-xml-darcs"; src=sourceByName "hsp_xml"; p_deps=[x.base x.haskell98 x.hsp_darcs x.hsx x.mtl x.harp x.haxml_darcs];
# pass = { inherit (x) hsx; postUnpack=''PATH=$PATH:$hsx/usr/local/bin''; };
# };
hspCgi_darcs = { name = " h s p - c g i - d a r c s " ; src = sourceByName " h s p C g i " ; p_deps = [ x . base x . hsp_darcs x . network x . containers x . harp ] ;
pass = { inherit ( x ) hsx ; postUnpack = '' P A T H = $P A T H : $h s x / u s r / l o c a l / b i n '' ; } ;
} ;
hjscript_darcs = { name = " h j s c r i p t - d a r c s " ; src = sourceByName " h j s c r i p t " ; p_deps = [ x . base x . hjavascript_darcs x . mtl x . hsx ] ; } ;
hjquery_darcs = { name = " h j q u e r y - d a r c s " ; src = sourceByName " h j q u e r y " ; p_deps = [ x . base x . hjscript_darcs ] ; } ;
hjavascript_darcs = { name = " d a r c s " ; src = sourceByName " h j a v a s c r i p t " ; p_deps = [ x . base x . pretty ] ; } ;
#happs_plugins_darcs = { name="HAppS-plugins-darcs"; p_deps=[ x.base x.mtl x.hslogger x.happs_util_darcs x.happs_data_darcs x.happs_state_darcs x.containers ];
#src = bleedingEdgeRepos.sourceByName "happs_plugins";
#};
# there is no .cabal yet
#happs_smtp_darcs = { name="HAppS-smtp-darcs"; p_deps=[];
#src = fetchdarcs { url = "http://happs.org/repos/HAppS-smtp"; md5 = "5316917e271ea1ed8ad261080bcb47db"; };
#};
happs_ixset_darcs = { name = " H A p p S - I x S e t - d a r c s " ; p_deps = [ x . base x . mtl
x . hslogger x . happs_util_darcs x . happs_state_darcs x . happs_data_darcs
x . template_haskell x . syb_with_class_darcs x . containers ] ;
src = sourceByName " h a p p s _ i x s e t " ;
} ;
happs_server_darcs = { name = " H A p p S - S e r v e r - d a r c s " ; p_deps = [ x . haxml x . parsec3 x . mtl
x . network x . regex_compat x . hslogger x . happs_data_darcs
x . happs_util_darcs x . happs_state_darcs x . happs_ixset_darcs x . http_darcs
x . template_haskell x . xhtml x . html x . bytestring x . random
x . containers x . old_time x . old_locale x . directory x . unix ] ;
#src = fetchdarcs { url = "http://happs.org/repos/HAppS-HTTP"; md5 = "e1bb17eb30a39d30b8c34dffbf80edc2"; };
src = sourceByName " h a p p s _ s e r v e r " ;
} ;
# using darcs with minimal patch applied to support $GHC_PACKAGE_PATH
cabal_darcs =
{ name = cabal_darcs_name ; p_deps = with ghc . core_libs ; [ base rts directory process pretty containers filepath ] ;
src = sourceByName " c a b a l " ;
pass = { dummy = 2 ; } ;
2008-08-06 13:41:17 +02:00
} ;
2008-05-13 10:40:57 +02:00
} // ( getConfig [ " g h c 6 8 C u s t o m L i b s " ] ( args : x : { } ) ) args x ;
2008-03-13 10:46:12 +01:00
toDerivation = attrs : with attrs ;
# result is { mtl = <deriv>;
addHasktagsTaggingInfo ( ghcCabalDerivation {
inherit ( attrs ) name src ;
2008-05-13 10:40:57 +02:00
useLocalPkgDB = attrs ? useLocalPkgDB ;
2008-03-13 10:46:12 +01:00
propagatedBuildInputs = p_deps ++ ( lib . optional ( attrs . name != cabal_darcs_name ) derivations . cabal_darcs ) ;
srcDir = if attrs ? srcDir then attrs . srcDir else " . " ;
2008-08-06 18:56:05 +02:00
# add cabal, take deps either from this list or from ghc.core_libs
2008-03-13 10:46:12 +01:00
pass = if attrs ? pass then attrs . pass else { } ;
} ) ;
2008-08-06 18:56:05 +02:00
derivations = with lib ; builtins . listToAttrs ( lib . concatLists ( lib . mapRecordFlatten
2008-03-13 10:46:12 +01:00
( n : attrs : let d = ( toDerivation attrs ) ; in [ ( nv n d ) ( nv attrs . name d ) ] ) pkgs ) ) ;
} . derivations