/[gentoo-x86]/eclass/gnome2.eclass
Gentoo

Diff of /eclass/gnome2.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.97 Revision 1.110
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.110 2012/11/07 19:25:35 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
15case "${EAPI:-0}" in 15case "${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" ;;
23esac 23esac
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.
89gnome2_src_prepare() { 90gnome2_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 # Pass --disable-silent-rules when possible (not needed for eapi5), bug #429308
137 if has ${EAPI:-0} 0 1 2 3 4; then
138 if grep -q "disable-silent-rules" configure; then
139 G2CONF="${G2CONF} --disable-silent-rules"
117 fi 140 fi
141 fi
118 142
119 # Avoid sandbox violations caused by misbehaving packages (bug #128289) 143 # Pass --disable-schemas-install when possible
120 addwrite "/root/.gnome2" 144 if grep -q "disable-schemas-install" configure; then
145 G2CONF="${G2CONF} --disable-schemas-install"
146 fi
121 147
122 # GST_REGISTRY is to work around gst-inspect trying to read/write /root 148 # Avoid sandbox violations caused by gnome-vfs (bug #128289 and #345659)
123 GST_REGISTRY="${S}/registry.xml" econf "$@" ${G2CONF} 149 addwrite "$(unset HOME; echo ~)/.gnome2"
150
151 econf "$@" ${G2CONF}
124} 152}
125 153
126# @FUNCTION: gnome2_src_compile 154# @FUNCTION: gnome2_src_compile
127# @DESCRIPTION: 155# @DESCRIPTION:
128# Stub function for old EAPI. 156# Stub function for old EAPI.
162 190
163 # Do not keep /var/lib/scrollkeeper because: 191 # Do not keep /var/lib/scrollkeeper because:
164 # 1. The scrollkeeper database is regenerated at pkg_postinst() 192 # 1. The scrollkeeper database is regenerated at pkg_postinst()
165 # 2. ${ED}/var/lib/scrollkeeper contains only indexes for the current pkg 193 # 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. 194 # 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}" 195 rm -rf "${ED}${sk_tmp_dir}"
196 rmdir "${ED}/var/lib" 2>/dev/null
197 rmdir "${ED}/var" 2>/dev/null
171 198
172 # Make sure this one doesn't get in the portage db 199 # Make sure this one doesn't get in the portage db
173 rm -fr "${ED}/usr/share/applications/mimeinfo.cache" 200 rm -fr "${ED}/usr/share/applications/mimeinfo.cache"
174 201
175 # Delete all .la files 202 # Delete all .la files
176 if [[ "${GNOME2_LA_PUNT}" != "no" ]]; then 203 if [[ "${GNOME2_LA_PUNT}" != "no" ]]; then
177 ebegin "Removing .la files" 204 ebegin "Removing .la files"
205 if ! { has static-libs ${IUSE//+} && use static-libs; }; then
178 find "${D}" -name '*.la' -exec rm -f {} + || die "la file removal failed" 206 find "${D}" -name '*.la' -exec rm -f {} + || die "la file removal failed"
207 fi
179 eend 208 eend
180 fi 209 fi
181} 210}
182 211
183# @FUNCTION: gnome2_pkg_preinst 212# @FUNCTION: gnome2_pkg_preinst
185# Finds Icons, GConf and GSettings schemas for later handling in pkg_postinst 214# Finds Icons, GConf and GSettings schemas for later handling in pkg_postinst
186gnome2_pkg_preinst() { 215gnome2_pkg_preinst() {
187 gnome2_gconf_savelist 216 gnome2_gconf_savelist
188 gnome2_icon_savelist 217 gnome2_icon_savelist
189 gnome2_schemas_savelist 218 gnome2_schemas_savelist
219 gnome2_scrollkeeper_savelist
190} 220}
191 221
192# @FUNCTION: gnome2_pkg_postinst 222# @FUNCTION: gnome2_pkg_postinst
193# @DESCRIPTION: 223# @DESCRIPTION:
194# Handle scrollkeeper, GConf, GSettings, Icons, desktop and mime 224# Handle scrollkeeper, GConf, GSettings, Icons, desktop and mime
197 gnome2_gconf_install 227 gnome2_gconf_install
198 fdo-mime_desktop_database_update 228 fdo-mime_desktop_database_update
199 fdo-mime_mime_database_update 229 fdo-mime_mime_database_update
200 gnome2_icon_cache_update 230 gnome2_icon_cache_update
201 gnome2_schemas_update 231 gnome2_schemas_update
202
203 if [[ "${SCROLLKEEPER_UPDATE}" = "1" ]]; then
204 gnome2_scrollkeeper_update 232 gnome2_scrollkeeper_update
205 fi
206} 233}
207 234
208# @#FUNCTION: gnome2_pkg_prerm 235# @#FUNCTION: gnome2_pkg_prerm
209# @#DESCRIPTION: 236# @#DESCRIPTION:
210# # FIXME Handle GConf schemas removal 237# # FIXME Handle GConf schemas removal
217# Handle scrollkeeper, GSettings, Icons, desktop and mime database updates. 244# Handle scrollkeeper, GSettings, Icons, desktop and mime database updates.
218gnome2_pkg_postrm() { 245gnome2_pkg_postrm() {
219 fdo-mime_desktop_database_update 246 fdo-mime_desktop_database_update
220 fdo-mime_mime_database_update 247 fdo-mime_mime_database_update
221 gnome2_icon_cache_update 248 gnome2_icon_cache_update
222 gnome2_schemas_update --uninstall 249 gnome2_schemas_update
223
224 if [[ "${SCROLLKEEPER_UPDATE}" = "1" ]]; then
225 gnome2_scrollkeeper_update 250 gnome2_scrollkeeper_update
226 fi
227} 251}

Legend:
Removed from v.1.97  
changed lines
  Added in v.1.110

  ViewVC Help
Powered by ViewVC 1.1.20