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

Diff of /eclass/xfconf.eclass

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

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

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.29

  ViewVC Help
Powered by ViewVC 1.1.20