From 026cf7ac48c0a4e08a53b9284130a6ee33b76e3e Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 25 May 2022 21:59:44 +0100 Subject: [PATCH] lirc: adapt to linux-headers-5.18 Without the change update to linux-header-5.18 causes build failure as: lircd.cpp: In function 'int setup_hardware()': lircd.cpp:492:49: error: 'LIRC_CAN_SET_REC_FILTER' was not declared in this scope; did you mean 'LIRC_CAN_SET_REC_CARRIER'? 492 | || (curr_driver->features & LIRC_CAN_SET_REC_FILTER)) { | ^~~~~~~~~~~~~~~~~~~~~~~ | LIRC_CAN_SET_REC_CARRIER --- pkgs/development/libraries/lirc/default.nix | 16 ++++++--- .../libraries/lirc/linux-headers-5.18.patch | 35 +++++++++++++++++++ 2 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/libraries/lirc/linux-headers-5.18.patch diff --git a/pkgs/development/libraries/lirc/default.nix b/pkgs/development/libraries/lirc/default.nix index d5f84455f836..68b3b86a9eec 100644 --- a/pkgs/development/libraries/lirc/default.nix +++ b/pkgs/development/libraries/lirc/default.nix @@ -10,11 +10,17 @@ stdenv.mkDerivation rec { sha256 = "1whlyifvvc7w04ahq07nnk1h18wc8j7c6wnvlb6mszravxh3qxcb"; }; - # Fix installation of Python bindings - patches = [ (fetchpatch { - url = "https://sourceforge.net/p/lirc/tickets/339/attachment/0001-Fix-Python-bindings.patch"; - sha256 = "088a39x8c1qd81qwvbiqd6crb2lk777wmrs8rdh1ga06lglyvbly"; - }) ]; + patches = [ + # Fix installation of Python bindings + (fetchpatch { + url = "https://sourceforge.net/p/lirc/tickets/339/attachment/0001-Fix-Python-bindings.patch"; + sha256 = "088a39x8c1qd81qwvbiqd6crb2lk777wmrs8rdh1ga06lglyvbly"; + }) + + # Add a workaround for linux-headers-5.18 until upstream adapts: + # https://sourceforge.net/p/lirc/git/merge-requests/45/ + ./linux-headers-5.18.patch + ]; postPatch = '' patchShebangs . diff --git a/pkgs/development/libraries/lirc/linux-headers-5.18.patch b/pkgs/development/libraries/lirc/linux-headers-5.18.patch new file mode 100644 index 000000000000..733c423b7a83 --- /dev/null +++ b/pkgs/development/libraries/lirc/linux-headers-5.18.patch @@ -0,0 +1,35 @@ +--- a/daemons/lircd.cpp ++++ b/daemons/lircd.cpp +@@ -110,6 +110,17 @@ int clock_gettime(int clk_id, struct timespec *t){ + #endif + #define WHITE_SPACE " \t" + ++/* Defines removed in linux-headers-5.18: ++ https://sourceforge.net/p/lirc/git/merge-requests/45/ ++ */ ++#ifndef LIRC_CAN_SET_REC_FILTER ++# define LIRC_CAN_SET_REC_FILTER 0x08000000 ++#endif ++ ++#ifndef LIRC_CAN_NOTIFY_DECODE ++# define LIRC_CAN_NOTIFY_DECODE 0x01000000 ++#endif ++ + static const logchannel_t logchannel = LOG_APP; + + /** How long we sleep while waiting for busy write sockets. */ +--- a/tools/lirc-lsplugins.cpp ++++ b/tools/lirc-lsplugins.cpp +@@ -21,6 +21,12 @@ + #include "config.h" + #include "lirc_private.h" + ++/* Defines removed in linux-headers-5.18: ++ https://sourceforge.net/p/lirc/git/merge-requests/45/ ++ */ ++#ifndef LIRC_CAN_NOTIFY_DECODE ++# define LIRC_CAN_NOTIFY_DECODE 0x01000000 ++#endif + + #define USAGE \ + "\nSynopsis:\n" \