summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/libraries/libevdev/default.nix20
-rw-r--r--pkgs/tools/system/evemu/default.nix37
-rw-r--r--pkgs/top-level/all-packages.nix4
3 files changed, 61 insertions, 0 deletions
diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix
new file mode 100644
index 000000000000..2776a3c0614c
--- /dev/null
+++ b/pkgs/development/libraries/libevdev/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, python }:
+
+stdenv.mkDerivation rec {
+  name = "libevdev-1.2";
+
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/libevdev/${name}.tar.xz";
+    sha256 = "0h54ym5rsmicl4gx7gcdaifpyndakbl38c5dcxgr27f0cy0635a1";
+  };
+
+  buildInputs = [ python ];
+
+  meta = with stdenv.lib; {
+    description = "Wrapper library for evdev devices";
+    homepage = http://www.freedesktop.org/software/libevdev/doc/latest/index.html; 
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.amorsillo ];
+  };
+}
diff --git a/pkgs/tools/system/evemu/default.nix b/pkgs/tools/system/evemu/default.nix
new file mode 100644
index 000000000000..84fdbee90fa4
--- /dev/null
+++ b/pkgs/tools/system/evemu/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchgit, automake, autoconf, libtool, pkgconfig, pythonPackages
+, libevdev, linuxHeaders
+}:
+
+stdenv.mkDerivation rec {
+  name = "evemu-${version}";
+  version = "2.0.0";
+
+  # We could have downloaded a release tarball from cgit, but it changes hash
+  # each time it is downloaded :/
+  src = fetchgit {
+    url = git://git.freedesktop.org/git/evemu;
+    rev = "refs/tags/v${version}";
+    sha256 = "1509b524a2483054a45698c485968094dd8c0f857bba7333449e9d05acbfbd2c";
+  };
+
+  buildInputs = [
+    automake autoconf libtool pkgconfig pythonPackages.python
+    pythonPackages.evdev libevdev
+  ];
+
+  preConfigure = ''
+    ./autogen.sh --prefix=$out
+  '';
+
+  postPatch = ''
+    substituteInPlace src/make-event-names.py --replace "/usr/include/linux/input.h" "${linuxHeaders}/include/linux/input.h"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Records and replays device descriptions and events to emulate input devices through the kernel's input system";
+    homepage = http://www.freedesktop.org/wiki/Evemu/;
+    repositories.git = git://git.freedesktop.org/git/evemu;
+    license = licenses.gpl2;
+    maintainer = [ maintainers.amorsillo ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1dfc9416ebe5..edac4ef03623 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -950,6 +950,8 @@ let
 
   efivar = callPackage ../tools/system/efivar { };
 
+  evemu = callPackage ../tools/system/evemu { };
+
   elasticsearch = callPackage ../servers/search/elasticsearch { };
 
   enblendenfuse = callPackage ../tools/graphics/enblend-enfuse {
@@ -1403,6 +1405,8 @@ let
 
   libestr = callPackage ../development/libraries/libestr { };
 
+  libevdev = callPackage ../development/libraries/libevdev { };
+
   liboauth = callPackage ../development/libraries/liboauth { };
 
   libtirpc = callPackage ../development/libraries/ti-rpc { };