Add tuxonice to 2.6.31
[gentoo-overlay-ibormuth.git] / sys-kernel / nogo-sources / nogo-sources-2.6.31.ebuild
blob5dc4b44d28028142926ba5799bb1e2ceddc21743
1 # Copyright 1999-2009 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: $
5 ETYPE="sources"
6 inherit kernel-2
7 detect_version
8 detect_arch
10 #------------------------------------------------------------------------
12 K_WANT_GENPATCHES="base extras"
13 K_GENPATCHES_OKV="${OKV}"
14 K_GENPATCHES_VER="1"
16 TUXONICE_OKV="${OKV}"
17 TUXONICE_VER="3.0.1"
18 #TUXONICE_PATCH="tuxonice-${TUXONICE_VER}-for-${TUXONICE_OKV}.patch.bz2"
19 TUXONICE_PATCH="current-tuxonice-for-2.6.31.patch-20090911-v1.bz2"
21 REISER4_OKV="2.6.30" #${OKV}"
22 REISER4_VER=""
23 REISER4_PATCH="reiser4-for-${REISER4_OKV}${REISER4_VER}.patch.bz2"
25 ATOP_OKV="2.6.28"
26 ATOP_VER=""
27 ATOP_PATCH="atoppatch-kernel-${ATOP_OKV}${ATOP_VER}.tar.gz"
29 #------------------------------------------------------------------------
31 KEYWORDS="" #~amd64 ~x86"
32 use reiset4 && die "No Reiser4e support yet for this version."
33 use atop && die "No ATop support yet for this version."
35 IUSE="atop currentconfig oneslot reiser4 toshiba-acpi tuxonice"
37 use oneslot && SLOT="0"
39 DESCRIPTION="Kernel, optionally with atop, genpatches, reiser4, tuxonice, toshiba-acpi."
41 HOMEPAGE="http://www.kernel.org
42 ATOP: http://www.atcomputing.nl/Tools/atop
43 GENPATCHES: http://dev.gentoo.org/~dsd/genpatches
44 REISER4: http://www.kernel.org/pub/linux/kernel/people/edward/reiser4
45 TOSHIBA-ACPI: http://memebeam.org/toys/ExperimentalToshibaAcpiDriver
46 TUXONICE: http://www.tuxonice.net"
48 SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}
49 atop? ( http://www.atcomputing.nl/Tools/atop/packages/${ATOP_PATCH} )
50 reiser4? ( mirror://kernel/linux/kernel/people/edward/reiser4/reiser4-for-2.6/${REISER4_PATCH} )
51 tuxonice? ( http://www.tuxonice.net/downloads/all/${TUXONICE_PATCH} )"
53 RDEPEND="${RDEPEND}
54 tuxonice? ( >=sys-apps/tuxonice-userui-0.7.3
55 ( || ( sys-power/hibernate-script sys-power/pm-utils ) ) )
56 reiser4? ( >=sys-fs/reiser4progs-1.0.6 )
57 atop? ( sys-process/atop )"
59 UNIPATCH_STRICTORDER="yes"
60 UNIPATCH_LIST=""
62 if use tuxonice
63 then
64 if [[ ${#TUXONICE_VER} -lt 30 ]] # official or local patch generated from git ?
65 then
66 UNIPATCH_LIST="${UNIPATCH_LIST} ${DISTDIR}/${TUXONICE_PATCH}"
67 else
68 UNIPATCH_LIST="${UNIPATCH_LIST} ${FILESDIR}/${TUXONICE_PATCH}"
69 fi
70 fi
72 if use reiser4
73 then
74 UNIPATCH_LIST="${UNIPATCH_LIST}
75 ${DISTDIR}/${REISER4_PATCH}"
76 fi
78 if use toshiba-acpi
79 then
80 UNIPATCH_LIST="${UNIPATCH_LIST}
81 ${FILESDIR}/linux-2.6.29-toshiba_acpi.patch"
82 fi
84 src_unpack() {
85 kernel-2_src_unpack
86 cd "${S}"
88 # Due to stupid naming atop patches don't work with unipatch
89 if use atop && [ -e "${DISTDIR}/${ATOP_PATCH}" ]
90 then
91 echo "Atop Patch:"
92 ( ( ( tar -xzOf "${DISTDIR}/${ATOP_PATCH}" --exclude "README*" \
93 || die "${ATOP_PATCH} is invalid (not yet available ?)" \
94 ) | patch -p1 \
95 ) || die "${ATOP_PATCH} failed (old version ?)"
96 )
97 echo "Fix Atop:"
98 patch -p1 < "${FILESDIR}/linux-2.6.29-atop_fix.patch" || die "Fix Atop Failed."
100 fi
102 # Copy current config from /proc
103 if use currentconfig ; then
104 if [ -e "/usr/src/linux-${KV_FULL}/.config" ]; then
105 ewarn "Kernel config file already exist."
106 ewarn "I will NOT overwrite that."
107 else
108 echo "Copying kernel config file."
109 zcat /proc/config > .config || ewarn "Can't copy /proc/config"
110 fi
111 fi
114 nogo_info() {
115 if use ${1}
116 then
117 einfo " + ${1} (${2})"
118 else
119 einfo " - ${1}"
120 fi
123 pkg_postinst() {
124 kernel-2_pkg_postinst
125 echo
126 ewarn "========"
127 ewarn "WARNING:"
128 ewarn "========"
129 ewarn
130 ewarn "This is an experimental kernel version."
131 echo
132 einfo "Features:"
133 echo
134 nogo_info atop "${ATOP_PATCH}"
135 nogo_info reiser4 "${REISER4_PATCH}"
136 nogo_info tuxonice "${TUXONICE_PATCH}"
137 nogo_info toshiba-acpi "local"
138 echo
139 ewarn "Do NOT ask for official gentoo support."
140 ewarn "I am BY NO MEANS responsible for breaking your system."
141 ewarn "ALWAYS keep a second stable and bootable kernel apart in your boot manager."