summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Kinard <kumba@gentoo.org>2004-08-30 22:59:20 +0000
committerJoshua Kinard <kumba@gentoo.org>2004-08-30 22:59:20 +0000
commite84ac9507491784644d00f0c87447b44d0370b48 (patch)
tree379229a2c73977b23f6218d17cf8babe7eeb0523 /sys-kernel/mips-headers/mips-headers-2.6.6-r1.ebuild
parent1/2: fix patch for pwlib (#62192, need to commit with -n...) (diff)
downloadgentoo-2-e84ac9507491784644d00f0c87447b44d0370b48.tar.gz
gentoo-2-e84ac9507491784644d00f0c87447b44d0370b48.tar.bz2
gentoo-2-e84ac9507491784644d00f0c87447b44d0370b48.zip
Imported changes from linux26-headers, fixes Bug #61884
Diffstat (limited to 'sys-kernel/mips-headers/mips-headers-2.6.6-r1.ebuild')
-rw-r--r--sys-kernel/mips-headers/mips-headers-2.6.6-r1.ebuild124
1 files changed, 124 insertions, 0 deletions
diff --git a/sys-kernel/mips-headers/mips-headers-2.6.6-r1.ebuild b/sys-kernel/mips-headers/mips-headers-2.6.6-r1.ebuild
new file mode 100644
index 000000000000..914b55d0562f
--- /dev/null
+++ b/sys-kernel/mips-headers/mips-headers-2.6.6-r1.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-headers/mips-headers-2.6.6-r1.ebuild,v 1.1 2004/08/30 22:59:20 kumba Exp $
+
+ETYPE="headers"
+inherit kernel eutils
+
+OKV=${PV/_/-}
+CVSDATE="20040604"
+EXTRAVERSION=-mipscvs-${CVSDATE}
+COBALTPATCHVER="1.4"
+KV="${OKV}${EXTRAVERSION}"
+S=${WORKDIR}/linux-${KV}
+
+# What's in this kernel?
+
+# INCLUDED:
+# 1) linux sources from kernel.org
+# 2) linux-mips.org CVS snapshot diff from 04 Jun 2004
+
+DESCRIPTION="Linux Headers from Linux-Mips CVS, dated ${CVSDATE}"
+SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${OKV}.tar.bz2
+ mirror://gentoo/mipscvs-${OKV}-${CVSDATE}.diff.bz2"
+HOMEPAGE="http://www.linux-mips.org/"
+LICENSE="GPL-2"
+SLOT="0"
+PROVIDE="virtual/os-headers"
+KEYWORDS="-*"
+IUSE=""
+
+src_unpack() {
+ unpack ${A}
+ mv ${WORKDIR}/linux-${OKV} ${S}
+ cd ${S}
+
+ # Update the vanilla sources with linux-mips CVS changes
+ epatch ${WORKDIR}/mipscvs-${OKV}-${CVSDATE}.diff
+
+ # Cobalt Patches
+ if [ "${PROFILE_ARCH}" = "cobalt" ]; then
+ echo -e ""
+ einfo ">>> Patching kernel for Cobalt support ..."
+ for x in ${WORKDIR}/cobalt-patches-26xx-${COBALTPATCHVER}/*.patch; do
+ epatch ${x}
+ done
+ fi
+
+ # Do Stuff
+ kernel_universal_unpack
+
+ # User-space patches for various things
+ epatch ${FILESDIR}/${PN}-2.6.6-appCompat.patch
+ epatch ${FILESDIR}/${PN}-2.6.3-strict-ansi-fix.patch
+ epatch ${FILESDIR}/${PN}-2.6.0-sysctl_h-compat.patch
+ epatch ${FILESDIR}/${PN}-2.6.0-fb.patch
+
+ epatch ${FILESDIR}/${PN}-2.6.6-spaces_h-kernel.patch
+}
+
+src_compile() {
+ local my_defconfig hcflags
+
+ # Avoid issues w/ ARCH
+ set_arch_to_kernel
+
+ # Imported from linux26-headers
+ # autoconf.h isnt generated unless it already exists. plus, we have no guarentee that
+ # any headers are installed on the system...
+ [ -f ${ROOT}/usr/include/linux/autoconf.h ] || touch ${S}/include/linux/autoconf.h
+
+ # CFLAGS for the kernel defconfig
+ hcflags="-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I${S}/include/"
+
+ # Set the right defconfig
+ if [ "${PROFILE_ARCH}" = "cobalt" ]; then
+ my_defconfig="cobalt_defconfig"
+ else
+ # SGI Machine?
+ case "$(uname -i)" in
+ "SGI Indy"|"SGI Indigo2"|"SGI IP22") my_defconfig="ip22_defconfig" ;;
+ "SGI Origin"|"SGI IP27") my_defconfig="ip27_defconfig" ;;
+ "SGI Octane"|"SGI IP30") my_defconfig="ip30_defconfig" ;;
+ "SGI O2"|"SGI IP32") my_defconfig="ip32_defconfig" ;;
+ esac
+ fi
+
+ # Run defconfig
+ make ${my_defconfig} HOSTCFLAGS="${hcflags}"
+
+ # "Prepare" certain files
+ make prepare HOSTCFLAGS="${hcflags}"
+
+ # Back to normal
+ set_arch_to_portage
+}
+
+src_install() {
+ # XXX Bug in Kernel.eclass requires this fix for now.
+ # XXX Remove when kernel.eclass is fixed.
+ # XXX 2.4 kernels symlink 'asm' to 'asm-${ARCH}' in include/
+ # XXX 2.6 kernels don't, however. So we fix this here so kernel.eclass can find the include/asm folder
+ if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then
+ ln -sf ${S}/include/asm-${ARCH} ${S}/include/asm
+ fi
+
+ # Do normal src_install stuff
+ kernel_src_install
+
+ # If this is 2.5 or 2.6 headers, then we need asm-generic too
+ if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then
+ dodir /usr/include/asm-generic
+ cp -ax ${S}/include/asm-generic/* ${D}/usr/include/asm-generic
+ fi
+}
+
+pkg_postinst() {
+ kernel_pkg_postinst
+
+ einfo "Kernel headers are usually only used when recompiling glibc, as such, following the installation"
+ einfo "of newer headers, it is advised that you re-merge glibc as follows:"
+ einfo "emerge glibc"
+ einfo "Failure to do so will cause glibc to not make use of newer features present in the updated kernel"
+ einfo "headers."
+}