# Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 # Submitted by Kerin Francis Millar (kerframil) IUSE="grsec staircase systrace win4lin" OKV="2.6.4" OKB="2.6" EXTRAVERSION="-${PN%-*}-${PV/$OKV./}" KV="${OKV}${EXTRAVERSION}" WOLKPATCH="linux-${OKV}-wolk${PV/${OKV}./}.patch.bz2" S="${WORKDIR}/linux-${KV}" UNIPATCH_LIST="${DISTDIR}/${WOLKPATCH}" UNIPATCH_STRICTORDER="yes" ETYPE="sources" inherit kernel-2 RESTRICT="nomirror" DESCRIPTION="Full sources for Marc-Christian Peterson's new WOLK kernel, based on 2.6.4 with recent patches and fixes" HOMEPAGE="http://www.kernel.org/pub/linux/kernel/people/mcp/${OKB}-WOLK/" SRC_URI="mirror://kernel/linux/kernel/v${OKB}/linux-${OKV}.tar.bz2 mirror://kernel/linux/kernel/people/mcp/${OKB}-WOLK/${WOLKPATCH}" KEYWORDS="~x86 ~ppc ~sparc ~alpha ~hppa ~arm ~mips ~amd64" K_EXTRAEINFO="Select only ONE use flag option at a time. If there are issues with this kernel, then please direct any queries to the mailing list: http://sourceforge.net/mailarchive/forum.php?forum_id=8245. Refer to the 2.6-WOLK-README file for further information. You will find this file in the directory containing the sources." #============================================================================ # We'll override the src_unpack() function from the eclass. This is necessary # due to the inclusion of optional patches in the sources. These cannot be # applied until after the initial base WOLK patch has been applied which is # a problem, given that the eclass checks for the validity of any patches. #============================================================================ src_unpack() { cd ${WORKDIR} unpack linux-${OKV}.tar.bz2 mv linux-${OKV} linux-${KV} || die "Unable to move source tree to ${KV}." cd ${S} universal_unpack unipatch "${UNIPATCH_LIST_DEFAULT} ${UNIPATCH_LIST}" unpack_set_extraversion # Apply optional addon patches according to the USE flags if [ "`use grsec`" ]; then epatch ${S}/ADDON-patches/01_ADDON-grsecurity2-2.6.4-WOLK.patch fi if [ "`use win4lin`" ]; then epatch ${S}/ADDON-patches/02_ADDON-Win4Lin3-2.6.4+mki26-1.3.4.patch fi if [ "`use systrace`" ]; then epatch ${S}/ADDON-patches/04_ADDON-systrace-2.6.1-v1.5.patch fi if [ "`use staircase`" ]; then epatch ${S}/ADDON-patches/05_ADDON-staircase-scheduler.patch fi }