Merging from trunk.

I fixed conflicts regarding the renaming 'kernel' -> 'linux' in all-packages.
Also a small conflict in all-packages about making openssl overridable.
And I some linux 2.6.31-zen kernel files also marked in conflict.


svn path=/nixpkgs/branches/stdenv-updates/; revision=19438
This commit is contained in:
Lluís Batlle i Rossell
2010-01-14 14:49:31 +00:00
167 changed files with 3562 additions and 1240 deletions

View File

@@ -10,7 +10,7 @@ stdenv.mkDerivation {
configureFlags = [ "--enable-libdevmapper" ];
patchPhase = ''
sed -i -e 's@/sbin/udevsettle@${udev}/sbin/udevsettle@' lib/libdevmapper.c
sed -i -e 's@/sbin/udevsettle@${udev}/sbin/udevadm settle@' lib/libdevmapper.c
'';
buildInputs = [ libuuid popt devicemapper ];

View File

@@ -1,17 +0,0 @@
{stdenv, fetchurl, enableStatic ? true}:
stdenv.mkDerivation {
name = "device-mapper-1.02.27";
src = fetchurl {
url = ftp://sources.redhat.com/pub/dm/device-mapper.1.02.27.tgz;
sha256 = "1z4dldjjxfinwvg39x4m2cm5rcsbxs833g3phm34f5a2lwh7i6v6";
};
inherit enableStatic;
configureFlags = if enableStatic then "--enable-static_link" else "";
# To prevent make install from failing.
installFlags = "OWNER= GROUP=";
}

View File

@@ -0,0 +1,257 @@
rec {
generalOptions = ''
# Don't include any debug features.
DEBUG_KERNEL n
# Support drivers that need external firmware.
STANDALONE n
# Make /proc/config.gz available.
IKCONFIG_PROC y
# Optimize with -O2, not -Os.
CC_OPTIMIZE_FOR_SIZE n
# Enable the kernel's built-in memory tester.
MEMTEST y
KALLSYMS_EXTRA_PASS n
'';
virtualisation = ''
# Virtualisation (KVM, Xen...).
PARAVIRT_GUEST y
KVM_CLOCK y
KVM_GUEST y
XEN y
KSM y
# We need 64 GB (PAE) support for Xen guest support.
HIGHMEM64G? y
'';
noPAE = ''
HIGHMEM64G? n
PAE n
'';
usefulSubsystems = ''
# Enable various subsystems.
ACCESSIBILITY y # Accessibility support
AUXDISPLAY y # Auxiliary Display support
DONGLE y # Serial dongle support
HIPPI y
MTD_COMPLEX_MAPPINGS y # needed for many devices
NET_POCKET y # enable pocket and portable adapters
SCSI_LOWLEVEL y # enable lots of SCSI devices
SCSI_LOWLEVEL_PCMCIA y
SPI y # needed for many devices
SPI_MASTER y
WAN y
'';
cfq = ''
# Include the CFQ I/O scheduler in the kernel, rather than as a
# module, so that the initrd gets a good I/O scheduler.
IOSCHED_CFQ y
'';
noDebug = ''
# Disable some expensive (?) features.
FTRACE n
KPROBES n
PM_TRACE_RTC n
AIC79XX_DEBUG_ENABLE n
AIC7XXX_DEBUG_ENABLE n
AIC94XX_DEBUG n
USB_DEBUG n
CPU_FREQ_DEBUG n
'';
noNUMA = ''
NUMA? n
'';
networking = ''
# Networking options.
IP_PNP n
IPV6_PRIVACY y
NETFILTER_ADVANCED y
IP_VS_PROTO_TCP y
IP_VS_PROTO_UDP y
IP_VS_PROTO_ESP y
IP_VS_PROTO_AH y
IP_DCCP_CCID3 n # experimental
CLS_U32_PERF y
CLS_U32_MARK y
'';
wireless = ''
# Wireless networking.
IPW2100_MONITOR y # support promiscuous mode
IPW2200_MONITOR y # support promiscuous mode
IWLWIFI_LEDS? y
IWLWIFI_SPECTRUM_MEASUREMENT y
IWL3945_SPECTRUM_MEASUREMENT y
IWL4965 y # Intel Wireless WiFi 4965AGN
IWL5000 y # Intel Wireless WiFi 5000AGN
HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
HOSTAP_FIRMWARE_NVRAM y
'';
fb = ''
# Enable various FB devices.
FB y
FB_EFI y
FB_NVIDIA_I2C y # Enable DDC Support
FB_RIVA_I2C y
FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
FB_ATY_GX y # Mach64 GX support
FB_SAVAGE_I2C y
FB_SAVAGE_ACCEL y
FB_SIS_300 y
FB_SIS_315 y
FB_3DFX_ACCEL y
FB_GEODE y
'';
fbNoTileBlit = ''
# Disable tileblitting
FB_TILEBLITTING n
FB_S3 n
FB_VT8623 n
FB_ARK n
'';
fbConDecor = ''
${fb}
${fbNoTileBlit}
FRAMEBUFFER_CONSOLE y
FB_VESA y
FB_CON_DECOR y
'';
sound = ''
# Sound.
SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
SND_HDA_INPUT_BEEP y # Support digital beep via input layer
SND_USB_CAIAQ_INPUT y
PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
'';
usbserial = ''
# USB serial devices.
USB_SERIAL_GENERIC y # USB Generic Serial Driver
USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
USB_SERIAL_KEYSPAN_USA28 y
USB_SERIAL_KEYSPAN_USA28X y
USB_SERIAL_KEYSPAN_USA28XA y
USB_SERIAL_KEYSPAN_USA28XB y
USB_SERIAL_KEYSPAN_USA19 y
USB_SERIAL_KEYSPAN_USA18X y
USB_SERIAL_KEYSPAN_USA19W y
USB_SERIAL_KEYSPAN_USA19QW y
USB_SERIAL_KEYSPAN_USA19QI y
USB_SERIAL_KEYSPAN_USA49W y
USB_SERIAL_KEYSPAN_USA49WLC y
'';
fsXattr = ''
# Filesystem options - in particular, enable extended attributes and
# ACLs for all filesystems that support them.
EXT2_FS_XATTR y # Ext2 extended attributes
EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists
EXT2_FS_SECURITY y # Ext2 Security Labels
EXT2_FS_XIP y # Ext2 execute in place support
EXT4_FS_POSIX_ACL y
EXT4_FS_SECURITY y
REISERFS_FS_XATTR y
REISERFS_FS_POSIX_ACL y
REISERFS_FS_SECURITY y
JFS_POSIX_ACL y
JFS_SECURITY y
XFS_QUOTA y
XFS_POSIX_ACL y
XFS_RT y # XFS Realtime subvolume support
OCFS2_DEBUG_MASKLOG n
OCFS2_FS_POSIX_ACL y
BTRFS_FS_POSIX_ACL y
UBIFS_FS_XATTR y
UBIFS_FS_ADVANCED_COMPR y
NFSD_V2_ACL y
NFSD_V3 y
NFSD_V3_ACL y
NFSD_V4 y
CIFS_XATTR y
CIFS_POSIX y
'';
security = ''
# Security related features.
STRICT_DEVMEM y # Filter access to /dev/mem
SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default
'';
blockDevices = ''
BLK_DEV_BSG n
BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support
BLK_DEV_IDEACPI y # IDE ACPI support
BLK_DEV_INTEGRITY y
'';
bluetooth = ''
BT_HCIUART_BCSP y
BT_HCIUART_H4 y # UART (H4) protocol support
BT_HCIUART_LL y
BT_RFCOMM_TTY y # RFCOMM TTY support
'';
misc = ''
# Misc. options.
8139TOO_8129 y
8139TOO_PIO n # PIO is slower
B43_PCMCIA y
BSD_PROCESS_ACCT_V3 y
CRASH_DUMP n
DMAR? n # experimental
DVB_DYNAMIC_MINORS y # we use udev
FUSION y # Fusion MPT device support
IDE_GD_ATAPI y # ATAPI floppy support
IRDA_ULTRA y # Ultra (connectionless) protocol
JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels
JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger
LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
LOGO n # not needed
MEDIA_ATTACH y
MEGARAID_NEWGEN y
MICROCODE_AMD y
MODVERSIONS y
MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
MTRR_SANITIZER y
NET_FC y # Fibre Channel driver support
PCI_LEGACY y
PPP_MULTILINK y # PPP multilink support
REGULATOR y # Voltage and Current Regulator Support
SCSI_LOGGING y # SCSI logging facility
SERIAL_8250 y # 8250/16550 and compatible serial support
SLIP_COMPRESSED y # CSLIP compressed headers
SLIP_SMART y
THERMAL_HWMON y # Hardware monitoring support
USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
X86_CHECK_BIOS_CORRUPTION y
X86_MCE y
'';
bfsched = ''
SCHED_BFS y
NO_HZ n
HZ_1000 n
HZ_300 y
HZ 300
'';
}

View File

@@ -100,5 +100,8 @@ stdenv.mkDerivation {
" (with patches: "
+ lib.concatStrings (lib.intersperse ", " (map (x: x.name) kernelPatches))
+ ")");
license = "GPLv2";
homepage = http://www.kernel.org/;
maintainers = [ lib.maintainers.eelco ];
} // extraMeta;
}

View File

@@ -3,11 +3,11 @@ args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? "", ... }:
import ./generic.nix (
rec {
version = "2.6.27.42";
version = "2.6.27.43";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
sha256 = "0nsjhikswqrag44wablsr02kl03p8jwd0j50brg6gpjwb3485zaz";
sha256 = "0y2fpc6maazzg75ixrzc7h0v0k48jaflbjjcsh6c69f0mq3l8zay";
};
features.iwlwifi = true;

View File

@@ -4,11 +4,11 @@ args @ { stdenv, fetchurl, platform, userModeLinux ? false, extraConfig ? ""
import ./generic.nix (
rec {
version = "2.6.32.2";
version = "2.6.32.3";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
sha256 = "16fyfcj6cgd5b1n0qnf2lgx5v806xycr3w1nhyys1qc0ffy2iccj";
sha256 = "09zg9xk67vjpfrrb3m4rzql4nd7bz64i9sng5sbdpfgs7d4pi1cp";
};
features.iwlwifi = true;
@@ -203,5 +203,5 @@ import ./generic.nix (
'';
}
// args
// removeAttrs args ["extraConfig"]
)

View File

@@ -89,4 +89,19 @@ in
};
};
gcov_2_6_28 =
{ name = "gcov";
patch = fetchurl {
url = http://buildfarm.st.ewi.tudelft.nl/~eelco/dist/linux-2.6.28-gcov.patch;
sha256 = "0ck9misa3pgh3vzyb7714ibf7ix7piyg5dvfa9r42v15scjqiyny";
};
extraConfig =
''
GCOV_PROFILE y
GCOV_ALL y
GCOV_PROC m
GCOV_HAMMER n
'';
};
}

View File

@@ -1,21 +1,20 @@
{stdenv, fetchurl, devicemapper, enableStatic ? true}:
assert enableStatic -> devicemapper.enableStatic;
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "lvm2-2.02.39";
name = "lvm2-2.02.56";
src = fetchurl {
url = ftp://sources.redhat.com/pub/lvm2/LVM2.2.02.39.tgz;
sha256 = "18nfy7lj9fjjqjjd9dmb4v8away7cpi51ss1k8gd0yrh77dbsyyh";
url = ftp://sources.redhat.com/pub/lvm2/LVM2.2.02.56.tgz;
sha256 = "0hrgca93jnc3k05cgc3rc5klvc03anxmqydgljv6qq59nhnfz5lw";
};
buildInputs = [devicemapper];
inherit enableStatic;
configureFlags = "--disable-readline ${if enableStatic then "--enable-static_link" else ""}";
configureFlags = "--disable-readline --enable-udev_rules --enable-udev_sync";
# To prevent make install from failing.
preInstall = "installFlags=\"OWNER= GROUP= confdir=$out/etc\"";
meta = {
homepage = http://sourceware.org/lvm2/;
descriptions = "Tools to support Logical Volume Management (LVM) on Linux";
};
}

View File

@@ -0,0 +1,48 @@
{stdenv, fetchurl, makeWrapper, useSetUID, dbus, libxml2, pam, hal, pkgconfig, pmount, python, pythonDBus}:
let
pmountBin = useSetUID pmount "/bin/pmount";
pumountBin = useSetUID pmount "/bin/pumount";
in
stdenv.mkDerivation {
name = "pam_usb-0.4.2";
src = fetchurl {
url = mirror://sourceforge/pamusb/files/pam_usb/pam_usb-0.4.2/pam_usb-0.4.2.tar.gz;
sha256 = "736afced7482c7c5d47127285f7defe0a304a6136a0090588fa8698d385ba202";
};
buildInputs = [
makeWrapper
# pam_usb dependencies
dbus libxml2 pam hal pmount pkgconfig
# pam_usb's tools dependencies
python
# cElementTree is included with python 2.5 and later.
];
preBuild = ''
makeFlagsArray=(DESTDIR=$out)
substituteInPlace ./src/volume.c \
--replace 'pmount' '${pmountBin}' \
--replace 'pumount' '${pumountBin}'
'';
# pmount is append to the PATH because pmounts binaries should have a set uid bit.
postInstall = ''
mv $out/usr/* $out/. # fix color */
rm -rf $out/usr
for prog in $out/bin/pamusb-conf $out/bin/pamusb-agent; do
substituteInPlace $prog --replace '/usr/bin/env python' '/bin/python'
wrapProgram $prog \
--prefix PYTHONPATH : "$(toPythonPath ${pythonDBus})"
done
'';
meta = {
homepage = http://pamusb.org/;
description = "Authentication using USB Flash Drives";
license = "GPLv2";
};
}

View File

@@ -0,0 +1,42 @@
{stdenv, fetchurl, cryptsetup, dbus, dbus_glib, hal, intltool, ntfs3g, utillinuxng
, mediaDir ? "/media/"
, lockDir ? "/var/lock/pmount"
, whiteList ? "/etc/pmount.allow"
}:
# constraint mention in the configure.ac
assert stdenv.lib.hasSuffix "/" mediaDir;
stdenv.mkDerivation {
name = "pmount-0.9.20";
src = fetchurl {
url = https://alioth.debian.org/frs/download.php/3127/pmount-0.9.20.tar.gz;
sha256 = "0574d2e805610c179904f5c676b2b93e088906b91bcb76980daa4a8da1d23e8c";
};
buildInputs = [ hal intltool utillinuxng ];
configureFlags = ""
+ " --with-media-dir=${mediaDir}"
+ " --with-lock-dir=${lockDir}"
+ " --with-whitelist=${whiteList}"
+ " --with-mount-prog=${utillinuxng}/bin/mount"
+ " --with-umount-prog=${utillinuxng}/bin/umount"
+ " --with-cryptsetup=${cryptsetup}/sbin/cryptsetup"
+ " --with-mount-ntfs3g=${ntfs3g}/sbin/mount.ntfs-3g"
+ " --enable-hal";
postConfigure = ''
# etc/Mafile.am is hardcoded and it does not respect the --prefix option.
substituteInPlace ./etc/Makefile --replace DESTDIR prefix
# Do not change ownership & Do not add the set user ID bit
substituteInPlace ./src/Makefile --replace '-o root -g root -m 4755 ' '-m 755 '
'';
meta = {
homepage = http://pmount.alioth.debian.org/;
description = "Mount removable devices as normal user";
license = "GPLv2";
};
}

View File

@@ -3,11 +3,11 @@
assert stdenv.isLinux;
stdenv.mkDerivation rec {
name = "qemu-kvm-0.11.1";
name = "qemu-kvm-0.12.1.2";
src = fetchurl {
url = "mirror://sourceforge/kvm/${name}.tar.gz";
sha256 = "12s5v35krd7m7s4blf75ml4lwmw19kiygg3al0shy7xvza4vbxbx";
sha256 = "1k5xx9rn0n311bgvl6g9c8h1bxj2nhjpjpzbngy0sf9hdjidnba7";
};
patches = [ ./unix-domain.patch ];

View File

@@ -1,9 +1,9 @@
diff -rc --exclude '*~' qemu-kvm-0.11.0-rc1-orig/slirp/socket.c qemu-kvm-0.11.0-rc1/slirp/socket.c
*** qemu-kvm-0.11.0-rc1-orig/slirp/socket.c 2009-08-02 15:38:42.000000000 +0200
--- qemu-kvm-0.11.0-rc1/slirp/socket.c 2009-08-21 17:11:21.000000000 +0200
diff -rc --exclude '*~' qemu-kvm-0.12.1.2-orig/slirp/socket.c qemu-kvm-0.12.1.2/slirp/socket.c
*** qemu-kvm-0.12.1.2-orig/slirp/socket.c 2009-12-29 21:46:34.000000000 +0100
--- qemu-kvm-0.12.1.2/slirp/socket.c 2010-01-03 20:24:11.000000000 +0100
***************
*** 587,592 ****
--- 587,593 ----
*** 588,593 ****
--- 588,594 ----
u_int lport, int flags)
{
struct sockaddr_in addr;
@@ -12,7 +12,7 @@ diff -rc --exclude '*~' qemu-kvm-0.11.0-rc1-orig/slirp/socket.c qemu-kvm-0.11.0-
int s, opt = 1;
socklen_t addrlen = sizeof(addr);
***************
*** 621,633 ****
*** 622,634 ****
so->so_lport = lport; /* Kept in network format */
so->so_laddr.s_addr = laddr; /* Ditto */
@@ -20,37 +20,37 @@ diff -rc --exclude '*~' qemu-kvm-0.11.0-rc1-orig/slirp/socket.c qemu-kvm-0.11.0-
! addr.sin_addr.s_addr = haddr;
! addr.sin_port = hport;
! if (((s = socket(AF_INET,SOCK_STREAM,0)) < 0) ||
! if (((s = qemu_socket(AF_INET,SOCK_STREAM,0)) < 0) ||
(setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int)) < 0) ||
! (bind(s,(struct sockaddr *)&addr, sizeof(addr)) < 0) ||
(listen(s,1) < 0)) {
int tmperrno = errno; /* Don't clobber the real reason we failed */
--- 622,643 ----
--- 623,644 ----
so->so_lport = lport; /* Kept in network format */
so->so_laddr.s_addr = laddr; /* Ditto */
! so->so_uds = ntohs(hport) >= 0xff00;
! so->so_uds = ntohs(hport) >= 0xff00;
!
! if (so->so_uds) {
! addr_un.sun_family = AF_UNIX;
! sprintf(addr_un.sun_path, "./%d.socket", ntohs(hport));
! unlink(addr_un.sun_path);
! } else {
! addr.sin_family = AF_INET;
! addr.sin_addr.s_addr = haddr;
! addr.sin_port = hport;
! }
! if (so->so_uds) {
! addr_un.sun_family = AF_UNIX;
! sprintf(addr_un.sun_path, "./%d.socket", ntohs(hport));
! unlink(addr_un.sun_path);
! } else {
! addr.sin_family = AF_INET;
! addr.sin_addr.s_addr = haddr;
! addr.sin_port = hport;
! }
!
! if (((s = socket(so->so_uds ? PF_UNIX : AF_INET, SOCK_STREAM, 0)) < 0) ||
! if (((s = qemu_socket(so->so_uds ? PF_UNIX : AF_INET, SOCK_STREAM, 0)) < 0) ||
(setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int)) < 0) ||
! (bind(s, so->so_uds ? (struct sockaddr *) &addr_un : (struct sockaddr *) &addr,
! so->so_uds ? sizeof(addr_un) : sizeof(addr)) < 0) ||
! (bind(s, so->so_uds ? (struct sockaddr *) &addr_un : (struct sockaddr *) &addr,
! so->so_uds ? sizeof(addr_un) : sizeof(addr)) < 0) ||
(listen(s,1) < 0)) {
int tmperrno = errno; /* Don't clobber the real reason we failed */
***************
*** 643,654 ****
*** 644,655 ****
}
setsockopt(s,SOL_SOCKET,SO_OOBINLINE,(char *)&opt,sizeof(int));
@@ -63,7 +63,7 @@ diff -rc --exclude '*~' qemu-kvm-0.11.0-rc1-orig/slirp/socket.c qemu-kvm-0.11.0-
so->s = s;
return so;
--- 653,669 ----
--- 654,670 ----
}
setsockopt(s,SOL_SOCKET,SO_OOBINLINE,(char *)&opt,sizeof(int));
@@ -81,9 +81,9 @@ diff -rc --exclude '*~' qemu-kvm-0.11.0-rc1-orig/slirp/socket.c qemu-kvm-0.11.0-
so->s = s;
return so;
diff -rc --exclude '*~' qemu-kvm-0.11.0-rc1-orig/slirp/socket.h qemu-kvm-0.11.0-rc1/slirp/socket.h
*** qemu-kvm-0.11.0-rc1-orig/slirp/socket.h 2009-08-02 15:38:42.000000000 +0200
--- qemu-kvm-0.11.0-rc1/slirp/socket.h 2009-08-21 17:02:36.000000000 +0200
diff -rc --exclude '*~' qemu-kvm-0.12.1.2-orig/slirp/socket.h qemu-kvm-0.12.1.2/slirp/socket.h
*** qemu-kvm-0.12.1.2-orig/slirp/socket.h 2009-12-29 21:46:34.000000000 +0100
--- qemu-kvm-0.12.1.2/slirp/socket.h 2010-01-03 20:20:50.000000000 +0100
***************
*** 33,39 ****
struct in_addr so_laddr; /* local host table entry */
@@ -102,11 +102,11 @@ diff -rc --exclude '*~' qemu-kvm-0.11.0-rc1-orig/slirp/socket.h qemu-kvm-0.11.0-
u_int8_t so_iptos; /* Type of service */
u_int8_t so_emu; /* Is the socket emulated? */
diff -rc --exclude '*~' qemu-kvm-0.11.0-rc1-orig/slirp/tcp_subr.c qemu-kvm-0.11.0-rc1/slirp/tcp_subr.c
*** qemu-kvm-0.11.0-rc1-orig/slirp/tcp_subr.c 2009-08-02 15:38:42.000000000 +0200
--- qemu-kvm-0.11.0-rc1/slirp/tcp_subr.c 2009-08-21 17:21:37.000000000 +0200
diff -rc --exclude '*~' qemu-kvm-0.12.1.2-orig/slirp/tcp_subr.c qemu-kvm-0.12.1.2/slirp/tcp_subr.c
*** qemu-kvm-0.12.1.2-orig/slirp/tcp_subr.c 2009-12-29 21:46:34.000000000 +0100
--- qemu-kvm-0.12.1.2/slirp/tcp_subr.c 2010-01-03 20:20:50.000000000 +0100
***************
*** 382,388 ****
*** 383,389 ****
Slirp *slirp = inso->slirp;
struct socket *so;
struct sockaddr_in addr;
@@ -114,7 +114,7 @@ diff -rc --exclude '*~' qemu-kvm-0.11.0-rc1-orig/slirp/tcp_subr.c qemu-kvm-0.11.
struct tcpcb *tp;
int s, opt;
--- 382,389 ----
--- 383,390 ----
Slirp *slirp = inso->slirp;
struct socket *so;
struct sockaddr_in addr;
@@ -124,7 +124,7 @@ diff -rc --exclude '*~' qemu-kvm-0.11.0-rc1-orig/slirp/tcp_subr.c qemu-kvm-0.11.
int s, opt;
***************
*** 412,418 ****
*** 413,419 ****
(void) tcp_mss(sototcpcb(so), 0);
@@ -132,7 +132,7 @@ diff -rc --exclude '*~' qemu-kvm-0.11.0-rc1-orig/slirp/tcp_subr.c qemu-kvm-0.11.
tcp_close(sototcpcb(so)); /* This will sofree() as well */
return;
}
--- 413,422 ----
--- 414,423 ----
(void) tcp_mss(sototcpcb(so), 0);
@@ -144,7 +144,7 @@ diff -rc --exclude '*~' qemu-kvm-0.11.0-rc1-orig/slirp/tcp_subr.c qemu-kvm-0.11.
return;
}
***************
*** 424,434 ****
*** 425,435 ****
opt = 1;
setsockopt(s,IPPROTO_TCP,TCP_NODELAY,(char *)&opt,sizeof(int));
@@ -156,7 +156,7 @@ diff -rc --exclude '*~' qemu-kvm-0.11.0-rc1-orig/slirp/tcp_subr.c qemu-kvm-0.11.
/* Close the accept() socket, set right state */
if (inso->so_state & SS_FACCEPTONCE) {
--- 428,443 ----
--- 429,444 ----
opt = 1;
setsockopt(s,IPPROTO_TCP,TCP_NODELAY,(char *)&opt,sizeof(int));

View File

@@ -1,205 +0,0 @@
a :
let
s = import ./src-for-2.6.31-zen5.nix;
in
(import ../kernel/generic.nix) (rec {
inherit (a) stdenv fetchurl perl mktemp module_init_tools platform;
uboot = if (platform.name == "sheevaplug") then
platform.uboot else null;
src = a.builderDefs.fetchGitFromSrcInfo s;
version = "2.6.31-zen5";
config = "./kernel-config";
features = {
iwlwifi = true;
zen = true;
fbConDecor = if (platform.name == "pc") then true else false;
aufs = true;
};
extraMeta = {
maintainers = [
a.lib.maintainers.raskin
];
platforms = with a.lib.platforms;
linux;
};
configFunctions = ''
killOption () {
sed -re 's/^('"$1"')=.*/# \1 is not set/' -i .config
}
setOptionVal () {
sed -re 's/^('"$1"')=.*/\1='"$2"'/' -i .config
sed -re 's/^# ('"$1"') is not set/\1='"$2"'/' -i .config
sed -re "1i$1=$2" -i .config
}
setOptionMod () {
setOptionVal "$1" m
}
setOptionYes () {
setOptionVal "$1" y
}
'';
configurePC = ''
make allmodconfig
killOption CONFIG_CMDLINE_OVERRIDE
killOption 'CONFIG_.*_DEBUG.*'
killOption 'CONFIG_DEBUG.*'
killOption CONFIG_AUDIT_ARCH
killOption CONFIG_PERF_COUNTERS
killOption 'CONFIG_GCOV.*'
killOption 'CONFIG_KGDB.*'
killOption 'CONFIG_.*_TEST'
killOption CONFIG_TASKSTATS
killOption CONFIG_SLQB
killOption CONFIG_SLQB_ALLOCATOR
setOptionYes CONFIG_SLUB_ALLOCATOR
setOptionYes CONFIG_SLUB
killOption CONFIG_ACPI_CUSTOM_DSDT_INITRD
killOption CONFIG_DEVTMPFS
killOption CONFIG_DEVTMPFS_MOUNT
killOption CONFIG_IMA
'' +
''
killOption CONFIG_USB_OTG_BLACKLIST_HUB
''+
''
killOption CONFIG_KERNEL_BZIP2
killOption CONFIG_KERNEL_LZMA
setOptionYes CONFIG_KERNEL_GZIP
''+
''
killOption CONFIG_FB_TILEBLITTING
killOption CONFIG_FB_S3
killOption CONFIG_FB_VT8623
killOption CONFIG_FB_ARK
setOptionYes CONFIG_FRAMEBUFFER_CONSOLE
setOptionYes CONFIG_FB
make oldconfig
setOptionYes CONFIG_FB_CON_DECOR
setOptionYes CONFIG_FB_VESA
''+
''
killOption CONFIG_PREEMPT_NONE
setOptionYes CONFIG_PREEMPT_VOLUNTARY
''+
''
killOption CONFIG_PRAMFS
''+
(if a.lib.attrByPath ["ckSched"] false a then ''
killOption CONFIG_CPU_CFS
setOptionYes CONFIG_CPU_BFS
killOption CONFIG_NO_HZ
killOption CONFIG_HZ_1000
setOptionYes CONFIG_HZ_250
setOptionVal CONFIG_HZ 250
''else "") +
''
cp .config ${config}
'';
configureBaseSheevaplug = ''
ARCH=arm make kirkwood_defconfig
'';
configureBaseVersatileARM = ''
ARCH=arm make versatile_defconfig
setOptionYes CONFIG_IP_PNP_DHCP
setOptionYes CONFIG_TUN
# This versatile arm is for the sheevaplug compatibility, so, EABI
setOptionYes CONFIG_AEABI
setOptionYes CONFIG_TMPFS
# For the qemu block device 'hda' to work
setOptionYes CONFIG_PCI
setOptionYes CONFIG_SCSI
setOptionYes CONFIG_BLK_DEV_SD
setOptionYes CONFIG_SCSI_SYM53C8XX_2
'';
configureARM = ''
killOption CONFIG_CMDLINE_OVERRIDE
killOption 'CONFIG_.*_DEBUG.*'
killOption 'CONFIG_DEBUG.*'
killOption CONFIG_AUDIT_ARCH
killOption CONFIG_PERF_COUNTERS
killOption 'CONFIG_GCOV.*'
killOption 'CONFIG_KGDB.*'
killOption 'CONFIG_.*_TEST'
killOption CONFIG_TASKSTATS
killOption CONFIG_SLQB
killOption CONFIG_SLQB_ALLOCATOR
setOptionYes CONFIG_SLUB_ALLOCATOR
setOptionYes CONFIG_SLUB
killOption CONFIG_ACPI_CUSTOM_DSDT_INITRD
killOption CONFIG_DEVTMPFS
killOption CONFIG_DEVTMPFS_MOUNT
killOption CONFIG_IMA
'' +
''
killOption CONFIG_USB_OTG_BLACKLIST_HUB
''+
''
killOption CONFIG_KERNEL_BZIP2
killOption CONFIG_KERNEL_LZMA
setOptionYes CONFIG_KERNEL_GZIP
''+
''
killOption CONFIG_FB_TILEBLITTING
killOption CONFIG_FB_S3
killOption CONFIG_FB_VT8623
killOption CONFIG_FB_ARK
killOption CONFIG_FRAMEBUFFER_CONSOLE
killOption CONFIG_FB
make oldconfig
killOption CONFIG_FB_CON_DECOR
killOption CONFIG_FB_VESA
''+
''
killOption CONFIG_PREEMPT_NONE
setOptionYes CONFIG_PREEMPT_VOLUNTARY
''+
''
killOption CONFIG_PRAMFS
''+
''
setOptionYes CONFIG_MTD_UBI
setOptionYes CONFIG_REISERFS_FS
setOptionYes CONFIG_FUSE_FS
setOptionYes CONFIG_ISO9660_FS
setOptionMod CONFIG_IPV6
''+
(if a.lib.attrByPath ["ckSched"] false a then ''
killOption CONFIG_CPU_CFS
setOptionYes CONFIG_CPU_BFS
killOption CONFIG_NO_HZ
killOption CONFIG_HZ_1000
setOptionYes CONFIG_HZ_250
setOptionVal CONFIG_HZ 250
''else "") +
''
cp .config ${config}
'';
preConfigure = configFunctions +
(if (platform.name == "pc") then
(configureBaseSheevaplug + configureARM)
else if (platform.name == "sheevaplug") then
(configureBaseSheevaplug + configureARM)
else if (platform.name == "versatileARM") then
(configureBaseVersatileARM + configureARM)
else throw "platform not supported"
);
})

View File

@@ -0,0 +1,74 @@
args @ {stdenv, fetchurl, xz, runCommand, userModeLinux ? false, extraConfig ? "",
kernelPatches ? [], extraMeta ? {},
features ? {}, preConfigure ? "",
...}:
let
conf = import ../kernel/config-blocks.nix;
in
import ../kernel/generic.nix (
rec {
version = "2.6.32-zen4";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v2.6/linux-2.6.32.tar.bz2";
sha256 = "0kjhnkf2ldivagczs16q49zm2lr3khh01pqrlsc7sh5qh1npi6ah";
};
kernelPatches = [
{
patch = runCommand "2.6.32-zen4.patch" {} "${xz}/bin/lzma -d < ${ fetchurl {
name = "2.6.32-zen4";
url = "http://downloads.zen-kernel.org/2.6.32/2.6.32-zen4.patch.lzma";
sha256 = "1dyp9sfigqjfqw1c94010c521bhcy1xnzp91kkhg3dwgzfpsp2k2";
} } > $out";
}
]
++
stdenv.lib.attrByPath ["kernelPatches"] [] args;
features = {
iwlwifi = true;
zen = true;
fbConDecor = true;
aufs = true;
} // (stdenv.lib.attrByPath ["features"] {} args);
config = with conf;
''
${generalOptions}
${noDebug}
${virtualisation}
${if stdenv.lib.attrByPath ["features" "oldI686"] false args then noPAE else ""}
${usefulSubsystems}
${cfq}
${noNUMA}
${networking}
${wireless}
${fb}
${fbConDecor}
${sound}
${usbserial}
${fsXattr}
${security}
${blockDevices}
${bluetooth}
${misc}
${if stdenv.lib.attrByPath ["features" "ckSched"] false args then bfsched else ""}
'';
preConfigure = ''
mv README.zen README-zen
'' + stdenv.lib.attrByPath ["preConfigure"] "" args;
extraMeta = {
maintainers = [stdenv.lib.maintainers.raskin];
platforms = with stdenv.lib.platforms;
linux;
} // stdenv.lib.attrByPath ["extraMeta"] {} args;
}
// removeAttrs args ["extraConfig" "extraMeta" "features" "kernelPatches"
"xz" "runCommand" "preConfigure"]
)

View File

@@ -1,7 +0,0 @@
rec {
version="cd9caea74b8f90e8dded45a93a173f0f5c5aef25";
name="zen-linux-cd9caea74b8f90e8dded45a93a173f0f5c5aef25";
hash="86e254d1aab17a66d7f5a83d93430b11dbeb95be1ee06f1d6a4c36219e4dfaf4";
rev="cd9caea74b8f90e8dded45a93a173f0f5c5aef25";
url="git://zen-kernel.org/kernel/zen-stable.git";
}

View File

@@ -1,7 +0,0 @@
rec {
version="66a44aa93959818bdb8153fea27b0992197ebc54";
name="zen-linux-66a44aa93959818bdb8153fea27b0992197ebc54";
hash="f5c86214424c8a7202c2dd9bbbd800561940af00800edb8afab080a73c185bca";
rev="66a44aa93959818bdb8153fea27b0992197ebc54";
url="git://zen-kernel.org/kernel/zen-stable.git";
}

View File

@@ -1,6 +0,0 @@
{
repoUrl = "http://git.zen-sources.org/zen.git";
rev = "origin/master";
baseName = "zen-linux";
method = "fetchgit";
}

View File

@@ -1,6 +0,0 @@
{
repoUrl = "git://zen-kernel.org/kernel/zen-stable.git";
rev = "origin/master";
baseName = "zen-linux";
method = "fetchgit";
}

View File

@@ -1,102 +0,0 @@
a :
let
s = import ./src-for-zen-stable.nix;
in
(import ../kernel/generic.nix) (rec {
inherit (a) stdenv fetchurl perl mktemp module_init_tools;
src = a.builderDefs.fetchGitFromSrcInfo s;
version = "2.6.31-zen7";
config = "./kernel-config";
features = {
iwlwifi = true;
zen = true;
fbConDecor = true;
aufs = true;
};
extraMeta = {
maintainers = [
a.lib.maintainers.raskin
];
platforms = with a.lib.platforms;
linux;
};
preConfigure = ''
killOption () {
sed -re 's/^('"$1"')=.*/# \1 is not set/' -i .config
}
setOptionVal () {
sed -re 's/^('"$1"')=.*/\1='"$2"'/' -i .config
sed -re 's/^# ('"$1"') is not set/\1='"$2"'/' -i .config
sed -re "1i$1=$2" -i .config
}
setOptionMod () {
setOptionVal "$1" m
}
setOptionYes () {
setOptionVal "$1" y
}
make allmodconfig
killOption CONFIG_CMDLINE_OVERRIDE
killOption 'CONFIG_.*_DEBUG.*'
killOption 'CONFIG_DEBUG.*'
killOption CONFIG_AUDIT_ARCH
killOption CONFIG_PERF_COUNTERS
killOption 'CONFIG_GCOV.*'
killOption 'CONFIG_KGDB.*'
killOption 'CONFIG_.*_TEST'
killOption CONFIG_TASKSTATS
killOption CONFIG_SLQB
killOption CONFIG_SLQB_ALLOCATOR
setOptionYes CONFIG_SLUB_ALLOCATOR
setOptionYes CONFIG_SLUB
killOption CONFIG_ACPI_CUSTOM_DSDT_INITRD
killOption CONFIG_DEVTMPFS
killOption CONFIG_DEVTMPFS_MOUNT
killOption CONFIG_IMA
'' +
''
killOption CONFIG_USB_OTG_BLACKLIST_HUB
''+
''
killOption CONFIG_KERNEL_BZIP2
killOption CONFIG_KERNEL_LZMA
setOptionYes CONFIG_KERNEL_GZIP
''+
''
killOption CONFIG_FB_TILEBLITTING
killOption CONFIG_FB_S3
killOption CONFIG_FB_VT8623
killOption CONFIG_FB_ARK
setOptionYes CONFIG_FRAMEBUFFER_CONSOLE
setOptionYes CONFIG_FB
make oldconfig
setOptionYes CONFIG_FB_CON_DECOR
setOptionYes CONFIG_FB_VESA
''+
''
killOption CONFIG_PREEMPT_NONE
setOptionYes CONFIG_PREEMPT_VOLUNTARY
''+
''
killOption CONFIG_PRAMFS
''+
(if a.lib.attrByPath ["ckSched"] false a then ''
killOption CONFIG_CPU_CFS
setOptionYes CONFIG_CPU_BFS
killOption CONFIG_NO_HZ
killOption CONFIG_HZ_1000
setOptionYes CONFIG_HZ_250
setOptionVal CONFIG_HZ 250
''else "") +
''
cp .config ${config}
'';
})