git: 837378593f78 - main - x11/shotman: add new port

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Sun, 27 Nov 2022 03:09:22 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=837378593f788395368ec343c79abcb07cc3a12d

commit 837378593f788395368ec343c79abcb07cc3a12d
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2022-10-03 16:55:25 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2022-11-27 03:08:40 +0000

    x11/shotman: add new port
    
    The uncompromising screenshot GUI for Wayland compositors.
    
    shotman takes a screenshot and shows it in a small floating thumbnail window.
    The screenshot can then copied with Ctrl+C, deleted with D, or dismissed
    with Esc.
    
    shotman is designed to run in response to some global hotkey (e.g.: Super+P,
    PrintScreen, etc). It is designed for interactive usage.
    
    https://git.sr.ht/~whynothugo/shotman
---
 x11/Makefile                |   1 +
 x11/shotman/Makefile        |  40 +++++++++
 x11/shotman/Makefile.crates | 105 ++++++++++++++++++++++
 x11/shotman/distinfo        | 215 ++++++++++++++++++++++++++++++++++++++++++++
 x11/shotman/pkg-descr       |   8 ++
 5 files changed, 369 insertions(+)

diff --git a/x11/Makefile b/x11/Makefile
index 77731ee4dd4d..632928fe65f4 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -337,6 +337,7 @@
     SUBDIR += sessreg
     SUBDIR += setlayout
     SUBDIR += setxkbmap
+    SUBDIR += shotman
     SUBDIR += showkeys
     SUBDIR += showmethekey
     SUBDIR += simplestroke
diff --git a/x11/shotman/Makefile b/x11/shotman/Makefile
new file mode 100644
index 000000000000..33fd6056c65f
--- /dev/null
+++ b/x11/shotman/Makefile
@@ -0,0 +1,40 @@
+PORTNAME=	shotman
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.2.0
+CATEGORIES=	x11 wayland
+MASTER_SITES=	https://git.sr.ht/~whynothugo/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/
+# XXX Teach USES=cargo to not override default DISTFILES
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
+
+PATCH_SITES=	https://git.sr.ht/~whynothugo/${PORTNAME}/commit/
+PATCHFILES+=	020226f74730.patch:-p1 # manpage
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	Uncompromising screenshot GUI for Wayland
+WWW=		https://git.sr.ht/~whynothugo/shotman
+
+LICENSE=	ISCL
+LICENSE_FILE=	${WRKSRC}/LICENCE.md
+
+LIB_DEPENDS=	libxkbcommon.so:x11/libxkbcommon
+
+USES=		cargo pkgconfig
+PLIST_FILES=	bin/${PORTNAME}
+
+OPTIONS_DEFINE=	MANPAGES SLURP
+OPTIONS_DEFAULT=MANPAGES SLURP
+
+MANPAGES_BUILD_DEPENDS=	scdoc:textproc/scdoc
+MANPAGES_PLIST_FILES=	share/man/man1/${PORTNAME}.1.gz
+
+SLURP_DESC=		Interactive region selector
+SLURP_RUN_DEPENDS=	slurp:x11/slurp
+
+do-build-MANPAGES-on:
+	scdoc < ${WRKSRC}/${PORTNAME}.1.scd >${WRKSRC}/${PORTNAME}.1
+
+do-install-MANPAGES-on:
+	${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 \
+		${STAGEDIR}${PREFIX}/${MANPAGES_PLIST_FILES:H}
+
+.include <bsd.port.mk>
diff --git a/x11/shotman/Makefile.crates b/x11/shotman/Makefile.crates
new file mode 100644
index 000000000000..71776e65f19f
--- /dev/null
+++ b/x11/shotman/Makefile.crates
@@ -0,0 +1,105 @@
+CARGO_CRATES=	adler-1.0.2 \
+		android_system_properties-0.1.5 \
+		anyhow-1.0.65 \
+		atty-0.2.14 \
+		autocfg-1.1.0 \
+		bitflags-1.3.2 \
+		bumpalo-3.11.0 \
+		calloop-0.10.1 \
+		cc-1.0.73 \
+		cfg-if-1.0.0 \
+		chrono-0.4.22 \
+		clap-3.2.22 \
+		clap_derive-3.2.18 \
+		clap_lex-0.2.4 \
+		colored-2.0.0 \
+		core-foundation-sys-0.8.3 \
+		crc32fast-1.3.2 \
+		dlib-0.5.0 \
+		downcast-rs-1.2.0 \
+		either-1.8.0 \
+		errno-0.2.8 \
+		errno-dragonfly-0.1.2 \
+		flate2-1.0.24 \
+		futures-channel-0.3.24 \
+		futures-core-0.3.24 \
+		hashbrown-0.12.3 \
+		heck-0.4.0 \
+		hermit-abi-0.1.19 \
+		iana-time-zone-0.1.49 \
+		indexmap-1.9.1 \
+		io-lifetimes-1.0.0-rc1 \
+		itertools-0.10.5 \
+		itoa-1.0.3 \
+		js-sys-0.3.60 \
+		lazy_static-1.4.0 \
+		libc-0.2.133 \
+		libloading-0.7.3 \
+		linux-raw-sys-0.0.46 \
+		log-0.4.17 \
+		memchr-2.5.0 \
+		memmap2-0.5.7 \
+		memoffset-0.6.5 \
+		minimal-lexical-0.2.1 \
+		miniz_oxide-0.5.4 \
+		nix-0.24.2 \
+		nom-7.1.1 \
+		num-integer-0.1.45 \
+		num-traits-0.2.15 \
+		num_threads-0.1.6 \
+		once_cell-1.15.0 \
+		os_str_bytes-6.3.0 \
+		pkg-config-0.3.25 \
+		png-0.17.6 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
+		proc-macro2-1.0.43 \
+		quick-xml-0.23.1 \
+		quote-1.0.21 \
+		rustix-0.36.0-rc1 \
+		ryu-1.0.11 \
+		scoped-tls-1.0.0 \
+		serde-1.0.145 \
+		serde_derive-1.0.145 \
+		serde_json-1.0.85 \
+		simple_logger-2.3.0 \
+		slotmap-1.0.6 \
+		smallvec-1.9.0 \
+		strsim-0.10.0 \
+		syn-1.0.100 \
+		termcolor-1.1.3 \
+		textwrap-0.15.1 \
+		thiserror-1.0.35 \
+		thiserror-impl-1.0.35 \
+		time-0.1.44 \
+		time-0.3.14 \
+		time-macros-0.2.4 \
+		unicode-ident-1.0.4 \
+		vec_map-0.8.2 \
+		version_check-0.9.4 \
+		wasi-0.10.0+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.83 \
+		wasm-bindgen-backend-0.2.83 \
+		wasm-bindgen-macro-0.2.83 \
+		wasm-bindgen-macro-support-0.2.83 \
+		wasm-bindgen-shared-0.2.83 \
+		wayland-backend-0.1.0-beta.10 \
+		wayland-client-0.30.0-beta.10 \
+		wayland-cursor-0.30.0-beta.10 \
+		wayland-protocols-0.30.0-beta.10 \
+		wayland-protocols-wlr-0.1.0-beta.10 \
+		wayland-scanner-0.30.0-beta.10 \
+		wayland-sys-0.30.0-beta.10 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-util-0.1.5 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-sys-0.36.1 \
+		windows_aarch64_msvc-0.36.1 \
+		windows_i686_gnu-0.36.1 \
+		windows_i686_msvc-0.36.1 \
+		windows_x86_64_gnu-0.36.1 \
+		windows_x86_64_msvc-0.36.1 \
+		xcursor-0.3.4 \
+		xkbcommon@git+https://github.com/rust-x-bindings/xkbcommon-rs\#4e491bee1b850625ae077134901f89836edb6e81 \
+		smithay-client-toolkit@git+https://github.com/Smithay/client-toolkit.git\#1cc11af8538040f46173bf021ac079c342ddeebb
diff --git a/x11/shotman/distinfo b/x11/shotman/distinfo
new file mode 100644
index 000000000000..733d98544c3d
--- /dev/null
+++ b/x11/shotman/distinfo
@@ -0,0 +1,215 @@
+TIMESTAMP = 1664816125
+SHA256 (shotman-v0.2.0.tar.gz) = dc63405fd94d8888596020fadba5708322858dbe621a225d7335a86b3c452326
+SIZE (shotman-v0.2.0.tar.gz) = 23154
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+SHA256 (rust/crates/anyhow-1.0.65.crate) = 98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602
+SIZE (rust/crates/anyhow-1.0.65.crate) = 43585
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+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/bumpalo-3.11.0.crate) = c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d
+SIZE (rust/crates/bumpalo-3.11.0.crate) = 80945
+SHA256 (rust/crates/calloop-0.10.1.crate) = a22a6a8f622f797120d452c630b0ab12e1331a1a753e2039ce7868d4ac77b4ee
+SIZE (rust/crates/calloop-0.10.1.crate) = 53614
+SHA256 (rust/crates/cc-1.0.73.crate) = 2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11
+SIZE (rust/crates/cc-1.0.73.crate) = 57880
+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.22.crate) = bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1
+SIZE (rust/crates/chrono-0.4.22.crate) = 185570
+SHA256 (rust/crates/clap-3.2.22.crate) = 86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750
+SIZE (rust/crates/clap-3.2.22.crate) = 219438
+SHA256 (rust/crates/clap_derive-3.2.18.crate) = ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65
+SIZE (rust/crates/clap_derive-3.2.18.crate) = 28208
+SHA256 (rust/crates/clap_lex-0.2.4.crate) = 2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5
+SIZE (rust/crates/clap_lex-0.2.4.crate) = 9652
+SHA256 (rust/crates/colored-2.0.0.crate) = b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd
+SIZE (rust/crates/colored-2.0.0.crate) = 21619
+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/crc32fast-1.3.2.crate) = b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d
+SIZE (rust/crates/crc32fast-1.3.2.crate) = 38661
+SHA256 (rust/crates/dlib-0.5.0.crate) = ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794
+SIZE (rust/crates/dlib-0.5.0.crate) = 5788
+SHA256 (rust/crates/downcast-rs-1.2.0.crate) = 9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650
+SIZE (rust/crates/downcast-rs-1.2.0.crate) = 11670
+SHA256 (rust/crates/either-1.8.0.crate) = 90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797
+SIZE (rust/crates/either-1.8.0.crate) = 15992
+SHA256 (rust/crates/errno-0.2.8.crate) = f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1
+SIZE (rust/crates/errno-0.2.8.crate) = 9276
+SHA256 (rust/crates/errno-dragonfly-0.1.2.crate) = aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf
+SIZE (rust/crates/errno-dragonfly-0.1.2.crate) = 1810
+SHA256 (rust/crates/flate2-1.0.24.crate) = f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6
+SIZE (rust/crates/flate2-1.0.24.crate) = 70191
+SHA256 (rust/crates/futures-channel-0.3.24.crate) = 30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050
+SIZE (rust/crates/futures-channel-0.3.24.crate) = 31963
+SHA256 (rust/crates/futures-core-0.3.24.crate) = 4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf
+SIZE (rust/crates/futures-core-0.3.24.crate) = 14618
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+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/iana-time-zone-0.1.49.crate) = 3bbaead50122b06e9a973ac20bc7445074d99ad9a0a0654934876908a9cec82c
+SIZE (rust/crates/iana-time-zone-0.1.49.crate) = 17119
+SHA256 (rust/crates/indexmap-1.9.1.crate) = 10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e
+SIZE (rust/crates/indexmap-1.9.1.crate) = 54114
+SHA256 (rust/crates/io-lifetimes-1.0.0-rc1.crate) = 6f65dae1d3aa98e6877917ab4e6fdbfdfb00e95885ea7c4f4f29e3a5dfc08fdf
+SIZE (rust/crates/io-lifetimes-1.0.0-rc1.crate) = 35825
+SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
+SIZE (rust/crates/itertools-0.10.5.crate) = 115354
+SHA256 (rust/crates/itoa-1.0.3.crate) = 6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754
+SIZE (rust/crates/itoa-1.0.3.crate) = 10481
+SHA256 (rust/crates/js-sys-0.3.60.crate) = 49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47
+SIZE (rust/crates/js-sys-0.3.60.crate) = 79257
+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.133.crate) = c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966
+SIZE (rust/crates/libc-0.2.133.crate) = 603256
+SHA256 (rust/crates/libloading-0.7.3.crate) = efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd
+SIZE (rust/crates/libloading-0.7.3.crate) = 27378
+SHA256 (rust/crates/linux-raw-sys-0.0.46.crate) = d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d
+SIZE (rust/crates/linux-raw-sys-0.0.46.crate) = 807633
+SHA256 (rust/crates/log-0.4.17.crate) = abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e
+SIZE (rust/crates/log-0.4.17.crate) = 38028
+SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
+SIZE (rust/crates/memchr-2.5.0.crate) = 65812
+SHA256 (rust/crates/memmap2-0.5.7.crate) = 95af15f345b17af2efc8ead6080fb8bc376f8cec1b35277b935637595fe77498
+SIZE (rust/crates/memmap2-0.5.7.crate) = 26229
+SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
+SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
+SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
+SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
+SHA256 (rust/crates/miniz_oxide-0.5.4.crate) = 96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34
+SIZE (rust/crates/miniz_oxide-0.5.4.crate) = 53485
+SHA256 (rust/crates/nix-0.24.2.crate) = 195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc
+SIZE (rust/crates/nix-0.24.2.crate) = 264176
+SHA256 (rust/crates/nom-7.1.1.crate) = a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36
+SIZE (rust/crates/nom-7.1.1.crate) = 115818
+SHA256 (rust/crates/num-integer-0.1.45.crate) = 225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9
+SIZE (rust/crates/num-integer-0.1.45.crate) = 22529
+SHA256 (rust/crates/num-traits-0.2.15.crate) = 578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd
+SIZE (rust/crates/num-traits-0.2.15.crate) = 49262
+SHA256 (rust/crates/num_threads-0.1.6.crate) = 2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44
+SIZE (rust/crates/num_threads-0.1.6.crate) = 7334
+SHA256 (rust/crates/once_cell-1.15.0.crate) = e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1
+SIZE (rust/crates/once_cell-1.15.0.crate) = 31460
+SHA256 (rust/crates/os_str_bytes-6.3.0.crate) = 9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff
+SIZE (rust/crates/os_str_bytes-6.3.0.crate) = 22928
+SHA256 (rust/crates/pkg-config-0.3.25.crate) = 1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae
+SIZE (rust/crates/pkg-config-0.3.25.crate) = 16838
+SHA256 (rust/crates/png-0.17.6.crate) = 8f0e7f4c94ec26ff209cee506314212639d6c91b80afb82984819fafce9df01c
+SIZE (rust/crates/png-0.17.6.crate) = 80695
+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.43.crate) = 0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab
+SIZE (rust/crates/proc-macro2-1.0.43.crate) = 41512
+SHA256 (rust/crates/quick-xml-0.23.1.crate) = 11bafc859c6815fbaffbbbf4229ecb767ac913fecb27f9ad4343662e9ef099ea
+SIZE (rust/crates/quick-xml-0.23.1.crate) = 161488
+SHA256 (rust/crates/quote-1.0.21.crate) = bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179
+SIZE (rust/crates/quote-1.0.21.crate) = 28030
+SHA256 (rust/crates/rustix-0.36.0-rc1.crate) = feb900780cdb902c57684e849823f22bcf252107391751aef341e2c2b10db765
+SIZE (rust/crates/rustix-0.36.0-rc1.crate) = 266408
+SHA256 (rust/crates/ryu-1.0.11.crate) = 4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09
+SIZE (rust/crates/ryu-1.0.11.crate) = 47007
+SHA256 (rust/crates/scoped-tls-1.0.0.crate) = ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2
+SIZE (rust/crates/scoped-tls-1.0.0.crate) = 9146
+SHA256 (rust/crates/serde-1.0.145.crate) = 728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b
+SIZE (rust/crates/serde-1.0.145.crate) = 76568
+SHA256 (rust/crates/serde_derive-1.0.145.crate) = 81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c
+SIZE (rust/crates/serde_derive-1.0.145.crate) = 54860
+SHA256 (rust/crates/serde_json-1.0.85.crate) = e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44
+SIZE (rust/crates/serde_json-1.0.85.crate) = 144635
+SHA256 (rust/crates/simple_logger-2.3.0.crate) = 48047e77b528151aaf841a10a9025f9459da80ba820e425ff7eb005708a76dc7
+SIZE (rust/crates/simple_logger-2.3.0.crate) = 9656
+SHA256 (rust/crates/slotmap-1.0.6.crate) = e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342
+SIZE (rust/crates/slotmap-1.0.6.crate) = 58954
+SHA256 (rust/crates/smallvec-1.9.0.crate) = 2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1
+SIZE (rust/crates/smallvec-1.9.0.crate) = 28396
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/syn-1.0.100.crate) = 52205623b1b0f064a4e71182c3b18ae902267282930c6d5462c91b859668426e
+SIZE (rust/crates/syn-1.0.100.crate) = 236691
+SHA256 (rust/crates/termcolor-1.1.3.crate) = bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755
+SIZE (rust/crates/termcolor-1.1.3.crate) = 17242
+SHA256 (rust/crates/textwrap-0.15.1.crate) = 949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16
+SIZE (rust/crates/textwrap-0.15.1.crate) = 55940
+SHA256 (rust/crates/thiserror-1.0.35.crate) = c53f98874615aea268107765aa1ed8f6116782501d18e53d08b471733bea6c85
+SIZE (rust/crates/thiserror-1.0.35.crate) = 18451
+SHA256 (rust/crates/thiserror-impl-1.0.35.crate) = f8b463991b4eab2d801e724172285ec4195c650e8ec79b149e6c2a8e6dd3f783
+SIZE (rust/crates/thiserror-impl-1.0.35.crate) = 15433
+SHA256 (rust/crates/time-0.1.44.crate) = 6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255
+SIZE (rust/crates/time-0.1.44.crate) = 28885
+SHA256 (rust/crates/time-0.3.14.crate) = 3c3f9a28b618c3a6b9251b6908e9c99e04b9e5c02e6581ccbb67d59c34ef7f9b
+SIZE (rust/crates/time-0.3.14.crate) = 93111
+SHA256 (rust/crates/time-macros-0.2.4.crate) = 42657b1a6f4d817cda8e7a0ace261fe0cc946cf3a80314390b22cc61ae080792
+SIZE (rust/crates/time-macros-0.2.4.crate) = 18421
+SHA256 (rust/crates/unicode-ident-1.0.4.crate) = dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd
+SIZE (rust/crates/unicode-ident-1.0.4.crate) = 35491
+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.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f
+SIZE (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 26964
+SHA256 (rust/crates/wasm-bindgen-0.2.83.crate) = eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268
+SIZE (rust/crates/wasm-bindgen-0.2.83.crate) = 169618
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.83.crate) = 4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142
+SIZE (rust/crates/wasm-bindgen-backend-0.2.83.crate) = 25620
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.83.crate) = 052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810
+SIZE (rust/crates/wasm-bindgen-macro-0.2.83.crate) = 12075
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.83.crate) = 07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.83.crate) = 18530
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.83.crate) = 1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f
+SIZE (rust/crates/wasm-bindgen-shared-0.2.83.crate) = 7194
+SHA256 (rust/crates/wayland-backend-0.1.0-beta.10.crate) = 30c089c872513a8dcc2b5cc26209d83f5ffab1841d8c7973edf2583620ebc018
+SIZE (rust/crates/wayland-backend-0.1.0-beta.10.crate) = 67889
+SHA256 (rust/crates/wayland-client-0.30.0-beta.10.crate) = bd71253f97d86ac930fb296ba995e31c178f1be6a7026244c3b3f3811d5086be
+SIZE (rust/crates/wayland-client-0.30.0-beta.10.crate) = 61281
+SHA256 (rust/crates/wayland-cursor-0.30.0-beta.10.crate) = e39f4325f2ea5c1548cda2a6edabb74c68b072c9d6db7d7363cd9fe4994b124b
+SIZE (rust/crates/wayland-cursor-0.30.0-beta.10.crate) = 6868
+SHA256 (rust/crates/wayland-protocols-0.30.0-beta.10.crate) = 60406a2fb43ff670ece4976cdd0537bbcd1e583b54c3cd9a1b61065e966df0a7
+SIZE (rust/crates/wayland-protocols-0.30.0-beta.10.crate) = 120905
+SHA256 (rust/crates/wayland-protocols-wlr-0.1.0-beta.10.crate) = f1cfe42e0cfcce47a421844ee82e49316cfab3ec6bcbb3a1076a0a2dd6c8d61e
+SIZE (rust/crates/wayland-protocols-wlr-0.1.0-beta.10.crate) = 25547
+SHA256 (rust/crates/wayland-scanner-0.30.0-beta.10.crate) = a1398566f240c3ef845bdfd310c8ee6ba800d4db695d007f23f2190eeedfff93
+SIZE (rust/crates/wayland-scanner-0.30.0-beta.10.crate) = 32099
+SHA256 (rust/crates/wayland-sys-0.30.0-beta.10.crate) = bacc6b678c3350910e5ad6c057b7503666080952c4ece0a7e8958fd33937b1f5
+SIZE (rust/crates/wayland-sys-0.30.0-beta.10.crate) = 8309
+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-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/windows-sys-0.36.1.crate) = ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2
+SIZE (rust/crates/windows-sys-0.36.1.crate) = 3347053
+SHA256 (rust/crates/windows_aarch64_msvc-0.36.1.crate) = 9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47
+SIZE (rust/crates/windows_aarch64_msvc-0.36.1.crate) = 661960
+SHA256 (rust/crates/windows_i686_gnu-0.36.1.crate) = 180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6
+SIZE (rust/crates/windows_i686_gnu-0.36.1.crate) = 818115
+SHA256 (rust/crates/windows_i686_msvc-0.36.1.crate) = e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024
+SIZE (rust/crates/windows_i686_msvc-0.36.1.crate) = 724575
+SHA256 (rust/crates/windows_x86_64_gnu-0.36.1.crate) = 4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1
+SIZE (rust/crates/windows_x86_64_gnu-0.36.1.crate) = 790934
+SHA256 (rust/crates/windows_x86_64_msvc-0.36.1.crate) = c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680
+SIZE (rust/crates/windows_x86_64_msvc-0.36.1.crate) = 661999
+SHA256 (rust/crates/xcursor-0.3.4.crate) = 463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7
+SIZE (rust/crates/xcursor-0.3.4.crate) = 6069
+SHA256 (rust-x-bindings-xkbcommon-rs-4e491bee1b850625ae077134901f89836edb6e81_GH0.tar.gz) = 6786ebf2fb14a16393bd2bdfbfe15b36ebe8937870bca0523cd2e27fc9bc7527
+SIZE (rust-x-bindings-xkbcommon-rs-4e491bee1b850625ae077134901f89836edb6e81_GH0.tar.gz) = 57475
+SHA256 (Smithay-client-toolkit-1cc11af8538040f46173bf021ac079c342ddeebb_GH0.tar.gz) = 30484f7ae397fc55919d7eac82df0d797feced0907d1fc11112b1810905eeb36
+SIZE (Smithay-client-toolkit-1cc11af8538040f46173bf021ac079c342ddeebb_GH0.tar.gz) = 109853
+SHA256 (020226f74730.patch) = bc0be36f9100fa76ef773b3dc3fffbf4b1957308f436ef74fc26cf6a5d803c55
+SIZE (020226f74730.patch) = 3043
diff --git a/x11/shotman/pkg-descr b/x11/shotman/pkg-descr
new file mode 100644
index 000000000000..2eaaa453cf54
--- /dev/null
+++ b/x11/shotman/pkg-descr
@@ -0,0 +1,8 @@
+The uncompromising screenshot GUI for Wayland compositors.
+
+shotman takes a screenshot and shows it in a small floating thumbnail window.
+The screenshot can then copied with Ctrl+C, deleted with D, or dismissed
+with Esc.
+
+shotman is designed to run in response to some global hotkey (e.g.: Super+P,
+PrintScreen, etc). It is designed for interactive usage.