1{ lib, meson, ninja, pkg-config, gettext, fetchFromGitHub, python3
2, wrapGAppsHook3, gtk3, glib, desktop-file-utils, appstream-glib, adwaita-icon-theme
3, gobject-introspection, librsvg }:
4
5python3.pkgs.buildPythonApplication rec {
6 pname = "piper";
7 version = "0.7";
8
9 format = "other";
10
11 src = fetchFromGitHub {
12 owner = "libratbag";
13 repo = "piper";
14 rev = version;
15 sha256 = "0jsvfy0ihdcgnqljfgs41lys1nlz18qvsa0a8ndx3pyr41f8w8wf";
16 };
17
18 nativeBuildInputs = [ meson ninja gettext pkg-config wrapGAppsHook3 desktop-file-utils appstream-glib gobject-introspection ];
19 buildInputs = [
20 gtk3 glib adwaita-icon-theme python3 librsvg
21 ];
22 propagatedBuildInputs = with python3.pkgs; [ lxml evdev pygobject3 ];
23
24 mesonFlags = [
25 "-Druntime-dependency-checks=false"
26 "-Dtests=false"
27 ];
28
29 postPatch = ''
30 chmod +x meson_install.sh # patchShebangs requires executable file
31 patchShebangs meson_install.sh data/generate-piper-gresource.xml.py
32 '';
33
34 meta = with lib; {
35 description = "GTK frontend for ratbagd mouse config daemon";
36 mainProgram = "piper";
37 homepage = "https://github.com/libratbag/piper";
38 license = licenses.gpl2Only;
39 maintainers = with maintainers; [ mvnetbiz ];
40 platforms = platforms.linux;
41 };
42}