summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorNikita Mikhailov <nslqqq@gmail.com>2015-04-11 11:25:02 +0200
committerNikita Mikhailov <nslqqq@gmail.com>2015-04-11 11:34:35 +0200
commita29182a6f585ba3b97e7ba9a6f6e93c574756cd2 (patch)
treed322afaf67bbef0d4fe82c1db13c47cd7d8566b3 /pkgs/servers
parent31ecb8203187367328b335416a6edfda1f673b18 (diff)
downloadnixpkgs-a29182a6f585ba3b97e7ba9a6f6e93c574756cd2.tar
nixpkgs-a29182a6f585ba3b97e7ba9a6f6e93c574756cd2.tar.gz
nixpkgs-a29182a6f585ba3b97e7ba9a6f6e93c574756cd2.tar.bz2
nixpkgs-a29182a6f585ba3b97e7ba9a6f6e93c574756cd2.tar.lz
nixpkgs-a29182a6f585ba3b97e7ba9a6f6e93c574756cd2.tar.xz
nixpkgs-a29182a6f585ba3b97e7ba9a6f6e93c574756cd2.tar.zst
nixpkgs-a29182a6f585ba3b97e7ba9a6f6e93c574756cd2.zip
xorg: fix Xephyr
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix8
-rw-r--r--pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch22
2 files changed, 17 insertions, 13 deletions
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 61c1391ae09..15197044f00 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -1,7 +1,7 @@
 { args, xorg }:
 
 let
-  inherit (args) stdenv;
+  inherit (args) stdenv makeWrapper;
   inherit (stdenv) lib isDarwin;
   inherit (lib) overrideDerivation;
 
@@ -300,13 +300,14 @@ in
     in
       if (!isDarwin)
       then {
-        buildInputs = commonBuildInputs;
+        buildInputs = [ makeWrapper ] ++ commonBuildInputs;
         propagatedBuildInputs = commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
           args.udev
         ];
         patches = commonPatches;
         configureFlags = [
           "--enable-kdrive"             # not built by default
+          "--enable-xephyr"
           "--enable-xcsecurity"         # enable SECURITY extension
           "--with-default-font-path="   # there were only paths containing "${prefix}",
                                         # and there are no fonts in this package anyway
@@ -314,6 +315,9 @@ in
         postInstall = ''
           rm -fr $out/share/X11/xkb/compiled
           ln -s /var/tmp $out/share/X11/xkb/compiled
+          wrapProgram $out/bin/Xephyr \
+            --set XKB_BINDIR "${xorg.xkbcomp}/bin" \
+            --add-flags "-xkbdir ${xorg.xkeyboardconfig}/share/X11/xkb"
         '';
         passthru.version = version; # needed by virtualbox guest additions
       } else {
diff --git a/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch b/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch
index f5196c60c7c..a0951269b42 100644
--- a/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch
+++ b/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch
@@ -1,15 +1,15 @@
-diff -rc xorg-server-X11R7.2-1.2.0-orig/xkb/xkbInit.c xorg-server-X11R7.2-1.2.0/xkb/xkbInit.c
-*** xorg-server-X11R7.2-1.2.0-orig/xkb/xkbInit.c	Tue Jan 23 04:13:16 2007
---- xorg-server-X11R7.2-1.2.0/xkb/xkbInit.c	Fri Mar 30 00:52:53 2007
+*** xorg-server-X11R7.2-1.2.0-orig/xkb/xkbInit.c	2015-02-11 00:32:06.000000000 +0100
+--- xorg-server-X11R7.2-1.2.0/xkb/xkbInit.c	2015-04-11 10:10:41.948438435 +0200
 ***************
-*** 923,928 ****
---- 923,931 ----
-  	XkbDfltRepeatInterval = (long)atoi(argv[i]);
-  	return 2;
-      }
+*** 733,738 ****
+--- 733,742 ----
+  int
+  XkbProcessArguments(int argc, char *argv[], int i)
+  {
 +     char *xkbBinDir = getenv("XKB_BINDIR");
 +     if (xkbBinDir)
 +         XkbBinDirectory = Xstrdup(xkbBinDir);
-      return 0;
-  }
-  
++ 
+      if (strncmp(argv[i], "-xkbdir", 7) == 0) {
+          if (++i < argc) {
+  #if !defined(WIN32) && !defined(__CYGWIN__)