summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix5
1 files changed, 3 insertions, 2 deletions
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index ca1a773c4a28..5de1dadc9692 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -429,8 +429,9 @@ in
xorgserver = with xorg; attrs_passed:
# exchange attrs if abiCompat is set
let
+ version = (builtins.parseDrvName attrs_passed.name).version;
attrs = with args;
- if (args.abiCompat == null) then attrs_passed
+ if (args.abiCompat == null || lib.hasPrefix args.abiCompat version) then attrs_passed
else if (args.abiCompat == "1.17") then {
name = "xorg-server-1.17.4";
builder = ./builder.sh;
@@ -452,7 +453,7 @@ in
buildInputs = [ dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
postPatch = "sed '1i#include <malloc.h>' -i include/os.h";
meta.platforms = stdenv.lib.platforms.unix;
- } else throw "unsupported xorg abiCompat: ${args.abiCompat}";
+ } else throw "unsupported xorg abiCompat ${args.abiCompat} for ${attrs_passed.name}";
in attrs //
(let