From 4ac3bc3330ec5077830fbb01a69948041f1595bf Mon Sep 17 00:00:00 2001
From: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Date: Fri, 24 Apr 2015 21:49:12 +0300
Subject: [PATCH] ckbcomp: init at 1.129

---
 pkgs/tools/X11/ckbcomp/default.nix | 36 ++++++++++++++++++++++++++++++
 pkgs/top-level/all-packages.nix    |  2 ++
 2 files changed, 38 insertions(+)
 create mode 100644 pkgs/tools/X11/ckbcomp/default.nix

diff --git a/pkgs/tools/X11/ckbcomp/default.nix b/pkgs/tools/X11/ckbcomp/default.nix
new file mode 100644
index 000000000000..90eaef73e165
--- /dev/null
+++ b/pkgs/tools/X11/ckbcomp/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchgit, perl, xkeyboard_config }:
+
+stdenv.mkDerivation rec {
+  name = "ckbcomp-${version}";
+  version = "1.129";
+
+  src = fetchgit {
+    url = "git://anonscm.debian.org/d-i/console-setup.git";
+    rev = "refs/tags/${version}";
+    sha256 = "1shbqnjhdmy7qwz2kwfhrdxbjw1vv98rpz1x7wlgqxr812aqcfdd";
+  };
+
+  buildInputs = [ perl ];
+
+  patchPhase = ''
+    substituteInPlace Keyboard/ckbcomp --replace "/usr/share/X11/xkb" "${xkeyboard_config}/share/X11/xkb"
+    substituteInPlace Keyboard/ckbcomp --replace "rules = 'xorg'" "rules = 'base'"
+  '';
+
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p "$out"/bin
+    cp Keyboard/ckbcomp "$out"/bin/
+    mkdir -p "$out"/share/man/man1
+    cp man/ckbcomp.1 "$out"/share/man/man1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Compiles a XKB keyboard description to a keymap suitable for loadkeys";
+    homepage = http://anonscm.debian.org/cgit/d-i/console-setup.git;
+    license = licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ dezgeg ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 26aa616b4e0b..f12bfab51272 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -779,6 +779,8 @@ let
 
   ccnet = callPackage ../tools/networking/ccnet { };
 
+  ckbcomp = callPackage ../tools/X11/ckbcomp { };
+
   cli53 = callPackage ../tools/admin/cli53 { };
 
   cloud-init = callPackage ../tools/virtualization/cloud-init { };