about summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2020-03-16 14:34:03 -0400
committerMatthew Bauer <mjbauer95@gmail.com>2020-03-16 14:34:03 -0400
commit67b0ddf3f30d975bd41bc2ac1cc871436ed1af0e (patch)
treeeddc87a600bfd5cf9f6f6ff15f8e735664eae1e1 /pkgs/os-specific
parente9c2957c1465838c27c7a67e56a6ade95033eefd (diff)
parentb8cff61c330400e39dbac22b8993fe58fb35ec13 (diff)
downloadnixlib-67b0ddf3f30d975bd41bc2ac1cc871436ed1af0e.tar
nixlib-67b0ddf3f30d975bd41bc2ac1cc871436ed1af0e.tar.gz
nixlib-67b0ddf3f30d975bd41bc2ac1cc871436ed1af0e.tar.bz2
nixlib-67b0ddf3f30d975bd41bc2ac1cc871436ed1af0e.tar.lz
nixlib-67b0ddf3f30d975bd41bc2ac1cc871436ed1af0e.tar.xz
nixlib-67b0ddf3f30d975bd41bc2ac1cc871436ed1af0e.tar.zst
nixlib-67b0ddf3f30d975bd41bc2ac1cc871436ed1af0e.zip
Merge remote-tracking branch 'origin/staging' into mb-cross-fixes-march-2020
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/linux/alsa-firmware/cross.patch347
-rw-r--r--pkgs/os-specific/linux/alsa-firmware/default.nix9
-rw-r--r--pkgs/os-specific/linux/apparmor/cross.patch19
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix11
-rw-r--r--pkgs/os-specific/linux/bcc/default.nix13
-rw-r--r--pkgs/os-specific/linux/evdi/default.nix13
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch39
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix12
-rw-r--r--pkgs/os-specific/linux/ipset/default.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/hardened-config.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.5.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/mptcp-config.nix2
-rw-r--r--pkgs/os-specific/linux/libbpf/default.nix14
-rw-r--r--pkgs/os-specific/linux/lxcfs/default.nix6
-rw-r--r--pkgs/os-specific/linux/net-tools/default.nix4
-rw-r--r--pkgs/os-specific/linux/open-iscsi/default.nix6
-rw-r--r--pkgs/os-specific/linux/openvswitch/default.nix6
-rw-r--r--pkgs/os-specific/linux/r8125/default.nix45
-rw-r--r--pkgs/os-specific/linux/sdparm/default.nix6
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix2
27 files changed, 484 insertions, 115 deletions
diff --git a/pkgs/os-specific/linux/alsa-firmware/cross.patch b/pkgs/os-specific/linux/alsa-firmware/cross.patch
new file mode 100644
index 000000000000..989ccea2b984
--- /dev/null
+++ b/pkgs/os-specific/linux/alsa-firmware/cross.patch
@@ -0,0 +1,347 @@
+--- a/hdsploader/Makefile.am	2015-02-26 20:36:03.000000000 +0800
++++ b/hdsploader/Makefile.am	2019-06-28 00:43:41.557803832 +0800
+@@ -32,5 +32,14 @@
+ 	     tobin.c
+ CLEANFILES = $(dsp_hex_files)
+ 
+-$(dsp_hex_files): tobin
+-	./tobin
++LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
++
++$(tobin_OBJECTS) : CC=$(CC_FOR_BUILD)
++$(tobin_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
++$(tobin_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++
++tobin$(BUILD_EXEEXT): $(tobin_OBJECTS)
++	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
++
++$(dsp_hex_files): tobin$(BUILD_EXEEXT)
++	./$<
+--- a/m4/ax_prog_cc_for_build.m4	2019-06-27 15:50:02.274134717 +0800
++++ b/m4/ax_prog_cc_for_build.m4	2019-06-28 01:32:45.088117432 +0800
+@@ -0,0 +1,125 @@
++# ===========================================================================
++#   https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_PROG_CC_FOR_BUILD
++#
++# DESCRIPTION
++#
++#   This macro searches for a C compiler that generates native executables,
++#   that is a C compiler that surely is not a cross-compiler. This can be
++#   useful if you have to generate source code at compile-time like for
++#   example GCC does.
++#
++#   The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
++#   needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
++#   The value of these variables can be overridden by the user by specifying
++#   a compiler with an environment variable (like you do for standard CC).
++#
++#   It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
++#   file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
++#   the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
++#   substituted in the Makefile.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
++#
++#   Copying and distribution of this file, with or without modification, are
++#   permitted in any medium without royalty provided the copyright notice
++#   and this notice are preserved. This file is offered as-is, without any
++#   warranty.
++
++#serial 9
++
++AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
++AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_PROG_CPP])dnl
++AC_REQUIRE([AC_EXEEXT])dnl
++AC_REQUIRE([AC_CANONICAL_HOST])dnl
++
++dnl Use the standard macros, but make them use other variable names
++dnl
++pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
++pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
++pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
++pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
++pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
++pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
++pushdef([ac_cv_objext], ac_cv_build_objext)dnl
++pushdef([ac_exeext], ac_build_exeext)dnl
++pushdef([ac_objext], ac_build_objext)dnl
++pushdef([CC], CC_FOR_BUILD)dnl
++pushdef([CPP], CPP_FOR_BUILD)dnl
++pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
++pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
++pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
++pushdef([host], build)dnl
++pushdef([host_alias], build_alias)dnl
++pushdef([host_cpu], build_cpu)dnl
++pushdef([host_vendor], build_vendor)dnl
++pushdef([host_os], build_os)dnl
++pushdef([ac_cv_host], ac_cv_build)dnl
++pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
++pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
++pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
++pushdef([ac_cv_host_os], ac_cv_build_os)dnl
++pushdef([ac_cpp], ac_build_cpp)dnl
++pushdef([ac_compile], ac_build_compile)dnl
++pushdef([ac_link], ac_build_link)dnl
++
++save_cross_compiling=$cross_compiling
++save_ac_tool_prefix=$ac_tool_prefix
++cross_compiling=no
++ac_tool_prefix=
++
++AC_PROG_CC
++AC_PROG_CPP
++AC_EXEEXT
++
++ac_tool_prefix=$save_ac_tool_prefix
++cross_compiling=$save_cross_compiling
++
++dnl Restore the old definitions
++dnl
++popdef([ac_link])dnl
++popdef([ac_compile])dnl
++popdef([ac_cpp])dnl
++popdef([ac_cv_host_os])dnl
++popdef([ac_cv_host_vendor])dnl
++popdef([ac_cv_host_cpu])dnl
++popdef([ac_cv_host_alias])dnl
++popdef([ac_cv_host])dnl
++popdef([host_os])dnl
++popdef([host_vendor])dnl
++popdef([host_cpu])dnl
++popdef([host_alias])dnl
++popdef([host])dnl
++popdef([LDFLAGS])dnl
++popdef([CPPFLAGS])dnl
++popdef([CFLAGS])dnl
++popdef([CPP])dnl
++popdef([CC])dnl
++popdef([ac_objext])dnl
++popdef([ac_exeext])dnl
++popdef([ac_cv_objext])dnl
++popdef([ac_cv_exeext])dnl
++popdef([ac_cv_prog_cc_g])dnl
++popdef([ac_cv_prog_cc_cross])dnl
++popdef([ac_cv_prog_cc_works])dnl
++popdef([ac_cv_prog_gcc])dnl
++popdef([ac_cv_prog_CPP])dnl
++
++dnl Finally, set Makefile variables
++dnl
++BUILD_EXEEXT=$ac_build_exeext
++BUILD_OBJEXT=$ac_build_objext
++AC_SUBST(BUILD_EXEEXT)dnl
++AC_SUBST(BUILD_OBJEXT)dnl
++AC_SUBST([CFLAGS_FOR_BUILD])dnl
++AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
++AC_SUBST([LDFLAGS_FOR_BUILD])dnl
++])
+--- a/configure.ac	2019-06-27 23:58:31.045413144 +0800
++++ b/configure.ac	2019-06-28 01:45:36.511771656 +0800
+@@ -1,6 +1,8 @@
+ AC_PREREQ(2.59)
+ AC_INIT(alsa-firmware, 1.0.29)
++AC_CONFIG_MACRO_DIR([m4])
+ AC_PROG_CC
++AC_PROG_CC_FOR_BUILD
+ AC_PROG_INSTALL
+ AC_PROG_LN_S
+ AC_HEADER_STDC
+--- a/vxloader/Makefile.am	2015-02-26 20:36:03.000000000 +0800
++++ b/vxloader/Makefile.am	2019-06-28 01:55:19.525947146 +0800
+@@ -43,5 +43,14 @@
+ hotplugfw_DATA = 
+ endif
+ 
+-%.xlx: %.rbt toxlx
+-	./toxlx < $< > $@
++LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
++
++$(toxlx_OBJECTS) : CC=$(CC_FOR_BUILD)
++$(toxlx_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
++$(toxlx_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++
++toxlx$(BUILD_EXEEXT): $(toxlx_OBJECTS)
++	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
++
++%.xlx: %.rbt toxlx$(BUILD_EXEEXT)
++	./toxlx$(BUILD_EXEEXT) < $< > $@
+--- a/echoaudio/Makefile.am	2015-02-26 20:36:03.000000000 +0800
++++ b/echoaudio/Makefile.am	2019-06-28 02:00:00.579426080 +0800
+@@ -74,33 +74,42 @@
+ hotplugfw_DATA = 
+ endif
+ 
+-$(firmware_files): fw_writer
+-	./fw_writer DSP/LoaderDSP.c loader_dsp.fw
+-	./fw_writer DSP/Darla20DSP.c darla20_dsp.fw
+-	./fw_writer DSP/Gina20DSP.c gina20_dsp.fw
+-	./fw_writer DSP/Layla20DSP.c layla20_dsp.fw
+-	./fw_writer ASIC/LaylaASIC.c layla20_asic.fw
+-	./fw_writer DSP/Darla24DSP.c darla24_dsp.fw
+-	./fw_writer DSP/Gina24DSP.c gina24_301_dsp.fw
+-	./fw_writer ASIC/Gina24ASIC.c gina24_301_asic.fw
+-	./fw_writer DSP/Gina24_361DSP.c gina24_361_dsp.fw
+-	./fw_writer ASIC/Gina24ASIC_361.c gina24_361_asic.fw
+-	./fw_writer DSP/Layla24DSP.c layla24_dsp.fw
+-	./fw_writer ASIC/Layla24_1ASIC.c layla24_1_asic.fw
+-	./fw_writer ASIC/Layla24_2A_ASIC.c layla24_2A_asic.fw
+-	./fw_writer ASIC/Layla24_2S_ASIC.c layla24_2S_asic.fw
+-	./fw_writer DSP/MonaDSP.c mona_301_dsp.fw
+-	./fw_writer ASIC/Mona1ASIC48.c mona_301_1_asic_48.fw
+-	./fw_writer ASIC/Mona1ASIC96.c mona_301_1_asic_96.fw
+-	./fw_writer DSP/Mona361DSP.c mona_361_dsp.fw
+-	./fw_writer ASIC/Mona1ASIC48_361.c mona_361_1_asic_48.fw
+-	./fw_writer ASIC/Mona1ASIC96_361.c mona_361_1_asic_96.fw
+-	./fw_writer ASIC/Mona2ASIC.c mona_2_asic.fw
+-	./fw_writer DSP/MiaDSP.c mia_dsp.fw
+-	./fw_writer DSP/Echo3gDSP.c echo3g_dsp.fw
+-	./fw_writer ASIC/3G_ASIC.c 3g_asic.fw
+-	./fw_writer DSP/IndigoDSP.c indigo_dsp.fw
+-	./fw_writer DSP/IndigoIODSP.c indigo_io_dsp.fw
+-	./fw_writer DSP/IndigoIOxDSP.c indigo_iox_dsp.fw
+-	./fw_writer DSP/IndigoDJDSP.c indigo_dj_dsp.fw
+-	./fw_writer DSP/IndigoDJxDSP.c indigo_djx_dsp.fw
++LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
++
++$(fw_writer_OBJECTS) : CC=$(CC_FOR_BUILD)
++$(fw_writer_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
++$(fw_writer_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++
++fw_writer$(BUILD_EXEEXT): $(tobin_OBJECTS)
++	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
++
++$(firmware_files): fw_writer$(BUILD_EXEEXT)
++	./fw_writer$(BUILD_EXEEXT) DSP/LoaderDSP.c loader_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/Darla20DSP.c darla20_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/Gina20DSP.c gina20_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/Layla20DSP.c layla20_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) ASIC/LaylaASIC.c layla20_asic.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/Darla24DSP.c darla24_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/Gina24DSP.c gina24_301_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) ASIC/Gina24ASIC.c gina24_301_asic.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/Gina24_361DSP.c gina24_361_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) ASIC/Gina24ASIC_361.c gina24_361_asic.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/Layla24DSP.c layla24_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) ASIC/Layla24_1ASIC.c layla24_1_asic.fw
++	./fw_writer$(BUILD_EXEEXT) ASIC/Layla24_2A_ASIC.c layla24_2A_asic.fw
++	./fw_writer$(BUILD_EXEEXT) ASIC/Layla24_2S_ASIC.c layla24_2S_asic.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/MonaDSP.c mona_301_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) ASIC/Mona1ASIC48.c mona_301_1_asic_48.fw
++	./fw_writer$(BUILD_EXEEXT) ASIC/Mona1ASIC96.c mona_301_1_asic_96.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/Mona361DSP.c mona_361_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) ASIC/Mona1ASIC48_361.c mona_361_1_asic_48.fw
++	./fw_writer$(BUILD_EXEEXT) ASIC/Mona1ASIC96_361.c mona_361_1_asic_96.fw
++	./fw_writer$(BUILD_EXEEXT) ASIC/Mona2ASIC.c mona_2_asic.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/MiaDSP.c mia_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/Echo3gDSP.c echo3g_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) ASIC/3G_ASIC.c 3g_asic.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/IndigoDSP.c indigo_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/IndigoIODSP.c indigo_io_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/IndigoIOxDSP.c indigo_iox_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/IndigoDJDSP.c indigo_dj_dsp.fw
++	./fw_writer$(BUILD_EXEEXT) DSP/IndigoDJxDSP.c indigo_djx_dsp.fw
+--- a/emu/Makefile.am	2015-02-26 20:36:03.000000000 +0800
++++ b/emu/Makefile.am	2019-06-28 02:01:37.856710042 +0800
+@@ -22,5 +22,14 @@
+ hotplugfw_DATA = 
+ endif
+ 
+-$(firmware_files): fw_writer
+-	./fw_writer
++LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
++
++$(fw_writer_OBJECTS) : CC=$(CC_FOR_BUILD)
++$(fw_writer_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
++$(fw_writer_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++
++fw_writer$(BUILD_EXEEXT): $(tobin_OBJECTS)
++	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
++
++$(firmware_files): fw_writer$(BUILD_EXEEXT)
++	./fw_writer$(BUILD_EXEEXT)
+--- a/maestro3/Makefile.am	2015-02-26 20:36:03.000000000 +0800
++++ b/maestro3/Makefile.am	2019-06-28 02:03:13.704828106 +0800
+@@ -17,5 +17,14 @@
+ hotplugfw_DATA =
+ endif
+ 
+-$(firmware_files): fw_writer
+-	./fw_writer
++LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
++
++$(fw_writer_OBJECTS) : CC=$(CC_FOR_BUILD)
++$(fw_writer_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
++$(fw_writer_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++
++fw_writer$(BUILD_EXEEXT): $(tobin_OBJECTS)
++	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
++
++$(firmware_files): fw_writer$(BUILD_EXEEXT)
++	./fw_writer$(BUILD_EXEEXT)
+--- a/sb16/Makefile.am	2015-02-26 20:36:03.000000000 +0800
++++ b/sb16/Makefile.am	2019-06-28 02:04:37.121743871 +0800
+@@ -18,5 +18,14 @@
+ hotplugfw_DATA =
+ endif
+ 
+-$(firmware_files): fw_writer
+-	./fw_writer
++LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
++
++$(fw_writer_OBJECTS) : CC=$(CC_FOR_BUILD)
++$(fw_writer_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
++$(fw_writer_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++
++fw_writer$(BUILD_EXEEXT): $(tobin_OBJECTS)
++	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
++
++$(firmware_files): fw_writer$(BUILD_EXEEXT)
++	./fw_writer$(BUILD_EXEEXT)
+--- a/wavefront/Makefile.am	2019-06-28 02:07:27.003727160 +0800
++++ b/wavefront/Makefile.am	2019-06-28 02:07:46.477947626 +0800
+@@ -17,5 +17,14 @@
+ hotplugfw_DATA =
+ endif
+ 
+-$(firmware_files): fw_writer
+-	./fw_writer
++LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
++
++$(fw_writer_OBJECTS) : CC=$(CC_FOR_BUILD)
++$(fw_writer_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
++$(fw_writer_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++
++fw_writer$(BUILD_EXEEXT): $(tobin_OBJECTS)
++	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
++
++$(firmware_files): fw_writer$(BUILD_EXEEXT)
++	./fw_writer$(BUILD_EXEEXT)
+--- a/ymfpci/Makefile.am	2015-02-26 20:36:03.000000000 +0800
++++ b/ymfpci/Makefile.am	2019-06-28 02:09:02.487797826 +0800
+@@ -17,5 +17,14 @@
+ hotplugfw_DATA =
+ endif
+ 
+-$(firmware_files): fw_writer
+-	./fw_writer
++LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
++
++$(fw_writer_OBJECTS) : CC=$(CC_FOR_BUILD)
++$(fw_writer_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
++$(fw_writer_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++
++fw_writer$(BUILD_EXEEXT): $(tobin_OBJECTS)
++	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
++
++$(firmware_files): fw_writer$(BUILD_EXEEXT)
++	./fw_writer$(BUILD_EXEEXT)
diff --git a/pkgs/os-specific/linux/alsa-firmware/default.nix b/pkgs/os-specific/linux/alsa-firmware/default.nix
index 7f0ba5498df6..d0a3d7645b32 100644
--- a/pkgs/os-specific/linux/alsa-firmware/default.nix
+++ b/pkgs/os-specific/linux/alsa-firmware/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl}:
+{ stdenv, buildPackages, autoreconfHook, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
   name = "alsa-firmware-1.2.1";
@@ -8,6 +8,13 @@ stdenv.mkDerivation rec {
     sha256 = "1aq8z8ajpjvcx7bwhwp36bh5idzximyn77ygk3ifs0my3mbpr8mf";
   };
 
+  patches = [ (fetchpatch {
+    url = "https://github.com/alsa-project/alsa-firmware/commit/a8a478485a999ff9e4a8d8098107d3b946b70288.patch";
+    sha256 = "0zd7vrgz00hn02va5bkv7qj2395a1rl6f8jq1mwbryxs7hiysb78";
+  }) ];
+
+  nativeBuildInputs = [ autoreconfHook buildPackages.stdenv.cc ];
+
   configureFlags = [
     "--with-hotplug-dir=$(out)/lib/firmware"
   ];
diff --git a/pkgs/os-specific/linux/apparmor/cross.patch b/pkgs/os-specific/linux/apparmor/cross.patch
deleted file mode 100644
index f7e95ecfb404..000000000000
--- a/pkgs/os-specific/linux/apparmor/cross.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/parser/libapparmor_re/Makefile	2018-10-14 07:38:06.000000000 +0800
-+++ b/parser/libapparmor_re/Makefile	2019-06-28 16:16:33.741916660 +0800
-@@ -10,6 +10,7 @@
- 
- TARGET=libapparmor_re.a
- 
-+AR ?= ar
- CFLAGS ?= -g -Wall -O2 ${EXTRA_CFLAGS} -std=gnu++0x
- CXXFLAGS := ${CFLAGS} ${INCLUDE_APPARMOR}
- 
-@@ -22,7 +23,7 @@
- UNITTESTS = tst_parse
- 
- libapparmor_re.a: parse.o expr-tree.o hfa.o chfa.o aare_rules.o
--	ar ${ARFLAGS} $@ $^
-+	${AR} ${ARFLAGS} $@ $^
- 
- expr-tree.o: expr-tree.cc expr-tree.h
- 
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index de9601dc85e8..9bdd1ae029f8 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -14,7 +14,7 @@
 
 let
   apparmor-series = "2.13";
-  apparmor-patchver = "3";
+  apparmor-patchver = "4";
   apparmor-version = apparmor-series + "." + apparmor-patchver;
 
   apparmor-meta = component: with stdenv.lib; {
@@ -27,7 +27,7 @@ let
 
   apparmor-sources = fetchurl {
     url = "https://launchpad.net/apparmor/${apparmor-series}/${apparmor-version}/+download/apparmor-${apparmor-version}.tar.gz";
-    sha256 = "0fbnk9fzjsffwcijsv2wwykmybvfdckpqk99qlib3kb89him6w16";
+    sha256 = "03nislxccnbxld89giak2s8xa4mdbwscfxbdwhmw5qpvgz08dgwh";
   };
 
   prePatchCommon = ''
@@ -49,13 +49,6 @@ let
       sha256 = "1m4dx901biqgnr4w4wz8a2z9r9dxyw7wv6m6mqglqwf2lxinqmp4";
     })
     # (alpine patches {1,4,5,6,8} are needed for apparmor 2.11, but not 2.12)
-    ] ++ [
-      ./cross.patch
-      # Support Python 3.8
-      (fetchpatch {
-        url = https://gitlab.com/apparmor/apparmor/commit/ccbf1e0bf1bf5c3bbab47029fbbc5415ef73bac1.patch;
-        sha256 = "0kfzc0wyjybj38n10yvwakaaqvglalzigd3kk7gcrbp1xdn70pq2";
-      })
     ];
 
   # Set to `true` after the next FIXME gets fixed or this gets some
diff --git a/pkgs/os-specific/linux/bcc/default.nix b/pkgs/os-specific/linux/bcc/default.nix
index ffb14e9c3c12..949d953c3bd5 100644
--- a/pkgs/os-specific/linux/bcc/default.nix
+++ b/pkgs/os-specific/linux/bcc/default.nix
@@ -1,18 +1,15 @@
-{ stdenv, fetchFromGitHub, makeWrapper, cmake, llvmPackages, kernel
+{ stdenv, fetchurl, makeWrapper, cmake, llvmPackages, kernel
 , flex, bison, elfutils, python, luajit, netperf, iperf, libelf
 , systemtap, bash
 }:
 
 python.pkgs.buildPythonApplication rec {
-  version = "0.12.0";
+  version = "0.13.0";
   name = "bcc-${version}";
 
-  src = fetchFromGitHub {
-    owner  = "iovisor";
-    repo   = "bcc";
-    rev    = "v${version}";
-    sha256 = "1r2yjxam23k56prsvjhqf8i8d3irhcvmy0bly6x23h1jc3zc6yym";
-    fetchSubmodules = true;
+  src = fetchurl {
+    url = "https://github.com/iovisor/bcc/releases/download/v${version}/bcc-src-with-submodule.tar.gz";
+    sha256 = "15xpwf17x2j1c1wcb84cgfs35dp5w0rjd9mllmddmdjvn303wffx";
   };
   format = "other";
 
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
index 6dbf6ace693c..2a6ce13c1628 100644
--- a/pkgs/os-specific/linux/evdi/default.nix
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -2,26 +2,19 @@
 
 stdenv.mkDerivation rec {
   pname = "evdi";
-  version = "-unstable-20190116";
+  version = "unstable-20200222";
 
   src = fetchFromGitHub {
     owner = "DisplayLink";
     repo = pname;
-    rev = "391f1f71e4c86fc18de27947c78e02b5e3e9f128";
-    sha256 = "147cwmk57ldchvzr06lila6av7jvcdggs9jgifqscklp9x6dc4ny";
+    rev = "bb3038c1b10aae99feddc7354c74a5bf22341246";
+    sha256 = "058f8gdma6fndg2w512l08mwl79h4hffacx4rnfkjxrb2ard3gd1";
   };
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
   buildInputs = [ kernel libdrm ];
 
-  patches = [
-    (fetchpatch {
-      url    = "https://crazy.dev.frugalware.org/evdi-all-in-one-fixes.patch";
-      sha256 = "03hs68v8c2akf8a4rc02m15fzyp14ay70rcx8kwg2y98qkqh7w30";
-    })
-  ];
-
   makeFlags = [
     "KVER=${kernel.modDirVersion}"
     "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
diff --git a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
index 262c2cbc4f17..a13251476de3 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
+++ b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
@@ -1,8 +1,8 @@
 diff --git a/data/meson.build b/data/meson.build
-index d59bdc88..4a4cfc35 100644
+index 0667bd78..92d6c7b9 100644
 --- a/data/meson.build
 +++ b/data/meson.build
-@@ -16,7 +16,7 @@
+@@ -17,7 +17,7 @@ endif
  
  if build_standalone
    install_data(['daemon.conf'],
@@ -15,7 +15,7 @@ diff --git a/data/pki/meson.build b/data/pki/meson.build
 index eefcc914..dc801fa1 100644
 --- a/data/pki/meson.build
 +++ b/data/pki/meson.build
-@@ -4,14 +4,14 @@
+@@ -4,14 +4,14 @@ if get_option('gpg')
        'GPG-KEY-Linux-Foundation-Firmware',
        'GPG-KEY-Linux-Vendor-Firmware-Service',
      ],
@@ -32,7 +32,7 @@ index eefcc914..dc801fa1 100644
    )
  endif
  
-@@ -19,12 +19,12 @@
+@@ -19,12 +19,12 @@ if get_option('pkcs7')
    install_data([
        'LVFS-CA.pem',
      ],
@@ -51,7 +51,7 @@ diff --git a/data/remotes.d/meson.build b/data/remotes.d/meson.build
 index 826a3c1d..b78db663 100644
 --- a/data/remotes.d/meson.build
 +++ b/data/remotes.d/meson.build
-@@ -3,7 +3,7 @@
+@@ -3,7 +3,7 @@ if build_daemon and get_option('lvfs')
        'lvfs.conf',
        'lvfs-testing.conf',
      ],
@@ -60,7 +60,7 @@ index 826a3c1d..b78db663 100644
    )
    i18n.merge_file(
      input: 'lvfs.metainfo.xml',
-@@ -37,12 +37,12 @@
+@@ -37,12 +37,12 @@ configure_file(
    output : 'vendor.conf',
    configuration : con2,
    install: true,
@@ -79,7 +79,7 @@ diff --git a/meson.build b/meson.build
 index b1a523d2..aacb8e0a 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -169,6 +169,12 @@
+@@ -169,6 +169,12 @@ endif
  mandir = join_paths(prefix, get_option('mandir'))
  localedir = join_paths(prefix, get_option('localedir'))
  
@@ -96,7 +96,7 @@ diff --git a/meson_options.txt b/meson_options.txt
 index be0adfef..73983333 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -26,6 +26,7 @@
+@@ -26,6 +26,7 @@ option('plugin_coreboot', type : 'boolean', value : true, description : 'enable
  option('systemd', type : 'boolean', value : true, description : 'enable systemd support')
  option('systemdunitdir', type: 'string', value: '', description: 'Directory for systemd units')
  option('elogind', type : 'boolean', value : false, description : 'enable elogind support')
@@ -108,7 +108,7 @@ diff --git a/plugins/dell-esrt/meson.build b/plugins/dell-esrt/meson.build
 index ed4eee70..76dbdb1d 100644
 --- a/plugins/dell-esrt/meson.build
 +++ b/plugins/dell-esrt/meson.build
-@@ -37,5 +37,5 @@
+@@ -37,5 +37,5 @@ configure_file(
    output : 'dell-esrt.conf',
    configuration : con2,
    install: true,
@@ -119,7 +119,7 @@ diff --git a/plugins/redfish/meson.build b/plugins/redfish/meson.build
 index 25fc5c7d..77eb9a83 100644
 --- a/plugins/redfish/meson.build
 +++ b/plugins/redfish/meson.build
-@@ -27,7 +27,7 @@
+@@ -27,7 +27,7 @@ shared_module('fu_plugin_redfish',
  )
  
  install_data(['redfish.conf'],
@@ -132,7 +132,7 @@ diff --git a/plugins/thunderbolt/meson.build b/plugins/thunderbolt/meson.build
 index 06ab34ee..297a9182 100644
 --- a/plugins/thunderbolt/meson.build
 +++ b/plugins/thunderbolt/meson.build
-@@ -46,7 +46,7 @@
+@@ -46,7 +46,7 @@ executable('tbtfwucli',
  )
  
  install_data(['thunderbolt.conf'],
@@ -142,11 +142,11 @@ index 06ab34ee..297a9182 100644
  # we use functions from 2.52 in the tests
  if get_option('tests') and umockdev.found() and gio.version().version_compare('>= 2.52')
 diff --git a/plugins/uefi/meson.build b/plugins/uefi/meson.build
-index 39b5f566..0f904a22 100644
+index 7252580d..7188d1c5 100644
 --- a/plugins/uefi/meson.build
 +++ b/plugins/uefi/meson.build
-@@ -87,7 +87,7 @@
- )
+@@ -104,7 +104,7 @@ if get_option('man')
+ endif
  
  install_data(['uefi.conf'],
 -  install_dir:  join_paths(sysconfdir, 'fwupd')
@@ -154,3 +154,14 @@ index 39b5f566..0f904a22 100644
  )
  
  if get_option('tests')
+diff --git a/plugins/upower/meson.build b/plugins/upower/meson.build
+index 290a3eb6..9ab2f452 100644
+--- a/plugins/upower/meson.build
++++ b/plugins/upower/meson.build
+@@ -23,5 +23,5 @@ shared_module('fu_plugin_upower',
+ )
+ 
+ install_data(['upower.conf'],
+-  install_dir:  join_paths(sysconfdir, 'fwupd')
++  install_dir:  join_paths(sysconfdir_install, 'fwupd')
+ )
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index aa6aeca9549e..86a2bfbcc9e8 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -2,7 +2,6 @@
 
 { stdenv
 , fetchurl
-, fetchpatch
 , substituteAll
 , gtk-doc
 , pkgconfig
@@ -88,11 +87,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "fwupd";
-  version = "1.3.8";
+  version = "1.3.9";
 
   src = fetchurl {
     url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
-    sha256 = "14hbwp3263n4z61ws62vj50kh9a89fz2l29hyv7f1xlas4zz6j8x";
+    sha256 = "ZuRG+UN8ebXv5Z8fOYWT0eCtHykGXoB8Ysu3wAeqx0A=";
   };
 
   # libfwupd goes to lib
@@ -163,12 +162,6 @@ stdenv.mkDerivation rec {
       # needs a different set of modules than po/make-images
       inherit installedTestsPython;
     })
-
-    # Find the correct lds and crt name when specifying -Defi_ldsdir
-    (fetchpatch {
-      url = "https://github.com/fwupd/fwupd/commit/52cda3db9ca9ab4faf99310edf29df926a713b5c.patch";
-      sha256 = "0hsj79dzamys7ryz33iwxwd58kb1h7gaw637whm0nkvzkqq6rm16";
-    })
   ];
 
   postPatch = ''
@@ -271,6 +264,7 @@ stdenv.mkDerivation rec {
       "fwupd/remotes.d/vendor.conf"
       "fwupd/remotes.d/vendor-directory.conf"
       "fwupd/thunderbolt.conf"
+      "fwupd/upower.conf"
       # "fwupd/uefi.conf" # already created by the module
       "pki/fwupd/GPG-KEY-Hughski-Limited"
       "pki/fwupd/GPG-KEY-Linux-Foundation-Firmware"
diff --git a/pkgs/os-specific/linux/ipset/default.nix b/pkgs/os-specific/linux/ipset/default.nix
index 6696252678dc..2c433ba8c29a 100644
--- a/pkgs/os-specific/linux/ipset/default.nix
+++ b/pkgs/os-specific/linux/ipset/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ipset";
-  version = "7.5";
+  version = "7.6";
 
   src = fetchurl {
     url = "http://ipset.netfilter.org/${pname}-${version}.tar.bz2";
-    sha256 = "02vangpxdyyk9z84vc0ba1vbjvfnd6zlniisc029xzkgmdafwym5";
+    sha256 = "1ny2spcm6bmpj8vnazssg99k59impr7n84jzkdmdjly1m7548z8f";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-kmod=no" ];
 
   meta = with stdenv.lib; {
-    homepage = http://ipset.netfilter.org/;
+    homepage = "http://ipset.netfilter.org/";
     description = "Administration tool for IP sets";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index e925068421d6..2c8b8de65b31 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -16,11 +16,12 @@
 }:
 
 with stdenv.lib;
-
-  with import ../../../../lib/kernel.nix { inherit (stdenv) lib; inherit version; };
+with stdenv.lib.kernel;
+with (stdenv.lib.kernel.whenHelpers version);
 
 let
 
+
   # configuration items have to be part of a subattrs
   flattenKConf =  nested: mapAttrs (_: head) (zipAttrs (attrValues nested));
 
diff --git a/pkgs/os-specific/linux/kernel/hardened-config.nix b/pkgs/os-specific/linux/kernel/hardened-config.nix
index 156a4cf44234..3010d87a178a 100644
--- a/pkgs/os-specific/linux/kernel/hardened-config.nix
+++ b/pkgs/os-specific/linux/kernel/hardened-config.nix
@@ -11,15 +11,15 @@
 { stdenv, version }:
 
 with stdenv.lib;
-with import ../../../../lib/kernel.nix { inherit (stdenv) lib; inherit version; };
+with stdenv.lib.kernel;
+with (stdenv.lib.kernel.whenHelpers version);
 
 assert (versionAtLeast version "4.9");
 
 optionalAttrs (stdenv.hostPlatform.platform.kernelArch == "x86_64") {
   DEFAULT_MMAP_MIN_ADDR = freeform "65536";  # Prevent allocation of first 64K of memory
 
-  # Reduce attack surface by disabling various emulations
-  IA32_EMULATION     = no;
+  # Reduce attack surface by disabling X32
   X86_X32            = no;
   # Note: this config depends on EXPERT y and so will not take effect, hence
   # it is left "optional" for now.
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index dc961e116d76..363f8eb91746 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.172";
+  version = "4.14.173";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0yi13cky6jdswca7nrjgcrdxk8rnqdbhblhy6mws103mjfms2613";
+    sha256 = "0kxp3mgiags8hdax15masab9zr89xraqvl9ri7zwgksx8ixav0m2";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 6fc004a57aef..ae5da9fe92f5 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.19.107";
+  version = "4.19.109";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0h02pxzzwc5w2kfqw686bpxc13a93yq449lyzxxkxq1qilcsqjv5";
+    sha256 = "0kwnlv5336vqdf38dzn077ic17zkb4rl5khxmc47syzd9zm4fhnh";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index a76f2fc7562b..27fcb5020d72 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.215";
+  version = "4.4.216";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "00zy6cxwb16pqziiqs25pz5llryx2v2nbk9vvzpzxa8x43ad7g18";
+    sha256 = "1hjgh9brvxzi6ypgfnk07l3j28xsxgz88sdshnz19vj96bn1w70q";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index e065257af824..4d12bec7617d 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.215";
+  version = "4.9.216";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0j4z2al318654z40w4f8zhh73zwpgn8igjr5k4mz401phm3jyvr3";
+    sha256 = "0lgv5k8v5xz9z2z4k42566bh0akyk1gr0dx6s1m1rjrzsf9k86l6";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index c1ea3b1cd978..5773b171f744 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.4.23";
+  version = "5.4.25";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1jhyg2yc03fka92l7hwdajim6q5rk538hjdr1gwgvpfyyp6sla1z";
+    sha256 = "09ay0adc3s3m7qk0nj5lkmrp5i0q76a9kax0xix8914d115rgvf0";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.5.nix b/pkgs/os-specific/linux/kernel/linux-5.5.nix
index 3f8f3b774c89..bcd67b0af425 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.5.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.5.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.5.7";
+  version = "5.5.9";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0j3ykz9yym2hvv3qx286g4yrx2ala4b1d5p9zif9qmch28ryyhxq";
+    sha256 = "0y58gkzadjwfqfry5568g4w4p2mpx2sw50sk95i07s5va1ly2dd4";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 77a4327e89f9..4098c30c744e 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.6-rc3";
+  version = "5.6-rc5";
   extraMeta.branch = "5.6";
 
   # modDirVersion needs to be x.y.z, will always add .0
@@ -11,7 +11,7 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "1w265k9rspg9rkmay6cy6r1rxy4javpj1f6ify4jc3zpwqmp4ymk";
+    sha256 = "0ys4wdv1rf9vshras1n6syy2pgg8kv50f27nprfzhrllni044whr";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/kernel/mptcp-config.nix b/pkgs/os-specific/linux/kernel/mptcp-config.nix
index e5e3ee283fff..9752e63d9f94 100644
--- a/pkgs/os-specific/linux/kernel/mptcp-config.nix
+++ b/pkgs/os-specific/linux/kernel/mptcp-config.nix
@@ -1,5 +1,5 @@
 { stdenv }:
-with import ../../../../lib/kernel.nix { inherit (stdenv) lib; version = null; };
+with stdenv.lib.kernel;
 {
     # DRM_AMDGPU = yes;
 
diff --git a/pkgs/os-specific/linux/libbpf/default.nix b/pkgs/os-specific/linux/libbpf/default.nix
index 1294bd3d2680..b9626aac22d2 100644
--- a/pkgs/os-specific/linux/libbpf/default.nix
+++ b/pkgs/os-specific/linux/libbpf/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchFromGitHub, pkgconfig
-, libelf
+, libelf, zlib
 }:
 
 with builtins;
 
 stdenv.mkDerivation rec {
   pname = "libbpf";
-  version = "0.0.3pre114_${substring 0 7 src.rev}";
+  version = "0.0.7";
 
   src = fetchFromGitHub {
-    owner  = "libbpf";
-    repo   = "libbpf";
-    rev    = "672ae75b66fd8780a4214fe7b116c427e0809a52";
-    sha256 = "1bdw1hc4m95irmybqlwax85b6m856g07p2slcw8b7jw3k4j9x075";
+    owner = "libbpf";
+    repo = "libbpf";
+    rev = "v${version}";
+    sha256 = "1jcqhqvfbnbijm4jn949ibw1qywai9rwhyijf6lg8cvnyxkib2bs";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libelf ];
+  buildInputs = [ libelf zlib ];
 
   sourceRoot = "source/src";
   enableParallelBuilding = true;
diff --git a/pkgs/os-specific/linux/lxcfs/default.nix b/pkgs/os-specific/linux/lxcfs/default.nix
index 7acee410a4e7..15a3fa5f04ff 100644
--- a/pkgs/os-specific/linux/lxcfs/default.nix
+++ b/pkgs/os-specific/linux/lxcfs/default.nix
@@ -3,13 +3,13 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "lxcfs-3.1.2";
+  name = "lxcfs-4.0.0";
 
   src = fetchFromGitHub {
     owner = "lxc";
     repo = "lxcfs";
     rev = name;
-    sha256 = "195skz6wc2gfcf99f1fz1yaw29ngzg9lphnkag7yxnk3ffbhv40s";
+    sha256 = "0p9fl7zya65wsxg2vabdc0jrhw6mdz081cacd7np4zrppv16v6dx";
   };
 
   nativeBuildInputs = [ pkgconfig help2man autoreconfHook ];
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = https://linuxcontainers.org/lxcfs;
+    homepage = "https://linuxcontainers.org/lxcfs";
     description = "FUSE filesystem for LXC";
     license = licenses.asl20;
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/net-tools/default.nix b/pkgs/os-specific/linux/net-tools/default.nix
index 3cd8f224ce46..7b1a0234a4f5 100644
--- a/pkgs/os-specific/linux/net-tools/default.nix
+++ b/pkgs/os-specific/linux/net-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "net-tools";
-  version = "1.60_p20170221182432";
+  version = "1.60_p20180626073013";
 
   src = fetchurl {
     url = "mirror://gentoo/distfiles/${pname}-${version}.tar.xz";
-    sha256 = "08r4r2a24g5bm8jwgfa998gs1fld7fgbdf7pilrpsw1m974xn04a";
+    sha256 = "0mzsjjmz5kn676w2glmxwwd8bj0xy9dhhn21aplb435b767045q4";
   };
 
   preBuild =
diff --git a/pkgs/os-specific/linux/open-iscsi/default.nix b/pkgs/os-specific/linux/open-iscsi/default.nix
index 34e2591d44ab..43859dc9af3a 100644
--- a/pkgs/os-specific/linux/open-iscsi/default.nix
+++ b/pkgs/os-specific/linux/open-iscsi/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "open-iscsi";
-  version = "2.1.0";
+  version = "2.1.1";
 
   nativeBuildInputs = [ autoconf automake gettext libtool perl pkgconf ];
   buildInputs = [ kmod openisns.lib openssl systemd utillinux ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     owner = "open-iscsi";
     repo = "open-iscsi";
     rev = version;
-    sha256 = "0z7rnbfa48j3r4ij7335xgjfb835gnnp10v7q6lvwg7bq6v5xvih";
+    sha256 = "1xa3mbid9mkajp8mr8jx6cymv0kd7yqs96jvff54n6wb9qhn9qll";
   };
 
   DESTDIR = "$(out)";
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "A high performance, transport independent, multi-platform implementation of RFC3720";
     license = licenses.gpl2;
-    homepage = https://www.open-iscsi.com;
+    homepage = "https://www.open-iscsi.com";
     platforms = platforms.linux;
     maintainers = with maintainers; [ cleverca22 zaninime ];
   };
diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix
index 53fc986d9f63..f0fb0a834ffe 100644
--- a/pkgs/os-specific/linux/openvswitch/default.nix
+++ b/pkgs/os-specific/linux/openvswitch/default.nix
@@ -8,12 +8,12 @@ let
   _kernel = kernel;
   pythonEnv = python3.withPackages (ps: with ps; [ six ]);
 in stdenv.mkDerivation rec {
-  version = "2.12.0";
+  version = "2.13.0";
   pname = "openvswitch";
 
   src = fetchurl {
     url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "1y78ix5inhhcvicbvyy2ij38am1215nr55vydhab3d4065q45z8k";
+    sha256 = "0cd5vmfr6zwgcnkwys6rag6cmz68v0librpaplianv734xs74pyx";
   };
 
   kernel = optional (_kernel != null) _kernel.dev;
@@ -58,7 +58,7 @@ in stdenv.mkDerivation rec {
       support distribution across multiple physical servers similar
       to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
       '';
-    homepage = https://www.openvswitch.org/;
+    homepage = "https://www.openvswitch.org/";
     license = licenses.asl20;
     maintainers = with maintainers; [ netixx kmcopper ];
   };
diff --git a/pkgs/os-specific/linux/r8125/default.nix b/pkgs/os-specific/linux/r8125/default.nix
new file mode 100644
index 000000000000..a837b2261380
--- /dev/null
+++ b/pkgs/os-specific/linux/r8125/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, lib, fetchFromGitHub, kernel }:
+
+stdenv.mkDerivation rec {
+  pname = "r8125";
+  # On update please verify (using `diff -r`) that the source matches the
+  # realtek version.
+  version = "9.003.02";
+
+  # This is a mirror. The original website[1] doesn't allow non-interactive
+  # downloads, instead emailing you a download link.
+  # [1] https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software
+  src = fetchFromGitHub {
+    owner = "ibmibmibm";
+    repo = "r8125";
+    rev = "${version}";
+    sha256 = "09ip17x8nhcpxkkhyyawkmd10n73j2ffh1i2nmsr7l3jfq7f9zac";
+  };
+
+  hardeningDisable = [ "pic" ];
+
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  preBuild = ''
+    substituteInPlace src/Makefile --replace "BASEDIR :=" "BASEDIR ?="
+    substituteInPlace src/Makefile --replace "modules_install" "INSTALL_MOD_PATH=$out modules_install"
+  '';
+
+  makeFlags = [
+    "BASEDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}"
+  ];
+
+  buildFlags = [ "modules" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/ibmibmibm/r8125";
+    downloadPage = "https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software";
+    description = "Realtek r8125 driver";
+    longDescription = ''
+      A kernel module for Realtek 8125 2.5G network cards.
+    '';
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ peelz ];
+  };
+}
diff --git a/pkgs/os-specific/linux/sdparm/default.nix b/pkgs/os-specific/linux/sdparm/default.nix
index 5517f163b3e0..e0392e442bf5 100644
--- a/pkgs/os-specific/linux/sdparm/default.nix
+++ b/pkgs/os-specific/linux/sdparm/default.nix
@@ -2,15 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "sdparm";
-  version = "1.10";
+  version = "1.11";
 
   src = fetchurl {
     url = "http://sg.danny.cz/sg/p/${pname}-${version}.tar.xz";
-    sha256 = "1jjq3lzgfy4r76rc26q02lv4wm5cb4dx5nh913h489zjrr4f3jbx";
+    sha256 = "1nqjc4w2w47zavcbf5xmm53x1zbwgljaw1lpajcdi537cgy32fa8";
   };
 
   meta = with stdenv.lib; {
-    homepage = http://sg.danny.cz/sg/sdparm.html;
+    homepage = "http://sg.danny.cz/sg/sdparm.html";
     description = "A utility to access SCSI device parameters";
     license = licenses.bsd3;
     platforms = with platforms; linux;
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index c66b4cbab830..baaa90e431ba 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     substituteInPlace include/pathnames.h \
       --replace "/bin/login" "${shadow}/bin/login"
     substituteInPlace sys-utils/eject.c \
-      --replace "/bin/umount" "$out/bin/umount"
+      --replace "/bin/umount" "$bin/bin/umount"
   '';
 
   # !!! It would be better to obtain the path to the mount helpers