Files
nixpkgs/pkgs/by-name/dr/drum-machine/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

76 lines
1.6 KiB
Nix

{
lib,
appstream,
desktop-file-utils,
fetchFromGitHub,
glib,
gobject-introspection,
gtk4,
libadwaita,
meson,
ninja,
nix-update-script,
pkg-config,
python3Packages,
wrapGAppsHook4,
}:
python3Packages.buildPythonApplication rec {
pname = "drum-machine";
version = "1.4.0";
pyproject = false;
src = fetchFromGitHub {
owner = "Revisto";
repo = "drum-machine";
tag = "v${version}";
hash = "sha256-5NzbjPzmrsF/xKLBwQ4MDPxz6OjBHioO7vcLMzMhidA=";
};
strictDeps = true;
nativeBuildInputs = [
appstream
desktop-file-utils
glib
gobject-introspection
gtk4 # For `gtk-update-icon-theme`
meson
ninja
pkg-config
wrapGAppsHook4
];
buildInputs = [ libadwaita ];
dependencies = with python3Packages; [
mido
pygame
pygobject3
];
dontWrapGApps = true;
makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ];
# NOTE: `postCheck` is intentionally not used here, as the entire checkPhase
# is skipped by `buildPythonApplication`
# https://github.com/NixOS/nixpkgs/blob/9d4343b7b27a3e6f08fc22ead568233ff24bbbde/pkgs/development/interpreters/python/mk-python-derivation.nix#L296
postInstallCheck = ''
mesonCheckPhase
'';
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Modern and intuitive application for creating, playing, and managing drum patterns";
homepage = "https://apps.gnome.org/DrumMachine";
changelog = "https://github.com/Revisto/drum-machine/releases/tag/${src.tag}";
license = lib.licenses.gpl3Plus;
teams = [ lib.teams.gnome-circle ];
platforms = lib.platforms.linux;
};
}