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

Diff of /eclass/xfconf.eclass

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

Revision 1.23 Revision 1.40
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.23 2011/02/10 18:14:53 ssuominen Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/xfconf.eclass,v 1.40 2012/01/16 21:14:13 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
20# @ECLASS-VARIABLE: DOCS
21# @DESCRIPTION:
22# Define documentation to install
23
24# @ECLASS-VARIABLE: PATCHES
25# @DESCRIPTION:
26# Define patches to apply
27 19
28# @ECLASS-VARIABLE: XFCONF 20# @ECLASS-VARIABLE: XFCONF
29# @DESCRIPTION: 21# @DESCRIPTION:
30# Define options for econf 22# This should be an array defining arguments for econf
31 23
32inherit autotools base eutils fdo-mime gnome2-utils libtool 24AUTOTOOLS_AUTO_DEPEND="no"
33 25
34if ! [[ ${MY_P} ]]; then 26unset _xfconf_live
35 MY_P=${P} 27[[ $PV == *9999* ]] && _xfconf_live=git-2
36else
37 S=${WORKDIR}/${MY_P}
38fi
39 28
40SRC_URI="mirror://xfce/xfce/${PV}/src/${MY_P}.tar.bz2" 29inherit ${_xfconf_live} autotools base eutils fdo-mime gnome2-utils libtool
41 30
42if [[ "${EINTLTOOLIZE}" == "yes" ]]; then 31EGIT_BOOTSTRAP="autogen.sh"
43 _xfce4_intltool="dev-util/intltool" 32EGIT_REPO_URI="git://git.xfce.org/xfce/${MY_PN:-${PN}}"
44fi
45 33
46if [[ "${EAUTORECONF}" == "yes" ]]; then 34_xfconf_deps=""
47 _xfce4_m4=">=dev-util/xfce4-dev-tools-4.7.0" 35_xfconf_m4=">=dev-util/xfce4-dev-tools-4.9.1 ${AUTOTOOLS_DEPEND}"
48fi 36
37[[ -n $_xfconf_live ]] && _xfconf_deps+=" dev-util/gtk-doc ${_xfconf_m4}"
38[[ -n $EINTLTOOLIZE ]] && _xfconf_deps+=" dev-util/intltool"
39[[ -n $EAUTORECONF ]] && _xfconf_deps+=" ${_xfconf_m4}"
49 40
50RDEPEND="" 41RDEPEND=""
51DEPEND="${_xfce4_intltool} 42DEPEND="${_xfconf_deps}"
52 ${_xfce4_m4}"
53 43
54unset _xfce4_intltool 44unset _xfconf_deps
55unset _xfce4_m4 45unset _xfconf_m4
56 46
57case ${EAPI:-0} in 47case ${EAPI:-0} in
58 4|3) ;; 48 4) ;;
59 *) die "Unknown EAPI." ;; 49 *) die "Unknown EAPI." ;;
60esac 50esac
61 51
52[[ -n $_xfconf_live ]] && _xfconf_live=src_unpack
53
62EXPORT_FUNCTIONS src_prepare src_configure src_install pkg_preinst pkg_postinst pkg_postrm 54EXPORT_FUNCTIONS ${_xfconf_live} src_prepare src_configure src_install pkg_preinst pkg_postinst pkg_postrm
63 55
64# @FUNCTION: xfconf_use_debug 56# @FUNCTION: xfconf_use_debug
65# @DESCRIPTION: 57# @DESCRIPTION:
66# Return --enable-debug, null, --enable-debug=full or --disable-debug based on 58# If IUSE has debug, return --enable-debug=minimum.
67# XFCONF_FULL_DEBUG variable and USE debug 59# If USE debug is enabled, return --enable-debug which is the same as --enable-debug=yes.
60# If USE debug is enabled and the XFCONF_FULL_DEBUG variable is set, return --enable-debug=full.
68xfconf_use_debug() { 61xfconf_use_debug() {
69 if has debug ${IUSE}; then 62 if has debug ${IUSE}; then
70 if use debug; then 63 if use debug; then
71 if [[ -n $XFCONF_FULL_DEBUG ]]; then 64 if [[ -n $XFCONF_FULL_DEBUG ]]; then
72 echo "--enable-debug=full" 65 echo "--enable-debug=full"
73 else 66 else
74 echo "--enable-debug" 67 echo "--enable-debug"
75 fi 68 fi
76 else 69 else
77 if [[ -n $XFCONF_FULL_DEBUG ]]; then
78 echo "--disable-debug" 70 echo "--enable-debug=minimum"
79 fi
80 fi 71 fi
72 else
73 ewarn "${FUNCNAME} called without debug in IUSE"
81 fi 74 fi
75}
76
77# @FUNCTION: xfconf_src_unpack
78# @DESCRIPTION:
79# Run git-2_src_unpack if required
80xfconf_src_unpack() {
81 NOCONFIGURE=1 git-2_src_unpack
82} 82}
83 83
84# @FUNCTION: xfconf_src_prepare 84# @FUNCTION: xfconf_src_prepare
85# @DESCRIPTION: 85# @DESCRIPTION:
86# Run base_src_util autopatch and eautoreconf or elibtoolize 86# Run base_src_prepare and eautoreconf or elibtoolize
87xfconf_src_prepare() { 87xfconf_src_prepare() {
88 debug-print-function ${FUNCNAME} "$@" 88 debug-print-function ${FUNCNAME} "$@"
89 base_src_prepare 89 base_src_prepare
90 90
91 if [[ "${EINTLTOOLIZE}" == "yes" ]]; then 91 if [[ -n $EINTLTOOLIZE ]]; then
92 intltoolize --force --copy --automake || die 92 local _intltoolize="intltoolize --force --copy --automake"
93 ebegin "Running ${_intltoolize}"
94 ${_intltoolize} || die
95 eend $?
93 fi 96 fi
94 97
95 if [[ "${EAUTORECONF}" == "yes" ]]; then 98 if [[ -n $EAUTORECONF ]]; then
96 AT_M4DIR="${EPREFIX}/usr/share/xfce4/dev-tools/m4macros" eautoreconf 99 AT_M4DIR=${EPREFIX}/usr/share/xfce4/dev-tools/m4macros eautoreconf
97 else 100 else
98 elibtoolize 101 elibtoolize
99 fi 102 fi
100} 103}
101 104
102# @FUNCTION: xfconf_src_configure 105# @FUNCTION: xfconf_src_configure
103# @DESCRIPTION: 106# @DESCRIPTION:
104# Run econf with opts in XFCONF array 107# Run econf with opts from the XFCONF array
105xfconf_src_configure() { 108xfconf_src_configure() {
106 debug-print-function ${FUNCNAME} "$@" 109 debug-print-function ${FUNCNAME} "$@"
107 110 [[ -n $_xfconf_live ]] && XFCONF+=( --enable-maintainer-mode )
108 # Convert XFCONF to an array, see base.eclass for original code
109 if [[ "$(declare -p XFCONF 2>/dev/null 2>&1)" != "declare -a"* ]]; then
110 XFCONF=( ${XFCONF} )
111 fi
112
113 econf ${XFCONF[@]} 111 econf "${XFCONF[@]}"
114} 112}
115 113
116# @FUNCTION: xfconf_src_install 114# @FUNCTION: xfconf_src_install
117# @DESCRIPTION: 115# @DESCRIPTION:
118# Run emake install and install documentation in DOCS variable 116# Run emake install and install documentation in the DOCS array
119xfconf_src_install() { 117xfconf_src_install() {
120 debug-print-function ${FUNCNAME} "$@" 118 debug-print-function ${FUNCNAME} "$@"
121 emake DESTDIR="${D}" "$@" install || die
122 119
123 if [[ -n ${DOCS} ]]; then 120 # FIXME
124 dodoc ${DOCS} || die 121 if [[ -n $_xfconf_live ]] && ! [[ -e ChangeLog ]]; then
122 touch ChangeLog
125 fi 123 fi
124
125 base_src_install "$@" || die
126 126
127 find "${ED}" -name '*.la' -exec rm -f {} + 127 find "${ED}" -name '*.la' -exec rm -f {} +
128 128
129 validate_desktop_entries 129 validate_desktop_entries
130} 130}

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.40

  ViewVC Help
Powered by ViewVC 1.1.20