2009-11-30 02:05:04 +01:00
args : with args ;
2009-12-11 14:58:23 +01:00
let
src_haxe_swflib = {
# REGION AUTO UPDATE: { name = "haxe_swflib"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/swflib"; groups = "haxe_group"; }
src = sourceFromHead " h a x e _ s w f l i b - F _ 0 1 - 2 5 - 0 0 . t a r . g z "
( fetchurl { url = " h t t p : / / m a w e r c e r . d e / ~ n i x / r e p o s / h a x e _ s w f l i b - F _ 0 1 - 2 5 - 0 0 . t a r . g z " ; sha256 = " d d e a 3 9 4 2 7 d e 2 3 f f 5 8 d 3 b 9 4 2 b b c c e 2 a a c 7 a 2 5 d c 1 1 a e 0 6 e f 9 8 3 6 5 3 c 8 2 6 1 4 e b a 9 c d " ; } ) ;
# END
} . src ;
src_haxe_extc = {
# REGION AUTO UPDATE: { name = "haxe_extc"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extc"; groups = "haxe_group"; }
src = sourceFromHead " h a x e _ e x t c - F _ 0 1 - 2 5 - 0 8 . t a r . g z "
( fetchurl { url = " h t t p : / / m a w e r c e r . d e / ~ n i x / r e p o s / h a x e _ e x t c - F _ 0 1 - 2 5 - 0 8 . t a r . g z " ; sha256 = " a b 2 1 0 0 3 9 1 7 3 5 d 3 9 c 9 3 c 7 2 b 2 3 6 e c 6 e 9 c 5 c f 0 9 4 6 1 3 1 1 a 7 e 3 a 7 1 4 d 8 6 7 8 6 1 9 2 6 a e 3 7 " ; } ) ;
# END
} . src ;
src_haxe_extlib_dev = {
# REGION AUTO UPDATE: { name = "haxe_extlib_dev"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extlib-dev"; groups = "haxe_group"; }
src = sourceFromHead " h a x e _ e x t l i b _ d e v - F _ 0 1 - 2 5 - 1 7 . t a r . g z "
( fetchurl { url = " h t t p : / / m a w e r c e r . d e / ~ n i x / r e p o s / h a x e _ e x t l i b _ d e v - F _ 0 1 - 2 5 - 1 7 . t a r . g z " ; sha256 = " 0 1 c 3 c 8 a f d f 4 7 a 9 8 3 2 0 e 6 5 c 0 6 5 2 4 9 2 5 0 8 8 5 4 e a 2 8 e a d 0 4 3 7 a b d 1 7 a 4 2 2 8 b 3 3 c 8 0 6 6 " ; } ) ;
# END
} . src ;
src_haxe_xml_light = {
# REGION AUTO UPDATE: { name = "haxe_xml_light"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/xml-light"; groups = "haxe_group"; }
src = sourceFromHead " h a x e _ x m l _ l i g h t - F _ 0 1 - 2 5 - 2 4 . t a r . g z "
( fetchurl { url = " h t t p : / / m a w e r c e r . d e / ~ n i x / r e p o s / h a x e _ x m l _ l i g h t - F _ 0 1 - 2 5 - 2 4 . t a r . g z " ; sha256 = " 7 f e 2 4 4 6 8 1 6 9 8 9 9 5 a f 5 4 0 8 5 b b 2 a b 8 7 3 d 3 d d 1 f f 2 f a c 3 3 a a 8 e 7 b 0 0 f c b b c 5 0 2 4 9 3 3 4 " ; } ) ;
# END
} . src ;
src_haxe_neko_include = {
# REGION AUTO UPDATE: { name = "haxe_neko_include"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko/libs/include/ocaml"; groups = "haxe_group"; }
src = sourceFromHead " h a x e _ n e k o _ i n c l u d e - F _ 0 1 - 2 5 - 2 8 . t a r . g z "
( fetchurl { url = " h t t p : / / m a w e r c e r . d e / ~ n i x / r e p o s / h a x e _ n e k o _ i n c l u d e - F _ 0 1 - 2 5 - 2 8 . t a r . g z " ; sha256 = " 8 b 6 4 2 5 9 8 8 8 9 c f 2 f d 1 f 9 9 d f a 0 3 7 e e f 0 9 b 2 5 1 1 d 3 0 a 8 f 5 a 6 a 7 5 e e 0 2 b 2 e 9 8 f a 4 c 6 b 7 " ; } ) ;
# END
} . src ;
in
2009-11-30 02:05:04 +01:00
stdenv . mkDerivation {
name = " h a x e - c v s " ;
2009-12-11 14:58:23 +01:00
# REGION AUTO UPDATE: { name="haxe"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "haxe"; groups = "haxe_group"; }
src = sourceFromHead " h a x e - F _ 0 1 - 2 5 - 3 5 . t a r . g z "
( fetchurl { url = " h t t p : / / m a w e r c e r . d e / ~ n i x / r e p o s / h a x e - F _ 0 1 - 2 5 - 3 5 . t a r . g z " ; sha256 = " 8 e 5 e 5 3 3 0 e 2 f d 7 f f b b f e 4 8 d 4 0 b d a 0 3 2 5 6 a e f b e 3 0 c f 1 b e 1 d 9 c 9 0 6 5 1 1 7 b 2 b 1 7 9 f 2 4 " ; } ) ;
# END
2009-11-30 02:05:04 +01:00
buildInputs = [ ocaml zlib makeWrapper ] ;
inherit zlib ;
buildPhase = ''
mkdir - p ocaml / { swflib , extc , extlib-dev , xml-light } neko/libs
# strange setup. install.ml seems to co the same repo again into haxe directory!
tar xfz $ src - - strip-components = 1 - C haxe
t ( ) { tar xfz $ 1 - C $ 2 - - strip-components = 2 ; }
2009-12-11 14:58:23 +01:00
t $ { src_haxe_swflib } ocaml/swflib
t $ { src_haxe_extc } ocaml/extc
t $ { src_haxe_extlib_dev } ocaml/extlib-dev
t $ { src_haxe_xml_light } ocaml/xml-light
t $ { src_haxe_neko_include } neko/libs
2009-11-30 02:05:04 +01:00
sed - e ' /download ( ) ; /d ' \
- e " s @ / u s r / l i b / @ ' ' ${ zlib } / l i b / @ g " \
doc/install.ml > install . ml
ocaml install . ml
'' ;
# probably rpath should be set properly
installPhase = ''
ensureDir $ out/lib/haxe
cp - r bin $ out/bin
wrapProgram " $ o u t / b i n / h a x e " \
- - set " L D _ L I B R A R Y _ P A T H " $ zlib/lib \
- - set HAXE_LIBRARY_PATH " ' ' ${ HAXE_LIBRARY_PATH } ' ' ${ HAXE_LIBRARY_PATH : - : } : $ o u t / l i b / h a x e / s t d : . "
cp - r std $ out/lib/haxe /
'' ;
meta = {
description = " p r o g r a m m i n g l a n g u a g e t a r g e t i n g J a v a S c r i p t , F l a s h , N e k V M , P H P , C + + " ;
homepage = http://haxe.org ;
license = [ " G P L v 2 " " B S D 2 " /* ? */ ] ; # -> docs/license.txt
maintainers = [ args . lib . maintainers . marcweber ] ;
platforms = args . lib . platforms . linux ;
} ;
}