Here's a diff of the changes based on feedback from this ML, followed by the full eclasses.
Once again, thanks for all the feedback. -- NP-Hardass diff --git a/eclass/mate-desktop.org.eclass b/eclass/mate-desktop.org.eclass index 5f92c4f..c57528d 100644 --- a/eclass/mate-desktop.org.eclass +++ b/eclass/mate-desktop.org.eclass @@ -12,22 +12,16 @@ # Provide a default SRC_URI and EGIT_REPO_URI for MATE packages as well as # exporting some useful values like the MATE_BRANCH -# Old EAPIs are banned. -case "${EAPI:-0}" in - 5|6) ;; - *) die "EAPI=${EAPI} is not supported" ;; -esac +# EAPIs < 6 are banned. +if [[ "${EAPI:-0}" != "6" ]]; then + die "EAPI=${EAPI:-0} is not supported" +fi if [[ ${PV} == 9999 ]]; then inherit git-r3 -else - inherit versionator fi -# Ensure availibility of xz-utils on old EAPIs -if [[ "${EAPI:-0}" -lt "6" ]]; then - DEPEND="app-arch/xz-utils" -fi +inherit versionator # @ECLASS-VARIABLE: MATE_TARBALL_SUFFIX # @INTERNAL @@ -52,11 +46,7 @@ fi # @DESCRIPTION: # Major and minor numbers of the version number, unless live. # If live ebuild, will be set to '9999'. -if [[ ${PV} == 9999 ]]; then - : ${MATE_BRANCH:=9999} -else - : ${MATE_BRANCH:=$(get_version_component_range 1-2)} -fi +: ${MATE_BRANCH:=$(get_version_component_range 1-2)} # Set SRC_URI or EGIT_REPO_URI based on whether live if [[ ${PV} == 9999 ]]; then @@ -72,6 +62,3 @@ fi # Set HOMEPAGE for all ebuilds HOMEPAGE="http://mate-desktop.org" - -# Set default SLOT for all ebuilds -SLOT="0" diff --git a/eclass/mate.eclass b/eclass/mate.eclass index a0209bf..074ed8d 100644 --- a/eclass/mate.eclass +++ b/eclass/mate.eclass @@ -15,10 +15,9 @@ # fact that MATE is a GNOME fork. For additional functions, see gnome2-utils.eclass. # Check EAPI only -case "${EAPI:-0}" in - 5|6) ;; - *) die "EAPI=${EAPI} is not supported" ;; -esac +if [[ "${EAPI:-0}" != "6" ]]; then + die "EAPI=${EAPI:-0} is not supported" +fi # Inherit happens below after declaration of GNOME2_LA_PUNT @@ -33,20 +32,19 @@ GNOME2_LA_PUNT=${MATE_LA_PUNT:-""} inherit gnome2 autotools mate-desktop.org -case "${EAPI:-0}" in - 5|6) - EXPORT_FUNCTIONS src_prepare src_configure src_install pkg_preinst pkg_postinst pkg_postrm - ;; - *) die "EAPI=${EAPI} is not supported" ;; -esac +if [[ "${EAPI:-0}" == "6" ]]; then + EXPORT_FUNCTIONS src_prepare src_configure src_install pkg_preinst pkg_postinst pkg_postrm +fi # Autotools requires our MATE m4 files DEPEND=">=mate-base/mate-common-${MATE_BRANCH}" -# @FUNCTION: python_cond_func_wrap +# @FUNCTION: mate_py_cond_func_wrap # @DESCRIPTION: Wraps a function for conditional python use, to run for each # python implementation in the build directory. -python_cond_func_wrap() { +# This function should only be used if the ebuild also inherits the +# python-r1 eclass +mate_py_cond_func_wrap() { if use python; then python_foreach_impl run_in_build_dir "$@" else @@ -60,7 +58,7 @@ python_cond_func_wrap() { # - true: will always run eautoreconf # - false: will default to automatic detect # - If it is not set, it will default to false -FORCE_AUTORECONF=${FORCE_AUTORECONF:-""} +: ${MATE_FORCE_AUTORECONF:="false"} # @FUNCTION: ematedocize # @DESCRIPTION: A wrapper around mate-doc-common @@ -85,8 +83,8 @@ want_mate_doc() { mate_src_prepare() { debug-print-function ${FUNCNAME} "$@" - local force_autoreconf=${FORCE_AUTORECONF:-false} - [[ ${PV} == 9999 ]] && force_autoreconf=true + local force_autoreconf=${MATE_FORCE_AUTORECONF} + [[ ${PV} == 9999 ]] && force_autoreconf="true" gen_chksum() { find '(' -name 'Makefile.am' \ @@ -99,8 +97,8 @@ mate_src_prepare() { gnome2_src_prepare "$@" - if ${force_autoreconf} || [[ ${chksum} != $(gen_chksum) ]]; then - [[ want_mate_doc ]] && ematedocize + if [[ "${force_autoreconf}" == "true" ]] || [[ ${chksum} != $(gen_chksum) ]]; then + want_mate_doc && ematedocize eautoreconf fi } ######################################################################## mate-desktop.org.eclass ######################################################################## # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ # @ECLASS: mate-desktop.org.eclass # @MAINTAINER: # m...@gentoo.org # @AUTHOR: # Authors: NP-Hardass <np-hard...@gentoo.org> based upon the gnome.org eclass. # @BLURB: Helper eclass for mate-desktop.org hosted archives # @DESCRIPTION: # Provide a default SRC_URI and EGIT_REPO_URI for MATE packages as well as # exporting some useful values like the MATE_BRANCH # EAPIs < 6 are banned. if [[ "${EAPI:-0}" != "6" ]]; then die "EAPI=${EAPI:-0} is not supported" fi if [[ ${PV} == 9999 ]]; then inherit git-r3 fi inherit versionator # @ECLASS-VARIABLE: MATE_TARBALL_SUFFIX # @INTERNAL # @DESCRIPTION: # All projects hosted on mate-desktop.org provide tarballs as tar.xz. # Undefined in live ebuilds. [[ ${PV} != 9999 ]] && : ${MATE_TARBALL_SUFFIX:="xz"} # @ECLASS-VARIABLE: MATE_DESKTOP_ORG_PN # @DESCRIPTION: # Name of the package as hosted on mate-desktop.org. # Leave unset if package name matches PN. : ${MATE_DESKTOP_ORG_PN:=$PN} # @ECLASS-VARIABLE: MATE_DESKTOP_ORG_PV # @DESCRIPTION: # Package version string as listed on mate-desktop.org. # Leave unset if package version string matches PV. : ${MATE_DESKTOP_ORG_PV:=$PV} # @ECLASS-VARIABLE: MATE_BRANCH # @DESCRIPTION: # Major and minor numbers of the version number, unless live. # If live ebuild, will be set to '9999'. : ${MATE_BRANCH:=$(get_version_component_range 1-2)} # Set SRC_URI or EGIT_REPO_URI based on whether live if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI=" https://github.com/mate-desktop/${MATE_DESKTOP_ORG_PN}.git git://github.com/mate-desktop/${MATE_DESKTOP_ORG_PN}.git http://github.com/mate-desktop/${MATE_DESKTOP_ORG_PN}.git " SRC_URI="" else SRC_URI="http://pub.mate-desktop.org/releases/${MATE_BRANCH}/${MATE_DESKTOP_ORG_PN}-${MATE_DESKTOP_ORG_PV}.tar.${MATE_TARBALL_SUFFIX}" fi # Set HOMEPAGE for all ebuilds HOMEPAGE="http://mate-desktop.org" ######################################################################## mate.eclass ######################################################################## # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ # @ECLASS: mate.eclass # @MAINTAINER: # m...@gentoo.org # @AUTHOR: # Authors: NP-Hardass <np-hard...@gentoo.org> based upon the gnome2 # and autotools-utils eclasses # @BLURB: Provides phases for MATE based packages. # @DESCRIPTION: # Exports portage base functions used by ebuilds written for packages using the # MATE framework. Occassionally acts as a wrapper to gnome2 due to the # fact that MATE is a GNOME fork. For additional functions, see gnome2-utils.eclass. # Check EAPI only if [[ "${EAPI:-0}" != "6" ]]; then die "EAPI=${EAPI:-0} is not supported" fi # Inherit happens below after declaration of GNOME2_LA_PUNT # @ECLASS-VARIABLE: MATE_LA_PUNT # @DESCRIPTION: # Available values for MATE_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 # MATE_LA_PUNT is a stub to GNOME2_LA_PUNT GNOME2_LA_PUNT=${MATE_LA_PUNT:-""} inherit gnome2 autotools mate-desktop.org if [[ "${EAPI:-0}" == "6" ]]; then EXPORT_FUNCTIONS src_prepare src_configure src_install pkg_preinst pkg_postinst pkg_postrm fi # Autotools requires our MATE m4 files DEPEND=">=mate-base/mate-common-${MATE_BRANCH}" # @FUNCTION: mate_py_cond_func_wrap # @DESCRIPTION: Wraps a function for conditional python use, to run for each # python implementation in the build directory. # This function should only be used if the ebuild also inherits the # python-r1 eclass mate_py_cond_func_wrap() { if use python; then python_foreach_impl run_in_build_dir "$@" else $@ fi } # @ECLASS-VARIABLE: FORCE_AUTORECONF # @DESCRIPTION: # Available values for FORCE_AUTORECONF: # - true: will always run eautoreconf # - false: will default to automatic detect # - If it is not set, it will default to false : ${MATE_FORCE_AUTORECONF:="false"} # @FUNCTION: ematedocize # @DESCRIPTION: A wrapper around mate-doc-common ematedocize() { ebegin "Running mate-doc-common --copy" mate-doc-common --copy || die eend $? } # @FUNCTION: want_mate_doc # @DESCRIPTION: # Returns true/false based on whether eautoreconf should call # ematedocize want_mate_doc() { grep -q USE_COMMON_DOC_BUILD autogen.sh } # @FUNCTION: mate_src_prepare # @DESCRIPTION: # Call gnome2_src_prepare to handle environment setup and patching, then # call eautoreconf if necessary mate_src_prepare() { debug-print-function ${FUNCNAME} "$@" local force_autoreconf=${MATE_FORCE_AUTORECONF} [[ ${PV} == 9999 ]] && force_autoreconf="true" gen_chksum() { find '(' -name 'Makefile.am' \ -o -name 'configure.ac' \ -o -name 'configure.in' ')' \ -exec cksum {} + | sort -k2 } local chksum=$(gen_chksum) gnome2_src_prepare "$@" if [[ "${force_autoreconf}" == "true" ]] || [[ ${chksum} != $(gen_chksum) ]]; then want_mate_doc && ematedocize eautoreconf fi } # @FUNCTION: mate_src_configure # @DESCRIPTION: # MATE specific configure handling # Stub to gnome2_src_configure() mate_src_configure() { gnome2_src_configure "$@" } # @FUNCTION: mate_src_install # @DESCRIPTION: # MATE specific install. Stub to gnome2_src_install mate_src_install() { gnome2_src_install "$@" } # @FUNCTION: mate_pkg_preinst # @DESCRIPTION: # Finds Icons, GConf and GSettings schemas for later handling in pkg_postinst # Stub to gnome2_pkg_preinst mate_pkg_preinst() { gnome2_pkg_preinst "$@" } # @FUNCTION: mate_pkg_postinst # @DESCRIPTION: # Handle scrollkeeper, GConf, GSettings, Icons, desktop and mime # database updates. # Stub to gnome2_pkg_postinst mate_pkg_postinst() { gnome2_pkg_postinst "$@" } # @FUNCTION: mate_pkg_postrm # @DESCRIPTION: # Handle scrollkeeper, GSettings, Icons, desktop and mime database updates. # Stub to gnome2_pkg_postrm mate_pkg_postrm() { gnome2_pkg_postrm "$@" }
# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ # @ECLASS: mate.eclass # @MAINTAINER: # m...@gentoo.org # @AUTHOR: # Authors: NP-Hardass <np-hard...@gentoo.org> based upon the gnome2 # and autotools-utils eclasses # @BLURB: Provides phases for MATE based packages. # @DESCRIPTION: # Exports portage base functions used by ebuilds written for packages using the # MATE framework. Occassionally acts as a wrapper to gnome2 due to the # fact that MATE is a GNOME fork. For additional functions, see gnome2-utils.eclass. # Check EAPI only if [[ "${EAPI:-0}" != "6" ]]; then die "EAPI=${EAPI:-0} is not supported" fi # Inherit happens below after declaration of GNOME2_LA_PUNT # @ECLASS-VARIABLE: MATE_LA_PUNT # @DESCRIPTION: # Available values for MATE_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 # MATE_LA_PUNT is a stub to GNOME2_LA_PUNT GNOME2_LA_PUNT=${MATE_LA_PUNT:-""} inherit gnome2 autotools mate-desktop.org if [[ "${EAPI:-0}" == "6" ]]; then EXPORT_FUNCTIONS src_prepare src_configure src_install pkg_preinst pkg_postinst pkg_postrm fi # Autotools requires our MATE m4 files DEPEND=">=mate-base/mate-common-${MATE_BRANCH}" # @FUNCTION: mate_py_cond_func_wrap # @DESCRIPTION: Wraps a function for conditional python use, to run for each # python implementation in the build directory. # This function should only be used if the ebuild also inherits the # python-r1 eclass mate_py_cond_func_wrap() { if use python; then python_foreach_impl run_in_build_dir "$@" else $@ fi } # @ECLASS-VARIABLE: FORCE_AUTORECONF # @DESCRIPTION: # Available values for FORCE_AUTORECONF: # - true: will always run eautoreconf # - false: will default to automatic detect # - If it is not set, it will default to false : ${MATE_FORCE_AUTORECONF:="false"} # @FUNCTION: ematedocize # @DESCRIPTION: A wrapper around mate-doc-common ematedocize() { ebegin "Running mate-doc-common --copy" mate-doc-common --copy || die eend $? } # @FUNCTION: want_mate_doc # @DESCRIPTION: # Returns true/false based on whether eautoreconf should call # ematedocize want_mate_doc() { grep -q USE_COMMON_DOC_BUILD autogen.sh } # @FUNCTION: mate_src_prepare # @DESCRIPTION: # Call gnome2_src_prepare to handle environment setup and patching, then # call eautoreconf if necessary mate_src_prepare() { debug-print-function ${FUNCNAME} "$@" local force_autoreconf=${MATE_FORCE_AUTORECONF} [[ ${PV} == 9999 ]] && force_autoreconf="true" gen_chksum() { find '(' -name 'Makefile.am' \ -o -name 'configure.ac' \ -o -name 'configure.in' ')' \ -exec cksum {} + | sort -k2 } local chksum=$(gen_chksum) gnome2_src_prepare "$@" if [[ "${force_autoreconf}" == "true" ]] || [[ ${chksum} != $(gen_chksum) ]]; then want_mate_doc && ematedocize eautoreconf fi } # @FUNCTION: mate_src_configure # @DESCRIPTION: # MATE specific configure handling # Stub to gnome2_src_configure() mate_src_configure() { gnome2_src_configure "$@" } # @FUNCTION: mate_src_install # @DESCRIPTION: # MATE specific install. Stub to gnome2_src_install mate_src_install() { gnome2_src_install "$@" } # @FUNCTION: mate_pkg_preinst # @DESCRIPTION: # Finds Icons, GConf and GSettings schemas for later handling in pkg_postinst # Stub to gnome2_pkg_preinst mate_pkg_preinst() { gnome2_pkg_preinst "$@" } # @FUNCTION: mate_pkg_postinst # @DESCRIPTION: # Handle scrollkeeper, GConf, GSettings, Icons, desktop and mime # database updates. # Stub to gnome2_pkg_postinst mate_pkg_postinst() { gnome2_pkg_postinst "$@" } # @FUNCTION: mate_pkg_postrm # @DESCRIPTION: # Handle scrollkeeper, GSettings, Icons, desktop and mime database updates. # Stub to gnome2_pkg_postrm mate_pkg_postrm() { gnome2_pkg_postrm "$@" }
# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ # @ECLASS: mate-desktop.org.eclass # @MAINTAINER: # m...@gentoo.org # @AUTHOR: # Authors: NP-Hardass <np-hard...@gentoo.org> based upon the gnome.org eclass. # @BLURB: Helper eclass for mate-desktop.org hosted archives # @DESCRIPTION: # Provide a default SRC_URI and EGIT_REPO_URI for MATE packages as well as # exporting some useful values like the MATE_BRANCH # EAPIs < 6 are banned. if [[ "${EAPI:-0}" != "6" ]]; then die "EAPI=${EAPI:-0} is not supported" fi if [[ ${PV} == 9999 ]]; then inherit git-r3 fi inherit versionator # @ECLASS-VARIABLE: MATE_TARBALL_SUFFIX # @INTERNAL # @DESCRIPTION: # All projects hosted on mate-desktop.org provide tarballs as tar.xz. # Undefined in live ebuilds. [[ ${PV} != 9999 ]] && : ${MATE_TARBALL_SUFFIX:="xz"} # @ECLASS-VARIABLE: MATE_DESKTOP_ORG_PN # @DESCRIPTION: # Name of the package as hosted on mate-desktop.org. # Leave unset if package name matches PN. : ${MATE_DESKTOP_ORG_PN:=$PN} # @ECLASS-VARIABLE: MATE_DESKTOP_ORG_PV # @DESCRIPTION: # Package version string as listed on mate-desktop.org. # Leave unset if package version string matches PV. : ${MATE_DESKTOP_ORG_PV:=$PV} # @ECLASS-VARIABLE: MATE_BRANCH # @DESCRIPTION: # Major and minor numbers of the version number, unless live. # If live ebuild, will be set to '9999'. : ${MATE_BRANCH:=$(get_version_component_range 1-2)} # Set SRC_URI or EGIT_REPO_URI based on whether live if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI=" https://github.com/mate-desktop/${MATE_DESKTOP_ORG_PN}.git git://github.com/mate-desktop/${MATE_DESKTOP_ORG_PN}.git http://github.com/mate-desktop/${MATE_DESKTOP_ORG_PN}.git " SRC_URI="" else SRC_URI="http://pub.mate-desktop.org/releases/${MATE_BRANCH}/${MATE_DESKTOP_ORG_PN}-${MATE_DESKTOP_ORG_PV}.tar.${MATE_TARBALL_SUFFIX}" fi # Set HOMEPAGE for all ebuilds HOMEPAGE="http://mate-desktop.org"
diff --git a/eclass/mate-desktop.org.eclass b/eclass/mate-desktop.org.eclass index 5f92c4f..c57528d 100644 --- a/eclass/mate-desktop.org.eclass +++ b/eclass/mate-desktop.org.eclass @@ -12,22 +12,16 @@ # Provide a default SRC_URI and EGIT_REPO_URI for MATE packages as well as # exporting some useful values like the MATE_BRANCH -# Old EAPIs are banned. -case "${EAPI:-0}" in - 5|6) ;; - *) die "EAPI=${EAPI} is not supported" ;; -esac +# EAPIs < 6 are banned. +if [[ "${EAPI:-0}" != "6" ]]; then + die "EAPI=${EAPI:-0} is not supported" +fi if [[ ${PV} == 9999 ]]; then inherit git-r3 -else - inherit versionator fi -# Ensure availibility of xz-utils on old EAPIs -if [[ "${EAPI:-0}" -lt "6" ]]; then - DEPEND="app-arch/xz-utils" -fi +inherit versionator # @ECLASS-VARIABLE: MATE_TARBALL_SUFFIX # @INTERNAL @@ -52,11 +46,7 @@ fi # @DESCRIPTION: # Major and minor numbers of the version number, unless live. # If live ebuild, will be set to '9999'. -if [[ ${PV} == 9999 ]]; then - : ${MATE_BRANCH:=9999} -else - : ${MATE_BRANCH:=$(get_version_component_range 1-2)} -fi +: ${MATE_BRANCH:=$(get_version_component_range 1-2)} # Set SRC_URI or EGIT_REPO_URI based on whether live if [[ ${PV} == 9999 ]]; then @@ -72,6 +62,3 @@ fi # Set HOMEPAGE for all ebuilds HOMEPAGE="http://mate-desktop.org" - -# Set default SLOT for all ebuilds -SLOT="0" diff --git a/eclass/mate.eclass b/eclass/mate.eclass index a0209bf..074ed8d 100644 --- a/eclass/mate.eclass +++ b/eclass/mate.eclass @@ -15,10 +15,9 @@ # fact that MATE is a GNOME fork. For additional functions, see gnome2-utils.eclass. # Check EAPI only -case "${EAPI:-0}" in - 5|6) ;; - *) die "EAPI=${EAPI} is not supported" ;; -esac +if [[ "${EAPI:-0}" != "6" ]]; then + die "EAPI=${EAPI:-0} is not supported" +fi # Inherit happens below after declaration of GNOME2_LA_PUNT @@ -33,20 +32,19 @@ GNOME2_LA_PUNT=${MATE_LA_PUNT:-""} inherit gnome2 autotools mate-desktop.org -case "${EAPI:-0}" in - 5|6) - EXPORT_FUNCTIONS src_prepare src_configure src_install pkg_preinst pkg_postinst pkg_postrm - ;; - *) die "EAPI=${EAPI} is not supported" ;; -esac +if [[ "${EAPI:-0}" == "6" ]]; then + EXPORT_FUNCTIONS src_prepare src_configure src_install pkg_preinst pkg_postinst pkg_postrm +fi # Autotools requires our MATE m4 files DEPEND=">=mate-base/mate-common-${MATE_BRANCH}" -# @FUNCTION: python_cond_func_wrap +# @FUNCTION: mate_py_cond_func_wrap # @DESCRIPTION: Wraps a function for conditional python use, to run for each # python implementation in the build directory. -python_cond_func_wrap() { +# This function should only be used if the ebuild also inherits the +# python-r1 eclass +mate_py_cond_func_wrap() { if use python; then python_foreach_impl run_in_build_dir "$@" else @@ -60,7 +58,7 @@ python_cond_func_wrap() { # - true: will always run eautoreconf # - false: will default to automatic detect # - If it is not set, it will default to false -FORCE_AUTORECONF=${FORCE_AUTORECONF:-""} +: ${MATE_FORCE_AUTORECONF:="false"} # @FUNCTION: ematedocize # @DESCRIPTION: A wrapper around mate-doc-common @@ -85,8 +83,8 @@ want_mate_doc() { mate_src_prepare() { debug-print-function ${FUNCNAME} "$@" - local force_autoreconf=${FORCE_AUTORECONF:-false} - [[ ${PV} == 9999 ]] && force_autoreconf=true + local force_autoreconf=${MATE_FORCE_AUTORECONF} + [[ ${PV} == 9999 ]] && force_autoreconf="true" gen_chksum() { find '(' -name 'Makefile.am' \ @@ -99,8 +97,8 @@ mate_src_prepare() { gnome2_src_prepare "$@" - if ${force_autoreconf} || [[ ${chksum} != $(gen_chksum) ]]; then - [[ want_mate_doc ]] && ematedocize + if [[ "${force_autoreconf}" == "true" ]] || [[ ${chksum} != $(gen_chksum) ]]; then + want_mate_doc && ematedocize eautoreconf fi }
signature.asc
Description: OpenPGP digital signature