Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 73 lines 1.7 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitLab, 5 meson, 6 ninja, 7 pkg-config, 8 rustPlatform, 9 rustc, 10 cargo, 11 wrapGAppsHook4, 12 desktop-file-utils, 13 libadwaita, 14 gst_all_1, 15}: 16 17stdenv.mkDerivation rec { 18 pname = "metronome"; 19 version = "1.3.0"; 20 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 }; 28 29 cargoDeps = rustPlatform.fetchCargoVendor { 30 inherit src; 31 name = "metronome-${version}"; 32 hash = "sha256-T/x5LpODpKWGA40W1je6jw1DS9attVUK4ZjAnRAyf6k="; 33 }; 34 35 nativeBuildInputs = [ 36 meson 37 ninja 38 pkg-config 39 rustPlatform.cargoSetupHook 40 rustc 41 cargo 42 wrapGAppsHook4 43 desktop-file-utils 44 ]; 45 46 buildInputs = [ 47 libadwaita 48 gst_all_1.gstreamer 49 gst_all_1.gst-plugins-base 50 gst_all_1.gst-plugins-bad 51 ]; 52 53 # Workaround for the gettext-sys issue 54 # https://github.com/Koka/gettext-rs/issues/114 55 env.NIX_CFLAGS_COMPILE = lib.optionalString ( 56 stdenv.cc.isClang && lib.versionAtLeast stdenv.cc.version "16" 57 ) "-Wno-error=incompatible-function-pointer-types"; 58 59 meta = with lib; { 60 description = "Keep the tempo"; 61 longDescription = '' 62 Metronome beats the rhythm for you, you simply 63 need to tell it the required time signature and 64 beats per minutes. You can also tap to let the 65 application guess the required beats per minute. 66 ''; 67 homepage = "https://gitlab.gnome.org/World/metronome"; 68 license = licenses.gpl3Plus; 69 mainProgram = "metronome"; 70 maintainers = with maintainers; [ aleksana ]; 71 platforms = platforms.unix; 72 }; 73}