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 ;
} ;
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 ;
} ;
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-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-09-28 23:46:07 +02:00
aufs3_0 = rec {
name = " a u f s 3 . 0 " ;
2012-12-13 11:45:11 +01:00
version = " 3 . 0 . 2 0 1 2 1 2 1 0 " ;
2012-09-16 10:52:22 +02:00
utilRev = " 9 1 a f 1 5 f 9 7 7 d 1 2 e 0 2 1 6 5 7 5 9 6 2 0 0 0 5 f 6 c e 1 a 4 d 7 6 0 2 " ;
utilHash = " d d a 4 d f 8 9 8 2 8 d c f 0 e 4 0 1 2 d 8 8 b 4 a a 3 e d a 8 c 3 0 a f 6 9 d 6 5 3 0 f f 5 f e d c 2 4 1 1 d e 8 7 2 c 9 9 6 " ;
2011-09-28 23:46:07 +02:00
patch = makeAufs3StandalonePatch {
inherit version ;
2012-12-13 11:45:11 +01:00
rev = " 0 6 2 7 c 7 0 6 d 6 9 7 7 8 f 5 c 7 4 b e 9 8 2 f 2 8 c 7 4 6 1 5 3 b 8 c d f 7 " ;
sha256 = " 7 0 0 8 f f 6 4 f 5 a d c 2 b 3 a 3 0 f c b b 0 9 0 b c b f a a c 6 1 b 7 7 8 a f 3 8 4 9 3 b 6 1 4 4 f c 7 d 7 6 8 a 6 5 1 4 d " ;
2011-11-08 17:00:19 +01:00
} ;
features . aufsBase = true ;
features . aufs3 = true ;
} ;
aufs3_1 = rec {
name = " a u f s 3 . 1 " ;
2012-12-13 11:45:11 +01:00
version = " 3 . 1 . 2 0 1 2 1 2 1 0 " ;
2012-09-16 10:52:22 +02:00
utilRev = " 9 1 a f 1 5 f 9 7 7 d 1 2 e 0 2 1 6 5 7 5 9 6 2 0 0 0 5 f 6 c e 1 a 4 d 7 6 0 2 " ;
utilHash = " d d a 4 d f 8 9 8 2 8 d c f 0 e 4 0 1 2 d 8 8 b 4 a a 3 e d a 8 c 3 0 a f 6 9 d 6 5 3 0 f f 5 f e d c 2 4 1 1 d e 8 7 2 c 9 9 6 " ;
2011-11-08 17:00:19 +01:00
patch = makeAufs3StandalonePatch {
inherit version ;
2012-12-13 11:45:11 +01:00
rev = " 8 2 c 9 f e 4 3 d 1 9 7 0 7 2 a 8 2 c a b 6 f 0 2 a 5 f d 5 c c 4 f 5 0 3 0 6 a " ;
sha256 = " f 0 3 d 0 0 9 6 4 c 9 f c 9 9 7 5 1 4 4 d 3 1 5 f b 7 9 a 1 c d 5 6 d 9 9 f 8 c 1 1 8 5 3 e d 8 1 d 3 4 a f c a 3 5 c d 5 6 0 a " ;
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 " ;
2012-12-13 11:45:11 +01:00
version = " 3 . 2 . 2 0 1 2 1 2 1 0 " ;
2012-09-16 10:52:22 +02:00
utilRev = " 9 1 a f 1 5 f 9 7 7 d 1 2 e 0 2 1 6 5 7 5 9 6 2 0 0 0 5 f 6 c e 1 a 4 d 7 6 0 2 " ;
utilHash = " d d a 4 d f 8 9 8 2 8 d c f 0 e 4 0 1 2 d 8 8 b 4 a a 3 e d a 8 c 3 0 a f 6 9 d 6 5 3 0 f f 5 f e d c 2 4 1 1 d e 8 7 2 c 9 9 6 " ;
2012-02-22 21:29:18 +01:00
patch = makeAufs3StandalonePatch {
inherit version ;
2012-12-13 11:45:11 +01:00
rev = " 0 b f 5 0 c 3 b 8 2 f 9 8 e 2 d d c 4 c 9 b a 0 6 5 7 f 2 8 e b f a 8 d 1 5 c b " ;
sha256 = " b c 4 b 6 5 c b 7 7 c 6 2 7 4 4 d b 2 5 1 d a 9 8 4 8 8 f d f 4 9 6 2 f 1 4 a 1 4 4 c 0 4 5 c e a 6 c b b b d 4 2 7 1 8 f f 8 9 " ;
2012-02-22 21:29:18 +01:00
} ;
features . aufsBase = true ;
features . aufs3 = true ;
} ;
2012-03-12 03:19:05 +01:00
aufs3_3 = rec {
2012-06-11 19:41:05 +02:00
name = " a u f s 3 . 3 " ;
2012-12-13 11:45:11 +01:00
version = " 3 . 3 . 2 0 1 2 1 2 1 0 " ;
2012-06-11 19:41:05 +02:00
utilRev = " 9 1 a f 1 5 f 9 7 7 d 1 2 e 0 2 1 6 5 7 5 9 6 2 0 0 0 5 f 6 c e 1 a 4 d 7 6 0 2 " ;
utilHash = " d d a 4 d f 8 9 8 2 8 d c f 0 e 4 0 1 2 d 8 8 b 4 a a 3 e d a 8 c 3 0 a f 6 9 d 6 5 3 0 f f 5 f e d c 2 4 1 1 d e 8 7 2 c 9 9 6 " ;
2012-03-12 03:19:05 +01:00
patch = makeAufs3StandalonePatch {
inherit version ;
2012-12-13 11:45:11 +01:00
rev = " 6 5 a b 6 0 7 c f b 2 c 4 1 1 d 8 6 d a 8 f c e e 2 5 c 0 f 6 d a d a 1 c 4 d 5 " ;
sha256 = " 5 5 c 8 8 7 9 3 2 f 1 c 1 2 a e d 4 e e 2 0 d 9 e 7 4 9 a 8 0 e 9 e 0 4 1 2 9 5 1 b d 0 a 4 0 f a 3 9 4 9 b a 9 7 2 7 6 4 a 0 a " ;
2012-06-11 19:41:05 +02:00
} ;
features . aufsBase = true ;
features . aufs3 = true ;
} ;
aufs3_4 = rec {
name = " a u f s 3 . 4 " ;
2012-12-13 11:45:11 +01:00
version = " 3 . 4 . 2 0 1 2 1 2 1 0 " ;
2012-06-11 19:41:05 +02:00
utilRev = " 9 1 a f 1 5 f 9 7 7 d 1 2 e 0 2 1 6 5 7 5 9 6 2 0 0 0 5 f 6 c e 1 a 4 d 7 6 0 2 " ;
utilHash = " d d a 4 d f 8 9 8 2 8 d c f 0 e 4 0 1 2 d 8 8 b 4 a a 3 e d a 8 c 3 0 a f 6 9 d 6 5 3 0 f f 5 f e d c 2 4 1 1 d e 8 7 2 c 9 9 6 " ;
patch = makeAufs3StandalonePatch {
inherit version ;
2012-12-13 11:45:11 +01:00
rev = " 2 f a a c d 9 b a f f b 3 7 d f 3 b 9 0 6 2 c c 5 5 4 3 5 3 e e b e 6 8 d f 1 e " ;
sha256 = " 3 e c f 9 7 4 6 8 f 5 e 8 5 9 7 0 d 9 f d 2 b f c 6 1 e 3 8 c 7 f 5 a e 2 c 6 d d e 0 0 4 5 d 5 a 1 7 d e 0 8 5 c 4 1 1 d 4 5 2 " ;
2012-03-12 03:19:05 +01:00
} ;
features . aufsBase = true ;
features . aufs3 = true ;
} ;
2012-08-05 01:55:16 +02:00
aufs3_5 = rec {
name = " a u f s 3 . 5 " ;
2012-12-13 11:45:11 +01:00
version = " 3 . 5 . 2 0 1 2 1 2 1 0 " ;
2012-08-05 01:55:16 +02:00
utilRev = " 9 1 a f 1 5 f 9 7 7 d 1 2 e 0 2 1 6 5 7 5 9 6 2 0 0 0 5 f 6 c e 1 a 4 d 7 6 0 2 " ;
utilHash = " d d a 4 d f 8 9 8 2 8 d c f 0 e 4 0 1 2 d 8 8 b 4 a a 3 e d a 8 c 3 0 a f 6 9 d 6 5 3 0 f f 5 f e d c 2 4 1 1 d e 8 7 2 c 9 9 6 " ;
patch = makeAufs3StandalonePatch {
inherit version ;
2012-12-13 11:45:11 +01:00
rev = " 1 6 5 8 e 9 0 8 0 c 0 e 4 9 f 3 8 f e e e 5 0 2 7 c f 0 d 3 2 9 4 0 a 6 6 1 c a " ;
sha256 = " 4 5 7 7 f e 1 d d 3 4 2 9 9 5 2 0 1 5 5 7 6 7 a 7 c 4 2 6 9 7 d 4 1 a a b c 0 0 5 5 a e 8 b 1 e 4 4 8 4 4 9 b 8 c 2 4 a 1 0 4 4 " ;
2012-08-05 01:55:16 +02:00
} ;
features . aufsBase = true ;
features . aufs3 = true ;
} ;
2012-10-09 13:21:19 +02:00
aufs3_6 = rec {
name = " a u f s 3 . 6 " ;
2012-12-13 11:45:11 +01:00
version = " 3 . 6 . 2 0 1 2 1 2 1 0 " ;
utilRev = " 9 1 a f 1 5 f 9 7 7 d 1 2 e 0 2 1 6 5 7 5 9 6 2 0 0 0 5 f 6 c e 1 a 4 d 7 6 0 2 " ;
utilHash = " d d a 4 d f 8 9 8 2 8 d c f 0 e 4 0 1 2 d 8 8 b 4 a a 3 e d a 8 c 3 0 a f 6 9 d 6 5 3 0 f f 5 f e d c 2 4 1 1 d e 8 7 2 c 9 9 6 " ;
patch = makeAufs3StandalonePatch {
inherit version ;
rev = " f 5 4 1 e b f d 8 8 d f 0 f 4 e 6 f 9 d a f 5 5 0 5 3 2 8 2 e 4 f 5 2 c c 4 d 9 " ;
sha256 = " 4 d 6 1 5 a 5 f 3 c 1 4 a 6 a 7 c 4 9 b c 6 d 6 5 e 7 8 a 2 c d b 8 9 3 2 1 c b d 8 a 5 3 f 8 7 c c 8 f e 9 e d d a 3 8 2 c 3 a " ;
} ;
features . aufsBase = true ;
features . aufs3 = true ;
} ;
# not officially released yet, but 3.x seems to work fine
aufs3_7 = rec {
name = " a u f s 3 . 7 " ;
version = " 3 . x . 2 0 1 2 1 2 1 0 " ;
2012-10-09 13:21:19 +02:00
utilRev = " 9 1 a f 1 5 f 9 7 7 d 1 2 e 0 2 1 6 5 7 5 9 6 2 0 0 0 5 f 6 c e 1 a 4 d 7 6 0 2 " ;
utilHash = " d d a 4 d f 8 9 8 2 8 d c f 0 e 4 0 1 2 d 8 8 b 4 a a 3 e d a 8 c 3 0 a f 6 9 d 6 5 3 0 f f 5 f e d c 2 4 1 1 d e 8 7 2 c 9 9 6 " ;
patch = makeAufs3StandalonePatch {
inherit version ;
2012-12-13 11:45:11 +01:00
rev = " 8 d 2 4 d 7 2 8 c 7 e b 5 4 d d 6 2 4 b c c d 8 e 8 7 a f a 8 2 6 6 7 0 1 4 2 c " ;
sha256 = " 0 2 d c b 4 6 e 0 2 b 2 a 6 b 9 0 c 1 6 0 1 b 5 7 4 7 6 1 4 2 7 6 0 7 4 4 8 8 c 9 3 0 8 6 2 5 c 3 a 5 2 a b 7 4 c a d 9 9 7 a 5 " ;
2012-10-09 13:21:19 +02:00
} ;
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: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 ;
} ;
2012-11-06 10:50:56 +01:00
cifs_timeout_3_5_7 =
{ name = " c i f s - t i m e o u t " ;
patch = ./cifs-timeout-3.5.7.patch ;
features . cifsTimeout = true ;
} ;
2010-07-18 23:10:46 +02:00
no_xsave =
{ name = " n o - x s a v e " ;
2012-07-02 16:16:27 +02:00
patch = ./no-xsave.patch ;
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
2012-10-09 13:21:19 +02:00
# seems no longer necessary on 3.6
2012-08-10 09:41:43 +02:00
perf3_5 =
{ name = " p e r f - 3 . 5 " ;
patch = ./perf-3.5.patch ;
} ;
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-06-16 12:49:03 +02:00
mips_fpureg_emu =
{ name = " m i p s - f p u r e g - e m u l a t i o n " ;
patch = ./mips-fpureg-emulation.patch ;
} ;
mips_fpu_sigill =
{ name = " m i p s - f p u - s i g i l l " ;
patch = ./mips-fpu-sigill.patch ;
} ;
2012-11-06 00:16:13 +01:00
mips_ext3_n32 =
{ name = " m i p s - e x t 3 - n 3 2 " ;
patch = ./mips-ext3-n32.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
}