summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/mips-sources/mips-sources-3.7.1.ebuild')
-rw-r--r--sys-kernel/mips-sources/mips-sources-3.7.1.ebuild177
1 files changed, 177 insertions, 0 deletions
diff --git a/sys-kernel/mips-sources/mips-sources-3.7.1.ebuild b/sys-kernel/mips-sources/mips-sources-3.7.1.ebuild
new file mode 100644
index 000000000000..8360302624ed
--- /dev/null
+++ b/sys-kernel/mips-sources/mips-sources-3.7.1.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/mips-sources-3.7.1.ebuild,v 1.1 2012/12/27 09:13:02 kumba Exp $
+
+# EAPI Version
+EAPI=4
+
+# INCLUDED:
+# 1) linux sources from kernel.org
+# 2) linux-mips.org GIT snapshot diff
+# 3) Generic Fixes
+# 4) Patch for the IOC3 Metadriver (IP27, IP30)
+# 5) Patch for IP30 Support
+# 6) Patch for IP28 Graphics Support (SolidImpact)
+# 7) Experimental patches (if needed)
+
+#//------------------------------------------------------------------------------
+
+# Version Data
+OKV=${PV/_/-}
+GITDATE="20121226" # 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="1"
+K_NOUSENAME="0"
+K_NOUSEPR="0"
+K_USEPV="0"
+ETYPE="sources"
+
+# Inherit Eclasses
+inherit kernel-2 eutils
+detect_version
+
+# 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/"
+SLOT="${OKV}"
+KEYWORDS="-* ~mips"
+IUSE="cobalt ip27 ip28 ip30 ip32r10k impactdebug odysseydebug"
+DEPEND=">=sys-devel/gcc-4.1.1"
+RDEPEND=""
+
+# Machine Support Control Variables
+DO_IP22="yes" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
+DO_IP27="test" # IP27 support (SGI Origin)
+DO_IP28="yes" # IP28 support (SGI Indigo2 Impact R10000)
+DO_IP30="test" # IP30 support (SGI Octane)
+DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
+DO_CBLT="yes" # Cobalt Support (Cobalt Microsystems)
+
+# 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
+SV_CBLT="" # DO_CBLT == "no", Cobalt
+
+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="1"
+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 v1
+ eblit-include show_ip28_info v1
+ eblit-include show_ip30_info v2
+ eblit-include show_ip32_info v3
+ eblit-include show_cobalt_info v1
+
+ # 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 v1
+ eblit-pkg postinst v1
+
+ # Eblit load complete
+ MIPS_SOURCES_EBLITS_LOADED=1
+}
+
+pkg_setup() {
+ load_eblit_funcs
+ pkg_setup
+}
+
+src_unpack() { eblit-run src_unpack v3 ; }
+
+#//------------------------------------------------------------------------------