python312Packages.types-aiobotocore: 2.15.2 -> 2.15.2.post3 (#361801)
[NixPkgs.git] / pkgs / by-name / me / metronome / package.nix
blob6c75f65dd3d7a3f17cf90ffc1789ec5290d33062
1 { lib
2 , stdenv
3 , fetchFromGitLab
4 , meson
5 , ninja
6 , pkg-config
7 , rustPlatform
8 , rustc
9 , cargo
10 , wrapGAppsHook4
11 , desktop-file-utils
12 , libadwaita
13 , gst_all_1
14 , darwin
17 stdenv.mkDerivation rec {
18   pname = "metronome";
19   version = "1.3.0";
21   src = fetchFromGitLab {
22     domain = "gitlab.gnome.org";
23     owner = "World";
24     repo = "metronome";
25     rev = version;
26     hash = "sha256-Sn2Ua/XxPnJjcQvWeOPkphl+BE7/BdOrUIpf+tLt20U=";
27   };
29   cargoDeps = rustPlatform.fetchCargoTarball {
30     inherit src;
31     name = "metronome-${version}";
32     hash = "sha256-HYO/IY5yGW8JLBxD/SZz16GFnwvv77kFl/x+QXhV+V0=";
33   };
35   nativeBuildInputs = [
36     meson
37     ninja
38     pkg-config
39     rustPlatform.cargoSetupHook
40     rustc
41     cargo
42     wrapGAppsHook4
43     desktop-file-utils
44   ];
46   buildInputs = [
47     libadwaita
48     gst_all_1.gstreamer
49     gst_all_1.gst-plugins-base
50     gst_all_1.gst-plugins-bad
51   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
52     darwin.apple_sdk.frameworks.Foundation
53   ];
55   # Workaround for the gettext-sys issue
56   # https://github.com/Koka/gettext-rs/issues/114
57   env.NIX_CFLAGS_COMPILE = lib.optionalString
58     (
59       stdenv.cc.isClang &&
60       lib.versionAtLeast stdenv.cc.version "16"
61     )
62     "-Wno-error=incompatible-function-pointer-types";
64   meta = with lib; {
65     description = "Keep the tempo";
66     longDescription = ''
67       Metronome beats the rhythm for you, you simply
68       need to tell it the required time signature and
69       beats per minutes. You can also tap to let the
70       application guess the required beats per minute.
71     '';
72     homepage = "https://gitlab.gnome.org/World/metronome";
73     license = licenses.gpl3Plus;
74     mainProgram = "metronome";
75     maintainers = with maintainers; [ aleksana ];
76     platforms = platforms.unix;
77   };