2025-06-03 16:15:50 +02:00

69 lines
1.4 KiB
Nix

{
lib,
stdenv,
fetchurl,
vala,
pkg-config,
glib,
gtk4,
libadwaita,
gnome,
gdk-pixbuf,
wrapGAppsHook4,
gettext,
itstool,
libxml2,
meson,
ninja,
python3,
}:
stdenv.mkDerivation rec {
pname = "lightsoff";
version = "48.1";
src = fetchurl {
url = "mirror://gnome/sources/lightsoff/${lib.versions.major version}/lightsoff-${version}.tar.xz";
hash = "sha256-LsmVAXE9vNE8WlZaLhGMxMwrUCg2s4enc2z7pAqLOYk=";
};
nativeBuildInputs = [
vala
pkg-config
wrapGAppsHook4
itstool
gettext
libxml2
meson
ninja
python3
];
buildInputs = [
glib
gtk4
libadwaita
];
postPatch = ''
chmod +x build-aux/meson_post_install.py
patchShebangs build-aux/meson_post_install.py
substituteInPlace build-aux/meson_post_install.py \
--replace-fail "gtk-update-icon-cache" "gtk4-update-icon-cache"
'';
passthru = {
updateScript = gnome.updateScript { packageName = "lightsoff"; };
};
meta = {
homepage = "https://gitlab.gnome.org/GNOME/lightsoff";
changelog = "https://gitlab.gnome.org/GNOME/lightsoff/-/blob/${version}/NEWS?ref_type=tags";
description = "Puzzle game, where the objective is to turn off all of the tiles on the board";
mainProgram = "lightsoff";
teams = [ lib.teams.gnome ];
license = lib.licenses.gpl2;
platforms = lib.platforms.unix;
};
}