Merge #15639: xorg-server 1.17.4 -> 1.18.3

... and fglrxCompat to maintain compatibility.

Changed files
+39 -8
nixos
doc
manual
release-notes
modules
hardware
video
services
pkgs
desktops
kde-5
plasma-5.6
plasma-desktop
servers
top-level
+4
nixos/doc/manual/release-notes/rl-1609.xml
···
See <xref linkend="sec-booting-from-pxe" /> for documentation.</para>
</listitem>
+
<listitem>
+
<para>Xorg-server-1.18.*. If you choose <literal>"ati_unfree"</literal> driver,
+
1.17.* is still used due to ABI incompatibility.</para>
+
</listitem>
</itemizedlist>
<para>The following new services were added since the last release:</para>
+2
nixos/modules/hardware/video/ati.nix
···
config = mkIf enabled {
+
nixpkgs.config.xorg.fglrxCompat = true;
+
services.xserver.drivers = singleton
{ name = "fglrx"; modules = [ ati_x11 ]; libPath = [ "${ati_x11}/lib" ]; };
+10 -2
nixos/modules/services/x11/xserver.nix
···
{ source = "${cfg.xkbDir}";
target = "X11/xkb";
}
-
]);
+
])
+
# Needed since 1.18; see https://bugs.freedesktop.org/show_bug.cgi?id=89023#c5
+
++ (let cfgPath = "/X11/xorg.conf.d/10-evdev.conf"; in
+
[{
+
source = xorg.xf86inputevdev.out + "/share" + cfgPath;
+
target = cfgPath;
+
}]
+
);
environment.systemPackages =
[ xorg.xorgserver.out
···
xorg.xauth
pkgs.xterm
pkgs.xdg_utils
+
xorg.xf86inputevdev.out # get evdev.4 man page
]
++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh;
···
services.xserver.modules =
concatLists (catAttrs "modules" cfg.drivers) ++
[ xorg.xorgserver.out
-
xorg.xf86inputevdev
+
xorg.xf86inputevdev.out
];
services.xserver.xkbDir = mkDefault "${pkgs.xkeyboard_config}/etc/X11/xkb";
+1 -1
pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/default.nix
···
];
NIX_CFLAGS_COMPILE = [ "-I${xorgserver.dev}/include/xorg" ];
cmakeFlags = [
-
"-DEvdev_INCLUDE_DIRS=${xf86inputevdev}/include/xorg"
+
"-DEvdev_INCLUDE_DIRS=${xf86inputevdev.dev}/include/xorg"
"-DSynaptics_INCLUDE_DIRS=${xf86inputsynaptics}/include/xorg"
];
postInstall = ''
+3 -3
pkgs/servers/x11/xorg/default.nix
···
}) // {inherit ;};
xorgserver = (mkDerivation "xorgserver" {
-
name = "xorg-server-1.17.4";
+
name = "xorg-server-1.18.3";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/xserver/xorg-server-1.17.4.tar.bz2;
-
sha256 = "0mv4ilpqi5hpg182mzqn766frhi6rw48aba3xfbaj4m82v0lajqc";
+
url = mirror://xorg/individual/xserver/xorg-server-1.18.3.tar.bz2;
+
sha256 = "1ka206v4nbw6qz072gh0543aq44azq2zv9f0yysy5nvwa4i9qwza";
};
buildInputs = [pkgconfig dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
meta.platforms = stdenv.lib.platforms.unix;
+17 -1
pkgs/servers/x11/xorg/overrides.nix
···
};
xf86inputevdev = attrs: attrs // {
+
outputs = [ "dev" "out" ]; # to get rid of xorgserver.dev; man is tiny
preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c";
installFlags = "sdkdir=\${out}/include/xorg";
buildInputs = attrs.buildInputs ++ [ args.mtdev args.libevdev ];
···
'';
};
-
xorgserver = with xorg; attrs: attrs //
+
xorgserver = with xorg; attrs_passed:
+
# exchange attrs if fglrxCompat is set
+
let
+
attrs = if !args.fglrxCompat then attrs_passed else
+
with args; {
+
name = "xorg-server-1.17.4";
+
builder = ./builder.sh;
+
src = fetchurl {
+
url = mirror://xorg/individual/xserver/xorg-server-1.17.4.tar.bz2;
+
sha256 = "0mv4ilpqi5hpg182mzqn766frhi6rw48aba3xfbaj4m82v0lajqc";
+
};
+
buildInputs = [pkgconfig dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
+
meta.platforms = stdenv.lib.platforms.unix;
+
};
+
+
in attrs //
(let
version = (builtins.parseDrvName attrs.name).version;
commonBuildInputs = attrs.buildInputs ++ [ xtrans ];
+1 -1
pkgs/servers/x11/xorg/tarballs-7.7.list
···
mirror://xorg/individual/app/xmag-1.0.6.tar.bz2
mirror://xorg/individual/app/xmodmap-1.0.9.tar.bz2
mirror://xorg/individual/doc/xorg-docs-1.7.1.tar.bz2
-
mirror://xorg/individual/xserver/xorg-server-1.17.4.tar.bz2
+
mirror://xorg/individual/xserver/xorg-server-1.18.3.tar.bz2
mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2
mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2
mirror://xorg/individual/app/xprop-1.2.2.tar.bz2
+1
pkgs/top-level/all-packages.nix
···
mesa = mesa_noglu;
udev = if stdenv.isLinux then udev else null;
libdrm = if stdenv.isLinux then libdrm else null;
+
fglrxCompat = config.xorg.fglrxCompat or false; # `config` because we have no `xorg.override`
} // { inherit xlibsWrapper; } );
xwayland = callPackage ../servers/x11/xorg/xwayland.nix { };