diff options
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r-- | pkgs/os-specific/linux/android-udev-rules/default.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/ena/default.nix | 3 | ||||
-rw-r--r-- | pkgs/os-specific/linux/firmware/raspberrypi/default.nix | 2 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/common-config.nix | 6 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/linux-testing.nix | 8 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/modinst-arg-list-too-long.patch | 14 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/patches.nix | 5 | ||||
-rw-r--r-- | pkgs/os-specific/linux/sysklogd/default.nix | 2 | ||||
-rw-r--r-- | pkgs/os-specific/linux/sysklogd/union-wait.patch | 11 |
9 files changed, 48 insertions, 7 deletions
diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix index 677eb890a5ba..cae5fe4329d4 100644 --- a/pkgs/os-specific/linux/android-udev-rules/default.nix +++ b/pkgs/os-specific/linux/android-udev-rules/default.nix @@ -1,5 +1,9 @@ { stdenv, fetchFromGitHub }: +## Usage +# In NixOS, simply add this package to services.udev.packages: +# services.udev.packages = [ pkgs.android-udev-rules ]; + stdenv.mkDerivation rec { name = "android-udev-rules-${version}"; version = "20160805"; diff --git a/pkgs/os-specific/linux/ena/default.nix b/pkgs/os-specific/linux/ena/default.nix index 051725d32d98..8d2f368bc99a 100644 --- a/pkgs/os-specific/linux/ena/default.nix +++ b/pkgs/os-specific/linux/ena/default.nix @@ -12,6 +12,9 @@ stdenv.mkDerivation rec { hardeningDisable = [ "pic" ]; + # linux 3.12 + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + configurePhase = '' cd kernel/linux/ena diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix index 4787eb57afd3..2ee232e877df 100644 --- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix +++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { sha256 = "06g691px0abndp5zvz2ba1g675rcqb64n055h5ahgnlck5cdpawg"; }; + dontStrip = true; # Stripping breaks some of the binaries + installPhase = '' mkdir -p $out/share/raspberrypi/boot cp -R boot/* $out/share/raspberrypi/boot diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 95b1319e9819..54e6b7822f9a 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -346,7 +346,7 @@ with stdenv.lib; LOGO n # not needed MEDIA_ATTACH y MEGARAID_NEWGEN y - ${optionalString (versionAtLeast version "3.15") '' + ${optionalString (versionAtLeast version "3.15" && versionOlder version "4.8") '' MLX4_EN_VXLAN y ''} MODVERSIONS y @@ -433,7 +433,9 @@ with stdenv.lib; PARAVIRT? y HYPERVISOR_GUEST y PARAVIRT_SPINLOCKS? y - KVM_APIC_ARCHITECTURE y + ${optionalString (versionOlder version "4.8") '' + KVM_APIC_ARCHITECTURE y + ''} KVM_ASYNC_PF y ${optionalString (versionAtLeast version "4.0") '' KVM_COMPAT? y diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index da2296bb22af..7b4284028ed8 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.8-rc3"; - modDirVersion = "4.8.0-rc3"; - extraMeta.branch = "4.7"; + version = "4.8-rc4"; + modDirVersion = "4.8.0-rc4"; + extraMeta.branch = "4.8"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz"; - sha256 = "08ir3w034qkalyi8mc6czgk9mcglm7wfazr2md94a8x98j69v38r"; + sha256 = "0is4pzmci1i59fxw9b645c8710zjnx19dfl20m4k06kxdbbs01wg"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/modinst-arg-list-too-long.patch b/pkgs/os-specific/linux/kernel/modinst-arg-list-too-long.patch new file mode 100644 index 000000000000..58a9191989ae --- /dev/null +++ b/pkgs/os-specific/linux/kernel/modinst-arg-list-too-long.patch @@ -0,0 +1,14 @@ +diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst +index 07650ee..934a7a8 100644 +--- a/scripts/Makefile.modinst ++++ b/scripts/Makefile.modinst +@@ -9,7 +9,8 @@ include scripts/Kbuild.include + + # + +-__modules := $(sort $(shell grep -h '\.ko$$' /dev/null $(wildcard $(MODVERDIR)/*.mod))) ++__modules := $(sort $(foreach f,$(wildcard $(MODVERDIR)/*.mod),$(shell \ ++ grep -h '\.ko$$' '$f'))) + modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o))) + + PHONY += $(modules) diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 2a74f9063bf9..03a3023053a0 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -74,6 +74,11 @@ rec { patch = ./mips-ext3-n32.patch; }; + modinst_arg_list_too_long = + { name = "modinst-arglist-too-long"; + patch = ./modinst-arg-list-too-long.patch; + }; + ubuntu_fan_4_4 = { name = "ubuntu-fan"; patch = ./ubuntu-fan-4.4.patch; diff --git a/pkgs/os-specific/linux/sysklogd/default.nix b/pkgs/os-specific/linux/sysklogd/default.nix index c1cf77e63c8e..513503ff98e6 100644 --- a/pkgs/os-specific/linux/sysklogd/default.nix +++ b/pkgs/os-specific/linux/sysklogd/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation { sha256 = "00f2wy6f0qng7qzga4iicyzl9j8b7mp6mrpfky5jxj93ms2w2rji"; }; - patches = [ ./systemd.patch ]; + patches = [ ./systemd.patch ./union-wait.patch ]; NIX_CFLAGS_COMPILE = "-DSYSV"; diff --git a/pkgs/os-specific/linux/sysklogd/union-wait.patch b/pkgs/os-specific/linux/sysklogd/union-wait.patch new file mode 100644 index 000000000000..e4bffa5d6953 --- /dev/null +++ b/pkgs/os-specific/linux/sysklogd/union-wait.patch @@ -0,0 +1,11 @@ +--- sysklogd-1.5-old/syslogd.c 2016-08-30 22:50:59.812926945 +0100 ++++ sysklogd-1.5/syslogd.c 2016-08-30 22:51:12.008842890 +0100 +@@ -2094,7 +2094,7 @@ + (void) signal(SIGCHLD, reapchild); /* reset signal handler -ASP */ + wait ((int *)0); + #else +- union wait status; ++ int status; + + while (wait3(&status, WNOHANG, (struct rusage *) NULL) > 0) + ; |