2011-09-28 22:48:08 +02:00
{ stdenv , fetchurl , fetchgit }:
2009-12-14 16:28:55 +01:00
let
fbcondecorConfig =
''
FB_CON_DECOR y
# fbcondecor is picky about some other settings.
FB y
FB_TILEBLITTING n
FB_MATROX n
FB_S3 n
FB_VT8623 n
FB_ARK n
FB_CFB_FILLRECT y
FB_CFB_COPYAREA y
FB_CFB_IMAGEBLIT y
FB_VESA y
FRAMEBUFFER_CONSOLE y
'' ;
2011-03-21 16:53:22 +01:00
makeTuxonicePatch = { version , kernelVersion , sha256 ,
url ? " h t t p : / / t u x o n i c e . n e t / f i l e s / t u x o n i c e - ${ version } - f o r - ${ kernelVersion } . p a t c h . b z 2 " } :
{ name = " t u x o n i c e - ${ kernelVersion } " ;
patch = stdenv . mkDerivation {
name = " t u x o n i c e - ${ version } - f o r - ${ kernelVersion } . p a t c h " ;
src = fetchurl {
inherit url sha256 ;
} ;
phases = [ " i n s t a l l P h a s e " ] ;
installPhase = ''
source $ stdenv/setup
bunzip2 - c $ src > $ out
'' ;
} ;
} ;
2011-11-29 15:49:32 +01:00
makeAufs3StandalonePatch = { version , rev , sha256 }:
2011-09-28 22:48:08 +02:00
2011-11-29 15:49:32 +01:00
stdenv . mkDerivation {
name = " a u f s 3 - s t a n d a l o n e - ${ version } . p a t c h " ;
2011-09-28 22:48:08 +02:00
2011-11-29 15:49:32 +01:00
src = fetchgit {
url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git ;
inherit sha256 rev ;
} ;
2011-09-28 22:48:08 +02:00
2011-11-29 15:49:32 +01:00
phases = [ " u n p a c k P h a s e " " i n s t a l l P h a s e " ] ;
2011-09-28 22:48:08 +02:00
2011-11-29 15:49:32 +01:00
# Instructions from http://aufs.git.sourceforge.net/git/gitweb.cgi?p=aufs/aufs3-standalone.git;a=blob;f=Documentation/filesystems/aufs/README;h=b8cf077635b323d1b454266366f05f476bbd09cb;hb=1067b9d8d64d23c70d905c9cd3c90a669e39c4d4
installPhase = ''
cat aufs3-base . patch aufs3-proc_map . patch aufs3-standalone . patch > $ out
'' ;
} ;
2011-09-28 22:48:08 +02:00
2009-12-14 16:28:55 +01:00
in
2011-07-11 15:59:40 +02:00
rec {
2009-12-14 16:28:55 +01:00
sec_perm_2_6_24 =
{ name = " s e c _ p e r m - 2 . 6 . 2 4 " ;
patch = ./sec_perm-2.6.24.patch ;
features . secPermPatch = true ;
} ;
2009-12-14 20:08:20 +01:00
fbcondecor_2_6_25 =
{ name = " f b c o n d e c o r - 0 . 9 . 4 - 2 . 6 . 2 5 - r c 6 " ;
patch = fetchurl {
url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch ;
sha256 = " 1 w m 9 4 n 7 f 0 q y b 8 x v a f i p 1 5 r 1 5 8 z 5 p z w 7 z b 7 q 8 h r g d d b 0 9 2 c 6 i b m q 8 " ;
} ;
extraConfig = fbcondecorConfig ;
features . fbConDecor = true ;
} ;
2011-07-11 15:59:40 +02:00
2009-12-14 16:28:55 +01:00
fbcondecor_2_6_27 =
{ name = " f b c o n d e c o r - 0 . 9 . 4 - 2 . 6 . 2 7 " ;
patch = fetchurl {
url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.27.patch ;
sha256 = " 1 7 0 l 9 l 5 f v b g j r r 4 k l q c w b g j g 4 k w v r r h j p m g b f p q j 0 s c q 0 s 4 q 4 v k 6 " ;
} ;
extraConfig = fbcondecorConfig ;
features . fbConDecor = true ;
} ;
fbcondecor_2_6_31 =
{ name = " f b c o n d e c o r - 0 . 9 . 6 - 2 . 6 . 3 1 . 2 " ;
patch = fetchurl {
url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.6-2.6.31.2.patch ;
sha256 = " 1 a v k 0 y n 0 y 2 q b p s x f 3 1 r 6 d 1 4 y 4 a 1 m a n d 0 1 r 4 k 4 i 7 1 y f x v p q c g x k a 9 " ;
} ;
extraConfig = fbcondecorConfig ;
features . fbConDecor = true ;
} ;
2010-08-20 22:12:03 +02:00
fbcondecor_2_6_35 =
rec {
name = " f b c o n d e c o r - 0 . 9 . 6 - 2 . 6 . 3 5 - r c 4 " ;
patch = fetchurl {
url = " h t t p : / / d e v . g e n t o o . o r g / ~ s p o c k / p r o j e c t s / f b c o n d e c o r / a r c h i v e / ${ name } . p a t c h " ;
sha256 = " 0 d l k s 1 a r r 3 b 3 h l m w 9 k 1 a 1 s w j i 2 x 6 5 5 w h y 6 1 s a 0 a a h m 6 2 f a i b s g 1 r " ;
} ;
extraConfig = fbcondecorConfig ;
2011-03-19 21:44:45 +01:00
features . fbConDecor = true ;
} ;
2011-04-18 17:13:04 +02:00
fbcondecor_2_6_38 =
rec {
name = " f b c o n d e c o r - 0 . 9 . 6 - 2 . 6 . 3 8 " ;
patch = fetchurl {
url = " h t t p : / / d e v . g e n t o o . o r g / ~ s p o c k / p r o j e c t s / f b c o n d e c o r / a r c h i v e / ${ name } . p a t c h " ;
sha256 = " 1 l 8 x q f 5 z 2 2 7 m 5 a y 6 a z q b a 1 q w 1 0 y 2 6 a 4 c w f h z z a p z m m w q 1 b p r 8 m l w " ;
} ;
extraConfig = fbcondecorConfig ;
features . fbConDecor = true ;
} ;
2011-07-11 15:59:40 +02:00
gcov_2_6_28 =
2010-01-03 18:57:08 +01:00
{ name = " g c o v " ;
patch = fetchurl {
url = http://buildfarm.st.ewi.tudelft.nl/~eelco/dist/linux-2.6.28-gcov.patch ;
sha256 = " 0 c k 9 m i s a 3 p g h 3 v z y b 7 7 1 4 i b f 7 i x 7 p i y g 5 d v f a 9 r 4 2 v 1 5 s c j q i y n y " ;
} ;
extraConfig =
''
GCOV_PROFILE y
GCOV_ALL y
GCOV_PROC m
GCOV_HAMMER n
'' ;
} ;
2010-05-05 21:48:46 +02:00
tracehook_2_6_32 =
2011-08-20 08:47:13 +02:00
{ # From <http://userweb.kernel.org/~frob/utrace/>.
2010-05-05 21:48:46 +02:00
name = " t r a c e h o o k " ;
patch = fetchurl {
2011-08-20 08:47:13 +02:00
url = http://userweb.kernel.org/~frob/utrace/2.6.32/tracehook.patch ;
2010-05-05 21:48:46 +02:00
sha256 = " 1 y 0 0 9 p 8 d y q k n b j m 8 r y b 4 9 5 j q m v l 3 7 2 g f h s w d n 1 6 7 x h 2 g 1 f 2 4 x q v 8 " ;
} ;
} ;
utrace_2_6_32 =
2011-08-20 08:47:13 +02:00
{ # From <http://userweb.kernel.org/~frob/utrace/>, depends on the
2010-05-05 21:48:46 +02:00
# `tracehook' patch above.
# See also <http://sourceware.org/systemtap/wiki/utrace>.
name = " u t r a c e " ;
patch = fetchurl {
2011-08-20 08:47:13 +02:00
url = http://userweb.kernel.org/~frob/utrace/2.6.32/utrace.patch ;
sha256 = " 0 a r g f 1 9 k 9 f 0 a s i v 4 l 4 c n s x m 5 h w 2 x x 8 d 7 9 4 n p a l n 8 8 v w z 8 7 s j 5 n n q " ;
2010-05-05 21:48:46 +02:00
} ;
extraConfig =
'' U T R A C E y
'' ;
} ;
2010-05-28 09:09:15 +02:00
aufs2_2_6_32 =
{ # From http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2-32;hb=aufs2-32
# Note that this merely the patch needed to build AUFS2 as a
# standalone package.
name = " a u f s 2 " ;
patch = ./aufs2.patch ;
2010-05-28 11:29:39 +02:00
features . aufsBase = true ;
2011-09-29 00:13:59 +02:00
features . aufs2 = true ;
2010-05-28 11:29:39 +02:00
} ;
2010-06-08 08:29:02 +02:00
aufs2_2_6_34 =
{ # From http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2-34;hb=aufs2-34
# Note that this merely the patch needed to build AUFS2 as a
# standalone package.
name = " a u f s 2 " ;
patch = ./aufs2-34.patch ;
features . aufsBase = true ;
2011-09-29 00:13:59 +02:00
features . aufs2 = true ;
2010-06-08 08:29:02 +02:00
} ;
2010-08-20 22:46:12 +02:00
aufs2_2_6_35 =
{ # From http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2-35;hb=aufs2-35
# Note that this merely the patch needed to build AUFS2 as a
# standalone package.
name = " a u f s 2 " ;
patch = ./aufs2-35.patch ;
features . aufsBase = true ;
2011-09-29 00:13:59 +02:00
features . aufs2 = true ;
2010-08-20 22:46:12 +02:00
} ;
2011-08-20 08:39:29 +02:00
aufs2_2_6_36 =
{ # From http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2.1-36;hb=aufs2.1-36
# Note that this merely the patch needed to build AUFS2 as a
# standalone package.
name = " a u f s 2 " ;
patch = ./aufs2.1-36.patch ;
features . aufsBase = true ;
features . aufs2_1 = true ;
} ;
2011-04-12 20:36:33 +02:00
aufs2_1_2_6_38 =
{ # From http://aufs.git.sourceforge.net/git/gitweb.cgi?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2.1-38;hb=refs/heads/aufs2.1-38
# Note that this merely the patch needed to build AUFS2.1 as a
# standalone package.
name = " a u f s 2 . 1 " ;
patch = ./aufs2.1-38.patch ;
features . aufsBase = true ;
features . aufs2_1 = true ;
} ;
2011-08-20 08:39:29 +02:00
aufs2_1_2_6_39 =
{ # From http://aufs.git.sourceforge.net/git/gitweb.cgi?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2.1-39;hb=refs/heads/aufs2.1-39
# Note that this merely the patch needed to build AUFS2.1 as a
# standalone package.
name = " a u f s 2 . 1 " ;
patch = ./aufs2.1-39.patch ;
features . aufsBase = true ;
features . aufs2_1 = true ;
} ;
aufs2_1_3_0 =
{ # From http://aufs.git.sourceforge.net/git/gitweb.cgi?p=aufs/aufs2-standalone.git;a=tree;h=ac52a37b0debba539bdfabba101f82b99136b380;hb=ac52a37b0debba539bdfabba101f82b99136b380
# Note that this merely the patch needed to build AUFS2.1 as a
# standalone package.
name = " a u f s 2 . 1 " ;
patch = ./aufs2.1-3.0.patch ;
features . aufsBase = true ;
features . aufs2_1 = true ;
} ;
2011-09-28 23:46:07 +02:00
aufs3_0 = rec {
name = " a u f s 3 . 0 " ;
version = " 3 . 0 " ;
2011-11-08 17:00:19 +01:00
utilRev = " c a b e 3 6 0 1 0 0 1 a b 3 8 3 8 2 1 5 1 1 6 c 3 2 7 1 5 c 9 d e 9 4 1 2 e 6 2 " ;
utilHash = " 7 f c 6 c f e 1 e 6 9 a 0 b 2 4 3 8 e a e e 0 5 6 e 1 5 d 4 2 a 2 d 6 b e 3 9 6 a 6 3 7 f c f b 1 b 8 9 8 5 8 f c e c c 8 3 2 f " ;
2011-09-28 23:46:07 +02:00
patch = makeAufs3StandalonePatch {
inherit version ;
2011-11-08 17:00:19 +01:00
rev = " 5 1 7 b 2 7 6 2 1 c d f b 7 9 3 9 5 9 a c a c 8 4 9 d a e 9 8 8 8 3 3 8 5 2 6 a " ;
sha256 = " 8 0 8 5 2 0 0 a c 7 8 d 0 c 1 e 0 8 2 d 4 c 7 2 1 a 0 9 f 4 a 4 c 1 d 9 6 a e 8 6 e 3 0 7 0 7 5 8 3 6 d 0 9 c 3 e 7 d 5 0 2 d f " ;
} ;
features . aufsBase = true ;
features . aufs3 = true ;
} ;
aufs3_1 = rec {
name = " a u f s 3 . 1 " ;
version = " 3 . 1 " ;
utilRev = " c a b e 3 6 0 1 0 0 1 a b 3 8 3 8 2 1 5 1 1 6 c 3 2 7 1 5 c 9 d e 9 4 1 2 e 6 2 " ;
utilHash = " 7 f c 6 c f e 1 e 6 9 a 0 b 2 4 3 8 e a e e 0 5 6 e 1 5 d 4 2 a 2 d 6 b e 3 9 6 a 6 3 7 f c f b 1 b 8 9 8 5 8 f c e c c 8 3 2 f " ;
patch = makeAufs3StandalonePatch {
inherit version ;
rev = " 7 3 8 6 b 5 7 4 3 2 e c 5 e 7 3 6 3 2 a 5 3 7 5 8 0 4 2 3 9 b 0 2 b 6 c 0 0 f 0 " ;
sha256 = " a f 4 e 9 a d 8 9 0 e 1 b 7 2 d 1 4 1 7 0 c 9 7 d 8 e a d 5 3 2 9 1 f 0 9 e 2 7 5 d b 6 0 0 9 3 2 7 2 4 e 6 1 8 1 5 3 0 b e 2 d " ;
2011-09-28 22:48:08 +02:00
} ;
2011-09-28 23:46:07 +02:00
features . aufsBase = true ;
features . aufs3 = true ;
} ;
2011-09-28 22:48:08 +02:00
2012-02-22 21:29:18 +01:00
aufs3_2 = rec {
name = " a u f s 3 . 2 " ;
version = " 3 . 2 " ;
utilRev = " a 9 5 3 b 0 2 1 8 6 6 7 e 0 6 b 7 2 2 f 4 c 4 1 d f 2 9 e d a c d 8 d c 8 e 1 f " ;
utilHash = " 2 8 a c 4 c 1 a 0 7 b 2 c 3 0 f b 6 1 a 6 f a c c 9 c e d c f 6 7 b 1 4 f 3 0 3 b a e d f 1 b 1 2 1 a e b 6 2 9 3 e a 4 9 e b 4 " ;
patch = makeAufs3StandalonePatch {
inherit version ;
rev = " 9 c 4 b b e b 5 8 f 0 e c c 2 3 5 e a 8 2 0 a e 3 2 0 e f a 2 c 0 0 0 6 e 0 3 3 " ;
sha256 = " 5 3 6 3 a 7 f 5 f b a d a e f 9 4 5 7 e 7 4 3 a 5 7 8 1 f 2 5 2 5 3 3 2 c 4 b b b 9 1 6 9 3 c a 2 5 9 6 a b 2 d 8 f 7 8 6 0 e a " ;
} ;
features . aufsBase = true ;
features . aufs3 = true ;
} ;
2012-03-12 03:19:05 +01:00
aufs3_3 = rec {
name = " a u f s 3 . x - r c N - 2 0 1 2 0 3 1 2 " ;
version = " 3 . 3 " ;
utilRev = " 8 f 8 b 2 2 d 8 b 2 9 c 8 f 7 c c c 1 0 b 2 1 2 f 2 d e e c 8 8 4 8 c 0 2 0 a 1 " ;
utilHash = " 0 a 5 4 e f e e b 1 7 d 5 d 7 5 4 2 e b e e 3 f 1 0 b b 4 b 8 2 3 6 4 a 6 0 0 8 5 8 8 9 3 e 3 4 c 0 e 4 2 2 1 e 4 3 0 7 c c d 0 " ;
patch = makeAufs3StandalonePatch {
inherit version ;
rev = " 1 8 7 f 3 c 5 9 2 8 7 3 b 1 d 3 0 e f d 2 c 9 b 5 0 7 3 a a 7 f e 7 2 8 6 2 0 b " ;
sha256 = " d 2 2 b 7 5 1 6 5 c b c 8 c b 0 4 1 7 c 1 1 4 a 9 f 3 e 3 3 0 6 b b 9 2 8 8 b 3 5 5 7 f 5 7 a 1 d 2 0 4 8 1 e 8 c d 3 3 9 b 8 f " ;
} ;
features . aufsBase = true ;
features . aufs3 = true ;
} ;
2010-06-20 22:52:08 +02:00
# Increase the timeout on CIFS requests from 15 to 120 seconds to
# make CIFS more resilient to high load on the CIFS server.
2011-07-11 16:00:01 +02:00
cifs_timeout_2_6_15 =
{ name = " c i f s - t i m e o u t " ;
patch = ./cifs-timeout-2.6.15.patch ;
features . cifsTimeout = true ;
} ;
2011-07-11 15:59:54 +02:00
cifs_timeout_2_6_25 =
{ name = " c i f s - t i m e o u t " ;
patch = ./cifs-timeout-2.6.25.patch ;
features . cifsTimeout = true ;
} ;
2011-07-11 15:59:47 +02:00
cifs_timeout_2_6_29 =
2010-06-20 22:52:08 +02:00
{ name = " c i f s - t i m e o u t " ;
2011-07-11 15:59:47 +02:00
patch = ./cifs-timeout-2.6.29.patch ;
2010-07-18 23:10:46 +02:00
features . cifsTimeout = true ;
} ;
2011-07-11 15:59:43 +02:00
cifs_timeout_2_6_35 =
{ name = " c i f s - t i m e o u t " ;
patch = ./cifs-timeout-2.6.35.patch ;
features . cifsTimeout = true ;
} ;
cifs_timeout_2_6_38 =
{ name = " c i f s - t i m e o u t " ;
patch = ./cifs-timeout-2.6.38.patch ;
features . cifsTimeout = true ;
} ;
2011-07-11 15:59:47 +02:00
cifs_timeout = cifs_timeout_2_6_29 ;
2011-07-11 15:59:40 +02:00
2010-07-18 23:10:46 +02:00
no_xsave =
{ name = " n o - x s a v e " ;
patch = fetchurl {
2010-09-09 19:07:12 +02:00
url = " h t t p : / / k e r n e l . u b u n t u . c o m / g i t ? p = r t g / u b u n t u - m a v e r i c k . g i t ; a = b l o b d i f f _ p l a i n ; f = a r c h / x 8 6 / x e n / e n l i g h t e n . c ; h = f 7 f f 4 c 7 d 2 2 9 5 4 a b 5 e d a 4 6 4 3 2 0 2 4 1 3 0 0 b d 5 a 3 2 e e 5 ; h p = 1 e a 0 6 f 8 4 2 a 9 2 1 5 5 7 e 9 5 8 1 1 0 e 2 2 9 4 1 d 5 3 a 2 8 2 2 f 3 c ; h b = 1 a 3 0 f 9 9 ; h p b = 8 f 2 f f 6 9 d c e 1 8 e d 8 5 6 a 8 d 1 b 9 3 1 7 6 f 7 6 8 b 4 7 e e e d 8 6 " ;
2010-07-18 23:10:46 +02:00
name = " n o - x s a v e . p a t c h " ;
2010-09-09 19:07:12 +02:00
sha256 = " 1 8 7 3 2 s 3 v m a v 5 r p g 6 z q p i w 2 i 0 l l 8 3 p c c 4 g w 2 6 6 h 6 5 4 5 p m b h 9 p 7 h k y " ;
2010-07-18 23:10:46 +02:00
} ;
features . noXsave = true ;
2010-06-20 22:52:08 +02:00
} ;
2010-07-25 14:15:59 +02:00
dell_rfkill =
{ name = " d e l l - r f k i l l " ;
patch = ./dell-rfkill.patch ;
} ;
2010-09-17 17:56:42 +02:00
2010-10-08 00:10:28 +02:00
sheevaplug_modules_2_6_35 =
{ name = " s h e e v a p l u g _ m o d u l e s - 2 . 6 . 3 5 " ;
patch = ./sheevaplug_modules-2.6.35.patch ;
} ;
2012-03-18 18:14:52 +01:00
efi_bootstub_config_3_3 =
{ name = " e f i - c o n f i g - 3 . 3 " ;
patch = ./efi-bootstub-config-3.3.patch ;
} ;
2010-11-21 16:26:36 +01:00
mips_restart_2_6_36 =
{ name = " m i p s _ r e s t a r t _ 2 _ 6 _ 3 6 " ;
patch = ./mips_restart.patch ;
} ;
2010-09-17 17:56:42 +02:00
guruplug_defconfig =
2010-10-25 18:36:42 +02:00
{ # Default configuration for the GuruPlug. From
2010-09-17 17:56:42 +02:00
# <http://www.openplug.org/plugwiki/images/c/c6/Guruplug-patchset-2.6.33.2.tar.bz2>.
name = " g u r u p l u g - d e f c o n f i g " ;
patch = ./guruplug-defconfig.patch ;
} ;
guruplug_arch_number =
2010-10-25 18:36:42 +02:00
{ # Hack to match the `arch_number' of the U-Boot that ships with the
2010-09-17 17:56:42 +02:00
# GuruPlug. This is only needed when using this specific U-Boot
# binary. See
# <http://www.plugcomputer.org/plugwiki/index.php/Compiling_Linux_Kernel_for_the_Plug_Computer>.
name = " g u r u p l u g - a r c h - n u m b e r " ;
patch = ./guruplug-mach-type.patch ;
} ;
2009-12-14 16:28:55 +01:00
}