Files
nixpkgs/pkgs/by-name/ka/karlender/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

82 lines
2.3 KiB
Nix

{
lib,
rustPlatform,
fetchFromGitLab,
pkg-config,
gtk4,
libadwaita,
wrapGAppsHook4,
glib,
tzdata,
nix-update-script,
dbus,
cargo-gra,
}:
rustPlatform.buildRustPackage rec {
pname = "karlender";
version = "0.10.11";
src = fetchFromGitLab {
owner = "floers";
repo = "karlender";
rev = "v${version}";
hash = "sha256-PwXSJq4uBtgIA2aQ5AZawEMmHoVS2Z9haVHyJ2oyXUs=";
};
cargoHash = "sha256-senSpsmScj1IFXLfvmsllmRNB6FzrALGnQeG7IHw9es=";
nativeBuildInputs = [
pkg-config
wrapGAppsHook4
glib
cargo-gra
];
buildInputs = [
gtk4
libadwaita
dbus
];
checkFlags = [
"--skip domain::time::tests::test_get_correct_offset_for_dst" # Need time
];
preBuild = ''
cargo-gra gen
'';
postPatch = ''
substituteInPlace src/domain/time.rs --replace-fail "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
'';
postInstall = ''
substituteInPlace target/gra-gen/data/codes.loers.Karlender.desktop \
--replace-fail "Exec=codes.loers.Karlender" "Exec=karlender"
substituteInPlace target/gra-gen/data/codes.loers.Karlender.appdata.xml \
--replace-fail "<binary>codes.loers.Karlender</binary>" "<binary>karlender</binary>"
install -Dm444 target/gra-gen/codes.loers.Karlender.gschema.xml -t $out/share/gsettings-schemas/$name/glib-2.0/schemas/
glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas/
install -Dm444 target/gra-gen/data/codes.loers.Karlender.svg -t $out/share/icons/hicolor/scalable/apps/
install -Dm444 target/gra-gen/data/codes.loers.Karlender.64.png -T $out/share/icons/hicolor/64x64/apps/codes.loers.Karlender.png
install -Dm444 target/gra-gen/data/codes.loers.Karlender.128.png -T $out/share/icons/hicolor/128x128/apps/codes.loers.Karlender.png
install -Dm444 target/gra-gen/data/codes.loers.Karlender.desktop -t $out/share/applications/
install -Dm444 target/gra-gen/data/codes.loers.Karlender.appdata.xml -t $out/share/metainfo/
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Mobile-friendly GTK calendar application";
homepage = "https://gitlab.com/floers/karlender";
license = lib.licenses.gpl3Plus;
mainProgram = "karlender";
maintainers = with lib.maintainers; [
chuangzhu
bot-wxt1221
];
platforms = lib.platforms.linux;
};
}