summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorSebastián Bernardo Galkin <paraseba@gmail.com>2014-12-17 22:34:20 -0800
committerVladimír Čunát <vcunat@gmail.com>2014-12-18 18:17:42 +0100
commit06e6d7def2b50e55d14a35277612749f88ab3559 (patch)
treeff5eae5f327a9b3a0c549f6dcc2b9434351305e2 /pkgs/servers
parent6fa7ea053721f2d648353d35741bc1eaa465ee57 (diff)
downloadnixlib-06e6d7def2b50e55d14a35277612749f88ab3559.tar
nixlib-06e6d7def2b50e55d14a35277612749f88ab3559.tar.gz
nixlib-06e6d7def2b50e55d14a35277612749f88ab3559.tar.bz2
nixlib-06e6d7def2b50e55d14a35277612749f88ab3559.tar.lz
nixlib-06e6d7def2b50e55d14a35277612749f88ab3559.tar.xz
nixlib-06e6d7def2b50e55d14a35277612749f88ab3559.tar.zst
nixlib-06e6d7def2b50e55d14a35277612749f88ab3559.zip
xorg-server: enable DRI3 (close #5381)
TEST needed. I tested on my NixOS Thinkpad with Optimus nvidia and intel
cards.  Testing in other architectures is needed.

This patch also improves the regular expressions that scan the build
configuration files to enable the building of a binary utility in
xf86-video-intel: intel-virtual-output. This utility is useful for some
Optimus laptops

DRI3 was added to xorg-server propagatedBuildInputs so now it's inherited
by several projects that can use it.
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/x11/xorg/default.nix8
-rwxr-xr-xpkgs/servers/x11/xorg/generate-expr-from-tarballs.pl3
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix2
3 files changed, 8 insertions, 5 deletions
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index b0d84da35474..4fe6354fd33d 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1561,8 +1561,8 @@ let
       url = mirror://xorg/individual/driver/xf86-video-intel-2.99.916.tar.bz2;
       sha256 = "00gd3v3xgrmj8aliwjxkml13gfqvcbjazb6l5m1wkry39agq36j0";
     };
-    buildInputs = [pkgconfig dri2proto dri3proto fontsproto glamoregl libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXvMC ];
-  }) // {inherit dri2proto dri3proto fontsproto glamoregl libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXvMC ;};
+    buildInputs = [pkgconfig dri2proto dri3proto fontsproto glamoregl libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ];
+  }) // {inherit dri2proto dri3proto fontsproto glamoregl libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ;};
 
   xf86videomach64 = (mkDerivation "xf86videomach64" {
     name = "xf86-video-mach64-6.9.4";
@@ -1991,8 +1991,8 @@ let
       url = mirror://xorg/individual/xserver/xorg-server-1.16.2.901.tar.bz2;
       sha256 = "19jb8v26wc332ramwjdg5vjh3s36kr7n46s6fdfaxrj1wif5m27g";
     };
-    buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ];
-  }) // {inherit renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ;};
+    buildInputs = [pkgconfig dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ];
+  }) // {inherit dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ;};
 
   xorgsgmldoctools = (mkDerivation "xorgsgmldoctools" {
     name = "xorg-sgml-doctools-1.11";
diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index 9c6618d3b105..7b2c20e05eb6 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -36,6 +36,8 @@ $pcMap{"libudev"} = "udev";
 $pcMap{"gl"} = "mesa";
 $pcMap{"\$PIXMAN"} = "pixman";
 $pcMap{"\$RENDERPROTO"} = "renderproto";
+$pcMap{"\$DRI3PROTO"} = "dri3proto";
+$pcMap{"\$DRI2PROTO"} = "dri2proto";
 
 
 my $downloadCache = "./download-cache";
@@ -207,6 +209,7 @@ while (<>) {
     process \@requires, $1 while $file =~ /XDMCP_MODULES=\"(.*)\"/g;
     process \@requires, $1 while $file =~ /XORG_MODULES=\"(.*)\"/g;
     process \@requires, $1 while $file =~ /NEEDED=\"(.*)\"/g;
+    process \@requires, $1 while $file =~ /ivo_requires=\"(.*)\"/g;
     process \@requires, $1 while $file =~ /XORG_DRIVER_CHECK_EXT\([^,]*,([^\)]*)\)/g;
 
     push @requires, "libxslt" if $pkg =~ /libxcb/;
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index a95d88186515..45122780cddf 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -266,7 +266,7 @@ in
         recordproto libXext pixman libXfont
         damageproto xcmiscproto  bigreqsproto
         libpciaccess inputproto xextproto randrproto renderproto presentproto
-        dri2proto kbproto xineramaproto resourceproto scrnsaverproto videoproto
+        dri2proto dri3proto kbproto xineramaproto resourceproto scrnsaverproto videoproto
       ];
       commonPatches = [ ./xorgserver-xkbcomp-path.patch ];
       # XQuartz requires two compilations: the first to get X / XQuartz,