Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Aug 2021 02:45:21 GMT
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 767b4b192125 - main - multimedia/kooha: add new port
Message-ID:  <202108130245.17D2jLV6092221@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=767b4b1921252a8ce820d13830a02f5b43f32e50

commit 767b4b1921252a8ce820d13830a02f5b43f32e50
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2021-08-13 01:31:30 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2021-08-13 02:45:00 +0000

    multimedia/kooha: add new port
    
    Capture your screen in a straightforward and painless way without
    distractions.
    
    Kooha is a simple screen recorder with a minimal interface. You can
    simply click the record button without having to configure a bunch of
    settings.
    
    The main features of Kooha include the following:
    - Capture your screen without any hassle.
    - Record your microphone, computer sounds, or both at the same time.
    - Support for WebM, MP4, GIF, and MKV formats.
    - Multiple sources selection.
    - Optional hardware accelerated encoding
    - Select a monitor or window to record.
    - Create a selection to capture certain area from your screen.
    - Set delay to prepare before you start recording.
    - Hide or show mouse pointer.
    - Choose a saving location for your recording.
    - Utilize helpful keyboard shortcuts.
    
    https://github.com/SeaDve/Kooha
---
 multimedia/Makefile                     |   1 +
 multimedia/kooha/Makefile               | 216 ++++++++++++++++++
 multimedia/kooha/distinfo               | 373 ++++++++++++++++++++++++++++++++
 multimedia/kooha/files/patch-libadwaita | 159 ++++++++++++++
 multimedia/kooha/files/patch-zbus       |  17 ++
 multimedia/kooha/pkg-descr              |  21 ++
 multimedia/kooha/pkg-plist              |  31 +++
 7 files changed, 818 insertions(+)

diff --git a/multimedia/Makefile b/multimedia/Makefile
index 3ab8ac274733..1e3db6ed735b 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -154,6 +154,7 @@
     SUBDIR += kodi-addon-visualization.fishbmc
     SUBDIR += kodi-addon-visualization.shadertoy
     SUBDIR += kodi-addon-visualization.spectrum
+    SUBDIR += kooha
     SUBDIR += kvazaar
     SUBDIR += l-smash
     SUBDIR += libaacs
diff --git a/multimedia/kooha/Makefile b/multimedia/kooha/Makefile
new file mode 100644
index 000000000000..b747f1a84833
--- /dev/null
+++ b/multimedia/kooha/Makefile
@@ -0,0 +1,216 @@
+PORTNAME=	kooha
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.2.1-610
+DISTVERSIONSUFFIX=	-ga756d91
+CATEGORIES=	multimedia
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	Elegantly record your screen (development snapshot)
+
+LICENSE=	GPLv3+
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+LIB_DEPENDS=	libpulse.so:audio/pulseaudio \
+		libgraphene-1.0.so:graphics/graphene
+
+USES=		cargo gettext gnome meson pkgconfig python:build shebangfix
+USE_GITHUB=	yes
+USE_GNOME=	gtk40 libadwaita
+USE_GSTREAMER1=	good opus pulse vpx
+GH_ACCOUNT=	SeaDve
+GH_PROJECT=	Kooha
+SHEBANG_FILES=	build-aux/meson_post_install.py
+MAKE_ENV=	${CARGO_ENV}
+GLIB_SCHEMAS=	io.github.seadve.Kooha.gschema.xml
+INSTALLS_ICONS=	yes
+
+CARGO_CRATES=	aho-corasick-0.7.18 \
+		anyhow-1.0.42 \
+		ashpd-0.2.0-alpha-3 \
+		async-broadcast-0.3.3 \
+		async-channel-1.6.1 \
+		async-executor-1.4.1 \
+		async-io-1.6.0 \
+		async-lock-2.4.0 \
+		async-recursion-0.3.2 \
+		async-task-4.0.3 \
+		atomic_refcell-0.1.7 \
+		atty-0.2.14 \
+		autocfg-1.0.1 \
+		bitflags-1.3.1 \
+		block-0.1.6 \
+		byteorder-1.4.3 \
+		cache-padded-1.1.1 \
+		cairo-rs-0.14.1 \
+		cairo-sys-rs-0.14.0 \
+		cc-1.0.69 \
+		cfg-expr-0.8.1 \
+		cfg-if-1.0.0 \
+		chrono-0.4.19 \
+		color_quant-1.1.0 \
+		concurrent-queue-1.2.2 \
+		derivative-2.2.0 \
+		dlib-0.5.0 \
+		downcast-rs-1.2.0 \
+		easy-parallel-3.1.0 \
+		either-1.6.1 \
+		enumflags2-0.6.4 \
+		enumflags2_derive-0.6.4 \
+		env_logger-0.7.1 \
+		event-listener-2.5.1 \
+		fastrand-1.5.0 \
+		field-offset-0.3.4 \
+		futures-0.3.16 \
+		futures-channel-0.3.16 \
+		futures-core-0.3.16 \
+		futures-executor-0.3.16 \
+		futures-io-0.3.16 \
+		futures-lite-1.12.0 \
+		futures-macro-0.3.16 \
+		futures-sink-0.3.16 \
+		futures-task-0.3.16 \
+		futures-util-0.3.16 \
+		gdk-pixbuf-0.14.0 \
+		gdk-pixbuf-sys-0.14.0 \
+		gdk4-0.2.0 \
+		gdk4-sys-0.2.0 \
+		gdk4-wayland-0.2.0 \
+		gdk4-wayland-sys-0.2.0 \
+		gdk4-x11-0.2.0 \
+		gdk4-x11-sys-0.2.0 \
+		getrandom-0.2.3 \
+		gettext-rs-0.7.0 \
+		gettext-sys-0.21.2 \
+		gif-0.11.2 \
+		gio-0.14.0 \
+		gio-sys-0.14.0 \
+		glib-0.14.2 \
+		glib-macros-0.14.1 \
+		glib-sys-0.14.0 \
+		gobject-sys-0.14.0 \
+		graphene-rs-0.14.0 \
+		graphene-sys-0.14.0 \
+		gsk4-0.2.0 \
+		gsk4-sys-0.2.0 \
+		gst-plugin-gif-0.7.1 \
+		gst-plugin-version-helper-0.7.1 \
+		gstreamer-0.17.2 \
+		gstreamer-base-0.17.2 \
+		gstreamer-base-sys-0.17.0 \
+		gstreamer-sys-0.17.0 \
+		gstreamer-video-0.17.2 \
+		gstreamer-video-sys-0.17.0 \
+		gtk4-0.2.0 \
+		gtk4-macros-0.2.0 \
+		gtk4-sys-0.2.0 \
+		heck-0.3.3 \
+		hermit-abi-0.1.19 \
+		hex-0.4.3 \
+		humantime-1.3.0 \
+		instant-0.1.10 \
+		itertools-0.10.1 \
+		lazy_static-1.4.0 \
+		libadwaita-0.1.0-alpha-3 \
+		libadwaita-sys-0.1.0-alpha-3 \
+		libc-0.2.99 \
+		libloading-0.7.0 \
+		libpulse-binding-2.24.0 \
+		libpulse-sys-1.19.1 \
+		locale_config-0.3.0 \
+		log-0.4.14 \
+		malloc_buf-0.0.6 \
+		memchr-2.4.0 \
+		memoffset-0.6.4 \
+		muldiv-1.0.0 \
+		nix-0.20.0 \
+		nix-0.21.0 \
+		num-derive-0.3.3 \
+		num-integer-0.1.44 \
+		num-rational-0.4.0 \
+		num-traits-0.2.14 \
+		objc-0.2.7 \
+		objc-foundation-0.1.1 \
+		objc_id-0.1.1 \
+		once_cell-1.8.0 \
+		pango-0.14.0 \
+		pango-sys-0.14.0 \
+		parking-2.0.0 \
+		paste-1.0.5 \
+		pest-2.1.3 \
+		pin-project-lite-0.2.7 \
+		pin-utils-0.1.0 \
+		pkg-config-0.3.19 \
+		polling-2.1.0 \
+		ppv-lite86-0.2.10 \
+		pretty-hex-0.2.1 \
+		pretty_env_logger-0.4.0 \
+		proc-macro-crate-1.0.0 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
+		proc-macro-hack-0.5.19 \
+		proc-macro-nested-0.1.7 \
+		proc-macro2-1.0.28 \
+		pulsectl-rs-0.2.13 \
+		quick-error-1.2.3 \
+		quote-1.0.9 \
+		rand-0.8.4 \
+		rand_chacha-0.3.1 \
+		rand_core-0.6.3 \
+		rand_hc-0.3.1 \
+		regex-1.5.4 \
+		regex-syntax-0.6.25 \
+		rustc_version-0.3.3 \
+		scoped-tls-1.0.0 \
+		semver-0.11.0 \
+		semver-parser-0.10.2 \
+		serde-1.0.127 \
+		serde_derive-1.0.127 \
+		serde_repr-0.1.7 \
+		sha1-0.6.0 \
+		slab-0.4.4 \
+		slotmap-1.0.5 \
+		smallvec-1.6.1 \
+		socket2-0.4.1 \
+		static_assertions-1.1.0 \
+		strum-0.21.0 \
+		strum_macros-0.21.1 \
+		syn-1.0.74 \
+		system-deps-3.2.0 \
+		temp-dir-0.1.11 \
+		termcolor-1.1.2 \
+		thiserror-1.0.26 \
+		thiserror-impl-1.0.26 \
+		time-0.1.43 \
+		toml-0.5.8 \
+		tracing-0.1.26 \
+		tracing-attributes-0.1.15 \
+		tracing-core-0.1.18 \
+		ucd-trie-0.1.3 \
+		unicode-segmentation-1.8.0 \
+		unicode-xid-0.2.2 \
+		version-compare-0.0.11 \
+		version_check-0.9.3 \
+		waker-fn-1.1.0 \
+		wasi-0.10.2+wasi-snapshot-preview1 \
+		wayland-client-0.28.6 \
+		wayland-commons-0.28.6 \
+		wayland-scanner-0.28.6 \
+		wayland-sys-0.28.6 \
+		weezl-0.1.5 \
+		wepoll-ffi-0.1.2 \
+		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 \
+		x11-2.18.2 \
+		xml-rs-0.8.4 \
+		zbus-2.0.0-beta.6 \
+		zbus_macros-2.0.0-beta.6 \
+		zbus_names-1.0.0 \
+		zvariant-2.8.0 \
+		zvariant_derive-2.8.0
+CARGO_BUILD=	no
+CARGO_INSTALL=	no
+CARGO_TEST=	no
+
+.include <bsd.port.mk>
diff --git a/multimedia/kooha/distinfo b/multimedia/kooha/distinfo
new file mode 100644
index 000000000000..6b055b2190f0
--- /dev/null
+++ b/multimedia/kooha/distinfo
@@ -0,0 +1,373 @@
+TIMESTAMP = 1628822430
+SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
+SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
+SHA256 (rust/crates/anyhow-1.0.42.crate) = 595d3cfa7a60d4555cb5067b99f07142a08ea778de5cf993f7b75c7d8fabc486
+SIZE (rust/crates/anyhow-1.0.42.crate) = 34827
+SHA256 (rust/crates/ashpd-0.2.0-alpha-3.crate) = dcc556e6e047329747aa19b27afcb89538abde9315166e11dd6364f1cfa4431d
+SIZE (rust/crates/ashpd-0.2.0-alpha-3.crate) = 49152
+SHA256 (rust/crates/async-broadcast-0.3.3.crate) = 186fa9af996163d0d446775d084df32f2f5b195bcfebb0d49d0bf18e2eec528c
+SIZE (rust/crates/async-broadcast-0.3.3.crate) = 18187
+SHA256 (rust/crates/async-channel-1.6.1.crate) = 2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319
+SIZE (rust/crates/async-channel-1.6.1.crate) = 12574
+SHA256 (rust/crates/async-executor-1.4.1.crate) = 871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965
+SIZE (rust/crates/async-executor-1.4.1.crate) = 15490
+SHA256 (rust/crates/async-io-1.6.0.crate) = a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b
+SIZE (rust/crates/async-io-1.6.0.crate) = 32282
+SHA256 (rust/crates/async-lock-2.4.0.crate) = e6a8ea61bf9947a1007c5cada31e647dbc77b103c679858150003ba697ea798b
+SIZE (rust/crates/async-lock-2.4.0.crate) = 16144
+SHA256 (rust/crates/async-recursion-0.3.2.crate) = d7d78656ba01f1b93024b7c3a0467f1608e4be67d725749fdcd7d2c7678fd7a2
+SIZE (rust/crates/async-recursion-0.3.2.crate) = 10774
+SHA256 (rust/crates/async-task-4.0.3.crate) = e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0
+SIZE (rust/crates/async-task-4.0.3.crate) = 28770
+SHA256 (rust/crates/atomic_refcell-0.1.7.crate) = 681b971236e0f76b20fcafca0236b8718c9186ee778d67cd78bd5f28fd85427f
+SIZE (rust/crates/atomic_refcell-0.1.7.crate) = 5896
+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/bitflags-1.3.1.crate) = 2da1976d75adbe5fbc88130ecd119529cf1cc6a93ae1546d8696ee66f0d21af1
+SIZE (rust/crates/bitflags-1.3.1.crate) = 22434
+SHA256 (rust/crates/block-0.1.6.crate) = 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a
+SIZE (rust/crates/block-0.1.6.crate) = 4077
+SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
+SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
+SHA256 (rust/crates/cache-padded-1.1.1.crate) = 631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba
+SIZE (rust/crates/cache-padded-1.1.1.crate) = 8798
+SHA256 (rust/crates/cairo-rs-0.14.1.crate) = a408c13bbc04c3337b94194c1a4d04067097439b79dbc1dcbceba299d828b9ea
+SIZE (rust/crates/cairo-rs-0.14.1.crate) = 48151
+SHA256 (rust/crates/cairo-sys-rs-0.14.0.crate) = d7c9c3928781e8a017ece15eace05230f04b647457d170d2d9641c94a444ff80
+SIZE (rust/crates/cairo-sys-rs-0.14.0.crate) = 10560
+SHA256 (rust/crates/cc-1.0.69.crate) = e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2
+SIZE (rust/crates/cc-1.0.69.crate) = 56044
+SHA256 (rust/crates/cfg-expr-0.8.1.crate) = b412e83326147c2bb881f8b40edfbf9905b9b8abaebd0e47ca190ba62fda8f0e
+SIZE (rust/crates/cfg-expr-0.8.1.crate) = 34539
+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/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/concurrent-queue-1.2.2.crate) = 30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3
+SIZE (rust/crates/concurrent-queue-1.2.2.crate) = 15859
+SHA256 (rust/crates/derivative-2.2.0.crate) = fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b
+SIZE (rust/crates/derivative-2.2.0.crate) = 48076
+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/easy-parallel-3.1.0.crate) = 1dd4afd79212583ff429b913ad6605242ed7eec277e950b1438f300748f948f4
+SIZE (rust/crates/easy-parallel-3.1.0.crate) = 9251
+SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
+SIZE (rust/crates/either-1.6.1.crate) = 13641
+SHA256 (rust/crates/enumflags2-0.6.4.crate) = 83c8d82922337cd23a15f88b70d8e4ef5f11da38dd7cdb55e84dd5de99695da0
+SIZE (rust/crates/enumflags2-0.6.4.crate) = 10713
+SHA256 (rust/crates/enumflags2_derive-0.6.4.crate) = 946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce
+SIZE (rust/crates/enumflags2_derive-0.6.4.crate) = 3659
+SHA256 (rust/crates/env_logger-0.7.1.crate) = 44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36
+SIZE (rust/crates/env_logger-0.7.1.crate) = 32281
+SHA256 (rust/crates/event-listener-2.5.1.crate) = f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59
+SIZE (rust/crates/event-listener-2.5.1.crate) = 16237
+SHA256 (rust/crates/fastrand-1.5.0.crate) = b394ed3d285a429378d3b384b9eb1285267e7df4b166df24b7a6939a04dc392e
+SIZE (rust/crates/fastrand-1.5.0.crate) = 11100
+SHA256 (rust/crates/field-offset-0.3.4.crate) = 1e1c54951450cbd39f3dbcf1005ac413b49487dabf18a720ad2383eccfeffb92
+SIZE (rust/crates/field-offset-0.3.4.crate) = 6046
+SHA256 (rust/crates/futures-0.3.16.crate) = 1adc00f486adfc9ce99f77d717836f0c5aa84965eb0b4f051f4e83f7cab53f8b
+SIZE (rust/crates/futures-0.3.16.crate) = 46410
+SHA256 (rust/crates/futures-channel-0.3.16.crate) = 74ed2411805f6e4e3d9bc904c95d5d423b89b3b25dc0250aa74729de20629ff9
+SIZE (rust/crates/futures-channel-0.3.16.crate) = 31765
+SHA256 (rust/crates/futures-core-0.3.16.crate) = af51b1b4a7fdff033703db39de8802c673eb91855f2e0d47dcf3bf2c0ef01f99
+SIZE (rust/crates/futures-core-0.3.16.crate) = 14486
+SHA256 (rust/crates/futures-executor-0.3.16.crate) = 4d0d535a57b87e1ae31437b892713aee90cd2d7b0ee48727cd11fc72ef54761c
+SIZE (rust/crates/futures-executor-0.3.16.crate) = 17104
+SHA256 (rust/crates/futures-io-0.3.16.crate) = 0b0e06c393068f3a6ef246c75cdca793d6a46347e75286933e5e75fd2fd11582
+SIZE (rust/crates/futures-io-0.3.16.crate) = 9050
+SHA256 (rust/crates/futures-lite-1.12.0.crate) = 7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48
+SIZE (rust/crates/futures-lite-1.12.0.crate) = 36032
+SHA256 (rust/crates/futures-macro-0.3.16.crate) = c54913bae956fb8df7f4dc6fc90362aa72e69148e3f39041fbe8742d21e0ac57
+SIZE (rust/crates/futures-macro-0.3.16.crate) = 10779
+SHA256 (rust/crates/futures-sink-0.3.16.crate) = c0f30aaa67363d119812743aa5f33c201a7a66329f97d1a887022971feea4b53
+SIZE (rust/crates/futures-sink-0.3.16.crate) = 7663
+SHA256 (rust/crates/futures-task-0.3.16.crate) = bbe54a98670017f3be909561f6ad13e810d9a51f3f061b902062ca3da80799f2
+SIZE (rust/crates/futures-task-0.3.16.crate) = 11712
+SHA256 (rust/crates/futures-util-0.3.16.crate) = 67eb846bfd58e44a8481a00049e82c43e0ccb5d61f8dc071057cb19249dd4d78
+SIZE (rust/crates/futures-util-0.3.16.crate) = 144642
+SHA256 (rust/crates/gdk-pixbuf-0.14.0.crate) = 534192cb8f01daeb8fab2c8d4baa8f9aae5b7a39130525779f5c2608e235b10f
+SIZE (rust/crates/gdk-pixbuf-0.14.0.crate) = 14554
+SHA256 (rust/crates/gdk-pixbuf-sys-0.14.0.crate) = f097c0704201fbc8f69c1762dc58c6947c8bb188b8ed0bc7e65259f1894fe590
+SIZE (rust/crates/gdk-pixbuf-sys-0.14.0.crate) = 9110
+SHA256 (rust/crates/gdk4-0.2.0.crate) = 8ce41092cc569129a0afa34926e6dd1cf8411e25652d87febdea36859f7ff7ba
+SIZE (rust/crates/gdk4-0.2.0.crate) = 79740
+SHA256 (rust/crates/gdk4-sys-0.2.0.crate) = ce39c71861b5bcde319fd4711a74e1bd6f4f474911170d51096597fef0b56011
+SIZE (rust/crates/gdk4-sys-0.2.0.crate) = 61715
+SHA256 (rust/crates/gdk4-wayland-0.2.0.crate) = d0a3204d0099e82e08d295169ed988a7c9fd82f9ecae9859b810735d44fd2e58
+SIZE (rust/crates/gdk4-wayland-0.2.0.crate) = 5842
+SHA256 (rust/crates/gdk4-wayland-sys-0.2.0.crate) = 65df7b53c3b8b88770d33bb29615fab2190d3a72e02e1431102567bf9e7c1a73
+SIZE (rust/crates/gdk4-wayland-sys-0.2.0.crate) = 3241
+SHA256 (rust/crates/gdk4-x11-0.2.0.crate) = 4aa1a05310ef35c8af297b2aa5993590e7d3318da514f6eda6400ed55d9b90fa
+SIZE (rust/crates/gdk4-x11-0.2.0.crate) = 9041
+SHA256 (rust/crates/gdk4-x11-sys-0.2.0.crate) = 86138f1689dd5d0b0b279dbfb006e5794cf794e86ab9efb17a88d76a9ce8c3f1
+SIZE (rust/crates/gdk4-x11-sys-0.2.0.crate) = 6450
+SHA256 (rust/crates/getrandom-0.2.3.crate) = 7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753
+SIZE (rust/crates/getrandom-0.2.3.crate) = 26261
+SHA256 (rust/crates/gettext-rs-0.7.0.crate) = e49ea8a8fad198aaa1f9655a2524b64b70eb06b2f3ff37da407566c93054f364
+SIZE (rust/crates/gettext-rs-0.7.0.crate) = 14816
+SHA256 (rust/crates/gettext-sys-0.21.2.crate) = afa9e06ab9e7514cc9ae668ea3b71ea1536259d767dff0289ac23ad134f99929
+SIZE (rust/crates/gettext-sys-0.21.2.crate) = 6501362
+SHA256 (rust/crates/gif-0.11.2.crate) = 5a668f699973d0f573d15749b7002a9ac9e1f9c6b220e7b165601334c173d8de
+SIZE (rust/crates/gif-0.11.2.crate) = 34068
+SHA256 (rust/crates/gio-0.14.0.crate) = 86c6823b39d46d22cac2466de261f28d7f049ebc18f7b35296a42c7ed8a88325
+SIZE (rust/crates/gio-0.14.0.crate) = 175177
+SHA256 (rust/crates/gio-sys-0.14.0.crate) = c0a41df66e57fcc287c4bcf74fc26b884f31901ea9792ec75607289b456f48fa
+SIZE (rust/crates/gio-sys-0.14.0.crate) = 76499
+SHA256 (rust/crates/glib-0.14.2.crate) = dbecad7a3a898ee749d491ce2ae0decb0bce9e736f9747bc49159b1cea5d37f4
+SIZE (rust/crates/glib-0.14.2.crate) = 164143
+SHA256 (rust/crates/glib-macros-0.14.1.crate) = 2aad66361f66796bfc73f530c51ef123970eb895ffba991a234fcf7bea89e518
+SIZE (rust/crates/glib-macros-0.14.1.crate) = 20018
+SHA256 (rust/crates/glib-sys-0.14.0.crate) = 1c1d60554a212445e2a858e42a0e48cece1bd57b311a19a9468f70376cf554ae
+SIZE (rust/crates/glib-sys-0.14.0.crate) = 57390
+SHA256 (rust/crates/gobject-sys-0.14.0.crate) = aa92cae29759dae34ab5921d73fff5ad54b3d794ab842c117e36cafc7994c3f5
+SIZE (rust/crates/gobject-sys-0.14.0.crate) = 17399
+SHA256 (rust/crates/graphene-rs-0.14.0.crate) = f1460a39f06e491e6112f27e71e51435c833ba370723224dd1743dfd1f201f19
+SIZE (rust/crates/graphene-rs-0.14.0.crate) = 19285
+SHA256 (rust/crates/graphene-sys-0.14.0.crate) = e7d23fb7a9547e5f072a7e0cd49cd648fedeb786d122b106217511980cbb8962
+SIZE (rust/crates/graphene-sys-0.14.0.crate) = 10264
+SHA256 (rust/crates/gsk4-0.2.0.crate) = 64932b730eaad3340378a03d633616eeed6d6705b59b81c9f579c88be8932475
+SIZE (rust/crates/gsk4-0.2.0.crate) = 21321
+SHA256 (rust/crates/gsk4-sys-0.2.0.crate) = 685ffc776bedd91d68f47b41239525778b669432889721d7050d045270549b9a
+SIZE (rust/crates/gsk4-sys-0.2.0.crate) = 11656
+SHA256 (rust/crates/gst-plugin-gif-0.7.1.crate) = 63cf1cdbbbf2dd3b5116d37e29b5d967cf9c2bd06843cca002eb59140e148211
+SIZE (rust/crates/gst-plugin-gif-0.7.1.crate) = 16087
+SHA256 (rust/crates/gst-plugin-version-helper-0.7.1.crate) = 596a7ad516b556be91787f4f33823c75f10b8789aa8d85dc4a79ea1c30466334
+SIZE (rust/crates/gst-plugin-version-helper-0.7.1.crate) = 3679
+SHA256 (rust/crates/gstreamer-0.17.2.crate) = 4aa71d1b3f562645e2d3b96c8d5cf1f26174696e37781ef34193311da733f98c
+SIZE (rust/crates/gstreamer-0.17.2.crate) = 238912
+SHA256 (rust/crates/gstreamer-base-0.17.2.crate) = 2c0c1d8c62eb5d08fb80173609f2eea71d385393363146e4e78107facbd67715
+SIZE (rust/crates/gstreamer-base-0.17.2.crate) = 56050
+SHA256 (rust/crates/gstreamer-base-sys-0.17.0.crate) = 28169a7b58edb93ad8ac766f0fa12dcd36a2af4257a97ee10194c7103baf3e27
+SIZE (rust/crates/gstreamer-base-sys-0.17.0.crate) = 34572
+SHA256 (rust/crates/gstreamer-sys-0.17.0.crate) = 8188ba998999a4a16005c3984812807ff882a87f5f3457c3d5bbbfcbdf631ebd
+SIZE (rust/crates/gstreamer-sys-0.17.0.crate) = 84155
+SHA256 (rust/crates/gstreamer-video-0.17.2.crate) = e3447ee95c8e79daec0b163260cf6a3de9bc19ff47a01b533787f900074a3476
+SIZE (rust/crates/gstreamer-video-0.17.2.crate) = 83613
+SHA256 (rust/crates/gstreamer-video-sys-0.17.0.crate) = b81608f4182bdddd5bd33aaaa341d5544eda12b067a3dab75b1b7d2de01a3ba7
+SIZE (rust/crates/gstreamer-video-sys-0.17.0.crate) = 52014
+SHA256 (rust/crates/gtk4-0.2.0.crate) = c49e0311dac847a8ebc05e31f5c44c596314ee3b16c5f638ccfe24086d24bf1b
+SIZE (rust/crates/gtk4-0.2.0.crate) = 522578
+SHA256 (rust/crates/gtk4-macros-0.2.0.crate) = bbe4b77996bcf1ef20208c00043edda854ca2091b4be5e6a7c367f0f3846fa67
+SIZE (rust/crates/gtk4-macros-0.2.0.crate) = 6050
+SHA256 (rust/crates/gtk4-sys-0.2.0.crate) = 3737e91619cf4257d8a07834f7a2c035d4daeaf9ad8e3958e56b2c411dbdca18
+SIZE (rust/crates/gtk4-sys-0.2.0.crate) = 98078
+SHA256 (rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
+SIZE (rust/crates/heck-0.3.3.crate) = 10260
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
+SIZE (rust/crates/hex-0.4.3.crate) = 13299
+SHA256 (rust/crates/humantime-1.3.0.crate) = df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f
+SIZE (rust/crates/humantime-1.3.0.crate) = 17020
+SHA256 (rust/crates/instant-0.1.10.crate) = bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d
+SIZE (rust/crates/instant-0.1.10.crate) = 5218
+SHA256 (rust/crates/itertools-0.10.1.crate) = 69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf
+SIZE (rust/crates/itertools-0.10.1.crate) = 116219
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/libadwaita-0.1.0-alpha-3.crate) = e3a733578e8ea3c8f986e4ce02aa276f512fb3e2c4e578bfcf39ada16d54a4ec
+SIZE (rust/crates/libadwaita-0.1.0-alpha-3.crate) = 60954
+SHA256 (rust/crates/libadwaita-sys-0.1.0-alpha-3.crate) = f7b334a6aa0667ec8ec4d66f3ad04bae19bdc9e837ad312b13005fd6c4f52603
+SIZE (rust/crates/libadwaita-sys-0.1.0-alpha-3.crate) = 13575
+SHA256 (rust/crates/libc-0.2.99.crate) = a7f823d141fe0a24df1e23b4af4e3c7ba9e5966ec514ea068c93024aa7deb765
+SIZE (rust/crates/libc-0.2.99.crate) = 524997
+SHA256 (rust/crates/libloading-0.7.0.crate) = 6f84d96438c15fcd6c3f244c8fce01d1e2b9c6b5623e9c711dc9286d8fc92d6a
+SIZE (rust/crates/libloading-0.7.0.crate) = 26216
+SHA256 (rust/crates/libpulse-binding-2.24.0.crate) = 04b4154b9bc606019cb15125f96e08e1e9c4f53d55315f1ef69ae229e30d1765
+SIZE (rust/crates/libpulse-binding-2.24.0.crate) = 129382
+SHA256 (rust/crates/libpulse-sys-1.19.1.crate) = 9ebed2cc92c38cac12307892ce6fb17e2e950bfda1ed17b3e1d47fd5184c8f2b
+SIZE (rust/crates/libpulse-sys-1.19.1.crate) = 34968
+SHA256 (rust/crates/locale_config-0.3.0.crate) = 08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934
+SIZE (rust/crates/locale_config-0.3.0.crate) = 20808
+SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
+SIZE (rust/crates/log-0.4.14.crate) = 34582
+SHA256 (rust/crates/malloc_buf-0.0.6.crate) = 62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb
+SIZE (rust/crates/malloc_buf-0.0.6.crate) = 1239
+SHA256 (rust/crates/memchr-2.4.0.crate) = b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc
+SIZE (rust/crates/memchr-2.4.0.crate) = 63392
+SHA256 (rust/crates/memoffset-0.6.4.crate) = 59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9
+SIZE (rust/crates/memoffset-0.6.4.crate) = 7664
+SHA256 (rust/crates/muldiv-1.0.0.crate) = b5136edda114182728ccdedb9f5eda882781f35fa6e80cc360af12a8932507f3
+SIZE (rust/crates/muldiv-1.0.0.crate) = 4991
+SHA256 (rust/crates/nix-0.20.0.crate) = fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a
+SIZE (rust/crates/nix-0.20.0.crate) = 216983
+SHA256 (rust/crates/nix-0.21.0.crate) = 5c3728fec49d363a50a8828a190b379a446cc5cf085c06259bbbeb34447e4ec7
+SIZE (rust/crates/nix-0.21.0.crate) = 220596
+SHA256 (rust/crates/num-derive-0.3.3.crate) = 876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d
+SIZE (rust/crates/num-derive-0.3.3.crate) = 14545
+SHA256 (rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
+SIZE (rust/crates/num-integer-0.1.44.crate) = 22216
+SHA256 (rust/crates/num-rational-0.4.0.crate) = d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a
+SIZE (rust/crates/num-rational-0.4.0.crate) = 26428
+SHA256 (rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
+SIZE (rust/crates/num-traits-0.2.14.crate) = 45476
+SHA256 (rust/crates/objc-0.2.7.crate) = 915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1
+SIZE (rust/crates/objc-0.2.7.crate) = 22036
+SHA256 (rust/crates/objc-foundation-0.1.1.crate) = 1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9
+SIZE (rust/crates/objc-foundation-0.1.1.crate) = 9063
+SHA256 (rust/crates/objc_id-0.1.1.crate) = c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b
+SIZE (rust/crates/objc_id-0.1.1.crate) = 3258
+SHA256 (rust/crates/once_cell-1.8.0.crate) = 692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56
+SIZE (rust/crates/once_cell-1.8.0.crate) = 28925
+SHA256 (rust/crates/pango-0.14.0.crate) = 415823a4fb9f1789785cd6e2d2413816f2ecff92380382969aaca9c400e13a19
+SIZE (rust/crates/pango-0.14.0.crate) = 36580
+SHA256 (rust/crates/pango-sys-0.14.0.crate) = 2367099ca5e761546ba1d501955079f097caa186bb53ce0f718dca99ac1942fe
+SIZE (rust/crates/pango-sys-0.14.0.crate) = 23109
+SHA256 (rust/crates/parking-2.0.0.crate) = 427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72
+SIZE (rust/crates/parking-2.0.0.crate) = 9714
+SHA256 (rust/crates/paste-1.0.5.crate) = acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58
+SIZE (rust/crates/paste-1.0.5.crate) = 17669
+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.7.crate) = 8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443
+SIZE (rust/crates/pin-project-lite-0.2.7.crate) = 27212
+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.19.crate) = 3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c
+SIZE (rust/crates/pkg-config-0.3.19.crate) = 15451
+SHA256 (rust/crates/polling-2.1.0.crate) = 92341d779fa34ea8437ef4d82d440d5e1ce3f3ff7f824aa64424cd481f9a1f25
+SIZE (rust/crates/polling-2.1.0.crate) = 17682
+SHA256 (rust/crates/ppv-lite86-0.2.10.crate) = ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857
+SIZE (rust/crates/ppv-lite86-0.2.10.crate) = 20915
+SHA256 (rust/crates/pretty-hex-0.2.1.crate) = bc5c99d529f0d30937f6f4b8a86d988047327bb88d04d2c4afc356de74722131
+SIZE (rust/crates/pretty-hex-0.2.1.crate) = 6176
+SHA256 (rust/crates/pretty_env_logger-0.4.0.crate) = 926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d
+SIZE (rust/crates/pretty_env_logger-0.4.0.crate) = 8690
+SHA256 (rust/crates/proc-macro-crate-1.0.0.crate) = 41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92
+SIZE (rust/crates/proc-macro-crate-1.0.0.crate) = 8442
+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-macro-hack-0.5.19.crate) = dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5
+SIZE (rust/crates/proc-macro-hack-0.5.19.crate) = 15556
+SHA256 (rust/crates/proc-macro-nested-0.1.7.crate) = bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086
+SIZE (rust/crates/proc-macro-nested-0.1.7.crate) = 6495
+SHA256 (rust/crates/proc-macro2-1.0.28.crate) = 5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612
+SIZE (rust/crates/proc-macro2-1.0.28.crate) = 38732
+SHA256 (rust/crates/pulsectl-rs-0.2.13.crate) = f293908b6acff92499517f724d21017af07467a125d13a4b08a80ecde23e2c1a
+SIZE (rust/crates/pulsectl-rs-0.2.13.crate) = 10530
+SHA256 (rust/crates/quick-error-1.2.3.crate) = a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0
+SIZE (rust/crates/quick-error-1.2.3.crate) = 15066
+SHA256 (rust/crates/quote-1.0.9.crate) = c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7
+SIZE (rust/crates/quote-1.0.9.crate) = 25042
+SHA256 (rust/crates/rand-0.8.4.crate) = 2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8
+SIZE (rust/crates/rand-0.8.4.crate) = 87406
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7
+SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
+SHA256 (rust/crates/rand_hc-0.3.1.crate) = d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7
+SIZE (rust/crates/rand_hc-0.3.1.crate) = 11891
+SHA256 (rust/crates/regex-1.5.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461
+SIZE (rust/crates/regex-1.5.4.crate) = 236581
+SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
+SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
+SHA256 (rust/crates/rustc_version-0.3.3.crate) = f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee
+SIZE (rust/crates/rustc_version-0.3.3.crate) = 12119
+SHA256 (rust/crates/scoped-tls-1.0.0.crate) = ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2
+SIZE (rust/crates/scoped-tls-1.0.0.crate) = 9146
+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.127.crate) = f03b9878abf6d14e6779d3f24f07b2cfa90352cfec4acc5aab8f1ac7f146fae8
+SIZE (rust/crates/serde-1.0.127.crate) = 75162
+SHA256 (rust/crates/serde_derive-1.0.127.crate) = a024926d3432516606328597e0f224a51355a493b49fdd67e9209187cbe55ecc
+SIZE (rust/crates/serde_derive-1.0.127.crate) = 54201
+SHA256 (rust/crates/serde_repr-0.1.7.crate) = 98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5
+SIZE (rust/crates/serde_repr-0.1.7.crate) = 10173
+SHA256 (rust/crates/sha1-0.6.0.crate) = 2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d
+SIZE (rust/crates/sha1-0.6.0.crate) = 9244
+SHA256 (rust/crates/slab-0.4.4.crate) = c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590
+SIZE (rust/crates/slab-0.4.4.crate) = 15725
+SHA256 (rust/crates/slotmap-1.0.5.crate) = a952280edbecfb1d4bd3cf2dbc309dc6ab523e53487c438ae21a6df09fe84bc4
+SIZE (rust/crates/slotmap-1.0.5.crate) = 58363
+SHA256 (rust/crates/smallvec-1.6.1.crate) = fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e
+SIZE (rust/crates/smallvec-1.6.1.crate) = 26444
+SHA256 (rust/crates/socket2-0.4.1.crate) = 765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad
+SIZE (rust/crates/socket2-0.4.1.crate) = 41364
+SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
+SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
+SHA256 (rust/crates/strum-0.21.0.crate) = aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2
+SIZE (rust/crates/strum-0.21.0.crate) = 5296
+SHA256 (rust/crates/strum_macros-0.21.1.crate) = d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec
+SIZE (rust/crates/strum_macros-0.21.1.crate) = 16280
+SHA256 (rust/crates/syn-1.0.74.crate) = 1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c
+SIZE (rust/crates/syn-1.0.74.crate) = 232974
+SHA256 (rust/crates/system-deps-3.2.0.crate) = 480c269f870722b3b08d2f13053ce0c2ab722839f472863c3e2d61ff3a1c2fa6
+SIZE (rust/crates/system-deps-3.2.0.crate) = 21476
+SHA256 (rust/crates/temp-dir-0.1.11.crate) = af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab
+SIZE (rust/crates/temp-dir-0.1.11.crate) = 5743
+SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4
+SIZE (rust/crates/termcolor-1.1.2.crate) = 17287
+SHA256 (rust/crates/thiserror-1.0.26.crate) = 93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2
+SIZE (rust/crates/thiserror-1.0.26.crate) = 16711
+SHA256 (rust/crates/thiserror-impl-1.0.26.crate) = 060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745
+SIZE (rust/crates/thiserror-impl-1.0.26.crate) = 13431
+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/tracing-0.1.26.crate) = 09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d
+SIZE (rust/crates/tracing-0.1.26.crate) = 68583
+SHA256 (rust/crates/tracing-attributes-0.1.15.crate) = c42e6fa53307c8a17e4ccd4dc81cf5ec38db9209f59b222210375b54ee40d1e2
+SIZE (rust/crates/tracing-attributes-0.1.15.crate) = 20632
+SHA256 (rust/crates/tracing-core-0.1.18.crate) = a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052
+SIZE (rust/crates/tracing-core-0.1.18.crate) = 48381
+SHA256 (rust/crates/ucd-trie-0.1.3.crate) = 56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c
+SIZE (rust/crates/ucd-trie-0.1.3.crate) = 44615
+SHA256 (rust/crates/unicode-segmentation-1.8.0.crate) = 8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b
+SIZE (rust/crates/unicode-segmentation-1.8.0.crate) = 94011
+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.0.11.crate) = 1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b
+SIZE (rust/crates/version-compare-0.0.11.crate) = 15208
+SHA256 (rust/crates/version_check-0.9.3.crate) = 5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe
+SIZE (rust/crates/version_check-0.9.3.crate) = 12547
+SHA256 (rust/crates/waker-fn-1.1.0.crate) = 9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca
+SIZE (rust/crates/waker-fn-1.1.0.crate) = 7114
+SHA256 (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
+SIZE (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
+SHA256 (rust/crates/wayland-client-0.28.6.crate) = e3ab332350e502f159382201394a78e3cc12d0f04db863429260164ea40e0355
+SIZE (rust/crates/wayland-client-0.28.6.crate) = 69347
+SHA256 (rust/crates/wayland-commons-0.28.6.crate) = a21817947c7011bbd0a27e11b17b337bfd022e8544b071a2641232047966fbda
+SIZE (rust/crates/wayland-commons-0.28.6.crate) = 20581
+SHA256 (rust/crates/wayland-scanner-0.28.6.crate) = ce923eb2deb61de332d1f356ec7b6bf37094dc5573952e1c8936db03b54c03f1
+SIZE (rust/crates/wayland-scanner-0.28.6.crate) = 17226
+SHA256 (rust/crates/wayland-sys-0.28.6.crate) = d841fca9aed7febf9bed2e9796c49bf58d4152ceda8ac949ebe00868d8f0feb8
+SIZE (rust/crates/wayland-sys-0.28.6.crate) = 7937
+SHA256 (rust/crates/weezl-0.1.5.crate) = d8b77fdfd5a253be4ab714e4ffa3c49caf146b4de743e97510c0656cf90f1e8e
+SIZE (rust/crates/weezl-0.1.5.crate) = 34944
+SHA256 (rust/crates/wepoll-ffi-0.1.2.crate) = d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb
+SIZE (rust/crates/wepoll-ffi-0.1.2.crate) = 31309
+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/x11-2.18.2.crate) = 77ecd092546cb16f25783a5451538e73afc8d32e242648d54f4ae5459ba1e773
+SIZE (rust/crates/x11-2.18.2.crate) = 63683
+SHA256 (rust/crates/xml-rs-0.8.4.crate) = d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3
+SIZE (rust/crates/xml-rs-0.8.4.crate) = 52690
+SHA256 (rust/crates/zbus-2.0.0-beta.6.crate) = 0a83ae2a824814235320b6539f12b7678e15d347d66235e1230338d11c1fb07e
+SIZE (rust/crates/zbus-2.0.0-beta.6.crate) = 83485
+SHA256 (rust/crates/zbus_macros-2.0.0-beta.6.crate) = 2518b2ea6ac01672b131ce4d1fe45f840732d6266660277499b9e81a153bd723
+SIZE (rust/crates/zbus_macros-2.0.0-beta.6.crate) = 20578
+SHA256 (rust/crates/zbus_names-1.0.0.crate) = 4882f6e16e1a55ab9ee5c2031692fc8708d03f46000383a11a5f1c8cb69e7c8b
+SIZE (rust/crates/zbus_names-1.0.0.crate) = 7368
+SHA256 (rust/crates/zvariant-2.8.0.crate) = fa4b785b8b32b0f8433b4474e6bb4ea77b37c1960e84d7598e01dd199b2b23ef
+SIZE (rust/crates/zvariant-2.8.0.crate) = 60913
+SHA256 (rust/crates/zvariant_derive-2.8.0.crate) = b42af4ee88fb928781391216c34be77ec7cdb3546042b2947ce38d86aa5f37dd
+SIZE (rust/crates/zvariant_derive-2.8.0.crate) = 8771
+SHA256 (SeaDve-Kooha-v1.2.1-610-ga756d91_GH0.tar.gz) = 14b7716890997076f3672d53b71e3b7603154a4cba12d4cd8395fd0c1e78aca2
+SIZE (SeaDve-Kooha-v1.2.1-610-ga756d91_GH0.tar.gz) = 242234
diff --git a/multimedia/kooha/files/patch-libadwaita b/multimedia/kooha/files/patch-libadwaita
new file mode 100644
index 000000000000..a27ede4937a3
--- /dev/null
+++ b/multimedia/kooha/files/patch-libadwaita
@@ -0,0 +1,159 @@
+Revert dependency on unreleased libadwaita
+https://github.com/SeaDve/Kooha/commit/426a703bba29
+https://gitlab.gnome.org/GNOME/libadwaita/-/commit/9b6efa65dabb
+https://github.com/SeaDve/Kooha/commit/ceffdede0670
+https://gitlab.gnome.org/GNOME/libadwaita/-/commit/ea7ef0f2e2ac
+
+--- data/resources/ui/window.ui.orig	2021-08-08 16:08:31 UTC
++++ data/resources/ui/window.ui
+@@ -10,9 +10,10 @@
+     <child>
+       <object class="GtkWindowHandle">
+         <child>
+-          <object class="AdwViewStack" id="main_stack">
++          <object class="GtkStack" id="main_stack">
++            <property name="transition-type">crossfade</property>
+             <child>
+-              <object class="AdwViewStackPage">
++              <object class="GtkStackPage">
+                 <property name="name">main-screen</property>
+                 <property name="child">
+                   <object class="GtkBox">
+@@ -35,12 +36,13 @@
+                           </object>
+                         </child>
+                         <child type="title">
+-                          <object class="AdwViewStack" id="title_stack">
++                          <object class="GtkStack" id="title_stack">
++                            <property name="transition-type">crossfade</property>
+                             <style>
+                               <class name="title"/>
+                             </style>
+                             <child>
+-                              <object class="AdwViewStackPage">
++                              <object class="GtkStackPage">
+                                 <property name="name">monitor-window</property>
+                                 <property name="child">
+                                   <object class="GtkLabel">
+@@ -50,7 +52,7 @@
+                               </object>
+                             </child>
+                             <child>
+-                              <object class="AdwViewStackPage">
++                              <object class="GtkStackPage">
+                                 <property name="name">selection</property>
+                                 <property name="child">
+                                   <object class="GtkLabel">
+@@ -139,7 +141,7 @@
+               </object>
+             </child>
+             <child>
+-              <object class="AdwViewStackPage">
++              <object class="GtkStackPage">
+                 <property name="name">recording</property>
+                 <property name="child">
+                   <object class="GtkBox">
+@@ -199,7 +201,7 @@
+               </object>
+             </child>
+             <child>
+-              <object class="AdwViewStackPage">
++              <object class="GtkStackPage">
+                 <property name="name">delay</property>
+                 <property name="child">
+                   <object class="GtkBox">
+@@ -245,7 +247,7 @@
+               </object>
+             </child>
+             <child>
+-              <object class="AdwViewStackPage">
++              <object class="GtkStackPage">
+                 <property name="name">flushing</property>
+                 <property name="child">
+                   <object class="GtkBox">
+--- src/application.rs.orig	2021-08-08 16:08:31 UTC
++++ src/application.rs
+@@ -1,7 +1,6 @@
+-use adw::subclass::prelude::*;
+ use gettextrs::gettext;
+ use gtk::{
+-    gio,
++    gdk, gio,
+     glib::{self, clone, WeakRef},
+     prelude::*,
+     subclass::prelude::*,
+@@ -29,7 +28,7 @@ mod imp {
+     impl ObjectSubclass for Application {
+         const NAME: &'static str = "Application";
+         type Type = super::Application;
+-        type ParentType = adw::Application;
++        type ParentType = gtk::Application;
+     }
+ 
+     impl ObjectImpl for Application {}
+@@ -55,17 +54,17 @@ mod imp {
+             self.parent_startup(app);
+             gtk::Window::set_default_icon_name(APP_ID);
+ 
++            app.setup_css();
+             app.setup_actions();
+         }
+     }
+ 
+     impl GtkApplicationImpl for Application {}
+-    impl AdwApplicationImpl for Application {}
+ }
+ 
+ glib::wrapper! {
+     pub struct Application(ObjectSubclass<imp::Application>)
+-        @extends gio::Application, gtk::Application, adw::Application,
++        @extends gio::Application, gtk::Application,
+         @implements gio::ActionMap, gio::ActionGroup;
+ }
+ 
+@@ -123,6 +122,21 @@ impl Application {
+         self.set_accels_for_action("win.toggle-record", &["<Primary>r"]);
+         self.set_accels_for_action("win.toggle-pause", &["<Primary>k"]);
+         self.set_accels_for_action("win.cancel-delay", &["<Primary>c"]);
++    }
++
++    fn setup_css(&self) {
++        let provider = gtk::CssProvider::new();
++        provider.load_from_resource("/io/github/seadve/Kooha/style.css");
++        if let Some(display) = gdk::Display::default() {
++            gtk::StyleContext::add_provider_for_display(
++                &display,
++                &provider,
++                gtk::STYLE_PROVIDER_PRIORITY_APPLICATION,
++            );
++
++            log::debug!("is_display_composited: {}", display.is_composited());
++            log::debug!("is_display_rgba: {}", display.is_rgba());
++        }
+     }
+ 
+     fn select_saving_location(&self) {
+--- src/main.rs.orig	2021-08-08 16:08:31 UTC
++++ src/main.rs
+@@ -35,6 +35,7 @@ fn main() {
+ 
+     gst::init().expect("Unable to start gstreamer.");
+     gtk::init().expect("Unable to start GTK4.");
++    adw::init();
+ 
+     gstgif::plugin_register_static().expect("Failed to register gif plugin.");
+ 
+--- src/widgets/window.rs.orig	2021-08-08 16:08:31 UTC
++++ src/widgets/window.rs
+@@ -34,9 +34,9 @@ mod imp {
+         #[template_child]
+         pub pause_record_button: TemplateChild<gtk::Button>,
+         #[template_child]
+-        pub main_stack: TemplateChild<adw::ViewStack>,
++        pub main_stack: TemplateChild<gtk::Stack>,
+         #[template_child]
+-        pub title_stack: TemplateChild<adw::ViewStack>,
++        pub title_stack: TemplateChild<gtk::Stack>,
+         #[template_child]
+         pub recording_label: TemplateChild<gtk::Label>,
+         #[template_child]
diff --git a/multimedia/kooha/files/patch-zbus b/multimedia/kooha/files/patch-zbus
new file mode 100644
index 000000000000..3b267d4a2add
--- /dev/null
+++ b/multimedia/kooha/files/patch-zbus
@@ -0,0 +1,17 @@
+https://gitlab.freedesktop.org/dbus/zbus/-/issues/191
+
+$ kooha
+ ERROR kooha::backend::screencast_portal > Failed to create a screencast call: zbus error: I/O error: No such file or directory (os error 2)
+
+--- cargo-crates/zbus-2.0.0-beta.6/src/address.rs.orig	1973-11-29 21:33:09 UTC
++++ cargo-crates/zbus-2.0.0-beta.6/src/address.rs
+@@ -35,8 +35,7 @@ impl Address {
+         match env::var("DBUS_SESSION_BUS_ADDRESS") {
+             Ok(val) => Self::from_str(&val),
+             _ => {
+-                let uid = Uid::current();
+-                let path = format!("unix:path=/run/user/{}/bus", uid);
++                let path = format!("unix:path={}/bus", std::env::var("XDG_RUNTIME_DIR").unwrap());
+ 
+                 Self::from_str(&path)
+             }
diff --git a/multimedia/kooha/pkg-descr b/multimedia/kooha/pkg-descr
new file mode 100644
index 000000000000..fe0dd1708dad
--- /dev/null
+++ b/multimedia/kooha/pkg-descr
@@ -0,0 +1,21 @@
+Capture your screen in a straightforward and painless way without
+distractions.
+
+Kooha is a simple screen recorder with a minimal interface. You can
+simply click the record button without having to configure a bunch of
+settings.
+
+The main features of Kooha include the following:
+- Capture your screen without any hassle.
+- Record your microphone, computer sounds, or both at the same time.
+- Support for WebM, MP4, GIF, and MKV formats.
+- Multiple sources selection.
+- Optional hardware accelerated encoding
+- Select a monitor or window to record.
+- Create a selection to capture certain area from your screen.
+- Set delay to prepare before you start recording.
+- Hide or show mouse pointer.
+- Choose a saving location for your recording.
+- Utilize helpful keyboard shortcuts.
+
+WWW: https://github.com/SeaDve/Kooha
diff --git a/multimedia/kooha/pkg-plist b/multimedia/kooha/pkg-plist
new file mode 100644
index 000000000000..25fa92faaa8e
--- /dev/null
+++ b/multimedia/kooha/pkg-plist
@@ -0,0 +1,31 @@
+bin/kooha
+share/applications/io.github.seadve.Kooha.desktop
+share/icons/hicolor/scalable/apps/io.github.seadve.Kooha.svg
+share/icons/hicolor/symbolic/apps/io.github.seadve.Kooha-symbolic.svg
+%%DATADIR%%/resources.gresource
+share/locale/ar/LC_MESSAGES/kooha.mo
+share/locale/cs/LC_MESSAGES/kooha.mo
+share/locale/de/LC_MESSAGES/kooha.mo
+share/locale/eo/LC_MESSAGES/kooha.mo
+share/locale/es/LC_MESSAGES/kooha.mo
+share/locale/eu/LC_MESSAGES/kooha.mo
+share/locale/fa/LC_MESSAGES/kooha.mo
+share/locale/fi/LC_MESSAGES/kooha.mo
+share/locale/fil/LC_MESSAGES/kooha.mo
+share/locale/fr_FR/LC_MESSAGES/kooha.mo
+share/locale/he/LC_MESSAGES/kooha.mo
+share/locale/id/LC_MESSAGES/kooha.mo
+share/locale/it/LC_MESSAGES/kooha.mo
+share/locale/ja/LC_MESSAGES/kooha.mo
+share/locale/nb_NO/LC_MESSAGES/kooha.mo
+share/locale/nl/LC_MESSAGES/kooha.mo
+share/locale/pl/LC_MESSAGES/kooha.mo
+share/locale/pt/LC_MESSAGES/kooha.mo
+share/locale/pt_BR/LC_MESSAGES/kooha.mo
+share/locale/ru/LC_MESSAGES/kooha.mo
+share/locale/sk/LC_MESSAGES/kooha.mo
+share/locale/sv/LC_MESSAGES/kooha.mo
+share/locale/tr/LC_MESSAGES/kooha.mo
+share/locale/uk/LC_MESSAGES/kooha.mo
+share/locale/zh_Hans/LC_MESSAGES/kooha.mo
+share/metainfo/io.github.seadve.Kooha.metainfo.xml



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202108130245.17D2jLV6092221>