diff options
-rw-r--r-- | pkgs/servers/x11/xorg/overrides.nix | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index ca1a773c4a2..5de1dadc969 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 |