From 28b8c50c2dab82447857611f87a704ffb3645fa6 Mon Sep 17 00:00:00 2001 From: "Thor A. Hopland" Date: Fri, 6 Feb 2015 06:53:32 +0100 Subject: [PATCH] Added Touchegg and 3 depdenencies. Touchegg is a daemon for X that adds gesture based navigation for touch based surfaces. --- pkgs/development/libraries/frame/default.nix | 24 +++++++++++++++++++ pkgs/development/libraries/geis/default.nix | 23 ++++++++++++++++++ pkgs/development/libraries/grail/default.nix | 23 ++++++++++++++++++ pkgs/tools/inputmethods/touchegg/default.nix | 25 ++++++++++++++++++++ 4 files changed, 95 insertions(+) create mode 100644 pkgs/development/libraries/frame/default.nix create mode 100644 pkgs/development/libraries/geis/default.nix create mode 100644 pkgs/development/libraries/grail/default.nix create mode 100644 pkgs/tools/inputmethods/touchegg/default.nix 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