about summary refs log tree commit diff
path: root/pkgs/os-specific/linux
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2018-03-05 12:49:52 +0100
committerVladimír Čunát <vcunat@gmail.com>2018-03-05 14:53:27 +0100
commit565bd805e6aea9258ead5449b46c5e56ae0568fb (patch)
tree81a23c558823fc865d180bb8b6318d24ec38729d /pkgs/os-specific/linux
parent25a78f7234ced8840610178a695078b5b08d9e6b (diff)
parent97693915e1d31478528ee72e8d1fea5aa384577b (diff)
downloadnixlib-565bd805e6aea9258ead5449b46c5e56ae0568fb.tar
nixlib-565bd805e6aea9258ead5449b46c5e56ae0568fb.tar.gz
nixlib-565bd805e6aea9258ead5449b46c5e56ae0568fb.tar.bz2
nixlib-565bd805e6aea9258ead5449b46c5e56ae0568fb.tar.lz
nixlib-565bd805e6aea9258ead5449b46c5e56ae0568fb.tar.xz
nixlib-565bd805e6aea9258ead5449b46c5e56ae0568fb.tar.zst
nixlib-565bd805e6aea9258ead5449b46c5e56ae0568fb.zip
Merge branch 'master'
Diffstat (limited to 'pkgs/os-specific/linux')
-rw-r--r--pkgs/os-specific/linux/android-udev-rules/default.nix4
-rw-r--r--pkgs/os-specific/linux/blktrace/default.nix6
-rw-r--r--pkgs/os-specific/linux/cachefilesd/default.nix4
-rw-r--r--pkgs/os-specific/linux/displaylink/default.nix9
-rw-r--r--pkgs/os-specific/linux/dmtcp/default.nix4
-rw-r--r--pkgs/os-specific/linux/evdi/default.nix8
-rw-r--r--pkgs/os-specific/linux/eventstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix14
-rw-r--r--pkgs/os-specific/linux/fwts/default.nix30
-rw-r--r--pkgs/os-specific/linux/hal-flash/default.nix6
-rw-r--r--pkgs/os-specific/linux/hwdata/default.nix6
-rw-r--r--pkgs/os-specific/linux/iio-sensor-proxy/default.nix8
-rw-r--r--pkgs/os-specific/linux/ipset/default.nix4
-rw-r--r--pkgs/os-specific/linux/kbd/default.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix1
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.13.nix17
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.15.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-copperhead-hardened.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/os-specific/linux/mbpfan/default.nix4
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix4
-rw-r--r--pkgs/os-specific/linux/nftables/default.nix4
-rw-r--r--pkgs/os-specific/linux/pagemon/default.nix4
-rw-r--r--pkgs/os-specific/linux/pam_mount/default.nix6
-rw-r--r--pkgs/os-specific/linux/pipework/default.nix9
-rw-r--r--pkgs/os-specific/linux/pmount/default.nix2
-rw-r--r--pkgs/os-specific/linux/pommed/default.nix4
-rw-r--r--pkgs/os-specific/linux/prl-tools/default.nix9
-rw-r--r--pkgs/os-specific/linux/rdma-core/default.nix4
-rw-r--r--pkgs/os-specific/linux/rtlwifi_new/default.nix6
-rw-r--r--pkgs/os-specific/linux/shadow/default.nix4
-rw-r--r--pkgs/os-specific/linux/sysstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix410
-rw-r--r--pkgs/os-specific/linux/tp_smapi/default.nix6
-rw-r--r--pkgs/os-specific/linux/trinity/default.nix6
-rw-r--r--pkgs/os-specific/linux/udisks-glue/default.nix6
-rw-r--r--pkgs/os-specific/linux/udisks/1-default.nix4
-rw-r--r--pkgs/os-specific/linux/udisks/2-default.nix10
-rw-r--r--pkgs/os-specific/linux/upower/default.nix4
-rw-r--r--pkgs/os-specific/linux/usbguard/daemon_read_only_config.patch13
-rw-r--r--pkgs/os-specific/linux/usbguard/default.nix22
-rw-r--r--pkgs/os-specific/linux/usbguard/documentation.patch32
45 files changed, 352 insertions, 378 deletions
diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix
index ff32ca01a97f..88e8a9665586 100644
--- a/pkgs/os-specific/linux/android-udev-rules/default.nix
+++ b/pkgs/os-specific/linux/android-udev-rules/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "android-udev-rules-${version}";
-  version = "20171113";
+  version = "20180112";
 
   src = fetchFromGitHub {
     owner = "M0Rf30";
     repo = "android-udev-rules";
     rev = version;
-    sha256 = "11gcnk6wjc2sw05hwi4xphvx9ksmkpvsdziaczymqxkaads3f1dy";
+    sha256 = "13gj79nnd04szqlrrzzkdr6wi1fky08pi7x8xfbg0jj3d3v0giah";
   };
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/blktrace/default.nix b/pkgs/os-specific/linux/blktrace/default.nix
index 886aa503abbb..4ae449c19aa8 100644
--- a/pkgs/os-specific/linux/blktrace/default.nix
+++ b/pkgs/os-specific/linux/blktrace/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, libaio }:
 
 stdenv.mkDerivation {
-  name = "blktrace-1.1.0";
+  name = "blktrace-1.2.0";
 
   # Official source
   # "git://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git"
   src = fetchurl {
-    url = "http://brick.kernel.dk/snaps/blktrace-1.1.0.tar.bz2";
-    sha256 = "15cj9aki7z5i5y6bnchqry6yp40r4lmgmam6ar5gslnx0smgm8jl";
+    url = "http://brick.kernel.dk/snaps/blktrace-1.2.0.tar.bz2";
+    sha256 = "0i9z7ayh9qx4wi0ihyz15bhr1c9aknjl8v5i8c9mx3rhyy41i5i6";
   };
 
   buildInputs = [ libaio ];
diff --git a/pkgs/os-specific/linux/cachefilesd/default.nix b/pkgs/os-specific/linux/cachefilesd/default.nix
index 6ef5476f8e83..d77539fb89ed 100644
--- a/pkgs/os-specific/linux/cachefilesd/default.nix
+++ b/pkgs/os-specific/linux/cachefilesd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "cachefilesd-${version}";
-  version = "0.10.9";
+  version = "0.10.10";
 
   src = fetchurl {
     url = "https://people.redhat.com/dhowells/fscache/${name}.tar.bz2";
-    sha256 = "1jkb3qd8rcmli3g2qgcpp1f9kklil4qgy86w7pg2cpv10ikyr5y8";
+    sha256 = "00hsw4cdlm13wijlygp8f0aq6gxdp0skbxs9r2vh5ggs3s2hj0qd";
   };
 
   installFlags = [
diff --git a/pkgs/os-specific/linux/displaylink/default.nix b/pkgs/os-specific/linux/displaylink/default.nix
index f561a65ea5ca..55be85d33f05 100644
--- a/pkgs/os-specific/linux/displaylink/default.nix
+++ b/pkgs/os-specific/linux/displaylink/default.nix
@@ -11,17 +11,17 @@ let
 
 in stdenv.mkDerivation rec {
   name = "displaylink-${version}";
-  version = "1.3.52";
+  version = "4.1.9";
 
   src = requireFile rec {
     name = "displaylink.zip";
-    sha256 = "0ridpsxcf761vym0nlpq702qa46ynddzci17bjmyax2pph7khr0k";
+    sha256 = "d762145014df7fea8ca7af12206a077d73d8e7f2259c8dc2ce7e5fb1e69ef9a3";
     message = ''
       In order to install the DisplayLink drivers, you must first
       comply with DisplayLink's EULA and download the binaries and
       sources from here:
 
-      http://www.displaylink.com/downloads/file?id=744
+      http://www.displaylink.com/downloads/file?id=1087
 
       Once you have downloaded the file, please use the following
       commands and re-run the installation:
@@ -57,6 +57,9 @@ in stdenv.mkDerivation rec {
     fixupPhase
   '';
 
+  dontStrip = true;
+  dontPatchELF = true;
+
   meta = with stdenv.lib; {
     description = "DisplayLink DL-5xxx, DL-41xx and DL-3x00 Driver for Linux";
     platforms = [ "x86_64-linux" "i686-linux" ];
diff --git a/pkgs/os-specific/linux/dmtcp/default.nix b/pkgs/os-specific/linux/dmtcp/default.nix
index 76f9d8c128c3..534e57354474 100644
--- a/pkgs/os-specific/linux/dmtcp/default.nix
+++ b/pkgs/os-specific/linux/dmtcp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "dmtcp-${version}";
-  version = "2.5.1";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     owner = "dmtcp";
     repo = "dmtcp";
     rev = version;
-    sha256 = "1z6cc7avs2sj8csf7rapf7nbw0giva6xpj0cshv7p9s643y8yxmi";
+    sha256 = "1sq38in4wk855yhfnzbs9xpnps97fhja93w08xjmx7szzm33g5a8";
   };
 
   dontDisableStatic = true;
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
index 5db64e15e048..730df56a6429 100644
--- a/pkgs/os-specific/linux/evdi/default.nix
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "evdi-${version}";
-  version = "unstable-2018-01-12";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "DisplayLink";
     repo = "evdi";
-    rev = "e7a08d08e3876efba8007e91df1b296f2447b8de";
+    rev = "v${version}";
     sha256 = "01z7bx5rgpb5lc4c6dxfiv52ni25564djxmvmgy3d7r1x1mqhxgs";
   };
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "KVER=${kernel.modDirVersion}" "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
 
-  hardeningDisable = [ "pic" "format" ];
+  hardeningDisable = [ "format" "pic" "fortify" ];
 
   installPhase = ''
     install -Dm755 module/evdi.ko $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/evdi/evdi.ko
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.gpl2;
     homepage = http://www.displaylink.com/;
-    broken = versionOlder kernel.version "4.9";
+    broken = versionOlder kernel.version "4.9" || versionAtLeast kernel.version "4.15";
   };
 }
diff --git a/pkgs/os-specific/linux/eventstat/default.nix b/pkgs/os-specific/linux/eventstat/default.nix
index cd11a79c8f82..e2647112f1b2 100644
--- a/pkgs/os-specific/linux/eventstat/default.nix
+++ b/pkgs/os-specific/linux/eventstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "eventstat-${version}";
-  version = "0.03.04";
+  version = "0.04.03";
   src = fetchzip {
     url = "http://kernel.ubuntu.com/~cking/tarballs/eventstat/eventstat-${version}.tar.gz";
-    sha256 = "1sqf1mfafrw6402qx457gh8yxgsw80311qi0lp4cjl9dfz7vl2x1";
+    sha256 = "0yv7rpdg07rihw8iilvigib963nxf16mn26hzlb6qd1wv54k6dbr";
   };
   buildInputs = [ ncurses ];
   installFlags = [ "DESTDIR=$(out)" ];
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index aad4f5f61df9..646c18860c5d 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, fetchpatch, gtk_doc, pkgconfig, gobjectIntrospection, intltool
-, libgudev, polkit, appstream-glib, gusb, sqlite, libarchive, glib_networking
+{ stdenv, fetchurl, fetchpatch, gtk-doc, pkgconfig, gobjectIntrospection, intltool
+, libgudev, polkit, appstream-glib, gusb, sqlite, libarchive, glib-networking
 , libsoup, help2man, gpgme, libxslt, elfutils, libsmbios, efivar, glibcLocales
 , fwupdate, libyaml, valgrind, meson, libuuid, colord, docbook_xml_dtd_43, docbook_xsl
-, ninja, gcab, gnutls, python3, wrapGAppsHook, json_glib
-, shared_mime_info, umockdev
+, ninja, gcab, gnutls, python3, wrapGAppsHook, json-glib
+, shared-mime-info, umockdev
 }:
 let
   # Updating? Keep $out/etc synchronized with passthru.filesInstalledToEtc
@@ -20,12 +20,12 @@ in stdenv.mkDerivation {
   outputs = [ "out" "devdoc" "man" "installedTests" ];
 
   nativeBuildInputs = [
-    meson ninja gtk_doc pkgconfig gobjectIntrospection intltool glibcLocales shared_mime_info
+    meson ninja gtk-doc pkgconfig gobjectIntrospection intltool glibcLocales shared-mime-info
     valgrind gcab docbook_xml_dtd_43 docbook_xsl help2man libxslt python wrapGAppsHook
   ];
   buildInputs = [
     polkit appstream-glib gusb sqlite libarchive libsoup elfutils libsmbios fwupdate libyaml
-    libgudev colord gpgme libuuid gnutls glib_networking efivar json_glib umockdev
+    libgudev colord gpgme libuuid gnutls glib-networking efivar json-glib umockdev
   ];
 
   LC_ALL = "en_US.UTF-8"; # For po/make-images
@@ -50,7 +50,7 @@ in stdenv.mkDerivation {
   doCheck = true;
 
   preFixup = ''
-    gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared_mime_info}/share")
+    gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share")
   '';
 
   mesonFlags = [
diff --git a/pkgs/os-specific/linux/fwts/default.nix b/pkgs/os-specific/linux/fwts/default.nix
new file mode 100644
index 000000000000..4c393a0f3266
--- /dev/null
+++ b/pkgs/os-specific/linux/fwts/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchzip, autoreconfHook, pkgconfig, glib, libtool, pcre
+, json_c, flex, bison, dtc, pciutils, dmidecode, iasl }:
+
+stdenv.mkDerivation rec {
+  name = "fwts-${version}";
+  version = "18.01.00";
+
+  src = fetchzip {
+    url = "http://fwts.ubuntu.com/release/fwts-V${version}.tar.gz";
+    sha256 = "043wkq4hz5pz79masppya67b8i5jw61p1j8dw17jwc8w6gp8csfb";
+    stripRoot = false;
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig libtool ];
+  buildInputs = [ glib pcre json_c flex bison dtc pciutils dmidecode iasl ];
+
+  postPatch = ''
+    substituteInPlace src/lib/include/fwts_binpaths.h --replace "/usr/bin/lspci"      "${pciutils}/bin/lspci"
+    substituteInPlace src/lib/include/fwts_binpaths.h --replace "/usr/sbin/dmidecode" "${dmidecode}/bin/dmidecode"
+    substituteInPlace src/lib/include/fwts_binpaths.h --replace "/usr/bin/iasl"       "${iasl}/bin/iasl"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://wiki.ubuntu.com/FirmwareTestSuite";
+    description = "Firmware Test Suite";
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ tadfisher ];
+  };
+}
diff --git a/pkgs/os-specific/linux/hal-flash/default.nix b/pkgs/os-specific/linux/hal-flash/default.nix
index a299fd0f4338..27b85fbfc89a 100644
--- a/pkgs/os-specific/linux/hal-flash/default.nix
+++ b/pkgs/os-specific/linux/hal-flash/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoconf, automake, dbus, glib, libtool, pkgconfig, udisks2 }:
 
 stdenv.mkDerivation {
-  name = "hal-flash-0.3.0";
+  name = "hal-flash-0.3.3";
 
   src = fetchurl {
-    url = "https://github.com/cshorler/hal-flash/archive/v0.3.0.tar.gz";
-    sha256 = "163pqy39cca8cnf8rm8zr63ndsnr7rki9pf9j7dl9gyxmi7sx88s";
+    url = "https://github.com/cshorler/hal-flash/archive/v0.3.3.tar.gz";
+    sha256 = "0dw9bx190mrh0dycw4rfvfmwwvh2sgypffr99nfnr36b38jrd6y6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix
index 8ebce1965301..6f2dc807fbab 100644
--- a/pkgs/os-specific/linux/hwdata/default.nix
+++ b/pkgs/os-specific/linux/hwdata/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "hwdata-${version}";
-  version = "0.308";
+  version = "0.309";
 
   src = fetchurl {
-    url = "https://github.com/vcrhonek/hwdata/archive/v0.308.tar.gz";
-    sha256 = "17zcwplw41dfwb2l9jfgvm65rjzlsbv30f56d6vgiix042f92vcq";
+    url = "https://github.com/vcrhonek/hwdata/archive/v0.309.tar.gz";
+    sha256 = "1njx4lhg7a0cawz82x535vk4mslmnfj7nmf8dbq8kgqxiqh6h2c7";
   };
 
   preConfigure = "patchShebangs ./configure";
diff --git a/pkgs/os-specific/linux/iio-sensor-proxy/default.nix b/pkgs/os-specific/linux/iio-sensor-proxy/default.nix
index cdcae22a18e9..0ccc8acfdca9 100644
--- a/pkgs/os-specific/linux/iio-sensor-proxy/default.nix
+++ b/pkgs/os-specific/linux/iio-sensor-proxy/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchFromGitHub, autoconf-archive, gettext, libtool, intltool, autoconf, automake
-, glib, gtk3, gtk_doc, libgudev, pkgconfig, systemd }:
+, glib, gtk3, gtk-doc, libgudev, pkgconfig, systemd }:
 
 stdenv.mkDerivation rec {
   name = "iio-sensor-proxy-${version}";
-  version = "2.2";
+  version = "2.4";
 
   src = fetchFromGitHub {
     owner  = "hadess";
     repo   = "iio-sensor-proxy";
     rev    = version;
-    sha256 = "1x0whwm2r9g50hq5px0bgsrigy8naihqgi6qm0x5q87jz5lkhrnv";
+    sha256 = "1c8izq73c00gvv0jc6zby5hcircs4cb16a1d3ivp1i1iflknj46n";
   };
 
   configurePhase = ''
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     gtk3
-    gtk_doc
+    gtk-doc
     libgudev
     systemd
   ];
diff --git a/pkgs/os-specific/linux/ipset/default.nix b/pkgs/os-specific/linux/ipset/default.nix
index 6039ada44e24..c78a4eadfa4e 100644
--- a/pkgs/os-specific/linux/ipset/default.nix
+++ b/pkgs/os-specific/linux/ipset/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libmnl }:
 
 stdenv.mkDerivation rec {
-  name = "ipset-6.34";
+  name = "ipset-6.35";
 
   src = fetchurl {
     url = "http://ipset.netfilter.org/${name}.tar.bz2";
-    sha256 = "106nv1ngcvap0mqmb6jm07lc1q3w796rkzc1vrfs4yhbcwdq63np";
+    sha256 = "1p7l1fj3lbv6rr24zxjiwq7jk1yvazk8db6yyni0qbprw49i01rp";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix
index b97f48af414a..d1e40371e370 100644
--- a/pkgs/os-specific/linux/kbd/default.nix
+++ b/pkgs/os-specific/linux/kbd/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
       # We get a warning in armv5tel-linux and the fuloong2f, so we
       # disable -Werror in it.
-      ${stdenv.lib.optionalString (stdenv.isArm || stdenv.system == "mips64el-linux") ''
+      ${stdenv.lib.optionalString (stdenv.isArm || stdenv.hostPlatform.isMips) ''
         sed -i s/-Werror// src/Makefile.am
       ''}
     '';
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 2fa343412019..5fbd9955c2a3 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -134,6 +134,7 @@ with stdenv.lib;
   ''}
   NETFILTER y
   NETFILTER_ADVANCED y
+  CGROUP_BPF? y # Required by systemd per-cgroup firewalling
   IP_ROUTE_VERBOSE y
   IP_MROUTE_MULTIPLE_TABLES y
   IP_VS_PROTO_TCP y
diff --git a/pkgs/os-specific/linux/kernel/linux-4.13.nix b/pkgs/os-specific/linux/kernel/linux-4.13.nix
deleted file mode 100644
index e89222b2c629..000000000000
--- a/pkgs/os-specific/linux/kernel/linux-4.13.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
-
-buildLinux (args // rec {
-  version = "4.13.16";
-  extraMeta.branch = "4.13";
-
-  # TODO: perhaps try being more concrete (ideally CVE numbers).
-  extraMeta.knownVulnerabilities = [
-    "ALSA: usb-audio: Fix potential out-of-bound access at parsing SU"
-    "eCryptfs: use after free in ecryptfs_release_messaging()"
-  ];
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0cf7prqzl1ajbgl98w0symdyn0k5wl5xaf1l5ldgy6l083yg69dh";
-  };
-} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 3796ed7b037c..4b8515a86d33 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,13 +3,13 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.21";
+  version = "4.14.24";
 
   # branchVersion needs to be x.y
   extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version)));
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1vda6l61755wjbqjz3xbdkhgzzvd8lhnlliga3chfprxq348kpqr";
+    sha256 = "00cqhc8198f4gj6cpz7nblpgi5zh2145arjx1yp0p4gmswdjslds";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.15.nix b/pkgs/os-specific/linux/kernel/linux-4.15.nix
index b2a55ba4b1ff..1c4889892439 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.15.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.15.5";
+  version = "4.15.7";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "08l0m6pj690v6a0jjd7369zqkwnmgnm7k74g7s8sfwfxq0dsi2wj";
+    sha256 = "1in8gy82ccpri7xhbgim3jrh15lbfrfzjgg69g0yvq534d5xyi6d";
   };
 } // (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 6f6a39fcff27..4f42f7b81c7f 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, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.117";
+  version = "4.4.120";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0s2d5vaa8wzfsamf9wkafk6nv46q7809j7x6a394sy39jq7lj3qj";
+    sha256 = "0y7li4vcvv04aqkrgl01i98pgwm9njzrb8y8wdvwaq9658vhfpx2";
   };
 } // (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 473fa052bbd4..d1bf5fb5c622 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, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.83";
+  version = "4.9.86";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1csh557b9b0zsldlk1lalmy5wgn5rhk857fryn3v4nh8kj3y4mw9";
+    sha256 = "11bf1jcxn5gwd1g99ml2kn65vkpciq8hdz7xc0bjy66gxysnxkx7";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix b/pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix
index e17e9045d6cd..85d31048ffc2 100644
--- a/pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix
+++ b/pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix
@@ -3,9 +3,9 @@
 with stdenv.lib;
 
 let
-  version = "4.15.5";
+  version = "4.15.7";
   revision = "a";
-  sha256 = "082b5mwkklf111516qld980dqh4q7g1afb2y7mhc2in5pgkgqrws";
+  sha256 = "19kgy1fa4flnqm3a50hilgjczqkscay10183cvkzy3vxrnf8fl0f";
 
   # modVersion needs to be x.y.z, will automatically add .0 if needed
   modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 2c32ba573114..e850b33ca470 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.16-rc1";
-  modDirVersion = "4.16.0-rc1";
+  version = "4.16-rc3";
+  modDirVersion = "4.16.0-rc3";
   extraMeta.branch = "4.16";
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "19m1scqfcslawsxci0lypy32af315by3rg10lczv0jh2j4gyggmd";
+    sha256 = "1av2fki8dxcxmm3p8w25njij0akv33ylzf10g8gi7f1qshmlysdp";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/mbpfan/default.nix b/pkgs/os-specific/linux/mbpfan/default.nix
index 200654909c28..a825314683ea 100644
--- a/pkgs/os-specific/linux/mbpfan/default.nix
+++ b/pkgs/os-specific/linux/mbpfan/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "mbpfan-${version}";
-  version = "2.0.1";
+  version = "2.0.2";
   src = fetchFromGitHub {
     owner = "dgraziotin";
     repo = "mbpfan";
     rev = "v${version}";
-    sha256 = "1iri1py9ym0zz7fcacbf0d9y3i3ay77jmajckchagamkfha16zyp";
+    sha256 = "1l8fj92jxfp0sldvznsdsm3pn675b35clq3371h6d5wk4jx67fvg";
   };
   installPhase = ''
     mkdir -p $out/bin $out/etc
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
index a65f983bb36d..ac176c7d3b36 100644
--- a/pkgs/os-specific/linux/mcelog/default.nix
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "mcelog-${version}";
-  version = "153";
+  version = "154";
 
   src = fetchFromGitHub {
     owner  = "andikleen";
     repo   = "mcelog";
     rev    = "v${version}";
-    sha256 = "1wz55dzqdiam511d6p1958al6vzlhrhs73s7gly0mzm6kpji0gxa";
+    sha256 = "0vq7r3zknr62rmi9g0zd7mmxframm79vmrdw029pc7z6wrlv40cy";
   };
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix
index 9d645fb1d848..7edc7b58c6c3 100644
--- a/pkgs/os-specific/linux/nftables/default.nix
+++ b/pkgs/os-specific/linux/nftables/default.nix
@@ -2,11 +2,11 @@
 , flex, bison, libmnl, libnftnl, gmp, readline }:
 
 stdenv.mkDerivation rec {
-  name = "nftables-0.8";
+  name = "nftables-0.8.2";
 
   src = fetchurl {
     url = "http://netfilter.org/projects/nftables/files/${name}.tar.bz2";
-    sha256 = "16iq9x0qxikdhp1nan500rk33ycqddl1k57876m4dfv3n7kqhnrz";
+    sha256 = "1v370wzh3fzby0cdb9iykkhdj1yjcp5qkp33xyn7w7pii2phlpv7";
   };
 
   configureFlags = [
diff --git a/pkgs/os-specific/linux/pagemon/default.nix b/pkgs/os-specific/linux/pagemon/default.nix
index aec6e57e9144..99caa813b2ea 100644
--- a/pkgs/os-specific/linux/pagemon/default.nix
+++ b/pkgs/os-specific/linux/pagemon/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "pagemon-${version}";
-  version = "0.01.10";
+  version = "0.01.12";
 
   src = fetchFromGitHub {
-    sha256 = "04dbcr7bzgp4kvhw1rsn084cz4qbfhf7ifyh3ikgdka9w98057h1";
+    sha256 = "0bddn22daf33dbghwfjxxgsn4gmr5knr6h9sbqhs7g7p85dla6wa";
     rev = "V${version}";
     repo = "pagemon";
     owner = "ColinIanKing";
diff --git a/pkgs/os-specific/linux/pam_mount/default.nix b/pkgs/os-specific/linux/pam_mount/default.nix
index dfcd53ec7786..c38990bdf8fd 100644
--- a/pkgs/os-specific/linux/pam_mount/default.nix
+++ b/pkgs/os-specific/linux/pam_mount/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoconf, automake, pkgconfig, libtool, pam, libHX, libxml2, pcre, perl, openssl, cryptsetup, utillinux }:
 
 stdenv.mkDerivation rec {
-  name = "pam_mount-2.15";
+  name = "pam_mount-2.16";
 
   src = fetchurl {
-    url = "mirror://sourceforge/pam-mount/pam_mount/2.15/${name}.tar.xz";
-    sha256 = "091aq5zyc60wh21m1ryanjwknwxlaj9nvlswn5vjrmcdir5gnkm5";
+    url = "mirror://sourceforge/pam-mount/pam_mount/2.16/${name}.tar.xz";
+    sha256 = "1rvi4irb7ylsbhvx1cr6islm2xxw1a4b19q6z4a9864ndkm0f0mf";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/pipework/default.nix b/pkgs/os-specific/linux/pipework/default.nix
index 57ef22083fe4..523f7382a2cf 100644
--- a/pkgs/os-specific/linux/pipework/default.nix
+++ b/pkgs/os-specific/linux/pipework/default.nix
@@ -4,17 +4,16 @@
 
 stdenv.mkDerivation rec {
   name = "pipework-${version}";
-  version = "2015-07-30";
+  version = "2017-08-22";
   src = fetchFromGitHub {
     owner = "jpetazzo";
     repo = "pipework";
-    rev = "5a46ecb5f8f933fd268ef315f58a1eb1c46bd93d";
-    sha256 = "02znyg5ir37s8xqjcqqz6xnwyqxapn7c4scyqkcapxr932hf1frh";
+    rev = "ae42f1b5fef82b3bc23fe93c95c345e7af65fef3";
+    sha256 = "0c342m0bpq6ranr7dsxk9qi5mg3j5aw9wv85ql8gprdb2pz59qy8";
   };
   buildInputs = [ makeWrapper ];
   installPhase = ''
-    mkdir -p $out/bin
-    cp pipework $out/bin
+    install -D pipework $out/bin/pipework
     wrapProgram $out/bin/pipework --prefix PATH : \
       ${lib.makeBinPath [ bridge-utils iproute lxc openvswitch docker busybox dhcpcd dhcp ]};
   '';
diff --git a/pkgs/os-specific/linux/pmount/default.nix b/pkgs/os-specific/linux/pmount/default.nix
index c1049d78f42a..63d159e18842 100644
--- a/pkgs/os-specific/linux/pmount/default.nix
+++ b/pkgs/os-specific/linux/pmount/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cryptsetup, dbus, dbus_glib, intltool, ntfs3g, utillinux
+{ stdenv, fetchurl, cryptsetup, dbus, dbus-glib, intltool, ntfs3g, utillinux
 , mediaDir ? "/media/"
 , lockDir ? "/var/lock/pmount"
 , whiteList ? "/etc/pmount.allow"
diff --git a/pkgs/os-specific/linux/pommed/default.nix b/pkgs/os-specific/linux/pommed/default.nix
index 1cdf9044b8ff..3698b2b281f9 100644
--- a/pkgs/os-specific/linux/pommed/default.nix
+++ b/pkgs/os-specific/linux/pommed/default.nix
@@ -3,7 +3,7 @@
 , fetchurl
 , pciutils
 , confuse
-, dbus, dbus_glib
+, dbus, dbus-glib
 , alsaLib
 , audiofile
 , pkgconfig
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     dbus
     alsaLib
     audiofile
-    dbus_glib
+    dbus-glib
     pkgconfig
     gtk2
     gettext
diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix
index 12b361e953ea..000d11af87d1 100644
--- a/pkgs/os-specific/linux/prl-tools/default.nix
+++ b/pkgs/os-specific/linux/prl-tools/default.nix
@@ -1,10 +1,13 @@
 { stdenv, lib, requireFile, makeWrapper, substituteAll, p7zip
-, gawk, utillinux, xorg, glib, dbus_glib, zlib
+, gawk, utillinux, xorg, glib, dbus-glib, zlib
 , kernel ? null, libsOnly ? false
 , undmg, fetchurl
+, libelf
 }:
 
 assert (!libsOnly) -> kernel != null;
+# Disable for kernels 4.15 and above due to compatibility issues
+assert kernel != null -> stdenv.lib.versionOlder kernel.version "4.15";
 
 let xorgFullVer = (builtins.parseDrvName xorg.xorgserver.name).version;
     xorgVer = lib.concatStringsSep "." (lib.take 2 (lib.splitString "." xorgFullVer));
@@ -27,7 +30,7 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "pic" "format" ];
 
   # also maybe python2 to generate xorg.conf
-  nativeBuildInputs = [ p7zip undmg ] ++ lib.optionals (!libsOnly) [ makeWrapper ];
+  nativeBuildInputs = [ p7zip undmg ] ++ lib.optionals (!libsOnly) [ makeWrapper ] ++ kernel.moduleBuildDependencies;
 
   inherit libsOnly;
 
@@ -65,7 +68,7 @@ stdenv.mkDerivation rec {
 
   libPath = with xorg;
             stdenv.lib.makeLibraryPath ([ stdenv.cc.cc libXrandr libXext libX11 libXcomposite libXinerama ]
-            ++ lib.optionals (!libsOnly) [ libXi glib dbus_glib zlib ]);
+            ++ lib.optionals (!libsOnly) [ libXi glib dbus-glib zlib ]);
 
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/rdma-core/default.nix b/pkgs/os-specific/linux/rdma-core/default.nix
index 77f94e544a07..b25ed85ce4b3 100644
--- a/pkgs/os-specific/linux/rdma-core/default.nix
+++ b/pkgs/os-specific/linux/rdma-core/default.nix
@@ -3,7 +3,7 @@
 } :
 
 let
-  version = "16.1";
+  version = "17";
 
 in stdenv.mkDerivation {
   name = "rdma-core-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "linux-rdma";
     repo = "rdma-core";
     rev = "v${version}";
-    sha256 = "1fixw6hpf732vzlpczx0b2y84jrhgfjr3cljqxky7makzgh2s7ng";
+    sha256 = "1xql46favv8i4ni4zqkk9ra2kcqq2dyn7jyi940c869lndmjw9ni";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/os-specific/linux/rtlwifi_new/default.nix b/pkgs/os-specific/linux/rtlwifi_new/default.nix
index 4bf3ef82978e..b29b1f639cf7 100644
--- a/pkgs/os-specific/linux/rtlwifi_new/default.nix
+++ b/pkgs/os-specific/linux/rtlwifi_new/default.nix
@@ -6,13 +6,13 @@ let modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wi
 
 in stdenv.mkDerivation rec {
   name = "rtlwifi_new-${version}";
-  version = "2017-07-18";
+  version = "2018-02-17";
 
   src = fetchFromGitHub {
     owner = "lwfinger";
     repo = "rtlwifi_new";
-    rev = "a24cb561b4d23187ea103255336daa7ca88791a7";
-    sha256 = "1w9rx5wafcp1vc4yh7lj332bv78szl6gmx3ckr8yl6c39alqcv0d";
+    rev = "0588ac0cc5f530e7764705416370b70d3c2afedc";
+    sha256 = "1vs8rfw19lcs04bapa97zlnl5x0kf02sdw5ik0hdm27wgk0z969m";
   };
 
   hardeningDisable = [ "pic" "format" ];
diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix
index 8875d7ec4b3e..ca15571d1ede 100644
--- a/pkgs/os-specific/linux/shadow/default.nix
+++ b/pkgs/os-specific/linux/shadow/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchpatch, fetchFromGitHub, autoreconfHook, libxslt, libxml2
-, docbook_xml_dtd_412, docbook_xsl, gnome_doc_utils, flex, bison
+, docbook_xml_dtd_412, docbook_xsl, gnome-doc-utils, flex, bison
 , pam ? null, glibcCross ? null
 , buildPlatform, hostPlatform
 }:
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam;
   nativeBuildInputs = [autoreconfHook libxslt libxml2
-    docbook_xml_dtd_412 docbook_xsl gnome_doc_utils flex bison
+    docbook_xml_dtd_412 docbook_xsl gnome-doc-utils flex bison
     ];
 
   patches =
diff --git a/pkgs/os-specific/linux/sysstat/default.nix b/pkgs/os-specific/linux/sysstat/default.nix
index adfcc76c31c1..d8e95ff74c43 100644
--- a/pkgs/os-specific/linux/sysstat/default.nix
+++ b/pkgs/os-specific/linux/sysstat/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "sysstat-11.2.5";
+  name = "sysstat-11.7.2";
 
   src = fetchurl {
     url = "http://perso.orange.fr/sebastien.godard/${name}.tar.xz";
-    sha256 = "1r7869pnylamjry5f5l5m1jn68v61js9wdkz8yn37a9a2bcrqp2d";
+    sha256 = "169yh9d0ags9xrn5g0k42wd1c895117zbzs257cjxqnb2vk0a38v";
   };
 
   buildInputs = [ gettext ];
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 9085b1703c0a..fc72728cbabe 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -8,6 +8,7 @@
 , ninja, meson, python3Packages, glibcLocales
 , patchelf
 , getent
+, hostPlatform
 }:
 
 assert stdenv.isLinux;
@@ -15,211 +16,206 @@ assert stdenv.isLinux;
 let
   pythonLxmlEnv = python3Packages.python.withPackages ( ps: with ps; [ python3Packages.lxml ]);
 
-in
-
-  stdenv.mkDerivation rec {
-    version = "237";
-    name = "systemd-${version}";
-
-    src = fetchFromGitHub {
-      owner = "NixOS";
-      repo = "systemd";
-      rev = "1e8830dfa77a7dc6976509f4a6edb7e012c50792";
-      sha256 = "1cw1k0i68azmzpqzi3r8jm6mbi2wqlql78fhcg0vvnv1ly8bf7vq";
-    };
-
-    outputs = [ "out" "lib" "man" "dev" ];
-
-    nativeBuildInputs =
-      [ pkgconfig intltool gperf libxslt gettext docbook_xsl docbook_xml_dtd_42 docbook_xml_dtd_45
-        ninja meson
-        coreutils # meson calls date, stat etc.
-        pythonLxmlEnv glibcLocales
-        patchelf getent
-      ];
-    buildInputs =
-      [ linuxHeaders libcap kmod xz pam acl
-        /* cryptsetup */ libuuid m4 glib libgcrypt libgpgerror libidn2
-        libmicrohttpd kexectools libseccomp libffi audit lz4 bzip2 libapparmor
-        iptables gnu-efi
-      ];
-
-    #dontAddPrefix = true;
-
-    mesonFlags = [
-      "-Dloadkeys-path=${kbd}/bin/loadkeys"
-      "-Dsetfont-path=${kbd}/bin/setfont"
-      "-Dtty-gid=3" # tty in NixOS has gid 3
-      # "-Dtests=" # TODO
-      "-Dlz4=true"
-      "-Dhostnamed=true"
-      "-Dnetworkd=true"
-      "-Dsysusers=false"
-      "-Dtimedated=true"
-      "-Dtimesyncd=true"
-      "-Dfirstboot=false"
-      "-Dlocaled=true"
-      "-Dresolve=true"
-      "-Dsplit-usr=false"
-      "-Dlibcurl=false"
-      "-Dlibidn=false"
-      "-Dlibidn2=true"
-      "-Dquotacheck=false"
-      "-Dldconfig=false"
-      "-Dsmack=true"
-      "-Dsystem-uid-max=499" #TODO: debug why awking around in /etc/login.defs doesn't work
-      "-Dsystem-gid-max=499"
-  #    "-Dtime-epoch=1"
-
-      (if stdenv.isArm then "-Dgnu-efi=false" else "-Dgnu-efi=true")
-      "-Defi-libdir=${gnu-efi}/lib"
-      "-Defi-includedir=${gnu-efi}/include/efi"
-      "-Defi-ldsdir=${gnu-efi}/lib"
-
-      "-Dsysvinit-path="
-      "-Dsysvrcnd-path="
-      ];
-
-    preConfigure =
-      ''
-        mesonFlagsArray+=(-Dntp-servers="0.nixos.pool.ntp.org 1.nixos.pool.ntp.org 2.nixos.pool.ntp.org 3.nixos.pool.ntp.org")
-        mesonFlagsArray+=(-Ddbuspolicydir=$out/etc/dbus-1/system.d)
-        mesonFlagsArray+=(-Ddbussessionservicedir=$out/share/dbus-1/services)
-        mesonFlagsArray+=(-Ddbussystemservicedir=$out/share/dbus-1/system-services)
-        mesonFlagsArray+=(-Dpamconfdir=$out/etc/pam.d)
-        mesonFlagsArray+=(-Dsysconfdir=$out/etc)
-        mesonFlagsArray+=(-Drootprefix=$out)
-        mesonFlagsArray+=(-Dlibdir=$lib/lib)
-        mesonFlagsArray+=(-Drootlibdir=$lib/lib)
-        mesonFlagsArray+=(-Dmandir=$man/lib)
-        mesonFlagsArray+=(-Dincludedir=$dev/include)
-        mesonFlagsArray+=(-Dpkgconfiglibdir=$dev/lib/pkgconfig)
-        mesonFlagsArray+=(-Dpkgconfigdatadir=$dev/share/pkgconfig)
-
-        # FIXME: Why aren't includedir and libdir picked up from mesonFlags while other options are?
-        substituteInPlace meson.build \
-          --replace "includedir = join_paths(prefixdir, get_option('includedir'))" \
-                    "includedir = '$dev/include'" \
-          --replace "libdir = join_paths(prefixdir, get_option('libdir'))" \
-                    "libdir = '$lib/lib'"
-
-        export LC_ALL="en_US.UTF-8";
-        # FIXME: patch this in systemd properly (and send upstream).
-        # already fixed in f00929ad622c978f8ad83590a15a765b4beecac9: (u)mount
-        for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.in src/journal/cat.c src/core/shutdown.c src/nspawn/nspawn.c src/shared/generator.c; do
-          test -e $i
-          substituteInPlace $i \
-            --replace /usr/bin/getent ${getent}/bin/getent \
-            --replace /sbin/swapon ${utillinux.bin}/sbin/swapon \
-            --replace /sbin/swapoff ${utillinux.bin}/sbin/swapoff \
-            --replace /sbin/fsck ${utillinux.bin}/sbin/fsck \
-            --replace /bin/echo ${coreutils}/bin/echo \
-            --replace /bin/cat ${coreutils}/bin/cat \
-            --replace /sbin/sulogin ${utillinux.bin}/sbin/sulogin \
-            --replace /usr/lib/systemd/systemd-fsck $out/lib/systemd/systemd-fsck \
-            --replace /bin/plymouth /run/current-system/sw/bin/plymouth # To avoid dependency
-        done
-
-        for i in tools/xml_helper.py tools/make-directive-index.py tools/make-man-index.py test/sys-script.py; do
-          substituteInPlace $i \
-            --replace "#!/usr/bin/env python" "#!${pythonLxmlEnv}/bin/python"
-        done
-
-        for i in src/basic/generate-gperfs.py src/resolve/generate-dns_type-gperf.py src/test/generate-sym-test.py ; do
-          substituteInPlace $i \
-            --replace "#!/usr/bin/env python" "#!${python3Packages.python}/bin/python"
-        done
-
-        substituteInPlace src/journal/catalog.c \
-          --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/
-      '';
-
-    # These defines are overridden by CFLAGS and would trigger annoying
-    # warning messages
-    postConfigure = ''
-      substituteInPlace config.h \
-        --replace "POLKIT_AGENT_BINARY_PATH" "_POLKIT_AGENT_BINARY_PATH" \
-        --replace "SYSTEMD_BINARY_PATH" "_SYSTEMD_BINARY_PATH" \
-        --replace "SYSTEMD_CGROUP_AGENT_PATH" "_SYSTEMD_CGROUP_AGENT_PATH"
-    '';
-
-    hardeningDisable = [ "stackprotector" ];
-
-    NIX_CFLAGS_COMPILE =
-      [ # Can't say ${polkit.bin}/bin/pkttyagent here because that would
-        # lead to a cyclic dependency.
-        "-UPOLKIT_AGENT_BINARY_PATH" "-DPOLKIT_AGENT_BINARY_PATH=\"/run/current-system/sw/bin/pkttyagent\""
-
-        # Set the release_agent on /sys/fs/cgroup/systemd to the
-        # currently running systemd (/run/current-system/systemd) so
-        # that we don't use an obsolete/garbage-collected release agent.
-        "-USYSTEMD_CGROUP_AGENT_PATH" "-DSYSTEMD_CGROUP_AGENT_PATH=\"/run/current-system/systemd/lib/systemd/systemd-cgroups-agent\""
-
-        "-USYSTEMD_BINARY_PATH" "-DSYSTEMD_BINARY_PATH=\"/run/current-system/systemd/lib/systemd/systemd\""
-      ];
-
-    postInstall =
-      ''
-        # sysinit.target: Don't depend on
-        # systemd-tmpfiles-setup.service. This interferes with NixOps's
-        # send-keys feature (since sshd.service depends indirectly on
-        # sysinit.target).
-        mv $out/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service $out/lib/systemd/system/multi-user.target.wants/
-
-        mkdir -p $out/example/systemd
-        mv $out/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $out/example
-        mv $out/lib/systemd/{system,user} $out/example/systemd
-
-        rm -rf $out/etc/systemd/system
-
-        # Install SysV compatibility commands.
-        mkdir -p $out/sbin
-        ln -s $out/lib/systemd/systemd $out/sbin/telinit
-        for i in init halt poweroff runlevel reboot shutdown; do
-          ln -s $out/bin/systemctl $out/sbin/$i
-        done
-
-        # Fix reference to /bin/false in the D-Bus services.
-        for i in $out/share/dbus-1/system-services/*.service; do
-          substituteInPlace $i --replace /bin/false ${coreutils}/bin/false
-        done
-
-        rm -rf $out/etc/rpm
-
-        # "kernel-install" shouldn't be used on NixOS.
-        find $out -name "*kernel-install*" -exec rm {} \;
-
-        # Keep only libudev and libsystemd in the lib output.
-        mkdir -p $out/lib
-        mv $lib/lib/security $lib/lib/libnss* $out/lib/
-      ''; # */
-
-    enableParallelBuilding = true;
-
-    # The rpath to the shared systemd library is not added by meson. The
-    # functionality was removed by a nixpkgs patch because it would overwrite
-    # the existing rpath.
-    postFixup = ''
-      sharedLib=libsystemd-shared-${version}.so
-      for prog in `find $out -type f -executable`; do
-        (patchelf --print-needed $prog | grep $sharedLib > /dev/null) && (
-          patchelf --set-rpath `patchelf --print-rpath $prog`:"$out/lib/systemd" $prog
-        ) || true
-      done
-    '';
-
-    # The interface version prevents NixOS from switching to an
-    # incompatible systemd at runtime.  (Switching across reboots is
-    # fine, of course.)  It should be increased whenever systemd changes
-    # in a backwards-incompatible way.  If the interface version of two
-    # systemd builds is the same, then we can switch between them at
-    # runtime; otherwise we can't and we need to reboot.
-    passthru.interfaceVersion = 2;
-
-    meta = {
-      homepage = http://www.freedesktop.org/wiki/Software/systemd;
-      description = "A system and service manager for Linux";
-      platforms = stdenv.lib.platforms.linux;
-      maintainers = [ stdenv.lib.maintainers.eelco ];
-    };
+in stdenv.mkDerivation rec {
+  version = "237";
+  name = "systemd-${version}";
+
+  src = fetchFromGitHub {
+    owner = "NixOS";
+    repo = "systemd";
+    rev = "98067cc806ae0d2759cdd2334f230cd8548e5317";
+    sha256 = "077svfs2xy3g30s62q69wcv5pb9vfhzh8i7lhfri73vvhwbpzd5q";
+  };
+
+  outputs = [ "out" "lib" "man" "dev" ];
+
+  nativeBuildInputs =
+    [ pkgconfig intltool gperf libxslt gettext docbook_xsl docbook_xml_dtd_42 docbook_xml_dtd_45
+      ninja meson
+      coreutils # meson calls date, stat etc.
+      pythonLxmlEnv glibcLocales
+      patchelf getent
+    ];
+  buildInputs =
+    [ linuxHeaders libcap kmod xz pam acl
+      /* cryptsetup */ libuuid m4 glib libgcrypt libgpgerror libidn2
+      libmicrohttpd kexectools libseccomp libffi audit lz4 bzip2 libapparmor
+      iptables gnu-efi
+    ];
+
+  #dontAddPrefix = true;
+
+  mesonFlags = [
+    "-Dloadkeys-path=${kbd}/bin/loadkeys"
+    "-Dsetfont-path=${kbd}/bin/setfont"
+    "-Dtty-gid=3" # tty in NixOS has gid 3
+    # "-Dtests=" # TODO
+    "-Dlz4=true"
+    "-Dhostnamed=true"
+    "-Dnetworkd=true"
+    "-Dsysusers=false"
+    "-Dtimedated=true"
+    "-Dtimesyncd=true"
+    "-Dfirstboot=false"
+    "-Dlocaled=true"
+    "-Dresolve=true"
+    "-Dsplit-usr=false"
+    "-Dlibcurl=false"
+    "-Dlibidn=false"
+    "-Dlibidn2=true"
+    "-Dquotacheck=false"
+    "-Dldconfig=false"
+    "-Dsmack=true"
+    "-Dsystem-uid-max=499" #TODO: debug why awking around in /etc/login.defs doesn't work
+    "-Dsystem-gid-max=499"
+    # "-Dtime-epoch=1"
+
+    (if stdenv.isArm || !hostPlatform.isEfi then "-Dgnu-efi=false" else "-Dgnu-efi=true")
+    "-Defi-libdir=${toString gnu-efi}/lib"
+    "-Defi-includedir=${toString gnu-efi}/include/efi"
+    "-Defi-ldsdir=${toString gnu-efi}/lib"
+
+    "-Dsysvinit-path="
+    "-Dsysvrcnd-path="
+  ];
+
+  preConfigure = ''
+    mesonFlagsArray+=(-Dntp-servers="0.nixos.pool.ntp.org 1.nixos.pool.ntp.org 2.nixos.pool.ntp.org 3.nixos.pool.ntp.org")
+    mesonFlagsArray+=(-Ddbuspolicydir=$out/etc/dbus-1/system.d)
+    mesonFlagsArray+=(-Ddbussessionservicedir=$out/share/dbus-1/services)
+    mesonFlagsArray+=(-Ddbussystemservicedir=$out/share/dbus-1/system-services)
+    mesonFlagsArray+=(-Dpamconfdir=$out/etc/pam.d)
+    mesonFlagsArray+=(-Drootprefix=$out)
+    mesonFlagsArray+=(-Dlibdir=$lib/lib)
+    mesonFlagsArray+=(-Drootlibdir=$lib/lib)
+    mesonFlagsArray+=(-Dmandir=$man/lib)
+    mesonFlagsArray+=(-Dincludedir=$dev/include)
+    mesonFlagsArray+=(-Dpkgconfiglibdir=$dev/lib/pkgconfig)
+    mesonFlagsArray+=(-Dpkgconfigdatadir=$dev/share/pkgconfig)
+
+    # FIXME: Why aren't includedir and libdir picked up from mesonFlags while other options are?
+    substituteInPlace meson.build \
+      --replace "includedir = join_paths(prefixdir, get_option('includedir'))" \
+                "includedir = '$dev/include'" \
+      --replace "libdir = join_paths(prefixdir, get_option('libdir'))" \
+                "libdir = '$lib/lib'"
+
+    export LC_ALL="en_US.UTF-8";
+    # FIXME: patch this in systemd properly (and send upstream).
+    # already fixed in f00929ad622c978f8ad83590a15a765b4beecac9: (u)mount
+    for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.in src/journal/cat.c src/core/shutdown.c src/nspawn/nspawn.c src/shared/generator.c; do
+      test -e $i
+      substituteInPlace $i \
+        --replace /usr/bin/getent ${getent}/bin/getent \
+        --replace /sbin/swapon ${utillinux.bin}/sbin/swapon \
+        --replace /sbin/swapoff ${utillinux.bin}/sbin/swapoff \
+        --replace /sbin/fsck ${utillinux.bin}/sbin/fsck \
+        --replace /bin/echo ${coreutils}/bin/echo \
+        --replace /bin/cat ${coreutils}/bin/cat \
+        --replace /sbin/sulogin ${utillinux.bin}/sbin/sulogin \
+        --replace /usr/lib/systemd/systemd-fsck $out/lib/systemd/systemd-fsck \
+        --replace /bin/plymouth /run/current-system/sw/bin/plymouth # To avoid dependency
+    done
+
+    for i in tools/xml_helper.py tools/make-directive-index.py tools/make-man-index.py test/sys-script.py; do
+      substituteInPlace $i \
+        --replace "#!/usr/bin/env python" "#!${pythonLxmlEnv}/bin/python"
+    done
+
+    for i in src/basic/generate-gperfs.py src/resolve/generate-dns_type-gperf.py src/test/generate-sym-test.py ; do
+      substituteInPlace $i \
+        --replace "#!/usr/bin/env python" "#!${python3Packages.python}/bin/python"
+    done
+
+    substituteInPlace src/journal/catalog.c \
+      --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/
+  '';
+
+  # These defines are overridden by CFLAGS and would trigger annoying
+  # warning messages
+  postConfigure = ''
+    substituteInPlace config.h \
+      --replace "POLKIT_AGENT_BINARY_PATH" "_POLKIT_AGENT_BINARY_PATH" \
+      --replace "SYSTEMD_BINARY_PATH" "_SYSTEMD_BINARY_PATH" \
+      --replace "SYSTEMD_CGROUP_AGENT_PATH" "_SYSTEMD_CGROUP_AGENT_PATH"
+  '';
+
+  hardeningDisable = [ "stackprotector" ];
+
+  NIX_CFLAGS_COMPILE =
+    [ # Can't say ${polkit.bin}/bin/pkttyagent here because that would
+      # lead to a cyclic dependency.
+      "-UPOLKIT_AGENT_BINARY_PATH" "-DPOLKIT_AGENT_BINARY_PATH=\"/run/current-system/sw/bin/pkttyagent\""
+
+      # Set the release_agent on /sys/fs/cgroup/systemd to the
+      # currently running systemd (/run/current-system/systemd) so
+      # that we don't use an obsolete/garbage-collected release agent.
+      "-USYSTEMD_CGROUP_AGENT_PATH" "-DSYSTEMD_CGROUP_AGENT_PATH=\"/run/current-system/systemd/lib/systemd/systemd-cgroups-agent\""
+
+      "-USYSTEMD_BINARY_PATH" "-DSYSTEMD_BINARY_PATH=\"/run/current-system/systemd/lib/systemd/systemd\""
+    ];
+
+  postInstall = ''
+    # sysinit.target: Don't depend on
+    # systemd-tmpfiles-setup.service. This interferes with NixOps's
+    # send-keys feature (since sshd.service depends indirectly on
+    # sysinit.target).
+    mv $out/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service $out/lib/systemd/system/multi-user.target.wants/
+
+    mkdir -p $out/example/systemd
+    mv $out/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $out/example
+    mv $out/lib/systemd/{system,user} $out/example/systemd
+
+    rm -rf $out/etc/systemd/system
+
+    # Install SysV compatibility commands.
+    mkdir -p $out/sbin
+    ln -s $out/lib/systemd/systemd $out/sbin/telinit
+    for i in init halt poweroff runlevel reboot shutdown; do
+      ln -s $out/bin/systemctl $out/sbin/$i
+    done
+
+    # Fix reference to /bin/false in the D-Bus services.
+    for i in $out/share/dbus-1/system-services/*.service; do
+      substituteInPlace $i --replace /bin/false ${coreutils}/bin/false
+    done
+
+    rm -rf $out/etc/rpm
+
+    # "kernel-install" shouldn't be used on NixOS.
+    find $out -name "*kernel-install*" -exec rm {} \;
+
+    # Keep only libudev and libsystemd in the lib output.
+    mkdir -p $out/lib
+    mv $lib/lib/security $lib/lib/libnss* $out/lib/
+  ''; # */
+
+  enableParallelBuilding = true;
+
+  # The rpath to the shared systemd library is not added by meson. The
+  # functionality was removed by a nixpkgs patch because it would overwrite
+  # the existing rpath.
+  postFixup = ''
+    sharedLib=libsystemd-shared-${version}.so
+    for prog in `find $out -type f -executable`; do
+      (patchelf --print-needed $prog | grep $sharedLib > /dev/null) && (
+        patchelf --set-rpath `patchelf --print-rpath $prog`:"$out/lib/systemd" $prog
+      ) || true
+    done
+  '';
+
+  # The interface version prevents NixOS from switching to an
+  # incompatible systemd at runtime.  (Switching across reboots is
+  # fine, of course.)  It should be increased whenever systemd changes
+  # in a backwards-incompatible way.  If the interface version of two
+  # systemd builds is the same, then we can switch between them at
+  # runtime; otherwise we can't and we need to reboot.
+  passthru.interfaceVersion = 2;
+
+  meta = {
+    homepage = http://www.freedesktop.org/wiki/Software/systemd;
+    description = "A system and service manager for Linux";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+  };
 }
diff --git a/pkgs/os-specific/linux/tp_smapi/default.nix b/pkgs/os-specific/linux/tp_smapi/default.nix
index 9c8bf5597514..25eeb889cc28 100644
--- a/pkgs/os-specific/linux/tp_smapi/default.nix
+++ b/pkgs/os-specific/linux/tp_smapi/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "tp_smapi-${version}-${kernel.version}";
-  version = "unstable-2017-12-04";
+  version = "0.43";
 
   src = fetchFromGitHub {
     owner = "evgeni";
     repo = "tp_smapi";
-    rev = "76c5120f7be4880cf2c6801f872327e4e70c449f";
-    sha256 = "0g8l7rmylspl17qnqpa2h4yj7h3zvy6xlmj5nlnixds9avnbz2vy";
+    rev = "tp-smapi/${version}";
+    sha256 = "1rjb0njckczc2mj05cagvj0lkyvmyk6bw7wkiinv81lw8m90g77g";
     name = "tp-smapi-${version}";
   };
 
diff --git a/pkgs/os-specific/linux/trinity/default.nix b/pkgs/os-specific/linux/trinity/default.nix
index 48f6ce4be765..b69bd576ed23 100644
--- a/pkgs/os-specific/linux/trinity/default.nix
+++ b/pkgs/os-specific/linux/trinity/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "trinity-${version}";
-  version = "1.8";
+  version = "1.8-git-2017-02-13";
 
   src = fetchFromGitHub {
     owner = "kernelslacker";
     repo = "trinity";
-    rev = "v${version}";
-    sha256 = "1ss6ir3ki2hnj4c8068v5bz8bpa43xqg9zlmzhgagi94g9l05qlf";
+    rev = "2989c11ce77bc7bec23da62987e2c3a0dd8a83c9";
+    sha256 = "19asyrypjhx2cgjdmwfvmgc0hk3xg00zvgkl89vwxngdb40bkwfq";
   };
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/udisks-glue/default.nix b/pkgs/os-specific/linux/udisks-glue/default.nix
index 8b3ebd46c325..56e237a9fad0 100644
--- a/pkgs/os-specific/linux/udisks-glue/default.nix
+++ b/pkgs/os-specific/linux/udisks-glue/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, automake, autoconf, udisks, dbus_glib, glib, confuse }:
+{ stdenv, fetchurl, pkgconfig, automake, autoconf, udisks1, dbus-glib, glib, confuse }:
 
 stdenv.mkDerivation {
   name = "udisks-glue-1.3.5";
@@ -8,8 +8,8 @@ stdenv.mkDerivation {
     sha256 = "317d25bf249278dc8f6a5dcf18f760512427c772b9afe3cfe34e6e1baa258176";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ automake autoconf udisks dbus_glib glib confuse ];
+  nativeBuildInputs = [ pkgconfig automake autoconf ];
+  buildInputs = [ udisks1 dbus-glib glib confuse ];
 
   preConfigure = "sh autogen.sh";
 
diff --git a/pkgs/os-specific/linux/udisks/1-default.nix b/pkgs/os-specific/linux/udisks/1-default.nix
index 98cb616e2d5c..aeb9deac89d2 100644
--- a/pkgs/os-specific/linux/udisks/1-default.nix
+++ b/pkgs/os-specific/linux/udisks/1-default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, sg3_utils, udev, glib, dbus, dbus_glib
+{ stdenv, fetchurl, pkgconfig, sg3_utils, udev, glib, dbus, dbus-glib
 , polkit, parted, lvm2, libatasmart, intltool, libuuid, mdadm
 , libxslt, docbook_xsl, utillinux, libgudev }:
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     '';
 
   buildInputs =
-    [ sg3_utils udev glib dbus dbus_glib polkit parted libgudev
+    [ sg3_utils udev glib dbus dbus-glib polkit parted libgudev
       lvm2 libatasmart intltool libuuid libxslt docbook_xsl
     ];
 
diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix
index a265395f96e5..725b1cd25643 100644
--- a/pkgs/os-specific/linux/udisks/2-default.nix
+++ b/pkgs/os-specific/linux/udisks/2-default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, pkgconfig, intltool, gnused
 , expat, acl, systemd, glib, libatasmart, polkit
 , libxslt, docbook_xsl, utillinux, mdadm, libgudev
+, gobjectIntrospection
 }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0spl155k0g2l2hvqf8xyjv08i68gfyhzpjva6cwlzxx0bz4gbify";
   };
 
-  outputs = [ "out" "man" ];
+  outputs = [ "out" "man" "dev" ];
 
   patches = [ ./force-path.patch ];
 
@@ -28,7 +29,7 @@ stdenv.mkDerivation rec {
         --replace " sed " " ${gnused}/bin/sed "
     '';
 
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection ];
 
   buildInputs = [ libxslt docbook_xsl libgudev expat acl systemd glib libatasmart polkit ];
 
@@ -38,6 +39,11 @@ stdenv.mkDerivation rec {
     "--with-udevdir=$(out)/lib/udev"
   ];
 
+  makeFlags = [
+    "INTROSPECTION_GIRDIR=$(dev)/share/gir-1.0"
+    "INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"
+  ];
+
   meta = {
     homepage = http://www.freedesktop.org/wiki/Software/udisks;
     description = "A daemon and command-line utility for querying and manipulating storage devices";
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index c46ed2d0c015..713ef974f9fb 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, dbus_glib
+{ stdenv, fetchurl, pkgconfig, glib, dbus-glib
 , intltool, libxslt, docbook_xsl, udev, libgudev, libusb1
 , useSystemd ? true, systemd, gobjectIntrospection
 }:
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ dbus_glib intltool libxslt docbook_xsl udev libgudev libusb1 gobjectIntrospection ]
+    [ dbus-glib intltool libxslt docbook_xsl udev libgudev libusb1 gobjectIntrospection ]
     ++ stdenv.lib.optional useSystemd systemd;
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/usbguard/daemon_read_only_config.patch b/pkgs/os-specific/linux/usbguard/daemon_read_only_config.patch
deleted file mode 100644
index eb4d5df698ac..000000000000
--- a/pkgs/os-specific/linux/usbguard/daemon_read_only_config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/Library/ConfigFilePrivate.cpp b/src/Library/ConfigFilePrivate.cpp
-index 8aefa65..40914f7 100644
---- a/src/Library/ConfigFilePrivate.cpp
-+++ b/src/Library/ConfigFilePrivate.cpp
-@@ -51,7 +51,7 @@ namespace usbguard
- 
-   void ConfigFilePrivate::open(const std::string& path)
-   {
--    _stream.open(path, std::ios::in|std::ios::out);
-+    _stream.open(path, std::ios::in);
-     if (!_stream.is_open()) {
-       throw std::runtime_error("Can't open " + path);
-     }
diff --git a/pkgs/os-specific/linux/usbguard/default.nix b/pkgs/os-specific/linux/usbguard/default.nix
index b88d96e02a44..2ca825a27d71 100644
--- a/pkgs/os-specific/linux/usbguard/default.nix
+++ b/pkgs/os-specific/linux/usbguard/default.nix
@@ -1,7 +1,8 @@
 {
   stdenv, fetchurl, lib,
-  libxslt, pandoc, pkgconfig,
-  dbus_glib, libcap_ng, libqb, libseccomp, polkit, protobuf, qtbase, qttools, qtsvg,
+  libxslt, pandoc, asciidoctor, pkgconfig,
+  dbus-glib, libcap_ng, libqb, libseccomp, polkit, protobuf, qtbase, qttools, qtsvg,
+  audit,
   libgcrypt ? null,
   libsodium ? null
 }:
@@ -11,34 +12,31 @@ with stdenv.lib;
 assert libgcrypt != null -> libsodium == null;
 
 stdenv.mkDerivation rec {
-  version = "0.7.0";
+  version = "0.7.2";
   name = "usbguard-${version}";
 
-  repo = "https://github.com/dkopecek/usbguard";
+  repo = "https://github.com/USBGuard/usbguard";
 
   src = fetchurl {
     url = "${repo}/releases/download/${name}/${name}.tar.gz";
-    sha256 = "1e1485a2b47ba3bde9de2851b371d2552a807047a21e0b81553cf80d7f722709";
+    sha256 = "5bd3e5219c590c3ae27b21315bd10b60e823cef64e5deff3305ff5b4087fc2d6";
   };
 
-  patches = [
-    ./daemon_read_only_config.patch
-    ./documentation.patch
-  ];
-
   nativeBuildInputs = [
     libxslt
+    asciidoctor
     pandoc # for rendering documentation
     pkgconfig
   ];
 
   buildInputs = [
-    dbus_glib
+    dbus-glib
     libcap_ng
     libqb
     libseccomp
     polkit
     protobuf
+    audit
 
     qtbase
     qtsvg
@@ -61,7 +59,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "The USBGuard software framework helps to protect your computer against BadUSB.";
-    homepage = "https://dkopecek.github.io/usbguard/";
+    homepage = "https://usbguard.github.io/";
     license = licenses.gpl2;
     maintainers = [ maintainers.tnias ];
   };
diff --git a/pkgs/os-specific/linux/usbguard/documentation.patch b/pkgs/os-specific/linux/usbguard/documentation.patch
deleted file mode 100644
index 89de627131f5..000000000000
--- a/pkgs/os-specific/linux/usbguard/documentation.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/doc/usbguard-daemon.conf.5.md b/doc/usbguard-daemon.conf.5.md
-index ea86ad1..63aec70 100644
---- a/doc/usbguard-daemon.conf.5.md
-+++ b/doc/usbguard-daemon.conf.5.md
-@@ -30,21 +30,21 @@ The **usbguard-daemon.conf** file is loaded by the USBGuard daemon after it pars
- **RestoreControllerDeviceState**=<*boolean*>
- :   The USBGuard daemon modifies some attributes of controller devices like the default authorization state of new child device instances. Using this setting, you can control whether the daemon will try to restore the attribute values to the state before modification on shutdown.
- 
-+**DeviceManagerBackend**=<*backend*>
-+:   Which device manager backend implementation to use. Backend should be one of `uevent` (default) or `dummy`.
-+
- **IPCAllowedUsers**=<*username*> [<*username*> ...]
- :   A space delimited list of usernames that the daemon will accept IPC connections from.
- 
- **IPCAllowedGroups**=<*groupname*> [<*groupname*> ...]
- :   A space delimited list of groupnames that the daemon will accept IPC connections from.
- 
--**IPCAccessControlFiles**=<*path*>
--:   Path to a directory holding the IPC access control files.
--
--**DeviceManagerBackend**=<*backend*>
--:   Which device manager backend implementation to use. Backend should be one of `uevent` (default) or `dummy`.
--
- **IPCAccessControlFiles**=<*path*>
- :   The files at this location will be interpreted by the daemon as IPC access control definition files. See the **IPC ACCESS CONTROL** section for more details.
- 
-+**DeviceRulesWithPort**=<*boolean*>
-+:   Generate device specific rules including the "via-port" attribute.
-+
- **AuditFilePath**=<*filepath*>
- :   USBGuard audit events log file path.
-