git: 9fb4bfa0e9fd - main - misc/dijo: New port: Scriptable, curses-based, digital habit tracker

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 01 Jan 2023 11:33:44 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9fb4bfa0e9fd120caedfeb73c15d3d807d4a6fc0

commit 9fb4bfa0e9fd120caedfeb73c15d3d807d4a6fc0
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-01-01 10:27:39 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-01-01 10:27:39 +0000

    misc/dijo: New port: Scriptable, curses-based, digital habit tracker
---
 misc/Makefile       |   1 +
 misc/dijo/Makefile  | 142 +++++++++++++++++++++++++++++++
 misc/dijo/distinfo  | 241 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 misc/dijo/pkg-descr |   3 +
 4 files changed, 387 insertions(+)

diff --git a/misc/Makefile b/misc/Makefile
index 93d1bd35b280..e8e436eb5544 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -77,6 +77,7 @@
     SUBDIR += delay
     SUBDIR += diction
     SUBDIR += digitemp
+    SUBDIR += dijo
     SUBDIR += dive
     SUBDIR += dnetc
     SUBDIR += dtach
diff --git a/misc/dijo/Makefile b/misc/dijo/Makefile
new file mode 100644
index 000000000000..c2894665add1
--- /dev/null
+++ b/misc/dijo/Makefile
@@ -0,0 +1,142 @@
+PORTNAME=	dijo
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.2.7
+CATEGORIES=	misc
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Scriptable, curses-based, digital habit tracker
+WWW=		https://github.com/NerdyPepper/dijo
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	NerdyPepper
+
+CARGO_CRATES=	ahash-0.6.3 \
+		ansi_term-0.11.0 \
+		array-macro-1.0.5 \
+		arrayref-0.3.6 \
+		arrayvec-0.5.2 \
+		atty-0.2.14 \
+		autocfg-1.0.1 \
+		base64-0.13.0 \
+		bitflags-1.2.1 \
+		blake2b_simd-0.5.11 \
+		cfg-if-0.1.10 \
+		cfg-if-1.0.0 \
+		chrono-0.4.19 \
+		clap-2.33.3 \
+		constant_time_eq-0.1.5 \
+		crossbeam-channel-0.5.0 \
+		crossbeam-utils-0.8.1 \
+		crossterm-0.19.0 \
+		crossterm_winapi-0.7.0 \
+		ctor-0.1.17 \
+		cursive-0.16.3 \
+		cursive_core-0.2.2 \
+		darling-0.10.2 \
+		darling_core-0.10.2 \
+		darling_macro-0.10.2 \
+		directories-3.0.1 \
+		dirs-sys-0.3.5 \
+		enum-map-0.6.4 \
+		enum-map-derive-0.4.6 \
+		erased-serde-0.3.13 \
+		filetime-0.2.13 \
+		fnv-1.0.7 \
+		fsevent-0.4.0 \
+		fsevent-sys-2.0.1 \
+		fuchsia-zircon-0.3.3 \
+		fuchsia-zircon-sys-0.3.3 \
+		getrandom-0.1.16 \
+		getrandom-0.2.1 \
+		ghost-0.1.2 \
+		hermit-abi-0.1.17 \
+		ident_case-1.0.1 \
+		inotify-0.7.1 \
+		inotify-sys-0.1.4 \
+		instant-0.1.9 \
+		inventory-0.1.10 \
+		inventory-impl-0.1.10 \
+		iovec-0.1.4 \
+		itoa-0.4.7 \
+		kernel32-sys-0.2.2 \
+		lazy_static-1.4.0 \
+		lazycell-1.3.0 \
+		libc-0.2.82 \
+		lock_api-0.4.2 \
+		log-0.4.11 \
+		mio-0.6.23 \
+		mio-0.7.7 \
+		mio-extras-2.0.6 \
+		miow-0.2.2 \
+		miow-0.3.6 \
+		net2-0.2.37 \
+		notify-4.0.15 \
+		ntapi-0.3.6 \
+		num-0.3.1 \
+		num-complex-0.3.1 \
+		num-integer-0.1.44 \
+		num-iter-0.1.42 \
+		num-rational-0.3.2 \
+		num-traits-0.2.14 \
+		numtoa-0.1.0 \
+		once_cell-1.5.2 \
+		owning_ref-0.4.1 \
+		parking_lot-0.11.1 \
+		parking_lot_core-0.8.2 \
+		proc-macro2-1.0.24 \
+		quote-1.0.8 \
+		redox_syscall-0.1.57 \
+		redox_termios-0.1.1 \
+		redox_users-0.3.5 \
+		rust-argon2-0.8.3 \
+		ryu-1.0.5 \
+		same-file-1.0.6 \
+		scopeguard-1.1.0 \
+		serde-1.0.118 \
+		serde_derive-1.0.118 \
+		serde_json-1.0.61 \
+		signal-hook-0.1.17 \
+		signal-hook-0.3.4 \
+		signal-hook-registry-1.3.0 \
+		slab-0.4.2 \
+		smallvec-1.6.1 \
+		socket2-0.3.19 \
+		stable_deref_trait-1.2.0 \
+		strsim-0.8.0 \
+		strsim-0.9.3 \
+		syn-1.0.57 \
+		termion-1.5.5 \
+		textwrap-0.11.0 \
+		time-0.1.43 \
+		toml-0.5.8 \
+		typetag-0.1.6 \
+		typetag-impl-0.1.6 \
+		unicode-segmentation-1.7.1 \
+		unicode-width-0.1.8 \
+		unicode-xid-0.2.1 \
+		vec_map-0.8.2 \
+		version_check-0.9.2 \
+		walkdir-2.3.1 \
+		wasi-0.9.0+wasi-snapshot-preview1 \
+		wasi-0.10.1+wasi-snapshot-preview1 \
+		wasmer_enumset-1.0.1 \
+		wasmer_enumset_derive-0.5.0 \
+		winapi-0.2.8 \
+		winapi-0.3.9 \
+		winapi-build-0.1.1 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-util-0.1.5 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		ws2_32-sys-0.2.1 \
+		xi-unicode-0.3.0
+
+PLIST_FILES=	bin/${PORTNAME}
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/misc/dijo/distinfo b/misc/dijo/distinfo
new file mode 100644
index 000000000000..485d13b39353
--- /dev/null
+++ b/misc/dijo/distinfo
@@ -0,0 +1,241 @@
+TIMESTAMP = 1672568294
+SHA256 (rust/crates/ahash-0.6.3.crate) = 796540673305a66d127804eef19ad696f1f204b8c1025aaca4958c17eab32877
+SIZE (rust/crates/ahash-0.6.3.crate) = 53912
+SHA256 (rust/crates/ansi_term-0.11.0.crate) = ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b
+SIZE (rust/crates/ansi_term-0.11.0.crate) = 17087
+SHA256 (rust/crates/array-macro-1.0.5.crate) = 06e97b4e522f9e55523001238ac59d13a8603af57f69980de5d8de4bbbe8ada6
+SIZE (rust/crates/array-macro-1.0.5.crate) = 7610
+SHA256 (rust/crates/arrayref-0.3.6.crate) = a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544
+SIZE (rust/crates/arrayref-0.3.6.crate) = 10035
+SHA256 (rust/crates/arrayvec-0.5.2.crate) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b
+SIZE (rust/crates/arrayvec-0.5.2.crate) = 27838
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
+SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
+SHA256 (rust/crates/base64-0.13.0.crate) = 904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd
+SIZE (rust/crates/base64-0.13.0.crate) = 62070
+SHA256 (rust/crates/bitflags-1.2.1.crate) = cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693
+SIZE (rust/crates/bitflags-1.2.1.crate) = 16745
+SHA256 (rust/crates/blake2b_simd-0.5.11.crate) = afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587
+SIZE (rust/crates/blake2b_simd-0.5.11.crate) = 34096
+SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
+SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/chrono-0.4.19.crate) = 670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73
+SIZE (rust/crates/chrono-0.4.19.crate) = 155663
+SHA256 (rust/crates/clap-2.33.3.crate) = 37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002
+SIZE (rust/crates/clap-2.33.3.crate) = 201925
+SHA256 (rust/crates/constant_time_eq-0.1.5.crate) = 245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc
+SIZE (rust/crates/constant_time_eq-0.1.5.crate) = 4936
+SHA256 (rust/crates/crossbeam-channel-0.5.0.crate) = dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775
+SIZE (rust/crates/crossbeam-channel-0.5.0.crate) = 86811
+SHA256 (rust/crates/crossbeam-utils-0.8.1.crate) = 02d96d1e189ef58269ebe5b97953da3274d83a93af647c2ddd6f9dab28cedb8d
+SIZE (rust/crates/crossbeam-utils-0.8.1.crate) = 35914
+SHA256 (rust/crates/crossterm-0.19.0.crate) = 7c36c10130df424b2f3552fcc2ddcd9b28a27b1e54b358b45874f88d1ca6888c
+SIZE (rust/crates/crossterm-0.19.0.crate) = 104572
+SHA256 (rust/crates/crossterm_winapi-0.7.0.crate) = 0da8964ace4d3e4a044fd027919b2237000b24315a37c916f61809f1ff2140b9
+SIZE (rust/crates/crossterm_winapi-0.7.0.crate) = 15187
+SHA256 (rust/crates/ctor-0.1.17.crate) = 373c88d9506e2e9230f6107701b7d8425f4cb3f6df108ec3042a26e936666da5
+SIZE (rust/crates/ctor-0.1.17.crate) = 4793
+SHA256 (rust/crates/cursive-0.16.3.crate) = 6593c3409eb794bf22090bec60dda1e19d1def284478bec7e5a92da3cf977c52
+SIZE (rust/crates/cursive-0.16.3.crate) = 28536
+SHA256 (rust/crates/cursive_core-0.2.2.crate) = 025ac0bcd21ced752d27b70e6aa2285a3513d07b5a0c7f89e71121d20ca1429d
+SIZE (rust/crates/cursive_core-0.2.2.crate) = 147357
+SHA256 (rust/crates/darling-0.10.2.crate) = 0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858
+SIZE (rust/crates/darling-0.10.2.crate) = 17620
+SHA256 (rust/crates/darling_core-0.10.2.crate) = f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b
+SIZE (rust/crates/darling_core-0.10.2.crate) = 44339
+SHA256 (rust/crates/darling_macro-0.10.2.crate) = d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72
+SIZE (rust/crates/darling_macro-0.10.2.crate) = 1919
+SHA256 (rust/crates/directories-3.0.1.crate) = f8fed639d60b58d0f53498ab13d26f621fd77569cc6edb031f4cc36a2ad9da0f
+SIZE (rust/crates/directories-3.0.1.crate) = 15674
+SHA256 (rust/crates/dirs-sys-0.3.5.crate) = 8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a
+SIZE (rust/crates/dirs-sys-0.3.5.crate) = 10643
+SHA256 (rust/crates/enum-map-0.6.4.crate) = 4187999839f4ae8be35cf185d1381aa8dc32d2f5951349cc37ae49ebc4781855
+SIZE (rust/crates/enum-map-0.6.4.crate) = 9477
+SHA256 (rust/crates/enum-map-derive-0.4.6.crate) = e5c450cf304c9e18d45db562025a14fb1ca0f5c769b6f609309f81d4c31de455
+SIZE (rust/crates/enum-map-derive-0.4.6.crate) = 2217
+SHA256 (rust/crates/erased-serde-0.3.13.crate) = 0465971a8cc1fa2455c8465aaa377131e1f1cf4983280f474a13e68793aa770c
+SIZE (rust/crates/erased-serde-0.3.13.crate) = 22748
+SHA256 (rust/crates/filetime-0.2.13.crate) = 0c122a393ea57648015bf06fbd3d372378992e86b9ff5a7a497b076a28c79efe
+SIZE (rust/crates/filetime-0.2.13.crate) = 14348
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/fsevent-0.4.0.crate) = 5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6
+SIZE (rust/crates/fsevent-0.4.0.crate) = 7292
+SHA256 (rust/crates/fsevent-sys-2.0.1.crate) = f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0
+SIZE (rust/crates/fsevent-sys-2.0.1.crate) = 3984
+SHA256 (rust/crates/fuchsia-zircon-0.3.3.crate) = 2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82
+SIZE (rust/crates/fuchsia-zircon-0.3.3.crate) = 22565
+SHA256 (rust/crates/fuchsia-zircon-sys-0.3.3.crate) = 3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7
+SIZE (rust/crates/fuchsia-zircon-sys-0.3.3.crate) = 7191
+SHA256 (rust/crates/getrandom-0.1.16.crate) = 8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce
+SIZE (rust/crates/getrandom-0.1.16.crate) = 25077
+SHA256 (rust/crates/getrandom-0.2.1.crate) = 4060f4657be78b8e766215b02b18a2e862d83745545de804638e2b545e81aee6
+SIZE (rust/crates/getrandom-0.2.1.crate) = 25459
+SHA256 (rust/crates/ghost-0.1.2.crate) = 1a5bcf1bbeab73aa4cf2fde60a846858dc036163c7c33bec309f8d17de785479
+SIZE (rust/crates/ghost-0.1.2.crate) = 12777
+SHA256 (rust/crates/hermit-abi-0.1.17.crate) = 5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8
+SIZE (rust/crates/hermit-abi-0.1.17.crate) = 10065
+SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39
+SIZE (rust/crates/ident_case-1.0.1.crate) = 3492
+SHA256 (rust/crates/inotify-0.7.1.crate) = 4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f
+SIZE (rust/crates/inotify-0.7.1.crate) = 24637
+SHA256 (rust/crates/inotify-sys-0.1.4.crate) = c4563555856585ab3180a5bf0b2f9f8d301a728462afffc8195b3f5394229c55
+SIZE (rust/crates/inotify-sys-0.1.4.crate) = 6873
+SHA256 (rust/crates/instant-0.1.9.crate) = 61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec
+SIZE (rust/crates/instant-0.1.9.crate) = 5213
+SHA256 (rust/crates/inventory-0.1.10.crate) = 0f0f7efb804ec95e33db9ad49e4252f049e37e8b0a4652e3cd61f7999f2eff7f
+SIZE (rust/crates/inventory-0.1.10.crate) = 11572
+SHA256 (rust/crates/inventory-impl-0.1.10.crate) = 75c094e94816723ab936484666968f5b58060492e880f3c8d00489a1e244fa51
+SIZE (rust/crates/inventory-impl-0.1.10.crate) = 6228
+SHA256 (rust/crates/iovec-0.1.4.crate) = b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e
+SIZE (rust/crates/iovec-0.1.4.crate) = 8720
+SHA256 (rust/crates/itoa-0.4.7.crate) = dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736
+SIZE (rust/crates/itoa-0.4.7.crate) = 12099
+SHA256 (rust/crates/kernel32-sys-0.2.2.crate) = 7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d
+SIZE (rust/crates/kernel32-sys-0.2.2.crate) = 24537
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/lazycell-1.3.0.crate) = 830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55
+SIZE (rust/crates/lazycell-1.3.0.crate) = 12502
+SHA256 (rust/crates/libc-0.2.82.crate) = 89203f3fba0a3795506acaad8ebce3c80c0af93f994d5a1d7a0b1eeb23271929
+SIZE (rust/crates/libc-0.2.82.crate) = 515967
+SHA256 (rust/crates/lock_api-0.4.2.crate) = dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312
+SIZE (rust/crates/lock_api-0.4.2.crate) = 20375
+SHA256 (rust/crates/log-0.4.11.crate) = 4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b
+SIZE (rust/crates/log-0.4.11.crate) = 36276
+SHA256 (rust/crates/mio-0.6.23.crate) = 4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4
+SIZE (rust/crates/mio-0.6.23.crate) = 103554
+SHA256 (rust/crates/mio-0.7.7.crate) = e50ae3f04d169fcc9bde0b547d1c205219b7157e07ded9c5aff03e0637cb3ed7
+SIZE (rust/crates/mio-0.7.7.crate) = 85595
+SHA256 (rust/crates/mio-extras-2.0.6.crate) = 52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19
+SIZE (rust/crates/mio-extras-2.0.6.crate) = 16292
+SHA256 (rust/crates/miow-0.2.2.crate) = ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d
+SIZE (rust/crates/miow-0.2.2.crate) = 22044
+SHA256 (rust/crates/miow-0.3.6.crate) = 5a33c1b55807fbed163481b5ba66db4b2fa6cde694a5027be10fb724206c5897
+SIZE (rust/crates/miow-0.3.6.crate) = 24533
+SHA256 (rust/crates/net2-0.2.37.crate) = 391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae
+SIZE (rust/crates/net2-0.2.37.crate) = 21311
+SHA256 (rust/crates/notify-4.0.15.crate) = 80ae4a7688d1fab81c5bf19c64fc8db920be8d519ce6336ed4e7efe024724dbd
+SIZE (rust/crates/notify-4.0.15.crate) = 54853
+SHA256 (rust/crates/ntapi-0.3.6.crate) = 3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44
+SIZE (rust/crates/ntapi-0.3.6.crate) = 127221
+SHA256 (rust/crates/num-0.3.1.crate) = 8b7a8e9be5e039e2ff869df49155f1c06bd01ade2117ec783e56ab0932b67a8f
+SIZE (rust/crates/num-0.3.1.crate) = 9414
+SHA256 (rust/crates/num-complex-0.3.1.crate) = 747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5
+SIZE (rust/crates/num-complex-0.3.1.crate) = 24541
+SHA256 (rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
+SIZE (rust/crates/num-integer-0.1.44.crate) = 22216
+SHA256 (rust/crates/num-iter-0.1.42.crate) = b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59
+SIZE (rust/crates/num-iter-0.1.42.crate) = 10450
+SHA256 (rust/crates/num-rational-0.3.2.crate) = 12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07
+SIZE (rust/crates/num-rational-0.3.2.crate) = 26359
+SHA256 (rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
+SIZE (rust/crates/num-traits-0.2.14.crate) = 45476
+SHA256 (rust/crates/numtoa-0.1.0.crate) = b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef
+SIZE (rust/crates/numtoa-0.1.0.crate) = 8999
+SHA256 (rust/crates/once_cell-1.5.2.crate) = 13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0
+SIZE (rust/crates/once_cell-1.5.2.crate) = 27660
+SHA256 (rust/crates/owning_ref-0.4.1.crate) = 6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce
+SIZE (rust/crates/owning_ref-0.4.1.crate) = 12658
+SHA256 (rust/crates/parking_lot-0.11.1.crate) = 6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb
+SIZE (rust/crates/parking_lot-0.11.1.crate) = 39854
+SHA256 (rust/crates/parking_lot_core-0.8.2.crate) = 9ccb628cad4f84851442432c60ad8e1f607e29752d0bf072cbd0baf28aa34272
+SIZE (rust/crates/parking_lot_core-0.8.2.crate) = 32142
+SHA256 (rust/crates/proc-macro2-1.0.24.crate) = 1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71
+SIZE (rust/crates/proc-macro2-1.0.24.crate) = 37716
+SHA256 (rust/crates/quote-1.0.8.crate) = 991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df
+SIZE (rust/crates/quote-1.0.8.crate) = 24997
+SHA256 (rust/crates/redox_syscall-0.1.57.crate) = 41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce
+SIZE (rust/crates/redox_syscall-0.1.57.crate) = 17087
+SHA256 (rust/crates/redox_termios-0.1.1.crate) = 7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76
+SIZE (rust/crates/redox_termios-0.1.1.crate) = 3227
+SHA256 (rust/crates/redox_users-0.3.5.crate) = de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d
+SIZE (rust/crates/redox_users-0.3.5.crate) = 12644
+SHA256 (rust/crates/rust-argon2-0.8.3.crate) = 4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb
+SIZE (rust/crates/rust-argon2-0.8.3.crate) = 28313
+SHA256 (rust/crates/ryu-1.0.5.crate) = 71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e
+SIZE (rust/crates/ryu-1.0.5.crate) = 49570
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/serde-1.0.118.crate) = 06c64263859d87aa2eb554587e2d23183398d617427327cf2b3d0ed8c69e4800
+SIZE (rust/crates/serde-1.0.118.crate) = 74248
+SHA256 (rust/crates/serde_derive-1.0.118.crate) = c84d3526699cd55261af4b941e4e725444df67aa4f9e6a3564f18030d12672df
+SIZE (rust/crates/serde_derive-1.0.118.crate) = 50589
+SHA256 (rust/crates/serde_json-1.0.61.crate) = 4fceb2595057b6891a4ee808f70054bd2d12f0e97f1cbb78689b59f676df325a
+SIZE (rust/crates/serde_json-1.0.61.crate) = 114887
+SHA256 (rust/crates/signal-hook-0.1.17.crate) = 7e31d442c16f047a671b5a71e2161d6e68814012b7f5379d269ebd915fac2729
+SIZE (rust/crates/signal-hook-0.1.17.crate) = 27085
+SHA256 (rust/crates/signal-hook-0.3.4.crate) = 780f5e3fe0c66f67197236097d89de1e86216f1f6fdeaf47c442f854ab46c240
+SIZE (rust/crates/signal-hook-0.3.4.crate) = 48735
+SHA256 (rust/crates/signal-hook-registry-1.3.0.crate) = 16f1d0fef1604ba8f7a073c7e701f213e056707210e9020af4528e0101ce11a6
+SIZE (rust/crates/signal-hook-registry-1.3.0.crate) = 17786
+SHA256 (rust/crates/slab-0.4.2.crate) = c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8
+SIZE (rust/crates/slab-0.4.2.crate) = 10136
+SHA256 (rust/crates/smallvec-1.6.1.crate) = fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e
+SIZE (rust/crates/smallvec-1.6.1.crate) = 26444
+SHA256 (rust/crates/socket2-0.3.19.crate) = 122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e
+SIZE (rust/crates/socket2-0.3.19.crate) = 33782
+SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
+SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054
+SHA256 (rust/crates/strsim-0.8.0.crate) = 8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a
+SIZE (rust/crates/strsim-0.8.0.crate) = 9309
+SHA256 (rust/crates/strsim-0.9.3.crate) = 6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c
+SIZE (rust/crates/strsim-0.9.3.crate) = 10266
+SHA256 (rust/crates/syn-1.0.57.crate) = 4211ce9909eb971f111059df92c45640aad50a619cf55cd76476be803c4c68e6
+SIZE (rust/crates/syn-1.0.57.crate) = 229228
+SHA256 (rust/crates/termion-1.5.5.crate) = c22cec9d8978d906be5ac94bceb5a010d885c626c4c8855721a4dbd20e3ac905
+SIZE (rust/crates/termion-1.5.5.crate) = 22783
+SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060
+SIZE (rust/crates/textwrap-0.11.0.crate) = 17322
+SHA256 (rust/crates/time-0.1.43.crate) = ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438
+SIZE (rust/crates/time-0.1.43.crate) = 28653
+SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
+SIZE (rust/crates/toml-0.5.8.crate) = 54219
+SHA256 (rust/crates/typetag-0.1.6.crate) = 83b97b107d25d29de6879ac4f676ac5bfea92bdd01f206e995794493f1fc2e32
+SIZE (rust/crates/typetag-0.1.6.crate) = 25659
+SHA256 (rust/crates/typetag-impl-0.1.6.crate) = 3f2466fc87b07b800a5060f89ba579d6882f7a03ac21363e4737764aaf9f99f9
+SIZE (rust/crates/typetag-impl-0.1.6.crate) = 4414
+SHA256 (rust/crates/unicode-segmentation-1.7.1.crate) = bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796
+SIZE (rust/crates/unicode-segmentation-1.7.1.crate) = 93066
+SHA256 (rust/crates/unicode-width-0.1.8.crate) = 9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3
+SIZE (rust/crates/unicode-width-0.1.8.crate) = 16732
+SHA256 (rust/crates/unicode-xid-0.2.1.crate) = f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564
+SIZE (rust/crates/unicode-xid-0.2.1.crate) = 14392
+SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191
+SIZE (rust/crates/vec_map-0.8.2.crate) = 14466
+SHA256 (rust/crates/version_check-0.9.2.crate) = b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed
+SIZE (rust/crates/version_check-0.9.2.crate) = 11979
+SHA256 (rust/crates/walkdir-2.3.1.crate) = 777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d
+SIZE (rust/crates/walkdir-2.3.1.crate) = 23413
+SHA256 (rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519
+SIZE (rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = 31521
+SHA256 (rust/crates/wasi-0.10.1+wasi-snapshot-preview1.crate) = 93c6c3420963c5c64bca373b25e77acb562081b9bb4dd5bb864187742186cea9
+SIZE (rust/crates/wasi-0.10.1+wasi-snapshot-preview1.crate) = 26898
+SHA256 (rust/crates/wasmer_enumset-1.0.1.crate) = cf088cc1f7d247fd96dff0df46fb1bbb747d8a69ae1ecd71aed55c55e354b2d8
+SIZE (rust/crates/wasmer_enumset-1.0.1.crate) = 11873
+SHA256 (rust/crates/wasmer_enumset_derive-0.5.0.crate) = a8d1b32d98e11194200baf6d3f85eb2d6cfe56f6d9af0dd617f90ca48f958a88
+SIZE (rust/crates/wasmer_enumset_derive-0.5.0.crate) = 5657
+SHA256 (rust/crates/winapi-0.2.8.crate) = 167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a
+SIZE (rust/crates/winapi-0.2.8.crate) = 455145
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-build-0.1.1.crate) = 2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc
+SIZE (rust/crates/winapi-build-0.1.1.crate) = 669
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
+SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/ws2_32-sys-0.2.1.crate) = d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e
+SIZE (rust/crates/ws2_32-sys-0.2.1.crate) = 4697
+SHA256 (rust/crates/xi-unicode-0.3.0.crate) = a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a
+SIZE (rust/crates/xi-unicode-0.3.0.crate) = 87001
+SHA256 (NerdyPepper-dijo-v0.2.7_GH0.tar.gz) = d82ce7adb19e5206e014f0a895fe3ed361f32088048116e9d33aea37f3cccb00
+SIZE (NerdyPepper-dijo-v0.2.7_GH0.tar.gz) = 31158
diff --git a/misc/dijo/pkg-descr b/misc/dijo/pkg-descr
new file mode 100644
index 000000000000..8447b699d9d9
--- /dev/null
+++ b/misc/dijo/pkg-descr
@@ -0,0 +1,3 @@
+dijo is a habit tracker. It is curses-based, it runs in your terminal. dijo is
+scriptable, hook it up with external programs to track events without moving a
+finger. dijo is modal, much like a certain text editor.