commit
f87deb0b3a
@ -61,7 +61,7 @@ stdenv.mkDerivation {
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://ftp.nluug.nl/gnu/binutils/binutils-2.16.1.tar.bz2;
|
||||
md5 = "6a9d529efb285071dad10e1f3d2b2967";
|
||||
sha256 = "1ian3kwh2vg6hr3ymrv48s04gijs539vzrq62xr76bxbhbwnz2np";
|
||||
};
|
||||
inherit noSysDirs;
|
||||
configureFlags = "--target=arm-linux";
|
||||
@ -81,11 +81,11 @@ Step 2: build kernel headers for the target architecture
|
||||
assert stdenv.system == "i686-linux";
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "linux-headers-2.6.13.4-arm";
|
||||
name = "linux-headers-2.6.13.1-arm";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.13.4.tar.bz2;
|
||||
md5 = "94768d7eef90a9d8174639b2a7d3f58d";
|
||||
url = http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.13.1.tar.bz2;
|
||||
sha256 = "12qxmc827fjhaz53kjy7vyrzsaqcg78amiqsb3qm20z26w705lma";
|
||||
};
|
||||
}
|
||||
---
|
||||
@ -152,9 +152,7 @@ stdenv.mkDerivation {
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = ftp://ftp.nluug.nl/pub/gnu/gcc/gcc-4.0.2/gcc-core-4.0.2.tar.bz2;
|
||||
md5 = "f7781398ada62ba255486673e6274b26";
|
||||
#url = ftp://ftp.nluug.nl/pub/gnu/gcc/gcc-4.0.2/gcc-4.0.2.tar.bz2;
|
||||
#md5 = "a659b8388cac9db2b13e056e574ceeb0";
|
||||
sha256 = "02fxh0asflm8825w23l2jq1wvs7hbnam0jayrivg7zdv2ifnc0rc";
|
||||
};
|
||||
# !!! apply only if noSysDirs is set
|
||||
patches = [./no-sys-dirs.patch ./gcc-inhibit.patch];
|
||||
|
@ -1,12 +1,12 @@
|
||||
{stdenv, fetchurl, jre}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation rec {
|
||||
name = "aspectj-1.5.2";
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/aspectj/aspectj-1.5.2.jar;
|
||||
md5 = "64245d451549325147e3ca1ec4c9e57c";
|
||||
url = "http://archive.eclipse.org/tools/aspectj/${name}.jar";
|
||||
sha256 = "1b3mx248dc1xka1vgsl0jj4sm0nfjsqdcj9r9036mvixj1zj3nmh";
|
||||
};
|
||||
|
||||
inherit jre;
|
||||
|
@ -4,7 +4,7 @@ stdenv.mkDerivation {
|
||||
name = "jikes-1.22";
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/jikes/jikes-1.22.tar.bz2;
|
||||
md5 = "cda958c7fef6b43b803e1d1ef9afcb85";
|
||||
sha256 = "1qqldrp74pzpy5ly421srqn30qppmm9cvjiqdngk8hf47dv2rc0c";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -2,7 +2,7 @@
|
||||
name = "meta-build-env-0.1";
|
||||
src = fetchurl {
|
||||
url = http://www.meta-environment.org/releases/meta-build-env-0.1.tar.gz ;
|
||||
md5 = "827b54ace4e2d3c8e7605ea149b34293";
|
||||
sha256 = "1imn1gaan4fv73v8w3k3lgyjzkcn7bdp69k6hlz0vqdg17ysd1x3";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -1,600 +0,0 @@
|
||||
diff -urN cil-1.3.6-orig/bin/CilConfig.pm.in cil-1.3.6/bin/CilConfig.pm.in
|
||||
--- cil-1.3.6-orig/bin/CilConfig.pm.in 2007-02-05 22:10:29.000000000 +0100
|
||||
+++ cil-1.3.6/bin/CilConfig.pm.in 2007-03-08 15:02:06.000000000 +0100
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
$::archos = "@ARCHOS@";
|
||||
$::cc = "@CC@";
|
||||
-$::cilhome = "@CILHOME@";
|
||||
+$::cilhome = "@prefix@";
|
||||
$::default_mode = "@DEFAULT_CIL_MODE@";
|
||||
|
||||
diff -urN cil-1.3.6-orig/Makefile.in cil-1.3.6/Makefile.in
|
||||
--- cil-1.3.6-orig/Makefile.in 2007-02-05 22:10:29.000000000 +0100
|
||||
+++ cil-1.3.6/Makefile.in 2007-03-05 15:10:31.000000000 +0100
|
||||
@@ -85,6 +85,7 @@
|
||||
cfg liveness reachingdefs deadcodeelim availexps \
|
||||
availexpslv predabst\
|
||||
testcil \
|
||||
+ atermprinter \
|
||||
$(CILLY_FEATURES) \
|
||||
ciloptions feature_config
|
||||
# ww: we don't want "main" in an external cil library (cil.cma),
|
||||
@@ -626,6 +627,8 @@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
+bindir = @prefix@/bin
|
||||
+objdir = @prefix@/$(OBJDIR)
|
||||
datarootdir = @datarootdir@
|
||||
libdir = @libdir@
|
||||
pkglibdir = $(libdir)/cil
|
||||
@@ -645,6 +648,11 @@
|
||||
$(INSTALL_DATA) $(install_lib) $(DESTDIR)$(pkglibdir)
|
||||
$(INSTALL) -d $(DESTDIR)$(pkgdatadir)
|
||||
$(INSTALL_DATA) $(addprefix lib/, $(filter %.pm, $(DISTRIB_LIB))) $(DESTDIR)$(pkgdatadir)
|
||||
+ $(INSTALL) -d $(bindir)
|
||||
+ $(INSTALL) -d $(objdir)
|
||||
+ $(INSTALL) bin/* $(bindir)
|
||||
+ $(INSTALL_DATA) lib/* $(bindir)
|
||||
+ $(INSTALL) $(OBJDIR)/*.exe $(objdir)
|
||||
|
||||
cil.spec: cil.spec.in
|
||||
./config.status $@
|
||||
diff -urN cil-1.3.6-orig/ocamlutil/Makefile.ocaml cil-1.3.6/ocamlutil/Makefile.ocaml
|
||||
--- cil-1.3.6-orig/ocamlutil/Makefile.ocaml 2007-02-05 22:10:29.000000000 +0100
|
||||
+++ cil-1.3.6/ocamlutil/Makefile.ocaml 2007-03-05 15:14:01.000000000 +0100
|
||||
@@ -192,20 +192,10 @@
|
||||
# $(AT) - put this before shell commands which are to be executed,
|
||||
# and also printed in style 2
|
||||
# $(ECHO) - use in place of '@' for things not printed in either style
|
||||
-ifdef ECHOSTYLE_SCOTT
|
||||
- # 'true' silently consumes its arguments, whereas 'echo' prints them
|
||||
- NARRATIVE := true
|
||||
- COMMAND := echo
|
||||
- AT :=
|
||||
- ECHO := @
|
||||
-else
|
||||
- NARRATIVE := echo
|
||||
- COMMAND := true
|
||||
- # change these next two definitions to <empty> to echo everything,
|
||||
- # or leave as @ to suppress echoing
|
||||
- AT := @
|
||||
- ECHO := @
|
||||
-endif
|
||||
+NARRATIVE := true
|
||||
+COMMAND := echo
|
||||
+AT :=
|
||||
+ECHO := @
|
||||
|
||||
ifdef PREPROC
|
||||
COMPILEFLAGS += -pp "$(PREPROC)$"
|
||||
diff -urN cil-1.3.6-orig/src/ext/atermprinter.ml cil-1.3.6/src/ext/atermprinter.ml
|
||||
--- cil-1.3.6-orig/src/ext/atermprinter.ml 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ cil-1.3.6/src/ext/atermprinter.ml 2007-03-05 16:48:08.000000000 +0100
|
||||
@@ -0,0 +1,514 @@
|
||||
+open Cil
|
||||
+open Pretty
|
||||
+open List
|
||||
+open String
|
||||
+open Printf
|
||||
+module S = String
|
||||
+module E = Errormsg
|
||||
+module H = Hashtbl
|
||||
+module IH = Inthash
|
||||
+
|
||||
+let outputfilename = ref "cil.aterm"
|
||||
+let trace p = eprintf "%s" (p ^ "\n") ; flush stderr
|
||||
+let invalidStmt = mkStmt (Instr [])
|
||||
+let id = fun x -> x
|
||||
+let compose f g x = (f (g x))
|
||||
+let (@) = compose
|
||||
+let pSpace = text " "
|
||||
+let foldl1 op ls = match ls with
|
||||
+ | (x::xs) -> fold_left op x xs
|
||||
+ | _ -> raise (Invalid_argument "foldl1 should not take an empty list")
|
||||
+let pPacked d l r = l ++ d ++ r
|
||||
+let pParens d = pPacked d (text "(") (text ")")
|
||||
+let pBraced d = pPacked d (text "{") (text "}")
|
||||
+let pSquared d = pPacked d (text "[") (text "]")
|
||||
+let pSpaced d = pPacked d pSpace pSpace
|
||||
+let pBool b = (pSpaced @ text @ S.capitalize @ string_of_bool) b
|
||||
+let pInt64 i = text (Int64.to_string i)
|
||||
+let pSeqSep sep xs = match xs with
|
||||
+ | [] -> nil
|
||||
+ | _ -> foldl1 (pPacked sep) xs
|
||||
+let pCommaSep xs = pSeqSep (text ",") xs
|
||||
+let pPair (a,b) = (pSpaced @ pParens @ pCommaSep) [a;b]
|
||||
+let pTriplet (a,b,c) = (pSpaced @ pParens @ pCommaSep) [a;b;c]
|
||||
+let pSemiColSep xs = pSeqSep (text ";") xs
|
||||
+let pTriple f g h (a,b,c) = (f a, g b, h c)
|
||||
+let pDouble f g (a,b) = (f a, g b)
|
||||
+let pOption p m = match m with
|
||||
+ | None -> text "None()"
|
||||
+ | Some v -> text "Some" ++ pParens( p v )
|
||||
+let pSpParens = pSpaced @ pParens
|
||||
+let pQuoted str = pPacked (text(escaped str)) (text "\"") (text "\"")
|
||||
+let pList = pSpaced @ pSquared @ pCommaSep
|
||||
+let pRecord = pSpaced @ pBraced @ pCommaSep
|
||||
+
|
||||
+class atermPrinter : cilPrinter =
|
||||
+object (self)
|
||||
+ inherit defaultCilPrinterClass
|
||||
+
|
||||
+ (* printing variable declarations; just store the varinfo *)
|
||||
+ method pVDecl () (vinfo:varinfo) : doc = if !E.verboseFlag then trace "pVDecl"
|
||||
+ ; self#pp_varinfo vinfo
|
||||
+ (* printing variable uses; same as declarations; store the varinfo *)
|
||||
+ method pVar (vinfo:varinfo) : doc = if !E.verboseFlag then trace "pVar" ;
|
||||
+ self#pp_varinfo vinfo
|
||||
+
|
||||
+ method pLval () ((lh, off):lval) : doc = if !E.verboseFlag then trace "pLvalue" ;
|
||||
+ text "Lvalue" ++ (pParens @ pCommaSep) [ self#pp_lhost lh ; self#pOffset nil off ]
|
||||
+
|
||||
+ (** we are not using the first argument which represents the base from which we are
|
||||
+ offsetting, because we just want to generate a tree view of the CIL tree. For a tree view
|
||||
+ this base case is not necessary **)
|
||||
+ method pOffset (d:doc) (o:offset) : doc = if !E.verboseFlag then trace "pOffset" ;
|
||||
+ match o with
|
||||
+ | NoOffset -> text "Offset_NoOffset() "
|
||||
+ | Field (finfo, off) -> text "Offset_Field" ++ (pParens @ pCommaSep) [ (self#pFieldDecl ()) finfo ; self#pOffset nil off ]
|
||||
+ | Index (e, off) -> text "Offset_Index" ++ (pParens @ pCommaSep) [ self#pExp () e ; self#pOffset nil off ]
|
||||
+
|
||||
+ (*** INSTRUCTIONS ***)
|
||||
+ method pInstr () (i:instr) : doc = if !E.verboseFlag then trace "pInstr" ;
|
||||
+ match i with
|
||||
+ | Set (lv,e,l) -> text "Set" ++ (pParens @ pCommaSep) [
|
||||
+ self#pLval () lv ;
|
||||
+ self#pExp () e ;
|
||||
+ self#pp_location l ]
|
||||
+ | Call (olv,e, elst, l) -> text "Call" ++ (pParens @ pCommaSep) [
|
||||
+ pOption (self#pLval ()) olv ;
|
||||
+ self#pExp () e ;
|
||||
+ pList (map (self#pExp ()) elst) ;
|
||||
+ self#pp_location l]
|
||||
+ | Asm (attr, slst1, outs, ins, slst2, l) -> text "Asm" ++ (pParens @ pCommaSep) [
|
||||
+ self#pAttrs () attr ;
|
||||
+ (pList @ map pQuoted) slst1 ;
|
||||
+ (pList @ ( map ( pTriplet
|
||||
+ @ (pTriple (pOption (pQuoted)) (pQuoted) (self#pLval ()))
|
||||
+ )
|
||||
+ ) ) outs ;
|
||||
+ (pList @ ( map ( pTriplet
|
||||
+ @ (pTriple (pOption (pQuoted)) (pQuoted) (self#pExp ()))
|
||||
+ )
|
||||
+ ) ) ins ;
|
||||
+ (pList @ map pQuoted) slst2 ;
|
||||
+ self#pp_location l]
|
||||
+
|
||||
+
|
||||
+
|
||||
+ (* a statement itself is just a record of info about the statement
|
||||
+ the different kinds of statements can be found at pStmtKind *)
|
||||
+ method pStmt () (s:stmt) : doc = if !E.verboseFlag then trace "pStmt" ;
|
||||
+ self#pp_stmtinfo s
|
||||
+ method dStmt (out:out_channel) (i:int) (s:stmt) : unit = fprint out i (self#pStmt () s)
|
||||
+
|
||||
+ (* a block is just a record of info about the block of interest.
|
||||
+ the real block is a stmtkind (see pStmtKind) *)
|
||||
+ method dBlock (out:out_channel) (i:int) (b:block) : unit = fprint out i (self#pBlock () b)
|
||||
+ method pBlock () (b:block) : doc = if !E.verboseFlag then trace "pBlock" ;
|
||||
+ self#pp_blockinfo b
|
||||
+
|
||||
+ (*** GLOBALS ***)
|
||||
+ method pGlobal () (g:global) : doc = if !E.verboseFlag then trace "pGlobal" ; (* global (vars, types, etc.) *)
|
||||
+ match g with
|
||||
+ | GType (typ , l) -> text "GlobalType" ++ (pParens @ pCommaSep) [ self#pp_typeinfo typ ; self#pp_location l ]
|
||||
+ | GCompTag (comp, l) -> text "GlobalCompTag" ++ (pParens @ pCommaSep) [ self#pp_compinfo comp ; self#pp_location l ]
|
||||
+ | GCompTagDecl (comp, l) -> text "GlobalCompTagDecl" ++ (pParens @ pCommaSep) [ self#pp_compinfo comp ; self#pp_location l ]
|
||||
+ | GEnumTag (enum, l) -> text "GlobalEnumTag" ++ (pParens @ pCommaSep) [ self#pp_enuminfo enum ; self#pp_location l ]
|
||||
+ | GEnumTagDecl (enum, l) -> text "GlobalEnumTagDecl" ++ (pParens @ pCommaSep) [ self#pp_enuminfo enum ; self#pp_location l ]
|
||||
+ | GVarDecl (vinf, l) -> text "GlobalVarDecl" ++ (pParens @ pCommaSep) [ self#pp_varinfo vinf ; self#pp_location l ]
|
||||
+ | GVar (vinf, iinf, l) -> text "GlobalVar" ++ (pParens @ pCommaSep) [ self#pp_varinfo vinf ; self#pp_initinfo iinf ; self#pp_location l ]
|
||||
+ | GFun (fdec, l) -> text "GlobalFun" ++ (pParens @ pCommaSep) [ self#pp_fundec fdec ; self#pp_location l ]
|
||||
+ | GAsm (str , l) -> text "GlobalAsm" ++ (pParens @ pCommaSep) [ pQuoted str ; self#pp_location l ]
|
||||
+ | GPragma (attr, l) -> text "GlobalPragma" ++ (pParens @ pCommaSep) [ (fun (doc1, bool1) -> doc1) (self#pAttr attr)
|
||||
+ ; self#pp_location l
|
||||
+ ]
|
||||
+ | GText str -> text "GlobalText" ++ pParens( pQuoted str)
|
||||
+ method dGlobal (out:out_channel) (g:global) : unit = fprint out 80 (self#pGlobal () g)
|
||||
+
|
||||
+ (* a fielddecl is just a record containing info about the decl *)
|
||||
+ method pFieldDecl () : fieldinfo -> doc = if !E.verboseFlag then trace "pFieldDecl" ;
|
||||
+ self#pp_fieldinfo
|
||||
+
|
||||
+ (*** TYPES ***)
|
||||
+ method pType (nameOpt: doc option) (* Whether we are declaring a name or
|
||||
+ * we are just printing a type *)
|
||||
+ () (t:typ) = if !E.verboseFlag then trace "pType" ; (* use of some type *)
|
||||
+ match t with
|
||||
+ | TVoid attr -> text "TVoid" ++ pParens( self#pAttrs () attr)
|
||||
+ | TInt (ikin, attr) -> text "TInt" ++ (pParens @ pCommaSep) [ self#pp_ikind ikin ; self#pAttrs () attr ]
|
||||
+ | TFloat (fkin, attr) -> text "TFloat" ++ (pParens @ pCommaSep) [ self#pp_fkind fkin ; self#pAttrs () attr ]
|
||||
+ | TPtr (t , attr) -> text "TPtr" ++ (pParens @ pCommaSep) [ self#pType None () t ; self#pAttrs () attr ]
|
||||
+ | TArray (t, e, attr) -> text "TArray" ++ (pParens @ pCommaSep) [ self#pType None () t ;
|
||||
+ pOption (self#pExp ()) e ; self#pAttrs () attr ]
|
||||
+ | TFun (t, olst, b, attr) -> text "TFun" ++ (pParens @ pCommaSep) [
|
||||
+ self#pType None () t ;
|
||||
+ pOption (pList @ (map ( pTriplet
|
||||
+ @ (pTriple (pQuoted) (self#pType None ()) (self#pAttrs ()))
|
||||
+ )
|
||||
+ )
|
||||
+ )
|
||||
+ olst ;
|
||||
+ pBool b ;
|
||||
+ self#pAttrs () attr]
|
||||
+ | TNamed (tinfo, attr) -> text "TNamed" ++ (pParens @ pCommaSep) [ self#pp_typeinfo tinfo ; self#pAttrs () attr ]
|
||||
+ | TComp (cinfo, attr) -> text "TComp" ++ (pParens @ pCommaSep) [ (text @ string_of_int) cinfo.ckey ;
|
||||
+ self#pAttrs () attr]
|
||||
+ | TEnum (einfo, attr) -> text "TEnum" ++ (pParens @ pCommaSep) [ self#pp_enuminfo einfo ; self#pAttrs () attr ]
|
||||
+ | TBuiltin_va_list (attr) -> text "TBuiltin_va_list" ++ pParens( self#pAttrs () attr)
|
||||
+
|
||||
+ (*** ATTRIBUTES ***)
|
||||
+ method pAttr (Attr(an, args) : attribute) : (doc * bool) = if !E.verboseFlag then trace "pAttr" ;
|
||||
+ ( text "Attr" ++ (pParens @ pCommaSep) [ pQuoted an ; pList (map (self#pAttrParam ()) args) ]
|
||||
+ , false
|
||||
+ )
|
||||
+
|
||||
+ method pAttrParam () (p:attrparam) : doc = if !E.verboseFlag then trace "pAttrParam" ;
|
||||
+ match p with
|
||||
+ | AInt (i) -> text "AInt" ++ pParens( pQuoted (string_of_int i))
|
||||
+ | AStr (s) -> text "AStr" ++ pParens( pQuoted s)
|
||||
+ | ACons (s, args) -> text "ACons" ++ (pParens @ pCommaSep) [ pQuoted s ; pList (map (self#pAttrParam ()) args) ]
|
||||
+ | ASizeOf (t) -> text "ASizeOf" ++ pParens( self#pType None () t)
|
||||
+ | ASizeOfE (arg) -> text "ASizeOfE" ++ pParens( self#pAttrParam () arg)
|
||||
+ | ASizeOfS (tsig) -> text "ASizeOfS" ++ pParens( self#pp_typsig tsig)
|
||||
+ | AAlignOf (t) -> text "AAlignOf" ++ pParens( self#pType None () t)
|
||||
+ | AAlignOfE (arg) -> text "AAlignOfE" ++ pParens( self#pAttrParam () arg)
|
||||
+ | AAlignOfS (tsig) -> text "AAlignOfS" ++ pParens( self#pp_typsig tsig)
|
||||
+ | AUnOp (uop, arg) -> text "AUnOp" ++ (pParens @ pCommaSep) [ self#pp_unop uop ; self#pAttrParam () arg ]
|
||||
+ | ABinOp (bop, arg1, arg2) -> text "ABinOp" ++ (pParens @ pCommaSep) [ self#pp_binop bop
|
||||
+ ; self#pAttrParam () arg1
|
||||
+ ; self#pAttrParam () arg2 ]
|
||||
+ | ADot (arg, s) -> text "ADot" ++ (pParens @ pCommaSep) [ self#pAttrParam () arg ; pQuoted s]
|
||||
+ | AStar (a1) -> text "AStar" ++ pParens( self#pAttrParam () a1 )
|
||||
+ | AAddrOf (a1) -> text "AAddrOf" ++ pParens( self#pAttrParam () a1 )
|
||||
+ | AIndex (a1, a2) -> text "AIndex" ++ (pParens @ pCommaSep) [ self#pAttrParam () a1
|
||||
+ ; self#pAttrParam () a2 ]
|
||||
+ | AQuestion (a1, a2, a3) -> text "AQuestion" ++ (pParens @ pCommaSep) [ self#pAttrParam () a1
|
||||
+ ; self#pAttrParam () a2
|
||||
+ ; self#pAttrParam () a3 ]
|
||||
+
|
||||
+ (* | AStar a1 ->
|
||||
+ text "(*" ++ (self#pAttrPrec derefStarLevel () a1) ++ text ")"
|
||||
+ | AAddrOf a1 -> text "& " ++ (self#pAttrPrec addrOfLevel () a1)
|
||||
+ | AIndex (a1, a2) -> self#pAttrParam () a1 ++ text "[" ++
|
||||
+ self#pAttrParam () a2 ++ text "]"
|
||||
+ | AQuestion (a1, a2, a3) ->
|
||||
+ self#pAttrParam () a1 ++ text " ? " ++
|
||||
+ self#pAttrParam () a2 ++ text " : " ++
|
||||
+ self#pAttrParam () a3
|
||||
+*)
|
||||
+ method pAttrs () (attr:attributes) : doc = if !E.verboseFlag then trace "pAttrs" ;
|
||||
+ text "Attributes" ++ pParens(
|
||||
+ pList (map (fst @ self#pAttr) attr)
|
||||
+ )
|
||||
+
|
||||
+ (*** LABELS ***)
|
||||
+ method pLabel () (l:label) : doc = if !E.verboseFlag then trace "pLabel" ;
|
||||
+ match l with
|
||||
+ | Label (s,l,b) -> text "Label" ++ (pParens @ pCommaSep) [
|
||||
+ pQuoted s ;
|
||||
+ self#pp_location l ;
|
||||
+ pBool b ]
|
||||
+ | Case (e,l) -> text "Case" ++ (pParens @ pCommaSep) [
|
||||
+ self#pExp () e ;
|
||||
+ self#pp_location l ]
|
||||
+ | Default (l) -> text "Default" ++ pParens( self#pp_location l)
|
||||
+
|
||||
+ (*** printing out locations as line directives is not necessary
|
||||
+ because we are printing the tree structure and locations are
|
||||
+ present everywhere ***)
|
||||
+ method pLineDirective : ?forcefile:bool -> location -> doc = fun ?forcefile _ -> nil
|
||||
+
|
||||
+ (*** STATEMENT KINDS ***)
|
||||
+ method pStmtKind s () (sk:stmtkind) : doc = if !E.verboseFlag then trace "pStmtKind" ;
|
||||
+ match sk with
|
||||
+ | Instr (ilst) -> text "Instr" ++ pParens( pList (map (self#pInstr ()) ilst))
|
||||
+ | Return (oe, l) -> text "Return" ++ (pParens @ pCommaSep) [ pOption (self#pExp ()) oe ; self#pp_location l ]
|
||||
+ | Goto (stmtref, l) -> text "Goto" ++ (pParens @ pCommaSep) [ self#pStmt () !stmtref ; self#pp_location l ]
|
||||
+ | Break (l) -> text "Break" ++ pParens( self#pp_location l)
|
||||
+ | Continue (l) -> text "Continue" ++ pParens( self#pp_location l)
|
||||
+ | If (e, b1, b2, l) -> text "If" ++ (pParens @ pCommaSep) [
|
||||
+ self#pExp () e ;
|
||||
+ self#pBlock () b1 ;
|
||||
+ self#pBlock () b2 ;
|
||||
+ self#pp_location l ]
|
||||
+ | Switch (e,b,stlst,l) -> text "Switch" ++ (pParens @ pCommaSep) [
|
||||
+ self#pExp () e ;
|
||||
+ self#pBlock () b ;
|
||||
+ pList (map (self#pStmt ()) stlst) ;
|
||||
+ self#pp_location l ]
|
||||
+ | Loop (b,l,os1, os2) -> text "Loop" ++ (pParens @ pCommaSep) [
|
||||
+ self#pBlock () b ;
|
||||
+ self#pp_location l ;
|
||||
+ pOption (self#pStmt ()) os1 ;
|
||||
+ pOption (self#pStmt ()) os2 ]
|
||||
+ | Block (b) -> text "Block" ++ pParens( self#pBlock () b)
|
||||
+ | TryFinally (b1,b2,l) -> text "TryFinally" ++ (pParens @ pCommaSep) [
|
||||
+ self#pBlock () b1 ;
|
||||
+ self#pBlock () b2 ;
|
||||
+ self#pp_location l ]
|
||||
+ | TryExcept (b1, pr, b2, l) -> text "TryExcept" ++ (pParens @ pCommaSep) [
|
||||
+ self#pBlock () b1 ;
|
||||
+ ( pPair
|
||||
+ @ pDouble (pList @ map (self#pInstr ()))
|
||||
+ (self#pExp ())
|
||||
+ ) pr ;
|
||||
+ self#pBlock () b2 ;
|
||||
+ self#pp_location l ]
|
||||
+
|
||||
+ (*** EXPRESSIONS ***)
|
||||
+
|
||||
+ method pExp () (e:exp) : doc = if !E.verboseFlag then trace "pExp" ;
|
||||
+ match e with
|
||||
+ | Const (c) -> text "Constant" ++ pParens( self#pp_constant c)
|
||||
+ | Lval (lh,off) -> text "Lvalue" ++ (pParens @ pCommaSep) [self#pp_lhost lh ; self#pOffset nil off ]
|
||||
+ | SizeOf (t) -> text "SizeOfType" ++ pParens( self#pType None () t)
|
||||
+ | SizeOfE (e) -> text "SizeOfExp" ++ pParens( self#pExp () e)
|
||||
+ | SizeOfStr (s) -> text "SizeOfString" ++ pParens( pQuoted s)
|
||||
+ | AlignOf (t) -> text "AlignOfType" ++ pParens( self#pType None () t)
|
||||
+ | AlignOfE (e) -> text "AlignOfExp" ++ pParens( self#pExp () e)
|
||||
+ | UnOp (uop, e, t) -> text "UnOp" ++ (pParens @ pCommaSep) [
|
||||
+ self#pp_unop uop ;
|
||||
+ self#pExp () e ;
|
||||
+ self#pType None () t ]
|
||||
+ | BinOp (bop, e1, e2, t) -> text "BinOp" ++ (pParens @ pCommaSep) [
|
||||
+ self#pp_binop bop ;
|
||||
+ self#pExp () e1 ;
|
||||
+ self#pExp () e2 ;
|
||||
+ self#pType None () t ]
|
||||
+ | CastE (t,e) -> text "Cast" ++ (pParens @ pCommaSep) [ self#pType None () t ; self#pExp () e]
|
||||
+ | AddrOf (lv) -> text "AddressOf" ++ pParens( self#pLval () lv)
|
||||
+ | StartOf (lv) -> text "StartOf" ++ pParens( self#pLval () lv)
|
||||
+
|
||||
+ (*** INITIALIZERS ***)
|
||||
+ method pInit () (i:init) : doc = if !E.verboseFlag then trace "pInit" ;
|
||||
+ match i with
|
||||
+ | SingleInit (e) -> text "SingleInit" ++ pParens( self#pExp () e)
|
||||
+ | CompoundInit (t, oilst) -> text "CompoundInit" ++ (pParens @ pCommaSep) [ self#pType None () t ;
|
||||
+ pList (map ( pPair
|
||||
+ @ pDouble (self#pOffset nil) (self#pInit ())
|
||||
+ )
|
||||
+ oilst
|
||||
+ ) ]
|
||||
+ method dInit (out:out_channel) (i:int) (init1:init) : unit = fprint out i (self#pInit () init1)
|
||||
+
|
||||
+ (*** auxiliary methods ***)
|
||||
+ method private pp_storage (s:storage) : doc =
|
||||
+ let tok = match s with
|
||||
+ | NoStorage -> "NoStorage"
|
||||
+ | Static -> "Static"
|
||||
+ | Register -> "Register"
|
||||
+ | Extern -> "Extern"
|
||||
+ in text ("Storage_" ^ tok)
|
||||
+
|
||||
+ method private pp_typeinfo (tinfo:typeinfo) : doc = if !E.verboseFlag then trace "pp_typeinfo" ;
|
||||
+ text "Typeinfo" ++ (pParens @ pCommaSep) [
|
||||
+ pQuoted tinfo.tname ;
|
||||
+ self#pType None () tinfo.ttype ;
|
||||
+ pBool tinfo.treferenced ]
|
||||
+
|
||||
+ method private pp_fieldinfo (finfo:fieldinfo) : doc = if !E.verboseFlag then trace "pp_fieldinfo" ;
|
||||
+ text "Fieldinfo" ++ (pParens @ pCommaSep) [
|
||||
+ pQuoted finfo.fname ;
|
||||
+ self#pType None () finfo.ftype ;
|
||||
+ pOption (pQuoted @ string_of_int) finfo.fbitfield ;
|
||||
+ self#pAttrs () finfo.fattr ;
|
||||
+ self#pp_location finfo.floc ]
|
||||
+
|
||||
+ method private pp_compinfo (cinfo:compinfo) : doc = if !E.verboseFlag then trace "pp_compinfo" ;
|
||||
+ text "Compinfo" ++ (pParens @ pCommaSep) [
|
||||
+ pBool cinfo.cstruct ;
|
||||
+ pQuoted cinfo.cname ;
|
||||
+ text (string_of_int cinfo.ckey) ;
|
||||
+ pList (map (self#pFieldDecl ()) cinfo.cfields) ;
|
||||
+ self#pAttrs () cinfo.cattr ;
|
||||
+ pBool cinfo.cdefined ;
|
||||
+ pBool cinfo.creferenced ]
|
||||
+
|
||||
+ method private pp_enuminfo (einfo:enuminfo) : doc = if !E.verboseFlag then trace "pp_enuminfo" ;
|
||||
+ text "Enuminfo" ++ (pParens @ pCommaSep) [
|
||||
+ pQuoted einfo.ename ;
|
||||
+ pList (map ( pTriplet
|
||||
+ @ (pTriple pQuoted (self#pExp ()) self#pp_location)
|
||||
+ )
|
||||
+ einfo.eitems) ;
|
||||
+ self#pAttrs () einfo.eattr ;
|
||||
+ pBool einfo.ereferenced ]
|
||||
+
|
||||
+ method private pp_location (loc:location) : doc = if !E.verboseFlag then trace "pp_location" ;
|
||||
+ text "Location" ++ (pParens @ pCommaSep) [
|
||||
+ text (string_of_int loc.line) ;
|
||||
+ pQuoted loc.file ;
|
||||
+ text (string_of_int loc.byte) ]
|
||||
+
|
||||
+ method private pp_varinfo (vinfo:varinfo) : doc = if !E.verboseFlag then trace "pp_varinfo" ;
|
||||
+ text "Varinfo" ++ (pParens @ pCommaSep) [
|
||||
+ pQuoted vinfo.vname ;
|
||||
+ self#pType None () vinfo.vtype ;
|
||||
+ self#pAttrs () vinfo.vattr ;
|
||||
+ self#pp_storage vinfo.vstorage ;
|
||||
+ pBool vinfo.vglob ;
|
||||
+ pBool vinfo.vinline ;
|
||||
+ self#pp_location vinfo.vdecl ;
|
||||
+ text (string_of_int vinfo.vid) ;
|
||||
+ pBool vinfo.vaddrof ;
|
||||
+ pBool vinfo.vreferenced ]
|
||||
+
|
||||
+ method private pp_initinfo (iinfo:initinfo) : doc = if !E.verboseFlag then trace "pp_initinfo" ;
|
||||
+ text "Initinfo" ++ pParens(
|
||||
+ pOption (self#pInit ()) iinfo.init)
|
||||
+
|
||||
+ method private pp_fundec (fdec:fundec) : doc = if !E.verboseFlag then trace "pp_fundec" ;
|
||||
+ text "Fundec" ++ (pParens @ pCommaSep) [
|
||||
+ self#pp_varinfo fdec.svar ;
|
||||
+ pList (map self#pp_varinfo fdec.sformals) ;
|
||||
+ pList (map self#pp_varinfo fdec.slocals) ;
|
||||
+ text (string_of_int fdec.smaxid) ;
|
||||
+ self#pBlock () fdec.sbody ;
|
||||
+ pOption (pSpParens @ text @ string_of_int) fdec.smaxstmtid ;
|
||||
+ pList (map (self#pStmt ()) fdec.sallstmts) ]
|
||||
+
|
||||
+ method private pp_ikind (ikin:ikind) : doc =
|
||||
+ let tok = match ikin with
|
||||
+ | IChar -> "IChar"
|
||||
+ | ISChar -> "ISChar"
|
||||
+ | IUChar -> "IUChar"
|
||||
+ | IInt -> "IInt"
|
||||
+ | IUInt -> "IUInt"
|
||||
+ | IShort -> "IShort"
|
||||
+ | IUShort -> "IUShort"
|
||||
+ | ILong -> "ILong"
|
||||
+ | IULong -> "IULong"
|
||||
+ | ILongLong -> "ILongLong"
|
||||
+ | IULongLong -> "IULongLong"
|
||||
+ in text ("Ikind_" ^ tok)
|
||||
+
|
||||
+ method private pp_fkind (fkin:fkind) : doc =
|
||||
+ let tok = match fkin with
|
||||
+ | FFloat -> "FFloat"
|
||||
+ | FDouble -> "FDouble"
|
||||
+ | FLongDouble -> "FLongDouble"
|
||||
+ in text ("Fkind_" ^ tok)
|
||||
+
|
||||
+ method private pp_typsig (tsig:typsig) : doc = if !E.verboseFlag then trace "pp_typsig" ;
|
||||
+ match tsig with
|
||||
+ | TSArray (tsig2, oe, attr) -> text "TSArray" ++ (pParens @ pCommaSep) [
|
||||
+ self#pp_typsig tsig2 ;
|
||||
+ pOption pInt64 oe ;
|
||||
+ self#pAttrs () attr ]
|
||||
+ | TSPtr (tsig2, attr) -> text "TSPtr" ++ (pParens @ pCommaSep) [
|
||||
+ self#pp_typsig tsig2 ;
|
||||
+ self#pAttrs () attr ]
|
||||
+ | TSComp (b, s, attr) -> text "TSComp" ++ (pParens @ pCommaSep) [
|
||||
+ pBool b ;
|
||||
+ pQuoted s ;
|
||||
+ self#pAttrs () attr ]
|
||||
+ | TSFun (tsig2, tsiglst, b, attr) -> text "TSFun" ++ (pParens @ pCommaSep) [
|
||||
+ self#pp_typsig tsig2 ;
|
||||
+ pList (map self#pp_typsig tsiglst) ;
|
||||
+ pBool b ;
|
||||
+ self#pAttrs () attr ]
|
||||
+ | TSEnum (s, attr) -> text "TSEnum" ++ (pParens @ pCommaSep) [
|
||||
+ pQuoted s ;
|
||||
+ self#pAttrs () attr ]
|
||||
+ | TSBase (t) -> text "TSBase" ++ pParens( self#pType None () t)
|
||||
+
|
||||
+
|
||||
+ method private pp_unop (uop:unop) : doc =
|
||||
+ let tok = match uop with
|
||||
+ | Neg -> "Neg"
|
||||
+ | BNot -> "BNot"
|
||||
+ | LNot -> "LNot"
|
||||
+ in text ("UnOp_" ^ tok)
|
||||
+
|
||||
+ method private pp_binop (bop:binop) : doc =
|
||||
+ let tok = match bop with
|
||||
+ | PlusA -> "PlusA"
|
||||
+ | PlusPI -> "PlusPI"
|
||||
+ | IndexPI -> "IndexPI"
|
||||
+ | MinusA -> "MinusA"
|
||||
+ | MinusPI -> "MinusPI"
|
||||
+ | MinusPP -> "MinusPP"
|
||||
+ | Mult -> "Mult"
|
||||
+ | Div -> "Div"
|
||||
+ | Mod -> "Mod"
|
||||
+ | Shiftlt -> "Shiftlt"
|
||||
+ | Shiftrt -> "Shiftrt"
|
||||
+ | Lt -> "Lt"
|
||||
+ | Gt -> "Gt"
|
||||
+ | Le -> "Le"
|
||||
+ | Ge -> "Ge"
|
||||
+ | Eq -> "Eq"
|
||||
+ | Ne -> "Ne"
|
||||
+ | BAnd -> "BAnd"
|
||||
+ | BXor -> "BXor"
|
||||
+ | BOr -> "BOr"
|
||||
+ | LAnd -> "LAnd"
|
||||
+ | LOr -> "LOr"
|
||||
+ in text ("BinOp_" ^ tok )
|
||||
+
|
||||
+ method private pp_constant (c:constant) : doc = if !E.verboseFlag then trace "pp_constant" ;
|
||||
+ match c with
|
||||
+ | CInt64 (i, ikin, os) -> text "CInt64" ++ (pParens @ pCommaSep) [
|
||||
+ pQuoted (Int64.to_string i) ;
|
||||
+ self#pp_ikind ikin ;
|
||||
+ pOption pQuoted os ]
|
||||
+ | CStr (s) -> text "CStr" ++ pParens( pQuoted s)
|
||||
+ | CWStr (ilist) -> text "CWStr" ++ pParens( pList (map ( text @ Int64.to_string) ilist))
|
||||
+ | CChr (c) -> text "CChr" ++ pParens( text "\"" ++ text (Char.escaped c) ++ text "\"")
|
||||
+ | CReal (f, fkin, os) -> text "CReal" ++ (pParens @ pCommaSep) [ pQuoted (sprintf "%f0" f) ;
|
||||
+ self#pp_fkind fkin ;
|
||||
+ pOption pQuoted os ]
|
||||
+ | CEnum(_, s, ei) -> text "CEnum" ++ pParens( pQuoted s)
|
||||
+
|
||||
+ method private pp_lhost (lh:lhost) : doc = if !E.verboseFlag then trace "pp_lhost" ;
|
||||
+ match lh with
|
||||
+ | Var (vinfo) -> text "Var" ++ pParens( self#pp_varinfo vinfo)
|
||||
+ | Mem (e) -> text "Mem" ++ pParens( self#pExp () e)
|
||||
+
|
||||
+ method private pp_blockinfo (b:block) : doc = if !E.verboseFlag then trace "pp_blockinfo" ;
|
||||
+ text "Block" ++ (pParens @ pCommaSep) [
|
||||
+ self#pAttrs () b.battrs ;
|
||||
+ pList (map (self#pStmt ()) b.bstmts) ]
|
||||
+
|
||||
+ method private pp_stmtinfo (sinfo:stmt) : doc = if !E.verboseFlag then trace "pp_stmtinfo" ;
|
||||
+ text "Stmt" ++ (pParens @ pCommaSep) [
|
||||
+ pList (map (self#pLabel ()) sinfo.labels) ;
|
||||
+ self#pStmtKind invalidStmt () sinfo.skind ;
|
||||
+ text (string_of_int sinfo.sid) ;
|
||||
+ pList (map self#pp_stmtinfo sinfo.succs) ;
|
||||
+ pList (map self#pp_stmtinfo sinfo.preds) ]
|
||||
+end
|
||||
+
|
||||
+let ppFile (f:file) (pp:cilPrinter) : doc = if !E.verboseFlag then trace "ppFile" ;
|
||||
+ text "File" ++ (pParens @ pCommaSep) [
|
||||
+ pQuoted f.fileName ;
|
||||
+ pList (map (pp#pGlobal ()) f.globals) ]
|
||||
+
|
||||
+(* we need a different more flexible mapGlobals
|
||||
+ we only visit globals and not global init;
|
||||
+ use mapGlobinits *)
|
||||
+let mapGlobals2 (fl: file)
|
||||
+ (doone: global -> 'a) : 'a list =
|
||||
+ List.map doone fl.globals
|
||||
+
|
||||
+(* We redefine dumpFile because we don't want a header in our
|
||||
+ file telling us it was generated with CIL blabla *)
|
||||
+let dumpFile (pp: cilPrinter) (out : out_channel) file =
|
||||
+ printDepth := 99999;
|
||||
+ Pretty.fastMode := true;
|
||||
+ if !E.verboseFlag then ignore (E.log "printing file %s\n" file.fileName);
|
||||
+ let file_doc = ppFile file pp in
|
||||
+ fprint out 80 file_doc;
|
||||
+ flush out
|
||||
+
|
||||
+let feature : featureDescr =
|
||||
+ { fd_name = "printaterm";
|
||||
+ fd_enabled = ref false;
|
||||
+ fd_description = "printing the current CIL AST to an ATerm";
|
||||
+ fd_extraopt = [("--atermfile", Arg.String (fun s -> outputfilename := s), "=<filename>: writes the ATerm to <filename>");];
|
||||
+ fd_doit = (function (f: file) ->
|
||||
+ let channel = open_out !outputfilename in
|
||||
+ let printer = new atermPrinter
|
||||
+ in dumpFile printer channel f
|
||||
+ ; close_out channel
|
||||
+ );
|
||||
+ fd_post_check = false;
|
||||
+ }
|
||||
diff -urN cil-1.3.6-orig/src/main.ml cil-1.3.6/src/main.ml
|
||||
--- cil-1.3.6-orig/src/main.ml 2007-02-05 22:10:29.000000000 +0100
|
||||
+++ cil-1.3.6/src/main.ml 2007-03-05 15:14:54.000000000 +0100
|
||||
@@ -105,6 +105,7 @@
|
||||
Logcalls.feature;
|
||||
Ptranal.feature;
|
||||
Liveness.feature;
|
||||
+ Atermprinter.feature;
|
||||
]
|
||||
@ Feature_config.features
|
||||
|
@ -1,13 +0,0 @@
|
||||
{ stdenv, fetchurl, ocaml, perl }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "cil-aterm-1.3.6";
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/cil/cil-1.3.6.tar.gz;
|
||||
md5 = "112dfbabdd0e1280800d62ba4449ab45";
|
||||
};
|
||||
patches = [./cil-aterm-1.3.6.patch];
|
||||
buildInputs = [ ocaml perl ];
|
||||
inherit ocaml perl;
|
||||
meta.broken = true;
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
genericBuild
|
||||
|
||||
# !!! hack
|
||||
export ALL_INPUTS="$out $pkgs"
|
||||
|
||||
find $out -name "*.dll.config" | while read configFile; do
|
||||
echo "modifying config file $configFile"
|
||||
$monoDLLFixer "$configFile"
|
||||
done
|
@ -1,21 +0,0 @@
|
||||
{stdenv, fetchurl, pkgconfig, mono, gtksharp, gtk2, monoDLLFixer}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "gtkmozembed-sharp-0.7-pre41601";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://tarballs.nixos.org/gtkmozembed-sharp-0.7-pre41601.tar.bz2;
|
||||
md5 = "34aac139377296791acf3af9b5dc27ed";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig mono gtksharp gtk2
|
||||
];
|
||||
|
||||
inherit monoDLLFixer;
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -40,22 +40,6 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
mkDictFromRedIRIS =
|
||||
{ shortName, shortDescription, dictFileName, src }:
|
||||
mkDict rec {
|
||||
inherit src dictFileName;
|
||||
version = "0.7";
|
||||
name = "hunspell-dict-${shortName}-rediris-${version}";
|
||||
readmeFile = "README.txt";
|
||||
meta = with stdenv.lib; {
|
||||
description = "Hunspell dictionary for ${shortDescription} from RedIRIS";
|
||||
homepage = https://forja.rediris.es/projects/rla-es/;
|
||||
license = with licenses; [ gpl3 lgpl3 mpl11 ];
|
||||
maintainers = with maintainers; [ renzo ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
|
||||
mkDictFromDicollecte =
|
||||
{ shortName, shortDescription, longDescription, dictFileName }:
|
||||
mkDict rec {
|
||||
@ -152,218 +136,6 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
/* SPANISH */
|
||||
|
||||
es-any = mkDictFromRedIRIS {
|
||||
shortName = "es-any";
|
||||
shortDescription = "Spanish (any variant)";
|
||||
dictFileName = "es_ANY";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2933/es_ANY.oxt;
|
||||
md5 = "e3d4b38f280e7376178529db2ece982b";
|
||||
};
|
||||
};
|
||||
|
||||
es-ar = mkDictFromRedIRIS {
|
||||
shortName = "es-ar";
|
||||
shortDescription = "Spanish (Argentina)";
|
||||
dictFileName = "es_AR";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2953/es_AR.oxt;
|
||||
md5 = "68ee8f4ebc89a1fa461045d4dbb9b7be";
|
||||
};
|
||||
};
|
||||
|
||||
es-bo = mkDictFromRedIRIS {
|
||||
shortName = "es-bo";
|
||||
shortDescription = "Spanish (Bolivia)";
|
||||
dictFileName = "es_BO";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2952/es_BO.oxt;
|
||||
md5 = "1ebf11b6094e0bfece8e95cc34e7a409";
|
||||
};
|
||||
};
|
||||
|
||||
es-cl = mkDictFromRedIRIS {
|
||||
shortName = "es-cl";
|
||||
shortDescription = "Spanish (Chile)";
|
||||
dictFileName = "es_CL";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2951/es_CL.oxt;
|
||||
md5 = "092a388101350b77af4fd789668582bd";
|
||||
};
|
||||
};
|
||||
|
||||
es-co = mkDictFromRedIRIS {
|
||||
shortName = "es-co";
|
||||
shortDescription = "Spanish (Colombia)";
|
||||
dictFileName = "es_CO";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2950/es_CO.oxt;
|
||||
md5 = "fc440fd9fc55ca2dfb9bfa34a1e63864";
|
||||
};
|
||||
};
|
||||
|
||||
es-cr = mkDictFromRedIRIS {
|
||||
shortName = "es-cr";
|
||||
shortDescription = "Spanish (Costra Rica)";
|
||||
dictFileName = "es_CR";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2949/es_CR.oxt;
|
||||
md5 = "7510fd0f4eb3c6e65523a8d0960f77dd";
|
||||
};
|
||||
};
|
||||
|
||||
es-cu = mkDictFromRedIRIS {
|
||||
shortName = "es-cu";
|
||||
shortDescription = "Spanish (Cuba)";
|
||||
dictFileName = "es_CU";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2948/es_CU.oxt;
|
||||
md5 = "0ab4b9638f58ddd3d95d1265918ff39e";
|
||||
};
|
||||
};
|
||||
|
||||
es-do = mkDictFromRedIRIS {
|
||||
shortName = "es-do";
|
||||
shortDescription = "Spanish (Dominican Republic)";
|
||||
dictFileName = "es_DO";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2947/es_DO.oxt;
|
||||
md5 = "24a20fd4d887693afef539e6f1a3b58e";
|
||||
};
|
||||
};
|
||||
|
||||
es-ec = mkDictFromRedIRIS {
|
||||
shortName = "es-ec";
|
||||
shortDescription = "Spanish (Ecuador)";
|
||||
dictFileName = "es_EC";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2946/es_EC.oxt;
|
||||
md5 = "5d7343a246323ceda58cfbbf1428e279";
|
||||
};
|
||||
};
|
||||
|
||||
es-es = mkDictFromRedIRIS {
|
||||
shortName = "es-es";
|
||||
shortDescription = "Spanish (Spain)";
|
||||
dictFileName = "es_ES";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2945/es_ES.oxt;
|
||||
md5 = "59dd45e6785ed644adbbd73f4f126182";
|
||||
};
|
||||
};
|
||||
|
||||
es-gt = mkDictFromRedIRIS {
|
||||
shortName = "es-gt";
|
||||
shortDescription = "Spanish (Guatemala)";
|
||||
dictFileName = "es_GT";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2944/es_GT.oxt;
|
||||
md5 = "b1a9be80687e3117c67ac46aad6b8d66";
|
||||
};
|
||||
};
|
||||
|
||||
es-hn = mkDictFromRedIRIS {
|
||||
shortName = "es-hn";
|
||||
shortDescription = "Spanish (Honduras)";
|
||||
dictFileName = "es_HN";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2943/es_HN.oxt;
|
||||
md5 = "d0db5bebd6925738b524de9709950f22";
|
||||
};
|
||||
};
|
||||
|
||||
es-mx = mkDictFromRedIRIS {
|
||||
shortName = "es-mx";
|
||||
shortDescription = "Spanish (Mexico)";
|
||||
dictFileName = "es_MX";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2942/es_MX.oxt;
|
||||
md5 = "0de780714f84955112f38f35fb63a894";
|
||||
};
|
||||
};
|
||||
|
||||
es-ni = mkDictFromRedIRIS {
|
||||
shortName = "es-ni";
|
||||
shortDescription = "Spanish (Nicaragua)";
|
||||
dictFileName = "es_NI";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2941/es_NI.oxt;
|
||||
md5 = "d259d7be17c34df76c7de40c80720a39";
|
||||
};
|
||||
};
|
||||
|
||||
es-pa = mkDictFromRedIRIS {
|
||||
shortName = "es-pa";
|
||||
shortDescription = "Spanish (Panama)";
|
||||
dictFileName = "es_PA";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2940/es_PA.oxt;
|
||||
md5 = "085fbdbed6a2e248630c801881563b7a";
|
||||
};
|
||||
};
|
||||
|
||||
es-pe = mkDictFromRedIRIS {
|
||||
shortName = "es-pe";
|
||||
shortDescription = "Spanish (Peru)";
|
||||
dictFileName = "es_PE";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2939/es_PE.oxt;
|
||||
md5 = "f4673063246888995d4eaa2d4a24ee3d";
|
||||
};
|
||||
};
|
||||
|
||||
es-pr = mkDictFromRedIRIS {
|
||||
shortName = "es-pr";
|
||||
shortDescription = "Spanish (Puerto Rico)";
|
||||
dictFileName = "es_PR";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2938/es_PR.oxt;
|
||||
md5 = "e67bcf891ba9eeaeb57a60ec8e57f1ac";
|
||||
};
|
||||
};
|
||||
|
||||
es-py = mkDictFromRedIRIS {
|
||||
shortName = "es-py";
|
||||
shortDescription = "Spanish (Paraguay)";
|
||||
dictFileName = "es_PY";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2937/es_PY.oxt;
|
||||
md5 = "ba98e3197c81db4c572def2c5cca942d";
|
||||
};
|
||||
};
|
||||
|
||||
es-sv = mkDictFromRedIRIS {
|
||||
shortName = "es-sv";
|
||||
shortDescription = "Spanish (El Salvador)";
|
||||
dictFileName = "es_SV";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2936/es_SV.oxt;
|
||||
md5 = "c68ca9d188cb23c88cdd34a069c5a013";
|
||||
};
|
||||
};
|
||||
|
||||
es-uy = mkDictFromRedIRIS {
|
||||
shortName = "es-uy";
|
||||
shortDescription = "Spanish (Uruguay)";
|
||||
dictFileName = "es_UY";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2935/es_UY.oxt;
|
||||
md5 = "aeb9d39e4d17e9c904c1f3567178aad6";
|
||||
};
|
||||
};
|
||||
|
||||
es-ve = mkDictFromRedIRIS {
|
||||
shortName = "es-ve";
|
||||
shortDescription = "Spanish (Venezuela)";
|
||||
dictFileName = "es_VE";
|
||||
src = fetchurl {
|
||||
url = http://forja.rediris.es/frs/download.php/2934/es_VE.oxt;
|
||||
md5 = "8afa9619aede2d9708e799e0f5d0fcab";
|
||||
};
|
||||
};
|
||||
|
||||
/* FRENCH */
|
||||
|
||||
fr-any = mkDictFromDicollecte {
|
||||
@ -416,7 +188,7 @@ in {
|
||||
shortDescription = "Hunspell dictionary for 'Italian (Italy)' from Linguistico";
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/linguistico/italiano_2_4_2007_09_01.zip;
|
||||
md5 = "e7fbd9e2dfb25ea3288cdb918e1e1260";
|
||||
sha256 = "0m9frz75fx456bczknay5i446gdcp1smm48lc0qfwzhz0j3zcdrd";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,14 +0,0 @@
|
||||
{stdenv, fetchurl, jdk}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "jjtraveler-0.4.3";
|
||||
src = fetchurl {
|
||||
url = http://www.cwi.nl/projects/MetaEnv/jjtraveler/JJTraveler-0.4.3.tar.gz;
|
||||
md5 = "35bf801ee61f042513ae88247fe1bf1d";
|
||||
};
|
||||
buildInputs = [stdenv jdk];
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
@ -1,12 +1,14 @@
|
||||
{stdenv, fetchurl} :
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "lucene-1.4.1";
|
||||
stdenv.mkDerivation rec {
|
||||
name = "lucene-${version}";
|
||||
version = "1.4.3";
|
||||
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = http://cvs.apache.org/dist/jakarta/lucene/v1.4.1/lucene-1.4.1.tar.gz;
|
||||
md5 = "656a6f40f5b8f7d2e19453436848bfe8";
|
||||
url = "https://archive.apache.org/dist/jakarta/lucene/${name}.tar.gz";
|
||||
sha256 = "1mxaxg65f7v8n60irjwm24v7hcisbl0srmpvcy1l4scs6rjj1awh";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -6,7 +6,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/mockobjects/mockobjects-bin-0.09.tar;
|
||||
md5 = "a0e11423bd5fcbb6ea65753643ea8852";
|
||||
sha256 = "18rnyqfcyh0s3dwkkaszdd50ssyjx5fa1y3ii309ldqg693lfgnz";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -1,33 +0,0 @@
|
||||
{stdenv, fetchurl, libtool, static ? false, ...}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "libjpeg-6b";
|
||||
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = http://www.ijg.org/files/jpegsrc.v6b.tar.gz;
|
||||
sha256 = "0pg34z6rbkk5kvdz6wirf7g4mdqn5z8x97iaw17m15lr3qjfrhvm";
|
||||
};
|
||||
|
||||
inherit libtool;
|
||||
|
||||
configureFlags = "--enable-shared ${if static then " --enable-static" else ""}";
|
||||
|
||||
# Required for building of dynamic libraries on Darwin.
|
||||
patches = [
|
||||
(fetchurl {
|
||||
url = http://svn.macports.org/repository/macports/trunk/dports/graphics/jpeg/files/patch-ltconfig;
|
||||
md5 = "e6725fa4a09aa1de4ca75343fd0f61d5";
|
||||
})
|
||||
(fetchurl {
|
||||
url = http://svn.macports.org/repository/macports/trunk/dports/graphics/jpeg/files/patch-ltmain.sh;
|
||||
#md5 = "489986ad8e7a93aef036766b25f321d5";
|
||||
md5 = "092a12aeb0c386dd7dae059109d950ba";
|
||||
})
|
||||
];
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
@ -4,8 +4,8 @@ stdenv.mkDerivation {
|
||||
name = "ocaml-optcomp-1.6";
|
||||
src = fetchurl {
|
||||
url = https://github.com/diml/optcomp/archive/1.6.tar.gz;
|
||||
md5 = "d3587244dba1b8b10f24d0b60a8c700d";
|
||||
};
|
||||
sha256 = "0hhhb2gisah1h22zlg5iszbgqxdd7x85cwd57bd4mfkx9l7dh8jh";
|
||||
};
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
|
@ -5,7 +5,7 @@ stdenv.mkDerivation {
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/jclasslib/jclasslib_unix_2_0.tar.gz;
|
||||
md5 = "31d91bb03fee23410689d2f1c4c439b1";
|
||||
sha256 = "1y2fbg5h2p3fwcp7h5n1qib7x9svyrilq3i58vm6vany1xzg7nx5";
|
||||
};
|
||||
|
||||
inherit jre xpf ant;
|
||||
|
@ -1,24 +0,0 @@
|
||||
{stdenv, fetchurl, jre}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "antlr-3.0b3";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://www.antlr.org/download/antlr-3.0b3.tar.gz;
|
||||
md5 = "6a7e70ccece8149b735cc3aaa24241cc";
|
||||
};
|
||||
inherit jre;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Powerful parser generator";
|
||||
longDescription = ''
|
||||
ANTLR (ANother Tool for Language Recognition) is a powerful parser
|
||||
generator for reading, processing, executing, or translating structured
|
||||
text or binary files. It's widely used to build languages, tools, and
|
||||
frameworks. From a grammar, ANTLR generates a parser that can build and
|
||||
walk parse trees.
|
||||
'';
|
||||
homepage = http://www.antlr.org/;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -59,5 +59,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.unfreeRedistributable;
|
||||
maintainers = with maintainers; [ astsmtl ];
|
||||
platforms = platforms.linux;
|
||||
broken = true; # Depends on a specific old libjpeg version
|
||||
};
|
||||
}
|
||||
|
@ -6005,9 +6005,9 @@ with pkgs;
|
||||
|
||||
antlr = callPackage ../development/tools/parsing/antlr/2.7.7.nix { };
|
||||
|
||||
antlr3 = callPackage ../development/tools/parsing/antlr { };
|
||||
antlr3_4 = callPackage ../development/tools/parsing/antlr/3.4.nix { };
|
||||
antlr3_5 = callPackage ../development/tools/parsing/antlr/3.5.nix { };
|
||||
antlr3 = antlr3_5;
|
||||
|
||||
ant = apacheAnt;
|
||||
|
||||
@ -6932,10 +6932,6 @@ with pkgs;
|
||||
|
||||
chromaprint = callPackage ../development/libraries/chromaprint { };
|
||||
|
||||
cilaterm = callPackage ../development/libraries/cil-aterm {
|
||||
stdenv = overrideInStdenv stdenv [gnumake380];
|
||||
};
|
||||
|
||||
cl = callPackage ../development/libraries/cl { };
|
||||
|
||||
classads = callPackage ../development/libraries/classads { };
|
||||
@ -7561,10 +7557,6 @@ with pkgs;
|
||||
gtkmm2 = callPackage ../development/libraries/gtkmm/2.x.nix { };
|
||||
gtkmm3 = callPackage ../development/libraries/gtkmm/3.x.nix { };
|
||||
|
||||
gtkmozembedsharp = callPackage ../development/libraries/gtkmozembed-sharp {
|
||||
gtksharp = gtk-sharp-2_0;
|
||||
};
|
||||
|
||||
gtk-sharp-2_0 = callPackage ../development/libraries/gtk-sharp/2.0.nix {
|
||||
inherit (gnome2) libglade libgtkhtml gtkhtml
|
||||
libgnomecanvas libgnomeui libgnomeprint
|
||||
@ -8303,10 +8295,6 @@ with pkgs;
|
||||
libjpeg_drop = callPackage ../development/libraries/libjpeg-drop { };
|
||||
libjpeg = if stdenv.isLinux then libjpeg_turbo else libjpeg_original; # some problems, both on FreeBSD and Darwin
|
||||
|
||||
libjpeg62 = callPackage ../development/libraries/libjpeg/62.nix {
|
||||
libtool = libtool_1_5;
|
||||
};
|
||||
|
||||
libjreen = callPackage ../development/libraries/libjreen { };
|
||||
|
||||
libjson_rpc_cpp = callPackage ../development/libraries/libjson-rpc-cpp { };
|
||||
@ -10012,10 +10000,6 @@ with pkgs;
|
||||
|
||||
jflex = callPackage ../development/libraries/java/jflex { };
|
||||
|
||||
jjtraveler = callPackage ../development/libraries/java/jjtraveler {
|
||||
stdenv = overrideInStdenv stdenv [gnumake380];
|
||||
};
|
||||
|
||||
junit = callPackage ../development/libraries/java/junit { antBuild = releaseTools.antBuild; };
|
||||
|
||||
junixsocket = callPackage ../development/libraries/java/junixsocket { };
|
||||
@ -16422,9 +16406,7 @@ with pkgs;
|
||||
|
||||
warmux = callPackage ../games/warmux { };
|
||||
|
||||
warsow = callPackage ../games/warsow {
|
||||
libjpeg = libjpeg62;
|
||||
};
|
||||
warsow = callPackage ../games/warsow { };
|
||||
|
||||
warzone2100 = qt5.callPackage ../games/warzone2100 { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user