summaryrefslogtreecommitdiff
path: root/scripts/jhbuild/modulesets/moduleset.rnc
blob: b46122101ddedd8eaff815947a318c10e04a952e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
default namespace = ""

start = moduleset

boolean = "yes" | "no"

moduleset = element moduleset { repository*,
                                (\include|package)* }

repository_cvs     = attribute type { "cvs" },
                     attribute cvsroot { text },
                     attribute password { text }?
repository_svn     = attribute type { "svn" },
                     attribute href { xsd:anyURI }
repository_arch    = attribute type { "arch" },
                     attribute archive { text },
                     attribute href { xsd:anyURI }?
repository_darcs   = attribute type { "darcs" },
                     attribute href { xsd:anyURI }
repository_git     = attribute type { "git" },
                     attribute href { xsd:anyURI }
repository_tarball = attribute type { "tarball" },
                     attribute href { xsd:anyURI }

repository = element repository {
  attribute name { text },
  attribute default { boolean }?,
  (repository_cvs|repository_svn|repository_arch|
   repository_darcs|repository_git|repository_tarball)
}

\include = element include {
  attribute href { xsd:anyURI }
}

package = autotools |
          metamodule |
          distutils |
          perl |
          tarball |
          mozillamodule

dep = element dep {
  attribute package { text }
}
dependencies = element dependencies { dep* }
after = element after { dep* } | element suggests { dep* }

common = attribute id { text } & dependencies* & after*

branch_cvs   = attribute module { text }?,
               attribute checkoutdir { text }?,
               attribute revision { text}?,
               attribute override-checkoutdir { boolean }?,
               attribute update-new-dirs { boolean }?
branch_svn   = attribute module { xsd:anyURI }?,
               attribute checkoutdir { text }?
branch_arch  = attribute module { xsd:anyURI }?,
               attribute checkoutdir { text }?
branch_darcs = attribute module { xsd:anyURI }?,
               attribute checkoutdir { text }?
branch_git   = attribute module { xsd:anyURI }?,
               attribute checkoutdir { text }?
branch_tarball = attribute module { xsd:anyURI },
                 attribute version { text },
                 attribute size { text }?,
                 attribute md5sum { text }?,
                 element patch {
                   attribute file { text },
                   attribute strip { text }?
                 }*


branch = element branch {
  attribute repo { text }?,
  (branch_cvs|branch_svn|branch_arch|branch_darcs|branch_git|branch_tarball)
}

autotools = element autotools {
  branch &
  attribute autogen-sh { text }? &
  attribute autogenargs { text }? &
  attribute makeargs { text }? &
  attribute supports-non-srcdir-builds { boolean }? &
  common
}

metamodule = element metamodule { common }

distutils = element distutils {
  branch &
  attribute supports-non-srcdir-builds { boolean }? &
  common
}

perl = element perl {
  branch &
  attribute makeargs { text }? &
  common
}

tarball = element tarball {
  attribute version { text },
  attribute checkoutdir { text }?,
  attribute autogenargs { text }?,
  attribute makeargs { text }?,
  attribute supports-non-srcdir-builds { boolean }?,

  (element source {
     attribute href { text },
     attribute size { text }?,
     attribute md5sum { text }? } &
   element patches {
     element patch {
       attribute file { text },
       attribute strip { text }?
     }+ }? &
   common)
}

mozillamodule = element mozillamodule {
  attribute module { text }?,
  attribute revision { text }?,
  attribute checkoutdir { text }?,
  attribute autogenargs { text }?,
  attribute makeargs { text }?,
  attribute cvsroot { text }?,
  attribute root { text }?,
  common
}