aboutsummaryrefslogtreecommitdiff
blob: d59ce6d29a799abed1c86fbf04a0cd303b93ab09 (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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
<?xml version="1.0"?>
<guide self="eclass-reference/gnome2.eclass/">
<chapter>
<title><c>gnome2.eclass</c> Reference</title>
<body>

<p>
The <c>gnome2.eclass</c> provides functions for working with Gnome applications.
</p>

<subsection>
<title><c>gnome2.eclass</c> Variables</title>
<body>

<table>
  <tr>
    <th>
      Variable
    </th>
    <th>
      Details
    </th>
  </tr>
  <tr>
    <ti>
      <c>G2CONF</c>
    </ti>
    <ti>
      You can set this variable to add configure options that are passed to <c>econf</c>.
      Always put this variable inside <c>pkg_setup</c>.  Putting it outside <c>pkg_setup</c>
      is a QA violation.
      <p>
      For example:
<codesample lang="ebuild">
pkg_setup() {
    G2CONF="--disable-scrollkeeper \
        $(use_enable eds)"
}
</codesample>
      </p>
    </ti>
  </tr>
  <tr>
    <ti>
      <c>ELTCONF</c>
    </ti>
    <ti>
      You can specify extra options to be passed to <c>elibtoolize</c>.  <c>elibtoolize</c> is run for every
      package unless you override <c>src_unpack</c> / <c>src_compile</c>.
    </ti>
  </tr>
  <tr>
    <ti>
      <c>USE_EINSTALL</c>
    </ti>
    <ti>
      You can specify to use <c>einstall</c> instead of the default, <c>make DESTDIR=${D} install</c>.
      This usually means the package is broken and needs to be fixed.  The fixes need to be sent upstream.
    </ti>
  </tr>
  <tr>
    <ti>
      <c>SCROLLKEEPER_UPDATE</c>
    </ti>
    <ti>
      You can specify to not run scrollkeeper updates for a package.
    </ti>
  </tr>
  <tr>
    <ti>
      <c>DOCS</c>
    </ti>
    <ti>
      You can specify a space seperated list of docs that will be install with the package.
      ( <c>AUTHORS</c> <c>NEWS</c> )
    </ti>
  </tr>
</table>

</body>
</subsection>

<subsection>
<title><c>gnome2.eclass</c> Functions</title>
<body>

<table>
  <tr>
    <th>
      Function
    </th>
    <th>
      Details
    </th>
  </tr>
  <tr>
    <ti>
      <c>gnome2_omf_fix</c>
    </ti>
    <ti>
      This method prevents <c>scrollkeeper-update</c> from running.  Almost all GNOME
      packages try to run <c>scrollkeeper-update</c> when trying to install/compile.
      When <c>scrollkeeper-update</c> runs, it creates the directory below, which
      writes outside the sandbox (see <uri link="::general-concepts/sandbox"/>).
      In addition, if it were to continue, it would overwrite your
      <c>scrollkeeper_docs</c> file with only the docs in the current build.
      <p>
      The method fixes all <c>Makefile.in</c>'s, <c>Makefile.am</c>'s,
      <c>${S}/omf-install/Makefile.in</c>, and <c>${S}/omf.make</c>. If any of the files
      are not one of the default, you can pass addition files as arguments.
      </p>
    </ti>
  </tr>
  <tr>
    <ti>
      <c>gnome2_icon_cache_update</c>
    </ti>
    <ti>
      This method updates the gtk icon cache.  GTK does less work if the icons are cached.
    </ti>
  </tr>
  <tr>
    <ti>
      <c>src_unpack</c>
    </ti>
    <ti>
      <c>gnome2_omf_fix</c> is called here so we don't have to put it in every ebuild.
      ( <e>So</e> many packages need it ) You must remember if you override src_unpack,
      you need to call gnome2_src_unpack, add gnome2_omf_fix in after the patches, or
      test to make sure gnome2_omf_fix not needed for that package.
    </ti>
  </tr>
  <tr>
    <ti>
      <c>src_configure</c>
    </ti>
    <ti>
      Runs <c>elibtoolize</c> on the package, sets <c>GST_REGISTRY</c> variable to work
      around some access violations caused by gstreamer packages.
    </ti>
  </tr>
  <tr>
    <ti>
      <c>src_install</c>
    </ti>
    <ti>
      Delays gconf schemas from being installed until postinst
    </ti>
  </tr>
  <tr>
    <ti>
      <c>gconf_install</c>
    </ti>
    <ti>
      Installs GConf schema files using gconftool.
    </ti>
  </tr>
  <tr>
    <ti>
      <c>scrollkeeper_update</c>
    </ti>
    <ti>
      Runs scrollkeeper update if <c>SCROLLKEEPER_UPDATE</c> is not 0.
    </ti>
  </tr>
  <tr>
    <ti>
      <c>pkg_postinst</c>
    </ti>
    <ti>
      Calls <c>gconf_install</c>, <c>scrollkeeper_update</c>, <c>fdo-mime_desktop_database_update</c>,
      <c>fdo-mime_mime_database_update</c>, <c>gnome2_icon_cache_update</c>.
    </ti>
  </tr>
  <tr>
    <ti>
      <c>pkg_postrm</c>
    </ti>
    <ti>
      Calls <c>scrollkeeper_update</c>, <c>fdo-mime_desktop_database_update</c>,
      <c>fdo-mime_mime_database_update</c>, <c>gnome2_icon_cache_update</c>.
    </ti>
  </tr>
</table>

</body>
</subsection>

</body>
</chapter>
</guide>