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

Diff of /eclass/xfconf.eclass

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

Revision 1.11 Revision 1.45
1# Copyright 1999-2009 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/xfconf.eclass,v 1.11 2010/03/26 11:41:57 ssuominen Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/xfconf.eclass,v 1.45 2012/11/28 12:41:23 ssuominen Exp $
4 4
5# @ECLASS: xfconf.eclass 5# @ECLASS: xfconf.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# XFCE maintainers <xfce@gentoo.org> 7# XFCE maintainers <xfce@gentoo.org>
8# @BLURB: Default XFCE ebuild layout 8# @BLURB: Default XFCE ebuild layout
9# @DESCRIPTION: 9# @DESCRIPTION:
10# Default XFCE ebuild layout 10# Default XFCE ebuild layout
11 11
12# @ECLASS-VARIABLE: EAUTORECONF 12# @ECLASS-VARIABLE: EAUTORECONF
13# @DESCRIPTION: 13# @DESCRIPTION:
14# Run eautoreconf instead of elibtoolize if set "yes" 14# Run eautoreconf instead of elibtoolize if the variable is set
15
16# @ECLASS-VARIABLE: EINTLTOOLIZE
17# @DESCRIPTION:
18# Run intltoolize --force --copy --automake if set "yes"
19
20# @ECLASS-VARIABLE: DOCS
21# @DESCRIPTION:
22# Define documentation to install
23
24# @ECLASS-VARIABLE: PATCHES
25# @DESCRIPTION:
26# Define patches to apply
27 15
28# @ECLASS-VARIABLE: XFCONF 16# @ECLASS-VARIABLE: XFCONF
29# @DESCRIPTION: 17# @DESCRIPTION:
30# Define options for econf 18# This should be an array defining arguments for econf
31 19
32inherit autotools base fdo-mime gnome2-utils libtool 20AUTOTOOLS_AUTO_DEPEND=no
33 21
34if ! [[ ${MY_P} ]]; then 22unset _xfconf_live
35 MY_P=${P} 23[[ $PV == *9999* ]] && _xfconf_live=git-2
36else
37 S=${WORKDIR}/${MY_P}
38fi
39 24
40SRC_URI="mirror://xfce/xfce/${PV}/src/${MY_P}.tar.bz2" 25inherit ${_xfconf_live} autotools base eutils fdo-mime gnome2-utils libtool
41 26
42if [[ "${EINTLTOOLIZE}" == "yes" ]]; then 27EGIT_BOOTSTRAP=autogen.sh
43 _xfce4_intltool="dev-util/intltool" 28EGIT_REPO_URI="git://git.xfce.org/xfce/${MY_PN:-${PN}}"
44fi
45 29
46if [[ "${EAUTORECONF}" == "yes" ]]; then 30_xfconf_deps=""
47 _xfce4_m4=">=dev-util/xfce4-dev-tools-4.7.0" 31_xfconf_m4=">=dev-util/xfce4-dev-tools-4.10 ${AUTOTOOLS_DEPEND}"
48fi 32
33[[ -n $_xfconf_live ]] && _xfconf_deps+=" dev-util/gtk-doc ${_xfconf_m4}"
34[[ -n $EAUTORECONF ]] && _xfconf_deps+=" ${_xfconf_m4}"
49 35
50RDEPEND="" 36RDEPEND=""
51DEPEND="${_xfce4_intltool} 37DEPEND="${_xfconf_deps}"
52 ${_xfce4_m4}"
53 38
54unset _xfce4_intltool 39unset _xfconf_deps
55unset _xfce4_m4 40unset _xfconf_m4
56 41
57XFCONF_EXPF="src_unpack src_compile src_install pkg_preinst pkg_postinst pkg_postrm"
58case ${EAPI:-0} in 42case ${EAPI:-0} in
59 3|2) XFCONF_EXPF="${XFCONF_EXPF} src_prepare src_configure" ;; 43 5) ;;
60 1|0) ;;
61 *) die "Unknown EAPI." ;; 44 *) die "Unknown EAPI." ;;
62esac 45esac
63EXPORT_FUNCTIONS ${XFCONF_EXPF} 46
47[[ -n $_xfconf_live ]] && _xfconf_live=src_unpack
48
49EXPORT_FUNCTIONS ${_xfconf_live} src_prepare src_configure src_install pkg_preinst pkg_postinst pkg_postrm
64 50
65# @FUNCTION: xfconf_use_debug 51# @FUNCTION: xfconf_use_debug
66# @RETURN: 52# @DESCRIPTION:
67# Return --enable-debug, --enable-debug=full or --disable-debug based on 53# If IUSE has debug, return --enable-debug=minimum.
68# I_KNOW_WHAT_I_AM_DOING variable 54# If USE debug is enabled, return --enable-debug which is the same as --enable-debug=yes.
55# If USE debug is enabled and the XFCONF_FULL_DEBUG variable is set, return --enable-debug=full.
69xfconf_use_debug() { 56xfconf_use_debug() {
57 if has debug ${IUSE}; then
70 if use debug; then 58 if use debug; then
71 if [[ -n $I_KNOW_WHAT_I_AM_DOING ]]; then 59 if [[ -n $XFCONF_FULL_DEBUG ]]; then
72 echo "--enable-debug=full" 60 echo "--enable-debug=full"
61 else
62 echo "--enable-debug"
63 fi
73 else 64 else
74 echo "--enable-debug" 65 echo "--enable-debug=minimum"
75 fi 66 fi
76 else 67 else
77 if [[ -n $I_KNOW_WHAT_I_AM_DOING ]]; then 68 ewarn "${FUNCNAME} called without debug in IUSE"
78 echo "--disable-debug"
79 fi
80 fi 69 fi
81} 70}
82 71
83# @FUNCTION: xfconf_src_unpack 72# @FUNCTION: xfconf_src_unpack
84# @DESCRIPTION: 73# @DESCRIPTION:
85# Run base_src_util autopatch and eautoreconf or elibtoolize 74# Run git-2_src_unpack if required
86xfconf_src_unpack() { 75xfconf_src_unpack() {
87 unpack ${A} 76 NOCONFIGURE=1 git-2_src_unpack
88 cd "${S}"
89 has src_prepare ${XFCONF_EXPF} || xfconf_src_prepare
90} 77}
91 78
92# @FUNCTION: xfconf_src_prepare 79# @FUNCTION: xfconf_src_prepare
93# @DESCRIPTION: 80# @DESCRIPTION:
94# Run base_src_util autopatch and eautoreconf or elibtoolize 81# Run base_src_prepare and eautoreconf or elibtoolize
95xfconf_src_prepare() { 82xfconf_src_prepare() {
83 debug-print-function ${FUNCNAME} "$@"
96 base_src_prepare 84 base_src_prepare
97 85
98 if [[ "${EINTLTOOLIZE}" == "yes" ]]; then
99 intltoolize --force --copy --automake || die "intltoolize failed"
100 fi
101
102 if [[ "${EAUTORECONF}" == "yes" ]]; then 86 if [[ -n $EAUTORECONF ]]; then
103 has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
104 AT_M4DIR="${EPREFIX}/usr/share/xfce4/dev-tools/m4macros" eautoreconf 87 AT_M4DIR=${EPREFIX}/usr/share/xfce4/dev-tools/m4macros eautoreconf
105 else 88 else
106 elibtoolize 89 elibtoolize
107 fi 90 fi
108} 91}
109 92
110# @FUNCTION: xfconf_src_configure 93# @FUNCTION: xfconf_src_configure
111# @DESCRIPTION: 94# @DESCRIPTION:
112# Run econf with opts in XFCONF variable 95# Run econf with opts from the XFCONF array
113xfconf_src_configure() { 96xfconf_src_configure() {
97 debug-print-function ${FUNCNAME} "$@"
98 [[ -n $_xfconf_live ]] && XFCONF+=( --enable-maintainer-mode )
114 econf ${XFCONF} 99 econf "${XFCONF[@]}"
115}
116
117# @FUNCTION: xfconf_src_compile
118# @DESCRIPTION:
119# Run econf with opts in XFCONF variable
120xfconf_src_compile() {
121 has src_configure ${XFCONF_EXPF} || xfconf_src_configure
122 emake || die "emake failed"
123} 100}
124 101
125# @FUNCTION: xfconf_src_install 102# @FUNCTION: xfconf_src_install
126# @DESCRIPTION: 103# @DESCRIPTION:
127# Run emake install and install documentation in DOCS variable 104# Run emake install and install documentation in the DOCS array
128xfconf_src_install() { 105xfconf_src_install() {
129 emake DESTDIR="${D}" install || die "emake install failed" 106 debug-print-function ${FUNCNAME} "$@"
130 107
131 if [[ -n ${DOCS} ]]; then 108 # FIXME
132 dodoc ${DOCS} || die "dodoc failed" 109 if [[ -n $_xfconf_live ]] && ! [[ -e ChangeLog ]]; then
110 touch ChangeLog
133 fi 111 fi
112
113 base_src_install "$@" || die
114
115 prune_libtool_files --all
134} 116}
135 117
136# @FUNCTION: xfconf_pkg_preinst 118# @FUNCTION: xfconf_pkg_preinst
137# @DESCRIPTION: 119# @DESCRIPTION:
138# Run gnome2_icon_savelist 120# Run gnome2_icon_savelist
139xfconf_pkg_preinst() { 121xfconf_pkg_preinst() {
122 debug-print-function ${FUNCNAME} "$@"
140 gnome2_icon_savelist 123 gnome2_icon_savelist
141} 124}
142 125
143# @FUNCTION: xfconf_pkg_postinst 126# @FUNCTION: xfconf_pkg_postinst
144# @DESCRIPTION: 127# @DESCRIPTION:
145# Run fdo-mime_{desktop,mime}_database_update and gnome2_icon_cache_update 128# Run fdo-mime_{desktop,mime}_database_update and gnome2_icon_cache_update
146xfconf_pkg_postinst() { 129xfconf_pkg_postinst() {
130 debug-print-function ${FUNCNAME} "$@"
147 fdo-mime_desktop_database_update 131 fdo-mime_desktop_database_update
148 fdo-mime_mime_database_update 132 fdo-mime_mime_database_update
149 gnome2_icon_cache_update 133 gnome2_icon_cache_update
150} 134}
151 135
152# @FUNCTION: xfconf_pkg_postrm 136# @FUNCTION: xfconf_pkg_postrm
153# @DESCRIPTION: 137# @DESCRIPTION:
154# Run fdo-mime_{desktop,mime}_database_update and gnome2_icon_cache_update 138# Run fdo-mime_{desktop,mime}_database_update and gnome2_icon_cache_update
155xfconf_pkg_postrm() { 139xfconf_pkg_postrm() {
140 debug-print-function ${FUNCNAME} "$@"
156 fdo-mime_desktop_database_update 141 fdo-mime_desktop_database_update
157 fdo-mime_mime_database_update 142 fdo-mime_mime_database_update
158 gnome2_icon_cache_update 143 gnome2_icon_cache_update
159} 144}

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.45

  ViewVC Help
Powered by ViewVC 1.1.20