depot/third_party/nixpkgs/pkgs/by-name/gn/gnome-pomodoro/package.nix

93 lines
1.9 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
substituteAll,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
desktop-file-utils,
libcanberra,
gst_all_1,
vala,
gtk3,
gom,
sqlite,
libxml2,
glib,
gobject-introspection,
json-glib,
libpeas,
gsettings-desktop-schemas,
gettext,
}:
stdenv.mkDerivation rec {
pname = "gnome-pomodoro";
version = "0.26.0";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
hash = "sha256-icyS/K6H90/DWYvqJ7f7XXTTuIwLea3k+vDDEBYil6o=";
};
patches = [
# Our glib setup hooks moves GSettings schemas to a subdirectory to prevent conflicts.
# We need to patch the build script so that the extension can find them.
(substituteAll {
src = ./fix-schema-path.patch;
inherit pname version;
})
];
# Manually compile schemas for package since meson option
# gnome.post_install(glib_compile_schemas) used by package tries to compile in
# the wrong dir.
preFixup = ''
glib-compile-schemas ${glib.makeSchemaPath "$out" "${pname}-${version}"}
'';
nativeBuildInputs = [
meson
ninja
gettext
gobject-introspection
libxml2
pkg-config
vala
wrapGAppsHook3
desktop-file-utils
];
buildInputs = [
glib
gom
gsettings-desktop-schemas
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gstreamer
gtk3
json-glib
libcanberra
libpeas
sqlite
];
meta = with lib; {
homepage = "https://gnomepomodoro.org/";
description = "Time management utility for GNOME based on the pomodoro technique";
mainProgram = "gnome-pomodoro";
longDescription = ''
This GNOME utility helps to manage time according to Pomodoro Technique.
It intends to improve productivity and focus by taking short breaks.
'';
maintainers = with maintainers; [
aleksana
herschenglime
];
license = licenses.gpl3Plus;
platforms = platforms.linux;
};
}