diff --git a/pkgs/os-specific/linux/kmscon/default.nix b/pkgs/os-specific/linux/kmscon/default.nix index 850907d4f8a..bc7b254e19e 100644 --- a/pkgs/os-specific/linux/kmscon/default.nix +++ b/pkgs/os-specific/linux/kmscon/default.nix @@ -33,6 +33,8 @@ stdenv.mkDerivation rec { libxslt ]; + patches = [ ./kmscon-8-glibc-2.26.patch ]; + # FIXME: Remove as soon as kmscon > 8 comes along. postPatch = '' sed -i -e 's/libsystemd-daemon libsystemd-login/libsystemd/g' configure @@ -45,6 +47,8 @@ stdenv.mkDerivation rec { "--with-renderers=bbulk,gltex,pixman" ]; + enableParallelBuilding = true; + meta = { description = "KMS/DRM based System Console"; homepage = http://www.freedesktop.org/wiki/Software/kmscon/; diff --git a/pkgs/os-specific/linux/kmscon/kmscon-8-glibc-2.26.patch b/pkgs/os-specific/linux/kmscon/kmscon-8-glibc-2.26.patch new file mode 100644 index 00000000000..b70a750180e --- /dev/null +++ b/pkgs/os-specific/linux/kmscon/kmscon-8-glibc-2.26.patch @@ -0,0 +1,25 @@ +diff --git a/src/pty.c b/src/pty.c +index 3494104..1443f4a 100644 +--- a/src/pty.c ++++ b/src/pty.c +@@ -299,7 +299,7 @@ static void setup_child(int master, struct winsize *ws) + if (ret) + log_warn("cannot reset blocked signals: %m"); + +- for (i = 1; i < SIGUNUSED; ++i) ++ for (i = 1; i < SIGSYS; ++i) + signal(i, SIG_DFL); + + ret = grantpt(master); +diff --git a/src/uterm_vt.c b/src/uterm_vt.c +index af377f5..fbe9e76 100644 +--- a/src/uterm_vt.c ++++ b/src/uterm_vt.c +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + #include + #include + #include