diff options
Diffstat (limited to 'pkgs/by-name/me')
-rw-r--r-- | pkgs/by-name/me/metronome/package.nix | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/pkgs/by-name/me/metronome/package.nix b/pkgs/by-name/me/metronome/package.nix new file mode 100644 index 0000000000000..f21a941a9e378 --- /dev/null +++ b/pkgs/by-name/me/metronome/package.nix @@ -0,0 +1,78 @@ +{ lib +, stdenv +, fetchFromGitLab +, meson +, ninja +, pkg-config +, rustPlatform +, rustc +, cargo +, wrapGAppsHook4 +, desktop-file-utils +, libadwaita +, gst_all_1 +, darwin +}: + +stdenv.mkDerivation rec { + pname = "metronome"; + version = "1.3.0"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "World"; + repo = "metronome"; + rev = version; + hash = "sha256-Sn2Ua/XxPnJjcQvWeOPkphl+BE7/BdOrUIpf+tLt20U="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "metronome-${version}"; + hash = "sha256-HYO/IY5yGW8JLBxD/SZz16GFnwvv77kFl/x+QXhV+V0="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + rustPlatform.cargoSetupHook + rustc + cargo + wrapGAppsHook4 + desktop-file-utils + ]; + + buildInputs = [ + libadwaita + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-bad + ] ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + ]; + + # Workaround for the gettext-sys issue + # https://github.com/Koka/gettext-rs/issues/114 + env.NIX_CFLAGS_COMPILE = lib.optionalString + ( + stdenv.cc.isClang && + lib.versionAtLeast stdenv.cc.version "16" + ) + "-Wno-error=incompatible-function-pointer-types"; + + meta = with lib; { + description = "Keep the tempo"; + longDescription = '' + Metronome beats the rhythm for you, you simply + need to tell it the required time signature and + beats per minutes. You can also tap to let the + application guess the required beats per minute. + ''; + homepage = "https://gitlab.gnome.org/World/metronome"; + license = licenses.gpl3Plus; + mainProgram = "metronome"; + maintainers = with maintainers; [ aleksana ]; + platforms = platforms.unix; + }; +} |