commit:     3d6388d3346df7073427584ed38f358dc0d35ac2
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 18 14:33:05 2015 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Tue Aug 18 14:33:05 2015 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=3d6388d3

kde4-base.eclass: backport pkg_nofetch from kde5.eclass

 eclass/kde4-base.eclass | 43 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 42 insertions(+), 1 deletion(-)

diff --git a/eclass/kde4-base.eclass b/eclass/kde4-base.eclass
index 8a81c55..9193674 100644
--- a/eclass/kde4-base.eclass
+++ b/eclass/kde4-base.eclass
@@ -102,7 +102,7 @@ esac
 
 inherit ${buildsystem_eclass}
 
-EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare ${export_fns} pkg_preinst 
pkg_postinst pkg_postrm
+EXPORT_FUNCTIONS pkg_setup pkg_nofetch src_unpack src_prepare ${export_fns} 
pkg_preinst pkg_postinst pkg_postrm
 
 unset buildsystem_eclass
 unset export_fns
@@ -165,6 +165,14 @@ if [[ ${KDE_BUILD_TYPE} == live && -z 
${KDE_LINGUAS_LIVE_OVERRIDE} ]]; then
        KDE_LINGUAS=""
 fi
 
+# @ECLASS-VARIABLE: KDE_UNRELEASED
+# @INTERNAL
+# @DESCRIPTION
+# An array of $CATEGORY-$PV pairs of packages that are unreleased upstream.
+# Any package matching this will have fetch restriction enabled, and receive
+# a proper error message via pkg_nofetch.
+KDE_UNRELEASED=( kde-apps-15.08.0 )
+
 # Setup packages inheriting this eclass
 case ${KDEBASE} in
        kde-base)
@@ -477,6 +485,13 @@ _calculate_src_uri() {
                        esac
                        ;;
        esac
+
+       local pair
+       for pair in "${KDE_UNRELEASED[@]}" ; do
+               if [[ "${pair}" = "${CATEGORY}-${PV}" ]]; then
+                       RESTRICT+=" fetch"
+               fi
+       done
 }
 
 _calculate_live_repo() {
@@ -644,6 +659,32 @@ kde4-base_pkg_setup() {
        export XDG_CONFIG_HOME="${T}"
 }
 
+# @FUNCTION: kde4-base_pkg_nofetch
+# @DESCRIPTION:
+# Display package publication status
+kde4-base_pkg_nofetch() {
+       eerror " _   _ _   _ ____  _____ _     _____    _    ____  _____ ____  "
+       eerror "| | | | \ | |  _ \| ____| |   | ____|  / \  / ___|| ____|  _ \ "
+       eerror "| | | |  \| | |_) |  _| | |   |  _|   / _ \ \___ \|  _| | | | |"
+       eerror "| |_| | |\  |  _ <| |___| |___| |___ / ___ \ ___) | |___| |_| |"
+       eerror " \___/|_| \_|_| \_\_____|_____|_____/_/   \_\____/|_____|____/ "
+       eerror "                                                               "
+       eerror " ____   _    ____ _  __    _    ____ _____ "
+       eerror "|  _ \ / \  / ___| |/ /   / \  / ___| ____|"
+       eerror "| |_) / _ \| |   | ' /   / _ \| |  _|  _|  "
+       eerror "|  __/ ___ \ |___| . \  / ___ \ |_| | |___ "
+       eerror "|_| /_/   \_\____|_|\_\/_/   \_\____|_____|"
+       eerror
+       eerror "${CATEGORY}/${P} has not been released to the public yet"
+       eerror "and is only available to packagers right now."
+       eerror ""
+       eerror "This is not a bug. Please do not file bugs or contact upstream 
about this."
+       eerror ""
+       eerror "Please consult the upstream release schedule to see when this "
+       eerror "package is scheduled to be released:"
+       eerror "https://techbase.kde.org/Schedules";
+}
+
 # @FUNCTION: kde4-base_src_unpack
 # @DESCRIPTION:
 # This function unpacks the source tarballs for KDE4 applications.

Reply via email to