commit:     b83ced604cbe012a4ca09ad4cd5d5214a0327b5c
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 18 14:09:49 2015 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Tue Aug 18 14:11:44 2015 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=b83ced60

kde5.eclass: implement ridiculous pkg_nofetch because there are no limits to 
what people will ignore.

Based on Manuel RĂ¼ger's <mrueg <AT> gentoo.org> idea from 
603f50e1bacae45e1a24452e07d1381e2ea0c786.

 eclass/kde5.eclass | 44 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 43 insertions(+), 1 deletion(-)

diff --git a/eclass/kde5.eclass b/eclass/kde5.eclass
index 78be3d8..950f53f 100644
--- a/eclass/kde5.eclass
+++ b/eclass/kde5.eclass
@@ -28,7 +28,7 @@ if [[ ${KDE_BUILD_TYPE} = live ]]; then
        esac
 fi
 
-EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure 
src_compile src_test src_install pkg_preinst pkg_postinst pkg_postrm
+EXPORT_FUNCTIONS pkg_pretend pkg_setup pkg_nofetch src_unpack src_prepare 
src_configure src_compile src_test src_install pkg_preinst pkg_postinst 
pkg_postrm
 
 # @ECLASS-VARIABLE: QT_MINIMAL
 # @DESCRIPTION:
@@ -106,6 +106,14 @@ fi
 # add a dependency on sec-policy/selinux-${KDE_SELINUX_MODULE} to (R)DEPEND.
 : ${KDE_SELINUX_MODULE:=none}
 
+# @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 )
+
 if [[ ${KDEBASE} = kdevelop ]]; then
        HOMEPAGE="http://www.kdevelop.org/";
 else
@@ -260,6 +268,13 @@ _calculate_src_uri() {
                        esac
                        ;;
        esac
+
+       local pair
+       for pair in "${KDE_UNRELEASED[@]}" ; do
+               if [[ "${pair}" = "${CATEGORY}-${PV}" ]]; then
+                       RESTRICT+=" fetch"
+               fi
+       done
 }
 
 # Determine fetch location for live sources
@@ -354,6 +369,33 @@ kde5_pkg_setup() {
        _check_gcc_version
 }
 
+# @FUNCTION: kde5_pkg_nofetch
+# @DESCRIPTION:
+# Display package publication status
+kde5_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: kde5_src_unpack
 # @DESCRIPTION:
 # Function for unpacking KDE 5.

Reply via email to