base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / ov / oversteer / package.nix
blob6618d154cdda54023f9255112f8e84b3017dcc83
1 { lib, stdenv, fetchFromGitHub, pkg-config, gettext, python3, python3Packages
2 , meson, ninja, udev, appstream, appstream-glib, desktop-file-utils, gtk3
3 , wrapGAppsHook3, gobject-introspection, bash, }:
4 let
5   python = python3.withPackages (p:
6     with p; [
7       pygobject3
8       pyudev
9       pyxdg
10       evdev
11       matplotlib
12       scipy
13       gtk3
14       pygobject3
15     ]);
17   version = "0.8.1";
18 in stdenv.mkDerivation {
19   inherit version;
21   pname = "oversteer";
23   src = fetchFromGitHub {
24     owner = "berarma";
25     repo = "oversteer";
26     rev = version;
27     sha256 = "sha256-J23fgEDkfZMjVEYHaSPbU9zh5CQFjPmqMsm09VybBv8=";
28   };
30   buildInputs = [ bash gtk3 ];
32   nativeBuildInputs = [
33     pkg-config
34     gettext
35     python
36     wrapGAppsHook3
37     gobject-introspection
38     meson
39     udev
40     ninja
41     appstream
42     appstream-glib
43     desktop-file-utils
44   ];
46   dontUseCmakeConfigure = true;
48   propagatedBuildInputs = [ python gtk3 python3Packages.pygobject3 ];
50   mesonFlags = [
51     "--prefix"
52     (placeholder "out")
53     "-Dudev_rules_dir=${placeholder "out"}/lib/udev/rules.d/"
54   ];
56   preFixup = ''
57     gappsWrapperArgs+=(
58       --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}"
59     )
60   '';
62   postInstall = ''
63     substituteInPlace $out/lib/udev/rules.d/* \
64       --replace /bin/sh ${bash}/bin/sh
65   '';
67   patches = [ ];
69   meta = with lib; {
70     homepage = "https://github.com/berarma/oversteer";
71     changelog = "https://github.com/berarma/oversteer/releases/tag/${version}";
72     description = "Steering Wheel Manager for Linux";
73     mainProgram = "oversteer";
74     license = licenses.gpl3Plus;
75     maintainers = [ maintainers.srounce ];
76     platforms = platforms.unix;
77   };