nixpkgs/pkgs/tools/inputmethods/touchegg/default.nix

67 lines
1.4 KiB
Nix

{ stdenv, lib
, fetchFromGitHub
, fetchpatch
, systemd
, libinput
, pugixml
, cairo
, xorg
, gtk3-x11
, pcre
, pkg-config
, cmake
, pantheon
, withPantheon ? false
}:
stdenv.mkDerivation rec {
pname = "touchegg";
version = "2.0.11";
src = fetchFromGitHub {
owner = "JoseExposito";
repo = pname;
rev = version;
sha256 = "1zfiqs5vqlb6drnqx9nsmhgy8qc6svzr8zyjkqvwkpbgrc6ifap9";
};
PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
buildInputs = [
systemd
libinput
pugixml
cairo
gtk3-x11
pcre
] ++ (with xorg; [
libX11
libXtst
libXrandr
libXi
libXdmcp
libpthreadstubs
libxcb
]);
nativeBuildInputs = [
pkg-config
cmake
];
patches = lib.optionals withPantheon [
# Disable per-application gesture by default to make sure the default
# config does not conflict with Pantheon switchboard settings.
(fetchpatch {
url = "https://github.com/elementary/os-patches/commit/ada4e726540a2bb57b606c98e2531cfaaea57211.patch";
sha256 = "0is9acwvgiqdhbiw11i3nq0rp0zldcza779fbj8k78cp329rbqb4";
})
];
meta = with lib; {
homepage = "https://github.com/JoseExposito/touchegg";
description = "Linux multi-touch gesture recognizer";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = teams.pantheon.members;
};
}