diff options
Diffstat (limited to 'pkgs/os-specific/linux/systemd/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/systemd/default.nix | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index c1f139d42a64..307ba9f43fa1 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, fetchpatch, pkgconfig, intltool, gperf, libcap, kmod , zlib, xz, pam, acl, cryptsetup, libuuid, m4, utillinux, libffi , glib, kbd, libxslt, coreutils, libgcrypt, libgpgerror, libidn2, libapparmor -, audit, lz4, bzip2, libmicrohttpd +, audit, lz4, bzip2, libmicrohttpd, pcre2 , linuxHeaders ? stdenv.cc.libc.linuxHeaders , iptables, gnu-efi , autoreconfHook, gettext, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45 @@ -43,7 +43,7 @@ in stdenv.mkDerivation rec { buildInputs = [ linuxHeaders libcap kmod xz pam acl /* cryptsetup */ libuuid glib libgcrypt libgpgerror libidn2 - libmicrohttpd ] ++ + libmicrohttpd pcre2 ] ++ stdenv.lib.optional withKexectools kexectools ++ stdenv.lib.optional withLibseccomp libseccomp ++ [ libffi audit lz4 bzip2 libapparmor @@ -101,20 +101,10 @@ in stdenv.mkDerivation rec { 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 @@ -155,6 +145,14 @@ in stdenv.mkDerivation rec { --replace "SYSTEMD_CGROUP_AGENT_PATH" "_SYSTEMD_CGROUP_AGENT_PATH" ''; + patches = [ + # https://github.com/systemd/systemd/pull/8580 + (fetchpatch { + url = https://github.com/systemd/systemd/pull/8580.patch; + sha256 = "1yp07hlpgqq0h2y0qc3kasswzkycz6p8d56d695ck1qa2f5bdfgn"; + }) + ]; + hardeningDisable = [ "stackprotector" ]; NIX_CFLAGS_COMPILE = @@ -170,6 +168,8 @@ in stdenv.mkDerivation rec { "-USYSTEMD_BINARY_PATH" "-DSYSTEMD_BINARY_PATH=\"/run/current-system/systemd/lib/systemd/systemd\"" ]; + doCheck = false; # fails a bunch of tests + postInstall = '' # sysinit.target: Don't depend on # systemd-tmpfiles-setup.service. This interferes with NixOps's |