summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/mips-sources/mips-sources-4.8.15.ebuild')
-rw-r--r--sys-kernel/mips-sources/mips-sources-4.8.15.ebuild175
1 files changed, 175 insertions, 0 deletions
diff --git a/sys-kernel/mips-sources/mips-sources-4.8.15.ebuild b/sys-kernel/mips-sources/mips-sources-4.8.15.ebuild
new file mode 100644
index 000000000000..e419d9b0a3bb
--- /dev/null
+++ b/sys-kernel/mips-sources/mips-sources-4.8.15.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# EAPI Version
+EAPI="5"
+
+#//------------------------------------------------------------------------------
+
+# Version Data
+GITDATE="20161016" # Date of diff between kernel.org and lmo GIT
+GENPATCHREV="1" # Tarball revision for patches
+
+# Directories
+S="${WORKDIR}/linux-${OKV}-${GITDATE}"
+MIPS_PATCHES="${WORKDIR}/mips-patches"
+
+# Kernel-2 Vars
+K_SECURITY_UNSUPPORTED="yes"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_NOUSEPR="yes"
+K_BASE_VER="4.7"
+K_FROM_GIT="yes"
+ETYPE="sources"
+
+# Inherit Eclasses
+inherit kernel-2 eutils
+detect_version
+
+# EPATCH Vars
+# XXX: Required to properly apply Impact/Odyssey driver patches.
+EPATCH_OPTS="-F3"
+
+# Version Data
+F_KV="${PVR}"
+BASE_KV="$(get_version_component_range 1-2).0"
+[[ "${EXTRAVERSION}" = -rc* ]] && KVE="${EXTRAVERSION}"
+
+# Portage Vars
+HOMEPAGE="http://www.linux-mips.org/ http://www.gentoo.org/"
+KEYWORDS="-* ~mips"
+IUSE="experimental ip27 ip28 ip30"
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=sys-devel/gcc-4.7.0
+ >=sys-devel/patch-2.7.4"
+
+# Specify any patches or patch familes to NOT apply here.
+# Use only the 4-digit number followed by a '*'.
+P_EXCLUDE=""
+
+# Machine Support Control Variables
+DO_IP22="test" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
+DO_IP27="yes" # IP27 support (SGI Origin)
+DO_IP28="test" # IP28 support (SGI Indigo2 Impact R10000)
+DO_IP30="yes" # IP30 support (SGI Octane)
+DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
+
+# Machine Stable Version Variables
+SV_IP22="" # If set && DO_IP22 == "no", indicates last "good" IP22 version
+SV_IP27="" # DO_IP27 == "no", IP27
+SV_IP28="" # DO_IP28 == "no", IP28
+SV_IP30="" # DO_IP30 == "no", IP30
+SV_IP32="" # DO_IP32 == "no", IP32
+
+DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
+SRC_URI="${KERNEL_URI}
+ mirror://gentoo/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz
+ mirror://gentoo/${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
+
+UNIPATCH_STRICTORDER="yes"
+UNIPATCH_LIST="${DISTDIR}/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz"
+
+#//------------------------------------------------------------------------------
+
+# Eblit Handling Functions
+#
+# They'll likely be superseded someday by better ideas, possibly elibs.
+
+# eblit-core
+# Usage: <function> [version]
+# Main eblit engine
+eblit-core() {
+ local e v func=$1 ver=$2
+ for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
+ e="${FILESDIR}/eblits/${func}${v}.eblit"
+ if [[ -e ${e} ]] ; then
+ . "${e}"
+ [[ ${func} == pkg_* ]] && eval "${func}() { eblit-run ${func} ${ver} ; }"
+ return 0
+ fi
+ done
+ return 1
+}
+
+# eblit-include
+# Usage: [--skip] <function> [version]
+# Includes an "eblit" -- a chunk of common code among ebuilds in a given
+# package so that its functions can be sourced and utilized within the
+# ebuild.
+eblit-include() {
+ local skipable=false r=0
+ [[ $1 == "--skip" ]] && skipable=true && shift
+ [[ $1 == pkg_* ]] && skipable=true
+
+ [[ -z $1 ]] && die "Usage: eblit-include <function> [version]"
+ eblit-core $1 $2
+ r="$?"
+ ${skipable} && return 0
+ [[ "$r" -gt "0" ]] && die "Could not locate requested eblit '$1' in ${FILESDIR}/eblits/"
+}
+
+# eblit-run-maybe
+# Usage: <function>
+# Runs a function if it is defined in an eblit
+eblit-run-maybe() {
+ [[ $(type -t "$@") == "function" ]] && "$@"
+}
+
+# eblit-run
+# Usage: <function> [version]
+# Runs a function defined in an eblit
+eblit-run() {
+ eblit-include --skip common "${*:2}"
+ eblit-include "$@"
+ eblit-run-maybe eblit-$1-pre
+ eblit-${PN}-$1
+ eblit-run-maybe eblit-$1-post
+}
+
+# eblit-pkg
+# Usage: <phase> [version]
+# Runs the pkg_* functions AND evals them so they're included in the binpkgs
+eblit-pkg() {
+ [[ -z $1 ]] && die "Usage: eblit-pkg <phase> [version]"
+ eblit-core pkg_$1 $2
+}
+
+#//------------------------------------------------------------------------------
+
+load_eblit_funcs() {
+ # This is a sanity check to avoid QA issues. It prevents
+ # eblits from being referenced during metadata operations.
+ [ -n "${MIPS_SOURCES_EBLITS_LOADED}" ] && return
+
+ # All are in ${FILESDIR}/eblits
+ # If a message for a given machine needs to change,
+ # then we create a new eblit and increment the
+ # version and reference it here.
+ eblit-include err_disabled_mach v1
+ eblit-include err_only_one_mach_allowed v1
+ eblit-include show_ip22_info v3
+ eblit-include show_ip27_info v4
+ eblit-include show_ip28_info v1
+ eblit-include show_ip30_info v5
+ eblit-include show_ip32_info v5
+
+ # This makes sure pkg_setup & pkg_postinst gets into any binpkg.
+ # Neccessary because we can't guarantee FILESDIR is around for binpkgs.
+ eblit-pkg setup v2
+ eblit-pkg postinst v2
+
+ # Eblit load complete
+ MIPS_SOURCES_EBLITS_LOADED=1
+}
+
+pkg_setup() {
+ load_eblit_funcs
+ pkg_setup
+}
+
+src_unpack() { eblit-run src_unpack v7 ; }
+
+#//------------------------------------------------------------------------------