git: 51b1b2399142 - main - sysutils/process-viewer: New port: Process viewer GUI in Rust

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 05 Jan 2023 05:59:23 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=51b1b2399142ad6765ad79dd49ca1470de6313e5

commit 51b1b2399142ad6765ad79dd49ca1470de6313e5
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-01-05 04:54:23 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-01-05 05:59:15 +0000

    sysutils/process-viewer: New port: Process viewer GUI in Rust
---
 sysutils/Makefile                 |   1 +
 sysutils/process-viewer/Makefile  | 109 +++++++++++++++++++++++++
 sysutils/process-viewer/distinfo  | 165 ++++++++++++++++++++++++++++++++++++++
 sysutils/process-viewer/pkg-descr |   4 +
 4 files changed, 279 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index 005ec87f544a..6e0d568d5bee 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1033,6 +1033,7 @@
     SUBDIR += pprotectd
     SUBDIR += prips
     SUBDIR += procenv
+    SUBDIR += process-viewer
     SUBDIR += procmap
     SUBDIR += progsreiserfs
     SUBDIR += pslist
diff --git a/sysutils/process-viewer/Makefile b/sysutils/process-viewer/Makefile
new file mode 100644
index 000000000000..d99daf276738
--- /dev/null
+++ b/sysutils/process-viewer/Makefile
@@ -0,0 +1,109 @@
+PORTNAME=	process-viewer
+DISTVERSION=	g20220909
+CATEGORIES=	sysutils
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Process viewer GUI in Rust
+WWW=		https://github.com/guillaumegomez/process-viewer
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	libgraphene-1.0.so:graphics/graphene \
+		libgtk-4.so:x11-toolkits/gtk40
+
+USES=		cargo gnome
+USE_GNOME=	cairo gdkpixbuf2 glib20 pango
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	guillaumegomez
+GH_TAGNAME=	b270176
+
+CARGO_CRATES=	anyhow-1.0.57 \
+		autocfg-1.1.0 \
+		bitflags-1.3.2 \
+		cairo-rs-0.15.11 \
+		cairo-sys-rs-0.15.1 \
+		cfg-expr-0.10.2 \
+		cfg-if-1.0.0 \
+		core-foundation-sys-0.8.3 \
+		crossbeam-channel-0.5.4 \
+		crossbeam-deque-0.8.1 \
+		crossbeam-epoch-0.9.8 \
+		crossbeam-utils-0.8.8 \
+		either-1.6.1 \
+		field-offset-0.3.4 \
+		futures-channel-0.3.21 \
+		futures-core-0.3.21 \
+		futures-executor-0.3.21 \
+		futures-io-0.3.21 \
+		futures-task-0.3.21 \
+		futures-util-0.3.21 \
+		gdk-pixbuf-0.15.11 \
+		gdk-pixbuf-sys-0.15.10 \
+		gdk4-0.4.7 \
+		gdk4-sys-0.4.2 \
+		gio-0.15.11 \
+		gio-sys-0.15.10 \
+		glib-0.15.11 \
+		glib-macros-0.15.11 \
+		glib-sys-0.15.10 \
+		gobject-sys-0.15.10 \
+		graphene-rs-0.15.1 \
+		graphene-sys-0.15.10 \
+		gsk4-0.4.7 \
+		gsk4-sys-0.4.2 \
+		gtk4-0.4.7 \
+		gtk4-macros-0.4.7 \
+		gtk4-sys-0.4.5 \
+		heck-0.4.0 \
+		hermit-abi-0.1.19 \
+		lazy_static-1.4.0 \
+		libc-0.2.124 \
+		memchr-2.4.1 \
+		memoffset-0.6.5 \
+		ntapi-0.3.7 \
+		num_cpus-1.13.1 \
+		once_cell-1.10.0 \
+		pango-0.15.10 \
+		pango-sys-0.15.10 \
+		pest-2.1.3 \
+		pin-project-lite-0.2.9 \
+		pin-utils-0.1.0 \
+		pkg-config-0.3.25 \
+		proc-macro-crate-1.1.3 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
+		proc-macro2-1.0.37 \
+		quick-xml-0.22.0 \
+		quote-1.0.18 \
+		rayon-1.5.2 \
+		rayon-core-1.9.2 \
+		rustc_version-0.3.3 \
+		scopeguard-1.1.0 \
+		semver-0.11.0 \
+		semver-parser-0.10.2 \
+		serde-1.0.136 \
+		serde_derive-1.0.136 \
+		slab-0.4.6 \
+		smallvec-1.8.0 \
+		syn-1.0.91 \
+		sysinfo-0.26.2 \
+		system-deps-6.0.2 \
+		thiserror-1.0.30 \
+		thiserror-impl-1.0.30 \
+		toml-0.5.9 \
+		ucd-trie-0.1.3 \
+		unicode-xid-0.2.2 \
+		version-compare-0.1.0 \
+		version_check-0.9.4 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-x86_64-pc-windows-gnu-0.4.0
+
+PLIST_FILES=	bin/process_viewer
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/process_viewer
+
+.include <bsd.port.mk>
diff --git a/sysutils/process-viewer/distinfo b/sysutils/process-viewer/distinfo
new file mode 100644
index 000000000000..2ad9c29fa206
--- /dev/null
+++ b/sysutils/process-viewer/distinfo
@@ -0,0 +1,165 @@
+TIMESTAMP = 1672885106
+SHA256 (rust/crates/anyhow-1.0.57.crate) = 08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc
+SIZE (rust/crates/anyhow-1.0.57.crate) = 44614
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/cairo-rs-0.15.11.crate) = 62be3562254e90c1c6050a72aa638f6315593e98c5cdaba9017cedbabf0a5dee
+SIZE (rust/crates/cairo-rs-0.15.11.crate) = 49486
+SHA256 (rust/crates/cairo-sys-rs-0.15.1.crate) = 3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8
+SIZE (rust/crates/cairo-sys-rs-0.15.1.crate) = 11280
+SHA256 (rust/crates/cfg-expr-0.10.2.crate) = 5e068cb2806bbc15b439846dc16c5f89f8599f2c3e4d73d4449d38f9b2f0b6c5
+SIZE (rust/crates/cfg-expr-0.10.2.crate) = 37734
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/core-foundation-sys-0.8.3.crate) = 5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc
+SIZE (rust/crates/core-foundation-sys-0.8.3.crate) = 17519
+SHA256 (rust/crates/crossbeam-channel-0.5.4.crate) = 5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53
+SIZE (rust/crates/crossbeam-channel-0.5.4.crate) = 88237
+SHA256 (rust/crates/crossbeam-deque-0.8.1.crate) = 6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e
+SIZE (rust/crates/crossbeam-deque-0.8.1.crate) = 20852
+SHA256 (rust/crates/crossbeam-epoch-0.9.8.crate) = 1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c
+SIZE (rust/crates/crossbeam-epoch-0.9.8.crate) = 46012
+SHA256 (rust/crates/crossbeam-utils-0.8.8.crate) = 0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38
+SIZE (rust/crates/crossbeam-utils-0.8.8.crate) = 39681
+SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
+SIZE (rust/crates/either-1.6.1.crate) = 13641
+SHA256 (rust/crates/field-offset-0.3.4.crate) = 1e1c54951450cbd39f3dbcf1005ac413b49487dabf18a720ad2383eccfeffb92
+SIZE (rust/crates/field-offset-0.3.4.crate) = 6046
+SHA256 (rust/crates/futures-channel-0.3.21.crate) = c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010
+SIZE (rust/crates/futures-channel-0.3.21.crate) = 31961
+SHA256 (rust/crates/futures-core-0.3.21.crate) = 0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3
+SIZE (rust/crates/futures-core-0.3.21.crate) = 14601
+SHA256 (rust/crates/futures-executor-0.3.21.crate) = 9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6
+SIZE (rust/crates/futures-executor-0.3.21.crate) = 17306
+SHA256 (rust/crates/futures-io-0.3.21.crate) = fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b
+SIZE (rust/crates/futures-io-0.3.21.crate) = 8902
+SHA256 (rust/crates/futures-task-0.3.21.crate) = 57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a
+SIZE (rust/crates/futures-task-0.3.21.crate) = 11815
+SHA256 (rust/crates/futures-util-0.3.21.crate) = d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a
+SIZE (rust/crates/futures-util-0.3.21.crate) = 153768
+SHA256 (rust/crates/gdk-pixbuf-0.15.11.crate) = ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a
+SIZE (rust/crates/gdk-pixbuf-0.15.11.crate) = 15636
+SHA256 (rust/crates/gdk-pixbuf-sys-0.15.10.crate) = 140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7
+SIZE (rust/crates/gdk-pixbuf-sys-0.15.10.crate) = 9891
+SHA256 (rust/crates/gdk4-0.4.7.crate) = d4a2fc0bd03d59383fc10b71a8cb731a1fac2998732a36a0c03e9b1de1513218
+SIZE (rust/crates/gdk4-0.4.7.crate) = 85690
+SHA256 (rust/crates/gdk4-sys-0.4.2.crate) = 48a39e34abe35ee2cf54a1e29dd983accecd113ad30bdead5050418fa92f2a1b
+SIZE (rust/crates/gdk4-sys-0.4.2.crate) = 63630
+SHA256 (rust/crates/gio-0.15.11.crate) = 0f132be35e05d9662b9fa0fee3f349c6621f7782e0105917f4cc73c1bf47eceb
+SIZE (rust/crates/gio-0.15.11.crate) = 190948
+SHA256 (rust/crates/gio-sys-0.15.10.crate) = 32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d
+SIZE (rust/crates/gio-sys-0.15.10.crate) = 79552
+SHA256 (rust/crates/glib-0.15.11.crate) = bd124026a2fa8c33a3d17a3fe59c103f2d9fa5bd92c19e029e037736729abeab
+SIZE (rust/crates/glib-0.15.11.crate) = 207394
+SHA256 (rust/crates/glib-macros-0.15.11.crate) = 25a68131a662b04931e71891fb14aaf65ee4b44d08e8abc10f49e77418c86c64
+SIZE (rust/crates/glib-macros-0.15.11.crate) = 27851
+SHA256 (rust/crates/glib-sys-0.15.10.crate) = ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4
+SIZE (rust/crates/glib-sys-0.15.10.crate) = 59966
+SHA256 (rust/crates/gobject-sys-0.15.10.crate) = 0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a
+SIZE (rust/crates/gobject-sys-0.15.10.crate) = 18534
+SHA256 (rust/crates/graphene-rs-0.15.1.crate) = 7c54f9fbbeefdb62c99f892dfca35f83991e2cb5b46a8dc2a715e58612f85570
+SIZE (rust/crates/graphene-rs-0.15.1.crate) = 17651
+SHA256 (rust/crates/graphene-sys-0.15.10.crate) = fa691fc7337ba1df599afb55c3bcb85c04f1b3f17362570e9bb0ff0d1bc3028a
+SIZE (rust/crates/graphene-sys-0.15.10.crate) = 11485
+SHA256 (rust/crates/gsk4-0.4.7.crate) = 14d5a47a78c682bb67496b562495ed84972c0512ba0654888c4dc92b80a85bd3
+SIZE (rust/crates/gsk4-0.4.7.crate) = 24299
+SHA256 (rust/crates/gsk4-sys-0.4.2.crate) = e31d21d7ce02ba261bb24c50c4ab238a10b41a2c97c32afffae29471b7cca69b
+SIZE (rust/crates/gsk4-sys-0.4.2.crate) = 11817
+SHA256 (rust/crates/gtk4-0.4.7.crate) = eb5d40303dabe4608fc260de2bd7563da6f85bc90af956323f0cd8ae0abcfe03
+SIZE (rust/crates/gtk4-0.4.7.crate) = 528741
+SHA256 (rust/crates/gtk4-macros-0.4.7.crate) = 7f3c4aa605fb3d78205c7aef0eeaa6db61d8cc4dd05a465dc6ffdfdaee84f825
+SIZE (rust/crates/gtk4-macros-0.4.7.crate) = 14953
+SHA256 (rust/crates/gtk4-sys-0.4.5.crate) = c47c075e8f795c38f6e9a47b51a73eab77b325f83c0154979ed4d4245c36490d
+SIZE (rust/crates/gtk4-sys-0.4.5.crate) = 99876
+SHA256 (rust/crates/heck-0.4.0.crate) = 2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9
+SIZE (rust/crates/heck-0.4.0.crate) = 11161
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/libc-0.2.124.crate) = 21a41fed9d98f27ab1c6d161da622a4fa35e8a54a8adc24bbf3ddd0ef70b0e50
+SIZE (rust/crates/libc-0.2.124.crate) = 577742
+SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
+SIZE (rust/crates/memchr-2.4.1.crate) = 64977
+SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
+SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
+SHA256 (rust/crates/ntapi-0.3.7.crate) = c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f
+SIZE (rust/crates/ntapi-0.3.7.crate) = 126994
+SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1
+SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752
+SHA256 (rust/crates/once_cell-1.10.0.crate) = 87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9
+SIZE (rust/crates/once_cell-1.10.0.crate) = 30414
+SHA256 (rust/crates/pango-0.15.10.crate) = 22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f
+SIZE (rust/crates/pango-0.15.10.crate) = 43927
+SHA256 (rust/crates/pango-sys-0.15.10.crate) = d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa
+SIZE (rust/crates/pango-sys-0.15.10.crate) = 24729
+SHA256 (rust/crates/pest-2.1.3.crate) = 10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53
+SIZE (rust/crates/pest-2.1.3.crate) = 77986
+SHA256 (rust/crates/pin-project-lite-0.2.9.crate) = e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116
+SIZE (rust/crates/pin-project-lite-0.2.9.crate) = 27713
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/pkg-config-0.3.25.crate) = 1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae
+SIZE (rust/crates/pkg-config-0.3.25.crate) = 16838
+SHA256 (rust/crates/proc-macro-crate-1.1.3.crate) = e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a
+SIZE (rust/crates/proc-macro-crate-1.1.3.crate) = 8758
+SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
+SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
+SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
+SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
+SHA256 (rust/crates/proc-macro2-1.0.37.crate) = ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1
+SIZE (rust/crates/proc-macro2-1.0.37.crate) = 41378
+SHA256 (rust/crates/quick-xml-0.22.0.crate) = 8533f14c8382aaad0d592c812ac3b826162128b65662331e1127b45c3d18536b
+SIZE (rust/crates/quick-xml-0.22.0.crate) = 132066
+SHA256 (rust/crates/quote-1.0.18.crate) = a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1
+SIZE (rust/crates/quote-1.0.18.crate) = 28911
+SHA256 (rust/crates/rayon-1.5.2.crate) = fd249e82c21598a9a426a4e00dd7adc1d640b22445ec8545feef801d1a74c221
+SIZE (rust/crates/rayon-1.5.2.crate) = 165456
+SHA256 (rust/crates/rayon-core-1.9.2.crate) = 9f51245e1e62e1f1629cbfec37b5793bbabcaeb90f30e94d2ba03564687353e4
+SIZE (rust/crates/rayon-core-1.9.2.crate) = 65221
+SHA256 (rust/crates/rustc_version-0.3.3.crate) = f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee
+SIZE (rust/crates/rustc_version-0.3.3.crate) = 12119
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/semver-0.11.0.crate) = f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6
+SIZE (rust/crates/semver-0.11.0.crate) = 20826
+SHA256 (rust/crates/semver-parser-0.10.2.crate) = 00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7
+SIZE (rust/crates/semver-parser-0.10.2.crate) = 23176
+SHA256 (rust/crates/serde-1.0.136.crate) = ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789
+SIZE (rust/crates/serde-1.0.136.crate) = 76158
+SHA256 (rust/crates/serde_derive-1.0.136.crate) = 08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9
+SIZE (rust/crates/serde_derive-1.0.136.crate) = 54776
+SHA256 (rust/crates/slab-0.4.6.crate) = eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32
+SIZE (rust/crates/slab-0.4.6.crate) = 16067
+SHA256 (rust/crates/smallvec-1.8.0.crate) = f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83
+SIZE (rust/crates/smallvec-1.8.0.crate) = 27992
+SHA256 (rust/crates/syn-1.0.91.crate) = b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d
+SIZE (rust/crates/syn-1.0.91.crate) = 235996
+SHA256 (rust/crates/sysinfo-0.26.2.crate) = 4ae2421f3e16b3afd4aa692d23b83d0ba42ee9b0081d5deeb7d21428d7195fb1
+SIZE (rust/crates/sysinfo-0.26.2.crate) = 131634
+SHA256 (rust/crates/system-deps-6.0.2.crate) = a1a45a1c4c9015217e12347f2a411b57ce2c4fc543913b14b6fe40483328e709
+SIZE (rust/crates/system-deps-6.0.2.crate) = 22869
+SHA256 (rust/crates/thiserror-1.0.30.crate) = 854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417
+SIZE (rust/crates/thiserror-1.0.30.crate) = 17748
+SHA256 (rust/crates/thiserror-impl-1.0.30.crate) = aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b
+SIZE (rust/crates/thiserror-impl-1.0.30.crate) = 15230
+SHA256 (rust/crates/toml-0.5.9.crate) = 8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7
+SIZE (rust/crates/toml-0.5.9.crate) = 55667
+SHA256 (rust/crates/ucd-trie-0.1.3.crate) = 56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c
+SIZE (rust/crates/ucd-trie-0.1.3.crate) = 44615
+SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
+SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
+SHA256 (rust/crates/version-compare-0.1.0.crate) = fe88247b92c1df6b6de80ddc290f3976dbdf2f5f5d3fd049a9fb598c6dd5ca73
+SIZE (rust/crates/version-compare-0.1.0.crate) = 14169
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+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-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 (guillaumegomez-process-viewer-g20220909-b270176_GH0.tar.gz) = 371579e18871a97087ce873b5d570efe01d8dbd4cb39e9e12f12325e5880bc33
+SIZE (guillaumegomez-process-viewer-g20220909-b270176_GH0.tar.gz) = 88451
diff --git a/sysutils/process-viewer/pkg-descr b/sysutils/process-viewer/pkg-descr
new file mode 100644
index 000000000000..4a4218d2cc54
--- /dev/null
+++ b/sysutils/process-viewer/pkg-descr
@@ -0,0 +1,4 @@
+process-viewer is a process viewer GUI in Rust. It provides current status of
+your processes (cpu and memory usage) and your system (usage of every core and
+of your RAM, and the temperature of your components if this information is
+available).