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

Diff of /eclass/xfconf.eclass

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

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

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.47

  ViewVC Help
Powered by ViewVC 1.1.20