mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-24 05:00:19 +00:00
xorg.xdm: fix build w/glibc-2.36
Failing Hydra build: https://hydra.nixos.org/build/193323749
This commit is contained in:
parent
5f0b5cc16e
commit
7046f09fe4
@ -164,6 +164,7 @@ self: super:
|
|||||||
});
|
});
|
||||||
|
|
||||||
xdm = super.xdm.overrideAttrs (attrs: {
|
xdm = super.xdm.overrideAttrs (attrs: {
|
||||||
|
patches = (attrs.patches or []) ++ [ ./xdm-fix-header-inclusion.patch ];
|
||||||
buildInputs = attrs.buildInputs ++ [ libxcrypt ];
|
buildInputs = attrs.buildInputs ++ [ libxcrypt ];
|
||||||
configureFlags = attrs.configureFlags or [] ++ [
|
configureFlags = attrs.configureFlags or [] ++ [
|
||||||
"ac_cv_path_RAWCPP=${stdenv.cc.targetPrefix}cpp"
|
"ac_cv_path_RAWCPP=${stdenv.cc.targetPrefix}cpp"
|
||||||
|
29
pkgs/servers/x11/xorg/xdm-fix-header-inclusion.patch
Normal file
29
pkgs/servers/x11/xorg/xdm-fix-header-inclusion.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
On glibc-2.36 this fails with
|
||||||
|
|
||||||
|
genauth.c:45:12: fatal error: bsd/stdlib.h: No such file or directory
|
||||||
|
45 | # include <bsd/stdlib.h>
|
||||||
|
| ^~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
This is because the file will be included if HAVE_ARC4RANDOM is true and `__linux__` is set.
|
||||||
|
However, this is wrong: arc4random is now defined in glibc-2.36 and thus stdlib.h must be included
|
||||||
|
even though HAVE_ARC4RANDOM is true.
|
||||||
|
|
||||||
|
diff --git a/xdm/genauth.c b/xdm/genauth.c
|
||||||
|
index cd2ad61..74d0ae1 100644
|
||||||
|
--- a/xdm/genauth.c
|
||||||
|
+++ b/xdm/genauth.c
|
||||||
|
@@ -40,13 +40,7 @@ from The Open Group.
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
-#ifdef HAVE_ARC4RANDOM
|
||||||
|
-# ifdef __linux__
|
||||||
|
-# include <bsd/stdlib.h>
|
||||||
|
-# else
|
||||||
|
-# include <stdlib.h>
|
||||||
|
-# endif
|
||||||
|
-#endif
|
||||||
|
+#include <stdlib.h>
|
||||||
|
|
||||||
|
#include <time.h>
|
||||||
|
#define Time_t time_t
|
Loading…
Reference in New Issue
Block a user