1 | # Copyright 1999-2011 Gentoo Foundation |
1 | # Copyright 1999-2012 Gentoo Foundation |
2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/gnome2.eclass,v 1.97 2011/07/08 11:35:01 ssuominen Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/gnome2.eclass,v 1.109 2012/11/07 19:17:40 pacho Exp $ |
4 | |
4 | |
5 | # @ECLASS: gnome2.eclass |
5 | # @ECLASS: gnome2.eclass |
6 | # @MAINTAINER: |
6 | # @MAINTAINER: |
7 | # gnome@gentoo.org |
7 | # gnome@gentoo.org |
8 | # @BLURB: |
8 | # @BLURB: |
… | |
… | |
14 | |
14 | |
15 | case "${EAPI:-0}" in |
15 | case "${EAPI:-0}" in |
16 | 0|1) |
16 | 0|1) |
17 | EXPORT_FUNCTIONS src_unpack src_compile src_install pkg_preinst pkg_postinst pkg_postrm |
17 | EXPORT_FUNCTIONS src_unpack src_compile src_install pkg_preinst pkg_postinst pkg_postrm |
18 | ;; |
18 | ;; |
19 | 2|3|4) |
19 | 2|3|4|5) |
20 | EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_install pkg_preinst pkg_postinst pkg_postrm |
20 | EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_install pkg_preinst pkg_postinst pkg_postrm |
21 | ;; |
21 | ;; |
22 | *) die "EAPI=${EAPI} is not supported" ;; |
22 | *) die "EAPI=${EAPI} is not supported" ;; |
23 | esac |
23 | esac |
24 | |
24 | |
… | |
… | |
83 | has ${EAPI:-0} 0 1 && gnome2_src_prepare |
83 | has ${EAPI:-0} 0 1 && gnome2_src_prepare |
84 | } |
84 | } |
85 | |
85 | |
86 | # @FUNCTION: gnome2_src_prepare |
86 | # @FUNCTION: gnome2_src_prepare |
87 | # @DESCRIPTION: |
87 | # @DESCRIPTION: |
88 | # Fix build of scrollkeeper documentation and run elibtoolize. |
88 | # Prepare environment for build, fix build of scrollkeeper documentation, |
|
|
89 | # run elibtoolize. |
89 | gnome2_src_prepare() { |
90 | gnome2_src_prepare() { |
|
|
91 | # Prevent assorted access violations and test failures |
|
|
92 | gnome2_environment_reset |
|
|
93 | |
90 | # Prevent scrollkeeper access violations |
94 | # Prevent scrollkeeper access violations |
91 | gnome2_omf_fix |
95 | gnome2_omf_fix |
|
|
96 | |
|
|
97 | # Disable all deprecation warnings |
|
|
98 | gnome2_disable_deprecation_warning |
92 | |
99 | |
93 | # Run libtoolize |
100 | # Run libtoolize |
94 | if has ${EAPI:-0} 0 1 2 3; then |
101 | if has ${EAPI:-0} 0 1 2 3; then |
95 | elibtoolize ${ELTCONF} |
102 | elibtoolize ${ELTCONF} |
96 | else |
103 | else |
… | |
… | |
111 | fi |
118 | fi |
112 | fi |
119 | fi |
113 | |
120 | |
114 | # Prevent a QA warning |
121 | # Prevent a QA warning |
115 | if has doc ${IUSE} ; then |
122 | if has doc ${IUSE} ; then |
116 | G2CONF="${G2CONF} $(use_enable doc gtk-doc)" |
123 | grep -q "enable-gtk-doc" configure && G2CONF="${G2CONF} $(use_enable doc gtk-doc)" |
|
|
124 | fi |
|
|
125 | |
|
|
126 | # Pass --disable-maintainer-mode when needed |
|
|
127 | if grep -q "^[[:space:]]*AM_MAINTAINER_MODE(\[enable\])" configure.*; then |
|
|
128 | G2CONF="${G2CONF} --disable-maintainer-mode" |
|
|
129 | fi |
|
|
130 | |
|
|
131 | # Pass --disable-scrollkeeper when possible |
|
|
132 | if grep -q "disable-scrollkeeper" configure; then |
|
|
133 | G2CONF="${G2CONF} --disable-scrollkeeper" |
|
|
134 | fi |
|
|
135 | |
|
|
136 | |
|
|
137 | # Pass --disable-silent-rules when possible (not needed for eapi5), bug #429308 |
|
|
138 | if has ${EAPI:-0} 0 1 2 3 4; then |
|
|
139 | if grep -q "disable-silent-rules" configure; then |
|
|
140 | G2CONF="${G2CONF} --disable-silent-rules" |
117 | fi |
141 | fi |
|
|
142 | fi |
118 | |
143 | |
119 | # Avoid sandbox violations caused by misbehaving packages (bug #128289) |
144 | # Avoid sandbox violations caused by gnome-vfs (bug #128289 and #345659) |
120 | addwrite "/root/.gnome2" |
145 | addwrite "$(unset HOME; echo ~)/.gnome2" |
121 | |
146 | |
122 | # GST_REGISTRY is to work around gst-inspect trying to read/write /root |
147 | econf "$@" ${G2CONF} |
123 | GST_REGISTRY="${S}/registry.xml" econf "$@" ${G2CONF} |
|
|
124 | } |
148 | } |
125 | |
149 | |
126 | # @FUNCTION: gnome2_src_compile |
150 | # @FUNCTION: gnome2_src_compile |
127 | # @DESCRIPTION: |
151 | # @DESCRIPTION: |
128 | # Stub function for old EAPI. |
152 | # Stub function for old EAPI. |
… | |
… | |
162 | |
186 | |
163 | # Do not keep /var/lib/scrollkeeper because: |
187 | # Do not keep /var/lib/scrollkeeper because: |
164 | # 1. The scrollkeeper database is regenerated at pkg_postinst() |
188 | # 1. The scrollkeeper database is regenerated at pkg_postinst() |
165 | # 2. ${ED}/var/lib/scrollkeeper contains only indexes for the current pkg |
189 | # 2. ${ED}/var/lib/scrollkeeper contains only indexes for the current pkg |
166 | # thus it makes no sense if pkg_postinst ISN'T run for some reason. |
190 | # thus it makes no sense if pkg_postinst ISN'T run for some reason. |
167 | if [[ -z "$(find "${D}" -name '*.omf')" ]]; then |
|
|
168 | export SCROLLKEEPER_UPDATE="0" |
|
|
169 | fi |
|
|
170 | rm -rf "${ED}${sk_tmp_dir}" |
191 | rm -rf "${ED}${sk_tmp_dir}" |
|
|
192 | rmdir "${ED}/var/lib" 2>/dev/null |
|
|
193 | rmdir "${ED}/var" 2>/dev/null |
171 | |
194 | |
172 | # Make sure this one doesn't get in the portage db |
195 | # Make sure this one doesn't get in the portage db |
173 | rm -fr "${ED}/usr/share/applications/mimeinfo.cache" |
196 | rm -fr "${ED}/usr/share/applications/mimeinfo.cache" |
174 | |
197 | |
175 | # Delete all .la files |
198 | # Delete all .la files |
176 | if [[ "${GNOME2_LA_PUNT}" != "no" ]]; then |
199 | if [[ "${GNOME2_LA_PUNT}" != "no" ]]; then |
177 | ebegin "Removing .la files" |
200 | ebegin "Removing .la files" |
|
|
201 | if ! { has static-libs ${IUSE//+} && use static-libs; }; then |
178 | find "${D}" -name '*.la' -exec rm -f {} + || die "la file removal failed" |
202 | find "${D}" -name '*.la' -exec rm -f {} + || die "la file removal failed" |
|
|
203 | fi |
179 | eend |
204 | eend |
180 | fi |
205 | fi |
181 | } |
206 | } |
182 | |
207 | |
183 | # @FUNCTION: gnome2_pkg_preinst |
208 | # @FUNCTION: gnome2_pkg_preinst |
… | |
… | |
185 | # Finds Icons, GConf and GSettings schemas for later handling in pkg_postinst |
210 | # Finds Icons, GConf and GSettings schemas for later handling in pkg_postinst |
186 | gnome2_pkg_preinst() { |
211 | gnome2_pkg_preinst() { |
187 | gnome2_gconf_savelist |
212 | gnome2_gconf_savelist |
188 | gnome2_icon_savelist |
213 | gnome2_icon_savelist |
189 | gnome2_schemas_savelist |
214 | gnome2_schemas_savelist |
|
|
215 | gnome2_scrollkeeper_savelist |
190 | } |
216 | } |
191 | |
217 | |
192 | # @FUNCTION: gnome2_pkg_postinst |
218 | # @FUNCTION: gnome2_pkg_postinst |
193 | # @DESCRIPTION: |
219 | # @DESCRIPTION: |
194 | # Handle scrollkeeper, GConf, GSettings, Icons, desktop and mime |
220 | # Handle scrollkeeper, GConf, GSettings, Icons, desktop and mime |
… | |
… | |
197 | gnome2_gconf_install |
223 | gnome2_gconf_install |
198 | fdo-mime_desktop_database_update |
224 | fdo-mime_desktop_database_update |
199 | fdo-mime_mime_database_update |
225 | fdo-mime_mime_database_update |
200 | gnome2_icon_cache_update |
226 | gnome2_icon_cache_update |
201 | gnome2_schemas_update |
227 | gnome2_schemas_update |
202 | |
|
|
203 | if [[ "${SCROLLKEEPER_UPDATE}" = "1" ]]; then |
|
|
204 | gnome2_scrollkeeper_update |
228 | gnome2_scrollkeeper_update |
205 | fi |
|
|
206 | } |
229 | } |
207 | |
230 | |
208 | # @#FUNCTION: gnome2_pkg_prerm |
231 | # @#FUNCTION: gnome2_pkg_prerm |
209 | # @#DESCRIPTION: |
232 | # @#DESCRIPTION: |
210 | # # FIXME Handle GConf schemas removal |
233 | # # FIXME Handle GConf schemas removal |
… | |
… | |
217 | # Handle scrollkeeper, GSettings, Icons, desktop and mime database updates. |
240 | # Handle scrollkeeper, GSettings, Icons, desktop and mime database updates. |
218 | gnome2_pkg_postrm() { |
241 | gnome2_pkg_postrm() { |
219 | fdo-mime_desktop_database_update |
242 | fdo-mime_desktop_database_update |
220 | fdo-mime_mime_database_update |
243 | fdo-mime_mime_database_update |
221 | gnome2_icon_cache_update |
244 | gnome2_icon_cache_update |
222 | gnome2_schemas_update --uninstall |
245 | gnome2_schemas_update |
223 | |
|
|
224 | if [[ "${SCROLLKEEPER_UPDATE}" = "1" ]]; then |
|
|
225 | gnome2_scrollkeeper_update |
246 | gnome2_scrollkeeper_update |
226 | fi |
|
|
227 | } |
247 | } |