commit:     9a3e97683af38a7b9242a3a66e13a88cfbd8ac46
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 30 20:00:25 2021 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sat Jan 30 20:02:41 2021 +0000
URL:        https://gitweb.gentoo.org/proj/gnome.git/commit/?id=9a3e9768

gnome2.eclass: sync with main repository

Just a copy with the ewarn about experimental overlay kept for now

Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 eclass/gnome2.eclass | 104 ++++++++++++++++-----------------------------------
 1 file changed, 33 insertions(+), 71 deletions(-)

diff --git a/eclass/gnome2.eclass b/eclass/gnome2.eclass
index 2cc54393..3d745c01 100644
--- a/eclass/gnome2.eclass
+++ b/eclass/gnome2.eclass
@@ -1,9 +1,10 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: gnome2.eclass
 # @MAINTAINER:
 # [email protected]
+# @SUPPORTED_EAPIS: 5 6 7
 # @BLURB: Provides phases for Gnome/Gtk+ based packages.
 # @DESCRIPTION:
 # Exports portage base functions used by ebuilds written for packages using the
@@ -16,25 +17,19 @@
 GNOME2_EAUTORECONF=${GNOME2_EAUTORECONF:-""}
 
 [[ ${GNOME2_EAUTORECONF} == 'yes' ]] && inherit autotools
-inherit eutils libtool gnome.org gnome2-utils xdg
+[[ ${EAPI} == [56] ]] && inherit eutils ltprune
+inherit libtool gnome.org gnome2-utils xdg
 
-case "${EAPI:-0}" in
-       4|5)
+case ${EAPI:-0} in
+       5)
                EXPORT_FUNCTIONS src_unpack src_prepare src_configure 
src_compile src_install pkg_preinst pkg_postinst pkg_postrm
                ;;
-       6)
+       6|7)
                EXPORT_FUNCTIONS src_prepare src_configure src_compile 
src_install pkg_preinst pkg_postinst pkg_postrm
                ;;
        *) die "EAPI=${EAPI} is not supported" ;;
 esac
 
-# @ECLASS-VARIABLE: DOCS
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# String containing documents passed to dodoc command for eapi4.
-# In eapi5 we rely on einstalldocs (from eutils.eclass) and for newer EAPIs we
-# follow PMS spec.
-
 # @ECLASS-VARIABLE: ELTCONF
 # @DEFAULT_UNSET
 # @DESCRIPTION:
@@ -47,7 +42,7 @@ ELTCONF=${ELTCONF:-""}
 # Extra configure opts passed to econf.
 # Deprecated, pass extra arguments to gnome2_src_configure.
 # Banned in eapi6 and newer.
-if has ${EAPI:-0} 4 5; then
+if has ${EAPI} 5; then
        G2CONF=${G2CONF:-""}
 fi
 
@@ -63,7 +58,7 @@ fi
 #
 # Banned since eapi6 as upstream is moving away from this obsolete macro in 
favor
 # of autoconf-archive macros, that do not expose this issue (bug #270919)
-if has ${EAPI:-0} 4 5; then
+if has ${EAPI} 5; then
        if [[ ${GCONF_DEBUG} != "no" ]]; then
                IUSE="debug"
        fi
@@ -76,27 +71,22 @@ fi
 
 # @ECLASS-VARIABLE: GNOME2_LA_PUNT
 # @DESCRIPTION:
-# For eapi4 it sets if we should delete ALL or none of the .la files
-# For eapi5 and newer it relies on prune_libtool_files (from eutils.eclass)
-# for this. Available values for GNOME2_LA_PUNT:
+# In EAPIs 5 and 6, it relies on prune_libtool_files (from ltprune.eclass) for
+# this. Later EAPIs use find ... -delete. Available values for GNOME2_LA_PUNT:
 # - "no": will not clean any .la files
 # - "yes": will run prune_libtool_files --modules
 # - If it is not set, it will run prune_libtool_files
-if has ${EAPI:-0} 4; then
-       GNOME2_LA_PUNT=${GNOME2_LA_PUNT:-"no"}
-else
-       GNOME2_LA_PUNT=${GNOME2_LA_PUNT:-""}
-fi
+GNOME2_LA_PUNT=${GNOME2_LA_PUNT:-""}
 
 # @FUNCTION: gnome2_src_unpack
 # @DESCRIPTION:
 # Stub function for old EAPI.
 gnome2_src_unpack() {
-       if has ${EAPI:-0} 4 5; then
+       if has ${EAPI} 5; then
                unpack ${A}
                cd "${S}"
        else
-               die "gnome2_src_unpack is banned from eapi6"
+               die "gnome2_src_unpack is banned since eapi6"
        fi
 }
 
@@ -114,7 +104,7 @@ gnome2_src_prepare() {
        # We stop to run it from eapi6 as scrollkeeper helpers from
        # rarian are not running anything and, then, access violations
        # shouldn't occur.
-       has ${EAPI:-0} 4 5 && gnome2_omf_fix
+       has ${EAPI} 5 && gnome2_omf_fix
 
        # Disable all deprecation warnings
        gnome2_disable_deprecation_warning
@@ -134,7 +124,7 @@ gnome2_src_prepare() {
 gnome2_src_configure() {
        # Deprecated for a long time now and banned since eapi6, see Gnome team 
policies
        if [[ -n ${G2CONF} ]] ; then
-               if has ${EAPI:-0} 4 5; then
+               if has ${EAPI} 5; then
                        eqawarn "G2CONF set, please review documentation at 
https://wiki.gentoo.org/wiki/Project:GNOME/Gnome_Team_Ebuild_Policies#G2CONF_and_src_configure";
                else
                        die "G2CONF set, please review documentation at 
https://wiki.gentoo.org/wiki/Project:GNOME/Gnome_Team_Ebuild_Policies#G2CONF_and_src_configure";
@@ -143,7 +133,7 @@ gnome2_src_configure() {
 
        local g2conf=()
 
-       if has ${EAPI:-0} 4 5; then
+       if has ${EAPI} 5; then
                if [[ ${GCONF_DEBUG} != 'no' ]] ; then
                        if use debug ; then
                                g2conf+=( --enable-debug=yes )
@@ -155,19 +145,14 @@ gnome2_src_configure() {
                fi
        fi
 
-       # Starting with EAPI=5, we consider packages installing gtk-doc to be
-       # handled by adding DEPEND="dev-util/gtk-doc-am" which provides tools to
-       # relink URLs in documentation to already installed documentation.
-       # This decision also greatly helps with constantly broken doc 
generation.
+       # We consider packages installing gtk-doc to be handled by adding
+       # DEPEND="dev-util/gtk-doc-am" which provides tools to relink URLs in
+       # documentation to already installed documentation.  This decision also
+       # greatly helps with constantly broken doc generation.
        # Remember to drop 'doc' USE flag from your package if it was only used 
to
        # rebuild docs.
-       # Preserve old behavior for older EAPI.
        if grep -q "enable-gtk-doc" "${ECONF_SOURCE:-.}"/configure ; then
-               if has ${EAPI:-0} 4 && in_iuse doc ; then
-                       g2conf+=( $(use_enable doc gtk-doc) )
-               else
-                       g2conf+=( --disable-gtk-doc )
-               fi
+               g2conf+=( --disable-gtk-doc )
        fi
 
        # Pass --disable-maintainer-mode when needed
@@ -181,13 +166,6 @@ gnome2_src_configure() {
                g2conf+=( --disable-scrollkeeper )
        fi
 
-       # Pass --disable-silent-rules when possible (not needed since eapi5), 
bug #429308
-       if has ${EAPI:-0} 4; then
-               if grep -q "disable-silent-rules" 
"${ECONF_SOURCE:-.}"/configure; then
-                       g2conf+=( --disable-silent-rules )
-               fi
-       fi
-
        # Pass --disable-schemas-install when possible
        if grep -q "disable-schemas-install" "${ECONF_SOURCE:-.}"/configure; 
then
                g2conf+=( --disable-schemas-install )
@@ -209,20 +187,20 @@ gnome2_src_configure() {
        fi
 
        # Pass --docdir with proper directory, bug #482646 (not needed since 
eapi6)
-       if has ${EAPI:-0} 4 5; then
+       if has ${EAPI} 5; then
                if grep -q "^ *--docdir=" "${ECONF_SOURCE:-.}"/configure; then
                        g2conf+=( --docdir="${EPREFIX}"/usr/share/doc/${PF} )
                fi
        fi
 
        # Avoid sandbox violations caused by gnome-vfs (bug #128289 and #345659)
-       if has ${EAPI:-0} 4 5; then
+       if has ${EAPI} 5; then
                addwrite "$(unset HOME; echo ~)/.gnome2"
        else
                addpredict "$(unset HOME; echo ~)/.gnome2"
        fi
 
-       if has ${EAPI:-0} 4 5; then
+       if has ${EAPI} 5; then
                econf ${g2conf[@]} ${G2CONF} "$@"
        else
                econf ${g2conf[@]} "$@"
@@ -233,7 +211,7 @@ gnome2_src_configure() {
 # @DESCRIPTION:
 # Only default src_compile for now
 gnome2_src_compile() {
-       if has ${EAPI:-0} 4 5; then
+       if has ${EAPI} 5; then
                emake
        else
                default
@@ -254,7 +232,7 @@ gnome2_src_install() {
        #
        # if this is not present, scrollkeeper-update may segfault and
        # create bogus directories in /var/lib/
-       if has ${EAPI:-0} 4 5; then
+       if has ${EAPI} 5; then
                dodir "${sk_tmp_dir}" || die "dodir failed"
                emake DESTDIR="${D}" 
"scrollkeeper_localstate_dir=${ED}${sk_tmp_dir} " "$@" install || die "install 
failed"
        else
@@ -266,12 +244,7 @@ gnome2_src_install() {
        # Handle documentation as 'default' for eapi5, bug #373131
        # Since eapi6 this is handled by default on its own plus MAINTAINERS 
and HACKING
        # files that are really common in gnome packages (bug #573390)
-       if has ${EAPI:-0} 4; then
-               # Manual document installation
-               if [[ -n "${DOCS}" ]]; then
-                       dodoc ${DOCS} || die "dodoc failed"
-               fi
-       elif has ${EAPI:-0} 5; then
+       if has ${EAPI} 5; then
                einstalldocs
        else
                local d
@@ -292,20 +265,16 @@ gnome2_src_install() {
        rm -fr "${ED}/usr/share/applications/mimeinfo.cache"
 
        # Delete all .la files
-       if has ${EAPI:-0} 4; then
-               if [[ "${GNOME2_LA_PUNT}" != "no" ]]; then
-                       ebegin "Removing .la files"
-                       if ! use_if_iuse static-libs ; then
-                               find "${D}" -name '*.la' -exec rm -f {} + || 
die "la file removal failed"
-                       fi
-                       eend
-               fi
-       else
+       if has ${EAPI} 5 6; then
                case "${GNOME2_LA_PUNT}" in
                        yes)    prune_libtool_files --modules;;
                        no)     ;;
                        *)      prune_libtool_files;;
                esac
+       else
+               if [[ ${GNOME2_LA_PUNT} != 'no' ]]; then
+                       find "${ED}" -name '*.la' -delete || die
+               fi
        fi
 }
 
@@ -315,7 +284,6 @@ gnome2_src_install() {
 gnome2_pkg_preinst() {
        xdg_pkg_preinst
        gnome2_gconf_savelist
-       gnome2_icon_savelist
        gnome2_schemas_savelist
        gnome2_scrollkeeper_savelist
        gnome2_gdk_pixbuf_savelist
@@ -337,9 +305,6 @@ gnome2_pkg_preinst() {
 gnome2_pkg_postinst() {
        xdg_pkg_postinst
        gnome2_gconf_install
-       if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
-               gnome2_icon_cache_update
-       fi
        if [[ -n ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
                gnome2_schemas_update
        fi
@@ -368,9 +333,6 @@ gnome2_pkg_postinst() {
 # Handle scrollkeeper, GSettings, Icons, desktop and mime database updates.
 gnome2_pkg_postrm() {
        xdg_pkg_postrm
-       if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
-               gnome2_icon_cache_update
-       fi
        if [[ -n ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
                gnome2_schemas_update
        fi

Reply via email to