1{
2 lib,
3 stdenv,
4 fetchFromGitLab,
5 makeWrapper,
6 ocamlPackages,
7 remind,
8}:
9
10stdenv.mkDerivation (finalAttrs: {
11 pname = "wyrd";
12 version = "1.7.4";
13
14 src = fetchFromGitLab {
15 owner = "wyrd-calendar";
16 repo = "wyrd";
17 tag = finalAttrs.version;
18 hash = "sha256-9HCwc4yrBi0D+fv7vOPstxN1tqqNyGRgpkce1uLVxTg=";
19 };
20
21 strictDeps = true;
22
23 nativeBuildInputs = [
24 makeWrapper
25 ocamlPackages.findlib
26 ocamlPackages.ocaml
27 ocamlPackages.odoc
28 ];
29
30 buildInputs = [
31 ocamlPackages.camlp-streams
32 ocamlPackages.curses
33 ocamlPackages.yojson
34 remind
35 ];
36
37 makeFlags = [
38 "PREFIX=${placeholder "out"}"
39 ];
40
41 postInstall = ''
42 wrapProgram "$out/bin/wyrd" \
43 --prefix PATH : "${lib.makeBinPath [ remind ]}"
44 '';
45
46 meta = {
47 description = "Text-based front-end to Remind";
48 longDescription = ''
49 Wyrd is a text-based front-end to Remind, a sophisticated
50 calendar and alarm program. Remind's power lies in its
51 programmability, and Wyrd does not hide this capability behind
52 flashy GUI dialogs. Rather, Wyrd is designed to make you more
53 efficient at editing your reminder files directly.
54 '';
55 homepage = "https://gitlab.com/wyrd-calendar/wyrd";
56 downloadPage = "https://gitlab.com/wyrd-calendar/wyrd";
57 license = lib.licenses.gpl2Only;
58 maintainers = [ lib.maintainers.prikhi ];
59 platforms = lib.platforms.unix;
60 mainProgram = "wyrd";
61 };
62})