summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/libraries/frame/default.nix24
-rw-r--r--pkgs/development/libraries/geis/default.nix23
-rw-r--r--pkgs/development/libraries/grail/default.nix23
-rw-r--r--pkgs/tools/inputmethods/touchegg/default.nix25
4 files changed, 95 insertions, 0 deletions
diff --git a/pkgs/development/libraries/frame/default.nix b/pkgs/development/libraries/frame/default.nix
new file mode 100644
index 000000000000..86ebaa0d8d91
--- /dev/null
+++ b/pkgs/development/libraries/frame/default.nix
@@ -0,0 +1,24 @@
+{ enableX11 ? true
+,  stdenv, fetchurl, pkgconfig, xlibs, xorgserver, xinput }:
+
+stdenv.mkDerivation rec {
+  name = "frame-${version}";
+  version = "2.5.0";
+  src = fetchurl {
+    url = "https://launchpad.net/frame/trunk/v${version}/+download/${name}.tar.xz";
+    sha256 = "bc2a20cd3ac1e61fe0461bd3ee8cb250dbcc1fa511fad0686d267744e9c78f3a";
+  };
+
+  buildInputs = [ 
+    stdenv pkgconfig
+  ] ++ stdenv.lib.optional enableX11 [xlibs.xorgserver xlibs.libX11 xlibs.libXext xlibs.libXi];
+
+  configureFlags = stdenv.lib.optional enableX11 "--with-x11";
+
+  meta = {
+    homepage = "https://launchpad.net/frame";
+    description = "handles the buildup and synchronization of a set of simultaneous touches";
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/geis/default.nix b/pkgs/development/libraries/geis/default.nix
new file mode 100644
index 000000000000..15f42afd9a8e
--- /dev/null
+++ b/pkgs/development/libraries/geis/default.nix
@@ -0,0 +1,23 @@
+{ enableX11 ? true
+, stdenv, fetchurl, pkgconfig, xlibs, xorgserver, python3, dbus_libs, frame, grail }:
+
+stdenv.mkDerivation rec {
+  name = "geis-${version}";
+  version = "2.2.16";
+  src = fetchurl {
+    url = "https://launchpad.net/geis/trunk/${version}/+download/${name}.tar.xz";
+    sha256 = "40a694092c79f325a2fbf8a9f301177bc91c364f4e637c2aa8963ad2a5aabbcf";
+  };
+
+  buildInputs = [ pkgconfig python3 dbus_libs frame grail ]
+  ++ stdenv.lib.optional enableX11 [xlibs.libX11 xlibs.libXtst xlibs.libXext xlibs.libXi xlibs.xorgserver];
+
+  configureFlags = stdenv.lib.optional enableX11"--enable-x11";
+
+  meta = {
+    homepage = "https://launchpad.net/geis";
+    description = "GEIS is a library for applications and toolkit programmers which provides a consistent platform independent interface for any system-wide input gesture recognition mechanism.";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/grail/default.nix b/pkgs/development/libraries/grail/default.nix
new file mode 100644
index 000000000000..3cf946bb4ba5
--- /dev/null
+++ b/pkgs/development/libraries/grail/default.nix
@@ -0,0 +1,23 @@
+{ enableX11 ? true,
+  stdenv, fetchurl, pkgconfig, xlibs, python3, frame }:
+
+stdenv.mkDerivation rec {
+  name = "grail-${version}";
+  version = "3.1.0";
+  src = fetchurl {
+    url = "https://launchpad.net/grail/trunk/${version}/+download/${name}.tar.bz2";
+    sha256 = "c26dced1b3f4317ecf6af36db0e90294d87e43966d56aecc4e97b65368ab78b9";
+  };
+
+  buildInputs = [ pkgconfig python3 frame ]
+  ++ stdenv.lib.optional enableX11 [xlibs.libX11 xlibs.libXtst xlibs.libXext xlibs.libXi xlibs.libXfixes];
+
+  configureFlags = stdenv.lib.optional enableX11 "--with-x11";
+
+  meta = {
+    homepage = "https://launchpad.net/canonical-multitouch/grail";
+    description = "Gesture Recognition And Instantiation Library";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/inputmethods/touchegg/default.nix b/pkgs/tools/inputmethods/touchegg/default.nix
new file mode 100644
index 000000000000..1cf3cfa00af7
--- /dev/null
+++ b/pkgs/tools/inputmethods/touchegg/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, xlibs, xorgserver, qt4, mesa, geis  }:
+
+stdenv.mkDerivation rec {
+  name = "touchegg-${version}";
+  version = "1.1.1";
+  src = fetchurl {
+    url = "https://touchegg.googlecode.com/files/${name}.tar.gz";
+    sha256 = "95734815c7219d9a71282f3144b3526f2542b4fa270a8e69d644722d024b4038";
+  };
+
+  buildInputs = [ xorgserver mesa xlibs.libX11 xlibs.libXtst xlibs.libXext qt4 geis ];
+
+  configurePhase = ''
+    sed -e "s@/usr/@$out/@g" -i $(find . -name touchegg.pro)
+    sed -e "s@/usr/@$out/@g" -i $(find ./src/touchegg/config/ -name Config.cpp)
+    qmake touchegg.pro
+  '';
+
+  meta = {
+    homepage = "https://code.google.com/p/touchegg/";
+    description = "Macro binding for touch surfaces";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
\ No newline at end of file