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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c1bc418d5530..bb9d2c2c7e78 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2698,6 +2698,8 @@ let stdenv = overrideCC stdenv gcc49; }; + touchegg = callPackage ../tools/inputmethods/touchegg { }; + torsocks = callPackage ../tools/security/tor/torsocks.nix { }; tpm-quote-tools = callPackage ../tools/security/tpm-quote-tools { }; @@ -4781,6 +4783,8 @@ let fswatch = callPackage ../development/tools/misc/fswatch { }; + frame = callPackage ../development/libraries/frame { }; + pmd = callPackage ../development/tools/analysis/pmd { }; jdepend = callPackage ../development/tools/analysis/jdepend { }; @@ -4793,6 +4797,8 @@ let m4 = gnum4; + geis = callPackage ../development/libraries/geis { }; + global = callPackage ../development/tools/misc/global { }; gnome_doc_utils = callPackage ../development/tools/documentation/gnome-doc-utils {}; @@ -4812,6 +4818,8 @@ let gperf = callPackage ../development/tools/misc/gperf { }; + grail = callPackage ../development/libraries/grail { }; + gtk_doc = callPackage ../development/tools/documentation/gtk-doc { }; gtkdialog = callPackage ../development/tools/misc/gtkdialog { };