nixpkgs/pkgs/applications/office/elementary-planner/default.nix
2022-03-18 09:55:52 +08:00

104 lines
2.3 KiB
Nix
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ lib, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, desktop-file-utils
, python3
, vala
, wrapGAppsHook
, evolution-data-server
, libical
, libgee
, json-glib
, glib
, glib-networking
, sqlite
, libsoup
, libgdata
, gtk3
, pantheon /* granite, icons, maintainers */
, webkitgtk
, libpeas
, libhandy
, curl
}:
stdenv.mkDerivation rec {
pname = "elementary-planner";
version = "2.7";
src = fetchFromGitHub {
owner = "alainm23";
repo = "planner";
rev = version;
sha256 = "sha256-3eFPGRcZWhzFYi52TbHmpFNLI0pWYcHbbBI7efqZwYE=";
};
nativeBuildInputs = [
desktop-file-utils
meson
ninja
pkg-config
python3
vala
wrapGAppsHook
];
buildInputs = [
evolution-data-server
glib
glib-networking
gtk3
json-glib
libgee
libical
libpeas
libsoup
pantheon.elementary-icon-theme
pantheon.granite
sqlite
webkitgtk
libhandy
curl
];
postPatch = ''
# The GTK theme has been renamed in elementary OS 6
# https://github.com/elementary/flatpak-platform/blob/6.1.0/io.elementary.Sdk.json#L182
# Remove this in https://github.com/NixOS/nixpkgs/pull/159249
substituteInPlace src/Application.vala \
--replace '"gtk-theme-name", "elementary"' '"gtk-theme-name", "io.elementary.stylesheet.blueberry"'
# Fix build with vala 0.56
# https://github.com/alainm23/planner/pull/884
substituteInPlace src/Application.vala \
--replace "public const OptionEntry[] PLANNER_OPTIONS" "private const OptionEntry[] PLANNER_OPTIONS"
chmod +x build-aux/meson/post_install.py
patchShebangs build-aux/meson/post_install.py
'';
preFixup = ''
gappsWrapperArgs+=(
# The GTK theme is hardcoded.
--prefix XDG_DATA_DIRS : "${pantheon.elementary-gtk-theme}/share"
# The icon theme is hardcoded.
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
)
'';
postFixup = ''
ln -s $out/bin/com.github.alainm23.planner $out/bin/planner
'';
meta = with lib; {
description = "Task manager with Todoist support designed for GNU/Linux 🚀";
homepage = "https://planner-todo.web.app";
license = licenses.gpl3;
maintainers = with maintainers; [ dtzWill ] ++ teams.pantheon.members;
platforms = platforms.linux;
mainProgram = "com.github.alainm23.planner";
};
}